US2011179303A1PendingUtilityA1

Persistent application activation and timer notifications

Assignee: MICROSOFT CORPPriority: Jan 15, 2010Filed: Jan 15, 2010Published: Jul 21, 2011
Est. expiryJan 15, 2030(~3.5 yrs left)· nominal 20-yr term from priority
G06F 9/485G06F 11/2046G06F 11/2041G06F 11/1438G06F 11/1469
46
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

The present invention extends to methods, systems, and computer program products for persistent application activation and timer notifications. A durable instance manager, instance execution hosts, and an instance store interoperate to transition instances between executing and persisted states. System properties are associated with an instance. System properties can define re-activation conditions, that when satisfied, indicate that an instance is to be re-activated for execution. System properties can define timers as well as indications that instances are in a persisted but ready to run state.

Claims

exact text as granted — not AI-modified
1 . In a computer architecture including one or more processors and system memory, the computer architecture also including one or more instance execution hosts, a durable instance manager, and an instance store, the one or more instance execution hosts configured to execute application instances in system memory, wherein application instances include a unit of application state and associated execution logic representing a portion of an application, the instance store configured to durably persist application instances, the durable instance manager configured to receive load and save operations received from instance execution hosts and forward load and save operations to the instance store for implementation, the durable instance manager configured to track whether instances are executing in memory or are persisted, a method for re-activating an instance, the method comprising:
 an act of a first instance execution host, from among the one or more instance execution hosts, executing an application instance representing a portion of an application;   an act of determining that the application instance is to be dormant for some amount of time before further processing of the application instance occurs;   an act of assigning a system property to the instance, the system property containing information indicating that the application instance is to be subsequently re-activated for execution;   an act of a second instance execution host, from among the one or more instance execution hosts, registering with the durable instance manager an interest in receiving event notifications regarding application instances to re-activate;   an act of the second instance execution host receiving an event notification to re-activate the application instance, the event notification responsive to the information contained in the system property persisted in the instance store and the registration with the durable instance manager; and   an act of loading the application instance at the second instance execution host in response to receiving the event notification to further process the application instance.   
     
     
         2 . The method as recited in  claim 1 , wherein the system property is a time, the time indicating when the application instance is to be re-activated. 
     
     
         3 . The method as recited in  claim 2 , wherein the act of determining that the application instance is to be dormant for some amount of time before further processing of the application instance occurs comprises an act of the first instance execution host determining that the application instance is not scheduled to receive a next event for a specified timer interval; and
 wherein the act of the first instance execution host assigning a system property the instance comprises an act of the instance execution host assigning a timer to the application instance, the timer indicating a time when the application instance is to be re-activated to receive the next event.   
     
     
         4 . The method as recited in  claim 1 , wherein the system property is a ready to run property, the ready to run property indicating that the application instance may be re-activated at another instance execution host. 
     
     
         5 . The method as recited in  claim 4 , wherein the act of determining that the application instance is to be dormant for some amount of time before further processing of the application instance occurs comprises an act of the first instance execution host determining that it has received a command to shutdown; and
 wherein the act of the first instance execution host assigning a system property to the instance comprises an act of the instance execution host assigning a ready to run state to the application instance in response to the shutdown command, the ready to run state indicating to the durable instance manager that the application instance is ready to be re-activated.   
     
     
         6 . The method as recited in  claim 1 , wherein the first instance execution host and the second instance execution host are the same instance execution host. 
     
     
         7 . The method as recited in  claim 1 , wherein the act of registering with the durable instance manager an interest in receiving event notifications comprises an act of the second instance execution host polling the durable instance manager for instances to re-activate; and
 wherein the act of the second instance execution host receiving an event notification to re-activate the application instance comprises an act of the second instance execution host receiving the event notification in response to the poll request.   
     
     
         8 . The method as recited in  claim 1 , wherein the act of registering with the durable instance manager an interest in receiving event notifications comprises an act of the second instance execution host providing the durable instance manager with an address at which the second instance execution host is waiting to receive messages; and
 wherein the act of the second instance execution host receiving an event notification to re-activate the application instance comprises an act of the second instance execution host receiving a message containing the event notification at the provided address.   
     
     
         9 . The method as recited in  claim 1 , further comprising:
 an act of assigning the second instance execution host to a durable instance manager, the durable instance manager configured to receive event notifications on behalf of one or more instance execution hosts during periods when the one or more instance execution hosts are not running;   an act of assigning the second instance execution host an instance type, the instance type indicating the type of instances the instance execution host is able to process;   an act of assigning an instance type to the instance, the instance type indicating the instance type of the instance execution host that created the instance;   an act of the instance execution host manager registering with the durable instance manager an interest in receiving event notifications regarding application instances to re-activate;   an act of the instance execution host manager receiving an event notification to re-activate the application instance, the event notification responsive to the information contained in the system property persisted in the instance store and the registration with the durable instance manager, the event notification containing the instance type of the application instance;   an act of the instance execution host manager selecting the second instance execution host to process the instance, the selection of the second instance execution host based on the instance type of the second instance execution host matching the instance type of the instance; and   an act of the instance execution host manager initiating running of the second instance execution host.   
     
     
         10 . The method as recited in  claim 9 , wherein the act of the instance execution host manager initiating running of the second instance execution host comprises an act of the instance execution host manager sending a message to a server process that activates the second instance execution host. 
     
     
         11 . In a computer architecture including one or more processors and system memory, the computer architecture also including one or more instance execution hosts, a durable instance manager, and an instance store, the one or more instance execution hosts configured to execute application instances in system memory, wherein application instances include a unit of application state and associated execution logic representing a portion of an application, the instance store configured to durably persist application instances, the durable instance manager configured to receive load and save operations received from instance execution hosts and forward load and save operations to the instance store for implementation, the durable instance manager configured to track whether instances are executing in memory or are persisted, a method for re-activating an instance, the method comprising:
 an act of the durable instance manager monitoring execution of an application instance at an instance execution host;   an act of the durable instance manager receiving an indication that the application instance is to be subsequently re-activated at an instance execution host at a future time;   an act of the durable instance manager persisting a system property corresponding to the application instance at the instance store, the system property containing information defining a re-activation condition that, when satisfied, is an indication that the application instance is to be re-activated for   an act of the durable instance manager detecting an event that satisfies the re-activation condition subsequent to persisting the system property corresponding to the application instance;   an act of the durable instance manager receiving registration requests from one or more instance execution hosts for interest in receiving event notifications regarding application instances to re-activate; and   an act of the durable instance manager sending an event notification to a further instance execution host to re-activate the application instance for execution, the event notification responsive to detection of the event that satisfies the re-activation condition and the registration from the instance execution host.   
     
     
         12 . The method as recited in  claim 11 , wherein the act of the durable instance manager receiving an indication that the application instance is to be subsequently re-activated at an instance execution host at a future time comprises an act of durable instance manager receiving a command from the instance execution host, the command for updating the state of the application instance. 
     
     
         13 . The method as recited in  claim 12 , wherein the command for updating the state of the application instance indicates one of: that the instance is ready to run now or that there is a time in the future at which the instance will be ready to run; and
 wherein the act of the durable instance manager persisting a system property at the instance store comprises an act of the durable instance manager changing the state of the application instance to ready to run at the time specified by the command.   
     
     
         14 . The method as recited in  claim 11 , wherein the act of the durable instance manager receiving an indication that the application instance is to be subsequently re-activated at an instance execution host at a future time comprises an act of the durable instance manager determining that the instance execution host has failed. 
     
     
         15 . The method as recited in  claim 14 , wherein the act of the durable instance manager persisting a system property at the instance store comprises an act of the durable instance manager changing the state of the application instance to ready to run in response to detecting the failure. 
     
     
         16 . The method as recited in  claim 11 , wherein the act of the durable instance manager detecting an event that satisfies the re-activation condition comprises an act of the durable instance manager detecting that the application instance is in a ready to run state. 
     
     
         17 . The method as recited in  claim 11 , wherein the act of the durable instance manager receiving registration requests from one or more instance execution hosts for interest in receiving event notifications comprises an act of the durable instance manager receiving from an instance execution host an address for sending notifications for instances to re-activate; and
 wherein the act of the durable instance manager sending an event notification to a further instance execution host to re-activate the application instance for execution comprises an act of the durable instance manager sending an event notification to the address received from the instance execution host.   
     
     
         18 . The method as recited in  claim 11 , wherein the act of the durable instance manager receiving registration requests from one or more instance execution hosts for interest in receiving event notifications comprises an act of the durable instance manager waiting for an instance execution host to poll the durable instance manager for instances to re-activate; and
 wherein the act of the durable instance manager sending an event notification to a further instance execution host to re-activate the application instance for execution comprises an act of the durable instance manager returning the event notification in response to the poll request.   
     
     
         19 . The method as recited in  claim 11 , further comprising:
 an act of the durable instance manager persisting an instance type corresponding to the application instance at the instance store, the instance type indicating the type of instance execution host that created the instance;   an act of the durable instance manager receiving registration requests from one or more instance execution host managers for interest in receiving event notifications regarding application instances to re-activate; and   an act of the durable instance manager sending an event notification to one of the one or more instance execution host managers to re-activate the application instance for execution, the event notification responsive to detection of the event that satisfies the re-activation condition and the registrations from the instance execution host managers, the event notification containing the instance type of the application instance.   
     
     
         20 . In a computer architecture including one or more processors and system memory, a method for re-activating an application instance, the method comprising:
 executing, at a first instance execution host, the application instance;   determining, at the first instance execution host, that the application instance is to be saved;   saving the application instance, wherein the saving of the application instance persists the state of the application instance to a durable store;   providing, at a second instance execution host, an infrastructural endpoint for receiving requests to administer application instances;   transmitting, to a durable instance manager, the address of the infrastructural endpoint for the second instance execution host;   receiving at the second instance execution host, a request to run the application instance; and   restoring the application instance to the second instance execution host to re-activate the application instance and return the application instance to an executing state.   
     
     
         21 . The method as recited in  claim 20 , wherein the determination that the application instance is to be saved comprises a determination that the application instance has been idle for a predetermined duration of time. 
     
     
         22 . The method as recited in  claim 21 , wherein the predetermined duration of time of inactivity prior to saving the application instance is user configured.

Join the waitlist — get patent alerts

Track US2011179303A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.