IP Library Granted Patent US 12,105,706
Granted Patent B2
US 12,105,706 · App. 18/095,309 · Granted Oct 1, 2024

Context-aware data requests for a service in a distributed environment

Inventors: Petar Mitrov (Sofia, BG); Ivan Nushev (Sofia, BG); Mihail Mihaylov (Sofia, BG); Ventsyslav Raikov (Sofia, BG)
Assignee: VMware LLC
G06F16/24542
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,105,706
App. No.
18/095,309
Granted
Oct 1, 2024
Kind
B2
Abstract

The disclosure provides an approach for database query management. Embodiments include receiving, by a service operating on a server, a request for data stored in a database. Embodiments also include determining, by the service, whether to handle the request as an internal request or an external request. Embodiments include, in response to determining to handle the request as an internal request: sending, by the service, a query for at least a portion of the data to the database; receiving, by the service, the at least the portion of the data, and storing query metadata of the request in local memory of the server and not in the database, the query metadata comprising parameters of the request.

Claims (80)

1. A method comprising:

receiving, by a service operating on a server, a plurality of requests for data stored in a database, the plurality of requests comprising a first request, received from a first requestor, for first data and a second request, received via an API from a second requestor, for second data;

determining, by the service, to handle the first request as an internal request;

in response to determining to handle the request as an internal request:

sending, by the service, a first query for at least a portion of the first data to the database;

receiving, by the service, the at least the portion of the first data; and

storing first query metadata of the request in local memory of the server and not in the database, the first query metadata comprising parameters of the first request;

determining, by the service, to handle the second request as an external request;

in response to determining to handle the second request as an external request:

sending, by the service, a second query for at least a portion of the second data to the database;

receiving, by the service, the at least the portion of the second data;

storing second query metadata of the second request in the database; and

providing the at least the portion of the second data and a pointer to the second query metadata stored in the database to the second requestor.

2. The method of claim 1 , wherein the first request is received via the API.

3. The method of claim 1 , further comprising:

receiving a first follow-up request from the first requestor;

in response to receiving the first follow up request:

retrieving, from the local memory, a first parameterized query statement and first pagination metadata; and

querying the database using at least the first parameterized query statement and first pagination metadata;

receiving a first follow-up request from the first requestor;

in response to receiving the second follow up request:

retrieving, from database, a second parameterized query statement and second pagination metadata; and

querying the database using at least the second parameterized query statement and second pagination metadata.

4. The method of claim 1 , further comprising deleting the first query metadata from the local memory.

5. The method of claim 1 , further comprising determining whether to handle each of the plurality of requests as an internal request or an external request based on one or more of:

a source of that request; or

an indicator in the request indicating how the request should be handled.

6. The method of claim 1 , wherein each of the first requestor and the second requestor is a source external to the server.

7. The method of claim 1 , wherein each of the first requestor and the second requestor is a source internal to the server.

8. A system comprising:

one or more processors; and

non-transitory computer-readable medium storing instructions executable by the one or more processors to perform operations comprising:

receiving, by a service operating on the system, a plurality of requests for data stored in a database, the plurality of requests comprising a first request, received from a first requestor, for first data and a second request, received via an API from a second requestor, for second data;

determining, by the service, to handle the first request as an internal request;

in response to determining to handle the request as an internal request:

sending, by the service, a first query for at least a portion of the first data to the database;

receiving, by the service, the at least the portion of the first data; and

storing first query metadata of the request in local memory of the server and not in the database, the first query metadata comprising parameters of the first request;

determining, by the service, to handle the second request as an external request;

in response to determining to handle the second request as an external request:

sending, by the service, a second query for at least a portion of the second data to the database;

receiving, by the service, the at least the portion of the second data;

storing second query metadata of the second request in the database; and

providing the at least the portion of the second data and a pointer to the second query metadata stored in the database to the second requestor.

9. The system of claim 8 , wherein the first request is received via the API.

10. The system of claim 8 , the operations further comprising:

receiving a first follow-up request from the first requestor;

in response to receiving the first follow up request:

retrieving, from the local memory, a first parameterized query statement and first pagination metadata; and

querying the database using at least the first parameterized query statement and first pagination metadata;

receiving a first follow-up request from the first requestor;

in response to receiving the second follow up request:

retrieving, from database, a second parameterized query statement and second pagination metadata; and

querying the database using at least the second parameterized query statement and second pagination metadata.

11. The system of claim 8 , the operations further comprising deleting the query metadata from the local memory.

12. The system of claim 8 , the operations further comprising determining whether to handle each of the plurality of requests as an internal request or an external request based on one or more of:

a source of that request; or

an indicator in the request indicating how the request should be handled.

13. The system of claim 8 , wherein each of the first requestor and the second requestor is a source external to the system.

14. The system of claim 8 , wherein each of the first requestor and the second requestor is a source internal to the system.

15. A non-transitory computer-readable medium storing instructions executable by one or more processors of a server to perform operations comprising:

receiving, by a service operating on the server, a plurality of requests for data stored in a database, the plurality of requests comprising a first request, received from a first requestor, for first data and a second request, received via an API from a second requestor, for second data;

determining, by the service, to handle the first request as an internal request;

in response to determining to handle the request as an internal request:

sending, by the service, a first query for at least a portion of the first data to the database;

receiving, by the service, the at least the portion of the first data; and

storing first query metadata of the request in local memory of the server and not in the database, the first query metadata comprising parameters of the first request;

determining, by the service, to handle the second request as an external request;

in response to determining to handle the second request as an external request:

sending, by the service, a second query for at least a portion of the second data to the database;

receiving, by the service, the at least the portion of the second data;

storing second query metadata of the second request in the database; and

providing the at least the portion of the second data and a pointer to the second query metadata stored in the database to the second requestor.

16. The computer-readable medium of claim 15 , wherein the first request is received via the API.

17. The computer-readable medium of claim 15 , the operations further comprising deleting the query metadata from the local memory.

18. The computer-readable medium of claim 15 , the operations further comprising determining whether to handle the request as an internal request or an external request based on one or more of:

a source of the request; or

an indicator in the request indicating how the request should be handled.

19. The computer-readable medium of claim 15 , wherein each of the first requestor and the second requestor is a source external to the server.

20. The computer-readable medium of claim 15 , wherein each of the first requestor and the second requestor is a source internal to the server.

Assignments (2)
CHANGE OF NAME Recorded May 8, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067355/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 31, 2023
From: MITROV, PETAR; NUSHEV, IVAN; MIHAYLOV, MIHAIL; RAIKOV, VENTSYSLAV
To: VMWARE, INC.
Reel/Frame 062549/0042 →