IP Library Granted Patent US 8,539,476
Granted Patent B2
US 8,539,476 · App. 12/712,732 · Granted Sep 17, 2013

System and method for management of mutating applications

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,539,476
App. No.
12/712,732
Granted
Sep 17, 2013
Kind
B2
Abstract

A method for adapting a provisioned content of an application program on a mobile device, the content of the application being partitioned into a set of addressable logical modules, the method comprising the steps of provisioning a first group of logical modules selected from the set of logical modules to provide provisioned content on the device, monitoring execution path information of the provisioned content during execution on the device, evaluating the execution path information to adapt the provisioned content by one or more of adding logical modules to the first group from the set of logical modules, removing logical modules from the first group of logical modules or suspending logical modules from the first group of logical modules, to form a second group of logical modules, revising the first group of logical modules to correspond to the second group of logical modules to provide a revised content; and adapting the provisioned content of the application on the terminal to correspond to the revised content, during execution on the device.

Claims (32)

1. A method for provisioning an application on a mobile device, the application having a plurality of module envelopes, the method comprising:

determining an operation corresponding to a module envelope required for representing a data module, wherein the modular envelope includes a plurality of related logical modules for satisfying a common purpose and wherein the plurality of logical modules includes at least one of a data module for providing data information and a code module for performing a task;

executing the operation on the mobile device and representing the data module;

determining an execution path information of the module envelope, the execution path information including an activity history, a projected activity of the module envelope or a combination thereof, wherein the module envelope includes a subset of logical modules into which the application is partitioned;

determining a second module envelope required based on the execution path information;

requesting the second module envelope from a remote server; and

updating the application to include the second modular envelopes and wherein the data module represents an aggregate expressed in a structured definition language updating the application to include the second modular envelopes.

2. The method according to claim 1 , wherein the code module has a collection of instructions to provide a reusable function performing the task.

3. The method according to claim 1 , further comprising configuring the mobile device as a client of a schema defined service accessible through a network, the schema defined service providing to the mobile device the modules for adaptation of the application.

4. The method according to claim 3 , wherein the schema defined service is a web service.

5. The method according to claim 1 further comprising implementing a service framework by the runtime environment for providing service functionality to the application.

6. The method according to claim 5 , wherein the service framework is shared between a plurality of applications.

7. A mobile device for adapting a provisioned content of an application, the mobile device comprising;

a processor executing a runtime environment;

an application manager determining an operation corresponding to a module envelope required for representing a data module, wherein the modular envelope includes a plurality of related logical modules for satisfying a common purpose and wherein the plurality of logical modules includes at least one of a data module for providing data information and a code module for performing a task;

a script interpreter executing the operation on the mobile device and representing the data module;

a module manager determining an execution path information of the module envelope, the execution path information including an activity history, a projected activity of the module envelope or a combination thereof, wherein the module envelope includes a subset of logical modules into which the application is partitioned;

a provisioning manager determining a second module envelope required based on the execution path information; and

a communication service requesting the second module envelope from a remote server; wherein the provisioning manager updates the application to include the second modular envelopes and wherein the data module represents an aggregate expressed in a structured definition language updating the application to include the second modular envelopes.

8. The mobile device according to claim 7 , wherein the code module has a collection of instructions to provide a reusable function performing the task.

9. The mobile device according to claim 7 , wherein the mobile device is configured as a client of a schema defined service accessible through a network, the schema defined service providing to the mobile device the modules for adaptation of the application.

10. The mobile device according to claim 9 , wherein the schema defined service is a web service.

11. The mobile device according to claim 7 , further comprising a service framework in the runtime environment for providing service functionality to the application.

12. The mobile device according to claim 11 , wherein the service framework is shared between a plurality of applications.

13. The mobile device according to claim 7 , further comprising application program interfaces for enabling dynamic adaptation of the data module.

14. A non-transitory computer readable storage medium storing instructions or statements for use in the execution in a computer of a method for provisioning an application on a mobile device, the application having a plurality of module envelopes, the method comprising

determining an operation corresponding to a module envelope required for representing a data module, wherein the modular envelope includes a plurality of related logical modules for satisfying a common purpose and wherein the plurality of logical modules includes at least one of a data module for providing data information and a code module for performing a task;

executing the operation on the mobile device and representing the data module;

determining an execution path information of the module envelope, the execution path information including an activity history, a projected activity of the module envelope or a combination thereof, wherein the module envelope includes a subset of logical modules into which the application is partitioned;

determining a second module envelope required based on the execution path information;

requesting the second module envelope from a remote server; and

updating the application to include the second modular envelopes and wherein the data module represents an aggregate expressed in a structured definition language updating the application to include the second modular envelopes.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 12, 2014
From: MOTOROLA MOBILITY LLC
To: GOOGLE TECHNOLOGY HOLDINGS LLC
Reel/Frame 034625/0001 →
CHANGE OF NAME Recorded Oct 2, 2012
From: MOTOROLA MOBILITY, INC.
To: MOTOROLA MOBILITY LLC
Reel/Frame 029216/0282 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 15, 2012
From: MOTOROLA, INC.
To: MOTOROLA MOBILITY, INC.
Reel/Frame 027935/0808 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 6, 2010
From: RESEARCH IN MOTION LIMITED
To: MOTOROLA, INC.
Reel/Frame 024794/0427 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 23, 2010
From: GORING, BRYAN R, MR; SHENFIELD, MICHAEL, MR; BIBR, VIERA, MS
To: RESEARCH IN MOTION LIMITED
Reel/Frame 024578/0746 →