[go: up one dir, main page]

CN1256666C - Dynamic download and execution of system services on wireless devices - Google Patents

Dynamic download and execution of system services on wireless devices 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
wireless device
system service
system services
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 OR CALCULATING; 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 OR CALCULATING; 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

Landscapes

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

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

无线设备上系统服务的动态下载和执行Dynamic download and execution of system services on wireless devices

                        背景 background

一般而言,包括虚拟机、取景器和插件在内的系统服务需要被安装在设备上,以便由需要它们的其它对象或应用程序来使用。例如,Java小应用程序运行在已加载Java虚拟机的设备上。因而,试图执行Java小程序的设备会在设备上安装Java虚拟机。一般而言,由于虚拟机或其它系统服务需要被结合在它所述执行的设备中,因此在试图下载或执行小程序或其它希望利用系统服务的应用程序之前进行安装。In general, system services including virtual machines, viewers, and plug-ins need to be installed on the device in order to be used by other objects or applications that require them. For example, a Java applet runs on a device that has a Java virtual machine loaded on it. Thus, a device attempting to execute a Java applet would have a Java virtual machine installed on the device. In general, since a virtual machine or other system service needs to be incorporated into the device it is said to execute on, it should be installed before attempting to download or execute an applet or other application that wishes to utilize a system service.

然而,某些设备,尤其是无线设备,具有受约束的环境。存储器和处理比在其它较大计算机系统上更缺乏,存储器包括用于活动程序和数据的辅助存储装置和主存储装置。因而,根据需要仅下载或安装某些系统服务是有利的,譬如下载虚拟机。不幸的是,在这些受约束设备上,要求系统服务被安装或被加载至存储器中,并且即使在未被使用时也占据宝贵的资源。此外,由于系统服务尚未被安装在设备上,因此希望在还没有应用程序的支持系统服务的设备上使用应用程序的用户不能这样做。However, some devices, especially wireless devices, have constrained environments. Memory and processing are more scarce than on other larger computer systems, and memory includes both secondary and primary storage for active programs and data. Thus, it is advantageous to only download or install certain system services as needed, such as downloading virtual machines. Unfortunately, on these constrained devices, system services are required to be installed or loaded into memory and occupy valuable resources even when not being used. Furthermore, a user wishing to use an application on a system service-enabled device that does not yet have the application cannot do so because the system service has not yet been installed on the device.

                         发明概述Summary of Invention

本发明通过在设备中根据对运行在设备上的应用程序的需求而提供用于动态地下载并安装系统服务的一种系统和方法,从而克服了本领域中的缺陷,其中系统服务有虚拟机、取景器、插件、flash播放器、其它可执行内容或数据。The present invention overcomes the deficiencies in the art by providing a system and method in a device for dynamically downloading and installing system services as required by applications running on the device, wherein system services have virtual machines , viewfinder, plug-in, flash player, other executable content or data.

在一实施例中,本发明涉及把系统服务下载到无线设备上,该无线设备与要被下载的应用程序一起使用。系统服务可能在下载应用程序时没有用户的介入而自动被下载。In one embodiment, the invention involves downloading system services onto a wireless device for use with an application to be downloaded. System services may be downloaded automatically without user intervention when downloading applications.

在还有一个实施例中,本发明还检测在应用程序被加载到设备的存储器内用于执行时虚拟机是否存在,并且根据需要加载并执行该虚拟机,因此应用程序可能运行在虚拟机的环境中。In yet another embodiment, the present invention also detects the presence of a virtual machine when the application is loaded into the memory of the device for execution, and loads and executes the virtual machine as needed, so the application may run in the virtual machine's Environment.

依照本发明,提供了一种在无线设备处接收一虚拟机的方法。该方法包括下述步骤:In accordance with the present invention, a method of receiving a virtual machine at a wireless device is provided. The method comprises the steps of:

发送一请求,要求在所述无线设备上下载一应用程序;sending a request to download an application on the wireless device;

