Hybrid in-memory/pageable spatial column data
US-2024311371-A1 · Sep 19, 2024 · US
US10534776B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10534776-B2 |
| Application number | US-201113098291-A |
| Country | US |
| Kind code | B2 |
| Filing date | Apr 29, 2011 |
| Priority date | Apr 29, 2011 |
| Publication date | Jan 14, 2020 |
| Grant date | Jan 14, 2020 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Techniques are described for scaling an in-memory data grid to satisfy the needs of client applications requesting data from the in-memory data grid. The in-memory data grid may monitor a variety of factors, such as data traffic or number of received queries from a particular geographical region, to determine whether to create a proximity grid. A proximity grid is an extension of the in-memory data grid that services queries originating from a defined geographic region. Each proximity grid stores data objects relevant to the proximity grid's assigned geographic region. Queries originating from the client applications within the geographic regions are then routed to the corresponding proximity grid for execution. The proximity grid may be terminated when the need of the client applications within the geographic region has subsided.
Opening claim text (preview).
What is claimed is: 1. A computer-implemented method for dividing an in-memory data grid comprising a plurality of containers into a proximity grid and a primary grid, wherein the plurality of containers are associated with the primary grid, and wherein the proximity grid is associated with a geographic region, the method comprising: filtering data stored in one or more of the plurality of containers associated with the primary grid based on the relevance of the data stored in the primary grid to the geographic region; upon determining that an amount of traffic between the in-memory data grid and a plurality of client applications in the geographic region exceeds a first predefined threshold, identifying computing resources located within the geographic region to host the proximity grid; creating the proximity grid on the identified computing resources based on the filtered data; associating one or more of the plurality of containers with the proximity grid such that the one or more containers are hosted on the identified computing resources; storing the filtered data in the one or more containers associated with the proximity grid, wherein data stored by the proximity grid comprises a subset of the data stored by the primary grid, wherein the one or more containers associated with the primary and proximity grids share a virtualized address space, and wherein the proximity grid and the primary grid are intermediaries between the client applications that submit queries to the in-memory data grid and a back-end database; determining a geographic location for a first client application that submits queries to the in-memory data grid; upon determining that the geographic location of the first client application is within the geographic region, providing an updated container routing table assigning received queries from the first client application to the proximity grid, wherein the first client application, based on the routing table, determines whether to access one of the containers associated with the primary grid and the containers associated with the proximity grid to retrieve the data associated with the queries; and upon determining that the number of queries originating from the client applications in the geographic region has fallen below a second predefined threshold, terminating the proximity grid by updating the virtual memory space of the in-memory data grid. 2. The method of claim 1 , wherein the stored data in the proximity grid comprises a plurality of data objects, the data objects being formed by an object-oriented programming language, wherein the primary grid maintains copies of the plurality of data objects stored in the proximity grid and wherein the container routing table ensures that the first client application retrieves the plurality of data objects from only one of the primary grid and the proximity grid. 3. The method of claim 2 , further comprising: periodically synchronizing the plurality of data objects stored in the proximity grid with the copies of the plurality of data objects stored in the primary grid, wherein synchronizing the plurality of data objects further comprises: determining whether timestamps of the plurality of data objects in the proximity grid are more recent than timestamps of the copies of the plurality of data objects in the primary grid; and if so, replacing the copies of the plurality of data objects with the plurality of data objects with the more recent timestamps. 4. The method of claim 2 , wherein the one or more containers associated with the proximity grid and the one or more containers associated with the primary grid are Java virtual machines that store the plurality of data objects. 5. The method of claim 1 , further comprising, determining whether to create the proximity grid for the in-memory data grid in the geographic region in anticipation of a future event. 6. The method of claim 1 , further comprising, after creating the proximity grid, terminating the proximity grid based on at least one of (i) an expiration of a predetermined time, (ii) the proximity grid receiving a predetermined minimum of queries originating from the geographic region and (ii) a predetermined minimum amount of data traffic being transmitted to the geographic region by the proximity grid. 7. The method of claim 1 , wherein filtering data stored in the primary grid based on the relevance of the data stored in the primary grid to the geographic region further comprises determining if the data stored in the primary grid was previously accessed by a query originating from an application located in the geographic region. 8. A computer program product for dividing an in-memory data grid comprising a plurality of containers into a proximity grid and a primary grid, wherein the plurality of containers are associated with the primary grid, and wherein the proximity grid is associated with a geographic region, the computer program product comprising: a computer-readable storage memory having computer-readable program code embodied therewith, the computer-readable program code configured to: filter data stored in the one or more of the plurality of containers associated with the primary grid based on the relevance of the data stored in the primary grid to the geographic region; upon determining that an amount of traffic between the in-memory data grid and a plurality of client applications in the geographic region exceeds a first predefined threshold, identifying computing resources located within the geographic region to host the proximity grid; create the proximity grid on the identified computing resources based on the filtered data; associate one or more of the plurality of containers with the proximity grid such that the one or more containers are hosted on the identified computing resources; and store the filtered data in the one or more containers associated with the proximity grid, wherein data stored by the proximity grid comprises a subset of the data stored by the primary grid, wherein the one or more containers associated with the primary and proximity grids share a virtualized address space, and wherein the proximity grid and the primary grid are intermediaries between the client applications that submit queries to the in-memory data grid and a back-end database; determine a geographic location for a first client application that submits queries to the in-memory data grid; upon determining that the geographic location of the first client application is within the geographic region, providing an updated container routing table assigning received queries from the first client application to the proximity grid, wherein the first client application, based on the routing table, determines whether to access one of the containers associated with the primary grid and the containers associated with the proximity grid to retrieve the data associated with the queries; and upon determining that the number of queries originating from the client applications in the geographic region has fallen below a second predefined threshold, terminating the proximity grid by updating the virtual memory space of the in-memory data grid. 9. The computer program product of claim 8 , wherein the stored data in the proximity grid comprises a plurality of data objects, the data objects being formed by an object-oriented programming language, wherein the primary grid maintains copies of the plurality of data objects stored in the proximity grid and wherein the container routing table ensures that the first client application retrieves the plurality of data objects from only one of the primary grid and the proximity grid. 10. The computer program product of claim 9 , further comprising computer-readab
Database cache management · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.