IP Library Granted Patent US 8,544,003
Granted Patent B1
US 8,544,003 · App. 12/636,414 · Granted Sep 24, 2013

System and method for managing virtual machine configurations

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 8,544,003
App. No.
12/636,414
Granted
Sep 24, 2013
Kind
B1
Abstract

A method in one example implementation includes receiving a plurality of command messages through a control channel and reconstructing the command messages to determine an intended command for one or more virtual machines on a server device. The command messages include one or more criteria and the intended command corresponds to an operation defined in a policy database. The method also includes determining whether the corresponding operation is permitted by comparing one or more policies associated with the operation to the one or more criteria. The method further includes sending the command messages to the server device if the operation is permitted. In more specific embodiments, the operation may include one of creating, cloning, deleting, starting, stopping, and modifying the one or more virtual machines.

Claims (42)

1. A method, comprising:

receiving a plurality of command messages through a control channel, wherein the plurality of command messages includes one or more criteria;

reconstructing the plurality of command messages to determine an intended command for configuring one or more virtual machines on a server device, wherein the intended command corresponds to an operation defined in a policy database;

determining whether the plurality of command messages are received from a control proxy, wherein the server device is disabled from performing operations associated with the plurality of configuration commands based, at least in part, on whether they are received from the control proxy;

determining if the operation is permitted by comparing one or more policies associated with the operation to the one or more criteria; and

sending the plurality of command messages to the server device if the operation is permitted.

2. The method of claim 1 , wherein the operation includes one of creating, cloning, deleting, starting, stopping, and modifying the one or more virtual machines.

3. The method of claim 1 , wherein the operation includes configuring a selected one of a group of hardware components of one of the virtual machines, the group of hardware components consisting of: a processor, a CD drive, a DVD drive, a floppy drive, a memory element, a SCSI device, a network adapter, a parallel port, and a serial port.

4. The method of claim 1 , wherein the plurality of command messages use Simple Object Access Protocol (SOAP) messaging framework.

5. The method of claim 1 , wherein the control proxy is adapted to receive only the plurality of command messages through the control channel.

6. The method of claim 1 , further comprising,

creating the policy database with the one or more policies and a plurality of operations for configuring the one or more virtual machines on the server device, wherein the one or more policies are mapped to selected operations of the plurality of operations.

7. The method of claim 1 , further comprising:

sending an error message to be displayed on the client device when the operation corresponding to the intended command is not permitted.

8. The method of claim 1 , wherein the one or more criteria includes a user sending the message, a time of day the message is sent, and an address of the client device.

9. The method of claim 1 , wherein one of the policies includes a predefined time of day the operation is permissible, and wherein one of the criteria includes the time of day the message is sent.

10. A non-transitory media having logic stored therein to perform operations comprising:

receiving a plurality of command messages through a control channel, wherein the plurality of command messages includes one or more criteria;

reconstructing the plurality of command messages to determine an intended command for configuring one or more virtual machines on a server device, wherein the intended command corresponds to an operation defined in a policy database;

determining whether the plurality of command messages are received from a control proxy, wherein the server device is disabled from performing operations associated with the plurality of configuration commands based, at least in part, on whether they are received from the control proxy;

determining if the operation is permitted by comparing one or more policies associated with the operation to the one or more criteria; and

sending the plurality of command messages to the server device if the operation is permitted.

11. The media of claim 10 , wherein the operation includes one of creating, cloning, deleting, starting, stopping, and modifying the one or more virtual machines.

12. The media of claim 10 , wherein the control proxy is adapted to receive only the plurality of command messages through the control channel.

13. The media of claim 10 , the processor being operable to perform operations comprising:

creating the policy database with the one or more policies and a plurality of operations for configuring the one or more virtual machines on the server device, wherein the one or more policies are mapped to selected operations of the plurality of operations.

14. The media of claim 10 , the processor being operable to perform operations comprising:

sending an error message to be displayed on the client device when the operation corresponding to the intended command is not permitted.

15. The media of claim 10 , wherein one of the policies includes a predefined time of day the operation is permissible, and wherein one of the criteria includes the time of day the message is sent.

16. A control proxy, comprising:

a memory component configured to store a policy database; and

a processor operable to execute instructions associated with a protocol message module and a policy module, including:

receiving a plurality of command messages through a control channel, wherein the plurality of command messages includes one or more criteria;

reconstructing the plurality of command messages to determine an intended command for configuring one or more virtual machines on a server device, wherein the intended command corresponds to an operation defined in a policy database;

determining whether the plurality of command messages are received from a control proxy, wherein the server device is disabled from performing operations associated with the plurality of configuration commands based, at least in part, on whether they are received from the control proxy;

determining if the operation is permitted by comparing one or more policies associated with the operation to the one or more criteria; and

sending the plurality of command messages to the server device if the operation is permitted.

17. The control proxy of claim 16 , wherein the operation includes one of creating, cloning, deleting, starting, stopping, and modifying the one or more virtual machines.

18. The control proxy of claim 16 , wherein the control proxy is adapted to receive only the plurality of command messages through the control channel.

19. The control proxy of claim 16 , wherein the processor is operable to execute instructions associated with an administration module comprising:

creating the policy database with the one or more policies and a plurality of operations for configuring the one or more virtual machines on the server device, wherein the one or more policies are mapped to selected operations of the plurality of operations.

20. The control proxy of claim 16 , wherein one of the policies includes a predefined time of day the operation is permissible, and wherein one of the criteria includes the time of day the message is sent.

Assignments (10)
CORRECTIVE ASSIGNMENT TO CORRECT THE THE PATENT TITLES AND REMOVE DUPLICATES IN THE SCHEDULE PREVIOUSLY RECORDED AT REEL: 059354 FRAME: 0335. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jun 23, 2022
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 060792/0307 →
SECURITY INTEREST Recorded Mar 3, 2022
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT AND COLLATERAL AGENT
Reel/Frame 059354/0335 →
RELEASE OF INTELLECTUAL PROPERTY COLLATERAL - REEL/FRAME 045056/0676 Recorded Mar 2, 2022
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: MCAFEE, LLC
Reel/Frame 059354/0213 →
RELEASE OF INTELLECTUAL PROPERTY COLLATERAL - REEL/FRAME 045055/0786 Recorded Oct 26, 2020
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: MCAFEE, LLC
Reel/Frame 054238/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE PATENT 6336186 PREVIOUSLY RECORDED ON REEL 045056 FRAME 0676. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Recorded Oct 22, 2020
From: MCAFEE, LLC
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 054206/0593 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE PATENT 6336186 PREVIOUSLY RECORDED ON REEL 045055 FRAME 786. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Recorded Oct 22, 2020
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 055854/0047 →
SECURITY INTEREST Recorded Jan 12, 2018
From: MCAFEE, LLC
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 045056/0676 →
SECURITY INTEREST Recorded Jan 12, 2018
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 045055/0786 →
CHANGE OF NAME AND ENTITY CONVERSION Recorded Aug 24, 2017
From: MCAFEE, INC.
To: MCAFEE, LLC
Reel/Frame 043665/0918 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 11, 2009
From: SAWHNEY, HARVINDER SINGH; SARAF, SUMAN; SHARMA, ROSEN
To: MCAFEE INC.
Reel/Frame 023643/0834 →