Proximity grids for an in-memory data grid

US10534776B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10534776-B2
Application numberUS-201113098291-A
CountryUS
Kind codeB2
Filing dateApr 29, 2011
Priority dateApr 29, 2011
Publication dateJan 14, 2020
Grant dateJan 14, 2020

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 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.

First claim

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

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 US10534776B2 cover?
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 …
Who is the assignee on this patent?
Berg Douglas C, Bhogal Kulvir S, Gaur Nitin, and 3 more
What technology area does this patent fall under?
Primary CPC classification G06F16/24552. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jan 14 2020 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).