IP Library Granted Patent US 11,463,523
Granted Patent B2
US 11,463,523 · App. 17/013,942 · Granted Oct 4, 2022

Dynamic chain of actions for IOT devices

Inventors: Agila Govindaraju (Bangalore, IN); Ashutosh Dwivedi (Bangalore, IN); Prashant Shubham (Bangalore, IN); Swarnadeep Banerjee (Bangalore, IN); Mahesh Kanote (Bangalore, IN)
Assignee: VMWARE, INC.
H04L67/12G16Y40/10G16Y40/30
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,463,523
App. No.
17/013,942
Granted
Oct 4, 2022
Kind
B2
Abstract

Various examples are disclosed for performing dynamic chains of action for Internet-of-Things (IoT) devices. In some aspects, IoT event data is received from an IoT device. An IoT dependency graph is identified based on an initial IoT event specified by the IoT dependency graph. An IoT event subsequent to the initial IoT event is identified according to the IoT dependency graph. A command is transmitted to an IoT device to perform the IoT event.

Claims (55)

1. A system, comprising:

at least one computing device; and

program instructions stored in at least one memory of the at least one computing device, wherein the instructions, when executed by at least one processor, cause the at least one computing device to at least:

receive Internet-of Things (IoT) event data from an IoT device;

identify an IoT dependency graph that is identified based on an initial IoT event specified by the IoT dependency graph corresponding to the IoT event data;

identify at least one IoT event subsequent to the initial IoT event in the IoT dependency graph;

determine, by a server-layer device of a computing environment comprising a server layer and an edge layer, that the IoT dependency graph is evaluable at the edge layer based on the IoT dependency graph specifying a single edge device as an edge device through which a respective one of a plurality of IoT devices in the IoT dependency graph perform network communications; and

transmit, by the server-layer device to the single edge device, the IoT dependency graph to the single edge device, wherein the single edge device transmits, to at least one IoT device, at least one command for the at least one IoT device to perform the at least one IoT event.

2. The system of claim 1 , wherein the instructions, when executed by the at least one processor, cause the at least one computing device to at least:

receive, from a respective IoT device of the at least one IoT device, an IoT event confirmation; and

update an IoT graph sequence of the IoT dependency graph based on the IoT event confirmation.

3. The system of claim 1 , wherein the instructions, when executed by the at least one processor, cause the at least one computing device to at least:

retrieve, from an IoT knowledge structure, instructions to perform the at least one IoT event; and

generate, based on the instructions, the at least one command for the at least one IoT device to perform the at least one IoT event.

4. The system of claim 1 , wherein the IoT dependency graph comprises a directed acyclic graph.

5. The system of claim 1 , wherein the IoT dependency graph specifies, for at least one event of a plurality of events of the IoT dependency graph: an event identifier, an IoT device identifier, an edge device identifier, and a parent event identifier.

6. The system of claim 1 , wherein the instructions, when executed by the at least one processor, cause the at least one computing device to at least:

determine that a second IoT dependency graph is unevaluable at the edge layer based on the second IoT dependency graph specifying a second plurality of IoT devices that are connected to a plurality of different edge devices; and

store the second IoT dependency graph at the server layer for server layer evaluation based on the IoT dependency graph being unevaluable at the edge layer.

7. The system of claim 1 , wherein the IoT event data comprises an edge device identifier, an IoT device identifier, and an event identifier.

8. A method performed by instructions executed by at least one computing device, the method comprising:

receiving, by the at least one computing device, Internet-of Things (IoT) event data from an IoT device;

identifying, by the at least one computing device, an IoT dependency graph that is identified based on an initial IoT event specified by the IoT dependency graph corresponding to the IoT event data;

identifying, by the at least one computing device, at least one IoT event subsequent to the initial IoT event in the IoT dependency graph

determining, by a server-layer device of a computing environment comprising a server layer and an edge layer, that the IoT dependency graph is evaluable at the edge layer based on the IoT dependency graph specifying a single edge device as an edge device through which a respective one of a plurality of IoT devices in the IoT dependency graph perform network communications; and

transmitting, by the server-layer device to the single edge device, the IoT dependency graph to the single edge device, wherein the single edge device transmits, to at least one IoT device, at least one command for the at least one IoT device to perform the at least one IoT event.

