Abstract:
A set of probabilities may indicate the chance of finding the latest version of a data item in any particular data image layer of a data image. A client may use the set of probabilities to request the data item from one or more layers that have a higher probability of having that version of the data item. A client may query more recently created layers to determine whether they have a version of the data item. If any of the more recently created data image layers has a version of the data item, a client may request the data item from the most recent of the more recently created layers and may discard any data returned from the originally requested layer. A client may update the historical probabilities based on which layers contain versions of the data item.
Abstract:
A method, system and computer accessible medium for expiring access tokens in preparation for freezing file images. A metadata server may maintain a next scheduled quiesce time and may issue access tokens configured to expire before the next scheduled quiesce time. A metadata server may set an access token's expiration time to a maximum expiration time indicated by the next scheduled quiesce time or may set an access token's expiration time to a default expiration time if the default expiration time is earlier than the maximum expiration time. A storage device may recognize and enforce the access token's expiration time.
Abstract:
A system and method for storing and utilizing routing information in a computer network. Instances of a first network address may be created on each of N nodes in the network. Routing information for routing messages to the first network address may be stored on a first node. The first node may be operable to route a first message to the first network address using the routing information so that the message reaches each of the N nodes that have an instance of the first network address. However, the routing information stored by the first node may comprise information regarding less than all N instances of the first network address.
Abstract:
A system and method for handling un-partitioning of a computer network are disclosed. Routing information may be stored on a first node in the network when the network is partitioned into a first group of nodes and a second group of nodes, where the first node is in the first group of nodes. Storing the routing information on the first node may include storing information usable to route messages to nodes in the first group of nodes. A technique for determining when the second group of nodes has become un-partitioned from the first group of nodes (i.e., for determining when the partition has been repaired) may be employed. In response to determining that the second group of nodes has become un-partitioned from the first group of nodes, the routing information on the first node may be modified. Modifying the routing information on the first node may include storing information useable to route messages to nodes in the second group of nodes.
Abstract:
A file system may save dirty file information indicating portions of files, residing on a storage system, to be modified corresponding data modification requests received by the file system. The file system may update the saved dirty file information to indicate successful modification of the files across redundant storage of the storage system and may track redundancy consistency recovery information on a file-by-file basis or on a file portion basis. A file system may also retrieve saved dirty file information and recover redundancy consistency for portions of files determined, based on the saved dirty file information, not to have redundancy consistency on the storage system. Recovering redundancy consistency may include copying, either directly to via a storage system mechanism, portions of files between redundant storage of the storage system. The redundancy consistency for the saved dirty file information may be recovered prior to recovering redundancy consistency for individual files.
Abstract:
A system and method for detecting mirror inconsistencies in a distributed storage environment. Inconsistencies between mirrors may be detected by comparing session tags among individual storage devices. Each data write may include a tag and storage devices may calculate session tags from the write tags. Additionally, a storage device may keep a history including tags from recent writes. When a client sessions ends, a metadata server may compare the respective session tags from different storage devices to determine whether the mirrors are synchronized. If the session tags do not match, the metadata server may examine the metadata histories from the storage devices to determine a cause for the discrepancy in the session tags. If examining the session histories fails to reveal the discrepancy's source, a metadata server may request individual data block checksums from storage devices to attempt a re-synchronization of the mirrored storage devices.
Abstract:
A system and method supporting communication sessions for nodes in a network. A sender node may initiate a send operation to send a message to one or more receiver nodes. For each receiver node, the message may pass from the sender node to the receiver node via a path including a plurality of nodes. At each node through which the message passes, the node may store state information regarding the message. The state information may include information specifying a link via which the message was received. Each receiver node may issue one or more replies to the message. The replies from each receiver node may pass from the receiver node to the sender node via the same path by which the message reached the respective receiver node. This may be accomplished using the state information stored on each node in the path.
Abstract:
A system and method for re-mapping location-independent addresses in a computer network. A first node may send a first message addressed to a location-independent address, where the first message comprises a request to host an instance of the location-independent address. A second node with which the location-independent address is associated may receive the first message, possibly after the first message was propagated through a path of intermediate nodes. The second node may send a response message to the first node, where the response message indicates whether the second node is granting permission to the first node to host an instance of the location-independent address. The response message may also specify whether the second node is giving up its own instance of the location-independent address.
Abstract:
A file system may selectively perform redundancy consistency recovery and synchronization of mirrors and may store dirty file information in a log or journal that indicates the modification of a file. A file system may update saved dirty file information to indicate successful modification of data across mirrors and may keep track of redundancy consistency recovery information on a file-by-file basis or may track the redundancy consistency of portions of files. A file system may also instruct an underlying storage system not to track data modifications, possibly selectively for each I/O request. During synchronization the file system may synchronize its log and use saved dirty file information to determine files to be synchronized. A file system may selectively use file system logging for individual data modification requests and may expose an API allowing applications to specify a redundancy consistency mechanism.
Abstract:
A method and system for externally managed file versions. In shared storage environments file versions may be managed utilizing sparse data objects in storage devices. A file version may comprise a chain of one or more sparse data objects, where each object may represent changes compared to the data in other objects of the chain. New, empty sparse data objects may be attached to existing object chains to create new file versions. When providing file version metadata, a metadata server may provide information for the entire object chain. Write permission may be granted only for the front-most object in a chain, while all other objects in the chain may be write-protected. A storage device may expose the presence of holes in sparse data objects to help locate information in the object chain.