Methods and systems for a receiver to allocate bandwidth among incoming communications flows
First Claim
1. In a communications environment with a receiver computing device receiving a plurality of incoming communications flows over a common communications link, a method for allocating incoming bandwidth of the common communications link among the plurality of incoming communications flows, the method comprising:
- assigning a priority to each incoming communications flow;
deciding whether to re-allocate the incoming bandwidth of the common communications link among the incoming communications flows; and
if a decision is made to re-allocate the incoming bandwidth, then;
selecting an incoming communications flow with an assigned priority lower than the assigned priority of another incoming communications flow; and
increasing an average response time for messages received over the selected incoming communications flow.
2 Assignments
0 Petitions
Accused Products
Abstract
Disclosed are methods and systems for a receiver to autonomously allocate bandwidth among its incoming communications flows. The incoming flows are assigned priorities. When it becomes necessary to alter the allocation of bandwidth among the flows, the receiver selects one of the lower priority flows. The receiver then causes the selected flow to delay sending acknowledgements of messages received to the senders of the messages. In most modern protocols, senders are sensitive to the time it takes to receive acknowledgements of the messages they send. When the acknowledgement time increases, the sender assumes that the receiver is becoming overloaded. The sender then slows down the rate at which it sends messages to the receiver. This lowered sending rate in turn reduces the amount of bandwidth used by the flow as it comes into the receiver. This frees up bandwidth which can then be used by higher priority flows.
68 Citations
37 Claims
-
1. In a communications environment with a receiver computing device receiving a plurality of incoming communications flows over a common communications link, a method for allocating incoming bandwidth of the common communications link among the plurality of incoming communications flows, the method comprising:
-
assigning a priority to each incoming communications flow;
deciding whether to re-allocate the incoming bandwidth of the common communications link among the incoming communications flows; and
if a decision is made to re-allocate the incoming bandwidth, then;
selecting an incoming communications flow with an assigned priority lower than the assigned priority of another incoming communications flow; and
increasing an average response time for messages received over the selected incoming communications flow. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29)
-
-
30. A computer-readable medium containing instructions for performing a method for allocating incoming bandwidth of a common communications link among a plurality of incoming communications flows, a receiver computing device receiving the plurality of incoming communications flows over the common communications link, the method comprising:
-
assigning a priority to each incoming communications flow;
deciding whether to re-allocate the incoming bandwidth of the common communications link among the incoming communications flows; and
if a decision is made to re-allocate the incoming bandwidth, then;
selecting an incoming communications flow with an assigned priority lower than the assigned priority of another incoming communications flow; and
increasing an average response time for messages received over the selected incoming communications flow.
-
-
31. In a communications environment with a receiver computing device receiving a plurality of incoming communications flows over a common communications link, a method for allocating incoming bandwidth of the common communications link among the plurality of incoming communications flows, the method comprising:
-
assigning a priority to each incoming communications flow;
deciding whether to re-allocate the incoming bandwidth of the common communications link among the incoming communications flows; and
if a decision is made to re-allocate the incoming bandwidth, then;
selecting an incoming communications flow with an assigned priority lower than the assigned priority of another incoming communications flow; and
issuing a sleep instruction to delay a passage of messages between the selected incoming communications flow and an application associated with the selected incoming communications flow.
-
-
32. A computer-readable medium containing instructions for performing a method for allocating incoming bandwidth of a common communications link among a plurality of incoming communications flows, a receiver computing device receiving the plurality of incoming communications flows over the common communications link, the method comprising:
-
assigning a priority to each incoming communications flow;
deciding whether to re-allocate the incoming bandwidth of the common communications link among the incoming communications flows; and
if a decision is made to re-allocate the incoming bandwidth, then;
selecting an incoming communications flow with an assigned priority lower than the assigned priority of another incoming communications flow; and
issuing a sleep instruction to delay a passage of messages between the selected incoming communications flow and an application associated with the selected incoming communications flow.
-
-
33. In a communications environment with a receiver computing device receiving a plurality of incoming communications flows over a common communications link, a system for allocating incoming bandwidth of the common communications link among the plurality of incoming communications flows, the system comprising:
-
communications hardware supporting the common communications link;
a first protocol stack coordinating messaging of a first incoming communications flow over the common communications link;
a second protocol stack coordinating messaging of a second incoming communications flow over the common communications link;
a first application receiving messages from the first incoming communications flow;
a second application receiving messages from the second incoming communications flow;
a first layered service provider communicating with the first application and with the first incoming communications flow;
a second layered server provider communicating with the second application and with the second incoming communications flow; and
a comparator for comparing a priority assigned to the first incoming communications flow with a priority assigned to the second incoming communications flow. - View Dependent Claims (34, 35, 36, 37)
-
Specification