IP Library Granted Patent US 7,266,541
Granted Patent B2
US 7,266,541 · App. 10/121,272 · Granted Sep 4, 2007

Adaptive edge processing of application data

Assignee: International Business Machines Corporation
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 7,266,541
App. No.
10/121,272
Granted
Sep 4, 2007
Kind
B2
Abstract

An adaptive data replication and caching system configured for deployment at the network edge. This system can include a data caching system configured to cache application data in a data store and to satisfy queries for application data from the cache. The system also can include a data replication system configured to replicate application data in the data store and to satisfy queries for application data against the replicated application data. Finally, the adaptive data replication and caching system can include a configurator for configuring portions of the data store for exclusive use by the data caching system and the data replication system.

Claims (34)

1. A method of adaptively configuring a local data store at the edge of a network, said method comprising the steps of:

identifying all combinations of network application database tables whose combined size can fit within space limitations of the local data store, each said database table comprising a set of data, and further identifying historically which combinations would have been able to satisfy queries for application data using a predetermined criteria;

allocating enough space in said local data store to accommodate said combinations which are able to satisfy said queries for application data using said predetermined criteria and which further can fit within said space limitations of the local data store; and,

further allocating at least a portion of said remaining space in said local data store for a data cache.

2. The method of claim 1 , wherein said further allocating step comprises further allocating said remaining space in said local data store for said data cache.

3. The method of claim 1 , wherein said step of identifying all combinations of network application database tables whose combined size can fit within space limitations of the local data store, comprises the steps of:

considering operator hints which indicate whether a particular database table can be replicated; and,

disregarding any of said particular database tables whose synchronization requirements prohibit replication to the edge of the network.

4. A method for processing a database query at the edge of a network, said method comprising the steps of:

processing said database query in a database replication system, said database replication system determining whether said database query can be satisfied by replicated data stored in a first allocated portion of a local data store, said database replication system satisfying said database query if it is determined that said database query can be satisfied by said replicated data;

further processing said database query in a database caching system if it is determined that said database query cannot be satisfied by replicated data stored in an allocated portion of a local data store, said database caching system determining whether said database query can be satisfied by cached data stored in a second allocated portion, separate from said first allocated portion, of said local data store, said database caching system satisfying said database query if it is determined that said database query can be satisfied by said cached data; and,

forwarding said database query to a back-end database system where it is determined that said database query can be satisfied neither by said database replication system nor by said database query system.

5. The method of claim 4 , further comprising the steps of:

maintaining at least one log of said database queries and said determinations;

accessing said at least one log to adaptively re-partition said local data store into a first partition for use by said database replication system, and a second partition for use by said database caching system;

replicating selected data to said first partition according to said at least one log; and,

caching selected data to said second partition according to said at least one log.

6. A machine readable storage having stored thereon a computer program for adaptively configuring a local data store at the edge of a network, said computer program comprising a routine set of instructions for causing the machine to perform the steps of:

identifying all combinations of network application database tables whose combined size can fit within space limitations of the local data store, each said database table comprising a set of data, and further identifying historically which combinations would have been able to satisfy queries for application data using a predetermined criteria;

allocating enough space in said local data store to accommodate said combinations which are able to satisfy said queries for application data using said predetermined criteria and which further can fit within said space limitations of the local data store; and,

further allocating at least a portion of said remaining space in said local data store for a data cache.

7. The machine readable storage of claim 6 , wherein said further allocating step comprises further allocating said remaining space in said local data store for said data cache.

8. The machine readable storage of claim 6 , wherein said step of identifying all combinations of network application database tables whose combined size can fit within space limitations of the local data store, comprises the steps of:

considering operator hints which indicate whether a particular database table can be replicated; and,

disregarding any of said particular database tables whose synchronization requirements prohibit replication to the edge of the network.

9. A machine readable storage having stored thereon a computer program for processing a database query at the edge of a network, said computer program comprising a routine set of instructions for causing the machine to perform the steps of:

processing said database query in a database replication system, said database replication system determining whether said database query can be satisfied by replicated data stored in a first allocated portion of a local data store, said database replication system satisfying said database query if it is determined that said database query can be satisfied by said replicated data;

further processing said database query in a database caching system if it is determined that said database query cannot be satisfied by replicated data stored in an allocated portion of a local data store, said database caching system determining whether said database query can be satisfied by cached data stored in a second allocated portion, separate from said first allocated portion, of said local data store, said database caching system satisfying said database query if it is determined that said database query can be satisfied by said cached data; and,

forwarding said database query to a back-end database system where it is determined that said database query can be satisfied neither by said database replication system nor by said database query system.

10. The machine readable storage of claim 9 , further comprising the steps of:

maintaining at least one log of said database queries and said determinations;

accessing said at least one log to adaptively re-partition said local data store into a first partition for use by said database replication system, and a second partition for use by said database caching system;

replicating selected data to said first partition according to said at least one log; and,

caching selected data to said second partition according to said at least one log.

Assignments (2)
CORRECTIVE ASSIGNMENT TO CORRECT THE EXECUTION DATES FOR RONALD P. DOYLE AND DINESH CHANDRA VERMA PREVIOUSLY RECORDED ON REEL 013339 FRAME 0104. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Mar 22, 2018
From: AMIRI, KHALIL S.; DOYLE, RONALD P.; LI, YONGCHENG; MCELROY, THOMAS FRANCIS; PARK, SANGHYUN; TEWARI, RENU; VERMA, DINESH CHANDRA
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 045664/0884 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 5, 2002
From: AMIRI, KHALIL S.; LI, YONGCHENG; PARK, SANGHYUN; VERMA, DINESH CHANDRA; DOYLE, RONALD P.; MCELROY, THOMAS FRANCIS; TEWARI, RENU
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 013339/0104 →
Continuity (1)
Related Publication 20030195941A1 · Oct 16, 2003