MXPA06004669A - Method, software and apparatus for application upgrade during execution - Google Patents
Method, software and apparatus for application upgrade during executionInfo
- Publication number
- MXPA06004669A MXPA06004669A MXPA/A/2006/004669A MXPA06004669A MXPA06004669A MX PA06004669 A MXPA06004669 A MX PA06004669A MX PA06004669 A MXPA06004669 A MX PA06004669A MX PA06004669 A MXPA06004669 A MX PA06004669A
- Authority
- MX
- Mexico
- Prior art keywords
- application
- different version
- resident
- wireless device
- resident executable
- Prior art date
Links
Abstract
A system and method for optional upgrading of a software application on a wireless device during the execution of the software application. The system includes receiving a request to replace a resident executable application with a different version of the application. The system further includes detecting the active execution of the resident executable application. The system also includes receiving, via a network, the different version of the application. Also, the system includes storing the different version of the application in a temporary location in response to detecting the active execution of the resident executable application. In addition, the system includes terminating the active execution of the resident executable application. The system also includes overwriting the resident executable application with the different version of the application stored in the temporary location. Further, the system includes initiating active execution of the different version of the application.
Description
METHOD, PROGRAM AND APPARATUS TO UPDATE APPLICATIONS DURING THE EXECUTION
BACKGROUND OF THE INVENTION 2. Field of the Invention The present invention relates, in a general manner, to data networks and computer communications through data networks. More particularly, the invention relates, in part, to the installation and removal of program applications and programming or software systems and their components over wireless devices in selective communication with one or more application download servers through a wireless data network. Also, more particularly, the invention relates, in part, to the optional updating of an application of programs and programming or software systems in a wireless device during the execution of the application of programs and programming or software systems.
2. Description of the Related Art Wireless devices, such as cell phones, communicate packets including voice and data over a wireless network. Cell phones themselves are being manufactured with greater computing power and are becoming equivalent to personal computers and personal digital assistants ("PDAs") manuals. These "smart" cell phones have application programming interfaces ("APIs") installed on their local computer platform that allow programmers and software or programming systems to create applications of software and programming programs or systems (commonly referred to as "programs") that are fully executable on the cell phone. The API sits between the programs and programming systems or software of the wireless device system and the application of programs and programming or software systems that make the computing functionality of the cell phone available to the application without requiring the developer to programs and programming systems or software have the source code of the specific cell phone system. Applications of programs and programming or software systems can be pre-loaded at the time the cordless telephone is manufactured, or the user can later request that additional programs be downloaded over cellular telecommunications carrier networks, where the downloaded applications are executable in the cordless telephone . As a result, wireless phone users can personalize their wireless phones through the selective download of applications, such as games, print media, stock market updates, news or any other information or application that is available for download. Through the wireless network to manage or manage cell phone resources, the wireless telephone user erases or suppresses for that purpose applications and data from the wireless telephone platform to clean storage space so that new applications can be loaded in the clean warehouse. In contrast to the larger computing platforms of personal computers and PDAs, wireless devices have limited resources, such as storage and processing, to devote to non-essential applications. Typically, telecommunications applications have priority of use over system resources, with other applications assigned to resources when they are available. The wireless device thus has only a limited capacity to store all the application files, and the management of the resources is left at the user's discretion to delete applications to make space for new applications that are desired to be downloaded to the wireless device. The wireless device will not download in other circumstances an application that does not have the resources to maintain and execute it. In the search for release of resources in the wireless device, the user can not usually remove certain components of a resident application without deactivating the entire resident application. If the user seeks to delete specific components, that action would contravene the intended release of resources since the resident application deactivated can not be re-established without a complete reinstallation of the application. Unemployed but necessary non-deleted application components consume storage space even when the main application is not executable. This requirement of suppression of all or nothing for program applications and programming systems residing in the wireless device greatly limits the number of applications that may reside in the wireless device and are available to the user. Therefore, it could be advantageous to provide a wireless device that can remove certain application components while maintaining important data for the application, such as licenses and user-specific data, to maximize the utilization of computer resources in the wireless device. On the wireless device that requires the components of programs and suppressed programming systems to run the application again, the wireless device can obtain the program components and programming or software systems through the wireless network. In this way, it is the provision of that system and method that can control the suppression and reloading of the application components of selected software or programming systems or software in the wireless device to which the present invention is primarily directed.
SUMMARY OF THE INVENTION The modalities described herein include systems and methods for updating an application of programs and programming systems or software in a wireless device, such as a cell phone, personal digital assistant, pager, or other computer platform, where the update is performed. optionally carries out during the execution of the application of programs and programming or software systems. At least one modality includes receiving a request to replace a resident executable application with a different version of the application. This modality also includes detecting the active execution of the resident executable application. This modality also includes receiving, via a network, the different version of the application. This modality also includes storing the different version of the application in a temporary location in response to the detection of the active execution of the resident executable application. This modality also includes finishing the active execution of the resident executable application. Also, this modality also includes overwriting the resident executable application with the different version of the application stored in the temporary location; and that modality also includes starting the active execution of the different version of the application. At least one modality includes a logic configured to receive a request to replace a resident executable application with a different version of the application. This modality also includes the logic configured to detect the active execution of the resident executable application. This modality also includes the logic configured to receive, via a network, the different version of the application. This modality also includes the logic configured to store the different version of the application in a temporary place in response to the detection of the active execution of the resident executable application. This modality also includes the logic configured to terminate the active execution of the resident executable application. This mode also includes the logic configured to overwrite the resident executable application with the different version of the application stored in the temporary location. Also, this modality also includes the logic configured to start the active execution of the different version of the application. At least one modality includes an operable code to receive a request to replace a resident executable application with a different version of the application. This modality also includes an operable code to detect the active execution of the resident executable application. This modality also includes the operable code to receive, via a network, the different version of the application. This modality also includes an operable code to store the different version of the application in a temporary place in response to the detection of the active execution of the resident executable application. This modality also includes an operable code to terminate the active execution of the resident executable application. This modality also includes an operable code to overwrite the resident executable application with the different version of the application stored in the temporary location. Also, this modality also includes an operable code to start the active execution of the different version of the application. At least one modality includes means for receiving a request to replace a resident executable application with a different version of the application. This modality includes means to detect the active execution of the resident executable application. This method includes means to receive, via a network, the different version of the application. That modality includes means to store the different version of the application in a temporary place in response to the detection of the active execution of the resident executable application. This modality includes means to terminate the active execution of the resident executable application. This modality includes means to overwrite the resident executable application with the different version of the application stored in the temporary location. As well, that modality includes means to initiate the active execution of the different version of the application. At least one modality includes receiving a request to replace a resident executable application with a different version of the application. This modality also includes receiving, via a network, the different version of the application. This modality also includes storing the different version of the application in a temporary location in response to the receipt of the request to replace a resident executable application with a different version of the application. This modality also includes detecting the active execution of the resident executable application. This modality also includes finishing the active execution of the resident executable application. This modality also includes overwriting the resident executable application with the different version of the application stored in the temporary location. Also, this mode also includes starting the active execution of the different version of the application. At least one modality includes the logic configured to receive a request to replace a resident executable application, with a different version of the application. This modality also includes a logic configured to receive, via a network, the different version of the application. This modality also includes a logic configured to store the different version of the application in a temporary location in response to the reception of the request to replace a resident executable application with a different version of the application. This modality also includes a logic configured to detect the active execution of the resident executable application. This modality also includes a logic configured to terminate the active execution of the resident executable application. This mode also includes a logic configured to overwrite the resident executable application with the different version of the application stored in the temporary location. Also, this mode also includes a logic configured to start the active execution of the different version of the application. At least one modality includes an operable code to receive a request to replace a resident executable application with a different version of the application. This modality also includes an operable code to receive, via a network, the different version of the application. This modality also includes an operable code to store the different version of the application in a temporary location in response to the receipt of the request to replace a resident executable application with a different version of the application. This modality also includes an operable code to detect the active execution of the resident executable application. This modality also includes an operable code to terminate the active execution of the resident executable application. This modality also includes an operable code to overwrite the resident executable application with a different version of the application stored in the temporary location. Also, this modality also includes an operable code to start the active execution of the different version of the application. At least one modality includes means for receiving a request to replace a resident executable application with a different version of the application. This modality also includes means to receive, via a network, the different version of the application. This embodiment also includes means for storing the different version of the application in a temporary location in response to the receipt of the request to replace a resident executable application with a different version of the application. This modality also includes means to detect the active execution of the resident executable application. This modality also includes means to terminate the active execution of the resident executable application. This modality also includes means to overwrite the resident executable application with the different version of the application stored in the temporary location. This method also includes means to start the active execution of the different version of the application. At least one modality includes receiving a request to replace a resident executable application with a different version of the application. This modality also includes receiving, via a network, the different version of the application. This modality also includes storing the different version of the application in an updated place in response to the reception of the request to replace a resident executable application with a different version of the application. This modality also includes detecting the active execution of the executable application that is resident in an active application location. This modality also includes finishing the active execution of the resident executable application. Also, this modality also includes starting the execution of the first detected application in a sequential search of the updated place and the location of the active application. At least one modality includes a logic configured to receive a request to replace a resident executable application with a different version of the application. This modality also includes a logic configured to receive, via a network, the different version of the application. This modality also includes a logic configured to store the different version of the application in an updated place in response to the reception of the request to replace a resident executable application with a different version of the application. This modality also includes a logic configured to detect the active execution of the executable application resident in an active application location. This modality also includes a logic configured to terminate the active execution of the resident executable application. Also, this modality also includes a logic configured to start the execution of the first application detected in a sequential search of the updated place and the location of the active application. At least one modality includes an operable code to receive a request to replace a resident executable application with a different version of the application. This modality includes an operable code to receive, via a network, the different version of the application. That modality includes an operable code to store the different version of the application in an updated place in response to the receipt of the request to replace a resident executable application with a different version of the application. This modality includes an operable code to detect the active execution of the executable application that is resident in an active application site. This modality includes an operable code to terminate the active execution of the resident executable application. Also, this modality includes an operable code to start the execution of the first application detected in a sequential search of the updated place and the location of the active application. At least one modality includes means for receiving a request to replace a resident executable application with a different version of the application. This modality also includes means to receive, via a network, the different version of the application. This modality also includes means to store the different version of the application in an updated place in response to the receipt of the request to replace a resident executable application with a different version of the application. This modality also includes means to detect the active execution of the executable application resident in an active application site. That modality also includes means to terminate the active execution of the resident executable application. Also, this modality includes means to initiate the execution of the first detected application in a sequential search of an updated place and the location of the active application. Other objects, advantages and features of the present invention will become apparent after review of the Brief Description of the Drawings, the
Detailed Description of the Invention and
Claims stated here.
BRIEF DESCRIPTION OF THE DRAWINGS Figure 1 is a representative diagram of the system of the present invention for managing program applications and programming systems or software in wireless devices in selective communication with one or more application download servers over a wireless network. Figure 2 is a block diagram of the physical computing or hardware components of an exemplary wireless network that provides communication between different wireless devices and an application download server and database. Figure 3 is a table of files resident in the wireless device platform that specifically illustrates an application with its constituent components. Figure 4 is a flow diagram illustrating the selective suppression of application components in the wireless device. Figure 5 is a flow chart illustrating the recovery by the wireless device of the application components of the application download server to re-establish an application in the wireless device, so that the application is again executable. Figure 6 is a flowchart illustrating a modality of a system that includes the replacement of a resident executable application with a different version of the application. Figure 7 is a flowchart illustrating a modality of a system that includes the replacement of a resident executable application with a different version of the application. Figure 8 is a block diagram of a modality of a wireless device such as that used in a system to replace a resident executable application with a different version of the application. Figure 9 is a block diagram of a modality of a wireless device such as that used in a system to replace a resident executable application with a different version of the application. Figure 10 is a block diagram of a modality of a wireless device such as that used in a system to replace a resident executable application with a different version of the application.
DETAILED DESCRIPTION OF THE INVENTION With reference to Figure 1, there is shown the system of the present invention 10 for the suppression and recharging of program application components and programming or software systems in a wireless device, such as the cellular phone 12 , in communication through a wireless network 14 with at least one application download server 16 that selectively transmits applications and program components and programming or software systems to wireless devices through a wireless communications portal or other data access to the wireless network 14. As shown here, the wireless device can be a cellular telephone 12, a personal digital assistant 18, a pager 20 which is shown here as a bidirectional text pager or even a separate computer platform 22 which have a wireless communication portal, and may, in other circumstances, have a wired connection 24 to a network or the Internet. The system of the invention can thus be effected in any form of remote module, including a wireless communication portal, including without limitation, wireless modems, PCMCIA cards, access terminals, personal computers, access terminals, telephones without a screen or numeric keypad, or any combination or sub-combination thereof. The application download server 16 is shown here in a network 26 with other computer elements in communication with the wireless network 14. There is a second server 30 and a stand-alone server 32, each server can provide separate services and processes to the wireless devices 12, 18, 20, 22 through the wireless network 14. Preferably, there is also at least one stored application database 28 that maintains the applications that are downloadable by the wireless devices 12, 18, 20, 22. In Figure 2, a block diagram is shown that more fully illustrates the components of the wireless network 14 and the interrelation of the elements of the present invention. The wireless network 14 is merely exemplary and may include any system of remote modules, such as wireless devices 12, 18, 20, 22 that communicate over the air between them and each other and / or between them and between the components of a network wireless 14, including, without limitation, carriers and / or servers of the wireless network. The application download server 16 and the stored application database 28, together with any other servers such as the server 30 that are needed to provide cellular telecommunication services, communicate with a carrier network 40, through a link of data, such as the Internet, a secure LAN, WAN, or other network. Carrier network 40 controls messages (sent as data packets) sent to a message sending service ("MSC") controller 42. Carrier network 40 communicates with MSC 42 over a network, the Internet and / or POTS ("common ordinary telephone system"). Typically, the connection to the network or Internet between the carrier network 40 and the MSC 42 transfers data, and the POTS transfers voice information. The MSC 42 is connected to multiple base stations ("BTS") 44. Similar to the carrier network, the MSC 42 is typically connected to the BTS 44 by both the network and / or the Internet for data transfer and POTS. for voice information. The BTSs 44 finally transmit messages wirelessly to the wireless device, such as the cellular phone 12, by means of the short message delivery service ("SMS"), or other air methods known in the art.
The wireless device, such as a cellular telephone 12, has a computer platform 50 that can receive and execute applications of programs and programming or software systems transmitted from the application download server 16. The computer platform 50 includes a specific integrated circuit of the application ("ASIC" 52), or another processor, microprocessor, logic circuit, or other data processing device. ASIC 52 is installed at the time of manufacture of the wireless device and is usually not updatable. The ASIC 52 or another processor executes the application programming interface layer ("API") that interconnects with any programs resident in the memory 56 of the wireless device. The memory may be comprised of read-only memory or random access (RAM and ROM), EPROM, instant cards, or any common memory for computer platforms. The computer platform 50 also includes a local database 58 that can store applications not actively used in the memory 56. The local database 58 is typically an instant memory cell, but can be any secondary storage device as is known in the art, such as magnetic media, EPROM, optical media, tape, or flexible or hard disk.
The wireless device, such as the cellular telephone 12, accordingly downloads one or more applications of programs and programming or software systems, such as games, news, stock exchange verification, and the like, and maintains the application in the local database 58 when not in use, and upload resident applications stored in local database 58 to memory 56 for execution in API 54 when the user so desires. However, there is a significant cost and size restrictions in the wireless device limiting the installed storage capacity available in the local database 58 and the memory 56, thereby limiting the number of program applications and programming systems or resident software that can be maintained on the wireless device. The system and method of the present invention manage this limitation of storage capacity through the selective suppression and reloading of individual components of program applications and programming or software systems, as best described herein. With reference to Figure 3, it shows an illustrative file structure, or data management structure, maintained in API 54. The top-level domain is the "Files" 60 that contain all the files of programs and systems of discrete programming or software on the computer platform 50. The file structure of Figure 3 is merely illustrative and does not appear in this form on the computer platform 50, and may still be present only in machine code on the device. wireless 12, 18, 20, 22 without a determinable file structure. In the files 60 is the API, which is shown here as a binary runtime environment for indows ("BREW") 62, which is the API used by QUALCOMM® to interact with program applications and programming systems in the computer platform of the wireless device 50. The files of the BREW 62 include application files 64, and a file is the chess game 66 that has been downloaded from the application download server 16 and now resides in the local database 58 of the computer platform 50 of the wireless device. For purposes of illustration, the chess application 66 is an application of programs and programming systems or software resident of the wireless device. The chess application 66 includes several program components and 68 programming systems, such as chess files. od and chess.bar. The components of the application 68 are modules needed to execute the chess application on the computer platform 50. The chess 66 also includes data associated with the specific application, shown here as scores.sig 70, which are the scores stored for the users who play the chess game on the computer platform 50. There may also be a license included as a hidden file in the chess application 66. In this way , the components of the application 68 that allow the execution of the chess game are easily duplicated as a copy transmitted from the application download server 16, while the associated application data, such as the scores 70 and the license will be lost if the Files or modules are deleted. The present invention therefore uses the ability to obtain another copy of the non-essential application components of the application download server 16, while retaining data associated with the non-recoverable application, such as a license, or user-specific data. , such as information and personal addresses, or even only data related to entertainment such as the previous scores for chess games. When the user wishes to download another program application and programming or software systems to the computer platform 50 and there are insufficient resources, especially in terms of the store in the local database 58, the API of the BREW 62, or other components for the space management, they can activate a suggestion to the user to ask if the components of the chess application can be removed so that the requested downloaded application can be placed on the computer platform 50. Otherwise, the API of the BREW 62 can Determine which components to automatically delete and manage system resources. As long as the chess.mod and chess.bar files are deleted from the chess file 66, the chess game will not be executable on the 50 computer platform. Through the separation of the essential and non-essential files from the computer platform 50 , the wireless device can selectively suppress one or more components of the application 68 from one or more of the programs applications and resident software or programming systems without loss of data associated with the application, such as the score file 70. When the application that had one or more components of the application deleted, such as the chess game 66 with the chess.mod and chess.bar 68 application components removed and the user wants to use that application again, the wireless device will selectively suggest the server download the applications 16 through the wireless network 14 for the transmission of one or more components of the application 68. Once the wireless device receives the components of the application 68, the wireless device installs one or more of the components of the application 68 transmitted again on the computer platform 50, so that the resident application, or the chess 66 here, be executable again. It should be noted that all the components of the application 68 do not have to be removed, and can be deleted based on the size of the application or other criteria. In addition, files containing data associated with the application, such as scores.sig 70, may also contain application components required to run the application and are not necessarily pure data containers. Figures 4 and 5 are flow diagrams illustrating the method of the invention for managing the loading and removal of application components 68 of one or more program applications and programming or software systems resident on the computer platform 50 of a computer. wireless device 12, 18, 20, 22. As shown in Figure 4, the computer platform 50 is instructed to download an application of programs and programming systems, shown in step 80, and then the decision is made in ASIC 52 or another wireless device processor if there are enough resources available to download the application, as shown in decision 82. If sufficient resources are available, then the application is downloaded and stored, as shown in step 84, and the download process ends. If there are insufficient resources in decision 82, then it is suggested to the user to clean system resources to download the application, as shown in step 86, lo. which implies suppressing certain components of the application. The decision is then made to see if the user approves the elimination of resources, as shown in decision 88, and if not, the user is informed of the insufficient resources available for downloading, as shown in step 90, and the download process ends. If the user approves the deletion of resources in decision 88, then one or more components of the application, such as components 68, are selectively suppressed to clean up the required resources, and that deletion occurs without significant loss of data associated with the application, such as the scores.sig 70 file or any license to use the application. Then the application is downloaded and stored on the computer platform 50, as shown in step 94, and the download process ends. The process of reinstallation of the deleted components is shown in Figure 5 when a request to execute the application with one or more deleted components 68 is received, as shown in step 100. An example of this would be that the user tried to play the game of chess once again. The user is then preferably suggested to establish a communication link with the application download server 16, as shown in step 102. However, the wireless device upon receiving the execution request can automatically set, alternatively, the communication link. If the user is requested to execute the application, then the decision is made as to whether a user has an authorized link, as shown in decision 104. If the user declines to establish the link, the user is informed that the necessary components of the application must be downloaded to execute the requested application, as shown in step 106, and then the execution request ends. If the user authorizes the communication link in decision 104, then it establishes a communication link with the application download server 16, as shown in step 108. Once the communication link with the application download server is established 16, it is suggested to the application download server 16 by the wireless device to transmit one or more components of the application that are necessary to the wireless device to execute the requested application, as shown in step 110. It is then determined whether the server transmitted the required components of the application, as shown in decision 112, and if not, the user is informed of the failure to obtain the required components, as shown in step 114, and the execution request ends. In other circumstances, if the server has transmitted the components required in decision 112, the wireless device receives the components of the application download server, as shown in step 116, and installs the components received in the application, so that the application is executable, as shown in step 118. The application is then executed on the wireless device until it is finished, as shown in step 120. If the recharge of the suppressed application components, such as the components of the application 68 was automatic, the process of Figure 5 would pass directly from the receipt of the request to execute the application in step 100 to suggest the application download server 16 in step 110. The wireless device would inform the user only if the application failed to download the components, as shown in step 114. The step of establishing a communication link is typically to establish a communication link through a digital or analog cellular telecommunication network as shown in Figure 2, but they can be used in a alternative, other wireless networks such as a wireless LAN, or a microwave or infrared network. In addition, the establishment of a communication link can occur automatically on the wireless device 12, 18, 20, 22 that intends to execute an application of programs and programming systems or resident software for which one or more of the associated components have been suppressed. , that the wireless device establishes a communication bridge through the wireless network 14 with the application download server 16. Otherwise, the step of establishing a communication link may occur after the user-specific suggestion of the wireless device. 12, 18, 20, 22 to establish a communication link bridge with the application download server 16 to transmit on the wireless network 14 one or more components of the application for a program application or software or resident software systems for which one or more of the associated components have been deleted. If the user of the wireless device is going to be billed by the communication link, such as a cell phone call, to have the new application components transmitted to the wireless device, then the user should be suggested before the deletion of the components authorize the communication link that will be necessary to recharge the components. Again, the user can be suggested when a communication link is necessary to recover the components of the application to make the application executable. However, if the wireless device is completely automated and the communication link does not need a charge to the user, then it is not necessary to make suggestions to the user, and the recharging of the components is transparent, unless a problem is found and generated an error message, as in step 114.
Automatic Application Update During Execution In one embodiment, as shown in Figure 6, an application or extension downloaded to the wireless device 12, 18, 20, 22 can be downloaded to a wireless device 12, 18, 20, 22 while a previous or different version of the application or extension is currently running on the wireless device 12, 18, 20, 22. The request to update or download the application or extension can be made by means of the wireless device 12, 18, 20, 22 , either by the user or the device or processes running on the wireless device 12, 18, 20, 22, or by a server 16, 30, 32. Note that "update" does not necessarily include a later version, but rather that It can refer to a different version. For example, it may be preferable to return to an older version of an application, in which case the "update" includes downloading a previous version of the application to replace the existing but later version. (Here again, only "application" will be used, however it will be understood that this description also applies to extensions.Extensions include those programs, components or services that are used by data or instructions to assist execution. extension can include the Java Virtual Machine installed in the BREW environment on a wireless device that is used to run Java programs, or an MPEG player installed and used in relation to MPEG files). In addition, the applications include not only any executable type of programs and programming or software systems, but may include initiation documents or content data. The process mode includes a step 600 in which a request is made to download an updated application to a wireless device 12, 18, 20, 22. the wireless device 12, 18, 20, 22 may have a different or earlier version of the application that runs on the device. In step 602, it is checked to determine if a different or earlier version of the requested application is being executed in the wireless device 12, 18, 20, 22. But, then, in step 604, the application can be updated with the newly requested application by overwriting the existing application with the newly requested application in the location of the file where the existing application (that is, previous or different) is located on the device. However, if, in step 602, the verification determines that the application is running, then the process continues, in step 606, where the updated application is stored in a temporary location. This temporary location may be in the device, however, it may be stored in a peripheral device or in another location through the network where the device can access it. In step 608, it is notified that it is necessary to finish the execution of the application. And the application to a secondary process initiates the termination of the execution of the application. After the termination of the application, in step 610, the updated application is then transferred to the location of the existing application file. Note that the place where the updated application is copied is any place anticipated by the system to run the application. For example, in a modality, if the system anticipates the search in an updated place to execute the updated application and if it does not exist then the system looks for another place to execute the existing application, then the process will copy the updated application in the updated place and not will overwrite the existing application. After the updated application is transferred from the temporary location to the correct location (whether the existing application is overwritten or some other expected location as described above) then the application, in step 612, is restarted. Note that this application can restart automatically. Also note that the device does not need to be readjusted, pass through an energy cycle, be restarted or perform any other type of readjustment function for an existing and running application to be updated. In another embodiment of updating the application, as shown in Figure 7, the application requested, in step 606 and before step 602, the device is downloaded to a temporary location. After the download, then the device is verified, in step 602, to determine if the previous or different version of the application is running on the device. If so, then, at step 608, the execution of the existing application ends, the application updated with step 610, is copied from a temporary storage location to a correct storage location (for example, it can overwrite the existing application ), and then the updated application is executed in step 612. As stated above, this execution can be performed automatically. If the existing application is not running as determined in step 602 then, in step 700, the updated application is transferred to the correct place, for example, overwriting the existing application. In this case, because the execution is not running, there is no need to terminate its execution before transferring the updated application to the correct location. Figure 8 shows a modality of a wireless device implementing the method as described in Figure 6. As shown, the wireless device 800 contains a memory 802, a network interface 804, a processor 806 and a channel 808. Although the memory 802 is shown as a RAM, other embodiments include that memory 802 as all known types of memory that are known to provide storage of the configured logic. Further, although the memory 802 is shown as a contiguous unit of one type of memory, other modes use multiple locations and multiple types of memory as memory 802. The I / O or network 804 interface provides input and output to coupled devices to the network via the channel 808. The processor 806 operates or gives instructions and provides data via the channel 808. In at least one mode the processor 906 is part of the ASIC 52. Located in the memory 802 is the logic 810 for receiving a request to replace a resident executable application with a different version of the application, logic 812 to detect the active execution of the resident executable application, logic 814 to receive, via a network, the different version of the application, logic 816 for store the different version of the application in a temporary location in response to the detection of the active execution of the resident executable application, the logic 818 end the active execution of the resident executable application, logic 820 to overwrite the resident executable application with the different version of the application stored in the temporary location, and logic 822 to start the active execution of the different version of the application. In one or more other embodiments the logic 810 for receiving a request to replace a resident executable application with a different version of the application is further modified, so that where the request is initiated by the wireless device (824), where the request is initiated with the detection of user input (826), where the different version of the application is a previous version (828), and / or where the application is at least an extension of: an extension, an initiation document and data of content (830). Also, in one embodiment, the logic 816 stores the different version of the application at a temporary location in response to the execution of the active detection of the resident executable application is further modified where the temporary location is on at least one of: peripheral device and a remote network location (832). Figure 9 shows a modality of a wireless device that implements the method as described in Figure 7. As shown, the wireless device 900 contains a memory 902, a network interface 904, a processor 906 and a channel 908. Although the memory 902 is shown as a RAM, other embodiments include the memory 902 as all types of memory that are known to provide the storage of the configured logic. In addition, although the memory 802 is shown as a contiguous unit of a memory type, other modes use multiple locations and multiple memory types such as the memory 902. The network 1/0 interface 904 provides input and output to coupled devices. the network via on channel 908. Processor 906 operates on instructions and data provided via channel 908. In at least one mode processor 906 is part of ASIC 52. Located in memory 902 is logic 910 for receiving a request to replace a resident executable application with a different version of the application, logic 912 receives, via a network, the different version of the application, logic 914 stores the different version of the application in a temporary location in response to reception of the request to replace a resident executable application with a different version of the application, logic 916 detects the active execution of the application resident executable, logic 918 terminates the active execution of the resident executable application, logic 920 overwrites the resident executable application with the different version of the application stored in the temporary location, and logic 922 initiates the active execution of the different version of the application. In one or more other embodiments the logic 910 for receiving a request to replace a resident executable application with a different version of the application is further modified, so that where the request is initiated by the wireless device (924), where the request is started with the user's input detection (926), where the different version of the application is. a previous version (928), and / or where the application is at least one of: an extension, an initiation document and content data (930). Also, in one embodiment logic 914 for storing the different version of the application in a temporary location in response to detecting the active execution of the resident executable application is further modified where the temporary location is in at least one of: peripheral device and a remote network location (932). Figure 10 shows a modality of the wireless device that implements a version of the automatic application update process, sometimes described as including a sequential search of execution locations in the process of starting the execution of a preferred application. As shown, a wireless device 1000 contains a memory 1002, a network interface 1004, a processor 1006 and a channel 1008. Although the memory 1002 is shown as a RAM, other embodiments include that memory 1002 as all known types of memory that is known to provide storage of the configured logic. Further, although the memory 1002 is shown as a contiguous unit of a memory type, other embodiments use multiple locations and multiple memory types such as the memory 1002. The network I / O interface 1004 provides input and output to devices coupled to the network via channel 1008. Processor 1006 operates on instructions and data provided via channel 1008. In at least one mode of processor 1006 is part of ASIC 52. Located in memory 1002 is logic 1010 to receive a request for replace a resident executable application with a different version of the application, logic 1012 receives, via a network, the different version of the application, logic 1014 stores the different version of the application in a temporary location in response to receipt of the request to replace the resident executable application with a different version of the application, the logic 1016 detects the active execution of the executable application resident in an active application location, the logic 1018 ends the active execution of the resident executable application, the logic 1020 configured to start the execution of the first application detected in a sequential search of the updated place and the location of the active application. In one or more other embodiments the logic 1010 for receiving a request to replace a resident executable application with a different version of the application is further modified so that where the request is initiated by the wireless device (1022), where the request is initiated with the detection of user input (1024), where the different version of the application is an earlier version (1026), and / or where the application is at least one of: an extension, an initiation document and content data (1028).
Also, in one embodiment logic 1014 for storing the different version of the application in an updated place in response to receipt of the request to replace a resident executable application with a different version of the application that is further modified where the updated location is found in at least one of: a peripheral device and a remote network location (1030). In view of the method of the invention, the present invention includes a program resident in a computer readable medium, where the program is directed to a wireless device having a computer platform to perform the steps of the method of the invention. The computer-readable medium may be the memory 56 of the computer platform 50 of the cellular telephone 12, or another wireless device, or it may be in a local database, such as the local database 58 of the cellular telephone 12. In addition, the computer readable medium can be in a secondary storage medium that is chargeable on a computer platform of a wireless device, such as a magnetic disk or tape, optical disk, hard disk, flash memory, or other storage medium known in the art. technique. In the context of Figures 4 and 5, the methods of the present invention can be implemented, for example, by operating portions of the wireless network 14 to execute a sequence of instructions readable by a machine. These instructions may reside in various types of signal-carrying media. These signal carrying means may comprise, for example, the RAM (illustrated) accessible, or resident within, the components of the wireless network 14. If contained in the RAM, a disk, or other secondary storage means, the instructions they can be stored in a variety of machine-readable data storage media, such as a DASD store (eg, "conventional disk drive" or a RAID array), magnetic tape, electronic read-only memory (e.g. ROM, EPROM, or EEPROM), an optical storage device
(for example, CD-ROM, WORM, DVD, digital optical tape), "punched" paper cards, or other suitable storage and data media, including transmission media such as digital and analogue media. Although the foregoing description shows illustrative embodiments of the invention, it should be noted that various changes and modifications may be made thereto without departing from the scope of the invention as defined by the appended claims. Furthermore, although the elements of the invention can be described or claimed in the singular, the plural was contemplated unless a limitation to the singular is explicitly established.
Claims (48)
- NOVELTY OF THE INVENTION Having described the invention as above, property is claimed as contained in the following: CLAIMS 1. A method for replacing an executable application resident in a wireless device with a different version of the application, characterized in that it comprises: receiving a request to replace a resident executable application with a different version of the application; detect the active execution of the resident executable application; receive, via a network, the different version of the application; store the different version of the application in a temporary location in response to the detection of the active execution of the resident executable application; terminate the active execution of the resident executable application; overwrite the resident executable application with the different version of the application stored in the temporary location; and start the active execution of the different version of the application.
- 2. The method according to claim 1, characterized in that the request is initiated by the wireless device.
- 3. The method according to claim 1, characterized in that the request is initiated with the detection of the user input.
- 4. The method according to claim 1, characterized in that the different version of the application is an earlier version.
- The method according to claim 1, characterized in that the application is at least one of: an extension, an initiation document and content data.
- 6. The method according to claim 1, characterized in that the temporary location is on at least one of: a peripheral device and a location of the remote network.
- 7. A wireless device, characterized in that it contains a resident executable application, characterized in that it comprises: a logic configured to receive a request to replace a resident executable application with a different version of the application; a logic configured to detect the active execution of the resident executable application; a logic configured to receive, via a network, the different version of the application; a logic configured to store the different version of the application in a temporary location in response to the detection of the active execution of the resident executable application; a logic configured to terminate the active execution of the resident executable application; a logic configured to overwrite the resident executable application with the different version of the application stored in the temporary location; and a logic configured to start the active execution of the different version of the application.
- The wireless device according to claim 7, characterized in that the request is initiated by the wireless device.
- The wireless device according to claim 7, characterized in that the request is initiated with the detection of the user input.
- 10. The wireless device according to claim 7, characterized in that the different version of the application is an earlier version.
- The wireless device according to claim 7, characterized in that the application is at least one of: an extension, an initiation document and content data.
- The wireless device according to claim 7, characterized in that the temporary location is on at least one of: a peripheral device and a location of the remote network.
- 13. A computer program incorporated in a computer-readable medium, the computer program capable of replacing an executable application resident on a wireless device with a different version of the application, the computer program is characterized in that it comprises: an operable code for receive a request to replace a resident executable application with a different version of the application; an operable code to detect the active execution of the resident executable application; an operable code to receive, via a network, the different version of the application; an operable code to store the different version of the application in a temporary location in response to the detection of the active execution of the resident executable application; an operable code to terminate the active execution of the resident executable application; an operable code to overwrite the resident executable application with the different version of the application stored in the temporary location; and an operable code to start the active execution of the different version of the application.
- The computer program according to claim 13, characterized in that the application is at least one of: an extension, an initiation document and content data.
- 15. A wireless device containing a resident application, characterized in that it comprises: means for receiving a request to replace a resident executable application with a different version of the application; means to detect the active execution of the resident executable application; means for receiving, via a network, the different version of the application; means to store the different version of the application in a temporary location in response to the detection of the active execution of the resident executable application; means to terminate the active execution of the resident executable application; means to overwrite the resident executable application with the different version of the application stored in the temporary location; and means- to start the active execution of the different version of the application.
- The wireless device according to claim 15, characterized in that the application is at least one of: an extension, an initiation document and content data.
- 17. A method for replacing a resident executable application on a wireless device with a different version of the application, characterized in that it comprises: receiving a request to replace a resident executable application with a different version of the application; receive, via a network, the different version of the application; store the different version of the application to a temporary location in response to the receipt of the request to replace a resident executable application with a different version of the application; detect the active execution of the resident executable application; terminate the active execution of the resident executable application; overwrite the resident executable application with the different version of the application stored in the temporary location; and start the active execution of the different version of the application.
- 18. The method according to claim 17, characterized in that the request is initiated by the wireless device.
- 19. The method according to claim 17, characterized in that the request is initiated with the detection of the user input.
- 20. The method according to claim 17, characterized in that the different version of the application is an earlier version.
- The method according to claim 17, characterized in that the resident executable application is at least one of: an extension, an initiation document and content data.
- The method according to claim 17, characterized in that the temporary location is at least one of: a peripheral device and a location of the remote network.
- 23. A wireless device, containing a resident executable application, characterized in that it comprises: a logic configured to receive a request to replace a resident executable application with a different version of the application; a logic configured to receive, via a network, the different version of the application; a logic configured to store the different version of the application in a temporary location in response to the receipt of the request to replace a resident executable application with a different version of the application; a logic configured to detect the active execution of the resident executable application; a logic configured to terminate the active execution of the resident executable application; a logic configured to overwrite the resident executable application with the different version of the application stored in the temporary location; and a logic configured to start the active execution of the different version of the application.
- 24. The wireless device according to claim 23, characterized in that the request is initiated by the wireless device.
- 25. The wireless device according to claim 23, characterized in that the request is initiated with the detection of the user input.
- 26. The wireless device according to claim 23, characterized in that the different version of the application is an earlier version.
- The wireless device according to claim 23, characterized in that the resident executable application is at least one of: an extension, an initiation document and content data.
- 28. The wireless device according to claim 23, characterized in that the temporary location is at least one of: a peripheral device and a location of the remote network.
- 29. A computer program incorporated in a computer readable medium, the computer program capable of replacing an executable application resident in a wireless device with a different version of the application, the computer program is characterized because it comprises: an operable code for receive a request to replace a resident executable application with a different version of the application; an operable code to receive, via a network, the different version of the application; an operable code to store the different version of the application in a temporary location in response to the receipt of the request to replace a resident executable application with a different version of the application; an operable code to detect the active execution of the resident executable application; an operable code to terminate the active execution of the resident executable application; an operable code to overwrite the resident executable application with a different version of the application stored in the temporary location; and an operable code to start the active execution of the different version of the application.
- 30. The computer program according to claim 29, characterized in that the application is at least one of: an extension, an initiation document and content data.
- 31. A wireless device for processing secure communications with a client computing device over a network, characterized in that it comprises: means for receiving a request to replace a resident executable application with a different version of the application; means for receiving, via a network, the different version of the application; means to store the different version of the application in a temporary location in response to receipt of the request to replace a resident executable application with a different version of the application; means to detect the active execution of the resident executable application; means to terminate the active execution of the resident executable application; means to overwrite the resident executable application with the different version of the application stored in the temporary location; and means to initiate the active execution of the different version of the application.
- 32. The wireless device according to claim 31, characterized in that the application is at least one of: an extension, an initiation document and content data.
- 33. A method for replacing a resident executable application on a wireless device with a different version of the application, characterized in that it comprises: receiving a request to replace a resident executable application with a different version of the application; receive, via a network, the different version of the application; store the different version of the application in an updated place in response to the receipt of the request to replace a resident executable application with a different version of the application; detect the active execution of the executable application resident in an active application location; terminate the active execution of the resident executable application; and start the execution of a first application detected in a sequential search of the updated place and the location of the active application.
- 34. The method according to claim 33, characterized in that the request is initiated by the wireless device.
- 35. The method according to claim 33, characterized in that the request is initiated with the detection of the user input.
- 36. The method according to claim 33, characterized in that the different version of the application is an earlier version.
- 37. The method according to claim 33, characterized in that the resident executable application is at least one of: an extension, an initiation document and content data.
- 38. The method according to claim 33, characterized in that the temporary place is at least one of: a peripheral device and a place of the remote network.
- 39. A wireless device containing a resident executable application, characterized in that it comprises: a logic configured to receive a request to replace a resident executable application with a different version of the application; a logic configured to receive, via a network, the different version of the application; a logic configured to store the different version of the application in an updated place in response to the receipt of the request to replace a resident executable application with a different version of the application; a logic configured to detect the active execution of the executable application residing in an active application location; a logic configured to terminate the active execution of the resident executable application; and a logic configured to start the execution of the first detected application in a sequential search of the updated place and the location of the active application.
- 40. The wireless device according to claim 39, characterized in that the request is initiated by the wireless device.
- 41. The wireless device according to claim 39, characterized in that the request is initiated with the detection of the user input.
- 42. The wireless device according to claim 39, characterized in that the different version of the application is a previous version.
- 43. The wireless device according to claim 39, characterized in that the resident executable application is at least one of: an extension, an initiation document and content data.
- 44. The wireless device according to claim 39, characterized in that the updated place is at least one of: a peripheral device and a location of the remote network.
- 45. A computer program incorporated into a computer-readable medium, the computer program capable of replacing an executable application resident on a wireless device with a different version of the application, the computer program is characterized in that it comprises: an operable code for receive a request to replace a resident executable application with a different version of the application; an operable code to receive, via a network, the different version of the application; an operable code to store the different version of the application in an updated place in response to the receipt of the request to replace a resident executable application with a different version of the application; an operable code to detect the active execution of the executable application resident in an active application location; an operable code to terminate the active execution of the resident executable application; and an operable code to start the execution of the first application detected in a sequential search of the updated place and the location of the active application.
- 46. The computer program according to claim 45, characterized in that the application is at least one of: an extension, an initiation document and content data.
- 47. A wireless device containing a resident executable application, characterized in that it comprises: means for receiving a request to replace a resident executable application with a different version of the application; means for receiving, via a network, the different version of the application; means to store the different version of the application in an updated place in response to the receipt of the request to replace a resident executable application with a different version of the application; means for detecting the active execution of the executable application resident in an active application location; means to terminate the active execution of the resident executable application; and means to initiate the execution of the first application detected in a sequential search of the updated location and the application of the active location.
- 48. The wireless device according to claim 47, characterized in that the application is at least one of: an extension, an initiation document and content data.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US60/515,802 | 2003-10-29 | ||
| US10969507 | 2004-10-20 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| MXPA06004669A true MXPA06004669A (en) | 2006-10-17 |
Family
ID=
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR100915564B1 (en) | Method, software and apparatus for application upgrade during execution | |
| KR100815099B1 (en) | System and apparatus for temporary application component deletion and reloading on wireless devices | |
| KR100984599B1 (en) | System and method for application disable / restore management | |
| JP4468380B2 (en) | Automated air plug-in device recognition and software driver download | |
| KR100663415B1 (en) | System and method for updating a dataset version residing on a wireless device | |
| JP4865835B2 (en) | Method, software, and apparatus for performing actions on a wireless device using action lists and versioning | |
| JP2006505029A (en) | Server processing to update the version of the dataset present on the wireless device | |
| CN1918932B (en) | Preferred roaming list update in a subscriber identity module/removable subscriber identity module card | |
| JP2007528064A (en) | Running unverified programs in a wireless device operating environment | |
| MXPA06004669A (en) | Method, software and apparatus for application upgrade during execution | |
| KR100864387B1 (en) | System and apparatus for temporary application component deletion and reloading on wireless devices | |
| KR100865640B1 (en) | System and apparatus for temporary application component deletion and reloading on wireless devices | |
| AU2002356071A1 (en) | System for updating software in a wireless device | |
| TW200527280A (en) | Method, software and apparatus for application upgrade during execution | |
| HK1108296A (en) | Method, software and apparatus for application upgrade during execution | |
| HK1070218A (en) | System and method for temporary application component deletion and reload on a wireless device |