Memory efficient directory coherency maintenance
First Claim
1. A directory coherence mechanism for use in a client-server system having a server and a plurality of clients, said mechanism comprising:
- a cache configured to store name information; and
a name server configured to provide the name information to the cache, the name server having a data structure and setting a hash indicator of the data structure when providing the cache name information of a particular object name, the hash indicator having a hash index calculated by hashing the particular object name, wherein if the name server receives a directory invalidate request for a name to be invalidated, the name server hashes the name to be invalidated and if a data of the data structure indexed by the hash of the name to be invalidated has been set, the name server orders the cache to invalidate all cached name information associated with the data indexed by the hash of the name to be invalidated and the name server resets the data indexed by the hash of the name to be invalidated.
2 Assignments
0 Petitions
Accused Products
Abstract
A bit map is maintained by a provider object of a name server to keep track of names cached by a cache object of the client. The bit map is indexed by performing a hash of the name. When a name is looked up by the server on behalf of a client, the server hashes the name, and sets the bit in the bit map indexed by the result of the hash modulo the size of the bit map. The result of the hash is returned to the client and is stored with the entry in the cache. A bit "set" in the bit map indicates that the client caches at least one name that hashes into the bit. When the server invalidates a name, a hash of the name to be invalidated is used to find the corresponding bit in the bit mask. If the bit is set, the server sends an invalidation request to the client. The invalidation request includes the result of the hash, and the size of the provider'"'"'s bit map. The client invalidates all entries that hash into the specified bit in the bitmap on the server. Alternatively, the invalidation request also includes the name to be invalidated and the client invalidates only the entry that matches the name.
134 Citations
20 Claims
-
1. A directory coherence mechanism for use in a client-server system having a server and a plurality of clients, said mechanism comprising:
-
a cache configured to store name information; and a name server configured to provide the name information to the cache, the name server having a data structure and setting a hash indicator of the data structure when providing the cache name information of a particular object name, the hash indicator having a hash index calculated by hashing the particular object name, wherein if the name server receives a directory invalidate request for a name to be invalidated, the name server hashes the name to be invalidated and if a data of the data structure indexed by the hash of the name to be invalidated has been set, the name server orders the cache to invalidate all cached name information associated with the data indexed by the hash of the name to be invalidated and the name server resets the data indexed by the hash of the name to be invalidated. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method for maintaining directory coherence, comprising the steps of:
-
caching name information; providing the name information from a name server to a cache, the name server having a data structure and setting a hash indicator of the data structure when providing the name information of a particular name, the hash indicator having a hash index calculated by hashing the particular name; hashing the name to be invalidated, said hashing performed by the name server, if the name server receives a directory invalidate request for a name to be invalidated; and if a data of the data structure indexed by the hash of the name to be invalidated has been set, said method ordering the cache to invalidate all cached name information associated with said data indexed by the hash of the name to be invalidated and resetting the data indexed by the hash of the name to be invalidated, said ordering performed by the name server. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification