Transmitting application data for on-device demos
AssigneeGoogle Inc.
InventorsBilson Jake Libres Campana, Zile Wei, Hrishikesh Balkrishna Aradhye
Life of this patent
Estimating the term…
Abstract
A system and method to profile an application use and identify data used for application execution, map the identified data for application execution to a virtual memory associated with application execution, including execution beginning at specific times, states or stages of the application, and transmit the virtual memory to an end user wishing to demonstrate the application on an end user device. The end user device can emulate the application from any desired application start time, state or stage using data at the end user device identified by the virtual memory.
Claims20
A method comprising:
- capturing, by an application provider, one or more memory snapshots of a profiling user device memory state during a time duration, wherein capturing the one or more memory snapshots occurs while the profiling user device is executing an application installed on the profiling user device and after the profiling user device has begun executing the application;
- identifying, by the application provider and based on the one or more memory snapshots, data used for executing the application during the time duration;
- mapping, by the application provider, the data for executing the application during the time duration to a virtual memory;
- receiving, by the application provider and from an end user device, a request for a demonstration of the application, wherein the application is not installed at the end user device;
- and
- responsive to receiving the request for the demonstration of the application, transmitting, by the application provider and to the end user device, the virtual memory to enable the end user device to emulate the application as executed during the time duration.
A system, comprising:
- a profiling user device, comprising:
- a network interface;
- one or more processors;
- and
- a memory that stores instructions executable by the one or more processors to:
- capture one or more snapshots of a portion of the memory over a period of time and during execution of an application, the portion of the memory including data required for the execution of the application during the period of time;
- and
- transmit, via the network interface and to an application provider, the one or more snapshots;
- the application provider, comprising:
- a network interface that receives the one or more snapshots from the profiling user device;
- one or more processors;
- and
- a memory that stores instructions executable by the one or more processors to:
- identify, based on the one or more memory snapshots, data used for executing the application during the period of time;
- and
- map the data used for executing the application during the period of time to a virtual memory;
- and
- an end user device, comprising:
- a network interface;
- one or more processors;
- and
- a memory storing instructions executable by the one or more processors to send, via the network interface of the end user device and to the application provider, a request for a demonstration of the application, wherein the application is not installed at the end user device,
- wherein the instructions stored by the memory of the application provider are further executable by the one or more processors of the application provider to, responsive to receiving the request for the demonstration of the application, transmit, via the network interface of the application provider and to the end user device, the virtual memory to enable the end user device to emulate the application as executed during the period of time.
A non-transitory computer-readable medium encoded with instructions that, when executed, cause one or more processors of a computing system to:
- capture one or more memory snapshots of a profiling user device memory state during a time duration, wherein capturing the one or more memory snapshots occurs while the profiling user device is executing an application installed on the profiling user device and after the profiling user device has begun executing the application;
- identify, based on the one or more memory snapshots, data used for executing the application during the time duration;
- map the data for executing the application during the time duration to a virtual memory;
- receive, from an end user device and to an application provider, a request for a demonstration of the application, wherein the application is not installed at the end user device;
- and
- responsive to receiving the request for the demonstration of the application, transmit, from the application provider and to the end user device, the virtual memory to enable the end user device to emulate the application as executed during the time duration.
Dependencies are inferred from the claim text.