IP Library Granted Patent US 11,582,065
Granted Patent B2
US 11,582,065 · App. 13/954,553 · Granted Feb 14, 2023

Systems and methods for device communication

Inventors: Dana Burd (Redwood City, CA); Paul J. Dawes (Redwood City, CA)
Assignee: iControl Networks, Inc.
H04L12/4633G06F16/972G06Q30/0601G06Q50/26H04L12/2803H04L12/2809H04L12/2818H04L12/2825H04L12/2834H04L67/025H04L67/125H04L67/55H04L12/4641H04L41/082H04L41/0806H04L41/0813H04L63/0428H04L67/75H04L2012/285H04L2012/2841H04L2012/2843
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 11,582,065
App. No.
13/954,553
Filed
Jul 30, 2013
Granted
Feb 14, 2023
Kind
B2
Art Unit
2177
USPC
715/765
Abstract

Embodiments include a device comprising an interface module for interfacing with proprietary legacy systems. The interface module comprises a data interface for interfacing with a processing component of the legacy system, where the processing component uses a proprietary protocol for processing data of the legacy system. The interface module includes a protocol module that comprises a protocol corresponding to the proprietary protocol of the legacy system, and the interface module uses the protocol to exchange data with the processing component. The interface module includes a communication device that communicates with a remote system via a wireless channel. The interface module controls communications that include passing commands from the remote system to the legacy system, and passing event data of the legacy system to the remote system.

Claims (120)

1. A system comprising:

one or more premises devices;

a gateway device configured to communicate with the one or more premises devices; and

a computing device configured to communicate with the gateway device and the one or more premises devices, wherein the computing device is configured to:

receive, from the gateway device, a first poll message associated with the one or more premises devices;

send, via a first communication protocol and based on receiving the first poll message associated with the one or more premises devices, a second poll message to the one or more premises devices to request a status of the one or more premises devices, wherein the status of the one or more premises devices comprises an operational state of the one or more premises devices;

receive, from the one or more premises devices, one or more messages comprising an indication of the operational state of the one or more premises devices; and

send, to the gateway device and via a second communication protocol different from the first communication protocol, an indication of at least one status of the one or more premises devices, wherein the at least one status is based on the one or more messages.

2. The system of claim 1 , wherein the computing device comprises at least one of a radio frequency (RF) device, a Z-Wave communication device, a Zigbee communication device, a WiFi communication device, a broadband communication device, or a plain old telephone service (POTS) device.

3. The system of claim 1 , wherein the computing device comprises a cellular communication device, wherein the cellular communication device is configured to communicate with cellular-enabled systems via a cellular network.

4. The system of claim 3 , wherein the cellular communication device comprises at least one of a third Generation (3G) device, a High Speed Packet Access (HSPA) device, an Enhanced Voice-Data Optimized (EVDO) device, or a Long Term Evolution (LTE) device.

5. The system of claim 1 , wherein the computing device is further configured to:

filter a stream of data, based at least on a determination that at least a portion of the stream of data is associated with the status of the one or more premises devices; and

send the filtered stream of data to the gateway device.

6. The system of claim 1 , wherein the operational state of the one or more premises devices comprises at least one of an arm level, an alarm, a trouble condition, or resource data associated with the one or more premises devices.

7. The system of claim 1 , wherein the computing device is further configured to send the indication of the status in packets of data to the gateway device.

8. The system of claim 1 , wherein the computing device is further configured to:

determine, based on comparing the one or more responses to stored data associated with the one or more premises devices, the at least one status of the one or more premises devices; and

determine, based on the comparing, a state change or a resource change of at least one of the one or more premises devices, and

wherein the indication of the at least one status of the one or more premises devices is based at least on the determination of the state change or the resource change.

9. The system of claim 1 , wherein the computing device is further configured to:

determine a type of at least one of the one or more premises devices; and

send the status request based on the determination of the type of the at least one of the one or more premises devices.

10. The system of claim 1 , wherein the one or more premises devices comprise one or more of thermostats, lights, locks, sensors, detectors, security devices, appliances, cameras, network devices, controllers, control panel processors, Internet Protocol (IP) devices, Z-Wave devices, or Zigbee devices.

11. The system of claim 1 , wherein the at least one status comprises data generated by the one or more premises devices.

12. The system of claim 1 , wherein the computing device is configured to communicate with at least one of the one or more premises devices via a serial line protocol.

13. The system of claim 1 , wherein the computing device is configured to output wireless data as serial data.

14. The system of claim 1 , wherein the computing device is connected to the one or more premises devices via a serial bus.

15. The system of claim 14 , wherein the serial bus comprises at least one of a transistor-transistor logic (TTL) interface, an RS-232 interface, or an RS-422 interface.

16. The system of claim 1 , wherein the computing device is further configured to:

receive, from the gateway device and via a wireless network interface, the first poll message; and

send, to the one or more premises devices and via a serial communication interface, the second poll message.

17. The system of claim 1 , wherein the computing device is configured to send, to the one or more premises devices, the second poll message by polling the one or more premises devices.

18. The system of claim 1 , wherein the data comprises a first set of commands associated with the gateway device, and wherein the computing device is configured to map the first set of commands associated with the gateway device, to a second set of commands associated with the one or more premises devices.

19. The system of claim 1 , wherein the computing device is further configured to at least one of process, parse, translate protocol, adjust timing, buffer, or queue communications exchanged between the gateway device and the one or more premises devices.

20. The system of claim 1 , wherein the computing device is further configured to:

determine that data received from the gateway device comprises a non-polling message, and

pass, based on a determination that the data comprises the non-polling message and to the one or more premises devices, the data.

21. The system of claim 1 , wherein the computing device is configured to remove polling information from the one or more responses to the second poll message and wherein the indication of the status of the one or more premises devices comprises the one or more responses to the second poll message having the polling information removed.

22. The system of claim 1 , wherein the computing device is further configured to rewrite sequence numbers of the data and wherein the second poll message for the status of the one or more premises devices comprises the rewritten sequence numbers.

23. The system of claim 1 , wherein the gateway device is further configured to control automations and events of the one or more premises devices.

24. The system of claim 1 , wherein the one or more responses to the second poll message comprise Transmission Control Protocol (TCP), and wherein the first poll message comprises User Datagram Protocol (UDP).

25. The system of claim 1 , wherein the gateway device comprises a wireless access manager coupled to a gateway processor,

wherein the wireless access manager is configured to establish a communication channel, and

wherein the computing device is configured to communicate with the communication channel.

26. The system of claim 1 , wherein the gateway device and the computing device are located at a premises and wherein the computing device is further configured to:

receive data from a remote device located external to the premises,

determine that the data indicates a second request for the status of the one or more premises devices, and

send, based on a determination that the data indicates the second request for the status of the one or more premises devices, a status request for the status of the one or more premises devices.

27. A method comprising:

receiving, from a gateway device, a first poll message associated with one or more premises devices;

sending, via a first communication protocol and based on receiving the first poll message associated with the one or more premises devices, a second poll message to the one or more premises devices to request a status of the one or more premises devices, wherein the status of the one or more premises devices comprises an operational state of the one or more premises devices;

receiving, from the one or more premises devices, one or more messages comprising an indication of the operational state of the one or more premises devices; and

sending, to the gateway device and via a second communication protocol different from the first communication protocol, an indication of at least one status of the one or more premises devices, wherein the at least one status is based on the one or more messages.

28. The method of claim 27 , wherein the sending the second poll message for the status of the one or more premises devices is via a serial communication interface.

29. The method of claim 28 , wherein the receiving the one or more messages is via the serial communication interface.

30. The method of claim 28 , wherein the sending the indication of the status of the one or more premises devices is via a wireless network interface.

31. The method of claim 27 , further comprising:

determining, based on comparing the one or more responses to stored data associated with the one or more premises devices, the at least one status of the one or more premises devices; and

determining, based on the comparing, a state change or a resource change of at least one of the one or more premises devices, and

wherein the sending the indication of the status of the one or more premises devices is based at least on the determination of the state change or the resource change.

32. The method of claim 27 , wherein the at least one status comprises a state change of at least one of the one or more premises devices.

33. The method of claim 27 , wherein the receiving the one or more messages comprises receiving a plurality of messages at time intervals.

34. The method of claim 27 , further comprising generating, based on the one or more messages, another message comprising the indication of the status of the one or more premises devices, and

