Mounting dynamic endpoints
    1.
    发明授权

    公开(公告)号:US10762045B2

    公开(公告)日:2020-09-01

    申请号:US15661920

    申请日:2017-07-27

    Applicant: Caringo, Inc.

    Abstract: A client application is provided with a view of a subset of objects within an object store. A REST protocol, REST interface, or API may be used to access the objects. A coupling server may include a filter and a generator. The generator may automatically generate object metadata for newly created files that matches a filter. A client application may mount a drive on a computer based on metadata objects, such as providing a filter on object metadata to view files a user wants to access; or editing, reading, and updating object metadata as a file.

    Erasure coding and replication in storage clusters
    2.
    发明授权
    Erasure coding and replication in storage clusters 有权
    擦除存储集群中的编码和复制

    公开(公告)号:US09148174B2

    公开(公告)日:2015-09-29

    申请号:US14320494

    申请日:2014-06-30

    Applicant: Caringo, Inc.

    Abstract: A cluster receives a request to store an object using replication or erasure coding. The cluster writes the object using erasure coding. A manifest is written that includes an indication of erasure coding and a unique identifier for each segment. The cluster returns a unique identifier of the manifest. The cluster receives a request from a client that includes a unique identifier. The cluster determines whether the object has been stored using replication or erasure coding. If using erasure coding, the method reads a manifest. The method identifies segments within the cluster using unique segment identifiers of the manifest. Using these unique segment identifiers, the method reconstructs the object. A persistent storage area of another disk is scanned to find a unique identifier of a failed disk. If using erasure coding, a missing segment previously stored on the disk is identified. The method locates other segments. Missing segments are regenerated.

    Abstract translation: 集群使用复制或擦除编码接收存储对象的请求。 集群使用擦除编码写入对象。 写入清单,其包括擦除编码的指示和每个段的唯一标识符。 集群返回清单的唯一标识符。 集群从包含唯一标识符的客户端接收请求。 集群确定对象是否已使用复制或擦除编码进行存储。 如果使用擦除编码,则该方法读取清单。 该方法使用清单的唯一段标识符来识别群集中的段。 使用这些唯一的段标识符,该方法重建对象。 扫描另一个磁盘的持久存储区域以找到故障磁盘的唯一标识符。 如果使用擦除编码,则会识别先前存储在磁盘上的缺失段。 该方法定位其他段。 缺少段重新生成。

    Elimination of duplicate objects in storage clusters
    4.
    发明授权
    Elimination of duplicate objects in storage clusters 有权
    消除存储集群中的重复对象

    公开(公告)号:US08843454B2

    公开(公告)日:2014-09-23

    申请号:US14262628

    申请日:2014-04-25

    Applicant: Caringo, Inc.

    CPC classification number: G06F3/0641 G06F3/0608 G06F3/067

    Abstract: Digital objects within a fixed-content storage cluster use a page mapping table and a hash-to-UID table to store a representation of each object. For each object stored within the cluster, a record in the hash-to-UID table stores the object's hash value and its unique identifier (or portions thereof). To detect a duplicate of an object, a portion of its hash value is used as a key into the page mapping table. The page mapping table indicates a node holding a hash-to-UID table indicating currently stored objects in a particular page range. Finding the same hash value but with a different unique identifier in the table indicates that a duplicate of an object exists. Portions of the hash value and unique identifier may be used in the hash-to-UID table. Unneeded duplicate objects are deleted by copying their metadata to a manifest and then redirecting unique identifiers to point at the manifest.

    Abstract translation: 固定内容存储集群内的数字对象使用页面映射表和散列到UID表来存储每个对象的表示。 对于存储在集群中的每个对象,散列到UID表中的记录存储对象的散列值及其唯一标识符(或其部分)。 为了检测对象的副本,将其哈希值的一部分用作页面映射表中的键。 页面映射表指示在特定页面范围内保存指示当前存储的对象的散列到UID表的节点。 在表中找到相同的哈希值但具有不同的唯一标识符表示存在对象的副本。 哈希值和唯一标识符的部分可以在哈希到UID表中使用。 将不必要的重复对象通过将其元数据复制到清单,然后将唯一标识符重定向到清单来删除。

    Multi-part upload
    5.
    发明授权

    公开(公告)号:US10348807B2

    公开(公告)日:2019-07-09

    申请号:US15661851

    申请日:2017-07-27

    Applicant: Caringo, Inc.

    Abstract: A method writes a data block from a client application onto object storage. Object storage receives a write request with a data block over an API from a coupling server, the data block being an update to a target file stored within object storage. Next, object storage receives a completion request from the coupling server for the target file. Then, object storage receives a final manifest from the coupling server, the final manifest includes for each data block of the target file an identifier for said data block, a start location, an end location or a size, and a unique identifier for the data block; the manifest has the data blocks ordered by positions in the target file. Finally, object storage assembles of new version of the target file using the final manifest, the received data block and other data blocks of the target file, and writes a new version into object storage.

    Two level addressing in storage clusters
    6.
    发明授权
    Two level addressing in storage clusters 有权
    存储集群中的两级寻址

    公开(公告)号:US09575826B2

    公开(公告)日:2017-02-21

    申请号:US14788664

    申请日:2015-06-30

    Applicant: Caringo, Inc.

    Abstract: Digital objects are stored and accessed within a fixed content storage cluster by using a page mapping table and a pages index. A stream is read from the cluster by using a portion of its unique identifier as a key into the page mapping table. The page mapping table indicates a node holding a pages index indicating where the stream is stored. A stream is written to the cluster by storing the stream on any suitable node and then updating a pages index stored within the cluster. The cluster recovers from a node failure by first replicating streams from the failed node and reallocating a page mapping table to create a new pages index. The remaining nodes send records of the unique identifiers corresponding to objects they hold to the new pages index. A node is added to the cluster by reallocating a page mapping table.

    Abstract translation: 通过使用页面映射表和页面索引,数字对象在固定内容存储集群内存储和访问。 通过使用其唯一标识符的一部分作为页面映射表中的密钥从集群读取流。 页面映射表指示存储指示流存储在哪里的页面索引的节点。 通过将流存储在任何合适的节点上,然后更新存储在集群中的页面索引,将流写入集群。 通过首先从故障节点复制流并重新分配页面映射表以创建新的页面索引,群集从节点故障中恢复。 剩下的节点将与它们所持有的对象相对应的唯一标识符的记录发送到新页索引。 通过重新分配页面映射表将节点添加到集群。

    Two level addressing in storage clusters

    公开(公告)号:US10649827B2

    公开(公告)日:2020-05-12

    申请号:US15934574

    申请日:2018-03-23

    Applicant: Caringo, Inc.

    Abstract: Digital objects are stored and accessed within a fixed content storage cluster by using a page mapping table and a pages index. A stream is read from the cluster by using a portion of its unique identifier as a key into the page mapping table. The page mapping table indicates a node holding a pages index indicating where the stream is stored. A stream is written by storing the stream on any suitable node and then updating a pages index stored within the cluster responsible for knowing the location of digital objects having unique identifiers that fall within a particular address range. The cluster recovers from a node failure by first replicating streams from the failed node and reallocating a page mapping table to create a new pages index. The remaining nodes send records of the unique identifiers corresponding to objects they hold to the new pages index.

    Erasure coding and replication in storage clusters

    公开(公告)号:US10437672B2

    公开(公告)日:2019-10-08

    申请号:US15685833

    申请日:2017-08-24

    Applicant: Caringo, Inc.

    Abstract: A cluster receives a request to store an object using replication or erasure coding. The cluster writes the object using erasure coding. A manifest is written that includes an indication of erasure coding and a unique identifier for each segment. The cluster returns a unique identifier of the manifest. The cluster receives a request from a client that includes a unique identifier. The cluster determines whether the object has been stored using replication or erasure coding. If using erasure coding, the method reads a manifest. The method identifies segments within the cluster using unique segment identifiers of the manifest. Using these unique segment identifiers, the method reconstructs the object. A persistent storage area of another disk is scanned to find a unique identifier of a failed disk. If using erasure coding, a missing segment previously stored on the disk is identified. The method locates other segments. Missing segments are regenerated.

    MULTI-PART UPLOAD
    10.
    发明申请
    MULTI-PART UPLOAD 审中-公开

    公开(公告)号:US20180034892A1

    公开(公告)日:2018-02-01

    申请号:US15661851

    申请日:2017-07-27

    Applicant: Caringo, Inc.

    Abstract: A method writes a data block from a client application onto object storage. Object storage receives a write request with a data block over an API from a coupling server, the data block being an update to a target file stored within object storage. Next, object storage receives a completion request from the coupling server for the target file. Then, object storage receives a final manifest from the coupling server, the final manifest includes for each data block of the target file an identifier for said data block, a start location, an end location or a size, and a unique identifier for the data block; the manifest has the data blocks ordered by positions in the target file. Finally, object storage assembles of new version of the target file using the final manifest, the received data block and other data blocks of the target file, and writes a new version into object storage.

Patent Agency Ranking