APPLICATION DELIVERY CONTROL MODULE FOR VIRTUAL NETWORK SWITCH
First Claim
1. Logic encoded in one or more tangible media for execution by a processor and when executed operable to:
- monitor a receipt by a virtual network switch of a network packet including control information relating to an application program and a software port associated with the application program, wherein the virtual network switch is connected or capable of being connected to one or more virtual network interface cards in one or more virtual machines and wherein the application program is associated with one or more software ports;
select a connected virtual network interface card and a software port for the application program based on a load balancing algorithm, wherein the load balancing algorithm depends at least in part on one or both of a rate of processing of network packets by the one or more virtual network interface cards and the rate of processing of network packets by the one or more software ports; and
cause the virtual network switch to route the network packet to the selected virtual network interface card and the selected software port.
2 Assignments
0 Petitions
Accused Products
Abstract
A virtualized platform includes a virtual switch connected to the virtual network interface cards (vNICs) for a group of virtual machines running the same application program that is associated with multiple software ports. A module in the virtualized platform monitors the virtual switch'"'"'s receipt of a network packet that includes control information relating to the application program and its software ports. The module applies a load balancing algorithm to select a vNIC from the vNICs connected or connectable to the virtual switch, based on the rate of processing of previous network packets by each the vNICs (e.g., as measured by the size of a network packet queue). The module might also apply the load balancing algorithm to select a software port for the application. The module then causes the virtual switch to route the network packet to the selected vNIC and software port.
-
Citations
24 Claims
-
1. Logic encoded in one or more tangible media for execution by a processor and when executed operable to:
-
monitor a receipt by a virtual network switch of a network packet including control information relating to an application program and a software port associated with the application program, wherein the virtual network switch is connected or capable of being connected to one or more virtual network interface cards in one or more virtual machines and wherein the application program is associated with one or more software ports; select a connected virtual network interface card and a software port for the application program based on a load balancing algorithm, wherein the load balancing algorithm depends at least in part on one or both of a rate of processing of network packets by the one or more virtual network interface cards and the rate of processing of network packets by the one or more software ports; and cause the virtual network switch to route the network packet to the selected virtual network interface card and the selected software port. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method, performed by a processor, comprising:
-
monitoring a receipt by a virtual network switch of a network packet including control information relating to an application program and a software port associated with the application program, wherein the virtual network switch is connected or capable of being connected to one or more virtual network interface cards in one or more virtual machines and wherein the application program is associated with one or more software ports; selecting a connected virtual network interface card and a software port for the application program based at least in part on a load balancing algorithm, wherein the load balancing algorithm depends at least in part on one or both of a rate of processing of network packets by the one or more virtual network interface cards and the rate of processing of network packets by the one or more software ports; and causing the virtual network switch to route the network packet to the selected virtual network interface card and the selected software port. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. Software encoded in one or more computer-readable media for execution by a processor and when executed operable to:
-
receive a plurality of network packets destined for an application program running on a plurality of virtual machines, each of which is connected to a distributed virtual switch by a virtual network interface card, wherein each of the network packets includes control information relating to one or more of layers 4-7 of the Open Systems Interconnection Basic Reference (OSI) Model and wherein the distributed virtual switch enables inheritance of policies applicable to a cluster of host systems; and load balance the network packets among the plurality of virtual machines at least in part on the basis of the control information and the rate of processing of the network packets by the virtual network interface cards. - View Dependent Claims (22, 23, 24)
-
Specification