CN1256666C - Dynamically downloading and executing system services on a wireless device - Google Patents

Dynamically downloading and executing system services on a wireless device Download PDF

Info

Publication number
CN1256666C
CN1256666C CNB028090721A CN02809072A CN1256666C CN 1256666 C CN1256666 C CN 1256666C CN B028090721 A CNB028090721 A CN B028090721A CN 02809072 A CN02809072 A CN 02809072A CN 1256666 C CN1256666 C CN 1256666C
Authority
CN
China
Prior art keywords
virtual machine
application program
wireless device
system service
equipment
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
CNB028090721A
Other languages
Chinese (zh)
Other versions
CN1526096A (en
Inventor
S·A·斯普里格
B·迈尼尔
M·穆尔蒂
P·雅各布斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm 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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN1526096A publication Critical patent/CN1526096A/en
Application granted granted Critical
Publication of CN1256666C publication Critical patent/CN1256666C/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons

Abstract

An applet requiring a virtual machine is downloaded to a wireless device. A software platform on the device determines that a virtual machine is used by the applet during execution. Without additional user interaction, the virtual machine is downloaded to the wireless device. This allows those applets requiring a virtual machine to be used with devices that don't have the virtual machine already installed. Further embodiments include the dynamic loading of a system service when an application is being loaded that uses the system service. A unique identifier associated with the system service may be used to determine if determine if the system service is loaded.

Description

The dynamic download of system service and execution on the wireless device
Background
Generally speaking, comprise that the system service of virtual machine, view finder and plug-in unit need be installed on the equipment, so that use by needs their other object or application program.For example, Java Applet operates on the equipment that loads Java Virtual Machine.Thereby, attempt to carry out the equipment of Java small routine Java Virtual Machine can be installed on equipment.Generally speaking, because virtual machine or other system service need be bonded in the equipment of its described execution, therefore install before utilizing the application program of system service attempting to download or carry out small routine or other hope.
Yet some equipment, especially wireless device have affined environment.Storer and handling than more lacking on than computation machine system at other, storer comprises auxilary unit and the main storage means that is used for active program and data.Thereby it is favourable only downloading as required or some system service is installed, and for example downloads virtual machine.Unfortunately, on these are tied equipment, require system service to be mounted or be loaded in the storer, even and when not being used, also occupy valuable resource.In addition, because system service is not installed on the equipment as yet, therefore wish on the equipment of the back-up system service that does not also have application program, to use the user of application program not do like this.
Summary of the invention
The present invention is provided for dynamically downloading also a kind of system and method for installation system service by basis in equipment to the demand that operates in the application program on the equipment, thereby overcome the defective in this area, wherein system service has virtual machine, view finder, plug-in unit, flash player, other executable content or data.
In one embodiment, the present invention relates to system service is downloaded on the wireless device, this wireless device uses with the application program that will be downloaded.System service may not have user's intervention and is downloaded automatically when the down load application program.
In also having an embodiment, the present invention detects also whether virtual machine exists when being used to carry out in application program is loaded into the storer of equipment, and loads as required and carry out this virtual machine, so application program may operate in the environment of virtual machine.
According to the present invention, provide a kind of method that receives a virtual machine at the wireless device place.This method comprises the steps:
Send a request, require on described wireless device, to download an application program;
One server sends to described wireless device according to the request to described application program with quote relevant with of described application program, and wherein said quoting indicated described application program to use described virtual machine;
Quote to determine with described whether described virtual machine is loaded on the described wireless device; And
Under described virtual machine is not loaded into situation on the described wireless device, send one and ask described server, and described virtual machine download to described wireless device.
The accompanying drawing summary
With described with reference to the accompanying drawings detailed description exemplary and preferred embodiment of the present invention, wherein identical symbol indicates identical or corresponding part in several the accompanying drawings now.After considering following detailed description in conjunction with the accompanying drawings, character of the present invention, purpose and advantage will be more apparent to those skilled in the art.
The preferred embodiments of the present invention that have been incorporated into this description of drawings of also forming an instructions part, and describe one in detail with general description that provides above and preferred embodiment given below and be used from explanation principle of the present invention.In the accompanying drawings:
Fig. 1 has illustrated the exemplary embodiment that wherein may put into practice environment of the present invention;
Fig. 2 has illustrated the process that relates to the down load application program, and it has used the system service that meets exemplary embodiment of the present; And
Fig. 3 has illustrated in response to the loading of application program and has loaded and carried out the process that is installed in the virtual machine on the wireless device that wherein loading application programs uses virtual machine.
The description of exemplary embodiment
Fig. 1 has illustrated the exemplary embodiment that wherein may put into practice environment of the present invention.In this embodiment, equipment 100 usefulness wireless networks 125 are communicated by letter with server 105.Equipment 100 may be a wireless device, it may launch also/or receive data and/or speech.Wireless device 100 may comprise application program 110 and system service 115 from the various message block of server requests, for example by the employed virtual machine 120 of wireless device.
Wireless device 110 may comprise processor and main and auxiliary storer (not shown), is used to store, load and carry out application program 110 and system service 115 from downloaded.These application programs 110 and system service 115 may be also simplified software platform reciprocation with the wireless device interface with being positioned at being used on the wireless device, for example provide general calling by the resource for the equipment appointment.This software platform is by high pass (QUALCOMM) company (San Diego, California) Yan Fa Wireless (wireless) TM(BREW TM) scale-of-two environment working time (Binary Runtime Environment) of software.
The structure that those skilled in the art will recognize that wireless device 100 may also comprise other assembly kind (or not shown or particularly point out).This assembly including, but not limited to: display, loudspeaker, microphone, and allow the button of character and symbol input.Wireless device may also comprise battery, help executive utility, system service, other executable code and management data on equipment such as ROM, ROM and so multiple memory mechanism, operating system and the compiler component of flash memory.
Though described system service and application program are positioned on the server 105, yet it will be understood by those skilled in the art that application program and software may not be to be physically located on the server.In this case, server may be to the application program and the system service of other system request wireless device, downloads the file of being asked then, perhaps may transfer to another system to request, is used for directly the file transfer of being asked to wireless device.
As the skilled personnel can understand, Fig. 1 is an exemplary environments of the present invention.Equipment may comprise the system of other type, comprises wireless and non-wireless device.In addition, equipment may be used multiple network type and communication structure, comprises wireless and non-wireless, privately owned and public, exchange and non-exchange, direct link or their any combination, with server and other system communication.
Fig. 2 has illustrated the process that relates to the down load application program, and it uses the system service that meets exemplary embodiment of the present.Such as the such equipment of wireless device 100 from server 105 request applications (step 200).Because such as the such application-specific of recreation, so this request may be activated the user from the wireless device request.Wireless device can be configured to, make to the user can with application program all do not reside on the equipment self, just stored the expression of those application programs that the user can visit.
Yet this request possibility right and wrong user begins, and may comprise the task of system maintenance and the task of not relating to end user's interactive action.In addition, request may be used for the file type except that application program, comprises data, system service or out of Memory type.
Then, equipment receives application program and stores its (step 205) from server.In one embodiment, server is sent to equipment to institute's application requested.Yet as mentioned above, application program may not be to be physically located on the server; Yet server may receive application program and begin to the device downloads application program.
Equipment checks that then application program is to determine whether using system service (step 210) of application program.Application program may comprise to be quoted or some identifier, and the expression system service is used with application program.This is quoted and may be included in the application program, or relevant with application program with some alternate manner.
In one embodiment, application program is the Java small routine and requires to carry out with Java Virtual Machine (system service).Equipment may comprise software platform, for example above-mentioned Brew TMWhether equipment has any of object class to the indication Java Virtual Machine of small routine to quote by checking, thereby determines that with software platform Java Virtual Machine is used by small routine.In one embodiment, each object class is all represented by 32 unique bit identifiers, and can be determined which object class is cited with this identifier.
Then, equipment determines whether system service has been installed in (step 215) on the equipment.In one embodiment, this is installed in the object class on the equipment listed internal table by inspection and finishes.With 32 bit identifiers that down load application program is quoted, check internal table determining whether that the object class that is cited has been installed, or use example and determine whether Java Virtual Machine is installed on the equipment.
If not installation system service, then down along the "No" branch road, system and then download system service (step 220).According to last example, if be not installed in the equipment by the employed Java Virtual Machine of down load application program, then device-to-server is made request to download Java Virtual Machine.In addition, other system service if desired, they also may be downloaded to equipment.
Those skilled in the art will appreciate that download can not had user's behavior and carried out by the employed system service of down load application program.Except some possible transmission delay or indication, the user may not know fully that these downloads take place.Yet, may expect that the download of notifying the user to add takes place.This is to leave for to put into practice implementation options of the present invention.
Those skilled in the art can also understand, and whether the download of system service may be independent of down load application program (that is, the download of system service may be installed in factory or the equipment of being transferred to begins owing to application program).
If system service has been installed in step 210 or after it was downloaded, system service just can be used when executive utility in step 220.Those skilled in the art will appreciate that system service may be downloaded on the equipment but not be loaded into is used in the equipment carrying out.
Though above-mentioned description taken in conjunction make the judgement that whether needs system service and in response to from the request of equipment and the download system service with equipment, yet the present invention also comprises a process, and wherein server or other system carry out about whether needing the judgement of system service and according to equipment whether system service being installed and having downloaded this system service.
Fig. 3 has illustrated in response to loading the application program of using virtual machine and has loaded and carried out the process that is installed in the virtual machine on the wireless device.Process is by selecting application program to begin (step 300) from those application that can be used for wireless device.It is performed that this selection may be carried out the user of this application program by hope.Yet selection may not have the user to get involved and carries out by equipment or with some other automated manner.
After having selected application program, equipment is loaded into application program and is used for carrying out (step 305) in the storer.(according to the environment of executive utility wherein, the loading of application program may be considered the part that application program is carried out).In this load phase, loader (assembly that loading application programs is used to carry out) request virtual machine service (step 310).In one embodiment, loader may be carried out this with the built-in application programming interface of above-mentioned software platform (API) mechanism, identifies virtual machine with unique class identifier.
For example, application program may be the Java small routine that requirement uses Java Virtual Machine to carry out on wireless device.The loader that loading Java small routine is used to carry out on equipment may be by using Brew TMAPI mechanism and the service of request Java Virtual Machine, this mechanism identifies Java Virtual Machine with unique identifier.In one embodiment, this identifier is 32 a class identifier.
Then, equipment determines whether the dummy machine system service is loaded on (step 315) in the storer.Equipment may be finished this by the object class that inspection is loaded in the storer.In order to follow the tracks of those system services, application program, executable file, data, other data type that is loaded or object class, preferably use the identifier relevant with each object class.
Whether equipment, particularly Brew software platform in one embodiment make about the virtual machine of being asked by the loader judgement in storer.
If virtual machine is not loaded on storer as yet as determining in the step 315, then down along the "No" branch road, and device loads virtual machine (step 320).If virtual machine is not installed in the wireless service as yet, then virtual machine may be downloaded on the wireless device from external source, external source such as server or other computer system of accesses virtual machine software.
According to the additional execution or the beginning step that realize on it after equipment of the present invention and operating platform and system service, system service may require it to load.System service, or the virtual machine in the present embodiment should be in a state in the equipment, and it can be visited application program or other process of possibility of having downloaded when being performed.
If follow step 320 or make the judgement that virtual machine has been loaded in step 315, application program just operates in (step 325) in the virtual machine environment.If system service is not a virtual machine, then application program can be used the system service of downloading into this application program now.In the Java Virtual Machine example, the Java small routine is carried out in the Java Virtual Machine environment.
If equipment comprises software platform, such as Brew TMSoftware is so that simplify interface from the application program to the wireless device, and then virtual machine system service request that application program or virtual machine are made is passed to software platform (step 330).
Can recognize, though Fig. 3 discussed the term of execution use the application program of virtual machine, yet this is for the example purpose, and except virtual machine, other executable content that scope of the present invention also considers other system service, use with application program and the dynamic load of data.
Conclusion
The present invention allows on equipment dynamic download and the execution to system service.In one embodiment, require the small routine of virtual machine to be downloaded to wireless device.Software platform on the equipment determine virtual machine the term of execution use by small routine.Virtual machine need not additional user interaction and is downloaded to wireless device.This allows those small routines that require virtual machine to use with the equipment that virtual machine is not installed as yet.
Another embodiment of the present invention allows dynamically loading system service when loading the application program of using system service, such as virtual machine.In this embodiment, use the unique identifier relevant to realize that this system service permission equipment determines whether loading system service with system service.
Provided the above-mentioned explanation that the present invention is realized for the purpose of illustration and description.It is not exhaustively and not the present invention to be restricted to disclosed precise forms.Consider above-mentioned principle, modifications and variations are possible, and may work as to put into practice and obtain when of the present invention.For example, described realization comprises software, but one embodiment of the invention can or only realize with hardware with the combination of hardware and software.The present invention can realize with OO and non-Object oriented programming system.In addition,, yet those skilled in the art will appreciate that these aspects also can be stored on the computer-readable media of other type although each side of the present invention has been described to be stored in the storer, such as auxiliary storage device, as hard disk, floppy disk or CD-ROM; Carrier wave from the Internet or other communications media; Or the RAM of other form or ROM.Scope of the present invention is defined by claims and equivalent thereof.

Claims (4)

1. a method that receives a virtual machine at the wireless device place is characterized in that, comprises the steps:
Send a request, require on described wireless device, to download an application program;
One server sends to described wireless device according to the request to described application program with quote relevant with of described application program, and wherein said quoting indicated described application program to use described virtual machine;
Quote to determine with described whether described virtual machine is loaded on the described wireless device; And
Under described virtual machine is not loaded into situation on the described wireless device, send one and ask described server, and described virtual machine download to described wireless device.
2. the method for claim 1 is characterized in that, also is included in described server place, receives the request to described application program.
3. the method for claim 1 is characterized in that, described application program is the java code, and described virtual machine is the java virtual machine.
4. the method for claim 1 is characterized in that, described application program is used described virtual machine when carrying out.
CNB028090721A 2001-03-19 2002-03-18 Dynamically downloading and executing system services on a wireless device Expired - Lifetime CN1256666C (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US27760701P 2001-03-19 2001-03-19
US60/277,607 2001-03-19

Publications (2)

Publication Number Publication Date
CN1526096A CN1526096A (en) 2004-09-01
CN1256666C true CN1256666C (en) 2006-05-17

Family

ID=23061612

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB028090721A Expired - Lifetime CN1256666C (en) 2001-03-19 2002-03-18 Dynamically downloading and executing system services on a wireless device

Country Status (15)

Country Link
EP (1) EP1421484A2 (en)
JP (1) JP2004537086A (en)
KR (1) KR100587749B1 (en)
CN (1) CN1256666C (en)
AR (1) AR035784A1 (en)
AU (1) AU2002254289B2 (en)
BR (1) BR0208206A (en)
CA (1) CA2441870C (en)
HK (1) HK1068981A1 (en)
IL (2) IL157959A0 (en)
MX (1) MXPA03008532A (en)
NZ (1) NZ528277A (en)
PE (1) PE20030003A1 (en)
TW (1) TWI246833B (en)
WO (1) WO2002075527A2 (en)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8737981B2 (en) 2002-12-19 2014-05-27 Qualcomm Incorporated Downloadable configuring application for a wireless device
FR2849704A1 (en) * 2003-01-02 2004-07-09 Thomson Licensing Sa Conditional decision device for e.g. Internet decoder, has program obtaining module to start downloading if programs are not available, and decision obtaining module to allow or prevent downloading based on information
US20050060704A1 (en) * 2003-09-17 2005-03-17 International Business Machines Corporation Managing processing within computing environments including initiation of virtual machines
US7552433B2 (en) 2003-11-12 2009-06-23 Hewlett-Packard Development Company, L.P. Non-platform-specific unique indentifier generation
US8387039B2 (en) 2004-01-30 2013-02-26 Research In Motion Limited System and method for customized provisioning of application content
US7509658B2 (en) 2004-01-30 2009-03-24 Research In Motion Limited System and method for adaptable provisioning of generic application content
EP2088505A1 (en) 2004-02-02 2009-08-12 Research In Motion Limited Computer system and method for adaptable provisioning of generic application content
EP1560114A1 (en) * 2004-02-02 2005-08-03 Research In Motion Limited Computer system and method for customized provisioning of application content
US8549166B2 (en) 2004-03-01 2013-10-01 Qualcomm Incorporated Execution of unverified programs in a wireless, device operating environment
CN100498711C (en) * 2004-07-20 2009-06-10 明星游戏株式会社 Automatic translation program and program translation server
JP4579287B2 (en) * 2005-02-25 2010-11-10 シャープ株式会社 DATA MANAGEMENT SYSTEM, DATA MANAGEMENT METHOD, SERVER DEVICE, RECEPTION DEVICE, CONTROL PROGRAM, AND COMPUTER-READABLE RECORDING MEDIUM CONTAINING THE SAME
US8855620B2 (en) * 2005-03-01 2014-10-07 Mfoundry, Inc. Systems and methods for application program and application program update deployment to a mobile device
JP2006260440A (en) * 2005-03-18 2006-09-28 Nomura Research Institute Ltd Application system for portable terminal
WO2007081163A1 (en) * 2006-01-11 2007-07-19 Samsung Electronics Co., Ltd. Security management method and apparatus in multimedia middleware, and storage medium therefor
EP2053504A1 (en) * 2007-08-09 2009-04-29 France Telecom System and method for managing processing resources
US8811968B2 (en) 2007-11-21 2014-08-19 Mfoundry, Inc. Systems and methods for executing an application on a mobile device
KR20090132374A (en) * 2008-06-20 2009-12-30 삼성전자주식회사 Display apparatus, server, and method for updating system control program of display apparatus
KR200453971Y1 (en) * 2009-07-10 2011-06-09 (주)아모레퍼시픽 Ball feeding appratus for producing cosmetics
CN102487380B (en) * 2010-12-01 2016-09-07 中兴通讯股份有限公司 Desktop virtual terminal entrusting method and system
US9275162B2 (en) 2011-03-22 2016-03-01 Blackberry Limited Pre-caching web content for a mobile device
US9401917B2 (en) 2011-06-03 2016-07-26 Blackberry Limited Pre-caching resources based on a cache manifest
US9317689B2 (en) * 2012-06-15 2016-04-19 Visa International Service Association Method and apparatus for secure application execution
JP5814889B2 (en) * 2012-08-27 2015-11-17 株式会社コナミデジタルエンタテインメント GAME SELECTION CONTROL METHOD, GAME SOFTWARE DISTRIBUTION CONTROL METHOD, AND GAME SOFTWARE DISTRIBUTION SERVER
CN104714890A (en) * 2015-04-13 2015-06-17 东信和平科技股份有限公司 Method and system for detecting intelligent card in cross-platform way
US10255092B2 (en) * 2016-02-09 2019-04-09 Airwatch Llc Managed virtual machine deployment

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5630066A (en) * 1994-12-20 1997-05-13 Sun Microsystems, Inc. System and method for locating object view and platform independent object
US6349408B1 (en) * 1998-03-23 2002-02-19 Sun Microsystems, Inc. Techniques for implementing a framework for extensible applications
US6571389B1 (en) * 1999-04-27 2003-05-27 International Business Machines Corporation System and method for improving the manageability and usability of a Java environment

Also Published As

Publication number Publication date
TWI246833B (en) 2006-01-01
AU2002254289B2 (en) 2006-12-07
IL157959A0 (en) 2004-03-28
IL157959A (en) 2008-07-08
JP2004537086A (en) 2004-12-09
CN1526096A (en) 2004-09-01
AR035784A1 (en) 2004-07-14
WO2002075527A3 (en) 2004-04-01
CA2441870C (en) 2010-02-23
BR0208206A (en) 2006-02-21
PE20030003A1 (en) 2003-01-21
KR20030084886A (en) 2003-11-01
EP1421484A2 (en) 2004-05-26
KR100587749B1 (en) 2006-06-09
MXPA03008532A (en) 2004-06-30
HK1068981A1 (en) 2005-05-06
NZ528277A (en) 2007-06-29
WO2002075527A2 (en) 2002-09-26
CA2441870A1 (en) 2002-09-26
WO2002075527A9 (en) 2004-06-17

Similar Documents

Publication Publication Date Title
CN1256666C (en) Dynamically downloading and executing system services on a wireless device
US7165099B2 (en) Dynamically downloading and executing system services on a wireless device
CN1197004C (en) Management program of JAVA application program for embedded system
RU2302089C2 (en) System for updating software in wireless devices
KR100984599B1 (en) System and method for application disable/restore management
AU2002254289A1 (en) Dynamically downloading and executing system services on a wireless device
EP1584007B1 (en) System to automatically process components on a device
US7334162B1 (en) Dynamic distribution of test execution
US7370322B1 (en) Method and apparatus for performing online application upgrades in a java platform
US20050120346A1 (en) Method, software and apparatus for application upgrade during execution
CN1592303A (en) Methods and systems for application instance level workload distribution affinities
CN1649324A (en) Method and apparatus for operating an open API network having a proxy
JP2006511868A (en) Method and apparatus for shared libraries in mobile devices
CN106886437B (en) Application program updating method and device
US8626146B2 (en) Method, software and apparatus for performing actions on a wireless device using action lists and versioning
CA2267549A1 (en) Loading and unloading of application components
CN1750667A (en) Method for obtaining updating power information of mobile terminal
CN113438295A (en) Container group address allocation method, device, equipment and storage medium
CN101236510A (en) EJB cluster failure recovery processing method and system
WO2004059513A1 (en) System for registry-based automatic installation and component handling on a device
US20050108706A1 (en) Method and system for dynamically loading server code on a client to support multiple veresions of client and servers in a client/server application
CN101065756A (en) Method for the secure interpretation of programs in electronic devices
CN110427224A (en) A kind of EJB module loading method, device, server and readable storage medium storing program for executing
CN115437801A (en) Local debugging method, equipment, medium and product of micro-service component
CN117170910A (en) Micro-service calling method and related equipment

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1068981

Country of ref document: HK

C14 Grant of patent or utility model
GR01 Patent grant
CX01 Expiry of patent term
CX01 Expiry of patent term

Granted publication date: 20060517