Movatterモバイル変換


[0]ホーム

URL:


US8868495B2 - System and method for indexing user data on storage systems - Google Patents

System and method for indexing user data on storage systems
Download PDF

Info

Publication number
US8868495B2
US8868495B2US11/847,925US84792507AUS8868495B2US 8868495 B2US8868495 B2US 8868495B2US 84792507 AUS84792507 AUS 84792507AUS 8868495 B2US8868495 B2US 8868495B2
Authority
US
United States
Prior art keywords
data
client
storage
modified
file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active, expires
Application number
US11/847,925
Other versions
US20080201384A1 (en
Inventor
Yusuf Batterywala
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NetApp Inc
Original Assignee
NetApp Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NetApp IncfiledCriticalNetApp Inc
Assigned to NETWORK APPLIANCE, INC.reassignmentNETWORK APPLIANCE, INC.ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS).Assignors: BATTERYWALA, YUSUF
Publication of US20080201384A1publicationCriticalpatent/US20080201384A1/en
Assigned to NETAPP, INC.reassignmentNETAPP, INC.CHANGE OF NAME (SEE DOCUMENT FOR DETAILS).Assignors: NETWORK APPLIANCE, INC.
Application grantedgrantedCritical
Publication of US8868495B2publicationCriticalpatent/US8868495B2/en
Activelegal-statusCriticalCurrent
Adjusted expirationlegal-statusCritical

Links

Images

Classifications

Definitions

Landscapes

Abstract

A system and method for indexing user data on storage systems is provided. A client of the storage system executes a novel client side agent that is configured to detect changes to data stored by the client on the storage system. In response to detecting that data has been modified, the agent examines modified data containers and parses the modified data to identify new and/or modified index terms or the creation/deletion of data containers. Once the data has been parsed by the agent to identify new/modified index terms, the parsed data is transmitted from the agent to a management module executing on a management server. The management module receives the parsed data and updates a search database using the received parsed data.

Description

