Abstract:
A computerized file system has a first software layer for writing data blocks to persistent storage, and a second software layer for receiving requests from a client, and in response to receiving a request passing a command to the first software layer. A current bit map shows data blocks of persistent storage which are allocated to holding data of the file system. A safe copy of the current bit map is maintained. A third copy of the current bit map is passed, at a selected time, to the first software layer to enable the first software layer to write data blocks containing the bit map current at the selected time to the persistent storage, and simultaneously changing the current bit map as maintained in a computer memory while data blocks containing the bit map current at the selected time are written to the persistent storage.
Abstract:
Methods and systems for efficiently determining a similarity between two or more datasets. In one embodiment, the similarity is determined based on comparing a subset of sorted frequency-weighted blocks from one dataset to a subset of sorted frequency-weighed blocks from another dataset. Data blocks of a dataset are converted into hash values that are frequency-weighted. These frequency-weighted hash values can be compared to frequency-weighted hash values of another dataset to determine a similarity of the two datasets. In another embodiment, upon a change of a block in a subset of the dataset, the similarity value is re-determined without resorting or hashing the blocks of a dataset other than the blocks of the subset, resulting in an increased performance of a similarity comparison. In another embodiment, blocks of a dataset are excluded based on a block-filtering rule to increase the accuracy of the similarity comparison.
Abstract:
The techniques introduced here include systems and methods for scalable heterogeneous or homogeneous unified enterprise cluster storage systems that include a first cluster-compliant server, a second cluster compliant server, and optionally a non-cluster-compliant server. The first cluster-compliant server can be configured for operation as a member of a cluster with the second cluster-compliant server, and further configured to service a client request from a client of the cluster storage system by utilizing the client request to send a server request to the second cluster-compliant server or the non-cluster-compliant server. The second cluster-compliant server and the non-cluster-compliant server are configured to service the server request from the first cluster-compliant server by retrieving data and sending the data to the first cluster-compliant server. The second cluster-compliant server can transition from clustering operations with the first cluster-compliant server to data serving operations with the optional non-cluster-compliant server.
Abstract:
The presently preferred embodiment of the invention provides an encryption based security system for network storage that separates the ability to access storage from the ability to access the stored data. This is achieved by keeping all the data encrypted on the storage devices. Logically, the invention comprises a device that has two network interfaces: one is a clear text network interface that connects to one or more clients, and the other is a secure network interface that is connected to one or more persistent storage servers. Functionally, each network interface supports multiple network nodes. That is, the clear text network interface supports multiple client machines, and the secure network interface supports one or more storage servers.
Abstract:
A dynamic approach for managing capacity in a storage environments accounting for various resource types, tiers, access paths, relationships among different storage environment components, as well as managing capacity in terms of resource planning and consumption is provided. Resource planning and consumption processes are used to allocate and reserve resources of different types and different tiers to each access path in the network. Capacity information for different resources types and tiers is automatically aggregated from different network components at different stages of a resource management cycle. The aggregated information may be used to estimate future resource needs or determine deviations between projected and actual status from which adjustments may be made to better predict future capacity needs.
Abstract:
A cluster of nodes share configuration data that characterizes the cluster as an entity (virtualization) to a client. Management configuration data, VSC, is entered into a replicating database, RDB. That data is distributed and stored into replicating databases in each node, and then reconciled with the corresponding cluster configuration data in dynamic memory. The dynamic memory is accessed by clients. In a preferred embodiment, the nodes are storage servers.
Abstract:
Example embodiments provide various techniques for initiating read-ahead requests. A rate at which applications is requesting data from a data storage device is identified. Additionally, a length of time in retrieving or servicing the data from the data storage device is also identified. The identified rate and length of time in retrieving the data are used to determine when read-ahead requests should be sent to pre-fetch data.
Abstract:
A system and method to allow a volume to appear in multiple locations in a super-namespace. A super-namespace is a hierarchy of namespaces within a storage system environment, such as a storage system cluster. The volume can appear in multiple locations in the super-namespace and/or in multiple namespaces within the super-namespace.
Abstract:
Described is a process for encrypting and compressing data for storage by computing systems. A data stream received by a computing system is separated into data chunks for storage on a storage device using a data layout format. Each data chunk is examined and if possible, compressed to produce a compressed data chunk. Whether or not the data chunk can be compressed, the data chunk is encrypted and stored on the storage device in addition to metadata that describes the data chunk. When reading the stored data chunk from the storage device, the metadata identifies the starting location of the stored data chunk and provides metadata information to the computing system for decryption and decompression processing.
Abstract:
A processing system includes control circuitry to control the processing system, a remote management module to enable remote management of the processing system via a network, and an agent to operate as an intermediary between the remote management module and the control circuitry. The agent and the remote management module are configured to cooperatively implement an abstraction layer through which the agent and the remote management module communicate.