Summary chains in distributed systems
AssigneeIntuit Inc.
InventorsMichael R. Gabriel, Glenn Scott
Life of this patent
Estimating the term…
Abstract
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.
Claims18
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.
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.
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.
Dependencies are inferred from the claim text.