US20130204893A1 - Methods for generating a unified virtual snapshot and systems thereof - Google Patents
Methods for generating a unified virtual snapshot and systems thereof Download PDFInfo
- Publication number
- US20130204893A1 US20130204893A1 US13/722,647 US201213722647A US2013204893A1 US 20130204893 A1 US20130204893 A1 US 20130204893A1 US 201213722647 A US201213722647 A US 201213722647A US 2013204893 A1 US2013204893 A1 US 2013204893A1
- Authority
- US
- United States
- Prior art keywords
- request
- data storage
- snapshots
- physical
- 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.)
- Abandoned
Links
Images
Classifications
-
- G06F17/30106—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/14—Details of searching files based on file metadata
- G06F16/148—File search processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/188—Virtual file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/815—Virtual
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/82—Solving problems relating to consistency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/84—Using snapshots, i.e. a logical point-in-time copy of the data
Definitions
- This invention relates generally to methods and systems for capturing snapshots of file systems and, more particularly, to methods for generating a unified virtual snapshot from a plurality of physical snapshots of a heterogeneous network storage system and systems thereof.
- a physical snapshot of the content in the network storage device may be captured at a recorded time. If the user computer system has a need for and requests a restore, the captured physical snapshot can be used to recover contents from the network storage device as of the recorded time.
- File virtualization systems provide methods for managing and presenting a plurality of network storage devices as a single, unified file system. Basically, file virtualization decouples the presentation of a file system from its' physical composition. Unfortunately, when file virtualization is implemented, there is no method or system for generating and providing a unified virtual snapshot in a heterogeneous storage network system.
- a method for generating a unified virtual snapshot in accordance with embodiments of the present invention includes invoking with a file virtualization system a capture of a plurality of physical snapshots. Each of the physical snapshots comprises content at a given point in time in one of the plurality of data storage systems. A unified virtual snapshot is generated with the file virtualization system based on the captured plurality of the physical snapshots.
- a computer readable medium having stored thereon instructions for methods for generating a unified virtual snapshot in accordance with other embodiments of the present invention comprising machine executable code which when executed by at least one processor, causes the processor to perform steps including invoking with a file virtualization system a capture of a plurality of physical snapshots.
- Each of the physical snapshots comprises content at a given point in time in one of the plurality of data storage systems.
- a unified virtual snapshot is generated with the file virtualization system based on the captured plurality of the physical snapshots.
- a system that generates a unified virtual snapshot in accordance with other embodiments of the present invention includes an invocation system and a virtual snapshot system in a file virtualization system.
- the invocation system invokes a capture of a plurality of physical snapshots.
- Each of the physical snapshots comprises content in one of the plurality of data storage systems at a given point in time.
- the virtual snapshot system generates a unified virtual snapshot based on the captured plurality of the physical snapshots.
- the present invention provides a number of advantages including providing a unified virtual snapshot from a plurality of physical snapshots of contents of file systems distributed across several independent, network storage devices. Additionally, the present invention provides a method and system which enables the use of snapshots in environments that implement file virtualization. Further, the present invention captures and generates snapshots which can be utilized to re-assemble contents of file systems with or without the file virtualization system.
- FIG. 1 is a block diagram of an example of a system that generates and uses a virtual snapshot from a plurality of physical snapshots of a heterogeneous network storage system;
- FIG. 2A is a functional block diagram of an example of a method for processing requests with file virtualization
- FIG. 2B is a flow chart of the example of the method for processing requests with file virtualization illustrated in FIG. 2A ;
- FIG. 3A is a functional block diagram of an example of a method for generating one or more unified virtual snapshots
- FIG. 3B is a flow chart of the example of the method for generating one or more unified virtual snapshots illustrated in FIG. 3A ;
- FIG. 4A is a functional block diagram of a method for processing requests with file virtualization after the creation of one or more unified virtual snapshots
- FIG. 4B is a flow chart of the example of the method for processing requests with file virtualization after the creation of one or more unified virtual snapshots illustrated in FIG. 4A ;
- FIG. 5A is a functional block diagram of the hierarchy of unified virtual snapshots and physical snapshots
- FIG. 5B is a flow chart of the example of the method for recovering content in a heterogeneous storage system
- FIG. 6 is a diagram of an example of a virtual snapshot configuration record
- FIG. 7 is a diagram of an example of a snapshot command on a network storage device.
- FIG. 1 An example of a system 10 that generates and uses a virtual snapshot of a heterogeneous network storage system is illustrated in FIG. 1 , although the present invention can be utilized in homogeneous network storage systems with one or more storage devices.
- This system 10 includes a client system 12 , a file virtualization system 14 , data storage systems 16 ( 1 ) and 16 ( 2 ), and metadata storage system 18 , although this system 10 can include other numbers and types of systems, devices, equipment, parts, components, and/or elements in other configurations.
- the present invention provides a number of advantages including providing a unified virtual snapshot from a plurality of physical snapshots of contents of file systems distributed across several independent, network storage devices.
- the client system 12 utilizes the file virtualization system 14 to conduct one or more operations with one or more of the data storage systems 16 ( 1 ), 16 ( 2 ), and 18 , such as to store a file, delete a file, create a file, and restore a file by way of example only, although other numbers and types of network systems could be utilizing these resources and other types and numbers of functions could be performed.
- the client system 12 includes a central processing unit (CPU) or processor, a memory, user input device, a display, and an interface system, and which are coupled together by a bus or other link, although the client system 12 can include other numbers and types of components, parts, devices, systems, and elements in other configurations.
- the processor in the client system 12 executes a program of stored instructions as described and illustrated herein, although the processor could execute other numbers and types of programmed instructions.
- the memory in the client system 12 stores these programmed instructions for one or more aspects of the present invention as described and illustrated herein, although some or all of the programmed instructions could be stored and/or executed elsewhere.
- a variety of different types of memory storage devices such as a random access memory (RAM) or a read only memory (ROM) in the system or a floppy disk, hard disk, CD ROM, or other computer readable medium which is read from and/or written to by a magnetic, optical, or other reading and/or writing system that is coupled to one or more processors, can be used for the memory in the client system 12 .
- the user input device in the client system 12 is used to input selections, such as to store a file, delete a file, create a file, and restore a file, although the user input device could be used to input other types of data and interact with other elements.
- the user input device can include a computer keyboard and a computer mouse, although other types and numbers of user input devices can be used.
- the display in the client system 12 is used to display information, such as a file or directory, although other types and amounts of information can be displayed in other manners.
- the display can include a computer display screen, such as a CRT or LCD screen, although other types and numbers of displays could be used.
- the interface system in the client system 12 is used to operatively couple and communicate between the client system 12 and the file virtualization system 14 via a communications network 20 , although other types and numbers of communication networks or systems with other types and numbers of configurations and connections to other systems and devices can be used.
- the file virtualization system 14 manages file virtualization and the generation of unified virtual snapshots, although other numbers and types of systems can be used and other numbers and types of functions can be performed.
- the file virtualization system 14 includes a central processing unit (CPU) or processor, a memory, and an interface system which are coupled together by a bus or other link, although other numbers and types of components, parts, devices, systems, and elements in other configurations and locations can be used.
- the processor in the file virtualization system 14 executes a program of stored instructions for one or more aspects of the present invention as described and illustrated by way of the embodiments herein, such as managing file virtualization and the generation of unified virtual snapshots, although the processor in file virtualization system 14 could execute other numbers and types of programmed instructions.
- the memory in the file virtualization system 14 stores these programmed instructions for one or more aspects of the present invention as described and illustrated herein, although some or all of the programmed instructions could be stored and/or executed elsewhere.
- a variety of different types of memory storage devices such as a random access memory (RAM) or a read only memory (ROM) in the system or a floppy disk, hard disk, CD ROM, DVD ROM, or other computer readable medium which is read from and/or written to by a magnetic, optical, or other reading and/or writing system that is coupled to one or more processors, can be used for the memory in the file virtualization system 14 .
- the interface system in the file virtualization system 14 is used to operatively couple and communicate between the file virtualization system 14 and the client system 12 , the data storage system 16 ( 1 ), the data storage system 16 ( 2 ), and the metadata storage system 18 via the communications networks 20 , although other types and numbers of communication networks or systems with other types and numbers of connections and configurations can be used.
- Each of the data storage systems 16 ( 1 ) and 16 ( 2 ) is a network storage device for files, directories, and other data, although other numbers and types of storage systems which could have other numbers and types of functions and store other data could be used.
- data storage system 16 ( 1 ) is a different type of storage device, e.g. different make and/or model, from the data storage system 16 ( 2 ) to form a heterogeneous network storage system, although the present invention can work with other numbers and types of storage systems, such as a homogeneous system.
- Each of the data storage systems 16 ( 1 ) and 16 ( 2 ) include a central processing unit (CPU) or processor, a memory, and an interface system which are coupled together by a bus or other link, although other numbers and types of components, parts, devices, systems, and elements in other configurations can be used.
- the storage systems may not have their own separate processing capabilities.
- the specialized processor in each of the data storage systems 16 ( 1 ) and 16 ( 2 ) executes a program of stored instructions for one or more aspects of the present invention as described and illustrated by way of the embodiments herein, such as to capture a physical snapshot by way of example only, although the processor in each of the data storage system could execute other numbers and types of programmed instructions.
- each of the data storage systems 16 ( 1 ) and 16 ( 2 ) store these programmed instructions for one or more aspects of the present invention as described and illustrated herein, although some or all of the programmed instructions could be stored and/or executed elsewhere.
- a variety of different types of memory storage devices such as a random access memory (RAM) or a read only memory (ROM) in the system or a floppy disk, hard disk, CD ROM, DVD ROM, or other computer readable medium which is read from and/or written to by a magnetic, optical, or other reading and/or writing system that is coupled to one or more processors, can be used for the memory in each of the data storage systems 16 ( 1 ) and 16 ( 2 ).
- the interface system in the data storage system 16 ( 1 ) and the interface in the data storage system 16 ( 2 ) are each used to operatively couple and communicate between the data storage system 16 ( 1 ) and the file virtualization system 14 and between the data storage system 16 ( 2 ) and the file virtualization system 14 via communication network 20 , although other types and numbers of communication networks or systems with other types and numbers of configurations and connections to other systems and devices can be used.
- the metadata storage system 18 is another type of network storage device to store and manage global file virtualization metadata from data storage systems 16 ( 1 ) and 16 ( 2 ), although other numbers and types of storage systems which could have other numbers and types of functions, which is connected in other manners, and which could store other types of data and information could be used.
- the metadata storage system 18 is external to the file virtualization system 14 , although the metadata storage 18 could be located in the file virtualization system 14 .
- the metadata storage system 18 includes a central processing unit (CPU) or processor, a memory, and an interface system which are coupled together by a bus or other link, although other numbers and types of components, parts, devices, systems, and elements in other configurations can be used for the storage system.
- the storage system may not have its own separate processing capabilities.
- the specialized processor in the metadata storage system 18 executes a program of stored instructions for one or more aspects of the present invention as described and illustrated by way of the embodiments herein, although the processor in metadata storage system 18 could execute other numbers and types of programmed instructions.
- the memory in the metadata storage system 18 stores these programmed instructions for one or more aspects of the present invention as described and illustrated herein, although some or all of the programmed instructions could be stored and/or executed elsewhere.
- a variety of different types of memory storage devices such as a random access memory (RAM) or a read only memory (ROM) in the system or a floppy disk, hard disk, CD ROM, DVD ROM, or other computer readable medium which is read from and/or written to by a magnetic, optical, or other reading and/or writing system that is coupled to the processor in the metadata storage system 18 .
- the interface system in the metadata storage system 18 is used to operatively couple and communicate between the metadata storage system 18 and the file virtualization system 14 via the communications network 20 , although other types and numbers of communication networks or systems with other types and numbers of configurations and connections to other systems and devices can be used.
- each of the systems of the embodiments may be conveniently implemented using one or more general purpose computer systems, microprocessors, digital signal processors, and micro-controllers, programmed according to the teachings of the embodiments, as described and illustrated herein, and as will be appreciated by those ordinary skill in the art.
- two or more computing systems or devices can be substituted for any one of the systems in any embodiment of the embodiments. Accordingly, principles and advantages of distributed processing, such as redundancy and replication also can be implemented, as desired, to increase the robustness and performance of the devices and systems of the embodiments.
- the embodiments may also be implemented on computer system or systems that extend across any suitable network using any suitable interface mechanisms and communications technologies, including by way of example only telecommunications in any suitable form (e.g., voice and modem), wireless communications media, wireless communications networks, cellular communications networks, G3 communications networks, Public Switched Telephone Network (PSTNs), Packet Data Networks (PDNs), the Internet, intranets, and combinations thereof.
- PSTNs Public Switched Telephone Network
- PDNs Packet Data Networks
- the Internet intranets, and combinations thereof.
- the embodiments may also be embodied as a computer readable medium having instructions stored thereon for one or more aspects of the present invention as described and illustrated by way of the embodiments herein, as described herein, which when executed by a processor, cause the processor to carry out the steps necessary to implement the methods of the embodiments, as described and illustrated herein.
- a file virtualization layer (FV 1 ) provided by file virtualization system 14 exists between the application in client system 12 or CL 1 and the data storage systems 16 ( 1 ) and 16 ( 2 ) (also referred to as DS 1 and DS 2 ), although other numbers and types of client systems and storage systems could be used.
- This file virtualization layer provided by file virtualization system 14 manages metadata in data storage 18 that tracks the location of files and directories that are distributed across data storage systems 16 ( 1 ) and 16 ( 2 ) in this particular example.
- file virtualization system 14 erects an I/O barrier to substantially suspend data storage communications between client system 12 and data storage systems 16 ( 1 ) and 16 ( 2 ) and metadata storage system 18 .
- This suspension permits either an administrator or application at client system 12 or file virtualization system 14 to request or invoke a capture of physical snapshots of content on data storage systems 16 ( 1 ) and 16 ( 2 ) and metadata storage system 18 using an application programming interface (API) or command line interface (CLI), although other manners for invoking a capture of physical snapshots, such as a periodic automated invocation could be used.
- API application programming interface
- CLI command line interface
- the unified virtual snapshot is generated by file virtualization system 14 and the I/O barrier is removed to allow storage data communications to resume.
- the unified virtual snapshot comprises the captured physical snapshots which are mapped together by file virtualization system 14 to form the virtual snapshot.
- the I/O barrier is implemented by the file virtualization system 14 at the application protocol level, such as NFS or CIFS by way of example, although the I/O barrier could be implemented in other manners. Packets are accepted at a transport level, such as UDP or TCP by way of example, but are not proxied by file virtualization system 14 to the data storage systems 16 ( 1 ) and 16 ( 2 ) and traffic to the metadata storage system 18 is halted while the I/O barrier is asserted. As implemented, the barrier operation is substantially transparent to the operator at the client system 12 and at most the file system seems momentarily slow, although system can be arranged in other manners, such as to provide notice of the implementation of the barrier if desired.
- the application protocol level such as NFS or CIFS by way of example
- Packets are accepted at a transport level, such as UDP or TCP by way of example, but are not proxied by file virtualization system 14 to the data storage systems 16 ( 1 ) and 16 ( 2 ) and traffic to the metadata
- the file virtualization system 14 initiates copying or writing of a virtual snapshot configuration record into data storage systems 16 ( 1 ) and 16 ( 2 ) and metadata storage system 18 .
- the virtual snapshot configuration record is a unique record written in each of the data storage systems 16 ( 1 ) and 16 ( 2 ) and metadata storage system 18 that allows an operator or program to locate components, e.g. a file of a virtual snapshot, although other types and amounts of information could be included. More specifically, the snapshot configuration record records the members of a unified virtual snapshot, i.e.
- the members are data storage systems 16 ( 1 ) and 16 ( 2 ) and metadata storage system 18 , although the snapshot configuration record can store other types and amounts of data.
- a virtual snapshot configuration record is illustrated in FIG. 6 .
- the virtual snapshot configuration records are made unique by a field in the header of each record, although other manners for providing a unique identifier can be used.
- the virtual snapshot configuration record is included in the physical snapshots to aid in recovery. With the snapshot configuration record and the stored metadata on the file virtualization system 14 , the file virtualization system 14 can locate a particular file or directory. Additionally, by including the virtual snapshot configuration record in the physical snapshot, an external application that knows the format of the stored metadata can use that metadata and the snapshot configuration record to locate a file without file virtualization.
- the data storage systems 16 ( 1 ) and 16 ( 2 ) and metadata storage system 18 are invoked by file virtualization system 14 to capture physical snapshots which will contain this virtual snapshot configuration record, although the data storage systems 16 ( 1 ) and 16 ( 2 ) and metadata storage system 18 can be invoked to capture physical snapshots by other systems in other manners.
- the data storage systems 16 ( 1 ) and 16 ( 2 ) and metadata storage system 18 take a physical snapshot in response to this invocation.
- FIG. 7 a snapshot command which can be used by data storage systems 16 ( 1 ) and 16 ( 2 ) and metadata storage system 18 is illustrated in FIG. 7 , although other types of commands could be used. Again, this method effectively embeds the unique virtual snapshot configuration record into each of the physical snapshots themselves.
- Virtual directories are dynamically created that contain a list of available virtual snapshots at different points in time in file virtualization system 14 .
- Each virtual snapshot subdirectory contains files and directories that exist in the physical snapshots of the contents of the file systems on data storage systems 16 ( 1 ) and 16 ( 2 ) and metadata storage system 18 in this example.
- step 22 client system 12 (also known as CL 1 ) issues a request CL-REQ- 1 - 1 for a file creation operation of a file ‘a’ to file virtualization system 14 (also known as FV 1 ), although other types and numbers of requests could be issued from other types and numbers of systems.
- CL 1 client system 12
- FV 1 file virtualization system 14
- file virtualization system 14 receives the request CL-REQ- 1 - 1 from client system 12 . Using the stored metadata, the file virtualization system 14 translates the request CL-REQ- 1 - 1 into a file virtualization request FV-REQ- 1 - 1 which is suitable for execution on data storage system 16 ( 1 ) (also known as DS 1 ) in which the file is actually located, although other types of requests for other systems could be received.
- data storage system 16 1
- DS 1 data storage system 16
- step 26 data storage system 16 ( 1 ) receives the request FV-REQ- 1 - 1 from the file virtualization system 14 .
- the data storage system 16 ( 1 ) performs the creation of file ‘a’ and issues reply DS-RSP- 1 - 1 back to file virtualization system 14 , although the data storage system 16 ( 1 ) could perform other types and numbers of operations based on the received request.
- file virtualization system 14 receives the reply DS-RSP- 1 - 1 from the data storage system 16 ( 1 ). In response to the reply DS-RSP- 1 - 1 , the file virtualization system 14 generates metadata about the file creation operation and transmits a FV-REQ- 1 - 2 request to metadata storage system 18 (also known as MD 1 ) to record this generated metadata.
- metadata storage system 18 also known as MD 1
- step 30 metadata storage system 18 receives the FV-REQ- 1 - 2 request and stores the generated metadata. Once the FV-REQ- 1 - 2 request is processed, the metadata storage system 18 issues a reply MD-RSP- 1 - 1 to the file virtualization system 14 .
- file virtualization system 14 receives the reply MD-RSP- 1 - 1 from the metadata storage system 18 .
- the file virtualization system 14 using information gathered from the reply MD-RSP- 1 - 1 and the reply DS-RSP- 1 - 1 generates a file virtualization reply FV-RSP- 1 - 1 and issues the reply FV-RSP- 1 - 1 back to client system 12 .
- the file virtualization system 14 also updates the stored file virtualization configuration record to reflect this completed operation.
- step 50 client system 12 issues request CL-REQ- 2 - 1 for a file deletion operation of file ‘a’ to file virtualization system 14 , although other types and numbers of requests could be issued from other types and numbers of systems.
- file virtualization system 14 accepts the request CL-REQ- 2 - 1 from the client system 12 , although other types and numbers of requests could be received. Since at this time an I/O barrier is asserted, the file virtualization system 14 performs no action at this time on the request CL-REQ- 2 - 1 from the client system 12 , although once the I/O barrier is removed the file virtualization system 14 will process the request.
- step 54 while the I/O barrier is asserted, the file virtualization system 14 generates and transmits a write request WRITE_REQ_ 2 _* to each of the data storage systems 16 ( 1 ) and 16 ( 2 ) and the metadata storage system 18 to write the virtualization snapshot configuration record persistent storage, although other types and numbers of requests can be transmitted to other types and numbers of systems.
- the file virtualization system 14 generates and transmits a write request WRITE_REQ_ 2 _ 1 to data storage system 16 ( 1 ), a write request WRITE_REQ_ 2 _ 2 to data storage system 16 ( 2 ), and a WRITE_REQ_ 2 _ 3 to metadata storage system 18 to each write the virtualization snapshot configuration record in persistent storage.
- each of the data storage systems 16 ( 1 ) and 16 ( 2 ) and the metadata storage system 18 generates and transmits a response WRITE_RSP_ 2 _* to the file virtualization system 14 , although other types and numbers of responses can be transmitted to other types and numbers of systems.
- data storage system 16 ( 1 ) generates and transmits a WRITE_RSP_ 2 _ 1
- the data storage system 16 ( 2 ) generates and transmits a WRITE_RSP_ 2 _ 2
- the metadata storage system 18 generates and transmits a WRITE_RSP_ 2 _ 3 to the file virtualization system 12 once the virtualization snapshot configuration record is written in persistent storage in each storage system.
- file virtualization system 14 optionally flushes metadata changes, write ahead logs, and any other information required to ensure consistency with the file virtualization metadata snapshot, although the file virtualization system 14 may perform other types and numbers of operations.
- step 58 the file virtualization system 14 invokes the execution of snapshot operations on data storage systems 16 ( 1 ) and 16 ( 2 ) and metadata storage system 18 by generating and transmitting snapshot requests SNAP_REQ_ 2 _*, although the snapshot operations can be invoked in other manners and physical snapshots can be taken in other types and numbers of systems.
- file virtualization system 14 generates and transmits request SNAP_REQ_ 2 _ 1 to data storage systems 16 ( 1 ) to take a physical snapshot, request SNAP_REQ_ 2 _ 2 to data storage systems 16 ( 2 ) to take a physical snapshot, and request SNAP_REQ_ 2 _ 3 to data storage systems 18 to take a physical snapshot.
- step 60 the data storage systems 16 ( 1 ) and 16 ( 2 ) and the metadata storage system 18 each receive and process the requests SNAP_REQ_ 2 _ 1 , SNAP_REQ_ 2 _ 3 , and SNAP_REQ_ 2 _ 3 , respectively, to perform a physical snapshot operation to capture a physical snapshot in each of the data storage systems 16 ( 1 ) and 16 ( 2 ) and the metadata storage system 18 .
- the data storage systems 16 ( 1 ) and 16 ( 2 ) and the metadata storage system 18 each generate and transmit a response SNAP-RSP- 2 -* when each of the physical snapshots at the data storage systems 16 ( 1 ) and 16 ( 2 ) and the metadata storage system 18 have been taken, although other types and numbers of responses can be transmitted to other types and numbers of systems.
- data storage system 16 ( 1 ) generates and transmits a SNAP-RSP- 2 - 1
- the data storage system 16 ( 2 ) generates and transmits a SNAP-RSP- 2 - 2
- the metadata storage system 18 generates and transmits a SNAP-RSP- 2 - 3 to the file virtualization system 12 when each of the physical snapshots at the data storage systems 16 ( 1 ) and 16 ( 2 ) and the metadata storage system 18 have been taken.
- file virtualization system 14 receives completion notifications from data storage systems 16 ( 1 ) and 16 ( 2 ) and metadata storage system 18 indicating that the physical snapshots are completed, i.e. the data and metadata are consistent as of the point of time the I/O barrier has been asserted, and then records completion of the unified virtual snapshot. Once all of the responses SNAP-RSP- 2 -* have been received, the file virtualization system 14 , lowers the asserted I/O barrier and processes request CL-REQ- 2 - 1 as well as any other requests.
- step 70 client system 12 issues request CL-REQ- 3 - 1 for a file deletion operation of file ‘a’ to file virtualization system 14 , although other types and numbers of requests could be issued from other types and numbers of systems.
- file virtualization system 14 receives the request CL-REQ- 3 - 1 from client system 12 . Using the stored metadata, the file virtualization system 14 translates the request CL-REQ- 3 - 1 into a file virtualization request FV-REQ- 3 - 1 which is suitable for execution on data storage system 16 ( 1 ) in which the file is actually located, although other types of requests for other systems could be received.
- step 74 data storage system 16 ( 1 ) receives the request FV-REQ- 3 - 1 request from the file virtualization system 14 .
- the data storage system 16 ( 1 ) performs the deletion of file ‘a’ and issues reply DS-RSP- 3 - 1 back to file virtualization system 14 , although the data storage system 16 ( 1 ) could perform other types and numbers of operations based on the received request.
- file ‘a’ remains in the unified virtual snapshot generated as described with reference to FIGS. 3A and 3B .
- step 76 file virtualization system 14 receives the reply DS-RSP- 3 - 1 from the data storage system 16 ( 1 ). In response to the reply DS-RSP- 3 - 1 , the file virtualization system 14 generates metadata about the file deletion operation and transmits a FV-REQ- 3 - 2 request to metadata storage system 18 to record this generated metadata
- step 78 metadata storage system 18 receives the request FV-REQ- 3 - 2 and updates the metadata stored on metadata storage system 18 to reflect the deletion of file ‘a’, although other types and numbers of updates could be recorded. Once the FV-REQ- 3 - 2 request is processed, the metadata storage system 18 issues a reply MD-RSP- 3 - 1 to the file virtualization system 14 .
- step 80 file virtualization system 14 receives the reply MD-RSP- 3 - 1 from the metadata storage system 18 .
- the file virtualization system 14 using information gathered from the reply MD-RSP- 3 - 1 and the reply DS-RSP- 3 - 1 generates and issues a file virtualization reply FV-RSP- 3 - 1 back to client system 12 .
- each virtual directory contains a virtual snapshot listing directory (VSLD).
- each VSLD contains a list of virtual snapshots (VSN).
- each VSN is an aggregation of physical snapshots (PSNs).
- each Physical directory contains a physical snapshot listing directory (PSLD).
- each PSLD contains a list of physical snapshots (PSN).
- each PSN is a “point in time” image of the file system, such as of data storage system 16 ( 1 ), data storage system 16 ( 2 ), or metadata storage system 18 , by way of example only.
- step 120 the client system 12 generates and issues a request CL-REQ- 2 - 1 to file virtualization system 14 to access a file in the unified virtual snapshot, although other types and numbers of requests could be issued.
- the file virtualization system 14 receives the request CL-REQ- 2 - 1 from client system 12 , although other types and numbers of requests could be received.
- the file virtualization system 14 processes the request CL-REQ- 2 - 1 which includes a marker indicating a traversal of a virtual snapshot listing directory, although in response to the request the file virtualization system 14 could have other types and numbers of indicators.
- the request could have a marker which indicated a search of the virtual snapshot listing directory was needed to identify the virtual snapshot or the absence of a marker could indicate the need for a search.
- the file virtualization system 14 identifies the virtual snapshot in the virtual snapshot listing based on one or more factors, such as a particular date range in the request, although other manners for identifying the virtual snapshot can be used.
- step 124 the file virtualization system 14 associates request CL-REQ- 2 - 1 with the identified virtual snapshot VSN- 1 based on data in the processed request CL-REQ- 2 - 1 , such as a specific identification of the virtual snapshot VSN- 1 , although other manners for identifying the virtual snapshot can be used.
- the file virtualization system 14 determines which of two methods for associating the request CL-REQ- 2 - 1 with one of the captured physical snapshots of data storage system 16 ( 1 ), data storage system 16 ( 2 ), and metadata storage system 18 to use, although the file virtualization system 14 could determine which method to use in other manners and could select from other types and numbers of methods In this particular example, one of these methods searches virtualization metadata (cached or persistent) to map the request to a captured physical snapshot and the other method searches the captured physical snapshot for each of the storage systems for the target of the request.
- step 126 the file virtualization system 14 determines that the method which searches virtualization metadata should be used, then the file virtualization system 14 proceeds to step 128 .
- step 128 the file virtualization system 14 searches stored virtualization metadata (cached or persistent) to map the target identified in the request CL-REQ- 2 - 1 to one of the captured physical snapshots of one of data storage system 16 ( 1 ), data storage system 16 ( 2 ), and metadata storage system 18 . Based on the search, the file virtualization system 14 identifies one of these captured physical snapshots, although the file virtualization system can perform other operations based on the result of this search, such as generating and transmitting a message to client system 12 that the request CL-REQ- 2 - 1 can not be completed.
- step 126 the file virtualization system 14 determines that the method which searches the captured physical snapshots should be used, then the file virtualization system 14 proceeds to step 130 .
- step 130 the file virtualization system 14 searches the captured physical snapshots for each of the data storage systems 16 ( 1 ) and 16 ( 2 ) and metadata storage system 18 for a target identified in the request CL-REQ- 2 - 1 . Based on the search, the file virtualization system 14 either identifies one of these captured physical snapshots, although the file virtualization system 14 can perform other operations based on the result of this search, such as generating and transmitting a message to client system 12 that the request CL-REQ- 2 - 1 can not be completed.
- step 132 once the captured physical snapshot has been identified, the file virtualization system 14 translates the request CL-REQ- 2 - 1 in a format suitable for execution on the data storage system 16 ( 1 ) or data storage system 16 ( 2 ) from which the identified captured physical snapshot was taken. Once the request CL-REQ- 2 - 1 has been translated, the file virtualization system 14 forwards the translated request CL-REQ- 2 - 1 to the data storage system 16 ( 1 ) or the data storage system 16 ( 2 ) from which the identified captured physical snapshot was taken.
- the data storage system 16 ( 1 ) or data storage system 16 ( 2 ) from which the identified captured physical snapshot was taken processes the translated request CL-REQ- 2 - 1 , executes any operations, and generates and transmits a response back to the file virtualization system 14 , although other types and numbers of operations could be performed based on the received translated request.
- the file virtualization system 14 translates the response from the data storage system 16 ( 1 ), data storage system 16 ( 2 ), or metadata storage system 18 which processed the translated request CL-REQ- 2 - 1 and issues a reply back to the client system 12 , although the file virtualization system 14 could perform other types and numbers of operations based on the received response.
- the present invention provides a number of advantages including providing a unified virtual snapshot from a plurality of physical snapshots of contents of file systems distributed across several independent, network storage devices of dissimilar make and model. Additionally, the present invention provides a method and system which enables the use of snapshots in environments that implement file virtualization. Further, the present invention captures and generates snapshots which can be utilized to re-assemble contents of file systems with or without the file virtualization system.
Abstract
A method, computer readable medium, and system for generating a unified virtual snapshot in accordance with embodiments of the present invention includes invoking with a file virtualization system a capture of a plurality of physical snapshots. Each of the physical snapshots comprises content at a given point in time in one of the plurality of data storage systems. A unified virtual snapshot is generated with the file virtualization system based on the captured plurality of the physical snapshots.
Description
- This application is a continuation of prior U.S. patent application Ser. No. 12/334,281, filed Dec. 12, 2008, and claims the benefit of U.S. Provisional Patent Application Ser. No. 61/013,539, filed Dec. 13, 2007, and this application is also related to U.S. patent application Ser. No. 12/334,294, filed Dec. 12, 2008, now abandoned, each of which is hereby incorporated by reference in its entirety.
- This invention relates generally to methods and systems for capturing snapshots of file systems and, more particularly, to methods for generating a unified virtual snapshot from a plurality of physical snapshots of a heterogeneous network storage system and systems thereof.
- Often files and associated data in computer systems are remotely stored on one or more network storage devices. In anticipation of a possible restore request from a user computer system coupled to a network storage device, a physical snapshot of the content in the network storage device may be captured at a recorded time. If the user computer system has a need for and requests a restore, the captured physical snapshot can be used to recover contents from the network storage device as of the recorded time.
- File virtualization systems provide methods for managing and presenting a plurality of network storage devices as a single, unified file system. Basically, file virtualization decouples the presentation of a file system from its' physical composition. Unfortunately, when file virtualization is implemented, there is no method or system for generating and providing a unified virtual snapshot in a heterogeneous storage network system.
- A method for generating a unified virtual snapshot in accordance with embodiments of the present invention includes invoking with a file virtualization system a capture of a plurality of physical snapshots. Each of the physical snapshots comprises content at a given point in time in one of the plurality of data storage systems. A unified virtual snapshot is generated with the file virtualization system based on the captured plurality of the physical snapshots.
- A computer readable medium having stored thereon instructions for methods for generating a unified virtual snapshot in accordance with other embodiments of the present invention comprising machine executable code which when executed by at least one processor, causes the processor to perform steps including invoking with a file virtualization system a capture of a plurality of physical snapshots. Each of the physical snapshots comprises content at a given point in time in one of the plurality of data storage systems. A unified virtual snapshot is generated with the file virtualization system based on the captured plurality of the physical snapshots.
- A system that generates a unified virtual snapshot in accordance with other embodiments of the present invention includes an invocation system and a virtual snapshot system in a file virtualization system. The invocation system invokes a capture of a plurality of physical snapshots. Each of the physical snapshots comprises content in one of the plurality of data storage systems at a given point in time. The virtual snapshot system generates a unified virtual snapshot based on the captured plurality of the physical snapshots.
- The present invention provides a number of advantages including providing a unified virtual snapshot from a plurality of physical snapshots of contents of file systems distributed across several independent, network storage devices. Additionally, the present invention provides a method and system which enables the use of snapshots in environments that implement file virtualization. Further, the present invention captures and generates snapshots which can be utilized to re-assemble contents of file systems with or without the file virtualization system.
-
FIG. 1 is a block diagram of an example of a system that generates and uses a virtual snapshot from a plurality of physical snapshots of a heterogeneous network storage system; -
FIG. 2A is a functional block diagram of an example of a method for processing requests with file virtualization; -
FIG. 2B is a flow chart of the example of the method for processing requests with file virtualization illustrated inFIG. 2A ; -
FIG. 3A is a functional block diagram of an example of a method for generating one or more unified virtual snapshots; -
FIG. 3B is a flow chart of the example of the method for generating one or more unified virtual snapshots illustrated inFIG. 3A ; -
FIG. 4A is a functional block diagram of a method for processing requests with file virtualization after the creation of one or more unified virtual snapshots; -
FIG. 4B is a flow chart of the example of the method for processing requests with file virtualization after the creation of one or more unified virtual snapshots illustrated inFIG. 4A ; -
FIG. 5A is a functional block diagram of the hierarchy of unified virtual snapshots and physical snapshots; -
FIG. 5B is a flow chart of the example of the method for recovering content in a heterogeneous storage system; -
FIG. 6 is a diagram of an example of a virtual snapshot configuration record; and -
FIG. 7 is a diagram of an example of a snapshot command on a network storage device. - An example of a system 10 that generates and uses a virtual snapshot of a heterogeneous network storage system is illustrated in
FIG. 1 , although the present invention can be utilized in homogeneous network storage systems with one or more storage devices. This system 10 includes aclient system 12, afile virtualization system 14, data storage systems 16(1) and 16(2), andmetadata storage system 18, although this system 10 can include other numbers and types of systems, devices, equipment, parts, components, and/or elements in other configurations. The present invention provides a number of advantages including providing a unified virtual snapshot from a plurality of physical snapshots of contents of file systems distributed across several independent, network storage devices. - Referring more specifically to
FIG. 1 , theclient system 12 utilizes thefile virtualization system 14 to conduct one or more operations with one or more of the data storage systems 16(1), 16(2), and 18, such as to store a file, delete a file, create a file, and restore a file by way of example only, although other numbers and types of network systems could be utilizing these resources and other types and numbers of functions could be performed. Theclient system 12 includes a central processing unit (CPU) or processor, a memory, user input device, a display, and an interface system, and which are coupled together by a bus or other link, although theclient system 12 can include other numbers and types of components, parts, devices, systems, and elements in other configurations. The processor in theclient system 12 executes a program of stored instructions as described and illustrated herein, although the processor could execute other numbers and types of programmed instructions. - The memory in the
client system 12 stores these programmed instructions for one or more aspects of the present invention as described and illustrated herein, although some or all of the programmed instructions could be stored and/or executed elsewhere. A variety of different types of memory storage devices, such as a random access memory (RAM) or a read only memory (ROM) in the system or a floppy disk, hard disk, CD ROM, or other computer readable medium which is read from and/or written to by a magnetic, optical, or other reading and/or writing system that is coupled to one or more processors, can be used for the memory in theclient system 12. - The user input device in the
client system 12 is used to input selections, such as to store a file, delete a file, create a file, and restore a file, although the user input device could be used to input other types of data and interact with other elements. The user input device can include a computer keyboard and a computer mouse, although other types and numbers of user input devices can be used. The display in theclient system 12 is used to display information, such as a file or directory, although other types and amounts of information can be displayed in other manners. The display can include a computer display screen, such as a CRT or LCD screen, although other types and numbers of displays could be used. - The interface system in the
client system 12 is used to operatively couple and communicate between theclient system 12 and thefile virtualization system 14 via acommunications network 20, although other types and numbers of communication networks or systems with other types and numbers of configurations and connections to other systems and devices can be used. - The
file virtualization system 14 manages file virtualization and the generation of unified virtual snapshots, although other numbers and types of systems can be used and other numbers and types of functions can be performed. Thefile virtualization system 14 includes a central processing unit (CPU) or processor, a memory, and an interface system which are coupled together by a bus or other link, although other numbers and types of components, parts, devices, systems, and elements in other configurations and locations can be used. The processor in thefile virtualization system 14 executes a program of stored instructions for one or more aspects of the present invention as described and illustrated by way of the embodiments herein, such as managing file virtualization and the generation of unified virtual snapshots, although the processor infile virtualization system 14 could execute other numbers and types of programmed instructions. - The memory in the
file virtualization system 14 stores these programmed instructions for one or more aspects of the present invention as described and illustrated herein, although some or all of the programmed instructions could be stored and/or executed elsewhere. A variety of different types of memory storage devices, such as a random access memory (RAM) or a read only memory (ROM) in the system or a floppy disk, hard disk, CD ROM, DVD ROM, or other computer readable medium which is read from and/or written to by a magnetic, optical, or other reading and/or writing system that is coupled to one or more processors, can be used for the memory in thefile virtualization system 14. - The interface system in the
file virtualization system 14 is used to operatively couple and communicate between thefile virtualization system 14 and theclient system 12, the data storage system 16(1), the data storage system 16(2), and themetadata storage system 18 via thecommunications networks 20, although other types and numbers of communication networks or systems with other types and numbers of connections and configurations can be used. - Each of the data storage systems 16(1) and 16(2) is a network storage device for files, directories, and other data, although other numbers and types of storage systems which could have other numbers and types of functions and store other data could be used. In this example, data storage system 16(1) is a different type of storage device, e.g. different make and/or model, from the data storage system 16(2) to form a heterogeneous network storage system, although the present invention can work with other numbers and types of storage systems, such as a homogeneous system.
- Each of the data storage systems 16(1) and 16(2) include a central processing unit (CPU) or processor, a memory, and an interface system which are coupled together by a bus or other link, although other numbers and types of components, parts, devices, systems, and elements in other configurations can be used. By way of example only, the storage systems may not have their own separate processing capabilities. In this example, the specialized processor in each of the data storage systems 16(1) and 16(2) executes a program of stored instructions for one or more aspects of the present invention as described and illustrated by way of the embodiments herein, such as to capture a physical snapshot by way of example only, although the processor in each of the data storage system could execute other numbers and types of programmed instructions.
- The memory in each of the data storage systems 16(1) and 16(2) store these programmed instructions for one or more aspects of the present invention as described and illustrated herein, although some or all of the programmed instructions could be stored and/or executed elsewhere. A variety of different types of memory storage devices, such as a random access memory (RAM) or a read only memory (ROM) in the system or a floppy disk, hard disk, CD ROM, DVD ROM, or other computer readable medium which is read from and/or written to by a magnetic, optical, or other reading and/or writing system that is coupled to one or more processors, can be used for the memory in each of the data storage systems 16(1) and 16(2).
- The interface system in the data storage system 16(1) and the interface in the data storage system 16(2) are each used to operatively couple and communicate between the data storage system 16(1) and the
file virtualization system 14 and between the data storage system 16(2) and thefile virtualization system 14 viacommunication network 20, although other types and numbers of communication networks or systems with other types and numbers of configurations and connections to other systems and devices can be used. - The
metadata storage system 18 is another type of network storage device to store and manage global file virtualization metadata from data storage systems 16(1) and 16(2), although other numbers and types of storage systems which could have other numbers and types of functions, which is connected in other manners, and which could store other types of data and information could be used. In this particular example, themetadata storage system 18 is external to thefile virtualization system 14, although themetadata storage 18 could be located in thefile virtualization system 14. Themetadata storage system 18 includes a central processing unit (CPU) or processor, a memory, and an interface system which are coupled together by a bus or other link, although other numbers and types of components, parts, devices, systems, and elements in other configurations can be used for the storage system. By way of example only, the storage system may not have its own separate processing capabilities. In this example, the specialized processor in themetadata storage system 18 executes a program of stored instructions for one or more aspects of the present invention as described and illustrated by way of the embodiments herein, although the processor inmetadata storage system 18 could execute other numbers and types of programmed instructions. - The memory in the
metadata storage system 18 stores these programmed instructions for one or more aspects of the present invention as described and illustrated herein, although some or all of the programmed instructions could be stored and/or executed elsewhere. A variety of different types of memory storage devices, such as a random access memory (RAM) or a read only memory (ROM) in the system or a floppy disk, hard disk, CD ROM, DVD ROM, or other computer readable medium which is read from and/or written to by a magnetic, optical, or other reading and/or writing system that is coupled to the processor in themetadata storage system 18. - The interface system in the
metadata storage system 18 is used to operatively couple and communicate between themetadata storage system 18 and thefile virtualization system 14 via thecommunications network 20, although other types and numbers of communication networks or systems with other types and numbers of configurations and connections to other systems and devices can be used. - Although embodiments of the
client system 12, thefile virtualization system 14, the data storage systems 16(1) and 16(2), and themetadata storage system 18 are described herein, each of these systems can be implemented on any suitable computer system or computing device. It is to be understood that the devices and systems of the embodiments described herein are for exemplary purposes, as many variations of the specific hardware and software used to implement the embodiments are possible, as will be appreciated by those skilled in the relevant art(s). - Furthermore, each of the systems of the embodiments may be conveniently implemented using one or more general purpose computer systems, microprocessors, digital signal processors, and micro-controllers, programmed according to the teachings of the embodiments, as described and illustrated herein, and as will be appreciated by those ordinary skill in the art.
- In addition, two or more computing systems or devices can be substituted for any one of the systems in any embodiment of the embodiments. Accordingly, principles and advantages of distributed processing, such as redundancy and replication also can be implemented, as desired, to increase the robustness and performance of the devices and systems of the embodiments. The embodiments may also be implemented on computer system or systems that extend across any suitable network using any suitable interface mechanisms and communications technologies, including by way of example only telecommunications in any suitable form (e.g., voice and modem), wireless communications media, wireless communications networks, cellular communications networks, G3 communications networks, Public Switched Telephone Network (PSTNs), Packet Data Networks (PDNs), the Internet, intranets, and combinations thereof.
- The embodiments may also be embodied as a computer readable medium having instructions stored thereon for one or more aspects of the present invention as described and illustrated by way of the embodiments herein, as described herein, which when executed by a processor, cause the processor to carry out the steps necessary to implement the methods of the embodiments, as described and illustrated herein.
- An overview of the present invention is set forth below. With this example of the present invention, a file virtualization layer (FV1) provided by
file virtualization system 14 exists between the application inclient system 12 or CL1 and the data storage systems 16(1) and 16(2) (also referred to as DS1 and DS2), although other numbers and types of client systems and storage systems could be used. This file virtualization layer provided byfile virtualization system 14 manages metadata indata storage 18 that tracks the location of files and directories that are distributed across data storage systems 16(1) and 16(2) in this particular example. - To generate or create a unified virtual snapshot,
file virtualization system 14 erects an I/O barrier to substantially suspend data storage communications betweenclient system 12 and data storage systems 16(1) and 16(2) andmetadata storage system 18. This suspension permits either an administrator or application atclient system 12 orfile virtualization system 14 to request or invoke a capture of physical snapshots of content on data storage systems 16(1) and 16(2) andmetadata storage system 18 using an application programming interface (API) or command line interface (CLI), although other manners for invoking a capture of physical snapshots, such as a periodic automated invocation could be used. Once all of the physical snapshots have been captured or otherwise completed byfile virtualization system 14, the unified virtual snapshot is generated byfile virtualization system 14 and the I/O barrier is removed to allow storage data communications to resume. The unified virtual snapshot comprises the captured physical snapshots which are mapped together byfile virtualization system 14 to form the virtual snapshot. - In this example, the I/O barrier is implemented by the
file virtualization system 14 at the application protocol level, such as NFS or CIFS by way of example, although the I/O barrier could be implemented in other manners. Packets are accepted at a transport level, such as UDP or TCP by way of example, but are not proxied byfile virtualization system 14 to the data storage systems 16(1) and 16(2) and traffic to themetadata storage system 18 is halted while the I/O barrier is asserted. As implemented, the barrier operation is substantially transparent to the operator at theclient system 12 and at most the file system seems momentarily slow, although system can be arranged in other manners, such as to provide notice of the implementation of the barrier if desired. - To create a persistent record of the location of files and directories in physical snapshots, once the I/O barrier is asserted and before a physical snapshot occurs the
file virtualization system 14 initiates copying or writing of a virtual snapshot configuration record into data storage systems 16(1) and 16(2) andmetadata storage system 18. The virtual snapshot configuration record is a unique record written in each of the data storage systems 16(1) and 16(2) andmetadata storage system 18 that allows an operator or program to locate components, e.g. a file of a virtual snapshot, although other types and amounts of information could be included. More specifically, the snapshot configuration record records the members of a unified virtual snapshot, i.e. in this particular example the members are data storage systems 16(1) and 16(2) andmetadata storage system 18, although the snapshot configuration record can store other types and amounts of data. By way of example only, a virtual snapshot configuration record is illustrated inFIG. 6 . In this example, the virtual snapshot configuration records are made unique by a field in the header of each record, although other manners for providing a unique identifier can be used. - The virtual snapshot configuration record is included in the physical snapshots to aid in recovery. With the snapshot configuration record and the stored metadata on the
file virtualization system 14, thefile virtualization system 14 can locate a particular file or directory. Additionally, by including the virtual snapshot configuration record in the physical snapshot, an external application that knows the format of the stored metadata can use that metadata and the snapshot configuration record to locate a file without file virtualization. - Once a unique virtual snapshot configuration record is copied to each data storage systems 16(1) and 16(2) and
metadata storage system 18, the data storage systems 16(1) and 16(2) andmetadata storage system 18 are invoked byfile virtualization system 14 to capture physical snapshots which will contain this virtual snapshot configuration record, although the data storage systems 16(1) and 16(2) andmetadata storage system 18 can be invoked to capture physical snapshots by other systems in other manners. The data storage systems 16(1) and 16(2) andmetadata storage system 18 take a physical snapshot in response to this invocation. - By way of example only, a snapshot command which can be used by data storage systems 16(1) and 16(2) and
metadata storage system 18 is illustrated inFIG. 7 , although other types of commands could be used. Again, this method effectively embeds the unique virtual snapshot configuration record into each of the physical snapshots themselves. - Generation of unified virtual snapshots is implemented by the file virtualization layer in
file virtualization system 14, although the generation can be implemented by other systems. Virtual directories are dynamically created that contain a list of available virtual snapshots at different points in time infile virtualization system 14. Each virtual snapshot subdirectory contains files and directories that exist in the physical snapshots of the contents of the file systems on data storage systems 16(1) and 16(2) andmetadata storage system 18 in this example. - Referring now to
FIGS. 2A and 2B , an example of a method for processing requests with a file virtualization is described below. Instep 22, client system 12 (also known as CL1) issues a request CL-REQ-1-1 for a file creation operation of a file ‘a’ to file virtualization system 14 (also known as FV1), although other types and numbers of requests could be issued from other types and numbers of systems. - In
step 24,file virtualization system 14 receives the request CL-REQ-1-1 fromclient system 12. Using the stored metadata, thefile virtualization system 14 translates the request CL-REQ-1-1 into a file virtualization request FV-REQ-1-1 which is suitable for execution on data storage system 16(1) (also known as DS1) in which the file is actually located, although other types of requests for other systems could be received. - In
step 26, data storage system 16(1) receives the request FV-REQ-1-1 from thefile virtualization system 14. In response to the received request FV-REQ-1-1 the data storage system 16(1) performs the creation of file ‘a’ and issues reply DS-RSP-1-1 back to filevirtualization system 14, although the data storage system 16(1) could perform other types and numbers of operations based on the received request. - In
step 28,file virtualization system 14 receives the reply DS-RSP-1-1 from the data storage system 16(1). In response to the reply DS-RSP-1-1, thefile virtualization system 14 generates metadata about the file creation operation and transmits a FV-REQ-1-2 request to metadata storage system 18 (also known as MD1) to record this generated metadata. - In
step 30,metadata storage system 18 receives the FV-REQ-1-2 request and stores the generated metadata. Once the FV-REQ-1-2 request is processed, themetadata storage system 18 issues a reply MD-RSP-1-1 to thefile virtualization system 14. - In step 32,
file virtualization system 14 receives the reply MD-RSP-1-1 from themetadata storage system 18. Next, thefile virtualization system 14 using information gathered from the reply MD-RSP-1-1 and the reply DS-RSP-1-1 generates a file virtualization reply FV-RSP-1-1 and issues the reply FV-RSP-1-1 back toclient system 12. Thefile virtualization system 14 also updates the stored file virtualization configuration record to reflect this completed operation. - Referring now to
FIGS. 3A and 3B , an example of a method for generating one or more unified virtual snapshots is described below. Instep 50,client system 12 issues request CL-REQ-2-1 for a file deletion operation of file ‘a’ to filevirtualization system 14, although other types and numbers of requests could be issued from other types and numbers of systems. - In step 52,
file virtualization system 14 accepts the request CL-REQ-2-1 from theclient system 12, although other types and numbers of requests could be received. Since at this time an I/O barrier is asserted, thefile virtualization system 14 performs no action at this time on the request CL-REQ-2-1 from theclient system 12, although once the I/O barrier is removed thefile virtualization system 14 will process the request. - In step 54, while the I/O barrier is asserted, the
file virtualization system 14 generates and transmits a write request WRITE_REQ_2_* to each of the data storage systems 16(1) and 16(2) and themetadata storage system 18 to write the virtualization snapshot configuration record persistent storage, although other types and numbers of requests can be transmitted to other types and numbers of systems. More specifically, in this particular example thefile virtualization system 14 generates and transmits a write request WRITE_REQ_2_1 to data storage system 16(1), a write request WRITE_REQ_2_2 to data storage system 16(2), and a WRITE_REQ_2_3 tometadata storage system 18 to each write the virtualization snapshot configuration record in persistent storage. - Once the virtualization snapshot configuration record is written in persistent storage, each of the data storage systems 16(1) and 16(2) and the
metadata storage system 18 generates and transmits a response WRITE_RSP_2_* to thefile virtualization system 14, although other types and numbers of responses can be transmitted to other types and numbers of systems. More specifically, in this particular example data storage system 16(1) generates and transmits a WRITE_RSP_2_1, the data storage system 16(2) generates and transmits a WRITE_RSP_2_2, and themetadata storage system 18 generates and transmits a WRITE_RSP_2_3 to thefile virtualization system 12 once the virtualization snapshot configuration record is written in persistent storage in each storage system. - In
step 56,file virtualization system 14 optionally flushes metadata changes, write ahead logs, and any other information required to ensure consistency with the file virtualization metadata snapshot, although thefile virtualization system 14 may perform other types and numbers of operations. - In
step 58 once the optional flush operations described above instep 56 are completed, thefile virtualization system 14 invokes the execution of snapshot operations on data storage systems 16(1) and 16(2) andmetadata storage system 18 by generating and transmitting snapshot requests SNAP_REQ_2_*, although the snapshot operations can be invoked in other manners and physical snapshots can be taken in other types and numbers of systems. More specifically, in this particular examplefile virtualization system 14 generates and transmits request SNAP_REQ_2_1 to data storage systems 16(1) to take a physical snapshot, request SNAP_REQ_2_2 to data storage systems 16(2) to take a physical snapshot, and request SNAP_REQ_2_3 todata storage systems 18 to take a physical snapshot. - In step 60, the data storage systems 16(1) and 16(2) and the
metadata storage system 18 each receive and process the requests SNAP_REQ_2_1, SNAP_REQ_2_3, and SNAP_REQ_2_3, respectively, to perform a physical snapshot operation to capture a physical snapshot in each of the data storage systems 16(1) and 16(2) and themetadata storage system 18. - Once the physical snapshots have been taken, the data storage systems 16(1) and 16(2) and the
metadata storage system 18 each generate and transmit a response SNAP-RSP-2-* when each of the physical snapshots at the data storage systems 16(1) and 16(2) and themetadata storage system 18 have been taken, although other types and numbers of responses can be transmitted to other types and numbers of systems. More specifically, in this particular example data storage system 16(1) generates and transmits a SNAP-RSP-2-1, the data storage system 16(2) generates and transmits a SNAP-RSP-2-2, and themetadata storage system 18 generates and transmits a SNAP-RSP-2-3 to thefile virtualization system 12 when each of the physical snapshots at the data storage systems 16(1) and 16(2) and themetadata storage system 18 have been taken. - In
step 62,file virtualization system 14 receives completion notifications from data storage systems 16(1) and 16(2) andmetadata storage system 18 indicating that the physical snapshots are completed, i.e. the data and metadata are consistent as of the point of time the I/O barrier has been asserted, and then records completion of the unified virtual snapshot. Once all of the responses SNAP-RSP-2-* have been received, thefile virtualization system 14, lowers the asserted I/O barrier and processes request CL-REQ-2-1 as well as any other requests. - Referring to
FIGS. 4A and 4B , an example of a method for processing requests with a file virtualization after the creation of one or more unified virtual snapshots is described below. In step 70,client system 12 issues request CL-REQ-3-1 for a file deletion operation of file ‘a’ to filevirtualization system 14, although other types and numbers of requests could be issued from other types and numbers of systems. - In
step 72,file virtualization system 14 receives the request CL-REQ-3-1 fromclient system 12. Using the stored metadata, thefile virtualization system 14 translates the request CL-REQ-3-1 into a file virtualization request FV-REQ-3-1 which is suitable for execution on data storage system 16(1) in which the file is actually located, although other types of requests for other systems could be received. - In
step 74, data storage system 16(1) receives the request FV-REQ-3-1 request from thefile virtualization system 14. In response to the received request FV-REQ-3-1, the data storage system 16(1) performs the deletion of file ‘a’ and issues reply DS-RSP-3-1 back to filevirtualization system 14, although the data storage system 16(1) could perform other types and numbers of operations based on the received request. Although deleted by this operation, file ‘a’ remains in the unified virtual snapshot generated as described with reference toFIGS. 3A and 3B . - In step 76,
file virtualization system 14 receives the reply DS-RSP-3-1 from the data storage system 16(1). In response to the reply DS-RSP-3-1, thefile virtualization system 14 generates metadata about the file deletion operation and transmits a FV-REQ-3-2 request tometadata storage system 18 to record this generated metadata - In
step 78,metadata storage system 18 receives the request FV-REQ-3-2 and updates the metadata stored onmetadata storage system 18 to reflect the deletion of file ‘a’, although other types and numbers of updates could be recorded. Once the FV-REQ-3-2 request is processed, themetadata storage system 18 issues a reply MD-RSP-3-1 to thefile virtualization system 14. - In
step 80,file virtualization system 14 receives the reply MD-RSP-3-1 from themetadata storage system 18. Next, thefile virtualization system 14 using information gathered from the reply MD-RSP-3-1 and the reply DS-RSP-3-1 generates and issues a file virtualization reply FV-RSP-3-1 back toclient system 12. - An example of the hierarchy of unified virtual snapshots and physical snapshots is illustrated in the functional block diagram in
FIG. 5A and is described below. As set forth infunctional block 90, each virtual directory contains a virtual snapshot listing directory (VSLD). As set forth infunctional block 92, each VSLD contains a list of virtual snapshots (VSN). As set forth infunctional block 94, each VSN is an aggregation of physical snapshots (PSNs). As set forth infunctional block 96, each Physical directory contains a physical snapshot listing directory (PSLD). As set forth infunctional block 98, each PSLD contains a list of physical snapshots (PSN). As set forth infunctional block 100, each PSN is a “point in time” image of the file system, such as of data storage system 16(1), data storage system 16(2), ormetadata storage system 18, by way of example only. - An example of a method for recovering content in a heterogeneous storage system is illustrated in
FIG. 5B and is described below. In step 120, theclient system 12 generates and issues a request CL-REQ-2-1 to filevirtualization system 14 to access a file in the unified virtual snapshot, although other types and numbers of requests could be issued. - In step 122, the
file virtualization system 14 receives the request CL-REQ-2-1 fromclient system 12, although other types and numbers of requests could be received. Thefile virtualization system 14 processes the request CL-REQ-2-1 which includes a marker indicating a traversal of a virtual snapshot listing directory, although in response to the request thefile virtualization system 14 could have other types and numbers of indicators. By way of example only, the request could have a marker which indicated a search of the virtual snapshot listing directory was needed to identify the virtual snapshot or the absence of a marker could indicate the need for a search. If a search is indicated by processing the request CL-REQ-2-1, thefile virtualization system 14 identifies the virtual snapshot in the virtual snapshot listing based on one or more factors, such as a particular date range in the request, although other manners for identifying the virtual snapshot can be used. - In
step 124, thefile virtualization system 14 associates request CL-REQ-2-1 with the identified virtual snapshot VSN-1 based on data in the processed request CL-REQ-2-1, such as a specific identification of the virtual snapshot VSN-1, although other manners for identifying the virtual snapshot can be used. - In
step 126, based on data in the request CL-REQ-2-1, thefile virtualization system 14 determines which of two methods for associating the request CL-REQ-2-1 with one of the captured physical snapshots of data storage system 16(1), data storage system 16(2), andmetadata storage system 18 to use, although thefile virtualization system 14 could determine which method to use in other manners and could select from other types and numbers of methods In this particular example, one of these methods searches virtualization metadata (cached or persistent) to map the request to a captured physical snapshot and the other method searches the captured physical snapshot for each of the storage systems for the target of the request. - If in
step 126 thefile virtualization system 14 determines that the method which searches virtualization metadata should be used, then thefile virtualization system 14 proceeds to step 128. Instep 128, thefile virtualization system 14 searches stored virtualization metadata (cached or persistent) to map the target identified in the request CL-REQ-2-1 to one of the captured physical snapshots of one of data storage system 16(1), data storage system 16(2), andmetadata storage system 18. Based on the search, thefile virtualization system 14 identifies one of these captured physical snapshots, although the file virtualization system can perform other operations based on the result of this search, such as generating and transmitting a message toclient system 12 that the request CL-REQ-2-1 can not be completed. - If in
step 126 thefile virtualization system 14 determines that the method which searches the captured physical snapshots should be used, then thefile virtualization system 14 proceeds to step 130. Instep 130, thefile virtualization system 14 searches the captured physical snapshots for each of the data storage systems 16(1) and 16(2) andmetadata storage system 18 for a target identified in the request CL-REQ-2-1. Based on the search, thefile virtualization system 14 either identifies one of these captured physical snapshots, although thefile virtualization system 14 can perform other operations based on the result of this search, such as generating and transmitting a message toclient system 12 that the request CL-REQ-2-1 can not be completed. - In
step 132, once the captured physical snapshot has been identified, thefile virtualization system 14 translates the request CL-REQ-2-1 in a format suitable for execution on the data storage system 16(1) or data storage system 16(2) from which the identified captured physical snapshot was taken. Once the request CL-REQ-2-1 has been translated, thefile virtualization system 14 forwards the translated request CL-REQ-2-1 to the data storage system 16(1) or the data storage system 16(2) from which the identified captured physical snapshot was taken. The data storage system 16(1) or data storage system 16(2) from which the identified captured physical snapshot was taken processes the translated request CL-REQ-2-1, executes any operations, and generates and transmits a response back to thefile virtualization system 14, although other types and numbers of operations could be performed based on the received translated request. - In
step 134, thefile virtualization system 14 translates the response from the data storage system 16(1), data storage system 16(2), ormetadata storage system 18 which processed the translated request CL-REQ-2-1 and issues a reply back to theclient system 12, although thefile virtualization system 14 could perform other types and numbers of operations based on the received response. - Accordingly, as illustrated by the description herein the present invention provides a number of advantages including providing a unified virtual snapshot from a plurality of physical snapshots of contents of file systems distributed across several independent, network storage devices of dissimilar make and model. Additionally, the present invention provides a method and system which enables the use of snapshots in environments that implement file virtualization. Further, the present invention captures and generates snapshots which can be utilized to re-assemble contents of file systems with or without the file virtualization system.
- Having thus described the basic concept of the invention, it will be rather apparent to those skilled in the art that the foregoing detailed disclosure is intended to be presented by way of example only, and is not limiting. Various alterations, improvements, and modifications will occur and are intended to those skilled in the art, though not expressly stated herein. These alterations, improvements, and modifications are intended to be suggested hereby, and are within the spirit and scope of the invention. Additionally, the recited order of processing elements or sequences, or the use of numbers, letters, or other designations therefore, is not intended to limit the claimed processes to any order except as may be specified in the claims. Accordingly, the invention is limited only by the following claims and equivalents thereto.
Claims (18)
1. A method for utilizing a virtual snapshot, the method comprising:
associating a request relating to a file in one of a plurality of data storage systems to one of one or more physical snapshots of one of the plurality of data storage systems in a virtual snapshot;
invoking an execution of the request relating to the file at the one of the plurality of data storage systems based on the associating; and
providing a response based on the invoked execution of the request.
2. The method as set forth in claim 1 further comprising searching a virtual snapshot listing directory to identify the virtual snapshot based on one or more factors.
3. The method as set forth in claim 2 wherein the one or more factors comprise a date range for the virtual snapshot.
4. The method as set forth in claim 1 wherein the associating is based on a search of virtualization metadata to associate the request to the one or one or more physical snapshots or a search in the one or more physical snapshots for a target identified in the request to associate the request to the one or one or more physical snapshots
5. The method as set forth in claim 1 further comprising translating the request for the invocation of the execution of the request at the one of the plurality of data storage systems based on the associating.
6. The method as set forth in claim 5 wherein the providing the response based on the invoked execution of the request further comprises:
receiving the response from the invoked execution of the request; and
translating the received response to another format suitable for a requesting system which submitted the request; and
providing the translated response to the requesting system.
7. A non-transitory computer readable medium having stored thereon instructions for utilizing a virtual snapshot comprising machine executable code which when executed by at least one processor, causes the processor to perform steps comprising:
associating a request relating to a file in one of a plurality of data storage systems to one of one or more physical snapshots of one of the plurality of data storage systems in a virtual snapshot;
invoking an execution of the request relating to the file at the one of the plurality of data storage systems based on the associating; and
providing a response based on the invoked execution of the request. 20
8. The medium as set forth in claim 7 further comprising searching a virtual snapshot listing directory to identify the obtained virtual snapshot based on one or more factors.
9. The medium as set forth in claim 8 wherein the one or more factors comprise a date range for the virtual snapshot.
10. The medium as set forth in claim 7 wherein the associating is based on a search of virtualization metadata to associate the request to the one or one or more physical snapshots or a search in the one or more physical snapshots for a target identified in the request to associate the request to the one or one or more physical snapshots.
11. The medium as set forth in claim 7 further comprising translating the request for the invocation of the execution of the request at the one of the plurality of data storage systems based on the associating.
12. The medium as set forth in claim 11 wherein the providing the response based on the invoked execution of the request further comprises:
receiving the response from the invoked execution of the request; and
translating the received response to another format suitable for a requesting system which submitted the request; and
providing the translated response to the requesting system.
13. A file virtualization system, comprising:
at least one of configurable hardware logic configured to be capable of implementing or a processor coupled to a memory and configured to execute programmed instructions stored in the memory comprising:
associating a request relating to a file in one of a plurality of data storage systems to one of one or more physical snapshots of one of the plurality of data storage systems in a virtual snapshot;
invoking an execution of the request relating to the file at the one of the plurality of data storage systems based on the associating; and
providing a response based on the invoked execution of the request.
14. The system as set forth in claim 13 wherein the identification system searches a virtual snapshot listing directory stored in one or more memory systems to identify the obtained virtual snapshot based on one or more factors.
15. The system as set forth in claim 14 wherein the one or more factors comprise a date range for the virtual snapshot.
16. The system as set forth in claim 13 wherein the association system associates based on a search of virtualization metadata to associate the request to the one or one or more physical snapshots or a search in the one or more physical snapshots for a target identified in the request to associate the request to the one or one or more physical snapshots.
17. The system as set forth in claim 13 wherein the invocation system translates the request for the invocation of the execution of the request at the one of the plurality of data storage systems based on the associating.
18. The system as set forth in claim 17 wherein the invocation system receives and translates the response to another format suitable for a requesting system which submitted the request and the communication system provides the translated response to the requesting system.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/722,647 US20130204893A1 (en) | 2007-12-13 | 2012-12-20 | Methods for generating a unified virtual snapshot and systems thereof |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US1353907P | 2007-12-13 | 2007-12-13 | |
US12/334,281 US8352785B1 (en) | 2007-12-13 | 2008-12-12 | Methods for generating a unified virtual snapshot and systems thereof |
US13/722,647 US20130204893A1 (en) | 2007-12-13 | 2012-12-20 | Methods for generating a unified virtual snapshot and systems thereof |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/334,281 Continuation US8352785B1 (en) | 2007-12-13 | 2008-12-12 | Methods for generating a unified virtual snapshot and systems thereof |
Publications (1)
Publication Number | Publication Date |
---|---|
US20130204893A1 true US20130204893A1 (en) | 2013-08-08 |
Family
ID=47428018
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/334,281 Expired - Fee Related US8352785B1 (en) | 2007-12-13 | 2008-12-12 | Methods for generating a unified virtual snapshot and systems thereof |
US13/722,647 Abandoned US20130204893A1 (en) | 2007-12-13 | 2012-12-20 | Methods for generating a unified virtual snapshot and systems thereof |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/334,281 Expired - Fee Related US8352785B1 (en) | 2007-12-13 | 2008-12-12 | Methods for generating a unified virtual snapshot and systems thereof |
Country Status (1)
Country | Link |
---|---|
US (2) | US8352785B1 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140337686A1 (en) * | 2010-01-28 | 2014-11-13 | Cleversafe, Inc. | Dispersed storage having snapshot clones and methods for use therewith |
US20150378849A1 (en) * | 2014-06-30 | 2015-12-31 | International Business Machines Corporation | Method and device for backing up, restoring a virtual machine |
CN105701181A (en) * | 2016-01-06 | 2016-06-22 | 中电科华云信息技术有限公司 | Dynamic heterogeneous metadata acquisition method and system |
US20180129679A1 (en) * | 2016-11-07 | 2018-05-10 | Open Invention Network Llc | Data volume manager |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9195500B1 (en) | 2010-02-09 | 2015-11-24 | F5 Networks, Inc. | Methods for seamless storage importing and devices thereof |
US9811532B2 (en) * | 2010-05-03 | 2017-11-07 | Panzura, Inc. | Executing a cloud command for a distributed filesystem |
US9286298B1 (en) | 2010-10-14 | 2016-03-15 | F5 Networks, Inc. | Methods for enhancing management of backup data sets and devices thereof |
US9075754B1 (en) * | 2011-12-31 | 2015-07-07 | Emc Corporation | Managing cache backup and restore |
US9043567B1 (en) | 2012-03-28 | 2015-05-26 | Netapp, Inc. | Methods and systems for replicating an expandable storage volume |
US9021222B1 (en) * | 2012-03-28 | 2015-04-28 | Lenovoemc Limited | Managing incremental cache backup and restore |
US9069710B1 (en) * | 2012-03-28 | 2015-06-30 | Netapp, Inc. | Methods and systems for replicating an expandable storage volume |
US9317375B1 (en) * | 2012-03-30 | 2016-04-19 | Lenovoemc Limited | Managing cache backup and restore for continuous data replication and protection |
US9037821B1 (en) * | 2012-07-09 | 2015-05-19 | Symantec Corporation | Systems and methods for replicating snapshots across backup domains |
US9519501B1 (en) | 2012-09-30 | 2016-12-13 | F5 Networks, Inc. | Hardware assisted flow acceleration and L2 SMAC management in a heterogeneous distributed multi-tenant virtualized clustered system |
US10375155B1 (en) | 2013-02-19 | 2019-08-06 | F5 Networks, Inc. | System and method for achieving hardware acceleration for asymmetric flow connections |
US9554418B1 (en) | 2013-02-28 | 2017-01-24 | F5 Networks, Inc. | Device for topology hiding of a visited network |
US9438674B2 (en) * | 2013-06-07 | 2016-09-06 | International Business Machines Corporation | Appliance interconnection architecture |
US10262004B2 (en) * | 2016-02-29 | 2019-04-16 | Red Hat, Inc. | Native snapshots in distributed file systems |
US10789135B2 (en) * | 2018-02-07 | 2020-09-29 | Microsoft Technology Licensing, Llc | Protection of infrastructure-as-a-service workloads in public cloud |
US11704035B2 (en) | 2020-03-30 | 2023-07-18 | Pure Storage, Inc. | Unified storage on block containers |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5668943A (en) * | 1994-10-31 | 1997-09-16 | International Business Machines Corporation | Virtual shared disks with application transparent recovery |
US6237008B1 (en) * | 1998-07-20 | 2001-05-22 | International Business Machines Corporation | System and method for enabling pair-pair remote copy storage volumes to mirror data in another storage volume |
US20040093474A1 (en) * | 2002-11-06 | 2004-05-13 | Alvis Lin | Snapshot facility allowing preservation of chronological views on block drives |
US20060179261A1 (en) * | 2003-04-11 | 2006-08-10 | Vijayan Rajan | Writable read-only snapshots |
US20060242179A1 (en) * | 2002-08-09 | 2006-10-26 | Chen Raymond C | System and method for restoring a virtual disk from a snapshot |
US20080046432A1 (en) * | 2006-08-18 | 2008-02-21 | Anderson Robert J | Systems and methods for a snapshot of data |
US20090055607A1 (en) * | 2007-08-21 | 2009-02-26 | Schack Darren P | Systems and methods for adaptive copy on write |
US20090077097A1 (en) * | 2007-04-16 | 2009-03-19 | Attune Systems, Inc. | File Aggregation in a Switched File System |
US20090106255A1 (en) * | 2001-01-11 | 2009-04-23 | Attune Systems, Inc. | File Aggregation in a Switched File System |
US20100211547A1 (en) * | 2009-02-18 | 2010-08-19 | Hitachi, Ltd. | File sharing system, file server, and method for managing files |
Family Cites Families (252)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6310250A (en) | 1986-06-30 | 1988-01-16 | Fujitsu Ltd | Managing system for virtual logical volume |
US4993030A (en) | 1988-04-22 | 1991-02-12 | Amdahl Corporation | File system for a plurality of storage classes |
JPH02226442A (en) | 1989-02-28 | 1990-09-10 | Toshiba Corp | Dead lock preventing system for data base system |
US5218695A (en) | 1990-02-05 | 1993-06-08 | Epoch Systems, Inc. | File server system having high-speed write execution |
US5511177A (en) | 1991-11-21 | 1996-04-23 | Hitachi, Ltd. | File data multiplexing method and data processing system |
US5649200A (en) | 1993-01-08 | 1997-07-15 | Atria Software, Inc. | Dynamic rule-based version control system |
US5586260A (en) | 1993-02-12 | 1996-12-17 | Digital Equipment Corporation | Method and apparatus for authenticating a client to a server in computer systems which support different security mechanisms |
US5548724A (en) | 1993-03-22 | 1996-08-20 | Hitachi, Ltd. | File server system and file access control method of the same |
US5473362A (en) | 1993-11-30 | 1995-12-05 | Microsoft Corporation | Video on demand system comprising stripped data across plural storable devices with time multiplex scheduling |
US5550965A (en) | 1993-12-27 | 1996-08-27 | Lucent Technologies Inc. | Method and system for operating a data processor to index primary data in real time with iconic table of contents |
US5689700A (en) | 1993-12-29 | 1997-11-18 | Microsoft Corporation | Unification of directory service with file system services |
US6038586A (en) | 1993-12-30 | 2000-03-14 | Frye; Russell | Automated software updating and distribution |
US5537585A (en) | 1994-02-25 | 1996-07-16 | Avail Systems Corporation | Data storage management for network interconnected processors |
US5802301A (en) | 1994-05-11 | 1998-09-01 | International Business Machines Corporation | System for load balancing by replicating portion of file while being read by first stream onto second device and reading portion with stream capable of accessing |
US5590320A (en) | 1994-09-14 | 1996-12-31 | Smart Storage, Inc. | Computer file directory system |
US5732270A (en) | 1994-09-15 | 1998-03-24 | Visual Edge Software Limited | System and method for providing interoperability among heterogeneous object systems |
AU3415595A (en) | 1994-10-04 | 1996-04-26 | Banctec, Inc. | An object-oriented computer environment and related method |
US6085234A (en) | 1994-11-28 | 2000-07-04 | Inca Technology, Inc. | Remote file services network-infrastructure cache |
US5583995A (en) | 1995-01-30 | 1996-12-10 | Mrj, Inc. | Apparatus and method for data storage and retrieval using bandwidth allocation |
US5692180A (en) | 1995-01-31 | 1997-11-25 | International Business Machines Corporation | Object-oriented cell directory database for a distributed computing environment |
US5724512A (en) | 1995-04-17 | 1998-03-03 | Lucent Technologies Inc. | Methods and apparatus for storage and retrieval of name space information in a distributed computing system |
JPH0916510A (en) | 1995-06-29 | 1997-01-17 | Ricoh Co Ltd | File copying machine |
US5721779A (en) | 1995-08-28 | 1998-02-24 | Funk Software, Inc. | Apparatus and methods for verifying the identity of a party |
US5832496A (en) | 1995-10-12 | 1998-11-03 | Ncr Corporation | System and method for performing intelligent analysis of a computer database |
US5862325A (en) | 1996-02-29 | 1999-01-19 | Intermind Corporation | Computer-based communication system and method using metadata defining a control structure |
GB9605473D0 (en) | 1996-03-15 | 1996-05-15 | Int Computers Ltd | Parallel searching technique |
US6370543B2 (en) | 1996-05-24 | 2002-04-09 | Magnifi, Inc. | Display of media previews |
US6181336B1 (en) | 1996-05-31 | 2001-01-30 | Silicon Graphics, Inc. | Database-independent, scalable, object-oriented architecture and API for managing digital multimedia assets |
CA2257309C (en) | 1996-06-07 | 2002-06-11 | At&T Corp. | Internet file system |
US5917998A (en) | 1996-07-26 | 1999-06-29 | International Business Machines Corporation | Method and apparatus for establishing and maintaining the status of membership sets used in mirrored read and write input/output without logging |
US6044367A (en) | 1996-08-02 | 2000-03-28 | Hewlett-Packard Company | Distributed I/O store |
US6393581B1 (en) | 1996-08-29 | 2002-05-21 | Cornell Research Foundation, Inc. | Reliable time delay-constrained cluster computing |
US6072942A (en) | 1996-09-18 | 2000-06-06 | Secure Computing Corporation | System and method of electronic mail filtering using interconnected nodes |
US6012083A (en) | 1996-09-24 | 2000-01-04 | Ricoh Company Ltd. | Method and apparatus for document processing using agents to process transactions created based on document content |
US5920873A (en) | 1996-12-06 | 1999-07-06 | International Business Machines Corporation | Data management control system for file and database |
US5937406A (en) | 1997-01-31 | 1999-08-10 | Informix Software, Inc. | File system interface to a database |
US6412004B1 (en) | 1997-03-27 | 2002-06-25 | Microsoft Corporation | Metaserver for a multimedia distribution network |
US6073209A (en) | 1997-03-31 | 2000-06-06 | Ark Research Corporation | Data storage controller providing multiple hosts with access to multiple storage subsystems |
US6161145A (en) | 1997-05-08 | 2000-12-12 | International Business Machines Corporation | Updating server-related data at a client |
US5806061A (en) | 1997-05-20 | 1998-09-08 | Hewlett-Packard Company | Method for cost-based optimization over multimeida repositories |
WO1998053416A1 (en) | 1997-05-21 | 1998-11-26 | Khimetrics, Inc. | Method for controlled optimization of enterprise planning models |
US5897638A (en) | 1997-06-16 | 1999-04-27 | Ab Initio Software Corporation | Parallel virtual file system |
US5905990A (en) | 1997-06-23 | 1999-05-18 | International Business Machines Corporation | File system viewpath mechanism |
JP3288264B2 (en) | 1997-06-26 | 2002-06-04 | 富士通株式会社 | Design information management system, design information access device, and program storage medium |
US5893086A (en) | 1997-07-11 | 1999-04-06 | International Business Machines Corporation | Parallel file system and method with extensible hashing |
US6202156B1 (en) | 1997-09-12 | 2001-03-13 | Sun Microsystems, Inc. | Remote access-controlled communication |
US6493804B1 (en) | 1997-10-01 | 2002-12-10 | Regents Of The University Of Minnesota | Global file system and data storage device locks |
US6738790B1 (en) | 1997-10-31 | 2004-05-18 | Oracle International Corporation | Approach for accessing large objects |
US5999664A (en) | 1997-11-14 | 1999-12-07 | Xerox Corporation | System for searching a corpus of document images by user specified document layout components |
US6516351B2 (en) | 1997-12-05 | 2003-02-04 | Network Appliance, Inc. | Enforcing uniform file-locking for diverse file-locking protocols |
US6374336B1 (en) | 1997-12-24 | 2002-04-16 | Avid Technology, Inc. | Computer system and process for transferring multiple high bandwidth streams of data between multiple storage units and multiple applications in a scalable and reliable manner |
JPH11194899A (en) | 1997-12-26 | 1999-07-21 | Toshiba Corp | Disk storage system and data updating method applied to the system |
US6128717A (en) | 1998-01-20 | 2000-10-03 | Quantum Corporation | Method and apparatus for storage application programming interface for digital mass storage and retrieval based upon data object type or size and characteristics of the data storage device |
US6029168A (en) | 1998-01-23 | 2000-02-22 | Tricord Systems, Inc. | Decentralized file mapping in a striped network file system in a distributed computing environment |
US6161185A (en) | 1998-03-06 | 2000-12-12 | Mci Communications Corporation | Personal authentication system and method for multiple computer platform |
US6088694A (en) | 1998-03-31 | 2000-07-11 | International Business Machines Corporation | Continuous availability and efficient backup for externally referenced objects |
US6128627A (en) | 1998-04-15 | 2000-10-03 | Inktomi Corporation | Consistent data storage in an object cache |
US6438595B1 (en) | 1998-06-24 | 2002-08-20 | Emc Corporation | Load balancing using directory services in a data processing system |
US6256031B1 (en) | 1998-06-26 | 2001-07-03 | Microsoft Corporation | Integration of physical and virtual namespace |
US6883063B2 (en) | 1998-06-30 | 2005-04-19 | Emc Corporation | Method and apparatus for initializing logical objects in a data storage system |
US6542909B1 (en) | 1998-06-30 | 2003-04-01 | Emc Corporation | System for determining mapping of logical objects in a computer system |
US6973455B1 (en) | 1999-03-03 | 2005-12-06 | Emc Corporation | File server system providing direct data sharing between clients with a server acting as an arbiter and coordinator |
US6606663B1 (en) | 1998-09-29 | 2003-08-12 | Openwave Systems Inc. | Method and apparatus for caching credentials in proxy servers for wireless user agents |
US7293099B1 (en) | 1998-09-29 | 2007-11-06 | Sun Microsystems, Inc. | Heterogeneous network file access |
US6765919B1 (en) | 1998-10-23 | 2004-07-20 | Brocade Communications Systems, Inc. | Method and system for creating and implementing zones within a fibre channel system |
US6397246B1 (en) | 1998-11-13 | 2002-05-28 | International Business Machines Corporation | Method and system for processing document requests in a network system |
TW463107B (en) | 1998-12-22 | 2001-11-11 | Ibm | Extended card file system |
US6487561B1 (en) | 1998-12-31 | 2002-11-26 | Emc Corporation | Apparatus and methods for copying, backing up, and restoring data using a backup segment size larger than the storage block size |
US20020035537A1 (en) | 1999-01-26 | 2002-03-21 | Waller Matthew A. | Method for economic bidding between retailers and suppliers of goods in branded, replenished categories |
US20010047293A1 (en) | 1999-01-26 | 2001-11-29 | Waller Matthew A. | System, method and article of manufacture to optimize inventory and inventory investment utilization in a collaborative context |
CN1108578C (en) | 1999-01-28 | 2003-05-14 | 国际商业机器公司 | Method and apparatus of invoking and providing response for off-line customer |
US6324581B1 (en) | 1999-03-03 | 2001-11-27 | Emc Corporation | File server system using file system storage, data movers, and an exchange of meta data among data movers for file locking and direct access to shared file systems |
US6721794B2 (en) | 1999-04-01 | 2004-04-13 | Diva Systems Corp. | Method of data management for efficiently storing and retrieving data to respond to user access requests |
US8099758B2 (en) | 1999-05-12 | 2012-01-17 | Microsoft Corporation | Policy based composite file system and method |
US6516350B1 (en) | 1999-06-17 | 2003-02-04 | International Business Machines Corporation | Self-regulated resource management of distributed computer resources |
US6405219B2 (en) | 1999-06-22 | 2002-06-11 | F5 Networks, Inc. | Method and system for automatically updating the version of a set of files stored on content servers |
US6556998B1 (en) | 2000-05-04 | 2003-04-29 | Matsushita Electric Industrial Co., Ltd. | Real-time distributed file system |
US6477544B1 (en) | 1999-07-16 | 2002-11-05 | Microsoft Corporation | Single instance store for file systems |
US6389433B1 (en) | 1999-07-16 | 2002-05-14 | Microsoft Corporation | Method and system for automatically merging files into a single instance store |
US6374263B1 (en) | 1999-07-19 | 2002-04-16 | International Business Machines Corp. | System for maintaining precomputed views |
US6549916B1 (en) | 1999-08-05 | 2003-04-15 | Oracle Corporation | Event notification system tied to a file system |
US6556997B1 (en) | 1999-10-07 | 2003-04-29 | Comverse Ltd. | Information retrieval system |
EP1236125A1 (en) | 1999-11-16 | 2002-09-04 | Andre S. Lee | Method and system for executing financial transactions via a communication medium |
US6748420B1 (en) | 1999-11-23 | 2004-06-08 | Cisco Technology, Inc. | Methods and apparatus for providing shared access to an application |
US6339785B1 (en) | 1999-11-24 | 2002-01-15 | Idan Feigenbaum | Multi-server file download |
US6847959B1 (en) | 2000-01-05 | 2005-01-25 | Apple Computer, Inc. | Universal interface for retrieval of information in a computer system |
WO2001055848A2 (en) | 2000-01-27 | 2001-08-02 | Hummingbird Ltd. | A method and system for implementing an enterprise information portal |
ATE311063T1 (en) | 2000-02-08 | 2005-12-15 | Swisscom Mobile Ag | UNITED LOGIN PROCESS |
US6742035B1 (en) | 2000-02-28 | 2004-05-25 | Novell, Inc. | Directory-based volume location service for a distributed file system |
US6952737B1 (en) | 2000-03-03 | 2005-10-04 | Intel Corporation | Method and apparatus for accessing remote storage in a distributed storage cluster architecture |
US6601101B1 (en) | 2000-03-15 | 2003-07-29 | 3Com Corporation | Transparent access to network attached devices |
US6826613B1 (en) | 2000-03-15 | 2004-11-30 | 3Com Corporation | Virtually addressing storage devices through a switch |
US7418439B2 (en) | 2000-03-17 | 2008-08-26 | Twin Peaks Software, Inc. | Mirror file system |
US7089286B1 (en) | 2000-05-04 | 2006-08-08 | Bellsouth Intellectual Property Corporation | Method and apparatus for compressing attachments to electronic mail communications for transmission |
US7167821B2 (en) | 2000-06-06 | 2007-01-23 | Microsoft Corporation | Evaluating hardware models having resource contention |
US7162499B2 (en) | 2000-06-21 | 2007-01-09 | Microsoft Corporation | Linked value replication |
JP2002007174A (en) | 2000-06-27 | 2002-01-11 | Hitachi Ltd | Data control system for storage device |
US6938039B1 (en) | 2000-06-30 | 2005-08-30 | Emc Corporation | Concurrent file across at a target file server during migration of file systems between file servers using a network file system access protocol |
US20040236798A1 (en) | 2001-09-11 | 2004-11-25 | Sudhir Srinivasan | Migration of control in a distributed segmented file system |
US7406484B1 (en) | 2000-09-12 | 2008-07-29 | Tbrix, Inc. | Storage allocation in a distributed segmented file system |
WO2002025460A1 (en) | 2000-09-19 | 2002-03-28 | Phatnoise, Inc. | Device-to-device network |
US20040003266A1 (en) | 2000-09-22 | 2004-01-01 | Patchlink Corporation | Non-invasive automatic offsite patch fingerprinting and updating system and method |
US6850997B1 (en) | 2000-09-27 | 2005-02-01 | International Business Machines Corporation | System, method, and program for determining the availability of paths to a device |
US6801960B1 (en) | 2000-09-28 | 2004-10-05 | Emc Corporation | Switch-based acceleration of computer data storage employing aggregations of disk arrays |
EP1364510B1 (en) | 2000-10-26 | 2007-12-12 | Prismedia Networks, Inc. | Method and system for managing distributed content and related metadata |
US6970939B2 (en) | 2000-10-26 | 2005-11-29 | Intel Corporation | Method and apparatus for large payload distribution in a network |
US6985956B2 (en) | 2000-11-02 | 2006-01-10 | Sun Microsystems, Inc. | Switching system |
US6871245B2 (en) | 2000-11-29 | 2005-03-22 | Radiant Data Corporation | File system translators and methods for implementing the same |
TWI230858B (en) | 2000-12-12 | 2005-04-11 | Matsushita Electric Ind Co Ltd | File management method, content recording/playback apparatus and content recording program |
US8239354B2 (en) | 2005-03-03 | 2012-08-07 | F5 Networks, Inc. | System and method for managing small-size files in an aggregated file system |
US20040133606A1 (en) | 2003-01-02 | 2004-07-08 | Z-Force Communications, Inc. | Directory aggregation for files distributed over a plurality of servers in a switched file system |
US7383288B2 (en) | 2001-01-11 | 2008-06-03 | Attune Systems, Inc. | Metadata based file switch and switched file system |
US7509322B2 (en) | 2001-01-11 | 2009-03-24 | F5 Networks, Inc. | Aggregated lock management for locking aggregated files in a switched file system |
US7788335B2 (en) | 2001-01-11 | 2010-08-31 | F5 Networks, Inc. | Aggregated opportunistic lock and aggregated implicit lock management for locking aggregated files in a switched file system |
US7512673B2 (en) | 2001-01-11 | 2009-03-31 | Attune Systems, Inc. | Rule based aggregation of files and transactions in a switched file system |
US7562110B2 (en) | 2001-01-11 | 2009-07-14 | F5 Networks, Inc. | File switch and switched file system |
US6990667B2 (en) | 2001-01-29 | 2006-01-24 | Adaptec, Inc. | Server-independent object positioning for load balancing drives and servers |
US6990547B2 (en) | 2001-01-29 | 2006-01-24 | Adaptec, Inc. | Replacing file system processors by hot swapping |
US20020156905A1 (en) | 2001-02-21 | 2002-10-24 | Boris Weissman | System for logging on to servers through a portal computer |
JP2002254800A (en) | 2001-02-28 | 2002-09-11 | Canon Inc | Recording medium and method for forming image with it |
US6999912B2 (en) | 2001-03-13 | 2006-02-14 | Microsoft Corporation | Provisioning computing services via an on-line networked computing environment |
US6775679B2 (en) | 2001-03-20 | 2004-08-10 | Emc Corporation | Building a meta file system from file system cells |
US7043637B2 (en) | 2001-03-21 | 2006-05-09 | Microsoft Corporation | On-disk file format for a serverless distributed file system |
US6981043B2 (en) | 2001-03-27 | 2005-12-27 | International Business Machines Corporation | Apparatus and method for managing multiple user identities on a networked computer system |
US7006981B2 (en) | 2001-04-04 | 2006-02-28 | Profitlogic, Inc. | Assortment decisions |
US20020150253A1 (en) | 2001-04-12 | 2002-10-17 | Brezak John E. | Methods and arrangements for protecting information in forwarded authentication messages |
US6839761B2 (en) | 2001-04-19 | 2005-01-04 | Microsoft Corporation | Methods and systems for authentication through multiple proxy servers that require different authentication data |
US6996841B2 (en) | 2001-04-19 | 2006-02-07 | Microsoft Corporation | Negotiating secure connections through a proxy server |
US20020161911A1 (en) | 2001-04-19 | 2002-10-31 | Thomas Pinckney | Systems and methods for efficient memory allocation for streaming of multimedia files |
US6553352B2 (en) | 2001-05-04 | 2003-04-22 | Demand Tec Inc. | Interface for merchandise price optimization |
US7711771B2 (en) | 2001-05-25 | 2010-05-04 | Oracle International Corporation | Management and synchronization application for network file system |
US20030028514A1 (en) | 2001-06-05 | 2003-02-06 | Lord Stephen Philip | Extended attribute caching in clustered filesystem |
US6785664B2 (en) | 2001-06-21 | 2004-08-31 | Kevin Wade Jameson | Collection knowledge system |
US7146524B2 (en) | 2001-08-03 | 2006-12-05 | Isilon Systems, Inc. | Systems and methods for providing a distributed file system incorporating a virtual hot spare |
US7685126B2 (en) | 2001-08-03 | 2010-03-23 | Isilon Systems, Inc. | System and methods for providing a distributed file system utilizing metadata to track information about data stored throughout the system |
US7020699B2 (en) | 2001-09-11 | 2006-03-28 | Sun Microsystems, Inc. | Test result analyzer in a distributed processing framework system and methods for implementing the same |
US6985936B2 (en) | 2001-09-27 | 2006-01-10 | International Business Machines Corporation | Addressing the name space mismatch between content servers and content caching systems |
US7020669B2 (en) | 2001-09-27 | 2006-03-28 | Emc Corporation | Apparatus, method and system for writing data to network accessible file system while minimizing risk of cache data loss/ data corruption |
US20030065956A1 (en) | 2001-09-28 | 2003-04-03 | Abhijit Belapurkar | Challenge-response data communication protocol |
US7051112B2 (en) | 2001-10-02 | 2006-05-23 | Tropic Networks Inc. | System and method for distribution of software |
JP2003223287A (en) | 2001-11-22 | 2003-08-08 | Toshiba Corp | Storage device, backup method of the same, and program therefor |
US7610390B2 (en) | 2001-12-04 | 2009-10-27 | Sun Microsystems, Inc. | Distributed network identity |
US6782450B2 (en) | 2001-12-06 | 2004-08-24 | Raidcore, Inc. | File mode RAID subsystem |
US6986015B2 (en) | 2001-12-10 | 2006-01-10 | Incipient, Inc. | Fast path caching |
US7173929B1 (en) | 2001-12-10 | 2007-02-06 | Incipient, Inc. | Fast path for performing data operations |
US7013379B1 (en) | 2001-12-10 | 2006-03-14 | Incipient, Inc. | I/O primitives |
US6973549B1 (en) | 2001-12-10 | 2005-12-06 | Incipient, Inc. | Locking technique for control and synchronization |
US6959373B2 (en) | 2001-12-10 | 2005-10-25 | Incipient, Inc. | Dynamic and variable length extents |
US6775672B2 (en) | 2001-12-19 | 2004-08-10 | Hewlett-Packard Development Company, L.P. | Updating references to a migrated object in a partition-based distributed file system |
US6775673B2 (en) | 2001-12-19 | 2004-08-10 | Hewlett-Packard Development Company, L.P. | Logical volume-level migration in a partition-based distributed file system |
US7024427B2 (en) | 2001-12-19 | 2006-04-04 | Emc Corporation | Virtual file system |
US20030159072A1 (en) | 2002-02-04 | 2003-08-21 | Atreus Systems Corp. | Single sign-on for multiple network -based services |
US7020665B2 (en) | 2002-03-07 | 2006-03-28 | Microsoft Corporation | File availability in distributed file storage systems |
US20030171978A1 (en) | 2002-03-11 | 2003-09-11 | Jenkins Margalyn Toi | Efficient retail item assortment |
US20030177388A1 (en) | 2002-03-15 | 2003-09-18 | International Business Machines Corporation | Authenticated identity translation within a multiple computing unit environment |
US20030177364A1 (en) | 2002-03-15 | 2003-09-18 | Walsh Robert E. | Method for authenticating users |
US7010553B2 (en) | 2002-03-19 | 2006-03-07 | Network Appliance, Inc. | System and method for redirecting access to a remote mirrored snapshot |
US7043485B2 (en) | 2002-03-19 | 2006-05-09 | Network Appliance, Inc. | System and method for storage of snapshot metadata in a remote file |
US6934706B1 (en) | 2002-03-22 | 2005-08-23 | International Business Machines Corporation | Centralized mapping of security credentials for database access operations |
KR100424614B1 (en) | 2002-04-27 | 2004-03-27 | 삼성전자주식회사 | Internet protocol based communication system and host address setting and source address selection method thereof |
US20040006575A1 (en) | 2002-04-29 | 2004-01-08 | Visharam Mohammed Zubair | Method and apparatus for supporting advanced coding formats in media files |
JP2005535008A (en) | 2002-05-31 | 2005-11-17 | フジツウ アイティー ホールディングス,インコーポレイティド | Intelligent storage device management method and system |
JP4240930B2 (en) | 2002-07-15 | 2009-03-18 | 株式会社日立製作所 | Method and apparatus for unifying temporary transmission of multiple network storages |
US7263610B2 (en) | 2002-07-30 | 2007-08-28 | Imagictv, Inc. | Secure multicast flow |
US7269168B2 (en) | 2002-07-31 | 2007-09-11 | Brocade Communications Systems, Inc. | Host bus adaptor-based virtualization switch |
US20040028043A1 (en) | 2002-07-31 | 2004-02-12 | Brocade Communications Systems, Inc. | Method and apparatus for virtualizing storage devices inside a storage area network fabric |
US7120728B2 (en) | 2002-07-31 | 2006-10-10 | Brocade Communications Systems, Inc. | Hardware-based translating virtualization switch |
US7343398B1 (en) | 2002-09-04 | 2008-03-11 | Packeteer, Inc. | Methods, apparatuses and systems for transparently intermediating network traffic over connection-based authentication protocols |
US7120746B2 (en) | 2002-09-09 | 2006-10-10 | International Business Machines Corporation | Technique for data transfer |
US6847970B2 (en) | 2002-09-11 | 2005-01-25 | International Business Machines Corporation | Methods and apparatus for managing dependencies in distributed systems |
US7171469B2 (en) | 2002-09-16 | 2007-01-30 | Network Appliance, Inc. | Apparatus and method for storing data in a proxy cache in a network |
JP2004164579A (en) | 2002-09-24 | 2004-06-10 | Sharp Corp | Data bus width conversion apparatus and data processor |
US7752294B2 (en) | 2002-10-28 | 2010-07-06 | Netapp, Inc. | Method and system for dynamic expansion and contraction of nodes in a storage area network |
US20040139355A1 (en) | 2002-11-07 | 2004-07-15 | Axel David J. | Method and system of accessing a plurality of network elements |
US7426642B2 (en) | 2002-11-14 | 2008-09-16 | International Business Machines Corporation | Integrating legacy application/data access with single sign-on in a distributed computing environment |
US7937421B2 (en) | 2002-11-14 | 2011-05-03 | Emc Corporation | Systems and methods for restriping files in a distributed file system |
US7475241B2 (en) | 2002-11-22 | 2009-01-06 | Cisco Technology, Inc. | Methods and apparatus for dynamic session key generation and rekeying in mobile IP |
US6961815B2 (en) | 2002-12-05 | 2005-11-01 | International Business Machines Corporation | Multiple disk data storage system for reducing power consumption |
WO2004061605A2 (en) | 2003-01-02 | 2004-07-22 | Attune Systems, Inc. | Medata based file switch and switched file system |
US7877511B1 (en) | 2003-01-13 | 2011-01-25 | F5 Networks, Inc. | Method and apparatus for adaptive services networking |
JP2004280283A (en) | 2003-03-13 | 2004-10-07 | Hitachi Ltd | Distributed file system, distributed file system server, and access method to distributed file system |
EP1467289A1 (en) | 2003-04-07 | 2004-10-13 | Deutsche Thomson-Brandt Gmbh | database model for hierarchical data formats |
US7346664B2 (en) | 2003-04-24 | 2008-03-18 | Neopath Networks, Inc. | Transparent file migration using namespace replication |
US7072917B2 (en) | 2003-04-24 | 2006-07-04 | Neopath Networks, Inc. | Extended storage capacity for a network file server |
JP4270371B2 (en) | 2003-05-09 | 2009-05-27 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Storage system, control device, control method, and program |
US7653699B1 (en) | 2003-06-12 | 2010-01-26 | Symantec Operating Corporation | System and method for partitioning a file system for enhanced availability and scalability |
JP4400126B2 (en) | 2003-08-08 | 2010-01-20 | 株式会社日立製作所 | Centralized disk usage control method in virtual centralized network storage system |
US7849112B2 (en) | 2003-09-03 | 2010-12-07 | Emc Corporation | Using a file handle for associating the file with a tree quota in a file server |
US20050091658A1 (en) | 2003-10-24 | 2005-04-28 | Microsoft Corporation | Operating system resource protection |
EP1678645B1 (en) | 2003-10-27 | 2019-10-02 | Hitachi Vantara Corporation | Policy-based management of a redundant array of independent nodes |
US7440982B2 (en) | 2003-11-13 | 2008-10-21 | Commvault Systems, Inc. | System and method for stored data archive verification |
US20050108575A1 (en) | 2003-11-18 | 2005-05-19 | Yung Chong M. | Apparatus, system, and method for faciliating authenticated communication between authentication realms |
US7346923B2 (en) | 2003-11-21 | 2008-03-18 | International Business Machines Corporation | Federated identity management within a distributed portal server |
US7243089B2 (en) | 2003-11-25 | 2007-07-10 | International Business Machines Corporation | System, method, and service for federating and optionally migrating a local file system into a distributed file system while preserving local access to existing data |
JP4307964B2 (en) | 2003-11-26 | 2009-08-05 | 株式会社日立製作所 | Access restriction information setting method and apparatus |
US7234074B2 (en) | 2003-12-17 | 2007-06-19 | International Business Machines Corporation | Multiple disk data storage system for reducing power consumption |
US7293133B1 (en) | 2003-12-31 | 2007-11-06 | Veritas Operating Corporation | Performing operations without requiring split mirrors in a multi-class file system |
JP4231798B2 (en) | 2004-01-23 | 2009-03-04 | 株式会社日立ハイテクノロジーズ | Charged particle beam equipment and magnification measurement method |
US7624109B2 (en) | 2004-02-27 | 2009-11-24 | Texas Memory Systems, Inc. | Distributed asynchronous ordered replication |
JP4406640B2 (en) | 2004-04-09 | 2010-02-03 | ノキア コーポレイション | Method for creating compressed image data file, image data compression apparatus and photographing apparatus |
US8190741B2 (en) | 2004-04-23 | 2012-05-29 | Neopath Networks, Inc. | Customizing a namespace in a decentralized storage environment |
US7194579B2 (en) | 2004-04-26 | 2007-03-20 | Sun Microsystems, Inc. | Sparse multi-component files |
US8156123B2 (en) | 2004-06-25 | 2012-04-10 | Apple Inc. | Method and apparatus for processing metadata |
US7437358B2 (en) | 2004-06-25 | 2008-10-14 | Apple Inc. | Methods and systems for managing data |
US7519813B1 (en) | 2004-08-02 | 2009-04-14 | Network Appliance, Inc. | System and method for a sidecar authentication mechanism |
US7284150B2 (en) | 2004-09-22 | 2007-10-16 | International Business Machines Corporation | System and method for reliably storing data and providing efficient incremental backup and asynchronous mirroring by preferentially handling new data |
US7721328B2 (en) | 2004-10-01 | 2010-05-18 | Salesforce.Com Inc. | Application identity design |
US7574433B2 (en) | 2004-10-08 | 2009-08-11 | Paterra, Inc. | Classification-expanded indexing and retrieval of classified documents |
US7610307B2 (en) | 2004-11-30 | 2009-10-27 | Microsoft Corporation | Method and system of detecting file system namespace changes and restoring consistency |
US7831639B1 (en) | 2004-12-22 | 2010-11-09 | Symantec Operating Corporation | System and method for providing data protection by using sparse files to represent images of data stored in block devices |
US7415488B1 (en) | 2004-12-31 | 2008-08-19 | Symantec Operating Corporation | System and method for redundant storage consistency recovery |
US7885970B2 (en) | 2005-01-20 | 2011-02-08 | F5 Networks, Inc. | Scalable system for partitioning and accessing metadata over multiple servers |
US20060167838A1 (en) | 2005-01-21 | 2006-07-27 | Z-Force Communications, Inc. | File-based hybrid file storage scheme supporting multiple file switches |
US7958347B1 (en) | 2005-02-04 | 2011-06-07 | F5 Networks, Inc. | Methods and apparatus for implementing authentication |
US7913053B1 (en) | 2005-02-15 | 2011-03-22 | Symantec Operating Corporation | System and method for archival of messages in size-limited containers and separate archival of attachments in content addressable storage |
JP4174480B2 (en) | 2005-02-21 | 2008-10-29 | キヤノン株式会社 | Data transmitting apparatus, control method therefor, and image reading apparatus using the same |
US8055724B2 (en) | 2005-03-21 | 2011-11-08 | Emc Corporation | Selection of migration methods including partial read restore in distributed storage management |
US20060224687A1 (en) | 2005-03-31 | 2006-10-05 | Popkin Laird A | Method and apparatus for offline cooperative file distribution using cache nodes |
US8887233B2 (en) | 2005-04-08 | 2014-11-11 | Netapp, Inc. | Cookie-based acceleration of an authentication protocol |
US20060277225A1 (en) | 2005-06-07 | 2006-12-07 | Mark Timothy W | Converting file system metadata structure while the file system remains available |
US7467158B2 (en) | 2005-06-10 | 2008-12-16 | Microsoft Corporation | Object virtualization |
US20060282471A1 (en) * | 2005-06-13 | 2006-12-14 | Mark Timothy W | Error checking file system metadata while the file system remains available |
WO2007002855A2 (en) | 2005-06-29 | 2007-01-04 | Neopath Networks, Inc. | Parallel filesystem traversal for transparent mirroring of directories and files |
CN1901537A (en) | 2005-07-22 | 2007-01-24 | 国际商业机器公司 | Self adaptive conversation compression managing method and compression managing device and conversation managing system |
US7571168B2 (en) | 2005-07-25 | 2009-08-04 | Parascale, Inc. | Asynchronous file replication and migration in a storage network |
US7694082B2 (en) | 2005-07-29 | 2010-04-06 | International Business Machines Corporation | Computer program and method for managing resources in a distributed storage system |
US20070027929A1 (en) | 2005-08-01 | 2007-02-01 | Whelan Gary J | System, method, and/or computer program product for a file system interface |
US8131689B2 (en) | 2005-09-30 | 2012-03-06 | Panagiotis Tsirigotis | Accumulating access frequency and file attributes for supporting policy based storage management |
US20070088702A1 (en) | 2005-10-03 | 2007-04-19 | Fridella Stephen A | Intelligent network client for multi-protocol namespace redirection |
US7734603B1 (en) | 2006-01-26 | 2010-06-08 | Netapp, Inc. | Content addressable storage array element |
US9047310B2 (en) | 2006-02-22 | 2015-06-02 | Microsoft Technology Licensing, Llc | Reliable, efficient peer-to-peer storage |
US8266697B2 (en) | 2006-03-04 | 2012-09-11 | 21St Century Technologies, Inc. | Enabling network intrusion detection by representing network activity in graphical form utilizing distributed data sensors to detect and transmit activity data |
US7639883B2 (en) | 2006-04-18 | 2009-12-29 | Nokia Corporation | Method, device, mobile terminal and computer program product for providing variable compression of data files |
US20080070575A1 (en) | 2006-09-15 | 2008-03-20 | Holger Claussen | Method of administering call handover between cells in a communications system |
JP5244332B2 (en) | 2006-10-30 | 2013-07-24 | 株式会社日立製作所 | Information system, data transfer method, and data protection method |
US20080243769A1 (en) | 2007-03-30 | 2008-10-02 | Symantec Corporation | System and method for exporting data directly from deduplication storage to non-deduplication storage |
US20080282047A1 (en) | 2007-05-08 | 2008-11-13 | Hitachi, Ltd. | Methods and apparatus to backup and restore data for virtualized storage area |
US8682916B2 (en) | 2007-05-25 | 2014-03-25 | F5 Networks, Inc. | Remote file virtualization in a switched file system |
US8862590B2 (en) | 2007-06-29 | 2014-10-14 | Microsoft Corporation | Flexible namespace prioritization |
US20090037975A1 (en) | 2007-07-30 | 2009-02-05 | Ishikawa Mark M | System and Method for Authenticating Content |
US9128882B2 (en) | 2007-08-08 | 2015-09-08 | Qualcomm Incorporated | Mobile client device driven data backup |
US7822939B1 (en) | 2007-09-25 | 2010-10-26 | Emc Corporation | Data de-duplication using thin provisioning |
US7870154B2 (en) | 2007-09-28 | 2011-01-11 | Hitachi, Ltd. | Method and apparatus for NAS/CAS unified storage system |
US8244781B2 (en) | 2007-09-28 | 2012-08-14 | Emc Corporation | Network accessed storage files system query/set proxy service for a storage virtualization system |
US20090132616A1 (en) | 2007-10-02 | 2009-05-21 | Richard Winter | Archival backup integration |
EP2201486A2 (en) | 2007-10-20 | 2010-06-30 | Citrix Systems, Inc. | Systems and methods for folder redirection |
US8117244B2 (en) | 2007-11-12 | 2012-02-14 | F5 Networks, Inc. | Non-disruptive file migration |
US8180747B2 (en) | 2007-11-12 | 2012-05-15 | F5 Networks, Inc. | Load sharing cluster file systems |
US8548953B2 (en) | 2007-11-12 | 2013-10-01 | F5 Networks, Inc. | File deduplication using storage tiers |
US20090204705A1 (en) | 2007-11-12 | 2009-08-13 | Attune Systems, Inc. | On Demand File Virtualization for Server Configuration Management with Limited Interruption |
US20090204650A1 (en) | 2007-11-15 | 2009-08-13 | Attune Systems, Inc. | File Deduplication using Copy-on-Write Storage Tiers |
NZ566291A (en) | 2008-02-27 | 2008-12-24 | Actionthis Ltd | Methods and devices for post processing rendered web pages and handling requests of post processed web pages |
-
2008
- 2008-12-12 US US12/334,281 patent/US8352785B1/en not_active Expired - Fee Related
-
2012
- 2012-12-20 US US13/722,647 patent/US20130204893A1/en not_active Abandoned
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5668943A (en) * | 1994-10-31 | 1997-09-16 | International Business Machines Corporation | Virtual shared disks with application transparent recovery |
US6237008B1 (en) * | 1998-07-20 | 2001-05-22 | International Business Machines Corporation | System and method for enabling pair-pair remote copy storage volumes to mirror data in another storage volume |
US20090106255A1 (en) * | 2001-01-11 | 2009-04-23 | Attune Systems, Inc. | File Aggregation in a Switched File System |
US20060242179A1 (en) * | 2002-08-09 | 2006-10-26 | Chen Raymond C | System and method for restoring a virtual disk from a snapshot |
US20040093474A1 (en) * | 2002-11-06 | 2004-05-13 | Alvis Lin | Snapshot facility allowing preservation of chronological views on block drives |
US20060179261A1 (en) * | 2003-04-11 | 2006-08-10 | Vijayan Rajan | Writable read-only snapshots |
US20080046432A1 (en) * | 2006-08-18 | 2008-02-21 | Anderson Robert J | Systems and methods for a snapshot of data |
US20090077097A1 (en) * | 2007-04-16 | 2009-03-19 | Attune Systems, Inc. | File Aggregation in a Switched File System |
US20090055607A1 (en) * | 2007-08-21 | 2009-02-26 | Schack Darren P | Systems and methods for adaptive copy on write |
US20100211547A1 (en) * | 2009-02-18 | 2010-08-19 | Hitachi, Ltd. | File sharing system, file server, and method for managing files |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140337686A1 (en) * | 2010-01-28 | 2014-11-13 | Cleversafe, Inc. | Dispersed storage having snapshot clones and methods for use therewith |
US9354980B2 (en) * | 2010-01-28 | 2016-05-31 | International Business Machines Corporation | Dispersed storage having snapshot clones and methods for use therewith |
US20150378849A1 (en) * | 2014-06-30 | 2015-12-31 | International Business Machines Corporation | Method and device for backing up, restoring a virtual machine |
CN105701181A (en) * | 2016-01-06 | 2016-06-22 | 中电科华云信息技术有限公司 | Dynamic heterogeneous metadata acquisition method and system |
US20180129679A1 (en) * | 2016-11-07 | 2018-05-10 | Open Invention Network Llc | Data volume manager |
Also Published As
Publication number | Publication date |
---|---|
US8352785B1 (en) | 2013-01-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8352785B1 (en) | Methods for generating a unified virtual snapshot and systems thereof | |
US10956364B2 (en) | Efficient data synchronization for storage containers | |
US10185629B2 (en) | Optimized remote cloning | |
EP3532935B1 (en) | Snapshot metadata arrangement for cloud integration | |
EP3532934B1 (en) | Reducing stable data eviction with synthetic baseline snapshot and eviction state refresh | |
US7529778B1 (en) | System and method for providing access to consistent point-in-time file versions | |
US7769721B2 (en) | Data recovery method in differential remote backup for a NAS system | |
TWI258663B (en) | Writable file system snapshot with ditto address feature | |
US8392386B2 (en) | Tracking file contents | |
US9304966B2 (en) | Providing local access to managed content | |
US6711572B2 (en) | File system for distributing content in a data network and related methods | |
US20080027998A1 (en) | Method and apparatus of continuous data protection for NAS | |
US20070022117A1 (en) | Accessing file system snapshots directly within a file system directory | |
US20080005509A1 (en) | Caching recovery information on a local system to expedite recovery | |
EP3862883B1 (en) | Data backup method and apparatus, and system | |
JP2005512191A (en) | A backup method for saving a snapshot of selected data in a mass storage system | |
WO2012170235A2 (en) | Storage architecture for backup application | |
CN102272751B (en) | Data integrity in a database environment through background synchronization | |
JP2006268829A (en) | Method and apparatus for mirroring object between storage systems | |
US20110282843A1 (en) | Method and system for data backup and replication | |
US6996682B1 (en) | System and method for cascading data updates through a virtual copy hierarchy | |
CN110008197A (en) | A kind of data processing method, system and electronic equipment and storage medium | |
US8176087B2 (en) | Data processing | |
US10430110B2 (en) | Implementing a hybrid storage node in a distributed storage system | |
JP2006031608A (en) | Computer, storage system, file management method which computer performs, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |