Patent ID: 8364650
Filing Date: 2013-01-29
Classification: G06F,H04L

Abstract:
1. A method of maintaining coherence of cache contents comprising: using a multi-tier software architecture including a front tier comprising at least one satellite server, each said at least one satellite server operating a local cache, said architecture including a middle tier comprising a plurality of central servers wherein one central server is designated as a main central server and all other central servers are backup central servers, each central server operating a central cache, the main central server interfacing with at least one database through at least one database server, said at least one database containing data elements; receiving, at one of the backup central servers, a request for an object from the at least one satellite server; detecting that the object is outdated in said one of the backup central servers; sending an object invalidation request from an invalidation handler of said one of the backup central servers to the main central server; triggering a constructing step in said main central server; constructing said object in said main central server, comprising: checking whether said central cache of the main central server is full or not; upon said central cache not being full, proceeding immediately to said constructing step; upon said central cache being full, selecting a least recently used object in said central cache; checking whether said least recently used object is outdated or not; upon said least recently used object not being outdated, storing said least recently used object in a secondary memory and deleting the least recently used object from the central cache; upon said least recently used object being outdated, discarding said least recently used object; and, in both cases, proceeding to said constructing; retrieving data elements from said at least one database by means of at least one query issued from the main central server; building said object from plural of said data elements; validating said object; attributing a time to live (TTL) to said objects; and storing said objects in the central cache of the main central server; replicating said object in all of the backup central servers; forwarding said object to the at least one satellite server requesting said object, said forwarding step including a further step of: storing said object in the local cache of at least one satellite server requesting said objects; delivering said object from the local cache of the at least one satellite server requesting said object to at least one of a software application running on the at least one satellite server and requesting said object.