Resource based mobile device application streaming
First Claim
1. A method for streaming an application, the method comprising:
- accessing a first application fragment corresponding to a portion of a computer application, the first application fragment having previously been determined based on an analysis of user interfaces of the computer application such that the first application fragment is capable of displaying at least one user interface;
receiving, from a mobile device, an indication that the mobile device has adequate resources to accommodate a second application fragment;
determining that the second application fragment follows the first application fragment based on an access of a fragments relationship data structure, the fragments relationship data structure associating the first application fragment with the second application fragment based on a determination that the second application fragment follows the first application fragment during operation of the computer application; and
streaming, via a network interface and to the mobile device, the second application fragment based on the indication that the mobile device has adequate resources to accommodate the second application fragment, and based on the fragments relationship data structure indicating that the second application fragment follows the first application fragment during operation of the computer application,wherein the first application fragment corresponds to an activity in a first operating environment, wherein the second application fragment corresponds to the activity in a second operating environment, and wherein the second application fragment follows the first application fragment in response to detecting a transition from doing the activity on a first device to doing the activity on a second device, the first device hosting the first operating environment and the second device hosting the second operating environment, the first operating environment being a different type of operating environment from the second operating environment.
4 Assignments
0 Petitions
Accused Products
Abstract
Technology for decomposing an application into fragments and streaming the application in fragments is disclosed herein. According to at least one embodiment, a computer-implemented method includes steps of determining multiple application fragments of a computer application, wherein each application fragment of the application fragments includes a code to present at least one interface of the computer application; storing the application fragments at a storage device; generating a resource dependency data structure, wherein for each specific application fragment of the application fragments, the resource dependency data structure includes identifications of resources that are needed for running the specific application fragment; and streaming, via a network component, at least one application fragment of the application fragments to a computing device.
92 Citations
23 Claims
-
1. A method for streaming an application, the method comprising:
-
accessing a first application fragment corresponding to a portion of a computer application, the first application fragment having previously been determined based on an analysis of user interfaces of the computer application such that the first application fragment is capable of displaying at least one user interface; receiving, from a mobile device, an indication that the mobile device has adequate resources to accommodate a second application fragment; determining that the second application fragment follows the first application fragment based on an access of a fragments relationship data structure, the fragments relationship data structure associating the first application fragment with the second application fragment based on a determination that the second application fragment follows the first application fragment during operation of the computer application; and streaming, via a network interface and to the mobile device, the second application fragment based on the indication that the mobile device has adequate resources to accommodate the second application fragment, and based on the fragments relationship data structure indicating that the second application fragment follows the first application fragment during operation of the computer application, wherein the first application fragment corresponds to an activity in a first operating environment, wherein the second application fragment corresponds to the activity in a second operating environment, and wherein the second application fragment follows the first application fragment in response to detecting a transition from doing the activity on a first device to doing the activity on a second device, the first device hosting the first operating environment and the second device hosting the second operating environment, the first operating environment being a different type of operating environment from the second operating environment. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A method comprising:
-
receiving and running, by a mobile device, a first application fragment corresponding to a first portion of a computer program, the application fragment having previously been determined based on an analysis of user interfaces of the computer application such that the first application fragment is capable of displaying at least one user interface; sending, by the mobile device, an indication that the mobile device has adequate resources to accommodate a second application fragment corresponding to a second portion of the computer program; and receiving, by the mobile device, the second application fragment, the second application fragment sent based on the indication that the mobile device has adequate resources to accommodate the second application fragment, and based on data from a fragments data structure indicating that the second application fragment follows the first application fragment during operation of the computer application, wherein the fragment data structure includes one or more application fragments that follow an application fragment during operation of the computer application, the one or more application fragments being determined by running the application through an emulator, the emulator determining the one or more application fragments based on the resource dependency of the one or more application fragments, the resource dependency of a given application fragment being a function of one or more resources required to display at least one user interface associated with the given application fragment, and wherein the emulator enables the splitting of the computer application into the first application fragment and the second application fragment when the resource dependency of a first user interface of the computer application changes from the resource dependency of a second user interface of the computer application, the first application fragment corresponding to the first user interface and the second application fragment corresponding to the second user interface. - View Dependent Claims (16, 17, 18, 19)
-
-
20. A system comprising:
-
a communication device through which to communicate with remote devices; a storage device; a processor coupled to the communication device and to the storage device; and a memory coupled to the processor, the memory storing instructions which when executed by the processor cause the system to perform operations including; accessing the storage device containing multiple application fragments, each of the application fragments corresponding to a portion of a computer application, the application fragments having previously been determined based on an analysis of user interfaces of the computer application such that each of the application fragments is capable of displaying at least one user interface; receiving, from a mobile device, a request for a second application fragment, the mobile device having sent the request based on a determination that the mobile device has adequate resources to accommodate the second application fragment, and based on a fragments relationship data structure indicating that the second application fragment follows a first application fragment during operation of the computer application; receiving, from the mobile device, an indication that the mobile device has adequate resources to accommodate the second application fragment, the indication being the request for the second application fragment; and streaming, via the communication device and to the mobile device, the second application fragment based on the indication that the mobile device has adequate resources to accommodate the second application fragment, and based on the fragments relationship data structure indicating that the second application fragment follows the first application fragment during operation of the computer application, wherein the first application fragment corresponds to an activity in a first operating environment, wherein the second application fragment corresponds to the activity in a second operating environment, and wherein the second application fragment follows the first application fragment in response to detecting a transition from doing the activity on a first device to doing the activity on a second device, the first device hosting the first operating environment and the second device hosting the second operating environment, the first operating environment being a different type of operating environment from the second operating environment. - View Dependent Claims (21, 22, 23)
-
Specification