×

Method, computer program product, and system for migrating URLs within a dynamically changing distributed cache of URLs

  • US 6,377,991 B1
  • Filed: 05/29/1998
  • Issued: 04/23/2002
  • Est. Priority Date: 05/29/1998
  • Status: Expired due to Term
First Claim
Patent Images

1. In a system including one or more clients that request one or more data objects over a network comprised of an array of servers, and wherein each server has a local cache for storing data objects that have been assigned to that server, with the result that i) the array of servers is thereby able to provide a distributed cache for the data objects requested by the one or more clients, and so that ii) requests for data objects will be directed to a particular server at which the data object should be stored, a method of maintaining an essentially balanced distribution of the data objects across the array of servers even in the event that a server of the array is removed, or in the event that a server is added to the array, while still preserving the ability to more efficiently determine and direct a particular request for a data object to the server in the array where the data object should be stored, the method comprising:

  • a step for assigning to each requested object a particular server at which the object is to be cached so that when a client makes a request to a particular server for an object, either the client or the server, as appropriate, will be able to determine where the object should be in the array of servers and will then be able to direct the request accordingly;

    in the event that the array of servers is changed by either adding a new server to the array of servers, or removing a server from the array of servers, then in either case performing a step for reassigning some of the objects from one or more servers now included in the array of servers so as to more equally distribute the data objects across the current array of servers;

    thereafter, when a client makes a request to a particular server of the current array of servers for a data object, a step for determining at one or the other of either the client or the server to which the request was made, where the object should be stored in the current array of servers;

    a step for directing the client'"'"'s request to the particular server in the current array of servers where the requested object should be stored; and

    if the particular server in the current array of servers where the requested object should be stored does not have the object cached, then retrieving the object and storing it in the local cache of the particular server to which the requested object is assigned for caching.

View all claims
  • 2 Assignments
Timeline View
Assignment View
    ×
    ×