Activity distribution between multiple devices
AssigneeGoogle Inc.
InventorsRoy Want, William Noah Schilit
Life of this patent
Estimating the term…
Abstract
A first application, operating on a first client device, may perform a task. As part of performing the task, the first application may generate a message that includes a command, data, and a list of client devices suitable for invoking the command. The first client device may determine whether the first client device is in the list. If the first client device is in the list, the first client device may transmit the message to a local application on the first client device, to further perform the task by invoking the command on the data. If the first client device is not in the list, the first client device may select a second client device from the list, and transmit, via a server device, the message to the second client device.
Claims19
A method comprising:
- operating, by a first client device, a first application to perform a task;
- as part of performing the task, generating, at the first application, a first message that includes a first command, first data, and a first list of one or more client devices suitable for invoking the first command;
- determining, by the first client device, that the first client device is not in the first list;
- in response to determining that the first client device is not in the first list, selecting, by the first client device, a second client device from the first list, and transmitting, by the first client device, the first message to the second client device via a server device, wherein the first message is configured to cause a second application on the second client device to invoke the first command on the first data, wherein the second application is different from the first application;
- as part of performing the task, generating, at the first application, a second message that includes a second command, second data, and a second list of one or more client devices suitable for invoking the second command;
- determining, by the first client device, that the first client device is in the second list;
- and
- in response to determining that the first client device is in the second list, providing, by the first client device, the second message to a third application on the first client device, wherein the second message is configured to cause the third application to invoke the second command on the second data, wherein the third application is different from the first application.
An article of manufacture including a non-transitory computer-readable medium, having stored thereon program instructions that, upon execution by a first client device, cause the first client device to perform operations comprising:
- operating a first application;
- generating, at the first application, a first message that includes a first command, first data, and a first list of one or more client devices suitable for invoking the first command;
- determining that the first client device is not in the first list;
- in response to determining that the first client device is not in the first list, selecting a second client device from the first list, and transmitting the first message to the second client device via a server device, wherein the first message is configured to cause a second application on the second client device to invoke the first command on the first data, wherein the second application is different from the first application;
- generating, at the first application, a second message that includes a second command, second data, and a second list of one or more client devices suitable for invoking the second command;
- determining that the first client device is in the second list;
- and
- in response to determining that the first client device is in the second list, providing the second message to a third application on the first client device, wherein the second message is configured to cause the third application to invoke the second command on the second data, wherein the third application is different from the first application.
A first client device comprising:
- a processor;
- a communication interface;
- and
- data storage containing program instructions that, upon execution by the processor, cause the first client device to:
- operate a first application;
- generate, at the first application, a first message that includes a first command, first data, and a first list of client devices suitable for invoking the first command;
- determine that the first client device is not in the first list;
- in response to determining that the first client device is not in the first list, select a second client device from the first list, and transmit the first message to the second client device via a server device, wherein the first message is configured to cause a second application on the second client device to invoke the first command on the first data, wherein the second application is different from the first application;
- generating, at the first application, a second message that includes a second command, second data, and a second list of one or more client devices suitable for invoking the second command;
- determining that the first client device is in the second list;
- and
- in response to determining that the first client device is in the second list, providing the second message to a third application on the first client device, wherein the second message is configured to cause the third application to invoke the second command on the second data, wherein the third application is different from the first application.
Dependencies are inferred from the claim text.