IP Library Granted Patent US 10,075,547
Granted Patent B2
US 10,075,547 · App. 14/507,516 · Granted Sep 11, 2018

Proxy device for reducing number of connections to gateway

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,075,547
App. No.
14/507,516
Granted
Sep 11, 2018
Kind
B2
Abstract

Techniques and systems for operating a device as a communication proxy for other devices are provided. For example, a method, computing device, or computer-program product may be provided, and may include receiving a device communication using a connection with a first device, determining that the device communication is from the first device, wherein the computing device and the first device are able to connect with a second device, and establishing a connection with the second device, wherein the computing device operates as a communication proxy for the first device by using the connection with the second device to exchange communications with the second device for the first device, and wherein the computing device and the first device include Internet of Things devices and share a common cloud network service provider. The method, computing device, or computer-program product may further include transmitting the device communication using the connection with the second device.

Claims (57)

1. A computing device, comprising:

one or more processors;

a receiver configured to receive a device communication, wherein the device communication is received using a connection with a first device, wherein the computing device and the first device share a common cloud network service provider, and wherein the computing device and the first device are nodes in a mesh network;

a non-transitory machine-readable storage medium containing instructions, which when executed on the one or more processors, cause the one or more processors to perform operations including:

identifying one or more other devices sharing the common cloud network service provider, wherein the one or more other devices are nodes in the mesh network, wherein the computing device, the first device, and the one or more other devices are configured to operate as communication proxies in the mesh network, and wherein nodes of the mesh network are configured to communicate directly with one or more other nodes of the mesh network;

determining a current utilization of an outbound channel of the computing device, wherein the current utilization indicates an amount of bandwidth of the outbound channel that is currently being consumed by the computing device; and

determining a maximum utilization of an outbound channel of the computing device and the one or more other devices, wherein the maximum utilization is determined by adding the current utilization of the outbound channel to an amount of bandwidth required to transmit a device communication;

comparing the maximum utilization of the computing device to the maximum utilization of the one or more other devices;

determining that the computing device is selected to be a proxy device when the computing device uses a higher maximum utilization as compared to the maximum utilization of the one or more other devices, wherein the proxy device facilitates communication between the first device and a second device;

establishing a connection, wherein the computing device operates as a communication proxy for the first device; and

a transmitter configured to transmit the device communication, wherein the device communication is transmitted using the connection between the computing device and the second device.

2. The computing device of claim 1 , wherein the computing device operates as a communication proxy for a device when the device is able to connect with the second device.

3. The computing device of claim 1 , wherein the second device includes a gateway.

4. The computing device of claim 1 , wherein the second device includes an Internet of Things device.

5. The computing device of claim 1 , wherein a single transceiver radio includes the receiver and the transmitter.

6. The computing device of claim 1 , wherein a first transceiver radio includes the receiver, and wherein a second transceiver radio includes the transmitter.

7. The computing device of claim 1 , wherein the computing device operates as a communication proxy for all devices located in a common geographic location.

8. The computing device of claim 1 , further comprising:

wherein the receiver is configured to receive a second device communication using the connection with the second device;

instructions, which when executed on the one or more processors, cause the one or more processors to determine that the second device communication is intended for reception by the first device; and

wherein the transmitter is configured to transmit the second device communication, wherein the second device communication is transmitted using the connection with the first device.

9. The computing device of claim 1 , wherein the computing device is selected to be a proxy device based further on one or more factors including an ability of the receiver to receive signals from the second device that are stronger than signals that a receiver of the first device can receive.

10. The computing device of claim 1 , wherein when it is determined that the device communication is from the first device, the first device and the computing device are able to connect to the second device.

11. The computing device of claim 1 , wherein the computing device is selected to be the proxy device for the first device from among the computing device and the one or more other devices.

12. A computer-implemented method, comprising:

receiving, on a computing device, a device communication, wherein the device communication is received using a connection with a first device, and wherein the computing device and the first device share a common cloud network service provider, and wherein the computing device and the first device are nodes in a mesh network;

identifying one or more other devices sharing the common cloud network service provider, wherein the one or more other devices are nodes in the mesh network, wherein the computing device, the first device, and the one or more other devices are configured to operate as communication proxies in the mesh network, and wherein nodes of the mesh network are configured to communicate directly with one or more other nodes of the mesh network;

determining a current utilization of an outbound channel of the computing device, wherein the current utilization indicates an amount of bandwidth of the outbound channel that is currently being consumed by the computing device; and

determining a maximum utilization of an outbound channel of the computing device and the one or more other devices, wherein the maximum utilization is determined by adding the current utilization of the outbound channel to an amount of bandwidth required to transmit a device communication;

comparing the maximum utilization of the computing device to the maximum utilization of the one or more other devices;

determining that the computing device is selected to be a proxy device when the computing device uses a higher maximum utilization as compared to the maximum utilization of the one or more other devices, wherein the proxy device facilitates communication between the first device and a second device;

establishing a connection, wherein the computing device operates as a communication proxy for the first device; and

transmitting the device communication, wherein the device communication is transmitted using the connection between the computing device and the second device.

13. The method of claim 2 , wherein the computing device operates as a communication proxy for a device when the device is able to connect with the second device.

14. The method of claim 12 , wherein the second device includes a gateway.

15. The method of claim 12 , wherein the second device includes an Internet of Things device.

16. The method of claim 12 , wherein the computing device includes a single transceiver radio comprising a receiver configured to receive the device communication and a transmitter configured to transmit the device communication.

17. The method of claim 16 , wherein the computing device is selected to be a proxy device based further on one or more factors including an ability of the receiver to receive signals from the second device that are stronger than signals that a receiver of the first device can receive.

18. The method of claim 12 , wherein the computing device includes:

a first transceiver radio comprising a receiver configured to receive the device communication; and a second transceiver radio comprising a transmitter configured to transmit the device communication.

19. The method of claim 12 , wherein the computing device operates as a communication proxy for all devices located in a common geographic location.

20. The method of claim 12 , further comprising:

receiving a second device communication using the connection with the second device;

determining that the second device communication is intended for reception by the first device; and

transmitting the second device communication, wherein the second device communication is transmitted using the connection with the first device.

21. The method of claim 12 , wherein when it is determined that the device communication is from the first device, the first device and the computing device are able to connect to the second device.

22. The method of claim 12 , wherein the computing device is selected to be the proxy device for the first device from among the computing device and the one or more other devices.

23. A computer-program product tangibly embodied in a non-transitory machine-readable storage medium of a computing device, including instructions configured to cause one or more data processors to:

receive a device communication, wherein the device communication is received using a connection with a first device, wherein the computing device and the first device share a common cloud network service provider, and wherein the computing device and the first device are nodes in a mesh network;

identify one or more other devices sharing the common cloud network service provider, wherein the one or more other devices are nodes in the mesh network, wherein the computing device, the first device, and the one or more other devices are configured to operate as communication proxies in the mesh network, and wherein nodes of the mesh network are configured to communicate directly with one or more other nodes of the mesh network;

determining a current utilization of an outbound channel of the computing device, wherein the current utilization indicates an amount of bandwidth of the outbound channel that is currently being consumed by the computing device; and

determining a maximum utilization of an outbound channel of the computing device and the one or more other devices, wherein the maximum utilization is determined by adding the current utilization of the outbound channel to an amount of bandwidth required to transmit a device communication;

comparing the maximum utilization of the computing device to the maximum utilization of the one or more other devices;

determining that the computing device is selected to be a proxy device when the computing device uses a higher maximum utilization as compared to the maximum utilization of the one or more other devices, wherein the proxy device facilitates communication between the first device and a second device;

establish a connection, wherein the computing device operates as a communication proxy for the first device; and

transmit the device communication, wherein the device communication is transmitted using the connection between the computing device and the second device.

24. The computer-program product of claim 23 , wherein the computing device operates as a communication proxy for a device when the device is able to connect with the second device.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 6, 2015
From: KIM, RYAN YONG
To: BELKIN INTERNATIONAL INC.
Reel/Frame 036979/0357 →
SUPPLEMENT NO. 13 TO PATENT SECURITY AGREEMENT Recorded Jul 20, 2015
From: BELKIN INTERNATIONAL, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS AGENT
Reel/Frame 036135/0095 →