| Patent application number | Description | Published |
| 20100215175 | METHODS AND SYSTEMS FOR STRIPE BLIND ENCRYPTION - Methods and systems are disclosed that relate to encrypting data of a data item for storing in a data storage system comprising a plurality of disks having stripes. A blinding factor is constructed based on a stripe blind that is assigned to a stripe with which the data item is associated and a unique identifier associated with the data item. A first logic operation is performed between the blinding factor and an encryption key to create a blinded encryption key for the data item. The data item is decrypted by identifying the stripe blind with the unique identifier and recreating the data item's blinding factor based on the stripe blind and the unique identifier. A second logic operation, which is selected based on the first logic operation, is performed between the blinding factor and the blinded encryption key to recreate the encryption key. | 08-26-2010 |
| 20100217931 | MANAGING WORKFLOW COMMUNICATION IN A DISTRIBUTED STORAGE SYSTEM - In a data storage system having a plurality of storage nodes storing replicas of stripes, one storage node serves as a primary stripe node for a stripe. Client applications using the data storage system request operations affecting metadata stored in the stripe, and the data storage system creates workflow objects to implement the requested operation. Once the operation is completed, the workflow is acknowledged. A method for establishing a new primary stripe node comprises performing, by a selected storage node, a feasibility determination to determine the feasibility of the selected storage node becoming the new primary stripe node. It is feasible to become a new primary stripe node when doing so does not cause workflows that have been acknowledged, or that will be acknowledged, to result in strays. | 08-26-2010 |
| 20100217953 | HYBRID HASH TABLES - A hash table system having a first hash table and a second hash table is provided. The first hash table may be in-memory and the second hash table may be on-disk. Inserting an entry to the hash table system comprises inserting the entry into the first hash table, and, when the first hash table reaches a threshold load factor, flushing entries into the second hash table. Flushing the first hash table into the second hash table may comprise sequentially flushing the first hash table segments into corresponding second hash table segments. When looking up a key/value pair corresponding to a selected key in the hash table system, the system checks both the first and second hash tables for values corresponding to the selected key. The first and second hash tables may be divided into hash table segments and collision policies may be implemented within the hash table segments. | 08-26-2010 |