IP Library Granted Patent US 8,381,231
Granted Patent B2
US 8,381,231 · App. 12/556,525 · Granted Feb 19, 2013

Deployment and management of virtual containers

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,381,231
App. No.
12/556,525
Granted
Feb 19, 2013
Kind
B2
Abstract

A system virtualizes applications on a managed endpoint using containers. A managed endpoint receives a virtualized container from an IT automation appliance. The virtualized container includes an application and a virtualization module. The virtualization module includes computer program instructions for virtualizing the application. An operating system API call made by the application during execution is intercepted, and a portion of the computer program instructions are executed based on the operating system API call. The computer program instructions modify the behavior of the application to effect the file and data virtualization of the application. A virtualized container can be deployed and updated from an IT automation appliance along with an agent to support the deployment and updating of the virtualized container.

Claims (56)

1. A computer-implemented method for virtualizing applications on a computer using containers, the method comprising:

receiving a virtualized container at a managed endpoint from a remote computer, the virtualized container comprising an application and a virtualization module, the virtualization module comprising computer program instructions for virtualizing the application;

storing the virtualized container at the managed endpoint;

determining that a new application has started executing on the computer;

determining that the new application is part of a virtualized container;

intercepting by the virtualization module an operating system application program interface (API) call made by the application during execution of the application;

responsive to determining that the new application is part of the virtualized container, hooking the computer program instructions for virtualizing the application into appropriate operating system API calls; and

executing a portion of the computer program instructions of the virtualization module based on the operating system API call, wherein the portion of the computer program instructions modify a behavior of the application to effect a virtualization of the application.

2. The computer-implemented method of claim 1 , further comprising:

determining that the application has started executing; and

responsive to determining that the application has started executing, performing an initialization function comprising setting up an environment for a user of the application included in the virtualized container.

3. The computer-implemented method of claim 1 , wherein the executed portion of the computer program instructions prevents the application from accessing malware.

4. The computer-implemented method of claim 1 , further comprising:

re-flashing the virtualized container to return the virtualized container to its initial state.

5. A computer-implemented method for providing virtualized applications to managed endpoints in a computing environment, the method comprising:

deploying an agent from a remote computer to a managed endpoint, the agent adapted to execute on the managed endpoint to support the deployment of virtualized containers to the endpoint;

deploying a virtualized container containing an application from the remote computer to the managed endpoint responsive to the agent, wherein the virtualized container includes computer program instructions that, when executed at the managed endpoint, virtualize the application, the virtualizing comprising:

intercepting an operating system application program interface (API) call made by the application during execution of the application; and

modifying a behavior of the application to effect a virtualization of the application; and

updating the deployed virtualized container at the managed endpoint, the updating comprising providing updated computer program instructions for virtualizing the application to managed endpoint, wherein the updated computer program instructions implement an updated administrative policy of the application.

6. A system for virtualizing applications on a computer using containers, the system comprising:

a non-transitory computer-readable medium storing executable computer program modules comprising:

a module for receiving a virtualized container at a managed endpoint from a remote computer and storing the virtualized container at the managed endpoint, the virtualized container comprising an application and a virtualization module, the virtualization module comprising computer program instructions for virtualizing the application;

a module for determining that a new application has started executing on the computer;

a module for determining that the new application is part of a virtualized container;

a module for intercepting an operating system application program interface (API) call made by the application during execution of the application;

a module for, responsive to determining that the new application is part of the virtualized container, hooking the computer program instructions for virtualizing the application into appropriate operating system API calls; and

a module for executing a portion of the computer program instructions of the virtualization module based on the operating system API call, wherein the computer program instructions modify a behavior of the application to effect a virtualization of the application.

7. The system of claim 6 , further comprising:

a module for determining that the application has started executing; and

a module for, responsive to determining that the application has started executing, performing an initialization function comprising setting up an environment for a user of the application included in the virtualized container.

8. The system of claim 6 , wherein the executed portion of the computer program instructions prevents the application from accessing malware.

9. The system of claim 6 , further comprising:

a module for re-flashing the virtualized container to return the virtualized container to its initial state.

10. A system for providing virtualized applications to managed endpoints in a computing environment, the system comprising:

a processor;

a non-transitory computer readable medium communicatively coupled to the processor; and

