Systems and methods for storing object state on hash chains

US10824345B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10824345-B2
Application numberUS-201816204900-A
CountryUS
Kind codeB2
Filing dateNov 29, 2018
Priority dateNov 29, 2018
Publication dateNov 3, 2020
Grant dateNov 3, 2020

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A method for storing object state on hash chains. A read request that includes a received field name is received by an object with a plurality of fields. A field value that corresponds to the received field name is retrieved from a hash chain of the object by traversing the hash chain. A block is found that includes the field value from the plurality of field values that corresponds to the received field name. A response to the read request that includes the field value is generated and transmitted.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: receiving, by an object with a plurality of fields, a first plurality of read requests that include a plurality of received field names of a plurality of fields of the object; retrieving a plurality of field values of the plurality of fields from a plurality of hash chains for the plurality of fields of the object by: identifying the respective hash chain from a plurality of hash chains of the object that corresponds to the respective field, and identifying an end block of the respective hash chain that includes the respective field value; generating a plurality of responses to the first plurality of read requests each including the field value from the end block of the respective hash chain; transmitting the plurality of responses; receiving, by the object, a plurality of write requests that include a plurality of updated field values of the plurality of fields; and adding, to the plurality of hash chains for the plurality of fields, a plurality of new blocks comprising the plurality of updated field values of the plurality of fields. 2. The method of claim 1 , further comprising: locking the object and queuing a second plurality of read requests after receiving the first plurality of read requests and before retrieving the plurality of field values. 3. The method of claim 2 , further comprising: retrieving a previous hash value. 4. The method of claim 3 , further comprising: generating, after retrieving the plurality of field values, a verification hash value from a field value of the plurality of field values and the previous hash value. 5. The method of claim 4 , further comprising: verifying the field value by comparing the verification hash value to a retrieved hash value. 6. The method of claim 2 , further comprising: unlocking the object and processing the second plurality of read requests after transmitting the plurality of responses. 7. A method comprising: receiving, by an object with a plurality of fields, a first plurality of read requests that include a plurality of received field names of a plurality of fields of the object; retrieving a plurality of field values of the plurality of fields from a hash chain of the object by: identifying a plurality of object field block identifiers that correspond to the plurality of fields and are stored separately from the hash chain by the object, and identifying a plurality of blocks that include the plurality of field values and are in the hash chain using the plurality of object field block identifiers without traversing the hash chain; generating a plurality of responses to the first plurality of read requests that include the plurality of field values; transmitting the plurality of responses; receiving, by the object, a plurality of write requests that include a plurality of updated field values of the plurality of fields; adding, to the hash chain, a plurality of new blocks comprising the plurality of updated field values of the plurality of fields; and updating the plurality of object field block identifiers to refer to the plurality of new blocks. 8. The method of claim 7 , further comprising: locking the object and queuing a second plurality of read requests after receiving the first plurality of read requests and before retrieving the plurality of field values. 9. The method of claim 8 , further comprising: retrieving a previous hash value. 10. The method of claim 9 , further comprising: generating, after retrieving the plurality of field values, a verification hash value from a field value of the plurality of field values and the previous hash value. 11. The method of claim 10 , further comprising: verifying the field value by comparing the verification hash value to a retrieved hash value. 12. The method of claim 8 , further comprising: unlocking the object and processing the second plurality of read requests after transmitting the plurality of responses. 13. A method comprising: receiving, by an object with a plurality of fields, a plurality of read requests that include a plurality of received field names of a plurality of fields of the object; for each field of the plurality of fields, retrieving a field value from a first hash chain of a plurality of hash chains for the plurality of fields of the object by: traversing a second hash chain of the plurality of hash chains to locate a second block of the second hash chain that corresponds to the field and that includes a field block identifier that identifies a first block of the first hash chain, and identifying the first block of the first hash chain that includes the field value using the field block identifier from the second block; generating a plurality of responses to the plurality of read requests that include the field value of the respective field; transmitting the plurality of responses; receiving, by the object, a plurality of write requests that include a plurality of updated field values of the plurality of fields; for each field of the plurality of fields, adding, to the first hash chain, a new block comprising the respective updated field value of the respective field; and updating the field block identifier of the second block of the second hash chain to refer to the respective new block. 14. The method of claim 13 , further comprising: locking the object and queuing a second plurality of read requests after receiving the first plurality of read requests and before retrieving the plurality of field values. 15. The method of claim 14 , further comprising: retrieving a previous hash value. 16. The method of claim 15 , further comprising: generating, after retrieving the plurality of field values, a verification hash value from a field value of the plurality of field values and the previous hash value. 17. The method of claim 16 , further comprising: verifying the field value by comparing the verification hash value to a retrieved hash value. 18. The method of claim 14 , further comprising: unlocking the object and processing the second plurality of read requests after transmitting the plurality of responses. 19. A system comprising: a memory coupled to a processor, wherein the memory comprises: an object with a plurality of fields, a plurality of hash chains that is included by the object and that includes a history hash chain and a plurality of field hash chains, and a plurality of blocks in the plurality of hash chains that include a first plurality of field values of the plurality of fields, wherein the plurality of blocks are included in the history hash chain and the plurality of field hash chains; wherein the object executes on the processor, uses the memory, and is configured for: receiving, by the object, a plurality of read requests that include a plurality of received field names of a plurality of fields of the object, retrieving the plurality of field values of the plurality of fields, which correspond to the plurality of received field names from the plurality of field hash chains of the object, generating a plurality of responses to the first plurality of read requests that include the plurality of field values, transmitting the plurality of responses; receiving, by the object, a plurality of write requests that include a plurality of updated field values of the plurality of fields; and adding, to the history hash chain and the plurality of field hash chains of the object, a plurality of new blocks comprising the plurality of updated field values of the

Assignees

Inventors

Classifications

  • Protecting data integrity, e.g. using checksums, certificates or signatures · CPC title

  • Object-oriented · CPC title

  • using hash chains, e.g. blockchains or hash trees · CPC title

  • Command handling arrangements, e.g. command buffers, queues, command scheduling · CPC title

  • Single storage device · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10824345B2 cover?
A method for storing object state on hash chains. A read request that includes a received field name is received by an object with a plurality of fields. A field value that corresponds to the received field name is retrieved from a hash chain of the object by traversing the hash chain. A block is found that includes the field value from the plurality of field values that corresponds to the rece…
Who is the assignee on this patent?
Scott Glenn Carter, Meike Roger, Gabriel Michael Richard, and 1 more
What technology area does this patent fall under?
Primary CPC classification H04L9/3239. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Nov 03 2020 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).