IP Library Granted Patent US 11,429,456
Granted Patent B2
US 11,429,456 · App. 16/864,186 · Granted Aug 30, 2022

System for migrating tasks between edge devices of an IoT system

Inventors: Shubham Gupta (Jaipur, IN); Rangan Basu (Gurgaon, IN); Rohan Sharma (Delhi, IN)
Assignee: Dell Products L.P.
G06F9/5088G06F1/08G06F9/4856G16Y10/75G16Y30/00
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,429,456
App. No.
16/864,186
Granted
Aug 30, 2022
Kind
B2
Abstract

Methods and systems are disclosed for migrating tasks between edge devices in an Internet of Things (IoT) system in a manner to generally minimize the total amount of time to execute and migrate the tasks. At least one embodiment includes a computer-implemented method for receiving a task for execution at an edge device; detecting whether a task migration condition exists at the edge device; dividing the task into a plurality of subtasks of equal data size b; and migrating at least some of the subtasks of data size b to a further edge device for execution. At least one embodiment designates 1˜n subtasks of size b for execution by the edge device and n+1˜N subtasks of data size b for execution by the further edge device and optimizes the total time for execution of the subtasks is optimized as a function of n.

Claims (133)

1. A computer-implemented method for operating an Internet of Things (IoT) system, comprising:

receiving a task for execution at an edge device, the task for execution at the edge device having a data size B;

detecting whether a task migration condition exists at the edge device;

dividing the task into a plurality of subtasks of equal data size, the task of data size B being divided into a plurality N of equal size subtasks b {ab1 ab2, . . . abN};

designating subtasks ab1 through abn for execution at the edge device;

designating subtasks abn+1 through abN for execution at a further edge device;

minimizing a total time T′ (total) for executing ab1 through abn at the edge device and for executing abn+1 through abN at the further edge device as a function of n; and

migrating at least some of the subtasks to the further edge device for execution.

2. The computer-implement method of claim 1 , further comprising:

executing the migrated subtasks at the further edge device to generate a set of process results; and

communicating the set of processed results to the edge device.

3. The computer-implement method of claim 1 , further comprising:

executing the migrated subtasks at the further edge device to generate a set of process results; and

bypassing the edge device to communicate the set of processed results to an IoT device in communication with the edge device.

4. The computer-implemented method of claim 1 , further comprising:

determining a time T process(x) for executing subtasks ab1 through abn at the edge device;

determining a time T process(y) for executing subtasks abn+1 through abN at the further edge device;

determining a time T mig for communicating abn+1 through abN from the edge device to the further edge device; and

evaluating a sum including T process(x) , T process(y) , and T mig in minimizing the total time T′ (total) .

5. The computer-implemented method of claim 4 , wherein

T process(x) is determined using factors including

T process(x) =( b*n )* C edx /F edx

where

C edx =a number of processing cycles that the edge device will allocate to processing n subtasks of data size b; and

F edx =a clock frequency of the edge device; and

T process(y) is determined using factors including

T process(y) =[ b *( n+ 1˜ N )]* C edy /F edy

where

C edy =a number of processing cycles that the further edge device will allocate to processing (n+1˜N) subtasks of data size b; and

F edy =a clock frequency of further edge device.

6. The computer-implemented method of claim 4 , wherein

Tmig

=

n

+

1

N

abn

R

where R=maximum uplink transfer rate.

7. The computer-implemented method of claim 1 , wherein T (total) is determined using a predetermined sequence of values for n until T′ (total) is minimized.

8. An Internet of Things (IoT) system comprising:

one or more information handling systems, wherein the one or more information handling systems include:

a processor;

a data bus coupled to the processor; and

a non-transitory, computer-readable storage medium embodying computer program code, the non-transitory, computer-readable storage medium being coupled to the data bus;

wherein the computer program code included in one or more of the information handling systems is executable by the processor of the information handling system so that the information handling system, alone or in combination with other information handling systems, executes operations comprising:

receiving a task for execution at an edge device, the task for execution at the edge device having a data size B;

detecting whether a task migration condition exists at the edge device;

dividing the task into a plurality of subtasks of equal data size, the task of data size B being divided into a plurality N of equal size subtasks b {ab1, ab2, . . . abN};

designating subtasks ab1 through abn for execution at the edge device;

designating subtasks abn+1 through abN for execution at a further edge device;

minimizing a total time T′ (total) for executing ab1 through abn at the edge device and for executing abn+1 through abN at the further edge device as a function of n; and

migrating at least some of the subtasks to the further edge device for execution.

9. The IoT system of claim 8 , wherein the computer program code is further configured for:

executing the migrated subtasks at the further edge device to generate a set of process results; and

communicating the set of processed results to the edge device.

10. The IoT system of claim 8 , wherein the computer program code is further configured for:

executing the migrated subtasks at the further edge device to generate a set of process results; and

bypassing the edge device to communicate the set of processed results to an IoT device in communication with the edge device.

11. The IoT system of claim 8 , wherein the computer program code is further configured for:

determining a time T process(x) for executing subtasks ab1 through abn at the edge device;

determining a time T process(y) for executing subtasks abn+1 through abN at the further edge device;

determining a time T mig for communicating abn+1 through abN from the edge device to the further edge device; and

evaluating a sum including T process(x) , T process(y) , and T mig in minimizing the total time T′ (total) .

12. The IoT system of claim 11 , wherein

T process(x) is determined using factors including

T process(x) =( b*n )* C edx /F edx

where

C edx =a number of processing cycles that the edge device will allocate to processing n subtasks of data size b; and

F edx =a clock frequency of the edge device; and

T process(y) is determined using factors including

T process(y) [ b *( n+ 1˜ N )]* C edy /F edy

where

C edy =a number of processing cycles that the further edge device will allocate to processing (n+1˜N) subtasks of data size b; and

F edy =a clock frequency of the further edge device.

13. The IoT system of claim 11 , wherein

Tmig

=

n

+

1

N

abn

R

where R=maximum uplink transfer rate.

14. The IoT system of claim 11 , wherein T process(x) is determined using further factors including an availability of memory at the edge device.

15. A non-transitory, computer-readable storage medium embodying computer program code, the computer program code comprising computer executable instructions configured for:

receiving a task for execution at an edge device of an Internet of Things (IoT) system, the task for execution at the edge device having a data size B;

detecting whether a task migration condition exists at the edge device;

dividing the task into a plurality of subtasks of equal data size, the task of data size B being divided into a plurality N of equal size subtasks b {ab1, ab2, . . . abN};

designating subtasks ab1 through abn for execution at the edge device;

designating subtasks abn+1 through abN for execution at a further edge device of the IoT system;

minimizing a total time T′ (total) for executing ab1 through abn at the edge device and for executing abn+1 through abN at the further edge device as a function of n; and

migrating at least some of the subtasks to the further edge device for execution.

16. The non-transitory, computer-readable storage medium of claim 15 , wherein the instructions are further configured for:

executing the migrated subtasks at the further edge device to generate a set of process results; and

communicating the set of processed results to the edge device.

17. The non-transitory, computer-readable storage medium of claim 15 , wherein the instructions are further configured for:

executing the migrated subtasks at the further edge device to generate a set of process results; and

bypassing the edge device to communicate the set of processed results to an IoT device in communication with the edge device.

18. The non-transitory, computer-readable storage medium of claim 15 , wherein the instructions are further configured for:

determining a time T process(x) for executing subtasks ab1 through abn at the edge device;

determining a time T proccss(y) for executing subtasks abn+1 through abN at the further edge device;

determining a time T mig for communicating abn+1 through abN from the edge device to the further edge device; and

evaluating a sum including T process(x) , T process(y) , and T mig in minimizing the total time T′ (total) .

19. The non-transitory, computer-readable storage medium of claim 18 , wherein

T process(x) is determined using factors including

T process(x) =( b*n )* C edx /F edx

where

C edx =a number of processing cycles that the edge device will allocate to processing n subtasks of data size b; and

F edx =a clock frequency of the edge device; and

T process(y) is determined using factors including

T process(y) =[ b *( n+ 1˜ N )]* C edy /F edy

where

C edy =a number of processing cycles that the further edge device will allocate to processing (n+1˜N) subtasks of data size b; and

F edy =a clock frequency of further edge device; and

Tmig

=

n

+

1

N

abn

R

where R=maximum uplink transfer rate.

20. The non-transitory, computer-readable storage medium of claim 18 , wherein T process(y) is determined using further factors including an availability of memory at the further edge device.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052851/0917) 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 IP HOLDING COMPANY LLC
Reel/Frame 060436/0509 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052851/0081) 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 IP HOLDING COMPANY LLC
Reel/Frame 060436/0441 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052852/0022) 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 IP HOLDING COMPANY LLC
Reel/Frame 060436/0582 →
RELEASE OF SECURITY INTEREST AT REEL 052771 FRAME 0906 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0298 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052852/0022 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052851/0081 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052851/0917 →
SECURITY AGREEMENT Recorded May 28, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 052771/0906 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 1, 2020
From: GUPTA, SHUBHAM; BASU, RANGAN; SHARMA, ROHAN
To: DELL PRODUCTS L. P.
Reel/Frame 052545/0167 →
Continuity (1)
Related Publication 20210342200A1 · Nov 4, 2021