一服务器根据对所述应用程序的请求,将所述应用程序和一相关的引用发送给所述无线设备,其中所述引用指示了所述应用程序使用所述虚拟机;a server sending the application and an associated reference to the wireless device in response to the request for the application, wherein the reference indicates that the application uses the virtual machine;

用所述引用来确定所述虚拟机是否被加载到所述无线设备上;以及using the reference to determine whether the virtual machine is loaded on the wireless device; and

在所述虚拟机未被加载到所述无线设备上的情况下,发送一请求到所述服务器,并把所述虚拟机下载到所述无线设备上。In the event that the virtual machine is not loaded on the wireless device, a request is sent to the server and the virtual machine is downloaded to the wireless device.

                         附图简述Brief description of attached drawings

现在将根据附图所述详细描述本发明的示例性和优选实施例,其中相同的符号指明几张附图中相同或相应的部分。在结合附图考虑下列详细说明后,本发明的性质、目的和优点将对本领域技术人员更为显而易见。Exemplary and preferred embodiments of the present invention will now be described in detail with reference to the accompanying drawings, wherein like symbols designate like or corresponding parts throughout the several drawings. The nature, objects and advantages of the present invention will become more apparent to those skilled in the art upon consideration of the following detailed description when taken in conjunction with the accompanying drawings.

结合于此并组成说明书一部分的附图说明了本发明的优选实施例,并且与上面给出的一般描述和下面给出的优选实施例详细描述一起用于说明本发明的原理。在附图中:The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate preferred embodiments of the invention and, together with the general description given above and the detailed description of the preferred embodiments given below, serve to explain the principles of the invention. In the attached picture:

图1说明了其中可能实践本发明的环境的一示例性实施例;Figure 1 illustrates an exemplary embodiment of an environment in which the present invention may be practiced;

图2说明了涉及下载应用程序的进程,它使用了符合本发明示例性实施例的系统服务;以及Figure 2 illustrates the process involved in downloading an application using a system service consistent with an exemplary embodiment of the present invention; and

图3说明了响应于应用程序的加载而加载并执行安装在无线设备上的虚拟机的进程,其中加载应用程序使用虚拟机。FIG. 3 illustrates the process of loading and executing a virtual machine installed on a wireless device in response to loading of an application that uses the virtual machine.

                    示例性实施例的描述Description of Exemplary Embodiments

图1说明了其中可能实践本发明的环境的一示例性实施例。在该实施例中,设备100用无线网络125与服务器105通信。设备100可能是一无线设备,它可能发射并/或接收数据和/或话音。无线设备100可能从服务器请求各种信息块,包括应用程序110和系统服务115,譬如由无线设备所使用的虚拟机120。Figure 1 illustrates an exemplary embodiment of an environment in which the present invention may be practiced. In this embodiment, device 100 communicates with server 105 using wireless network 125 . Device 100 may be a wireless device that may transmit and/or receive data and/or voice. The wireless device 100 may request various pieces of information from the server, including applications 110 and system services 115, such as virtual machines 120 used by the wireless device.

无线设备110可能包含处理器和主要和辅助的存储器(未示出),用于存储、加载并执行从服务器下载的应用程序110和系统服务115。这些应用程序110和系统服务115可能还与位于无线设备上的用于简化与无线设备接口的软件平台交互作用,譬如通过为设备指定的资源提供通用的呼叫。这种软件平台是由高通(QUALCOMM)公司(San Diego,California)研发的Wireless(无线)TM(BREWTM)软件的二进制运行时间环境(Binary Runtime Environment)。Wireless device 110 may contain a processor and primary and secondary memory (not shown) for storing, loading and executing application programs 110 and system services 115 downloaded from a server. These applications 110 and system services 115 may also interact with a software platform located on the wireless device to simplify interfacing with the wireless device, such as by providing generic calls to device-specific resources. This software platform is a Binary Runtime Environment (Binary Runtime Environment) of Wireless (Wireless) TM (BREW TM ) software developed by Qualcomm (QUALCOMM) Corporation (San Diego, California).

