IP Library Granted Patent US 10,484,201
Granted Patent B2
US 10,484,201 · App. 15/418,219 · Granted Nov 19, 2019

Distributed platform for robust execution of smart home applications

Inventors: Nitin Agrawal (Mountain View, CA); Masoud Saeida Ardekani (Mountain View, CA); Rayman Preet Singh (Mountain View, CA); Riza Suminto (Mountain View, CA); Douglas B. Terry (Mountain View, CA)
Assignee: Samsung Electronics Co., Ltd.
H04L12/437H04L12/2803H04L41/06H04L41/12H04L43/04H04L43/0817H04L67/10H04L67/12H04L69/40
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,484,201
App. No.
15/418,219
Granted
Nov 19, 2019
Kind
B2
Abstract

An event is received at a computing device from a sensor, the computing device is one of a number of computing devices in a logical topology of a distributed network. Next, it is determined a gap, gapless, or gapless-state delivery protocol. The event is delivered from the computing device to one of the computing devices using the determined delivery protocol, thereby causing processing of the event and producing an output in the distributed network.

Claims (67)

1. A method of event delivering, said method comprising:

receiving an event at a computing device from a sensor, said computing device being one of a plurality of computing devices in a logical topology of a distributed network;

in response to direct communication capability between said computing device and said sensor, creating, by said computing device, an active node corresponding to the sensor;

in response to indirect communication capability between said computing device and said sensor, creating, by said computing device, a shadow node corresponding with said sensor;

determining, by said computing device, a delivery protocol that specifies how the event is delivered to one of the plurality of computing devices over the distributed network,

wherein said delivery protocol is at least one of a gap delivery protocol, a gapless delivery protocol or a gapless-state delivery protocol;

delivering, by said computing device, said event from said computing device to said one of said plurality of computing devices using said determined delivery protocol; and

causing processing of said event at said one of said plurality of computing devices resulting in an output at an actuator in said distributed network.

2. The method as recited in claim 1 , wherein said logical topology is a logical chain and wherein said determined delivery protocol is said gap delivery protocol, said method further comprising:

determining that said computing device is a closest computing device to a primary computing device in said logical chain; and

in response to determining that said computing device is said closest computing device to said primary computing device, delivering said event from said computing device to an application of said primary computing device.

3. The method as recited in claim 2 , wherein said computing device is said closest computing device to said primary computing device capable of receiving said event from said sensor.

4. The method as recited in claim 1 , wherein said logical topology is a logical ring and wherein said determined delivery protocol is said gapless delivery protocol, said method further comprising:

sending said event from said computing device to each of said plurality of computing devices using said logical ring topology; and

delivering said event to an application executing upon one of said plurality of computing devices.

5. The method as recited in claim 4 , further comprising:

stopping the sending of said event to said plurality of computing in response to determining that said event has reached each of said plurality of computing devices.

6. The method as recited in claim 1 , wherein said logical topology is a logical ring and wherein said determined delivery protocol is said gapless-state delivery protocol, said method further comprising:

determining that a value of said event is different from a value of a preceding event received from said sensor;

in response to determining that said value of said event is different, sending said event from said computing device to each of said plurality of computing devices using said logical ring topology; and

delivering said event to an application executing upon one of said plurality of computing devices.

7. The method as recited in claim 6 , further comprising:

in response to determining that said value of said event is not different, dropping said event.

8. A non-transitory computer readable medium including a plurality of instructions that, when executed by a processor, are configured to cause the processor to:

receive an event at a computing device from a sensor, said computing device being one of a plurality of computing devices in a logical topology of a distributed network;

in response to direct communication capability between said computing device and said sensor, create, by said computing device, an active node corresponding to the sensor;

in response to indirect communication capability between said computing device and said sensor, create, by said computing device a shadow node corresponding with said sensor;

determine, by said computing device a delivery protocol that specifies how the event is delivered to one of the plurality of computing devices over the distributed network,

wherein said delivery protocol is at least one of a gap delivery protocol, a gapless delivery protocol or a gapless-state delivery protocol;

deliver, by said computing device, said event from said computing device to said one of said plurality of computing devices using said determined delivery protocol; and

cause processing of said event at said one of said plurality of computing devices resulting in an output at an actuator in said distributed network.

9. The non-transitory computer readable medium as recited in claim 8 , wherein said logical topology is a logical chain and wherein said determined delivery protocol is said gap delivery protocol, said plurality of instructions is further configured to cause the processor to:

determine that said computing device is a closest computing device to a primary computing device in the logical chain; and

in response to the determination that said computing device is said closest computing device to said primary computing device, delivering said event from said computing device to an application of said primary computing device.

10. The non-transitory computer readable medium as recited in claim 9 , wherein said computing device is said closest computing device capable of receiving said event from said sensor.

11. The non-transitory computer readable medium as recited in claim 8 , wherein said logical topology is a logical ring and wherein said determined delivery protocol is said gapless delivery protocol, said plurality of instructions is further configured to cause the processor to:

send said event from said computing device to each of said plurality of computing devices using said logical ring topology; and

deliver said event to an application executing upon one of said plurality of computing devices.

12. The non-transitory computer readable medium as recited in claim 11 , wherein said plurality of instructions is further configured to cause the processor to:

stop the sending of said event to said plurality of computing devices in response to determining that said event has reached each of said plurality of computing devices.

13. The non-transitory computer readable medium as recited in claim 8 , wherein said logical topology is a logical ring and wherein said determined delivery protocol is said gapless-state delivery protocol, wherein said plurality of instructions is further configured to cause the processor to:

determine that a value of said event is different from a value of a preceding event received from said sensor;

in response to determining that said value of said event is different, send said event from said computing device to each of said plurality of computing devices using a logical ring topology; and

deliver said event to an application executing upon one of said plurality of computing devices.

14. The non-transitory computer readable medium recited in claim 13 , wherein the plurality of instructions is further configured to cause the processor to:

in response to determining that said value of said event is not different, drop said event.

15. An apparatus for delivering an event, said apparatus comprising:

a computing device configured to:

receive said event from a sensor, said computing device being one of a plurality of computing devices in a logical topology of a distributed network,

in response to direct communication capability between said computing device and said sensor, create an active node corresponding with said sensor,

in response to indirect communication capability between said computing device and said sensor, create a shadow node corresponding to said sensor,

determine a delivery protocol that specifies how the event is delivered to one of the plurality of computing devices over the distributed network,

wherein said delivery protocol is at least one of a gap delivery protocol, a gapless delivery protocol of a gapless-state delivery protocol,

deliver said event from said computing device to said one of said plurality of computing devices using said determined delivery protocol, and

cause processing of said event at said one of said plurality of computing devices resulting in an output at an actuator in said distributed network.

16. The apparatus as recited in claim 15 , wherein said logical topology is a logical chain and wherein said determined delivery protocol is said gap delivery protocol, said computing device being further configured to:

determine that said computing device is a closest computing device to a primary computing device in said logical chain, and

in response to determining that said computing device is said closest computing device to said primary computing device, deliver said event from said computing device to an application of said primary computing device.

17. The apparatus as recited in claim 16 wherein said computing device is said closest computing device capable of receiving said event from said sensor.

18. The apparatus as recited in claim 15 wherein said logical topology is a logical ring and wherein said determined delivery protocol is said gapless delivery protocol, said computing device being further configured to:

send said event from said computing device to each of said plurality of computing devices using said logical ring topology, and

deliver said event to an application executing upon one of said plurality of computing devices.

19. The apparatus as recited in claim 18 , wherein said computing device being further configured to stop the sending of said event to said plurality of computing devices in response to determining that said event has reached each of said plurality of computing devices.

20. The apparatus as recited in claim 15 , wherein said logical topology is a logical ring and wherein said determined delivery protocol is said gapless-state delivery protocol, said computing device being further configured to:

determine that a value of said event is different from a value of a preceding event received from said sensor, and in response to determining that said value of said event is different,

send said event from said computing device to each of said plurality of computing devices using said logical ring topology, and

deliver said event to an application executing upon one of said plurality of computing devices.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 27, 2017
From: AGRAWAL, NITIN; SAEIDA ARDEKANI, MASOUD; SINGH, RAYMAN PREET; SUMINTO, RIZA; TERRY, DOUGLAS B.
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 041112/0170 →
Continuity (2)
Provisional Application 62400959 · Sep 28, 2016
Related Publication 20180091331A1 · Mar 29, 2018
Cited By (1)
US 12,321,786