IP Library Granted Patent US 11,650,846
Granted Patent B2
US 11,650,846 · App. 16/797,794 · Granted May 16, 2023

Method, device, and computer program product for job processing

Inventors: Pengfei Wu (Shanghai, CN); YuHong Nie (Shanghai, CN); Jinpeng Liu (Shanghai, CN)
Assignee: EMC IP Holding Company LLC
G06F9/4881G06F9/5027G06F9/546H04L9/0637H04L9/3234
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,650,846
App. No.
16/797,794
Granted
May 16, 2023
Kind
B2
Abstract

The present disclosure relates to a method, device and computer program product for processing a job. In a method, a first group of tasks in a first portion of a job are obtained based on a job description of the job from a client. The first group of tasks are allocated to a first group of processing devices in a distributed processing system, respectively, so that the first group of processing devices generate a first group of task results of the first group of tasks, respectively, the first group of processing devices being located in a first processing system based on a cloud and a second processing system based on blockchain. The first group of task results of the first group of tasks are received from the first group of processing devices, respectively. A job result of the job is generated at least partly based on the first group of task results.

Claims (76)

1. A method for processing a job, the method comprising:

obtaining a first group of tasks in a first portion of a job based on a job description of the job from a client;

allocating the first group of tasks to a first group of processing devices in a distributed processing system, respectively, so that the first group of processing devices generate a first group of task results of the first group of tasks, respectively, the first group of processing devices being located in a first processing system based on a cloud and a second processing system based on blockchain;

receiving the first group of task results of the first group of tasks from the first group of processing devices, respectively; and

generating a job result of the job at least partly based on the first group of task results;

wherein allocating the first group of tasks to the first group of processing devices in the distributed processing system, respectively, comprises:

selecting a given number of processing devices in the first group of processing devices located in the second processing system based on priorities of various processing devices in the second processing system to allocate at least a portion of the first group of tasks; and

wherein the priorities of various processing devices in the second processing system comprise:

a first priority for indicating that the processing device is not allowed to refuse to process any task associated with the job; and

a second priority for indicating that the processing device must process at least two tasks associated with the job.

2. The method of claim 1 , wherein receiving the first group of task results of the first group of tasks from the first group of processing devices, respectively comprises: in accordance with determining that a task result in the first group of task results is from a processing device in the second processing system,

determining whether the task result is trusted based on a computation verification rule; and

receiving the task result in accordance with determining that the task result is trusted.

3. The method of claim 2 , further comprising:

in accordance with determining that the task result is untrusted, notifying a plurality of processing devices in the second processing system to send a request for voting whether the task result is trusted; and

determining that the task result is trusted, in accordance with determining that a plurality of votes from the plurality of processing devices satisfy a predetermined condition.

4. The method of claim 2 , wherein further comprising:

in accordance with determining that the task result is untrusted, reallocating a task associated with the untrusted task result to a processing device in the distributed processing system.

5. The method of claim 1 , further comprising: in accordance with determining that a task in the first group of tasks is rejected,

notifying the client to update the job description, the job description comprising an agreement with a processing device that executes a relevant task of the job; and

allocating the rejected task to a processing device in the distributed processing system based on the updated job description from the client.

6. The method of claim 1 , further comprising:

generating a first group of data partitions associated with the first group of tasks based on raw data associated with the job, respectively; and

storing the first group of data partitions to storage space in the first processing system.

7. The method of claim 6 , wherein allocating the first group of tasks to the first group of processing devices in the distributed processing system, respectively, comprises: instructing the first group of processing devices to obtain the first group of data partitions from the storage space, respectively.

8. The method of claim 7 , wherein receiving the first group of task results of the first group of tasks from the first group of processing devices, respectively comprises: with respect to a task in the first group of tasks,

receiving a result address associated with a task result of the task from the first group of processing devices; and

obtaining the task result based on the result address.

9. The method of claim 1 , wherein the priorities of various processing devices in the second processing system further comprise a third priority for indicating that the processing device only processes one task associated with the job.

10. The method of claim 9 , further comprising at least one of:

in accordance with determining that a processing device in the first group of processing devices has any of the first priority and the second priority, instructing the processing device to store a task result generated by the processing device to storage space of the processing device; and

in accordance with determining that a processing device in the first group of processing devices has the third priority, instructing the processing device to store a task result generated by the processing device to storage space in the first processing system.

11. The method of claim 10 , wherein generating the job result of the job at least partly based on the first group of task results comprises:

obtaining a second group of tasks in a second portion of the job based on the job description;

allocating the second group of tasks to a second group of processing devices in the distributed processing system, respectively;

receiving a second group of task results of the second group of tasks from the second group of processing devices, respectively; and

generating the job result at least partly based on the second group of task results.

12. The method of claim 11 , further comprising:

determining a second group of addresses of a second group of data partitions to be processed by the second group of processing devices, based on a first group of result addresses of the first group of task results, respectively; and

instructing the second group of processing devices to execute the second group of tasks based on the second group of addresses, respectively.

13. The method of claim 1 , wherein the method is performed on a processing device with the first priority.

14. The method of claim 1 , wherein the method is performed on a processing device in the second processing system.

15. An electronic device, comprising:

at least one processor; and

a memory coupled to the at least one processor, the memory having instructions stored thereon, the instructions, when executed by the at least one processor, causing the electronic device to implement acts comprising:

obtaining a first group of tasks in a first portion of a job based on a job description of the job from a client;

allocating the first group of tasks to a first group of processing devices in a distributed processing system, respectively, so that the first group of processing devices generate a first group of task results of the first group of tasks, respectively, the first group of processing devices being located in a first processing system based on a cloud and a second processing system based on blockchain;

receiving the first group of task results of the first group of tasks from the first group of processing devices, respectively; and

generating a job result of the job at least partly based on the first group of task results;

wherein allocating the first group of tasks to the first group of processing devices in the distributed processing system, respectively, comprises:

selecting a given number of processing devices in the first group of processing devices located in the second processing system based on priorities of various processing devices in the second processing system to allocate at least a portion of the first group of tasks; and

wherein the priorities of various processing devices in the second processing system comprise:

a first priority for indicating that the processing device is not allowed to refuse to process any task associated with the job; and

a second priority for indicating that the processing device must process at least two tasks associated with the job.

16. The electronic device of claim 15 , wherein receiving the first group of task results of the first group of tasks from the first group of processing devices, respectively comprises: in accordance with determining that a task result in the first group of task results is from a processing device in the second processing system,

determining whether the task result is trusted based on a computation verification rule; and

receiving the task result in accordance with determining that the task result is trusted.

17. The electronic device of claim 16 , further comprising:

in accordance with determining that the task result is untrusted, notifying a plurality of processing devices in the second processing system to send a request for voting whether the task result is trusted; and

determining that the task result is trusted, in accordance with determining that a plurality of votes from the plurality of processing devices satisfy a predetermined condition.

18. A computer program product, tangibly stored on a non-transitory computer-readable medium and comprising machine-executable instructions, which when executed by a processor of an electronic device, cause the electronic device to perform steps of:

obtaining a first group of tasks in a first portion of a job based on a job description of the job from a client;

allocating the first group of tasks to a first group of processing devices in a distributed processing system, respectively, so that the first group of processing devices generate a first group of task results of the first group of tasks, respectively, the first group of processing devices being located in a first processing system based on a cloud and a second processing system based on blockchain;

receiving the first group of task results of the first group of tasks from the first group of processing devices, respectively; and

generating a job result of the job at least partly based on the first group of task results;

wherein allocating the first group of tasks to the first group of processing devices in the distributed processing system, respectively, comprises:

selecting a given number of processing devices in the first group of processing devices located in the second processing system based on priorities of various processing devices in the second processing system to allocate at least a portion of the first group of tasks; and

wherein the priorities of various processing devices in the second processing system comprise:

a first priority for indicating that the processing device is not allowed to refuse to process any task associated with the job; and

a second priority for indicating that the processing device must process at least two tasks associated with the job.

19. The computer program product of claim 18 , wherein receiving the first group of task results of the first group of tasks from the first group of processing devices, respectively comprises: in accordance with determining that a task result in the first group of task results is from a processing device in the second processing system,

determining whether the task result is trusted based on a computation verification rule; and

receiving the task result in accordance with determining that the task result is trusted.

20. The computer program product of claim 18 , wherein:

the first group of processing devices comprises a first plurality of processing devices located in the first processing system based on the cloud and a second plurality of processing devices located in the second processing system based on blockchain, the second processing system being different than the first processing system; and

the first group of task results comprises at least a first task result from at least one of the first plurality of processing devices located in the first processing system and a second task result from at least one of the second plurality of processing devices located in the second processing system.

Assignments (13)
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 (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 (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 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 (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 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; 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 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 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 May 28, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 052771/0906 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 31, 2020
From: WU, PENGFEI; NIE, YUHONG; LIU, JINPENG
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 052274/0343 →