本领域的技术人员可以认识到,无线设备100的结构可能还包括其它组件种类(或未示出或特别指出)。这种组件包括、但不限于:显示器、扬声器、麦克风、及允许字符和符号输入的按钮。无线设备可能还包括电池、诸如ROM、ROM和闪存这样的多种存储机制、操作系统以及编译组件来帮助在设备上执行应用程序、系统服务、其它可执行代码并管理数据。Those skilled in the art can recognize that the structure of the wireless device 100 may also include other types of components (or not shown or specifically indicated). Such components include, but are not limited to: displays, speakers, microphones, and buttons that allow character and symbol entry. A wireless device may also include a battery, various storage mechanisms such as ROM, ROM, and flash memory, an operating system, and compilation components to help execute applications, system services, other executable code, and manage data on the device.

虽然所述的系统服务和应用程序位于服务器105上,然而本领域技术人员可以理解,应用程序和软件可能并非物理地位于服务器上。在这种情况下,服务器可能向其它系统请求无线设备的应用程序和系统服务,然后下载所请求的文件,或者可能把请求传输至另一系统,用于直接把所请求的文件传输至无线设备。Although the system services and application programs described above are located on the server 105, those skilled in the art can understand that the application programs and software may not be physically located on the server. In this case, the server may request the wireless device's application and system services from other systems and then download the requested files, or it may transmit the request to another system for transferring the requested files directly to the wireless device .

如本领域技术人员所能理解的,图1是本发明的一个示例性环境。设备可能包括其它类型的系统,包括无线和非无线设备。此外,设备可能用多种网络类型和通信结构,包括无线和非无线、私有和公共的、交换和非交换、直接链路、或它们的任何组合,与服务器和其它系统通信。As can be understood by those skilled in the art, Figure 1 is an exemplary environment of the present invention. Devices may include other types of systems, including wireless and non-wireless devices. In addition, devices may communicate with servers and other systems using a variety of network types and communication structures, including wireless and non-wireless, private and public, switched and non-switched, direct links, or any combination thereof.

图2说明了涉及下载应用程序的进程,它使用符合本发明示例性实施例的系统服务。诸如无线设备100这样的设备从服务器105请求应用程序(步骤200)。由于用户从无线设备请求诸如游戏这样的特定应用程序,因此该请求可能已经被启动。无线设备可以被配置成,使得对用户可用的应用程序未全部驻留在设备自身上,只是存储了用户可以访问的那些应用程序的表示。Figure 2 illustrates the process involved in downloading an application that uses system services consistent with an exemplary embodiment of the present invention. A device, such as wireless device 100, requests an application from server 105 (step 200). The request may have been initiated because the user requested a particular application, such as a game, from the wireless device. A wireless device may be configured such that not all of the applications available to the user reside on the device itself, but only store a representation of those applications that the user has access to.

然而,该请求可能是非用户开始的,并且可能包括系统维护的任务以及不涉及直接用户交互动作的任务。此外,请求可能用于除应用程序之外的文件类型,包括数据、系统服务、或其它信息类型。However, the request may be non-user initiated and may include tasks for system maintenance as well as tasks that do not involve direct user interaction. Additionally, requests may be for file types other than applications, including data, system services, or other information types.

然后,设备从服务器接收应用程序并存储它(步骤205)。在一实施例中,服务器把所请求的应用程序发送至设备。然而,如上所述,应用程序可能并非物理地位于服务器上;然而,服务器可能接收应用程序并开始向设备下载应用程序。The device then receives the application from the server and stores it (step 205). In one embodiment, the server sends the requested application to the device. However, as noted above, the application may not be physically located on the server; however, the server may receive the application and begin downloading the application to the device.

