Virtual container storage interface controller
US-12175078-B2 · Dec 24, 2024 · US
US9578032B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9578032-B2 |
| Application number | US-201514615374-A |
| Country | US |
| Kind code | B2 |
| Filing date | Feb 5, 2015 |
| Priority date | Aug 23, 2014 |
| Publication date | Feb 21, 2017 |
| Grant date | Feb 21, 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.
Examples described herein enable memory state sharing among a plurality of virtual machines (VM) including a parent VM and a child VM. A request for memory state sharing between the parent VM and the child VM is received, and the parent VM is suspended. The child VM resumes execution of one or more suspended applications. In one example, the child FM is forked with pre-loaded, suspended applications from the parent VM. Aspects of the disclosure offer a high performance, resource efficient solution that outperforms traditional approaches in areas of software compatibility, stability, quality of service control, re-source utilization, and more.
Opening claim text (preview).
We claim: 1. A system comprising: a memory area associated with a computing device, said memory area storing data shared among a plurality of virtual machines (VMs) including a parent VM and a child VM; and a processor programmed to: receive a request for memory state sharing between the parent VM and the child VM; lock one or more code pages associated with one or more applications into the memory area, such that the application code pages are resident in memory of the parent VM; suspend execution of the one or more applications on the parent VM; and suspend the parent VM, wherein the child VM selectively resumes execution of one or more particular applications of the one or more suspended applications on the child VM using the corresponding locked code pages. 2. The system of claim 1 , wherein the processor is programmed to monitor the parent VM for a triggering event. 3. The system of claim 1 , wherein the processor is programmed to pre-launch the one or more applications on the parent VM prior to locking the code pages associated with the one or more application into the memory area. 4. The system of claim 1 , wherein the processor is programmed to bring the one or more code pages associated with the one or more applications into the memory area. 5. The system of claim 1 , wherein the processor is programmed to fork the child VM from the parent VM. 6. The system of claim 1 , wherein the processor is programmed to: halt an execution state associated with the parent VM; and mark memory pages in the parent VM as copy-on-write. 7. The system of claim 1 , wherein the processor is programmed to configure the child VM with a redo log pointing to a disk of the parent VM as a base disk of the child VM. 8. The system of claim 1 , wherein the processor is programmed to: receive a request to execute the one or more suspended applications; create a network security token for the one or more suspended applications based on an identity of a user; bind the network security token to the one or more suspended applications; and resume execution of the one or more suspended applications using the network security token. 9. The system of claim 1 , wherein suspending execution of the one or more applications on the parent VM comprises suspending a corresponding process associated with each respective application of the one or more applications. 10. The system of claim 9 , wherein resuming execution of a particular suspended application by the child VM comprises resuming the corresponding process associated with the particular suspended application. 11. The system of claim 1 , wherein locking the one or more code pages associated with the one or more applications comprises pre-staging all code pages for each application of the one or more applications including touching the first bye of each code page for each application of the one or more applications to force them into memory. 12. The system of claim 1 , wherein resuming execution of one or more of the suspended applications on the child VM is performed without pulling associated code pages from disk to be written into the memory area. 13. A method comprising: receiving a request for memory state sharing between a parent VM and a child VM; loading one or more code pages of one or more applications into memory; locking the one or more code pages of the one or more applications into memory, such that the application code pages are resident in memory of the parent VM; suspending execution of the one or more applications on the parent VM; and suspending the parent VM, wherein the child VM selectively resumes execution of one or more particular applications of the one or more suspended applications on the child VM using the corresponding locked code pages. 14. The method of claim 13 , wherein receiving a request comprises monitoring the parent VM for a triggering event. 15. The method of claim 13 further comprising disabling one or more services associated with the parent VM. 16. The method of claim 13 further comprising pre-launching the one or more applications on the parent VM prior to locking the code pages of the one or more applications into memory. 17. The method of claim 13 further comprising forking the child VM from the parent VM. 18. The method of claim 13 further comprising: receiving a request to execute the one or more suspended applications; creating a network security token for the one or more suspended applications based on an identity of a user; binding the network security token to the one or more suspended applications; and resuming execution of the one or more suspended applications using the network security token. 19. One or more non-transitory computer-readable storage media including computer-executable instructions that, when executed, cause one or more processors to: enable memory state sharing among a plurality of virtual machines (VM) including a parent VM and a child VM; and receive a request for memory state sharing between the parent VM and the child VM; load one or more code pages of one or more applications into memory; lock the one or more code pages of the one or more applications into memory, such that the application code pages are resident in memory of the parent VM; suspend execution of the one or more applications on the parent VM; and suspend the parent VM, wherein the child VM selectively resumes execution of one or more particular applications of the one or more suspended applications on the child VM using the corresponding locked code pages. 20. The one or more non-transitory computer-readable storage media of claim 19 , wherein the computer-executable instructions, when executed, cause one or more processors to fork the child VM from the parent VM. 21. The one or more non-transitory computer-readable storage media of claim 19 , wherein the computer-executable instructions, when executed, cause one or more processors to: halt an execution state associated with the parent VM; and mark memory pages in the parent VM as copy-on-write. 22. The one or more non-transitory computer-readable storage media of claim 19 , wherein the computer-executable instructions, when executed, cause one or more processors to: receive a request to execute the one or more suspended applications; create a network security token for the one or more suspended applications based on an identity of a user; bind the network security token to the one or more suspended applications; and resume execution of the one or more suspended applications using the network security token.
Hypervisor-specific management and integration aspects · CPC title
the resource being the memory · CPC title
Memory management, e.g. access or allocation · CPC title
Starting, stopping, suspending or resuming virtual machine instances · CPC title
Program synchronisation; Mutual exclusion, e.g. by means of semaphores · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.