IP Library Granted Patent US 10,725,972
Granted Patent B2
US 10,725,972 · App. 14/222,221 · Granted Jul 28, 2020

Continuous and concurrent device experience in a multi-device ecosystem

Inventors: Michael A. Chan (San Francisco, CA); Justin Quan (San Francisco, CA); Daniel R. Bornstein (San Francisco, CA); Tom Moss (Los Altos, CA); Linda Tong (San Francisco, CA)
Assignee: RAZER (ASIA-PACIFIC) PTE. LTD.
G06F16/178G06F8/44G06F9/54G06F11/1464G06F16/113G06F16/116G06F16/122G06F16/16G06F16/168G06F16/1734G06F16/1787G06F16/182G06F16/24578G06F16/27H04L41/0816H04L47/70H04L47/78H04L63/0853H04L67/06H04L67/10H04L67/1095H04L67/1097H04L67/22H04L67/306H04L69/04H04W12/06G06F11/1451G06F11/1469
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,725,972
App. No.
14/222,221
Granted
Jul 28, 2020
Kind
B2
Abstract

Various embodiments generally relate to decentralized operating systems spanning multiple devices. More specifically, some embodiments relate to continuous and concurrent device experiences across the multiple devices. For example, a user may be streaming a movie through a service provided via a smart television. When the user's phone detects an incoming video call, the television can recognize that a video call is coming in and ask the user if the user wants to answer the call. If the user responds in the affirmative, the television can pause the streaming video from the service provide allowing the user to answer their phone. In some cases, the television can be used as the display screen to display the video call while the local phone resources (e.g., video camera) can be used as the recording device.

Claims (33)

1. A computer-implemented method comprising:

executing a first activity session at a first computing device of multiple computing devices having a decentralized operating system (DCOS) executed on the multiple computing devices, the DCOS including a DCOS kernel that communicates via one or more application programming interfaces (APIs) with respective local operating system (OS) kernels executing on respective ones of the multiple computing devices;

recognizing, by the DCOS, that a second activity session is being initiated at a second computing device of the multiple computing devices;

determining, by the DCOS, whether to switch from the first activity session at the first computing device to the second activity session at the first computing device based on device proximity between the first computing device and the second computing device and local resource availability at the first computing device; and

in response to a determination of switching from the first activity session at the first computing device to the second activity session at the first computing device, sending, by the DCOS kernel, via the one or more APIs, a request to the local OS kernel of the first computing device to pause the first activity session on the first computing device and allow the second activity session to begin on the first computing device, the request causing the local OS kernel of the first computing device to manage at least one hardware resource of the first computing device to begin the second activity session at the first computing device.

2. The computer-implemented method of claim 1 , wherein the DCOS kernel maintains a mapping between the respective local OS kernels and respective hardware resources that are managed by the respective local OS kernels on the respective multiple computing devices, the method further comprising determining, by the DCOS, whether the first computing device has sufficient local resources to support the second activity session based at least on the mapping.

3. The computer-implemented method of claim 2 , wherein the second activity session is requested to begin on the first computing device when the first computing device is determined, by the DCOS, through communication of the DCOS kernel with the local OS kernel of the first computing device, via the one or more APIs, to have sufficient local resources to support the second activity session.

4. The computer-implemented method of claim 1 , wherein determining, by the DCOS, whether to switch from the first activity session at the first computing device to the second activity session at the first computing device includes generating a graphical user interface at the first computing device alerting a user to the second activity session being initiated at the second computing device.

5. The computer-implemented method of claim 1 , further comprising determining a location of each of the multiple computing devices.

6. The computer-implemented method of claim 1 , wherein the DCOS kernel manages hardware resources of the multiple computing devices at least through communication, via the one or more APIs, with the respective local OS kernels executing on the respective multiple computing devices.

7. The computer-implemented method of claim 6 , further comprising prioritizing multiple transfer requests to the first computing device based on a user priority, an activity priority, or a location priority.

8. The computer-implemented method of claim 1 , further comprising resuming the first activity session when the second activity session is completed.

9. A system comprising:

means for executing a first activity session at a first computing device of multiple computing devices having a decentralized operating system (DCOS) executed on the multiple computing devices, the DCOS including a DCOS kernel that communicates via one or more application programming interfaces (APIs) with respective local operating system (OS) kernels executing on respective ones of the multiple computing devices;

means for recognizing, by the DCOS, that a second activity session is being initiated at a second computing device of the multiple computing devices;

means for determining, by the DCOS, whether to switch from the first activity session at the first computing device to the second activity session at the first computing device based on device proximity between the first computing device and the second computing device and local resource availability at the first computing device; and

