US6496908B1
Expired / Lapsed
US
⏱️ 0.0 years remaining
Remote mirroring
Assignee: EMC Corp
•
Filing: 2001-05-18
•
Granted: 2002-12-17
•
Expires: 2021-05-18
Abstract
Abstract A system for mirroring source data to two or more mirrors includes first and second processors designated to communicate with first and second remote mirrors, respectively. First and second queues in the system receive requests to mirror source data at first and second mirrors, respectively. Each of the queues is periodically scanned by a processor corresponding to the mirror associated with that queue. A mask provides information indicative of any pending mirror requests for sending the source data to the first and second mirrors.
Inventors
- 👤 Peter Kamvysselis
- 👤 Dan Arnon
- 👤 Mark J. Halstead
- 👤 David Meiri
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-04 01:27
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/07; G06F11/16; G06F11/20; G06F11/2053; G06F11/2056; G06F11/2069; G06F11/2058; G06F11/2071; G06F11/2074
Claims Analysis
Total Claims: 30
Claim 1
Independent Claim
76 words
A method of mirroring source data at a plurality of remote mirrors, said method comprising: preparing a mask indicating a plurality of remote mirrors designated to receive said source data, posting said mask in a common memory accessible to a plurality of processors, each of said processors being associated with at least one of said remote mirrors; and queuing, on each of a plurality of queues corresponding to each of said remote mirrors, a mirror request.
Claim 2
Independent Claim
76 words
A method of mirroring source data at a plurality of remote mirrors, said method comprising: preparing a mask indicating a plurality of remote mirrors designated to receive said source data, posting said mask in a common memory accessible to a plurality of processors, each of said processors being associated with at least one of said remote mirrors; and queuing, on each of a plurality of queues corresponding to each of said remote mirrors, a mirror request.
Claim 3
Dependent Claim
31 words
The method of claim 1 , further comprising inspecting a status field maintained in said common memory to determine if each of said associated processors has attempted to mirror said data.
Claim 4
Dependent Claim
33 words
The method of claim 1 , further comprising inspecting a status field maintained in said common memory to determine if said data has been mirrored at each of said plurality of remote mirrors.
Claim 5
Dependent Claim
18 words
The method of claim 1 , further comprising monitoring an elapsed time since queuing of said mirror request.
Claim 6
Dependent Claim
27 words
The method of claim 4 , further comprising modifying said status field to indicate withdrawal of said mirror request when said elapsed time exceeds a predefined threshold.
Claim 7
Dependent Claim
25 words
The method of claim 1 , further comprising creating a request buffer in said common memory, said request buffer including information identifying said source data.
Claim 8
Dependent Claim
23 words
The method of claim 6 , wherein queuing said mirror request comprises associating with said mirror request a pointer to said request buffer.
Claim 9
Dependent Claim
33 words
The method of claim 1 , wherein preparing said mask comprises creating a mask in common memory, said mask having a plurality of mask elements, each of which corresponds to a remote mirror.
Claim 10
Dependent Claim
48 words
The method of claim 8 , wherein preparing said mask comprises: selecting a subset o f said plurality of mask elements; and modifying each of said selected mask elements to indicate the existence of source data to be sent to a mirror corresponding to said selected mask element.
Claim 11
Dependent Claim
40 words
The method of claim 1 , wherein preparing said mask comprises modifying a mask associated with a data storage location in said common memory, said mask having a plurality of mask elements, each of which corresponds to a remote mirror.
Claim 12
Dependent Claim
42 words
The method of claim 10 , wherein modifying said mask comprises: selecting a subset of said mask elements; and modifying each of said selected mask elements to indicate that data associated with said location is to be sent to a corresponding mirror.
Claim 13
Independent Claim
52 words
A method of mirroring source data at a plurality of remote mirrors, said method comprising: identifying a mirror request in a queue associated with a remote mirror selected from said plurality of remote mirrors; attempting execution of said mirror request; and modifying a mask in response to an outcome of said attempt.
Claim 14
Independent Claim
52 words
A method of mirroring source data at a plurality of remote mirrors, said method comprising: identifying a mirror request in a queue associated with a remote mirror selected from said plurality of remote mirrors; attempting execution of said mirror request; and modifying a mask in response to an outcome of said attempt.
Claim 15
Dependent Claim
39 words
The method of claim 12 , wherein modifying said mask comprises: selecting a mask element from said mask, said mask element corresponding to said remote mirror; and modifying said mask element in response to said outcome of said attempt.
Claim 16
Dependent Claim
50 words
The method of claim 12 , wherein said mask corresponds to a data storage location in said common memory and modifying said mask comprises altering a mask element associated with said remote mirror to indicate that data associated with said data storage location has been sent to said remote mirror.
Claim 17
Dependent Claim
21 words
The method of claim 12 , further comprising determining whether all mirror requests for mirroring said source data have been attempted.
Claim 18
Dependent Claim
19 words
The method of claim 15 , further comprising altering a status field if all mirror requests have been attempted.
Claim 19
Dependent Claim
38 words
The method of claim 12 , wherein modifying a mask in response to an outcome of said attempt comprises modifying a first mask if said attempt was unsuccessful and modifying a second mask if said attempt was successful.
Claim 20
Dependent Claim
30 words
The method of claim 17 , further comprising determining, on the basis of said first and second mask, whether all mirror requests for mirroring said source data have been attempted.
Claim 21
Dependent Claim
47 words
The method of claim 18 , wherein determining whether all mirror requests for mirroring said source data have been attempted comprises comparing said first and second masks with a third mask, said third mask containing information indicative of which remote mirrors are to receive said source data.
Claim 22
Dependent Claim
27 words
The method of claim 18 , further comprising setting a status field to a value indicative of whether all attempts to mirror said source data were successful.
Claim 23
Dependent Claim
29 words
The method of claim 18 , further comprising setting a status field to a value indicative of whether at least one attempt to mirror said source data was unsuccessful.
Claim 24
Dependent Claim
15 words
The method of claim 21 , further comprising deleting said mirror request from said queue.
Claim 25
Independent Claim
102 words
A system for mirroring source data to a plurality of remote mirrors, said system comprising: a first processor designated to communicate with a first remote mirror; a second processor designated to communicate with a second remote mirror; a first queue for receiving mirror requests for said first remote mirror, said first queue being periodically scanned by said first processor; a second queue for receiving mirror requests for said second remote mirror, said second queue being periodically scanned by said second processor; a mask providing information indicative of any pending mirror requests for sending said source data to said first and second mirrors.
Claim 26
Independent Claim
102 words
A system for mirroring source data to a plurality of remote mirrors, said system comprising: a first processor designated to communicate with a first remote mirror; a second processor designated to communicate with a second remote mirror; a first queue for receiving mirror requests for said first remote mirror, said first queue being periodically scanned by said first processor; a second queue for receiving mirror requests for said second remote mirror, said second queue being periodically scanned by said second processor; a mask providing information indicative of any pending mirror requests for sending said source data to said first and second mirrors.
Claim 27
Dependent Claim
27 words
The system of claim 23 , wherein said mask is associated with a data storage location in a common memory accessible to said first and second processor.
Claim 28
Dependent Claim
61 words
The system of claim 23 , further comprising: a request buffer containing information identifying said source data; and a first pointer associated with a first mirror request on said first queue, said first pointer pointing to said request buffer; and a second pointer associated with a second mirror request on said second queue, said second pointer pointing to said request buffer.
Claim 29
Dependent Claim
100 words
The system of claim 23 , further comprising a status field having a value selected from the group consisting of: a first value indicating existence of at least one mirror request that has not been attempted; a second value indicating that all mirror requests for said source data have completed successfully; a third value indicating that all mirror requests for said source data have been attempted and at least one attempt failed to complete successfully; and a fourth value indicating that after a lapse of a preselected time, there remains at least one mirror request that has not been attempted.
Claim 30
Dependent Claim
37 words
The system of claim 23 , further comprising: a done mask containing information indicative of successful attempts at mirroring said source data; and a failed mask containing information indicative of failed attempts at mirroring said source data.
References Cited (Backward Citations)
US5742792A
Cited
US6173377B1
Cited
US5537533A
Cited
US5889935A
Cited
US5933653A
Cited
US6157991A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2005-12-16 | 2006-06-17 | 2006-12-17 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2009-12-16 | 2010-06-17 | 2010-12-17 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2013-12-16 | 2014-06-17 | 2014-12-17 | $7700.00 | Window Closed / Lapsed |