P
US11755364B2ActiveUtilityPatentIndex 56

Transferral of process state and/or components in computing environments

Assignee: GOOGLE LLCPriority: Apr 4, 2019Filed: May 26, 2021Granted: Sep 12, 2023
Est. expiryApr 4, 2039(~12.7 yrs left)· nominal 20-yr term from priority
Inventors:PHOENIX CHRISTOPHER JONATHANJOHNSON CHRISTOPHER RYANBROWN JEFFREY
G06F 9/54G06F 9/4843G06F 9/48G06F 8/656G06F 21/52G06F 9/5027
56
PatentIndex Score
0
Cited by
71
References
20
Claims

Abstract

This technology relates to transferring state information between processes or active software programs in a computing environment where a new instance of a process or software program may receive such state information even after an original or old instance of the process or software program that owned the state information has terminated either naturally or unnaturally.

Claims

exact text as granted — not AI-modified
The invention claimed is: 
     
       1. A computing system, comprising:
 one or more computing devices including an operating system (OS) function, wherein the OS function is configured to:
 receive a first notification indicating that an update associated with a first process is available; 
 in response to receiving the first notification:
 instantiate a second process, the second process being a new instance of the first process configured to replace the first process; and 
 send a second notification to the first process indicating that the update is available, to cause the first process to capture state information, the state information including one or more resources established in running the first process; 
 
 receive the state information captured by the first process; 
 provide the state information to the second process such that the state information is available for operation of the second process in accordance with the update; and 
 either:
 when the update is compatible with the state information provided to the second process, receive a notification from the second process that the update is ready, and when the state information has not changed, terminate the first process; or 
 when the update is not compatible with the state information provided to the second process, receive a notification from the second process that the update is not compatible with the state information and terminate the second process. 
 
 
 
     
     
       2. The computing system of  claim 1 , further comprising at least one memory device operatively coupled to the one or more computing devices, wherein the OS function stores state information associated with the first process in the at least one memory device upon receiving a system call. 
     
     
       3. The computing system of  claim 1 , wherein the one or more resources include at least one of one or more handles, one or more threads or one or more memory objects. 
     
     
       4. The computing system of  claim 1 , wherein the OS function is further configured to receive a request to recover the state information from the second process. 
     
     
       5. The computing system of  claim 1 , wherein the OS function is further configured to determine whether or not the second process is authorized to receive the state information. 
     
     
       6. The computing system of  claim 5 , wherein the OS function is further configured to transfer the state information to the second process when the OS function determines that the second process is authorized to receive the state information. 
     
     
       7. The computing system of  claim 5 , wherein the OS function is further configured to deny the second process access to the state information when the OS function determines that the second process is not authorized to receive the state information. 
     
     
       8. The computing system of  claim 1 , wherein the first process is currently running or active. 
     
     
       9. The computing system of  claim 1 , wherein the first process suspends work in response to the first process receiving the first notification. 
     
     
       10. A method of updating a process using an operating system (OS) function in a computing system, the method comprising:
 receiving, by the OS function, a first notification indicating that an update associated with a first process is available; 
 in response to receiving the first notification:
 instantiating, by the OS function, a second process, the second process being a new instance of the first process configured to replace the first process; and 
 sending, by the OS function, a second notification to the first process indicating that the update is available, to cause the first process to capture state information, the state information including one or more resources established in running the first process; 
 
 receiving, by the OS function, the state information captured by the first process; 
 providing, by the OS function, the state information to the second process such that the state information is available for operation of the second process in accordance with the update; and 
 either:
 when the update is compatible with the state information provided to the second process, receiving a notification from the second process that the update is ready, and when the state information has not changed, terminating the first process; or 
 when the update is not compatible with the state information provided to the second process, receiving a notification from the second process that the update is not compatible with the state information and terminating the second process. 
 
 
     
     
       11. The method of  claim 10 , further comprising:
 receiving, by the OS function, a system call; and 
 in response to the system call, storing, by the OS function, state information associated with the first process in at least one memory device in communication with the OS function. 
 
     
     
       12. The method of  claim 10 , wherein the one or more resources include at least one of one or more handles, one or more threads or one or more memory objects. 
     
     
       13. The method of  claim 10 , further comprising receiving, by the OS function, a request to recover the state information from the second process. 
     
     
       14. The method of  claim 10 , further comprising verifying, by the OS function, that the second process is authorized to receive the state information. 
     
     
       15. The method of  claim 14 , further comprising transferring, by the OS function, the state information to the second process when the OS function verifies that the second process is authorized to receive the state information. 
     
     
       16. The method of  claim 10 , further comprising denying, by the OS function, the second process access to the state information when the OS function is unable to verify the second process as being allowed to receive the state information. 
     
     
       17. A computing device, comprising:
 an operating system (OS) function; and 
 a non-transitory computer-readable medium having instructions stored thereon that, when executed by the OS function, cause the OS function to perform operations comprising: 
 receiving a first notification indicating that an update associated with a first process is available; 
 in response to receiving the first notification:
 instantiating a second process, the second process being a new instance of the first process configured to replace the first process; and 
 sending a second notification to the first process indicating that the update is available, to cause the first process to capture state information, the state information including one or more resources established in running the first process; 
 
 receiving the state information captured by the first process; 
 providing the state information to the second process such that the state information is available for operation of the second process in accordance with the update; and 
 either:
 when the update is compatible with the state information provided to the second process, receiving a notification from the second process that the update is ready, and when the state information has not changed, terminating the first process; or 
 when the update is not compatible with the state information provided to the second process, receiving a notification from the second process that the update is not compatible with the state information and terminating the second process. 
 
 
     
     
       18. The computing device of  claim 17 , wherein the one or more resources include at least one of one or more handles, one or more threads or one or more memory objects. 
     
     
       19. The computing device of  claim 17 , wherein the OS function is further configured to receive a request to recover the state information from the second process. 
     
     
       20. The computing device of  claim 17 , wherein the first process suspends work in response to the first process receiving the first notification.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.