System for dynamic run-time binding of software modules in a computer system
First Claim
1. A method of dynamically binding, within a computing system having a kernel, first and second software modules respectively contained within first and second software applications, said method comprising the steps of:
- providing a linked procedure call mechanism having a trader portion;
providing a client interface, said client interface capable of accessing said trader portion;
providing a server interface, said server interface capable of accessing said trader portion;
inserting said client interface into said first software module;
inserting said server interface into said second software module;
identifying said client interface by executing said first software module;
identifying said server interface by accessing said trader portion with said identified client interface; and
substituting said server interface in place of said identified client interface, during execution of said first software module, thereby dynamically binding said first and second software modules.
1 Assignment
0 Petitions
Accused Products
Abstract
In telecommunications switching systems, software is frequently modified, enhanced or replaced altogether by new versions. The implementation or integration of the new or revised software into the operational system must be accomplished in accordance with strict requirements for not disturbing the ongoing activities of the system. Therefore, it is desirable that the system not be halted while the change to the new software is made. Rather, the preferred approach is to be able to replace software modules with new versions on the fly, during system operation. The smooth modification made possible in the disclosed system allows such changes with minimal disturbance to ongoing activities by dynamically linking and binding software modules during execution. The disclosed system accomplishes this by applying expanded object-oriented programming techniques and utilizing language-independent interface specifications that remain unchanged and that obviate the need for storing symbolic information that would be subject to change following modification.
-
Citations
35 Claims
-
1. A method of dynamically binding, within a computing system having a kernel, first and second software modules respectively contained within first and second software applications, said method comprising the steps of:
-
providing a linked procedure call mechanism having a trader portion; providing a client interface, said client interface capable of accessing said trader portion; providing a server interface, said server interface capable of accessing said trader portion; inserting said client interface into said first software module; inserting said server interface into said second software module; identifying said client interface by executing said first software module; identifying said server interface by accessing said trader portion with said identified client interface; and substituting said server interface in place of said identified client interface, during execution of said first software module, thereby dynamically binding said first and second software modules. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A method of dynamically binding, within a computing system having a shared memory and a kernel, first and second software modules respectively contained within first and second software applications, said method comprising the steps of:
-
providing a linked procedure call mechanism having a trader portion; loading said first software module into said shared memory of said computing system, said first software module including a client interface; loading said second software module into said shared memory of said computing system, said second software module including a server interface; inserting into said trader portion a memory address of said server interface; identifying said client interface by executing said first software module; identifying said server interface by accessing said trader portion with said identified client interface; and substituting said server interface by accessing said trader client interface, during execution of said first software module, thereby dynamically binding said first and second software modules. - View Dependent Claims (17, 18, 19, 20)
-
-
21. An Apparatus for dynamically binding, within a computing system having a kernel, first and second software modules respectively contained within first and second software applications, said Apparatus comprising:
-
means for providing a linked procedure call mechanism having a trader portion; means for providing a client interface, said client interface capable of accessing said trader portion; means for providing a server interface, said server interface capable of accessing said trader portion; means for inserting said client interface into said first software module; means for inserting said server interface into said second software module; means for identifying said client interface by executing said first software module; means for identifying said server interface by accessing said trader portion with said identified client interface; and means for substituting said server interface in place of said identified client interface, during execution of said first software module, thereby dynamically binding said first and second software modules. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35)
-
Specification