System for changing software during computer operation
First Claim
1. For use in conjunction with computer apparatus, while it is processing existing data with existing software and receiving new data to be processed, a method of automatically passing data processing control of the computer apparatus to new software without materially disrupting the processing of the existing data by the existing software while allowing both software versions to generate output data simultaneously, said method comprising the steps of:
- installing the new software in the computer apparatus;
using the new software to process test data at the same time as both the existing and new actual data are being processed by the existing software;
automatically transferring processing control of all new data to the new software subsequent to its successful processing of said test data while continuing to use the existing software to process existing data and generating output data from both the new and old software simultaneously; and
automatically transferring complete data processing control to the new software subsequent to its successful processing of said new data.
1 Assignment
0 Petitions
Accused Products
Abstract
In telecommunications switching system, 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. The disclosed system provides the ability to change software during operation by treating the dynamic operations of a telecommunications system as a set of parallel, independent transactions, with each transaction consisting of a series of connected activities. Such a transaction is generally a functional element associated with a particular user of the system, e.g., a subscriber or an operator, such as a call to be processed or a command to be executed by the system.
499 Citations
95 Claims
-
1. For use in conjunction with computer apparatus, while it is processing existing data with existing software and receiving new data to be processed, a method of automatically passing data processing control of the computer apparatus to new software without materially disrupting the processing of the existing data by the existing software while allowing both software versions to generate output data simultaneously, said method comprising the steps of:
-
installing the new software in the computer apparatus; using the new software to process test data at the same time as both the existing and new actual data are being processed by the existing software; automatically transferring processing control of all new data to the new software subsequent to its successful processing of said test data while continuing to use the existing software to process existing data and generating output data from both the new and old software simultaneously; and automatically transferring complete data processing control to the new software subsequent to its successful processing of said new data. - View Dependent Claims (2, 3, 4)
-
-
5. For use in conjunction with computer apparatus, while it is processing existing data with existing software and receiving new data to be processed, a method of automatically passing data processing control of the computer apparatus to new software without materially disrupting the processing of the existing data by the existing software, said method comprising the steps of:
-
installing the new software in the computer apparatus; using the new software to process test data simulating the actual data being processed by the existing software; permitting the new software, in response to its successfully processing the test data, to process a sample portion of the actual data which would otherwise be processed by the old software; and transferring complete data processing control to the new software subsequent to its successful processing of said predetermined sample portion of the actual data. - View Dependent Claims (6, 7, 8, 9, 10, 11, 12)
-
-
13. For use in conjunction with computer apparatus, while it is processing existing data with existing software and receiving new data to be processed wherein both existing data and new data are processed in a series of transactions and both include dynamic data which is created and used during the processing of each transaction and deleted when the processing is complete and semipermanent data which is used by and survives the processing of a plurality of transactions, a method of automatically passing data processing control of the computer apparatus to new software without materially disrupting the processing of the existing data by the existing software, said method comprising the steps of:
-
installing the new software in the computer apparatus; transferring data from the existing software to the new software; using the new software to process test data simulating the actual data being processed by the existing software; and automatically transferring complete data processing control to the new software subsequent to its successful processing of said test data simulating the actual data. - View Dependent Claims (14, 15, 16, 17, 18, 19)
-
-
20. A method of smoothly and automatically changing from old call processing software to new call processing software in a telecommunications switching system, during continuing operation thereof, without a material risk of system disruption and while simultaneously producing output data from both old and new call processing software, said method comprising the steps of:
-
operatively installing the new software in the system while the old software continues to process calls; running a plurality of test calls through the system and routing all said test calls to the new software for processing thereby while simultaneously processing actual calls with the old software; routing all of the new calls received by the system to the new software in response to the new software successfully processing said test calls while simultaneously processing all of the existing calls with the old software and simultaneously producing output data from both the old and the new software; and routing all of the new calls received by the system to the old software in response to the new software failing to successfully process said test calls. - View Dependent Claims (21, 22, 23, 25)
-
-
24. A method of smoothly and automatically changing from old call processing software to new call processing software in a telecommunications switching system, during continuing operation thereof, without a material risk of system disruption, said method comprising the steps of:
-
operatively installing the new software in the system while the old software continues to process calls; running a plurality of test calls through the system and routing all said test calls to the new software for processing thereby; routing a selected number of actual calls to the new software for processing thereby, in response to said test calls being successfully processed by the new software, while continuing to process the remainder of the actual calls with the old software; routing all of the new calls received by the system to the new software in response to the new software successfully processing both said test calls and said selected number of actual calls; and routing all of the new calls received by the system to the old software in response to the new software failing to successfully process either said test calls or said selected number of actual calls. - View Dependent Claims (26, 27, 28, 29, 30)
-
-
31. A method of smoothly and automatically changing from old call processing software to new call processing software in a telecommunications switching system, during continuing operation thereof, without a material risk of system disruption, and wherein both existing calls and new calls are processed in a series of transactions and both have associated therewith dynamic data which is created and used during the processing of each transaction and deleted when the processing is complete and semipermanent data which is used by and survives the processing of a plurality of transactions, said method comprising the steps of:
-
operatively installing the new software in the system while the old software continues to process calls; transferring data from the old software to the new software; running a plurality of test calls through the system and routing all said test calls to the new software for processing thereby; routing all of the new calls received by the system to the new software in response to the new software successfully processing said test calls; and routing all of the new calls received by the system to the old software in response to the new software failing to successfully process said test calls. - View Dependent Claims (32, 33, 34, 35, 36, 37)
-
-
38. A method of smoothly and automatically changing from old call processing software to new call processing software in a telecommunications switching system, during continuing operation thereof and while allowing both old and new call processing software to generate output data simultaneously, said method comprising the steps of:
-
operatively installing the new software in the system while the old software continues to process calls; running a plurality of test calls to the system and routing all said test calls to the new software for processing thereby, without halting all actual telecommunications traffic to the old software; routing all of the new calls received by the system to the new software in response to the new software successfully processing said test calls and simultaneously producing output data from both the old and the new software; and removing all old software from the system in response to successful processing of all of the new calls by the new software, and the first to occur of the termination of all calls being processed by the old software or the expiration of a preselected period of time following the routing of all the new calls received by the system to the new software. - View Dependent Claims (39, 40, 41)
-
-
42. A method of smoothly and automatically changing from old call processing software to new call processing software in a telecommunications switching system, during continuing operation thereof, said method comprising the steps of:
-
operatively installing the new software in the system while the old software continues to process calls; running a plurality of test calls to the system and routing all said test calls to the new software for processing thereby, without halting all actual telecommunications traffic to the software by the steps of; routing only simulated calls to the new software for processing thereby; and routing a number of sample new calls, in addition to said simulated calls, to the new software for processing thereby, in response to said simulated calls being successfully processed by the new software; routing all of the new calls received by the system to the new software in response to the new software successfully processing said test calls; and removing all old software from the system in response to successful processing of all of the new calls by the new software, and the first to occur of the termination of all calls being processed by the old software or the expiration of a preselected period of time following the routing of all the new calls received by the system to the new software.
-
-
43. A method of smoothly and automatically changing from old call processing software to new call processing software in a telecommunications switching system, during continuing operation thereof, wherein both existing calls and new calls are processed in a series of transactions and both have associated therewith dynamic data which is created and used during the processing of each transaction and deleted when the processing is complete and semipermanent data which is used by and survives the processing of a plurality of transactions, said method comprising:
-
operatively installing the new software in the system while the old software continues to process calls; transferring data from the old software to the new software; running a plurality of test calls to the system and routing all said test calls to the new software for processing thereby, without halting all actual telecommunications traffic to the old software; routing all of the new calls received by the system to the new software in response to the new software successfully processing said test calls; and removing all old software from the system in response to successful processing of all of the new calls by the new software, and the first to occur of the termination of all calls being processed by the old software or the expiration of a preselected period of time following the routing of all the new calls received by the system to the new software. - View Dependent Claims (44, 45, 46, 47, 48, 49)
-
-
50. A method for automatically shifting data processing operations from previously loaded first software to newly loaded second software in a computer system in which the first software is processing existing data while new data is being received by the computer system and both the first and second software are producing output data simultaneously, said method comprising the steps of:
-
transmitting test data to said second software for processing thereby, said test data simulating actual data to be processed; transmitting all of said new data to said second software during continued processing of said existing data by said first software in response to a successful processing of said test data by said second software and while both said first and second software generate output data simultaneously; and routing all other data to said second software for processing thereby in response to the completion of processing of said existing data by said first software, to automatically effect the changeover from said first software to said second software during computer system runtime without materially disrupting the continuance of data processing operations. - View Dependent Claims (52)
-
-
51. A method for automatically shifting data processing operations from previously loaded first software to newly loaded second software in a computer system in which the first software is processing existing data while new data is being received by the computer system, said method comprising the steps of:
-
transmitting test data to said second software for processing thereby, said test data simulating actual data to be processed by said first software; transmitting to said second software a predetermined, limited sample amount of actual data which would otherwise be processed by said first software, in response to a successful processing of said test data by said second software; transmitting all of said new data to said second software during continued processing of said existing data by said first software in response to a successful processing of said test data by said second software in response to a successful processing of both said test data and said limited sample of actual data by said second software; and routing all other data to said second software for processing thereby in response to the completion of processing of said existing data by said first software, to automatically effect the changeover from said first software to said second software during computer system runtime without materially disrupting the continuance of data processing operations.
-
-
53. For use in conjunction with a telecommunications switching system in which existing calls are being processed by previously installed first software while new calls are being received by the system, a method for gradually redirecting calls to subsequently installed second software, for processing thereby, during switching system runtime and without a material disruption of continued call processing, said method comprising:
-
transmitting to said second software test calls simulative of actual calls processed by said first software while at the same time both existing and new actual calls are being processed by said first software; transmitting to said second software all of the new calls received by the telecommunications switching system during continued processing of said existing calls by said first software with output data being simultaneously produced by both said first and second software; sequentially performing said first and second steps and sequentially subjecting said second software to; (1) a first call processing test using test calls transmitted to said second software in said first step, and (2) a second call processing test, contingent on the successful completion of said first call processing test by said second software, using the new calls transmitted to said second software in said second step; and transferring all call processing control from said first software to said second software subsequent to the successful completion of said second call processing test by said second software. - View Dependent Claims (55, 56, 57, 58, 59)
-
-
54. For use in conjunction with a telecommunications switching system in which existing calls are being processed by previously installed first software while new calls are being received by the system, a method for gradually redirecting calls to subsequently installed second software, for processing thereby, during switching system runtime and without a material disruption of continued call processing, said method comprising:
-
transmitting to said second software test calls simulative of actual calls processed by said first software; transmitting to said second software a sample amount of actual calls which would otherwise be processed by said first software; transmitting to said second software all of the new calls received by the telecommunications switching system; sequentially performing said first, second and third steps and sequentially subjecting said second software to; (1) a first call processing test using test calls transmitted to said second software in said first step, (2) a second call processing test, contingent on the successful completion of said first call processing test by said second software, using the sample amount of actual calls transmitted to said second software in said second step; and (3) a third call processing test, contingent on the successful completion of said first and second call processing tests by said second software, using the new calls transmitted to said second software in said third step; and transferring all call processing control from said first software to said second software subsequent to the successful completion of said third call processing test by said second software.
-
-
60. A method of dynamically binding first and second modules respectively disposed in first and second software applications by providing a set of direction points for dynamically directing chains of events within the operational software system to either one or the other of said first or second applications, said method comprising the steps of:
-
analyzing messages addressed by function name; directing those messages to processes in each of said first or second modules; and directing the execution of a process by dynamic runtime binding to selectively continue the execution of said process in either one of said first or said second software modules.
-
-
61. Apparatus for automatically shifting data processing operations from previously loaded first software to newly loaded second software in a computer system in which the first software is processing existing data while new data is being received by the computer system, said apparatus comprising:
-
first means for transmitting test data to said second software for processing thereby, said test data simulating actual data to be processed by said first software, while at the same time both existing and new actual data are being processed by said first software; second means, responsive to a successful processing of said test data by said second software, for transmitting all of said new data to said second software during continued processing of said existing data by said first software and the simultaneous production of output data from both said first and second software; and third means, responsive to the first to occur of the completion of processing of said existing data by said first software or the expiration of a preselected period of time following the beginning of transmission of all of said new data to said second software, for discontinuing further use of said first software for processing data, whereby the changeover from said first software to said second software may be automatically effected during computer system runtime without materially disrupting the continuance of data processing operations thereof. - View Dependent Claims (63)
-
-
62. Apparatus for automatically shifting data processing operations from previously loaded first software to newly loaded second software in a computer system in which the first software is processing existing data while new data is being received by the computer system, said apparatus comprising:
-
first means for transmitting test data to said second software for processing thereby, said test data simulating actual data to be processed by said first software; second means, responsive to a successful processing of said test data by said second software, for transmitting all of said new data to said second software during continued processing of said existing data by said first software; and third means, responsive to the firs to occur of the completing of processing of said existing data by said first software or the expiration of a preselected period of time following the beginning of transmission of all of said new data to said second software; fourth means, responsive to a successful processing of said test data by said second software, for transmitting to said second software a predetermined limited sample of actual data which would otherwise be processed by said first software; and
in whichsaid second means for transmitting all of said new data to said second software is responsive to a successful processing of both said test data and said sample amount of actual data by said second software, for discontinuing further use of said first software for processing data, whereby the changeover from said first software to said second software may be automatically effected during computer system runtime without materially disrupting the continuance of data processing operations thereof.
-
-
64. For use in conjunction with a telecommunications switching system in which existing calls are being processed by previously installed first software while new calls are being received by the system, automatically operable apparatus for gradually redirecting calls to subsequently installed second software, for processing thereby, during switching system runtime and without a material disruption of continued call processing, said automatically operable apparatus comprising:
-
first means operable to transmit to said second software test calls simulative of actual calls processed by said first software while at the same time both existing and new actual calls are being processed by said first software; second means operable to transmit to said second software all of the new calls received by the telecommunications switching system during continued processing of existing calls by said first software with output data being simultaneously produced by both said first and second software; third means for sequentially operating said first and second means and sequentially subjecting said second software to; (1) a first call processing test using test calls transmitted to said second software from said first means, and (2) a second call processing test, contingent on the successful completion of said first call processing test by said second software, using the new calls transmitted to said second software by said second means; and fourth means for transferring all call processing control from said first software to said second software subsequent to the successful completion of said second call processing test by said second software. - View Dependent Claims (66)
-
-
65. For use in conjunction with a telecommunications switching system in which existing calls are being processed by previously installed first software while new calls are being received by the system, automatically operable apparatus for gradually redirecting calls to subsequently installed second software, for processing thereby, during switching system runtime and without a material disruption of continued call processing, said automatically operable apparatus comprising:
-
first means operable to transmit to said second software test calls simulative of actual calls processed by said first software; second means operable to transmit to said second software all of the new calls received by the telecommunications switching system; third means for sequentially operating said first and second means and sequentially subjecting said second software to; (1) a first call processing test using test calls transmitted to said second software from said first means, and (2) a second call processing test, contingent on the successful completion of said first call processing test by said second software, using the new calls transmitted to said second software by said second means; and fourth means for transferring all call processing control from said first software to said second software subsequent to the successful completion of said second call processing test by said second software; fifth means operable to transmit to said second software a sample amount of actual calls which would otherwise be processed by said first software; and
in which,said third means sequentially operates said first, second and fifth means to sequentially subject said second software to an additional call processing test, contingent upon the successful completion of said first call processing test by said second software, using said sample amount of actual calls transmitted to said second software by said fifth means, and in which said second call processing test is contingent upon the successful completion of both said first and additional call processing tests by said second software.
-
-
67. For use in conjunction with computer apparatus, while it is processing existing data with existing software and receiving new data to be processed, a system for automatically passing the computer apparatus data processing control to new software without materially disrupting the processing of the existing data by the existing software while allowing both software versions to generate output data simultaneously, said system comprising:
-
means for installing the new software in the computer apparatus; means for using the new software to process test data at the same time as the both new and existing actual data are being processed by the existing software; means for automatically transferring processing control of all new data to the new software subsequent to its successful processing of said test data while continuing to use the existing software to process existing data and generating output data from both the new and old software simultaneously; and means for automatically transferring complete data processing control to the new software subsequent to its successful processing of said new data. - View Dependent Claims (68, 69, 70, 71, 72, 73, 74)
-
-
75. For use in conjunction with computer apparatus, while it is processing existing data with existing software and receiving new data to be processed, a system for automatically passing the computer apparatus data processing control to new software without materially disrupting the processing of the existing data by the existing software, said system comprising:
-
means for installing the new software in the computer apparatus; means for using the new software to process test data simulating the actual data being processed by the existing software; means for automatically transferring complete data processing control to the new software subsequent to its successful processing of said test data; means for permitting the new software, in response to its successful processing of the test data, to process a sample portion of the actual data which would otherwise be processed by the old software, and in which, said means for automatically transferring complete data processing control to the new software is operative subsequent to the successful processing of both said test data and said predetermined sample portion of the actual data. - View Dependent Claims (76, 77)
-
-
78. For use in conjunction with computer apparatus, while it is processing existing data with existing software and receiving new data to be processed, a system for automatically passing the computer apparatus data processing control to new software without materially disrupting the processing of the existing data by the existing software comprising:
-
means for installing the new software in the computer apparatus; means for transferring data from the existing software to the new software; means for using the new software to process test data simulating the actual data being processed by the existing software; and means for automatically transferring complete data processing control to the new software subsequent to its successful processing of said test data. - View Dependent Claims (79, 80, 81, 82, 83, 84)
-
-
85. A system for smoothly and automatically changing from old call processing software to new call processing software in a telecommunications switching system, during continuing operation thereof, without a material risk of system disruption and while simultaneously producing output data from both old and new processing software, said system comprising:
-
means for operatively installing the new software in the system while the old software continues to process calls; means for running a plurality of test calls through the system and routing all said test calls to the new software for processing thereby while simultaneously processing actual calls with the old software; means for routing all of the new calls received by the system to the new software in response to the new software successfully processing said test calls while simultaneously processing all of the existing calls with the old software and simultaneously producing output data from both the old and new software; and means for removing the old software from the system in response to successful processing of all of the new calls by the new software, and a termination of all calls being processed by the old software.
-
-
86. A system for smoothly and automatically changing from old call processing software to new call processing software in a telecommunications switching system, during continuing operation thereof, without a material risk of system disruption, said system comprising;
-
means for operatively installing the new software in the system while the old software continues to process calls; means for running a plurality of test calls through the system and routing all said test calls to the new software for processing thereby; means for routing a selected number of actual calls to the new software for processing thereby, in response to said test calls being successfully processed by the new software, while continuing to process the remainder of the actual calls with the old software; means for routing all of the new calls received by the system to the new software in response to the new software successfully processing both said test calls and said selected number of actual calls; and means for removing the old software from the system in response to successful processing of all of the new calls by the new software, and a termination of all calls being processed by the old software.
-
-
87. A system for smoothly and automatically changing from old call processing software to new call processing software in a telecommunications switching system, during continuing operation thereof, without a material risk of system disruption, and wherein both existing calls and new calls are processed in a series of transactions and both have associated therein dynamic data which is created and used during the processing of each transaction and deleted when the processing is complete and semipermanent data which is used by and survives the processing of a plurality of transactions, said system comprising:
-
means for operatively installing the new software in the system while the old software continues to process calls; means for transferring data from the old software to the new software; means for running a plurality of test calls through the system and routing all said test calls to the new software for processing thereby; means for routing all of the new calls received by the system to the new software in response to the new software successfully processing said test calls; and means for removing the old software from the system in response to successful processing of all of the new calls by the new software, and a termination of all calls being processed by the old software. - View Dependent Claims (88, 89, 90, 91, 92, 93)
-
-
94. A system for smoothly and automatically changing from old call processing software to new call processing software in a telecommunications switching system during continuing operation thereof, said system comprising:
-
means for operatively installing the new software in the system while the old software continues to process calls; means for running a plurality of test calls through the system and routing all said test calls to the new software for processing thereby, without halting all actual telecommunications traffic to the old software including, means for routing only simulated calls to the new software for processing thereby, while all actual calls continue to be processed by the old software; and means for routing both simulated calls and a select number of new calls to the new software for processing thereby, in response to said simulated calls being successfully processed by the new software, while all remaining new calls continue to be processed by the old software; means for routing all of the new calls received by the system to the new software in response to the new software successfully processing said test calls; and means for removing the old software from the system in response to successful processing of all of the new calls by the new software, and a termination or transfer of all calls being processed by the old software.
-
-
95. A system for dynamically binding first and second modules respectively disposed in first and second software applications by providing a set of direction points for dynamically directing chains of events within the operational software system to either one or the other of said first and second applications, said system comprising:
-
means for analyzing messages addressed by function name; means for directing those messages to processes in each of said first and second modules; and means for directing the execution of a process by dynamic runtime binding to continue the execution of said process in either of said first or second software modules.
-
Specification