发明名称 System and Method for Maintaining Cache Coherency
摘要 A cache manager maintains coherency of cached objects used by applications in a computing system. The cache manager maintains a cache memory of objects as they are accessed by an application. The cache manager tracks cached objects on a per-application basis using a cache database, storing for each object metadata comprising the generation number of the application using the cached object, and the file generation number of the file from which the object was read. The cache manager determines whether cached objects are valid and can be used by the application, or are stale and must be reloaded, by using these generation numbers when an application attempts to use a file or object. In this fashion, cache coherency is maintained even in a distributed environment without the centralized cache management bottlenecks of prior approaches and without the need to eagerly purge the cache of stale versions of objects.
申请公布号 US2015161048(A1) 申请公布日期 2015.06.11
申请号 US201314101219 申请日期 2013.12.09
申请人 PernixData, Inc. 发明人 Patil Kaustubh Sambhaji;Vilayannur Murali Natarajan;Vaghani Satyam B.;Ostrowski Michal;Jung Woon Ho;Kumar Poojan
分类号 G06F12/08;G06F17/30 主分类号 G06F12/08
代理机构 代理人
主权项 1. In a computing system having a cache memory and a storage device, a cache coherency method comprising: intercepting, by a cache manager running on the computing system, a read request from an application running on the computing system; determining, by the cache manager from the intercepted read request, an identifier for a required object and a required generation number; and determining by the cache manager: if the required object is not stored in the cache memory, then storing in the cache memory a copy of the required object retrieved from the storage device, adding metadata regarding the stored object to the cache database, the stored object metadata comprising an object generation number equal to the application generation number, adding a reference to the stored object to a list of references to object stored in the cache memory that are being used by the application, and returning the copy of the object to the application,elseif the required object is stored in the cache memory, and the stored object is of a generation number that is not less than the required generation number, then adding a reference to the stored object to the list of references to objects stored in the cache memory that are being used by the application, and returning the stored object from the cache memory to the application,elseif the required object is stored in the cache memory, and the stored object is of a generation number that is less than the required generation number, then storing in the cache memory a copy of the required object retrieved from the storage device, adding metadata regarding the stored object to the cache database, the stored object metadata comprising an object generation number equal to the application generation number, adding a reference to the stored object to a list of references to objects stored in the cache memory that are being used by the application, and returning the copy of the object to the application.
地址 San Jose CA US