Dynamically slicing datastore query sizes

US11314739B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11314739-B2
Application numberUS-201815948638-A
CountryUS
Kind codeB2
Filing dateApr 9, 2018
Priority dateApr 9, 2018
Publication dateApr 26, 2022
Grant dateApr 26, 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.

The present disclosure relates to a method of managing requests to a key-value database. A non-limiting example of the method includes receiving a request that includes a number of keys. The number of keys can be compared with a first threshold number and second threshold number. If the number of keys exceeds the first threshold number, the request can be split. If the number of keys is smaller than the second threshold number, the request can be merged with at least one previous or subsequent request. Requests resulting from the splitting and merging steps can be submitted to the key-value database for further processing of the submitted requests.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer implemented method of managing requests to a key-value database, the method comprising: receiving, using a processor system, a request for data, the request comprising a number of keys whose respective values are requested in the request for data; comparing, using the processor system, the number of keys with a first threshold number and second threshold number; if the number of keys exceeds the first threshold number, splitting the request by splitting the number of keys in the request into two or more split requests; if the number of keys is smaller than the first threshold number and higher than the second threshold number, buffering the request as a previous request, wherein the number of keys in the previous request is subsequently merged with another request or submitted; if the number of keys is smaller than the second threshold number, merging the request with at least one previous request that was buffered or buffering the request to merge the request with at least one subsequent request, wherein the merging the request includes combining the number of keys in the request with the number of keys of the at least one previous request or the at least one subsequent request; and submitting requests resulting from the splitting and the merging to the key-value database for further processing of the submitted requests. 2. The method of claim 1 , wherein the key-value database is stored in a memory of a Memcached server. 3. The method of claim 1 , wherein the merging is performed until at least one of predefined stopping criteria is fulfilled, wherein a first stopping criterion of the stopping criteria requires that the merged request comprises a number of keys between the second threshold number and the first threshold number, wherein a second stopping criterion of the stopping criteria requires that the merging is performed a predefined maximum waiting time period. 4. The method of claim 1 , wherein the split requests are submitted in parallel. 5. The method of claim 4 , the split requests are submitted using respective threads. 6. The method of claim 1 , wherein the merged request comprises a number of keys smaller than the first threshold number and higher than the second threshold number. 7. The method of claim 1 , further comprising: if the number of buffered requests reaches a predefined maximum of buffered requests, submitting the request to the key-value database for further processing. 8. The method of claim 7 , wherein the buffered requests comprise the previous request. 9. The method of claim 1 , wherein the received request is merged with a request of a same user or of a different user. 10. A computer program product comprising a computer-readable storage medium having computer-readable program code embodied therewith, the computer-readable program code configured to implement a method comprising: receiving a request for data, the request comprising a number of keys whose respective values are requested in the request for data; comparing the number of keys with a first threshold number and second threshold number; if the number of keys exceeds the first threshold number, splitting the request by splitting the number of keys in the request into two or more split requests; if the number of keys is smaller than the first threshold number and higher than the second threshold number, buffering the request as a previous request, wherein the number of keys in the previous request is subsequently merged with another request or submitted; if the number of keys is smaller than the second threshold number, merging the request with at least one previous request that was buffered or buffering the request to merge the request with at least one subsequent request, wherein the merging the request includes combining the number of keys in the request with the number of keys of the at least one previous request or the at least one subsequent request; and submitting requests resulting from the splitting and the merging to the key-value database for further processing of the submitted requests. 11. The computer program product of claim 10 , wherein the key-value database is stored in a memory of a Memcached server. 12. The computer program product of claim 10 , wherein the merging is performed until at least one of predefined stopping criteria is fulfilled, wherein a first stopping criterion of the stopping criteria requires that the merged request comprises a number of keys between the second threshold number and the first threshold number, wherein a second stopping criterion of the stopping criteria requires that the merging is performed a predefined maximum waiting time period. 13. The computer program product of claim 10 , wherein the split requests are submitted in parallel. 14. The computer program product of claim 13 , the split requests are submitted using respective threads. 15. The computer program product of claim 10 , wherein the merged request comprises a number of keys smaller than the first threshold number and higher than the second threshold number. 16. The computer program product of claim 10 , wherein the method further comprises: if the number of buffered requests reaches a predefined maximum of buffered requests, submitting the request to the key-value database for further processing. 17. The computer program product of claim 16 , wherein the buffered requests comprise the previous request. 18. The computer program product of claim 10 , wherein the received request is merged with a request of a same user or of a different user. 19. A computer system for managing requests to a key-value database, the computer system being configured for: receiving a request for data, the request comprising a number of keys whose respective values are requested in the request for data; comparing the number of keys with a first threshold number and second threshold number; if the number of keys exceeds the first threshold number, splitting the request by splitting the number of keys in the request into two or more split requests; if the number of keys is smaller than the first threshold number and higher than the second threshold number, buffering the request as a previous request, wherein the number of keys in the previous request is subsequently merged with another request or submitted; if the number of keys is smaller than the second threshold number, merging the request with at least one previous request that was buffered or buffering the request to merge the request with at least one subsequent request, wherein the merging the request includes combining the number of keys in the request with the number of keys of the at least one previous request or the at least one subsequent request; and submitting requests resulting from the splitting and the merging to the key-value database for further processing of the submitted requests. 20. The system of claim 19 , wherein the merging is performed until at least one of predefined stopping criteria is fulfilled, wherein a first stopping criterion of the stopping criteria requires that the merged request comprises a number of keys between the second threshold number and the first threshold number, wherein a second stopping criterion of the stopping criteria requires that the merging is performed a predefined maximum waiting time period.

Assignees

Inventors

Classifications

  • Plan optimisation · CPC title

  • Indexing; 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 US11314739B2 cover?
The present disclosure relates to a method of managing requests to a key-value database. A non-limiting example of the method includes receiving a request that includes a number of keys. The number of keys can be compared with a first threshold number and second threshold number. If the number of keys exceeds the first threshold number, the request can be split. If the number of keys is smaller…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F16/24542. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 26 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 3 related publications on this page (citations in our corpus or others sharing the same primary CPC).