Ensuring predictable and quantifiable networking performance
First Claim
1. In a cloud computing system that includes a plurality of virtual machines providing subscription services for one or more users, with the plurality of virtual machines each including a message processor that communicates packets comprising data flows to one or more hypervisors each having an adaptive rate limiter, with each hypervisor connected to a network core that communicates the data flows to at least one computer system including one or more processors and system memory, and a message processor for processing the data flows received from the network core, a method for addressing network congestion arising from one or more of the virtual machines, the method comprising the following acts:
- accessing at a congestion detector provided at the computer system a subscription bandwidth for the message processor, the subscription bandwidth indicating a quantitative and invariant minimum bandwidth for the message processor;
receiving at the congestion detector one or more data flows from the network core;
calculating at the congestion detector the combined bandwidth of the one or more received data flows;
detecting at the congestion detector the onset of congestion at the message processor of the computer system by determining that the combined bandwidth that is calculated is within a specified threshold;
identifying at the congestion detector at least one message processor of one of the virtual machines associated with the one or more data flows as a violator of the subscription bandwidth in response to detecting the onset of congestion;
determining at the congestion detector the extent of the violation;
formulating at the congestion detector at least one feedback message that serves to rate limit the at least one violating message processor; and
sending from the congestion detector the feedback message onto the network core for delivery to at least one of the adaptive rate limiters.
2 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.
29 Citations
21 Claims
-
1. In a cloud computing system that includes a plurality of virtual machines providing subscription services for one or more users, with the plurality of virtual machines each including a message processor that communicates packets comprising data flows to one or more hypervisors each having an adaptive rate limiter, with each hypervisor connected to a network core that communicates the data flows to at least one computer system including one or more processors and system memory, and a message processor for processing the data flows received from the network core, a method for addressing network congestion arising from one or more of the virtual machines, the method comprising the following acts:
-
accessing at a congestion detector provided at the computer system a subscription bandwidth for the message processor, the subscription bandwidth indicating a quantitative and invariant minimum bandwidth for the message processor; receiving at the congestion detector one or more data flows from the network core; calculating at the congestion detector the combined bandwidth of the one or more received data flows; detecting at the congestion detector the onset of congestion at the message processor of the computer system by determining that the combined bandwidth that is calculated is within a specified threshold; identifying at the congestion detector at least one message processor of one of the virtual machines associated with the one or more data flows as a violator of the subscription bandwidth in response to detecting the onset of congestion; determining at the congestion detector the extent of the violation; formulating at the congestion detector at least one feedback message that serves to rate limit the at least one violating message processor; and sending from the congestion detector the feedback message onto the network core for delivery to at least one of the adaptive rate limiters. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. One or more computer hardware storage devices having stored thereon computer executable instructions that, when executed at a processor, implement a computer-controlled method for addressing network congestion arising from one or more of virtual machines in a cloud computing system, the virtual machines providing subscription services for one or more users, and the virtual machines each including a message processor that communicates packets comprising data flows to one or more hypervisors each having an adaptive rate limiter, with each hypervisor connected to a network core that communicates the data flows to at least one computer system including one or more processors and system memory, and a message processor for processing the data flows received from the network core, and the computer-controlled method comprising the following acts:
-
accessing at a congestion detector provided at the computer system a subscription bandwidth for the message processor, the subscription bandwidth indicating a quantitative and invariant minimum bandwidth for the message processor; receiving at the congestion detector one or more data flows from the network core; calculating at the congestion detector the combined bandwidth of the one or more received data flows; detecting at the congestion detector the onset of congestion at the message processor of the computer system by determining that the combined bandwidth that is calculated is within a specified threshold; identifying at the congestion detector at least one message processor of one of the virtual machines associated with the one or more data flows as a violator of the subscription bandwidth in response to detecting the onset of congestion; determining at the congestion detector the extent of the violation; and formulating at the congestion detector at least one feedback message that serves to rate limit the at least one violating message processor; and sending from the congestion detector the feedback message onto the network core for delivery to at least one of the adaptive rate limiters. - View Dependent Claims (13, 14, 15, 16, 17)
-
-
18. A cloud computing system comprising:
-
one or more virtual machines providing subscription services for one or more users, the virtual machines each including a message processor that communicates packets comprising data flows; at least one or more hypervisors associated with each virtual machine for controlling allocation of host processes and resources to each virtual machine, each hypervisor having an adapative rate limiter component associated with the hypervisor; a network core which sends and receives the data flows to or from one or more hypervisors; a computer system including one or more processors and system memory, and a message processor for processing the data flows received from the network core; a congestion detector component associated with said computer system; and one or more computer storage devices having stored thereon computer executable instructions that, when executed at the processor of said computing system, implement a computer-controlled method for addressing network congestion arising from one or more of the virtual machines, and wherein the computer-controlled method is comprised of the following acts; accessing at the congestion detector component provided at the computer system a subscription bandwidth for the computer system'"'"'s message processor, the subscription bandwidth indicating a quantitative and invariant minimum bandwidth for the message processor of the computer system; receiving at the congestion detector component one or more data flows from the network core; calculating at the congestion detector component the combined bandwidth of the one or more received data flows; detecting at the congestion detector component the onset of congestion at the message processor of the computer system by determining that the combined bandwidth that is calculated is within a specified threshold; identifying at the congestion detector at least one message processor of one of the virtual machines associated with the one or more data flows as a violator of the subscription bandwidth in response to detecting the onset of congestion; determining at the congestion detector component the extent of the violation; and formulating at the congestion detector component at least one feedback message that serves to rate limit the at least one violating message processor; and sending from the congestion detector the feedback message onto the network core for delivery to at least one of the adaptive rate limiters. - View Dependent Claims (19, 20, 21)
-
Specification