System for dynamically replacing operating software which provides distributed directory service after verifying that versions of new software and the operating software are compatible
First Claim
1. A method, in a computer network, of dynamically replacing a first computer module with a second computer module, comprising the steps of:
- a. receiving a request to replace the first computer module, said first computer module having instructions for supporting a distributed director;
b. calling a loader computer module for managing the replacement of the first computer module with the second computer module, said loader computer module operating independent of the state information of the first or second computer modules;
c. loading the second computer module to replace the first computer module while the first computer module is supporting the distributed directory, said second computer module having instructions for supporting a distributed directory;
d. verifying version numbers of the first and section computer modules; and
e. making active the second computer module and unloading the first computer module if the version numbers indicate that the first and second computer modules are compatible.
3 Assignments
0 Petitions
Accused Products
Abstract
The present invention provides a method and apparatus for dynamically updating computer programs that are providing X.500 directory services without interruption of service. Upon receiving a call to update a computer program providing directory services, a process or thread is executed that authenticates the user making the reload request, loads a program loader, renames the then currently running directory services program, and calls another process or thread, while it awaits completion of the second process or thread. The second process or thread loads and initializes the new directory services computer program and then interacts with the program loader and the new directory services computer program to determine if the old and new directory services programs are compatible. If the old and new directory services computer programs are not compatible, the second process or thread aborts the load and transmits an abort signal to the first process or thread. If the old and the new directory services computer programs are compatible, the second process or thread transmit a commit signal to the first process or thread. The first thread upon receiving a commit signal from the second process or signal removes itself and the old directory services computer program from memory. Upon receiving an abort signal from the second process or thread, the first process or thread changes the name of the old directory services computer program back to its original name and unload itself and the loader program.
97 Citations
18 Claims
-
1. A method, in a computer network, of dynamically replacing a first computer module with a second computer module, comprising the steps of:
-
a. receiving a request to replace the first computer module, said first computer module having instructions for supporting a distributed director; b. calling a loader computer module for managing the replacement of the first computer module with the second computer module, said loader computer module operating independent of the state information of the first or second computer modules; c. loading the second computer module to replace the first computer module while the first computer module is supporting the distributed directory, said second computer module having instructions for supporting a distributed directory; d. verifying version numbers of the first and section computer modules; and e. making active the second computer module and unloading the first computer module if the version numbers indicate that the first and second computer modules are compatible. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method of dynamically replacing an old computer module providing one or more distributed services being used on a server in a client/server network with a new computer module, wherein the new computer module includes service enhancements, said method comprising the steps of:
-
a. receiving a request to replace the old computer module having instructions for supporting a distributed directory; b. calling a loader computer module by the old computer module, said loader computer module operating independent of the state information of the old and new computer modules and being adapted for managing the replacement of the old computer module with the new computer module; c. loading the new computer module to replace the old computer module while the old computer module is supporting the distributed directory in the network, which is initiated by the loader computer module; d. checking that the new computer module is compatible with the old computer module by verifying version numbers of the old and new computer modules; and e. making active the new computer module and unloading the old computer module by the loader computer module if the new computer module is compatible with the old computer module. - View Dependent Claims (9, 10, 11, 12)
-
-
13. A computer system, comprising:
-
a. a first computer interconnected to a plurality of other computers such that the computers are capable of sending and receiving signals to and from one another; b. memory residing in said first computer; c. a first computer module in said memory providing a distributed directory to at least one of said plurality of computers, said first computer module having entry points in said memory and having an associated version; d. a second computer module in said memory having service enhancements to the first computer module, said second computer module having entry points in said memory and having an associated version; and e. a loader computer module containing entry points for the first and second computer modules and operating independent of the state information of the first and second computer modules, said loader computer module being capable of managing the replacement of the first computer module with the second computer module without interrupting the operation of the distributed directory and unloading the first computer module from said memory if the associated versions are compatible. - View Dependent Claims (14, 15)
-
-
16. A computer readable medium comprising a program capable of dynamically replacing a first computer module supporting a distributed directory with a second computer module by performing the steps of:
-
a. receiving a request to replace the first computer module; b. calling a loader computer module for managing the replacement of the first computer module with the second computer module while the first computer module is supporting the distributed directory said loader computer module operating independent of the state information of the first and second computer modules; c. loading the second computer module to replace the first computer module; d. comparing version numbers of the first and second computer modules; and e. making active the second computer module and unloading the first computer module if the version numbers indicate compatibility.
-
-
17. An apparatus comprising one or more processors and memory, the memory comprising:
-
a first memory space storing a first module accessible by at least one of said processors, said first module being operative to support a distributed directory; a second memory space storing a second module accessible by at least one of said processors in lieu of the first module; and a third memory space storing a loader module accessible by at least one of said processors, said loader module operating independent of the state information of the first and second modules and being operative to compare version numbers between the first and second modules and to manage the dynamic replacement of the first module with the second module while the first module is supporting the distributed directory by making active the second module and unloading the first module from the first memory space if the version numbers indicate compatibility between the first and second modules. - View Dependent Claims (18)
-
Specification