Software migration on an active processing element
First Claim
1. A method of performing a software migration, the method comprising:
- configuring a replacement software system in memory associated with an active processing element white an original software system controls the active processing element;
wherein configuring comprises communicating state information from the original software system in control of the active processing element to the replacement software system so as to prepare the replacement software system to take cone of the active processing element;
wherein configuring further comprises activating a virtual machine executed by the active processing element to support the transfer of control over the active processing element to the replacement software system;
transferring control of the active processing element to the replacement software system; and
installing the virtual machine in memory within the active processing element for the software migration and deactivating and removing the virtual machine once control over the active processing element is transferred to the replacement software system.
2 Assignments
0 Petitions
Accused Products
Abstract
A method, apparatus, and system are provided for performing a migration of control over a processing element from an original software system to a replacement software system. A replacement software system in memory associated with an active processing element is configured while an original software system controls the active processing element. The replacement software system is prepared to take control of the active processing element when state information is communicated to it from the original software system. Control of the active processing element is transferred to the replacement software system by a migration manager. A virtual machine may be used to facilitate the transfer of control, by interfacing between the active processing element, the original software system and the replacement software system. The virtual machine and original software system may be deactivated once control is transferred.
-
Citations
54 Claims
-
1. A method of performing a software migration, the method comprising:
-
configuring a replacement software system in memory associated with an active processing element white an original software system controls the active processing element;
wherein configuring comprises communicating state information from the original software system in control of the active processing element to the replacement software system so as to prepare the replacement software system to take cone of the active processing element;
wherein configuring further comprises activating a virtual machine executed by the active processing element to support the transfer of control over the active processing element to the replacement software system;
transferring control of the active processing element to the replacement software system; and
installing the virtual machine in memory within the active processing element for the software migration and deactivating and removing the virtual machine once control over the active processing element is transferred to the replacement software system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
configuring further comprises initializing the replacement software system with provisioning information associated with a hardware and software configuration for the active processing element; and
communicating further comprises synchronizing dynamic state information for the replacement software system with dynamic state information for the original software system.
-
-
16. The method of claim 15, further comprising maintaining the synchronization of the dynamic state information for the replacement software system with the dynamic state information for the original software system at least until services provided by the original software system via the active processing element are replaced by services provided by the replacement software system.
-
17. The method of claim 16, wherein the initialization of the replacement software system comprises identifying hardware and software characteristics of the active processing element and configuring the replacement software system with the provisioning information based on the identified hardware and software characteristics.
-
18. The method of claim 17, further comprising releasing hardware resources of the active processing element used by the original software system once control over the active processing element passes to the replacement software system.
-
19. The method of claim 18, further comprising placing components of the original software system into an inactive state as control over the active processing element passes to the replacement software system.
-
20. The method of claim 19, further comprising disabling the original software system once control over the active processing element passes to the replacement software system.
-
21. The method of claim 20, further comprising temporarily suspending services provided by the original software system via the active processing element as control over the active processing element passes from the original software system to the replacement software system.
-
22. The method of claim 21, wherein configuring further comprises activating a virtual machine executed by the active processing element to support the transfer of control over the active processing element to the replacement software system.
-
23. The method of claim 22, further comprising sharing processing resources of the active processing element during the software migration.
-
24. The method of claim 22, further comprising performing the transfer of control over the active processing element to the replacement software system via the virtual machine.
-
25. The method of claim 21, further comprising reserving a portion of memory in the active processing element for the replacement software system before performing the software migration.
-
26. The method of claim 17, further comprising allocating processor resources of the active processing element between the original software system and the replacement software system independent of how the processor resources are managed within either of the original software system and the replacement software system.
-
27. A method of performing a software migration, the method comprising:
-
configuring a replacement software system in memory associated with an active processing element while an original software system controls the active processing element;
wherein configuring comprises communicating state information from the original software system in control of the active processing element to the replacement software system so as to prepare the replacement software system to take control of the active processing element;
transferring control of the active processing element to the replacement software system;
wherein configuring further comprises initializing the replacement software system with provisioning information associated with a hardware and software configuration for the active processing element;
wherein communicating further comprises synchronizing dynamic state information for the replacement software system with dynamic state information for the original software system;
maintaining the synchronization of the dynamic state information for the replacement software system with the dynamic state information for the original software system at least until services provided by the original software system via the active processing element are replaced by services provided be the replacement software system;
wherein the initialization of the replacement software system comprises identifying hardware and software characteristics of the active processing element and configuring the replacement software system with the provisioning information based on the identified hardware and software characteristics;
releasing hardware resources of the active processing element used by the original software system once control over the active processing element passes to the replacement software system;
placing components of the original software system into an inactive state as control over the active processing element passes to the replacement software system;
disabling the original software system once control over the active processing element passes to the replacement software system;
temporarily suspending services provided by the original software system via the active processing element as control over the active processing element passes from the original sooftware system to the replacement software system;
wherein configuring further comprises activating a virtual machine executed by the active processing element to support the transfer of control over the active processing element to the replacement software system; and
installing the virtual machine in memory within the active processing element for the software migration and deactivating and removing the virtual machine once control over the active processing element is transferred to the replacement software system.
-
-
28. Apparatus for supporting a software migration on an active processing element from an original software system to a replacement software system, the apparatus comprising:
-
(a) a virtual machine, activated to software the software migration, for interfacing between the active processing element, the original software system and the replacement software system; and
(b) a migration manager for coordinating, in cooperation with the virtual machine, a transfer of control over the active processing element from the original software system to the replacement software system;
(c) wherein the virtual machine comprises a system scheduler for scheduling, during the software migration, processor resources of the active processing element between the execution of the original software system and the replacement software system. - View Dependent Claims (29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41)
(a) the apparatus of claim 28;
(b) the active processing element; and
(c) an interface for synchronizing, in cooperation with the virtual machine, dynamic state information of the replacement software system with dynamic state information of the original software system during the software migration on the active processing element.
-
-
38. The system of claim 37, wherein:
-
the active processing element has memory and at least one processor in communication with the memory; and
wherein the virtual machine is located in at least one of (i) the memory of the active processing element, (ii) hardware associated with the active processing element, and (iii) firmware associated with the active processing element.
-
-
39. The system of claim 38, wherein the memory further comprises a memory partition for storing the original software system and wherein the migration manager is located within the memory partition.
-
40. The system of claim 39, further comprising a replacement migration manager for coordinating a portion of the transfer of control over the active processing element once at least a portion of control over the active processing element passes to the replacement software system.
-
41. The system of claim 40, wherein the replacement migration manager is stored within a region of the memory associated with the replacement software system.
-
42. Apparatus for supporting a software migration on an active processing element, the apparatus comprising:
-
(a) a virtual machine implemented to support a transfer of control over the active processing element from an original software system to a replacement software system, the virtual machine comprising;
(i) a communications path implemented to facilitate communications between the original software system and the replacement software system during the transfer of control over the active processing element;
(ii) an interrupt dispatcher implemented to indirectly forward hardware interrupts from the active processing element to at least one of the original software system and the replacement software system in control of the active processing element;
(iii) a loader implemented to install an image of the replacement software system into available memory within the active processing element;
(iv) a system scheduler implemented to schedule during the software migration at least a portion of the processor resources of the active processing element between the execution of the original software system and the replacement software system; and
(v) a hardware access control module implemented to manage access control to a hardware layer of the active processing element. - View Dependent Claims (43)
-
-
44. A computer readable medium having stored instructions for supporting a software migration on an active processing element from an original software system to a replacement software system, the computer readable medium comprising:
-
(a) computer readable codes for activating a virtual machine, activated to support the software migration, for interfacing between the active processing element, the original software system and the replacement software system; and
(b) computer readable codes for configuring a migration manager for coordinating, in cooperation with the virtual machine, a transfer of control over the active processing element from the original software system to the replacement software system;
(c) wherein the virtual machine comprises a system scheduler for scheduling, during the software migration, processor resources of the active processing element between the execution of the original software system and the replacement software system. - View Dependent Claims (45, 46, 47, 48, 49)
-
-
50. A system for performing a software migration on an active processing element from an original software system to a replacement software system, the system comprising:
-
(a) means for activating a virtual machine, activated to support the software migration, for interfacing between the active processing element, the original software system and the replacement software system; and
(b) means for configuring a migration manager for coordinating, in cooperation with the virtual machine, a transfer of control over the active processing element from the original software system to the replacement software system;
(c) wherein the virtual machine comprises a system scheduler for scheduling, during the software migration, processor resources of the active processing element between the execution of the original software system and the replacement software system. - View Dependent Claims (51, 52, 53, 54)
-
Specification