IP Library Granted Patent US 10,897,514
Granted Patent B2
US 10,897,514 · App. 16/422,535 · Granted Jan 19, 2021

Methods, devices, and computer program products for processing target data

Inventors: Junping Zhao (Beijing, CN); Kun Wang (Beijing, CN)
Assignee: EMC IP Holding Company LLC
H04L67/28G06F9/542G06K9/6231G06K9/6257H04L67/34H04L67/42
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,897,514
App. No.
16/422,535
Granted
Jan 19, 2021
Kind
B2
Abstract

A target data processing method comprises: in response to receiving, from a client, a request for processing target data, obtaining, at a server and from a storage device, the target data, the target data being predetermined to be obtained by the client from the storage device and a first set of operations being predetermined to be performed on the target data; and processing, at the server, the target data by performing the first set of operations on the target data such that at least one dedicated processing resource of the server performs, on the processed target data, a second set of operations associated with the first set of operations. As such, the data moving path may be shortened significantly, the network traffic pressure may be reduced significantly, the efficiency of the target data processing system may be improved, and moreover, the number of dedicated processing resources in the server may be easily scaled.

Claims (64)

1. A method of processing target data by a server comprising a first processing device and a plurality of dedicated processing devices that are different than the first processing device, the method comprising:

obtaining, from a client device, a request for processing target data for use in a machine learning operation, the request comprising an indication of at least one pre-processing process to be performed on the target data;

based at least in part on the obtained request for processing the target data, obtaining the target data from a storage device, the storage device comprising a repository of data for use in machine learning operations;

performing the at least one pre-processing process on the target data using the first processing device of the server to generate pre-processed data;

storing the pre-processed target data into a first dedicated processing device of the plurality of dedicated processing devices;

determining that a given dedicated processing device of the plurality of dedicated processing devices is specified to perform the at least one machine learning operation on the pre-processed data;

moving the pre-processed target data from the first dedicated processing device to the given dedicated processing device based at least in part on the determination that the given dedicated processing device of the plurality of dedicated processing devices is specified to perform the at least one machine learning operation on the pre-processed data;

performing at least one machine learning operation on the pre-processed data using the given dedicated processing device of the server to generate machine learning output data; and

providing the generated machine learning output data to the client device.

2. The method according to claim 1 , wherein:

the indication of the at least one pre-processing process to be performed on the target data comprises a coordination message, the coordination message indicating that a batch-processing scheme be performed on the target data; and

performing the at least one pre-processing process on the target data using the first processing device of the server to generate pre-processed data comprises processing, based at least in part on the batch-processing scheme, the target data in batches and synthesizing, based on the batch-processing scheme, the batch-processed target data.

3. The method according to claim 1 , wherein the method further comprises:

receiving, from the client device, a message that specifies the given dedicated processing device of the plurality of dedicated processing devices for performing the at least one machine learning operation on the pre-processed data, wherein determining that the given dedicated processing device of the plurality of dedicated processing devices is specified to perform the at least one machine learning operation on the pre-processed data is based at least in part on the received message; and

determining that the first dedicated processing device is different than the given dedicated processing device, wherein the moving of the pre-processed data from the first dedicated processing device to the given dedicated processing device is based at least in part on the determination that the first dedicated processing device is different than the given dedicated processing device.

4. A computer program product being tangibly stored on a non-transient computer readable medium and comprising machine executable instructions which, when being executed, causing a machine to perform steps of the method according to claim 1 .

5. A device for processing target data, comprising:

a first processing device;

a plurality of dedicated processing devices that are different than the first processing device;

at least one memory coupled to the first processing device and the dedicated processing devices and storing instructions to be executed by at least one of the first processing device and the dedicated processing devices, the instructions, when being executed by the at least one of the first processing device and the dedicated processing devices, causing the device to perform acts comprising:

obtaining, from a client device, a request for processing target data for use in a machine learning operation, the request comprising an indication of at least one pre-processing process to be performed on the target data;

based at least in part on the obtained request for processing the target data, obtaining the target data from a storage device, storage device comprising a repository of data for use in machine learning operations;

performing the at least one pre-processing process on the target data using the first processing device of the server to generate pre-processed data;

storing the pre-processed target data into a first dedicated processing device of the plurality of dedicated processing devices;

determining that a given dedicated processing device of the plurality of dedicated processing devices is specified to perform the at least one machine learning operation on the pre-processed data;

moving the pre-processed target data from the first dedicated processing device to the given dedicated processing device based at least in part on the determination that the given dedicated processing device of the plurality of dedicated processing devices is specified to perform the at least one machine learning operation on the pre-processed data; and

performing at least one machine learning operation on the pre-processed data using the given dedicated processing device of the server to generate machine learning output data.

6. The device according to claim 5 , wherein:

the indication of the at least one pre-processing process to be performed on the target data comprises a coordination message, the coordination message indicating that a batch-processing scheme be performed on the target data; and

