Subject: Re: A Directory Agent question

From: James Kempf <[email-masked]>
Date: Fri, 5 Feb 1999 13:11:05 -0800 (PST)

>
>How does a User Agent discover that the Directory Agent information it
>had is not valid any more
>,esp. if the Dir Agent goes down unexpectedly, withouth being able to
>send out the DAAdvert message (with time=0)?
>

A UA only communicates with one DA at a time. If that DA goes down,
UDP or TCP to it will time out. The UA then needs to find another DA.
If it is doing passive discovery, it selects a new passively
discovered DA and uses that. If it is not doing passive discovery,
it must multicast a SrvRqst for a new DA. If it can't find a
new DA, then it uses multicast to SAs, or it can multicast a 
SrvRqst for "service:service-agent" and unicast directly to the discovered
SAs.

>It appears that the UA will send out Service Requests to the DA, and
>will not be able to tell the difference between a DA being down or
>the fact that there is no service in the network with the speicific
>attributes that it requested for.

A DA *always* responds to a unicast request. If there is no
service registered with the DA that has the requested attributes,
the DA returns an empty reply. Similarly if there is an error.
Error and empty replies are *only* dropped if the request is
multicast.

>
>One way to do this can be to include an error code of some sort that
>says "No such entries" in the Service Reply message.
>

See above.

>Alternatively, there was a suggestion in the group a couple of days ago
>about using a unicast Service Request to see if a DA is alive.
>

The UA can always use a "keep alive" unicast message to see if the
DA is still there, or, alternatively, it can periodically multicast
a SrvRqst for "service:directory-agent", essentially performing
active discovery more often than just at the startup. But these
are optimizations.

		jak

---

From: Subbu Subramaniam <[email-masked]>
Date: Fri, 05 Feb 1999 14:04:52 -0800

> Error and empty replies are *only* dropped if the request is

This answers my question.

However, I could not find this statment in the draft. In fact, the draft
has a statement to the contrary. In section 8.2, describing Service Reply
messages, it reads: "The Service Reply contains one or more URL entries"
(which I interpreted to mean "dont' reply if you don't have the resource").

This must be changed to "0 or more", with the clarification that
only replies sent in response to unicast Service Requests can 
contain 0 URLs.

It does not seem useful to send out 0 URLs in response to a multicast
request (a UA that sent out a multicast request could end up getting a lot of
worthless Service Response packets!)

Thanks for the clarifications.

-Subbu

-- 
Subbu Subramaniam
Hewlett-Packard
Email:	[email-masked]