IP Library Granted Patent US 9,152,441
Granted Patent B2
US 9,152,441 · App. 13/772,006 · Granted Oct 6, 2015

Systems and methods involving virtual machine host isolation over a network via a federated downstream cluster

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,152,441
App. No.
13/772,006
Granted
Oct 6, 2015
Kind
B2
Abstract

Systems and methods for virtual machine host isolation are disclosed. According to one implementation, an illustrative system may include a first compute node configured to be operatively coupled to a second compute node via a first application server, and to a third compute node via a second application server. In operation, the first compute node may be configured to receive an instruction from the second compute node via the first server to define a virtual machine, and send an instruction to the third compute node via the second server to define the virtual machine.

Claims (71)

1. A method for processing information regarding virtual machine host isolation, the method comprising:

federating a cluster of compute nodes including a first compute node and a third compute node including designating the first compute node as a downstream manager and the third compute node and any remaining compute nodes as the location for downstream agents, wherein the federated cluster is configured to logically appear to a second compute node as an upstream manager component as a single compute node;

receiving, at the first compute node, an instruction from the second compute node via a first application server to define a virtual machine; and

sending, from the first compute node, an instruction to the third compute node via a second application server to define a virtual machine.

2. The method of claim 1 further comprising:

transmitting state information of the federated cluster, via an XMPP message, to the second compute node, such that the upstream manager component has access to the federated cluster's computing capacity while only updating state information when a state change within the federated cluster occurs, wherein the federated cluster thereby operates with less administrative overhead, making the system and the federated cluster more scalable.

3. A method for processing information regarding virtual machine host isolation, the method comprising:

via a first compute node:

operating an agent emulation module adapted to couple a federated cluster to a second compute node via an application server cluster or jabber cluster; and/or

presenting a federated cluster to the second compute node as a single downstream agent including available capacity of an entire cluster of compute nodes;

receiving, at the first compute node, an instruction from the second compute node via a first application server to define a virtual machine; and

sending, from the first compute node, an instruction to a third compute node via a second application server to define a virtual machine.

4. A method for processing information regarding virtual machine host isolation, the method comprising:

receiving, at a first compute node, an instruction from a second compute node via a first application server to define a virtual machine; and

sending, from the first compute node, an instruction to a third compute node via a second application server to define a virtual machine; wherein

a provision request associated with the third compute node is defined, via the first computer node, and the provision request is sent to the third compute node.

5. The method of claim 4 wherein the provision request includes a request to instantiate and/or provision a virtual machine, and further comprising, via the first compute node:

receiving an indication from the third compute node indicating whether the provisioning was successful; and/or

sending a message indicating the provision result to the second compute node.

6. A method for processing information regarding virtual machine host isolation, the method comprising:

processing information related to defining and/or sending a provisioning request to an upstream manager component;

processing information related to defining a message, via the upstream manager component, including the provision request, and sending the message or provision request to the downstream manager component via an application server cluster or jabber cluster;

processing information related to receipt, at the downstream manager component, of the provision request and/or selection of a downstream agent component to host the virtual machine;

processing information related to transmission of the provision request to the downstream agent component via the application server cluster or jabber cluster; and

processing information related to accepting, via the downstream agent component, the provision request and instantiating, provisioning, or configuring the virtual machine.

7. The method of claim 6 wherein the instantiating, provisioning, or configuring the virtual machine includes unarchiving files and/or templates.

8. The method of claim 6 further comprising processing information regarding decline, by the downstream agent component, of the provision request, wherein the downstream agent component is configured to send a decline response to the downstream manager component, and the downstream manager component is configured to select an alternative downstream agent.

9. The method of claim 6 further comprising processing information regarding validating, via the upstream manager component, the configuration, including verifying that the request does not violate any permissions or constraints.

10. The method of claim 6 further comprising:

processing information regarding transmission, via the downstream agent component, of a provision result to the downstream manager component;

processing information regarding polling the upstream manager component for a provision result;

processing information regarding transmission, via the upstream manager component, of a polling result to a user or a management component;

processing information regarding defining a provision result and transmitting a message, via the downstream manager component, indicative of the provision result to the upstream manager component via the application server cluster or jabber cluster;

processing information regarding storing and/or updating records, via the upstream manager component.

11. The method of claim 10 further comprising processing information regarding:

polling, via the user or the management component, the upstream manager component for a provision result; and

transmission, via the upstream manager component, a polling result to the user or the management component.

12. A system comprising:

a first compute node;

a second compute node operatively coupled to the first compute node via a first application server; and

a third compute node operatively coupled to the first compute node via a second application server;

wherein the first compute node is included within a federated cluster that includes the third compute node, and is configured: to receive an instruction from the second compute node via the first application server to define a virtual machine, and to send an instruction to the third compute node via the second application server to define the virtual machine;

wherein the first application server and the second application server are extensible messaging and presence protocol (XMPP) servers.

13. A system comprising:

a federated cluster component including:

one or more compute nodes including a first compute node, which is connected to a second compute node outside the federated cluster, and a third compute node;

a downstream management component associated with a first compute node; and

a downstream agent component associated with a second compute node;

wherein the second compute node is operatively coupled to the first compute node via one or more application servers;

wherein the first compute node is included within a federated cluster that includes the third compute node, and configured: to receive an instruction from the second compute node via a first application server to define a virtual machine, and to send an instruction to the third compute node via a second application server to define the virtual machine.

14. A system comprising:

a federated cluster including one or more compute nodes, a downstream management component associated with a first compute node, and a downstream agent component associated with a second compute node;

