Fragment-based mobile device application streaming utilizing crowd-sourcing
First Claim
1. A method comprising:
- in response to an indication received at a server system associated with a first party to initiate a crowd sourced compute task, sending, by the server system, one or more messages to identify a plurality of computing devices that can be used to execute the crowd sourced compute task, the crowd sourced compute task including execution of a plurality of computer simulations to determine a plurality of executable application fragments of a mobile game application, the identified computing devices being made available for use in association with the crowd sourced compute task by a plurality of second parties;
sending, by the server system, at least one message to the identified computing devices to initiate execution of the crowd sourced compute task at the identified computing devices and to distribute to the identified computing devices compute jobs that are part of the crowd sourced compute task for determining the plurality of application fragments, including a first application fragment and a second application fragment determined based on execution of the distributed compute jobs at the identified computing devices,wherein each application fragment of the plurality of application fragments corresponds to a portion of the mobile game application,wherein the portion of the mobile game application that the first application fragment corresponds to is any of a scene in the mobile game application, a level of the mobile game application, or a help portion of the mobile game application;
receiving, by the server system, fragment information associated with the application fragments from the identified computing devices that executed the distributed compute jobs;
storing, by the server system, the fragment information at a storage device;
determining, by the server system, 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, by the server system, via a network component, the second application fragment to a mobile game computing device based on the determination that the second application fragment follows the first application fragment,wherein the first application fragment corresponds to an activity in a first operating system environment, wherein the second application fragment corresponds to the activity in a second operating system environment, the first operating system environment being a different type of operating system environment from the second operating system 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 sending one or more messages to cause a plurality of computing devices that can be used to execute the compute task to be identified, sending at least one message to initiate execution of the compute task to determine the plurality of application fragments including a first application fragment and a second application fragment, collecting fragment information associated with the application fragments from one or more of the plurality of computing devices, 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, and streaming the second application fragment to a mobile game computing device.
-
Citations
29 Claims
-
1. A method comprising:
-
in response to an indication received at a server system associated with a first party to initiate a crowd sourced compute task, sending, by the server system, one or more messages to identify a plurality of computing devices that can be used to execute the crowd sourced compute task, the crowd sourced compute task including execution of a plurality of computer simulations to determine a plurality of executable application fragments of a mobile game application, the identified computing devices being made available for use in association with the crowd sourced compute task by a plurality of second parties; sending, by the server system, at least one message to the identified computing devices to initiate execution of the crowd sourced compute task at the identified computing devices and to distribute to the identified computing devices compute jobs that are part of the crowd sourced compute task for determining the plurality of application fragments, including a first application fragment and a second application fragment determined based on execution of the distributed compute jobs at the identified computing devices, wherein each application fragment of the plurality of application fragments corresponds to a portion of the mobile game application, wherein the portion of the mobile game application that the first application fragment corresponds to is any of a scene in the mobile game application, a level of the mobile game application, or a help portion of the mobile game application; receiving, by the server system, fragment information associated with the application fragments from the identified computing devices that executed the distributed compute jobs; storing, by the server system, the fragment information at a storage device; determining, by the server system, 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, by the server system, via a network component, the second application fragment to a mobile game computing device based on the determination that the second application fragment follows the first application fragment, wherein the first application fragment corresponds to an activity in a first operating system environment, wherein the second application fragment corresponds to the activity in a second operating system environment, the first operating system environment being a different type of operating system environment from the second operating system environment. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. 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, by the server, one or more messages to identify a plurality of computing devices that can be used to execute a crowd sourced compute task, the crowd sourced compute task including execution of a plurality of computer simulations to determine a plurality of executable application fragments of a mobile game application, wherein the server is associated with a first party and the identified computing devices are made available for use in association with the crowd sourced compute task by a plurality of second parties; sending, by the server, at least one message to the identified computing devices to initiate execution of the crowd sourced compute task at the identified computing devices and to distribute to the identified computing devices compute jobs that are part of the crowd sourced compute task for determining the plurality of application fragments, including a first application fragment and a second application fragment determined based on execution of the distributed compute jobs at the identified computing devices, wherein each application fragment of the plurality of application fragments corresponds to a portion of the mobile game application, wherein the portion of the mobile game application that the first application fragment corresponds to is any of a scene in the mobile game application, a level of the mobile game application, or a help portion of the mobile game application; receiving, by the server, fragment information associated with the application fragments from the identified computing devices that executed the distributed compute jobs; storing, by the server, the fragment information at a second storage device; determining, by the server, 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, by the server, via the network component, the second application fragment to a mobile game computing device based on the determination that the second application fragment follows the first application fragment. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23)
-
-
24. A non-transitory computer readable storage medium storing computer executable instructions, comprising:
-
instructions for causing a server system to send one or more messages to identify a plurality of computing devices that can be used to execute a crowd sourced compute task, the crowd sourced compute task including execution of a plurality of computer simulations to determine a plurality of executable application fragments of a mobile game application, wherein the server system is associated with a first party and the identified computing devices are made available for use in association with the crowd sourced compute task by a plurality of second parties; instructions for sending, by the server system, at least one message to the identified computing devices to initiate execution of the crowd sourced compute task at the identified computing devices and to distribute to the identified computing devices compute jobs that are part of the crowd sourced compute task for determining the plurality of application fragments, including a first application fragment and a second application fragment determined based on execution of the distributed compute jobs at the identified computing devices, wherein each application fragment of the plurality of application fragments corresponds to a portion of the mobile game application, wherein the portion of the mobile game application that the first application fragment corresponds to is any of a scene in the mobile game application, a level of the mobile game application, or a help portion of the mobile game application; instructions for receiving, by the server system, fragment information associated with the application fragments from one or more of the plurality of computing devices; instructions for storing, by the server system, the fragment information at a storage device; instructions for determining, by the server system, 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 instructions for streaming, by the server system, via a network component, the second application fragment to a mobile game computing device based on the determination that the second application fragment follows the first application fragment. - View Dependent Claims (25, 26, 27, 28, 29)
-
Specification