Method and apparatus for managing transmission of tcp data segments
Abstract
This record has no abstract on file.
Term
No projected expiry on record.
- Priority
- Filed
- Published
- Today
13 claims: 6 independent, 7 dependent
- 1Patent claims Zastrzeżenia patentowe 1. A communication device (100) for transmitting a data segment through an interface (210; 410), the communication device comprising:1. Urządzenie komunikacyjne (100) przeznaczone do transmisji segmentu danych poprzez interfejs (210;410), przy czym urządzenie komunikacyjne zawiera: logikę (200;400) zarządzania transmisją do określania numeru sekwencji segmentu danych do transmisji, przy czym logika zarządzania transmisją wykonuje: transmission management logic (200;400) for determining the sequence number of the data segment for transmission, wherein the transmission management logic performs: comparing the data segment sequence number for transmission with at least one pending sequence number of a previously received data segment for transmission, and based on the comparison, rejecting the data segment for transmission in response to the sequence number of the data segment for transmission matching at least one pending sequence number previously received data segment;and adding the data segment sequence number for transmission to at least one pending sequence number and data segment transmission via the interface in response to the data segment sequence for transmission not matching at least one pending sequence number, wherein many pending sequence numbers are saved as a list pending sequence numbers in memory element (240;440) of the communication device, and the sequence number of the data segment for transmission is considered to match at least one pending sequence number if the same sequence number is present in the list of pending sequence numbers, and the communication device is characterized in that the transmission management logic performs deleting the sequence number of the data segment for which transmission failed, from the list of pending sequence numbers in response to receiving a transmission failure message for a data segment. porównanie numeru sekwencji segmentu danych do transmisji z co najmniej jednym oczekującym numerem sekwencji wcześniej odebranego segmentu danych do transmisji, i bazuj ąc na porównaniu, odrzucenie segmentu danych do transmisji w odpowiedzi na numer sekwencji segmentu danych do transmisji pasujący do co najmniej do jednego oczekującego numeru sekwencji wcześniej odebranego segmentu danych;i dodawanie numeru sekwencji segmentu danych do transmisji do co najmniej jednego oczekuj ącego numeru sekwencji i transmisji segmentu danych poprzez interfejs w odpowiedzi na numer sekwencji segmentu danych do transmisji niepasujący do co najmniej jednego oczekującego numeru sekwencji, przy czym wiele oczekujących numerów sekwencji jest zapisanych jako lista oczekuj ących numerów sekwencji w elemencie pamięci (240;440) urządzenia komunikacyjnego, i numer sekwencji segmentu danych do transmisji jest uznawany za pasujący do co najmniej jednego oczekującego numeru sekwencji jeżeli ten sam numer sekwencji jest obecny na liście oczekujących numerów sekwencji, i przy czym urządzenie komunikacyjne jest znamienne tym, że logika zarządzania transmisją wykonuje usuwanie numeru sekwencji segmentu danych, dla którego transmisja zakończyła się niepowodzeniem, z listy oczekujących numerów sekwencji w odpowiedzi na odebranie komunikatu niepowodzenia transmisji dla segmentu danych.
- 3Communication device according to claim Wherein the sequence number of the data segment for transmission is considered to match at least one pending sequence number if the sequence number of the data segment for transmission is within the range of sequence numbers represented by the first pending sequence number and the second pending sequence number stored in element of memory. 3. Urządzenie komunikacyjne według zastrz. 2, w którym numer sekwencji segmentu danych do transmisji uznaje się za pasujący do co najmniej jednego oczekującego numeru sekwencji, jeżeli numer sekwencji segmentu danych do transmisji jest w zakresie numerów sekwencji reprezentowanym przez pierwszy oczekuj ący numer sekwencji i drugi oczekuj ący numer sekwencji, zapisane w elemencie pamięci.
- 5A communication device according to any one of the preceding claims, wherein the data segment comprises a transmission control protocol segment, TCP. 5. Urządzenie komunikacyjne według dowolnego z wcześniejszych zastrzeżeń, w którym segment danych zawiera segment protokołu sterowania transmisj ą, TCP.
- 6A communication device according to any one of the preceding claims, wherein the interface comprises a radio interface in a wireless communication network. 6. Urządzenie komunikacyjne według dowolnego z wcześniejszych zastrzeżeń, w którym interfejs zawiera interfejs radiowy w sieci komunikacji bezprzewodowej.
- 12A method of managing the transmission of at least one data segment via an interface (210; 410), a method comprising:12. Sposób zarządzania transmisją co najmniej jednego segmentu danych poprzez interfejs (210;410), sposób obejmujący: odbieranie segmentu danych do transmisji poprzez interfejs;receiving a data segment for transmission via an interface;comparing the sequence number of the received data segment with at least one pending sequence number of the at least one previously received data segment for transmission;porównywanie numeru sekwencji odebranego segmentu danych z co najmniej jednym oczekującym numerem sekwencji co najmniej jednego wcześniej odebranego segmentu danych do transmisji;discarding the received data segment in response to a sequence number of the received data segment matching at least one pending sequence number;odrzucanie odebranego segmentu danych w odpowiedzi na numer sekwencji odebranego segmentu danych pasuj ącego do co najmniej jednego oczekuj ącego numeru sekwencji;adding the sequence number of a received data segment to at least one pending sequence number in response to the sequence number of a received data segment that does not match at least one pending sequence number, wherein at least one pending sequence number contains multiple pending sequence numbers stored as a waiting list sequence numbers, and comparing the sequence number of the received data segment with at least one pending dodawanie numeru sekwencji odebranego segmentu danych do co najmniej jednego oczekuj ącego numeru sekwencji w odpowiedzi na numer sekwencji odebranego segmentu danych niepasuj ący do co najmniej jednego oczekuj ącego numeru sekwencji, przy czym co najmniej jeden oczekujący numer sekwencji zawiera wiele oczekujących numerów sekwencji zapisanych jako lista oczekujących numerów sekwencji, i porównywanie numeru sekwencji odebranego segmentu danych z co najmniej jednym oczekującym - 14 numerem sekwencji co najmniej jednego wcześniej odebranego segmentu danych obejmuje odbieranie z pamięci listy oczekujących numerów sekwencji;i transmisje odebranego segmentu danych poprzez interfejs, znamienny tym, że sposób obejmuje także usuwanie numeru sekwencji segmentu danych, dla którego transmisja nie powiodła się, z listy oczekujących numerów sekwencji w odpowiedzi na odebranie komunikatu niepowodzenia transmisji dla segmentu danych. - the sequence number of at least one previously received data segment includes receiving from the memory a list of waiting sequence numbers;and transmitting the received data segment via an interface, characterized in that the method also comprises removing the sequence number of the data segment for which the transmission failed from the list of pending sequence numbers in response to receiving a transmission failure message for the data segment.
- 13A computer-readable medium containing instructions for managing the transmission of at least one data slice via the interface (210; 410), with instructions for:13. Nośnik odczytywalny komputerowo zawierający instrukcje dla zarządzania transmisją co najmniej jednego segmentu danych poprzez interfejs (210;410), przy czym instrukcje dla: odbierania segmentu danych do transmisji poprzez interfejs;receiving a data segment for transmission via an interface;comparing the sequence number of the received data segment with at least one pending sequence number of the at least one previously received data segment for transmission;porównywania numeru sekwencji odebranego segmentu danych z co najmniej jednym oczekującym numerem sekwencji co najmniej jednego wcześniej odebranego segmentu danych do transmisji;discarding the received data segment in response to a received data segment sequence number matching at least one pending sequence number;odrzucania odebranego segmentu danych w odpowiedzi na numer sekwencji odebranego segmentu danych pasuj ący do co najmniej jednego oczekującego numeru sekwencji;adding the sequence number of the received data segment to at least one sequence number in response to the sequence number of the received data segment that does not match at least one pending sequence number, wherein many pending sequence numbers are saved as a list of pending sequence numbers in the memory element (240, 440) communication device, and the sequence number of the data segment for transmission is considered to match at least one pending sequence number if the same sequence number is present in the list of pending sequence numbers;and transmitting the received data segment through the interface, and characterized in that the sequence number of the data segment for which transmission failed is removed from the list of pending sequence numbers in response to receiving a transmission failure message for the data segment. dodawania numeru sekwencji odebranego segmentu danych do co najmniej jednego numeru sekwencji w odpowiedzi na numer sekwencji odebranego segmentu danych niepasujący do co najmniej jednego oczekującego numeru sekwencji, przy czym wiele oczekujących numerów sekwencji jest zapisanych jako lista oczekujących numerów sekwencji w elemencie pamięci (240, 440) urządzenia komunikacyjnego, i numer sekwencji segmentu danych do transmisji jest uznawany za pasujący do co najmniej jednego oczekującego numeru sekwencji jeżeli ten sam numer sekwencji jest obecny na liście oczekujących numerów sekwencji;i transmisji odebranego segmentu danych poprzez interfejs, i znamienny tym, że numer sekwencji segmentu danych, dla którego transmisja nie powiodła się jest usuwany z listy oczekuj ących numerów sekwencji w odpowiedzi na odebranie komunikatu niepowodzenia transmisji dla segmentu danych. Anna Stenzel Patent Attorney Anna Stenzel Rzecznik patentowy
Independent claims6
74 paragraphs in 4 sections, as filed
BACKGROUND OF THE INVENTION
In the field of the invention, devices are known which communicate via a network via protocols, which constitute a set of rules controlling how information, data and the like are to be sent and / or received. The transmission control protocol / internet protocol (TCP / IP) set has become the de facto standard for computer communication in today's networks. The set of TCP / IP protocols is therefore named for their most important protocols: the transmission control protocol (TCP) and the Internet protocol (IP). Another name is the set of internet protocols, which is the term used in official Internet standardization documents.
One skilled in the art will understand that in wireless systems, for example, the Universal Mobile Telecommunication System (UMTS), the radio interface experiences large losses in data transmission. Hence, such systems include some form of retransmission protocol, such as radio link control (RLC) at the data link layer or hybrid automatic repeat request (HARQ) function. Hybrid automatic repeat request) in the Medium Access Control layer (MAC) to provide retransmission functionality. Due to the need for retransmission and ever-changing radio interface conditions, the round trip time (RTT) for data packets (so the time elapsed from re-sending the packet to receiving the packet confirmation) is variable. As a result, it is known that radio interfaces experience large and variable communication delays.
The problem caused by the long delays of wireless communication systems is that when a TCP packet is sent, a timer is started. If the sender of the TCP packet does not receive confirmation for the packet before the specified retransmission time-out (RTO) exceeds, the TCP packet will be retransmitted. The RTO value is determined by measuring the RTT value of the previous segment (a number of ways to determine RTO based on the previously measured RTT segment are shown in [RFC 793] and ["Congestion avoidance and control, Computer communications review, 1988 by V. Jacobsen]. Therefore, it may exceed TCP timer time, resulting in packet retransmission, while RLC or HARQ is still trying to transmit the original packet instance via the radio interface. As a result, RLC may end up with two or more instances of the same TCP packet for transmission
- 2 via the radio interface. Consequently, the same data packet can be effectively transmitted through the radio interface twice or more times. One skilled in the art will appreciate that such duplication of data transfer is not only a waste of radio interface resources, but also an increase in the problem of experiencing a long delay radio interface.
Document US 6.700.871 discloses a scheme for increasing the throughput of a network access server between a low speed network and a high speed network by identifying and dropping retransmitted packets on its way from the high speed network to the low speed network.
Thus, there is a need for an improved method and apparatus for managing the transmission of data slices via an interface that significantly alleviate the problems described above.
SUMMARY OF THE INVENTION
The objects of the invention are defined in the appended claims.
Hence, embodiments of the invention may allow better use of interface resources, for example, by discarding duplicate data segments, thereby significantly reducing unnecessary transmission of data segments through the interface.
These and other objects of the invention, functions and advantages of the invention will be apparent from and explained with reference to the embodiments described below.
BRIEF DESCRIPTION OF THE DRAWINGS
Embodiments of the invention will be described, by way of examples only, with reference to the accompanying drawings, of which:
Fig. 1 is a block diagram of a portion of a wireless communication device adapted to support embodiments of the invention;
Fig. 2 illustrates transfer management logic according to embodiments of the invention;
Fig. 3 shows the transmission logic functionality according to embodiments of the invention;
Fig. 4 illustrates transmission management logic according to alternative embodiments of the invention; and
Figures 5 and 6 show simplified block diagrams of a method for managing the transmission of interface data segments;
Fig. 7 shows a typical computational system that can be used to implement processing functionality in embodiments of the invention.
DESCRIPTION OF EXEMPLARY EXAMPLES OF THE INVENTION
Embodiments of the invention will be described in the context of a mobile telephone set, e.g., adapted for communication by a universal telecommunications system
- 3 mobile (UMTS) radio access networks (UTRAN). It will be appreciated, however, that the embodiments of the invention are not limited to a mobile handset, but can be implemented in alternative communication devices or network elements by means of which data segments are transmitted via an interface.
Referring to Fig. 1, it is shown a block diagram of a portion of a wireless communication device 100 adapted to support embodiments of the invention. The communication device 100, in the context of the illustrated embodiment of the invention, is a user equipment (UE) in the form of a mobile handset comprising an antenna 102. As such, communication device 100 includes various well-known radio frequency components or circuits 106 (RF), operably coupled to antenna 102, which will not be described hereinafter. Communication device 100 also includes signal processing logic 108. Output from signal processing logic 108 is provided to the appropriate user interface (UI). user interface) 110 comprising, for example, a display, keyboard, speaker and / or microphone.
The signal processing logic 108 is coupled to a memory element 116 that stores operational conditions such as coding / decoding functions and the like, and can be implemented in various technologies such as (volatile) random access memory (RAM), ( non-volatile) read-only memory (ROM), Flash memory, or any combination of these and other memory technologies. Timer 118 is typically coupled to signal processing logic 108 to control the synchronization of operations on the communication device 100.
According to embodiments of the invention, the signal processing logic 108 is arranged to perform a computer readable code, e.g., stored on a memory element 116, and to implement a method of managing data segment transmission via an interface, e.g., via a radio interface via a radio frequency (RF) component or circuit 106 and antenna 102 as described below.
Referring to Fig. 2, it shows transmission management logic 200 according to embodiments of the invention. For example, the transmission management logic 200 may include a computer readable code for performing by the signal processing logic, such as the signal processing logic 108 of Fig. 1.
Transmission logic 200 is arranged to receive data segments for transmission via interface 210 to a peer device (not shown), e.g., via a radio interface of a wireless communication network. For the illustrated embodiment, the transmission management logic 200 is operatively coupled to the transmission control protocol (TCP) logic 220 from which the transmission management logic 200 receives data segments. Accordingly, for the illustrated embodiments, the received data segments are in the form of TCP data segments. Those skilled in the art will appreciate that the network transmission control protocol (TCP / IP) set is well known in the art and is
- 4 defined in RFC 793. For this reason, the 220 TCP logic will not be described further below.
Furthermore, for the embodiment shown in Fig. 2, the management logic 200 is operatively coupled to the interface 210 via an interface control logic, which for the embodiment shown is in the form of radio link control (RLC) logic 230. The skilled artisan will also appreciate that RLC 230 logic is well known as part of the data link layer in a UMTS network and is defined in the 3GPP TS25.322 specification. Consequently, RLC 230 will also not be described further below.
Those skilled in the art will appreciate that TCP logic 220 may form part of the functionality of the higher layer in, for example, a communication device. Alternatively, the TCP logic 220 may form part of a separate device, e.g., a personal computer or the like, operably coupled to a communication device comprising the transmission logic 200. Alternatively, also, the transmission logic 200 may be provided as, for example, a part of the radio access network (RAN), while the TCP logic 220 may be located in a part of the backbone network.
The transmission management logic 200 also includes, or is shown to be operably coupled to, a buffer 240, e.g., located in memory element 116 in Fig. 1.
As mentioned earlier, when the TCP segment is being sent, a timer may be started. If the sender of the data segment does not receive an acknowledgment of receipt for that data segment before the timer reaches RTO, the TCP segment will be retransmitted. This process is a TCP functionality defined in [RFC 793].
However, data segment transmission may be delayed due to interface 210 delay, for example due to changing radio interface conditions, resulting in large losses and thus - possibly - requiring RLC 230 to provide such retransmission functionality. Consequently, the timer time may be exceeded, resulting in packet retransmission, while RLC 230 is still attempting to transmit the original packet instance via interface 210.
Referring to Fig. 3, it shows transmission management logic functionality adapted according to an embodiment of the invention. In response to receiving a data segment for transmission via interface 210, e.g., a TCP data segment from the TCP logic 220 of Fig. 2, the transmission management logic 200 is arranged to compare the sequence number of the received data segment, such as the 32-bit sequence number, located in the TCP segment header section, with the pending sequence numbers of previously received data segments. This allows you to identify duplicate segments that contain sequence numbers that match the sequence numbers of previously received data segments.
If the sequence number of the received data segment matches the pending sequence number, the transmission management logic 200 of Fig. 2 is also arranged to discard the received data segment. Alternatively, if the sequence number of the received data segment does not match the pending data segment, the transmission management logic 200 is
Also arranged to add the sequence number of the received data segment to the pending sequence numbers and to transmit the received data segment through the interface.
For example, pending sequence numbers may be stored as a list of pending sequence numbers in buffer 240 of Fig. 2, and the sequence number of the received data segment matches the pending sequence number if the same sequence number is present in the list of pending sequence numbers.
Alternatively, pending sequence numbers may be stored as a range of sequence numbers in which the first pending sequence number, say, representing the lower limit of the range of pending sequence numbers, and the second pending sequence number, say, representing the upper limit of the range of pending sequence numbers, are stored in buffer 240, and the sequence number of the received data segment is considered to be a matching pending sequence number if the sequence number of the received data segment is in the range of sequence numbers represented by the first and second sequence numbers stored in memory.
In this way, duplicate data segments can be discarded, significantly preventing the RLC 230 logic from comparing multiple instances of the same data segment for transmission via interface 210. Consequently, the data segment is not unnecessarily transmitted over the radio interface. In this way, the use of the embodiments described herein allows the data communication system to more efficiently use interface resources.
Those skilled in the art will appreciate that before sending the data segment may need buffering or other storage before the interface resource will be allocated to the data segment or while the interface conditions are too weak for data transmission until the interface interface conditions improve enough for data transmission through him. In addition, the data segment can be divided into protocol data units (PDUs) Protocol Data Unit) for transmission via radio interface.
The transmission management logic may be arranged to remove the sequence number from the pending sequence numbers in response to receiving confirmation that the data segment to which this sequence number relates has been successfully received by a peer (not shown). For example, in the case of uplink data flows, with data flowing from the wireless communication device to the B node (called Uplink). Node B) of the UMTS network, the peer device may contain the RLC logic of the node B.
Transmission management logic can also be arranged to remove the sequence number from the pending sequence numbers in response to receiving a transmission failure message for the data segment to which the sequence number refers (i.e., RLC attempted to send the data segment a specified number of times, but for any of these attempts did not receive confirmation that the packet was received by a peer device).
For example, when all data segment PDUs have been successfully received by the equivalent (receiving) RLC unit, the RLC logic 230 may provide confirmation of their successful transmission to the transmission management logic 200. Alternatively, where the RLC 230 logic fails to transmit the data segment through interface 210, the RLC 230 logic may provide a receiver window reset or shift (MRW) message. Move Receiver Window) to transmission management logic 200, indicating that the RLC 230 logic has rejected the data segment.
The data segment sequence number to which the receive message relates, which in case of receipt of the reset message can be all pending sequence numbers, is / are removed from the range list of pending sequence numbers stored in buffer 240 of Fig. 2. For example, if the pending sequence numbers are saved as a sequence number list, the sequence number of the data segment to which the message relates is removed from the list. Alternatively, if the pending sequence numbers are stored as a range of numbers, the range of numbers is appropriately changed to remove the data segment sequence number from it.
Those skilled in the art will appreciate that by deleting sequence numbers of data segments that have either been successfully transmitted or for which transmission failed, retransmission mechanisms and the like in, for example, TCP 220 logic are not disturbed.
Consequently, in the case of a failed transmission, subsequent retransmission of the data segment via TCP logic will not be rejected and transmission via the interface will be enabled. Similarly, when the data segment is successfully transmitted through the interface to later be lost or discarded before reaching the destination, the subsequent retransmission of the data segment will not be rejected by the transmission management logic and thus transmission via the interface will be enabled.
Referring to Fig. 4, it shows transmission management logic 400 according to an alternative embodiment of the invention.
The transmission management logic 400 is arranged to receive data segments for transmission via an interface 410, e.g., a radio interface of a wireless communication network.
For the illustrated embodiment, the transmission management logic 400 forms part of the interface control logic 430, which for the illustrated embodiment is in the form of RLC logic, and is operatively coupled to the TCP 420 logic from which the transmission management logic 400 receives data segments. Accordingly, for the illustrated embodiments, the received data segments are in the form of TCP data segments. The transmission management logic 400 also includes a buffer 440 or is represented operationally coupled to it.
Referring to Figs. 5 and 6, they show simplified block diagrams 500, 600 of a method for managing data segment transmission via an interface. The block diagram 500 of Fig. 5 begins with receiving a data segment for transmission via an interface, in
- step 510, and goes to step 520, in which the sequence number of the received data slice is compared with the pending sequence numbers.
If the sequence number of the received data segment matches the pending sequence number in step 520, the method proceeds to step 530 and the received data segment is discarded. The method is then terminated.
Alternatively, if the sequence number of the received data segment does not match the pending sequence number, in step 530, the method proceeds to step 540 and the sequence number of the received data segment is added to the pending sequence numbers. The method then proceeds to step 550, in which the received data segment is transmitted via the interface.
The block diagram 600 of Fig. 6 begins with receiving confirmation of successful receipt of the data slice in the peer RLC unit or an indication of the failure of the data slice transmission in step 610.
For example, for the embodiment shown in Fig. 2, when all data segment PDUs were successfully received by a peer RLC unit (not shown), RLC 230 may provide confirmation of their successful transmission to transmission management logic 200. Alternatively, where the message indicates a segment transmission failure data, step 610 may include receiving a reset window or receive window shift (MRW) message indicating that the data slice has been discarded.
Then, in step 620, the sequence number of the data segment to which the received message relates, which, if the reset message is received, can be all pending sequence numbers, is / removed (removed) from the pending stored sequence numbers and the method is terminated. For example, if the pending sequence numbers are saved as a sequence number list, the sequence number of the data segment to which the received message relates is removed from the list. Alternatively, if the pending sequence numbers are stored as a range of numbers, the range of numbers is changed accordingly to remove the data segment sequence number from it.
For the various embodiments illustrated and described above, the transmission management logic 200, 400 is operatively coupled to, or forms part of, the interface control logic in the form of RLC logic 230, 430. However, it is contemplated that transmission management logic 200, 400 may be coupled with any interface control logic working under control, for example the TCP protocol layer and containing the retransmission scheme in the communication system with long delays. For example, the transmission management logic may alternatively be provided between the TCP protocol layer and the interface control logic, comprising the hybrid automatic repeat request (HARQ) logic in the medium access control layer (MAC).
Although one embodiment of the invention describes a wireless communication device, the possible applications are not limited to this embodiment. In particular, for example, a network element in, say, a radio access network (RAN) or additional
- 8 serving node (SGSN) serving the general packet radio service (GPRS) of the cellular communication system, can be adapted to implement the method of transmitting data segments through the interface as described above and will be in able to benefit from the concepts described above.
The above-mentioned embodiments are intended to provide at least one of the following benefits:
(i) duplicate data segments for interface transmission are discarded, significantly preventing unnecessary transmission of data segments across the interface;
(ii) more economical use of interface resources;
(iii) ensuring efficient interaction with the RLC so that the segments to be retransmitted or MRW are handled correctly.
Although the invention has been described in terms of specific embodiments and drawings, those skilled in the art will recognize that the invention is not limited to the embodiments or drawings described. Those skilled in the art will recognize that the operation of various embodiments can be implemented appropriately using hardware, software, firmware or a combination thereof. For example, some processes can be implemented using processors or other digital circuits under the control of software, firmware or fixed logic. (The term "logic" refers here to fixed computer hardware, programmable logic and / or appropriate combinations thereof, which will be recognized by those skilled in the art for performing the above functions.) Software and firmware may be recorded on a computer readable medium. Some other processes can be implemented using analog circuits, which is known to those skilled in the art. In addition, memory or other storage devices, as well as communication elements, can be used in embodiments of the invention.
Fig. 7 shows a typical computing system 700 that can be used to implement processing functionality in embodiments of the invention. Computing systems of this type can be used in the EU (which can be an integrated device, such as a mobile phone or USB / PCMCIA modem) or node B (in particular in the node B scheduler layout), backbone network elements such as GGSN and RNC. Skilled artisans will also recognize how to implement the invention using other computer systems or architectures. The 700 computing system can represent, for example, a computer, laptop or notebook, a hand-held computing device (PDA, computer telephone, hand-held computer and so on), a mainframe, server, client or any other type of special or general purpose computing device in depending on what will be necessary or required for the given application or environment. The computing system 700 may include at least one processor, such as a 704 processor. Processor 704 can be implemented using a special or general purpose processing engine, for example, a microprocessor, microcontroller or other logic
- 9 steering. In this example, the processor 704 is connected to a bus 702 or other communication medium.
The computing system 700 may also include main memory 708, such as random access memory (RAM) or other dynamic memory, for storing information and instructions to be executed by processor 704. Main memory 708 may also be used to store temporary variables or other intermediate information. while the instructions to be executed by the 704 processor. The computing system 700 may similarly contain read-only memory (ROM) or other static storage device coupled to the 702 bus for storing static information and instructions for the 704 processor.
The computing system 700 may also include an information storage system 710, which may include, for example, a carrier drive 712 or a removable carrier interface 720. The 712 drive may include a drive or other mechanism to support solid or removable storage media, such as a hard disk drive, floppy disk drive, magnetic tape drive, optical disk drive, compact disc drive (CD), or a digital video drive (DVD) for reading or writing (R or RW) or other removable or permanent storage medium drive. Storage media 718 may include, for example, a hard disk, floppy disk, magnetic tape, optical disk, CD or DVD, or other solid or removable media that is read and written by the media drive 714. As shown in these examples, storage media 718 may include a computer-readable data carrier with the specific computer software or data recorded thereon.
In alternative embodiments, the information storage system 710 may include other similar elements to enable the computer program or other instructions or data to be loaded into the computing system 700. These elements may include, for example, the 722 removable storage unit and 720 interface, such as program cartridge and cartridge interface, removable memory (e.g., flash memory or other removable memory module) and memory slot, and other 722 removable storage units and 720 interfaces to enable software and data transfer from a removable storage unit 718 to the computing system 700.
The computing system 700 may also include a 724 communication interface. The 724 communication interface may be used to enable software and data to be transmitted between the computing system 700 and external devices. Examples of the 724 communication interface may include a modem, a network interface (such as Ethernet or other NIC), a communication port (such as, for example, a universal serial bus (USB) port. universal serial bus)), slot and PCMCIA card and so on. Software and data transmitted via the 724 communication interface are in the form of signals, which may be electronic, electromagnetic, optical and other signals capable of being received via the 724 communication interface. These signals are provided to the 724 communication interface via channel 728. Channel 728 can carry signals and can be implemented by means of a wireless medium, wire or cable, optical fiber or other communication medium. Some channel examples
- 10 include a telephone line, mobile telephone connection, RF link, network interface, local area or wide area network and other communication channels.
In this document, the terms "computer program", "computer readable medium" and the like may be used generally to refer to media such as, for example, memory 708, storage device 718, and storage unit 722. These and other forms of computer readable media may store at least one instruction for use by the processor 704 for the processor to perform certain actions. Such instructions, generally called "computer program code" (which may be grouped in the form of computer programs or other groupings), when executed, allow the computing system 700 to perform the functions of embodiments of the invention. It should be noted that the code can directly cause the processor to perform certain operations, it can be compiled and / or combined for this purpose with other software, hardware and / or firmware (e.g. libraries performing independent functions).
In an embodiment in which the elements are implemented using software, the software may be recorded on a computer readable medium and loaded into a computing system 700 using for example a removable medium drive 714, a drive 712 or a communication interface 724. Control logic (in this example, software instructions or computer program code), when executed by processor 704, causes processor 704 to perform the functions of the invention as described in this document.
It will be appreciated that, for the sake of clarity, the above description illustrates embodiments of the invention with respect to various functional units and processors. However, it will be obvious that any suitable distribution of functionality between different functional units, processors or domains can be used without departing from the invention according to the appended claims. For example, the functionality presented for execution by separate processors or controllers may be implemented by the same processor or controller. Hence, references to specific functional units are only seen as references to appropriate means of providing the described functionality, and do not indicate the strict logical or physical structure of the organization.
The objects of the invention may be implemented in any suitable form, including hardware, software, firmware and any combination thereof. The invention can optionally be implemented, at least in part, as computer software running on at least one data processor and / or digital signal processor. In this way, the elements and components of embodiments of the invention can be physically, functionally and logically implemented in any suitable manner. Indeed, functionality can be implemented in a single unit, in multiple units, or as part of other functional units.
Although the invention has been described in connection with embodiments, it is not intended to be limited to the specific embodiments set forth herein. Instead, the scope of the invention is limited only by the claims.
In addition, although individually specified, a plurality of means, elements or steps of the method can be implemented by, for example, a single unit or processor.
Anna Stenzel Patent Attorney
Contents4
16 members in 5 offices
Priority claims6
| Document | Office | Kind | Date |
|---|---|---|---|
| 4225908 | United States of America | A | |
| 09718186 | European Patent Office (EPO) | A | |
| 2009001535 | European Patent Office (EPO) | W | |
| EP20090718186 | – | – | – |
| US20080042259 | – | – | – |
| WO2009EP01535 | – | – | – |
Members16
| Document | Office | Kind | |
|---|---|---|---|
| US2009228602A1 | United States of America | A1 | |
| WO2009109375A1 | World Intellectual Property Organization (WIPO) | A1 | |
| EP2255483A1 | European Patent Office (EPO) | A1 | |
| CN102017505A | China | A | |
| US2011122816A1 | United States of America | A1 | |
| US8015313B2 | United States of America | B2 | |
| US2011289234A1 | United States of America | A1 | |
| US8301685B2 | United States of America | B2 | |
| US8301799B2 | United States of America | B2 | |
| US2012278502A1 | United States of America | A1 | |
| EP2634949A2 | European Patent Office (EPO) | A2 | |
| US8589586B2 | United States of America | B2 | |
| CN102017505B | China | B | |
| EP2255483B1 | European Patent Office (EPO) | B1 | |
| PL2255483T3This record | Poland | T3 | |
| EP2634949A3 | European Patent Office (EPO) | A3 |
Numbers
- Publication, DOCDB
- 2255483
- Publication, EPODOC
- PL2255483T
- Application
- 718186
- Application, DOCDB
- 09718186
- Application, EPODOC
- PL20090718186T
Titles2
- English
- METHOD AND APPARATUS FOR MANAGING TRANSMISSION OF TCP DATA SEGMENTS
- Polish
- Sposób i urzadzenie do zarzadzania transmisja segmentów danych TCP