Browse Prior Art Database

Directory Algorithm for Communication Peer Networks

IP.com Disclosure Number: IPCOM000034597D
Original Publication Date: 1989-Mar-01
Included in the Prior Art Database: 2005-Jan-27
Document File: 4 page(s) / 18K

Publishing Venue

IBM

Related People

Gopal, PM: AUTHOR [+2]

Abstract

A technique is described for improving the performance of the directory services function in a computer network. Two concepts (resource update broadcast and limited search) are used to reduce the likelihood that a full search of the network must be performed in order to locate a resource in the network. The function of directory services in a network is to obtain information about resources without prior knowledge of their location in the network. A typical implementation of this function consists of a single directory component in each node which resolves queries for all subsystems and applications residing in that node. The directory component manages a database of information about locally owned resources and, possibly, some information about non-local resources.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 33% of the total text.

Page 1 of 4

Directory Algorithm for Communication Peer Networks

A technique is described for improving the performance of the directory services function in a computer network. Two concepts (resource update broadcast and limited search) are used to reduce the likelihood that a full search of the network must be performed in order to locate a resource in the network. The function of directory services in a network is to obtain information about resources without prior knowledge of their location in the network. A typical implementation of this function consists of a single directory component in each node which resolves queries for all subsystems and applications residing in that node. The directory component manages a database of information about locally owned resources and, possibly, some information about non-local resources. Each node is required to have sufficient storage for the local directory in which locally owned resources are kept. It can, optionally, maintain a cache of information learned about resources residing outside the node. Directory components in different nodes cooperate with each other to resolve queries about non-local resources. They supply information from their local directories and caches in response to queries and they relay queries to directory components in other nodes. A simple algorithm 1,2 to resolve directory queries consists of the following steps: 1. Search the local directory for the queried resource.

2. Search the local cache for the queried resource. If

the resource is cached, verify that the cached

information is correct by sending a message directly to

the indicated owner and waiting for a reply. If the

reply indicates that the cached information is incorrect,

then the incorrect entry is removed from the directory

cache.

3. The local node initiates a distributed broadcast search

of the network. If a positive reply is received from the

distributed search, the cache is updated to reflect the

location of the resource. Entries from the cache are

discarded on a least recently referenced basis when the

cache is full. If a negative reply is received, then the

requester is notified that the resource could not be

resolved. If any of the above steps is successful in resolving the query, then subsequent steps are not performed. The purpose of caching resources is to reduce the likelihood that a query for a resource will require a broadcast search for its resolution.

Each broadcast search results in messages being propagated to and processed by all nodes in the network. A high rate of broadcast search may therefore result in excessive traffic throughout the network. This is particularly a problem for low capacity links which can become traffic bottlenecks. Two problems associated with the basic directory concept, described above, have been observed: a) Each node must initiate a broadcast search for every

resource not owned by the node the first time that it

attempts to resolve a query for that resource. This can...