IP Library Granted Patent US 7,136,353
Granted Patent B2
US 7,136,353 · App. 10/150,858 · Granted Nov 14, 2006

Quality of service management for multiple connections within a network communication system

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,136,353
App. No.
10/150,858
Granted
Nov 14, 2006
Kind
B2
Abstract

Improved quality of service management for multiple connections between a sender and a receiver may be achieved by allocating a host-level transmission rate among the multiple connections based on a ratio of a weight associated with each connection and a sum of the weights associated the connections. Data packets associated with the connections may then be selectively transmitted to the receiver such that data packets having a highest difference between the allocated transmission rate and an actual transmission rate are transmitted first. The data packets transmitted to the sender may also be clocked using a transmission timer having period corresponding to the host-level transmission rate.

Claims (48)

1. A method for managing a plurality of connections between a sender and a receiver within a network communication system, the method comprising:

determining a current transmission rate for each of the plurality of connections;

calculating a host-level transmission rate by summing the current transmission rates associated with the plurality of connections;

allocating the host-level transmission rate among the plurality of connections based on a ratio of a weight associated with each connection and a sum of the weights for the plurality of connections;

selecting data packets for transmission such that each selected data packet is associated with the connection having a highest difference between the allocated transmission rate and an actual transmission rate for the connection, the actual transmission rate being determined from the number of selected data packets transmitted over the connection over a predetermined time period; and

transmitting the selected data packets from the sender over the associated connections in response to each expiration of a transmission timer, the period of the transmission timer having a period corresponding to the host-level transmission rate.

2. The method of claim 1 , wherein the step of determining comprises measuring a roundtrip time and a congestion window parameter for each of the plurality of connections.

3. The method of claim 2 , wherein the step of determining further comprises calculating a smoothed round trip time and a smoothed congestion window for each of the plurality of connections based on a plurality of samples of the measured round trip time and the measured congestion window parameter, respectively.

4. The method of claim 3 , wherein the step of determining comprises taking a ratio of the smoothed round trip time and the smoothed congestion window to determine the current transmission rate.

5. The method of claim 1 , further comprising the steps of:

periodically updating the current transmission rate for each of the plurality of connections to update the host-level transmission rate; and

re-allocating the host-level transmission rate among the plurality of connection using the updated host-level transmission rate.

6. The method of claim 5 , wherein the step of periodically updating comprises adjusting the congestion window parameter associated with the connection over which the selected data packet was transmitted in response to receipt of an acknowledgement for the selected data packet.

7. The method of claim 6 , wherein the step of periodically updating comprises incrementing the congestion window parameter in response to receipt of the acknowledgement.

8. The method of claim 6 , wherein the step of periodically updating comprises reducing the congesting window parameter in response to the sum of the change in congestion window parameters exceeding a predetermined threshold.

9. The method of claim 1 , further comprising the step of adjusting the allocated transmission rate for each of the plurality of connections in response to one of the plurality of connections transitioning from an active state to an inactive state.

10. The method of claim 1 , further comprising the step of adjusting the allocated transmission rate for each of the plurality of connections in response to one of the plurality of connections transitioning from an inactive state to an active state.

11. The method of claim 1 , wherein the step of allocating is performed such that the allocated transmission rate for each connection equals the host-level transmission rate multiplied by the respective ratio for each connection.

12. The method of claim 1 , further comprising adjusting the host-level transmission rate to account for additional connections between the sender and receiver for which the current transmission rate cannot be determined based on a ratio of the weights assigned to the additional connections and the weights assigned to the plurality of connections for which the current transmission rate can be determined.

13. A method for managing a plurality of connection between a sender and a receiver, the method comprising:

determining a host-level transmission rate between the sender and receiver by summing a current transmission rate associated with each of the plurality of connections;

allocating the host-level transmission rate among the plurality of connections based on a ratio of a weight associated with each connection and a sum of the weights for the plurality of connections; and

selectively transmitting data packets from the sender over associated ones of the plurality of connections such that data packets associated with connections having a highest difference between the allocated transmission rate and an actual transmission rate are transmitted first, each data packet being transmitted from the sender in response to each expiration of a transmission timer having a period corresponding to the host-level transmission rate.

14. The method of claim 13 , wherein the step of determining comprises taking a ratio of a smoothed round trip time and a smoothed congestion window for each connection to determine the current transmission rate for each connection.

15. The method of claim 13 , further comprising the steps of:

periodically updating the current transmission rate for each of the plurality of connections to update the host-level transmission rate; and

re-allocating the host-level transmission rate among the plurality of connection using the updated host-level transmission rate.

