Fragment-based mobile device application streaming utilizing crowd-sourcing
First Claim
1. A server comprising:
- a processor;
a network component, coupled to the processor, through which to communicate over a network with remote devices; and
a storage device coupled to the processor, the storage device storing instructions which, when executed by the processor, cause the server to perform operations including;
sending one or more messages to cause execution of a crowd sourced compute task at a plurality of computing devices, the crowd sourced compute task including execution of a plurality of computer simulations at the plurality of computing devices that includes running a mobile game application on respective mobile device emulators that simulate the mobile game application running on an environment of a selected mobile device to determine application fragments of the mobile gaming application;
collecting fragment information associated with a plurality of the application fragments determined as a result of the crowd sourced compute task, the plurality of application fragments including a first application fragment and a second application fragment, wherein each application fragment of the plurality of application fragments corresponds to a portion of the mobile game application;
storing the fragment information at the storage device;
receiving, from a mobile device, an indication to stream the first application fragment;
streaming, via the network component, the first application fragment to the mobile device in response to the indication to stream the first application fragment;
determining that the second application fragment follows the first application fragment based on a fragments relationship data structure, the fragments relationship data structure associating the first application fragment with the second application fragment, based on an analysis of the fragment information that indicates that the second application fragment follows the first application fragment during operation of the mobile game application; and
streaming, via the network component, the second application fragment to the mobile device based on the determination that the second application fragment follows the first application fragment.
0 Assignments
0 Petitions
Accused Products
Abstract
Some examples include decomposing an application into fragments and streaming the application in fragments. For instance, a plurality of application fragments may include a first application fragment and a second application fragment that each correspond to a portion of a mobile game application. When streaming the first application fragment to the mobile device, a system may determine that the second application fragment follows the first application fragment based on a fragments relationship data structure. The fragments relationship data structure may associate the first application fragment with the second application fragment based on an analysis of the fragment information that indicates that the second application fragment follows the first application fragment during operation of the mobile game application. The system may stream the second application fragment to the mobile device based on the determination that the second application fragment follows the first application fragment.
111 Citations
13 Claims
-
1. A server comprising:
-
a processor; a network component, coupled to the processor, through which to communicate over a network with remote devices; and a storage device coupled to the processor, the storage device storing instructions which, when executed by the processor, cause the server to perform operations including; sending one or more messages to cause execution of a crowd sourced compute task at a plurality of computing devices, the crowd sourced compute task including execution of a plurality of computer simulations at the plurality of computing devices that includes running a mobile game application on respective mobile device emulators that simulate the mobile game application running on an environment of a selected mobile device to determine application fragments of the mobile gaming application; collecting fragment information associated with a plurality of the application fragments determined as a result of the crowd sourced compute task, the plurality of application fragments including a first application fragment and a second application fragment, wherein each application fragment of the plurality of application fragments corresponds to a portion of the mobile game application; storing the fragment information at the storage device; receiving, from a mobile device, an indication to stream the first application fragment; streaming, via the network component, the first application fragment to the mobile device in response to the indication to stream the first application fragment; determining that the second application fragment follows the first application fragment based on a fragments relationship data structure, the fragments relationship data structure associating the first application fragment with the second application fragment, based on an analysis of the fragment information that indicates that the second application fragment follows the first application fragment during operation of the mobile game application; and streaming, via the network component, the second application fragment to the mobile device based on the determination that the second application fragment follows the first application fragment. - View Dependent Claims (2, 3, 4)
-
-
5. A method comprising:
-
in response to an indication to initiate a crowd sourced compute task, sending one or more messages to initiate execution of the crowd sourced compute task at a plurality of computing devices, the crowd sourced compute task including execution of a plurality of computer simulations at the plurality of computing devices that includes running a mobile entertainment application on respective mobile device emulators that simulate the mobile entertainment application running on an environment of a selected mobile device to determine a plurality of application fragments of the mobile entertainment application, including a first application fragment and a second application fragment, wherein each application fragment of the plurality of application fragments corresponds to a portion of the mobile entertainment application; receiving fragment information associated with the plurality of application fragments; storing the fragment information at a storage device; determining that the second application fragment follows the first application fragment based on a fragments relationship data structure, the fragments relationship data structure associating the first application fragment with the second application fragment based on an analysis of the fragment information that indicates that the second application fragment follows the first application fragment during operation of the mobile game application; receiving, from a mobile device, an indication to stream the first application fragment; in response to the indication to stream the first application fragment, streaming, via a network component, the first application fragment to the mobile device for execution by the mobile device; receiving, from the mobile device, an indication that the execution of the first application fragment is to transition to another application fragment; and streaming, via the network component, the second application fragment to the mobile device based on an analysis of the fragment information that indicates that the second application fragment follows the first application fragment during operation of the mobile game application. - View Dependent Claims (6, 7, 8, 9)
-
-
10. A non-transitory computer-readable medium storing computer executable code, comprising instructions for:
-
sending one or more messages to cause execution of a crowd sourced compute task at a plurality of computing devices, the crowd sourced compute task including execution of a plurality of computer simulations at the plurality of computing devices that includes running a mobile game application on respective mobile device emulators that simulate the mobile game application running on an environment of a selected mobile device to determine application fragments of the mobile gaming application; collecting fragment information associated with a plurality of the application fragments determined as a result of the crowd sourced compute task, the plurality of application fragments including a first application fragment and a second application fragment, wherein each application fragment of the plurality of application fragments corresponds to a portion of the mobile game application; storing the fragment information at a storage device; receiving, from a mobile device, an indication to stream the first application fragment; streaming the first application fragment to the mobile device in response to the indication to stream the first application fragment; determining that the second application fragment follows the first application fragment based on a fragments relationship data structure, the fragments relationship data structure associating the first application fragment with the second application fragment, based on an analysis of the fragment information that indicates that the second application fragment follows the first application fragment during operation of the mobile game application; and streaming the second application fragment to the mobile device based on the determination that the second application fragment follows the first application fragment. - View Dependent Claims (11, 12, 13)
-
Specification