IP Library Granted Patent US 10,782,997
Granted Patent B1
US 10,782,997 · App. 15/799,259 · Granted Sep 22, 2020

Storage management system and method

Inventors: Sathya Krishna Murthy (Morrisville, NC); Alan L. Taylor (Cary, NC); Nagasimha G. Haravu (Apex, NC)
Assignee: EMC IP Holding Company, LLC
G06F9/46G06F3/0614G06F9/526G06F3/0601G06F11/2069G06F11/2087G06F2003/0691G06F2211/1095
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,782,997
App. No.
15/799,259
Granted
Sep 22, 2020
Kind
B1
Abstract

A method, computer program product, and computing system for receiving an control plane request on a layered services architecture that includes a plurality of discrete services and a rules engine. The control plane request is processed with the rules engine to identify one or more mandatory services, chosen from the plurality of discrete services, required to process the control plane request. The one or more mandatory services are sequenced to form a services workflow. The control plane request is processed based upon the services workflow.

Claims (51)

1. A computer-implemented method, executed on a computing device, comprising:

receiving a control plane request on a layered services architecture that includes a plurality of discrete services and a rules engine;

processing the control plane request with the rules engine to identify one or more mandatory services, chosen from the plurality of discrete services, required to process the control plane request, wherein the plurality of discrete services includes:

an IO coordinator service that is configured to arbitrate IO conflicts when processing the control plane request, wherein arbitrating IO conflicts includes:

determining, via the IO coordinator service, whether to process at least one of an asynchronous copy operation, a synchronous copy operation, and both the asynchronous copy operation and synchronous copy operation when a memory space within a remote data object is written once via the asynchronous copy operation and once via the synchronous copy operation, wherein if a first write operation to the memory space within the remote data object is a synchronous write operation and a second write operation to the memory space within the remote data object is an asynchronous write operation, then the second write operation is blocked from overwriting newer data associated with the synchronous copy operation;

sequencing the one or more mandatory services to form a services workflow; and

processing the control plane request based upon the services workflow.

2. The computer-implemented method of claim 1 wherein the plurality of discrete services includes:

a navigator service that is configured to direct the control plane request to a plurality of data targets.

3. The computer-implemented method of claim 1 wherein the plurality of discrete services includes:

a transit service that is configured to provide data to a remote data target.

4. The computer-implemented method of claim 1 wherein the plurality of discrete services includes:

a copier service that is configured to make a copy of data for a remote data target.

5. The computer-implemented method of claim 1 wherein the plurality of discrete services includes:

a zero detect service that is configured to detect the absence of data within a data object being copied.

6. The computer-implemented method of claim 1 wherein the plurality of discrete services includes:

an IO target service that is configured to receive the control plane request.

7. A computer program product residing on a computer readable medium having a plurality of instructions stored thereon which, when executed by a processor, cause the processor to perform operations comprising:

receiving a control plane request on a layered services architecture that includes a plurality of discrete services and a rules engine;

processing the control plane request with the rules engine to identify one or more mandatory services, chosen from the plurality of discrete services, required to process the control plane request, wherein the plurality of discrete services includes:

an IO coordinator service that is configured to arbitrate IO conflicts when processing the control plane request, wherein arbitrating IO conflicts includes:

determining, via the IO coordinator service, whether to process at least one of an asynchronous copy operation, a synchronous copy operation, and both the asynchronous copy operation and synchronous copy operation when a memory space within a remote data object is written once via the asynchronous copy operation and once via the synchronous copy operation, wherein if a first write operation to the memory space within the remote data object is a synchronous write operation and a second write operation to the memory space within the remote data object is an asynchronous write operation, then the second write operation is blocked from overwriting newer data associated with the synchronous copy operation;

sequencing the one or more mandatory services to form a services workflow; and

processing the control plane request based upon the services workflow.

8. The computer program product of claim 7 wherein the plurality of discrete services includes:

a navigator service that is configured to direct the control plane request to a plurality of data targets.

9. The computer program product of claim 7 wherein the plurality of discrete services includes:

a transit service that is configured to provide data to a remote data target.

10. The computer program product of claim 7 wherein the plurality of discrete services includes:

a copier service that is configured to make a copy of data for a remote data target.

11. The computer program product of claim 7 wherein the plurality of discrete services includes:

a zero detect service that is configured to detect the absence of data within a data object being copied.

12. The computer program product of claim 7 wherein the plurality of discrete services includes:

an IO target service that is configured to receive the control plane request.

13. A computing system including a processor and memory configured to perform operations comprising:

receiving a control plane request on a layered services architecture that includes a plurality of discrete services and a rules engine;

processing the control plane request with the rules engine to identify one or more mandatory services, chosen from the plurality of discrete services, required to process the control plane request, wherein the plurality of discrete services includes:

an IO coordinator service that is configured to arbitrate IO conflicts when processing the control plane request, wherein arbitrating IO conflicts includes:

determining, via the IO coordinator service, whether to process at least one of an asynchronous copy operation, a synchronous copy operation, and both the asynchronous copy operation and synchronous copy operation when a memory space within a remote data object is written once via the asynchronous copy operation and once via the synchronous copy operation, wherein if a first write operation to the memory space within the remote data object is a synchronous write operation and a second write operation to the memory space within the remote data object is an asynchronous write operation, then the second write operation is blocked from overwriting newer data associated with the synchronous copy operation;

sequencing the one or more mandatory services to form a services workflow; and

processing the control plane request based upon the services workflow.

14. The computing system of claim 13 wherein the plurality of discrete services includes:

a navigator service that is configured to direct the control plane request to a plurality of data targets.

15. The computing system of claim 13 wherein the plurality of discrete services includes:

a transit service that is configured to provide data to a remote data target.

16. The computing system of claim 13 wherein the plurality of discrete services includes:

a copier service that is configured to make a copy of data for a remote data target.

17. The computing system of claim 13 wherein the plurality of discrete services includes:

a zero detect service that is configured to detect the absence of data within a data object being copied.

18. The computing system of claim 13 wherein the plurality of discrete services includes:

an IO target service that is configured to receive the control plane request.

Assignments (5)
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 →
SECURITY AGREEMENT Recorded Oct 1, 2021
From: DELL PRODUCTS, L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 057682/0830 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 31, 2017
From: KRISHNA MURTHY, SATHYA; TAYLOR, ALAN L.; HARAVU, NAGASIMHA G.
To: EMC IP HOLDING COMPANY, LLC
Reel/Frame 043995/0234 →
Cited By (9)
US 12,346,568 US 12,443,498 US 12,450,135 US 12,461,833 US 12,499,020 US 12,517,796 US 12,517,797 US 12,585,558 US 12,717,686