Optimization of a 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.
Claims
exact text as granted — not AI-modified1 . 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.Join the waitlist — get patent alerts
Track US2006140193A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.