Virtualized background activations

US11797328B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11797328-B2
Application numberUS-201916601483-A
CountryUS
Kind codeB2
Filing dateOct 14, 2019
Priority dateOct 14, 2019
Publication dateOct 24, 2023
Grant dateOct 24, 2023

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A virtualization partition (VP) is executed by a virtualization layer. The VP contains guest software that executes in isolation within the VP. The guest software has a background task (BT) that needs to be performed in the future. The BT is virtualized by a BT service that executes outside of the VP. The guest software registers the BT, through the virtualization layer, with a BT virtualization service. An event occurs outside of the VP that triggers the BT. The BT virtualization service responds to the event by assuring that the VP is available (executing), and optionally triggers (possibly indirectly) the execution of code in the application.

First claim

Opening claim text (preview).

The invention claimed is: 1. A method performed by a computing device comprising processing hardware and storage hardware, the method comprising: executing a virtualization partition (VP) by a virtualization layer, the virtualization layer providing the VP with isolated virtualized access to operating system and/or hardware resources of the computing device, the VP comprising an application configured to execute a background task within the VP; receiving, by a service external to the virtualization layer, a registration request from the application through a virtualization boundary that is part of the virtualization layer, the virtualization boundary separating the application from the service; registering the background task with the service based on the registration request, wherein registering the background task with the service comprises storing an association between the VP and the background task at the service; receiving, at the service, an event corresponding to the background task; determining, by the service, an identity of the VP associated with the event based on the association between the VP and the background task; determining, by the service, that the VP is unavailable to execute the background task; and instructing, by the service, the virtualization layer to make the VP available to execute the background task. 2. A method according to claim 1 , wherein the VP comprises a container and the virtualization layer comprises a container engine that manages execution of the container. 3. A method according to claim 1 , wherein the VP comprises a virtual machine, and wherein the virtualization layer comprises a hypervisor that manages execution of the virtual machine. 4. A method according to claim 1 , further comprising: calling, by the application, a procedure to register the background task; and responding, by the service, to registering the background task by forming the association between the VP and the background task. 5. A method according to claim 4 , wherein instructing the virtualization layer to make the VP available comprises triggering activation of the application. 6. A method according to claim 5 , wherein activation information for activating the application is persistently stored in the VP, and the activation is triggered within the VP according to the activation information. 7. A method according to claim 5 , wherein activation information for activating the application is persistently stored by the service, and the activation is triggered by the service according to the activation information. 8. A method according to claim 1 , wherein the virtualization layer provides VP communication channels for inter-process communication, each VP communication channel having an endpoint in a given VP and an endpoint in a process outside of the given VP, and wherein a VP communication channel is used to either (i) convey registration of the background task from the VP to the service, or (ii) activate the application based on the background task. 9. A computing device comprising: processing hardware; storage hardware storing information configured to cause the processing hardware to perform a process comprising: receiving, by a service, a registration request from a guest application in a virtualization partition (VP) being executed by a virtualization layer that virtualizes access to resources of the computing device for the VP, the registration request being received through a virtualization boundary of the virtualization layer, the virtualization boundary separating the guest application from the service, the service being external to the virtualization layer; registering, by the service, a background task to be executed by the guest application based on the registration request, wherein registering the background task comprises storing an association between an identifier of the VP and an identifier of an event corresponding to the background task; receiving, by the service, an indication of occurrence of the event; and providing, by the service, the indication to the VP, wherein providing the indication to the VP causes the VP to enter a state of executing during which the VP takes an action that corresponds to the background task. 10. A computing device according to claim 9 , wherein the computing device comprises a host and a cloud service, and wherein the cloud service executes the VP. 11. A computing device according to claim 9 , wherein providing the indication to the VP triggers an activation of the guest application. 12. A computing device according to claim 11 , wherein the guest application is triggered with a Remote Procedure Call (RPC) invocation. 13. A computing device according to claim 9 , wherein causing the VP to enter a state of executing comprises waking the VP, removing the VP from a low-power state, or scheduling execution time for the VP. 14. A computing device according to claim 9 , the process further comprising: storing indicia of the background task in the VP; and when the VP begins executing, based on the indicia of the background task, configuring a service outside of the VP with a new association between an identifier of the VP and an identifier of the event corresponding to the background task. 15. A computing device according to claim 9 , wherein the registration request for the background task comprises alarm configuration, wherein the process further comprises arming a timer alarm outside of the VP based on the alarm configuration, wherein the event comprises firing of the timer alarm. 16. A computing device according to claim 15 , wherein the action taken by the VP occurs at an entry point in the guest application that the guest application specified in association with requesting the background task. 17. Computer storage hardware storing information configured to cause one or more computers to perform a process, the process comprising: receiving, by a background task virtualization module, a signal of an event associated with a background task to be executed by an application in a virtualization partition (VP), the application being configured to execute the background task and being separated from the background task virtualization module by a virtualization layer, wherein the background task virtualization module is external to the virtualization layer; in response to the signal of the event, identifying, by the background task virtualization module, an identifier of the VP based on a previous registration of the background task with the background task virtualization module through a virtualization boundary of the virtualization layer; and communicating, by the background task virtualization module, the identifier of the VP to a virtualization module, wherein communicating the identifier of the VP causes the VP to transition from a first state to a second state, the first state comprising a low-power state, a paused state, or a suspended state. 18. Computer storage hardware according to claim 17 , the process further comprising: further based on the signal, triggering a response to the event by an application in the VP. 19. Computer storage hardware according to claim 17 , the process further comprising receiving a request from the application to register the background task, and based thereon storing, by the background task virtualization module, an indication of the background task, wherein the identifier of the VP is found from the indication of the background task. 20. Computer storage hardware according to claim 17 , wherein the process

Assignees

Inventors

Classifications

  • Hypervisor-specific management and integration aspects · CPC title

  • Logical partitioning of resources; Management or configuration of virtualized resources (specific details on emulation or internal functioning of virtual machines G06F9/455) · CPC title

  • Distribution of virtual machine instances; Migration and load balancing · CPC title

  • Isolation or security of virtual machine instances · CPC title

  • I/O management, e.g. providing access to device drivers or storage · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11797328B2 cover?
A virtualization partition (VP) is executed by a virtualization layer. The VP contains guest software that executes in isolation within the VP. The guest software has a background task (BT) that needs to be performed in the future. The BT is virtualized by a BT service that executes outside of the VP. The guest software registers the BT, through the virtualization layer, with a BT virtualizatio…
Who is the assignee on this patent?
Microsoft Technology Licensing Llc
What technology area does this patent fall under?
Primary CPC classification G06F9/45558. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Oct 24 2023 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 6 related publications on this page (citations in our corpus or others sharing the same primary CPC).