Patent US6274807B1 successfully refreshed from Google Patents.
← Back to Patent Explorer
US6317844B1 Expired / Lapsed US ⏱️ 0.0 years remaining

File server storage arrangement

Assignee: NetApp Inc
•
Filing: 1998-03-10
•
Granted: 2001-11-13
•
Expires: 2018-03-10
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract The invention provides a storage system that is highly available even in the face of component failures in the storage system, and a method for operating that storage system. A first and a second file server each includes a file server request log for storing incoming file server requests. Both the first and second file servers have access to a common set of mass storage elements. Each incoming file server request is copied to both the first and second file servers; the first file server processes the file server request while the second file server maintains a copy in its file server request log. Each file server operates using a file system that maintains consistent state after each file server request. On failover, the second file server can perform those file server requests in its file server request log since the most recent consistent state. There is no single point of failure that prevents access to any individual mass storage element.

Inventors

  • 👤 Steven Kleiman

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-04 21:11
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/07; G06F11/14; G06F11/16; G06F11/20; G06F11/202; G06F11/2035; G06F11/2097; G06F11/2046

Claims Analysis

Total Claims: 81
Claim 1
Independent Claim 120 words
A file server system including a first file server including a file server change memory; a second file server including a file server change memory; a mass storage element; said first file server and said second file server being coupled to said mass storage element; means for copying a descriptor of a file system change to both said first and second file servers, whereby said first file server processes said file system change while said second file server maintains its copy of said descriptor in its file server change memory; and means for said second file server to perform a file system change in its file server change memory in response to a service interruption by said first file server.
Claim 2
Dependent Claim 120 words
A file server system including a first file server including a file server change memory; a second file server including a file server change memory; a mass storage element; said first file server and said second file server being coupled to said mass storage element; means for copying a descriptor of a file system change to both said first and second file servers, whereby said first file server processes said file system change while said second file server maintains its copy of said descriptor in its file server change memory; and means for said second file server to perform a file system change in its file server change memory in response to a service interruption by said first file server.
Claim 3
Dependent Claim 20 words
A system as in claim 1 , including at least one said mass storage element for each said file server.
Claim 4
Dependent Claim 45 words
A system as in claim 1 , wherein a first said file server is disposed for processing said file system changes atomically, whereby a second said file server can on failover process exactly those file system changes not already processed by said first file server.
Claim 5
Dependent Claim 30 words
A system as in claim 1 , wherein a first said file server is disposed to respond identically to service interruptions for itself and for a second said file server.
Claim 6
Dependent Claim 32 words
A system as in claim 1 , wherein at least one said file server is disposed to delay output to said mass storage element without delaying a response to file system changes.
Claim 7
Dependent Claim 32 words
A system as in claim 1 , wherein at least one said file server responds to a file system change before committing a result of said file system change to mass storage.
Claim 8
Dependent Claim 55 words
A system as in claim 1 , wherein each one of said file servers is coupled to at least a portion of said file server change memory using local memory access; and each one of said file servers is coupled to at least a portion of said file server change memory using remote memory access.
Claim 9
Dependent Claim 15 words
A system as in claim 1 , wherein said descriptor includes a file server request.
Claim 10
Dependent Claim 17 words
A system as in claim 1 , wherein said file server change memory includes a disk block.
Claim 11
Dependent Claim 18 words
A system as in claim 1 , wherein said file server change memory includes a file server request.
Claim 12
Dependent Claim 31 words
A system as in claim 1 , wherein said file server change memory is disposed to delay output to said mass storage element without delaying a response to file server requests.
Claim 13
Dependent Claim 67 words
A system as in claim 1 , wherein said mass storage element includes a file storage system; each said file server is disposed for leaving said file storage system in an internally consistent state after processing file system changes; said internally consistent state is associated with a set of completed file system changes; said set of completed file system changes is identifiable by each said file server.
Claim 14
Dependent Claim 42 words
A system as in claim 1 , wherein said mass storage element includes a file storage system and each said file server is disposed for leaving said file storage system in an internally consistent state after processing each said file system change.
Claim 15
Dependent Claim 49 words
A file server system as in claim 1 , wherein said mass storage element includes a primary mass storage element and a mirror mass storage element; and said first file server processes said file system change for both said primary mass storage element and said mirror mass storage element.
Claim 16
Dependent Claim 31 words
A system as in claim 1 , wherein said means for copying includes access to at least one of said first and second file server change memories using a NUMA network.
Claim 17
Dependent Claim 29 words
A system as in claim 1 , wherein said means for copying includes remote memory access to at least one of said first and second file server change memories.
Claim 18
Dependent Claim 41 words
A system as in claim 1 , wherein said means for said second file server to perform a file server request in its file server change memory is also operative in response to a service interruption by said second file server.
Claim 19
Dependent Claim 97 words
A file server system including a first file server coupled to a first set of mass storage devices; a second file server coupled to a second set of mass storage devices; a server change memory; said first file server disposed for receiving a file server request and in response thereto copying a descriptor of a file system change into said server change memory; and said first file server disposed for processing said file system change for both said first set of mass storage devices and for at least one said mass storage device in said second set.
Claim 20
Dependent Claim 97 words
A file server system including a first file server coupled to a first set of mass storage devices; a second file server coupled to a second set of mass storage devices; a server change memory; said first file server disposed for receiving a file server request and in response thereto copying a descriptor of a file system change into said server change memory; and said first file server disposed for processing said file system change for both said first set of mass storage devices and for at least one said mass storage device in said second set.
Claim 21
Dependent Claim 72 words
A system as in claim 18 , wherein said second file server is disposed for receiving a file server request and in response thereto copying a descriptor of a file system change into said server change memory; and said second file server is disposed for processing said file system change for both said second set of mass storage devices and for at least one said mass storage device in said first set.
Claim 22
Dependent Claim 16 words
A system as in claim 18 , wherein said server change memory includes a disk block.
Claim 23
Dependent Claim 17 words
A system as in claim 18 , wherein said server change memory includes a file server request.
Claim 24
Dependent Claim 32 words
A system as in claim 18 , wherein said server change memory includes a first portion disposed at said first file server and a second portion disposed at said second file server.
Claim 25
Dependent Claim 52 words
A system as in claim 18 , wherein said server change memory includes a first portion disposed at said first file server and a second portion disposed at said second file server; and said first file server is disposed for copying said descriptor into both said first portion and said second portion.
Claim 26
Dependent Claim 58 words
A system as in claim 18 , wherein said server change memory includes a first portion disposed at said first file server and a second portion disposed at said second file server; and said first file server and said second file server are each disposed for copying said descriptor into both said first portion and said second portion.
Claim 27
Dependent Claim 30 words
A system as in claim 18 , wherein said server change memory is disposed to delay output to said mass storage element without delaying a response to file server requests.
Claim 28
Dependent Claim 82 words
A file server system including a plurality of file servers, said plurality of file servers coupled to a mass storage element and at least one file server change memory; each said file server disposed for receiving a file server request and in response thereto copying a descriptor of a file system change into said file server change memory; and each said file server disposed for responding to a service interruption by performing a file system change in said file server change memory.
Claim 29
Dependent Claim 82 words
A file server system including a plurality of file servers, said plurality of file servers coupled to a mass storage element and at least one file server change memory; each said file server disposed for receiving a file server request and in response thereto copying a descriptor of a file system change into said file server change memory; and each said file server disposed for responding to a service interruption by performing a file system change in said file server change memory.
Claim 30
Dependent Claim 20 words
A system as in claim 26 , including at least one said mass storage element for each said file server.
Claim 31
Dependent Claim 20 words
A system as in claim 26 , including at least one said server change memory for each said file server.
Claim 32
Dependent Claim 45 words
A system as in claim 26 , wherein a first said file server is disposed for processing said file system changes atomically, whereby a second said file server can on failover process exactly those file system changes not already processed by said first file server.
Claim 33
Dependent Claim 30 words
A system as in claim 26 , wherein a first said file server is disposed to respond identically to service interruptions for itself and for a second said file server.
Claim 34
Dependent Claim 29 words
A system as in claim 26 , wherein at least one said file server delays output to said mass storage element without delaying a response to file server requests.
Claim 35
Dependent Claim 32 words
A system as in claim 26 , wherein at least one said file server responds to a file system change before committing a result of said file system change to mass storage.
Claim 36
Dependent Claim 55 words
A system as in claim 26 , wherein each one of said file servers is coupled to at least a portion of said file server change memory using local memory access; and each one of said file servers is coupled to at least a portion of said file server change memory using remote memory access.
Claim 37
Dependent Claim 22 words
A system as in claim 26 , wherein each said file server is disposed for copying said descriptors using a NUMA network.
Claim 38
Dependent Claim 22 words
A system as in claim 26 , wherein each said file server is disposed for copying said descriptors using remote memory access.
Claim 39
Dependent Claim 17 words
A system as in claim 26 , wherein said file server change memory includes a disk block.
Claim 40
Dependent Claim 18 words
A system as in claim 26 , wherein said file server change memory includes a file server request.
Claim 41
Dependent Claim 31 words
A system as in claim 26 , wherein said file server change memory is disposed to delay output to said mass storage element without delaying a response to file server requests.
Claim 42
Dependent Claim 42 words
A system as in claim 26 , wherein said mass storage element includes a file storage system and each said file server is disposed for leaving said file storage system in an internally consistent state after processing each said file system change.
Claim 43
Dependent Claim 67 words
A system as in claim 26 , wherein said mass storage element includes a file storage system; each said file server is disposed for leaving said file storage system in an internally consistent state after processing file system changes; said internally consistent state is associated with a set of completed file system changes; said set of completed file system changes is identifiable by each said file server.
Claim 44
Dependent Claim 49 words
A file server system as in claim 26 , wherein said mass storage element includes a primary mass storage element and a mirror mass storage element; and said first file server processes said file system change for both said primary mass storage element and said mirror mass storage element.
Claim 45
Independent Claim 86 words
A method of operating a file server system, said method including steps for responding to an incoming file server request by copying a descriptor of a file system change to both a first file server and a second file server; processing said file system change at said first file server while maintaining said descriptor copy at said second file server; and performing, at said second file server, a file system change in response to a copied descriptor and a service interruption by said first file server.
Claim 46
Independent Claim 86 words
A method of operating a file server system, said method including steps for responding to an incoming file server request by copying a descriptor of a file system change to both a first file server and a second file server; processing said file system change at said first file server while maintaining said descriptor copy at said second file server; and performing, at said second file server, a file system change in response to a copied descriptor and a service interruption by said first file server.
Claim 47
Dependent Claim 25 words
A method as in claim 42 , including steps for associating a first file server and a second file server with a mass storage element.
Claim 48
Dependent Claim 32 words
A method as in claim 42 , including steps for delaying output by at least one said file server to said mass storage system without delaying a response to file system changes.
Claim 49
Dependent Claim 45 words
A method as in claim 42 , wherein a first said file server is disposed for processing said file system changes atomically, whereby a second said file server can on failover process exactly those file system changes not already processed by said first file server.
Claim 50
Dependent Claim 30 words
A method as in claim 42 , wherein a first said file server is disposed to respond identically to service interruptions for itself and for a second said file server.
Claim 51
Dependent Claim 32 words
A method as in claim 42 , wherein at least one said file server responds to a file system change before committing a result of said file system change to mass storage.
Claim 52
Dependent Claim 65 words
A method as in claim 42 , wherein each said file server includes a file server change memory; each one of said file servers is coupled to at least a portion of said file server change memory using local memory access; and each one of said file servers is coupled to at least a portion of said file server request memory using remote memory access.
Claim 53
Dependent Claim 17 words
A method as in claim 42 , wherein said file server change memory includes a disk block.
Claim 54
Dependent Claim 18 words
A method as in claim 42 , wherein said file server change memory includes a file server request.
Claim 55
Dependent Claim 31 words
A method as in claim 42 , wherein said file server change memory is disposed to delay output to said mass storage element without delaying a response to file server requests.
Claim 56
Dependent Claim 42 words
A method as in claim 42 , wherein said mass storage element includes a file storage system and each said file server is disposed for leaving said file storage system in an internally consistent state after processing each said file system change.
Claim 57
Dependent Claim 36 words
A method as in claim 42 , wherein said steps for performing a file system change in response to a copied descriptor are also operative in response to a service interruption by said second file server.
Claim 58
Dependent Claim 33 words
A method as in claim 42 , wherein said steps for processing includes steps for processing said file system change at both a primary mass storage element and a mirror mass storage element.
Claim 59
Independent Claim 90 words
A method of operating a file server system, said method including steps for receiving a file server request at one of a plurality of file servers and in response thereto copying a descriptor of a file system change into a server change memory; processing said file system change for both a first set of mass storage devices coupled to a first one said file server and for at least one said mass storage device in a second set of mass storage devices coupled to a second one said file server.
Claim 60
Independent Claim 90 words
A method of operating a file server system, said method including steps for receiving a file server request at one of a plurality of file servers and in response thereto copying a descriptor of a file system change into a server change memory; processing said file system change for both a first set of mass storage devices coupled to a first one said file server and for at least one said mass storage device in a second set of mass storage devices coupled to a second one said file server.
Claim 61
Dependent Claim 15 words
A method as in claim 55 , wherein said descriptor includes a file server request.
Claim 62
Dependent Claim 16 words
A method as in claim 55 , wherein said server change memory includes a disk block.
Claim 63
Dependent Claim 17 words
A method as in claim 55 , wherein said server change memory includes a file server request.
Claim 64
Dependent Claim 32 words
A method as in claim 55 , wherein said server change memory includes a first portion disposed at said first file server and a second portion disposed at said second file server.
Claim 65
Dependent Claim 53 words
A method as in claim 55 , wherein said server change memory includes a first portion disposed at said first file server and a second portion disposed at said second file server; and wherein said steps for copying include steps for copying said descriptor into both said first portion and said second portion.
Claim 66
Dependent Claim 64 words
A method as in claim 55 , wherein said server change memory includes a first portion disposed at said first file server and a second portion disposed at said second file server; and said steps for copying include steps for copying said descriptor into both said first portion and said second portion by either of said first file sever or said second file server.
Claim 67
Dependent Claim 30 words
A method as in claim 55 , wherein said server change memory is disposed to delay output to said mass storage element without delaying a response to file server requests.
Claim 68
Dependent Claim 80 words
A method as in claim 55 , wherein said steps for receiving include receiving a file server request at either said first file server or said second file server, and said steps for copying said descriptor indude copying by either said first file server or said second file server; and including steps for processing said file system change for both said second set of mass storage devices and for at least one said mass storage device in said first set.
Claim 69
Independent Claim 67 words
A method of operating a file server system, said method including steps for receiving a file server request at one of a plurality of file servers and in response thereto copying a descriptor of a file system change into a file server change memory; and responding to a service interruption by performing a file system change in response to a descriptor in said file server change memory.
Claim 70
Independent Claim 67 words
A method of operating a file server system, said method including steps for receiving a file server request at one of a plurality of file servers and in response thereto copying a descriptor of a file system change into a file server change memory; and responding to a service interruption by performing a file system change in response to a descriptor in said file server change memory.
Claim 71
Dependent Claim 31 words
A method as in claim 64 , including steps for associating a plurality of file servers with at least one mass storage element and at least one file server change memory.
Claim 72
Dependent Claim 25 words
A method as in claim 64 , including steps for delaying output to a mass storage element without delaying a response to file server requests.
Claim 73
Dependent Claim 32 words
A method as in claim 64 , including steps for leaving a file storage system on said mass storage element in an internally consistent state after processing each said file system change.
Claim 74
Dependent Claim 59 words
A method as in claim 64 , including steps for leaving a file storage system on said mass storage element in an internally consistent state after processing file system changes; associating said internally consistent state with a set of completed file system changes; and identifying said set of completed file system changes by at least one said file server.
Claim 75
Dependent Claim 29 words
A method as in claim 64 , including steps for performing said received file server request at both a primary mass storage element and a mirror mass storage element.
Claim 76
Dependent Claim 39 words
A method as in claim 64 , including steps for processing said file system changes atomically at a first said file server; and on failover processing exactly those file system changes not already processed by said first file server.
Claim 77
Independent Claim 28 words
A method as in claim including steps for responding identically at a first said file server to service interruptions for itself and for a second said file server.
Claim 78
Dependent Claim 17 words
A method as in claim 64 , wherein said file server change memory includes a disk block.
Claim 79
Dependent Claim 18 words
A method as in claim 64 , wherein said file server change memory includes a file server request.
Claim 80
Dependent Claim 31 words
A method as in claim 64 , wherein said file server change memory is disposed to delay output to said mass storage element without delaying a response to file server requests.
Claim 81
Dependent Claim 33 words
A method as in claim 64 , including steps for responding to a file system change before committing a result of said file system change to mass storage at one said file server.

