IP Library Granted Patent US 9,921,860
Granted Patent B1
US 9,921,860 · App. 14/038,551 · Granted Mar 20, 2018

Isolation of applications within a virtual machine

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,921,860
App. No.
14/038,551
Granted
Mar 20, 2018
Kind
B1
Abstract

Approaches for launching an application within a virtual machine. In response to receiving a request to launch an application, a device instantiates, without human intervention and based on a policy, a virtual machine in which the application is to be launched. The policy determines which resources of a device, such as a mobile device or computer system, are accessible to the virtual machine. The policy may, but need not, determine whether the virtual machine has access to a type of resource which obligates the user of the device to make a monetary payment for the user of the resource.

Claims (34)

1. One or more non-transitory computer-readable storage mediums storing one or more sequences of instructions, which when executed by one or more processors, cause:

in response to a device receiving a request to launch an application, the device instantiating, without human intervention and based on a policy, a virtual machine in which the application is to be launched wherein instantiating comprises:

the device determining, based on the policy, which resources of the device are accessible to the virtual machine,

the device determining based on the policy and the identity of the application requested to be launched within the virtual machine, whether the virtual machine should be provided access to a type of resource, residing on said device, which obligates a user of the device to make a monetary payment for use of the type of resource, and

the device instantiating the virtual machine to have access to only those resources permitted by the policy, wherein said policy determines what resources, of any types of resources that obligates the user of the device to make a monetary payment for use of the resource, are permitted based on the identity of the application.

2. The one or more non-transitory computer-readable storage mediums of claim 1 , wherein the policy restricts the resources accessible to the virtual machine to a lesser amount of resources than expressly authorized by the user.

3. The one or more non-transitory computer-readable storage mediums of claim 1 , wherein the policy determines whether the virtual machine has access one or more of the following: (a) any type of user data associated with a user of the device, (b) access to nearby devices using a wireless network, (c) a particular hardware component of the device, and (d) access to data about a present location of the device.

4. The one or more non-transitory computer-readable storage mediums of claim 1 , wherein the policy determines whether the virtual machine has an ability to perform one or more of the following: (a) vibrate the device, (b) control how much power the virtual machine may consume, and (c) control how the virtual machine may display information upon a physical display of the device.

5. The one or more non-transitory computer-readable storage mediums of claim 1 , wherein instantiating the virtual machine further comprises:

identifying, from a plurality of templates, a template for use in instantiating the virtual machine based on the policy, wherein each of the plurality of templates describe virtual machine characteristics suitable for a different type of activity.

6. The one or more non-transitory computer-readable storage mediums of claim 1 , further comprising:

in response to the device determining that the application has ceased to execute, the device ceasing execution of the virtual machine without human intervention.

7. The one or more non-transitory computer-readable storage mediums of claim 1 , wherein the policy determines whether the application has sufficient access to communicate with at least one other application executing outside of the virtual machine.

8. The one or more non-transitory computer-readable storage mediums of claim 1 , wherein a user interface of the device is displayed by a software component executing on a host operating system, and wherein the user interface includes content rendered by the application executing in the virtual machine.

9. The one or more non-transitory computer-readable storage mediums of claim 1 , wherein the virtual machine is instantiated on the device using a copy-on-write process.

10. The one or more non-transitory computer-readable storage mediums of claim 1 , wherein the instantiation of the virtual machine does not require booting of the virtual machine.

11. The one or more non-transitory computer-readable storage mediums of claim 1 , further comprising:

upon the application requiring a resource to which access is not currently granted, the application requesting permission, from a user of the device, for access to the resource; and

upon the user granting the application access to the resource, updating the policy to indicate that the application has access to the resource.

12. The one or more non-transitory computer-readable storage mediums of claim 1 , wherein the device is a mobile device.

13. A client, comprising:

one or more processors;

one or more storage mediums storing one or more sequences of instructions which when executed by the one or more processors, causes:

in response to a device receiving a request to launch an application, the device instantiating, without human intervention and based on a policy, a virtual machine in which the application is to be launched, wherein instantiating comprises:

the device determining, based on the policy, which resources of the device are accessible to the virtual machine, and

the device determining, based on the policy and the identity of the application requested to be launched within the virtual machine, whether the virtual machine should be provided access to a type of resource, residing on said device, which obligates a user of the device to make a monetary payment for use of the type of resource, and

the device instantiating the virtual machine to have access to only those resources permitted by the policy, wherein said policy determines what resources, of any types of resources that obligates the user of the device to make a monetary payment for use of the resource, are permitted based on the identity of the application.

14. The client of claim 13 , wherein the policy restricts the resources accessible to the virtual machine to a lesser amount of resources than expressly authorized by the user.

15. A method, comprising:

in response to a device receiving a request to launch an application, the device instantiating, without human intervention and based on a policy, a virtual machine in which the application is to be launched, wherein instantiating comprises:

the device determining, based on the policy, which resources of the device are accessible to the virtual machine, and

the device determining based on the policy and the identity of the application requested to be launched within the virtual machine, whether the virtual machine should be provided access to a type of resource, residing on said device, which obligates a user of the device to make a monetary payment for use of the type of resource, and

the device instantiating the virtual machine to have access to only those resources permitted by the policy, wherein said policy determines what resources, of any types of resources that obligates the user of the device to make a monetary payment for use of the resource, are permitted based on the identity of the application.

16. The method of claim 15 , wherein the policy restricts the resources accessible to the virtual machine to a lesser amount of resources than expressly requested to the application by the user.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 16, 2019
From: BROMIUM, INC.
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 051305/0894 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 31, 2014
From: BANGA, GAURAV; VOROBIEV, SERGEI; KHAJURIA, DEEPAK; KAPOOR, VIKRAM; PRATT, IAN; CROSBY, SIMON; TAYLOR, ADRIAN
To: BROMIUM, INC.
Reel/Frame 032110/0574 →