Inventors list

Assignees list

Classification tree browser

Top 100 Inventors

Top 100 Assignees


Kesselman, US

Alexander Kesselman, Sunnyvale, CA US

Patent application numberDescriptionPublished
20100161554ASYNCHRONOUS 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
20100161688ASYNCHRONOUS 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
20100268902ASYNCHRONOUS 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
20110196664Location 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
20110196828Method 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
20110196832Location 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
20110196833Storage 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
20110196834Storing 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
20110196835Executing 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
20110196836Executing 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
20110196873System 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
20110196882Operating 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
20110196900Storage 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
20110196901System 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

Alexandre Kesselman, Sunnyvale, CA US

Patent application numberDescriptionPublished
20110196822Method and System For Uploading Data Into A Distributed Storage System - A method for uploading an object into a distributed storage system is implemented at a computing device The computing device splits an object into one or more chunks and uploads the one or more chunks into the distributed storage system. For each uploaded chunk, the computing device receives a write token from the distributed storage system, inserts an entry into an extents table of the object for the chunk in accordance with the received write token and the chunk ID, chunk offset, and chunk size of the chunk, generates a digest of the extents table, the digest representing the one or more chunks that the client expects to be within the distributed storage system, and sends the digest of the extents table to the distributed storage system. The distributed storage system is configured to use the digest to determine whether it has each of the one or more client-expected chunks.08-11-2011
20110196838Method and System for Managing Weakly Mutable Data In A Distributed Storage System - A method for managing multiple generations of an object within a distributed storage system is implemented at a computing device. The computing device receives metadata and content of a first generation of an object from a first client connected to the distributed storage system and stores the first generation's metadata and content within a first storage sub-system. The computing device receives metadata and content of a second generation of the object from a second client connected to the distributed storage system and stores the second generation's metadata and content within a second storage sub-system. The computing device independently replicates the first generation's metadata and content from the first storage sub-system to the second storage sub-system and replicates the second generation's metadata and content from the second storage sub-system to the first storage sub-system such that both storage sub-systems include a replica of the object's first and second generations.08-11-2011

Carl Kesselman, Santa Monica, CA US

Patent application numberDescriptionPublished
20110060607HEALTH CARE INFORMATION SYSTEMS - A health care information provider system may provide information about health care objects managed by a health care provider. A name generating system may generate an object name for each of the health care objects which may include provider information indicative of the identity of the health care provider which manages the health care object, and object information indicative of the identity of the health care object. The object information may be devoid of any personal health information, even in a form which can be decrypted by a decryption key.03-10-2011

Joseph J. Kesselman, Arlington, MA US

Patent application numberDescriptionPublished
20090116078Method and system for processing an electronic document using streaming optimization via programmatic analysis of XML use - A method for processing an electronic document may include performing a programmatic analysis to determine all required portions of an input document to produce an output document. The method may also include generating an executable transformer to produce the output document from the input document. The method may further include producing the output document by transforming any streamable parts of the input document directly to corresponding parts of the output document without extraneous intermediate buffering.05-07-2009

Joseph J. Kesselman, Malden, MA US

Patent application numberDescriptionPublished
20080282145METHOD AND SYSTEM FOR EFFECTIVE SCHEMA GENERATION VIA PROGRAMMATIC ANALYSIS - A method to generate an effective schema of an electronic document for optimizing the processing thereof may include performing a programmatic analysis to determine all required portions of the electronic document. The method may also include generating a parser or deserializer to build an optimized document model; and specializing a document processing program against the optimized document model.11-13-2008

Joshua D. Kesselman, Phoenix, AZ US

Patent application numberDescriptionPublished
20100043810Packaging 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
20100206757Reclosable 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
20110030710ROLLING 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