Transaction-aware caching for access control metadata
First Claim
1. A computer implemented method for maintaining folder path metadata for a file in a cache hierarchy comprising the steps of:
- storing within a first cache a first version of said folder path metadata that includes only changes made by a transaction associated with said first cache;
storing within a second cache a second version of said folder path metadata that does not include said changes made by said transaction;
storing within a third cache folder path metadata that includes only changes made by a transaction associated with said third cache;
providing data from said first version of said folder path metadata to said transaction associated with said first cache;
providing data from said second version of said folder path metadata to transactions other than said transaction until said transaction associated with said first cache successfully terminates;
maintaining folder path metadata by invalidating said second version of said folder path metadata when said transaction associated with said first cache successfully terminates;
receiving a request for an operation related to a file stored in a database system;
processing said request by;
looking in said first cache for particular folder path metadata associated with said file and responding to the request if said first cache has said particular folder path metadata associated with said file; and
if said first cache does not have said particular folder path metadata associated with said file, thenlooking in said second cache for said particular folder path metadata associated with said file and responding to the request if said second cache has said particular folder path metadata associated with said file, wherein said second cache only contains folder path metadata that has been committed by the database.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques are provided for performing transaction-aware caching of metadata in an electronic file system. A mechanism is described for providing transaction-aware caching that uses a cache hierarchy, where the cache hierarchy includes uncommitted caches associated with sessions in an application and a committed cache that is shared among the sessions in that application. Techniques are described for caching document metadata, access control metadata and folder path metadata. Also described is a technique for using negative cache entries to avoid unnecessary communications with a server when applications repeatedly request non-existent data.
61 Citations
16 Claims
-
1. A computer implemented method for maintaining folder path metadata for a file in a cache hierarchy comprising the steps of:
-
storing within a first cache a first version of said folder path metadata that includes only changes made by a transaction associated with said first cache; storing within a second cache a second version of said folder path metadata that does not include said changes made by said transaction; storing within a third cache folder path metadata that includes only changes made by a transaction associated with said third cache; providing data from said first version of said folder path metadata to said transaction associated with said first cache; providing data from said second version of said folder path metadata to transactions other than said transaction until said transaction associated with said first cache successfully terminates; maintaining folder path metadata by invalidating said second version of said folder path metadata when said transaction associated with said first cache successfully terminates; receiving a request for an operation related to a file stored in a database system; processing said request by; looking in said first cache for particular folder path metadata associated with said file and responding to the request if said first cache has said particular folder path metadata associated with said file; and if said first cache does not have said particular folder path metadata associated with said file, then looking in said second cache for said particular folder path metadata associated with said file and responding to the request if said second cache has said particular folder path metadata associated with said file, wherein said second cache only contains folder path metadata that has been committed by the database. - View Dependent Claims (2)
-
-
3. A computer implemented method for looking for folder path metadata comprising the steps of:
-
maintaining outside of a database system a first cache and a second cache that concurrently store said folder path metadata for files stored in said database system; wherein said first cache stores a first set of folder path metadata that reflects modifications made during a first session and does not reflect modifications made during a second session; wherein said second cache stores a second set of folder path metadata that reflects said modifications made during said second session and does not reflect said modifications made during said first session; providing requests received in said first session with data from said first set of folder path metadata; providing requests received in said second session with data from said second set of folder path metadata; receiving a request associated with said first session for an operation related to a file stored in the database system; processing said request by; looking in said first cache for particular folder path metadata associated with said file and responding to the request associated with said first session if said first cache has said particular folder path metadata associated with said file; and if said first cache does not have said particular folder path metadata associated with said file, then looking in a third cache for said particular folder path metadata associated with said file and responding to the request associated with said first session if said third cache has said particular folder path metadata associated with said file, wherein said third cache only contains folder path metadata that has been committed by the database. - View Dependent Claims (4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
Specification