performing the at least one pre-processing process on the target data using the first processing device of the server to generate pre-processed data comprises processing, based at least in part on the batch-processing scheme, the target data in batches and synthesizing, based on the batch-processing scheme, the batch-processed target data.

7. The device according to claim 5 , wherein the acts further comprise:

receiving, from the client device, a message that specifies the given dedicated processing device of the plurality of dedicated processing devices for performing the at least one machine learning operation on the pre-processed data, wherein determining that the given dedicated processing device of the plurality of dedicated processing devices is specified to perform the at least one machine learning operation on the pre-processed data is based at least in part on the received message; and

determining that the first dedicated processing device is different than the given dedicated processing device, wherein the moving of the pre-processed data from the first dedicated processing device to the given dedicated processing device is based at least in part on the determination that the first dedicated processing device is different than the given dedicated processing device.

8. A method of processing target data, comprising:

determining, at a client device, whether target data is to be processed by the client device, the target data being predetermined to be obtained by the client device from a storage device comprising a repository of data for use in machine learning operations; and

in response to determining that the target data is not to be processed by the client device, sending, from the client device to a server, a request for processing the target data, the request comprising an indication of at least one pre-processing process to be performed on the target data by the server, wherein the server is configurable, based at least in part on the request:

to obtain the target data from the storage device;

to perform the at least one pre-processing process on the target data using a first processing device of the server to generate pre-processed data;

to store the pre-processed target data into a first dedicated processing device of a plurality of dedicated processing devices of the server that are different than the first processing device;

to determine that a given dedicated processing device of the plurality of dedicated processing devices is specified to perform the at least one machine learning operation on the pre-processed data;

to move the pre-processed target data from the first dedicated processing device to the given dedicated processing device based at least in part on the determination that the given dedicated processing device of the plurality of dedicated processing devices is specified to perform the at least one machine learning operation on the pre-processed data; and

to perform at least one machine learning operation on the pre-processed data using the given dedicated processing device of the server to generate machine learning output data; and

obtaining, from the server, the generated machine learning output data;

wherein the method is performed by at least one processing device of the client device comprising at least one processor coupled to memory.

9. The method according to claim 8 wherein:

the indication of the at least one pre-processing process to be performed on the target data comprises a coordination message, the coordination message indicating that a batch-processing scheme be performed on the target data; and

performing the at least one pre-processing process on the target data using the first processing device of the server to generate pre-processed data comprises processing, based at least in part on the batch-processing scheme, the target data in batches and synthesizing, based on the batch-processing scheme, the batch-processed target data.

10. The method according to claim 8 , wherein the method further comprises:

sending, to the server, a message that specifies the given dedicated processing device of the plurality of dedicated processing devices for performing the at least one machine learning operation on the pre-processed data, wherein determining that the given dedicated processing device of the plurality of dedicated processing devices is specified to perform the at least one machine learning operation on the pre-processed data is based at least in part on the received message, the server being further configurable to;

determine that the first dedicated processing device is different than the given dedicated processing device, wherein the moving of the pre-processed data from the first dedicated processing device to the given dedicated processing device is based at least in part on the determination that the first dedicated processing device is different than the given dedicated processing device.

11. A computer program product being tangibly stored on a non-transient computer readable medium and comprising machine executable instructions which, when being executed, causing a machine to perform steps of the method according to claim 8 .

12. A device for processing target data, comprising at least one processing unit, and at least one memory coupled to the at least one processing unit and storing instructions to be executed by the at least one processing unit, the instructions, when being executed by the at least one processing unit, causing the device to perform steps of claim 8 .

13. The method according to claim 1 , wherein the first processing device comprises a central processing unit of the server and the plurality of dedicated processing devices comprise at least one graphics processing unit of the server.

14. The device according to claim 5 , wherein the first processing device comprises a central processing unit of the server and the plurality of dedicated processing devices comprise at least one graphics processing unit of the server.

15. The method according to claim 8 , wherein the first processing device comprises a central processing unit of the server and the plurality of dedicated processing devices comprise at least one graphics processing unit of the server.

16. The method according to claim 1 , wherein:

the repository of data stored in the storage device comprises a repository of training data; and

the at least one machine learning operation comprises a training operation.

17. The device according to claim 5 , wherein:

the repository of data stored in the storage device comprises a repository of training data; and

the at least one machine learning operation comprises a training operation.

18. The method according to claim 8 , wherein:

the repository of data stored in the storage device comprises a repository of training data; and

the at least one machine learning operation comprises a training operation.

Assignments (9)
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 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 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 May 24, 2019
From: ZHAO, JUNPING; WANG, KUN
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 049281/0004 →
Priority Claims (1)
CN 2018 1 1290955 · Oct 31, 2018 · national
Continuity (1)
Related Publication 20200137184A1 · Apr 30, 2020
Cited By (1)
US 12,597,069