IP Library Granted Patent US 9,146,716
Granted Patent B2
US 9,146,716 · App. 14/220,984 · Granted Sep 29, 2015

Automatic resource balancing for multi-device applications

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)
G06F8/44G06F9/54G06F11/1464G06F17/3053G06F17/30174G06F17/30194G06F17/30575H04L41/0816H04L47/70H04L47/78H04L63/0853H04L67/10H04L67/1095H04L69/04H04W12/06
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 9,146,716
App. No.
14/220,984
Granted
Sep 29, 2015
Kind
B2
Abstract

At least one embodiment of this disclosure includes a method of resource balancing execution of an application involving multiple devices. The method can include: identifying an application executing on an operating system of a first computing device; identifying a resource type to facilitate the executing of the application; identifying multiple computing devices each having at least an available resource instance of the identified resource type, wherein the multiple computing devices are reachable by a communication protocol of the first computing device; and selecting a target computing device to offer up a target resource instance of the resource type to the application based at least partly on a comparable limitation of each available resource instance of the multiple computing devices.

Claims (48)

1. A method of operating a resource brokerage system, comprising:

identifying an application executing on an operating system of a first computing device;

identifying a resource type to facilitate the executing of the application;

identifying multiple computing devices each having at least an available resource instance of the identified resource type, wherein the multiple computing devices are reachable by a communication protocol of the first computing device;

selecting a target computing device from the multiple computing devices to offer up a target resource instance of the resource type to the application based at least partly on a comparable limitation of each available resource instance of the multiple computing devices; and

notifying the first computing device with an offer for the target resource instance to be utilized by the application.

2. The method of claim 1 , further comprising: receiving a resource request over a network from the application, the resource request indicating the resource type; and wherein identifying the application and determining the resource type are based on the resource request.

3. The method of claim 1 , further comprising: receiving a resource request from the application executing on the operating system, the resource request indicating the resource type; and wherein identifying the application and determining the resource type are based on the resource request and wherein the selecting is also performed on the operating system.

4. The method of claim 1 , wherein identifying the multiple computing devices includes identifying the first computing device as one of the multiple computing devices.

5. The method of claim 1 , wherein the comparable limitation is a limited availability of resource instances of the resource type in each of the multiple computing devices.

6. The method of claim 1 , wherein the comparable limitation is an availability of a secondary resource that is consumed when each available resource instance is offered and utilized by the application.

7. The method of claim 6 , wherein the secondary resource is battery power consumption level of each of the multiple computing devices.

8. The method of claim 6 , wherein the secondary resource is data plan usage through an Internet service provider of each of the multiple computing devices.

9. The method of claim 1 , wherein the comparable limitation is a location of each of the multiple computing devices relative to the first computing device.

10. The method of claim 1 , wherein identifying the multiple computing devices includes identifying the multiple computing devices that are accessible based on a first user profile associated with the execution of the application.

11. The method of claim 1 , wherein selecting the target computing device is further based at least partly on a timing restriction of when the application requires to utilize the target resource instance.

12. A device comprising:

a memory storing executable instructions;

a processor configured by the executable instructions to:

identify an application executing on an operating system;

identify a resource type to facilitate the executing of the application;

identify multiple computing devices each having at least an available resource instance of the identified resource type, wherein the multiple computing devices are accessible to the application based on a first user profile associated with the execution of the application; and

select a target computing device from the multiple computing devices to offer up a target resource instance of the resource type to the application based at least partly on a comparable limitation of each available resource instance of the multiple computing device.

13. The device of claim 12 , wherein the processor is configured to identify the application executing on the operating system implemented by the processor.

14. The device of claim 12 , wherein the processor is configured to identify the application executing on the operating system implemented external to the device.

15. The device of claim 12 , wherein the processor is configured to receive a resource request over a network from the application, the resource request indicating the resource type, further wherein the processor is configured to identify the application and the resource type based on the resource request.

16. The device of claim 12 , wherein identifying the multiple computing devices includes identifying the first computing device as one of the multiple computing devices.

17. The device of claim 12 , wherein the comparable limitation is a limited availability of resource instances of the resource type in each of the multiple computing devices.

18. The device of claim 12 , wherein the comparable limitation is an availability of a secondary resource that is consumed when each available resource instance is offered and utilized by the application.

19. The device of claim 18 , wherein the secondary resource is battery power consumption level of each of the multiple computing devices.

20. The device of claim 18 , wherein the secondary resource is data plan usage through an Internet service provider of each of the multiple computing devices.

21. The device of claim 12 , wherein the comparable limitation is a location of each of the multiple computing devices relative to the first computing device.

22. The device of claim 12 , wherein identifying the multiple computing devices includes identifying the multiple computing devices that are accessible based on a first user profile associated with the execution of the application.

23. The device of claim 12 , wherein selecting the target computing device is further based at least partly on a timing restriction of when the application requires to utilize the target resource instance.

24. A non-transitory computer-readable storage medium storing instructions that when executed by a computer cause the computer to perform a method for operating a resource brokerage system, the method comprising:

identifying an application executing on an operating system of a first computing device;

identifying a resource type to facilitate the executing of the application;

identifying multiple computing devices each having at least an available resource instance of the identified resource type, wherein the multiple computing devices are reachable by a communication protocol of the first computing device;

selecting a target computing device from the multiple computing devices to offer up a target resource instance of the resource type to the application based at least partly on a comparable limitation of each available resource instance of the multiple computing devices; and

notifying the first computing device with an offer for the target resource instance to be utilized by the application.

25. The non-transitory computer-readable storage medium of claim 24 , wherein the method further comprises:

receiving a resource request over a network from the application, the resource request indicating the resource type; and

identifying the application and determining the resource type are based on the resource request.

26. The non-transitory computer-readable storage medium of claim 24 , wherein identifying the multiple computing devices includes identifying the first computing device as one of the multiple computing devices.

27. The non-transitory computer-readable storage medium of claim 24 , wherein the comparable limitation is a limited availability of resource instances of the resource type in each of the multiple computing devices.

28. The non-transitory computer-readable storage medium of claim 24 , wherein the comparable limitation is an availability of a secondary resource that is consumed when each available resource instance is offered and utilized by the application.

29. The non-transitory computer-readable storage medium of claim 24 , wherein the secondary resource is battery power consumption level of each of the multiple computing devices.

30. The non-transitory computer-readable storage medium of claim 24 , wherein the secondary resource is data plan usage through an Internet service provider of each of the 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 17, 2014
From: CHAN, MICHAEL A.; QUAN, JUSTIN; BORNSTEIN, DANIEL R.; MOSS, TOM; TONG, LINDA
To: NEXTBIT SYSTEMS INC.
Reel/Frame 032703/0947 →
Continuity (2)
Provisional Application 61804134 · Mar 21, 2013
Related Publication 20140289413A1 · Sep 25, 2014