Virtual container storage interface controller
US-12175078-B2 · Dec 24, 2024 · US
US9606822B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9606822-B2 |
| Application number | US-201113331078-A |
| Country | US |
| Kind code | B2 |
| Filing date | Dec 20, 2011 |
| Priority date | Mar 3, 2011 |
| Publication date | Mar 28, 2017 |
| Grant date | Mar 28, 2017 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Virtual machines are made lightweight by substituting a library operating system for a full-fledged operating system. Consequently, physical machines can include substantially more virtual machines than otherwise possible. Moreover, a hibernation technique can be employed with respect to lightweight virtual machines to further increase the capacity of physical machines. More specifically, virtual machines can be loaded onto physical machines on-demand and removed from physical machines to make computational resources available as needed. Still further yet, since the virtual machines are lightweight, they can be hibernated and restored at a rate substantially imperceptible to users.
Opening claim text (preview).
What is claimed is: 1. A method, comprising: employing at least one processor configured to execute computer-executable instructions stored in memory to perform the following acts: receiving a request; and in response to the request, resuming a first virtual machine from hibernation by instantiating the first virtual machine on a physical machine, wherein the virtual machine is executed in a container within a host operating system address space, and wherein the container contains an application, a guest operating system configured to run as a library that accesses hardware services provided by the host operating system, the hardware services provided by the host operating system to the guest operating system including an operating system kernel, at least one device driver, and file system services, wherein the guest operating system includes application services, including at least two of a framework, a rendering engine, a common user interface control, or a language runtime, and an interface between the guest operating system and the host operating system for accessing the hardware services, and wherein the interface exposes a set of abstractions of hardware, threads, and virtual memory, that are provided by the host operating system to the application, and the interface restricts direct control over the hardware by the application. 2. The method of claim 1 , further comprising: forwarding the request to the virtual machine. 3. The method of claim 1 , further comprising: in response to the request, hibernating a second virtual machine, wherein the second virtual machine comprises a second library operating system and a second application, by saving state of the second virtual machine, and releasing computational resources assigned to the second virtual machine, and wherein the resuming of the first virtual machine is also in response to the hibernating of the second virtual machine. 4. The method of claim 3 , wherein the hibernating the second virtual machine is performed prior to resuming the first virtual machine from hibernation. 5. The method of claim 3 , further comprising: in response to the request, identifying the second virtual machine as a candidate for hibernation based on one or more policies, wherein the hibernating of the second virtual machine is also in response to the identifying of the second virtual machine as the candidate for hibernation. 6. The method of claim 3 , wherein releasing computational resources assigned to the second virtual machine comprises: releasing a subset of the computational resources employed by the second virtual machine. 7. The method of claim 3 , wherein saving the state comprises: saving a difference between a current state and a default state. 8. The method of claim 1 , further comprising: retrieving the first virtual machine from a virtual machine store. 9. A system, comprising: a processor coupled to a memory, the processor configured to execute computer-executable instructions stored in the memory for causing the system to: forward a request to a first virtual machine that is to operate in a container within a host operating system address space, wherein the container is also to include an application, a guest operating system configured to run as a library operating system that accesses hardware services provided by the host operating system, the hardware services provided by the host operating system to the guest operating system including an operating system kernel, at least one device driver, and file system services, wherein the guest operating system comprises application services and an interface between the guest operating system and the host operating system, wherein the application services of the guest operating system include at least one of a rendering engine or a language runtime, and wherein the interface exposes a set of abstractions of hardware, threads, and virtual memory and restricts other control over the hardware by the first virtual machine; and add the first virtual machine to a physical machine, if the first virtual machine is not loaded on the physical machine. 10. The system of claim 9 , wherein the instructions are also for causing the system to remove a second virtual machine from the physical machine. 11. The system of claim 10 , wherein the instructions are also for causing the system to save a state of the first virtual machine. 12. The system of claim 9 , wherein the instructions are also for causing the system to release a subset of computation resources employed by a second virtual machine for use by the first virtual machine. 13. The system of claim 9 , wherein the instructions are also for causing the system to remove at least a second virtual machine from the physical machine based on a policy. 14. The system of claim 9 , wherein the instructions are also for causing the system to rebalance load across multiple physical machines. 15. The system of claim 9 , wherein the first virtual machine is a web server. 16. The system of claim 9 , wherein the application is a web application. 17. A computer-readable storage medium, having instructions stored thereon that, when executed by a computer system, perform a method comprising: determining whether a target virtual machine is instantiated on a physical machine in response to a request, wherein the target virtual machine is operated in a container within a host operating system address space, and wherein the container contains: an application, a guest operating system configured to run as a library operating system that accesses hardware services provided by the host operating system, the hardware services provided by the host operating system to the guest operating system including an operating system kernel, at least one device driver, and file system services, wherein the guest operating system includes application services, the application services of the guest operating system including at least one of a rendering engine or a language runtime, and an interface between the guest operating system and the host operating system, wherein the interface exposes abstractions of the hardware services provided by the host operating system to the guest operating system, and wherein the target virtual machine is restricted from direct control over hardware of the physical machine; instantiating the target virtual machine, if the target virtual machine is not presently instantiated on the physical machine; and forwarding the request to the target virtual machine. 18. The computer-readable storage medium of claim 17 , wherein the method further comprises terminating, saving state, and releasing computational resources associated with a non-target virtual machine. 19. The computer-readable storage medium of claim 18 , wherein the method further comprises instantiating the target virtual machine after terminating, saving state, and the releasing computational resources associated with the non-target virtual machine. 20. The computer-readable storage medium of claim 17 , wherein instantiating the target virtual machine further comprises resuming execution from hibernation.
Version control (security arrangements therefor G06F21/57); Configuration management · CPC title
Starting, stopping, suspending or resuming virtual machine instances · CPC title
Hypervisor-specific management and integration aspects · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.