ENSURING PREDICTABLE AND QUANTIFIABLE NETWORKING PERFORMANCE
First Claim
1. At a computer system including one or more processors and system memory, the computer system connected to a congestion free network core, the computer system also including a message processor for processing data flows received from the congestion free network core, the message processor associated with a congestion detector, a method for addressing network congestion at the computer system, the method comprising:
- an act of accessing a subscription bandwidth for the message processor, the subscription bandwidth indicating a quantitative and invariant minimum bandwidth for the message processor;
an act of receiving one or more data flows from the congestion free network core, the one or more data flows sent from sending message processors and directed to the message processor;
an act of calculating the combined bandwidth of the one or more data flows;
an act of detecting the onset of congestion at the computing system;
an act of identifying at least one message processor associated with the one or more data flows as a violator of the subscription bandwidth in response to detecting the onset of congestion, the at least one violating message processor being a sending message processor or a receiving message processor of one of the one or more data flows;
an act of determining the extent of the violation by the at least one violating message processor;
an act of formulating feedback for delivery to sender side adaptive rate limiters that serves to rate limit the at least one violating message processor, the feedback instructing the sender side adaptive rate limiters to reduce the bandwidth of the one or more data flows originating from the at least one violating message processor; and
an act of sending the feedback onto the congestion free network core for delivery to the sender side 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.
89 Citations
20 Claims
-
1. At a computer system including one or more processors and system memory, the computer system connected to a congestion free network core, the computer system also including a message processor for processing data flows received from the congestion free network core, the message processor associated with a congestion detector, a method for addressing network congestion at the computer system, the method comprising:
-
an act of accessing a subscription bandwidth for the message processor, the subscription bandwidth indicating a quantitative and invariant minimum bandwidth for the message processor; an act of receiving one or more data flows from the congestion free network core, the one or more data flows sent from sending message processors and directed to the message processor; an act of calculating the combined bandwidth of the one or more data flows; an act of detecting the onset of congestion at the computing system; an act of identifying at least one message processor associated with the one or more data flows as a violator of the subscription bandwidth in response to detecting the onset of congestion, the at least one violating message processor being a sending message processor or a receiving message processor of one of the one or more data flows; an act of determining the extent of the violation by the at least one violating message processor; an act of formulating feedback for delivery to sender side adaptive rate limiters that serves to rate limit the at least one violating message processor, the feedback instructing the sender side adaptive rate limiters to reduce the bandwidth of the one or more data flows originating from the at least one violating message processor; and an act of sending the feedback onto the congestion free network core for delivery to the sender side adaptive rate limiters. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A computer program product for use at a computer system, the computer system connected to a congestion free network core, the computer system also including a message processor for processing data flows received from the congestion free network core, the message processor associated with a congestion detector, the computer program product for implementing a method for addressing network congestion at the computer system, the computer program product claim comprising one or more computer storage devices having stored thereon computer-executable instructions that, when executed at a processor, cause the computer system to perform the method, including the following:
-
access a subscription bandwidth for the message processor, the subscription bandwidth indicating a quantitative and invariant minimum bandwidth for the message processor; receive one or more data flows from the congestion free network core, the one or more data flows sent from sending message processor and directed to the message processor; calculate the combined bandwidth of the one or more data flows; detect the onset of congestion at the computing system; identify at least one message processor associated with the one or more data flows as a violator of the subscription bandwidth in response to detecting the onset of congestion, the at least one violating message processor being a sending message processor or a receiving message processor of one of the one or more data flows; determine the extent of the violation by the at least one violating message processor; formulate feedback for delivery to sender side adaptive rate limiters that serve to rate limit the at least one violating message processor, the feedback instructing the sender side adaptive rate limiters to reduce the bandwidth of the one or more data flows originating from the at least one violating message processor; and send the feedback onto the congestion free network core for delivery to the sender side adaptive rate limiters. - View Dependent Claims (13, 14, 15, 16, 17)
-
-
18. A system, the system comprising:
-
a congestion free network core; and a plurality of hypervisors connected to the congestion free network core, each of the plurality of hypervisors running on a hardware host, each of the plurality of hypervisors including a virtual machine switch and managing one or more virtual machines, each virtual machine switch including at least one of a congestion detector and an adaptive rate limiter; each congestion detection configured to; access a subscription bandwidth for a virtual machine managed by a corresponding hypervisor, the subscription bandwidth indicating a quantitative and invariant minimum bandwidth for the virtual machine; receive one or more data flows from the congestion free network core, the one or more data flows sent from other virtual machines and directed to the virtual machine; calculate the combined bandwidth of the one or more data flows; detect the onset of congestion at the virtual machine switch; identify at least one of the other 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; determine the extent of the violation by the at least one violating virtual machine; formulate feedback for delivery to an adaptive rate limiters at the virtual machine switch for the at least one violating virtual machine, the feedback instructing the adaptive rate limiters to reduce the bandwidth of the one or more data flows originating from the at least one violating virtual machine; and send the feedback onto the congestion free network core for delivery to the adaptive rate limiters at one or more virtual machine switches; and each adaptive rate limiter configured to; receive feedback from the congestion free network core, the feedback sent from congestion detectors at a second one or more virtual machine switches; and reduce the rate of one or more data flows in accordance with a congestion avoidance algorithm in response to receiving the feedback. - View Dependent Claims (19, 20)
-
Specification