DELTA FILE SOFTWARE LOADING IN CELLULAR TELECOMMUNICATION SYSTEMS
BYINVENTOR Bror Erik Gunnar Genell
FIELD OF THE INVENTION
The present invention relates generally to software loading in cellular telecommunication systems. In particular, it pertains to a method of loading a software file by generating a substantially smaller delta file which is used to reconstruct the original software file.
BACKGROUND OF THE INVENTION
Software loading plays a significant role in the operation of complex electronic equipment such as cellular telecommunication systems. Within cellular systems, software loading is necessary in several instances. For example, the functionality of modern cellular systems is, to a large extent, controlled by software. One common motivation for software loading is to provide system upgrades in the form of migratory releases of predetermined software packages. Furthermore, functional changes and enhancements may be added and activated by newly installed software. By way of example, an analog network operating on the Advanced Mobile Phone System (AMPS) can be upgraded to a Digital Advanced Mobile Phone System (D-AMPS) with relatively minimal hardware modifications which are activated by new software.
Figure 1 illustrates a current method for loading software in a typical cellular network. A computer terminal 10 used for loading software is coupled to a mobile switching center (MSC) 12. Terminal 10, generally located at the same site as MSC 12, permits loading from a centralized location. MSC 12 is linked to a plurality of base
stations by way of a high speed digital connection, such as a pulse code modulation (PCM) link. The PCM link is an optical or wired link capable of efficiently delivering digital data over vast distances in accordance with a specified standard. One widely used standard link is a Tl link 14 which specifies transmission of data at 1.544 Mb/s. Furthermore, the Tl standard specifies the transmission of twenty four timeslots, where one timeslot corresponds to one analog conversation (AMPS) or three conversations in digital mode (D-AMPS). Of the twenty four timeslots, twenty three are used for carrying voice data and one, timeslot 9, is reserved for the transmission of control information. It is desirable to utilize the same transmission link for transporting both voice and software data to maximize efficiency, therefore, timeslot 9 is used to carry software data during loading.
Tl link 14 couples MSC 12 to base station one (BS1) for efficient high speed communication between the components. Base stations typically contain anywhere from eight to seventy two devices wherein each can include, for example, a transmitter and receiver (i.e. transceiver), Location Verification Module (LVM), Radio Frequency Test Loop (RFTL), Combiner Tuner Controller (CTC), or other microprocessor equipped units. The procedure for software loading requires that each of the devices be taken offline or set in an idle state during loading. This is commonly referred to in the industry as "blocking" the device and must be done sequentially for each device prior to loading. Since it may take anywhere from seconds to several tens of seconds to load each device, it is readily apparent that the software loading may take a significant amount of time. It should be noted the speed of loading depends greatly on the speed and capacity of the transmission line used. Furthermore, since a typical cellular network contains multiple base stations, each base station will have software loaded in its devices in a similar sequential fashion. In the forgoing example, MSC 12 is coupled to BS2 via Tl link 17 and BS3 is coupled to MSC 12 via Tl link 19. A complete software load for the entire network can take anywhere from several minutes to hours or even days.
A major disadvantage of this methodology is the length of time required for loading all devices for all base stations in the network. The transfer of large amounts of
data to a significant number of devices places a high load on transmission links which inefficiently uses system resources. Furthermore, since software loading requires that each device be taken off-line for a specified period of time, the device, while out of service, cannot serve traffic thereby depriving cellular operators of potential revenue. A method for loading software in the background without interrupting device traffic is disclosed in Genell co-pending application Serial No. , entitled: Background
Software Loading In Cellular Telecommunication Systems filed on 5/20/97 which is incorporated herein in its entirety.
In view of the foregoing, it is an objective of the present invention to provide a technique for software loading in cellular telecommunication networks that is fast, efficient and saves system resources by reducing the load on transmission links.
SUMMARY OF THE INVENTION
Briefly described, and in accordance with multiple embodiments thereof, the invention provides a method of reducing the time necessary for software loading in a cellular telecommunication network by transmitting a much smaller data file, instead of the entire version of a new software file. In an embodiment of the present invention, a new software file is fed in its entirety into a compare algorithm located in a software dissemination center e.g. mobile switching center (MSC) or mobile station (MS). The compare algorithm compares the new software file to the corresponding old software file currently running on a designated device in a base station (BS) targeted for software loading. The compare algorithm then generates a delta file that includes the differences in data between the new software file and the old software file. The delta file further includes data reference information necessary for subsequent reconstruction of the new software file. The delta file is transmitted from the software dissemination center via a transmission medium, such as a Tl link or by wireless means, to the BS An unpack algorithm in the BS then reconstructs the new software file from the delta file and the
old software currently running on a designated device(s) in which the new software file is subsequently loaded.
In an apparatus aspect of the present invention, a system for loading software in a cellular telecommunication system is described. The system includes a software dissemination center, a base station in communication with the dissemination center e.g. MSC or MS, a compare algorithm located in the dissemination center for comparing a new software file to an old software file and generating a delta file, and an un-pack algorithm located in the base station. The delta file includes the differences in data between the new and old software files. The compare algorithm also includes data reference information for later reconstruction. The delta file is transmitted via a transmission medium, such as a Tl link or through wireless means, from the software dissemination center to the BS. The new software file is reconstructed in the BS with an un-pack algorithm using the delta file and a corresponding old software file currently running on a designated device(s) in which the new software file is subsequently loaded.
The present invention provides a method of loading software that is fast, efficient, and transparent to the user. The method substantially reduces the load on the transmission links due to software loading. These and other advantages of the present invention will become apparent upon reading the following detailed descriptions and studying the various figures of the drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
The invention, together with further objectives and advantages thereof, may best be understood by reference to the following description taken in conjunction with the accompanying drawings in which:
Figure 1 shows a prior art method of software loading in a cellular telecommunication system;
Figure 2 illustrates a method of software loading in accordance with a first embodiment of the present invention; and
Figure 3 depicts a method of switching device operations to run the new software file in accordance with a second embodiment of the present invention.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
In a basic cellular telecommunication system, a mobile switching center (MSC) is linked to a plurality of base stations by a series of digital transmission links. The base stations are geographically dispersed to form an area of coverage for the system. Each base station (BS) is designated to cover a specified area, known as a cell, in which two way radio communication can take place between a mobile station (MS) and the BS in the associated cell. The procedure of software loading is typically initiated from the MSC to devices in the individual base stations in a sequential fashion. A description of a method for software loading in accordance with the present invention follows.
Figure 2 illustrates an exemplary procedure for software loading in accordance with a first embodiment of the present invention. For simplicity, the example refers to software loading for a single device in a base station. Software loading is initiated from MSC 10 which has the advantage of providing a central distribution location for loading to all the base stations in the service area of the MSC. Since software loading typically involves transferring large amounts of data to replace existing software, the process imposes a high demand on the transmission links thus taking up a significant amount of system resources. In many cases the content of the new software file contains much of the same data (or redundant data) as the old software file it replaces. The present invention takes advantage of this fact by transmitting a much smaller file, which excludes the redundant data, which is later reconstructed into the original new software file.
In accordance with the procedure, a relatively large new software file 12, such as a system upgrade or new functional release package for example, is loaded into the MSC. The new file 12 is fed, and stored for use with subsequent loadings, into a compare algorithm that compares it with a copy of a corresponding old software file 14 that was stored from the previous software load and is currently running on the designated device targeted for software loading. A delta file 18 is then generated from the output of the compare algorithm 16. The delta file 18 contains the differences in data between the new and old files in which redundant data between the files is excluded. The delta file 18 also contains reference pointers indicating where the differences occurred in the original file which are necessary to later reconstruct the new file 12. The redundant data may often include the same software code used for basic functions such as transmitting and receiving in the device, for example. Omitting the redundant data from the delta file 18 typically enables it to be significantly smaller than the complete version of the new file. For example, a typical delta file may often be around 5 percent or less of the size of the entire new software file.
After delta file 18 has been generated, it is transmitted via a transmission medium such as a digital optical (or wired) link 20, e.g., a Tl link. The Tl protocol allocates timeslot 9 for control information and related data, and is also used for software loading. It should be noted that other transmission protocols may require different allocations for software data, for example, the El link designates timeslot 16 for software loading and control information. Furthermore, other protocols may be used that designate data to be sent in multiple timeslots for faster more efficient loading. Alternatively, software loading may be carried out by wireless means through the air from a software dissemination center to a designated base station. For example, a software dissemination center can be an MSC as described in the present embodiment, a mobile station (MS), or a separate unit that is configured to transmit software files. The transmission of the relatively small delta file is especially suited for wireless transmission since the transceiver time dedicated for this task will be relatively small thereby having minimal affect on system traffic.
During software loading, the data is transmitted to a designated base station 22 until a complete delta file 18' has been received. The delta file 18' is then sent through an un-pack algorithm 24 which performs an inverse operation to that of compare algorithm 16 in the MSC. The un-pack algorithm 24 uses delta file 18' and the old software file 14' currently running on the device to reconstruct a new software file 12', which is identical to the new software file 12. The un-pack algorithm 24 reconstructs the new software file 12' by obtaining data and reference information contained in delta file 18'. The reference information indicates locations in old file 14' where data is to be added, removed, modified etc. Once the new software file 12' has been generated it is loaded into the device to run subsequent device activities. Several methods are suitable for use with the present invention for switching device operations to execute the new software on the designated device(s).
Figure 3 depicts a method of switching device operations to run the newly loaded software, in accordance with a second embodiment of the present invention. A relatively small delta file 18 (of Figure 2) is transmitted from the MSC via Tl link 20 to a designated base station. At the base station, the delta file 18 arrives at a distribution unit (DXU) 28, which contains the un-pack algorithm 24 (Figure 2). The un-pack algorithm reconstructs the new software file 12' (Figure 2) which is then stored in the distribution unit 28. A processor 30 within the distribution unit 28 sets up and directs the transfer of the new software file 12' for loading into an array of devices 32.
The distribution unit 28 has the capability to delay software loading to the devices until it is alerted by the MSC that all base stations are ready for uniform loading of all devices. Furthermore, selective software loading may be performed for particular devices which have been selected by the MSC. In this case processor 30 directs the distribution unit 28 to load the software for a specific device. This situation may occur, for example, in base stations operating in mixed mode, i.e. in AMPS/D-AMPS, wherein devices of a particular type will be upgraded accordingly with different software.
Other methods of software loading, such as those described in the Genell co- pending application Serial No. for background software loading, may be incorporated for use with the present invention. Background loading permits the software to be loaded in a manner that will not disturb devices which may be handling voice or data traffic. Therefore, the devices are never "blocked" in order to load the software as in the prior art. In this technique, a delta file 18 (Figure 2) is transmitted to the distribution unit 28 of a selected base station while any or all of the devices 32 may be active. The distribution unit 28 unpacks the received delta file 18' (Figure 2) to reconstruct the new software file 12' where it is stored until the distribution unit 28 is alerted by the MSC that the target device is idle.
The present invention discloses a technique which permits fast and efficient software loading in cellular telecommunication systems by transmitting a substantially smaller software file than the complete original version. The technique has the further advantage of reducing the demand placed on transmission links during software loading and permits background loading in a manner that eliminates the need for taking the devices off-line.
It will be appreciated by those skilled in the art that changes could be made to the embodiments described above without departing from the inventive concept thereof. In particular, inventive concept can be used for loading software files for base station components other than transceiver devices such as control radio interface cards etc., or any component requiring software loading. Furthermore, the concept may be applied to cellular systems operating in accordance with, for example, Code Division Multiple Access (CDMA), Global System for Mobile Communication (GSM), or Personal Digital Cellular (PDC). It should be understood that the invention is not limited to the particular embodiments disclosed, but it is intended to cover modifications within the spirit and scope of the invention as defined in the appended claims.
What is claimed is: