US20060140193A1 - Optimization of a TCP connection - Google Patents

Optimization of a TCP connection Download PDF

Info

Publication number
US20060140193A1
US20060140193A1 US11/025,007 US2500704A US2006140193A1 US 20060140193 A1 US20060140193 A1 US 20060140193A1 US 2500704 A US2500704 A US 2500704A US 2006140193 A1 US2006140193 A1 US 2006140193A1
Authority
US
United States
Prior art keywords
data
tcp connection
sent
priority
recited
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US11/025,007
Inventor
Naveen Kakani
Shashikant Maheshwari
Miikka Huomo
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nokia Oyj
Original Assignee
Nokia Oyj
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nokia Oyj filed Critical Nokia Oyj
Priority to US11/025,007 priority Critical patent/US20060140193A1/en
Assigned to NOKIA CORPORATION reassignment NOKIA CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: HUOMO, MIIKKA, KAKANI, NAVEEN KUMAR, MAHESHWARI, SHASHIKANT
Priority to EP05850712A priority patent/EP1836828A2/en
Priority to PCT/IB2005/003886 priority patent/WO2006070260A2/en
Priority to CNA2005800480864A priority patent/CN101120571A/en
Priority to US11/345,715 priority patent/US8169909B2/en
Publication of US20060140193A1 publication Critical patent/US20060140193A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/19Flow control; Congestion control at layers above the network layer
    • H04L47/193Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2425Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
    • H04L47/2433Allocation of priorities to traffic types
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2458Modification of priorities while in transit
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/37Slow start
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/163In-band adaptation of TCP data exchange; In-band control procedures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/10Flow control between communication endpoints
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/02Processing of mobility data, e.g. registration information at HLR [Home Location Register] or VLR [Visitor Location Register]; Transfer of mobility data, e.g. between HLR, VLR or external networks
    • H04W8/04Registration at HLR or HSS [Home Subscriber Server]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W80/00Wireless network protocols or protocol adaptations to wireless operation
    • H04W80/06Transport layer protocols, e.g. TCP [Transport Control Protocol] over wireless

Definitions

  • the invention relates to data transmission in a wireless and/or wireline communications network.
  • the invention relates to improvements in the throughput of a TCP connection in a wireless network and/or wireline network where data buffers re maintained.
  • TCP Transmission Control Protocol
  • IP Internet Protocol
  • TCP uses a slow start process whenever a connection is started or a timeout occurs. It starts with a small data rate to make sure that the connection can accommodate at least a very little amount of data. This is done in order to avoid network congestion. TCP then relies on the rate of arrival of acknowledgement messages to gradually increase its data rate. After sending a window of data, the sending device needs to wait for one round trip time (RTT) before it receives any acknowledgement. Due to large value of RTT, the TCP sending device waits for a long time in slow start phase before it reaches a reasonable throughput.
  • RTT round trip time
  • the transmission characteristics of connections can change frequently.
  • the transmission characteristics can change due to movement of a mobile terminal, especially when the receiving device moves from a first cell to a second cell.
  • the bandwidth in the wireless network is limited and this limited bandwidth is shared among multiple users, and a high bit error rate (or even a lost connection in some circumstances), resulting in a long round trip time (RTT) for the connection (or even timeouts) that require the slow start process to begin again.
  • RTT round trip time
  • the rate at which acknowledgement messages are received is very slow.
  • all the packets for connections which are in slow start phase are queued along with all the other connections. This means that the RTT during slow start has a strong component of the queuing delay coming from other connections.
  • the preferred and exemplary embodiments of the invention resolve the above and other problems in the slow start phase time for the TCP connection in a wireless network.
  • it is first determined whether or not a TCP connection from a sending device to a receiving device in the wireless communications network is in a slow start phase. If the TCP connection is in a slow start phase, then allocating priority in the sending device to the data to be sent in the TCP connection that is higher than the priority allocated to other data to be sent by the sending device.
  • the sending device may be a Serving GPRS Support Node (SGSN), a device in a Radio Access Network (RAN) or other network device, and the method of the preferred embodiments may be implemented by software installed and executed on the network device.
  • SGSN Serving GPRS Support Node
  • RAN Radio Access Network
  • FIG. 1 illustrates an exemplary network in which the preferred embodiments of the invention may operate
  • FIG. 2 illustrates an exemplary server that can operate as a sending device or a receiving device for a TCP connection
  • FIG. 3 illustrates an exemplary mobile terminal that can operate as a sending device or a receiving device for a TCP connection
  • FIG. 4 is a diagram illustrating the placement of data in a plurality of queues having different respective priorities in accordance with a preferred embodiment of the invention.
  • the preferred embodiments improve the performance of a TCP connection in a wireless network by speeding up the slow start phase and gradually improving the RTT of the TCP connection to match conditions in the network at the same time.
  • the preferred embodiments reduce the slow start phase time for the TCP connection by servicing data of the connection quickly by giving it the highest priority (higher priority packets are serviced/transmitted before lower priority packets), and at the same time it gradually decreases the priority of the TCP connection data, based on the amount of data being sent for that connection.
  • the RTT is also gradually increased (based on queuing in the network) and this results in a smooth increase in the RTO value of the connection.
  • wireless network 100 includes mobile terminal 105 , radio access network (RAN) 110 with routers 111 - 113 , SGSN 115 , core network 120 with routers 121 and 122 , Gateway GPRS Service Nodes (GGSNs) 135 - 1 and 135 - 1 , Internet 140 , and data network 150 .
  • Mobile terminal 105 is coupled to radio access network (RAN) 110 , and may include any device capable of connecting to a wireless network such as radio access network 110 .
  • Mobile terminals include cellular telephones, smart phones, pagers, radio frequency (RF) devices, infrared (IR) devices, integrated devices combining one or more of the preceding devices, and the like.
  • Mobile terminal 105 may also include other devices that have a wireless interface such as Personal Digital Assistants (PDAs), handheld computers, personal computers, multiprocessor systems, microprocessor-based or programmable consumer electronics, network PCs, wearable computers, and the like.
  • PDAs Personal Digital Assistants
  • handheld computers personal computers, multiprocessor systems, microprocessor-based or programmable consumer electronics, network PCs, wearable computers, and the like.
  • Radio Access Network (RAN) 110 manages the radio resources and permits users to access core network 120 .
  • Radio access network 110 transports information to and from devices capable of wireless communication, such as mobile terminal 105 .
  • Radio access network 110 may include both wireless and wired telecommunication components.
  • radio access network 110 may include cellular towers, base stations, and/or base station controllers (not shown).
  • the base stations carry wireless communication to and from cell phones, pagers, and other wireless devices, and the base station controllers carries communication to core network 120 for subsequent connection to landline phones, long-distance communication links, and the like.
  • RAN 110 includes routers 111 - 113 that receive transmitted messages and forwards them to their correct destinations over available routes.
  • the routers may be a complex computing device including memory, processors, and network interface units.
  • the routers 121 and 122 may be configured as an internal router for a base station controller and calculate their communication loads as well as the communication loads relating to other base station controllers. The routers may send a warning message to other routers within the network when its load exceeds a configurable threshold.
  • One or more of routers 121 and 122 may be coupled to a wired telecommunication network and in communication with wireless devices such as mobile node 105 .
  • Core network 120 is an IP packet based backbone network that includes routers, such as routers 121 - 122 .
  • Some nodes may be General Packet Radio Service (GPRS) nodes.
  • GPRS General Packet Radio Service
  • Serving GPRS Support Node (SGSN) 115 may send and receive data from mobile stations, such as mobile node 105 , over RAN 110 .
  • SGSN 115 also maintains location information relating to mobile node 105 .
  • SGSN 115 communicates between mobile node 105 and Gateway GPRS Support Node (GGSN)s 135 - 1 and 135 - 2 through routers 121 and 122 .
  • GGSN Gateway GPRS Support Node
  • GGSNs 135 - 1 and 135 - 2 are coupled to routers 121 and 122 , and act as gateways to external data networks, such as Internet 140 and network 150 .
  • Networks 140 and 150 may be the public Internet or a private data network.
  • GGSNs 135 - 1 and 135 - 2 allow mobile node 105 to access networks 140 and 150 .
  • computers and other network devices may be connected to network 140 and network 150 .
  • network 140 and network 150 may be connected to network 140 and network 150 .
  • routers may be one or more routers in the interface between a GGSN and a server 200 .
  • the public Internet itself may be formed from a vast number of such interconnected networks, computers, and routers.
  • Radio access network 110 and core network 120 may include many more components than those shown in FIG. 1 . However, the components shown are sufficient to disclose an illustrative embodiment for practicing the present invention.
  • FIG. 2 illustrates an exemplary server computer 200 , such as a World Wide Web (WWW) server, that is operative as either a sending device or receiving device for data packets in Internet 140 or network 150 .
  • server 200 can employ TCP/IP protocols to transmit content to a browser on a requesting device such as a mobile terminal node.
  • server 200 may transmit data packets for pages, forms, streaming media, voice and the like, over the Internet, or some other communications network.
  • Server computer 200 may include many more components than those shown in FIG. 2 . However, the components shown are sufficient to disclose an illustrative embodiment for practicing the present invention.
  • Server computer 200 is connected to a communications network, via network interface unit 260 which may be used with various communication protocols including, but not limited to, TCP/IP protocol 223 stored in memory 220 and the TCP/IP packet store and queue 265 .
  • Memory may store applications such as a JAVA virtual machine, an SMTP handler application for transmitting and receiving email, an HTTP handler application for receiving and handing HTTP requests, JAVA applets for transmission to a WWW browser executing on a client computer, and an HTTPS handler application for handling secure connections.
  • the HTTPS handler application may be used for communication with external security applications (not shown), to send and receive private information in a secure fashion.
  • Server computer 200 also includes central processing unit 210 , video display adapter 230 , and mass memory 220 , all connected via a central bus 222 .
  • the server generally includes an I/O interface 240 for communicating with external devices, such as a mouse, keyboard, scanner, and the like, and one or more permanent mass storage devices 250 .
  • the mass memory stores operating system 221 for controlling the operation of server computer 200 , server software 222 and other software applications 224 .
  • OS 221 may comprise a general purpose server operating system as is known to those of ordinary skill in the art, such as UNIX, LINUX, or Microsoft WINDOWS.
  • FIG. 3 shows an exemplary mobile terminal 300 .
  • Mobile terminal 300 may be arranged to transmit and receive data packets in a TCP/IP connection. For instance, it may send and receive packets with other mobile nodes, SGSN 115 and various servers such as server 200 . The communication of packets may take place, in whole or in part, over a mobile network, Local Area Network (LAN), Wide Area Network (WAN), Internet, and the like.
  • LAN Local Area Network
  • WAN Wide Area Network
  • Internet and the like.
  • Mobile terminal 105 may include many more components than those shown in FIG. 3 . However, the components shown are sufficient to disclose an illustrative embodiment for practicing the present invention.
  • mobile terminal 300 includes processing unit 310 , input/output interface 320 for communicating with external devices, such as headsets, keyboards, pointers, controllers, modems, and the like, display adapter 330 and memory 340 including operating system 341 for controlling the operation of mobile terminal 105 , browser 342 to receive web pages, TCP/IP protocol stack 343 , and other software applications 344 which, when executed by mobile terminal 105 , transmits and receives e-mail, voice, text messages, streaming audio, video, and the like.
  • external devices such as headsets, keyboards, pointers, controllers, modems, and the like
  • display adapter 330 and memory 340 including operating system 341 for controlling the operation of mobile terminal 105
  • browser 342 to receive web pages
  • TCP/IP protocol stack 343 TCP/IP protocol stack 343
  • Mobile terminal 105 may also include a ROM used to store data that is not lost when the mobile node loses power or is turned off.
  • the memory 340 may be any suitable configuration of computer-readable storage media, such as volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information, such as computer readable instructions, data structures, program modules or other data. Examples of such computer storage media include RAM, ROM, EEPROM, flash memory cards or other memory technology.
  • Mass storage 350 is utilized by mobile terminal 300 to store, among other things, applications, databases and large data files.
  • Mass storage 350 may comprise flash memory, mini hard disk drives, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by mobile terminal 105 .
  • Mobile terminal 105 connects to the radio access network 110 via wireless network interface 370 , which is configured for use with various communication protocols including TCP/IP protocol 343 , to perform various applications such as web browsing, emails, chat session, messaging, etc.
  • Wireless network interface 370 may include a physical radio layer (not shown) that is arranged to transmit and receive certain radio frequency communications.
  • Wireless network interface 370 connects mobile terminal 105 to network devices in external networks, via a communications carrier or service provider.
  • the preferred embodiments can be implemented in either a server 200 , SGSN 215 , an intermediate router or mobile terminal 105 as a sending device in a TCP connection. These devices may also be configured to operate as a receiving device in a TCP connection. In particular, the preferred embodiments can be performed even when there are multiple TCP connections.
  • the priority of data to be sent during the slow start phase in the TCP connection may be adjusted, for example, in a TCP/IP packet store and queue utilized by a network interface.
  • a table or other monitoring procedure is created and maintained that tracks the data that was sent in the TCP connection.
  • each TCP connection is identified when setting up the TCP connection (SYN/SYNACK/ACK) or when new endpoints are received and size of packet received and a corresponding entry in a transfer log is created. If the number of bytes sent for a particular connection is less than a predetermined parameter “Xmax”, then the connection is considered to be in a slow start phase.
  • the parameter Xmax is chosen such that the time taken to send Xmax amount of data is sufficient enough for the TCP connection to fully adapt to the conditions of the network and exit from the slow start phase.
  • Xmax may be set to equal K*MIN_BUF where MIN_BUF is the minimum buffer length in the route from the sending device to the receiving device and K is a predetermined system parameter.
  • K can be set by the network operator or provider of the communication service corresponding to the TCP connection (the TCP window Size can never be greater than the MIN_BUF).
  • Each packet of data in the slow start phase is allocated a priority value that is stored in the table and determines when the data is sent.
  • the priority value allocated to a TCP data packet is constrained to be between 0 and 1.
  • the value of X will be set to 1 and correspondingly priority value is also set to 1.
  • the allocated priority value can be removed from the table.
  • the priority for sending data is gradually increased in accordance with a plurality of tiers.
  • tiers There may be four tiers, for example, X 1 , X 2 , X 3 and X 4 , where priority of tier X 1 applies when the value of X is between 0 and 0.25, tier X 2 applies when the value of X is between 0.26 and 0.50, tier X 3 applies when the value of X is between 0.51 and 0.75, and tier X 4 applies when the value of X is between 0.76 and 1 or higher.
  • priority of tier X 1 applies when the value of X is between 0 and 0.25
  • tier X 2 applies when the value of X is between 0.26 and 0.50
  • tier X 3 applies when the value of X is between 0.51 and 0.75
  • tier X 4 applies when the value of X is between 0.76 and 1 or higher.
  • the different priorities of data in the slow start phase can be applied in any number of ways.
  • the method is implemented in a sending device, such as a Serving GPRS Support Node (SGSN), Gateway GPRS Support Node (GGSN), router or a device in a Radio Access Network (RAN) that is capable of supporting multiple queues for Quality of Service (QoS) classes for a user like Diffserv in a wireline network.
  • SGSN Serving GPRS Support Node
  • GGSN Gateway GPRS Support Node
  • RAN Radio Access Network
  • QoS Quality of Service
  • QoS classes can be applied according to the subscriber status of a user in a network or according to the requirements of various communication services of a user.
  • a real-time audio, video or interactive service may have a high QoS class whereas an email service may have a low QoS class, sometimes referred to as a “best efforts” class.
  • the data for each QoS class may be placed into a unique logical or physical buffer queue dedicated to that QoS class. In such instances, the data in the buffer of a high QoS class may be sent before data in a low QoS class even though that data was arrived later in time than the data in the lower QoS class.
  • the priority allocated for the data in the slow start phase is utilized according to the method described above to place the data in an appropriate Quality of Service (QoS) class and buffer queues. If the X values and corresponding priorities are divided into tiers as described above, then the tiers can be mapped to respective QoS classes. This approach is illustrated in FIG. 4 , which shows the respective buffer queues for four different QoS classes and each QoS class having a respective priority. All SYN/ACK (here ACK means pure ACK, with no piggybacked data) packets may be considered as belonging to the highest priority tier between 0 and 0.25.
  • QoS Quality of Service
  • the data packet will be stored in the buffer of queue 1 (priority 1 ). If the value of X is in the range of X 2 , then the data packet will be stored in the buffer of queue 2 (priority 2 ), and so on for all priority values and tiers. While there are many different possible QoS configurations, this approach has the advantage that it simplifies the modification of priorities allocated to different data packets by leveraging the existing logic and support for QoS classes in a sending device.
  • multiple queues with different weights are implemented under each QoS Class.
  • the data from the lowest priority queue is serviced first and higher weights within a QoS class are assigned to the data packets in a TCP connection in the slow start phase.
  • a child queue is selected based on the allocated priority of a data packet and the weight of the child queue. The higher the weight of the child queue, then the lower the priority. However, the priority of highest weighted child queue in the particular QoS Class is higher than priority of lowest weighted child queue in the next higher QoS Class.
  • the lower priority queue is serviced first, and may include SYN/ACK packets.
  • the value of X may be mapped to an appropriate tier and sub-tier.
  • the data packets in the slow start phases will be assigned a QoS class buffer queue and child queue within the QoS class according to the X priority value.
  • X priority value there may be sixteen different child queues and priority values allocated.
  • an embodiment of the invention can work even in cases where no QoS is implemented in a particular network node serving as the sending device.
  • the network interface calculates and assigns respective service times to the different X priority values of data packets.
  • the calculated service times may be based on the SGSN/MS/PDP context/TCP flow.
  • the network interface uses the computation of service time based upon the queue length in the transmission buffer to determine the time by which the new packet needs to be sent.
  • the transmission buffer may be a simple first-in first-out (FIFO) buffer.
  • Q could be the amount of data for a particular type of traffic (for example: a PDP Context), or it could be the total queue length in the network device (e.g., SGSN).
  • the above computation of FI can be used to increase or decrease the service time of data of any type by simply changing the computation of P(i): For example, If RTP packets are to be service earlier than TCP packets then P(i) for RTP connections is always lower than the parameter used for TCP connections.
  • This embodiment does not leverage and rely upon the different QoS classes, but it has the advantage that the time in which a data packet in a slow start phase can be more directly (and accurately) controlled and that only a single FIFO buffer is used instead of multiple queues.
  • the preferred embodiments have numerous advantages over the prior art. They can be used across all traffic types since priority is individually allocated to different packets.
  • some packet types can be serviced earlier than other packet types (e.g., within a TCP Connection: P(i) for all ACK and or SYN packets can be set to ‘0’ and for the rest of the packets, the function Xi/Xmax can be used). While certain information of the TCP connection needs to be maintained, this information needs to be maintained in slow start only.
  • the method is scalable because it does not require memory as a function of the total number of TCP connections supported. Interactive traffic applications (with small amounts of data) can be speeded up and interactive traffic may maintain a single TCP connection. The method can be applied regardless of the direction of the TCP connection.

Abstract

In the preferred embodiments, it is first determined whether or not a TCP connection from a sending device to a receiving device in the wireless communications network is in a slow start phase. If the TCP connection is in a slow start phase, then the data to be sent in the TCP connection that is allocated a priority that is higher than the priority allocated to other data to be sent by the sending device. The sending device may be a Serving GPRS Support Node (SGSN), a device in a Radio Access Network (RAN) or other network device, and the method of the preferred embodiments may be implemented by software installed and executed on the network device.

Description

    FIELD OF THE INVENTION
  • The invention relates to data transmission in a wireless and/or wireline communications network. In particular, the invention relates to improvements in the throughput of a TCP connection in a wireless network and/or wireline network where data buffers re maintained.
  • BACKGROUND OF THE RELATED ART
  • The Transmission Control Protocol (TCP) is the predominant transfer layer protocol used in Internet Protocol (IP) data transmissions. A sending device utilizing TCP retransmits data unless it receives an acknowledgment from the receiving device that the data successfully arrived at the receiving device. TCP also utilizes a handshake to establish the logical end-to-end connection between the communicating devices and views data as a continuous stream. It therefore maintains the sequence in which bytes/octets are sent and received to facilitate this byte-stream characteristic.
  • TCP uses a slow start process whenever a connection is started or a timeout occurs. It starts with a small data rate to make sure that the connection can accommodate at least a very little amount of data. This is done in order to avoid network congestion. TCP then relies on the rate of arrival of acknowledgement messages to gradually increase its data rate. After sending a window of data, the sending device needs to wait for one round trip time (RTT) before it receives any acknowledgement. Due to large value of RTT, the TCP sending device waits for a long time in slow start phase before it reaches a reasonable throughput.
  • But in a wireless network, the transmission characteristics of connections can change frequently. The transmission characteristics can change due to movement of a mobile terminal, especially when the receiving device moves from a first cell to a second cell. Also, the bandwidth in the wireless network is limited and this limited bandwidth is shared among multiple users, and a high bit error rate (or even a lost connection in some circumstances), resulting in a long round trip time (RTT) for the connection (or even timeouts) that require the slow start process to begin again. This means that the rate at which acknowledgement messages are received is very slow. Also, in the network, all the packets for connections which are in slow start phase are queued along with all the other connections. This means that the RTT during slow start has a strong component of the queuing delay coming from other connections.
  • Several attempts have been made to either increase the data rate at the start of the connection or to reduce RTT of a connection. However, after the slow start phase if the TCP connection has to face the real network conditions (queuing delay, etc) the benefits of expedited slow start are lost and the performance of the connection may not be as good as it is expected to be.
  • BRIEF SUMMARY
  • Briefly, and in general terms, the preferred and exemplary embodiments of the invention resolve the above and other problems in the slow start phase time for the TCP connection in a wireless network. In a first aspect of the preferred embodiments, it is first determined whether or not a TCP connection from a sending device to a receiving device in the wireless communications network is in a slow start phase. If the TCP connection is in a slow start phase, then allocating priority in the sending device to the data to be sent in the TCP connection that is higher than the priority allocated to other data to be sent by the sending device. The sending device may be a Serving GPRS Support Node (SGSN), a device in a Radio Access Network (RAN) or other network device, and the method of the preferred embodiments may be implemented by software installed and executed on the network device.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 illustrates an exemplary network in which the preferred embodiments of the invention may operate;
  • FIG. 2 illustrates an exemplary server that can operate as a sending device or a receiving device for a TCP connection;
  • FIG. 3 illustrates an exemplary mobile terminal that can operate as a sending device or a receiving device for a TCP connection;
  • FIG. 4 is a diagram illustrating the placement of data in a plurality of queues having different respective priorities in accordance with a preferred embodiment of the invention.
  • DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
  • Several preferred embodiments of the invention are now described. The preferred embodiments improve the performance of a TCP connection in a wireless network by speeding up the slow start phase and gradually improving the RTT of the TCP connection to match conditions in the network at the same time. The preferred embodiments reduce the slow start phase time for the TCP connection by servicing data of the connection quickly by giving it the highest priority (higher priority packets are serviced/transmitted before lower priority packets), and at the same time it gradually decreases the priority of the TCP connection data, based on the amount of data being sent for that connection. By gradually decreasing the priority, the RTT is also gradually increased (based on queuing in the network) and this results in a smooth increase in the RTO value of the connection. The preferred embodiments will hereinafter be described with reference to a particular network environment, but the invention is not limited to the following preferred embodiments and may be practiced in other embodiments as well.
  • The preferred embodiments may be practiced with reference to an exemplary wireless network shown in FIG. 1. As shown in the figure, wireless network 100 includes mobile terminal 105, radio access network (RAN) 110 with routers 111-113, SGSN 115, core network 120 with routers 121 and 122, Gateway GPRS Service Nodes (GGSNs) 135-1 and 135-1, Internet 140, and data network 150. Mobile terminal 105 is coupled to radio access network (RAN) 110, and may include any device capable of connecting to a wireless network such as radio access network 110. Such mobile terminals include cellular telephones, smart phones, pagers, radio frequency (RF) devices, infrared (IR) devices, integrated devices combining one or more of the preceding devices, and the like. Mobile terminal 105 may also include other devices that have a wireless interface such as Personal Digital Assistants (PDAs), handheld computers, personal computers, multiprocessor systems, microprocessor-based or programmable consumer electronics, network PCs, wearable computers, and the like.
  • Radio Access Network (RAN) 110 manages the radio resources and permits users to access core network 120. Radio access network 110 transports information to and from devices capable of wireless communication, such as mobile terminal 105. Radio access network 110 may include both wireless and wired telecommunication components. For example, radio access network 110 may include cellular towers, base stations, and/or base station controllers (not shown). Typically, the base stations carry wireless communication to and from cell phones, pagers, and other wireless devices, and the base station controllers carries communication to core network 120 for subsequent connection to landline phones, long-distance communication links, and the like. As shown in the figure, RAN 110 includes routers 111-113 that receive transmitted messages and forwards them to their correct destinations over available routes. The routers may be a complex computing device including memory, processors, and network interface units.
  • The routers 121 and 122 may be configured as an internal router for a base station controller and calculate their communication loads as well as the communication loads relating to other base station controllers. The routers may send a warning message to other routers within the network when its load exceeds a configurable threshold. One or more of routers 121 and 122 may be coupled to a wired telecommunication network and in communication with wireless devices such as mobile node 105.
  • Core network 120 is an IP packet based backbone network that includes routers, such as routers 121-122. Some nodes may be General Packet Radio Service (GPRS) nodes. For example, Serving GPRS Support Node (SGSN) 115 may send and receive data from mobile stations, such as mobile node 105, over RAN 110. SGSN 115 also maintains location information relating to mobile node 105. SGSN 115 communicates between mobile node 105 and Gateway GPRS Support Node (GGSN)s 135-1 and 135-2 through routers 121 and 122. GGSNs 135-1 and 135-2 are coupled to routers 121 and 122, and act as gateways to external data networks, such as Internet 140 and network 150. Networks 140 and 150 may be the public Internet or a private data network. GGSNs 135-1 and 135-2 allow mobile node 105 to access networks 140 and 150.
  • Furthermore, computers and other network devices, such as servers 200, may be connected to network 140 and network 150. Although not shown in FIG. 1, there may be one or more routers in the interface between a GGSN and a server 200. The public Internet itself may be formed from a vast number of such interconnected networks, computers, and routers. Radio access network 110 and core network 120 may include many more components than those shown in FIG. 1. However, the components shown are sufficient to disclose an illustrative embodiment for practicing the present invention.
  • FIG. 2 illustrates an exemplary server computer 200, such as a World Wide Web (WWW) server, that is operative as either a sending device or receiving device for data packets in Internet 140 or network 150. Accordingly, server 200 can employ TCP/IP protocols to transmit content to a browser on a requesting device such as a mobile terminal node. For instance, server 200 may transmit data packets for pages, forms, streaming media, voice and the like, over the Internet, or some other communications network.
  • Server computer 200 may include many more components than those shown in FIG. 2. However, the components shown are sufficient to disclose an illustrative embodiment for practicing the present invention. Server computer 200 is connected to a communications network, via network interface unit 260 which may be used with various communication protocols including, but not limited to, TCP/IP protocol 223 stored in memory 220 and the TCP/IP packet store and queue 265. Memory may store applications such as a JAVA virtual machine, an SMTP handler application for transmitting and receiving email, an HTTP handler application for receiving and handing HTTP requests, JAVA applets for transmission to a WWW browser executing on a client computer, and an HTTPS handler application for handling secure connections. The HTTPS handler application may be used for communication with external security applications (not shown), to send and receive private information in a secure fashion.
  • Server computer 200 also includes central processing unit 210, video display adapter 230, and mass memory 220, all connected via a central bus 222. The server generally includes an I/O interface 240 for communicating with external devices, such as a mouse, keyboard, scanner, and the like, and one or more permanent mass storage devices 250. The mass memory stores operating system 221 for controlling the operation of server computer 200, server software 222 and other software applications 224. It will be appreciated that OS 221 may comprise a general purpose server operating system as is known to those of ordinary skill in the art, such as UNIX, LINUX, or Microsoft WINDOWS.
  • FIG. 3 shows an exemplary mobile terminal 300. Mobile terminal 300 may be arranged to transmit and receive data packets in a TCP/IP connection. For instance, it may send and receive packets with other mobile nodes, SGSN 115 and various servers such as server 200. The communication of packets may take place, in whole or in part, over a mobile network, Local Area Network (LAN), Wide Area Network (WAN), Internet, and the like.
  • Mobile terminal 105 may include many more components than those shown in FIG. 3. However, the components shown are sufficient to disclose an illustrative embodiment for practicing the present invention. As shown in the figure, mobile terminal 300 includes processing unit 310, input/output interface 320 for communicating with external devices, such as headsets, keyboards, pointers, controllers, modems, and the like, display adapter 330 and memory 340 including operating system 341 for controlling the operation of mobile terminal 105, browser 342 to receive web pages, TCP/IP protocol stack 343, and other software applications 344 which, when executed by mobile terminal 105, transmits and receives e-mail, voice, text messages, streaming audio, video, and the like. One or more of such software applications may run under control of operating system 340. Mobile terminal 105 may also include a ROM used to store data that is not lost when the mobile node loses power or is turned off. The memory 340 may be any suitable configuration of computer-readable storage media, such as volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information, such as computer readable instructions, data structures, program modules or other data. Examples of such computer storage media include RAM, ROM, EEPROM, flash memory cards or other memory technology.
  • There is also various mass storage 350 and audio circuitry 360 arranged to receive and produce sounds, i.e., audio signals. For example, audio interface 354 may be coupled to a speaker and microphone (not shown) to enable audio communication for a telephone call. Mass data storage 350 is utilized by mobile terminal 300 to store, among other things, applications, databases and large data files. Mass storage 350 may comprise flash memory, mini hard disk drives, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by mobile terminal 105.
  • Mobile terminal 105 connects to the radio access network 110 via wireless network interface 370, which is configured for use with various communication protocols including TCP/IP protocol 343, to perform various applications such as web browsing, emails, chat session, messaging, etc. Wireless network interface 370 may include a physical radio layer (not shown) that is arranged to transmit and receive certain radio frequency communications. Wireless network interface 370 connects mobile terminal 105 to network devices in external networks, via a communications carrier or service provider.
  • The preferred embodiments can be implemented in either a server 200, SGSN 215, an intermediate router or mobile terminal 105 as a sending device in a TCP connection. These devices may also be configured to operate as a receiving device in a TCP connection. In particular, the preferred embodiments can be performed even when there are multiple TCP connections. The priority of data to be sent during the slow start phase in the TCP connection may be adjusted, for example, in a TCP/IP packet store and queue utilized by a network interface.
  • When it is determined that a TCP connection is in a slow start phase, a table or other monitoring procedure is created and maintained that tracks the data that was sent in the TCP connection. As known, each TCP connection is identified when setting up the TCP connection (SYN/SYNACK/ACK) or when new endpoints are received and size of packet received and a corresponding entry in a transfer log is created. If the number of bytes sent for a particular connection is less than a predetermined parameter “Xmax”, then the connection is considered to be in a slow start phase. The parameter Xmax is chosen such that the time taken to send Xmax amount of data is sufficient enough for the TCP connection to fully adapt to the conditions of the network and exit from the slow start phase. As an example, Xmax may be set to equal K*MIN_BUF where MIN_BUF is the minimum buffer length in the route from the sending device to the receiving device and K is a predetermined system parameter. The value of K can be set by the network operator or provider of the communication service corresponding to the TCP connection (the TCP window Size can never be greater than the MIN_BUF).
  • Each packet of data in the slow start phase is allocated a priority value that is stored in the table and determines when the data is sent. The priority value allocated to data sent in the slow start phase of a TCP connection depends upon the amount of data already sent for the connection. For example, if Xi amount of data has already been sent in the TCP connection, then the priority value for the next data packet to be sent in that TCP connection is based on X=Xi/Xmax.
  • Preferably, the priority value allocated to a TCP data packet is constrained to be between 0 and 1. Thus, even in cases where the amount of data is greater than Xmax, then the value of X will be set to 1 and correspondingly priority value is also set to 1. Alternatively, when the value of X reaches 1, the allocated priority value can be removed from the table. The priority for sending data is gradually increased in accordance with a plurality of tiers. There may be four tiers, for example, X1, X2, X3 and X4, where priority of tier X1 applies when the value of X is between 0 and 0.25, tier X2 applies when the value of X is between 0.26 and 0.50, tier X3 applies when the value of X is between 0.51 and 0.75, and tier X4 applies when the value of X is between 0.76 and 1 or higher. Of course, there may be different number of tiers with different ranges along with different priorities allocated to each different tier.
  • The different priorities of data in the slow start phase can be applied in any number of ways. As a first example, the method is implemented in a sending device, such as a Serving GPRS Support Node (SGSN), Gateway GPRS Support Node (GGSN), router or a device in a Radio Access Network (RAN) that is capable of supporting multiple queues for Quality of Service (QoS) classes for a user like Diffserv in a wireline network. Although the general architecture of a SGSN, GGSN or router is not shown in the drawings, such devices also have a processor, memory, network interface and TCP/IP packet store and queue. Well known in the art, QoS classes can be applied according to the subscriber status of a user in a network or according to the requirements of various communication services of a user. For example, a real-time audio, video or interactive service may have a high QoS class whereas an email service may have a low QoS class, sometimes referred to as a “best efforts” class. The data for each QoS class may be placed into a unique logical or physical buffer queue dedicated to that QoS class. In such instances, the data in the buffer of a high QoS class may be sent before data in a low QoS class even though that data was arrived later in time than the data in the lower QoS class.
  • The priority allocated for the data in the slow start phase is utilized according to the method described above to place the data in an appropriate Quality of Service (QoS) class and buffer queues. If the X values and corresponding priorities are divided into tiers as described above, then the tiers can be mapped to respective QoS classes. This approach is illustrated in FIG. 4, which shows the respective buffer queues for four different QoS classes and each QoS class having a respective priority. All SYN/ACK (here ACK means pure ACK, with no piggybacked data) packets may be considered as belonging to the highest priority tier between 0 and 0.25.
  • For example, if the value of X is in the X1 tier, then the data packet will be stored in the buffer of queue 1 (priority 1). If the value of X is in the range of X2, then the data packet will be stored in the buffer of queue 2 (priority 2), and so on for all priority values and tiers. While there are many different possible QoS configurations, this approach has the advantage that it simplifies the modification of priorities allocated to different data packets by leveraging the existing logic and support for QoS classes in a sending device.
  • In a variation of this implementation, multiple queues (child queues) with different weights are implemented under each QoS Class. The data from the lowest priority queue is serviced first and higher weights within a QoS class are assigned to the data packets in a TCP connection in the slow start phase. A child queue is selected based on the allocated priority of a data packet and the weight of the child queue. The higher the weight of the child queue, then the lower the priority. However, the priority of highest weighted child queue in the particular QoS Class is higher than priority of lowest weighted child queue in the next higher QoS Class. Multiple child queues with different weights like W1, W2, W3 and W4 where W1<W2<W3<W4 are assumed in the parent QoS Class. The lower priority queue is serviced first, and may include SYN/ACK packets.
  • For the slow start phase, the value of X may be mapped to an appropriate tier and sub-tier. The data packets in the slow start phases will be assigned a QoS class buffer queue and child queue within the QoS class according to the X priority value. Thus, there may be sixteen different child queues and priority values allocated. This implementation has the advantage of leveraging existing support for QoS classes, but provides a finer degree of accuracy in implementing various priorities.
  • Of course, an embodiment of the invention can work even in cases where no QoS is implemented in a particular network node serving as the sending device. In this different embodiment, rather than using QoS classes with respective queues for the QoS classes, the network interface calculates and assigns respective service times to the different X priority values of data packets. The calculated service times may be based on the SGSN/MS/PDP context/TCP flow. In particular, rather than simply placing the data packet into different queues or child buffer queues based on priority value, the network interface uses the computation of service time based upon the queue length in the transmission buffer to determine the time by which the new packet needs to be sent. The transmission buffer may be a simple first-in first-out (FIFO) buffer. The function can be expressed as FI (Service Time)=Current System Time+f(queue_length (Q), Service Rate (R)). This function allocates the service time for the new packet based upon the time it would take to send Q amount of data (that is already queued in the system). To be able to send the new packets for the TCP Connection (i) earlier than the existing packets in the system, the function FI should use a lower value of Q to reflect the priority allocated to the new packet hence, FI=Current System Time+f(P(i)*Q) where P(i)=Xi/Xmax.
  • Q could be the amount of data for a particular type of traffic (for example: a PDP Context), or it could be the total queue length in the network device (e.g., SGSN). The above computation of FI can be used to increase or decrease the service time of data of any type by simply changing the computation of P(i): For example, If RTP packets are to be service earlier than TCP packets then P(i) for RTP connections is always lower than the parameter used for TCP connections. This embodiment does not leverage and rely upon the different QoS classes, but it has the advantage that the time in which a data packet in a slow start phase can be more directly (and accurately) controlled and that only a single FIFO buffer is used instead of multiple queues.
  • The preferred embodiments have numerous advantages over the prior art. They can be used across all traffic types since priority is individually allocated to different packets. Within a TCP connection, some packet types can be serviced earlier than other packet types (e.g., within a TCP Connection: P(i) for all ACK and or SYN packets can be set to ‘0’ and for the rest of the packets, the function Xi/Xmax can be used). While certain information of the TCP connection needs to be maintained, this information needs to be maintained in slow start only. Hence, the method is scalable because it does not require memory as a function of the total number of TCP connections supported. Interactive traffic applications (with small amounts of data) can be speeded up and interactive traffic may maintain a single TCP connection. The method can be applied regardless of the direction of the TCP connection.
  • It will be apparent from the foregoing that, while preferred and exemplary embodiments have been illustrated and described, various modifications can be made without departing from the spirit and scope of the invention. Accordingly, it is not intended that the invention be limited by the detailed description of the preferred and exemplary embodiments.

