Computer data distribution architecture
First Claim
Patent Images
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 where 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.
2 Assignments
0 Petitions
Accused Products
Abstract
Described are methods, systems and computer readable media for computer data distribution architecture.
465 Citations
35 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 where 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.
-
-
2. A memory-efficient and processor-efficient computer system for reliable implementation of a table data cache proxy, the system comprising:
-
a table data cache proxy enabled (TDCP-enabled) server computer coupled to a plurality of data server computers, the plurality of data server computers each being programmed with a table data service accessible via an electronic messaging protocol, 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 where 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, requesting the requested data from a server of the plurality of data servers. - View Dependent Claims (3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A system comprising:
-
one or more hardware processors of a table data cache proxy enabled (TDCP-enabled) server, the TDCP-enabled server being coupled to one or more data servers; 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 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, requesting the requested data from a server of the plurality of data servers. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. A method comprising:
-
receiving, at a table data cache proxy enabled (TDCP-enabled) server, a first electronic message requesting table data, the TDCP-enabled server caching data; determining that a cache of the TDCP-enabled server contains a cached copy of the requested table data; after the determining that 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 stored in the cache being authoritative due to a data model; receiving, at the TDCP-enabled server, another electronic message requesting second table data; determining that the cache of the TDCP-enabled server does not contain a cached copy of the requested second table data; and after the determining that the cache of the TDCP-enabled server does not contain a cached copy of the requested second table data, requesting the requested second table data. - View Dependent Claims (24, 25, 26, 27, 28, 29)
-
-
30. A nontransitory 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; 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; and when the cache of the TDCP-enabled server does not contain a cached copy of the requested data, requesting the requested data from a server of the one or more of data servers. - View Dependent Claims (31, 32, 33, 34, 35)
-
Specification