发明名称 Cloud based application fragmentation
摘要 Technology is disclosed for decomposing an application into fragments and streaming the application fragments for execution on a mobile computing device. A fragment presents a user interface of the application and needs a set of resources, e.g., images, icons, etc. to be executed. A server determines a set of fragments for the application and streams them to the device as and when the device needs a particular fragment. The server determines the set of fragments in various ways. For example, the server executes an emulator that simulates the execution of the application by the user and determines fragment data including the set of fragments, resources needed by each of the fragments, and various possible navigations between the fragments. In another example, the server receives such fragment data from various users executing the application on various devices, and aggregates them based on aggregating policy to obtain an aggregated fragment data.
申请公布号 US8977723(B2) 申请公布日期 2015.03.10
申请号 US201414167939 申请日期 2014.01.29
申请人 Nextbit Systems Inc. 发明人 Quan Justin;Chan Michael A.
分类号 G06F15/16;H04L29/06;H04L12/26;H04W8/24;G06F9/445;H04L29/08 主分类号 G06F15/16
代理机构 Perkins Coie LLP 代理人 Perkins Coie LLP
主权项 1. A computer-implemented method comprising: receiving, at a server, a request to identify multiple application fragments of a computer application executable on a mobile computing device, wherein each application fragment of the application fragments includes a portion of code to present one or more graphical user interfaces (GUIs) of the computer application; determining, at the server, the application fragments using multiple techniques, a first technique of the techniques including executing, at the server, the computer application using an emulator that simulates the execution of the computer application by a user, the executing generating a first set of information including (a) a first set of application fragments executed by the emulator, (b) a first fragments relationship data structure including a fragment navigation path that indicates a subset of the first set of application fragments navigated from each of the first set of fragments, and (c) a first resource dependency data structure having, for each of first set of application fragments, resources that are needed for running the corresponding application fragment, and a second technique of the techniques including receiving, at the server and from each of multiple computing devices, (a) a second set of application fragments executed by the corresponding computing device, (b) a second fragments relationship data structure including a fragment navigation path that indicates a subset of the second set of application fragments navigated from each of the second set of fragments, and (c) a second resource dependency data structure having, for each of second set of application fragments, resources that are needed for running the corresponding application fragment, wherein each of the second set of application fragments are generated based on execution of at least a portion of the computer application on a corresponding computing device by a user of the corresponding computing device; aggregating, by the server, the first set of application fragments, the first fragments relationship data structure and the first resource dependency data structure with the second set of application fragments, the second fragments relationship data structure and the second resource dependency data structure obtained from each of the computing devices, respectively, based on an aggregation policy to generate the application fragments, a fragments relationship data structure and a resource dependency data structure for the computer application; and storing, at the server, the application fragments, the fragments relationship data structure and the resource dependency data structure.
地址 San Francisco CA US