Claims (31)

1. A method of sending data in a wireless communications network, comprising:
determining whether or not a TCP connection from a sending device to a receiving device in the wireless communications network is in a slow start phase; and
if the TCP connection is in a slow start phase, then allocating priority in the sending device to the data to be sent in the TCP connection that is higher than the priority allocated to other data to be sent by the sending device.
2. The method recited in claim 1, wherein the priority of the data to be sent in the TCP connection is gradually decreased.
3. The method recited in claim 2, wherein the priority of the data to be sent in the TCP connection is gradually decreased based on the amount of data sent for that TCP connection.
4. The method recited in claim 3, wherein the priority of the data to be sent in the TCP connection is determined according to the equation X=Xi/Xmax, where Xi is the amount of data sent in the slow start phase of the TCP connection and Xmax is a predetermined amount of data sufficient for the TCP connection to adapt to conditions in the wireless communications network and X can have maximum value of ‘1’.
5. The method recited in claim 4, wherein the value of X is divided into a plurality of different tiers and a unique priority is assigned to each one of the plurality of tiers.
6. The method recited in claim 2, wherein the priority comprises a quality of service (QoS) class.
7. The method recited in claim 6, wherein higher weights within a QoS are assigned to data being sent in a slow start phase of the TCP connection.
8. The method recited in claim 2, wherein a service time is assigned to the data to be sent in the TCP connection based on the priority.
9. A sending device in a wireless communication network configured to send data to a receiving device in the wireless communication network, comprising:
a processor;
a memory storing software applications to be executed by the processor, said software applications stored in the memory including communications software;
a network interface adapted to send data over a TCP connection to the receiving device in the wireless communication network; and
a data packet store and queue, connected to said network interface, storing TCP data packets to be sent by said network interface,
wherein said network interface determines whether or not the TCP connection is in a slow start phase, and if the TCP connection is in a slow start phase, then allocating priority to the data to be sent in the TCP connection that is higher than the priority allocated to other data to be sent.
10. The sending device recited in claim 9, wherein the priority of the data to be sent in the TCP connection is gradually decreased.
11. The sending device recited in claim 10, wherein the priority of the data to be sent in the TCP connection is gradually decreased based on the amount of data sent for that TCP connection.
12. The sending device recited in claim 11, wherein the priority of the data to be sent in the TCP connection is determined according to the equation X=Xi/Xmax, where Xi is the amount of data sent in the slow start phase of the TCP connection and Xmax is a predetermined amount of data sufficient for the TCP connection to adapt to conditions in the wireless communications network and X can have maximum value of ‘1’.
13. The sending device recited in claim 12, wherein the value of X is divided into a plurality of different tiers and a unique priority is assigned to each one of the plurality of tiers.
14. The sending device recited in claim 10, wherein the priority comprises a quality of service (QoS) class.
15. The sending device recited in claim 14, wherein higher weights within a QoS are assigned to data being sent in a slow start phase of the TCP connection.
16. The sending device recited in claim 10, wherein a service time is assigned to the data to be sent in the TCP connection based on the priority.
17. The sending device recited in claim 9, wherein the sending device is a Serving GPRS Support Node.
18. The sending device recited in claim 9, wherein the sending device is also configured to perform as a receiving device.
19. A software program stored in a tangible medium, which, when executed in a sending device on a wireless communications network, causes the sending device to carry out a method of sending data in a TCP connection to a receiving device, the method comprising:
determining whether or not the TCP connection is in a slow start phase; and
if the TCP connection is in a slow start phase, then allocating priority in the sending device to the data to be sent in the TCP connection that is higher than the priority allocated to other data to be sent by the sending device.
20. The software program recited in claim 19, wherein the priority of the data to be sent in the TCP connection is gradually decreased.
21. The software program recited in claim 20, wherein the priority of the data to be sent in the TCP connection is gradually decreased based on the amount of data sent for that TCP connection.
22. The software program recited in claim 21, wherein the priority of the data to be sent in the TCP connection is determined according to the equation X=Xi/Xmax, where Xi is the amount of data sent in the slow start phase of the TCP connection and Xmax is a predetermined amount of data sufficient for the TCP connection to adapt to conditions in the wireless communications network and X can have maximum value of ‘1’.
23. The software program recited in claim 22, wherein the value of X is divided into a plurality of different tiers and a unique priority is assigned to each one of the plurality of tiers.
24. The software program recited in claim 20, wherein the priority comprises a quality of service (QoS) class.
25. The software program recited in claim 24, wherein higher weights within a QoS are assigned to data being sent in a slow start phase of the TCP connection.
26. The software program recited in claim 20, wherein a service time is assigned to the data to be sent in the TCP connection based on the priority.
27. A communications network comprising:
a sending device configured to send data in a TCP connection to other devices in said communications network;
a receiving device, said receiving device configured to receive data in a TCP connection,
wherein it is determined whether or not the TCP connection is in a slow start phase, and if the TCP connection is in a slow start phase, then allocating priority in the sending device to the data to be sent in the TCP connection that is higher than the priority allocated to other data to be sent by the sending device.
28. The communications network recited in claim 27, wherein the priority of data to be sent in the TCP connection is gradually decreased.
29. The communications network recited in claim 28, wherein the priority of the data to be sent in the TCP connection is gradually decreased based on the amount of data sent for that TCP connection.
30. The communications network recited in claim 27, wherein the sending device comprises a Serving GPRS Support Node.
31. The communications network recited in claim 27, wherein the sending device is also configured to perform as a receiving device.
US11/025,007 2004-12-29 2004-12-29 Optimization of a TCP connection Abandoned US20060140193A1 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
US11/025,007 US20060140193A1 (en) 2004-12-29 2004-12-29 Optimization of a TCP connection
EP05850712A EP1836828A2 (en) 2004-12-29 2005-12-27 Optimization of a tcp connection
PCT/IB2005/003886 WO2006070260A2 (en) 2004-12-29 2005-12-27 Method and system for optimization of a wireless TCP Connection
CNA2005800480864A CN101120571A (en) 2004-12-29 2005-12-27 Optimization method and system for wireless tcp connection
US11/345,715 US8169909B2 (en) 2004-12-29 2006-02-02 Optimization of a transfer layer protocol connection

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/025,007 US20060140193A1 (en) 2004-12-29 2004-12-29 Optimization of a TCP connection

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US11/345,715 Continuation-In-Part US8169909B2 (en) 2004-12-29 2006-02-02 Optimization of a transfer layer protocol connection

