WO2002063903A2 - Method and apparatus for managing applications and data in a mobile device - Google Patents

Method and apparatus for managing applications and data in a mobile device Download PDF

Info

Publication number
WO2002063903A2
WO2002063903A2 PCT/US2001/051293 US0151293W WO02063903A2 WO 2002063903 A2 WO2002063903 A2 WO 2002063903A2 US 0151293 W US0151293 W US 0151293W WO 02063903 A2 WO02063903 A2 WO 02063903A2
Authority
WO
WIPO (PCT)
Prior art keywords
mobile device
selected program
program
main memory
storage
Prior art date
Application number
PCT/US2001/051293
Other languages
French (fr)
Other versions
WO2002063903A3 (en
Inventor
Don Middleton
Original Assignee
Nokia Corporation
Nokia, Inc.
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 Nokia Corporation, Nokia, Inc. filed Critical Nokia Corporation
Publication of WO2002063903A2 publication Critical patent/WO2002063903A2/en
Publication of WO2002063903A3 publication Critical patent/WO2002063903A3/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Definitions

  • This invention relates to mobile devices and, more particularly, to a methods and apparatus for managing applications and data for a mobile device.
  • Mobile devices such as mobile telephones, personal digital assistants (PDAs), have become increasingly sophisticated in ability to perform functions.
  • PDAs personal digital assistants
  • designers of these devices have also been able to place increasingly powerful processing power in these devices because of advances in microelectronics.
  • Concurrent with the increase in sophistication of these mobile devices, the systems in which mobile devices operate have been developed to offer higher data rates and more services.
  • main memory may be limited in a smaller device.
  • PDAs for example have limited memory. This problem is often overcome by adding additional secondary external or internal memory such as MMC. Even then, however, data on external memory may not be compatible with the PDA memory as provided by the PDA supplier or as qucikly accessible as data stored on main memory . As PDAs are combined into mobile devices that are capable of performing multiple functions of increasing sophistication, memory limitations could become a factor in mobile device performance.
  • the invention presents a method and apparatus for managing applications and data for mobile devices.
  • external memories of the mobile device and/or network storage may be used as secondary storage locations for relatively low use programs and data loaded into the mobile device in a communications system. Both program and data may be stored in the secondary locations.
  • the handling and management of storage in the external memory and/or network storage and, the handling and management of the programs and data in the device are performed in predetermined manner to increase efficient use of memory. If main memory or cache memory capacity is available in the mobile device, the method and apparatus may be utilized to store programs in the main memory or cache device, as long as no program exists in the mobile device having a higher priority for storage in the main memory or cache memory, This would allow quicker access to the program.
  • main memory or cache memory may be stored in secondary or network storage, depending on preferences. For example, programs requiring small data storage areas that are not used frequently, such as a game, may be stored in network storage and retrieved on line when a user of the mobile device desires to use the program. The retrieved program may be stored in the memory of the mobile device with the memory of the mobile device serving as cache. Applications and data could be swapped in and out of the memory of the mobile device according to use. Programs that are generic or offered by a service provider may be cached locally in the main memory of the mobile device. Security and immunity from virus infection could be prevented by implementing download/swap-in mechanisms that validate the integrity of the program being loaded. Data files could be handled in a similar manner.
  • a launcher program is implemented into the mobile device.
  • the launcher program is p reconstructed or preconfigured to reference a defined network location for target executable programs.
  • the launcher program has the capability to access the network location and secondary storage using necessary mechanisms and algorithms according to the relevant technology.
  • the launcher program may support a variety of different methods and use those suitable to the available secondary storage media.
  • a target program is to be stored in secondary storage
  • the user ' s desired location is requested via a prompt in order that the target program may be stored in one of any number of secondary storage locations, such as SIMM, MMC, PCMCC1A memory card, PCMCIA disk drive, or alternatives.
  • the target program is downloaded to local storage or main memory or cache memory and control is transferred to the target program.
  • Various alternatives for storage may be followed depending on the current state of available memory and other programs that are stored in the mobile device.
  • the selected program may be loaded into the mobile device by other means than through network data transfer, if the mobile device is not network capable, .such as cable or infrared.
  • the launcher program of the embodiment provides the functions of validation of the target program as it is loaded from network storage or a secondary storage location.
  • the launcher program operates according to control parameters that may be definable by the user of the mobile device.
  • the launcher program tracks parameters such as program size, the amount of time the program has been stored in the mobile device, priority of use, amount of use and last time of use of the target program, Based on these parameters, the launcher program manages the cache or local storage in the mobile device according to user predefined control. For example, the least used target programs or target programs that are stored longer than a predetermined period in local storage without use may be deleted from local storage.
  • the launcher program When the launcher program is invoked for a particular target program, the launcher program uses information retained from the tasks of managing the target program storage. On subsequent uses of a target program that was loaded from network storage, the launcher program would load from the location in which the program is stored and transfer control of the target program.
  • Figure 1 is a block diagram of a mobile device according to an embodiment of the invention
  • Figure 2 is a flow chart illustrating process steps performed by a launcher program according to an embodiment of the invention.
  • Figure 3 is a flow chart illustrating process steps performed in step 308 of Figure 3.
  • mobile device may be a media phone device.
  • mobile device 1 may be any other type of mobile device, such as, for example, a personal digital assistant (PDA) or a mobile telephone that provides the function of running executable programs of sophisticated function, but that has limited local storage memory capacity for program storage.
  • PDA personal digital assistant
  • mobile device operates in a wireless communications network that provides capability to transfer data and programs between the network and mobile device.
  • the network may operate, for example, according to the global systems for mobile communications standard (GSM) using general packet radio services (GPRS) or the enhanced data rates for global evolution (EDGE) or, the IS-136 time division multiple access (TDMA) system standard, using the EDGE standard.
  • GSM global systems for mobile communications standard
  • GPRS general packet radio services
  • EDGE enhanced data rates for global evolution
  • TDMA time division multiple access
  • Other systems include 3 rd generation wide band CDMA (WCDMA), CDMA2D00 or IMT- 2000 systems or, any other system providing data transfer capability.
  • mobile station 1 includes receiver 10, transmitter 1 1 , and controller (which may also be known as a processor) 15 that is coupled to transmitter 1 1 and receiver 10.
  • Processor 15 initiates the transmission of outgoing signals and processes incoming signals.
  • a user interface includes a Liquid Crystal Display (LCD) 12, tone generator 17, speaker 19, vibrate device 18 and user-input device 14 comprising keypad 14a, all of which are coupled to processor 15.
  • the input device may also comprise microphone 1 b for generating input
  • Mobile station 1 also comprises timer 16 (also referred to as a clock chip) coupled to processor 15 for synchronising the operations of processor 15 and tracking time.
  • Mobile station 1 also includes various memories, shown collectively as memory 13.
  • Memory 13 includes a plurality of stored constants and variables that are used by processor 15 during the operation of mobile station 1. For example, memory 13 stores the values of the various feature parameters and the number assignment module (NAM).
  • NAM number assignment module
  • An operating program for controlling the operation of processor 15 is also stored in memory 13 (typically in a read-only memory). Memory 13 is also used to store data provided by the user through the user interface. Furthermore, memory 13 is used to hold the subprograms or subprocesses for controlling the operation of mobile station 1 and carrying out the embodiment of the invention.
  • the operating program in memory 13 includes routines for that control processor 15 to perform functions according to the embodiment of the invention.
  • Mobile station 1 also is capable of receiving secondary storage location capability at PCMCIA slot 20 and MMC slot 21. PCMCIA slot may be used to connect a PCMCIA memory card or PCMCIA disk drive to use as a secondary storage location.
  • FIG. 2 therein is a flow chart illustrating process steps performed when using a launcher program according to an embodiment of the ' invention.
  • the process begins at 300.
  • the launcher program is loaded into mobile device 1 ,
  • the program may be loaded over the communications channel air interface or by others means such as cable connection to a personal computer or service provider's programming station.
  • the launcher program resides in the mobile device and may be implemented as configured by the service provider or implemented to be user configurable
  • the user is prompted to enter input for defining control parameters that control storage management and a storage configuration in the mobile device for one or more programs.
  • the control parameters may be defined broadly or be program specific for programs included in a selection package provided by the network service provider.
  • all programs designated as "games class” may be given a low storage priority.
  • the storage priority may define the relative priority of allowing a program to be stored on the mobile device when storage capacity is limited.
  • Programs designated as ⁇ organizer class” may be given a priority higher than the storage priority given the "games" programs.
  • the storage priority of specific program having a low -storage priority for its class may be given a higher priority.
  • the control parameters may define where a certain class of programs or a specific program is to be stored on the mobile device. For example, "games class” programs may be defined to be stored on PCMCIA memory only if space is available from higher priority programs or otherwise only on the network, while "organizer class” programs may be specified to be stored on PCMCIA memory with priority.
  • a selected program is invoked through the launcher program.
  • the launcher may allow invocation of a selected program included in the selection package provided by the network service provider.
  • step 308 storage management of the selected program invoked at step 308 is performed.
  • FIG 3 therein is a flow chart illustrating process steps performed in step 308 of Figure 3, The storage management according to the embodiment of Figure 3 is performed as illustrated in Figure 3.
  • the process begins at 400.
  • step 401 a determination is made as to whether the selected program is stored in the main memory of the mobile device from a previous use. If the selected program is stored in the main memory from a previous use, the process moves to step 310 and the program is executed, Alternatively to executing the selected program directly from main memory as in steps 401 and 310, the user may be given the option of, by prompt or otherwise, storing the selected program in secondary storage if the selected program is in main memory but not in secondary storage.
  • step 401 it is determined that the selected program Invoked in step 306 is not stored in main memory, the process moves to step 402. - At step 402 a determination is made as to whether the selected program is stored in a secondary-storage location in the mobile device. If the selected program is not stored in secondary storage, the process moves to step 404. At step 404 a determination is made as to whether the launcher-program, control parameters indicate that the selected program is to be stored in secondary storage, If it is determined that the selected program is not to be stored in secondary storage, the process moves to step 406,
  • the selected program is loaded into main memory form the network If however, at step 404, it is determined that the selected program is to be stored in secondary storage, the process move to step 408.
  • the launcher program prompts the user to enter a desired secondary-storage location. Alternatively, the control parameters entered at step 304 may be used to indicate the desired secondary-storage location for the selected program.
  • the selected program is loaded into the secondary storage from the network and then into main memory at step 41 . The selected program is then executed at step 310. If however, at step 402, it is determined that the selected program is stored in secondary memory, the process moves to step 414. At step 414 location details on how and where the selected program is stored in secondary storage are retrieved.
  • step 414 the user could be given the option to modify the storage location through a series of steps similar to steps 408 - 41 .
  • step 416 the integrity of the selected program as stored in secondary storage is checked. This could be done using a series of checksums or equivalent mechanisms. If it is determined that the stored selected program has maintained integrity, the process moves through step 418 to step 420. At step 420 the selected program is loaded from the secondary storage to the main memory of the mobile device. If however, at step 418 it is determined that the stored, selected program has not maintained integrity, the process moves to step 422.
  • control-parameter update may include updating parameters that the launcher program uses on subsequent invocations of the selected program. For example, parameters indicating that the selected program remains stored in secondary storage and/or main memory after execution may be updated. Parameters related to other programs that-were effected by the invocation of the selected program may also be update. For example, if a lower priority program is replaced in both or one of the secondary storage or main memory of the mobile device during the process of figure 2 and figure 3, these parameters may be updated.
  • the selected program when placed in main memory it will be a candidate for purging, but will not be purged unless a memory demand arises.
  • a second program being launched may require the memory space used by the selected program. If the amount of main memory were adequate, a user could toggle between several programs in the mobile device without the programs being purged, allowing faster access to the programs.
  • the launcher of the embodiment could also be used to manage the storage of data files or records, In one embodiment of this, the launcher would require that a remote location, e.g. , a user-network folder, where the files are placed when the need for the memory space taken up by them is required. If no network connection is available when the need for the memory space taken by the files arises, then the data will be placed on secondary storage. Sets of data could be retrieved independent of whether it is stored on main memory or secondary storage. For example, a playlist could be found using data-f ⁇ le- locating methods, When the application is invoked, the files comprising the playlist are retrieved from a personal web location or personal net folder, then the application could be launched to effect the result.
  • a remote location e.g. , a user-network folder
  • efficiency of launch is maintained by having the first item start to be utilized prior to a second time being fetched.

Abstract

A method and apparatus for managing applications and data for mobile devices. In the method and apparatus, external memories of a mobile device and/or network storage may be used as secondary storage locations for relatively low use programs and data downloaded into a mobile device in a communications network. Both program and data may be stored in the secondary locations. According to the method and apparatus, the handling and management of storage in mobile device external memory and/or network storage and, the handling and management of the programs and data in the main memory device are performed in predetermined manner to increase efficient use of memory as programs are downloaded and executed.

Description

METHOD AND APPARATUS FOR MANAGING APPLICATIONS AND DATA IN A MOBILE DEVICE
FIELD OF THE INVENTION This invention relates to mobile devices and, more particularly, to a methods and apparatus for managing applications and data for a mobile device.
BACKGROUND OF THE INVENTION
Mobile devices, such as mobile telephones, personal digital assistants (PDAs), have become increasingly sophisticated in ability to perform functions. As the effort to miniaturize mobile devices has progressed, designers of these devices have also been able to place increasingly powerful processing power in these devices because of advances in microelectronics. Concurrent with the increase in sophistication of these mobile devices, the systems in which mobile devices operate have been developed to offer higher data rates and more services. Various devices that combine the functions of mobile telephones and
PDAs while operating in these systems are now being proposed and developed,
One problem with having smaller size mobile devices perform increasingly sophisticated functions is that memory storage capacity in main memory may be limited in a smaller device. PDAs for example have limited memory. This problem is often overcome by adding additional secondary external or internal memory such as MMC. Even then, however, data on external memory may not be compatible with the PDA memory as provided by the PDA supplier or as qucikly accessible as data stored on main memory . As PDAs are combined into mobile devices that are capable of performing multiple functions of increasing sophistication, memory limitations could become a factor in mobile device performance.
SUMMARY OF THE INVENTION:
The invention presents a method and apparatus for managing applications and data for mobile devices. In the method and apparatus, external memories of the mobile device and/or network storage may be used as secondary storage locations for relatively low use programs and data loaded into the mobile device in a communications system. Both program and data may be stored in the secondary locations. According to the method and apparatus, the handling and management of storage in the external memory and/or network storage and, the handling and management of the programs and data in the device are performed in predetermined manner to increase efficient use of memory. If main memory or cache memory capacity is available in the mobile device, the method and apparatus may be utilized to store programs in the main memory or cache device, as long as no program exists in the mobile device having a higher priority for storage in the main memory or cache memory, This would allow quicker access to the program. If no main memory or cache memory were available for a program the program then would be stored in secondary or network storage, depending on preferences. For example, programs requiring small data storage areas that are not used frequently, such as a game, may be stored in network storage and retrieved on line when a user of the mobile device desires to use the program. The retrieved program may be stored in the memory of the mobile device with the memory of the mobile device serving as cache. Applications and data could be swapped in and out of the memory of the mobile device according to use. Programs that are generic or offered by a service provider may be cached locally in the main memory of the mobile device. Security and immunity from virus infection could be prevented by implementing download/swap-in mechanisms that validate the integrity of the program being loaded. Data files could be handled in a similar manner.
According to an embodiment of the invention, a launcher program is implemented into the mobile device. The launcher program is p reconstructed or preconfigured to reference a defined network location for target executable programs. The launcher program has the capability to access the network location and secondary storage using necessary mechanisms and algorithms according to the relevant technology. The launcher program may support a variety of different methods and use those suitable to the available secondary storage media. When loaded and executed in the mobile device The launcher program first determines a users intent for use of a target program desired to be downloaded from the network location and stores information on this for future launches, After the target program is downloaded from network storage by the user, the launcher program determines and controls how the program is used. If a target program is to be stored in secondary storage, the user's desired location is requested via a prompt in order that the target program may be stored in one of any number of secondary storage locations, such as SIMM, MMC, PCMCC1A memory card, PCMCIA disk drive, or alternatives. If local storage is to be used, the target program is downloaded to local storage or main memory or cache memory and control is transferred to the target program. Various alternatives for storage may be followed depending on the current state of available memory and other programs that are stored in the mobile device. Additionally, the selected program may be loaded into the mobile device by other means than through network data transfer, if the mobile device is not network capable, .such as cable or infrared. The launcher program of the embodiment provides the functions of validation of the target program as it is loaded from network storage or a secondary storage location. The launcher program operates according to control parameters that may be definable by the user of the mobile device. When target programs are loaded into local storage or cache, the launcher program tracks parameters such as program size, the amount of time the program has been stored in the mobile device, priority of use, amount of use and last time of use of the target program, Based on these parameters, the launcher program manages the cache or local storage in the mobile device according to user predefined control. For example, the least used target programs or target programs that are stored longer than a predetermined period in local storage without use may be deleted from local storage. When the launcher program is invoked for a particular target program, the launcher program uses information retained from the tasks of managing the target program storage. On subsequent uses of a target program that was loaded from network storage, the launcher program would load from the location in which the program is stored and transfer control of the target program. BRIEF DESCRIPTION OF THE DRAWINGS;
Figure 1 is a block diagram of a mobile device according to an embodiment of the invention; Figure 2 is a flow chart illustrating process steps performed by a launcher program according to an embodiment of the invention.; and
Figure 3 is a flow chart illustrating process steps performed in step 308 of Figure 3.
DETAILED DESCRIPTION OF THE INVENTION: Referring now to Figure 1 , therein is a block diagram of a mobile device according to an embodiment of the invention. According to the embodiment, mobile device may be a media phone device. Alternatively, mobile device 1 may be any other type of mobile device, such as, for example, a personal digital assistant (PDA) or a mobile telephone that provides the function of running executable programs of sophisticated function, but that has limited local storage memory capacity for program storage. In the embodiment, mobile device operates in a wireless communications network that provides capability to transfer data and programs between the network and mobile device. The network may operate, for example, according to the global systems for mobile communications standard (GSM) using general packet radio services (GPRS) or the enhanced data rates for global evolution (EDGE) or, the IS-136 time division multiple access (TDMA) system standard, using the EDGE standard. Other systems include 3rd generation wide band CDMA (WCDMA), CDMA2D00 or IMT- 2000 systems or, any other system providing data transfer capability. Generally, mobile station 1 includes receiver 10, transmitter 1 1 , and controller (which may also be known as a processor) 15 that is coupled to transmitter 1 1 and receiver 10. Processor 15 initiates the transmission of outgoing signals and processes incoming signals. These signals may include signalling information in accordance with the air interface of the applicable cellular or digital system, and also user-speech and/or user-generated data. A user interface includes a Liquid Crystal Display (LCD) 12, tone generator 17, speaker 19, vibrate device 18 and user-input device 14 comprising keypad 14a, all of which are coupled to processor 15. The input device may also comprise microphone 1 b for generating input, Mobile station 1 also comprises timer 16 (also referred to as a clock chip) coupled to processor 15 for synchronising the operations of processor 15 and tracking time.
Mobile station 1 also includes various memories, shown collectively as memory 13. Memory 13 includes a plurality of stored constants and variables that are used by processor 15 during the operation of mobile station 1. For example, memory 13 stores the values of the various feature parameters and the number assignment module (NAM). An operating program for controlling the operation of processor 15 is also stored in memory 13 (typically in a read-only memory). Memory 13 is also used to store data provided by the user through the user interface. Furthermore, memory 13 is used to hold the subprograms or subprocesses for controlling the operation of mobile station 1 and carrying out the embodiment of the invention. The operating program in memory 13 includes routines for that control processor 15 to perform functions according to the embodiment of the invention. Mobile station 1 also is capable of receiving secondary storage location capability at PCMCIA slot 20 and MMC slot 21. PCMCIA slot may be used to connect a PCMCIA memory card or PCMCIA disk drive to use as a secondary storage location.
Referring now to Figure 2, therein is a flow chart illustrating process steps performed when using a launcher program according to an embodiment of the ' invention. The process begins at 300. At step 302 the launcher program is loaded into mobile device 1 , The program may be loaded over the communications channel air interface or by others means such as cable connection to a personal computer or service provider's programming station. The launcher program resides in the mobile device and may be implemented as configured by the service provider or implemented to be user configurable In the embodiment of Figure 2, at step 304, the user is prompted to enter input for defining control parameters that control storage management and a storage configuration in the mobile device for one or more programs. The control parameters may be defined broadly or be program specific for programs included in a selection package provided by the network service provider. For example, all programs designated as "games class" may be given a low storage priority. The storage priority may define the relative priority of allowing a program to be stored on the mobile device when storage capacity is limited. Programs designated as ^organizer class" may be given a priority higher than the storage priority given the "games" programs. Alternately, the storage priority of specific program having a low -storage priority for its class may be given a higher priority. The control parameters may define where a certain class of programs or a specific program is to be stored on the mobile device. For example, "games class" programs may be defined to be stored on PCMCIA memory only if space is available from higher priority programs or otherwise only on the network, while "organizer class" programs may be specified to be stored on PCMCIA memory with priority. Next, at step 306, a selected program is invoked through the launcher program. In the embodiment, the launcher may allow invocation of a selected program included in the selection package provided by the network service provider.
Next, at step 308, storage management of the selected program invoked at step 308 is performed. Referring now to Figure 3, therein is a flow chart illustrating process steps performed in step 308 of Figure 3, The storage management according to the embodiment of Figure 3 is performed as illustrated in Figure 3. The process begins at 400. At step 401 a determination is made as to whether the selected program is stored in the main memory of the mobile device from a previous use. If the selected program is stored in the main memory from a previous use, the process moves to step 310 and the program is executed, Alternatively to executing the selected program directly from main memory as in steps 401 and 310, the user may be given the option of, by prompt or otherwise, storing the selected program in secondary storage if the selected program is in main memory but not in secondary storage. If however, at step 401 , it is determined that the selected program Invoked in step 306 is not stored in main memory, the process moves to step 402. - At step 402 a determination is made as to whether the selected program is stored in a secondary-storage location in the mobile device. If the selected program is not stored in secondary storage, the process moves to step 404. At step 404 a determination is made as to whether the launcher-program, control parameters indicate that the selected program is to be stored in secondary storage, If it is determined that the selected program is not to be stored in secondary storage, the process moves to step 406,
At step 406 the selected program is loaded into main memory form the network If however, at step 404, it is determined that the selected program is to be stored in secondary storage, the process move to step 408. At step 408 the launcher program prompts the user to enter a desired secondary-storage location. Alternatively, the control parameters entered at step 304 may be used to indicate the desired secondary-storage location for the selected program. Next, at step 410, the selected program is loaded into the secondary storage from the network and then into main memory at step 41 . The selected program is then executed at step 310. If however, at step 402, it is determined that the selected program is stored in secondary memory, the process moves to step 414. At step 414 location details on how and where the selected program is stored in secondary storage are retrieved. As an alternative, at step 414 the user could be given the option to modify the storage location through a series of steps similar to steps 408 - 41 . Next, at step 416, the integrity of the selected program as stored in secondary storage is checked. This could be done using a series of checksums or equivalent mechanisms. If it is determined that the stored selected program has maintained integrity, the process moves through step 418 to step 420. At step 420 the selected program is loaded from the secondary storage to the main memory of the mobile device. If however, at step 418 it is determined that the stored, selected program has not maintained integrity, the process moves to step 422. At step 422 the selected program is loaded from the network to the secondary storage of the mobile device and the stored version of the selected program in secondary storage is replaced by the loaded version of the selected program, Next, the process moves to step 310 and the selected programs are executed. At step 312 post-execution, control-parameter update and storage management is performed on the selected program. Control-parameter update may include updating parameters that the launcher program uses on subsequent invocations of the selected program. For example, parameters indicating that the selected program remains stored in secondary storage and/or main memory after execution may be updated. Parameters related to other programs that-were effected by the invocation of the selected program may also be update. For example, if a lower priority program is replaced in both or one of the secondary storage or main memory of the mobile device during the process of figure 2 and figure 3, these parameters may be updated.
According to the embodiment, when the selected program is placed in main memory it will be a candidate for purging, but will not be purged unless a memory demand arises. A second program being launched may require the memory space used by the selected program. If the amount of main memory were adequate, a user could toggle between several programs in the mobile device without the programs being purged, allowing faster access to the programs.
The launcher of the embodiment could also be used to manage the storage of data files or records, In one embodiment of this, the launcher would require that a remote location, e.g. , a user-network folder, where the files are placed when the need for the memory space taken up by them is required. If no network connection is available when the need for the memory space taken by the files arises, then the data will be placed on secondary storage. Sets of data could be retrieved independent of whether it is stored on main memory or secondary storage. For example, a playlist could be found using data-fϊle- locating methods, When the application is invoked, the files comprising the playlist are retrieved from a personal web location or personal net folder, then the application could be launched to effect the result. In the embodiment, efficiency of launch is maintained by having the first item start to be utilized prior to a second time being fetched. One skilled in the art will realize that the method and apparatus may be implemented in various types of systems or networks and various types of mobile devices. Thus, while the invention has been particularly shown and described with respect to preferred embodiments thereof, it will be understood by those skilled in the art that changes in form and scope may be made thereon without departing from the scope and spirit of the invention

Claims

What is claimed is: 1. A method for managing applications in a mobile device having storage capacity including a secondary storage location and a main memory, the mobile device operating in a communications network having a network storage location, the method comprising the steps of: defining control parameters, said control parameters defining at least a storage configuration for applications including a selected program within the storage capacity of the mobile device, said application to be downloaded from the network storage location ;
receiving input for invoking said selected program in the mobile device, wherein said selected program is stored in the network storage location; performing storage management of said selected program based on said control parameters as defined by said input data, said storage management including loading said selected program from the network into at least the mobile device; and executing said selected program from the main memory of said mobile device.
2. The method of claim 1 , wherein the step of defining comprises the step of receving input data at the mobile device, said input data defining said control parameters.
3. The method of claim 2, wherein the step of defining further comprises, before the step of receiving, loading a launcher program from the communications network into the mobile device.
4. The method of claim 1 , wherein the step of performing storage management of said selected program comprises, before the step of loading said selected program from the network, the step of determining that said selected program is not stored in the main memory of the mobile device.
5. The method of claim 1 , wherein the step of performing storage management of said selected program comprises, before the step of loading said selected program from the network, the step of determining that said selected program is not stored in the secondary storage location of the mobile device.
6. The method of claim 1 , wherein the step of performing storage management of said selected program comprises determining that said control parameters indicate that said selected program is to be stored in the secondary storage location of the mobile device. and the step of loading said selected program from the network comprises loading said selected program into the secondary storage location of the mobile device.
7. The method of claim 6, wherein the step of executing said selected program comprises the step of loading said selected program from the secondary storage location into the main memory of the mobile device.
8. The method of claim 1 , wherein the step of performing storage management of said selected program comprises the step of determining that said selected program is stored in the secondary storage location of the mobile device and that said selected program has been corrupted in the secondary storage location of the mobile device and wherein the step of loading said selected program into the mobile device comprises reloading said selected program into the secondary storage location of the mobile device.
9, The method of claim 1 , wherein the step of performing storage management of said selected program comprises, before the step of loading said selected program from the network, the steps of determining that said selected program is stored in the main memory of the mobile device and that said selected program has been corrupted in the main memory of the mobile device.
1 0. The method of claim 1 , wherein said at least one control parameter comprises a storage priority for said selected program and wherein the method further comprises the steps of storing said selected program in the main memory of the mobile device until main memory capacity is needed.
11 , A method for managing applications in a mobile device having storage capacity including a secondary storage location and a main memory, the method comprising the steps of: defining control parameters, said control parameters defining at least a storage configuration for applications including a selected program within the storage capacity of the mobile device, said application to be loaded into the mobile device; receiving input for invoking said selected program in the mobile device; performing storage management of said selected program based on said control parameters as defined by said input data, said storage management including loading said selected program into the mobile device; and executing said selected program from the main memory of said mobile device,
12. The method of claim 1 1 , wherein the step of defining comprises the step of receving input data at the mobile device, said input data defining said control parameters.
13. The method of claim 12, wherein the step of defining further comprises, before the step of receiving, loading a launcher program into the mobile device.
14. An apparatus for managing applications in a mobile device having storage capacity including a secondary storage location and a main memory the apparatus comprising; an input device for defining control parameters, said control parameters defining at least a storage configuration for applications including a selected program within the storage capacity of the mobile device, said application to be loaded into the mobile device; said input device further for receiving input for invoking said selected program in the mobile device;and, a processor coupled to said input device, said processor for performing storage management of said selected program based on said control parameters as defined by said input data, said storage management including loading said selected program into the mobile device, and executing said selected program from the main memory of said mobile device.
15. The apparatus of claim 14, wherein said input device further receives input data at the mobile device, said input data defining said control parameters. 16, The apparatus of claim 15, wherein the processor further loads a launcher program into the mobile device before loading said selected program.
PCT/US2001/051293 2000-12-21 2001-12-19 Method and apparatus for managing applications and data in a mobile device WO2002063903A2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/746,354 2000-12-21
US09/746,354 US20020083160A1 (en) 2000-12-21 2000-12-21 Method and apparatus for managing applications and data in a mobile device

Publications (2)

Publication Number Publication Date
WO2002063903A2 true WO2002063903A2 (en) 2002-08-15
WO2002063903A3 WO2002063903A3 (en) 2002-11-21

Family

ID=25000474

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2001/051293 WO2002063903A2 (en) 2000-12-21 2001-12-19 Method and apparatus for managing applications and data in a mobile device

Country Status (2)

Country Link
US (1) US20020083160A1 (en)
WO (1) WO2002063903A2 (en)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7433967B2 (en) * 2001-02-16 2008-10-07 Microsoft Corporation Method and system for routing SMS messages
US7240104B2 (en) * 2002-08-21 2007-07-03 Defywire, Inc. Method and apparatus for managing resources stored on a communication device
US7086051B2 (en) 2002-08-21 2006-08-01 Defywire, Inc. Method and apparatus for just-in-time provisioning application-related information at a communication device
US6891860B2 (en) * 2002-08-21 2005-05-10 Defywire, Inc. Method and apparatus for establishing multiple bandwidth-limited connections for a communication device
US7110753B2 (en) * 2002-09-26 2006-09-19 Siemens Communications, Inc. Remotely controllable wireless device
US20040249797A1 (en) * 2003-06-06 2004-12-09 Nokia Corporation Background data storage
KR20070027498A (en) * 2003-12-22 2007-03-09 코닌클리케 필립스 일렉트로닉스 엔.브이. Method and apparatus for rendering multimedia data objects
JP4622334B2 (en) * 2004-06-23 2011-02-02 日本電気株式会社 Content data utilization system and method, mobile communication terminal and program
US20060148490A1 (en) * 2005-01-04 2006-07-06 International Business Machines Corporation Method and apparatus for dynamically altering the operational characteristics of a wireless phone by monitoring the phone's movement and/or location
FI20060637A0 (en) * 2006-06-30 2006-06-30 Nokia Corp Access to a network using a portable memory device
US7792777B2 (en) * 2007-04-05 2010-09-07 Nokia Corporation Method, apparatus and computer program for registering a respective target network system state from each one of a plurality of programs
US7857222B2 (en) 2007-08-16 2010-12-28 Hand Held Products, Inc. Data collection system having EIR terminal interface node
US20100153667A1 (en) * 2008-12-15 2010-06-17 Sony Ericsson Mobile Communications Ab Method, computer program and electronic device
KR101663545B1 (en) * 2009-04-06 2016-10-07 시게이트 테크놀로지 엘엘씨 Method for rearranging dynamic code and disk drive using the same
JP4871373B2 (en) * 2009-06-19 2012-02-08 任天堂株式会社 Information processing system and information processing apparatus
US9060009B2 (en) 2009-07-07 2015-06-16 Qualcomm Incorporated Network-extended data storage for mobile applications
JP5674296B2 (en) 2009-09-09 2015-02-25 任天堂株式会社 Information processing system and information processing apparatus
US9497092B2 (en) 2009-12-08 2016-11-15 Hand Held Products, Inc. Remote device management interface
JP2011250874A (en) 2010-05-31 2011-12-15 Nintendo Co Ltd Information processing program, information processing apparatus, information processing system, and information processing method
JP5593566B2 (en) 2010-06-10 2014-09-24 任天堂株式会社 Information processing system, information processing apparatus, information processing apparatus control method, and information processing apparatus control program
JP5677811B2 (en) 2010-06-11 2015-02-25 任天堂株式会社 Portable information terminal, portable information system, portable information terminal control program
JP5507350B2 (en) * 2010-06-11 2014-05-28 任天堂株式会社 Portable information terminal, portable information terminal control program, portable information system, and portable information terminal control method
JP2012018657A (en) 2010-06-11 2012-01-26 Nintendo Co Ltd Information processing terminal, information processing system, and information processing program
JP4999213B2 (en) 2010-09-17 2012-08-15 任天堂株式会社 Information processing program, portable terminal device, system, information processing method, and communication system
JP4882022B1 (en) 2010-12-28 2012-02-22 任天堂株式会社 Communication system, information processing program, information processing method, information processing apparatus, information processing system
US20120317234A1 (en) 2011-06-09 2012-12-13 International Business Machines Corporation Managing data access in mobile devices
US8539123B2 (en) 2011-10-06 2013-09-17 Honeywell International, Inc. Device management using a dedicated management interface
US8621123B2 (en) 2011-10-06 2013-12-31 Honeywell International Inc. Device management using virtual interfaces
US9411814B2 (en) 2014-01-06 2016-08-09 Dropbox, Inc. Predictive caching and fetch priority
WO2017083937A1 (en) * 2015-11-19 2017-05-26 Tokn Pty Ltd Method and system of application deployment on a mobile communication device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997016938A1 (en) * 1995-10-30 1997-05-09 Nokia Telecommunications Oy Upgrading software in a mobile telephone
US5867781A (en) * 1995-04-21 1999-02-02 Siemens Aktiengesellschaft Mobile radiotelephone system and broadcast station
WO2000074412A1 (en) * 1999-05-26 2000-12-07 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus of downloading into a radio terminal

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5579489A (en) * 1993-02-10 1996-11-26 Elonex I.P. Holdings, Ltd. Hand-held portable computer having capability for external expansion of an internal bus
US5664231A (en) * 1994-04-29 1997-09-02 Tps Electronics PCMCIA interface card for coupling input devices such as barcode scanning engines to personal digital assistants and palmtop computers
US6473609B1 (en) * 1995-12-11 2002-10-29 Openwave Systems Inc. Method and architecture for interactive two-way communication devices to interact with a network
US6560640B2 (en) * 1999-01-22 2003-05-06 Openwave Systems, Inc. Remote bookmarking for wireless client devices
US6553468B1 (en) * 2000-06-26 2003-04-22 International Buisness Machines Corporation Storage method for personal digital devices

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5867781A (en) * 1995-04-21 1999-02-02 Siemens Aktiengesellschaft Mobile radiotelephone system and broadcast station
WO1997016938A1 (en) * 1995-10-30 1997-05-09 Nokia Telecommunications Oy Upgrading software in a mobile telephone
WO2000074412A1 (en) * 1999-05-26 2000-12-07 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus of downloading into a radio terminal

Also Published As

Publication number Publication date
US20020083160A1 (en) 2002-06-27
WO2002063903A3 (en) 2002-11-21

Similar Documents

Publication Publication Date Title
US20020083160A1 (en) Method and apparatus for managing applications and data in a mobile device
KR100915564B1 (en) Method, software and apparatus for application upgrade during execution
RU2355025C2 (en) Bootable configuring application software for wireless device
JP4995864B2 (en) System and method for temporary application component deletion and reloading in a wireless device
US20080119178A1 (en) Allocating Compression-Based Firmware Over the Air
JP4077408B2 (en) System and method for peer-to-peer handset communication
US20080117991A1 (en) Partitioning Compression-Based Firmware Over the Air
US8572597B2 (en) Apparatus and method for performing an over-the-air software update in a dual processor mobile station
KR100984599B1 (en) System and method for application disable/restore management
US7657884B2 (en) Electronic device supporting multiple update agents
CN101395672B (en) Low storage portable media player
US20040210752A1 (en) Electronic device supporting multiple update agents
KR100883699B1 (en) Execution of unverified programs in a wireless device operating environment
JP4838305B2 (en) Processor controller with different modes
US20030066059A1 (en) Method for executing java application midlet using communication among java applications
EP2012230A1 (en) Partitioning compression-based firmware over the air
US6842839B2 (en) Capacity management
US20100179980A1 (en) Cache system for mobile communications devices
EP1612667A2 (en) Method and apparatus for loading an in-place executable file into a virtual machine
JP2009151426A (en) Device, method and program for update processing of software program, and portable terminal device
US20110197202A1 (en) Handling Messages in a Computing Device
KR100678081B1 (en) Mass storage data file management method of mobile communication terminal
CN111142913A (en) Hot updating method and equipment for iOS system application program
KR100627819B1 (en) Method for Controlling Application by Using Functions of WAP Browser
US20120131562A1 (en) Method and apparatus for upgrading virtual machine in a portable terminal

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PH PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
AK Designated states

Kind code of ref document: A3

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PH PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A3

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP

WWW Wipo information: withdrawn in national office

Country of ref document: JP