IP Library Granted Patent US 10,678,749
Granted Patent B2
US 10,678,749 · App. 15/993,852 · Granted Jun 9, 2020

Method and device for dispatching replication tasks in network storage device

Inventors: Mark Yue Qian (Shanghai, CN); Yuan Luo (Shanghai, CN); Qiu Shang (Shanghai, CN); Xiyu Han (Shanghai, CN); David Changssheng Ren (Shanghai, CN)
Assignee: EMC IP Holding Company LLC
G06F16/119G06F9/4868G06F9/4881G06F16/1824G06F16/27H04L67/1095H04L67/14H04L67/141H04L67/143H04L67/1097
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,678,749
App. No.
15/993,852
Granted
Jun 9, 2020
Kind
B2
Abstract

A method and device for dispatching replication tasks in a network storage device. For instance, a method of dispatching replication tasks in a network storage device includes: in response to receiving a request for replicating a plurality of sessions, dispatching a task for replicating a configuration session among the plurality of sessions to a first processing unit of the network storage device, the configuration session including configuration information describing a plurality of sessions; dispatching a plurality of tasks for replicating other sessions among the plurality of sessions except the configuration session to a plurality of second processing units different from the first processing unit; and in response to the first processing unit and the plurality of second processing units completing the respective tasks, aggregating results of replicating the plurality of sessions. With the technical solution of the present disclosure, processing efficiency can be improved and time can be saved.

Claims (56)

1. A method of dispatching replication tasks in a network storage device, comprising:

in response to receiving a request for replicating a plurality of sessions, dispatching a task for replicating a configuration session among the plurality of sessions to a first processing unit of the network storage device, the configuration session comprising configuration information describing the plurality of sessions;

dispatching a plurality of tasks for replicating other sessions among the plurality of sessions except the configuration session to a plurality of second processing units different from the first processing unit; and

in response to the first processing unit and the plurality of second processing units completing the respective tasks, aggregating results of replicating the plurality of sessions;

wherein dispatching a plurality of tasks for replicating other sessions among a plurality of sessions except the configuration session to the plurality of second processing units different from the first processing unit comprises:

selecting, by polling the other sessions, a session that is not replicated from the other sessions;

selecting a second processing unit that is not occupied from the plurality of second processing units; and

dispatching a task for replicating the session to the second processing unit.

2. The method according to claim 1 , wherein

after dispatching the task for replicating the configuration session to the first processing unit of the network storage device, the task for replicating the configuration session is performed by the first processing unit through a finite state machine.

3. The method according to claim 1 , wherein

after dispatching the plurality of tasks for replicating the other sessions to the plurality of second processing units different from the first processing unit, the plurality of tasks for replicating the other sessions are performed by the plurality of second processing units through respective finite state machines.

4. The method according to claim 1 , wherein the other sessions are file system sessions.

5. The method according to claim 1 , wherein the plurality of sessions belong to a same virtual data mover.

6. An electronic device, comprising:

at least one processing unit; and

at least one memory coupled to the at least one processing unit and storing machine-executable instructions, the instructions, when executed by the at least one processing unit, causing the device to perform acts, comprising:

in response to receiving a request for replicating a plurality of sessions, dispatching a task for replicating a configuration session among a plurality of sessions to a first processing unit among the at least one processing unit, the configuration session comprising configuration information describing the plurality of sessions;

dispatching a plurality of tasks for replicating other sessions among a plurality of sessions except the configuration session to a plurality of second processing units different from the first processing unit; and

in response to the first processing unit and the plurality of second processing units completing the respective tasks, aggregating results of replicating the plurality of sessions;

wherein dispatching a plurality of tasks for replicating other sessions among a plurality of sessions except the configuration session to the plurality of second processing units different from the first processing unit comprises:

selecting, by polling the other sessions, a session that is not replicated from the other sessions;

selecting a second processing unit that is not occupied from the plurality of second processing units; and

dispatching a task for replicating the session to the second processing unit.

7. The device according to claim 6 , wherein

after the task for replicating the configuration session is dispatched to the first processing unit among the at least one processing unit, the task for replicating the configuration session is performed by the first processing unit through a finite state machine.

8. The device according to claim 7 , wherein

after dispatching the plurality of tasks for replicating the other sessions to the plurality of second processing units different from the first processing unit, the plurality of tasks for replicating the other sessions are performed by the plurality of second processing units through respective finite state machines.

9. The device according to claim 7 , wherein the other sessions are file system sessions.

10. The device according to claim 7 , wherein the plurality of sessions belong to a same virtual data mover.

11. A computer program product tangibly stored on a non-transient computer readable medium and comprising machine executable instructions which, when executed, causes computerized circuitry to perform a method of

in response to receiving a request for replicating a plurality of sessions, dispatching a task for replicating a configuration session among the plurality of sessions to a first processing unit of a network storage device, the configuration session comprising configuration information describing the plurality of sessions;

dispatching a plurality of tasks for replicating other sessions among the plurality of sessions except the configuration session to a plurality of second processing units different from the first processing unit; and

in response to the first processing unit and the plurality of second processing units completing the respective tasks, aggregating results of replicating the plurality of sessions;

wherein dispatching a plurality of tasks for replicating other sessions among a plurality of sessions except the configuration session to the plurality of second processing units different from the first processing unit comprises:

selecting, by polling the other sessions, a session that is not replicated from the other sessions;

selecting a second processing unit that is not occupied from the plurality of second processing units; and

dispatching a task for replicating the session to the second processing unit.

12. The computer program product according to claim 11 , wherein

after a task for replicating the configuration session is dispatched to the first processing unit in the network storage device, the task for replicating the configuration session is performed by the first processing unit through a finite state machine.

13. The computer program product according to claim 11 , wherein

after dispatching the plurality of tasks for replicating the other sessions to the plurality of second processing units different from the first processing unit, the plurality of tasks for replicating the other sessions are performed by the plurality of second processing units through respective finite state machines.

14. The computer program product according to claim 11 , wherein the other sessions are file system sessions.

15. The computer program product according to claim 11 , wherein the plurality of sessions belong to a same virtual data mover.

16. The method according to claim 1 , wherein aggregating the results of replicating the plurality of sessions includes:

identifying a respective task completion condition for each session of the plurality of sessions, and

based on the respective task completion condition identified for each session, providing an aggregated result which indicates success or failure for replication of each session of the plurality of sessions.

17. The method according to claim 16 , wherein identifying the respective task condition for each session of the plurality of sessions includes:

performing, by the first processing unit, an aggregation processing operating to receive a plurality of task completion conditions from the plurality of second processing units.

18. The method according to claim 1 , wherein the first processing unit and the plurality of second processing units reside within the network storage device.

19. The device according to claim 7 , wherein aggregating the results of replicating the plurality of sessions includes:

identifying a respective task completion condition for each session of the plurality of sessions, and

based on the respective task completion condition identified for each session, providing an aggregated result which indicates success or failure for replication of each session of the plurality of sessions.

20. The computer program product according to claim 11 , wherein aggregating the results of replicating the plurality of sessions includes:

identifying a respective task completion condition for each session of the plurality of sessions, and

based on the respective task completion condition identified for each session, providing an aggregated result which indicates success or failure for replication of each session of the plurality of sessions.

Assignments (8)
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 (047648/0422) 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 060160/0862 →
RELEASE OF SECURITY INTEREST AT REEL 047648 FRAME 0346 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/0510 →
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 (CREDIT) Recorded Oct 12, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 047648/0346 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Oct 12, 2018
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 047648/0422 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 31, 2018
From: QIAN, MARK YUE; LUO, YUAN; SHANG, QIU; HAN, XIYU; REN, DAVID CHANGSHENG
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 045947/0834 →
Priority Claims (1)
CN 2017 1 0408932 · Jun 2, 2017 · national
Continuity (1)
Related Publication 20180352028A1 · Dec 6, 2018