Publications (1)

Publication Number Publication Date
US20060140193A1 true US20060140193A1 (en) 2006-06-29

Family

ID=36611376

Family Applications (2)

Application Number Title Priority Date Filing Date
US11/025,007 Abandoned US20060140193A1 (en) 2004-12-29 2004-12-29 Optimization of a TCP connection
US11/345,715 Active 2028-07-24 US8169909B2 (en) 2004-12-29 2006-02-02 Optimization of a transfer layer protocol connection

Family Applications After (1)

Application Number Title Priority Date Filing Date
US11/345,715 Active 2028-07-24 US8169909B2 (en) 2004-12-29 2006-02-02 Optimization of a transfer layer protocol connection

Country Status (4)

Country Link
US (2) US20060140193A1 (en)
EP (1) EP1836828A2 (en)
CN (1) CN101120571A (en)
WO (1) WO2006070260A2 (en)

Cited By (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080089228A1 (en) * 2006-10-06 2008-04-17 Huawei Technologies, Co., Ltd. Systems and Methods for Wireless Communications
US20100165838A1 (en) * 2008-12-30 2010-07-01 Yury Bakshi Method and apparatus for improving data throughput in a network
US8121117B1 (en) 2007-10-01 2012-02-21 F5 Networks, Inc. Application layer network traffic prioritization
US8396836B1 (en) 2011-06-30 2013-03-12 F5 Networks, Inc. System for mitigating file virtualization storage import latency
US8417746B1 (en) 2006-04-03 2013-04-09 F5 Networks, Inc. File system management with enhanced searchability
US8417681B1 (en) 2001-01-11 2013-04-09 F5 Networks, Inc. Aggregated lock management for locking aggregated files in a switched file system
US8433735B2 (en) 2005-01-20 2013-04-30 F5 Networks, Inc. Scalable system for partitioning and accessing metadata over multiple servers
US8463850B1 (en) 2011-10-26 2013-06-11 F5 Networks, Inc. System and method of algorithmically generating a server side transaction identifier
US8548953B2 (en) 2007-11-12 2013-10-01 F5 Networks, Inc. File deduplication using storage tiers
US8549582B1 (en) 2008-07-11 2013-10-01 F5 Networks, Inc. Methods for handling a multi-protocol content name and systems thereof
US8682916B2 (en) 2007-05-25 2014-03-25 F5 Networks, Inc. Remote file virtualization in a switched file system
US8806056B1 (en) 2009-11-20 2014-08-12 F5 Networks, Inc. Method for optimizing remote file saves in a failsafe way
US8879431B2 (en) 2011-05-16 2014-11-04 F5 Networks, Inc. Method for load balancing of requests' processing of diameter servers
US9020912B1 (en) 2012-02-20 2015-04-28 F5 Networks, Inc. Methods for accessing data in a compressed file system and devices thereof
US9195500B1 (en) 2010-02-09 2015-11-24 F5 Networks, Inc. Methods for seamless storage importing and devices thereof
US9244843B1 (en) 2012-02-20 2016-01-26 F5 Networks, Inc. Methods for improving flow cache bandwidth utilization and devices thereof
US9286298B1 (en) 2010-10-14 2016-03-15 F5 Networks, Inc. Methods for enhancing management of backup data sets and devices thereof
US9420049B1 (en) 2010-06-30 2016-08-16 F5 Networks, Inc. Client side human user indicator
US9497614B1 (en) 2013-02-28 2016-11-15 F5 Networks, Inc. National traffic steering device for a better control of a specific wireless/LTE network
US9503375B1 (en) 2010-06-30 2016-11-22 F5 Networks, Inc. Methods for managing traffic in a multi-service environment and devices thereof
US9519501B1 (en) 2012-09-30 2016-12-13 F5 Networks, Inc. Hardware assisted flow acceleration and L2 SMAC management in a heterogeneous distributed multi-tenant virtualized clustered system
US9554418B1 (en) 2013-02-28 2017-01-24 F5 Networks, Inc. Device for topology hiding of a visited network
US9578090B1 (en) 2012-11-07 2017-02-21 F5 Networks, Inc. Methods for provisioning application delivery service and devices thereof
US10004019B2 (en) 2015-09-08 2018-06-19 Parallel Wireless, Inc. RAN for multimedia delivery
US10033837B1 (en) 2012-09-29 2018-07-24 F5 Networks, Inc. System and method for utilizing a data reducing module for dictionary compression of encoded data
USRE47019E1 (en) 2010-07-14 2018-08-28 F5 Networks, Inc. Methods for DNSSEC proxying and deployment amelioration and systems thereof
US10097616B2 (en) 2012-04-27 2018-10-09 F5 Networks, Inc. Methods for optimizing service of content requests and devices thereof
US10182013B1 (en) 2014-12-01 2019-01-15 F5 Networks, Inc. Methods for managing progressive image delivery and devices thereof
US10187317B1 (en) 2013-11-15 2019-01-22 F5 Networks, Inc. Methods for traffic rate control and devices thereof
US10230566B1 (en) 2012-02-17 2019-03-12 F5 Networks, Inc. Methods for dynamically constructing a service principal name and devices thereof
US10375155B1 (en) 2013-02-19 2019-08-06 F5 Networks, Inc. System and method for achieving hardware acceleration for asymmetric flow connections
US10404698B1 (en) 2016-01-15 2019-09-03 F5 Networks, Inc. Methods for adaptive organization of web application access points in webtops and devices thereof
US10412198B1 (en) 2016-10-27 2019-09-10 F5 Networks, Inc. Methods for improved transmission control protocol (TCP) performance visibility and devices thereof
US10505792B1 (en) 2016-11-02 2019-12-10 F5 Networks, Inc. Methods for facilitating network traffic analytics and devices thereof
US10505818B1 (en) 2015-05-05 2019-12-10 F5 Networks. Inc. Methods for analyzing and load balancing based on server health and devices thereof
US10567492B1 (en) 2017-05-11 2020-02-18 F5 Networks, Inc. Methods for load balancing in a federated identity environment and devices thereof
US10721269B1 (en) 2009-11-06 2020-07-21 F5 Networks, Inc. Methods and system for returning requests with javascript for clients before passing a request to a server
US10797888B1 (en) 2016-01-20 2020-10-06 F5 Networks, Inc. Methods for secured SCEP enrollment for client devices and devices thereof
US10812266B1 (en) 2017-03-17 2020-10-20 F5 Networks, Inc. Methods for managing security tokens based on security violations and devices thereof
US10834065B1 (en) 2015-03-31 2020-11-10 F5 Networks, Inc. Methods for SSL protected NTLM re-authentication and devices thereof
US10833943B1 (en) 2018-03-01 2020-11-10 F5 Networks, Inc. Methods for service chaining and devices thereof
US20210058318A1 (en) * 2019-08-20 2021-02-25 Arcadyan Technology Corporation Transmission system, transmission device, and transmission path allocation method
US11063758B1 (en) 2016-11-01 2021-07-13 F5 Networks, Inc. Methods for facilitating cipher selection and devices thereof
US11122042B1 (en) 2017-05-12 2021-09-14 F5 Networks, Inc. Methods for dynamically managing user access control and devices thereof
US11178150B1 (en) 2016-01-20 2021-11-16 F5 Networks, Inc. Methods for enforcing access control list based on managed application and devices thereof
US11223689B1 (en) 2018-01-05 2022-01-11 F5 Networks, Inc. Methods for multipath transmission control protocol (MPTCP) based session migration and devices thereof
US11343237B1 (en) 2017-05-12 2022-05-24 F5, Inc. Methods for managing a federated identity environment using security and access control data and devices thereof
US11350254B1 (en) 2015-05-05 2022-05-31 F5, Inc. Methods for enforcing compliance policies and devices thereof
US11757946B1 (en) 2015-12-22 2023-09-12 F5, Inc. Methods for analyzing network traffic and enforcing network policies and devices thereof
US11838851B1 (en) 2014-07-15 2023-12-05 F5, Inc. Methods for managing L7 traffic classification and devices thereof
US11895138B1 (en) 2015-02-02 2024-02-06 F5, Inc. Methods for improving web scanner accuracy and devices thereof

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7542419B2 (en) * 2001-04-02 2009-06-02 International Business Machines Corporation Method and apparatus for managing aggregate bandwidth at a server
US8111698B2 (en) * 2005-03-31 2012-02-07 Alcatel Lucent Method of performing a layer operation in a communications network
US7756134B2 (en) 2006-05-02 2010-07-13 Harris Corporation Systems and methods for close queuing to support quality of service
US7894509B2 (en) 2006-05-18 2011-02-22 Harris Corporation Method and system for functional redundancy based quality of service
US20070291767A1 (en) * 2006-06-16 2007-12-20 Harris Corporation Systems and methods for a protocol transformation gateway for quality of service
US8064464B2 (en) 2006-06-16 2011-11-22 Harris Corporation Method and system for inbound content-based QoS
US7856012B2 (en) 2006-06-16 2010-12-21 Harris Corporation System and methods for generic data transparent rules to support quality of service
US7990860B2 (en) 2006-06-16 2011-08-02 Harris Corporation Method and system for rule-based sequencing for QoS
US8516153B2 (en) 2006-06-16 2013-08-20 Harris Corporation Method and system for network-independent QoS
US7916626B2 (en) 2006-06-19 2011-03-29 Harris Corporation Method and system for fault-tolerant quality of service
US8730981B2 (en) 2006-06-20 2014-05-20 Harris Corporation Method and system for compression based quality of service
US7769028B2 (en) 2006-06-21 2010-08-03 Harris Corporation Systems and methods for adaptive throughput management for event-driven message-based data
US8411581B2 (en) * 2006-07-25 2013-04-02 Broadcom Corporation Method and system for medium access control (MAC) layer specialization for voice and multimedia data streams
US20100241759A1 (en) * 2006-07-31 2010-09-23 Smith Donald L Systems and methods for sar-capable quality of service
US8300653B2 (en) 2006-07-31 2012-10-30 Harris Corporation Systems and methods for assured communications with quality of service
US8838782B2 (en) * 2008-09-19 2014-09-16 Nec Corporation Network protocol processing system and network protocol processing method
US8732258B2 (en) * 2009-03-20 2014-05-20 Oracle America, Inc. Method and system for transporting telemetry data across a network
US8219079B2 (en) * 2009-07-28 2012-07-10 Clear Wireless Llc System and method for microwave traffic routing
US9900368B2 (en) * 2012-04-11 2018-02-20 Telefonaktiebolaget Lm Ericsson (Publ) Method for optimising downloading of data
US9225668B2 (en) * 2012-07-31 2015-12-29 Futurewei Technologies, Inc. Priority driven channel allocation for packet transferring
WO2014022424A1 (en) * 2012-07-31 2014-02-06 Huawei Technologies Co., Ltd. Phase-based packet prioritization
CN106131003B (en) * 2016-06-30 2021-04-30 中国电力科学研究院 Service primitive description-based method for identifying service between main station and sub station

Citations (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6208620B1 (en) * 1999-08-02 2001-03-27 Nortel Networks Corporation TCP-aware agent sublayer (TAS) for robust TCP over wireless
US6285658B1 (en) * 1996-12-09 2001-09-04 Packeteer, Inc. System for managing flow bandwidth utilization at network, transport and application layers in store and forward network
US20020044527A1 (en) * 2000-02-18 2002-04-18 Zhimei Jiang Channel efficiency based packet scheduling for interactive data in cellular networks
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
US6457051B1 (en) * 1997-11-25 2002-09-24 Packeteer, Inc. Method for automatically classifying traffic in a pocket communications network
US20020150048A1 (en) * 2001-04-12 2002-10-17 Sungwon Ha Data transport acceleration and management within a network communication system
US20030063564A1 (en) * 2001-05-18 2003-04-03 Sungwon Ha Quality of service management for multiple connections within a network communication system
US20030112802A1 (en) * 2001-11-16 2003-06-19 Nec Corporation Packet transfer method and apparatus
US20030189896A1 (en) * 2002-04-09 2003-10-09 Ar Card Two-stage reconnect system and method
US20040052234A1 (en) * 2001-12-04 2004-03-18 Nokia Corporation Method and system for dispatching multiple TCP packets from communication systems
US6772211B2 (en) * 2001-06-18 2004-08-03 Transtech Networks Usa, Inc. Content-aware web switch without delayed binding and methods thereof
US6789050B1 (en) * 1998-12-23 2004-09-07 At&T Corp. Method and apparatus for modeling a web server
US20050083850A1 (en) * 2003-10-18 2005-04-21 Samsung Electronics Co., Ltd. Method for adjusting a transmission rate to obtain the optimum transmission rate in a mobile ad hoc network environment
US20050135248A1 (en) * 2003-12-19 2005-06-23 Nokia Corporation Methods and applications for avoiding slow-start restart in transmission control protocol network communications
US20050220097A1 (en) * 2004-04-01 2005-10-06 Nokia Corporation Expedited data transmission in packet based network
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
US20050262266A1 (en) * 2002-06-20 2005-11-24 Niclas Wiberg Apparatus and method for resource allocation
US6996062B1 (en) * 2001-02-28 2006-02-07 3Com Corporation Policy-based weighted random early detection method for avoiding congestion in internet traffic
US7035214B1 (en) * 1999-09-28 2006-04-25 Nortel Networks Limited System and method for a negative acknowledgement-based transmission control protocol
US7124195B2 (en) * 2001-10-17 2006-10-17 Velcero Broadband Applications, Llc Broadband network system configured to transport audio or video at the transport layer, and associated method
US7177272B2 (en) * 2003-06-25 2007-02-13 Nokia Corporation System and method for optimizing link throughput in response to non-congestion-related packet loss
US7369498B1 (en) * 1999-12-13 2008-05-06 Nokia Corporation Congestion control method for a packet-switched network

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6105064A (en) * 1997-05-30 2000-08-15 Novell, Inc. System for placing packets on network for transmission from sending endnode to receiving endnode at times which are determined by window size and metering interval
WO1999005827A1 (en) * 1997-07-23 1999-02-04 Ntt Mobile Communications Network Inc. Multiplex transmission system and band control method
US6590885B1 (en) * 1998-07-10 2003-07-08 Malibu Networks, Inc. IP-flow characterization in a wireless point to multi-point (PTMP) transmission system
US6826620B1 (en) * 1998-08-26 2004-11-30 Paradyne Corporation Network congestion control system and method
US6646987B1 (en) * 1998-10-05 2003-11-11 Nortel Networks Limited Method and system for transmission control protocol (TCP) packet loss recovery over a wireless link
US6934255B1 (en) * 1999-02-02 2005-08-23 Packeteer, Inc. Internet over satellite apparatus
US20010016878A1 (en) * 2000-02-17 2001-08-23 Hideki Yamanaka Communicating system and communicating method for controlling throughput
JP2001237882A (en) * 2000-02-23 2001-08-31 Nec Corp Packet size controller in packet data transfer and its control method
US6757248B1 (en) * 2000-06-14 2004-06-29 Nokia Internet Communications Inc. Performance enhancement of transmission control protocol (TCP) for wireless network applications
AU2001271609A1 (en) * 2000-06-30 2002-01-14 Kanad Ghose System and method for fast, reliable byte stream transport
US7047312B1 (en) * 2000-07-26 2006-05-16 Nortel Networks Limited TCP rate control with adaptive thresholds
GB2372172B (en) * 2001-05-31 2002-12-24 Ericsson Telefon Ab L M Congestion handling in a packet data network
SE0103853D0 (en) * 2001-11-15 2001-11-15 Ericsson Telefon Ab L M Method and system of retransmission
US7184443B2 (en) * 2002-03-30 2007-02-27 Cisco Technology, Inc. Packet scheduling particularly applicable to systems including a non-blocking switching fabric and homogeneous or heterogeneous line card interfaces
US6904058B2 (en) * 2002-09-20 2005-06-07 Intel Corporation Transmitting data over a general packet radio service wireless network
WO2004047357A1 (en) * 2002-11-18 2004-06-03 Telefonaktiebolaget Lm Ericsson (Publ) Data unit sender and method of controlling the same
US7349338B2 (en) * 2003-04-15 2008-03-25 Lucent Technologies Inc Scheduler and method for scheduling transmissions in a communication network
KR100606760B1 (en) * 2003-07-07 2006-07-31 엘지전자 주식회사 Home Network System According to User Preengagement and Control Method of The Same
US7263067B2 (en) * 2003-07-15 2007-08-28 Nokia Siemans Networks Oy Method and apparatus for accelerating throughput in a wireless or other telecommunication system
US7656799B2 (en) * 2003-07-29 2010-02-02 Citrix Systems, Inc. Flow control system architecture
US20050210122A1 (en) * 2004-03-22 2005-09-22 Qualcomm Incorporated HTTP acceleration over a network link
US20050251403A1 (en) * 2004-05-10 2005-11-10 Elster Electricity, Llc. Mesh AMR network interconnecting to TCP/IP wireless mesh network
WO2005125116A1 (en) * 2004-06-22 2005-12-29 Telefonaktiebolaget Lm Ericsson (Publ) Network feedback method and device
US7583645B2 (en) * 2004-09-01 2009-09-01 Intel Corporation Adaptive MAC architecture for wireless networks

Patent Citations (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6285658B1 (en) * 1996-12-09 2001-09-04 Packeteer, Inc. System for managing flow bandwidth utilization at network, transport and application layers in store and forward network
US6457051B1 (en) * 1997-11-25 2002-09-24 Packeteer, Inc. Method for automatically classifying traffic in a pocket 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
US6789050B1 (en) * 1998-12-23 2004-09-07 At&T Corp. Method and apparatus for modeling a web server
US6208620B1 (en) * 1999-08-02 2001-03-27 Nortel Networks Corporation TCP-aware agent sublayer (TAS) for robust TCP over wireless
US7035214B1 (en) * 1999-09-28 2006-04-25 Nortel Networks Limited System and method for a negative acknowledgement-based transmission control protocol
US7369498B1 (en) * 1999-12-13 2008-05-06 Nokia Corporation Congestion control method for a packet-switched network
US20020044527A1 (en) * 2000-02-18 2002-04-18 Zhimei Jiang Channel efficiency based packet scheduling for interactive data in cellular networks
US7046678B2 (en) * 2000-02-18 2006-05-16 At & T Corp. Channel efficiency based packet scheduling for interactive data in cellular networks
US6996062B1 (en) * 2001-02-28 2006-02-07 3Com Corporation Policy-based weighted random early detection method for avoiding congestion in internet traffic
US20020150048A1 (en) * 2001-04-12 2002-10-17 Sungwon Ha Data transport acceleration and management within a network communication system
US7099273B2 (en) * 2001-04-12 2006-08-29 Bytemobile, Inc. Data transport acceleration and management within a network communication system
US20030063564A1 (en) * 2001-05-18 2003-04-03 Sungwon Ha Quality of service management for multiple connections within a network communication system
US7136353B2 (en) * 2001-05-18 2006-11-14 Bytemobile, Inc. Quality of service management for multiple connections within a network communication system
US6772211B2 (en) * 2001-06-18 2004-08-03 Transtech Networks Usa, Inc. Content-aware web switch without delayed binding and methods thereof
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
US7124195B2 (en) * 2001-10-17 2006-10-17 Velcero Broadband Applications, Llc Broadband network system configured to transport audio or video at the transport layer, and associated method
US7385986B2 (en) * 2001-11-16 2008-06-10 Nec Corporation Packet transfer method and apparatus
US20030112802A1 (en) * 2001-11-16 2003-06-19 Nec Corporation Packet transfer method and apparatus
US20040052234A1 (en) * 2001-12-04 2004-03-18 Nokia Corporation Method and system for dispatching multiple TCP packets from communication systems
US20030189896A1 (en) * 2002-04-09 2003-10-09 Ar Card Two-stage reconnect system and method
US20050262266A1 (en) * 2002-06-20 2005-11-24 Niclas Wiberg Apparatus and method for resource allocation
US7177272B2 (en) * 2003-06-25 2007-02-13 Nokia Corporation System and method for optimizing link throughput in response to non-congestion-related packet loss
US20050083850A1 (en) * 2003-10-18 2005-04-21 Samsung Electronics Co., Ltd. Method for adjusting a transmission rate to obtain the optimum transmission rate in a mobile ad hoc network environment
US20050135248A1 (en) * 2003-12-19 2005-06-23 Nokia Corporation Methods and applications for avoiding slow-start restart in transmission control protocol network communications
US20050220097A1 (en) * 2004-04-01 2005-10-06 Nokia Corporation Expedited data transmission in packet based network

Cited By (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8417681B1 (en) 2001-01-11 2013-04-09 F5 Networks, Inc. Aggregated lock management for locking aggregated files in a switched file system
US8433735B2 (en) 2005-01-20 2013-04-30 F5 Networks, Inc. Scalable system for partitioning and accessing metadata over multiple servers
US8417746B1 (en) 2006-04-03 2013-04-09 F5 Networks, Inc. File system management with enhanced searchability
US20080089228A1 (en) * 2006-10-06 2008-04-17 Huawei Technologies, Co., Ltd. Systems and Methods for Wireless Communications
US7706276B2 (en) * 2006-11-10 2010-04-27 Huawei Technologies Co., Ltd. Systems and methods for wireless communications
US8682916B2 (en) 2007-05-25 2014-03-25 F5 Networks, Inc. Remote file virtualization in a switched file system
US9143451B2 (en) 2007-10-01 2015-09-22 F5 Networks, Inc. Application layer network traffic prioritization
US8400919B1 (en) 2007-10-01 2013-03-19 F5 Networks, Inc. Application layer network traffic prioritization
US8121117B1 (en) 2007-10-01 2012-02-21 F5 Networks, Inc. Application layer network traffic prioritization
US8548953B2 (en) 2007-11-12 2013-10-01 F5 Networks, Inc. File deduplication using storage tiers
US8549582B1 (en) 2008-07-11 2013-10-01 F5 Networks, Inc. Methods for handling a multi-protocol content name and systems thereof
US20100165838A1 (en) * 2008-12-30 2010-07-01 Yury Bakshi Method and apparatus for improving data throughput in a network
US10721269B1 (en) 2009-11-06 2020-07-21 F5 Networks, Inc. Methods and system for returning requests with javascript for clients before passing a request to a server
US11108815B1 (en) 2009-11-06 2021-08-31 F5 Networks, Inc. Methods and system for returning requests with javascript for clients before passing a request to a server
US8806056B1 (en) 2009-11-20 2014-08-12 F5 Networks, Inc. Method for optimizing remote file saves in a failsafe way
US9195500B1 (en) 2010-02-09 2015-11-24 F5 Networks, Inc. Methods for seamless storage importing and devices thereof
US9420049B1 (en) 2010-06-30 2016-08-16 F5 Networks, Inc. Client side human user indicator
US9503375B1 (en) 2010-06-30 2016-11-22 F5 Networks, Inc. Methods for managing traffic in a multi-service environment and devices thereof
USRE47019E1 (en) 2010-07-14 2018-08-28 F5 Networks, Inc. Methods for DNSSEC proxying and deployment amelioration and systems thereof
US9286298B1 (en) 2010-10-14 2016-03-15 F5 Networks, Inc. Methods for enhancing management of backup data sets and devices thereof
US9356998B2 (en) 2011-05-16 2016-05-31 F5 Networks, Inc. Method for load balancing of requests' processing of diameter servers
US8879431B2 (en) 2011-05-16 2014-11-04 F5 Networks, Inc. Method for load balancing of requests' processing of diameter servers
US8396836B1 (en) 2011-06-30 2013-03-12 F5 Networks, Inc. System for mitigating file virtualization storage import latency
US8463850B1 (en) 2011-10-26 2013-06-11 F5 Networks, Inc. System and method of algorithmically generating a server side transaction identifier
US10230566B1 (en) 2012-02-17 2019-03-12 F5 Networks, Inc. Methods for dynamically constructing a service principal name and devices thereof
US9020912B1 (en) 2012-02-20 2015-04-28 F5 Networks, Inc. Methods for accessing data in a compressed file system and devices thereof
US9244843B1 (en) 2012-02-20 2016-01-26 F5 Networks, Inc. Methods for improving flow cache bandwidth utilization and devices thereof
USRE48725E1 (en) 2012-02-20 2021-09-07 F5 Networks, Inc. Methods for accessing data in a compressed file system and devices thereof
US10097616B2 (en) 2012-04-27 2018-10-09 F5 Networks, Inc. Methods for optimizing service of content requests and devices thereof
US10033837B1 (en) 2012-09-29 2018-07-24 F5 Networks, Inc. System and method for utilizing a data reducing module for dictionary compression of encoded data
US9519501B1 (en) 2012-09-30 2016-12-13 F5 Networks, Inc. Hardware assisted flow acceleration and L2 SMAC management in a heterogeneous distributed multi-tenant virtualized clustered system
US9578090B1 (en) 2012-11-07 2017-02-21 F5 Networks, Inc. Methods for provisioning application delivery service and devices thereof
US10375155B1 (en) 2013-02-19 2019-08-06 F5 Networks, Inc. System and method for achieving hardware acceleration for asymmetric flow connections
US9554418B1 (en) 2013-02-28 2017-01-24 F5 Networks, Inc. Device for topology hiding of a visited network
US9497614B1 (en) 2013-02-28 2016-11-15 F5 Networks, Inc. National traffic steering device for a better control of a specific wireless/LTE network
US10187317B1 (en) 2013-11-15 2019-01-22 F5 Networks, Inc. Methods for traffic rate control and devices thereof
US11838851B1 (en) 2014-07-15 2023-12-05 F5, Inc. Methods for managing L7 traffic classification and devices thereof
US10182013B1 (en) 2014-12-01 2019-01-15 F5 Networks, Inc. Methods for managing progressive image delivery and devices thereof
US11895138B1 (en) 2015-02-02 2024-02-06 F5, Inc. Methods for improving web scanner accuracy and devices thereof
US10834065B1 (en) 2015-03-31 2020-11-10 F5 Networks, Inc. Methods for SSL protected NTLM re-authentication and devices thereof
US10505818B1 (en) 2015-05-05 2019-12-10 F5 Networks. Inc. Methods for analyzing and load balancing based on server health and devices thereof
US11350254B1 (en) 2015-05-05 2022-05-31 F5, Inc. Methods for enforcing compliance policies and devices thereof
US10004019B2 (en) 2015-09-08 2018-06-19 Parallel Wireless, Inc. RAN for multimedia delivery
US11757946B1 (en) 2015-12-22 2023-09-12 F5, Inc. Methods for analyzing network traffic and enforcing network policies and devices thereof
US10404698B1 (en) 2016-01-15 2019-09-03 F5 Networks, Inc. Methods for adaptive organization of web application access points in webtops and devices thereof
US10797888B1 (en) 2016-01-20 2020-10-06 F5 Networks, Inc. Methods for secured SCEP enrollment for client devices and devices thereof
US11178150B1 (en) 2016-01-20 2021-11-16 F5 Networks, Inc. Methods for enforcing access control list based on managed application and devices thereof
US10412198B1 (en) 2016-10-27 2019-09-10 F5 Networks, Inc. Methods for improved transmission control protocol (TCP) performance visibility and devices thereof
US11063758B1 (en) 2016-11-01 2021-07-13 F5 Networks, Inc. Methods for facilitating cipher selection and devices thereof
US10505792B1 (en) 2016-11-02 2019-12-10 F5 Networks, Inc. Methods for facilitating network traffic analytics and devices thereof
US10812266B1 (en) 2017-03-17 2020-10-20 F5 Networks, Inc. Methods for managing security tokens based on security violations and devices thereof
US10567492B1 (en) 2017-05-11 2020-02-18 F5 Networks, Inc. Methods for load balancing in a federated identity environment and devices thereof
US11122042B1 (en) 2017-05-12 2021-09-14 F5 Networks, Inc. Methods for dynamically managing user access control and devices thereof
US11343237B1 (en) 2017-05-12 2022-05-24 F5, Inc. Methods for managing a federated identity environment using security and access control data and devices thereof
US11223689B1 (en) 2018-01-05 2022-01-11 F5 Networks, Inc. Methods for multipath transmission control protocol (MPTCP) based session migration and devices thereof
US10833943B1 (en) 2018-03-01 2020-11-10 F5 Networks, Inc. Methods for service chaining and devices thereof
US20210058318A1 (en) * 2019-08-20 2021-02-25 Arcadyan Technology Corporation Transmission system, transmission device, and transmission path allocation method

Also Published As

Publication number Publication date
WO2006070260A2 (en) 2006-07-06
WO2006070260A3 (en) 2007-05-31
EP1836828A2 (en) 2007-09-26
US8169909B2 (en) 2012-05-01
US20060140121A1 (en) 2006-06-29
CN101120571A (en) 2008-02-06

Similar Documents

Publication Publication Date Title
US20060140193A1 (en) Optimization of a TCP connection
US7724750B2 (en) Expedited data transmission in packet based network
CA2227244C (en) A method for supporting per-connection queuing for feedback-controlled traffic
EP1649643B1 (en) Distributed quality-of-service management system
US7664017B2 (en) Congestion and delay handling in a packet data network
US20050213507A1 (en) Dynamically provisioning computer system resources
EP1701506B1 (en) Method and system for transmission control protocol (TCP) traffic smoothing
US20030202480A1 (en) Method and system for throughput and efficiency enhancement of a packet based protocol in a wireless network
EP2040423B1 (en) Improved utilization of data links
US8341265B2 (en) Hybrid server overload control scheme for maximizing server throughput
EP1240753A1 (en) Congestion control method for a packet-switched network
EP1471695B1 (en) Method for flow control in a communication system
CN113141314A (en) Congestion control method and equipment
EP1730903B1 (en) Expedited data transmission in packet based network
Yaghmaee et al. A model for differentiated service support in wireless multimedia sensor networks
Irawan et al. Performance evaluation of queue algorithms for video-on-demand application
Patel et al. A new active queue management algorithm: Altdrop
JP2003298638A (en) Apparatus and method for transmitting packet
US11895031B2 (en) Method and systems for reducing network latency
Guduru et al. Reliable Session Initiation Protocol (RSIP) signaling with UDP transport using piggybacking method
Sood et al. Hybrid Congestion Control Mechanism in Software Defined Networks
KR100446434B1 (en) Confirmation response segment control system and the method

Legal Events

Date Code Title Description
AS Assignment

Owner name: NOKIA CORPORATION, FINLAND

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:KAKANI, NAVEEN KUMAR;MAHESHWARI, SHASHIKANT;HUOMO, MIIKKA;REEL/FRAME:016140/0062;SIGNING DATES FROM 20041228 TO 20041229

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION