Patent application number | Description | Published |
20100161554 | ASYNCHRONOUS DISTRIBUTED DE-DUPLICATION FOR REPLICATED CONTENT ADDRESSABLE STORAGE CLUSTERS - A method is performed by a device of a group of devices in a distributed data replication system. The method includes storing an index of objects in the distributed data replication system, the index being replicated while the objects are stored locally by the plurality of devices in the distributed data replication system. The method also includes conducting a scan of at least a portion of the index and identifying a redundant replica(s) of the at least one of the objects based on the scan of the index. The method further includes de-duplicating the redundant replica(s), and updating the index to reflect the status of the redundant replica. | 06-24-2010 |
20100161688 | ASYNCHRONOUS DISTRIBUTED GARBAGE COLLECTION FOR REPLICATED STORAGE CLUSTERS - A method may be performed by a device of a group of devices in a distributed data replication system. The method may include storing objects in a data store, at least one or more of the objects being replicated with the distributed data replication system, and conducting a scan of the objects in the data store. The method may further include identifying one of the objects as not having a reference pointing to the object, storing a delete negotiation message as metadata associated with the one of the objects, and replicating the metadata with the delete negotiation message to one or more other devices of the group of devices. | 06-24-2010 |
20100268902 | ASYNCHRONOUS DISTRIBUTED OBJECT UPLOADING FOR REPLICATED CONTENT ADDRESSABLE STORAGE CLUSTERS - A method is performed by two or more devices of a group of devices in a distributed data replication system. The method includes receiving, at the two or more devices, a group of chunks having a same unique temporary identifier, where the group of chunks comprises an object to be uploaded; creating an entry for the object in a replicated index, where the entry is keyed by the unique temporary identifier, and where the replicated index is replicated at each of the two or more devices; and determining, by an initiating device of the two or more devices, that a union of the group of chunks contains all data of the object. The method also includes calculating a content-based identifier to the object; creating another entry for the object in the replicated index, where the other entry is keyed by the content-based identifier; and updating the replicated index to point from the unique temporary identifier to the content-based identifier. | 10-21-2010 |
20110196664 | Location Assignment Daemon (LAD) Simulation System and Method - A system and method for simulating a state of a distributed storage system is provided. A current state of a distributed storage system and replication policies for the objects in the distributed storage system is obtained. Proposed modifications to the current state of the distributed storage system are received. The state of the distributed storage system is simulated over time based on the current state of the distributed storage system, the replication policies for the objects in the distributed storage system, and the proposed modifications to the current state of the distributed storage system. Then reports relating to the time evolution of the current state of the distributed storage system are generated based on the simulation. | 08-11-2011 |
20110196828 | Method and System for Dynamically Replicating Data Within A Distributed Storage System - A server computer at a first storage sub-system of a distributed storage system receives from a client a first client request for an object. If the object is not present in the first storage sub-system, the server computer identifies a second storage sub-system of the distributed storage system as having a replica of the requested object, the requested object including content and metadata. The server computer submits an object replication request for the requested object to the second storage sub-system and independently receives the content and metadata of the requested object from the second storage sub-system. The server computer generates a new replica of the object at the first storage sub-system using the received metadata and content and returns the metadata of the new replica of the object to the client. | 08-11-2011 |
20110196832 | Location Assignment Daemon (LAD) For A Distributed Storage System - A system and method for generating replication requests for objects in a distributed storage system is provided. For a respective object in a distributed storage system the following is performed. Replication policies for the object that have not been satisfied are determined. Replication requests are ranked for the object whose replication policies have not been satisfied based on a number of replicas of the object that need to be created in order to satisfy the replication policies for the object. Replication requests are generated for the object based at least in part on the replication policies for the object that have not been satisfied and on a current state of the distributed storage system. At least a subset of the replication requests for the objects in the distributed storage system are distributed to respective instances of the distributed storage system corresponding to the replication requests for execution. | 08-11-2011 |
20110196833 | Storage of Data In A Distributed Storage System - A distributed storage system has multiple instances. There is a plurality of local instances, and at least some of the local instances are at physically distinct geographic locations. Each local instance is configured to store data for a non-empty set of blobs in a plurality of data stores having a plurality of distinct data store types. In addition, each local instance stores metadata for the respective set of blobs in a metadata store distinct from the data stores. There is also a plurality of global instances. Each global instance is configured to store data for zero or more blobs in zero or more data stores and store metadata for all blobs stored at any local or global instance. The system selects one global instance to run a replication module that replicates blobs between instances according to blob policies. Some systems also include dynamic replication based on user needs. | 08-11-2011 |
20110196834 | Storing Replication Requests for Objects In A Distributed Storage System - A system and method for storing replication requests for objects in a distributed storage system is provided. A plurality of replication requests for objects stored on storage devices in a distributed storage system is received. Respective row keys are generated for respective replication requests in the plurality of replication requests based on parameters of the respective replication requests. The respective row keys include respective globally-determined priorities for the respective replication requests that facilitate sorting of the respective replication requests by priority. The respective replication requests are stored in respective records of a distributed database using the respective row keys, wherein the respective records of the distributed database are distributed across a plurality of nodes of the distributed database. | 08-11-2011 |
20110196835 | Executing Prioritized Replication Requests for Objects In A Distributed Storage System - A system and method for executing replication requests for objects in a distributed storage system is provided. A replication queue is identified from a plurality of replication queues corresponding to a replication key. The replication key includes information related to at least a source storage device in a distributed storage system at which objects are located and a destination storage device in the distributed storage system to which the objects are to be replicated. A distributed database is scanned using an identifier of the replication queue to produce a list of replication requests corresponding to the replication queue. The records of the distributed database are distributed across a plurality of nodes of the distributed database. The replication requests in the list of replication requests are executed in priority order. Replication requests are deleted from the distributed database only when the replication requests are complete. | 08-11-2011 |
20110196836 | Executing Replication Requests for Objects In A Distributed Storage System - A system and method for executing replication requests for objects in a distributed database is provided. A plurality of replication requests for objects in a distributed storage system is received. The replication requests are partitioned into one or more replication queues. A respective replication queue includes replication requests that have a respective replication key. The respective replication key includes information related to at least a respective source storage device at which a respective object is located and a respective destination storage device to which the respective object is to be replicated. For each respective replication queue, the replication requests in the replication queue are sorted based on priorities of the replication requests. Commands to execute a highest priority request are issued in each respective replication queue. When a respective replication request is completed, the respective replication request is deleted from the replication queue. | 08-11-2011 |
20110196873 | System and Method for Replicating Objects In A Distributed Storage System - A system and method for inserting an object into a distributed database is provided. An object to be inserted into a priority queue is received, wherein the object includes a unique identifier and a priority. Next, an index for the object is generated. A row name for the object is then generated based on the index, the priority of the object, and the unique identifier of the object, wherein a lexicographical order of the row name for a higher priority object is smaller than the lexicographical order of the row name for a lower priority object. The object is then inserted into a row of a distributed database using the row name. | 08-11-2011 |
20110196882 | Operating On Objects Stored In A Distributed Database - A system and method for operating on objects stored in a distributed database is provided. Rows of a distributed database that correspond to an index are identified. The identified rows are sorted lexicographically based on row names of the identified rows. The sorted rows are ordered by priorities of objects corresponding to the sorted rows. The objects corresponding to the sorted rows are operated on in priority order. In some embodiments, the objects are replication requests for replicating data in a distributed storage system, and operating on the objects corresponding to the sorted rows in priority order includes executing the replication requests in priority order to replicate data in the distributed storage system. | 08-11-2011 |
20110196900 | Storage of Data In A Distributed Storage System - A distributed storage system stores data for files. A first blob (binary large object) of data is received. The first blob is split into one or more first chunks of data. Content fingerprints for the first chunks of data are computed. The first chunks of data are stored in a chunk store while and their content fingerprints are stored in a store distinct from the chunk store. A second blob of data is received. The second blob is split into one or more second chunks of data. Content fingerprints for the second chunks of data are computed. Then for a second chunk of data whose content fingerprint matches a content fingerprint of a first chunk of data, a second reference to the corresponding first chunk of data that has a matching content fingerprint is stored, but the second chunk of data is not stored. | 08-11-2011 |
20110196901 | System and Method for Determining the Age of Objects in the Presence of Unreliable Clocks - A system and method for determining an age of an object is provided. A first index for a timestamp entry in a sequence of timestamps corresponding to a time at which an object was created is identified. At least one subsequence of timestamps from the sequence of timestamps having indexes for entries in the sequence of timestamps that are between the first index in the sequence of timestamps and a last index for a last timestamp entry in the sequence of timestamps is identified, wherein the at least one subsequence of timestamps conforms to a function of a time interval between storage of consecutive current timestamps reported by clock of the computer system. Timestamps from the sequence of timestamps that are not included in the at least one subsequence of timestamps are removed. An age of the object is determined based on the at least one subsequence of timestamps. | 08-11-2011 |
20120259948 | ASYNCHRONOUS DISTRIBUTED OBJECT UPLOADING FOR REPLICATED CONTENT ADDRESSABLE STORAGE CLUSTERS - A method performed by two or more devices of a group of devices in a distributed data replication system may include receiving a group of chunks having a same unique temporary identifier, the group of chunks comprising an object to be uploaded; creating an entry for the object in a replicated index, the entry being keyed by the unique temporary identifier, and the replicated index being replicated at each of the two or more devices; and determining, by an initiating device of the two or more devices, that a union of the group of chunks contains all data of the object. The method may also include calculating a content-based identifier to the object; creating another entry for the object in the replicated index, the other entry being keyed by the content-based identifier; and updating the replicated index to point from the unique temporary identifier to the content-based identifier. | 10-11-2012 |
20130124470 | ASYNCHRONOUS DISTRIBUTED GARBAGE COLLECTION FOR REPLICATED STORAGE CLUSTERS - A method may be performed by a device of a group of devices in a distributed data replication system. The method may include storing objects in a data store, at least one or more of the objects being replicated with the distributed data replication system, and conducting a scan of the objects in the data store. The method may further include identifying one of the objects as not having a reference pointing to the object, storing a delete negotiation message as metadata associated with the one of the objects, and replicating the metadata with the delete negotiation message to one or more other devices of the group of devices. | 05-16-2013 |
20130268486 | ASYNCHRONOUS DISTRIBUTED OBJECT UPLOADING FOR REPLICATED CONTENT ADDRESSABLE STORAGE CLUSTERS - A method performed by two or more devices of a group of devices in a distributed data replication system may include receiving a group of chunks having a same unique temporary identifier, the group of chunks comprising an object to be uploaded; creating an entry for the object in a replicated index, the entry being keyed by the unique temporary identifier, and the replicated index being replicated at each of the two or more devices; and determining, by an initiating device of the two or more devices, that a union of the group of chunks contains all data of the object. The method may also include calculating a content-based identifier to the object; creating another entry for the object in the replicated index, the other entry being keyed by the content-based identifier; and updating the replicated index to point from the unique temporary identifier to the content-based identifier. | 10-10-2013 |
20140032200 | Systems and Methods of Simulating the State of a Distributed Storage System - A distributed storage system has a plurality of instances. A computer system simulates the state of the distributed storage system. The system obtains a current state of the distributed storage system and replication policies for objects in the distributed storage system. Each replication policy specifies criteria for placing copies of the relevant objects among the plurality of instances. The system receives proposed modifications to the state of the distributed storage system and simulates the state of the distributed storage system over time based on the current state of the distributed storage system, current statistical trends in the state of the distributed storage system, the replication policies for the objects in the distributed storage system, and the proposed modifications to the state of the distributed storage system. One or more reports are generated relating to time evolution of the state of the distributed storage system based on the simulation. | 01-30-2014 |
20140304240 | Pruning of Blob Replicas - A method allocates object replicas in a distributed storage system. The method identifies a plurality of objects in the distributed storage system. Each object has an associated storage policy that specifies a target number of object replicas stored at distinct instances of the distributed storage system. The method identifies an object of the plurality of objects whose number of object replicas exceeds the target number of object replicas specified by the storage policy associated with the object. The method selects a first replica of the object for removal based on last access times for replicas of the object, and transmits a request to a first instance of the distributed storage system that stores the first replica. The request instructs the first instance to remove the first replica of the object. | 10-09-2014 |
20140379715 | Grouping of Objects in a Distributed Storage System Based on Journals and Placement Policies - Managing placement of object replicas is performed at a first instance of a distributed storage system. One or more journals are opened for storage of object chunks. Each journal is associated with a single placement policy. A first object is received comprising at least a first object chunk. The first object is associated with a first placement policy. The first object chunk is stored in a first journal whose associated placement policy matches the first placement policy. The first journal stores only object chunks for objects whose placement policies match the first placement policy. For the first journal, the receiving and storing operations are repeated for multiple objects whose associated placement policies match the first placement policy, until a first termination condition occurs. Then, the first journal is closed. Subsequently, the first journal is replicated to a second instance of the distributed storage system according to the first placement policy. | 12-25-2014 |
20150026128 | STORAGE OF DATA IN A DISTRIBUTED STORAGE SYSTEM - A distributed storage system has multiple instances. There is a plurality of local instances, and at least some of the local instances are at physically distinct geographic locations. Each local instance is configured to store data for a non-empty set of blobs in a plurality of data stores having a plurality of distinct data store types. In addition, each local instance stores metadata for the respective set of blobs in a metadata store distinct from the data stores. There is also a plurality of global instances. Each global instance is configured to store data for zero or more blobs in zero or more data stores and store metadata for all blobs stored at any local or global instance. The system selects one global instance to run a replication module that replicates blobs between instances according to blob policies. Some systems also include dynamic replication based on user needs. | 01-22-2015 |
Patent application number | Description | Published |
20100043810 | Packaging For Rolling Papers For Smoking Articles - An improved packaging for rolling papers used in roll your own smoking articles that includes a single member having an inner and an outer surface, the member being folded over towards the inner surface at each end to form a substantially parallel portion at each end and a generally open interior. The unfolded portion of the member extends along a path between the ends. The path includes at least one substantially straight planar portion and a semi-cylindrical portion. The pair of substantially parallel portions are configured such that a plurality of rolling papers may be removably packaged between the pair of substantially parallel portions. The plurality of rolling papers at least initially retains a curved shape after removal from the improved packaging such that a tobacco product may be placed in the curved portion. | 02-25-2010 |
20100206757 | Reclosable Package With Magnetic Clasp for Rolling Papers Used in Smoking Articles - A recloscable package for containing smoking papers to be dispensed therefrom, the package comprising: a body for holding the smoking papers, the body having a cover which overlays the body of the package for closure, wherein the cover has a first magnet, and wherein the body has a second magnet, the first and second magnets being positionally mounted to contact one another when the cover is folded downwardly over the body of the package for closure. | 08-19-2010 |
20110030710 | ROLLING PAPER STRUCTURES FOR CREATING SMOKING ARTICLES AND ADHESIVES COMPRISING HEMP ADDITIVE FOR SAME - Aspects of the invention generally provide structures for rolling paper structures for an end user to create a cigar or cigarette. In one aspect, a rolling paper structure is provided including a first paper section having a first height, a second paper section coupled to the first paper section and the second paper section having a second height longer than the first height, and an optional adhesive disposed on the second paper section. The rolling paper structure may be folded between the first paper section and the second paper section having a portion extending beyond the first paper section. An adhesive comprising a hemp additive for rolling paper structures is also provided. | 02-10-2011 |
20120097179 | Rolling Paper Structures for Creating Smoking Articles and Gummed, Coiled Inserts for Same - Aspects of the invention generally provide methods and structures for paper structures used by an end user to create a cigar or cigarette with gummed, coiled inserts. In one aspect, a rolling paper structure is provided including a first paper section having a first height, a second paper section coupled to the first paper section and the second paper section having a second height longer than the first height, and an optional adhesive disposed on the second paper section. The rolling paper structure may be folded between the first paper section and the second paper section having a portion extending beyond the first paper section. A gummed, coiled insert for rolling paper structures is also provided. | 04-26-2012 |