IP Library › Granted Patent US 10,728,103
Granted Patent B2
US 10,728,103 · App. 15/076,393 · Granted Jul 28, 2020

Edge device resourcing using recursive ledger chaining

Inventors: Steven P. Zessin (Austin, TX); Liam B. Quinn (Austin, TX)
Assignee: Dell Products L.P.
H04L41/145H04L41/12H04L45/26H04W4/70
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,728,103
App. No.
15/076,393
Filed
Mar 21, 2016
Granted
Jul 28, 2020
Kind
B2
Art Unit
2453
USPC
709/224
Abstract

Edge device resourcing in a networked environment may employ a decentralized resource ledger structure to track information about edge device resources and their locations relative to other devices. Each entry of the decentralized resource ledger may include, for a respective edge device resource, a unique identifier, a time stamp indicating when it was created, resource type information, relative location information, or path information. Each of multiple nodes in the environment may include a constituent portion of the decentralized resource ledger structure. During periodic discovery operations or in response to a configuration change, one or more paths from a static non-edge device toward edge devices may be traversed, and any fresh resource information may be returned (recursively) back along the path to the static non-edge device. These operations may discover new paths between nodes (e.g., for self-healing). The decentralized resource ledger may be analyzed to predict resource availability.

Claims (88)

1. A method for edge device resourcing in a networked environment, comprising:

a first node in the networked environment performing a first operation to obtain one or more entries of a decentralized resource ledger structure, each entry of which comprises information about a respective edge device resource available to the first node including data specifying a respective path of nodes to be traversed from a node on which a constituent portion of the decentralized resource ledger structure containing information about the respective edge device resource resides to a physical edge device on which the respective edge device resource resides, wherein each entry of the decentralized resource ledger structure comprises a time stamp indicating when the entry was created on one of a plurality of nodes in the networked environment, wherein a first entry of the decentralized resource ledger structure in a constituent portion of the decentralized resource ledger structure residing on the first node includes data specifying a first path of nodes to be traversed from the first node to a physical edge device on which a first edge device resource available to the first node resides, the first path including a first portion from the first node to a second node on the first path and a second portion from the second node to a third node on the first path, and wherein performing the first operation comprises:

traversing the first portion of the first path from the first node to the second node on the first path;

determining whether information about the first edge device resource contained in an entry in a constituent portion of the decentralized resource ledger structure residing on the second node is stale, wherein determining whether the information about the first edge device resource contained in the entry in the constituent portion of the decentralized resource ledger structure residing on the second node is stale comprises comparing a time stamp within an entry in the constituent portion of the decentralized resource ledger structure residing on the second node that contains information about the first edge device resource with a time stamp within an entry in a constituent portion of the decentralized resource ledger structure residing on the first node that contains information about the first edge device resource; and

in response to determining that the information about the first edge device resource contained in the entry in the constituent portion of the decentralized resource ledger structure residing on the second node is stale:

traversing the second portion of the first path from the second node on the first path to the third node on the first path;

determining whether information about the first edge device resource contained in an entry in a constituent portion of the decentralized resource ledger structure residing on the third node is stale; and

in response to determining that the information about the first edge device resource contained in the entry in the constituent portion of the decentralized resource ledger structure residing on the third node is not stale:

returning the information about the first edge device resource contained in the entry in the constituent portion of the decentralized resource ledger structure residing on the third node to the second node;

updating the entry in the constituent portion of the decentralized resource ledger structure residing on the second node to reflect the information returned from the third node;

returning the information about the first edge device resource contained in the updated entry in the constituent portion of the decentralized resource ledger structure residing on the second node to the first node; and

updating the first entry in the constituent portion of the decentralized resource ledger structure residing on the first node to reflect the information returned from the second node.

2. The method of claim 1 , wherein each entry of the decentralized resource ledger structure comprises one or more of: a unique identifier of the respective edge device resource, an indication of a resource type for the respective edge device resource, and data identifying a position of the respective edge device resource relative to a particular other node in the networked environment.

3. The method of claim 1 , wherein:

the method further comprises detecting a change in a configuration of nodes in the networked environment; and

the first operation is performed in response to detecting the change.

4. The method of claim 1 , wherein updating the first entry in the constituent portion of the decentralized resource ledger structure residing on the first node comprises one or more of:

updating data identifying a position of the first edge device resource relative to a particular other node in the networked environment to reflect that the position of the first edge device resource relative to the particular other node has changed; or

updating the data specifying the first path of nodes to be traversed from the first node to the physic al edge device on which the first edge device resource resides to reflect that the path from the first node to the physical edge device on which the first edge device resource resides has changed.

5. The method of claim 1 , wherein:

the first path is one of two or more paths from the first node to physical edge devices in the networked environment;

a second entry in the constituent portion of the decentralized resource ledger structure residing on the first node includes data specifying a second path of nodes to be traversed from the first node to a physical edge device on which a second edge device resource available to the first node resides; and

the first operation further comprises:

traversing a portion of the second path from the first node to a fourth node on the second path; and

determining whether information about the second edge device resource contained in an entry in a constituent portion of the decentralized resource ledger structure residing on the fourth node is stale.

6. The method of claim 1 , further comprising:

analyzing two or more entries of the decentralized resource ledger structure; and

performing, dependent on results of the analyzing, one or more of:

predicting future availability of one or more edge device resources;

predictive load balancing for one or more edge device resources, wherein the predictive load balancing is dependent on changes and current status of the edge devices in the system reflected in the decentralized resource ledger;

determining the first path;

determining a shortest path to the physical edge device on which the first edge device resource resides; and

determining an alternate path to the physical edge device on which the first edge device resource resides when the first path or the shortest path is broken or unavailable.

7. A system for edge device resourcing in a networked environment, comprising:

a plurality of nodes in a networked environment, each of which maintains a constituent portion of a decentralized resource ledger structure, each entry of which comprises information about a respective edge device resource including data specifying a respective path of nodes to be traversed from a node on which a constituent portion of the decentralized resource ledger structure containing information about the respective edge device resource resides to a physical edge device on which the respective edge device resource resides, wherein each entry of the decentralized resource ledger structure comprises a time stamp that indicates when the entry was created on one of the plurality of nodes, wherein a first entry of the decentralized resource ledger structure in a constituent portion of the decentralized resource ledger structure residing on a first one of the nodes includes data specifying a first path of nodes to be traversed from the first node to a physical edge device on which a given edge device resource available to the first node resides, the first path including a first portion from the first node to a second node on the first path and a second portion from the second node to a third node on the first path;

wherein the first node is an information handling system comprising a processor having access to a memory, wherein the memory stores instructions that, when executed by the processor, cause the processor to:

traverse the first portion of the first path from the first node to the second node on the first path;

determine whether information about the first edge device resource contained in an entry in a constituent portion of the decentralized resource ledger structure that resides on the second node is stale, wherein to determine whether the information about the first edge device resource contained in the entry in the constituent portion of the decentralized resource ledger structure that resides on the second node is stale, the instructions cause the processor to compare a time stamp within an entry in the constituent portion of the decentralized resource ledger structure that resides on the second node that contains information about the first edge device resource with a time stamp within an entry in a constituent portion of the decentralized resource ledger structure that resides on the first node that contains information about the first edge device resource;

in response to a determination that the information about the first edge device resource contained in the entry in the constituent portion of the decentralized resource ledger structure that resides on the second node is stale:

traverse the second portion of the first path from the second node on the first path to the third node on the first path; and

in response to a determination that the information about the first edge device resource contained in an entry in the constituent portion of the decentralized resource ledger structure that resides on the second node is not stale:

update the first entry in the constituent portion of the decentralized resource ledger structure that resides on the first node to reflect the information about the first edge device resource contained in the entry in the constituent portion of the decentralized resource ledger structure that resides on the second node.

8. The system of claim 7 ,

wherein the first path further comprises a third portion from the third node to a fourth node on the first path; and

wherein the second node comprises a processor having access to a memory, wherein the memory stores instructions that, when executed by the processor on the second node, cause the processor on the second node to:

determine whether information about the first edge device resource contained in an entry in a constituent portion of the decentralized resource ledger structure that resides on the third node is stale;

in response to a determination that the information about the first edge device resource contained in the entry in the constituent portion of the decentralized resource ledger structure that resides on the third node is stale:

traverse the third portion of the first path from the third node on the first path to the fourth node on the first path; and

in response to a determination that the information about the first edge device resource contained in the entry in the constituent portion of the decentralized resource ledger structure that resides on the third node is not stale:

update the entry in the constituent portion of the decentralized resource ledger structure that resides on the second node to reflect the information about the first edge device resource contained in the entry in the constituent portion of the decentralized resource ledger structure that resides on the third node.

9. The system of claim 7 , wherein the instructions comprise a discovery operation that is performed periodically to validate or refresh the information contained in the decentralized resource ledger structure.

10. The system of claim 7 , wherein the instructions comprise a self-healing operation that is performed in response to detection of a change in a configuration of the plurality of nodes in the networked environment, the self-healing operation comprising discovering a new path from the first node to the physical edge device on which the first edge device resource resides when the first path from the first node to the physical edge device is broken or unavailable.

11. The system of claim 7 , wherein to update the first entry in the constituent portion of the decentralized resource ledger structure that resides on the first node, the instructions cause the processor to:

update data that identifies a position of the first edge device resource relative to a particular other node in the networked environment to reflect that the position of the first edge device resource relative to the particular other node has changed; or

update the data that specifies the first path of nodes to be traversed from the first node to the physical edge device on which the first edge device resource resides to reflect that the path from the first node to the physical edge device on which the first edge device resource resides has changed.

12. The system of claim 7 , wherein the instructions further cause the processor to:

analyze two or more entries of the decentralized resource ledger structure; and

perform, dependent on results of the analysis, one or more of:

predicting a future availability of one or more edge device resources;

predictive load balancing for one or more edge device resources, wherein the predictive load balancing is dependent on changes and current status of the edge devices in the system reflected in the decentralized resource ledger;

determining the first path;

determining a shortest path to the physical edge device on which the first edge device resource resides; and

determining an alternate path to the physical edge device on which the first edge device resource resides when the first path or the shortest path is broken or unavailable.

13. The system of claim 7 , wherein:

the first path is one of two or more paths from the first node to physical edge devices in the networked environment;

a second entry in the constituent portion of the decentralized resource ledger structure residing on the first node includes data specifying a second path of nodes to be traversed from the first node to a physical edge device on which a second edge device resource available to the first node resides; and

the instructions further cause the processor to:

traverse a portion of the second path from the first node to a fourth node on the second path; and

determine whether information about the second edge device resource contained in an entry in a constituent portion of the decentralized resource ledger structure that resides on the fourth node is stale.

14. The system of claim 7 , wherein the decentralized resource ledger structure comprises a linked-list of constituent ledger structures.

15. An article of manufacture comprising a non-transitory computer-readable medium storing instructions for edge device resourcing in a networked environment, that, when executed by a processor of a static non-edge device, cause the processor to:

traverse a first portion of a first path from the static non-edge device to a second node on the first path, wherein the first path comprises a first specified path of nodes to be traversed from the static non-edge device to a physical edge device on which a given edge device resource available to the static non-edge device, and about which information is contained in a decentralized resource ledger structure, resides, wherein each entry of the decentralized resource ledger structure comprises data specifying a respective path of nodes to be traversed from a node on which a constituent portion of the decentralized resource ledger structure containing information about a respective edge device resource resides to a physical edge device on which the respective edge device resource resides, wherein each entry of the decentralized resource ledger structure comprises a time stamp that indicates when the entry was created on one of the plurality of nodes, and wherein a first entry of the decentralized resource ledger structure in a constituent portion of the decentralized resource ledger structure residing on the static non-edge device includes data specifying the first path of nodes, the first path including the first portion from the static non-edge device to the second node on the first path and a second portion from the second node to a third node on the first path;

determine whether information about the given edge device resource contained in an entry in a constituent portion of the decentralized resource ledger structure that resides on the second node is stale, wherein to determine whether the information about the given edge device resource contained in the entry in the constituent portion of the decentralized resource ledger structure that resides on the second node is stale, the instructions cause the processor to compare a time stamp within an entry in the constituent portion of the decentralized resource ledger structure that resides on the second node that contains information about the given edge device resource with a time stamp within an entry in a constituent portion of the decentralized resource ledger structure that resides on the static non-edge device that contains information about the given edge device resource;

in response to a determination that the information about the given edge device resource contained in the entry in the constituent portion of the decentralized resource ledger structure that resides on the second node is stale:

traverse the second portion of the first path from the second node on the first path to the third node on the first path; and

in response to a determination that the information about the given edge device resource contained in an entry in the constituent portion of the decentralized resource ledger structure that resides on the second node is not stale:

update the first entry in the constituent portion of the decentralized resource ledger structure that resides on the static non-edge device to reflect the information about the given edge device resource contained in the entry in the constituent portion of the decentralized resource ledger structure that resides on the second node.

16. The article of manufacture of claim 15 , wherein to update the first entry in the constituent portion of the decentralized resource ledger structure that resides on the static non-edge device, the instructions cause the processor to:

update data that identifies a position of the given edge device resource relative to a particular other node in the networked environment to reflect that the position of the given edge device resource relative to the particular other node has changed; or

update the data that specifies the first path of nodes to be traversed from the static non-edge device to the physical edge device on which the given edge device resource resides to reflect that the path from the static non-edge device to the physical edge device on which the given edge device resource resides has changed.

17. The article of manufacture of claim 15 , wherein the instructions further cause the processor to:

analyze two or more entries of the decentralized resource ledger structure; and

perform, dependent on results of the analysis, one or more of:

predicting a future availability of one or more edge device resources;

predictive load balancing for one or more edge device resources, wherein the predictive load balancing is dependent on changes and current status of the edge devices in the system reflected in the decentralized resource ledger;

determining the first path;

determining a shortest path to the physical edge device on which the given edge device resource resides; and

determining an alternate path to the physical edge device on which the given edge device resource resides when the first path or the shortest path is broken or unavailable.

Assignments (15)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
RELEASE OF REEL 038664 FRAME 0908 (NOTE) Recorded Sep 14, 2016
From: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; SECUREWORKS, CORP.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040027/0390 →
RELEASE OF REEL 038665 FRAME 0041 (TL) Recorded Sep 14, 2016
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; SECUREWORKS, CORP.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040028/0375 →
RELEASE OF REEL 038665 FRAME 0001 (ABL) Recorded Sep 13, 2016
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; SECUREWORKS, CORP.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040021/0348 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (NOTES) Recorded May 11, 2016
From: DELL SOFTWARE INC.; WYSE TECHNOLOGY, L.L.C.; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS FIRST LIEN COLLATERAL AGENT
Reel/Frame 038664/0908 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (TERM LOAN) Recorded May 11, 2016
From: DELL PRODUCTS L.P.; DELL SOFTWARE INC.; WYSE TECHNOLOGY, L.L.C.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 038665/0041 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (ABL) Recorded May 11, 2016
From: DELL PRODUCTS L.P.; DELL SOFTWARE INC.; WYSE TECHNOLOGY, L.L.C.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 038665/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 21, 2016
From: ZESSIN, STEVEN P.; QUINN, LIAM B.
To: DELL PRODUCTS L.P.
Reel/Frame 038055/0339 →
Continuity (1)
Related Publication 20170272342A1 · Sep 21, 2017