WO2004082227A1 - System and method for communicating data in a network environment - Google Patents
System and method for communicating data in a network environment Download PDFInfo
- Publication number
- WO2004082227A1 WO2004082227A1 PCT/US2004/004057 US2004004057W WO2004082227A1 WO 2004082227 A1 WO2004082227 A1 WO 2004082227A1 US 2004004057 W US2004004057 W US 2004004057W WO 2004082227 A1 WO2004082227 A1 WO 2004082227A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- packets
- network
- data
- order
- time interval
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 27
- 238000004891 communication Methods 0.000 claims abstract description 102
- 230000003111 delayed effect Effects 0.000 claims abstract description 11
- 230000000977 initiatory effect Effects 0.000 claims description 5
- 230000004044 response Effects 0.000 claims description 5
- 238000013523 data management Methods 0.000 description 10
- 230000008901 benefit Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 230000001902 propagating effect Effects 0.000 description 5
- 238000013459 approach Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 230000004075 alteration Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000006467 substitution reaction Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 238000012384 transportation and delivery Methods 0.000 description 2
- 238000013475 authorization Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/27—Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/19—Flow control; Congestion control at layers above the network layer
- H04L47/193—Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/28—Flow control; Congestion control in relation to timing considerations
- H04L47/283—Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/32—Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
- H04L47/323—Discarding or blocking control packets, e.g. ACK packets
Definitions
- This invention relates in general to the field of communications and more particularly to a system and method for communicating data in a network environment.
- the field of network communications has become increasingly important in today's society.
- One area of importance associated with network communications relates to data management.
- Data management techniques may be implemented in order to properly direct traffic in a network while providing minimal delays and negligible losses for associated information propagating through the communications architecture.
- Certain communication protocols that are generally used to communicate information from one point to another may be hindered by their inability to effectively identify network parameters that affect their ability to quickly and accurately deliver information to its intended destination.
- a system and method for communicating data are provided that substantially eliminate or greatly reduce disadvantages and problems associated with conventional data management techniques.
- a method for communicating data that includes receiving one or more packets for establishing a communication session in a network and determining which of the packets should be delayed. A selected one or more of the packets are delayed for a designated time interval in order to extend a roundtrip time (RTT) parameter associated with the selected packets. The selected packets are communicated after the time interval has expired.
- RTT roundtrip time
- a data management approach is provided that intentionally imparts a delay for selected packets of information in order to minimize congestion in the network and to maximize bandwidth utilization. This is a result of identifying a proper retransmission timeout (RTO) value associated with the information.
- the RTO value may be used in conjunction with an algorithm in order to provide a variance for data propagating in the network. This may result in a delay interval being provided for the packet in order to optimally deliver data to its intended destination.
- Another technical advantage associated with one embodiment of the present invention relates to a number of data management features or capabilities that may be implemented on a given network element.
- Such features may include acknowledgment (ACK) splitting, retransmission processes, and window scaling manipulations.
- ACK acknowledgment
- These features may be provided in conjunction with the protocol being used to communicate information from one point to another.
- These features may also be used in various combinations (or independently) in order to properly direct information in the network.
- these features may be provided at selected locations in the network such as, for example, in multiple network elements where appropriate.
- the implementation and positioning of these features is a result of the substantial flexibility offered by the teachings of the present invention. Accordingly, these features may be provided in any suitable location in order to effectuate the proper management and routing of data in the network.
- Yet another technical advantage associated with one embodiment of the present invention relates to its implementation.
- the end-to-end model may be preserved and, thus, minimal changes may be required for an end host stack. Additionally, such an implementation may be effectuated while still realizing a full utilization of bandwidth being provided by the link facilitating communications between two network elements . Accordingly, a performance enhancement associated with the effective management of data may be achieved in cooperation with elements and objects already present in a given architecture. Certain embodiments of the present invention may enjoy some, all, or none of these advantages. Other technical advantages may be readily apparent to one skilled in the art from the following figures, description, and claims.
- FIGURE 1 is a simplified block diagram of a communication system for communicating data in a network environment ;
- FIGURE 2 is a simplified block diagram of multiple network elements included within the communication system.
- FIGURE 3 is a flowchart illustrating a series of example steps associated with a method for communicating data in a network environment .
- FIGURE 1 is a simplified block diagram of a communication system 10 for managing data in a network environment in accordance with one embodiment of the present invention.
- Communication system 10 includes an end user 12, multiple internet protocol (IP) networks 16a and 16b, multiple network elements 20a and 20b, and a satellite 24.
- IP internet protocol
- Communication system 10 may be positioned in any suitable network environment or communications architecture such as, for example, in conjunction with a non-terrestrial (satellite) link, a 2.5G or 3G cellular data network configuration, or a standard transmission control protocol/internet protocol (TCP/IP) architecture that seeks to receive, transmit, or otherwise direct packets of information in a network.
- Communications system 10 may also be positioned in any other environment that experiences some delay in communications between nodes in a network.
- communication system 10 operates to provide an environment for properly managing data such that it propagates through the network in an efficient manner.
- Communication system 10 may cooperate with a communications protocol associated with communication system 10 that is implemented in network elements 20a and 20b.
- the protocol may tunnel incoming IP packets across a link between network elements 20a and 20b. This may be a satellite link provided by satellite 24 for example.
- the packets to be tunneled may be based on an IP protocol that may allow existing enhancements and solutions (or legacy applications) to co-exist.
- Network elements 20a-2 Ob may operate to insert a delay at one or both ends of a forwarding path and may cause an end host to modify the round trip time (RTT) and retransmission timeout (RTO) values via the satellite link in order to mitigate packet loss or congestion in the network. This operation may prevent the end host from retransmitting and collapsing the retransmission rate as may be dictated by the protocol being implemented.
- communication system 10 may provide a delay that is based on the number of local retransmissions desired. The delay reflects a calculated variable that may be based on the number of retransmissions currently being implemented. The delay allows the protocol to accommodate or to recover from large burst errors on the corresponding satellite link. Moreover, such an implementation may be provided with minimal protocol overhead and insignificant header configurations for packets propagating in the network.
- Communication system 10 offers a data management approach that intentionally imparts a delay for selected packets of information in order to minimize congestion and packet loss issues in the network and to maximize bandwidth utilization. This is a result of identifying a proper RTO value associated with the information.
- the RTO value may be used in conjunction with a suitable algorithm in order to provide a variance for data propagating in the network.
- the prescribed RTO may result in a time interval being provided for the packet that allows it to be delivered to its intended destination within an optimal time interval.
- Communications system 10 may also provide a number of data management ' features for selected network elements 20a and 20b. Such features may include acknowledgment (ACK) splitting, retransmission processes, and manipulation of a window scaling option that may be provided in conjunction with the protocol being used to communicate information from one point to another.
- ACK acknowledgment
- retransmission processes and manipulation of a window scaling option
- End user 12 is a client or an entity seeking to initiate or to establish a communication session in communication system 10 via IP network 16a.
- a communication session' is inclusive of communication links, tunnels, and/or other suitable connections or couplings used to facilitate a data exchange.
- End user 12 may also be referred to as an ⁇ end host' and inclusive of devices used to initiate a communication such as a computer, a personal digital assistant (PDA) , a laptop or an electronic notebook, a telephone, a mobile station, or any other device, component, element, or object capable of initiating voice, video stream, or data exchanges within communication system 10.
- End user 12 may also be inclusive of a suitable interface to the human user, such as a microphone, a display, a keyboard, or other terminal equipment (such as for example an interface to a personal computer or to a facsimile machine in cases where end user 12 is used as a modem) .
- end user 12 may also be any device that seeks to initiate a communication session on behalf of another entity or element such as a program, a database, or any other component, device, element, or object capable of initiating voice, video, or data exchanges within communication system 10.
- Data refers to any type of numeric, voice, or script data, or any type of source or object code, or any other suitable information in any appropriate format that may be communicated from one point to another.
- IP networks 16a and 16b each represent a series of points or nodes of interconnected communication paths for receiving and transmitting packets of information that propagate through communication system 10.
- IP networks 16a or 16b represent a packet data network (PDN) .
- IP networks 16a and 16b may also offer a communications interface between end hosts and network elements 20a and 20b.
- IP networks 16a and 16b may alternatively be any local area network (LAN) , metropolitan area network (MAN) , wide area network (WAN) , virtual private network (VPN) , wireless local area network (WLAN) , intranet, or any other appropriate architecture or system that facilitates network communications.
- IP networks 16a and 16b may implement a TCP/IP communications language protocol in a particular embodiment of the present invention.
- IP security (IPSEC) authentication and encryption may be applied to the communications between 16a and 16b.
- IP networks 16a and 16b may alternatively implement any other suitable communications protocol for transmitting and receiving data packets within communication system 10.
- Network elements 20a-b are pieces of network equipment operable to communicate in a network environment.
- Network elements 20a-b may manage, direct, or otherwise facilitate the propagation of information between two nodes in a network.
- Network elements 20a-b are routers in one embodiment, but may alternatively be a switch, a bridge, a gateway, a processor, a loadbalancer, or any other suitable component, device, element, or object operable to exchange information or data.
- each of network elements 20a-b may include any suitable hardware, software, component, object, or element operable to execute one or more of the operations thereof, or to provide some communication or processing capability to network elements 20a-b.
- network elements 20a-b may provide a communications platform for end user 12 and include a satellite link to satellite 24.
- Each of network elements 20a-b may transmit (and process where appropriate) and receive data packets in order to provide selected information to an end host, such as end user 12 for example. Additionally, network elements 20a-b may communicate with each other and perform hand shaking operations in order to ensure that communications are being properly routed or otherwise managed in the network.
- Satellite 24 is a non-terrestrial element that provides a satellite communications link for network elements 20a and 20b. Satellite 24 is operable to transmit, receive, and process (where appropriate) packets of information. Satellite 24 is capable of highspeed communications and may include suitable interfaces for the reception and transmission of information. Satellite 24 may also include processing elements operable to execute one or more operations on incoming data segments.
- Satellite 24 may be deleted in certain embodiments such that network elements 20a-b are coupled directly to each other or are provided with another suitable communications interface.
- satellite 24 may be substituted with any suitable terrestrial element such as a router, a switch, a bridge, a gateway, or any other appropriate interface.
- satellite 24 may be replaced with a number of other suitable devices operable to facilitate various communication applications. Certain alternatives are discussed in greater detail below.
- Communication system 10 may be implemented in conjunction with any element that uses an IP based transport protocol (such as TCP) and includes a salient amount of error that operates to skew or to negatively affect TCP communications. Satellite 24 has been offered for purposes of example only.
- Other applications for communication system 10 may include wireless protocols, cellular/mobile phone data capable of communicating using IP packets, network access servers (NAS) , gateway general packet radio service (GPRS) support node (GGSN) , public switch telephone networks (PSTN) , serving GPRS support nodes (SGSN) , global system for mobile (GSM) environments, etc.
- NAS network access servers
- GPRS gateway general packet radio service
- PSTN public switch telephone networks
- SGSN serving GPRS support nodes
- GSM global system for mobile
- end user 12 may be seeking to retrieve data or information provided by (or in conjunction with) IP network 16b.
- end user 12 may be seeking to contact a web server coupled to IP network 16b.
- the web server may represent a program that, using the client/server model and the worldwide web's hypertext transfer protocol (HTTP), serves the files that form web pages to web users.
- HTTP hypertext transfer protocol
- the packet initiated by end user 12 may be communicated from IP network 16a to network element 20a (assuming no loss) and transmitted immediately to network element 20b.
- Network element 20b may hold the packet for another satellite link RTO and then release the packet to IP network 16b.
- IP network 16b may acknowledge receipt of the packet and then the packet may be sent back to network element 20b.
- the packet may then be held again on the releasing side and the acknowledgment of its receipt may also be communicated.
- three RTOs may be used to allow the packet to propagate across the network.
- the window size provided by TCP may be effectively increased. This operation may be combined with sending a flag in the packet that signifies how long the packet was delayed. Another flag may also be included in the packet that indicates that it is being retransmitted. Additionally, details relating to other example implementations are provided below.
- FIGURE 2 is a simplified block diagram of network elements 20a and 20b, reflecting an example embodiment of the present invention.
- Network element 20a may include a delay element 40, an ACK splitting element 42, a retransmission element 44, and a window scaling element 48. Additionally, delay element 40 may include (or be coupled to) a queue 46.
- network element 20b may include a delay element 50, an ACK splitting element 52, a retransmission element 54, and a window scaling element 58. Additionally, delay element 50 may include (or be coupled to) a queue 56.
- Network elements 20a and 20b may communicate using satellite 24 as an interface as described above.
- network elements 20a and 20b may communicate directly or via a wireless local access network (WLAN) element 28 or a radio access network (RAN) 30.
- WLAN wireless local access network
- RAN radio access network
- Each of these elements may be used as the only element facilitating communications between network element 20a and network element 20b.
- these elements may be combined in any suitable fashion in order to facilitate the reception and transmission of data between network elements 20a and 20b.
- WLAN element 28 and RAN 30 may be provided at other suitable locations in communication system 10 in order to facilitate data exchanges in the network.
- these elements may be positioned in order to provide a platform that allows end user 12 to log onto IP network 16a. This may be inclusive of authorization and authentication procedures executed by these elements for an end host (e.g. end user 12) .
- WLAN element 28 is a wireless component or platform that allows end user 12 to connect to a local network through a wireless or a radio connection. Such a platform may be generally based on the IEEE 802.11 standard or on any other suitable architecture that provides for wireless communications in a network environment.
- WLAN element 28, as referred to herein, may also be representative of a ⁇ hot spot' or a public WLAN (PWLAN) where appropriate.
- WLAN element 28 may be deployed in such public places as coffee shops, airports, restaurants, hotels, and conference centers, for example, as a way to provide connectivity for end user 12.
- WLAN element 28 may be coupled to end user 12 or any device being used by end user 12 such as a mobile station, a PDA, or a laptop for example.
- WLAN element 28 may also be coupled to network elements 20a and 20b and facilitate authentication procedures for end user 12 by communicating with a corresponding network.
- Suitable encryption protocols may be included within a protocol associated with WLAN element 28 where appropriate and according to particular needs .
- RAN 30 is a communications interface or platform operating between network elements 20a and 20b.
- RAN 30 may be positioned between an end host (e.g. end user 12) and network element 20a in order to provide access thereto.
- RAN 30 may comprise a base transceiver station and a base station controller.
- the communications interface provided by RAN 30 allows data to be exchanged between end user 12 or network elements 20a-b and any number of selected elements within communication system 10.
- RAN 30 facilitates the delivery of a request packet generated by end user 12 and the reception of information sought by end user 12.
- RAN 30 offers only one example of a communications interface as other types of communications interfaces or platforms may be used for any particular network design or configuration in accordance with particular needs.
- the elements included within network elements 20a and 20b operate to facilitate data management in order properly direct and allocate information in communication system 10.
- Delay elements 40 and 50 may be used in order to insert a proper time interval or delay in order to deliver information in an optimal fashion in communication system 10.
- Queues 46 and 56 may be used in order to store packets that are selected for delay and which may be subsequently released when the prescribed time interval has expired.
- Delay may only be configured on one side of the satellite (or communications) link where appropriate. For example, if data is heavily flowing into IP network 16b from IP network 16a, we may implement a delay only on one side and thereby lower the RTO overall. In this manner, loss can be made up for in one direction. Alternatively, delay may be positioned on both sides of the communication link.
- RTO as referred to herein in this document, reflects a calculated value associated with retransmission. For example, in TCP environments, an RTO initial of three seconds may be a default value that is provided. A synchronization (SYN) packet may then be used to initiate a connection. A peer may than send a SYN-ACK and this operation may be timed.
- SYN synchronization
- An RTO may be suitably calculated that includes a variance where appropriate .
- Certain protocols, such as TCP may include an RTO minimum. If an RTT is calculated for a given destination, the timer associated with the operation may be set to an RTO minimum before retransmitting and presuming something is wrong. For example, this timer may be set to one (1) second.
- a delay segment may be inserted on each side of the communications link (interposed between network elements 20a and 20b) and inclusive of an extra RTO delay.
- TCP When TCP initially makes contact, it may set a timer to three seconds (referred to as an RTO initial because TCP does not know the exact propagation distance) . A first calculation associated with a given packet is then executed. If a delay is inserted on each side of the communications link (equaling one RTO before packets are released in the network) , the packet may now take over 1.6 seconds to complete a roundtrip in an example embodiment . Accordingly, network elements 20a-b are programmed or configured to accommodate this value. The RTT and RTO between network elements 20a-b is computed to help with the determination of whether or not to release information immediately.
- Retransmission elements 44 and 54 are software elements that may be used in order to resend information that may be identified as lost or that may be recognized as having encountered an error.
- ACK splitting elements 42 and 52 may be used in order to replicate information such that multiple copies of data segments are duplicated and slightly changed before being sent to its intended destination. ACK splitting takes one TCP-ACK and splits it into many individual TCP-ACKs that in total cover the original ACK value. This allows more data to be communicated over a corresponding network more quickly.
- Window scaling elements 48 and 58 are software elements that may be used to properly manipulate window scaling features that are provided in conjunction with a protocol being used to facilitate the delivery of information to and from network elements 20a and 20b.
- a window scaling option is provided.
- a window scale of zero provides a 1:1 correlation of data.
- a window scale of one translates into a multiple (or a factor) of two.
- Window scaling also referred to as window stuffing
- Window scaling allows more data to travel over the communications link than would travel over the link as dictated by the associated protocol.
- Each of the elements included within network elements 20a and 20b may be implemented using software in accordance with a particular embodiment of the present invention. Alternatively, each of these elements may be included in appropriate hardware, or within components, devices, or any other suitable objects or elements that effectuate the operations of network elements 20a-b. Also, any one or more of these capabilities or operations may be provided external to network elements 20a and 20b or combined in any suitable configuration, module, system, or architecture where appropriate and in accordance with particular needs.
- window scaling elements 48 and 58 manipulate a receive window (rwnd) provided in a TCP communications protocol .
- the receive window dictates how much data a peer may allow a sender to have outstanding before an acknowledgment signal is received.
- rwnd receive window
- Such protocols may respond to this presumption by signaling that certain elements can only have a single packet outstanding before receiving an acknowledgement . Accordingly, with every acknowledgment, another packet may be freed to be sent. For example, a packet may be sent and an acknowledgment received. Then two packets may be sent, and then three, and so forth.
- congestion may be viewed as a loss, whereby congestion is presumed and data propagation is inhibited.
- a congestion window may also be provided within certain protocols that determines a traffic pattern associated with the network.
- ACK splitting elements 42 and 52 included in network elements 20a and 20b respectively, may execute ACK splitting techniques on selected packets where appropriate.
- a TCP-ACK When a TCP-ACK is identified as propagating over a communications link, it may be replicated multiple times and changed slightly in order to allow the sender to communicate more data to the network more quickly. This operation may address the ramp up of data or 'slow start' issue endemic of the TCP protocol.
- Network elements 20a and 20b may analyze TCP packets in order to execute this operation and thereby allow IP networks 16a and 16b to send more data in a given time interval.
- network elements 20a and 20b establish a communicative platform. This forms the protocol link and may facilitate/allow the retransmission operation to be executed at a later time. User data may be forwarded once the connection is established. End user 12 may open a connection by sending a TCP-SYN packet to network element 20a. In an example embodiment, an HTTP request is being initiated by end user 12. Network element 20a may encapsulate the packet using the implemented protocol and then tag the packet with a sequence number such that an extra header is provided in front of the IP packet. The IP packet may be transmitted across the communications link to network element 20b. Network element 20b may decapsulate the header from the IP packet and send a localized acknowledgment to network element 20a for that packet. If a delay is selected, either delay element 40 or
- the packet 50 is invoked (depending on where the communication was initiated) and the packet may be positioned in queue 46 or 56. If not, an evaluation may be made as to whether an ACK splitting operation is necessary. If it is necessary, the ACK splitting is effectuated by ACK splitting elements 42 or 52. Because in the example provided a SYN packet is being received, a window stuffing operation may be executed. Thus, the window being advertised is increased, which results in network element 20b believing that network element 20a can accommodate more data than would otherwise be expected.
- Network element 20b may then perform the same process for a SYN-ACK packet.
- Network element 20b may tag the packet with a sequence number and communicate the packet via the communications link being provided by satellite 24.
- Network element 20a may acknowledge locally to network 20b that it has received the packet.
- the same checks may then be executed. It may be determined whether ACK splitting, delay, or window stuffing is appropriate. If no delay is selected, the packet may be released to the network immediately. Where window stuffing is appropriate, the acknowledgement signal may be received and the IP connection established. Now a data transfer has been established and information exchange may be achieved.
- a time stamp is designated for the packet based on when it arrived at either of network elements 20a or 20b. Where a delay is being executed for the packet, the packet may sit in either queue 56 or queue 46 and be appropriately delayed until it is ready to be released. Similar checks may then be executed involving window stuffing and ACK splitting operations .
- ACK splitting is appropriate.
- a configurable number of ACKs is produced.
- a stable transfer of data is now established.
- it is assumed that some piece of data is lost in flight from network element 20b to end user 12.
- a given packet may be sent from network element 20b across satellite 24 and the packet may not reach network element 20a for whatever reason.
- Network element 20b may retransmit the packet and include a flag therein that indicates it is a retransmitted packet.
- Network element 20a may then acknowledge that this packet has finally been received, the acknowledgement being delivered to network element 20b. If no delay is selected, the packet may be released and standard checks may be performed. If we assume for purposes of example that a delay has been effectuated at network element 20a, all packets may be delayed at network element 20a. Thus, two flags may be present in the packet . One flag may indicate that it has been retransmitted and a second flag may indicate how long it has been waiting to be released. Network element 20a may also look at the time stamp provided by network element
- the delay may therefore be scaled back based on the history of the packet in order to normalize the delay.
- Packets may be released immediately and delay queues may be bypassed entirely where it is imperative to get the packet to its next destination as quickly as possible.
- packets may be retransmitted several times in which case a transmit flag and the amount of delay based on time spent in the queue may be signaled in the packet. Synchronization parameters may dictate one or more of these retransmission processes.
- FIGURE 3 is a simplified flowchart illustrating a series of example steps associated with a method for communicating data in a network environment.
- the method begins at step 100 where a packet is received by network element 20a.
- the packet may be initiated by end user 12 and used to establish a communication session in the network.
- an evaluation may be made as to whether any number of operations are appropriate. For example, ACK splitting may be executed or a delay element may be provided to the packet. Alternatively, the window scaling option may be manipulated at this stage by whichever network element 20a-b is holding the packet.
- the packet may propagate via a satellite link (or any other suitable communications link) provided by satellite 24 (or any other suitable communications interface) to network element 20b. Alternatively, the packet may travel via WLAN element 28 or RAN 30 or any other suitable element where appropriate and in accordance with particular needs.
- network element 20b may receive the packet and perform similar checks in determining whether the packet should trigger ACK splitting, window stuffing, or a delay.
- selected packets may then be returned to network element 20a via the communications link such that end user 12 receives the information being requested in an optimal time interval .
- communication system 10 may be implemented in conjunction with a GGSN or an SGSN, providing a communications medium in a GPRS service network environment .
- IP network gateways may be provided and each may include a GGSN that works in conjunction with the SGSNs in communicating high-speed data exchanges within communication system 10.
- GPRS may support multiple internet communication protocols and may enable existing IP, X.25, or any other suitable applications or protocols to operate over GSM connections.
- Communication system 10 may also be used in conjunction with packet data service nodes (PDSN) , wireless elements, or a NAS where appropriate and based on particular networking needs.
- PDSN packet data service nodes
- the present invention has been described with reference to communications between end user 12 and IP networks 16a and 16b, the data communications approach described herein may be implemented for communications between any components within or external to a network.
- the present invention has merely described end user 12 and IP networks 16a and 16b for teaching and instructional purposes. This should not be construed to limit how or where the routing protocol of the present invention is implemented.
- Communication system 10 may be implemented in conjunction with any architecture or configuration that seeks to maximize bandwidth capabilities and/or manage data that experiences some latency or delay in propagation.
- the processing and routing configurations disclosed above may be implemented in conjunction with any component, unit, hardware, software, object, or element involved in the communications process. Such elements may be external to network elements 20a-b or provided in conjunction therewith. Numerous other changes, substitutions, variations, alterations, and modifications may be ascertained by those skilled in the art and it is intended that the present invention encompass all such changes, substitutions, variations, alterations, and modifications as falling within the spirit and scope of the appended claims. Moreover, the present invention is not intended to be limited in any way by any statement in the specification that is not otherwise reflected in the appended claims.
Abstract
Description
Claims
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AU2004219034A AU2004219034B2 (en) | 2003-03-07 | 2004-02-11 | System and method for communicating data in a network environment |
DE602004002762T DE602004002762T2 (en) | 2003-03-07 | 2004-02-11 | System and method for transmitting data in a network environment |
CA002517212A CA2517212A1 (en) | 2003-03-07 | 2004-02-11 | System and method for communicating data in a network environment |
EP04710202A EP1602206B1 (en) | 2003-03-07 | 2004-02-11 | System and method for communicating data in a network environment |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/383,859 US7388836B2 (en) | 2003-03-07 | 2003-03-07 | System and method for communicating data in a network environment |
US10/383,859 | 2003-03-07 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2004082227A1 true WO2004082227A1 (en) | 2004-09-23 |
Family
ID=32927146
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2004/004057 WO2004082227A1 (en) | 2003-03-07 | 2004-02-11 | System and method for communicating data in a network environment |
Country Status (8)
Country | Link |
---|---|
US (1) | US7388836B2 (en) |
EP (1) | EP1602206B1 (en) |
CN (1) | CN100561974C (en) |
AT (1) | ATE342624T1 (en) |
AU (1) | AU2004219034B2 (en) |
CA (1) | CA2517212A1 (en) |
DE (1) | DE602004002762T2 (en) |
WO (1) | WO2004082227A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20240048274A1 (en) * | 2014-11-07 | 2024-02-08 | Strong Force Iot Portfolio 2016, Llc | Packet coding based network communication |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7414987B2 (en) * | 2005-05-05 | 2008-08-19 | International Business Machines Corporation | Wireless telecommunications system for accessing information from the world wide web by mobile wireless computers through a combination of cellular telecommunications and satellite broadcasting |
CN100433711C (en) * | 2005-06-08 | 2008-11-12 | 杭州华三通信技术有限公司 | Message speed limit method |
CN101114999B (en) * | 2007-08-26 | 2010-08-04 | 上海华为技术有限公司 | Data transmission control method and data transmission set |
US8305896B2 (en) * | 2007-10-31 | 2012-11-06 | Cisco Technology, Inc. | Selective performance enhancement of traffic flows |
US8750304B2 (en) | 2010-04-16 | 2014-06-10 | Cisco Technology, Inc. | Controlling directional asymmetricity in wide area networks |
US8406195B2 (en) | 2010-07-19 | 2013-03-26 | At&T Intellectual Property I, L.P. | Radio network controller with IP mapping table |
US8411657B2 (en) | 2010-07-19 | 2013-04-02 | At&T Intellectual Property I, L.P. | Radio access network node with IP interface |
US8850063B2 (en) | 2011-07-27 | 2014-09-30 | Cisco Technology, Inc. | Wide-area application services device to determine packet loop errors in a data center that communicates over a wide area network |
US9025475B1 (en) * | 2012-01-16 | 2015-05-05 | Amazon Technologies, Inc. | Proactively retransmitting data packets in a low latency packet data network |
US10560391B2 (en) * | 2018-01-18 | 2020-02-11 | Cisco Technology, Inc. | Adaptive acknowledgement control |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6477370B1 (en) | 1995-09-19 | 2002-11-05 | Motient Service Inc. | Satellite trunked radio service system |
US5842125A (en) | 1995-11-30 | 1998-11-24 | Amsc Subsidiary Corporation | Network control center for satellite communication system |
US5748900A (en) * | 1996-03-13 | 1998-05-05 | Cray Research, Inc. | Adaptive congestion control mechanism for modular computer networks |
US6137527A (en) * | 1996-12-23 | 2000-10-24 | General Electric Company | System and method for prompt-radiology image screening service via satellite |
US6098108A (en) | 1997-07-02 | 2000-08-01 | Sitara Networks, Inc. | Distributed directory for enhanced network communication |
GB9800430D0 (en) | 1998-01-10 | 1998-03-04 | Ncr Int Inc | Method and system for routing agent programs through a communications network |
US6415329B1 (en) | 1998-03-06 | 2002-07-02 | Massachusetts Institute Of Technology | Method and apparatus for improving efficiency of TCP/IP protocol over high delay-bandwidth network |
US6529477B1 (en) | 1999-02-02 | 2003-03-04 | Mentat Inc. | Internet over satellite system |
US6405337B1 (en) * | 1999-06-21 | 2002-06-11 | Ericsson Inc. | Systems, methods and computer program products for adjusting a timeout for message retransmission based on measured round-trip communications delays |
US6553032B1 (en) * | 1999-09-01 | 2003-04-22 | Tantivy Communications, Inc. | Packeting timeout spoofing in a wireless data communications network |
US7116636B2 (en) * | 2001-05-15 | 2006-10-03 | Northrop Grumman Corporation | Data rate adjuster using transport latency |
US6961539B2 (en) * | 2001-08-09 | 2005-11-01 | Hughes Electronics Corporation | Low latency handling of transmission control protocol messages in a broadband satellite communications system |
-
2003
- 2003-03-07 US US10/383,859 patent/US7388836B2/en active Active
-
2004
- 2004-02-11 CA CA002517212A patent/CA2517212A1/en not_active Abandoned
- 2004-02-11 AU AU2004219034A patent/AU2004219034B2/en not_active Ceased
- 2004-02-11 DE DE602004002762T patent/DE602004002762T2/en not_active Expired - Lifetime
- 2004-02-11 EP EP04710202A patent/EP1602206B1/en not_active Expired - Lifetime
- 2004-02-11 AT AT04710202T patent/ATE342624T1/en not_active IP Right Cessation
- 2004-02-11 WO PCT/US2004/004057 patent/WO2004082227A1/en active IP Right Grant
- 2004-02-11 CN CNB2004800058558A patent/CN100561974C/en not_active Expired - Fee Related
Non-Patent Citations (4)
Title |
---|
HSIA P-H ET AL: "ACTIVE DELAY CONTROL FOR TCP", GLOBECOM'01. 2001 IEEE GLOBAL TELECOMMUNICATIONS CONFERENCE. SAN ANTONIO, TX, NOV. 25 - 29, 2001, IEEE GLOBAL TELECOMMUNICATIONS CONFERENCE, NEW YORK, NY : IEEE, US, vol. VOL. 3 OF 6, 25 November 2001 (2001-11-25), pages 1626 - 1631, XP001054853, ISBN: 0-7803-7206-9 * |
HSIAO P-H ET AL: "VIDEO OVER TCP WITH RECEIVER-BASED DELAY CONTROL", PROCEEDINGS OF THE 11TH. INTERNATIONAL WORKSHOP ON NETWORK AND OPERATING SYSTEMS SUPPORT FOR DIGITAL AUDIO AND VIDEO. NOSSDAV 2001. PORT JEFFERSON, NY, JUNE 25 - 26, 2001, PROCEEDINGS OF THE INTERNATIONAL WORKSHOP ON NETWORK AND OPERATING SYSTEM SUPP, 25 June 2001 (2001-06-25), pages 199 - 208, XP001134309, ISBN: 1-58113-370-7 * |
JIANG H ET AL: "PASSIVE ESTIMATION OF TCP ROUND-TRIP TIMES", COMPUTER COMMUNICATION REVIEW, ASSOCIATION FOR COMPUTING MACHINERY. NEW YORK, US, vol. 32, no. 3, July 2002 (2002-07-01), pages 75 - 88, XP001133033, ISSN: 0146-4833 * |
KOIKE A ED - INSTITUTE OF ELECTRICAL AND ELECTRONICS ENGINEERS: "ACTIVE TCP CONTROL BY A NETWORK", 1999 IEEE GLOBAL TELECOMMUNICATIONS CONFERENCE. GLOBECOM'99. SEAMLESS INTERCONNECTION FOR UNIVERSAL SERVICES. RIO DE JANEIRO, BRAZIL, DEC. 5-9, 1999, IEEE GLOBAL TELECOMMUNICATIONS CONFERENCE, NEW YORK, NY : IEEE, US, vol. VOL. 3, 5 December 1999 (1999-12-05), pages 1921 - 1925, XP001003933, ISBN: 0-7803-5797-3 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20240048274A1 (en) * | 2014-11-07 | 2024-02-08 | Strong Force Iot Portfolio 2016, Llc | Packet coding based network communication |
Also Published As
Publication number | Publication date |
---|---|
EP1602206A1 (en) | 2005-12-07 |
CN100561974C (en) | 2009-11-18 |
CN1757203A (en) | 2006-04-05 |
US20040174816A1 (en) | 2004-09-09 |
EP1602206B1 (en) | 2006-10-11 |
US7388836B2 (en) | 2008-06-17 |
CA2517212A1 (en) | 2004-09-23 |
ATE342624T1 (en) | 2006-11-15 |
DE602004002762D1 (en) | 2006-11-23 |
AU2004219034A1 (en) | 2004-09-23 |
DE602004002762T2 (en) | 2007-08-16 |
AU2004219034B2 (en) | 2007-12-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Braden | T/TCP--TCP extensions for transactions functional specification | |
CN104025525B (en) | For sending the method and apparatus and exchange apparatus of packet | |
US6205120B1 (en) | Method for transparently determining and setting an optimal minimum required TCP window size | |
US7502860B1 (en) | Method and apparatus for client-side flow control in a transport protocol | |
WO2018205688A1 (en) | Method, apparatus and system for data transmission | |
JP3448481B2 (en) | TCP communication speed-up device for asymmetric line | |
JP2007534194A (en) | Improved TCP performance when reordering packets | |
JP2006042156A (en) | Server device, its control method, and connection establishment method | |
EP1393497B1 (en) | Dual mode service platform within network communication system | |
US7388836B2 (en) | System and method for communicating data in a network environment | |
CN105959228B (en) | Traffic processing method and transparent cache system | |
Chihani et al. | A Multipath TCP model for ns-3 simulator | |
Le et al. | Rogue: Rdma over generic unconverged ethernet | |
Kulkarni et al. | Analysis of tcp performance in data center networks | |
Ding et al. | Delay performance of the new explicit loss notification TCP technique for wireless networks | |
Braden | RFC1644: T/TCP--TCP Extensions for Transactions Functional Specification | |
JP4505575B2 (en) | COMMUNICATION SYSTEM, GATEWAY TRANSMISSION DEVICE, GATEWAY RECEPTION DEVICE, TRANSMISSION METHOD, RECEPTION METHOD, AND INFORMATION RECORDING MEDIUM | |
KR101231793B1 (en) | Methods and apparatus for optimizing a tcp session for a wireless network | |
Selvan | A Survey on Modern Innovative Secured Transport Layer Protocols on Recent Advances | |
JP2004241872A (en) | Information communication method and repeating device | |
Maxwell | Multipath TCP, and New Packet Scheduling Method | |
Chitre et al. | TCP in the IPSEC environment | |
Islam et al. | An Explicit Loss and Handoff Notification Scheme in TCP for Cellular Mobile System | |
JP2005044047A (en) | Terminal device and data transmission method | |
KR101396785B1 (en) | Method for performing tcp functions in network equipmment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): BW GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
WWE | Wipo information: entry into national phase |
Ref document number: 2004219034 Country of ref document: AU |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2517212 Country of ref document: CA |
|
ENP | Entry into the national phase |
Ref document number: 2004219034 Country of ref document: AU Date of ref document: 20040211 Kind code of ref document: A |
|
WWP | Wipo information: published in national office |
Ref document number: 2004219034 Country of ref document: AU |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2004710202 Country of ref document: EP Ref document number: 20048058558 Country of ref document: CN |
|
WWP | Wipo information: published in national office |
Ref document number: 2004710202 Country of ref document: EP |
|
WWG | Wipo information: grant in national office |
Ref document number: 2004710202 Country of ref document: EP |