IP Library Granted Patent US 10,728,314
Granted Patent B2
US 10,728,314 · App. 15/630,374 · Granted Jul 28, 2020

Cross device application discovery and control

Inventors: Arunjeet Singh (Redmond, WA); John M Sheehan (Somerville, MA); Kunal Gandhi (Redmond, WA); Sean McKenna (Seattle, WA); Akhilesh (Akhil) Kaza (Sammamish, WA); Sameer Tejani (Newcastle, WA)
Assignee: Microsoft Technology Licensing, LLC
H04L67/10G06F9/5044G06F9/5055H04L67/16
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,728,314
App. No.
15/630,374
Granted
Jul 28, 2020
Kind
B2
Abstract

Systems and methods cross device application discovery and/or control. Cross device application discovery and/or control can provide for simple detection and activation of applications on remote devices. Cross device application discovery and/or control can provide for the control of remote applications in a master and slave configuration. Responsive to an activation message, an application can execute a task in an application, the task being displayed on a target device. Responsive to an activation message, an application can execute a task in an application on a target device, a task context data for the task being streamed to the source device for presentation on a display. Cross device application discovery and/or control can be enabled on a single operating system, or across a plurality of operating systems.

Claims (64)

1. A system comprising:

one or more processors; and

one or more computer-readable media storing instructions executable by the one or more processors to:

identify one or more devices connected to a network;

identify a device of the one or more devices as a trusted device;

send, to the trusted device of the one or more devices, an application activation message comprising a command to activate performance of a task associated with an application on the trusted device;

receive, from the trusted device, an activation response message comprising an indication of a success of the application in activating performance of the task; and

send, to the trusted device, a control message associated with the task, wherein the control message triggers the trusted device to control the application's performance of the task.

2. The system of claim 1 , wherein the instructions are further executable by the one or more processors to:

send, to the trusted device, an application discovery query; and

receive, from the trusted device, an application discovery response message comprising a capability of at least one of the trusted device or an application of the trusted device,

wherein the application activation message is sent based at least in part on the application discovery response message.

3. The system of claim 1 , wherein an identification of the device as the trusted device is based on an authentication of the device by a user or a determination that the device is associated with a user profile.

4. The system of claim 1 , wherein the control message comprises an instruction to perform a lifetime management function associated with the task.

5. A method comprising:

identifying, by a source device, one or more devices connected to a network;

identifying, by the source device, a device of the one or more devices as a trusted device;

sending, to the trusted device of the one or more devices, an application activation message comprising a command to activate performance of a task associated with an application on the trusted device;

receiving, from the trusted device, an activation response message comprising an indication of a success of the application in activating performance of the task; and

sending, to the trusted device, a control message associated with the task, wherein the control message triggers the trusted device to control the application's performance of the task.

6. The method of claim 5 , wherein the control message comprises an instruction to perform a lifetime management function associated with the task.

7. The method of claim 5 , further comprising:

sending, to the trusted device, an application discovery query; and

receiving, from the trusted device, an application discovery response message comprising a capability of the trusted device,

wherein the sending the application activation message is based at least in part on the application discovery response message.

8. The method of claim 7 , wherein the capability of the trusted device comprises display capability associated with the task.

9. The method of claim 5 , further comprising:

sending, to the trusted device, an application discovery query; and

receiving, from the trusted device, an application discovery response message comprising application data associated with the trusted device,

wherein the sending the application activation message is based at least in part on the application discovery response message.

10. The method of claim 9 , wherein the application data comprises at least one of:

an ability of the application to perform the task; or

a speed of the application.

11. The method of claim 5 , wherein an identification of the device as the trusted device is based on at least one of

a user profile associated with the trusted device;

a group user profile associated with the trusted device; or

a user preference setting of the source device.

12. The method of claim 5 , further comprising:

receiving, by the source device and from the trusted device, task context data associated with the task being performed on the trust device; and

presenting, on a display of the source device, the task context data.

13. A server device comprising:

one or more processors; and

one or more computer-readable media storing instructions executable by the one or more processors to:

identify one or more devices connected to a network;

identify a device of the one or more devices as a trusted device;

send, to the trusted device of the one or more devices, an application activation message comprising a command to activate performance of a task associated with an application on the trusted device;

receive, from the trusted device, an activation response message comprising an indication of a success of the application in activating performance of the task; and

send, to the trusted device, a control message associated with the task, wherein the control message triggers the trusted device to control the application's performance of the task.

14. The server device of claim 13 , the instructions further executable by the one or more processors to:

send, to the trusted device, an application discovery query; and

receive, from the trusted device, an application discovery response message comprising a capability of at least one of the trusted device or an application on the trusted device,

wherein the application activation message is sent based at least in part on the application discovery response message.

15. The server device of claim 14 , wherein the capability of the trusted device comprises at least one of a memory, a speed, or a presentation capability.

16. The server device of claim 14 , wherein the capability of the application comprises at least one of an ability to perform a particular task, or a speed of the application.

17. The server device of claim 13 , wherein the task is a background task executed on the trusted device.

18. The server device of claim 13 , wherein an identification of the device as the trusted device is based on at least one of:

an authentication of the trusted device by a user;

a user profile associated with the trusted device;

a group user profile associated with the trusted device; or

a user preference setting of the service device.

19. The server device of claim 13 , wherein the control message comprises an instruction to perform a lifetime management function associated with the task.

20. The server device of claim 13 , wherein the instructions are further executable by the one or more processors to:

receive, by the server device and from the trusted device, task context data associated with the task being performed on the trust device; and

present, on a display of the server device, the task context data.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 22, 2017
From: SINGH, ARUNJEET; GANDHI, KUNAL; TEJANI, SAMEER; SHEEHAN, JOHN M; KAZA, AKHILESH; MCKENNA, SEAN
To: MICROSOFT CORPORATION
Reel/Frame 042788/0830 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 22, 2017
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 042788/0893 →