In-app application casting
First Claim
Patent Images
1. A computer-implemented method comprising:
- receiving, in response to user input received during an execution of a source application executing as a foreground process on an operating system of a source computing device, an invocation command;
in response to the invocation command;
causing a casting application process to execute as a foreground process of the operating system of the source computing device and thereby cause the source application to execute as a background process of the operating system of the source computing device, andcausing the source application to backup state data of the source application that indicates a set of properties of the source application execution at a first time;
capturing a screenshot of the source computing device executing the source application;
transmitting the state data to a set of destination computing devices via a server that synchronizes the state data with the set of destination computing devices;
displaying a selection menu representing each of the set of destination computing devices using the screenshot as a background image, wherein the selection menu is provided by the casting application process executing as a foreground process; and
transmitting, in response to a user selection of a destination computing device from the selection menu, a cast command to the destination computing device instructing the destination computing device to execute the source application on the destination computing device using the state data, whereby a user of the destination computing device can continue uninterrupted execution of the source application on the destination computing device at a second time.
5 Assignments
0 Petitions
Accused Products
Abstract
The subject disclosure relates to systems and methods for casting an application from a source device to a destination device. In particular, a process can include steps for causing a source application executing as a foreground process in an operating system of a source computing device to store state data, transmitting the state data of the source application to a set of destination computing devices, and transmitting a cast command to the destination computing device, where the cast command is configured to instruct the destination computing device to execute the source application on the destination computing device using the state data.
-
Citations
27 Claims
-
1. A computer-implemented method comprising:
-
receiving, in response to user input received during an execution of a source application executing as a foreground process on an operating system of a source computing device, an invocation command; in response to the invocation command; causing a casting application process to execute as a foreground process of the operating system of the source computing device and thereby cause the source application to execute as a background process of the operating system of the source computing device, and causing the source application to backup state data of the source application that indicates a set of properties of the source application execution at a first time; capturing a screenshot of the source computing device executing the source application; transmitting the state data to a set of destination computing devices via a server that synchronizes the state data with the set of destination computing devices; displaying a selection menu representing each of the set of destination computing devices using the screenshot as a background image, wherein the selection menu is provided by the casting application process executing as a foreground process; and transmitting, in response to a user selection of a destination computing device from the selection menu, a cast command to the destination computing device instructing the destination computing device to execute the source application on the destination computing device using the state data, whereby a user of the destination computing device can continue uninterrupted execution of the source application on the destination computing device at a second time. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A system, comprising:
-
a computer processor; a network adapter that facilitates communication with a server and a group of computing devices associated with a user; and a memory having instructions, which when executed by the processor, enable the processor to; cause a source application executing as a foreground process in an operating system of a source computing device to store state data of the source application; transmit the stored state data of the source application to a set of destination computing devices; display a selection menu indicating a subset of destination computing devices from among the set of destination computing devices; receive a cast selection via the selection menu, wherein the cast selection indicates a destination computing device from among the subset of destination computing devices; and transmit a cast command to the destination computing device indicated by the cast selection, wherein the cast command is configured to instruct the destination computing device to execute the source application on the destination computing device using the state data, whereby a user of the destination computing device can continue uninterrupted execution of the source application on the destination computing device. - View Dependent Claims (8, 9, 10, 11, 12, 13)
-
-
14. A non-transitory computer-readable storage medium comprising a plurality of instructions configured to execute on at least one computer processor to enable the computer processor to:
-
cause a source application executing as a foreground process in an operating system of a source computing device to store state data of the source application; transmit the stored state data of the source application for a set of destination computing devices; display a selection menu indicating a subset of destination computing devices from among the set of destination computing devices; receive a cast selection via the selection menu, wherein the cast selection indicates a destination computing device from among the subset of destination computing devices; and transmit a cast command to the destination computing device based on the cast selection, wherein the cast command is configured to instruct the destination computing device to execute the source application on the destination computing device using the state data, whereby a user of the destination computing device can continue uninterrupted execution of the source application on the destination computing device. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. A system comprising:
-
a computer processor; a network adapter that facilitates communication with a server and a group of computing devices associated with a user; and a memory having instructions, which when executed by the processor, enable the processor to; receive state data of a source application of a source computing device, wherein the state data is stored by the source computing device during an execution of the source application as a foreground process in an operating system of the source computing device; store the state data on a destination computing device; and in response to receiving a casting command, reinitialize and execute a destination application on the destination computing device using the state data, the destination application being an instance of the source application, wherein the casting command is received in response to a cast selection at the source computing device, wherein the cast selection is received via a selection menu displayed at the source computing device, the selection menu indicating a set of destination computing devices, the cast selection indicating the destination computing device from among the set of destination computing devices, whereby a user of the destination computing device can continue uninterrupted execution of the source application on the destination computing device. - View Dependent Claims (24, 25, 26, 27)
-
Specification