Safe and predictable dynamic software updating
Sometimes this downtime can be scheduled, if for example the patch adds a feature, improves performance, etc.In other situations such as applying a security patch, delaying the update is not desirable.Another reference, entitled “Mutatis Mutandis: Safe and Predictable Dynamic Software Updating” by G. The present invention enables dynamic updates to operating system software, and as compared to the prior art of which the inventors are aware, provides much greater flexibility in that it is scalable to update the operating system kernel, update one or more objects, and/or add one or more objects to the operating system.It is particularly valuable for adding security patches, in that reboot is unnecessary for the patch to be implemented and accessible by the operating system, and any patch may be incorporated dynamically without interrupting access to the operating system as a whole.In addition to the above-mentioned impact on availability, dynamically updatable operating systems have other benefits.
Appavoo, Jonathan (New York, NY, US) Baumann, Andrew Arnott (Chatswood, AU) Da Silva, Dilma Menezes (White Plains, NY, US) Krieger, Orran Yaakov (Newton, MA, US) Wisniewski, Robert William (Yorktown Heights, NY, US) Malabarba et al., Runtime Supoprt for Type-Safe Dynamic Java Classes, Jan. The kernel is often considered as how the operating system is displayed to the user of a device, but in fact the kernel lies below the display manager (though is often tightly tied to it).
This may be performed for multiple updated object instances in the new factory object, preferably each separately. Ganger, Orran Krieger, Michael Stumm, Marc Auslander, Michal Ostrowski, Bryan Rosenburg, Jimi Xenidis, “System Support for Online Reconfiguration”, Proceedings of Usenix 2003, pp. Baumann, Kerr, Appavoo, Da Silva, Krieger, Wisniewski, “Module Hot-Swapping for Dynamic Update and Reconfiguration in K42” Apr. Shalloway and Trott, “Design Patterns Explained: A New Perspective on Object-Oriented Design, Second Edition” Oct. 1998, Proceedings of the USENIX Annual Technical Conference (NO98), New Orleans, Louisiana, 13 pgs. et al., “Optimistic Incremental Specialization: Streamlining a Commercial Operating System”, 11 pgs. et al., “Mutatis mutandis: Safe and Predictable Dynamic Software Updating”, Jan. It then provides those resources to other applications that the user wants to execute.
For the case of new object instances, they are created by the new factory and pointers established to invoke them. 12-14, 2005, POPL '05, Long Beach, California, 12 pgs. Typical services that an operating system provides include a task scheduler, a memory manager, a disk manager, a network manager, other I/O services manager, and a security manager. The core operating system functions, the management of the computer system, lie in what is termed the kernel of the operating system in a traditional computer architecture.
In one embodiment, the present invention is a signal bearing medium tangibly embodying a program of machine-readable instructions executable by a digital processing apparatus to perform operations to dynamically update an operating system.
The operations include loading a new factory object that has at least one updated object instance within an object class.