Updating software while it is running
First Claim
Patent Images
1. A computer system for serving requests from clients, comprising:
- a computing device comprising a processing unit;
a memory having a communication path with said processor, the memory having stored thereon;
a first computer program executable in a first guest operating system running on the computing device that upon execution causes the computing device to service a request of one of the clients, the computing device capable of receiving a context provided by the client associated with the first computer program; and
a second computer program executable in a second guest operating system running on the computing device that upon execution performs substantially similar functions to the functions caused by the first computer program, the second computer program operable to contemporaneously execute on the computing device with the first computer program so as to allow tests to be performed on the second computer program after which the second computer program can be executed and the first computer program can be terminated after a state of the first computer program is transferred to the second computer program and the context of the client is transferred to the second computer program without losing the context provided by the client, wherein the state is generated by execution of the first computer program in connection with the servicing of the clients.
2 Assignments
0 Petitions
Accused Products
Abstract
To avoid extensive time during which servicing of clients'"'"' requests is stopped for updating a piece of software or a data structure, various embodiments of the invention update an instance of the piece of software or an instance of the data structure instead of updating the original piece of software or the data structure. This allows the original piece of software or the data structure to service clients'"'"' requests without interruption. The updated instance begins to service clients'"'"' requests without losing context while the original piece of software or the data structure is terminated from further operation.
-
Citations
17 Claims
-
1. A computer system for serving requests from clients, comprising:
-
a computing device comprising a processing unit; a memory having a communication path with said processor, the memory having stored thereon; a first computer program executable in a first guest operating system running on the computing device that upon execution causes the computing device to service a request of one of the clients, the computing device capable of receiving a context provided by the client associated with the first computer program; and a second computer program executable in a second guest operating system running on the computing device that upon execution performs substantially similar functions to the functions caused by the first computer program, the second computer program operable to contemporaneously execute on the computing device with the first computer program so as to allow tests to be performed on the second computer program after which the second computer program can be executed and the first computer program can be terminated after a state of the first computer program is transferred to the second computer program and the context of the client is transferred to the second computer program without losing the context provided by the client, wherein the state is generated by execution of the first computer program in connection with the servicing of the clients. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method implemented on a computer system, comprising:
-
receiving updates to a first service running on a first guest operating system that runs on the computer system, the first service performing requests of clients; performing a state handoff by the first service to produce a file containing the state of the first service and a context provided by one of the clients, the file being exported to an instance of the first service running on a second guest operating system that runs on the computer system; and executing by the instance of the first service, which is updated by the received updates, service requests of the clients; and terminating the first service, after performing the state handoff, on the first guest operating systems so that the ongoing service requests of the clients are handled by the updated instance of the first service running on the second operating system without losing the context provided by the clients to the first service. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
-
Specification