IP Library › Granted Patent US 10,733,019
Granted Patent B2
US 10,733,019 · App. 15/384,432 · Granted Aug 4, 2020

Apparatus and method for data processing

Inventors: Yu Cao (Beijing, CN); Zhe Dong (Beijing, CN); Xiaoyan Guo (Beijing, CN); Jun Tao (Shanghai, CN); Sanping Li (Beijing, CN)
Assignee: EMC IP Holding Company LLC
G06F9/5005G06F9/48G06F9/4806G06F9/4843G06F9/4881G06F9/50G06F9/505G06F9/5011G06F9/5022G06F9/5027G06F9/5033G06F9/5038G06F9/5044G06F9/5061G06F9/5066G06F9/5072G06F9/5083G06F9/5088G06F16/182G06F2209/501
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,733,019
App. No.
15/384,432
Filed
Dec 20, 2016
Granted
Aug 4, 2020
Kind
B2
Art Unit
2196
USPC
718/104
Abstract

Embodiments of the present disclosure provide a method and apparatus for data processing. The apparatus comprises: a dividing unit configured to divide, based on a predetermined policy, computation workload for data in a storage node into at least one sub-workload; and a dispatching unit configured to dispatch the at least one sub-workload to at least one of the storage node and a computing node that is physically separate from the storage node for execution of the at least one sub-workload with computing resources in the at least one of the storage node and the computing node.

Claims (40)

1. An apparatus for data processing, comprising:

a dividing unit configured to divide, based on a predetermined policy, computation workload for data in a storage device in a storage node into at least one sub-workload for execution by one or more of the storage node and a computing node; and

a dispatching unit configured to dispatch at least a portion of the at least one sub-workload from the storage device to the storage node for execution of the at least one sub-workload with computing resources in the storage node, the storage node being an external storage system, and the computing node being physically separate from the storage node, wherein dispatching the at least a portion of the at least one sub-workload from the storage device to the storage node for execution includes moving the at least a portion of the at least one sub-workload from the storage device to the computing resources in the storage node and wherein dispatching the at least a portion of the at least one sub-workload from the storage device to the computing node for execution includes transmitting the at least a portion of the at least one sub-workload from the storage device to the computing node via a network when additional computing capability beyond a computing capability of the storage node is needed to execute the at least a portion of the at least one sub-workload, wherein the computing capability of the storage node is determined by estimating an amount of required computing resources for executing all or part of the at least one sub-workload, wherein estimating the amount of required computing resources includes determining whether an amount of remaining computing resources is greater than the amount of required computing resources after computing resources used for providing data services from the computing resources of the storage node are removed.

2. The apparatus according to claim 1 , wherein the predetermined policy indicates at least one of the following:

dividing the computation workload based on respective computing capabilities of the computing node and the storage node; and

dividing the computation workload based on a type of the computation workload.

3. The apparatus according to claim 2 , wherein the at least one sub-workload at least include a first sub-workload.

4. The apparatus according to claim 3 , wherein the dividing unit is configured to divide all of the computation workload into the first sub-workload if the predetermined policy indicates dividing the computation workload based on the respective computing capabilities of the computing node and the storage node; and

wherein the dispatching unit is further configured to dispatch the first sub-workload to the storage node in response to determining that the computing capability of the storage node is sufficient to execute the first sub-workload.

5. The apparatus according to claim 3 , wherein the dividing unit is configured to divide a part of the computation workload into the first sub-workload if the predetermined policy indicates dividing the computation workload based on the respective computing capabilities of the computing node and the storage node; and

wherein the dispatching unit is further configured to dispatch the first sub-workload to the storage node in response to determining that the computing capability of the storage node is sufficient to execute the first sub-workload.

6. The apparatus according to claim 5 , wherein the at least one sub-workload further includes a second sub-workload that is different from the first sub-workload, the second sub-workload including a part of the computation workload; and

wherein the dispatching unit is further configured to dispatch the second sub-workload to the computing node.

7. The apparatus according to claim 4 , wherein the dividing unit is configured to divide the computation workload into an input/output (I/O)-intensive sub-workload if the predetermined policy indicates dividing the computation workload based on the respective computing capabilities of the computing node and the storage node and based on the type of the computation workload; and

wherein the dispatching unit is configured to dispatch the I/O-intensive sub-workload to the storage node.

8. The apparatus according to claim 6 , wherein if the predetermined policy indicates dividing the computation workload based on the type of the computation workload, the first sub-workload includes an input/output I/O-intensive sub-workload; and the second sub-workload includes a computing-intensive sub-workload.