FIELD OF THE INVENTION
The present invention claims priority to commonly owned Indian Patent Application Serial No. 358/DEL/2007, entitled SYSTEM AND METHOD FOR INDEXING USER DATA ON STORAGE SYSTEMS, by Yusuf Batterywala, on Feb. 21, 2007, the contents of which are hereby incorporated by reference.
FIELD OF THE INVENTION
The present invention relates to storage systems and, in particular, to indexing user data on storage systems.
BACKGROUND OF THE INVENTION
A storage system is a computer that provides storage service relating to the organization of information on writable persistent storage devices, such as memories, tapes or disks. The storage system is commonly deployed within a storage area network (SAN) or a network attached storage (NAS) environment. When used within a NAS environment, the storage system may be embodied as a file server including an operating system that implements a file system to logically organize the information as a hierarchical structure of directories and files on, e.g. the disks. Each “on-disk” file may be implemented as a set of data structures, e.g., disk blocks, configured to store information, such as the actual user data for the file. A directory, on the other hand, may be implemented as a specially formatted file in which information about other files and directories are stored. As used herein a file is defined to be any logical storage container that contains a fixed or variable amount of data storage space, and that may be allocated storage out of a larger pool of available data storage space. As such, the term file, as used herein and unless the context otherwise dictates, can also mean a container, object or any other storage entity that does not correspond directly to a set of fixed data storage devices. A file system is, generally, a computer system for managing such files, including the allocation of fixed storage space to store files on a temporary basis.
The file server, or storage system, may be further configured to operate according to a client/server model of information delivery to thereby allow many client systems (clients) to access shared resources, such as files, stored on the storage system. Sharing of files is a hallmark of a NAS system, which is enabled because of its semantic level of access to files and file systems. Storage of information on a NAS system is typically deployed over a computer network comprising a geographically distributed collection of interconnected communication links, such as Ethernet, that allow clients to remotely access the information (files) on the storage system. The clients typically communicate with the storage system by exchanging discrete frames or packets of data according to pre-defined protocols, such as the Transmission Control Protocol/Internet Protocol (TCP/IP).
In the client/server model, the client may comprise an application executing on a computer that “connects” to the storage system over a computer network, such as a point-to-point link, shared local area network, wide area network or virtual private network implemented over a public network, such as the Internet. NAS systems generally utilize file-based access protocols; therefore, each client may request the services of the storage system by issuing file system protocol messages (in the form of packets) to the file system over the network identifying one or more files to be accessed without regard to specific locations, e.g., blocks, in which the data are stored on disk. By supporting a plurality of file system protocols, such as the conventional Common Internet File System (CIFS), the Network File System (NFS) and the Direct Access File System (DAFS) protocols, the utility of the storage system may be enhanced for networking clients.
A SAN is a high-speed network that enables establishment of direct connections between a storage system and its storage devices. The SAN may thus be viewed as an extension to a storage bus and, as such, an operating system of the storage system enables access to stored information using block-based access protocols over the “extended bus”. In this context, the extended bus is typically embodied as Fibre Channel (FC) or Ethernet media adapted to operate with block access protocols, such as Small Computer Systems Interface (SCSI) protocol encapsulation over FC or TCP/IP/Ethernet.
A SAN arrangement or deployment allows decoupling of storage from the storage system, such as an application server, and some level of information storage sharing at the application server level. There are, however, environments wherein a SAN is dedicated to a single server. In some SAN deployments, the information is organized in the form of databases, while in others a file-based organization is employed. Where the information is organized as files, the client requesting the information maintains file mappings and manages file semantics, while its requests (and server responses) address the information in terms of block addressing on disk using, e.g., a logical unit number (lun).
Certain storage systems may support multi-protocol access and, to that end, enable clients to access data via both block and file-level requests. One example of such a storage system is described in U.S. patent application Ser. No. 10/215,917, entitled MULI-PROTOCOL STORAGE APPLIANCE THAT PROVIDES INTEGRATED SUPPORT FOR FILE AND BLOCK ACCESS PROTOCOLS, by Brian Pawlowski, et al.
One common use for a storage system that supports block-based protocols is to export one or more data containers, such as luns, for use by a client of the storage system. The client typically includes an operating system and/or a volume manager that forms the data containers into one or more volume (or disk) groups. A volume group is a set of luns aggregated to provide a storage space that may be utilized by the client to overlay one or more file systems or other structured storage thereon. As used herein, the term storage space means storage managed by a client that utilizes one or more data containers hosted by one or more storage systems, an example of which is a file system overlaid onto a volume group that comprises one or more luns stored within a plurality of volumes of a single storage system or within a plurality of volumes of a plurality of storage systems. Another example of a storage space is a volume group managed by a client to enable an application, such as a database application, to store structured data thereon.
Storage system users often may wish to search the data containers stored on a storage system to identify those containers that contain user data matching one or more search criteria, such as phrases and terms. As noted, a data container may include a file, a directory, a virtual disk (vdisk), or other data construct that is addressable via a storage system. For example, a user may wish to search and locate all data containers serviced by the storage system that contain user data matching the phrase “Accounts Receivable.” By enabling searching of data containers on storage systems, users may improve utilization of their data, especially in large enterprises where the number of data containers may be in substantial, e.g., the tens or hundreds of millions.
To identify data containers that contain user data that match the search criteria, a search process may need to examine all of the data containers within the storage system every time a search is requested. In a typical storage system having a substantial number of data containers, this is not a practical solution due to the substantial amount of time required to access and process every data container to determine if it contains the search criteria. To enable faster searching, a search index of information associated with the data containers may be generated for the storage system. The storage system search index may be constructed by performing a file system “crawl” through the entire file system (or other data container organizational structure) serviced by the storage system. Typically, a file system crawl involves accessing every data container within the file system to obtain the necessary index information. However, such a file system crawl is expensive both in terms of disk input/output operations and processing time, and suffers from the same practical problems of directly accessing each data container. That is, the file system crawl may substantially impede access to the file system, e.g., for tens of minutes at a time, which results in an unacceptable loss of performance.
Furthermore, the file system crawl is typically performed at regular intervals (periodically) to maintain up-to-date index information. As a result of the substantial processing time required, a further disadvantage of the file system crawl is that the periodic search index information may be inconsistent with the current state of the file system, i.e., the index information only represents the file system as of the completion of the last file system crawl.
A further noted disadvantage arises in a storage system environment where a client overlays a file system or other structured storage onto storage space provided by a storage system. In such an environment, indexing functionality within the storage system may not operate as the overlaid file system that may utilize a different format than that of the storage system's native file system format. This prevents a storage system administrator, who may support a plurality of differing vendors of clients, from being able to quickly and efficiently search through user data to enable users to identify data containers containi- desired search terms.
SUMMARY OF THE INVENTION
The present invention overcomes the disadvantages of the prior art by providing a system and method for indexing user data of data containers stored on storage space provided by one or more storage systems. A management module configured to implement indexing and searching functionality executes on a management server that is operatively interconnected with each storage system. Each client of the storage system executes a novel client side agent that is configured to detect changes to user data stored by the client on the storage system. In response to detecting that the data has been changed/modified, the agent examines each modified data container and parses the modified data to identify new and/or modified index terms or the creation/deletion of data container. Notably, the client-side agent may utilize client based file system (or other storage management) functionality to access the data overlaid onto the storage space exported by a storage system.
Once the data has been parsed to identify new/modified index terms, the agent transmits the parsed data to the data management module executing on the management server. The data management module receives the parsed data and updates a search database using the received data.
Upon initiating a search, the user enters a search query into a user interface of the data management module. In response, the data management module formulates a database query forwards the query to the search database, which process the query and forwards the query to the search database. The search database processes the query and returns the results to the data management module. The data management module then displays the results of the query to the user. The data management module may filter the displayed results based on access controls determined by, e.g., permissions associated with the user entering the query.
BRIEF DESCRIPTION OF THE DRAWINGS
The above and further advantages of invention may be better understood by referring to the following description in conjunction with the accompanying drawings in which like reference numerals indicate identical or functionally similar elements:
FIG. 1 is a schematic block diagram of an exemplary storage system environment in accordance with an illustrative embodiment of the present invention;
FIG. 2 is a schematic block diagram of an exemplary storage operating system executing on a storage system in accordance with an illustrative embodiment of the pre-sent invention;
FIG. 3 is a schematic block diagram showing file systems overlaid onto a volume group comprising one or more luns in accordance with an illustrative embodiment of the present invention;
FIG. 4 is a schematic block diagram of an exemplary word table data structure of a database in accordance with an illustrative embodiment of the present invention;
FIG. 5 is a schematic block diagram of an exemplary file table data structure of a database in accordance with an illustrative embodiment of the present invention;
FIG. 6 is a schematic block diagram of an exemplary content table data structure of a database in accordance with an illustrative embodiment of the present invention;
FIG. 7 is a flowchart detailing the steps of a procedure for updating search index information in accordance with an illustrative embodiment of the present invention; and
FIG. 8 is a flowchart detailing the steps of a procedure for querying a search database in accordance with an illustrative embodiment of the present invention.
DETAILED DESCRIPTION
A. Network Environment
FIG. 1 is a schematic block diagram of anenvironment100 including astorage system120 that may be advantageously used with the present invention. The storage system is illustratively a computer that provides storage service relating to the organization of information on storage devices, such asdisks130 of adisk array160. It should be noted that in alternate embodiments, a plurality ofstorage systems120 may be utilized. As such, the description of a single storage system should be taken as exemplary only. Thestorage system120 comprises aprocessor122, amemory124, anetwork adapter126 and astorage adapter128 interconnected by asystem bus125. Thestorage system120 also includes astorage operating system200 that preferably implements a high-level module, such as a file system, to logically organize the information as a hierarchical structure of data containers, such as directories, files and special types of files called virtual disks (hereafter logical units or “luns”) on the disks.
In the illustrative embodiment, thememory124 comprises storage locations that are addressable by the processor and adapters for storing software program code and data structures. The processor and adapters may, in turn, comprise processing elements and/or logic circuitry configured to execute the software code and manipulate the data structures.Storage operating system200, portions of which are typically resident in memory and executed by the processing elements, functionally organizes thesystem120 by, inter alia, invoking storage operations executed by the storage system. It will be apparent to those skilled in the art that other processing and memory means, including various computer readable media, may be used for storing and executing program instructions pertaining to the inventive technique described herein.
Thenetwork adapter126 comprises the mechanical, electrical and signaling circuitry needed to connect thestorage system120 to aclient110 over acomputer network105, which may comprise a point-to-point connection or a shared medium, such as a local area network (LAN) or wide area network (WAN). Illustratively, thecomputer network105 may be embodied as an Ethernet network or a Fibre Channel (FC) network. Theclient110 may communicate with the storage system overnetwork105 by exchanging discrete frames or packets of data according to pre-defined protocols, such as the Transmission Control Protocol/Internet Protocol (TCP/IP) or SCSI encapsulated in FC (FCP).
Theclient110 may be a general-purpose computer configured to execute an operating system (OS)172, anapplication173 and anovel agent175. Theoperating system172 may be a conventional operating system such as Microsoft Windows available from Microsoft Corp., a Linux-based operating system, etc. The operating system may include the functionality of a file system and/or a volume manager and execute one ormore applications173, such as a database that utilizes raw storage space available by the operating system. Theoperating system172 andapplications173 executing thereon may utilize storage exported by thestorage system120. As noted above, theoperating system172 may overlay a file system or other form of structured storage onto one or more exported luns from thestorage system120.
Anovel agent175 executes within theclient110 to identify modifications that occur to data containers managed by the client and to update adata management module155 executing on amanagement module150 in accordance with the principles of the pre-sent invention. Specifically, theagent175 tracks modifications to the data containers by, e.g., routinely scanning for changes to, e.g., user data of the containers. In response to identifying such changes, the agent parses the data to identify new and/or modified index terms. In alternate embodiments, theagent175 may include the capability to have plugins associated therewith. Such plugin modules may add functionality to parse differing data formats to enable theagent175 to parse a greater variety of data container formats.
These parsed index terms are then forwarded todata management module155 executing onmanagement server150. Illustratively, themanagement server150 is a separate computer executing withinenvironment100. However, in alternate embodiments, the functionality of themanagement server150 and/ordata management module155 may be integrated withclient110 and/orstorage system120. As such, the description of aseparate management server150 should be taken as exemplary only. Thedata management module155 provides functionality for indexing and searching user data overlaid onto storage space provided by thestorage system120. Themanagement server150 also includes an exemplary user interface152 to enable administrators and/or other users access to thedata management module155 for purposes of, e.g., entering search queries.
Themanagement server150 is operatively interconnected with asearch database158 utilized to maintain index information for user data. Thesearch database158 may be implemented within themanagement server150 or via a separate database server. As described further below, thesearch database158 may be implemented using a variety of data structures, e.g., tables to track particular search terms, as well as the data containers containing those terms for purposes of responding to queries entered by a user.
Theclient110 may interact with thestorage system120 in accordance with a client/server model of information delivery. That is, the client may request the services of the storage system, and the system may return the results of the services requested by the client, by exchanging packets over thenetwork105. The clients may issue packets including file-based access protocols, such as the Common Internet File System (CIFS) protocol or Network File System (NFS) protocol, over TCP/IP when accessing information in the form of files and directories. Alternatively, the client may issue packets including block-based access protocols, such as the Small Computer Systems Interface (SCSI) protocol encapsulated over TCP (iSCSI) and SCSI encapsulated over Fibre Channel (FCP), when accessing information in the form of blocks.
Thestorage adapter128 cooperates with thestorage operating system200 executing on thesystem120 to access information requested by a user (or client). The information may be stored on any type of attached array of writable storage device media such as video tape, optical, DVD, magnetic tape, bubble memory, electronic random access memory, micro-electro mechanical and any other similar media adapted to store information, including data and parity information. However, as illustratively described herein, the information is preferably stored on thedisks130, such as HDD and/or DASD, ofarray160. The storage adapter includes input/output (I/O) interface circuitry that couples to the disks over an I/O interconnect arrangement, such as a conventional high-performance, FC serial link topology.
Storage of information onarray160 is preferably implemented as one or more storage “volumes” that comprise a collection ofphysical storage disks130 cooperating to define an overall logical arrangement of volume block number (vbn) space on the volume(s). Each logical volume is generally, although not necessarily, associated with its own file system. The disks within a logical volume/file system are typically organized as one or more groups, wherein each group may be operated as a Redundant Array of Independent (or Inexpensive) Disks (RAID). Most RAID implementations enhance the reliability/integrity of data storage through the redundant writing of data “stripes” across a given number of physical disks in the RAID group, and the appropriate storing of parity information with respect to the striped data. An illustrative example of a RAID implementation is a RAID-4 level implementation, although it should be understood that other types and levels of RAID implementations may be used in accordance with the inventive principles described herein.
B. Storage Operating System
To facilitate access to thedisks130, thestorage operating system200 implements a write-anywhere file system that cooperates with virtualization modules to “virtualize” the storage space provided bydisks130. The file system logically organizes the information as a hierarchical structure of named data containers, such as directories and files, on the disks. Each “on-disk” file may be implemented as set of disk blocks configure to store information, such as data, whereas the directory may be implemented as a specially formatted file in which names and links to other files and directories are stored. The virtualization modules allow the file system to further logically organize information as a hierarchical structure of data container, such as blocks, on the disks that are exported as named luns.
In the illustrative embodiment, the storage operating system is preferably the NetApp® Data ONTAP® operating system available from Network Appliance, Inc., Sunnyvale, Calif. that implements a Write Anywhere File Layout (WAFL®) file system. However, it is expressly contemplated that any appropriate storage operating system may be enhanced for use in accordance with the inventive principles described herein. As such, where the term “WAFL” is employed, it should be taken broadly to refer to any file system that is otherwise adaptable to the teachings of this invention.
FIG. 2 is a schematic block diagram of thestorage operating system200 that may be advantageously used with the present invention. The storage operating system comprises a series of software layers organized to form an integrated network protocol stack or, more generally, a multi-protocol engine that provides data paths for clients to access information stored on the storage system using block and file access protocols. The protocol stack includes amedia access layer210 of network drivers (e.g., gigabit Ethernet drivers) that interfaces to network protocol layers, such as theIP layer212 and its supporting transport mechanisms, theTCP layer214 and the User Datagram Protocol (UDP)layer216. A file system protocol layer provides multi-protocol file access and, to that end, includes support for the Direct Access File System (DAFS)protocol218, theNFS protocol220, theCIFS protocol222 and the Hypertext Transfer Protocol (HTTP)protocol224. AVI layer226 implements the VI architecture to provide direct access transport (DAT) capabilities, such as RDMA, as required by theDAFS protocol218.
AniSCSI driver layer228 provides block protocol access over the TCP/IP network protocol layers, while aFC driver layer230 receives and transmits block access requests and responses to and from the storage system. The FC and iSCSI drivers provide FC-specific and iSCSI-specific access control to the blocks and, thus, manage exports of luns to either iSCSI or FCP or, alternatively, to both iSCSI and FCP when accessing the blocks on the storage system. In addition, the storage operating system includes a storage module embodied as aRAID system240 that manages the storage and retrieval of information to and from the volumes/disks in accordance with I/O operations, and adisk driver system250 that implements a disk access protocol such as, e.g., the SCSI protocol.
Bridging the disk software layers with the integrated network protocol stack layers is a virtualization system that is implemented by afile system280 interacting with virtualization modules illustratively embodied as, e.g.,vdisk module290 andSCSI target module270. Thevdisk module290 is layered on thefile system280 to enable access by administrative interfaces, in response to a user (system administrator) issuing commands to the storage system. TheSCSI target module270 is disposed between the FC andiSCSI drivers228,230 and thefile system280 to provide a translation layer of the virtualization system between the block (lun) space and the file system space, where luns are represented as blocks.
The file system is illustratively a message-based system that provides logical volume management capabilities for use in access to the information stored on the storage devices, such as disks. That is, in addition to providing file system semantics, thefile system280 provides functions normally associated with a volume manager. These functions include (i) aggregation of the disks, (ii) aggregation of storage bandwidth of the disks, and (iii) reliability guarantees, such as mirroring and/or parity (RAID). Thefile system280 illustratively implements the WAFL file system (hereinafter generally the “write-anywhere file system”) having an on-disk format representation that is block-based using, e.g., 4 kilobyte (kB) blocks and using index nodes (“inodes”) to identify files and file attributes (such as creation time, access permissions, size and block location). The file system uses files to store metadata describing the layout of its file system; these metadata files include, among others, an inode file. A file handle, i.e., an identifier that includes an inode number, is used to retrieve an inode from disk.
Broadly stated, all inodes of the write-anywhere file system are organized into the inode file. A file system (fs) info block specifies the layout of information in the file system and includes an inode of a file that includes all other inodes of the file system. Each logical volume (file system) has an fsinfo block that is preferably stored at a fixed location within, e.g., a RAID group. The inode of the root fsinfo block may directly reference (point to) blocks of the inode file or may reference indirect blocks of the inode file that, in turn, reference direct blocks of the inode file. Within each direct block of the inode file are embedded inodes, each of which may reference indirect blocks that, in turn, reference data blocks of a file.
Operationally, a request from theclient110 is forwarded as a packet over thecomputer network105 and onto thestorage system120 where it is received at thenetwork adapter126. A network driver (oflayer210 or layer230) processes the packet and, if appropriate, passes it on to a network protocol and file access layer for additional processing prior to forwarding to the write-anywhere file system280. Here, the file system generates operations to load (retrieve) the requested data fromdisk130 if it is not resident “in core”. If the information is not in core, thefile system280 indexes into the inode file using the inode number to access an appropriate entry and retrieve a logical vbn. The file system then passes a message structure including the logical vbn to theRAID system240; the logical vbn is mapped to a disk identifier and disk block number (disk, dbn) and sent to an appropriate driver (e.g., SCSI) of thedisk driver system250. The disk driver accesses the dbn from the specifieddisk130 and loads the requested data block(s) inmemory124 for processing by the storage system. Upon completion of the request, the storage system (and operating system) returns a reply to theclient110 over thenetwork105.
It should be noted that the software “path” through the storage operating system layers described above needed to perform data storage access for the client request received at the storage system may alternatively be implemented in hardware. That is, in an alternate embodiment of the invention, a storage access request data path may be implemented as logic circuitry embodied within a field programmable gate array (FPGA) or an application specific integrated circuit (ASIC). This type of hardware implementation increases the performance of the storage service provided bystorage system120 in response to a request issued byclient110. Moreover, in another alternate embodiment of the invention, the processing elements ofadapters126,128 may be configured to offload some or all of the packet processing and storage access operations, respectively, fromprocessor122, to thereby increase the performance of the storage service provided by the system. It is expressly contemplated that the various processes, architectures and procedures described herein can be implemented in hardware, firmware or software.
As used herein, the term “storage operating system” generally refers to the computer-executable code operable to perform a storage function in a storage system, e.g., that manages data access and may, in the case of a file server, implement file system semantics. In this sense, the ONTAP software is an example of such a storage operating system implemented as a microkernel and including the file system module to implement the file system semantics and manage data access. The storage operating system can also be implemented as an application program operating over a general-purpose operating system, such as UNIX® or Windows XP®, or as a general-purpose operating system with configurable functionality, which is configured for storage applications as described herein.
In addition, it will be understood to those skilled in the art that the inventive technique described herein may apply to any type of special-purpose (e.g., file server, filer or multi-protocol storage appliance) or general-purpose computer, including a standalone computer or portion thereof, embodied as or including astorage system120. An example of a multi-protocol storage appliance that may be advantageously used with the present invention is described in previously mentioned U.S. patent application Ser. No. 10/215,917 titled MULTI-PROTOCOL STORAGE APPLIANCE THAT PROVIDES INTEGRATED SUPPORT FOR FILE AND BLOCK ACCESS PROTOCOLS, filed on Aug. 8, 2002. Moreover, the teachings of this invention can be adapted to a variety of storage system architectures including, but not limited to, a network-attached storage environment, a storage area network and disk assembly directly-attached to a client or host computer. The term “storage system” should therefore be taken broadly to include such arrangements in addition to any subsystems configure to perform a storage function and associated with other equipment or systems.
C. File System Organization
FIG. 3 is a schematic block diagram of anexemplary environment300 showing a number of file systems overlaid onto logical volumes existing within volume groups in accordance with an embodiment of the present invention. At the base of theenvironment300 aredisks130 associated withstorage system120. Overlaid onto thedisks130 is astorage system volume305 that includes a number ofluns310A-D, which may be exported by the storage system. In the illustrative environment300 a plurality of volume groups315 is maintained and managed by aclient110 of thestorage system120. The volume groups315 are illustratively managed by file system or volume manager functionality within theoperating system172 of the client170. Alternately, a volume manager system may be implemented to organize the volumes into volume groups for use by clients. As such, the description of the storage space as organized into client volume groups by a client operating system should be taken as exemplary only. Thefirst volume group315A comprisesluns310 A, B, whereas thesecond volume group315B comprisesluns310 C, D. The client may overlay a number of file systems onto logical volumes defined within the volume groups315 although this is not a requirement of the illustrative environment. That is, instead of overlaying file systems onto the logical volumes, the client may access the logical volume as a region of raw data storage. In theillustrative environment300, however,file system320A, B are overlaid onto hostlogical volume325A withinvolume group315A, and similarly,file system320C is overlaid onto hostlogical volume325B withinvolume group315 B.
As noted above, user data contained in file systems320 or logical volumes325 may be stored in a format different than that utilized by the storage system forvolume305 and/or luns310. Thus, theagent175 may utilize theoperating system172 to access the user data stored in file system320 and/or logical volumes325.
D. Indexing User Data
The present invention provides a system and method for indexing user data of data containers stored on one or more storage systems. This enables users to locate data quickly, without the requirement of performing slow file system crawls to locate data containers containing identified search terms. A management module configured to implement indexing and searching functionality executes on a management server that is operatively interconnected with the storage system. Each client of the storage system executes a novel client side agent that is configured to detect changes to data stored by the client on the storage system. In response to detecting that data has been modified, the agent examines the modified data containers and parses the modified data to identify new and/or modified index terms or the creation/deletion of data containers. Notably, the client-side agent may utilize client based file system (or other storage management) functionality to access the data overlaid onto storage space exported by the storage system.
Once the data has been parsed to identify new/modified index terms, the agent transmits the parsed data to the management module executing on the management server. The management module receives the parsed data and updates a search database using the received data.
Upon initiating a search, the user enters an appropriate search query into a user interface of the data management module. For example, a user may desire to locate all files with the term “Accounts Receivable.” In response, the data management module formulates database query and forwards the query to the search database, which process the query and returns results to the data management module. The data management module then displays the results of the query to the user. As noted, a crawl is not performed through the file system (or storage space) on the storage system to locate the data containers, thereby improving search times and reducing the amount of resources consumed by the search.
As noted above, thesearch database158 is utilized by thedata management module155 to track index information in accordance with an illustrative embodiment of the present invention. The database may be implemented using conventional database techniques, such as using a structured query language (SQL) database. Illustratively, the search database manages associations between specific index search words, files (or other data containers) and the storage system hosting the data containers.
Thesearch database158 illustratively implements a schema that organizes information as a plurality of data structures (such as tables) including, e.g., a wordtable data structure400, a filetable data structure500 and/or one or more contenttable data structures600. It should be noted that the description of various data structures contained within the search database should be taken as exemplary only and that alternate techniques for organizing search information may be utilized in accordance with the principles of the present invention. As such, the search database schema described herein should be taken as exemplary only.
FIG. 4 is a schematic block diagram of an exemplary wordtable data structure400 for use in a search database in accordance with an embodiment of the present invention. Thedata structure400 includes a plurality ofentries405, each of which comprises aword field410, a word identifier (ID)field415 and, in alternate embodiments,additional fields420. Eachword field410 contains a text string of a particular search indexed word. For example,word field410 may contain the string “revenue.” The word (ID)field415 contains a numeric identifier associated with the word contained within theword field410. Thus, for example, the index term “revenue” may be associated with a word ID of101. The word ID may then be utilized throughout the search database to represent the word contained inword field410. Thus the wordtable data structure400 associates words with numeric identifiers. For search terms that include multiple words, e.g., “Accounts Receivable,” a plurality of entries will be created, one for each word of the search term. In such embodiments, thedata management module150 may correlate searches so that the results displayed are only those data containers that include all for the words of the search term.
FIG. 5 is a schematic block diagram of an exemplary filetable data structure500 for use in a search database in accordance with an embodiment of the present invention. The filetable data structure500 includes a plurality ofentries505. Eachentry505 illustratively includes afilename field510, a file identifier (ID)field515, afile type field520, a storagesystem type field525, a storagesystem name field530, a host (client) namesfield535 and, in alternate embodiments,additional fields540. Thefilename field510 contains a file name of the data container stored within the storage system by the client. Thefile identifier field515 contains an identifier of the file or other data container. Thefile type field520 identifies a type of file, e.g., a text file, a Microsoft Word file, etc. The storagesystem type field525 identifies whether the data container is stored within, e.g., a SAN or a NAS environment. Illustratively this may be implemented as a Boolean value; however, in alternate embodiments, additional techniques to differentiate the storage environment may be utilized. The storagesystem name field530 identifies the storage system storing the data container identified by theentry505. The client namesfield535 identifies clients that have access to the identified data container.
FIG. 6 is a schematic block diagram of an exemplary contenttable data structure600 for use in a search database in accordance with an embodiment of the present invention. The contenttable data structure600 includes a plurality ofentries605. Eachentry605 includes afile ID field515, aword ID field415 and, in alternate embodimentsadditional fields610. Thefile ID field515 identifies a file (or other data container) stored by a client on the storage system. Theword ID field415 identifies a word from wordtable data container400 described above in reference toFIG. 4. Thus, thecontent data structure600 provides a mapping between files and search index words. By examining a number identifying a search index word using table400, aword ID415 may be located. Then, by examining the contenttable data structure600, one ormore file ID515 of data containers containing the identified word may be identified. Utilizing thefile identifiers515, the database may examine the filetable data structure500 to verify additional information relating to the data containers.
FIG. 7 is a flowchart detailing the steps of aprocedure700 for updating search index information in accordance with an embodiment of the present invention. Theprocedure700 begins instep705 and continues to step710 where theagent175 determines that data has been changed onclient110, by, e.g., periodically querying a file system or other component of theoperating system172 to identify recently modified data containers. Alternately, theagent175 may routinely perform a scan of the file system and/or overlaid storage to determine recently modified data containers. It should be noted that in an alternate embodiment of the present invention, the agent may be configured to ignore certain data containers from being indexed. For example, should an administrator know that a particular storage system is under heavy I/O, the administrator may configure the system to not scan and/or index data containers associated with that storage system.
In response to determining that data has been changed, theagent175 parses the changed data to identify new/modified index terms and/or new/deleted data containers instep715. Such parsing may be performed by, for example, theagent175 reading the new and/or modified data containers to identify certain search terms. The agent may parse the data by, for example, invoking file system and/or volume manager read functionality contained within the operating system. Alternately, theagent175 may utilize an application, such as a database application executing on the client, to perform read operations to identify the new index terms. The agent then transmits the parsed data to the data management module instep720. Theagent175 may transmit the data to the data management module using conventional remote procedure calls (RPCs). However, in alternate embodiments, theagent175 may transmit data using any acceptable point-to-point data transmission technique. As such, description of the utilization of RPCs should be taken as exemplary only.
As theagent175 executes on theclient110 and may access file system and/or volume manager functionality of theoperating system172, data may be indexed that is not stored in the storage system's native data format. That is, client data may utilize any form of data format overlaid onto luns (or other storage) exported from thestorage system120. By utilizing thenovel agent175, user data may be indexed regardless of the data format utilized by the storage system. Furthermore, the present invention permits user data indexing on storage systems that do not include indexing functionality within a storage operating system.
Thedata management module155 receives the parsed data instep725 and updates thesearch database158 with the received parsed data instep730. For example, data management module receives the parsed data and generates appropriate word entries within wordtable data structure400. Furthermore, the data management module may create additional associations within the contenttable data structure600. If the parsed data signifies that a new data container has been created, a new entry may be generated in the filetable data structure500. By updating the search database, the data management module enables future queries to return the most up-to-date information.
Procedure700 may be performed by a plurality of agents that may update a singledata management module155 andsearch database158. However, in alternate embodiments, a plurality of data management modules may be updated. If a single data management module and search database are utilized a user may be able to perform broader searches by querying a central data management module. Theprocedure700 then completes instep735.
FIG. 8 is a flowchart detailing the steps of aprocedure800 for responding to search queries in accordance with an embodiment of the present invention. Theprocedure800 begins instep805 and continues to step810 where a user enters a query into the user interface152 of thedata management module155. An exemplary query may be to identify all data containers containing a particular search term. Such a query may be utilized by the user (e.g. an administrator) to identify particular subsets of the overall data containers for use in data management. The user interface152 then forwards the query to thedata management module155 instep815. The user interface may forward the queries via a local procedure call (LPC), if the user interface and data management module execute on thesame management server150, or via a RPC should the data management module and the user interface execute on differing servers. It should be noted that in alternate embodiments other forms of interprocess communication may be utilized. Furthermore, the user interface may be integrated into the data management module, thereby obviating the need for interprocess communication. The data management module formulates a query, e.g., a SQL query, and forwards the query to the database instep820. The query represents the query entered by the administrator instep810 above. It should be noted that the description of the use of SQL should be taken as exemplary only and that other forms of database querying techniques may be utilized in accordance with the principles of the present invention.
The database performs the query and responds with the results of the query instep825. In the example of the database schema described above in reference toFIGS. 4-6, the database may examine the wordtable data structure400 to identify appropriate word IDs associated with the index terms to be queried. The word IDs may then be located within the contenttable data structure600 to identify one or more file identifiers of data containers including the identified search terms. The file identifiers may then be utilized to identify the appropriate entries in table500. The information in table500 may further be utilized to formulate the response to the query. The data management module displays results based on, e.g., access permissions via the user interface instep830. In the illustrative embodiment, the data management module may perform an access control check before displaying the results of the query. Thus, for example, should a plurality of clients utilize a common data management module, results returned from thesearch database158 may include matches from clients other than the one associated with the particular user. Thus, thedata management module155 may filter responses before display to pre-vent users from obtaining matches on other clients. Theprocedure800 then completes instep835.
The foregoing description has been directed to specific embodiments of this invention. It will be apparent, however, that other variations and modifications may be made to the described embodiments, with the attainment of some or all of their advantages. For instance, it is expressly contemplated that the teachings of this invention can be implemented as software, including a computer-readable medium having program instructions executing on a computer, hardware, firmware, or a combination thereof. Accordingly this description is to be taken only by way of example and not to otherwise limit the scope of the invention. Therefore, it is the object of the appended claims to cover all such variations and modifications as come within the true spirit and scope of the invention.

Claims (19)

What is claimed is:
1. A method for indexing data overlaid on a storage space exported by a storage system, including a processor and a memory, to a client, the method comprising:
determining, by an agent executing on the client, that the data, associated with data containers of the storage system managed by the client, has been modified by the client, wherein the agent utilizes functionality of a client-based file system to access the data overlaid on the storage space exported by the storage system to determine the modified data, wherein the client-based file system has a format different than that of the storage system's native file system format, the native file system configured to perform indexing functionality; and
in response to determining that the data has been modified by the client, utilizing the functionality of the client-based file system, to access the data overlaid on the storage space exported by the storage system to:
parse, by the agent, the modified data,
transmit, from the client to a management server, the parsed data, and
update a search database associated with the management server utilizing the parsed data, whereby the data stored on the storage system is indexed, wherein updating the search database includes:
(i) generating one or more word entries, for the parsed data, within a word table data structure of the search database that associates each word entry with a numeric identifier,
(ii) creating associations within a content table data structure of the search database that provides at least a mapping between a particular word entry stored in the word table data structure and file entries stored in a file table data structure of the search database utilizing the numeric identifier, and
(iii) generating a new entry for the file table data structure when the parsed data indicates that a new data container has been created.
2. The method ofclaim 1, wherein parsing the modified data further comprises identifying new index terms within the modified data.
3. The method ofclaim 1, wherein parsing the modified data further comprises identifying modified index terms within the modified data.
4. The method ofclaim 1, wherein parsing the modified data further comprises identifying one or more additional new data containers.
5. The method ofclaim 4, wherein the new data container comprises a file.
6. The method ofclaim 1, wherein parsing the modified data further comprises identifying deleted data containers.
7. The method ofclaim 1, wherein parsing the modified data further comprises reading the modified data by the agent using the client-based file system functionality.
8. The method ofclaim 1, wherein parsing the modified data further comprises reading the modified data by the agent using an application program executing on the client.
9. The method ofclaim 8, wherein the application program comprises a volume manager.
10. The method ofclaim 8, wherein the application program comprises a database program.
11. The method ofclaim 1, wherein a data management module executes on the management server operatively interconnected with the client.
12. The method ofclaim 1, wherein the agent that utilizes the client based file system functionality to access the data overlaid on the storage space exported by the storage system, further comprises: querying, by the agent, the file system of an operating system executing on the client utilizing a first protocol to access the data overlaid on the storage space, that includes logical unit numbers (luns), exported by the storage system, wherein the first protocol is different from a second protocol being utilized by the storage system.
13. A system for indexing data, the system comprising:
a storage system, including a computer processor and a computer memory, configured to export the data overlaid on storage space for use by a client; and
an agent executing on the client, the agent configured to identify modified data by utilizing functionality of a client-based file system to access the data overlaid on the storage space exported by the storage system, the client-based file system having a format that is different than that of the storage system's native file system format that is configured to perform indexing functionality, and
in response to identifying the modified data utilizing the functionality of the client-based file system, to access the data overlaid on the storage space exported by the storage system, the computer processor configured to:
parse the modified data, and
forward the parsed modified data from the client to a management server, wherein the management server is configured to update a search database associated with the data management server using the parsed data, wherein updating the search database includes:
(i) generating one or more word entries, for the parsed data, within a word table data structure of the search database that associates each word entry with a numeric identifier,
(ii) creating associations within a content table data structure of the search database that provides at least a mapping between a particular word entry stored in the word table data structure and file entries stored in a file table data structure of the search database utilizing the numeric identifier, and
(iii) generating a new entry for the file table data structure when the parsed data indicates that a new data container has been created.
14. The system ofclaim 13, wherein the client utilizes the exported storage space to store structured data from an application.
15. The system ofclaim 13, wherein the agent parses the modified data utilizing the client-based file system functionality.
16. The system ofclaim 13, wherein the agent parses the modified data using an application executing on the client.
17. The system ofclaim 13, wherein a data management module executes on the management server operatively interconnected with the client.
18. The system ofclaim 13, wherein the management server is further configured to, in response to a user request, perform a query of the search database and display results of the query.
19. A non-transitory computer readable medium containing executable program instructions executed by a processor, comprising:
program instructions that determine, by an agent executing on a client, that data has been modified by the client, wherein the agent utilizes functionality of a client-based file system to access the data overlaid on the storage space exported by the storage system to determine the modified data, wherein the client-based file system has a format different than that of the storage system's native file system format that is configured to perform indexing functionality; and
program instructions that, in response to identifying the modified data, utilizes the functionality of client-based file system to access the data overlaid on the storage space exported by the storage system, the program instructions executable to:
parse the modified data,
transmit, from the client to a management server, the parsed data, and
update a search database associated with the management server utilizing the parsed data, wherein updating the search database includes:
(i) generating one or more word entries, for the parsed data, within a word table data structure of the search database that associates each word entry with a numeric identifier,
(ii) creating associations within a content table data structure of the search database that provides at least a mapping between word entries stored in the word table data structure and file entries stored in a file table data structure of the search database utilizing the numeric identifier, and
(iii) generating a new entry for the file table data structure when the parsed data indicates that a new data container has been created.
US11/847,9252007-02-212007-08-30System and method for indexing user data on storage systemsActive2030-12-10US8868495B2 (en)

Applications Claiming Priority (2)

Application NumberPriority DateFiling DateTitle
IN358DE20072007-02-21
IN358/DEL/20072007-02-21

Publications (2)

Publication NumberPublication Date
US20080201384A1 US20080201384A1 (en)2008-08-21
US8868495B2true US8868495B2 (en)2014-10-21

Family

ID=39707560

Family Applications (1)

Application NumberTitlePriority DateFiling Date
US11/847,925Active2030-12-10US8868495B2 (en)2007-02-212007-08-30System and method for indexing user data on storage systems

Country Status (1)

CountryLink
US (1)US8868495B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US10262004B2 (en)2016-02-292019-04-16Red Hat, Inc.Native snapshots in distributed file systems
US20210359954A1 (en)*2020-05-152021-11-18Cisco Technology, Inc.Load Balancing Communication Sessions in a Networked Computing Environment

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US8086582B1 (en)2007-12-182011-12-27Mcafee, Inc.System, method and computer program product for scanning and indexing data for different purposes
US9449178B2 (en)*2012-07-242016-09-20ID InsightSystem, method and computer product for fast and secure data searching
GB2546250B (en)*2016-01-062020-06-17Ge Aviation Systems Taleris LtdAutomated fusion and analysis of multiple sources of aircraft data
US11816240B1 (en)*2019-11-272023-11-14United Services Automobile Association (Usaa)Self-modifying data containers for improved data security

Citations (103)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US4570217A (en)1982-03-291986-02-11Allen Bruce SMan machine interface
US4876643A (en)1987-06-241989-10-24Kabushiki Kaisha ToshibaParallel searching system having a master processor for controlling plural slave processors for independently processing respective search requests
US5124987A (en)1990-04-161992-06-23Storage Technology CorporationLogical track write scheduling system for a parallel disk drive array data storage subsystem
US5163131A (en)1989-09-081992-11-10Auspex Systems, Inc.Parallel i/o network file server architecture
US5202979A (en)1985-05-081993-04-13Thinking Machines CorporationStorage system using multiple independently mechanically-driven storage units
US5278979A (en)1990-12-201994-01-11International Business Machines Corp.Version management system using pointers shared by a plurality of versions for indicating active lines of a version
US5403667A (en)1989-01-121995-04-04Solvay & Cie (Societe Anonyme)Compatibilized compositions comprising a polyamide and polypropylene and adhesive composites containing these compositions
US5485579A (en)1989-09-081996-01-16Auspex Systems, Inc.Multiple facility operating system architecture
US5511177A (en)1991-11-211996-04-23Hitachi, Ltd.File data multiplexing method and data processing system
US5581724A (en)1992-10-191996-12-03Storage Technology CorporationDynamically mapped data storage subsystem having multiple open destage cylinders and method of managing that subsystem
US5742817A (en)1995-12-081998-04-21Emc CorporationMethod and apparatus for file server addressing
US5819292A (en)1993-06-031998-10-06Network Appliance, Inc.Method for maintaining consistent states of a file system and for creating user-accessible read-only copies of a file system
US5897661A (en)1997-02-251999-04-27International Business Machines CorporationLogical volume manager and method having enhanced update capability with dynamic allocation of storage and minimal storage of metadata information
US5941972A (en)1997-12-311999-08-24Crossroads Systems, Inc.Storage router and method for providing virtual local storage
US5948110A (en)1993-06-041999-09-07Network Appliance, Inc.Method for providing parity in a raid sub-system using non-volatile memory
US5963962A (en)1995-05-311999-10-05Network Appliance, Inc.Write anywhere file-system layout
US6009481A (en)1996-09-301999-12-28Emc CorporationMass storage system using internal system-level mirroring
US6021409A (en)*1996-08-092000-02-01Digital Equipment CorporationMethod for parsing, indexing and searching world-wide-web pages
US6038570A (en)1993-06-032000-03-14Network Appliance, Inc.Method for allocating files in a file system integrated with a RAID disk sub-system
US6061770A (en)1997-11-042000-05-09Adaptec, Inc.System and method for real-time data backup using snapshot copying with selective compaction of backup data
US6065010A (en)*1997-06-102000-05-16Daikin Us CorporationComputer implemented method of generating virtual files for sharing information of physical information file
US6081875A (en)1997-05-192000-06-27Emc CorporationApparatus and method for backup of a disk storage system
US6119244A (en)1998-08-252000-09-12Network Appliance, Inc.Coordinating persistent status information with multiple file servers
US6138126A (en)1995-05-312000-10-24Network Appliance, Inc.Method for allocating files in a file system integrated with a raid disk sub-system
US6185655B1 (en)1998-01-222001-02-06Bull, S.A.Computer system with distributed data storing
US6192408B1 (en)1997-09-262001-02-20Emc CorporationNetwork file server sharing local caches of file access information in data processors assigned to respective file systems
US6230200B1 (en)1997-09-082001-05-08Emc CorporationDynamic modeling for resource allocation in a file server
US6282658B2 (en)1998-05-212001-08-28Equifax, Inc.System and method for authentication of network users with preprocessing
US6341341B1 (en)1999-12-162002-01-22Adaptec, Inc.System and method for disk control with snapshot feature including read-write snapshot half
US6434681B1 (en)1999-12-022002-08-13Emc CorporationSnapshot copy facility for a data storage system permitting continued host read/write access
US20020175938A1 (en)2001-05-222002-11-28Hackworth Brian M.System and method for consolidated reporting of characteristics for a group of file systems
US6560615B1 (en)1999-12-172003-05-06Novell, Inc.Method and apparatus for implementing a highly efficient, robust modified files list (MFL) for a storage system volume
US6574591B1 (en)1998-07-312003-06-03Network Appliance, Inc.File systems image transfer between dissimilar file systems
US6604118B2 (en)1998-07-312003-08-05Network Appliance, Inc.File system image transfer
US20030149683A1 (en)*1998-11-192003-08-07Lee Terry SetoMethod and apparatus for obtaining an identifier for a logical unit of data in a database
US6606690B2 (en)2001-02-202003-08-12Hewlett-Packard Development Company, L.P.System and method for accessing a storage area network as network attached storage
US20030167380A1 (en)2002-01-222003-09-04Green Robbie A.Persistent Snapshot Management System
US20030177324A1 (en)*2002-03-142003-09-18International Business Machines CorporationMethod, system, and program for maintaining backup copies of files in a backup storage device
US6636908B1 (en)1999-06-282003-10-21Sangate Systems, Inc.I/O system supporting extended functions and method therefor
US6636981B1 (en)2000-01-062003-10-21International Business Machines CorporationMethod and system for end-to-end problem determination and fault isolation for storage area networks
US20030227487A1 (en)*2002-06-012003-12-11Hugh Harlan M.Method and apparatus for creating and accessing associative data structures under a shared model of categories, rules, triggers and data relationship permissions
US20030233618A1 (en)*2002-06-172003-12-18Canon Kabushiki KaishaIndexing and querying of structured documents
US6671773B2 (en)2000-12-072003-12-30Spinnaker Networks, LlcMethod and system for responding to file system requests
US20040022278A1 (en)2002-02-282004-02-05Thomas Charles GomerLocalization and targeting of data in broadcast streams
US20040030668A1 (en)2002-08-092004-02-12Brian PawlowskiMulti-protocol storage appliance that provides integrated support for file and block access protocols
WO2004015522A2 (en)2002-08-092004-02-19Network Appliance, Inc.Storage virtualization by layering virtual disk objects on a file system
US6707818B1 (en)1999-03-172004-03-16Broadcom CorporationNetwork switch memory interface configuration
US6735636B1 (en)1999-06-282004-05-11Sepaton, Inc.Device, system, and method of intelligently splitting information in an I/O system
US6751219B1 (en)2000-04-202004-06-15Aztech Partners, Inc.Multicast packet duplication at random node or at egress port with frame synchronization
US20040250033A1 (en)*2002-10-072004-12-09Anand PrahladSystem and method for managing stored data
US20050015354A1 (en)2003-07-172005-01-20International Business Machines CorporationPerformance-enhancing system and method of accessing file system objects
US20050021512A1 (en)*2003-07-232005-01-27Helmut KoenigAutomatic indexing of digital image archives for content-based, context-sensitive searching
US6868417B2 (en)2000-12-182005-03-15Spinnaker Networks, Inc.Mechanism for handling file level and block level remote file accesses using the same server
US6883073B2 (en)2002-01-092005-04-19Hitachi, Ltd.Virtualized volume snapshot formation method
US6895413B2 (en)2002-03-222005-05-17Network Appliance, Inc.System and method for performing an on-line check of a file system
US20050114408A1 (en)*2003-11-262005-05-26Stephen GoldData management systems, data management system storage devices, articles of manufacture, and data management methods
US20050192974A1 (en)2004-02-122005-09-01International Business Machines CorporationMethod of converting a filesystem while the filesystem remains in an active state
US20050228835A1 (en)*2004-04-122005-10-13Guillermo RoaSystem and method for supporting block-based protocols on a virtual storage appliance executing within a physical storage appliance
US6981268B2 (en)2001-12-052005-12-27Microsoft CorporationSystem and method for persisting and resolving application assembly binds
US6993539B2 (en)2002-03-192006-01-31Network Appliance, Inc.System and method for determining changes in two snapshots and for transmitting changes to destination snapshot
US6993027B1 (en)1999-03-172006-01-31Broadcom CorporationMethod for sending a switch indicator to avoid out-of-ordering of frames in a network switch
US7007046B2 (en)2002-03-192006-02-28Network Appliance, Inc.Format for transmission file system information between a source and a destination
US7010553B2 (en)2002-03-192006-03-07Network Appliance, Inc.System and method for redirecting access to a remote mirrored snapshot
US20060064476A1 (en)*2004-09-232006-03-23Decasper Dan SAdvanced content and data distribution techniques
US20060085471A1 (en)*2004-10-152006-04-20Vijayan RajanSystem and method for reclaiming unused space from a thinly provisioned data container
US7039663B1 (en)2002-04-192006-05-02Network Appliance, Inc.System and method for checkpointing and restarting an asynchronous transfer of data between a source and destination snapshot
US7039656B1 (en)*1999-10-202006-05-02Yodlee.Com, Inc.Method and apparatus for synchronizing data records between a remote device and a data server over a data-packet-network
US7043485B2 (en)2002-03-192006-05-09Network Appliance, Inc.System and method for storage of snapshot metadata in a remote file
US7099866B1 (en)2001-11-162006-08-29Hewlett-Packard Development Company, L.P.Method of generating and presenting kernel data
US7103616B1 (en)2003-02-192006-09-05Veritas Operating CorporationCookie-based directory name lookup cache for a cluster file system
US7107273B2 (en)2003-11-282006-09-12Hitachi, Ltd.Method and program of collecting performance data for storage network
US7127577B2 (en)2003-01-212006-10-24Equallogic Inc.Distributed snapshot process
US20060242212A1 (en)2002-08-082006-10-26Andre BrinkmannMethod and arrangement for randomly storing data
US20060265358A1 (en)*2005-05-172006-11-23Junichi HaraMethod and apparatus for providing information to search engines
US20060277221A1 (en)2005-06-012006-12-07Green Hills Software, Inc.Transactional file system with client partitioning
US20060288026A1 (en)2005-06-202006-12-21Zayas Edward RSystem and method for maintaining mappings from data containers to their parent directories
US7162473B2 (en)2003-06-262007-01-09Microsoft CorporationMethod and system for usage analyzer that determines user accessed sources, indexes data subsets, and associated metadata, processing implicit queries based on potential interest to users
US20070094465A1 (en)2001-12-262007-04-26Cisco Technology, Inc., A Corporation Of CaliforniaMirroring mechanisms for storage area networks and network based virtualization
US7225204B2 (en)2002-03-192007-05-29Network Appliance, Inc.System and method for asynchronous mirroring of snapshots at a destination using a purgatory directory and inode mapping
US7227862B2 (en)2000-09-202007-06-05Broadcom CorporationNetwork switch having port blocking capability
US20070136243A1 (en)*2005-12-122007-06-14Markus SchornSystem and method for data indexing and retrieval
US20070168400A1 (en)*2006-01-172007-07-19Hon Hai Precision Industry Co., Ltd.System and method for synchronizing file indexes remotely
US20070185940A1 (en)2003-11-132007-08-09Anand PrahladSystem and method for performing an image level snapshot and for restoring partial volume data
US20070203938A1 (en)*2005-11-282007-08-30Anand PrahladSystems and methods for classifying and transferring information in a storage network
US7284030B2 (en)2002-09-162007-10-16Network Appliance, Inc.Apparatus and method for processing data in a network
US20070250663A1 (en)2002-01-222007-10-25Columbia Data Products, Inc.Persistent Snapshot Methods
US7299463B2 (en)2001-09-282007-11-20Intel CorporationMethod for atomically updating a plurality of files
US7313720B1 (en)2004-02-122007-12-25Network Appliance, Inc.Technique for increasing the number of persistent consistency point images in a file system
US20080021902A1 (en)*2006-07-182008-01-24Dawkins William PSystem and Method for Storage Area Network Search Appliance
US7340639B1 (en)2004-01-082008-03-04Network Appliance, Inc.System and method for proxying data access commands in a clustered storage system
US7346623B2 (en)2001-09-282008-03-18Commvault Systems, Inc.System and method for generating and managing quick recovery volumes
US7383288B2 (en)2001-01-112008-06-03Attune Systems, Inc.Metadata based file switch and switched file system
US7386546B1 (en)2002-07-092008-06-10Network Appliance, Inc.Metadirectory namespace and method for use of the same
US7409494B2 (en)2004-04-302008-08-05Network Appliance, Inc.Extension of write anywhere file system layout
US7440467B2 (en)2004-05-052008-10-21Gigamon Systems LlcAsymmetric packet switch and a method of use
US20080270520A1 (en)*2004-11-162008-10-30Skinkers LimitedProvision of Personal Data in a Data Communications Network
US7454445B2 (en)2000-08-182008-11-18Network Appliance, Inc.Write allocation based on storage system map and snapshot
US7478101B1 (en)2003-12-232009-01-13Networks Appliance, Inc.System-independent data format in a mirrored storage system environment and method for using the same
US20090043798A1 (en)*2000-09-082009-02-12Dean TanTechniques for automatically developing a web site
US7523343B2 (en)2004-04-302009-04-21Microsoft CorporationReal-time file system repairs
US7571158B2 (en)*2006-08-252009-08-04Oracle International CorporationUpdating content index for content searches on networks
US7596713B2 (en)2002-11-202009-09-29Intranational Business Machines CorporationFast backup storage and fast recovery of data (FBSRD)
US7617365B2 (en)2004-04-282009-11-10Emc CorporationSystems and methods to avoid deadlock and guarantee mirror consistency during online mirror synchronization and verification

Patent Citations (115)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US4570217A (en)1982-03-291986-02-11Allen Bruce SMan machine interface
US5202979A (en)1985-05-081993-04-13Thinking Machines CorporationStorage system using multiple independently mechanically-driven storage units
US4876643A (en)1987-06-241989-10-24Kabushiki Kaisha ToshibaParallel searching system having a master processor for controlling plural slave processors for independently processing respective search requests
US5403667A (en)1989-01-121995-04-04Solvay & Cie (Societe Anonyme)Compatibilized compositions comprising a polyamide and polypropylene and adhesive composites containing these compositions
US5802366A (en)1989-09-081998-09-01Auspex Systems, Inc.Parallel I/O network file server architecture
US5931918A (en)1989-09-081999-08-03Auspex Systems, Inc.Parallel I/O network file server architecture
US5355453A (en)1989-09-081994-10-11Auspex Systems, Inc.Parallel I/O network file server architecture
US5163131A (en)1989-09-081992-11-10Auspex Systems, Inc.Parallel i/o network file server architecture
US5485579A (en)1989-09-081996-01-16Auspex Systems, Inc.Multiple facility operating system architecture
US6065037A (en)1989-09-082000-05-16Auspex Systems, Inc.Multiple software-facility component operating system for co-operative processor control within a multiprocessor computer system
US5124987A (en)1990-04-161992-06-23Storage Technology CorporationLogical track write scheduling system for a parallel disk drive array data storage subsystem
US5278979A (en)1990-12-201994-01-11International Business Machines Corp.Version management system using pointers shared by a plurality of versions for indicating active lines of a version
US5511177A (en)1991-11-211996-04-23Hitachi, Ltd.File data multiplexing method and data processing system
US5581724A (en)1992-10-191996-12-03Storage Technology CorporationDynamically mapped data storage subsystem having multiple open destage cylinders and method of managing that subsystem
US6038570A (en)1993-06-032000-03-14Network Appliance, Inc.Method for allocating files in a file system integrated with a RAID disk sub-system
US5819292A (en)1993-06-031998-10-06Network Appliance, Inc.Method for maintaining consistent states of a file system and for creating user-accessible read-only copies of a file system
US5948110A (en)1993-06-041999-09-07Network Appliance, Inc.Method for providing parity in a raid sub-system using non-volatile memory
US6138126A (en)1995-05-312000-10-24Network Appliance, Inc.Method for allocating files in a file system integrated with a raid disk sub-system
US5963962A (en)1995-05-311999-10-05Network Appliance, Inc.Write anywhere file-system layout
US5742817A (en)1995-12-081998-04-21Emc CorporationMethod and apparatus for file server addressing
US6021409A (en)*1996-08-092000-02-01Digital Equipment CorporationMethod for parsing, indexing and searching world-wide-web pages
US6009481A (en)1996-09-301999-12-28Emc CorporationMass storage system using internal system-level mirroring
US5897661A (en)1997-02-251999-04-27International Business Machines CorporationLogical volume manager and method having enhanced update capability with dynamic allocation of storage and minimal storage of metadata information
US6081875A (en)1997-05-192000-06-27Emc CorporationApparatus and method for backup of a disk storage system
US6065010A (en)*1997-06-102000-05-16Daikin Us CorporationComputer implemented method of generating virtual files for sharing information of physical information file
US6230200B1 (en)1997-09-082001-05-08Emc CorporationDynamic modeling for resource allocation in a file server
US6192408B1 (en)1997-09-262001-02-20Emc CorporationNetwork file server sharing local caches of file access information in data processors assigned to respective file systems
US6061770A (en)1997-11-042000-05-09Adaptec, Inc.System and method for real-time data backup using snapshot copying with selective compaction of backup data
US5941972A (en)1997-12-311999-08-24Crossroads Systems, Inc.Storage router and method for providing virtual local storage
US6425035B2 (en)1997-12-312002-07-23Crossroads Systems, Inc.Storage router and method for providing virtual local storage
US6185655B1 (en)1998-01-222001-02-06Bull, S.A.Computer system with distributed data storing
US6282658B2 (en)1998-05-212001-08-28Equifax, Inc.System and method for authentication of network users with preprocessing
US6574591B1 (en)1998-07-312003-06-03Network Appliance, Inc.File systems image transfer between dissimilar file systems
US6604118B2 (en)1998-07-312003-08-05Network Appliance, Inc.File system image transfer
US6119244A (en)1998-08-252000-09-12Network Appliance, Inc.Coordinating persistent status information with multiple file servers
US20030149683A1 (en)*1998-11-192003-08-07Lee Terry SetoMethod and apparatus for obtaining an identifier for a logical unit of data in a database
US6707818B1 (en)1999-03-172004-03-16Broadcom CorporationNetwork switch memory interface configuration
US7310332B2 (en)1999-03-172007-12-18Broadcom CorporationNetwork switch memory interface configuration
US6993027B1 (en)1999-03-172006-01-31Broadcom CorporationMethod for sending a switch indicator to avoid out-of-ordering of frames in a network switch
US6735636B1 (en)1999-06-282004-05-11Sepaton, Inc.Device, system, and method of intelligently splitting information in an I/O system
US6636908B1 (en)1999-06-282003-10-21Sangate Systems, Inc.I/O system supporting extended functions and method therefor
US7039656B1 (en)*1999-10-202006-05-02Yodlee.Com, Inc.Method and apparatus for synchronizing data records between a remote device and a data server over a data-packet-network
US6434681B1 (en)1999-12-022002-08-13Emc CorporationSnapshot copy facility for a data storage system permitting continued host read/write access
US6341341B1 (en)1999-12-162002-01-22Adaptec, Inc.System and method for disk control with snapshot feature including read-write snapshot half
US6560615B1 (en)1999-12-172003-05-06Novell, Inc.Method and apparatus for implementing a highly efficient, robust modified files list (MFL) for a storage system volume
US6636981B1 (en)2000-01-062003-10-21International Business Machines CorporationMethod and system for end-to-end problem determination and fault isolation for storage area networks
US6751219B1 (en)2000-04-202004-06-15Aztech Partners, Inc.Multicast packet duplication at random node or at egress port with frame synchronization
US7454445B2 (en)2000-08-182008-11-18Network Appliance, Inc.Write allocation based on storage system map and snapshot
US20090043798A1 (en)*2000-09-082009-02-12Dean TanTechniques for automatically developing a web site
US7227862B2 (en)2000-09-202007-06-05Broadcom CorporationNetwork switch having port blocking capability
US6671773B2 (en)2000-12-072003-12-30Spinnaker Networks, LlcMethod and system for responding to file system requests
US6868417B2 (en)2000-12-182005-03-15Spinnaker Networks, Inc.Mechanism for handling file level and block level remote file accesses using the same server
US7383288B2 (en)2001-01-112008-06-03Attune Systems, Inc.Metadata based file switch and switched file system
US6606690B2 (en)2001-02-202003-08-12Hewlett-Packard Development Company, L.P.System and method for accessing a storage area network as network attached storage
US20020175938A1 (en)2001-05-222002-11-28Hackworth Brian M.System and method for consolidated reporting of characteristics for a group of file systems
US7299463B2 (en)2001-09-282007-11-20Intel CorporationMethod for atomically updating a plurality of files
US7346623B2 (en)2001-09-282008-03-18Commvault Systems, Inc.System and method for generating and managing quick recovery volumes
US7099866B1 (en)2001-11-162006-08-29Hewlett-Packard Development Company, L.P.Method of generating and presenting kernel data
US6981268B2 (en)2001-12-052005-12-27Microsoft CorporationSystem and method for persisting and resolving application assembly binds
US20070094465A1 (en)2001-12-262007-04-26Cisco Technology, Inc., A Corporation Of CaliforniaMirroring mechanisms for storage area networks and network based virtualization
US6883073B2 (en)2002-01-092005-04-19Hitachi, Ltd.Virtualized volume snapshot formation method
US20070250663A1 (en)2002-01-222007-10-25Columbia Data Products, Inc.Persistent Snapshot Methods
US20030167380A1 (en)2002-01-222003-09-04Green Robbie A.Persistent Snapshot Management System
US20040022278A1 (en)2002-02-282004-02-05Thomas Charles GomerLocalization and targeting of data in broadcast streams
US20030177324A1 (en)*2002-03-142003-09-18International Business Machines CorporationMethod, system, and program for maintaining backup copies of files in a backup storage device
US7043485B2 (en)2002-03-192006-05-09Network Appliance, Inc.System and method for storage of snapshot metadata in a remote file
US7225204B2 (en)2002-03-192007-05-29Network Appliance, Inc.System and method for asynchronous mirroring of snapshots at a destination using a purgatory directory and inode mapping
US7007046B2 (en)2002-03-192006-02-28Network Appliance, Inc.Format for transmission file system information between a source and a destination
US7010553B2 (en)2002-03-192006-03-07Network Appliance, Inc.System and method for redirecting access to a remote mirrored snapshot
US6993539B2 (en)2002-03-192006-01-31Network Appliance, Inc.System and method for determining changes in two snapshots and for transmitting changes to destination snapshot
US6895413B2 (en)2002-03-222005-05-17Network Appliance, Inc.System and method for performing an on-line check of a file system
US7039663B1 (en)2002-04-192006-05-02Network Appliance, Inc.System and method for checkpointing and restarting an asynchronous transfer of data between a source and destination snapshot
US20030227487A1 (en)*2002-06-012003-12-11Hugh Harlan M.Method and apparatus for creating and accessing associative data structures under a shared model of categories, rules, triggers and data relationship permissions
US20030233618A1 (en)*2002-06-172003-12-18Canon Kabushiki KaishaIndexing and querying of structured documents
US7386546B1 (en)2002-07-092008-06-10Network Appliance, Inc.Metadirectory namespace and method for use of the same
US20060242212A1 (en)2002-08-082006-10-26Andre BrinkmannMethod and arrangement for randomly storing data
US7107385B2 (en)2002-08-092006-09-12Network Appliance, Inc.Storage virtualization by layering virtual disk objects on a file system
US7076509B1 (en)*2002-08-092006-07-11Network Appliance, Inc.System and method for restoring a virtual disk from a snapshot
WO2004015521A2 (en)2002-08-092004-02-19Network Appliance, Inc.Multi-protocol storage appliance that provides integrated support for file and block access protocols
WO2004015522A2 (en)2002-08-092004-02-19Network Appliance, Inc.Storage virtualization by layering virtual disk objects on a file system
US20040030668A1 (en)2002-08-092004-02-12Brian PawlowskiMulti-protocol storage appliance that provides integrated support for file and block access protocols
US7284030B2 (en)2002-09-162007-10-16Network Appliance, Inc.Apparatus and method for processing data in a network
US20040250033A1 (en)*2002-10-072004-12-09Anand PrahladSystem and method for managing stored data
US7568080B2 (en)2002-10-072009-07-28Commvault Systems, Inc.Snapshot storage and management system with indexing and user interface
US7596713B2 (en)2002-11-202009-09-29Intranational Business Machines CorporationFast backup storage and fast recovery of data (FBSRD)
US7127577B2 (en)2003-01-212006-10-24Equallogic Inc.Distributed snapshot process
US7103616B1 (en)2003-02-192006-09-05Veritas Operating CorporationCookie-based directory name lookup cache for a cluster file system
US7162473B2 (en)2003-06-262007-01-09Microsoft CorporationMethod and system for usage analyzer that determines user accessed sources, indexes data subsets, and associated metadata, processing implicit queries based on potential interest to users
US20050015354A1 (en)2003-07-172005-01-20International Business Machines CorporationPerformance-enhancing system and method of accessing file system objects
US20050021512A1 (en)*2003-07-232005-01-27Helmut KoenigAutomatic indexing of digital image archives for content-based, context-sensitive searching
US20070185940A1 (en)2003-11-132007-08-09Anand PrahladSystem and method for performing an image level snapshot and for restoring partial volume data
US7539707B2 (en)2003-11-132009-05-26Commvault Systems, Inc.System and method for performing an image level snapshot and for restoring partial volume data
US20050114408A1 (en)*2003-11-262005-05-26Stephen GoldData management systems, data management system storage devices, articles of manufacture, and data management methods
US20060265497A1 (en)2003-11-282006-11-23Hitachi, Ltd.Method and program of collecting performance data for storage network
US7107273B2 (en)2003-11-282006-09-12Hitachi, Ltd.Method and program of collecting performance data for storage network
US7478101B1 (en)2003-12-232009-01-13Networks Appliance, Inc.System-independent data format in a mirrored storage system environment and method for using the same
US7340639B1 (en)2004-01-082008-03-04Network Appliance, Inc.System and method for proxying data access commands in a clustered storage system
US7313720B1 (en)2004-02-122007-12-25Network Appliance, Inc.Technique for increasing the number of persistent consistency point images in a file system
US20050192974A1 (en)2004-02-122005-09-01International Business Machines CorporationMethod of converting a filesystem while the filesystem remains in an active state
US20050228835A1 (en)*2004-04-122005-10-13Guillermo RoaSystem and method for supporting block-based protocols on a virtual storage appliance executing within a physical storage appliance
US7617365B2 (en)2004-04-282009-11-10Emc CorporationSystems and methods to avoid deadlock and guarantee mirror consistency during online mirror synchronization and verification
US7523343B2 (en)2004-04-302009-04-21Microsoft CorporationReal-time file system repairs
US7409494B2 (en)2004-04-302008-08-05Network Appliance, Inc.Extension of write anywhere file system layout
US7440467B2 (en)2004-05-052008-10-21Gigamon Systems LlcAsymmetric packet switch and a method of use
US20060064476A1 (en)*2004-09-232006-03-23Decasper Dan SAdvanced content and data distribution techniques
US20060085471A1 (en)*2004-10-152006-04-20Vijayan RajanSystem and method for reclaiming unused space from a thinly provisioned data container
US20080270520A1 (en)*2004-11-162008-10-30Skinkers LimitedProvision of Personal Data in a Data Communications Network
US20060265358A1 (en)*2005-05-172006-11-23Junichi HaraMethod and apparatus for providing information to search engines
US20060277221A1 (en)2005-06-012006-12-07Green Hills Software, Inc.Transactional file system with client partitioning
US20060288026A1 (en)2005-06-202006-12-21Zayas Edward RSystem and method for maintaining mappings from data containers to their parent directories
US20070203938A1 (en)*2005-11-282007-08-30Anand PrahladSystems and methods for classifying and transferring information in a storage network
US20070136243A1 (en)*2005-12-122007-06-14Markus SchornSystem and method for data indexing and retrieval
US20070168400A1 (en)*2006-01-172007-07-19Hon Hai Precision Industry Co., Ltd.System and method for synchronizing file indexes remotely
US20080021902A1 (en)*2006-07-182008-01-24Dawkins William PSystem and Method for Storage Area Network Search Appliance
US7571158B2 (en)*2006-08-252009-08-04Oracle International CorporationUpdating content index for content searches on networks

