Computer data distribution architecture with table data cache proxy
First Claim
1. A memory-efficient and processor-efficient computer system for reliable implementation of a table data cache proxy, the system comprising:
- a plurality of data server computers each being programmed with a table data service accessible via an electronic messaging protocol;
a table data cache proxy enabled (TDCP-enabled) server computer coupled to the one or more data server computers, the TDCP-enabled server computer having a plurality of TDCP clients, the TDCP-enabled server computer caching data from the plurality of data server computers and aggregating subscriptions of the TDCP clients to the plurality of data server computers;
the TDCP-enabled server computer comprising;
one or more hardware processors;
a cache memory device having at least a portion being a shared memory portion; and
a computer readable data storage device coupled to the one or more hardware processors, the computer readable data storage device having stored thereon software instructions that, when executed by the one or more hardware processors, cause the one or more hardware processors to perform operations including;
receiving, from a first TDCP client of the plurality of TDCP clients, a first electronic message requesting table data;
determining whether a shared memory cache stored in the shared memory portion of the cache memory device contains a cached copy of the requested table data;
when the shared memory cache contains a cached copy of the requested table data, transmitting, to the first TDCP client, one or more second electronic messages comprising a reference indicating a location were the cached copy is stored in the shared memory portion of the cache memory device in response to the first electronic message, the data received from at least one of the plurality of data server computers and stored in the cache memory device being authoritative due to a data model of the plurality of data server computers;
when the shared memory cache does not contain a cached copy of the requested table data;
selecting one or more data server computers from the plurality of data server computers as one or more appropriate data server computers to provide the requested table data,transmitting one or more third electronic messages to the one or more appropriate data server computers requesting the requested table data,receiving one or more fourth electronic messages from the one or more appropriate data server computers in response to the third electronic messages,filtering the received fourth electronic messages and storing a result of the filtering in the shared memory portion of the cache memory device, andtransmitting, to the first TDCP client computer, one or more fifth electronic messages comprising a reference indicating a location where the result of the filtering is stored in the shared memory portion of the cache memory device in response to the first electronic message.
3 Assignments
0 Petitions
Accused Products
Abstract
The disclosed subject matter includes systems, methods, and computer readable medium for reliable implementation of a table data cache proxy (TDCP). An electronic message requesting table data can be received at TDCP-server that can be coupled to data servers having a table data service accessible via an electronic messaging protocol. The TDCP-server can cache data from and aggregate subscriptions to the data servers. When TDCP-server contains a cached copy of the requested table data, an electronic message providing the cached copy can be transmitted from the cache in response to the first electronic message. The data received from at least one of the data servers and stored in the cache is authoritative due to a data model of the data servers. When TDCP-server does not contain a cached copy, the requested table data can be requested from a server determined to be appropriate and a received response can be filtered.
281 Citations
30 Claims
-
1. A memory-efficient and processor-efficient computer system for reliable implementation of a table data cache proxy, the system comprising:
-
a plurality of data server computers each being programmed with a table data service accessible via an electronic messaging protocol; a table data cache proxy enabled (TDCP-enabled) server computer coupled to the one or more data server computers, the TDCP-enabled server computer having a plurality of TDCP clients, the TDCP-enabled server computer caching data from the plurality of data server computers and aggregating subscriptions of the TDCP clients to the plurality of data server computers; the TDCP-enabled server computer comprising; one or more hardware processors; a cache memory device having at least a portion being a shared memory portion; and a computer readable data storage device coupled to the one or more hardware processors, the computer readable data storage device having stored thereon software instructions that, when executed by the one or more hardware processors, cause the one or more hardware processors to perform operations including; receiving, from a first TDCP client of the plurality of TDCP clients, a first electronic message requesting table data; determining whether a shared memory cache stored in the shared memory portion of the cache memory device contains a cached copy of the requested table data; when the shared memory cache contains a cached copy of the requested table data, transmitting, to the first TDCP client, one or more second electronic messages comprising a reference indicating a location were the cached copy is stored in the shared memory portion of the cache memory device in response to the first electronic message, the data received from at least one of the plurality of data server computers and stored in the cache memory device being authoritative due to a data model of the plurality of data server computers; when the shared memory cache does not contain a cached copy of the requested table data; selecting one or more data server computers from the plurality of data server computers as one or more appropriate data server computers to provide the requested table data, transmitting one or more third electronic messages to the one or more appropriate data server computers requesting the requested table data, receiving one or more fourth electronic messages from the one or more appropriate data server computers in response to the third electronic messages, filtering the received fourth electronic messages and storing a result of the filtering in the shared memory portion of the cache memory device, and transmitting, to the first TDCP client computer, one or more fifth electronic messages comprising a reference indicating a location where the result of the filtering is stored in the shared memory portion of the cache memory device in response to the first electronic message. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A memory-efficient and processor-efficient computer system for reliable implementation of a table data cache proxy, the system comprising:
-
at least one data server having a table data service accessible via an electronic messaging protocol; a table data cache proxy enabled (TDCP-enabled) server coupled to the one or more data servers, the TDCP-enabled server caching data from the plurality of data servers and aggregating subscriptions to the plurality of data servers; the TDCP-enabled server comprising; one or more hardware processors; a computer readable data storage device coupled to the one or more hardware processors, the computer readable data storage device having stored thereon software instructions that, when executed by the one or more hardware processors, cause the one or more hardware processors to perform operations including; receiving a first electronic message requesting table data; determining whether a cache of the TDCP-enabled server contains a cached copy of the requested table data; when the cache of the TDCP-enabled server contains a cached copy of the requested table data, transmitting one or more second electronic messages providing the cached copy of the requested table data from the cache in response to the first electronic message, the data received from at least one of the plurality of data servers and stored in the cache being authoritative due to a data model of the plurality of data servers; when the cache of the TDCP-enabled server does not contain a cached copy of the requested data; determining one or more appropriate data servers of the plurality of data servers to request the requested table data from, transmitting one or more third electronic messages to the one or more appropriate data servers requesting the requested table data, receiving one or more fourth electronic messages from the one or more appropriate servers in response to the one or more third electronic messages, and filtering the received one or more fourth electronic messages and, based on a result of the filtering, transmitting one or more fifth electronic messages providing the requested table data in response to the first electronic message. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19)
-
-
20. A memory-efficient and processor-efficient computerized method for reliable implementation of a table data cache proxy, the method comprising:
-
receiving, at a table data cache proxy enabled (TDCP-enabled) server, a first electronic message requesting table data, the TDCP-enabled server being coupled to one or more data servers having a table data service accessible via an electronic messaging protocol, the TDCP-enabled server caching data from the one or more data servers and aggregating subscriptions to the one or more data servers; determining whether a cache of the TDCP-enabled server contains a cache copy of the requested table data; when the cache of the TDCP-enabled server contains a cached copy of the requested table data, transmitting one or more second electronic messages providing the cached copy of the requested table data from the cache in response to the first electronic message, the data received from at least one of the one or more data servers and stored in the cache being authoritative due to a data model of the one or more data servers; when the cache of the TDCP-enabled server does not contain a cached copy of the requested data; determining one or more appropriate data servers of the one or more data servers to request the requested table data from, transmitting one or more third electronic messages to the one or more appropriate data servers requesting the requested table data, receiving one or more fourth electronic messages from the one or more appropriate servers in response to the one or more third electronic messages, and filtering the received one or more fourth electronic messages and, based on a result of the filtering, transmitting one or more fifth electronic messages providing the requested table data in response to the first electronic message. - View Dependent Claims (21, 22, 23, 24, 25)
-
-
26. A non transitory computer readable medium having stored thereon software instructions that, when executed by one or more processors, cause the one or more processors to perform operations including:
-
receiving, at a table data cache proxy enabled (TDCP-enabled) server, a first electronic message requesting table data, the TDCP-enabled server being coupled to one or more data servers having a table data service accessible via an electronic messaging protocol, the TDCP-enabled server caching data from the one or more data servers and aggregating subscriptions to the one or more data servers; determining whether a cache of the TDCP-enabled server contains a cached copy of the requested table data; when the cache of the TDCP-enabled server contains a cached copy of the requested table data, transmitting one or more second electronic messages providing the cached copy of the requested table data from the cache in response to the first electronic message, the data received from at least one of the one or more data servers and stored in the cache being authoritative due to a data model of the one or more data servers; when the cache of the TDCP-enabled server does not contain a cached copy of the requested data; determining one or more appropriate data servers of the one or more data servers to request the requested table data from, transmitting one or more third electronic messages to the one or more appropriate data servers requesting the requested table data, receiving one or more fourth electronic messages from the one or more appropriate servers in response to the one or more third electronic messages, and filtering the received one or more fourth electronic messages and, based on a result of the filtering, transmitting one or more fifth electronic messages providing the requested table data in response to the first electronic message. - View Dependent Claims (27, 28, 29, 30)
-
Specification