设备然后检查应用程序以确定应用程序是否使用系统服务(步骤210)。应用程序可能包括引用、或某些标识符,表示系统服务与应用程序一起使用。该引用可能包括在应用程序内,或以某些其它方式与应用程序相关。The device then checks the application to determine if the application uses system services (step 210). Applications may include references, or certain identifiers, that indicate system services used with the application. The reference may be included within the application, or be related to the application in some other way.

在一实施例中,应用程序是Java小程序并要求用Java虚拟机(系统服务)来执行。设备可能包含软件平台,譬如上述的BrewTM。设备通过检查是否有小程序的对指示Java虚拟机的对象分类的任何引用,从而用软件平台确定Java虚拟机由小程序所使用。在一实施例中,每个对象类都由唯一的32位标识符表示,且可以用该标识符来确定哪个对象类被引用。In one embodiment, the application program is a Java applet and requires a Java virtual machine (system service) to execute. A device may contain a software platform, such as Brew( TM) described above. The device determines, with the software platform, that the Java virtual machine is used by the applet by checking for any references by the applet to an object class indicative of a Java virtual machine. In one embodiment, each object class is represented by a unique 32-bit identifier, and this identifier can be used to determine which object class is referenced.

然后,设备确定系统服务是否已被安装在设备上(步骤215)。在一实施例中,这通过检查安装在设备上的对象分类中所列出的内部表来完成。用已下载应用程序所引用的32位标识符,检查内部表以确定是否安装了被引用的对象类,或用上例确定Java虚拟机是否已安装在设备上。The device then determines whether the system service has been installed on the device (step 215). In one embodiment, this is done by checking an internal table listed in the Object Class installed on the device. Using the 32-bit identifier referenced by the downloaded application, check an internal table to determine whether the referenced object class is installed, or use the above example to determine whether the Java virtual machine is installed on the device.

如果未安装系统服务,则沿“否”支路往下,系统进而下载系统服务(步骤220)。按照上例,如果由已下载应用程序所使用的Java虚拟机未安装在设备内,则设备向服务器作出请求以下载Java虚拟机。此外,如果需要其它系统服务,它们也可能被下载至设备。If the system service is not installed, then follow the "No" branch down, and the system further downloads the system service (step 220). According to the above example, if the Java virtual machine used by the downloaded application is not installed in the device, the device makes a request to the server to download the Java virtual machine. Additionally, other system services may also be downloaded to the device if they are required.

本领域的技术人员可以理解,下载由已下载应用程序所使用的系统服务可以没有用户的行为而执行。除了某些可能的传输延迟或指示之外,用户可能完全不知道这些下载正在发生。然而,可能期望通知用户附加的下载正在发生。这是留给实践本发明的实现选项。Those skilled in the art will appreciate that downloading system services used by downloaded applications can be performed without user action. Aside from some possible transmission delay or indication, the user may be completely unaware that these downloads are taking place. However, it may be desirable to notify the user that additional downloads are taking place. This is an implementation option left to practice the invention.

本领域的技术人员还能理解,系统服务的下载可能独立于是否已下载应用程序(即,系统服务的下载可能由于应用程序被安装在工厂或被传输至设备而开始)。Those skilled in the art will also understand that downloading of system services may be independent of whether an application has already been downloaded (ie, downloading of system services may be initiated by the application being installed at the factory or transferred to the device).

如果已在步骤210内安装了系统服务或者在它在步骤220中被下载之后,系统服务就在执行应用程序时可用。本领域的技术人员可以理解,系统服务可能被下载到设备上但未被加载到设备中用于执行。If the system service has been installed in step 210 or after it has been downloaded in step 220, the system service is available when executing the application. Those skilled in the art can understand that system services may be downloaded to the device but not loaded into the device for execution.

虽然上述说明结合了用设备作出是否需要系统服务的判决并且响应于来自设备的请求而下载系统服务,然而本发明还包含一进程,其中服务器或其它系统进行关于是否需要系统服务的判决并且根据设备是否已经安装了系统服务而下载该系统服务。While the above description incorporates a device making a determination of whether a system service is needed and downloading the system service in response to a request from the device, the present invention also encompasses a process in which a server or other system makes a determination as to whether a system service is needed and Whether the system service has already been installed and the system service is downloaded.

图3说明了响应于加载使用虚拟机的应用程序而加载并执行安装在无线设备上的虚拟机的进程。进程通过从可用于无线设备的那些应用中选择应用程序开始(步骤300)。该选择可能由希望执行该应用程序的用户所执行。然而,选择可能没有用户介入而由设备或以某些其它自动方式执行。FIG. 3 illustrates the process of loading and executing a virtual machine installed on a wireless device in response to loading an application program using the virtual machine. The process begins by selecting an application from those available for the wireless device (step 300). This selection may be performed by a user wishing to execute the application. However, selection may be performed by the device or in some other automatic manner without user intervention.

在选择了应用程序之后,设备把应用程序加载到存储器中用于执行(步骤305)。(根据其中执行应用程序的环境,应用程序的加载可能被考虑为是应用程序执行的一部分)。在该加载阶段,加载器(加载应用程序用于执行的组件)请求虚拟机服务(步骤310)。在一实施例中,加载器可能用上述软件平台内建的应用程序编程接口(API)机制来执行这个,用唯一的类标识符来标识虚拟机。After the application is selected, the device loads the application into memory for execution (step 305). (Depending on the environment in which the application is executed, the loading of the application may be considered part of the execution of the application). During this loading phase, the loader (the component that loads the application for execution) requests virtual machine services (step 310). In one embodiment, the loader may perform this using an application programming interface (API) mechanism built into the software platform described above, using a unique class identifier to identify the virtual machine.

例如,应用程序可能是要求使用Java虚拟机在无线设备上执行的Java小程序。在设备上加载Java小程序用于执行的加载器可能通过使用BrewTM API机制而请求Java虚拟机服务,该机制用唯一的标识符来标识Java虚拟机。在一实施例中,该标识符是32位的类标识符。For example, the application program may be a Java applet that requires execution on the wireless device using a Java virtual machine. A loader that loads a Java applet on a device for execution may request Java virtual machine services by using the Brew (TM) API mechanism, which identifies the Java virtual machine with a unique identifier. In one embodiment, the identifier is a 32-bit class identifier.

然后,设备确定虚拟机系统服务是否被加载至存储器中(步骤315)。设备可能通过检查被加载到存储器内的对象类而完成这个。为了跟踪那些系统服务、应用程序、可执行文件、数据、其它被加载的数据类型或对象类,最好使用与每个对象类相关的标识符。The appliance then determines whether the virtual machine system service is loaded into memory (step 315). The device may do this by examining the object class loaded into memory. To track those system services, applications, executables, data, other loaded data types or object classes, it is best to use an identifier associated with each object class.

设备,特别是在一实施例中的Brew软件平台,作出关于由加载器所请求的虚拟机是否已在存储器内的判决。The appliance, specifically the Brew software platform in one embodiment, makes a determination as to whether the virtual machine requested by the loader is already in memory.

如果虚拟机如步骤315中确定的那样尚未被加载至存储器,则沿“否”支路往下,且设备加载虚拟机(步骤320)。如果虚拟机尚未被安装在无线服务上,则虚拟机可能从外部源被下载到无线设备上,外部源如服务器或已访问虚拟机软件的其它计算机系统。If the virtual machine has not been loaded into memory as determined in step 315, then the "no" branch is followed and the appliance loads the virtual machine (step 320). If the virtual machine has not already been installed on the wireless service, the virtual machine may be downloaded onto the wireless device from an external source, such as a server or other computer system that has access to the virtual machine software.

根据其上实现本发明的设备和操作平台以及系统服务,系统服务可能要求其加载后的附加执行或开始步骤。系统服务,或本实施例中的虚拟机,应该处在设备内一状态,它能在被执行时可对已下载的应用程序或可能其它进程访问。Depending on the device and operating platform and system service on which the invention is implemented, the system service may require additional execution or initiation steps after its loading. A system service, or virtual machine in this embodiment, should be in a state within the device that it can access to downloaded applications or possibly other processes when executed.

