IP Library Granted Patent US 11,740,949
Granted Patent B2
US 11,740,949 · App. 17/477,442 · Granted Aug 29, 2023

Distribution of events in edge devices

Inventors: Samuel John George (Bainbridge Island, WA); Cameron William Skinner (Woodinville, WA); Elio Damaggio (Redmond, WA); Affan Dar (Redmond, WA); Michael R. Yagley (Kirkland, WA); Varun Puranik (Sammamish, WA); Anca Mihaela Antochi (Redmond, WA)
Assignee: Microsoft Technology Licensing, LLC
G06F9/542G06F8/60G06F8/654G06F9/547G06F16/27G06N5/046H04L41/0806H04L41/0813H04L41/0846H04L41/12H04L67/1095H04L67/12H04L67/125H04L67/34H04W12/35G06F8/61G06F8/64G06F9/44G06N3/02G06N20/00H04L63/20H04L67/56H04W4/70H04W12/009
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,740,949
App. No.
17/477,442
Granted
Aug 29, 2023
Kind
B2
Abstract

The disclosed technology is generally directed to communications in an IoT environment. In one example of the technology, a plurality of module twins that respectively correspond to a plurality of modules of edge applications on a plurality of edge devices are stored. The plurality of module twins individually include metadata associated with the corresponding module of the plurality of modules. At least one module of the plurality of modules to be modified by adding a declarative rule is determined, such that the declarative rule causes determining whether an event has been triggered based on a particular event having been determined to have occurred, and, in response to the triggering of the event, communicating the triggering of the event to at least one declarative target. The determined at least one module of the plurality of modules is caused to be modified by adding the declarative rule.

Claims (40)

1. An apparatus, comprising:

an IoT support service, including at least one memory adapted to store run-time data, and at least one processor that is adapted to execute processor-executable code that, in response to execution, causes the IoT support service to perform actions, including:

storing a plurality of module twins that respectively correspond to a plurality of modules of an edge application on an edge device,

wherein the plurality of module twins individually include metadata associated with a corresponding module of the plurality of modules, and

wherein the plurality of modules are compositable together into the edge application, and the modules of the plurality of modules are capable of being used interoperably with other modules without altering the other modules;

enabling communications between the modules of the plurality of modules and the IoT support service according to a common security context;

determining at least one module of the plurality of modules to be modified by adding a declarative rule, such that the declarative rule causes determining whether an event has been triggered, and, in response to the triggering of the event, communicating the triggering of the event to at least one declarative target; and

causing the determined at least one module of the plurality of modules to be modified by adding the declarative rule.

2. The apparatus of claim 1 , wherein the declarative rule further causes, upon the declarative rule being triggered based on a particular event having been determined to have occurred, the edge device that includes the module to connect to a network and to perform a data upload.

3. The apparatus of claim 1 , wherein the declarative rule further causes, upon the declarative rule being triggered based on a particular event having been determined to have occurred, the edge device that includes the module to connect to a network.

4. The apparatus of claim 1 , wherein the at least one declarative target includes at least one edge device.

5. The apparatus of claim 1 , wherein the at least one declarative target includes the IoT support service.

6. The apparatus of claim 1 , wherein causing the determined at least one module of the plurality of modules to be modified includes instructing the at least one edge device of the plurality of edge devices to download code for the declarative rule from a module depository.

7. The apparatus of claim 1 , wherein the common security context includes being provisioned by a provisioning service.

8. The apparatus of claim 1 , the actions further including synchronizing the metadata of each module twin of the plurality of module twins.

9. A method, comprising:

storing a plurality of module twins that respectively correspond to a plurality of modules of an edge application on an edge device,

wherein the plurality of module twins individually include metadata associated with a corresponding module of the plurality of modules, and

wherein the plurality of modules are compositable together into the edge application and the modules of the plurality of modules are capable of being used interoperably with other modules without altering the other modules;

using at least one processor of an IoT support service to identify at least one module of the plurality of modules to be modified via inclusion of a declarative rule, such that the declarative rule causes determining whether an event has been triggered, and, in response to the triggering of the event, communicating the triggering of the event to at least one declarative target; and

causing the identified at least one module of the plurality of modules to be modified via inclusion of the declarative rule.

10. The method of claim 9 , wherein the declarative rule further causes, when the declarative rule is triggered based on a particular event having been determined to have occurred, the edge device that includes the module to perform a data upload.

11. The method of claim 9 , wherein the declarative rule further causes the edge device that includes the module to perform a data upload.

12. The method of claim 9 , wherein the at least one declarative target includes at least one edge device.

13. The method of claim 9 , wherein the at least one declarative target includes the IoT support service.

14. The method of claim 9 , wherein using the at least one processor of the IoT support service to identify at least one module of the plurality of modules to be modified includes instructing the at least one edge device of the plurality of edge devices to download code for the declarative rule from a module depository.

15. An apparatus, comprising:

an edge device, including at least one memory adapted to store run-time data, and at least one processor that is adapted to execute processor-executable code that, in response to execution, causes the edge device to perform actions, the actions including:

executing a plurality of modules,

wherein the plurality of modules are compositable together into an application for the edge device, and

wherein the modules of the plurality of modules are capable of being used interoperably with other modules without altering the other modules;

enabling communications between the modules of the plurality of modules and an IoT support service according to a common security context;

based on instructions from an IoT support service, modifying at least one module of the plurality of modules to add a declarative rule;

determining whether the declarative rule has been triggered; and

in response to the declarative rule being triggered, communicating the triggering of the event to at least one declarative target.

16. The apparatus of claim 15 , the actions further including, upon the declarative rule being triggered based on a particular event having been determined to have occurred, connecting to a network and performing a data upload.

17. The apparatus of claim 15 , the actions further including, upon the declarative rule being triggered based on a particular event having been determined to have occurred, performing a data upload.

18. The apparatus of claim 15 , wherein the at least one declarative target includes at least one edge device.

19. The apparatus of claim 15 , wherein the at least one declarative target includes the IoT support service.

20. The apparatus of claim 15 , wherein modifying the determined at least one module of the plurality of modules includes downloading code for the declarative rule from a module depository.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 16, 2021
From: GEORGE, SAMUEL JOHN; SKINNER, CAMERON WILLIAM; DAMAGGIO, ELIO; DAR, AFFAN; YAGLEY, MICHAEL R.; PURANIK, VARUN; ANTOCHI, ANCA MIHAELA
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 057508/0682 →
Continuity (3)
Continuation 15784046 · Oct 13, 2017
Provisional Application 62503787 · May 9, 2017
Related Publication 20220004445A1 · Jan 6, 2022