an application server cluster configured with a messaging or communication protocol that supports communication between upstream and downstream manager-agent components;

a first compute node;

a second compute node operatively coupled to the first compute node via a first application server; and

a third compute node operatively coupled to the first compute node via a second application server;

wherein the first compute node is included within a federated cluster that includes the third compute node, and configured: to receive an instruction from the second compute node via the first application server to define a virtual machine, and to send an instruction to the third compute node via the second application server to define the virtual machine.

15. The system of claim 13 wherein the federated cluster includes a cluster of compute nodes or multiple cooperating compute nodes that are not centrally managed, and wherein one of the compute nodes is designated as a location for the downstream manager component and any remaining compute nodes as the location for downstream agents.

16. The system of claim 13 wherein a compute node within the federated cluster is designated as the location for the downstream manager and is configured to:

operate an agent emulation module adapted to couple the federated cluster to an upstream manager via an application server cluster or jabber cluster; and/or

present the federated cluster to the upstream manager as a single downstream agent including available capacity of an entire cluster of compute nodes.

17. The system of claim 13 wherein the messaging or communication protocol is configured to require low processing and memory resources, is standardized, is customizable, is point-to-point, and/or is configured to send and receive state and/or provisioning messages.

18. The system of claim 13 wherein the application server cluster includes an XMPP application server including one or more extensible messaging and presence protocol (XMPP) servers logically connected and configured to support XMPP communication(s).

19. The system of claim 18 wherein the XMPP application server comprises at least one jabber cluster, and wherein the one or more XMPP servers are configured to support XMPP communication between an upstream manager component and a downstream manager component, and between the downstream manager component and a downstream agent component.

20. The system of claim 18 wherein the XMPP application server comprises two or more jabber clusters, including a first jabber cluster having one or more servers logically connected and configured to support communication between an upstream manager component and a downstream manager component, and a second jabber cluster having one or more servers logically connected and configured to support communication between the downstream manager component and a downstream agent component, such that communication between the downstream manager component and the downstream agent component is secured separately from communication between the upstream manager component and the downstream manager component and is configured to continue in the event of a failure of any portion of the first jabber cluster.

21. The system of claim 13 wherein the downstream manager component is configured to define a provision request associated with the downstream agent component, and send the provision request to the downstream agent component.

22. The system of claim 21 wherein the provision request includes a request to instantiate and/or provision a virtual machine, and the downstream manager component is configured to:

receive an indication from the downstream agent component indicating whether the provisioning was successful; and/or

send a message indicating the provision result to the upstream manager component.

23. The system of claim 13 wherein the system is configured such that state information of the federated cluster is sent, such as via an XMPP message, to upstream manager component, such that the upstream manager component has access to the federated cluster's computing capacity while only updating state information when a state change within the federated cluster occurs, wherein the federated cluster thereby operates with less administrative overhead, making the system and the federated cluster more scalable.

24. The system of claim 13 wherein the system is configured so that the one or more application servers see the federated cluster as a single downstream agent, such that any compute node and/or associated downstream agent of the federated cluster can act as a service endpoint, wherein, if any portion of federated cluster becomes unavailable, the upstream manager component is configured to send a provision request to another location, reboot an offline virtual machine in another location, and/or migrate a virtual machine to another location.

Assignments (8)
MERGER Recorded Sep 16, 2025
From: VIRTUSTREAM IP HOLDING COMPANY LLC
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 072878/0578 →
RELEASE OF SECURITY INTEREST Recorded Dec 11, 2019
From: ORIX VENTURES, LLC
To: VIRTUSTREAM, INC.; VIRTUSTREAM DCS, LLC; VIRTUSTREAM LIMITED; VIRTUSTREAM UK LIMITED; NETWORK I LIMITED; VIRTUSTREAM CANADA HOLDINGS, INC.; VIRTUSTREAM SWITZERLAND SARL; VIRTUSTREAM GROUP HOLDINGS, INC.; VIRTUSTREAM SECURITY SOLUTIONS, LLC
Reel/Frame 051255/0178 →
RELEASE OF SECURITY INTEREST Recorded Dec 11, 2019
From: SILICON VALLEY BANK
To: VIRTUSTREAM, INC.
Reel/Frame 051255/0185 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 10, 2016
From: VIRTUSTREAM CANADA HOLDINGS, INC
To: VIRTUSTREAM, INC.
Reel/Frame 039694/0894 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 10, 2016
From: VIRTUSTREAM, INC.
To: VIRTUSTREAM IP HOLDING COMPANY LLC
Reel/Frame 039694/0886 →
SECURITY INTEREST Recorded Aug 1, 2014
From: VIRTUSTREAM, INC.; VIRTUSTREAM DCS, LLC; VIRTUSTREAM LIMITED; VIRTUSTREAM UK LIMITED; NETWORK I LIMITED; VIRTUSTREAM CANADA HOLDINGS, INC.; VIRTUSTREAM SWITZERLAND SARL; VIRTUSTREAM GROUP HOLDINGS, INC.; VIRTUSTREAM SECURITY SOLUTIONS, LLC
To: ORIX VENTURES, LLC
Reel/Frame 033453/0702 →
SECURITY INTEREST Recorded Jul 24, 2014
From: VIRTUSTREAM, INC.
To: SILICON VALLEY BANK
Reel/Frame 033383/0103 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 15, 2013
From: ANDERSON, DEREK
To: VIRTUSTREAM CANADA HOLDINGS, INC.
Reel/Frame 030422/0857 →