← Back to Patent Explorer
US6157925A Expired / Lapsed US ⏱️ 0.0 years remaining

System and method for caching identification and location information in a computer network

Assignee: EMC Corp
•
Filing: 1999-08-24
•
Granted: 2000-12-05
•
Expires: 2019-08-24
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

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.

Inventors

  • 👤 Christopher Jenkins
  • 👤 Randal Childers

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-30 22:56
CPC Classifications
H; H04; H04L; H04L67/00; H04L67/01; H04L67/10; H04L67/1001; H04L67/1004; H04L67/1023; H04L61/00; H04L61/45; H04L61/4505; H04L61/4511; H04L61/4517; H04L61/58; H04L67/50; H04L67/56; H04L67/568; H04L67/5682; H04L69/00; H04L69/30; H04L69/32; H04L69/322; H04L69/329; H04L67/1095; H04L67/564; Y; Y10; Y10S; Y10S707/00; Y10S707/912; Y10S707/922; Y10S707/953; Y10S707/959; Y10S707/964; Y10S707/966; Y10S707/971; Y10S707/972; Y10S707/99931; Y10S707/99932; Y10S707/99938

Claims Analysis

Total Claims: 43
Claim 1
Independent Claim 194 words
A method for caching information in a computer network, 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 in the computer network at which the cache-enabled component resides, wherein the placing step places a location identifier that contains a list of network addresses specifying at least one server at which the corresponding cache-enabled component resides and the placing step places a tuple that contains a replica flag, the replica flag distinguishing at least between a master replica used for partitioning and another replica; receiving an access request which identifies a requested component; determining whether the requested component is cache-enabled; and servicing the access request by sending a corresponding request over a network communication link 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, whereby the method reduces network traffic and server queries by first caching and then later referring to location information instead of gathering that information anew for each request.
Claim 2
Independent Claim 194 words
A method for caching information in a computer network, 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 in the computer network at which the cache-enabled component resides, wherein the placing step places a location identifier that contains a list of network addresses specifying at least one server at which the corresponding cache-enabled component resides and the placing step places a tuple that contains a replica flag, the replica flag distinguishing at least between a master replica used for partitioning and another replica; receiving an access request which identifies a requested component; determining whether the requested component is cache-enabled; and servicing the access request by sending a corresponding request over a network communication link 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, whereby the method reduces network traffic and server queries by first caching and then later referring to location information instead of gathering that information anew for each request.
Claim 3
Dependent Claim 14 words
The method of claim 1, further comprising the computer-implemented step of reinitializing the cache.
Claim 4
Dependent Claim 30 words
The method of claim 1, further comprising the computer-implemented steps of detecting access requests that seek to modify a cache-enabled component identifier, and invalidating cache tuples which contain that identifier.
Claim 5
Dependent Claim 66 words
The method of claim 1, further comprising the computer-implemented steps of: comparing a currently requested operation on a component with cached information about a previously requested operation on the component; reading the cache to obtain information about the location of the component; and revising the cached location information if the comparing step detects a predetermined difference between the previously requested operation and the currently requested operation.
Claim 6
Dependent Claim 38 words
The method of claim 1, further comprising the computer-implemented steps of 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.
Claim 7
Dependent Claim 13 words
The method of claim 5, wherein the redirecting step includes modifying the cache.
Claim 8
Dependent Claim 19 words
The method of claim 1, wherein the placing step places a database-wide component identifier that identifies a database component.
Claim 9
Dependent Claim 20 words
The method of claim 1, wherein the receiving step receives an access request in response to a directory service request.
Claim 10
Independent Claim 191 words
A method for caching information in a computer network, 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 in the computer network at which the cache-enabled component resides, wherein the placing step places a location identifier that contains a replica-wide component identifier specifying a location at which the corresponding cache-enabled component resides and the placing step places a tuple that contains a replica flag, the replica flag distinguishing at least between a master replica used for partitioning and another replica; receiving an access request which identifies a requested component; determining whether the requested component is cache-enabled; and servicing the access request by sending a corresponding request over a network communication link 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, whereby the method reduces network traffic and server queries by first caching and then later referring to location information instead of gathering that information anew for each request.
Claim 11
Independent Claim 191 words
A method for caching information in a computer network, 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 in the computer network at which the cache-enabled component resides, wherein the placing step places a location identifier that contains a replica-wide component identifier specifying a location at which the corresponding cache-enabled component resides and the placing step places a tuple that contains a replica flag, the replica flag distinguishing at least between a master replica used for partitioning and another replica; receiving an access request which identifies a requested component; determining whether the requested component is cache-enabled; and servicing the access request by sending a corresponding request over a network communication link 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, whereby the method reduces network traffic and server queries by first caching and then later referring to location information instead of gathering that information anew for each request.
Claim 12
Dependent Claim 14 words
The method of claim 9, further comprising the computer-implemented step of reinitializing the cache.
Claim 13
Dependent Claim 30 words
The method of claim 9, further comprising the computer-implemented steps of detecting access requests that seek to modify a cache-enabled component identifier, and invalidating cache tuples which contain that identifier.
Claim 14
Dependent Claim 66 words
The method of claim 9, further comprising the computer-implemented steps of: comparing a currently requested operation on a component with cached information about a previously requested operation on the component; reading the cache to obtain information about the location of the component; and revising the cached location information if the comparing step detects a predetermined difference between the previously requested operation and the currently requested operation.
Claim 15
Dependent Claim 38 words
The method of claim 9, further comprising the computer-implemented steps of 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.
Claim 16
Dependent Claim 13 words
The method of claim 13, wherein the redirecting step includes modifying the cache.
Claim 17
Dependent Claim 19 words
The method of claim 9, wherein the placing step places a database-wide component identifier that identifies a database component.
Claim 18
Dependent Claim 20 words
The method of claim 9, wherein the receiving step receives an access request in response to a directory service request.
Claim 19
Dependent Claim 213 words
A computer network 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 in the network at which the cache-enabled component resides, wherein the tuple contains a replica flag, and the replica flag distinguishes between a master replica used for partitioning and at least one other replica; means for placing a tuple in the tuple cache; means for determining whether the requested component is cache-enabled; and means for servicing the access request by sending a corresponding request over a network communication link 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, wherein the server computer and the client computer are separate computers connected by the network communication link, the network further characterized in that the means operate to reduce network traffic and server queries by first caching and then later referring to location information instead of gathering that information anew for each request.
Claim 20
Dependent Claim 213 words
A computer network 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 in the network at which the cache-enabled component resides, wherein the tuple contains a replica flag, and the replica flag distinguishes between a master replica used for partitioning and at least one other replica; means for placing a tuple in the tuple cache; means for determining whether the requested component is cache-enabled; and means for servicing the access request by sending a corresponding request over a network communication link 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, wherein the server computer and the client computer are separate computers connected by the network communication link, the network further characterized in that the means operate to reduce network traffic and server queries by first caching and then later referring to location information instead of gathering that information anew for each request.
Claim 21
Dependent Claim 21 words
The system of claim 17, wherein the server computer and the client computer are separate computers connected by a network link.
Claim 22
Dependent Claim 27 words
The system of claim 17, wherein the location identifier contains a list of network addresses specifying at least one server at which the corresponding cache-enabled component resides.
Claim 23
Dependent Claim 21 words
The system of claim 17, wherein the replica flag distinguishes between a read-only replica, a read-write replica, and a master replica.
Claim 24
Dependent Claim 12 words
The system of claim 17, further comprising means for reinitializing the cache.
Claim 25
Dependent Claim 30 words
The system of claim 17, further comprising means for revising the cached location information to encourage conformance with predetermined preferences that certain operations be performed using certain kinds of replicas.
Claim 26
Dependent Claim 29 words
The system of claim 17, further comprising means for detecting access requests that seek to modify a cache-enabled component identifier and for invalidating cache tuples which contain that identifier.
Claim 27
Dependent Claim 23 words
The system of claim 17, further comprising means for modifying the cache to redirect operations from a master replica to a non-master replica.
Claim 28
Dependent Claim 39 words
A computer storage medium having a configuration that represents data and instructions which will cause at least a portion of a computer system to perform method steps for caching tuples, the method steps comprising the steps of claim 1.
Claim 29
Dependent Claim 16 words
The storage medium of claim 25, wherein the method steps comprise the steps of claim 2.
Claim 30
Dependent Claim 16 words
The storage medium of claim 25, wherein the method steps comprise the steps of claim 3.
Claim 31
Dependent Claim 16 words
The storage medium of claim 25, wherein the method steps comprise the steps of claim 4.
Claim 32
Dependent Claim 16 words
The storage medium of claim 25, wherein the method steps comprise the steps of claim 5.
Claim 33
Dependent Claim 16 words
The storage medium of claim 25, wherein the method steps comprise the steps of claim 6.
Claim 34
Dependent Claim 16 words
The storage medium of claim 25, wherein the method steps comprise the steps of claim 7.
Claim 35
Dependent Claim 16 words
The storage medium of claim 25, wherein the method steps comprise the steps of claim 8.
Claim 36
Dependent Claim 39 words
A computer storage medium having a configuration that represents data and instructions which will cause at least a portion of a computer system to perform method steps for caching tuples, the method steps comprising the steps of claim 9.
Claim 37
Dependent Claim 16 words
The storage medium of claim 33, wherein the method steps comprise the steps of claim 10.
Claim 38
Dependent Claim 16 words
The storage medium of claim 33, wherein the method steps comprise the steps of claim 11.
Claim 39
Dependent Claim 16 words
The storage medium of claim 33, wherein the method steps comprise the steps of claim 12.
Claim 40
Dependent Claim 16 words
The storage medium of claim 33, wherein the method steps comprise the steps of claim 13.
Claim 41
Dependent Claim 16 words
The storage medium of claim 33, wherein the method steps comprise the steps of claim 14.
Claim 42
Dependent Claim 16 words
The storage medium of claim 33, wherein the method steps comprise the steps of claim 15.
Claim 43
Dependent Claim 16 words
The storage medium of claim 33, wherein the method steps comprise the steps of claim 16.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2003-12-05 2004-06-05 2004-12-05 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2007-12-05 2008-06-05 2008-12-05 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2011-12-05 2012-06-05 2012-12-05 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag