Transparent client application to arbitrate data storage between mutable and immutable data repositories

US10089489B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10089489-B2
Application numberUS-201715675502-A
CountryUS
Kind codeB2
Filing dateAug 11, 2017
Priority dateJun 2, 2015
Publication dateOct 2, 2018
Grant dateOct 2, 2018

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.

Provided is a process including: receiving a first write request from an application requesting to write data to a first remote database via a network; classifying the second value as higher-security; and in response to classifying the second value as higher-security, redirecting the second value from a destination specified by the application in the received first write request, wherein an attacker with full access to the first database does not have access to the second value classified as higher security, and wherein code of the application is not modified to interface with two databases in place of the first remote database.

First claim

Opening claim text (preview).

What is claimed is: 1. method of retrofitting applications configured to access a given data repository to instead access a heterogeneous set of data repositories in place of the given data repository for at least some data, the method comprising: receiving, with a computing device, a first write request from an application requesting to write data to a first remote database via a network, wherein: the first write request specifies a first value to be written to a first field in the first remote database; the first write request specifies a second value to be written to a second field in the first remote database; the first write request is compliant with an application program interface of a database driver configured to interface with the first remote database; and the database driver and at least part of the application issuing the first write request execute in the same instance of an operating system executing on the computing device; obtaining, with the computing device, a data policy having one or more rules by which values are classified as higher-security values or lower-security values; classifying, with the computing device and at least one of the one or more rules, the first value as lower-security; classifying, with the computing device and at least one of the one or more rules, the second value as higher-security; in response to classifying the second value as higher-security, redirecting the second value from a destination specified by the application in the received first write request by: obtaining a unique identifier of the second value that does not reveal the second value; causing the second value to be stored in a second remote database that is different from the first remote database; and updating an index with an entry that maps the unique identifier to the second value in the second remote database; forming, with the computing device, one or more application program interface requests to the database driver that: (i) instruct the database driver to cause the first remote database to store the first value in association with the first field; and (ii) instruct the database driver to cause the first remote database to store the unique identifier in association with the second field, wherein an attacker with full access to the first database does not have access to the second value classified as higher security, and wherein code of the application is not modified to interface with two databases in place of the first remote database, wherein: receiving the first write request is performed with a security driver registered in the operating system as a database driver that the application is configured to call; the security driver implements an application program interface wrapper for the application program interface of the database driver; and the unique identifier includes a hash value based on the second value; the index maps the unique identifier to a plurality of network address identifiers of a plurality of different replicated instances of the second remote database; receiving, with the computing device, a second write request from the application, the second write request requesting to write a third value to the first remote database in association with the second field, wherein the third value is equal to the second value; classifying the third value as higher-security; after classifying the third value as higher-security, instructing the database driver to cause the first remote database to store the unique identifier in association with the second field in two different records, one record among the two different records having data from the first write request and another record among the two different records having data from the second write request, wherein the operations comprise, after receiving the second write request: determining that the unique identifier is already present in the index; and in response to the determination, determining to not add a new entry, distinct from an existing entry, corresponding to the third value to the index; after receiving a read request, determining that an updated aggregate amount of data requested in read requests associated with the application or the credential by which the application requests access exceeds a threshold; and in response to the determination, delaying or blocking a query response associated with the other read request. 2. The method of claim 1 , wherein: the first value and the second value correspond to the same record in a given tuple of a relational database; the given tuple comprises a primary key value and one or more foreign key values; and the relational database is caused by the database driver to store the unique identifier in the given tuple. 3. The method of claim 1 , wherein: the index is stored remote from the computing device and is updated by another computing device; and the unique identifier is obtained from the other computing device. 4. The method of claim 1 , comprising calculating the cryptographic hash value with a cryptographic hash function taking the second value as an input, wherein: the second value is longer than a one-way compression function of the cryptographic hash function is configured to accept; and the cryptographic hash function includes operations comprising repeatedly until a beginning or ending portion of the second value is reached: obtaining a parsed portion by parsing a remaining portion of the second value that is of a length determined based on a difference between a length of input the one-way compression function of the cryptographic hash function is configured to accept and a length of an output of the one-way compression function is configured to emit; appending or prepending an output of a previous iteration of the one-way compression function to the parsed portion to form an input for a current iteration of the one-way compression function; and transforming the input for the current iteration with the one-way compression function to form an output of the one-way function. 5. The method of claim 1 , wherein: the second database comprises a plurality of blockchains; the index maps the unique identifier to a given one of the blockchains; the second value is segmented into a plurality of segments; and different segments among the plurality of segments are stored in different ones of the plurality of blockchains. 6. The method of claim 1 , comprising: receiving, with the computing device, a query response via the database driver based on a query from the application to the first database and not to the second database; detecting the unique identifier in the query response; obtaining the second value from the second remote database with the unique identifier; forming a revised query response in which the unique identifier is replaced with the first value; and providing the revised query response to the application as a response to the query. 7. The method of claim 6 , wherein: the unique identifier is not provided to the application; the method comprises determining that the second value is responsive to criteria of the query before replacing the unique identifier with the second value in the revised query response. 8. The method of claim 6 , comprising: determining that the query response includes two instances of the unique identifier associated with two different records in the first remote database, the two records including the second value and a third value respectively, the third value being identical to the second value; and retrieving from the second remote database, a single value that is mapped to both the second value and the third value. 9. The method of claim 6 , comprising: determining an aggregate amount

Assignees

Inventors

Classifications

  • Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor · CPC title

  • Physics · mapped topic

  • Physics · mapped topic

  • Physics · mapped topic

  • to a system of files or objects, e.g. local or distributed file system or database · 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 US10089489B2 cover?
Provided is a process including: receiving a first write request from an application requesting to write data to a first remote database via a network; classifying the second value as higher-security; and in response to classifying the second value as higher-security, redirecting the second value from a destination specified by the application in the received first write request, wherein an att…
Who is the assignee on this patent?
Altr Solutions Inc
What technology area does this patent fall under?
Primary CPC classification G06F21/6218. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Oct 02 2018 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 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).