Abstract:
The invention provides a method and system for monitoring status in a relatively continuous, consistent, and intelligent manner. A status monitor receives monitoring data, adaptively and dynamically builds a database of known combinations of monitoring data, and adaptively and dynamically associates those known combinations with assessments of the monitored devices, systems, or networks. From an initial set of selected knowledge that is limited (even limited to no knowledge at all), the status monitor learns those anomalous conditions that require response and what responses are appropriate. The status monitor develops a database of information regarding distinguishable conditions, and measurements of the likely causes or effects of recognizable errors or faults. When an anomalous pattern is recognized, the status monitor, responsive to the anomalous pattern, diagnoses and corrects, or informs a human operator regarding, the monitored devices, systems, or network. The monitoring data includes a set of data streams each possibly having a different format, and each selectively interpreted so as to present information to the status monitor in a format usable by the status monitor. New data streams and formats can be dynamically added or altered. Appropriate responses can include informing human beings; taking remedial action for the monitored devices, systems, or networks; or altering or terminating the operation of the monitored devices, systems, or networks.
Abstract:
The invention provides a method and system for reliably performing extra-long operations in a reliable state-full system (such as a file system). The system records consistency points, or otherwise assures reliability, notwithstanding the continuous performance of extra-long operations and the existence of intermediate states for those extra-long operations. Moreover, performance of extra-long operations is both deterministic and atomic with regard to consistency points (or other reliability techniques used by the system). The file system includes a separate portion of the file system reserved for files having extra-long operations in progress, including file deletion and file truncation. This separate portion of the file system is called the zombie filespace; it includes a separate name space from the regular ("live") file system that is accessible to users, and is maintained as part of the file system when recording a consistency point. The file system includes a file deletion manager that determines, before beginning any file deletion operation, whether it is necessary to first move the file being deleted to the zombie filespace. The file system includes a zombie file deletion manager that performs portions of the file deletion operation on zombie files in atomic units. The file system also includes a file truncation manager that determines, before beginning any file truncation operation, whether it is necessary to create a complementary file called an "evil twin". The truncation manager will move all blocks to be truncated from the file being truncated to the evil twin file. The file system includes a zombie file truncation manager that performs portions of the file truncation operation on the evil-twin file in atomic units. An additional advantage provided by the file system is that files having attached data elements, called "composite" files, can be subject to file deletion and other extra-long operations in a natural and reliable manner. The file system moves the entire composite file to the zombie filespace, deletes each attached data element individually, and thus resolves the composite file into a non-composite file. If the non-composite file is sufficiently small, the file deletion manager can delete the non-composite file without further need for the zombie filespace. However, if the non-composite file is sufficiently large, the file deletion manager can delete the non-composite file using the zombie filespace.
Abstract:
The invention provides a file server system (100) and a method for operating that system, which is easily scalable in number and type of individual components. A plurality of file servers (110) are coupled using inter-node connectivity, such as an inter-node network, (120) so that any one node (111) can be accessed from any other node (111). Each file server includes a pair of file server nodes (111), each of which has a memory and each of which conducts file server operations by simultaneously writing to its own memory and to that of its twin, the pair being used to simultaneously control a set of storage elements (112) such as disk drives. File server requests directed to particular mass storage elements (112) are routed among file servers (110) using an inter-node switch and processed by the file servers (110) controlling those particular storage elements (112). The mass storage elements (112) are disposed and controlled to form a redundant array, such as a RAID storage system. The inter-node network (120) and inter-node switch are redundant, so that no single point of failure prevents access to an individual storage element. The file servers (110) are disposed and controlled to recognize failure of any single element in the file server system (100) and to provide access to all mass storage elements (112) despite any such failures.
Abstract:
The invention provides a file server that provides for backup and restore of files in a heterogeneous file server environment. Metadata associated with each file by each model or protocol is preserved across backup and restore operations. The file server performs at least three tasks as part of the backup and restore operations. The file server notes all file attributes associated with each file in either model. These file attributes can include Unix perms, ownership and timestamp information, and link information. On backup, the file server records those file attributes in an analogous record using a different model. The file server records each element of Unix metadata as an NT Extended Attribute for use by an NT backup element. On restore, the file server restores those file attributes from the analogous record. The NT Extended Attributes provided by an NT restore element are translated into Unix metadata. The file server provides an element for translating between Unix metadata and NT Extended Attributes transparently tothe NT backup and restore elements, so that NT backup and restore elements that were created without reference to the heterogeneous file server environment can be used.
Abstract:
Embodiments of the present invention provide a method, system, and computer program product for optimizing I/O operations performed by a storage server operating on behalf of multiple clients to access data on a plurality of storage devices (disks). Embodiments of the present invention eliminate the need for selected read operations to write new data to physical data blocks by zeroing the physical data blocks to which new data will be written. Additionally, the need for reading old parity to compute new parity is eliminated. Instead, new parity is computed from the data to be written without the need of old parity or the storage server sends a command to a disk that stores parity. A module implemented at the disk that stores parity executes the command without reading, by the storage server, old parity. Eliminating the need for reading old data and for reading old parity eliminates some rotation latency and improves overall system's performance.
Abstract:
This invention provides a specified retention date within a data set that is locked against deletion or modification within a WORM storage implementation. This retention date scheme does not utilize any proprietary application program interfaces (APIs) or protocols, but rather, employs native functionality within conventional file (or other data containers, data sets or block-based logical unit numbers) properties available in commonly used operating systems. In an illustrative embodiment, the retention date/time is calculated by querying the file's last-modified time prior to commit, adding the retention period to this value and thereby deriving a retention date after which the file can be released from WORM. Prior to commit, the computed retention date is stored in the file's "last access time" property/attribute field, or another metadata field that remains permanently associated with the file and that, in being used for retention date, does not interfere with file management in a WORM state. Since this field is not utilized in a WORM context, it can be adapted to store this date. Once stored, the retention date in this field is locked against modification. Where extension (never reduction) of a retention period is desired, the last access time field be updated, wherein the new retention period is added to the existing last access time value to derive a new, later retention date for the file. Upon expiry of the retention date, the system allows deletion of the expired WORM file/data set.
Abstract:
A method and an apparatus to store data patterns are presented. In one embodiment, the method includes searching a pattern repository to find prior copies of a pattern and to reference one of the prior copies, or insert a new copy, based on the access time of the prior copy and the effect on the sequential stream performance.
Abstract:
A system and method provides for failover of guest operating systems in a virtual machine environment. During initialization of a computer executing a virtual machine operating system, a first guest operating system allocates a first memory region within a first domain and notifies a second guest operating system operating in a second domain of the allocated first memory region. Similarly, the second guest operating system allocates a second region of memory within the second domain and notifies the first operating system of the allocated second memory region. In the event of a software failure affecting one of the guest operating systems, the surviving guest operating system assumes the identity of the failed operating system and utilizes data stored within the shared memory region to replay to storage devices to render them consistent.
Abstract:
A system and method provides continuous data protection using checkpoints in a write anywhere file system. During a consistency point of a write anywhere file system, freed blocks are identified and are appended to a delete log for retention. A consistency point log is updated with a new entry associated with the consistency point. If the file system needs to retrieve its state at a particular point in time, the stored blocks of the delete log may be recovered.
Abstract:
A group stamping style asynchronous replxcation servxce (100) utilizes a loosely- accurate global, clock (320) in a data backup and recovery storage environment. The storage environment includes a set of source storage systems illustratively embodied as source replication nodes (300) that cooperate to maintain a consistency group that may span multiple geographical sites. The storage environment also includes one or more target storage systems illustratively embodied as target replication nodes (400) configured to service the consistency group. The group stamping style service utilizes the loosely-accurate global clock (320) to provide consistent replication of a storage space, e.g., a target storage space, of the consistency group.