跟着步骤320或如果在步骤315作出虚拟机已被加载的判决,应用程序就运行在虚拟机环境中(步骤325)。如果系统服务不是虚拟机,则应用程序现在可以使用为该应用程序下载的系统服务。在Java虚拟机示例中,Java小程序在Java虚拟机环境中执行。Following step 320 or if a determination is made at step 315 that a virtual machine has been loaded, the application runs in the virtual machine environment (step 325). Apps can now use system services downloaded for the app if the system service is not a virtual machine. In the Java virtual machine example, Java applets are executed in a Java virtual machine environment.

如果设备包含软件平台,譬如BrewTM软件以便简化从应用程序到无线设备的接口,则虚拟机把应用程序或虚拟机作出的系统服务请求传递至软件平台(步骤330)。If the device includes a software platform, such as Brew software, to simplify the interface from the application to the wireless device, the virtual machine passes system service requests made by the application or virtual machine to the software platform (step 330).

可以认识到,虽然图3讨论了在执行期间使用虚拟机的应用程序,然而这是为了示例目的,并且除了虚拟机之外,本发明的范围也考虑其它系统服务、与应用程序一起使用的其它可执行内容和数据的动态加载。It will be appreciated that while FIG. 3 discusses an application using a virtual machine during execution, this is for example purposes and that the scope of the invention contemplates other system services, other Dynamic loading of executable content and data.

                         结论 in conclusion

本发明允许在设备上对系统服务的动态下载和执行。在一实施例中,要求虚拟机的小程序被下载至无线设备。设备上的软件平台确定虚拟机在执行期间由小程序使用。虚拟机无须附加的用户交互动作而被下载至无线设备。这允许那些要求虚拟机的小程序与尚未安装虚拟机的设备一起使用。The invention allows dynamic downloading and execution of system services on devices. In one embodiment, an applet requiring a virtual machine is downloaded to the wireless device. The software platform on the device determines that the virtual machine is used by the applet during execution. The virtual machine is downloaded to the wireless device without additional user interaction. This allows applets that require a virtual machine to be used with devices that don't already have a virtual machine installed.

本发明的另一实施例允许在加载使用系统服务的应用程序时动态地加载系统服务,譬如虚拟机。在该实施例中,使用与系统服务相关的唯一标识符来实现,该系统服务允许设备确定是否已加载系统服务。Another embodiment of the present invention allows dynamic loading of system services, such as virtual machines, when loading applications that use the system services. In this embodiment, this is accomplished using a unique identifier associated with a system service that allows a device to determine whether a system service has been loaded.

已经为了说明和描述的目的而给出了对本发明实现的上述说明。它不是无遗漏的并且不把本发明限制为所公开的精确形式。考虑到上述原理,修改和变化是可能的,并且可能当实践本发明时获得。例如,所述实现包括软件,但本发明的一实施例可以用硬件和软件的组合或仅用硬件来实现。本发明可以用面向对象的和非面向对象的编程系统来实现。此外,尽管本发明各方面已被描述为存储在存储器中,然而本领域的技术人员可以理解,这些方面也可存储在其它类型的计算机可读媒体上,譬如辅助存储设备,像硬盘、软盘或CD-ROM;来自因特网或其它传播媒体的载波;或其它形式的RAM或ROM。本发明的范围由所附权利要求及其等价物所定义。The foregoing description of the implementation of the present invention has been presented for purposes of illustration and description. It is not exhaustive and does not limit the invention to the precise forms disclosed. With the above principles in mind, modifications and variations are possible and may be acquired when practicing the invention. For example, the described implementation includes software, but an embodiment of the invention may be implemented in a combination of hardware and software, or in hardware only. The present invention can be implemented with both object-oriented and non-object-oriented programming systems. In addition, although aspects of the present invention have been described as being stored in memory, those skilled in the art will understand that these aspects can also be stored on other types of computer-readable media, such as secondary storage devices, such as hard disks, floppy disks or CD-ROM; carrier waves from the Internet or other transmission media; or other forms of RAM or ROM. The scope of the invention is defined by the appended claims and their equivalents.

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 Dynamic download and execution of system services on wireless devices 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 Dynamic download and execution of system services on wireless devices

Country Status (14)

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)
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
TW200612336A (en) * 2004-07-20 2006-04-16 Star Game S Corp Program for automatic program translation and program conversion server
CN101080703B (en) * 2005-02-25 2012-07-11 夏普株式会社 Data management system, data management method, server device, and reception device
WO2006094117A2 (en) 2005-03-01 2006-09-08 Mfoundry Application program update deployment to a mobile device
JP2006260440A (en) * 2005-03-18 2006-09-28 Nomura Research Institute Ltd Application system for mobile devices
US8000680B2 (en) * 2006-01-11 2011-08-16 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 device and server, and system control program update method of display device
KR200453971Y1 (en) * 2009-07-10 2011-06-09 (주)아모레퍼시픽 Ball dispensing device for cosmetic container
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
NZ528277A (en) 2007-06-29
AR035784A1 (en) 2004-07-14
MXPA03008532A (en) 2004-06-30
WO2002075527A2 (en) 2002-09-26
WO2002075527A3 (en) 2004-04-01
KR100587749B1 (en) 2006-06-09
PE20030003A1 (en) 2003-01-21
WO2002075527A9 (en) 2004-06-17
KR20030084886A (en) 2003-11-01
HK1068981A1 (en) 2005-05-06
EP1421484A2 (en) 2004-05-26
BR0208206A (en) 2006-02-21
IL157959A (en) 2008-07-08
JP2004537086A (en) 2004-12-09
CA2441870A1 (en) 2002-09-26
AU2002254289B2 (en) 2006-12-07
TWI246833B (en) 2006-01-01
CA2441870C (en) 2010-02-23
CN1526096A (en) 2004-09-01
IL157959A0 (en) 2004-03-28

Similar Documents

Publication Publication Date Title
CN1256666C (en) Dynamic download and execution of system services on wireless devices
US7165099B2 (en) Dynamically downloading and executing system services on a wireless device
AU2002254289A1 (en) Dynamically downloading and executing system services on a wireless device
CN1197004C (en) Management program of JAVA application program for embedded system
KR100915564B1 (en) Method, software and apparatus for application upgrade during execution
KR101494504B1 (en) Stream-based software application delivery and launching system
CN105373396B (en) Update of plug-in loading method and device in plug-platform
CN1555645A (en) System and method for temporary deletion and reloading of application program components on a wireless device
US20040188511A1 (en) System to automatically process components on a device
CN1748402A (en) Mobile telephony application platform
CN102968321A (en) Application program installation device and application program installation method
CN112256351A (en) Implementation method of Feign component, micro-service calling method and device
US7444624B2 (en) Method for the secure interpretation of programs in electronic devices
CA2511056A1 (en) System for registry-based automatic installation and component handling on a device
US7930693B2 (en) Method and system for accessing and launching a java based applet as a locally installed application
CN110198225A (en) A kind of management method and management server of more clusters
CN112636972A (en) Method for optimizing network performance based on plug-in technology and QUIC protocol
HK1068981B (en) Dynamically downloading and executing system services on a wireless device
US9910678B1 (en) NetBoot for installation of a non-native OS on a target host
CN1308812C (en) Method of controlling user's downloading of softwave from Internet
CN1916847A (en) Application program update method and mobile communication device using the method
CN117931237B (en) Software upgrade method, device, smart TV device and medium
US20250298597A1 (en) Application Deployment Based on Image Fingerprint
US20260037273A1 (en) Continuous Container Utilization System and Method
CN1669000A (en) Evolving entries within persistent stores in a scalable infrastructure environment

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

Granted publication date: 20060517

CX01 Expiry of patent term