9. The apparatus according to claim 6 , wherein there is dependency between the first and second sub-workloads, the apparatus further comprising:

a control unit configured to control data exchange between the computing node and the storage node based on the dependency.

10. The apparatus according to claim 9 , wherein the control unit is further configured to:

schedule execution of the first and second sub-workloads based on the dependency.

11. A method for data processing, comprising:

dividing, based on a predetermined policy, computation workload for data in a storage device in a storage node into at least one sub-workload for execution by one or more of the storage node and a computing node; and

dispatching at least a portion of the at least one sub-workload to the storage node for execution of the at least one sub-workload from the storage device with computing resources in the storage node, the storage node being an external storage system, and the computing node being physically separate from the storage node, wherein dispatching the at least a portion of the at least one sub-workload from the storage device to the storage node for execution includes moving the at least a portion of the at least one sub-workload from the storage device to the computing resources in the storage node and wherein dispatching the at least a portion of the at least one sub-workload from the storage device to the computing node for execution includes transmitting the at least a portion of the at least one sub-workload from the storage device to the computing node via a network if additional computing capability beyond a computing capability of the storage node is needed to execute the at least a portion of the at least one sub-workload wherein the computing capability of the storage node is determined by estimating an amount of required computing resources for executing all or part of the at least one sub-workload, wherein estimating the amount of required computing resources includes determining whether an amount of remaining computing resources is greater than the amount of required computing resources after computing resources used for providing data services from the computing resources of the storage node are removed.

12. The method according to claim 11 , wherein the predetermined policy indicates at least one of the following:

dividing the computation workload based on respective computing capabilities of the computing node and the storage node; and

dividing the computation workload based on a type of the computation workload.

13. The method according to claim 12 , wherein the at least one sub-workload at least include a first sub-workload.

14. The method according to claim 13 , wherein dividing the computation workload into the at least one sub-workload comprises dividing all of the computation workload into the first sub-workload if the predetermined policy indicates dividing the computation workload based on the respective computing capabilities of the computing node and the storage node, and

wherein dispatching the at least one sub-workload to at least one of the storage node and the computing node comprises dispatching the first sub-workload to the storage node in response to determining that the computing capability of the storage node is sufficient to execute the first sub-workload.

15. The method according to claim 13 , wherein dividing the computation workload into the at least one sub-workload comprises dividing a part of the computation workload into the first sub-workload if the predetermined policy indicates dividing the computation workload based on the respective computing capabilities of the computing node and the storage node; and

wherein dispatching the at least one sub-workload to at least one of the storage node and the computing node comprises dispatching the first sub-workload to the storage node in response to determining that the computing capability of the storage node is sufficient to execute the first sub-workload.

16. The method according to claim 15 , wherein the at least one sub-workload further includes a second sub-workload that is different from the first sub-workload, the second sub-workload including a part of the computation workload; and

wherein dispatching the at least one sub-workload to at least one of the storage node and the computing node comprises dispatching the second sub-workload to the computing node.

17. The method according to claim 14 , wherein dividing the computation workload into the at least one sub-workload comprises dividing the computation workload into an input/output (I/O)-intensive sub-workload if the predetermined policy indicates dividing the computation workload based on the respective computing capabilities of the computing node and the computing capability of the storage node and based on the type of the computation workload; and

wherein dispatching the at least one sub-workload to at least one of the storage node and the computing node comprises dispatching the I/O-intensive sub-workload to the storage node.

18. The method according to claim 16 , wherein if the predetermined policy indicates dividing the computation workload based on the type of the computation workload, the first sub-workload includes an input/output (I/O)-intensive sub-workload, and the second sub-workload includes a computing-intensive sub-workload.

19. The method according to claim 16 , wherein there is dependency between the first and second sub-workloads, the method further comprising:

controlling data exchange between the computing node and the storage node based on the dependency.

20. The method according to claim 19 , further comprising:

scheduling execution of the first and second sub-workloads based on the dependency.

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 (043775/0082) Recorded May 20, 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 060958/0468 →
RELEASE OF SECURITY INTEREST AT REEL 043772 FRAME 0750 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 058298/0606 →
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 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Sep 6, 2017
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 043775/0082 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Sep 6, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 043772/0750 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 7, 2017
From: CAO, YU; TAO, JUN; LI, SANPING
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 041189/0238 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 7, 2017
From: DONG, ZHE; GUO, XIAOYAN
To: EMC CORPORATION
Reel/Frame 041189/0276 →
Priority Claims (1)
CN 2015 1 1017541 · Dec 29, 2015 · national
Continuity (1)
Related Publication 20170185452A1 · Jun 29, 2017
Cited By (1)
US 12,541,395