← Back to Patent Explorer
US7162486B2 Expired / Lapsed US ⏱️ 0.0 years remaining

System and method for representing named data streams within an on-disk structure of a file system

Assignee: NetApp Inc
•
Filing: 2003-09-08
•
Granted: 2007-01-09
•
Expires: 2023-09-08
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A technique provides on-disk representations of multiple named data streams for a file system of a network storage appliance. The network storage appliance or filer includes a file system that implements a Write Anywhere File Layout (WAFL) disk format, wherein files are described by inodes of which there may be various types, including directory and regular modes. A named stream mode type is defined that represents named data streams in the WAFL file system. Multiple data streams may be stored on disk(s) of the filer as representations embodying the named stream inode type associated with a file. The names and file handles of the data streams are stored in a “hidden” directory within the file system that is referenced by the base inode. The hidden directory is represented as a stream_dir inode type.

Inventors

  • 👤 Kayuri Patel
  • 👤 Mark Muhlestein

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-06 03:41
CPC Classifications
G; G06; G06F; G06F16/00; G06F16/10; G06F3/00; G06F3/06; G06F3/0601; G06F3/0602; G06F3/062; G06F3/0622; G06F3/0628; G06F3/0638; G06F3/0643; G06F3/0668; G06F3/067; G06F3/0671; G06F3/0683; G06F3/0689; Y; Y10; Y10S; Y10S707/00; Y10S707/99941; Y10S707/99943; Y10S707/99951; Y10S707/99952; Y10S707/99953

Claims Analysis

Total Claims: 44
Claim 1
Independent Claim 83 words
A storage system adapted to provide on-disk representations of one or more predetermined files served by the storage system, the system comprising: an operating system resident in a memory and invoking storage operations in support of a file system configured to logically organize information as a hierarchical structure of directory and file modes on the disk, each of the files having one or more associated file attributes stored on the disk as a representation embodying a stream inode associated with a file inode.
Claim 2
Dependent Claim 83 words
A storage system adapted to provide on-disk representations of one or more predetermined files served by the storage system, the system comprising: an operating system resident in a memory and invoking storage operations in support of a file system configured to logically organize information as a hierarchical structure of directory and file modes on the disk, each of the files having one or more associated file attributes stored on the disk as a representation embodying a stream inode associated with a file inode.
Claim 3
Dependent Claim 20 words
The storage system of claim 1 wherein each on-disk file inode includes a reference to at least one stream inode.
Claim 4
Dependent Claim 14 words
The storage system of claim 1 wherein the predetermined file comprises a NTFS file.
Claim 5
Dependent Claim 22 words
The storage system of claim 1 wherein the stream inode comprises a type field designating the stream inode as a stream type.
Claim 6
Dependent Claim 107 words
A multi-protocol data access storage system adapted to provide on-disk representations of at least one file served by the storage system, the system comprising: an operating system resident in a memory of the storage system and configured to invoke storage operations in support of a file system configured to logically organize information as a hierarchical structure of directory and file inodes on the disk, the operating system including a file system protocol layer configured to provide data access in support of a plurality of file system protocols, each of the files stored on the disk as a representation embodying a stream inode associated with a file inode.
Claim 7
Dependent Claim 107 words
A multi-protocol data access storage system adapted to provide on-disk representations of at least one file served by the storage system, the system comprising: an operating system resident in a memory of the storage system and configured to invoke storage operations in support of a file system configured to logically organize information as a hierarchical structure of directory and file inodes on the disk, the operating system including a file system protocol layer configured to provide data access in support of a plurality of file system protocols, each of the files stored on the disk as a representation embodying a stream inode associated with a file inode.
Claim 8
Dependent Claim 20 words
The storage system of claim 5 wherein each on-disk file inode includes a reference to at least one stream inode.
Claim 9
Dependent Claim 15 words
The storage system of claim 6 wherein each on-disk file inode includes a default stream.
Claim 10
Dependent Claim 22 words
The storage system of claim 5 wherein the stream inode comprises a type field designating the stream inode as a stream type.
Claim 11
Independent Claim 95 words
A system adapted to provide on-disk representations of at least one file within a filer, the system comprising: a processor; a memory coupled to the processor and having locations addressable by the processor; at least one disk coupled to the memory and processor; and an operating system resident in the memory locations and invoking storage operations in support of a file system configured to logically organize information as files on the disk, each of the files stored on the at least one disk as a representation embodying a stream inode associated with a file inode.
Claim 12
Independent Claim 95 words
A system adapted to provide on-disk representations of at least one file within a filer, the system comprising: a processor; a memory coupled to the processor and having locations addressable by the processor; at least one disk coupled to the memory and processor; and an operating system resident in the memory locations and invoking storage operations in support of a file system configured to logically organize information as files on the disk, each of the files stored on the at least one disk as a representation embodying a stream inode associated with a file inode.
Claim 13
Dependent Claim 15 words
The system of claim 9 wherein each on-disk file inode includes a default data stream.
Claim 14
Dependent Claim 33 words
The system of claim 9 further comprising a storage adapter interconnected with the processor, memory and disk, the storage adapter cooperating with the operating system to access the information stored on the disk.
Claim 15
Dependent Claim 58 words
The system of claim 9 further comprising a network adapter coupled to the processor and memory of the filer, the network adapter connecting the filer to a client over a computer network, the client interacting with the filer by exchanging packets encapsulating a record requesting file services from the filer using a file system protocol over the network.
Claim 16
Dependent Claim 38 words
The system of claim 12 wherein the file system protocol is a Common Internet File System (CIFS) protocol and wherein the record is a CIFS record comprising information pertaining to an operation directed to the named stream inode.
Claim 17
Dependent Claim 32 words
The system of claim 13 wherein the operating system comprises a series of software layers, including a file system protocol layer configured to support the CIFS protocol and a file system layer.
Claim 18
Dependent Claim 45 words
The system of claim 14 wherein the CIFS record is interpreted as directed to a named data stream associated with a file and transformed into a message structure by the CIFS layer, and further passed to the file system layer, where the operation is performed.
Claim 19
Dependent Claim 23 words
The system of claim 15 wherein the message is passed from the CIFS layer to the file system layer as a function call.
Claim 20
Dependent Claim 28 words
The system of claim 15 wherein the file system layer loads the stream inode from disk into memory and accesses the stream inode as instructed by the operation.
Claim 21
Dependent Claim 42 words
The system of claim 14 wherein the operating system further comprises a media access layer of network drivers, network protocol layers, a disk storage layer that implements a disk storage protocol and a disk driver layer that implements a disk access protocol.
Claim 22
Dependent Claim 31 words
The system of claim 18 wherein a storage access request data path through the operating system layers enables performance of data storage access for the client request received at the filer.
Claim 23
Dependent Claim 22 words
The system of claim 19 wherein the storage access request data path is implemented as logic circuitry embodied within a hardware circuit.
Claim 24
Dependent Claim 43 words
The system of claim 9 wherein at least one of the files is stored on the at least one disk as a representation embodying the stream inode associated with a stream directory inode, the stream directory inode further associated with the file inode.
Claim 25
Dependent Claim 24 words
The system of claim 21 wherein the stream directory inode comprises a type field designating the stream directory inode as a stream directory type.
Claim 26
Dependent Claim 26 words
The system of claim 21 wherein the stream directory inode is further associated with a stream directory, and wherein the stream directory is a hidden directory.
Claim 27
Dependent Claim 28 words
The system of claim 21 wherein the stream directory inode comprises a data section including a pointer referencing a stream directory data block associated with the stream inode.
Claim 28
Dependent Claim 25 words
The system of claim 21 wherein the file inode comprises a flag identifying the file inode as being associated with a plurality of data streams.
Claim 29
Dependent Claim 18 words
The system of claim 25 wherein the file inode comprises a data section including a default data stream.
Claim 30
Dependent Claim 26 words
The system of claim 21 wherein the stream directory inode comprises a first pointer referencing an access control list inode associated with access control list information.
Claim 31
Dependent Claim 42 words
The system of claim 27 wherein the file inode comprises a second pointer referencing the access control list inode, the first pointer comprising a copy of the second pointer, and wherein the second pointer is modified to reference the stream directory inode.
Claim 32
Dependent Claim 21 words
The system of claim 9 wherein the stream inode comprises a type field designating the stream inode as a stream type.
Claim 33
Dependent Claim 16 words
The system of claim 9 wherein the stream inode comprises a pointer referencing the file inode.
Claim 34
Dependent Claim 16 words
The system of claim 9 wherein the file inode includes a reference to the stream inode.
Claim 35
Dependent Claim 31 words
The system of claim 9 wherein the memory is further configured to store an incore inode structure comprising a representation of the file inode and a representation of the stream inode.
Claim 36
Dependent Claim 34 words
The system of claim 32 wherein the stream inode comprises a pointer referencing the file inode, and wherein the representation of the stream inode comprises a pointer referencing the representation of the file inode.
Claim 37
Dependent Claim 34 words
The system of claim 32 wherein the representation of the file inode comprises a copy of the file inode, and wherein the representation of the stream inode comprises a copy of the stream inode.
Claim 38
Dependent Claim 15 words
The system of claim 9 wherein the filer comprises a multi-protocol data access storage system.
Claim 39
Independent Claim 126 words
A method of representing information served by a storage system, the method comprising the steps of: organizing the information as a plurality of files associated with a plurality of inodes on a disk, wherein each inode of the plurality of inodes comprises metadata associated with a corresponding file of the plurality of files and further comprises one or more references to a one or more data blocks on the disk; associating a first inode of the plurality of inodes with a first file of the plurality of files as a file inode; organizing a logically contiguous stream of data blocks within the first file as a data stream; and associating a second inode of the plurality of inodes with the data stream as a stream inode.
Claim 40
Independent Claim 126 words
A method of representing information served by a storage system, the method comprising the steps of: organizing the information as a plurality of files associated with a plurality of inodes on a disk, wherein each inode of the plurality of inodes comprises metadata associated with a corresponding file of the plurality of files and further comprises one or more references to a one or more data blocks on the disk; associating a first inode of the plurality of inodes with a first file of the plurality of files as a file inode; organizing a logically contiguous stream of data blocks within the first file as a data stream; and associating a second inode of the plurality of inodes with the data stream as a stream inode.
Claim 41
Dependent Claim 24 words
The method of claim 36 wherein a reference of the plurality of references of the file inode comprises a reference to the stream inode.
Claim 42
Dependent Claim 46 words
The method of claim 36 wherein the plurality of inodes further comprises a plurality of directory inodes, each directory inode comprising metadata associated with a corresponding directory of a plurality of directories and further comprising references to at least one inode of the plurality of inodes.
Claim 43
Dependent Claim 46 words
The method of claim 38 wherein a given reference of the references to at least one inode comprises a first pointer referencing a directory data block of the plurality of data blocks, the directory data block comprising a second pointer referencing the at least one inode.
Claim 44
Dependent Claim 32 words
The method of claim 38 wherein a given directory inode of the plurality of directory inodes further comprises a stream directory inode associated with the file inode and referencing the stream inode.

References Cited (Backward Citations)

US5819292A Cited
US6038570A Cited
US5948110A Cited
US5987506A Cited
US6026474A Cited
US20020154645A1 Cited
US6556998B1 Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2010-01-08 2010-07-10 2011-01-09 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2014-01-08 2014-07-10 2015-01-09 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2018-01-08 2018-07-10 2019-01-09 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag