Mobile device application streaming
First Claim
1. A computer-implemented method comprising:
- 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;
determining that a second application fragment follows a first application fragment based on an access of the resource dependency data structure, the resource dependency 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 component, the second application fragment of the application fragments to a computing device,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.
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.
95 Citations
20 Claims
-
1. A computer-implemented method comprising:
-
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; determining that a second application fragment follows a first application fragment based on an access of the resource dependency data structure, the resource dependency 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 component, the second application fragment of the application fragments to a computing device, 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. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer-implemented method comprising:
-
running, at a computing device, a first fragment as a running instance of a computer application; receiving a fragments relationship data structure, wherein the fragments relationship data structure includes identifications of fragments that leads to another fragment of the computer application; receiving, from a server, a second fragment of the computer application, wherein operation of the first fragment can potentially lead to the second fragment based on the fragments relationship data structure; receiving a signal indicating that the running instance of the computer application transitions from the first fragment to the second fragment; and in response to the signal, launching the second fragment, wherein the identifications of fragments in the fragment relationship data structure are 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 (9, 10, 11, 12, 13)
-
-
14. A server comprising:
-
a network component configured to communicate with a first computing device; a processor; a memory storing instructions which, when executed by the processor, cause the server to perform a process including; receiving, from the first computing device, multiple fragments of the computer application based on at least one portion of a computer application, wherein each fragment of the fragments includes a code to present at least one interface of the computer application, and the fragments are generated by the first computing device by running the portion of the computer application; receiving, from the first computer device, a fragments relationship data structure, wherein the fragments relationship data structure includes identifications of fragments that leads to another fragment of the fragments; and receiving, from the first computer device, a resource dependency data structure, wherein for each specific fragment of the fragments, the resource dependency data structure includes identifications of resources that are needed for running the specific fragment, wherein the identifications of fragments in the fragment relationship data structure are 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 a first application fragment and a 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 (15, 16, 17, 18)
-
-
19. A computer-implemented method comprising:
-
running, at a computing device, a container application; receiving, from a server, a first fragment of a computer application; executing, at the computing device, the first fragment through a control of the container application; determining, by the container application, a second fragment of the computer application that follows the first fragment, based on a fragments relationship data structure; receiving, from the server, the second fragment of the computer application; and launching, at the computer device, the second fragment of the computer application received from the server by the container application when the first fragment ends its execution, 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 (20)
-
Specification