Non-Patent Citations (54)

* Cited by examiner, † Cited by third party
Title
Akyurek, Sedat, Placing Replicated Data to Reduce Seek Delays, Department of Computer Science, University of Maryland, UMIACS-TR-91-121, CS-TR-2746, Aug. 1991.
Asante Technologies Inc., Asante Desktop EN/SC Adapters User's Manual, Apr. 1996, San Jose, CA, 29 pages.
Asante Technologies Inc., Asante EN/SC Adapter Family Installation Guide, May 1994, San Jose, CA, 60 pages.
Bitton, Dina, Disk Shadowing, Proceedings of the 14.sup.th VLDB Conference, LA, CA (1988), 8 pages.
Callaghan, B., NFS Version 3 Protocol Specification, Network Working Group, Request for Comments 1813, Jun. 1995, 118 pages.
Chaudhuri, Surajit, et al., Self-Tuning Technology in Microsoft SQL Server, Data Engineering Journal 22, Feb. 1999 pp. 20-27.
Chutani, Sailesh, et al., The Episode File System, In Proceedings of the USENIX Winter 1992, 18 pages.
Computerwire, Network Appliance Ends NAS/SAN War, The Register, http://www.theregister.co.uk/content/63/27368.html, Oct. 2002, 2 pages.
Coyne, Robert A., et al., Storage Systems for National Information Assets, Proc. Supercomputing 92, Minneapolis, Nov. 1992, pp. 626-633.
EMC2, Celerra File Server Architecture for High Availability, EMC2 Corporation, Aug. 1999, 12 pages.
Fielding, et al., Hypertext Transfer Protocol-HTTP/1.1, Network Working Group, Request for Comments 2616, Jun. 1999, 143 pages.
Fielding, et al., Hypertext Transfer Protocol—HTTP/1.1, Network Working Group, Request for Comments 2616, Jun. 1999, 143 pages.
Finlayson, Ross S., et al., Log Files: An Extended File Service Exploiting Write-Once Storage Department of Computer Science, Stanford University, Report No. STAN-CS-87-1177, Sep. 1987, 14 pages.
Glider, et al., The Software Architecture of a SAN Storage Control System, IBM Systems Journal vol. 42, No. 2, 2003, pp. 232-249.
Goodson, et al., System and Method for Nearly In-Band Search Indexing, U.S. Appl. No. 11/590,381, filed Oct. 31, 2006, 22 pages.
Gray, Jim, et al., The Recovery Manager of the System R Database Manager, ACM Computing Surveys, (13)2:223-242 1981, 20 pages.
Hecht, Matthew S., et al. Shadowed Management of Free Disk Pages with a Linked List, ACM Transactions on Database Systems, 8/4, Dec. 1983, pp. 503-514.
Hitz, Dave et al., File System Design for an NFS File Server Appliance, Technical Report 3002, Rev. C395, presented Jan. 19, 1994, 23 pages.
Howard, John H, et al., Scale and Performance in a Distributed File System, Carnegie Mellon University, CMU-ITC-87-068, Aug. 5, 1987, 33 pages.
Howard, John H., An Overview of the Andrew File System, Carnegie Mellon University, CMU-ITC-88-062 1988, 6 pages.
Howard, John, H. et al., Scale and performance in a distributed file system, ACM Trans. Computer. System., 6(1), Feb. 1988 pp. 51-81.
Kazar, Michael L., et al., Decorum File System Architectural Overview, USENIX Summer Conference, Anaheim, California, 1990, 13 pages.
Kazar, Michael L., Synchronization and Caching Issues in the Andrew File System, Carnegie Mellon University, CMU-ITC-88-063, 12 pages.
Kemper, Alfons, et al., Performance Tuning for SAP R/3, Data Engineering Journal 22, Feb. 1999 pp. 33-40.
Kent, Jack et al., Optimizing Shadow Recovery Algorithms, IEEE Transactions on Software Engineering, 14(2): 155-168, Feb. 1988.
Kistler, et al., Disconnected Operation in the Coda File System, ACM Transactions on Computer Systems, vol. 10, No. 1, Feb. 1992, pp. 3-25.
Klampanos, et al., Retrieval Efficiency in Peer-to-Peer Networks with Replication Restrictions, Database and Expert Systems Applications, 2005, Proceedings of the 16th International Workshop, Aug. 2005, pp. 758-763.
Kourai, et al., HyperSpector: Virtual Distributed Monitoring Environments for Secure Intrusion Detection, ACM, Jun. 2005, pp. 197-207.
Lorie, Raymond, A, Physical Integrity in a large segmented database, ACM Trans. Database Systems, 2(1): 91-104, Mar. 1977.
Lu, Y., Performance Study of iSCSI-Based Storage Subsystems, IEEE Communication Magazine, Aug. 2003, pp. 76-82.
Ousterhout, John et al., Beating the I/O Bottleneck: A Case for Log-Structured File Systems, Technical Report, Computer Science Division, Electrical Engineering and Computer Sciences, University of California at Berkeley, Oct. 30, 1988, 18 pages.
Pasupathy, et al., System and Method for Quickly Determining Changed Metadata Using Persistent Consistency Point Image Differencing, U.S. Appl. No. 11/324,429, filed Jan. 3, 2006, 46 pages.
Patterson, D., et al., A Case for Redundant Arrays of Inexpensive Disks (RAID), SIGMOD International Conference on Management of Data, Chicago, IL, USA, Jun. 1-3, 1988, SIGMOD Record (17):3:109-16 (Sep. 1988).
Patterson, D., et al., A Case for Redundant Arrays of Inexpensive Disks (RAID), Technical Report, CSD-87-391, Computer Science Division, Electrical Engineering and Computer Sciences, University of California at Berkeley (1987), 26 pages.
Peterson, Zachary Nathaniel Joseph, Data Placement for Copy-on-Write Using Virtual Contiguity, University of CA, Santa Cruz, Master of Science in Computer Science Thesis, Sep. 2002.
Quinlan, Sean, A Cached Worm File System, Software-Practice and Experience, 21(12):1289-1299 (1991).
Rosenblum, Mendel, et al. The Design and Implementation of a Log-Structured File System Jul. 24, 1991 pp. 1-15.
Rosenblum, Mendel, et al., The Design and Implementation of a Log-Structured File System, In Proceedings of ACM Transactions on Computer Systems, (10)1:26-52, Feb. 1992.
Rosenblum, Mendel, et al., The LFS Storage Manager, Computer Science Division, Electrical Engin. And Computer Sciences, Univ. of CA, presented at Summer '90 USENIX Technical Conference, Anaheim, CA Jun. 1990, 16 pages.
Rosenblum, Mendel, The Design and Implementation of a Log-Structured File System, 1992, pp. 1-93.
Schiefer, Berni, et al., DB2 Universal Database Performance Tuning, Data Engineering Journal 22, Feb. 1999 pp. 12-19.
Seltzer, Margo I., et al., Journaling Versus Soft Updates: Asynchronous Meta-Data Protection in File Systems, Proceedings of 200 USENIX Annual Technical Conference, Jun. 18-23, 2000.
Shasha, Dennis, Tuning Time Series Queries in Finance: Case Studies and Recommendations, Data Engineering Journal 22, Feb. 1999 pp. 41-47.
Sidebotham, Bob, Volumes: The Andrew File System Data Structuring Primitive, EEUG Conference Proceedings, Manchester, UK, Autumn 1986.
Snia, Common Internet File System (CIFS), Version CIFS-Spec 0.9, Storage Networking Industry Association, Mar. 2001, 126 pages.
Stager, et al., Network Data Management Tool, Network Working Group, Internet Draft, Oct. 1996, 49 pages.
Storage Computer, Performance Without Compromise: The Virtual Storage Architecture, Storage Computer Corporation, 1997, 11 pages.
Subramanian, Muralidhar, et al., Performance Challenges in Object-Relational DBMSs, Data Engineering Journal 22, Feb. 1999 pp. 28-32.
SunOS 5.9, nd-network disk control, Reference Manual pp. ND (4P), Jul. 1985, 3 pages.
SunOS 5.9, nd-network disk control, Reference Manual pp. ND (8C), Feb. 1985, 1 page.
U.S. Appl. No. 10/215,917, entitled Multi-Protocol Storage Appliance That Provides Integrated Support for File and Block Access Protocols, filed Aug. 9, 2002, by Brian Pawlowski, et al., 35 pages.
Weikum, Gerhard, et al., Towards Self-Tuning Memory Management for Data Servers, Data Engineering Journal 22, Feb. 1999 pp. 3-11.
West, Michael, et al. The ITC Distributed File System: Prototype and Experience, Carnegie-Mellon University, Technical Report CMU-ITC-040, Mar. 1985, 17 pages.
Zayas, Edward R., AFS-3 Programmer's Reference: Architectural Overview, Transarc Corporation, Pittsburgh, PA, 1.0 edition 1991, 37 pages.

Cited By (4)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US10262004B2 (en)2016-02-292019-04-16Red Hat, Inc.Native snapshots in distributed file systems
US20210359954A1 (en)*2020-05-152021-11-18Cisco Technology, Inc.Load Balancing Communication Sessions in a Networked Computing Environment
US11588749B2 (en)*2020-05-152023-02-21Cisco Technology, Inc.Load balancing communication sessions in a networked computing environment
US12003424B2 (en)2020-05-152024-06-04Cisco Technology, Inc.Load balancing communication sessions in a networked computing environment

Also Published As

Publication numberPublication date
US20080201384A1 (en)2008-08-21

Similar Documents

PublicationPublication DateTitle
US7987167B1 (en)Enabling a clustered namespace with redirection
US7698289B2 (en)Storage system architecture for striping data container content across volumes of a cluster
US9152776B2 (en)Secure access-based enumeration of a junction or mount point on a clustered server
US8713077B2 (en)System and method for multi-tiered meta-data caching and distribution in a clustered computer environment
US8312046B1 (en)System and method for enabling a data container to appear in a plurality of locations in a super-namespace
US7747584B1 (en)System and method for enabling de-duplication in a storage system architecture
US7797570B2 (en)System and method for failover of iSCSI target portal groups in a cluster environment
US7933921B2 (en)Referent-controlled location resolution of resources in a federated distributed system
US7934060B1 (en)Lightweight coherency control protocol for clustered storage system
US8489811B1 (en)System and method for addressing data containers using data set identifiers
US8578090B1 (en)System and method for restriping data across a plurality of volumes
US8301673B2 (en)System and method for performing distributed consistency verification of a clustered file system
US8566845B2 (en)System and method for optimizing multi-pathing support in a distributed storage system environment
US20110137966A1 (en)Methods and systems for providing a unified namespace for multiple network protocols
US8082362B1 (en)System and method for selection of data paths in a clustered storage system
US20060288026A1 (en)System and method for maintaining mappings from data containers to their parent directories
US8788685B1 (en)System and method for testing multi-protocol storage systems
US20190258604A1 (en)System and method for implementing a quota system in a distributed file system
US8429368B2 (en)Providing an administrative path for accessing a writeable master storage volume in a mirrored storage environment
US8868495B2 (en)System and method for indexing user data on storage systems
US7962689B1 (en)System and method for performing transactional processing in a striped volume set
US7523201B2 (en)System and method for optimized lun masking
US7926049B1 (en)System and method for determining differences between software configurations
US8898206B1 (en)Mechanism for distributed inode to path traversal in a striped volume system
US8996487B1 (en)System and method for improving the relevance of search results using data container access patterns

Legal Events

DateCodeTitleDescription
ASAssignment

Owner name:NETWORK APPLIANCE, INC., CALIFORNIA

Free format text:ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:BATTERYWALA, YUSUF;REEL/FRAME:019771/0807

Effective date:20070803

FEPPFee payment procedure

Free format text:PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

ASAssignment

Owner name:NETAPP, INC., CALIFORNIA

Free format text:CHANGE OF NAME;ASSIGNOR:NETWORK APPLIANCE, INC.;REEL/FRAME:033687/0813

Effective date:20080310

STCFInformation on status: patent grant

Free format text:PATENTED CASE

CCCertificate of correction
MAFPMaintenance fee payment

Free format text:PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551)

Year of fee payment:4

MAFPMaintenance fee payment

Free format text:PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment:8


[8]ページ先頭

©2009-2025 Movatter.jp