computer-executable instructions encoded in the computer readable medium, the instructions, when executed by the processor, operable to perform operations comprising:

deploying an agent to a managed endpoint, the agent adapted to execute on the managed endpoint to support the deployment of virtualized containers to the endpoint;

deploying a virtualized container containing an application to the managed endpoint responsive to the agent, wherein the virtualized container includes computer program instructions that, when executed at the managed endpoint, virtualize the application, the virtualizing comprising:

intercepting an operating system application program interface (API) call made by the application during execution of the application; and

modifying a behavior of the application to effect a virtualization of the application; and

updating the deployed virtualized container at the managed endpoint, the updating comprising providing updated computer program instructions for virtualizing the application to managed endpoint, wherein the updated computer program instructions implement an updated administrative policy of the application.

11. A computer program product having a non-transitory computer-readable medium having executable computer program instructions recorded thereon for virtualizing applications on a computer using containers, comprising:

a module for receiving a virtualized container at a managed endpoint from a remote computer and storing the virtualized container at the managed endpoint, the virtualized container comprising an application and a virtualization module, the virtualization module comprising computer program instructions for virtualizing the application;

a module for determining that a new application has started executing on the computer;

a module for determining that the new application is part of a virtualized container;

a module for intercepting an operating system application program interface (API) call made by the application during execution of the application;

a module for, responsive to determining that the new application is part of the virtualized container, hooking the computer program instructions for virtualizing the application into appropriate operating system API calls; and

a module for executing a portion of the computer program instructions of the virtualization module based on the operating system API call, wherein the computer program instructions modify a behavior of the application to effect a virtualization of the application.

12. The computer program product of claim 11 , further comprising:

a module for determining that the application has started executing; and

a module for, responsive to determining that the application has started executing, performing an initialization function comprising setting up an environment for a user of the application included in the virtualized container.

13. The computer program product of claim 11 , wherein the executed portion of the computer program instructions prevents the application from accessing malware.

14. The computer program product of claim 11 , further comprising:

a module for re-flashing the virtualized container to return the virtualized container to its initial state.

Assignments (21)
RELEASE OF SECURITY INTEREST Recorded Nov 19, 2025
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; BINARYTREE.COM LLC; ERWIN, INC.
Reel/Frame 073606/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 18, 2025
From: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; BINARYTREE.COM LLC; ERWIN, INC.
Reel/Frame 073613/0326 →
SECURITY INTEREST Recorded Jun 8, 2025
From: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; ERWIN, INC.
To: ALTER DOMUS (US) LLC
Reel/Frame 071527/0001 →
SECURITY INTEREST Recorded Jun 8, 2025
From: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; ERWIN, INC.
To: ALTER DOMUS (US) LLC
Reel/Frame 071527/0649 →
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 →
SECOND LIEN INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Feb 2, 2022
From: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; BINARYTREE.COM LLC; ERWIN, INC.; ONE IDENTITY LLC; ONELOGIN, INC.; ONE IDENTITY SOFTWARE INTERNATIONAL DESIGNATED ACTIVITY COMPANY
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 058952/0279 →
FIRST LIEN INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Feb 2, 2022
From: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; BINARYTREE.COM LLC; ERWIN, INC.; ONE IDENTITY LLC; ONELOGIN, INC.; ONE IDENTITY SOFTWARE INTERNATIONAL DESIGNATED ACTIVITY COMPANY
To: GOLDMAN SACHS BANK USA
Reel/Frame 058945/0778 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL USA L.P.; ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; 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 →
CHANGE OF NAME Recorded Mar 21, 2018
From: DELL SOFTWARE INC.
To: QUEST SOFTWARE INC.
Reel/Frame 045660/0755 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 16, 2018
From: DELL PRODUCTS L.P.
To: DELL SOFTWARE INC.
Reel/Frame 045355/0817 →
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 →
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 →
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 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 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 (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 →
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 →
MERGER Recorded Jun 19, 2012
From: KACE NETWORKS, INC.
To: DELL PRODUCTS L.P.
Reel/Frame 028401/0335 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 3, 2009
From: KACIN, MARTIN; GRAY, MICHAEL R.; WRIGHT, MARK
To: KACE NETWORKS, INC.
Reel/Frame 023465/0090 →