Subject: SLP and mobile computers

From: "Rui Felix Pereira" <[email-masked]>
Date: Tue, 14 Dec 1999 18:17:31 -0000

Dear SVRLOC WG members,

I´m interested in using SLP with mobile computers.
Besides the good integration of SLP with DHCP and Mobile IP (or IPv6), and
the fact that SLP supports very well changes in the environment, like
services that come and go, I didn´t saw other relevant aspects related with
mobile environments.

Think in the following cenario:

- I have a mobile client that has performed a service location and got a
URL.
- In the mean time the mobile client changed the network where it was
connected.
- Now what does it do with the URL that it has in cache ?
- Everytime a mobile changes the network it has to repeat the service
location procedure for each service ? What about if it needs 1000 services?
Should the SLP UA be capable of dealing with changes in the network
connection? If the mobile client has to repeat the service location
procedure, i can think of a service which i may consider global and i want
to acess it wherever i go. Do i have to repeat the discovery everytime? On
the other hand i also may have services that i don't want to repeat the
discovery. How can SLP reacts to this?

I have another question that is related with the fact that i have a computer
which has several interfaces for connecting with different networks? In
order to discover services i may prefer a network to discover some and
another network to discover the others. Is SLP prepared to deal with this?

thanks in advance,
Rui Pereira

---

From: Terry Lambert <[email-masked]>
Date: Wed, 15 Dec 1999 17:48:15 -0800

Rui Felix Pereira wrote:
> Besides the good integration of SLP with DHCP and Mobile
> IP (or IPv6), and the fact that SLP supports very well
> changes in the environment, like services that come and
> go, I didn´t saw other relevant aspects related with
> mobile environments.
> 
> - I have a mobile client that has performed a service
>   location and got a URL.
> - In the mean time the mobile client changed the network
>   where it was connected.
> - Now what does it do with the URL that it has in cache?

The place for a client cache is in an intermediate
location on the client, between the raw UA and the
applications (plural, because you would want to share
the cache between applications).

You would flush this cache as a result of notifying it
as part of the network connection change.

It is _not_ valid to cache the URL in the client; the
actual design is such that the URL is supposed to be
queried for each time the resource is needed.  There is
also no capability for TTL or negative caching (i.e. SLP
is _not_ DNS).

> - Everytime a mobile changes the network it has to
>   repeat the service location procedure for each
>   service? What about if it needs 1000 services?

Then it needs 1000 services.

> Should the SLP UA be capable of dealing with changes
> in the network connection?

No.  But a UA cache should be.  Applications themselves
are not permited to cache, unless they also know; perhaps
not even then, since it would mean that the cache was not
shared, and that there could not be a uniiform policy set
in a later RFC having to do with caching (the client would
ignore this policy, illegally).

On a general note, this is a problem in when you generate
your invalidation events on the client machine.  For example,
a laptop with a wireless interface that moves from the
conference room to a desk where it can dock or use a PCMCIA
non-wireless interface must make the decision to cache or
not based on whether it is on the same network.

My recommendation would be to flush DHCP in this case,
use IPv6 stateless autoconfiguration, and then ask if
the SLP scope for the machine has changed or not.  If
it has, then you must flush the cache.  If it hasn't,
then you don't.

> I have another question that is related with the fact
> that i have a computer which has several interfaces
> for connecting with different networks? In order to
> discover services i may prefer a network to discover
> some and another network to discover the others. Is
> SLP prepared to deal with this?

I would imagine that you could configure each interface
for a different scope.  This isn't particularly well
specified.

One example I could see where this would be useful is
if you ran two networks on the same wire, and wanted
local users to have access to services on both wires,
but visitors only got access to services on a single
wire.  An example might be "all printers" vs. "only
the printers in conference rooms".  Running a non routable
10 network at the same time as a nother network on the
same wire would be one way to achieve this (the 10 net
being for both your staff and your visitors use).

-- Terry Lambert
-- Whistle Communications, Inc., an I.B.M. Company
-- [email-masked]
-------------------------------------------------------------------
This is formal notice under California Assembly Bill 1629, enacted
9/26/98 that any UCE sent to my email address will be billed $50
per incident to the legally allowed maximum of $25,000.