System and method for caching identification and location information in a computer network
First Claim
1. A method for caching information in a computer system, comprising the computer-implemented steps of:
- placing at least one tuple in a cache, each tuple containing a component identifier which identifies a cache-enabled component and a corresponding location identifier which identifies a location at which the cache-enabled component resides;
receiving an access request which identifies a requested component;
determining whether the requested component is cache-enabled;
servicing the access request by sending a corresponding request to a server computer if the requested component is not cache-enabled, and servicing the access request by using the cached location identifier if the requested component is cache-enabled;
detecting access requests that seek to modify a cache-enabled component identifier, and invalidating cache tuples which contain that identifier.
9 Assignments
0 Petitions
Accused Products
Abstract
Methods and systems are provided for caching information in a distributed computer system such as a directory service system. Tuples in a client cache contain component identifiers and corresponding location identifiers. Tuples may contain a list of network addresses specifying at least one server containing additional location or object information, as well as replica flags which distinguish between read-only replicas, read-write replicas, and a master replica. Requests to access an object may be serviced by using cached information rather than making one or more attempts to obtain location information from servers. Tuples may be modified or invalidated such that read operations tend to be performed using read-only replicas. Cached tuples which contain a component identifier that is no longer valid because an object was moved or renamed may be invalidated. The cache may also be modified to redirect operations from a master replica to a non-master replica.
-
Citations
27 Claims
-
1. A method for caching information in a computer system, comprising the computer-implemented steps of:
-
placing at least one tuple in a cache, each tuple containing a component identifier which identifies a cache-enabled component and a corresponding location identifier which identifies a location at which the cache-enabled component resides; receiving an access request which identifies a requested component; determining whether the requested component is cache-enabled; servicing the access request by sending a corresponding request to a server computer if the requested component is not cache-enabled, and servicing the access request by using the cached location identifier if the requested component is cache-enabled; detecting access requests that seek to modify a cache-enabled component identifier, and invalidating cache tuples which contain that identifier. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 13, 14, 24, 25, 26)
-
-
11. A method for caching information in a computer system, comprising the computer-implemented steps of:
-
placing at least one tuple in a cache, each tuple containing a component identifier which identifies a cache-enabled component and a corresponding location identifier which identifies a location at which the cache-enabled component resides; receiving an access request which identifies a requested component; determining whether the requested component is cache-enabled; servicing the access request by sending a corresponding request to a server computer if the requested component is not cache-enabled, and servicing the access request by using the cached location identifier if the requested component is cache-enabled; and identifying a requested operation to be performed on a master replica, and redirecting the operation to a non-master replica to reduce the load on the master replica. - View Dependent Claims (12, 27)
-
-
15. A computer system comprising:
-
a client computer having a processor, a memory, and a means for receiving a component access request which identifies a requested component; a tuple cache residing on the client computer, the tuple cache capable of holding at least one tuple, each tuple containing a component identifier which identifies a cache-enabled component and a corresponding location identifier which identifies a location at which the cache-enabled component resides; means for placing a tuple in the tuple cache; means for determining whether the requested component is cache-enabled; means for servicing the access request by sending a corresponding request to a server computer if the requested component is not cache-enabled and servicing the access request by using the cached location identifier if the requested component is cache-enabled; and means for detecting access requests that seek to modify a cache-enabled component identifier and for invalidating cache tuples which contain that identifier. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23)
-
Specification