wherein the sending the indication of the status of the one or more premises devices comprises sending, to the gateway device, the another message.

35. The method of claim 27 , wherein the first communication protocol comprises a serial protocol.

36. The method of claim 27 , wherein the second communication protocol comprises a wireless protocol.

37. The method of claim 27 , wherein the sending the second poll message for the status of the one or more premises devices comprises sending the second poll message to at least one of the one or more premises devices.

38. The method of claim 27 , wherein the sending the second poll message for the status of the one or more premises devices comprises sending the second poll message to a control hub of the one or more premises devices.

39. The method of claim 27 , wherein the sending the second poll message for the status of the one or more premises devices is further based on a determination that the gateway device cannot communicate with at least one of the one or more premises devices.

40. The method of claim 27 , wherein the sending the second poll message for the status of the one or more premises devices is further based on an indication of an error in polling of the one or more premises devices.

41. The method of claim 27 , wherein the data received from the gateway device comprises a stream of data.

42. The method of claim 41 , wherein the sending the second poll message comprises streaming data to at least one of the one or more premises devices.

43. The method of claim 41 , further comprising generating a second stream of data, and wherein the sending the second poll message comprises sending the second stream of data.

44. The method of claim 43 , wherein the request comprises a polling command, and wherein the second stream of data comprises data associated with the polling command.

45. The method of claim 27 , wherein receiving the one or more responses to the second poll message comprises receiving, from at least one of the one or more premises devices, a stream of data.

46. The method of claim 45 , further comprising filtering the stream of data, and wherein the sending the indication of the status of the one or more premises devices comprises sending, to the gateway device, the filtered stream of data.

47. The method of claim 46 , wherein the filtering the stream of data comprises determining at least a portion of the stream of data associated with the status of the one or more premises devices, and

wherein the sending the indication of the status of the one or more premises devices comprises sending the at least a portion of the stream of data associated with the status of the one or more premises devices.

48. A device comprising:

one or more processors; and

memory storing instructions that, when executed by the one or more processors, cause the device to:

receive, from a gateway device, a first poll message associated with one or more premises devices;

send, via a first communication protocol and based on receiving the first poll message associated with the one or more premises devices, a second poll message to the one or more premises devices to request a status of the one or more premises devices, wherein the status of the one or more premises devices comprises an operational state of the one or more premises devices;

receive, from the one or more premises devices, one or more messages comprising an indication of the operational state of the one or more premises devices; and

send, to the gateway device and via a second communication protocol different from the first communication protocol, an indication of at least one status of the one or more premises devices, wherein the at least one status is based on the one or more messages.

49. The device of claim 48 , wherein the device is located at a premises and the gateway device is located external to the premises.

50. The device of claim 48 , wherein the device and the gateway device are located at a premises and wherein the request for the status of the one or more premises devices is from a user device external to the premises.

51. The device of claim 48 , wherein the one or more responses to the second poll message comprise a communication received from at least one of the one or more premises devices.

52. The device of claim 51 , wherein the communication comprises at least one data packet comprising a sequence number associated with the gateway device.

53. The device of claim 48 , wherein the instructions further cause the device to:

filter a stream of data, based at least on a determination that at least a portion of the stream of data is associated with the status of the one or more premises devices; and

send the filtered stream of data to the gateway device.

54. The device of claim 48 , wherein the operational state of the one or more premises devices comprises at least one of an arm level, an alarm, a trouble condition, or resource data associated with the one or more premises devices.

55. The device of claim 48 , wherein the instructions further cause the device to send the indication of the status in packets of data to the gateway device.

56. The device of claim 55 , wherein the packets of data comprise sequence numbers and wherein the instructions further cause the device to rewrite the sequence numbers of data, and wherein the second poll message comprises the rewritten sequence numbers.

57. The device of claim 48 , wherein the indication of the status of the one or more premises devices is associated with polling of the one or more premises devices.

58. The device of claim 48 , wherein the instructions further cause the device to perform at least one of message processing, logic proxying, protocol translating, message timing adjusting, message buffering, or message queuing.

59. The device of claim 48 , wherein the one or more premises devices comprise a sensor array and wherein the status request comprises a query of a state of the sensor array.

60. The device of claim 48 , wherein the one or more premises devices comprise a plurality of sensors and wherein the second poll message comprises a query of a state of at least one of the plurality of sensors.

61. The device of claim 48 , wherein the second poll message comprises a query of setting modifications of the one or more premises devices.

62. The device of claim 61 , wherein the instructions further cause the device to:

determine, based on comparing the one or more responses to stored data associated with the one or more premises devices, the at least one status of the one or more premises devices; and

determine, based on the comparing of the one or more responses to the stored data, the setting modifications, and

wherein the indication of the status of the one or more premises devices comprises an indication of the setting modifications.

63. The device of claim 48 , wherein the instructions further cause the device to:

determine a type of at least one of the one or more premises devices; and

send the second poll message based on the determination of the type of the at least one of the one or more premises devices.

64. The device of claim 63 , wherein the type of the at least one of the one or more premises devices comprises a serial device.

65. The device of claim 63 , wherein the type of the at least one of the one or more premises devices comprises a polling device.

66. The device of claim 48 , wherein the instructions further cause the device to send the second poll message based on continuously polling the one or more premises devices for at least a period of time.

67. The device of claim 48 , wherein the instructions further cause the device to send the second poll message based on a determination that the gateway device is not in communication with at least one of the one or more premises devices.

68. The device of claim 48 , wherein the instructions further cause the device to send the indication from a network socket of the device and to a gateway device network socket.

69. The device of claim 48 , wherein the indication of the status of the one or more premises devices comprises an indication of at least one of a state change, a mode change, a resource change, an error, or a command response of at least one of the one or more premises devices.

70. The system of claim 1 , wherein in response to receiving the first poll message, the computing device sends the second poll message after a specified period of time.

71. The method of claim 27 , wherein in response to receiving the first poll message, the computing device sends the second poll message after a specified period of time.

72. The device of claim 48 , wherein in response to receiving the first poll message, the device sends the second poll message after a specified period of time.

73. The system of claim 1 , wherein the one or more messages comprising an indication of the operational state of the one or more premises devices comprises one or more polling commands associated with the second poll message, and further comprising removing, prior to sending the indication of the at least one status of the one or more premises devices, the one or more polling commands associated with the second poll message.

74. The method of claim 27 , wherein the one or more messages comprising an indication of the operational state of the one or more premises devices comprises one or more polling commands associated with the second poll message, and further comprising removing, prior to sending the indication of the at least one status of the one or more premises devices, the one or more polling commands associated with the second poll message.

75. The device of claim 48 , wherein the one or more messages comprising an indication of the operational state of the one or more premises devices comprises one or more polling commands associated with the second poll message, and further comprising removing, prior to sending the indication of the at least one status of the one or more premises devices, the one or more polling commands associated with the second poll message.

Assignments (2)
ASSIGNEE CHANGE OF ADDRESS Recorded Jan 14, 2021
From: ICONTROL NETWORKS, INC.
To: ICONTROL NETWORKS, INC.
Reel/Frame 055007/0443 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 14, 2014
From: BURD, DANA; DAWES, PAUL J.
To: ICONTROL NETWORKS, INC.
Reel/Frame 032441/0101 →
Continuity (17)
Continuation In Part 13932837 · Jul 1, 2013
Continuation In Part 13929568 · Jun 27, 2013
Continuation In Part 13925181 · Jun 24, 2013
Continuation In Part 13718851 · Dec 18, 2012
Continuation In Part 13531757 · Jun 25, 2012
Continuation In Part 13335279 · Dec 22, 2011
Continuation In Part 13311365 · Dec 5, 2011
Continuation In Part 13244008 · Sep 23, 2011
Continuation In Part 13104932 · May 10, 2011
Continuation In Part 12750470 · Mar 30, 2010
Continuation In Part 12539537 · Aug 11, 2009
Continuation In Part 12019568 · Jan 24, 2008
Continuation In Part 11761745 · Jun 12, 2007
Provisional Application 61802077 · Mar 15, 2013
Provisional Application 61782345 · Mar 14, 2013
Provisional Application 61677415 · Jul 30, 2012
Related Publication 20140167928A1 · Jun 19, 2014
Cited By (3)
US 12,210,783 US 12,254,726 US 12,511,146