Summary chains in distributed systems

US10855445B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10855445-B2
Application numberUS-201815909266-A
CountryUS
Kind codeB2
Filing dateMar 1, 2018
Priority dateMar 1, 2018
Publication dateDec 1, 2020
Grant dateDec 1, 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.

Certain aspects of the present disclosure provide techniques for summarizing data in a distributed system. Embodiments include generating an ordered list of blocks by iterating through a first group of blocks of a hash chain starting at a last block of the hash chain and adding each of the first group of blocks of the hash chain to the ordered list. Embodiments further include generating summary data by applying a summary function to the first group of blocks based on the ordered list. The summary function may take the ordered list as an input and provide the summary data of the first group of blocks as an output. Embodiments further include generating a summary block comprising the summary data and adding the summary block to a summary chain.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method for summarizing data in a distributed system, comprising: generating an ordered list of blocks by: iterating through a first group of blocks of a hash chain starting at a last block of the hash chain; and adding each of the first group of blocks of the hash chain to the ordered list; and generating summary data by applying a summary function to the first group of blocks based on the ordered list, wherein the summary function takes the ordered list as an input and provides the summary data of the first group of blocks as an output; generating a summary block comprising the summary data; adding the summary block to a summary chain; determining that a periodic threshold has been met; generating a new ordered list of blocks by: iterating through a second group of blocks of the hash chain starting at a current last block of the hash chain, wherein the second group of blocks was added to the hash chain after the first group of blocks; and adding each of the second group of blocks to the new ordered list; generating new summary data by applying the summary function to the second group of blocks based on the new ordered list, wherein the summary function takes the new ordered list as an input and provides the new summary data of the second group of blocks as an output; generating a new summary block comprising the new summary data and a pointer to the summary block; and adding the new summary block to the summary chain. 2. The computer-implemented method of claim 1 , wherein the periodic threshold comprises one of: a time period; a number of blocks added to the hash chain; an amount of data added to the hash chain, or a value of a variable stored in the hash chain. 3. The computer-implemented method of claim 1 , further comprising: performing an audit of the data by iterating through the summary chain and analyzing the summary data. 4. The computer-implemented method of claim 3 , further comprising: determining, based on the audit, that additional analysis is needed; and performing an additional audit of the data by iterating through the hash chain and analyzing the data. 5. The computer-implemented method of claim 1 , wherein the summary function comprises one or more of: a summation; a balance calculation; and a net change. 6. The computer-implemented method of claim 1 , wherein the summary function comprises: generating a periodic chain comprising the first group of blocks in a reverse order from the order in which they are stored on the hash chain; and returning the periodic chain as the summary data. 7. A system comprising: one or more processors; and a non-transitory computer-readable medium comprising instructions that, when executed, cause the one or more processors to perform an operation for summarizing data in a distributed system, the operation comprising: generating an ordered list of blocks by: iterating through a first group of blocks of a hash chain starting at a last block of the hash chain; and adding each of the first group of blocks of the hash chain to the ordered list; and generating summary data by applying a summary function to the first group of blocks based on the ordered list, wherein the summary function takes the ordered list as an input and provides the summary data of the first group of blocks as an output; generating a summary block comprising the summary data; adding the summary block to a summary chain; determining that a periodic threshold has been met; generating a new ordered list of blocks by: iterating through a second group of blocks of the hash chain starting at a current last block of the hash chain, wherein the second group of blocks was added to the hash chain after the first group of blocks; and adding each of the second group of blocks to the new ordered list; generating new summary data by applying the summary function to the second group of blocks based on the new ordered list, wherein the summary function takes the new ordered list as an input and provides the new summary data of the second group of blocks as an output; generating a new summary block comprising the new summary data and a pointer to the summary block; and adding the new summary block to the summary chain. 8. The system of claim 7 , wherein the periodic threshold comprises one of: a time period; a number of blocks added to the hash chain; an amount of data added to the hash chain, or a value of a variable stored in the hash chain. 9. The system of claim 7 , wherein the operation further comprises: performing an audit of the data by iterating through the summary chain and analyzing the summary data. 10. The system of claim 9 , wherein the operation further comprises: determining, based on the audit, that additional analysis is needed; and performing an additional audit of the data by iterating through the hash chain and analyzing the data. 11. The system of claim 7 , wherein the summary function comprises one or more of: a summation; a balance calculation; and a net change. 12. The system of claim 7 , wherein the summary function comprises: generating a periodic chain comprising the first group of blocks in a reverse order from the order in which they are stored on the hash chain; and returning the periodic chain as the summary data. 13. A non-transitory computer-readable medium comprising instructions that, when executed, cause the one or more processors to perform an operation for summarizing data in a distributed system, the operation comprising: generating an ordered list of blocks by: iterating through a first group of blocks of a hash chain starting at a last block of the hash chain; and adding each of the first group of blocks of the hash chain to the ordered list; and generating summary data by applying a summary function to the first group of blocks based on the ordered list, wherein the summary function takes the ordered list as an input and provides the summary data of the first group of blocks as an output; generating a summary block comprising the summary data; adding the summary block to a summary chain; determining that a periodic threshold has been met; generating a new ordered list of blocks by: iterating through a second group of blocks of the hash chain starting at a current last block of the hash chain, wherein the second group of blocks was added to the hash chain after the first group of blocks; and adding each of the second group of blocks to the new ordered list; generating new summary data by applying the summary function to the second group of blocks based on the new ordered list, wherein the summary function takes the new ordered list as an input and provides the new summary data of the second group of blocks as an output; generating a new summary block comprising the new summary data and a pointer to the summary block; and adding the new summary block to the summary chain. 14. The non-transitory computer-readable medium of claim 13 , wherein the periodic threshold comprises one of: a time period; a number of blocks added to the hash chain; an amount of data added to the hash chain, or a value of a variable stored in the hash chain. 15. The non-transitory computer-readable medium of claim 13 , wherein the operation further comprises: performing an audit of the data by iterating through the summary chain and analyzing the summary data. 16. The non-transitory computer-readable medium of claim 15 , wherein the operation further comprises: determining, based on the audit, that additional analysis is needed; and performing an additional audit

Assignees

Inventors

Classifications

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

  • H04L9/3297Primary

    involving time stamps, e.g. generation of time stamps · CPC title

  • H04L9/0637Primary

    Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM] · CPC title

  • involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD · CPC title

  • Hash functions, e.g. MD5, SHA, HMAC or f9 MAC · 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 US10855445B2 cover?
Certain aspects of the present disclosure provide techniques for summarizing data in a distributed system. Embodiments include generating an ordered list of blocks by iterating through a first group of blocks of a hash chain starting at a last block of the hash chain and adding each of the first group of blocks of the hash chain to the ordered list. Embodiments further include generating summar…
Who is the assignee on this patent?
Intuit Inc
What technology area does this patent fall under?
Primary CPC classification H04L9/3297. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Dec 01 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).