Local Cache Synchronization via Invalidation Partitions
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional methods for synchronizing local caches across multiple remote servers in online retail systems lead to high network traffic, causing delays and requiring expensive infrastructure, as remote servers constantly fetch data from centralized databases.
Innovation Solution
A computer-implemented system and method that involves receiving a content update, transmitting it to a first remote server, generating an invalidation command, and using a message server to propagate partitions to all remote servers, causing them to update their local caches, thereby reducing the need for constant data fetching from a centralized database.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If remote servers constantly fetch data from centralized database, then data freshness is maintained, but network traffic increases and delays occur
Solution Approach 1:
The system performs preliminary actions by pre-loading data into local caches before it is actually needed. When data is first requested, it is cached locally on remote servers, and subsequent requests can be served from the cache without waiting for database queries, eliminating delays while maintaining data freshness through periodic invalidation updates.
Solution Approach 2:
The patent implements copying by creating local copies of data in remote server caches instead of requiring all requests to access the centralized database. These copies are maintained through invalidation mechanisms that propagate changes back to caches, allowing fast local access while keeping data synchronized across the distributed system.
2Reliability
If remote servers constantly fetch data from centralized database, then data is kept updated, but network infrastructure costs increase
Solution Approach 1:
The system creates local copies of data in remote server caches, eliminating the need for continuous network traffic to the centralized database. This copying approach reduces infrastructure requirements for high-speed networking and database bandwidth while maintaining data updates through invalidation propagation to all caches.
Solution Approach 2:
Instead of continuous data fetching, the system uses periodic invalidation updates where changes are propagated to remote servers at intervals or when modifications occur. This periodic action maintains data freshness without requiring constant network communication, significantly reducing infrastructure costs.
3Stability of the object's composition
If centralized database is used for all data access, then data consistency is maintained, but network traffic increases
Solution Approach 1:
The patent implements data consistency by copying data to local caches on remote servers while maintaining a centralized database for the source of truth. Local caches are invalidated when database changes occur, ensuring consistency across all servers without requiring continuous network traffic to propagate every read operation.
Solution Approach 2:
The system introduces local caches as intermediary layers between remote servers and the centralized database. These intermediaries handle read operations locally, reducing network traffic to the database. The invalidation mechanism acts as a mediator that propagates changes from the database to caches efficiently, maintaining consistency without constant communication.
Data Source
AI summary
A computer-implemented method for synchronizing local caches is disclosed. The method may include receiving a content update which is an update to a data entry stored in local caches of each of a plurality of remote servers. The method may include transmitting the content update to a first remote server to update a corresponding data entry in a local cache of the first remote server. Further, the method may include generating an invalidation command, indicating the change in the corresponding data entry. The method may include transmitting the invalidation command from the first remote server to the message server. The method may include generating, by the message server, a plurality of partitions based on the received invalidation command. The method may include transmitting, from the message server to each of the remote servers, the plurality of partitions, so that the remote servers update their respective local caches.