9. The method of claim 8 , further comprising:

receiving, from a respective IoT device of the at least one IoT device, an IoT event confirmation; and

updating an IoT graph sequence of the IoT dependency graph based on the IoT event confirmation.

10. The method of claim 8 , further comprising:

retrieving, from an IoT knowledge structure, instructions to perform the at least one IoT event; and

generating, based on the instructions, the at least one command for the at least one IoT device to perform the at least one IoT event.

11. The method of claim 8 , wherein the IoT dependency graph comprises a directed acyclic graph.

12. The method of claim 8 , wherein the IoT dependency graph specifies, for at least one event of a plurality of events of the IoT dependency graph: an event identifier, an IoT device identifier, an edge device identifier, and a parent event identifier.

13. The method of claim 8 , further comprising:

determining that a second IoT dependency graph is unevaluable at the edge layer based on the second IoT dependency graph specifying a second plurality of IoT devices that are connected to a plurality of different edge devices; and

storing the second IoT dependency graph at the server layer for server layer evaluation based on the IoT dependency graph being unevaluable at the edge layer.

14. The method of claim 8 , wherein the IoT event data comprises an edge device identifier, an IoT device identifier, and an event identifier.

15. A non-transitory computer-readable medium comprising program instructions that when executed by at least one processor, cause at least one computing device to at least:

receive Internet-of Things (IoT) event data from an IoT device;

identify an IoT dependency graph that is identified based on an initial IoT event specified by the IoT dependency graph corresponding to the IoT event data;

identify at least one IoT event subsequent to the initial IoT event in the IoT dependency graph;

determine, by a server-layer device of a computing environment comprising a server layer and an edge layer, that the IoT dependency graph is evaluable at the edge layer based on the IoT dependency graph specifying a single edge device as an edge device through which a respective one of a plurality of IoT devices in the IoT dependency graph perform network communications; and

transmit, by the server-layer device to the single edge device, the IoT dependency graph to the single edge device, wherein the single edge device transmits, to at least one IoT device, at least one command for the at least one IoT device to perform the at least one IoT event.

16. The non-transitory computer-readable medium of claim 15 , wherein the instructions, when executed by the at least one processor, cause the at least one computing device to at least:

receive, from a respective IoT device of the at least one IoT device, an IoT event confirmation; and

update an IoT graph sequence of the IoT dependency graph based on the IoT event confirmation.

17. The non-transitory computer-readable medium of claim 15 , wherein the instructions, when executed by the at least one processor, cause the at least one computing device to at least:

retrieve, from an IoT knowledge structure, instructions to perform the at least one IoT event; and

generate, based on the instructions, the at least one command for the at least one IoT device to perform the at least one IoT event.

18. The non-transitory computer-readable medium of claim 15 , wherein the IoT dependency graph comprises a directed acyclic graph.

19. The non-transitory computer-readable medium of claim 15 , wherein the IoT dependency graph specifies, for at least one event of a plurality of events of the IoT dependency graph: an event identifier, an IoT device identifier, an edge device identifier, and a parent event identifier.

20. The non-transitory computer-readable medium of claim 15 , wherein the instructions, when executed by the at least one processor, cause the at least one computing device to at least:

determine that a second IoT dependency graph is unevaluable at the edge layer based on the second IoT dependency graph specifying a second plurality of IoT devices that are connected to a plurality of different edge devices; and

store the second IoT dependency graph at the server layer for server layer evaluation based on the IoT dependency graph being unevaluable at the edge layer.

Assignments (4)
PATENT ASSIGNMENT Recorded Aug 5, 2024
From: VMWARE LLC
To: OMNISSA, LLC
Reel/Frame 068327/0365 →
SECURITY INTEREST Recorded Jul 3, 2024
From: OMNISSA, LLC
To: UBS AG, STAMFORD BRANCH
Reel/Frame 068118/0004 →
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0395 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 8, 2020
From: GOVINDARAJU, AGILA; DWIVEDI, ASHUTOSH; SHUBHAM, PRASHANT; BANERJEE, SWARNADEEP; KANOTE, MAHESH
To: VMWARE, INC.
Reel/Frame 053708/0681 →