Ensuring predictable and quantifiable networking performance
First Claim
1. A method implemented in a computing environment that includes a plurality of computing nodes that provide services for one or more users, with the plurality of computing nodes each including a message processor that communicates packets comprising data flows that are received by at least one computer system that includes one or more processors and system memory, the computer system also including a message processor for processing the data flows to provide the services for the one or more users, wherein the implemented method is a method for addressing network congestion arising from one or more of the computing nodes, the method comprising the following acts:
- the computer system accessing a predetermined bandwidth limitation for a message processor, the predetermined bandwidth limitation indicating a quantitative and invariant minimum bandwidth for the message processor;
the computer system accessing one or more data flows;
the computer system calculating a combined bandwidth of the one or more received data flows;
the computer system detecting an onset of congestion at the computer system by determining that the calculated combined bandwidth is within a specified threshold;
the computer system, subsequent to detecting the onset of congestion, identifying at least one violating message processor of one of the computing nodes associated with the one or more data flows as a cause of the onset of congestion by determining that the at least one violating message processor is utilizing a bandwidth that exceeds a bandwidth limitation associated with the at least one violating message processor;
the computer system determining an extent in which the at least one violating message processor is over utilizing the bandwidth;
the computer system formulating at least one feedback message that serves to rate limit the at least one violating message processor; and
the computer system sending the feedback message for delivery to at least one adaptive rate limiter that is enabled to limit bandwidth utilization of the violating message processor.
3 Assignments
0 Petitions
Accused Products
Abstract
The ensuring of predictable and quantifiable networking performance. Embodiments of the invention combine a congestion free network core with a hypervisor based (i.e., edge-based) throttling design to help insure quantitative and invariable subscription bandwidth rates. A lightweight shim layer in a hypervisor can adaptively throttle the rate of VM-to-VM traffic flow. A receiving hypervisor can detect congestion and communicate back to sending hypervisors that rates are to be regulated. In response, sending hypervisors can reduce transmission rate to mitigate congestion at the receiving hypervisor. In some embodiments, the principles are extended to any message processors communicating over a congestion free network.
-
Citations
20 Claims
-
1. A method implemented in a computing environment that includes a plurality of computing nodes that provide services for one or more users, with the plurality of computing nodes each including a message processor that communicates packets comprising data flows that are received by at least one computer system that includes one or more processors and system memory, the computer system also including a message processor for processing the data flows to provide the services for the one or more users, wherein the implemented method is a method for addressing network congestion arising from one or more of the computing nodes, the method comprising the following acts:
-
the computer system accessing a predetermined bandwidth limitation for a message processor, the predetermined bandwidth limitation indicating a quantitative and invariant minimum bandwidth for the message processor; the computer system accessing one or more data flows; the computer system calculating a combined bandwidth of the one or more received data flows; the computer system detecting an onset of congestion at the computer system by determining that the calculated combined bandwidth is within a specified threshold; the computer system, subsequent to detecting the onset of congestion, identifying at least one violating message processor of one of the computing nodes associated with the one or more data flows as a cause of the onset of congestion by determining that the at least one violating message processor is utilizing a bandwidth that exceeds a bandwidth limitation associated with the at least one violating message processor; the computer system determining an extent in which the at least one violating message processor is over utilizing the bandwidth; the computer system formulating at least one feedback message that serves to rate limit the at least one violating message processor; and the computer system sending the feedback message for delivery to at least one adaptive rate limiter that is enabled to limit bandwidth utilization of the violating message processor. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. One or more computer hardware storage devices having stored thereon computer executable instructions that, when executed by one or more processors, implement a computer-controlled method for addressing network congestion arising from one or more of computing nodes in a computing environment that includes a plurality of computing nodes that provide services for one or more users, with the plurality of computing nodes each including a message processor that communicates packets comprising data flows that are received by at least one computer system that includes one or more processors and system memory, the computer system also including a message processor for processing the data flows to provide the services for the one or more users, wherein the implemented method is a method for addressing network congestion arising from one or more of the computing nodes, wherein the method includes:
-
the computer system accessing a predetermined bandwidth limitation for a message processor, the predetermined bandwidth limitation indicating a quantitative and invariant minimum bandwidth for the message processor; the computer system accessing one or more data flows; the computer system calculating a combined bandwidth of the one or more received data flows; the computer system detecting an onset of congestion at the computer system by determining that the calculated combined bandwidth is within a specified threshold; the computer system, subsequent to detecting the onset of congestion, identifying at least one violating message processor of one of the computing nodes associated with the one or more data flows as a cause of the onset of congestion by determining that the at least one violating message processor is utilizing a bandwidth that exceeds a bandwidth limitation associated with the at least one violating message processor; the computer system determining an extent in which the at least one violating message processor is over utilizing the bandwidth; the computer system formulating at least one feedback message that serves to rate limit the at least one violating message processor; and the computer system sending the feedback message for delivery to at least one adaptive rate limiter that is enabled to limit bandwidth utilization of the violating message processor. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A computing system comprising:
-
at least one processor; and system memory having stored computer-executable instructions which executed by the at least one processor, implement a method in a computing environment that includes a plurality of computing nodes that provide services for one or more users, with the plurality of computing nodes each including a message processor that communicates packets comprising data flows that are received by at least one computer system that includes one or more processors and system memory, the computer system also including a message processor for processing the data flows to provide the services for the one or more users, wherein the implemented method is a method for addressing network congestion arising from one or more of the computing nodes, the method comprising the following acts; the computer system accessing a predetermined bandwidth limitation for a message processor, the predetermined bandwidth limitation indicating a quantitative and invariant minimum bandwidth for the message processor; the computer system accessing one or more data flows; the computer system calculating a combined bandwidth of the one or more received data flows; the computer system detecting an onset of congestion at the computer system by determining that the calculated combined bandwidth is within a specified threshold; the computer system, subsequent to detecting the onset of congestion, identifying at least one violating message processor of one of the computing nodes associated with the one or more data flows as a cause of the onset of congestion by determining that the at least one violating message processor is utilizing a bandwidth that exceeds a bandwidth limitation associated with the at least one violating message processor; the computer system determining an extent in which the at least one violating message processor is over utilizing the bandwidth; the computer system formulating at least one feedback message that serves to rate limit the at least one violating message processor; and the computer system sending the feedback message for delivery to at least one adaptive rate limiter that is enabled to limit bandwidth utilization of the violating message processor.
-
Specification