Version control based on a dual-range validity model

US9811560B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9811560-B2
Application numberUS-201514824920-A
CountryUS
Kind codeB2
Filing dateAug 12, 2015
Priority dateAug 12, 2015
Publication dateNov 7, 2017
Grant dateNov 7, 2017

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.

Techniques related to version control based on a dual-range validity model are disclosed. In an embodiment, an online analytical processing (OLAP) server stores a plurality of version records describing versions of a data item. A version record may describe any open transactions for a version of the data item. The version record may specify a commit timestamp for the data item at a database and a valid timestamp at least as great as the commit timestamp. The commit timestamp and the valid timestamp may specify a validity range. The version record may also specify an expiration timestamp, which along with the valid timestamp may specify an unresolved range. The OLAP server may also identify a valid version of the data item for a query timestamp that corresponds to a query for particular data in the data item and that falls within either the validity range or the unresolved range.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: storing a plurality of version records describing versions of a data item, a version record of said plurality of version records: describing any open transactions for a version of said data item; specifying a commit timestamp for said data item at a database and a valid timestamp at least as great as said commit timestamp, said commit timestamp and said valid timestamp specifying a validity range; specifying an expiration timestamp, said valid timestamp and said expiration timestamp specifying an unresolved range; identifying a valid version of said data item for a query timestamp, said query timestamp corresponding to a query for particular data in said data item and falling within either said validity range or said unresolved range: when said query timestamp is within said validity range and said particular data is uninvolved in said any open transactions, establishing said version as said valid version for said query timestamp, when said query timestamp is within said validity range and said particular data is involved in at least one open transaction of said any open transactions, requesting, from a transaction-oriented data server of said database, said valid version for said query timestamp, and when said query timestamp is within said unresolved range, requesting, from said transaction-oriented data server of said database, said valid version for said query timestamp, wherein said method is performed by one or more computing devices. 2. The method of claim 1 , further comprising extending, when said query timestamp is within said unresolved range and said version of said data item is identified as said valid version for said query timestamp, said validity range to encompass said query timestamp, which becomes said valid timestamp. 3. The method of claim 1 , further comprising reducing, when said query timestamp is within said unresolved range and a different version of said data item is identified as said valid version for said query timestamp, said expiration timestamp to be synchronized with a different commit timestamp of said different version. 4. The method of claim 1 , further comprising requesting, when a particular query timestamp is greater than a most recent query timestamp of a current version of said data item, a new version of said data item for said particular query timestamp from said transaction-oriented data server of said database. 5. The method of claim 4 , further comprising storing, in digital memory, a pointer to said current version of said data item. 6. The method of claim 1 , further comprising completely deleting said version when said expiration timestamp is less than a deletion timestamp. 7. The method of claim 6 , further comprising deleting, when said expiration timestamp is less than or equal to a compaction timestamp, data associated with said version without deleting said version record. 8. One or more non-transitory storage media storing sequences of instructions which, when processed by one or more computing devices, cause: storing a plurality of version records describing versions of a data item, a version record of said plurality of version records: describing any open transactions for a version of said data item; specifying a commit timestamp for said data item at a database and a valid timestamp at least as great as said commit timestamp, said commit timestamp and said valid timestamp specifying a validity range; specifying an expiration timestamp, said valid timestamp and said expiration timestamp specifying an unresolved range; identifying a valid version of said data item for a query timestamp, said query timestamp corresponding to a query for particular data in said data item and falling within either said validity range or said unresolved range: when said query timestamp is within said validity range and said particular data is uninvolved in said any open transactions, establishing said version as said valid version for said query timestamp, when said query timestamp is within said validity range and said particular data is involved in at least one open transaction of said any open transactions, requesting, from a transaction-oriented data server of said database, said valid version for said query timestamp, and when said query timestamp is within said unresolved range, requesting, from said transaction-oriented data server of said database, said valid version for said query timestamp. 9. The one or more non-transitory storage media of claim 8 , wherein said sequences of instructions further include instructions that, when executed by one or more processors, cause extending, when said query timestamp is within said unresolved range and said version of said data item is identified as said valid version for said query timestamp, said validity range to encompass said query timestamp, which becomes said valid timestamp. 10. The one or more non-transitory storage media of claim 8 , wherein said sequences of instructions further include instructions that, when executed by one or more processors, cause reducing, when said query timestamp is within said unresolved range and a different version of said data item is identified as said valid version for said query timestamp, said expiration timestamp to be synchronized with a different commit timestamp of said different version. 11. The one or more non-transitory storage media of claim 8 , wherein said sequences of instructions further include instructions that, when executed by one or more processors, cause requesting, when a particular query timestamp is greater than a most recent query timestamp of a current version of said data item, a new version of said data item for said particular query timestamp from said transaction-oriented data server of said database. 12. The one or more non-transitory storage media of claim 11 , wherein said sequences of instructions further include instructions that, when executed by one or more processors, cause storing, in digital memory, a pointer to said current version of said data item. 13. The one or more non-transitory storage media of claim 8 , wherein said sequences of instructions further include instructions that, when executed by one or more processors, cause completely deleting said version when said expiration timestamp is less than a deletion timestamp. 14. The one or more non-transitory storage media of claim 13 , wherein said sequences of instructions further include instructions that, when executed by one or more processors, cause deleting, when said expiration timestamp is less than or equal to a compaction timestamp, data associated with said version without deleting said version record. 15. A method of an online analytical processing (OLAP) server comprising: storing a plurality of version records describing versions of a data item, a version record of said plurality of version records: describing any open transactions for a version of said data item; specifying a commit timestamp for said data item at a database and a valid timestamp at least as great as said commit timestamp, said commit timestamp and said valid timestamp specifying a validity range; specifying an expiration timestamp, said valid timestamp and said expiration timestamp specifying an unresolved range; identifying a valid version of said data item for a query timestamp, said query timestamp corresponding to a query for particular data in said data item and falling within either said validity range or said unresolved range: when said query timestamp is within said validity range and said particular data is uninvolved in said any open transactions,

Assignees

Inventors

Classifications

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 US9811560B2 cover?
Techniques related to version control based on a dual-range validity model are disclosed. In an embodiment, an online analytical processing (OLAP) server stores a plurality of version records describing versions of a data item. A version record may describe any open transactions for a version of the data item. The version record may specify a commit timestamp for the data item at a database and…
Who is the assignee on this patent?
Oracle Int Corp
What technology area does this patent fall under?
Primary CPC classification G06F16/24534. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Nov 07 2017 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).