IP Library Granted Patent US 9,426,185
Granted Patent B1
US 9,426,185 · App. 13/908,971 · Granted Aug 23, 2016

Proximity based communication with embedded system

Inventors: Jigar Vora (Westborough, MA); Marko Kiiskila (Sunnyvale, CA); Daniel Myers (Fremont, CA); Joseph R. Eykholt (Los Altos, CA); Adrian Caceres (Los Gatos, CA)
Assignee: Ayla Networks, Inc.
H04L65/1069
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,426,185
App. No.
13/908,971
Granted
Aug 23, 2016
Kind
B1
Abstract

A computing device connects to a local area network (LAN) and determines whether a device comprising an embedded system is also connected to the LAN. Responsive to determining that the device is connected to the LAN, the computing device establishes a first session with the embedded system of the device over the LAN and then communicates with the embedded system of the device via the first session.

Claims (94)

1. A method comprising:

establishing, by a computing device, a first session with a wide area network (WAN) accessible service using a first wireless communication standard, wherein the WAN accessible service has a second session with an embedded system in a device;

communicating, by the computing device, with the embedded system of the device via the first session by using the WAN accessible service as a proxy;

connecting, by the computing device, to a local area network (LAN) using at least one of the first wireless communication standard or a second wireless communication standard;

determining, by the computing device, that the device comprising the embedded system is also connected to the LAN; and

responsive to determining that the device is connected to the LAN, performing the following comprising:

establishing a third session with the embedded system of the device over the LAN; and

communicating with the embedded system of the device via the third session instead of the first session.

2. The method of claim 1 , further comprising:

determining that the computing device is no longer connected to the LAN; and

responsive to determining that the computing device is no longer connected to the LAN, performing the following comprising:

terminating the third session; and

communicating with the embedded system of the device via the first session using the WAN accessible service as a proxy.

3. The method of claim 1 , further comprising:

receiving, from the WAN accessible service, a shared key and a key identifier (ID) associated with the shared key; and

storing the shared key and the associated key ID, wherein the shared key is also stored by the embedded system;

wherein establishing the third session comprises:

determining whether the computing device and the embedded system each have a copy of the shared key based on the associated key ID; and

establishing a session key for the third session using the shared key responsive to determining that the computing device and the embedded system each have a copy of the shared key.

4. The method of claim 3 , further comprising:

determining that the shared key has been revoked;

receiving a new shared key and a new associated key ID from the WAN accessible service, wherein the new shared key and the new key ID are also sent to the embedded system by the WAN accessible service;

using the new shared key to establish a new session key for a new session with the embedded system; and

encrypting communications to the embedded system using the new session key.

5. The method of claim 3 , further comprising:

performing registration of the computing device to the embedded system using the WAN accessible service; and

receiving the shared key and the associated key ID from the WAN accessible service responsive to completing the registration.

6. The method of claim 1 , further comprising:

receiving an internet protocol (IP) address of the device, wherein determining whether the device is also connected to the LAN comprises sending a message to the IP address responsive to connecting to the LAN.

7. The method of claim 1 , wherein determining whether the device is also connected to the LAN comprises:

using a multicast domain name system (mDNS) to locate the device on the LAN.

8. The method of claim 1 , wherein communicating with the embedded system comprises:

sending a notification to the embedded system, the notification indicating that the computing device has a message for the embedded system;

receiving a request for the message from the embedded system; and

sending the message to the embedded system, wherein the message comprises a command to update a state of the embedded system.

9. The method of claim 1 , further comprising:

after a state of the embedded system changes, receiving an update from at least one of a) the embedded system via the third session if the computing device and the embedded system are both connected to the LAN, or b) a wide area network (WAN) accessible service if at least one of the computing device or the embedded system are not connected to the LAN.

10. A non-transitory computer readable storage medium having instructions that, when executed by a computing device, cause the computing device to perform operations comprising:

establishing a first session with a wide area network (WAN) accessible service, wherein the WAN accessible service has a second session with an embedded system in a device;

communicating with the embedded system of the device via the first session by using the WAN accessible service as a proxy;

connecting to a local area network (LAN);

determining whether a device comprising the embedded system is also connected to the LAN; and

responsive to determining that the device is connected to the LAN, performing the following by the computing device:

establishing a third session with the embedded system of the device over the LAN; and

communicating with the embedded system of the device via the third session instead of the first session.

11. The non-transitory computer readable storage medium of claim 10 , the operations further comprising:

responsive to determining that the device is not connected to the LAN,

communicating with the embedded system of the device via the first session using the WAN accessible service as a proxy.

12. The non-transitory computer readable storage medium of claim 10 , the operations further comprising:

receiving, from the WAN accessible service, a shared key and a key identifier (ID) associated with the shared key; and

storing the shared key and the associated key ID, wherein the shared key is also stored by the embedded system;

wherein establishing the third session comprises:

determining whether the computing device and the embedded system each have a copy of the shared key based on the associated key ID; and

establishing a session key for the third session using the shared key responsive to determining that the computing device and the embedded system each have a copy of the shared key.

13. The non-transitory computer readable storage medium of claim 12 , the operations further comprising:

determining that the shared key has been revoked;

receiving a new shared key and a new associated key ID from the WAN accessible service, wherein the new shared key and the new key ID are also sent to the embedded system by the WAN accessible service;

using the new shared key to establish a new session key for a new session with the embedded system; and

encrypting communications to the embedded system using the new session key.

14. The non-transitory computer readable storage medium of claim 12 , the operations further comprising:

performing registration of the computing device to the embedded system using the WAN accessible service; and

receiving the shared key and the associated key ID from the WAN accessible service responsive to completing the registration.

15. The non-transitory computer readable storage medium of claim 10 , the operations further comprising:

receiving an internet protocol (IP) address of the device, wherein determining whether the device is also connected to the LAN comprises sending a message to the IP address responsive to connecting to the LAN.

16. The non-transitory computer readable storage medium of claim 10 , wherein determining whether the device is also connected to the LAN comprises:

using a multicast domain name system (mDNS) to locate the device on the LAN.

17. The non-transitory computer readable storage medium of claim 10 , wherein communicating with the embedded system comprises:

sending a notification to the embedded system, the notification indicating that the computing device has a message for the embedded system;

receiving a request for the message from the embedded system; and

sending the message to the embedded system, wherein the message comprises a command to update a state of the embedded system.

18. The non-transitory computer readable storage medium of claim 10 , the operations further comprising:

after a state of the embedded system changes, receiving an update from at least one of a) the embedded system via the third session if the computing device and the embedded system are both connected to the LAN, or b) a wide area network (WAN) accessible service if at least one of the computing device or the embedded system are not connected to the LAN.

19. A non-transitory computer readable storage medium having instructions that, when executed by a computing device, cause the computing device to perform operations comprising:

receiving, from a wide area network (WAN) accessible service, a shared key and a key identifier (ID) associated with the shared key;

storing, by the computing device, the shared key and the associated key ID, wherein the shared key is also stored by an embedded system of a device;

determining that the shared key has been revoked;

receiving a new shared key and a new associated key ID from the WAN accessible service, wherein the new shared key and the new key ID are also sent to the embedded system by the WAN accessible service;

connecting to a local area network (LAN);

determining, by the computing device, whether the device comprising the embedded system is also connected to the LAN;

responsive to determining that the device is connected to the LAN, performing the following comprising:

establishing a first session with the embedded system of the device over the LAN, wherein establishing the first session comprises:

determining whether the computing device and the embedded system each have a copy of the new shared key based on the new key ID; and

establishing a session key for the first session using the new shared key responsive to determining that the computing device and the embedded system each have a copy of the new shared key;

encrypting communications to the embedded system using the session key; and

sending the communications to the embedded system of the device via the first session.

20. The non-transitory computer readable storage medium of claim 19 , the operations further comprising:

responsive to determining that the device is not connected to the LAN, performing the following comprising:

establishing or maintaining a second session with the WAN accessible service, wherein the WAN accessible service has a third session with the embedded system; and

communicating with the embedded system of the device using the WAN accessible service as a proxy.

21. The non-transitory computer readable storage medium of claim 19 , the operations further comprising:

performing registration of the computing device to the embedded system using the WAN accessible service; and

receiving the shared key and the associated key ID from the WAN accessible service responsive to completing the registration.

22. The non-transitory computer readable storage medium of claim 19 , the operations further comprising:

receiving an internet protocol (IP) address of the device, wherein determining whether the device is also connected to the LAN comprises sending a message to the IP address responsive to connecting to the LAN.

Assignments (7)
RELEASE OF SECURITY INTEREST Recorded Apr 1, 2020
From: RUN LIANG TAI (HONG KONG) INVESTMENT COMPANY LIMITED
To: AYLA NETWORKS, INC.
Reel/Frame 052282/0957 →
CORRECTIVE ASSIGNMENT TO CORRECT THE CORRECT THE NAME OF THE ASSIGNOR AND THE ASSIGNEE PREVIOUSLY RECORDED AT REEL: 052213 FRAME: 0718. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Mar 25, 2020
From: AYLA NETWORKS, INC.; AYLA NETWORKS HOLDING CORPORATION
To: PINNACLE VENTURES, L.L.C., AS AGENT
Reel/Frame 052230/0408 →
SECURITY INTEREST Recorded Mar 24, 2020
From: PINNACLE VENTURES, L.L.C., AS AGENT
To: AYLA NETWORKS HOLDING CORPORATION; AYLA NETWORKS, INC.
Reel/Frame 052213/0718 →
RELEASE OF SECURITY INTEREST Recorded Apr 10, 2019
From: EAST WEST BANK
To: AYLA NETWORKS, INC.
Reel/Frame 048849/0527 →
SECURITY INTEREST Recorded Apr 8, 2019
From: AYLA NETWORKS, INC.
To: RUN LIANG TAI (HONG KONG) INVESTMENT COMPANY LIMITED
Reel/Frame 048820/0035 →
SECURITY INTEREST Recorded Jul 26, 2017
From: AYLA NETWORKS, INC.
To: EAST WEST BANK
Reel/Frame 043106/0617 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 1, 2013
From: VORA, JIGAR; KIISKILA, MARKO; MYERS, DANIEL; EYKHOLT, JOSEPH R.; CACERES, ADRIAN
To: AYLA NETWORKS, INC.
Reel/Frame 030928/0934 →