Cloud-based middlebox management system
First Claim
1. A computing system comprising a plurality of network connected computers implementing virtual machines and controlled by a cloud application that dynamically allocates virtual machines to different enterprises and monitors costs of the virtual machines against an account for each enterprise;
- the virtual machines for at least one enterprise including;
(1) application virtual machines executing software to implement an application for the enterprise;
(2) middlebox virtual machines executing software enforcing rules related to transport of data between application virtual machines; and
(3) at least one virtual network virtual machine (VNVM) executing software to dynamically control a virtual network interconnecting the application virtual machines and middlebox virtual machines;
wherein the at least one VNVM;
(i) intercommunicates with the application virtual machines and middlebox virtual machines to control a flow of data therebetween;
(ii) monitors a performance metric of the enterprise to request additional middlebox virtual machines from the cloud application according to that monitoring; and
(iii) monitors a performance metric of the enterprise to determine where among multiple locations to add additional middlebox virtual machines to the enterprise according to that monitoring.
2 Assignments
0 Petitions
Accused Products
Abstract
A virtual network virtual machine may be implemented on a cloud computing facility to control communication among virtual machines executing applications and virtual machines executing middlebox functions. This virtual network virtual machine may provide for automatic scaling of middleboxes according to a heuristic algorithm that monitors the effectiveness of each middlebox on the network performance as application virtual machines are scaled. The virtual machine virtual network may also locate virtual machines in actual hardware to further optimize performance.
-
Citations
19 Claims
-
1. A computing system comprising a plurality of network connected computers implementing virtual machines and controlled by a cloud application that dynamically allocates virtual machines to different enterprises and monitors costs of the virtual machines against an account for each enterprise;
- the virtual machines for at least one enterprise including;
(1) application virtual machines executing software to implement an application for the enterprise; (2) middlebox virtual machines executing software enforcing rules related to transport of data between application virtual machines; and (3) at least one virtual network virtual machine (VNVM) executing software to dynamically control a virtual network interconnecting the application virtual machines and middlebox virtual machines; wherein the at least one VNVM; (i) intercommunicates with the application virtual machines and middlebox virtual machines to control a flow of data therebetween; (ii) monitors a performance metric of the enterprise to request additional middlebox virtual machines from the cloud application according to that monitoring; and (iii) monitors a performance metric of the enterprise to determine where among multiple locations to add additional middlebox virtual machines to the enterprise according to that monitoring. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
- the virtual machines for at least one enterprise including;
-
10. A method of managing a plurality of network connected computers implementing virtual machines and controlled by a cloud application that dynamically allocates virtual machines to different enterprises and monitors costs of the virtual machines against an account for each enterprise;
- the virtual machines for at least one enterprise including;
(1) application virtual machines executing software to implement an application for the enterprise; and
(2) middlebox virtual machines executing software enforcing rules related to transport of data between application virtual machines;
comprising the steps of;(1) instantiating at least one virtual network virtual machine (VNVM) executing software to dynamically control a virtual network interconnecting the application virtual machines and middlebox virtual machines; and (2) operating the VNVM to intercommunicate with the application virtual machines and middlebox virtual machines to control the flow of data therebetween; (3) using the VNVM to monitor a performance metric of the enterprise to request additional middlebox virtual machines from the cloud application according to that monitoring; and (4) using the VNVM to monitor a performance metric of the enterprise to determine where among multiple locations to add additional middlebox virtual machines to the enterprise according to that monitoring. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18, 19)
- the virtual machines for at least one enterprise including;
Specification