IP Library Granted Patent US 8,990,584
Granted Patent B2
US 8,990,584 · App. 12/790,545 · Granted Mar 24, 2015

System and method for supporting task oriented devices in a client hosted virtualization system

Inventors: David Konetski (Austin, TX); Kenneth W. Stufflebeam (Georgetown, TX); Shree Dandekar (Round Rock, TX)
Assignee: Dell Products, LP
G06F21/575G06F8/63G06F21/31G06F21/57G06F9/45558G06F2009/45595
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,990,584
App. No.
12/790,545
Filed
May 28, 2010
Granted
Mar 24, 2015
Kind
B2
Art Unit
2433
USPC
713/193
Abstract

A client hosted virtualization system includes a task oriented device, a processor, and non-volatile memory with BIOS code and virtualization manager code. The virtualization manager initializes the client hosted virtualization system, authenticates a virtual machine image, launches the virtual machine based on the image, receives a transaction targeted to the task oriented device, prioritizes the transaction, sends the transaction to the task oriented device, receives a response from the task oriented device, and sends the response to the virtual machine. The client hosted virtualization system is configurable to execute the BIOS or the virtualization manager.

Claims (104)

1. A client hosted virtualization system (CHVS) comprising:

a task oriented device;

a processor operable to execute code; and

a non-volatile memory including first code to implement a basic input/output system to initialize the CHVS, and second code to implement a virtualization manager operable to:

initialize the CHVS;

authenticate a first virtual machine image associated with a first virtual machine;

launch the first virtual machine on the CHVS based on the first virtual machine image;

receive a first transaction from the first virtual machine, a target of the first transaction being the task oriented device;

prioritize the first transaction;

send the first transaction to the task oriented device; and

receive a first response to the first transaction from the task oriented device; and

send the first response to the first virtual machine;

wherein the processor is operable to:

determine if the first code is selected;

execute the first code in response to determining that the first code is selected; and

execute the second code in response to determining that the first code is not selected.

2. The CHVS of claim 1 , further comprising a mass storage device, and wherein the first virtual machine image:

is stored on the mass storage device; and

includes an operating system and an application.

3. The CHVS of claim 1 , wherein the virtualization manager is further operable to prioritize the first transaction into a first queue associated with the first virtual machine.

4. The CHVS of claim 1 , wherein the task oriented device includes a general purpose encryption engine, and the first transaction includes a public key infrastructure key.

5. The CHVS of claim 1 , wherein the task oriented device includes a deep packet inspection engine.

6. The CHVS of claim 3 , wherein the virtualization manager is further operable to:

authenticate a second virtual machine image associated with a second virtual machine;

launch the second virtual machine on the CHVS based on the second virtual machine image;

receive a second transaction from the second virtual machine, a target of the second transaction being the task oriented device;

prioritize the second transaction;

send the second transaction to the task oriented device;

receive a second response to the second transaction from the task oriented device; and

send the second response to the second virtual machine.

7. The CHVS of claim 6 , wherein the virtualization manager is further operable to:

prioritize the second transaction into a second queue associated with the second virtual machine;

determine that the first transaction has a higher priority than the second transaction; and

send the first transaction to the task oriented device before sending the second transaction to the task oriented device.

8. The CHVS of claim 7 , wherein the virtualization manager is further operable to:

assign a first task identifier to the first transaction; and

determine that the first response includes the first task identifier;

wherein sending the first response to the first virtual machine is in response to determining that the first response includes the first task identifier.

9. A method of providing a client hosted virtualization system (CHVS) comprising:

storing first code in a non-volatile memory of the CHVS to implement a basic input/output system to initialize the CHVS;

storing second code in the non-volatile memory, the second code being operable to:

initialize the CHVS;

authenticate a first virtual machine image associated with a first virtual machine;

launch the first virtual machine on the CHVS based on the first virtual machine image;

receive a first transaction from the first virtual machine, a target of the first transaction being a task oriented device of the CHVS;

prioritize the first transaction;

send the first transaction to the task oriented device;

receive a first response to the first transaction from the task oriented device; and

send the first response to the first virtual machine;

determining if the first code is selected;

in response to determining that the first code is selected, executing the first code; and

