Patent application number | Description | Published |
20080201335 | Method and Apparatus for Storing Data in a Peer to Peer Network - A fixed prefix peer to peer network has a number of physical nodes. The nodes are logically divided into a number of storage slots. Blocks of data are erasure coded into original and redundant data fragments and the resultant fragments of data are stored in slots on separate physical nodes such that no physical node has more than one original and/or redundant fragment. The storage locations of all of the fragments are organized into a logical virtual node (e.g., a supernode). Thus, the supernode and the original block of data can be recovered even if some of the physical nodes are lost. | 08-21-2008 |
20080201428 | Method for Operating a Fixed Prefix Peer to Peer Network - A fixed prefix peer to peer network has a number of physical nodes. The nodes are logically divided into a number of storage slots. Blocks of data are erasure coded into original and redundant data fragments and the resultant fragments of data are stored in slots on separate physical nodes such that no physical node has more than one original and/or redundant fragment. The storage locations of all of the fragments are organized into a logical virtual node (e.g., a supernode). Thus, the supernode and the original block of data can be recovered even if some of the physical nodes are lost. | 08-21-2008 |
20080221856 | Method and System for a Self Managing and Scalable Grid Storage - The present invention generally provides a method for grid storage including balancing read and write requests from applications across a first group of nodes in a grid storage system for avoiding hot spots and optimizing performance through smart caching; balancing storage capacity across a second group of nodes in the grid storage system, nodes in the first and second groups being at least one of hardware interchangeable online, capable of being added to change performance or capacity of the grid storage system and capable of being removed to change performance or capacity of the grid storage system; and self managing of the first and second groups of nodes for providing at least one of scalability, self healing after failure of components in the grid storage, non-disruptive upgrades to the grid storage system, and eliminating duplicate data on an object or sub-object level in the grid storage system. | 09-11-2008 |
20100064166 | SCALABLE SECONDARY STORAGE SYSTEMS AND METHODS - Exemplary systems and methods in accordance with embodiments of the present invention may provide a plurality of data services by employing splittable, mergable and transferable redundant chains of data containers. The chains and containers may be automatically split and/or merged in response to changes in storage node network configurations and may be stored in erasure coded fragments distributed across different storage nodes. Data services provided in a distributed secondary storage system utilizing redundant chains of containers may include global deduplication, dynamic scalability, support for multiple redundancy classes, data location, fast reading and writing of data and rebuilding of data due to node or disk failures. | 03-11-2010 |
20100070698 | CONTENT ADDRESSABLE STORAGE SYSTEMS AND METHODS EMPLOYING SEARCHABLE BLOCKS - In accordance with exemplary embodiments of the present invention, a content addressable data structure system may include directed acyclic graphs (DAGs) of data content that are addressed using both a user-defined search key and content of data blocks. Internal keys of retention roots of the DAGs may be derived from the user-defined search key while the remaining blocks may be content addressed. As opposed to using a content address, the user may provide the search key when retrieving and deleting DAGs retaining the data content. In addition, the internal keys may be implemented using internal content addressable storage operations, such as applying a hash function and employing a distributed hash table. | 03-18-2010 |
20100082636 | Methods and Apparatus for Content-Defined Node Splitting - A region of a node is searched to find a content-defined split point. A split point of a node is determined based at least in part on hashes of entries in the node and the node is split based on the determined split point. The search region is searched for the first encountered split point and the node is split based on that split point. That split point is based on a predetermined bitmask of the hashes of the entries in the node satisfying a predetermined condition. | 04-01-2010 |
20110238737 | DECENTRALIZED CLOUD STORAGE - A decentralized cloud storage system is provided which comprises at least one client having local resources. The local resources include a first portion which is accessible to the at least one client and a second portion designated to be accessible to and managed by a cloud storage service having a computer readable storage medium. A server logic module is configured to allocate responsibility for performing a set of functions between back-end resources of the cloud storage service and the local resources designated by the at least one client. The system also includes a controller configured to manage the resources designated by the at least one client to implement the functions which have been allocated to the at least one client. | 09-29-2011 |
20120047330 | I/O EFFICIENCY OF PERSISTENT CACHES IN A STORAGE SYSTEM - A system and method are disclosed for improving the efficiency of a storage system. At least one application-oriented property is associated with data to be stored on a storage system. Based on the at least one application-oriented property, a manner of implementing at least one caching function in the storage system is determined. Data placement and data movement are controlled in the storage system to implement the at least one caching function. | 02-23-2012 |
20120096219 | CONTENT ADDRESSABLE STORAGE WITH REDUCED LATENCY - A system and method for storing data in a content-addressable system is provided. The system includes a content-addressable storage system and a persistent cache. The persistent cache includes a temporary address generator that is configured to generate a temporary address which is associated with data to be stored in the persistent cache, and a non-content-addressable storage system configured to store and retrieve data in the persistent cache using the temporary address. The persistent cache further comprises an address translator configured to map a temporary address associated with the data in the non-content addressable storage system with a content address associated with the data in the content-addressable storage system. | 04-19-2012 |
20130173853 | MEMORY-EFFICIENT CACHING METHODS AND SYSTEMS - Caching systems and methods for managing a cache are disclosed. One method includes determining whether a cache eviction condition is satisfied. In response to determining that the cache eviction condition is satisfied, at least one Bloom filter registering keys denoting objects in the cache is referenced to identify a particular object in the cache to evict. Further, the identified object is evicted from the cache. In accordance with an alternative scheme, a bit array is employed to store recency information in a memory element that is configured to store metadata for data objects stored in a separate cache memory element. This separate cache memory element stores keys denoting the data objects in the cache and further includes bit offset information for each of the keys denoting different slots in the bit array to enable access to the recency information. | 07-04-2013 |
20140115406 | DELAY-TOLERANT AND LOSS-TOLERANT DATA TRANSFER FOR MOBILE APPLICATIONS - A method supports data communication in a mobile application by specifying in the mobile application a program intent and one or more course or fine-grained properties of data objects in terms of tolerance to delay and loss; selecting a transfer policy for a set of data objects based on the application intent; receiving and coalescing intents of one or more applications for object data for the one or more applications; crafting an aggregate transfer policy, and communicating data from one or more applications as an aggregate based on the aggregate transfer policy to programmatically incorporate and benefit from tolerance to delay in the transfer of data. | 04-24-2014 |
20140279901 | Mobile Data Synchronization - Disclosed are methods and structures that facilitate the synchronization of mobile devices and apps with cloud storage systems. Our disclosure, Simba, provides a unified synchronization mechanism for object and table data in the context of mobile clients. Advantageously, Simba provides application developers a single, API where object data is logically embedded with the table data. On the mobile device, Simba uses a specialized data layout to efficiently store both table data and object data. SQL-like queries are used to store and retrieve all data via a table abstraction. Simba also provides efficient synchronization by splitting object data into chunks which can be synchronized independently. Therefore, if only a small part of an object changes, the full object need not be synced. Advantageously only the changed chunks need be synched. | 09-18-2014 |
20140304478 | Space Reclamation of Objects in a Persistent Cache - Disclosed herein are methods and structures for a computer cache that includes its own garbage collection component that reclaims space occupied by free objects in the cache such that the cache avoids retaining deleted objects thereby increasing cache hit ratios and further permits short-lived dirty objects to be deleted without requiring them to be written back to an underlying store. | 10-09-2014 |
20140310476 | BUCKETIZED MULTI-INDEX LOW-MEMORY DATA STRUCTURES - Systems and methods for generating and storing a data structure for maintaining cache supporting compression and cache-wide deduplication, including generating data structures with fixed size memory regions configured to hold multiple signatures as keys, wherein the number of the fixed size memory regions is bounded. A first mapping is generated from short-length signatures to a storage location and a quantized length measure on a cache storage device; and unused contiguous regions on the cache device are allocated. Metadata and cache page content is retrieved using a single input/output operation; a correctness of a full value of hash functions of uncompressed cache page content is validated; a second mapping is generated from short-length signatures to entries in the first mapping; and verification of whether the cached page content corresponds to a full-length original logical block address using the metadata is performed. | 10-16-2014 |
20140317055 | Version Vector Scheme for Data Synchronization on Resource-Constrained Networks - Disclosed herein are methods and structures for networks of mobile computers which efficiently synchronizes table data across the mobile computers while exhibiting great tolerance for temporary disconnects. | 10-23-2014 |
20150088945 | ADAPTIVE COMPRESSION SUPPORTING OUTPUT SIZE THRESHOLDS - Methods and systems for adaptive compression include compressing input data according to a first compression ratio; pausing compression after a predetermined amount of input data is compressed; estimating which of a set of ranges a compressed output size will fall within using current settings; and performing compression on a remainder of the input data according to a second compression ratio based on the estimated range. | 03-26-2015 |