IP Library Granted Patent US 6,931,502
Granted Patent B2
US 6,931,502 · App. 10/374,694 · Granted Aug 16, 2005

Recovery of data using write request copies in delta queue

Assignee: EMC Corporation
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 6,931,502
App. No.
10/374,694
Filed
Feb 25, 2003
Granted
Aug 16, 2005
Kind
B2
Art Unit
2187
USPC
711/152
Abstract

Recovering mirrored data after the failure of a computer using write requests stored in a delta queue of an associated computer without transmitting all of the mirrored data. A write request at a primary computer is stored in a delay buffer. A copy of the write request is transmitted to a backup computer and stored in a delta queue. The backup computer executes the copy of the write request and transmits acknowledgement of the receipt of the write request to the primary computer. In response to the acknowledgement, the primary computer executes the write request stored in the delay buffer. The computers then exchange subsequent acknowledgements of the write request execution, enabling the computers to delete the write requests. If the primary computer fails, the primary computer recovers data by receiving only the copies of write requests that remain stored in the delta queue of the backup computer.

Claims (37)

1. In a primary computer system that communicates with a backup computer system, a method for restoring data at the primary computer system after failure of the primary computer system, comprising:

receiving a write request at the primary computer system;

transmitting a copy of the write request to the backup computer system, the copy of the write request being stored in a backup delta queue of the backup computer system until such time that the primary computer system acknowledges that the write operation has been executed at the primary computer system;

before the write request is executed at the primary computer system, experiencing failure of the primary computer system that results in loss of the write request at the primary computer system;

in response to the failure, receiving the copy of the write request from the backup delta queue of the backup computer system; and

executing the copy of the write request at the primary computer system.

2. A method as recited in claim 1 , wherein the primary computer system is synchronized with the backup computer system after the failure using copies of write requests stored in the backup delta queue without receiving a copy of mirrored data from the backup computer system.

3. A method as recited in claim 1 , further comprising, prior to the failure, storing the write request in a delay buffer of the primary computer system, the write request being stored in the delay buffer without being executed at the primary computer system until such time that the backup computer system acknowledges receipt of the copy of the write request.

4. A method as recited in claim 3 , wherein the failure is experienced at the primary computer system before the write request stored in the delay buffer is executed at the primary computer system.

5. A method as recited in claim 4 , wherein the failure is experienced at the primary computer system after the copy of the write request is transmitted to the backup computer system and before the primary computer system receives acknowledgement that the backup computer system has received the copy of the write request.

6. A method as recited in claim 3 , further comprising, prior to the failure, storing a copy of the write request in a primary delta queue of the primary computer system, the copy of the write request being stored in the primary delta queue until such time that the backup computer system acknowledges that the copy of the write request has been executed at the backup computer system.

7. A method as recited in claim 1 , wherein receiving a write request is performed as mirrored copies of data are stored at the primary computer system and the backup computer system.

8. A method as recited in claim 1 , further comprising transmitting an acknowledgement to the backup computer system that the primary computer system has executed the copy of the write request, the acknowledgement permitting the backup computer system to delete the copy of the write request from the backup delta queue.

9. In a backup computer system that communicates with a primary computer system, a method for enabling data at the primary computer system to be restored after failure of the primary computer system, comprising:

at the backup computer system, receiving a copy of a write request from the primary computer system;

storing the copy of the write request being stored in a backup delta queue of the backup computer system until such time that the primary computer system acknowledges that the write operation has been executed at the primary computer system; and

in response to the primary computer system experiencing failure resulting in loss of the write request at the primary computer system before the write request is executed at the primary computer system, transmitting the copy of the write request to the primary computer system, thereby enabling the primary computer system to restore the data.

10. A method as recited in claim 9 , further comprising executing the copy of the write request at the backup computer system.

11. A method as recited in claim 9 , further comprising:

receiving an acknowledgement from the primary computer system that the primary computer system has executed the copy of the write request; and

in response to the acknowledgement, deleting the copy of the write request from the backup delta queue.

12. A method as recited in claim 9 , wherein, in response to the failure of the primary computer system, the data is restored at the primary computer system using copies of write requests stored in the backup delta queue without transmitting a copy of mirrored data from the backup computer system to the primary computer system.

13. A method as recited in claim 9 , wherein, prior to the failure of the primary computer system, the write request has been stored in a delay buffer of the primary computer system, the write request having been stored in the delay buffer without being executed at the primary computer system until such time that the backup computer system acknowledges receipt of the copy of the write request.

14. A method as recited in claim 13 , wherein the failure is experienced at the primary computer system before the write request stored in the delay buffer is executed at the primary computer system.

15. A method as recited in claim 9 , further comprising, after receiving the copy of the write request, transmitting to the primary computer system acknowledgement that the backup computer system has received the copy of the write request, the primary computer system experiencing the failure before receiving the acknowledgement.

16. A method as recited in claim 9 , wherein receiving the copy of the write request is performed as mirrored copies of data are stored at the primary computer system and the backup computer system.

17. A computer program product for implementing, in a primary computer system that communicates with a backup computer system, a method for restoring data at the primary computer system after failure of the primary computer system, the computer program product comprising:

a computer-readable medium carrying computer-executable instructions that, when executed by the primary computer system, cause the primary computer system to perform the acts of:

receiving a write request at the primary computer system;

transmitting a copy of the write request to the backup computer system, the copy of the write request being stored in a backup delta queue of the backup computer system until such time that the primary computer system acknowledges that the write operation has been executed at the primary computer system;

in response to experiencing a failure of the primary computer system that occurs before the write request is executed at the primary computer system and that results in loss of the write request at the primary computer system, receiving the copy of the write request from the backup delta queue of the backup computer system; and

executing the copy of the write request at the primary computer system.

18. A computer program product as recited in claim 17 , wherein the computer-executable instructions, when executed by the primary computer system, further cause the primary computer system to store the write request in a delay buffer of the primary computer system prior to the failure, the write request being stored in the delay buffer without being executed at the primary computer system until such time that the backup computer system acknowledges receipt of the copy of the write request.

19. A computer program product as recited in claim 18 , wherein the failure is experienced at the primary computer system before the write request stored in the delay buffer is executed at the primary computer system.

20. A computer program product as recited in claim 19 , wherein the failure is experienced at the primary computer system after the copy of the write request is transmitted to the backup computer system and before the primary computer system receives acknowledgement that the backup computer system has received the copy of the write request.

21. A computer program product as recited in claim 18 , wherein the computer-executable instructions, when executed by the primary computer system, further cause the primary computer system to store a copy of the write request in a primary delta queue of the primary computer system prior to the failure, the copy of the write request being stored in the primary delta queue until such time that the backup computer system acknowledges that the copy of the write request has been executed at the backup computer system.

22. A computer program product as recited in claim 17 , wherein the computer-executable instructions, when executed by the primary computer system, further cause the primary computer system to transmit an acknowledgement to the backup computer system that the primary computer system has executed the copy of the write request, the acknowledgement permitting the backup computer system to delete the copy of the write request from the backup delta queue.

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 (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
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 Sep 29, 2016
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 040203/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
Continuity (3)
Continuation 1003711700 · Oct 22, 2001
Continuation In Part 0945507200 · Dec 6, 1999
Related Publication 20040030851A1 · Feb 12, 2004