in response to determining that the first code is not selected, executing the second code.

10. The method of claim 9 , wherein the first virtual machine image includes an operating system and an application.

11. The method of claim 9 , wherein in prioritizing the first transaction, the second code is further operable to place the first transaction into a first queue associated with the first virtual machine.

12. The method of claim 9 , wherein the task oriented device includes a general purpose encryption engine, and the first transaction includes a public key infrastructure key.

13. The method of claim 9 , wherein the task oriented device includes a deep packet inspection engine.

14. The method of claim 11 , the second code being further operable to:

authenticate a second virtual machine image associated with a second virtual machine;

launch the second virtual machine on the CHVS based on the second virtual machine image;

receive a second transaction from the second virtual machine, a target of the second transaction being the task oriented device;

prioritize the second transaction;

send the second transaction to the task oriented device;

receive a second response to the second transaction from the task oriented device; and

send the second response to the second virtual machine.

15. The method of claim 14 , the second code being further operable to:

prioritize the second transaction includes placing the second transaction into a second queue associated with the second virtual machine;

determine that the first transaction has a higher priority than the second transaction; and

send the first transaction to the task oriented device before sending the second transaction to the task oriented device.

16. The method of claim 15 , the second code being further operable to:

assign a first task identifier to the first transaction; and

determine that the first response includes the first task identifier;

wherein sending the first response to the first virtual machine is in response to determining that the first response includes the first task identifier.

17. Machine-executable code for an information handling system (IHS), wherein the machine-executable code is embedded within a non-transitory medium and includes instructions for carrying out a method, the method comprising:

storing first code in a non-volatile memory of the IHS to implement a basic input/output system to initialize the IHS;

storing second code in the non-volatile memory, the second code being operable to:

initialize the IHS;

authenticate a first virtual machine image associated with a first virtual machine;

the first virtual machine image including a first operating system and a first application;

launch the first virtual machine on the IHS based on the first virtual machine image;

receive a first transaction from the first virtual machine, a target of the first transaction being a task oriented device of the IHS;

prioritize the first transaction;

place the first transaction into a first queue associated with the first virtual machine;

send the first transaction to the task oriented device;

receive a first response to the first transaction from the task oriented device; and

send the first response to the first virtual machine;

determining if the first code is selected;

in response to determining that the first code is selected, executing the first code; and

in response to determining that the first code is not selected, executing the second code.

18. The machine-executable code of claim 17 , the second code being further operable to:

authenticate a second virtual machine image associated with a second virtual machine;

launch the second virtual machine on the IHS based on the second virtual machine image;

receive a second transaction from the second virtual machine, a target of the second transaction being the task oriented device;

prioritize the second transaction;

send the second transaction to the task oriented device;

receive a second response to the second transaction from the task oriented device; and

send the second response to the second virtual machine.

19. The machine-executable code of claim 18 , the second code being further operable to:

place the second transaction into a second queue associated with the second virtual machine;

determine that the first transaction has a higher priority than the second transaction; and

send the first transaction to the task oriented device before sending the second transaction to the task oriented device.

20. The machine-executable code of claim 19 , the second code being further operable to:

assign a first task identifier to the first transaction; and

determine that the first response includes the first task identifier;

wherein sending the first response to the first virtual machine is in response to determining that the first response includes the first task identifier.

Assignments (15)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 14, 2016
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040040/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 14, 2016
From: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040065/0618 →
RELEASE OF SECURITY INTEREST Recorded Sep 13, 2016
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLANT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040065/0216 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Jan 2, 2014
From: APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS FIRST LIEN COLLATERAL AGENT
Reel/Frame 031897/0348 →
PATENT SECURITY AGREEMENT (TERM LOAN) Recorded Jan 2, 2014
From: DELL INC.; APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 031899/0261 →
PATENT SECURITY AGREEMENT (ABL) Recorded Jan 2, 2014
From: DELL INC.; APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 031898/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 7, 2010
From: KONETSKI, DAVID; STUFFLEBEAM, KENNETH W.; DANDEKAR, SHREE
To: DELL PRODUCTS, LP
Reel/Frame 024497/0135 →
Continuity (1)
Related Publication 20110296196A1 · Dec 1, 2011