The invention generally relates to the deployment of software applications on mobile devices. More specifically, the invention relates to a method and apparatus for remotely invoking API-related instructions (e.g., functions, methods and/or objects) to execute on mobile handsets.
A variety of hurdles must be overcome to deploy software applications to mobile handsets. First, a wide variety of handsets with varying hardware and software specifications exist. Therefore, when developing a software application, a developer must either customize or tailor the software application to work with a particular handset, or alternatively, the developer must design the software application to work with a specified, common set of resources (e.g., hardware configuration, and software application programming interfaces (APIs)) available to a group of handsets. To better ensure that software applications will work with a particular handset or device, developers have created minimum standard requirements that, when present on a particular handset, ensure the operation of applications written to conform to those requirements.
For instance, one common set of minimum requirements is referred to as Java ME™ (Java Platform, Micro Edition), previously referred to as J2ME™ (Java 2 Platform, Micro Edition). In computing, the Java ME is a specification of a subset of the Java™ platform aimed at providing a certified collection of Java APIs for the development of software for small, resource-constrained devices such as mobile handsets, personal digital assistants (PDAs) and set-top boxes. Accordingly, software applications written to comply with the Java ME platform are likely to work with those devices that implement the Java ME platform.
Unfortunately, even when developing software applications for a common platform (such as Java ME), there are time consuming obstacles in the way of deploying software applications to handsets. For example, after an application has been developed, it generally must be packaged—that is, formatted and/or configured in a way that allows it to be communicated to a handset, and installed by an installation application executing on the handset. Often the way the application is packaged depends on the particular network and mobile operator on which the handset is configured to operate.
Furthermore, software applications often must be digitally signed so that the source of the application can be verified by the handset prior to the handset executing the application. Moreover, most mobile operators require that an application be verified prior to deployment. Verification involves determining that the software application conforms to the standard minimum set of requirements and properly utilizes network resources.
Finally, the application must be communicated over the network to the handset on which it will be installed. Generally this requires a user to take some action to initiate the download, which may not be intuitive for the user. Many network subscribers may be hesitant to download and install an application given the costs associated with utilizing the data network. Thus, there are many obstacles to deploying software applications to mobile handsets using existing solutions therefore.
According to various embodiments of the invention, apparatus and methods for remotely executing an application on a handset make use of a special client, referred to herein as a “REMO” (remote execution of methods and objects) client, on the handset. The REMO client receives (e.g., from a user) an indication of a particular application to be executed and, responsive thereto, establishes a communication session over a network connection with a REMO server on which the requested application is stored. The REMO server then remotely invokes a series of API instructions on the handset via the REMO client. Thus, although the REMO application resides on the REMO server, it executes (by way of the REMO client) on the handset without the need for verifying, signing, and downloading a separate application to the handset.
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate an implementation of the invention and, together with the description, serve to explain the advantages and principles of the invention. In the drawings.
Described herein are methods and systems for the deployment of software applications to mobile devices. More specifically, the present invention relates to methods and apparatus for remotely invoking API-related instructions (e.g., functions, methods and/or objects) to execute on mobile handsets. Stated differently, the invention provides apparatus and methods for remotely executing an application on a handset.
As the term is used herein, a handset is generally understood to include a set of executable instructions (e.g., functions, methods and/or objects) associated with an application programming interface (API). Consistent with an embodiment of the invention, a special client on the handset, referred to herein as a “REMO” (remote execution of methods and objects) client, receives (e.g., from a user) an indication of a particular application to be executed. Upon receiving this indication, the REMO client establishes a communication session over a network connection with a REMO server, on which the requested application is stored. At the REMO server, the subject REMO application remotely invokes a series of API instructions on the handset via the REMO client stored thereon. Accordingly, although the REMO application resides on the REMO server, it can be executed (by way of the REMO client) on the handset without the need for verifying, signing, and downloading a separate application to the handset.
In addition to the various instructions illustrated in
The REMO client 12 is a special application used to invoke a REMO application stored on the remote REMO server 16. Like the various system applications 20, the REMO client 12 is an application written in a language consistent with the collection of API-related instructions supported by the handset. For instance, in one embodiment of the invention, the REMO client 12 is an application written for the Java ME platform.
It will be appreciated by those skilled in the art that the handset 10 illustrated in
As illustrated in
The foregoing description of various implementations of the invention has been presented for purposes of illustration and description. It is not exhaustive and does not limit the invention to the precise form or forms disclosed. Furthermore, it will be appreciated by those skilled in the art that the present invention may find practical application in a variety of alternative contexts that have not explicitly been addressed herein. Finally, the illustrative processing steps performed by a computer-implemented program may be executed simultaneously, or in a different order than described above, and additional processing steps may be incorporated. The invention may be implemented in hardware, software, or a combination thereof. When implemented partly in software, the invention may be embodied as instructions stored on a computer- or machine-readable medium.
This is a NONPROVISIONAL of and claims priority to U.S. Provisional Patent Application 60/992,022, filed 3 Dec. 2007, incorporated herein by reference.
| Number | Date | Country | |
|---|---|---|---|
| 60992022 | Dec 2007 | US |