IP Library Granted Patent US 10,129,085
Granted Patent B2
US 10,129,085 · App. 15/130,404 · Granted Nov 13, 2018

Determining network configurations for a modular computing entity

Inventors: Eric H C Liu (Redwood City, CA); Kevin D. Brune (Maple Valley, WA); Yoshimichi Matsuoka (Sunnyvale, CA); Gilbert Cabillic (Brece, FR); Gaurav Shah (San Jose, CA)
Assignee: Google LLC
H04L41/0823H04L41/0853H04L43/0817H04L43/0882H04W24/02H04W84/18
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,129,085
App. No.
15/130,404
Granted
Nov 13, 2018
Kind
B2
Abstract

Systems and methods of determining network configurations for a modular computing entity are disclosed. For instance, a desired functionality to be implemented by a modular computing entity can be identified. Capacity data associated with one or more candidate network devices that are available to join a network associated with the modular computing entity is received. A network combination to implement the desired functionality can be determined based at least in part on the received capacity data. The network combination can include at least a subset of the candidate network devices.

Claims (49)

1. A computer-implemented method of determining a network configuration for a modular computing entity, the method comprising:

identifying, by one or more computing devices, a desired functionality to be implemented by a modular computing entity comprising a first electronic device;

receiving, by the one or more computing devices, capacity data associated with one or more candidate network devices that are available to join a network associated with the modular computing entity, the one or more candidate network devices comprising at least one modular device that is removably coupled to the first electronic device; and

determining, by the one or more computing devices, a network combination to implement the desired functionality based at least in part on the received capacity data, the network combination comprising at least a subset of the candidate network devices including the at least one modular device, wherein determining the network combination is based at least in part on the capacity data associated with the at least one modular device.

2. The computer-implemented method of claim 1 , further comprising:

establishing, by the one or more computing devices, the network associated with the modular computing entity; and

providing, by the one or more computing devices, an invitation to join the network to each of the candidate network devices in the network combination.

3. The computer-implemented method of claim 2 , further comprising joining, by the one or more computing devices, each candidate network device in the network combination to the network to form the modular computing entity.

4. The computer-implemented method of claim 2 , further comprising:

receiving, by the one or more computing devices, a refusal to join the network from a candidate network device;

responsive to receiving the refusal to join the network, determining, by the one or more computing devices, one or more additional candidate network devices to add to the network combination based at least in part on the received capacity data; and

providing, by the one or more computing devices, an invitation to join the network to the one or more additional candidate network devices.

5. The computer-implemented method of claim 1 , wherein the capacity data comprises one or more functions that the one or more candidate network devices are capable of implementing.

6. The computer-implemented method of claim 1 , wherein the capacity data comprises one or more available resources comprising a set of computing resources that each candidate network device is willing to provide.

7. The computer-implemented method of claim 1 , wherein determining, by the one or more computing devices, a network combination to implement the desired functionality comprises:

determining, by the one or more computing devices, a set of resources required to implement the desired functionality; and

selecting, by the one or more computing devices, one or more candidate network devices based at least in part on the set of resources required to perform the one or more identified computing tasks and the received capacity data.

8. The computer-implemented method of claim 1 , wherein identifying, by one or more computing devices, a desired functionality of a modular computing entity comprises identifying, by one or more computing devices, one or more computing tasks to be performed by the modular computing entity; and

wherein the desired functionality is functionality associated with the one or more computing tasks.

9. The computer-implemented method of claim 8 , further comprising receiving, by the one or more computing devices, a user input indicative of a request to perform a task; and

wherein identifying, by one or more computing devices, one or more computing tasks to be performed by the modular computing entity comprises identifying the one or more computing tasks to be performed by the modular computing entity based at least in part on the user input.

10. The computer-implemented method of claim 8 , wherein identifying, by one or more computing devices, one or more computing tasks to be performed comprises identifying a general task to be performed and determining one or more subtasks to be performed to achieve the general task.

11. The computer-implemented method of claim 1 further comprising providing, by the one or more computing devices, a request for capacity data to each candidate network device; and

wherein the capacity data is provided to the one or more computing devices in response to the request for capacity data.

12. The computer-implemented method of claim 1 , wherein the network is an ad hoc wireless network associated with the modular computing entity.

13. The computer-implemented method of claim 1 , further comprising negotiating, by the one or more computing devices, a provision of resources by each candidate network device in the network combination.

14. The computer-implemented method of claim 1 , wherein the at least one modular device is configured to contribute functionality to the modular computing entity via network communication.

15. A computing system, comprising:

one or more processors; and

one or more memory devices, the one or more memory devices storing computer-readable instructions that when executed by the one or more processors cause the one or more processors to perform operations, the operations comprising:

identifying a desired functionality to be implemented by a modular computing entity comprising a first electronic device;

receiving capacity data associated with one or more candidate network devices that are available to join a network associated with the modular computing entity, the one or more candidate network devices comprising at least one modular device that is removably coupled to the first electronic device; and

determining a network combination to implement the desired functionality based at least in part on the received capacity data, the network combination comprising at least a subset of the candidate network devices including the at least one modular device, wherein determining the network combination is based at least in part on the capacity data associated with the at least one modular device.

16. The computing system of claim 15 , the operations further comprising:

establishing the network associated with the modular computing entity; and

providing an invitation to join the network to each of the candidate network devices in the network combination.

17. The computing system of claim 16 , the operations further comprising:

receiving a refusal to join the network from a candidate network device;

responsive to receiving the refusal to join the network, determining one or more additional candidate network devices to add to the network combination based at least in part on the received capacity data; and

providing an invitation to join the network to the one or more additional candidate network devices.

18. One or more tangible, non-transitory computer-readable media storing computer-readable instructions that when executed by one or more processors cause the one or more processors to perform operations, the operations comprising:

identifying a desired functionality to be implemented by a modular computing entity comprising a first electronic device;

receiving capacity data associated with one or more candidate network devices that are available to join a network associated with the modular computing entity, the one or more candidate network devices comprising at least one modular device that is removably coupled to the first electronic device; and

determining a network combination to implement the desired functionality based at least in part on the received capacity data, the network combination comprising at least a subset of the candidate network devices including the at least one modular device, wherein determining the network combination is based at least in part on the capacity data associated with the at least one modular device.

19. The one or more tangible, non-transitory computer-readable media of claim 18 , the operations further comprising:

determining a set of resources required to implement the desired functionality; and

selecting one or more candidate network devices based at least in part on the set of resources required to perform the one or more identified computing tasks and the received capacity data.

20. The one or more tangible, non-transitory computer-readable media of claim 18 , wherein identifying, by one or more computing devices, a desired functionality of a modular computing entity comprises identifying, by one or more computing devices, one or more computing tasks to be performed by the modular computing entity; and

wherein the desired functionality is functionality associated with the one or more computing tasks.

Assignments (2)
CHANGE OF NAME Recorded Oct 20, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044567/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 9, 2016
From: LIU, ERIC HC; BRUNE, KEVIN D.; MATSUOKA, YOSHIMICHI; CABILLIC, GILBERT; SHAH, GAURAV
To: GOOGLE INC.
Reel/Frame 038517/0114 →
Continuity (1)
Related Publication 20170302517A1 · Oct 19, 2017