Adaptive probabilistic indexing with skip lists

US9824105B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9824105-B2
Application numberUS-201213460072-A
CountryUS
Kind codeB2
Filing dateApr 30, 2012
Priority dateApr 30, 2012
Publication dateNov 21, 2017
Grant dateNov 21, 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.

A method of indexing in a skip list is disclosed. Key/value pairs are randomly inserted at an appropriate page in a skip list. A new page is created at the lowest level in the skip list. When creating the new page, the page is incremented to a higher level with a write probability. Reading the new page during a search. When reading the new page, the page is incremented to a higher level with a read probability. The read probability is not equal to the write probability.

First claim

Opening claim text (preview).

What is claimed is: 1. A method, comprising: receiving information regarding read and write operations on a virtual memory configured to store data, wherein the virtual memory is allocated in a plurality of pages; inserting a node in a skip list having a plurality of levels, wherein the node corresponds with a page of the plurality of pages in the virtual memory ; creating a new node at a lowest level in the skip list during a write operation to a new page not represented in the skip list, wherein the new node corresponds with the new page, and wherein creating the new node includes incrementing the new node to a higher level of the skip list as determined by comparing a selected value with a preselected write probability; and reading from the new page during a read operation, wherein reading from the new page includes incrementing the corresponding node to a higher level of the skip list as determined by comparing a selected value with a preselected read probability, wherein the read probability is not equal to the write probability. 2. The method of claim 1 wherein the read probability and the write probability are selected based on distributions of read requests and write requests. 3. The method of claim 1 wherein one of the read probability and the write probability are selected from a set of values within the set of [0.2 . . . 0.5]. 4. The method of claim 3 wherein the other of the read probability and the write probability equals zero. 5. The method of claim 1 wherein the write probability equals zero. 6. The method of claim 5 wherein no pointers at levels greater than the lowest level are updated from creating the new node. 7. The method of claim 6 wherein pointers of the new node and a previous node at the lowest level are updated from creating the new node. 8. The method of claim 5 wherein no pointers at the lowest level are updated from reading the page corresponding with the new node. 9. The method of claim 8 wherein pointers of the new node and a previous node are updated at a level greater than the lowest level when reading the page corresponding with the new node. 10. The method of claim 9 wherein pointer of the new node and a previous node are updated at levels greater than the lowest level when reading the page corresponding with the new node. 11. The method of claim 1 wherein the new node and a previous node pointing to the new node at the lowest level are locked to update pointers at the lowest level at write time, and wherein the new node and the previous node are locked to update pointers at higher levels than the lowest level at read time. 12. A computer readable storage medium storing instructions for controlling a processor to perform a method comprising: receiving information regarding read and write operations on a virtual memory configured to store data, wherein the virtual memory is allocated in a plurality of pages; inserting a node in a skip list having a plurality of levels, wherein the node corresponds with a page of the plurality of pages in the virtual memory; creating a new node at a lowest level in the skip list during a write operation to a new page not represented in the skip list, wherein the new node corresponds with the new page, and wherein creating the new node includes incrementing the new node to a higher level of the skip list as determined by comparing a selected value with a preselected write probability; and reading the from new page during a read operation, wherein reading from the new page includes incrementing the corresponding node to a higher level of the skip list as determined by comparing a selected value with a preselected read probability, wherein the read probability is not equal to the write probability. 13. The computer readable medium of claim 12 wherein the skip list has a lowest level and a maximum level, and wherein incrementing the node to a higher level includes not incrementing the node after reaching the maximum level. 14. The computer readable medium of claim 12 wherein the new node and a previous node pointing to the new node at the lowest level are locked to update pointers at the lowest level at write time, and wherein the new node and the previous node are locked to update pointers at higher levels than the lowest level if the node is updated at read time. 15. The computer readable medium of claim 12 wherein the skip list is created as a data structure in a storage medium. 16. The computer readable medium of claim 12 wherein one of the read probability and the write probability is zero. 17. The computer readable medium of claim 16 wherein the read probability is zero and reading the node does not increment the node to a higher level. 18. A method, comprising: receiving information regarding read and write operations on a virtual memory configured to store data, wherein the virtual memory is allocated in a plurality of pages; populating a storage medium with a skip list having a plurality of nodes at each of a plurality of levels, wherein each node in a given level has a probability p of extending into the next highest level, wherein p is greater than zero and less than one, and wherein the each node of the plurality of nodes corresponds with a page in the virtual memory; creating a new node at a lowest level in the skip list during a write operation to a page not represented in the skip list; wherein creating the new node includes incrementing the new node to a higher level of the skip list as determined by comparing a selected value with a preselected write probability; and reading from the new page during a read operation, wherein reading from the new page includes incrementing the corresponding node to a higher level of the skip list as determined by comparing a selected value with a preselected read probability, wherein the read probability is not equal to the write probability. 19. The method of claim 18 wherein the write probability is equal to zero. 20. The method of claim 18 wherein the probability p is selected from the set [0.2 . . . 0.5].

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 US9824105B2 cover?
A method of indexing in a skip list is disclosed. Key/value pairs are randomly inserted at an appropriate page in a skip list. A new page is created at the lowest level in the skip list. When creating the new page, the page is incremented to a higher level with a write probability. Reading the new page during a search. When reading the new page, the page is incremented to a higher level with a …
Who is the assignee on this patent?
Kosuru Ramakumar, Hewlett Packard Entpr Dev Lp
What technology area does this patent fall under?
Primary CPC classification G06F16/2246. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Nov 21 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).