Providing a simple and flexible data access layer

US11514004B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11514004-B2
Application numberUS-201916295217-A
CountryUS
Kind codeB2
Filing dateMar 7, 2019
Priority dateMar 7, 2019
Publication dateNov 29, 2022
Grant dateNov 29, 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.

Systems and methods provide a simple and flexible data access layer for an application. The systems and methods receive, at a data access layer associated with an application, a request for accessing data in memory; identify a pattern of the data of the request; determine whether the data access layer includes a table having a structure of one of key/value pair, sorted set, map, or event that is suitable for accessing the data of the request based on the identified pattern. If the data access layer includes a table with suitable structure, using that table for accessing the data of the request. If the data access layer does not include a table with suitable structure, generating a table having the structure of one of key/value pair, sorted set, map, or event; and using the generated table for accessing the data of the request.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for providing simple and flexible data access, the method comprising: receiving, at a data access layer associated with an application running on one or more processors of a computer system, a request for accessing data in a memory of the computer system storing one or more relational databases; identifying, at the one or more processors, a pattern of the data of the request; determining, at the one or more processors, whether the data access layer includes a table having a structure of one of key/value pair, sorted set, map, or event that matches with a structure of queried data in the request and is suitable for accessing the data of the request based on the identified pattern; if the data access layer includes the table with suitable structure, using that table for accessing the data of the request; and if the data access layer does not include any table with the suitable structure: generating a new table, based on one or more tables of abstractions in the data access layer including at least one of a key-value pair objects table, a sorted set object table, a map objects table, and an event objects table, wherein the new table has the structure of one of key/value pair, sorted set, map, or event that matches with the structure of the queried data in the request, corresponding to the one or more tables of abstractions; presenting an interface suitable to the structure of the queried data through which a user can direct one or more operations to configure the generated table; indexing the generated new table in a form based on a data format or a data structure of the generated new table; locating the generated new table by a hash function according to the indexed form in response to the request; and accessing the data of the request based on the structure of the new table at the data access layer without resorting to cross-references and dependencies between the one or more relational databases. 2. The method of claim 1 , wherein the interface presented is specific to the identified pattern of data of the request. 3. The method of claim 1 , wherein a table for the structure of a key/value pair comprises a first column for a key and a second column for a value. 4. The method of claim 1 , wherein a table for the structure of a sorted set comprises a first column for a set name, a second column for an entry, and a third column for a weight associated with the entry. 5. The method of claim 1 , wherein a table for the structure of a map comprises a column for each key in the map. 6. The method of claim 1 , wherein a table for the structure of an event comprises a first column for a timestamp and a second column for a payload. 7. The method of claim 1 , comprising generating a name for the generated table, wherein the generated name of the table is based upon the structure of the table. 8. The method of claim 1 , wherein the pattern of the data is one of single object, collection of data, and temporal data point. 9. A non-transitory machine-readable medium comprising executable code which when executed by one or more processors associated with a computer are adapted to cause the one or more processors to perform a method for providing simple and flexible data access, the method comprising: receiving, at a data access layer associated with an application running on one or more processors of a computer system, a request for accessing data in a memory of the computer system storing one or more relational databases; identifying, at the one or more processors, a pattern of the data of the request; determining, at the one or more processors, whether the data access layer includes a table having a structure of one of key/value pair, sorted set, map, or event that matches with a structure of queried data in the request and is suitable for accessing the data of the request based on the identified pattern; if the data access layer includes the table with suitable structure, using that table for accessing the data of the request; and if the data access layer does not include any table with the suitable structure: generating a new table, based on one or more tables of abstractions in the data access layer including at least one of a key-value pair objects table, a sorted set object table, a map objects table, and an event objects table, wherein the new table has the structure of one of key/value pair, sorted set, map, or event that matches with the structure of the queried data in the request, corresponding to the one or more tables of abstractions; presenting an interface suitable to the structure of the queried data through which a user can direct one or more operations to configure the generated table; indexing the generated new table in a form based on a data format or a data structure of the generated new table; locating the generated new table by a hash function according to the indexed form in response to the request; and accessing the data of the request based on the structure of the new table at the data access layer without resorting to cross-references and dependencies between the one or more relational databases. 10. The non-transitory machine-readable medium of claim 9 , wherein the interface presented is specific to the identified pattern of data of the request. 11. The non-transitory machine-readable medium of claim 9 , wherein a table for the structure of a key/value pair comprises a first column for a key and a second column for a value. 12. The non-transitory machine-readable medium of claim 9 , wherein a table for the structure of a sorted set comprises a first column for a set name, a second column for an entry, and a third column for a weight associated with the entry. 13. The non-transitory machine-readable medium of claim 9 , wherein a table for the structure of a map comprises a column for each key in the map. 14. The non-transitory machine-readable medium of claim 9 , wherein a table for the structure of an event comprises a first column for a timestamp and a second column for a payload. 15. The non-transitory machine-readable medium of claim 9 , wherein the pattern of the data is one of single object, collection of data, and temporal data point. 16. A system for providing simple and flexible data access, the system comprising: a memory containing machine readable medium storing machine executable code; and one or more processors coupled to the memory and configurable to execute the machine executable code to cause the one or more processors to: receive, at a data access layer associated with an application running on one or more processors of a computer system, a request for accessing data in a memory of the computer system storing one or more relational databases; identify, at the one or more processors, a pattern of the data of the request; determine, at the one or more processors, whether the data access layer includes a table having a structure of one of key/value pair, sorted set, map, or event that matches with a structure of queried data in the request and is suitable for accessing the data of the request based on the identified pattern; if the data access layer includes the table with suitable structure, use that table for accessing the data of the request; and if the data access layer does not include any table with the suitable structure: generate a new table, based on one or more tables of abstractions in the data access layer including at least one of a key-value pair objects table, a sorted set object table, a map objects table, and an event objects table, wherein the new table has the structure of one of key/value pa

Assignees

Inventors

Classifications

  • Query execution · CPC title

  • G06F16/211Primary

    Schema design and management · CPC title

  • Tablespace storage structures; 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 US11514004B2 cover?
Systems and methods provide a simple and flexible data access layer for an application. The systems and methods receive, at a data access layer associated with an application, a request for accessing data in memory; identify a pattern of the data of the request; determine whether the data access layer includes a table having a structure of one of key/value pair, sorted set, map, or event that i…
Who is the assignee on this patent?
Salesforce Com Inc
What technology area does this patent fall under?
Primary CPC classification G06F16/211. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Nov 29 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 6 related publications on this page (citations in our corpus or others sharing the same primary CPC).