David Kotz
Naming and Services
Talk from Jeff Arnold.
We want a scalable and fault tolerant system. What services and
naming architecture do you need?
Challenges: dist. mobility. disconnection (not necs failure) diversity
scale
What services do we need? This is mostly an open question to discussion.
How about tracking a service to log for analysis or debugging.
Naming is topic of this talk what is a name? It is a mapping from one
entry (a name) to an address (another name).
Examples:
-
Host name to ip address (another name)
-
A URL is concatenation of two names, email address
-
Pointers are even names, local to global name translation
What set of names are meaningful to applications to distinguish between
names that are simple map from navigational (incremental) names?
Navigational names are not instantly mapped.
Ip address, each router has more focused view of name.
What things are named? why name things? to locate things.
Remember location through names send message or read/write data
Wish to distinguish entities - through names
another reason is for communication. coordinate
Subject are names unique?
One name -> many printer service may not care
Which mapping we get or have other metrice are names permanent?
do names change when we move object connection or restarting?
how to resolve names?
Associative map. virtual to physical map for address mapping inside
operating sysystem
Hierarchical directories - dns, file systems incremental routing - ip
A proposal may have several things to name
I suggest we treat devices as a service
Reduce number of things to name i
Support services by agent contact
an agent to work with a service need mapipng from service name -> agent
name -> object name service->agent name
What do the maps look like?
Service name is a description of the service
or use kqml or xml use yellow pages to do the mapping
Scalable solution - unrealistic to assume central yellow pages
distributed collection of directiories not necessarily hierachal,
Vdns for example services don't always fit nicely into hierachy use a
generalized graph
yellowpages server may not have entry, but it may have idea of another
yellowpages to contact....
may not be only server with listing.
We only need to find one.
How does the yellowpages know about service registration/ advertizing?
with specialist yellow page services yellowpages services register with broader yellowpages services
- Fred Schneider - why is it useful that name of service corresponds
to actual service? why does description have to be the name of the service?
- David Kotz - the service name is the description, but the syntax of this
is not clear to me
- Fred Schneider- don't require the id with the name. you don't need to go into
a yp service with a name, just a description. stipulation that names area
description of service not always needed
- David Kotz - if they're not the same then what is a name?
- Fred Schneider- a unique id
- David Kotz - we don't have to call description a name, but name might be
useful, why not have description a name?
- Nelson Minar- on the web we have services named by their location, web
solution is different than yours
- David Kotz - but that name is the
- ?? - universal naming system? we should have a global universal naming
system
- David Kotz - you seem to be uncomfortable calling a name a description
creation location/host naming schemes have benefit that names can be unique
same with current location. how to find an agent if it's remote. ideally
we wouldn't send all messages through tthe home machine. use location name
once agent moves, we need to rebind the name. quick overview done. straw
man proposal: description == name naming vs service descrption should they
be the same
- Mudumbai Ranganathan - naming is more of the object naming sense. many to
one name is different
- David Kotz - people are still uncomfortable with equating services and
names, but at some point you have to do this for semantice. names are often
considered unique. - Anand Tripathi - difference between directory service and directory
servce
- Erne Kovacs - wants more distinction between service type name and (classification)
and the interface type. what is the semantic meaning of the service? relating
the service description to the semantics.
- Gian Pietro Picco - type matching equal to name or structure of type? notion of
types subsumes names as identifiers
- Anand Tripathi - type system tying service description...
- Gian Pietro Picco - looking for name -> looking for a type
- Anand Tripathi - should mobile agent systems support diffferent types of names and naming systems for different entities?
- David Kotz - clearly yes?
- Thomas Grunwald - doesn't matter, compose different schemes together?
- David Kotz - url just names an instance of a service. url shouldn't be
equated with a service, becase there may be many other service
- ?? - you've found there is one->many many one. the service is not
the provider.
- Anand Tripathi - what are the unique requirements ofr a naming service in a
mobile agent system?
- Mudumbai Ranganathan - there is a diff between naming system and the state of
the system. when some change occurs in the system state, you need to inform
others of the change.
- Gian Pietro Picco - why is that different from normal distributed computing? you're
talking about location, but dist computing deals with more general information
- Nelson Minar- can't use a location dependant name, because mob agent
is moving
- Mudumbai Ranganathan - I agree
- Nelson Minar - look at how naems work on web for example. difference
between names and url. i know www.expedia.com is a service for buying tickets
- David Kotz - how do you know that ?
- Nelson Minar - I'm a human being
- David Kotz - how to embody that w/in agents? need directory service
- Nelson Minar - lots of schemes, none work well, all use people, too. use
already mushy things on the web, worry about the semantics stuff later
- Anand Tripathi - you stat that we need something else.
- Nelson Minar - urn doesn't have good solutions, yet
- David Kotz - how to have a location ind name that allows you to find the
agent w/o service description
- Dag Johansen - refine name as you need to. at creation the name
can be very abstract. when you ship the agent over to a server, the server
then creates a more specific name (naming mediator)
- David Kotz - you never name the agent , but the mediator handles the naming
and mapping
- Gian Pietro Picco - isn't mediator a trader or broker
- Dag Johansen - we're mroe general
- Anand Tripathi - What are the approaches to building scalable and fault tolerant
naming service can we learn from domain name system, global name serice
(lampson 1986) these systems use heircarchial decentailiz, caching, replication
are these techs applicatal or relevelant or adequate for mobile agents
- Mudumbai Ranganathan - these are important. how hsould the heirarchy be? this affect
performance.
- David Kotz - width vs breadth trade off
- George Cybenko - need to add mobile ip to list. problem with mobile ip
is that you still rely on a home network server, which you need to replicate.
what's applicable is some combination of slide issues + mobile ip
- Fred Schneider- not clear that heirarchal systems scales. dns isn't scaling
well. people don't trust USDCommerce to keeping names. alternative is to
use a relative naming scheme (example familly) we don't go to / and work
our way down. in life, ther eis no single authority we will trust. there
are many examples in everyday life.
- Amy Murphy - like what you're saying. but need to keep in mind the
context. my uncle joe isn't the same as yours. in mobile ip we hide the
fact that we move. isn't this a contradiction? we need to remember context.
- Raju Pandey - we want application specific names. we want a directory
that will take an agetn to a set of hosts that can provide a service. it
needs to be driven by the applications. the apps may say that their names
may be discovered in the following way.
- Amy Murphy- give your applications choices. how do we define the
choices?
- scot c umbc - benifits of both. how to combine? heirarchal doesn't
imply centralization. do we want a global heirarchy or local
- David Kotz - relative and absolute names don't contradict - look at unix
file system
- Keith Marzullo - heard a talk where naming was purly relative, there were
performacne drawbacks -> all requests had to go to a proxy. so the relatve
scheme has some favor in industry
- George Cybenko - how are naming systems addressed in jini and corba?
- Gian Pietro Picco - it's not addressed. you have a single lookup services - or
you do it yourself if you want many services. the context for compuation
changes from time to time and jini doesn't handle this
- Nelson Minar - but jini does give you some context - it will give you
a printer only on your lan. you broadcast to your environment. you use
the lan to solve your problem. it's only a limited solution
- Erne Kovacs - dns works because there is an update mechanism, but it's
slow. in mas we can do updtes very fast. Tannebaum has work on this that
scales well. there is replication and they control the update rate. updates
are done through mobile objects. update only local information - limits
traffic
- ? - the main problem is trust. when you change the environment,
do the names match with the desired objects?
- Nelson Minar - hard to talk about name space w/o application. how to globally
name an agent so anyone (regardless of app) can find the agent. that's
hard. we can make more progress if we restrict the application
- Mudumbai Ranganathan - the problem that we have is that there is a lot of locality
information. how do you know the locality information. have to work up
and down the heirarchy. this can be very inefficient.
- Erne Kovacs - mobile agent has idea of locality by its nature
- Mudumbai Ranganathan - with dns saving grace si that things don't change rapdily
- Anand Tripathi - final question to lunch over: what are the critical services
in addition to name services that support scalableable fault tolerant mobile
agent applications?