IP Library › Granted Patent US 10,644,961
Granted Patent B2
US 10,644,961 · App. 15/870,684 · Granted May 5, 2020

Self-adjusting data processing system

Inventors: Keith Nolan (Mullingar, IE); Mark Kelly (Leixlip, IE); Michael Nolan (Maynooth, IE); Pat Cheevers (Dublin, IE)
Assignee: Intel Corporation
H04L41/12G06F16/245H04L41/0654H04L43/0876H04W8/005H04L12/2803H04L43/08
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,644,961
App. No.
15/870,684
Granted
May 5, 2020
Kind
B2
Abstract

A method and apparatus for self-adjusting networks including internet-of-things (IoT) devices is provided. An exemplary system includes a source discovery system configured to identify if a source sending a message is in a database, and, if not, add the source to the database and rank the source by link metrics of messages received from the source. A sink discovery system is configured to identify if a sink receiving a message is in a database, and, if not, add the sink to the database. The sink discovery system is configured to rank the sink by link metrics of messages responded to by the sink. A dynamic mapping system is configured to create a dynamic map of communications between a source and a sink, and implement a self-healing subsystem to restore a loss of communications between a source and a sink.

Claims (55)

1. An apparatus for self-adjusting processing for internet of things (IoT) devices, comprising:

a processor; and

storage to store code, wherein the code, when executed, is to direct the processor to:

identify if a source sending a message is in a database, and, if not, add the source to the database;

rank the source by link metrics of messages received from the source;

identify if a sink receiving a message is in a database, and, if not, add the sink to the database;

rank the sink by link metrics of messages responded to by the sink;

create a dynamic map of communications between a source and a sink; and

implement self-healing to restore a loss of communications between a source and a sink.

2. The apparatus of claim 1 , wherein the link metrics comprise packet delivery ratios, uptime, or latency, or any combinations thereof.

3. The apparatus of claim 1 , wherein the storage is to store code, wherein the code, when executed, is to direct the processor to detect a lack of communications from an end node within a window of time.

4. The apparatus of claim 3 , wherein the storage is to store code, wherein the code, when executed, is to direct the processor to determine a window of time during which a transmission from a source is expected.

5. The apparatus of claim 1 , wherein the storage is to store code, wherein the code, when executed, is to direct the processor to signal when an expected communication from a source is not received within a window of time.

6. The apparatus of claim 1 , wherein the storage is to store code, wherein the code, when executed, is to direct the processor to send a trace message in a reoccurring window of time.

7. The apparatus of claim 1 , comprising a fog node communicatively coupled to a plurality of internet-of-things devices.

8. A non-transitory, computer readable medium comprising code that, when executed, directs a processor to:

identify if a source sending a message is in a database, and, if not, add the source to the database; and

rank the source by link metrics of messages received from the source.

9. The non-transitory, computer readable medium of claim 8 , comprising code that, when executed, directs the processor to:

identify if a sink receiving a message is in a database, and, if not, add the sink to the database; and

rank the sink by link metrics of messages responded to by the sink.

10. The non-transitory, computer readable medium of claim 9 , comprising code that, when executed, directs the processor to:

create a dynamic map of communications between a source and a sink; and

implement self-healing to restore a loss of communications between a source and a sink.

11. The non-transitory, computer readable medium of claim 8 , wherein the link metrics comprise packet delivery ratios, uptime, or latency, or any combinations thereof.

12. The non-transitory, computer readable medium of claim 8 , comprising code that, when executed, directs the processor to detect a lack of communications from an end node within a window of time.

13. The non-transitory, computer readable medium of claim 12 , comprising code that, when executed, directs the processor to determine a window of time during which a transmission from a source is expected.

14. The non-transitory, computer readable medium of claim 8 , comprising code that, when executed, directs the processor to signal when an expected communication from a source is not received within a window of time.

15. The non-transitory, computer readable medium of claim 8 , comprising code that, when executed, directs the processor to send a trace message in a reoccurring window of time.

16. The non-transitory, computer readable medium of claim 8 , comprising code that, when executed, directs the processor to:

rank a path from a source to a sink; and

create a dynamic source to sink mapping.

17. The non-transitory, computer readable medium of claim 16 , comprising code that, when executed, directs the processor to:

detect an absence of a message from a device; and

activate a self-healing technique.

18. The non-transitory, computer readable medium of claim 16 , comprising code that, when executed, directs the processor to:

send a trace message to device; and

track the path from the source to the sink.

19. The non-transitory, computer readable medium of claim 16 , comprising code that, when executed, directs the processor to:

discover a source based, at least in part, on messages sent from the source; and

add the source to a database.

20. The non-transitory, computer readable medium of claim 16 , comprising code that, when executed, directs the processor to:

discover a sink based, at least in part, on messages sent from the sink; and

add the sink to a database.

21. A method for self-adjusting processing for internet of things (IoT) devices, comprising:

identifying if a source sending a message is in a database, and, if not, add the source to the database;

ranking the source by link metrics of messages received from the source;

identifying if a sink receiving a message is in a database, and, if not, add the sink to the database;

ranking the sink by link metrics of messages responded to by the sink;

creating a dynamic map of communications between a source and a sink; and

restoring a loss of communications between a source and a sink.

22. The method of claim 21 , comprising detecting a lack of communications from an end node within a window of time.

23. The method of claim 22 , comprising determining a window of time during which a transmission from a source is expected.

24. The method of claim 21 , comprising signaling when an expected communication from a source is not received within a window of time.

25. The method of claim 21 , comprising sending a trace message in a reoccurring window of time.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 7, 2018
From: NOLAN, KEITH; KELLY, MARK; NOLAN, MICHAEL; CHEEVERS, PAT
To: INTEL CORPORATION
Reel/Frame 044852/0967 →
Continuity (1)
Related Publication 20190044818A1 · Feb 7, 2019