References Cited (Backward Citations)

US3813529A Cited
US3893024A Cited
US4075691A Cited
US4075704A Cited
US4156907A Cited
US4399503A Cited
US4377843A Cited
US4333144A Cited
US4351023A Cited
US4488231A Cited
US4620292A Cited
US4459664A Cited
US4494188A Cited
US4456957A Cited
US4685125A Cited
US4527232A Cited
US4550368A Cited
US4589067A Cited
US4710868A Cited
US5008786A Cited
US4719569A Cited
US4825354A Cited
US4761737A Cited
US4742447A Cited
US4742450A Cited
US5043871A Cited
US4761785A Cited
US4761785B1 Cited
US4803621A Cited
US4845609A Cited
US4780821A Cited
US4819159A Cited
US4783730A Cited
US4766534A Cited
US5001628A Cited
US4887204A Cited
US4897781A Cited
US4827411A Cited
US4965772A Cited
EP0321723B1 Cited
US4875159A Cited
US5297265A Cited
US5251308A Cited
US5049873A Cited
US4914583A Cited
US5107500A Cited
US5043876A Cited
US5001712A Cited
US4984272A Cited
US5202983A Cited
US4969118A Cited
US5222217A Cited
US5313646A Cited
US5113442A Cited
US5144659A Cited
US5018144A Cited
US5182805A Cited
US5218696A Cited
US5163148A Cited
US5261051A Cited
US5163131A Cited
US5355453A Cited
US5276867A Cited
US5218695A Cited
US5357612A Cited
US5195100A Cited
US5134619A Cited
US5604868A Cited
US5261044A Cited
US5208813A Cited
US5274807A Cited
US5255270A Cited
US5519844A Cited
US5155835A Cited
US5146588A Cited
US5357509A Cited
US5235601A Cited
US5274799A Cited
US5454095A Cited
EP0497067A1 Cited
US5317731A Cited
US5377196A Cited
US5276840A Cited
US6000039A Cited
US5574843A Cited
US5621663A Cited
US5313647A Cited
US5502836A Cited
US5379417A Cited
US5283830A Cited
US5313626A Cited
US5333305A Cited
US5305326A Cited
US5754851A Cited
US5535375A Cited
EP0569313A2 Cited
US5335235A Cited
US5315602A Cited
US5630060A Cited
US5627842A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2004-11-12 2005-05-14 2005-11-13 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2008-11-12 2009-05-14 2009-11-13 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2012-11-12 2013-05-14 2013-11-13 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag