Mapping and query service between object oriented programming objects and deep key-value data stores

US11615142B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11615142-B2
Application numberUS-201916546198-A
CountryUS
Kind codeB2
Filing dateAug 20, 2019
Priority dateAug 20, 2018
Publication dateMar 28, 2023
Grant dateMar 28, 2023

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 mapping and query service for mapping between object-oriented programming objects and deep key-value data stores. The service to implement a store operation for a mapping and query service that supports the storage of a set of one or more objects having classes and fields written in source code of an object-oriented programming language in a deep key-value data store.

First claim

Opening claim text (preview).

What is claimed is: 1. A method to implement a store operation for a mapping and query service that supports storage of a set of one or more objects having classes and fields written in source code of an object-oriented programming language in a deep key-value data store, the method comprising: receiving, by the mapping and query service, a request to store an object in a key-value store; accessing, by the mapping and query service, class annotations from metadata of source code for a class from which the object was instantiated, wherein the class annotations define a table name, a column family, and a column qualifier; generating, by the mapping and query service, an in-memory tree that includes the table name, the column family, and the column qualifier defined by the class annotations; sending, by the mapping and query service, a put command to the key-value data store to store the in-memory tree in a key-value structure in the key-value data store; and responsive to receiving a request to retrieve the object from the key-value store, sending, by the mapping and query service, a get command to the key value data store to obtain key-value pairs and reconstructing the object using the key-value pairs, the class annotations, and field annotations, wherein the reconstructing includes instantiating the object and filling fields of the object using compaction indexes included in the field annotations. 2. The method of claim 1 , further comprising: generate a row key to use for the object in the key-value store. 3. The method of claim 1 , further comprising: generate a column qualifier to for the key-value store. 4. The method of claim 1 , further comprising: generate a data structure to store at least one scalar field with a compaction index annotation in the key-value store. 5. The method of claim 1 , further comprising: determining whether at least one field stores another object for which the class includes a persistable interface. 6. The method of claim 5 , further comprising: adding at least one field that stores another object for which the class includes a persistable interface to the in-memory tree. 7. The method of claim 1 , wherein each field that stores another object is added to in-memory tree in a recursive process. 8. An electronic device to execute a method to implement a store operation for a mapping and query service that supports storage of a set of one or more objects having classes and fields written in source code of an object-oriented programming language in a deep key-value data store, the electronic device comprising: a non-transitory machine-readable medium to store a store engine; and a processor coupled to the non-transitory machine-readable medium, the processor to execute the store engine, the store engine to receive a request to store an object in a key-value store, to access class annotations from metadata of source code for a class from which the object was instantiated, wherein the class annotations define a table name, a column family, and a column qualifier, to generate an in-memory tree that includes the table name, the column family, and the column qualifier defined by the class annotations, to send a put command to the key-value data store to store the in-memory tree in a key-value structure in the key-value data store, to receive a request to retrieve the object from the key-value store, to send a get command to the key value data store to obtain key-value pairs, and to reconstruct the object using the key-value pairs, the class annotations, and field annotations, wherein the reconstruction involves instantiating the object of the class and filling fields of the object using compaction indexes included in the field annotations. 9. The electronic device of claim 8 , wherein the store engine is further to generate a row key to use for the object in the key-value store. 10. The electronic device of claim 8 , wherein the store engine is further to generate a column qualifier to for the key-value store. 11. The electronic device of claim 8 , wherein the store engine is further to generate a data structure to store at least one scalar field with a compaction index annotation in the key-value store. 12. The electronic device of claim 8 , wherein the store engine is further to determine whether at least one field stores another object for which the class includes a persistable interface. 13. The electronic device of claim 12 , wherein the store engine is further to add at least one field that stores another object for which the class includes a persistable interface to the in-memory tree. 14. The electronic device of claim 8 , wherein each field that stores another object is added to in-memory tree in a recursive process. 15. An article of manufacture comprising: a non-transitory machine-readable storage medium that provides instructions that, if executed by an electronic device, will cause the electronic device to perform operations of a method to implement a store operation for a mapping and query service that supports the storage of a set of one or more objects having classes and fields written in source code of an object-oriented programming language in a deep key-value data store, the operations comprising: receiving a request to store an object in a key-value store; accessing class annotations from metadata of source code for a class from which the object was instantiated, wherein the class annotations define a table name, a column family, and a column qualifier; generating an in-memory tree that includes the table name, the column family, and the column qualifier defined by the class annotations; sending a put command to the key-value data store to store the in-memory tree in a key-value structure in the key-value data store; and responsive to receiving a request to retrieve the object from the key-value store, sending, by the mapping and query service, a get command to the key value data store to obtain key-value pairs and reconstructing the object using the key-value pairs, the class annotations, and field annotations, wherein the reconstructing includes instantiating the object of the class and filling fields of the object using compaction indexes included in the field annotations. 16. The article of manufacture of claim 15 , wherein the operations further comprise: generate a row key to use for the object in the key-value store. 17. The article of manufacture of claim 15 , wherein the operations further comprise: generate a column qualifier to for the key-value store. 18. The article of manufacture of claim 15 , wherein the operations further comprise: generate a data structure to store at least one scalar field with a compaction index annotation in the key-value store. 19. The article of manufacture of claim 15 , wherein the operations further comprise: determining whether at least one field stores another object for which the class includes a persistable interface. 20. The article of manufacture of claim 19 , wherein the operations further comprise: adding at least one field that stores another object for which the class includes a persistable interface to the in-memory tree. 21. The article of manufacture of claim 15 , wherein each field that stores another object is added to in-memory tree in a recursive process.

Assignees

Inventors

Classifications

  • G06F16/86Primary

    Mapping to a database · CPC title

  • G06F16/81Primary

    Indexing, e.g. XML tags; Data structures therefor; Storage structures · 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 US11615142B2 cover?
A mapping and query service for mapping between object-oriented programming objects and deep key-value data stores. The service to implement a store operation for a mapping and query service that supports the storage of a set of one or more objects having classes and fields written in source code of an object-oriented programming language in a deep key-value data store.
Who is the assignee on this patent?
Salesforce Inc
What technology area does this patent fall under?
Primary CPC classification G06F16/86. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 28 2023 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 11 related publications on this page (citations in our corpus or others sharing the same primary CPC).