means for sending, by the DCOS kernel, via the one or more APIs, a request to the local OS kernel of the first computing device to pause the first activity session on the first computing device and allow the second activity session to begin on the first computing device in response to a determination of switching from the first activity session at the first computing device to the second activity session at the first computing device, the request causing the local OS kernel of the first computing device to manage at least one hardware resource of the first computing device to begin the second activity session at the first computing device.

10. The system of claim 9 , wherein the DCOS kernel maintains a mapping between the respective local OS kernels and respective hardware resources that are managed by the respective local OS kernels on the respective multiple computing devices, the system further comprising means for determining, by the DCOS kernel, whether the first computing device has sufficient local resources to support the second activity session based at least on the mapping.

11. The system of claim 10 , wherein the second activity session is requested to begin on the first computing device when the first computing device is determined by the DCOS, through communication of the DCOS kernel with the local OS kernel of the first computing device, via the one or more APIs, to have sufficient local resources to support the second activity session.

12. The system of claim 9 , wherein the means for determining, by the DCOS, whether to switch from the first activity session at the first computing device to the second activity session at the first computing device comprises means for generating a graphical user interface at the first computing device alerting a user to the second activity session being initiated at the second computing device.

13. The system of claim 9 , wherein the DCOS kernel manages hardware resources of the multiple computing devices at least through communication, via the one or more APIs, with the respective local OS kernels executing on the respective multiple computing devices.

14. The system of claim 13 , further comprising means for prioritizing multiple transfer requests to the first computing device based on a user priority, an activity priority, or a location priority.

15. A method comprising:

executing a decentralized operating system (DCOS) using hardware resources of a plurality of computing devices, the DCOS including a DCOS kernel that communicates via one or more application programming interfaces (APIs) with respective local operating system (OS) kernels executing on respective ones of the plurality of computing devices, the plurality of computing devices including a first computing device and a second computing device;

executing a first activity session at the first computing device;

recognizing, by the DCOS, that a second activity session is being initiated at the second computing device;

determining, by the DCOS, to switch from the first activity session at the first computing device to the second activity session at the first computing device based on device proximity between the first computing device and the second computing device and local resource availability at the first computing device; and

in response to determining to switch from the first activity session at the first computing device to the second activity session at the first computing device, sending, by the DCOS kernel, via the one or more APIs, a request to the local OS kernel of the first computing device to pause the first activity session on the first computing device and allow the second activity session to begin on the first computing device, the request causing the local OS kernel of the first computing device to control at least one hardware resource of the first computing device to pause the first activity session and execute the second activity session at the first computing device.

16. The method of claim 15 , wherein the DCOS kernel maintains a mapping between the respective local OS kernels and respective hardware resources that are managed by the respective local OS kernels on the respective plurality of computing devices, the method further comprising determining, by the DCOS, whether the first computing device has sufficient local resources to support the second activity session based at least on the mapping.

17. The method of claim 16 , wherein the second activity session is requested to begin on the first computing device when the first computing device is determined by the DCOS, through communication of the DCOS kernel with the local OS kernel of the first computing device, via the one or more APIs, to have sufficient local resources to support the second activity session.

18. The method of claim 15 , wherein determining, by the DCOS, to switch from the first activity session at the first computing device to the second activity session at the first computing device includes generating a graphical user interface at the first computing device alerting a user to the second activity session being initiated at the second computing device.

19. The method of claim 18 , further comprising receiving, by the DCOS, via the graphical user interface, a user input indicating acceptance of transfer of the activity session from the second computing device to the first computing device.

20. The method of claim 15 , wherein the DCOS kernel manages hardware resources of the plurality of computing devices at least through communication, via the one or more APIs, with the respective local OS kernels executing on the respective multiple computing devices.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 13, 2017
From: NEXTBIT SYSTEMS INC.
To: RAZER (ASIA-PACIFIC) PTE. LTD.
Reel/Frame 041980/0254 →
RELEASE OF SECURITY INTEREST Recorded Jan 27, 2017
From: PINNACLE VENTURES, L.L.C., AS AGENT
To: NEXTBIT SYSTEMS INC.
Reel/Frame 041519/0146 →
SECURITY INTEREST Recorded Dec 1, 2015
From: NEXTBIT SYSTEMS INC.
To: PINNACLE VENTURES, L.L.C., AS AGENT
Reel/Frame 037184/0762 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 18, 2014
From: CHAN, MICHAEL A.; QUAN, JUSTIN; BORNSTEIN, DANIEL R.; MOSS, TOM; TONG, LINDA
To: NEXTBIT SYSTEMS INC.
Reel/Frame 032711/0622 →
Continuity (2)
Provisional Application 61804134 · Mar 21, 2013
Related Publication 20140289415A1 · Sep 25, 2014