The invention relates to management of applications and application registration information. More specifically, it relates to a method and a system for maintaining applications and application registration information during a device swap.
When replacing an old wireless device with a new wireless device, it is convenient for users to be able to backup data saved on the old device and to restore it onto the new device. Such data existing on the old device includes user applications the data associated with the user applications and application registration information, for applications which are registered with a mediating service in order to access a backend application service provider.
Current systems of backup/restore usually allow a user to transfer only application data from one device to another, while the user applications themselves and their associated application registration information cannot be saved and restored. With such systems, once the application data is transferred, all user-installed applications must be re-installed onto the new device, which may be time-consuming and inconvenient for the user. While some systems may allow for back-up of user-installed applications, these applications will need to be re-registered with the application mediating service following the transfer, which necessitates user/IT administrator intervention.
There exists therefore a need for a system allowing the replacement of one wireless device with another while maintaining the mediating service environment and without requiring user interaction.
These and other features, aspects and advantages of the present invention will become better understood with regard to the following description and accompanying drawings wherein:
According to a first broad aspect of the present invention, there is provided a method for automatically registering applications with an application gateway when transferring said applications from a first wireless device to a second wireless device, comprising: registering an application installed on said first wireless device with said application gateway by providing identification information for said first wireless device and said application; said application gateway maintaining a registration list of identification information of registered wireless devices and applications installed on said registered wireless devices; creating a back-up of said applications and registration information for said applications installed on said first wireless device; installing said applications and said registration information for said applications from said back-up onto a second wireless device; communicating to said application gateway identification information regarding said second wireless device and said restored applications; and said application gateway registering said second wireless device by updating said registration list with said identification information for said second wireless device and said applications installed on said second wireless device.
According to a second broad aspect of the present invention, there is provided an application gateway for automatically registering applications therewith when transferring said applications from a first wireless device to a second wireless device, comprising: memory means storing a registration list of identification information of registered wireless devices and applications installed on said registered wireless devices; communication means for receiving identification information regarding said second wireless device and said restored applications; and update means for updating said registration list with said identification information for said second wireless device and said applications installed on said second wireless device.
Referring to
For satisfying the appropriate messaging associated with the applications, the application gateway 15 communicates with the data sources 21, 23 and 25 through various protocols (such as but not limited to HTTP, SQL, and component API) for exposing relevant business logic (methods) to the applications once provisioned on the devices 11. The applications can use the business logic of the data sources 21, 23 and 25 similarly to calling a method on an object (or a function). It is recognized that the applications can be downloaded/uploaded in relation to data sources 21, 23, 25 via the network and application gateway 15 directly to the devices 11. For example, the application gateway 15 is coupled to a provisioning server 17 and a discovery server 19 for providing a mechanism for optimized over-the-air provisioning of the applications, including capabilities for application discovery from the device 11 as listed in a UDDI (for example) registry 18. The Registry 18 can be part of the Discovery Service implemented by the server 19, and the registry 18 is used for publishing the applications. The application information in the registry 18 can contain such as but not limited to a Deployment Descriptor DD (contains information such as application name, version, and description) as well as the location of this application in an application repository 16.
Referring to
The runtime environment RE uses this information to connect to the gateway 15 for initial handshaking. It is recognized there could be more than one gateway 15 in the network 10, as desired. Once initialized, access to the applications by the devices 11, as downloaded/uploaded, can be communicated via the gateway 15 directly from the application repository 16, and/or in association with data source 21, 23, 25 direct access (not shown) to the application repository 16.
Now, with respect to
The AG 15 is in communication with a plurality of backend application service providers 23a, 23b, supporting a plurality of user applications.
An example of a backend service 23 could be a web service that provides random famous historic quotes. A component application would be written to request a random quote from the web service 23 and display it on the device 11. The component application would encode this request in a compact, efficient way and send it to the application gateway 15. The application gateway 15 would transform this request into a format compatible with the web services communication protocol and forward the request to the appropriate backend service provider 23. The reverse process would happen with the response from the web service containing the random quote.
The AG 15 maintains a registration list storing identification information for registered wireless devices 11 and applications installed on the registered wireless devices 11. For example, when the first wireless device 11a first communicates with the server 19, the identification information of the first wireless device 11 is stored on the AG 15. This way, a record will be created for the first wireless device 11a on the AG 15. At the time of provisioning of each application on the wireless device 11, the AG 15 will make an entry in the wireless device 11 record to associate this application with this device. This is done so that the application gateway 15 may know which devices have which applications installed thereon.
The registration protocol between the device 11 and the application gateway will now be described. Following the device 11 receiving the AG URL in some way, as previously described, the device 11 sends a “security handshake” to the AG 15, including the device's public key if operating in a secure environment. This handshake is preferably a synchronous communication. The response back from the AG 15 gives the device 11 the AG public key (if in a secure environment), as well as other administrative information. The device 11 then sends a status message to the AG 15 including information such as the runtime environment version installed on the device 11, etc. The status message is a generic status message that would normally include more information, but not on a first registration. It is used as a trigger for the rest of the registration sequence. When the AG 15 receives this status message, it then sends to the device 11 (asynchronously) administrative privilege information and other information. An example of administrative privileges would be specifying whether the AG 15 allows the device 11 to discover applications, or if the device 11 is allowed to request an application to be provisioned.
The first wireless device 11a contains component applications and associated data and the application gateway registration information.
The ability to backup the component applications themselves, as opposed to just the application data, is facilitated by the fact that the component applications themselves are defined as “metadata”, by using a combination of XML and ECMAscript.
In case of transfer of the applications from the first device to a new (second) device, the AG registration information allows the new device to detect that there has been a device swap. One possible way of detecting that there has been a device swap is to use the device PIN which is part of the registration information contained in the runtime environment and therefore backed up. When the registration information is loaded onto the new (second) device and the RE starts for the first time, it compares the stored device PIN against the current device's PIN, and if they are different, a device swap will be detected.
The backup data storage 27 may be a hard disk, a floppy disk, or any other memory means, portable or not, which can be connected to a first wireless device 11a in order to store the existing applications and applications data, as well as the MS registration information, before a device swap.
The backup data storage 27 is also connected to a second wireless device 11b for transferring the applications and application data, as well as the AG registration information, backed-up from the first wireless device 11a. The second wireless device 11b, just like the first one, has installed a mediating service-enabling container application (MSCA), or a runtime environment, which acts as a container for applications wishing to interact with the AG 15. The second wireless device 11b is in communication with the AG 15 for synchronizing the registration information and the component applications installed following a transfer. When the information is restored to the second wireless device 11b, the MSCA determines that the wireless device has been changed and notifies the AG 15 accordingly. The AG 15 updates its internal registration list by either a) modifying the record of the first wireless device to refer to the second wireless device or b) adding a new entry for the second wireless device. The MSCA of the second wireless device 24 also sends a status message to the AG 15 including information regarding the set of installed (restored) applications. The AG 15 will synchronize with this list, updating its registration list of installed applications for the wireless device 11b. In one embodiment of the present invention, the AG 15 also maintains a support list of all applications supported and their respected application service providers. Following transfer of applications from the first device 11a to the second device 11b, the AG 15 will consult the support list and determine whether any one of the restored applications is no longer supported, i.e. not found on the support list. This step is necessary in order to synchronize for changes on the wireless device side and/or the AG 15 side between the time the backup was performed and the restore occurred. If any of the applications on the second wireless device 11b are not found on the support list, the AG 15 proceeds to delete those applications from the wireless device 11b.
With respect to
While illustrated in the block diagrams as groups of discrete components communicating with each other via distinct data signal connections, it will be understood by those skilled in the art that the preferred embodiments are provided by a combination of hardware and software components, with some components being implemented by a given function or operation of a hardware or software system, and many of the data paths illustrated being implemented by data communication within a computer applications or operating system. The structure illustrated is thus provided for efficiency of teaching the present preferred embodiment.
It will be understood that numerous modifications thereto will appear to those skilled in the art. Accordingly, the above description and accompanying drawings should be taken as illustrative of the invention and not in a limiting sense. It will further be understood that it is intended to cover any variations, uses, or adaptations of the invention following, in general, the principles of the invention and including such departures from the present disclosure as come within known or customary practice within the art to which the invention pertains and as may be applied to the essential features herein before set forth, and as follows in the scope of the appended claims.
This application claims the benefit of U.S. Provisional Patent Application No. 60/672,089, filed Apr. 18, 2005.
Number | Name | Date | Kind |
---|---|---|---|
6425126 | Branson et al. | Jul 2002 | B1 |
7187935 | Day | Mar 2007 | B1 |
20020178178 | Peng | Nov 2002 | A1 |
20030101246 | Lahti | May 2003 | A1 |
20030228866 | Pezeshki | Dec 2003 | A1 |
20040187012 | Kohiyama et al. | Sep 2004 | A1 |
20050027831 | Anderson et al. | Feb 2005 | A1 |
20050064868 | Coppinger et al. | Mar 2005 | A1 |
20060230081 | Craswell et al. | Oct 2006 | A1 |
Number | Date | Country |
---|---|---|
2294787 | May 1996 | GB |
2406664 | Apr 2005 | GB |
WO0241141 | May 2002 | WO |
Entry |
---|
Ipulse, Response to Office Communication dated Feb. 20, 2009 submitted on European Patent Application No. 06705230.8. |
European Patent Office, Office Communication dated Jul. 14, 2008 issued in European Patent Application No. 06705230.8. |
Canadian Intellectual Property Office, Examiner's Requisition dated Jun. 3, 2009, issued in Canadian Patent Application No. 2,601,730. |
Ogilvy Renault, Response to Examiner's Requisition dated Dec. 1, 2009, submitted on Canadian Patent Application No. 2,601,730. |
Canadian Intellectual Property Office, Examiner's Requisition dated Oct. 26, 2010, issued in Canadian Patent Application No. 2,601,730. |
Ogilvy Renault, Response to Examiner's Requisition dated Feb. 4, 2011, submitted on Canadian Patent Application No. 2,601,730. |
Canadian Intellectual Property Office, Examiner's Requisition dated Aug. 29, 2011, issued in Canadian Patent Application No. 2,601,730. |
Norton Rose, Response to Examiner's Requisition dated Dec. 9, 2011, submitted on Canadian Patent Application No. 2,601,730. |
United States Patent and Trademark Office, Office Action dated Oct. 8, 2010, issued in United U.S. Appl. No. 12/692,675. |
Ogilvy Renault, Response to Office Action dated Jan. 7, 2011, submitted on U.S. Appl. No. 12/692,675. |
United States Patent and Trademark Office, Office Action dated Mar. 30, 2011, issued in U.S. Appl. No. 12/692,675. |
Norton Rose, Response to Office Action dated Jun. 20, 2011, submitted on U.S. Appl. No. 12/692,675. |
United States Patent and Trademark Office, Office Action dated Aug. 30, 2011, issued in U.S. Appl. No. 12/692,675. |
Norton Rose, Response to Office Action dated Nov. 1, 2011, submitted on U.S. Appl. No. 12/692,675. |
Number | Date | Country | |
---|---|---|---|
60672089 | Apr 2005 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 11360573 | Feb 2006 | US |
Child | 13973033 | US |