IP Library Granted Patent US 11,146,504
Granted Patent B2
US 11,146,504 · App. 16/429,514 · Granted Oct 12, 2021

Market-based distributed resource allocation for edge-cloud systems

Inventors: Tiago Salviano Calmon (Rio de Janeiro, BR); Ana Cristina Bernardo de Oliveira (Rio de Janeiro, BR); Flavia Coimbra Delicato (Rio de Janeiro, BR); Paulo F. Pires (Lagoa, BR); Tiago Cariolano de Souza Xavier (Rio de Janeiro, BR); Igor Leão dos Santos (Rio de Janeiro, BR)
Assignee: EMC IP Holding Company LLC
H04L47/827H04L47/821H04L67/10H04L67/12
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,146,504
App. No.
16/429,514
Granted
Oct 12, 2021
Kind
B2
Abstract

Market-based distributed resource allocation techniques are provided for edge-cloud systems. One method comprises obtaining an application request at a given edge node in a multi-tier environment comprising cloud resources and multiple edge nodes. The edge nodes host a plurality of virtual nodes to process the application request. The application request is assigned to at least one of the virtual nodes based on a utility value of each virtual node. The utility value of each virtual node is based on a cost value representing a total cost incurred by each virtual node to process the application request. The utility value of each virtual node is optionally further based on a priority value of the application request. Master nodes from different edge node groups can collaborate to identify a given edge node group that can serve the application request when local edge nodes are unable to process the at least one application request.

Claims (31)

1. A method, comprising:

obtaining at least one application request at a given edge node in a multi-tier environment comprising one or more cloud resources and a plurality of edge nodes including the given edge node, wherein the plurality of edge nodes host a plurality of virtual nodes to process the at least one application request, and wherein each of the plurality of virtual nodes generates output data of a single data type of a plurality of data types employed in the multi-tier environment and corresponds to a given one of a plurality of virtual node types;

assigning, using at least one processing device, the at least one application request to at least one of the plurality of virtual nodes of the given edge node based on a utility value of each of the virtual nodes, wherein the utility value of each virtual node of the given edge node is computed by the given edge node based at least in part on a cost value representing a total cost incurred by the respective virtual node of the given edge node to process the at least one application request, wherein the total cost incurred by the respective virtual node to process the at least one application request comprises an amount of resources needed by the respective virtual node to process the at least one application request; and

providing, using the at least one processing device, the at least one application request to the at least one virtual node of the given edge node based on the assigning, wherein the at least one virtual node provides data in response to the at least one application request to one or more of: at least one corresponding application and one or more additional virtual nodes.

2. The method of claim 1 , wherein the utility value of each virtual node is further based on a priority value of the at least one application request.

3. The method of claim 1 , wherein the assigning is further based on a data type of the given application request and the virtual node type of the at least one virtual node.

4. The method of claim 1 , wherein the cost value is based on one or more of a reconfiguration cost, an instantiation cost, a processing cost, an update cost, a transmission cost, and a queue cost.

5. The method of claim 1 , further comprising forwarding the at least one application request to at least one different edge node if the given edge node does not satisfy the at least one application request.

6. The method of claim 5 , wherein the at least one different edge node comprises a neighbor node of the given edge node.

7. The method of claim 5 , wherein each of the at least one different edge node returns a corresponding utility value to the given edge node, and wherein the given edge node forwards the at least one application request to the different edge node having a substantially highest utility value.

8. The method of claim 5 , wherein the edge nodes are grouped into a plurality of edge node groups and wherein each edge node group comprises at least one master node, and wherein at least two master nodes from different edge node groups collaborate to identify a given edge node group that can serve the at least one application request when each of the at least one different edge node is unable to process the at least one application request.

9. A computer program product, comprising a tangible machine-readable storage medium having encoded therein executable code of one or more software programs, wherein the one or more software programs when executed by at least one processing device perform the following steps:

obtaining at least one application request at a given edge node in a multi-tier environment comprising one or more cloud resources and a plurality of edge nodes including the given edge node, wherein the plurality of edge nodes host a plurality of virtual nodes to process the at least one application request, and wherein each of the plurality of virtual nodes generates output data of a single data type of a plurality of data types employed in the multi-tier environment and corresponds to a given one of a plurality of virtual node types;

assigning the at least one application request to at least one of the plurality of virtual nodes of the given edge node based on a utility value of each of the virtual nodes, wherein the utility value of each virtual node of the given edge node is computed by the given edge node based at least in part on a cost value representing a total cost incurred by the respective virtual node of the given edge node to process the at least one application request, wherein the total cost incurred by the respective virtual node to process the at least one application request comprises an amount of resources needed by the respective virtual node to process the at least one application request; and

providing the at least one application request to the at least one virtual node of the given edge node based on the assigning, wherein the at least one virtual node provides data in response to the at least one application request to one or more of: at least one corresponding application and one or more additional virtual nodes.

10. The computer program product of claim 9 , wherein the utility value of each virtual node is further based on a priority value of the at least one application request.

11. The computer program product of claim 9 , wherein the assigning is further based on a data type of the given application request and the virtual node type of the at least one virtual node.

12. The computer program product of claim 9 , further comprising the step of forwarding the at least one application request to at least one different edge node if the given edge node does not satisfy the at least one application request.

13. The computer program product of claim 12 , wherein each of the at least one different edge node returns a corresponding utility value to the given edge node, and wherein the given edge node forwards the at least one application request to the different edge node having a substantially highest utility value.

14. The computer program product of claim 12 , wherein the edge nodes are grouped into a plurality of edge node groups and wherein each edge node group comprises at least one master node, and wherein at least two master nodes from different edge node groups collaborate to identify a given edge node group that can serve the at least one application request when each of the at least one different edge node is unable to process the at least one application request.

15. An apparatus, comprising:

a memory; and

at least one processing device, coupled to the memory, operative to implement the following steps:

obtaining at least one application request at a given edge node in a multi-tier environment comprising one or more cloud resources and a plurality of edge nodes including the given edge node, wherein the plurality of edge nodes host a plurality of virtual nodes to process the at least one application request, and wherein each of the plurality of virtual nodes generates output data of a single data type of a plurality of data types employed in the multi-tier environment and corresponds to a given one of a plurality of virtual node types;

assigning the at least one application request to at least one of the plurality of virtual nodes of the given edge node based on a utility value of each of the virtual nodes, wherein the utility value of each virtual node of the given edge node is computed by the given edge node based at least in part on a cost value representing a total cost incurred by the respective virtual node of the given edge node to process the at least one application request, wherein the total cost incurred by the respective virtual node to process the at least one application request comprises an amount of resources needed by the respective virtual node to process the at least one application request; and

providing the at least one application request to the at least one virtual node of the given edge node based on the assigning, wherein the at least one virtual node provides data in response to the at least one application request to one or more of: at least one corresponding application and one or more additional virtual nodes.

16. The apparatus of claim 15 , wherein the utility value of each virtual node is further based on a priority value of the at least one application request.

17. The apparatus of claim 15 , wherein the assigning is further based on a data type of the given application request and the virtual node type of the at least one virtual node.

18. The apparatus of claim 15 , further comprising the step of forwarding the at least one application request to at least one different edge node if the given edge node does not satisfy the at least one application request.

19. The apparatus of claim 18 , wherein each of the at least one different edge node returns a corresponding utility value to the given edge node, and wherein the given edge node forwards the at least one application request to the different edge node having a substantially highest utility value.

20. The apparatus of claim 18 , wherein the edge nodes are grouped into a plurality of edge node groups and wherein each edge node group comprises at least one master node, and wherein at least two master nodes from different edge node groups collaborate to identify a given edge node group that can serve the at least one application request when each of the at least one different edge node is unable to process the at least one application request.

Assignments (9)
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 (053311/0169) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060438/0742 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (050724/0571) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060436/0088 →
RELEASE OF SECURITY INTEREST AT REEL 050406 FRAME 421 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 058213/0825 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 053311/0169 →
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 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Oct 15, 2019
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 050724/0571 →
SECURITY AGREEMENT Recorded Sep 17, 2019
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 050406/0421 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 3, 2019
From: CALMON, TIAGO SALVIANO; BERNARDO DE OLIVEIRA, ANA CRISTINA; DELICATO, FLAVIA COIMBRA; PIRES, PAULO F.; XAVIER, TIAGO CARIOLANO DE SOUZA; DOS SANTOS, IGOR LEAO
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 049347/0223 →