[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

US6074435A - Remote software download with automatic adjustment for data access compatibility - Google Patents

Remote software download with automatic adjustment for data access compatibility Download PDF

Info

Publication number
US6074435A
US6074435A US08/961,446 US96144697A US6074435A US 6074435 A US6074435 A US 6074435A US 96144697 A US96144697 A US 96144697A US 6074435 A US6074435 A US 6074435A
Authority
US
United States
Prior art keywords
software
version
memory
data processor
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
US08/961,446
Inventor
Jonas Rojestål
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
IDTP Holdings Inc
Original Assignee
Telefonaktiebolaget LM Ericsson AB
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Telefonaktiebolaget LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Priority to US08/961,446 priority Critical patent/US6074435A/en
Assigned to TELEFONAKTIEBOLAGET L M ERICSSON (PUBL) reassignment TELEFONAKTIEBOLAGET L M ERICSSON (PUBL) ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: ROJESTAL, JONAS
Priority to PCT/SE1998/001943 priority patent/WO1999023556A1/en
Priority to CA002309085A priority patent/CA2309085A1/en
Priority to AU97722/98A priority patent/AU753344B2/en
Priority to DE69837676T priority patent/DE69837676T2/en
Priority to CN98810821A priority patent/CN1118749C/en
Priority to JP2000519351A priority patent/JP2001522085A/en
Priority to EP98951886A priority patent/EP1025494B1/en
Publication of US6074435A publication Critical patent/US6074435A/en
Application granted granted Critical
Assigned to IDTP HOLDINGS, INC. reassignment IDTP HOLDINGS, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Definitions

  • a new version of software when a new version of software includes improved functionality and/or improved diagnostic capabilities relative to an older version of the software, it is often desirable to replace the older version of software with the newer, improved version of software.
  • a spare or replacement component that has already been programmed with an older version of software is introduced into a system whose other components utilize a newer version of the software, then it may be desirable to modify the spare component to replace its older software version with the newer software version used in the other system components so that, for example, all system components are executing the same version of software.
  • remote source 11 is connected by communication bus 23 to data processor 13 and performs a remote software download via bus 23 into program memory 15 of data processor 13.
  • FIG. 2 illustrates the effect of the remote software download of FIG. 1. More specifically, the currently executing software SWc is executed by execution portion 21 of data processor 13 until the downloaded software SWd is downloaded from the remote source 11, at which time SWd begins to be executed by execution portion 21. Because the system already provides bus 23 for communication between the remote source 11 and data processor 13, and because the geographic location of data processor 13 may make it difficult to physically or manually access data processor 13, the bus 23 is advantageously used to perform the remote software download to data processor 13.
  • FIGS. 3 and 4 respectively illustrate relevant portions of SWc and SWd in diagrammatic fashion.
  • SWc and SWd are different versions of software.
  • SWc includes a data handler portion 31 which handles data from data memory 17 of FIG. 1 differently than does the data handler portion 41 of SWd in FIG. 4.
  • the data accessed at 33 by data handler 31 of SWc in FIG. 3 will not necessarily be compatible with the data handler 41 of SWd in FIG. 4, and the data accessed at 43 by data handler 41 of SWd will not necessarily be compatible with the data handler 31 of SWc in FIG. 3.
  • each of the different data handlers 31 and 41 of respective software versions SWc and SWd may require a different data format than the other one and/or may require a different data memory layout (or configuration) than the other one.
  • the accessed data in FIGS. 3 and 4 can be, for example, a database, a volatile memory such as a RAM, a non-volatile memory such as flash memory, floppy disk or hard disk, or a file format.
  • SWc may require the accessed data to have a different format than is required by SWd, and SWc may require the data memory 17 to be configured differently than the memory configuration required by SWd.
  • replacing SWc with SWd by remote download as illustrated in FIGS. 1 and 2 will often result in SWd attempting to access a data memory 17 whose data format and memory configuration is not compatible with that required by SWd.
  • FIG. 5 illustrates the download control of SWc. Recall from FIG. 2 that SWc is executing on data processor 13 until SWd is downloaded from remote source 11.
  • the download control portion 50 of SWc receives and stores the SWd download at 51, and awaits at 53 a command from the remote source 11 to allow SWd to begin execution.
  • SWc at 55 causes data processor 13 to restart, running SWd.
  • FIG. 6 illustrates the download reformat portion 60 of SWd.
  • SWd determines whether or not it supports the current database (DB) format, which in most cases it will because it is a newer version of software than SWc. Nevertheless, if SWd does not support the current database format, then SWd, which is capable of handling the SWc format of the database, simply reformats the database to its preferred format at 63.
  • SWd determines whether or not it supports the current memory configuration, which in most causes it will because it is a newer version of software than SWc. Nevertheless, if SWd does not support the current memory configuration, it uses its capability to handle the SWc memory configuration and simply changes the configuration to its own preferred configuration at 67.
  • Another conventional approach is to update the data handler of every existing version of software whenever a new version of software with a different data handler and different data format and data configuration requirements is released. This is of course very costly and time consuming for the software vendor. Moreover, it is difficult to get such updated software into use in all customer systems.
  • the customer does not want to "disturb" a system more than absolutely needed, which may force the supplier to provide system components which each have a different software version pre-programmed therein but are otherwise identical.
  • the supplier must then keep track of which software version is used by which customer, and deliver equipment with that customer's software version programmed therein in order to avoid the above-described process of replacing a newer software version with an older software version when the equipment is installed in the system. This requirement of providing various equipments with different software versions therein and keeping track of which software versions are used by which customer systems adds more complexity to production of the equipment, which is very costly and time consuming for the supplier.
  • the present invention provides for remote downloading of an older version of software to replace a newer version of software wherein the downloaded older version of software encounters a data format and memory configuration with which it is compatible.
  • the technique of the present invention does not require manual intervention at the site of the data memory, does not require updating the data handler of every existing version of software whenever a new version of software is released, and does not require the data handler of the first version of software to meet all data handling, data formatting and memory configuration needs of every subsequent version of the software released in the future.
  • FIG. 1 illustrates a conventional distributed computer system wherein software from a source located remotely away from a data processor is downloaded into a program memory of the data processor.
  • FIG. 2 illustrates conceptually the effect of downloading software from the remote source into the data processor of FIG. 1.
  • FIG. 3 illustrates the data handler portion and accessed data associated with the current software version shown in FIG. 2.
  • FIG. 4 illustrates the data handler portion and accessed data associated with the downloaded software version shown in FIG. 2.
  • FIG. 5 is a flow diagram of a conventional download control portion of the current software version of FIG. 2.
  • FIG. 6 is a flow diagram of a conventional download reformat portion of the downloaded software version illustrated in FIG. 2.
  • FIG. 7 is a flow diagram of a download control portion to be executed by the current software version according to the present invention.
  • FIG. 8 is a flow diagram of a download reformat portion to be executed by the downloaded software according to the present invention.
  • FIG. 9 illustrates pertinent portions of all new software versions according to the present invention.
  • FIG. 10 illustrates diagrammatically a cellular telephone system incorporating the software download techniques of the present invention.
  • FIG. 11 illustrates one of the base station controllers and one of the base transceiver stations of FIG. 10 in greater detail.
  • Example FIG. 7 illustrates a download control routine 70 to be executed by the currently executing software SWc, according to the present invention.
  • the downloaded software SWd is received and stored.
  • SWc waits for a command from the remote source 11 to begin execution of SWd.
  • Swc determines at 75 whether or not SWd is an older software version than is SWc. This can be determined, for example, by comparing a status field in SWd with a corresponding status field in SWc.
  • SWc at 77 causes the data processor to restart, running SWd. If the downloaded software SWd is older than the currently running software SWd, then SWc, by virtue of being a later version than SWd, determines at 79 whether or not the database is supported by SWd. If the database is not supported by SWd, then SWc reformats the database at 72. At 74, SWc determines whether or not SWd supports the current memory configuration. If SWd does not support the current memory configuration, then SWc at 76 changes the memory configuration to be compatible with SWd. Thus, SWc reformats the database only if necessary for compatibility with SWd, and SWc changes the current memory configuration only if necessary for compatibility with SWd. If the current database is compatible with SWd, then it remains unchanged, and if the current memory configuration is compatible with SWd, then it remains unchanged.
  • Example FIG. 8 illustrates the download reformat portion 80 of the downloaded software SWd, according to the present invention.
  • SWd causes the data processor 13 to restart running SWd at 77 in FIG. 7
  • SWd determines at 81 whether or not SWd is an older version than SWc. If so, then any necessary data reformatting and memory reconfiguration have already occurred at 72 and 76 of the download control portion of SWc in FIG. 7. If SWd is not older than SWc at 81, then SWd is a newer version than SWc.
  • SWd determines at 83 whether or not it supports the current database format, and reformats as needed at 85, and then determines at 87 whether or not it supports the current memory configuration, and changes the configuration as needed at 89.
  • download control routine 70 of SWc and download reformat routine 80 of SWd provide for data format and memory configuration compatibility regardless of whether the downloaded software SWd is a newer version or an older version than currently executing software SWc.
  • Example FIG. 9 illustrates another feature of the present invention wherein all new software versions S NEW include download control routine 70 from FIG. 7 and download reformat routine 80 from FIG. 8, along with the unique data handler portion 91 associated with that particular version of software (and other unillustrated functional portions that are not necessary to understand the invention).
  • download control 70 and download reformat 80 included in all software versions, whenever any software version is downloaded to replace any other software version, and regardless of which version is older, the download process will automatically render the data format and memory configuration compatible to the requirements of data handler 91.
  • the currently executing software will execute the download control routine 70, while the downloaded software will execute the download reformat routine 80.
  • the data processor will access data memory as needed to render its configuration and data format compatible with data handler 91.
  • any desired data access parameter can be adjusted using the procedures of FIGS. 7 and 8.
  • any desired target parameter could be considered at 83 or 79, and adjusted as needed at 85 or 72.
  • data handler 91 of each new software release S NEW advantageously includes full knowledge of the manner in which all data handlers of previous versions handle data (e.g., data formats, memory configurations). Such information is readily available and easily included in new software releases. This information permits the software S NEW to determine the need for, and perform as needed, the reformat and reconfiguration functions shown in FIGS. 7 and 8.
  • Example FIG. 10 illustrates a cellular telephone system which incorporates the above-described features of the present invention.
  • a public switched telephone network 101 is connected to a mobile services switching center 103, which is in turn connected to base station controllers 105, which are in turn connected to base transceiver stations 107.
  • the base transistor stations then are connected via the air interface to mobile communication devices such as mobile telephones at 109.
  • Example FIG. 11 illustrates one of the base station controllers 105 of FIG. 10 executing a remote software download to a program memory 111 of a data processor 113 in one of the base transceiver stations 107.
  • the base transceiver station (BTS) at 107 also includes data memory 117 connected to data processor 113, and data processor 113 includes execute portion 115 to execute software stored in program memory 111.
  • Some exemplary reasons why data in a database may need to be reformatted include: (1) to add a database element/parameter (with some default values) that was removed by SWc but is required by SWd; (2) to remove a database element/parameter that was added by SWc but is not supported by SWd; and (3) to change the size of a database element/parameter to a size supported by SWd, for example, the size of an error log may have been increased or decreased from one software release to another.
  • Some exemplary reasons for changing the memory configuration include: (1) to change the memory location of a database element/parameter such as an error log; (2) to change the memory location of a program stored in the memory; and (3) to change the storage structure of programs such as library routines that are stored in the memory, for example, changing between a "stacked" storage structure (wherein the software modules are stored in memory consecutively, one after another) and a "segmented” storage structure (wherein the software is divided into small segments and stored in the next free segment).

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Abstract

In a method of replacing a first version of software with a second version of software, the second version of software is loaded into a data processor on which the first version of software is running. While the first version of software is running on the data processor, the first version of software is used to modify a data memory for compatibility with the second version of software.

Description

BACKGROUND OF THE INVENTION
In the field of data processing, software designers continually develop and release new versions of software having improved functionality relative to older versions of the software. In conventional computer systems, there are various reasons for substituting a newer version of software for an older version of software, and for substituting an older version of software for a newer version of software.
For example, when a new version of software includes improved functionality and/or improved diagnostic capabilities relative to an older version of the software, it is often desirable to replace the older version of software with the newer, improved version of software. As another example, if a spare or replacement component that has already been programmed with an older version of software is introduced into a system whose other components utilize a newer version of the software, then it may be desirable to modify the spare component to replace its older software version with the newer software version used in the other system components so that, for example, all system components are executing the same version of software.
In other instances, it may be desirable to replace a newer version of software with an older version of software. For example, if a new component that has already been programmed with a new version of software is introduced into an older system whose other components run an older version of the software, it may be desirable to modify the new component by replacing its newer version of software with the older version of software used in the other system components to, for example, ensure that all system components are executing the same version of software. As another example, if one component of a system is updated to run a newer version of software, and thereafter the system develops operational problems, then it may be desirable to change the software in that one component back to the older version that was in use before the operational problems arose.
In a distributed computer system wherein the various components can be geographically located quite remotely from one another, it is often desirable, when substituting one version of software for another version, to download the desired version of software from a remote source to a program memory in the desired destination. The download is typically executed via a connection that is otherwise used for other types of communication between the remote source and the data processor. For example, the remote source could be another data processor in the system, and the connection could be a communication bus connected between the data processors. This is illustrated in FIG. 1 wherein remote source 11 is connected by communication bus 23 to data processor 13 and performs a remote software download via bus 23 into program memory 15 of data processor 13.
FIG. 2 illustrates the effect of the remote software download of FIG. 1. More specifically, the currently executing software SWc is executed by execution portion 21 of data processor 13 until the downloaded software SWd is downloaded from the remote source 11, at which time SWd begins to be executed by execution portion 21. Because the system already provides bus 23 for communication between the remote source 11 and data processor 13, and because the geographic location of data processor 13 may make it difficult to physically or manually access data processor 13, the bus 23 is advantageously used to perform the remote software download to data processor 13.
FIGS. 3 and 4 respectively illustrate relevant portions of SWc and SWd in diagrammatic fashion. SWc and SWd are different versions of software. SWc includes a data handler portion 31 which handles data from data memory 17 of FIG. 1 differently than does the data handler portion 41 of SWd in FIG. 4. Thus, the data accessed at 33 by data handler 31 of SWc in FIG. 3 will not necessarily be compatible with the data handler 41 of SWd in FIG. 4, and the data accessed at 43 by data handler 41 of SWd will not necessarily be compatible with the data handler 31 of SWc in FIG. 3. For example, each of the different data handlers 31 and 41 of respective software versions SWc and SWd may require a different data format than the other one and/or may require a different data memory layout (or configuration) than the other one.
The accessed data in FIGS. 3 and 4 can be, for example, a database, a volatile memory such as a RAM, a non-volatile memory such as flash memory, floppy disk or hard disk, or a file format. As indicated above, SWc may require the accessed data to have a different format than is required by SWd, and SWc may require the data memory 17 to be configured differently than the memory configuration required by SWd. Thus, replacing SWc with SWd by remote download as illustrated in FIGS. 1 and 2 will often result in SWd attempting to access a data memory 17 whose data format and memory configuration is not compatible with that required by SWd.
One conventional approach to this problem is to design the original software version with a data handler that provides all possible data format and memory configuration parameters that could be needed by future versions of the software. In this manner, any version of the software would, when downloaded to replace another version, find data memory 17 having a data format and memory configuration that it requires. This is of course a very difficult task because it is virtually impossible to predict the data format and memory configuration that will be required by future versions of the software. Even if it were possible to perform this task, it would be extremely expensive to perform because of the extended amount of time necessary to predict all possible data formats and memory configurations that could be needed in the future.
Another conventional solution to the data access compatibility problem is visiting the site of data memory 17 and manually reformatting the data and reconfiguring the memory at the time that SWd is downloaded. Such manual intervention is very costly and time consuming (data memory 17 may be very remotely located), and may cause major disturbances in data flow to and from the other system components illustrated at 19 in FIG. 1.
Another conventional solution recognizes that the data handler of a newer version of software can, in most cases, handle the data format and memory configuration required by the data handlers of all previously released versions of the software. This solution is illustrated by the flow charts of FIGS. 5 and 6.
FIG. 5 illustrates the download control of SWc. Recall from FIG. 2 that SWc is executing on data processor 13 until SWd is downloaded from remote source 11. The download control portion 50 of SWc receives and stores the SWd download at 51, and awaits at 53 a command from the remote source 11 to allow SWd to begin execution. When the remote source commands execution of SWd, SWc at 55 causes data processor 13 to restart, running SWd.
FIG. 6 illustrates the download reformat portion 60 of SWd. At 61, SWd determines whether or not it supports the current database (DB) format, which in most cases it will because it is a newer version of software than SWc. Nevertheless, if SWd does not support the current database format, then SWd, which is capable of handling the SWc format of the database, simply reformats the database to its preferred format at 63. At 65, SWd determines whether or not it supports the current memory configuration, which in most causes it will because it is a newer version of software than SWc. Nevertheless, if SWd does not support the current memory configuration, it uses its capability to handle the SWc memory configuration and simply changes the configuration to its own preferred configuration at 67.
It is again emphasized that the technique, illustrated in FIGS. 5 and 6, of downloading a newer version of software and having that newer version reformat the data and reconfigure the memory as needed, only addresses the relatively minor problem of data access incompatibility when a newer version of software replaces an older version of software. On the other hand, an older version of software generally cannot handle the data format and memory configuration used by later versions of software. Thus, in situations like those described above where an older version of software replaces a newer version of software, manual intervention must occur at the site of data memory 17 in order to manually reformat the data and reconfigure the memory for compatibility with the data handler of the older version of software that has been downloaded.
Another conventional approach is to update the data handler of every existing version of software whenever a new version of software with a different data handler and different data format and data configuration requirements is released. This is of course very costly and time consuming for the software vendor. Moreover, it is difficult to get such updated software into use in all customer systems. The customer does not want to "disturb" a system more than absolutely needed, which may force the supplier to provide system components which each have a different software version pre-programmed therein but are otherwise identical. The supplier must then keep track of which software version is used by which customer, and deliver equipment with that customer's software version programmed therein in order to avoid the above-described process of replacing a newer software version with an older software version when the equipment is installed in the system. This requirement of providing various equipments with different software versions therein and keeping track of which software versions are used by which customer systems adds more complexity to production of the equipment, which is very costly and time consuming for the supplier.
It is therefore desirable to provide for remote downloading of an older version of software to replace a newer version of software wherein the data format and memory configuration provided to the older version of software is compatible with the older version of software, without need for manual intervention at the site of the data memory, without need for updating the data handler portion of every software version whenever a new software version is released, and without need to design the earliest software version such that its data handler will be compatible with the data handlers of every subsequent future version of the software.
The present invention provides for remote downloading of an older version of software to replace a newer version of software wherein the downloaded older version of software encounters a data format and memory configuration with which it is compatible. The technique of the present invention does not require manual intervention at the site of the data memory, does not require updating the data handler of every existing version of software whenever a new version of software is released, and does not require the data handler of the first version of software to meet all data handling, data formatting and memory configuration needs of every subsequent version of the software released in the future.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 illustrates a conventional distributed computer system wherein software from a source located remotely away from a data processor is downloaded into a program memory of the data processor.
FIG. 2 illustrates conceptually the effect of downloading software from the remote source into the data processor of FIG. 1.
FIG. 3 illustrates the data handler portion and accessed data associated with the current software version shown in FIG. 2.
FIG. 4 illustrates the data handler portion and accessed data associated with the downloaded software version shown in FIG. 2.
FIG. 5 is a flow diagram of a conventional download control portion of the current software version of FIG. 2.
FIG. 6 is a flow diagram of a conventional download reformat portion of the downloaded software version illustrated in FIG. 2.
FIG. 7 is a flow diagram of a download control portion to be executed by the current software version according to the present invention.
FIG. 8 is a flow diagram of a download reformat portion to be executed by the downloaded software according to the present invention.
FIG. 9 illustrates pertinent portions of all new software versions according to the present invention.
FIG. 10 illustrates diagrammatically a cellular telephone system incorporating the software download techniques of the present invention.
FIG. 11 illustrates one of the base station controllers and one of the base transceiver stations of FIG. 10 in greater detail.
DETAILED DESCRIPTION
Example FIG. 7 illustrates a download control routine 70 to be executed by the currently executing software SWc, according to the present invention. At 71, the downloaded software SWd is received and stored. At 73, SWc waits for a command from the remote source 11 to begin execution of SWd. When the command to begin execution of SWd is received, Swc determines at 75 whether or not SWd is an older software version than is SWc. This can be determined, for example, by comparing a status field in SWd with a corresponding status field in SWc.
If SWd is not an older version than SWc, then SWc at 77 causes the data processor to restart, running SWd. If the downloaded software SWd is older than the currently running software SWd, then SWc, by virtue of being a later version than SWd, determines at 79 whether or not the database is supported by SWd. If the database is not supported by SWd, then SWc reformats the database at 72. At 74, SWc determines whether or not SWd supports the current memory configuration. If SWd does not support the current memory configuration, then SWc at 76 changes the memory configuration to be compatible with SWd. Thus, SWc reformats the database only if necessary for compatibility with SWd, and SWc changes the current memory configuration only if necessary for compatibility with SWd. If the current database is compatible with SWd, then it remains unchanged, and if the current memory configuration is compatible with SWd, then it remains unchanged.
Example FIG. 8 illustrates the download reformat portion 80 of the downloaded software SWd, according to the present invention. When SWc causes the data processor 13 to restart running SWd at 77 in FIG. 7, SWd then determines at 81 whether or not SWd is an older version than SWc. If so, then any necessary data reformatting and memory reconfiguration have already occurred at 72 and 76 of the download control portion of SWc in FIG. 7. If SWd is not older than SWc at 81, then SWd is a newer version than SWc. Thus, SWd determines at 83 whether or not it supports the current database format, and reformats as needed at 85, and then determines at 87 whether or not it supports the current memory configuration, and changes the configuration as needed at 89.
It can be seen from the foregoing description of FIGS. 7 and 8 that the combination of download control routine 70 of SWc and download reformat routine 80 of SWd provide for data format and memory configuration compatibility regardless of whether the downloaded software SWd is a newer version or an older version than currently executing software SWc.
Example FIG. 9 illustrates another feature of the present invention wherein all new software versions SNEW include download control routine 70 from FIG. 7 and download reformat routine 80 from FIG. 8, along with the unique data handler portion 91 associated with that particular version of software (and other unillustrated functional portions that are not necessary to understand the invention). With the download control 70 and download reformat 80 included in all software versions, whenever any software version is downloaded to replace any other software version, and regardless of which version is older, the download process will automatically render the data format and memory configuration compatible to the requirements of data handler 91. The currently executing software will execute the download control routine 70, while the downloaded software will execute the download reformat routine 80. Thus, the data processor will access data memory as needed to render its configuration and data format compatible with data handler 91.
Although data format and memory configuration are targeted for adjustment in the examples of FIGS. 7 and 8, any desired data access parameter can be adjusted using the procedures of FIGS. 7 and 8. For example, any desired target parameter could be considered at 83 or 79, and adjusted as needed at 85 or 72.
Also, data handler 91 of each new software release SNEW advantageously includes full knowledge of the manner in which all data handlers of previous versions handle data (e.g., data formats, memory configurations). Such information is readily available and easily included in new software releases. This information permits the software SNEW to determine the need for, and perform as needed, the reformat and reconfiguration functions shown in FIGS. 7 and 8.
Example FIG. 10 illustrates a cellular telephone system which incorporates the above-described features of the present invention. As is conventional, a public switched telephone network 101 is connected to a mobile services switching center 103, which is in turn connected to base station controllers 105, which are in turn connected to base transceiver stations 107. The base transistor stations then are connected via the air interface to mobile communication devices such as mobile telephones at 109.
Example FIG. 11 illustrates one of the base station controllers 105 of FIG. 10 executing a remote software download to a program memory 111 of a data processor 113 in one of the base transceiver stations 107. The base transceiver station (BTS) at 107 also includes data memory 117 connected to data processor 113, and data processor 113 includes execute portion 115 to execute software stored in program memory 111.
It should be noted that the "data" that is handled and reformatted by SWc and SWd could be in pure data or a program such as a library routine, and "data" memories 17 and 117 could hold pure data and/or one or more programs.
Some exemplary reasons why data in a database may need to be reformatted include: (1) to add a database element/parameter (with some default values) that was removed by SWc but is required by SWd; (2) to remove a database element/parameter that was added by SWc but is not supported by SWd; and (3) to change the size of a database element/parameter to a size supported by SWd, for example, the size of an error log may have been increased or decreased from one software release to another.
Some exemplary reasons for changing the memory configuration include: (1) to change the memory location of a database element/parameter such as an error log; (2) to change the memory location of a program stored in the memory; and (3) to change the storage structure of programs such as library routines that are stored in the memory, for example, changing between a "stacked" storage structure (wherein the software modules are stored in memory consecutively, one after another) and a "segmented" storage structure (wherein the software is divided into small segments and stored in the next free segment).
Using the present invention as described above, there are more possibilities to introduce new functions into a distributed system with less concern for forward and backward software capability. Also, the above-described disadvantages associated with the conventional solutions are avoided because all that is necessary according to the invention is to include the download control routine 70 and the reformat control routine 80 in each new software version, which is a virtually negligible expense in terms of time and money.
Although exemplary embodiments of the present invention have been described above in detail, this does not limit the scope of the invention, which can be practiced in a variety of embodiments.

Claims (11)

What is claimed is:
1. A method of replacing a first version of software with a second version of software, comprising:
running on a data processor a first version of software that is to be replaced;
loading into the data processor a second version of software that is to replace the first version of software; and
while running on the data processor, the first version of software examining the second version of software, determining from the second version of software that a memory should be modified for compatibility with the second version of software, and modifying the memory for compatibility with the second version of software.
2. The method of claim 1, including using the first version of software to modify the memory only if the second version of software is an earlier version than the first version of software.
3. The method of claim 1, wherein said step of loading the second version of software includes downloading the second version of software from a source apparatus into the data processor via a communication path that exists between the data processor and the source apparatus and that is also used for other communications between the source apparatus and the data processor.
4. The method of claim 1, wherein the data processor and memory are provided in a base transceiver station of a cellular telephone system, and wherein the second version of software is loaded into the data processor from a base station controller of the cellular telephone system.
5. The method of claim 1, wherein the first version of software modifies one of (a) the format of data in the memory and (b) the memory configuration of the memory.
6. A data processing apparatus, comprising:
a memory;
a data processor connected to said memory, said data processor including a program memory and an execution portion for executing a first version of software stored in said program memory, said data processor having an input for receiving a second version of software that is to replace the first version of software; and
said first version of software, while being executed by said execution portion, responsive to receipt of the second version of software at said input for examining the second version of software, determining from the second version of software that said memory should be modified for compatibility with the second version of software, and modifying said memory for compatibility with said second version of software.
7. The apparatus of claim 6, including a source apparatus for providing said second version of software, and a communication path coupling said source apparatus to said input of said data processor, wherein said communication path carries said second version of software from said source apparatus to said data processor, and wherein said communication path also carries between said source apparatus and said data processor information other than software.
8. The apparatus of claim 7, wherein said communication path includes a communication bus.
9. The apparatus of claim 6, wherein said data processing system is a cellular telephone system, and wherein said memory and said data processor are provided in a base transceiver station of said cellular telephone system, and including a base station controller connected to said input of said data processor for providing said second version of software to said input of said data processor.
10. The apparatus of claim 6, wherein said data processor uses said first version of software to access and modify said memory only if said second version of software is an earlier version than said first version of software.
11. The apparatus of claim 6, wherein said data processor modifies one of the format of data in the memory and (b) the memory configuration of the memory.
US08/961,446 1997-10-30 1997-10-30 Remote software download with automatic adjustment for data access compatibility Expired - Lifetime US6074435A (en)

Priority Applications (8)

Application Number Priority Date Filing Date Title
US08/961,446 US6074435A (en) 1997-10-30 1997-10-30 Remote software download with automatic adjustment for data access compatibility
DE69837676T DE69837676T2 (en) 1997-10-30 1998-10-27 DOWNLOAD SOFTWARE WITH AUTOMATIC ADJUSTMENT FOR DATA ACCESS COMPLIANCE
CA002309085A CA2309085A1 (en) 1997-10-30 1998-10-27 Remote software download with automatic adjustment for data access compatibility
AU97722/98A AU753344B2 (en) 1997-10-30 1998-10-27 Remote software download with automatic adjustment for data access compatibility
PCT/SE1998/001943 WO1999023556A1 (en) 1997-10-30 1998-10-27 Remote software download with automatic adjustment for data access compatibility
CN98810821A CN1118749C (en) 1997-10-30 1998-10-27 Remote software download with automatic adjustment for data access compatibility
JP2000519351A JP2001522085A (en) 1997-10-30 1998-10-27 Remote software download with automatic adjustment for data access compatibility
EP98951886A EP1025494B1 (en) 1997-10-30 1998-10-27 Remote software download with automatic adjustment for data access compatibility

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US08/961,446 US6074435A (en) 1997-10-30 1997-10-30 Remote software download with automatic adjustment for data access compatibility

Publications (1)

Publication Number Publication Date
US6074435A true US6074435A (en) 2000-06-13

Family

ID=25504479

Family Applications (1)

Application Number Title Priority Date Filing Date
US08/961,446 Expired - Lifetime US6074435A (en) 1997-10-30 1997-10-30 Remote software download with automatic adjustment for data access compatibility

Country Status (8)

Country Link
US (1) US6074435A (en)
EP (1) EP1025494B1 (en)
JP (1) JP2001522085A (en)
CN (1) CN1118749C (en)
AU (1) AU753344B2 (en)
CA (1) CA2309085A1 (en)
DE (1) DE69837676T2 (en)
WO (1) WO1999023556A1 (en)

Cited By (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6205581B1 (en) * 1997-11-07 2001-03-20 Samsung Electronics Co., Ltd. Method for replace-block loading in a multiprocessor system
US6209127B1 (en) * 1997-06-05 2001-03-27 Matsushita Electrical Industrial Co., Ltd Terminal device capable of remote download, download method of loader program in terminal device, and storage medium storing loader program
US6226667B1 (en) * 1998-05-26 2001-05-01 International Business Machines Corporation Method and apparatus for preloading data in a distributed data processing system
US6360255B1 (en) * 1998-06-25 2002-03-19 Cisco Technology, Inc. Automatically integrating an external network with a network management system
US6389001B1 (en) * 1997-11-20 2002-05-14 Samsung Electronics, Co., Ltd. Method for downloading data to add functions to vocoder
US20020075824A1 (en) * 2000-12-14 2002-06-20 Willekes Tom J. System and method for distributing files in a wireless network infrastructure
US20020086688A1 (en) * 2000-12-29 2002-07-04 Samsung Electronics Co., Ltd. Method for processing messages in a cellular base station system
US20020124245A1 (en) * 2000-08-14 2002-09-05 Alvin Maddux Method and apparatus for advanced software deployment
US20020138594A1 (en) * 2001-02-02 2002-09-26 International Game Technology Wide area program distribution and game information communication system
US20030092438A1 (en) * 2001-11-14 2003-05-15 Moore Brian J. Method and apparatus for stabilizing calls during a system upgrade or downgrade
US20030149699A1 (en) * 2001-11-09 2003-08-07 Tsao Sheng A. Upward and downward compatible data processing system
US6622302B1 (en) * 2000-06-30 2003-09-16 Lsi Logic Corporation Methods and apparatus for dynamic version transition of management applications and attached subsystems
US6631313B2 (en) 1999-01-18 2003-10-07 Fujitsu Ten Limited Communication system for communication between in-vehicle terminals and center, and in-vehicle terminal employed in communication system
US6645077B2 (en) * 2000-10-19 2003-11-11 Igt Gaming terminal data repository and information distribution system
US20040068654A1 (en) * 2001-08-08 2004-04-08 Igt Process verification
US20040180721A1 (en) * 2000-12-21 2004-09-16 Igt Gaming terminal data repository and information distribution system
US20050038830A1 (en) * 2000-11-29 2005-02-17 Lee Hyung Sup Distribution of mainframe data in the PC environment
US20050240938A1 (en) * 2000-06-29 2005-10-27 Greg Lane E-commerce system and method relating to program objects
US20050257210A1 (en) * 2004-05-11 2005-11-17 Frank Stienhans Upgrading pattern configurations
US20050282638A1 (en) * 2000-11-04 2005-12-22 Igt Dynamic player notices for operational changes in gaming machines
US20060179274A1 (en) * 2005-02-04 2006-08-10 Mips Technologies, Inc. Instruction/skid buffers in a multithreading microprocessor
US20070032288A1 (en) * 2000-10-19 2007-02-08 Igt Remote configuration of gaming terminals
US20070270212A1 (en) * 2000-10-19 2007-11-22 Igt Executing multiple applications and their variations in computing environments
US20080032763A1 (en) * 2001-02-07 2008-02-07 Wms Gaming Inc. Centralized gaming system with modifiable femote display terminals
US7363237B1 (en) * 2002-12-31 2008-04-22 Adams Phillip M Enforcement process for correction of hardware and software defects
US7831047B2 (en) 2001-08-06 2010-11-09 Igt Digital identification of unique game characteristics
US20140310730A1 (en) * 2006-09-29 2014-10-16 Rockwell Automation Technologies, Inc. Multiple interface support
US20190349745A1 (en) * 2016-12-13 2019-11-14 Deutsche Telekom Ag Method for provisioning enhanced communication capabilities to user equipment
US10939395B2 (en) * 2017-04-10 2021-03-02 Qualcomm Incorporated Reference signal schemes in wireless communications
US20210132938A1 (en) * 2019-11-01 2021-05-06 Ricoh Company, Ltd. Information processing apparatus, information processing system, and information processing method
US11194564B1 (en) * 2019-04-29 2021-12-07 Splunk Inc. Maintaining compatibility in a multi-component application
US11256497B1 (en) 2019-04-29 2022-02-22 Splunk Inc. Enabling agile functionality updates using multi-component application
US11726990B2 (en) 2019-10-18 2023-08-15 Splunk Inc. Efficient updating of journey instances detected within unstructured event data
US11741131B1 (en) 2020-07-31 2023-08-29 Splunk Inc. Fragmented upload and re-stitching of journey instances detected within event data
US11836148B1 (en) 2019-01-31 2023-12-05 Splunk Inc. Data source correlation user interface
US12001426B1 (en) 2020-04-30 2024-06-04 Splunk Inc. Supporting graph data structure transformations in graphs generated from a query to event data

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7032219B2 (en) 2000-02-25 2006-04-18 Wind River Systems, Inc. System and method for implementing a project facility
US7111280B2 (en) 2000-02-25 2006-09-19 Wind River Systems, Inc. System and method for implementing a project facility
CN100426220C (en) * 2001-12-29 2008-10-15 中兴通讯股份有限公司 Device for realizing software down loading using single-chip processor in communication system and its method
US9152410B2 (en) * 2012-06-21 2015-10-06 Vaibhav KHANDELWAL Auto-update while running client interface with handshake

Citations (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5155847A (en) * 1988-08-03 1992-10-13 Minicom Data Corporation Method and apparatus for updating software at remote locations
US5247683A (en) * 1990-06-28 1993-09-21 International Business Machines Corporation System and method for installing software and updating configuration files
US5268928A (en) * 1991-10-15 1993-12-07 Racal-Datacom, Inc. Data modem with remote firmware update
US5337044A (en) * 1991-10-08 1994-08-09 Nomadic Systems, Inc. System for remote computer control using message broadcasting system
US5359730A (en) * 1992-12-04 1994-10-25 International Business Machines Corporation Method of operating a data processing system having a dynamic software update facility
US5410703A (en) * 1992-07-01 1995-04-25 Telefonaktiebolaget L M Ericsson System for changing software during computer operation
US5421009A (en) * 1993-12-22 1995-05-30 Hewlett-Packard Company Method of remotely installing software directly from a central computer
US5430878A (en) * 1992-03-06 1995-07-04 Microsoft Corporation Method for revising a program to obtain compatibility with a computer configuration
US5444861A (en) * 1992-06-01 1995-08-22 United Technologies Corporation System for downloading software
US5473772A (en) * 1991-04-02 1995-12-05 International Business Machines Corporation Automatic update of static and dynamic files at a remote network node in response to calls issued by or for application programs
US5635979A (en) * 1994-05-27 1997-06-03 Bell Atlantic Dynamically programmable digital entertainment terminal using downloaded software to control broadband data operations
US5666293A (en) * 1994-05-27 1997-09-09 Bell Atlantic Network Services, Inc. Downloading operating system software through a broadcast channel
US5701442A (en) * 1995-09-19 1997-12-23 Intel Corporation Method of modifying an instruction set architecture of a computer processor to maintain backward compatibility
US5732275A (en) * 1996-01-11 1998-03-24 Apple Computer, Inc. Method and apparatus for managing and automatically updating software programs
US5761504A (en) * 1996-02-16 1998-06-02 Motorola, Inc. Method for updating a software code in a communication system
US5764992A (en) * 1995-06-06 1998-06-09 Apple Computer, Inc. Method and apparatus for automatic software replacement
US5778234A (en) * 1992-05-08 1998-07-07 Paradyne Corporation Method for downloading programs
US5832275A (en) * 1994-12-13 1998-11-03 Novell, Inc. System for dynamically replacing operating software which provides distributed directory service after verifying that versions of new software and the operating software are compatible
US5845077A (en) * 1995-11-27 1998-12-01 Microsoft Corporation Method and system for identifying and obtaining computer software from a remote computer
US5845128A (en) * 1996-02-20 1998-12-01 Oracle Corporation Automatically preserving application customizations during installation of a new software release

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5579509A (en) * 1991-02-08 1996-11-26 International Business Machines Corporation Apparatus and method for verifying compatibility of system components
BR9402027A (en) * 1993-05-28 1994-12-13 Xerox Corp Process for managing a configuration and ensuring compatibility between components in a computer system, and process for eliminating incompatibilities between resident software and migration software in an automated computer system

Patent Citations (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5155847A (en) * 1988-08-03 1992-10-13 Minicom Data Corporation Method and apparatus for updating software at remote locations
US5564051A (en) * 1989-08-03 1996-10-08 International Business Machines Corporation Automatic update of static and dynamic files at a remote network node in response to calls issued by or for application programs
US5247683A (en) * 1990-06-28 1993-09-21 International Business Machines Corporation System and method for installing software and updating configuration files
US5473772A (en) * 1991-04-02 1995-12-05 International Business Machines Corporation Automatic update of static and dynamic files at a remote network node in response to calls issued by or for application programs
US5337044A (en) * 1991-10-08 1994-08-09 Nomadic Systems, Inc. System for remote computer control using message broadcasting system
US5268928A (en) * 1991-10-15 1993-12-07 Racal-Datacom, Inc. Data modem with remote firmware update
US5430878A (en) * 1992-03-06 1995-07-04 Microsoft Corporation Method for revising a program to obtain compatibility with a computer configuration
US5778234A (en) * 1992-05-08 1998-07-07 Paradyne Corporation Method for downloading programs
US5444861A (en) * 1992-06-01 1995-08-22 United Technologies Corporation System for downloading software
US5410703A (en) * 1992-07-01 1995-04-25 Telefonaktiebolaget L M Ericsson System for changing software during computer operation
US5359730A (en) * 1992-12-04 1994-10-25 International Business Machines Corporation Method of operating a data processing system having a dynamic software update facility
US5421009A (en) * 1993-12-22 1995-05-30 Hewlett-Packard Company Method of remotely installing software directly from a central computer
US5635979A (en) * 1994-05-27 1997-06-03 Bell Atlantic Dynamically programmable digital entertainment terminal using downloaded software to control broadband data operations
US5666293A (en) * 1994-05-27 1997-09-09 Bell Atlantic Network Services, Inc. Downloading operating system software through a broadcast channel
US5832275A (en) * 1994-12-13 1998-11-03 Novell, Inc. System for dynamically replacing operating software which provides distributed directory service after verifying that versions of new software and the operating software are compatible
US5764992A (en) * 1995-06-06 1998-06-09 Apple Computer, Inc. Method and apparatus for automatic software replacement
US5701442A (en) * 1995-09-19 1997-12-23 Intel Corporation Method of modifying an instruction set architecture of a computer processor to maintain backward compatibility
US5845077A (en) * 1995-11-27 1998-12-01 Microsoft Corporation Method and system for identifying and obtaining computer software from a remote computer
US5732275A (en) * 1996-01-11 1998-03-24 Apple Computer, Inc. Method and apparatus for managing and automatically updating software programs
US5761504A (en) * 1996-02-16 1998-06-02 Motorola, Inc. Method for updating a software code in a communication system
US5845128A (en) * 1996-02-20 1998-12-01 Oracle Corporation Automatically preserving application customizations during installation of a new software release

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Berzins. Software Merge: Semantics of Combining Changes to Programs. ACM. pp. 1875 1903, Nov. 1994. *
Berzins. Software Merge: Semantics of Combining Changes to Programs. ACM. pp. 1875-1903, Nov. 1994.
Tabatabai et al. Efficient and Language Independent Mobile Programs. ACM. pp. 127 136, May 1996. *
Tabatabai et al. Efficient and Language-Independent Mobile Programs. ACM. pp. 127-136, May 1996.

Cited By (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6209127B1 (en) * 1997-06-05 2001-03-27 Matsushita Electrical Industrial Co., Ltd Terminal device capable of remote download, download method of loader program in terminal device, and storage medium storing loader program
US6205581B1 (en) * 1997-11-07 2001-03-20 Samsung Electronics Co., Ltd. Method for replace-block loading in a multiprocessor system
US6389001B1 (en) * 1997-11-20 2002-05-14 Samsung Electronics, Co., Ltd. Method for downloading data to add functions to vocoder
US6226667B1 (en) * 1998-05-26 2001-05-01 International Business Machines Corporation Method and apparatus for preloading data in a distributed data processing system
US6360255B1 (en) * 1998-06-25 2002-03-19 Cisco Technology, Inc. Automatically integrating an external network with a network management system
US7349769B2 (en) 1999-01-18 2008-03-25 Fujitsu Ten Limited Communication system for communication between in-vehicle terminals and center, and in-vehicle terminal employed in communication system
US7286908B2 (en) 1999-01-18 2007-10-23 Fujitsu Ten Limited Communication system for communication between in-vehicle terminals and center, and in-vehicle terminal employed in communication system
US7280894B2 (en) 1999-01-18 2007-10-09 Fujitsu Ten Limited Communication system for communication between in-vehicle terminals and center, and in-vehicle terminal employed in communication system
US6631313B2 (en) 1999-01-18 2003-10-07 Fujitsu Ten Limited Communication system for communication between in-vehicle terminals and center, and in-vehicle terminal employed in communication system
US20060122743A1 (en) * 1999-01-18 2006-06-08 Fujitsu Ten Limited Communication system for communication between in-vehicle terminals and center, and in-vehicle terminal employed in communication system
US6647322B1 (en) * 1999-01-18 2003-11-11 Fujitsu Ten Limited Communication system for communication between in-vehicle terminals and center, and in-vehicle terminal employed in communication system
US20060122744A1 (en) * 1999-01-18 2006-06-08 Fujitsu Ten Limited Communication system for communication between in-vehicle terminals and center, and in-vehicle terminal employed in communication system
US20050246069A1 (en) * 1999-01-18 2005-11-03 Fujitsu Ten Limited Communication system for communication between in-vehicle terminals and center, and in-vehicle terminal employed in communication system
US6760650B2 (en) 1999-01-18 2004-07-06 Fijitsu Ten Limited Communication system for communication between in-vehicle terminals and center, and in-vehicle terminal employed in communication system
US8516473B2 (en) 2000-06-29 2013-08-20 S.W. Caldwell & Company Llc Converting a limited program object to a complete program object
US20050240938A1 (en) * 2000-06-29 2005-10-27 Greg Lane E-commerce system and method relating to program objects
US6622302B1 (en) * 2000-06-30 2003-09-16 Lsi Logic Corporation Methods and apparatus for dynamic version transition of management applications and attached subsystems
US20020124245A1 (en) * 2000-08-14 2002-09-05 Alvin Maddux Method and apparatus for advanced software deployment
US9754447B2 (en) 2000-10-19 2017-09-05 Igt Dynamic player notices for operational changes in gaming machines
US8556698B2 (en) 2000-10-19 2013-10-15 Igt Executing multiple applications and their variations in computing environments
US20070270212A1 (en) * 2000-10-19 2007-11-22 Igt Executing multiple applications and their variations in computing environments
US8814650B2 (en) 2000-10-19 2014-08-26 Igt Executing multiple applications and their variations in computing environments
US9836918B2 (en) 2000-10-19 2017-12-05 Igt Remote configuration of gaming terminals
US20070032288A1 (en) * 2000-10-19 2007-02-08 Igt Remote configuration of gaming terminals
US9251647B2 (en) 2000-10-19 2016-02-02 Igt Remote configuration of gaming terminals
US20040048671A1 (en) * 2000-10-19 2004-03-11 Igt Gaming terminal data repository and information distribution system
US6645077B2 (en) * 2000-10-19 2003-11-11 Igt Gaming terminal data repository and information distribution system
US8636596B2 (en) 2000-11-04 2014-01-28 Igt Dynamic player notices for operational changes in gaming machines
US20050282638A1 (en) * 2000-11-04 2005-12-22 Igt Dynamic player notices for operational changes in gaming machines
US20050038830A1 (en) * 2000-11-29 2005-02-17 Lee Hyung Sup Distribution of mainframe data in the PC environment
US8868515B2 (en) 2000-11-29 2014-10-21 Hyung Sup Lee Distribution of mainframe data in the PC environment
US20090157758A1 (en) * 2000-11-29 2009-06-18 Hyung Sup Lee Distribution of mainframe data in the PC environment
US6886160B1 (en) * 2000-11-29 2005-04-26 Hyung Sup Lee Distribution of mainframe data in the PC environment
US20020075824A1 (en) * 2000-12-14 2002-06-20 Willekes Tom J. System and method for distributing files in a wireless network infrastructure
US20040180721A1 (en) * 2000-12-21 2004-09-16 Igt Gaming terminal data repository and information distribution system
US20020086688A1 (en) * 2000-12-29 2002-07-04 Samsung Electronics Co., Ltd. Method for processing messages in a cellular base station system
US7186181B2 (en) 2001-02-02 2007-03-06 Igt Wide area program distribution and game information communication system
US20020138594A1 (en) * 2001-02-02 2002-09-26 International Game Technology Wide area program distribution and game information communication system
US20070197298A1 (en) * 2001-02-02 2007-08-23 Igt Wide area program distribution and game information communication system
US8540576B2 (en) 2001-02-02 2013-09-24 Igt Wide area program distribution and game information communication system
US20080032763A1 (en) * 2001-02-07 2008-02-07 Wms Gaming Inc. Centralized gaming system with modifiable femote display terminals
US7727071B2 (en) * 2001-02-07 2010-06-01 Wms Gaming Inc. Centralized gaming system with modifiable remote display terminals
US7831047B2 (en) 2001-08-06 2010-11-09 Igt Digital identification of unique game characteristics
US7996916B2 (en) 2001-08-08 2011-08-09 Igt Process verification
US20040068654A1 (en) * 2001-08-08 2004-04-08 Igt Process verification
US20030149699A1 (en) * 2001-11-09 2003-08-07 Tsao Sheng A. Upward and downward compatible data processing system
US7076491B2 (en) 2001-11-09 2006-07-11 Wuxi Evermore Upward and downward compatible data processing system
US20030092438A1 (en) * 2001-11-14 2003-05-15 Moore Brian J. Method and apparatus for stabilizing calls during a system upgrade or downgrade
US7363237B1 (en) * 2002-12-31 2008-04-22 Adams Phillip M Enforcement process for correction of hardware and software defects
US7747452B1 (en) * 2002-12-31 2010-06-29 Adams Phillip M Enforcement process for correction of hardware and software defects
US20050257210A1 (en) * 2004-05-11 2005-11-17 Frank Stienhans Upgrading pattern configurations
US7761865B2 (en) * 2004-05-11 2010-07-20 Sap Ag Upgrading pattern configurations
US20060179274A1 (en) * 2005-02-04 2006-08-10 Mips Technologies, Inc. Instruction/skid buffers in a multithreading microprocessor
US20140310730A1 (en) * 2006-09-29 2014-10-16 Rockwell Automation Technologies, Inc. Multiple interface support
US10185600B2 (en) * 2006-09-29 2019-01-22 Rockwell Automation Technologies, Inc. Multiple interface support
US11206527B2 (en) * 2016-12-13 2021-12-21 Deutsche Telekom Ag Method for provisioning enhanced communication capabilities to user equipment
US20190349745A1 (en) * 2016-12-13 2019-11-14 Deutsche Telekom Ag Method for provisioning enhanced communication capabilities to user equipment
US10939395B2 (en) * 2017-04-10 2021-03-02 Qualcomm Incorporated Reference signal schemes in wireless communications
US11595920B2 (en) 2017-04-10 2023-02-28 Qualcomm Incorporated Reference signal schemes in wireless communications
US11836148B1 (en) 2019-01-31 2023-12-05 Splunk Inc. Data source correlation user interface
US11194564B1 (en) * 2019-04-29 2021-12-07 Splunk Inc. Maintaining compatibility in a multi-component application
US11256497B1 (en) 2019-04-29 2022-02-22 Splunk Inc. Enabling agile functionality updates using multi-component application
US11829746B1 (en) 2019-04-29 2023-11-28 Splunk Inc. Enabling agile functionality updates using multi-component application
US11726990B2 (en) 2019-10-18 2023-08-15 Splunk Inc. Efficient updating of journey instances detected within unstructured event data
US20210132938A1 (en) * 2019-11-01 2021-05-06 Ricoh Company, Ltd. Information processing apparatus, information processing system, and information processing method
US11875142B2 (en) * 2019-11-01 2024-01-16 Ricoh Company, Ltd. Information processing apparatus, information processing system, and information processing method
US12001426B1 (en) 2020-04-30 2024-06-04 Splunk Inc. Supporting graph data structure transformations in graphs generated from a query to event data
US11741131B1 (en) 2020-07-31 2023-08-29 Splunk Inc. Fragmented upload and re-stitching of journey instances detected within event data

Also Published As

Publication number Publication date
EP1025494B1 (en) 2007-04-25
CN1118749C (en) 2003-08-20
AU9772298A (en) 1999-05-24
DE69837676T2 (en) 2007-12-27
AU753344B2 (en) 2002-10-17
WO1999023556A1 (en) 1999-05-14
DE69837676D1 (en) 2007-06-06
JP2001522085A (en) 2001-11-13
CN1278343A (en) 2000-12-27
CA2309085A1 (en) 1999-05-14
EP1025494A1 (en) 2000-08-09

Similar Documents

Publication Publication Date Title
US6074435A (en) Remote software download with automatic adjustment for data access compatibility
US7542758B2 (en) Field downloading of wireless device software
US20040250247A1 (en) Extensible software installation and configuration framework
US8479180B2 (en) Maintenance of over the air upgradeable wireless communication device software
US8250566B2 (en) Automated software upgrade and distribution
FI103698B (en) A method and system for modifying data in a distributed data network a
US5421009A (en) Method of remotely installing software directly from a central computer
US6668261B1 (en) Method of upgrading a program using associated configuration data
EP1410193B1 (en) System and method for updating persistent data in a wireless communications device
CN101124559B (en) Installation method and information processing apparatus
US6009500A (en) Replacement of erroneous firmware in a redundant non-volatile memory system
CN107870771B (en) Application program construction and upgrading method and system
US8447346B2 (en) SDR terminal and reconfiguration method
US6336215B1 (en) Apparatus and method for on-line code only replacement of a running program using checkpoints
US5257376A (en) Method and apparatus for configuring a control program nucleus with a minimum impact on system availabiltiy
US20010042242A1 (en) Arrangements offering firmware support for different input/output (i/o) types
US20030022665A1 (en) System and method for organizing field upgradable wireless communication device software
US20120185840A1 (en) Computer-Readable Medium, Apparatus, and Methods of Automatic Capability Installation
CN116684243A (en) Method and terminal for managing SCA component
US11372627B2 (en) System and method for providing integrated development environment (IDE) for programmable software system
CN112152832A (en) Management object processing method and device, related equipment and storage medium
US20240378045A1 (en) Mobile industrial system embedded content unlocking and new content installation
CN111309652B (en) Host message sending method, system on chip and storage medium
JPH0241523A (en) Version number managing system
US7761679B2 (en) Method for recovering from download failure of program and portable terminal employing the method

Legal Events

Date Code Title Description
AS Assignment

Owner name: TELEFONAKTIEBOLAGET L M ERICSSON (PUBL), SWEDEN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ROJESTAL, JONAS;REEL/FRAME:008905/0052

Effective date: 19971029

STCF Information on status: patent grant

Free format text: PATENTED CASE

CC Certificate of correction
FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

FPAY Fee payment

Year of fee payment: 4

FPAY Fee payment

Year of fee payment: 8

FPAY Fee payment

Year of fee payment: 12

FEPP Fee payment procedure

Free format text: PAYER NUMBER DE-ASSIGNED (ORIGINAL EVENT CODE: RMPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY