Data storage layer index for efficient information retrieval

US11269842B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11269842-B2
Application numberUS-201716608979-A
CountryUS
Kind codeB2
Filing dateMay 9, 2017
Priority dateMay 9, 2017
Publication dateMar 8, 2022
Grant dateMar 8, 2022

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 secure data system facilitates efficient searching of extensive data storage layers, e.g., a blockchain. The system may create an index for data elements of a predefined type recorded in the blockchain. The system may generate the index by invoking executable instructions stored in an executable data element (e.g., a smart contract) recorded in the blockchain and associated with the predefined type of data elements. The index facilitates fast query into the blockchain for the data elements of the predefined type.

First claim

Opening claim text (preview).

What is claimed is: 1. A system comprising: a memory configured to store: a data storage layer comprising linked data blocks containing data elements; and an index structure comprising index entries for data elements of a predefined type in the linked data blocks; and injection circuitry in communication with the memory, the injection circuitry configured to respond to a linkage of a new data block comprising a new data element to the linked data blocks in the data storage layer by: determining that the new data element is of the predefined type; generating an index entry for the new data element, the index entry comprising a location reference within the data storage layer for the new data element; and inserting the index entry into the index structure. 2. The system of claim 1 , where the data storage layer is present within a blockchain system node, and the linked data blocks constitute a copy of a blockchain. 3. The system of claim 1 , where the data elements comprise an executable data element containing instructions for generating the index entry and inserting the index entry into the index structure. 4. The system of claim 3 , where the injection circuitry is configured to invoke the instructions in the executable data element from the new data element to generate the index entry and insert the index entry into the index structure after the new data element is linked in with the linked data blocks in the data storage layer. 5. The system of claim 3 , where: the injection circuitry is further configured to generate an indexing control data element for the new data element and link the indexing control data element to the linked data blocks in the data storage layer; and the injection circuitry is configured to invoke the instructions in the executable data element from the indexing control element after the new data element and the indexing control element are linked in with the data blocks in the data storage layer. 6. The system of claim 1 , where the index entry further comprises a data characteristic describing the new data element of the predefined type. 7. The system of claim 6 , where the location reference comprises a data block identifier, a data element identifier, or both. 8. The system of claim 1 , where the index structure is stored outside the linked data blocks in the data storage layer. 9. The system of claim 1 , further comprising a query circuitry, the query circuitry configured to: receive a query for the new data element among data elements of the predefined type; identify the index structure associated with the data elements of the predefined type; retrieve the index entry from the index structure; and return the location reference obtained from the index entry in response to the query. 10. The system of claim 9 , where the location reference comprises the location reference within the data storage layer for the data elements of the predefined type. 11. The system of claim 9 , where the data elements comprise an executable data element containing instructions for identifying the index structure and retrieving the index entry. 12. The system of claim 11 , where the query is embedded in a querying data element and the query circuitry is further configured to invoke the instructions in the executable data element from the querying data element after the querying data element is linked in with the linked data blocks. 13. A method comprising: receiving an executable data element containing instructions for generating index entries for data elements of a predefined type and inserting the generated index entries into an index structure for the predefined type; linking the executable data element in with a linked data blocks in a data storage layer; receiving a new data element of the predefined type; linking the new data element in with the linked data blocks in the storage layer; and invoking the instructions in the executable data element linked in with the linked data blocks to generate an index entry for the new data element and insert the index entry into the index structure after the linking of the new data element with the linked data blocks, where the index entry comprises a location reference within the data storage layer for the new data element. 14. The method of claim 13 , where the instructions in the executable data element are invoked from the new data element. 15. The method of claim 13 , further comprising: generating an indexing control data element for the new data element; and linking the indexing control data element in with the linked data blocks in the storage layer, and where the instructions in the executable data element are invoked from the indexing control data element. 16. The method of claim 13 , where the index structure is stored outside of the linked data blocks in the data storage layer. 17. The method of claim 13 , further comprising receiving a query for the new data element among data elements of the predefined type; identifying the index structure associated with the predefined type; retrieving the index entry from the index structure; and return the location reference obtained from the index entry in response to the query. 18. The method of claim 17 , where the instructions in the executable data element further comprise instructions for the identification of the index structure and the retrieval of the index entry. 19. The method of claim 18 , where the query is embedded in a querying data element, the method further comprising: linking the query data element in with the linked data blocks in the storage layer; and invoking the instructions in the executable data element for identifying the index structure and retrieving the index entry from the querying data element after the querying data element is linked in with the linked data blocks in the storage layer. 20. A system comprising: a memory configured to store: a data storage layer comprising linked data blocks containing data elements; and an index structure comprising index entries for data elements of a predefined type in the linked data blocks; and injection circuitry in communication with the memory, the injection circuitry configured to: link an executable data element containing instructions for generating index entries and insert the index entries for data elements of the predefined type in with the linked data blocks in the data storage layer; receive a new data element; determine that the new data element is of the predefined type; generate an indexing control data element for the new data element of the predefined type; link the new data element in with the linked data blocks in the data storage layer; link the indexing control data element in with the linked data blocks in the data storage layer; and generate an index entry for the new data element and inserting the index entry into the index structure by invoking the instructions in the executable data element from the indexing control data element after the new data element and the indexing control data element is linked in with the linked data blocks in the data storage layer, where the index entry comprises a location reference within the data storage layer for the new data element.

Assignees

Inventors

Classifications

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

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

  • H04L9/3239Primary

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

  • Updates performed during online database operations; commit processing · CPC title

  • Management thereof · 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 US11269842B2 cover?
A secure data system facilitates efficient searching of extensive data storage layers, e.g., a blockchain. The system may create an index for data elements of a predefined type recorded in the blockchain. The system may generate the index by invoking executable instructions stored in an executable data element (e.g., a smart contract) recorded in the blockchain and associated with the predefine…
Who is the assignee on this patent?
Accenture Global Solutions Ltd
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 Mar 08 2022 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 9 related publications on this page (citations in our corpus or others sharing the same primary CPC).