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,wherein increasing an average response time for messages received over the selected incoming communications flow comprises utilizing a method selected from the group consisting of;
delaying presentation of messages received over the selected incoming communications flow to an application associated with the selected incoming communications flow,delaying transmission of message acknowledgements over an outgoing communications flow associated with the selected incoming communications flow, and decreasing a size of a receiver buffer pool associated with 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.
-
Citations
41 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, wherein increasing an average response time for messages received over the selected incoming communications flow comprises utilizing a method selected from the group consisting of; delaying presentation of messages received over the selected incoming communications flow to an application associated with the selected incoming communications flow, delaying transmission of message acknowledgements over an outgoing communications flow associated with the selected incoming communications flow, and decreasing a size of a receiver buffer pool associated with 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. 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 service 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 (30, 31, 32, 33)
-
-
34. 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, wherein analyzing input from a user of the receiver comprises; for a plurality of incoming communications flows, associating an application with each incoming communications flow; for each of the associated applications, measuring an amount of incoming bandwidth of the common communications link used by the associated application; creating a list of the associated applications and the measured amounts of incoming bandwidth used by the associated applications; displaying the list to the user; and receiving from the user input associating a priority with an associated application on the list. - View Dependent Claims (35)
-
-
36. 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, wherein deciding whether to re-allocate the incoming bandwidth of the common communications link comprises; monitoring an outgoing communications flow associated with a first incoming communications flow; and if an indication is seen on the monitored outgoing communications flow that the first incoming communications flow will soon need more bandwidth, and if the first incoming communications flow has an assigned priority higher than an assigned priority of a second incoming communications flow, then choosing to re-allocate. - View Dependent Claims (37)
-
-
38. 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; andif 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, wherein selecting an incoming communications flow comprises; selecting a priority such that the selected priority is assigned to at least one incoming communications flow and such that the selected priority is at least as low as a priority assigned to any other incoming communications flow; for each incoming communications flow with the selected priority, measuring an amount of incoming bandwidth of the common communications link used; and of the incoming communications flows with the selected priority, selecting an incoming communications flow such that the measured amount of incoming bandwidth used by the selected incoming communications flow is at least as high as the measured amount of incoming bandwidth used by any other incoming communications flow with the selected priority.
-
-
39. 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; 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; deciding whether to decrease an average response time for messages received over the selected incoming communications flow; and if a decision is made to decrease the average response time, then decreasing the average response time for messages received over the selected incoming communications flow, wherein deciding whether to decrease an average response time comprises; setting a repose value;
monitoring an outgoing communications flow associated with a first incoming communications flow; andif for a period of time equal to the repose value, no indication is seen on the monitored outgoing communications flow that the first incoming communications flow will soon need more bandwidth, then choosing to decrease the average response time. - View Dependent Claims (40)
-
-
41. 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; 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; deciding whether to decrease an average response time for messages received over the selected incoming communications flow; and if a decision is made to decrease the average response time, then decreasing the average response time for messages received over the selected incoming communications flow, wherein decreasing an average response time comprises utilizing a method selected from the group consisting of;
removing a delay in presentation of messages received over the selected incoming communications flow to an application associated with the selected incoming communications flow, removing a delay in transmission of message acknowledgements over an outgoing communications flow associated with the selected incoming communications flow, and increasing a size of a receiver buffer pool associated with the selected incoming communications flow.
-
Specification