16. The method of claim 15 , wherein the step of periodically updating comprises adjusting the congestion window parameter associated with the connection over which the selected data packet was transmitted in response to receipt of an acknowledgement for the selected data packet.

17. The method of claim 16 , wherein the step of periodically updating comprises incrementing the congestion window parameter in response to receipt of the acknowledgement.

18. The method of claim 16 , wherein the step of periodically updating comprises reducing the congesting window parameter in response to the sum of the change in congestion window parameters for the plurality of connections exceeding a predetermined threshold.

19. The method of claim 13 , further comprising the step of adjusting the allocated transmission rate for each of the plurality of connections in response to one of the plurality of connections transitioning from an active state to an inactive state.

20. The method of claim 13 , further comprising the step of adjusting the allocated transmission rate for each of the plurality of connections in response to one of the plurality of connections transitioning from an inactive state to an active state.

21. The method of claim 13 , wherein the step of allocating is performed such that the allocated transmission rate for each connection equals the host-level transmission rate multiplied by the respective ratio for each connection.

22. The method of claim 13 , further comprising adjusting the host-level transmission rate to account for additional connections between the sender and receiver for which the current transmission rate cannot be determined based on a ratio of the weights assigned to the additional connections and the weights assigned to the plurality of connections for which the current transmission rate can be determined.

23. A system for managing a plurality of connections between a sender and a receiver within a network communication system, the system comprising:

a processor; and

a memory unit, operably coupled to the processor, for storing instructions which when executed by the processor cause the processor to operate so as to:

determine a current transmission rate for each of the plurality of connections;

calculate a host-level transmission rate by summing the current transmission rates associated with the plurality of connections;

allocate the host-level transmission rate among the plurality of connections based on a ratio of a weight associated with each connection and a sum of the weights for the plurality of connections;

select data packets for transmission such that each selected data packet is associated with the connection having a highest difference between the allocated transmission rate and an actual transmission rate for the connection, the actual transmission rate being determined from the number of selected data packets transmitted over the connection over a predetermined time period; and

transmit the selected data packets from the sender over the associated connections in response to each expiration of a transmission timer, the period of the transmission timer having a period corresponding to the host-level transmission rate.

24. A system for managing a plurality of connections between a sender and a receiver, the system comprising:

a processor; and

a memory unit, operably coupled to the processor, for storing instructions which when executed by the processor cause the processor to operate so as to:

determine a host-level transmission rate between the sender and receiver by summing a current transmission rate associated with each of the plurality of connections;

allocate the host-level transmission rate among the plurality of connections based on a ratio of a weight associated with each connection and a sum of the weights for the plurality of connections; and

selectively transmit data packets from the sender over associated ones of the plurality of connections such that data packets associated with connections having a highest difference between the allocated transmission rate and an actual transmission rate are transmitted first, each data packet being transmitted from the sender in response to each expiration of a transmission timer having a period corresponding to the host-level transmission rate.

Assignments (8)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2023
From: BYTEMOBILE INNOVATIONS, LLC
To: OPTIMORPHIX, INC.
Reel/Frame 064054/0247 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 14, 2022
From: CITRIX SYSTEMS, INC.
To: BYTEMOBILE INNOVATIONS, LLC
Reel/Frame 059087/0052 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 14, 2015
From: BYTEMOBILE, INC.
To: CITRIX SYSTEMS, INC.
Reel/Frame 037289/0606 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 15, 2015
From: CITRIX SYSTEMS, INC.
To: BYTEMOBILE, INC.
Reel/Frame 035440/0599 →
NUNC PRO TUNC ASSIGNMENT Recorded Dec 6, 2013
From: BYTEMOBILE, INC.
To: CITRIX SYSTEMS, INC.
Reel/Frame 031730/0322 →
THIS SUBMISSION IS TO CORRECT THE SPELLING OF THE RECEIVING PARTY (ASSIGNEE)'S STREET NAME IN THE ORIGINAL COVER SHEET RECORDED AT REEL/FRAME 030609/0389. THE ADDRESS NAME SHOULD BE WEST CYPRESS CREEK ROAD. Recorded Sep 17, 2013
From: BYTEMOBILE, INC.
To: CITRIX SYSTEMS, INC.
Reel/Frame 031287/0874 →
MERGER Recorded Jun 13, 2013
From: BYTEMOBILE, INC.
To: CITRIX SYSTEMS, INC.
Reel/Frame 030609/0389 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 19, 2002
From: HA, SUNG WON; HAN, SUNG-WOOK; KIM, TAE-EUN; POLYCHRONOPOULOS, CONSTANTINE; MADHOW, UPAMANYU
To: BYTEMOBILE, INC.
Reel/Frame 013539/0955 →