Internet Engineering Task Force                      Service Location WG
Internet Draft                                    J. Rosenberg, B. Suter
draft-ietf-svrloc-wasrv-00.txt                         Bell Laboratories
July 1997                                                 H. Schulzrinne
Expires: January 1998                                Columbia University


                   Wide Area Network Service Location

STATUS OF THIS MEMO

   This document is an Internet-Draft. Internet-Drafts are working docu-
   ments of the Internet Engineering Task Force (IETF), its areas, and
   its working groups.  Note that other groups may also distribute work-
   ing documents as Internet-Drafts.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference mate-
   rial or to cite them other than as ``work in progress''.

   To learn the current status of any Internet-Draft, please check the
   ``1id-abstracts.txt'' listing contained in the Internet-Drafts Shadow
   Directories on ftp.is.co.za (Africa), nic.nordu.net (Europe),
   munnari.oz.au (Pacific Rim), ds.internic.net (US East Coast), or
   ftp.isi.edu (US West Coast).

   Distribution of this document is unlimited.

1 Abstract

   This document discusses the problem of service location in wide area
   networks. This problem arises when a user wishes to locate some ser-
   vice, such as a media bridge, internet telephony gateway, H.323 Gate-
   keeper, unicast to multicast bridge, etc, which has some desired
   characteristics, but whose location (in terms of IP address, domain,
   or geographical location) is completely unknown, and may be anywhere
   on the public Internet. We focus on the problem of locating Internet
   Telephony Gateways (devices which connect an IP host to a POTS user).
   This particular location problem is characteristic of the general
   problem; furthermore, location of these devices is particularly dif-
   ficult. Generally, the service location mechanisms need to be invoked
   for every call setup. This implies that the call setup delays will
   include the time to locate the gateway, and these delays should
   therefore be kept to a minimum. With large numbers of gateways, the
   location mechanisms can potentially become a network, processing, and
   storage intensive operation. A solution to the gateway location prob-
   lem must therefore be efficient and scalable in use of bandwidth, CPU


Rosenberg et. al.            July 24, 1997                    [Page 1]


Internet Draft             Wide Area Location                  July 1997


   power, and disk storage. Furthermore, relaying internet telephony
   calls to the PSTN results in cost for the gateway provider, which
   must somehow be passed on to the remote user. This requires security
   mechanisms to provide authentication in an international environment.

   We propose a solution to the wide area service location problem as an
   extension to the existing Service Location Protocol [5]. The solution
   relies on a scalable multicast advertisement of services to directory
   agents, service specific directory agents called brokers, optional
   service advertisement agents called notaries, new search capabili-
   ties, and support for billing.

2 Introduction

   There has been much attention recently to protocol support for the
   location of services on the Internet. This work includes DNS records
   for finding services in a particular domain [1][2], and for finding
   fax gateways in a particular telephone exchange [3], DHCP for dynamic
   discovery of local services upon cold-start [4], URNs for location
   independent naming and location of network resources [12][13], and
   most importantly, the Service Location Protocol [5] for location of
   services in an administrative domain. Unfortunately, none of these
   solutions adequately support location of services across wide area
   networks, which we believe to be a key aspect of the general service
   location problem. This document describes an extension to the service
   location protocol for discovery of wide-area services.

   There are a number of examples of wide area services. One is media
   bridges (also known as Multipoint Control Units, or MCU's), which are
   devices used for mixing voice or video together for multipoint con-
   ferences. Another might be a media server, which contains movies and
   multimedia accessible to the user for playback. Another example are
   Internet telephony gateways. These devices allow Internet hosts to
   communicate with standard POTS telephone users by translating Inter-
   net telephony to traditional telephony. Yet another example is a mul-
   ticast to unicast bridge, which would allow unicast-only endpoints to
   receive Mbone broadcasts (an admittedly non-scalable and self-
   defeating application).

   There are two reasons why such services need not be located in the
   same administrative domain as the client. The most important reason
   is that the service simply may not be provided yet (or may never be
   provided) by my domain. Consider a user who subscribes to a small
   ISP. This ISP is not likely to support media bridges or telephony
   gateways. This should not prohibit the client from using these ser-
   vices, no matter how remote the server may be. Secondly, in many
   cases it may not even be desirable for the service to be located in a
   client's domain. The best example of this is the telephony gateway.


Rosenberg et. al.            July 24, 1997                    [Page 2]


Internet Draft             Wide Area Location                  July 1997


   To reduce costs, as an IP host, I would like to use a gateway which
   is closest to the telephone I wish to talk to. Consider an IP host
   residing in California who wishes to call a normal telephone in
   France; the ideal server may be a gateway in France, almost across
   the world from the client.

   It should be noted that the use of the word "service" in this docu-
   ment includes, but is not restricted to, network services. It may
   also include services like Internet access, pizza delivery, airline
   reservation, online bookstores, or banks. Any service which can be
   accessed electronically, and which has attributes which can be
   expressed in some form, can be found via this protocol.

3 Problem Definition

   We formally define the wide area service location problem as follows.
   A client wishes to find a server that provides a service. There are
   no restrictions on the name space, IP address space, geographical
   location, or autonomous system where the server may be located. Fur-
   thermore, the client has no knowledge of the location of the server.
   It has only a definition of specific service attributes or con-
   straints (e.g., supported protocols) which are desirable or metrics
   to minimize or maximize (e.g., cost, quality, distance).

   In the case of wide-area services, we expect some servers to charge
   for features they provide. This implies that cost is another
   attribute which needs to be supported by servers. Unfortunately, cost
   is not always just a simple number. It may depend on the duration of
   usage of the service, the specific nature of the service, or even the
   time of day during which the service is used. Consider Internet tele-
   phony gateways. They will charge the client some amount for the por-
   tion of the call carried over the PSTN between the gateway and the
   final destination. Unfortunately, telephone cost structures range
   from extremely simple (flat rate) to wildly complex (20 cents for the
   first minute on weekends, 10 cents for each minute thereafter, but
   only to Canada).

   Since the distance (in terms of IP hops or delay) between a client
   and a possible server may be large, the time required to access the
   service may be large. Again, consider the case of an Internet tele-
   phony gateway. In some cases, an IP host may wish to call a POTS end-
   point from an IP phone, but may not care about the cost of the call.
   What may be important is having the lowest end-to-end delays, and as
   little loss as possible. This would imply usage of a gateway closest
   to the host. Media bridges are another example. To reduce end-to-end
   delays, a host may want to use the bridge closest to it (or perhaps
   located at the centroid of the users being bridged), and the protocol
   should support searches for such servers.


Rosenberg et. al.            July 24, 1997                    [Page 3]


Internet Draft             Wide Area Location                  July 1997


   The protocol should scale so that all Internet hosts could act as
   clients, and there could be tens of thousands of servers for each
   service. Since the time required to locate a service impacts the
   overall delay seen by the user for that service, location times
   should remain relatively constant as the number of clients and
   servers grow. The control traffic used by the protocol should also
   scale well, and not impose an undue burden on the network.

4 Alternate Solutions

   A brief mention is in order a few alternative solutions for wide area
   service location. One is web search engines, and the other is DNS.

   Web search engines use automated programs, called web bots, to search
   the web, and index and categorize pages as they go along. If servers
   use web pages to describe the services they offer, the web bots would
   collect this information and allow a user to query the resulting
   database to locate a service. The user could choose between various
   search engines (information brokers) based on their user interface,
   size of their database, or the power of their query language. This
   solution, however, has some serious drawbacks. Most current search
   engines are simply based on keyword searches on indexed web pages,
   and lack the precision to locate a specific service precisely (anyone
   who has done a search which returned over ten thousand matches knows
   this problem). Even cooperative approaches (based on indexing meta
   information within the html, for example) still require the search
   engines to periodically query a large number of servers. The web bots
   have no way of knowing when information at a server has changed. This
   means that data can remain out of date for long periods of time (this
   can be devastating if this data reflects service cost, for example),
   or web bots will have to increase the frequency of their queries to
   any particular server, increasing network traffic. This solution also
   places the burden of service location in the hands of a few, dedi-
   cated search engines. Adding more of them can ease the processing
   load, but at the expense of even more webbot traffic. Lastly, web-
   based searching is designed for human interaction, and not for auto-
   mated processes. For these reasons, we feel that web search engines
   are not viable as a long term solution to the problem.

   Another alternative is to use DNS. Consider the case of telephony
   gateways. Each calling area (the 415 area code in the US, for exam-
   ple) can map to a particular domain name. This domain name then
   points to all of the gateways which can provide service for this
   calling area. If a client wishes to call a certain area, it con-
   structs the domain name, looks it up, and then gets a list of poten-
   tial servers. This approach has many drawbacks. First, since all
   gateways connected to the PSTN can potentially call every PSTN end-
   point, every gateway can provide service to every single calling


Rosenberg et. al.            July 24, 1997                    [Page 4]


Internet Draft             Wide Area Location                  July 1997


   area. This means that the DNS entries would list every gateway for
   each calling area. If the list of gateways for each calling area is
   to be restricted (which it must), who gets to decide which gateways
   are allowed to service various calling areas? The DNS solution does
   not allow one to find a gateway which meets certain criteria (support
   for the G.723 speech codec, for example) without querying the server
   directly (which does not scale). It also tends to cause a lot of
   traffic to pass through the root DNS server. For these reasons, we do
   not feel that DNS is a viable long term solution either.

5 Service Location Protocol Limitations

   The Service Location Protocol already meets many of the criteria
   above. However, it was designed for use only within a single adminis-
   trative domain. It suffers from a number of problems when one
   attempts to apply it to a general wide area network with thousands of
   servers and millions of clients.

   The current architecture is centered around the concept of a direc-
   tory agent, or DA. This device is a server which collects information
   about services provided by various service agents (SA's) across the
   network. The SA's register the services they provide directly with
   the DA. Clients (also known as user agents, or UA's) wishing to
   locate a service send a query to the DA, which then searches its
   database for matches. The DA then returns the list of servers to the
   client. Clients and SA's must know the IP address of the DA. This can
   be learned in one of several ways: through static configuration,
   through DHCP, through multicast advertisements from the DA, or
   through increasing-scope multicast searches performed by the client
   or SA.

   We have identified the following difficulties in scaling the current
   service location architecture to wide area networks:

   1. Registrations of services from SA's to DA's are asynchronous, and
   the soft-state refresh interval is fixed (the recommended value is
   around three hours). This means that if thousands of servers attempt
   to register, the DA may be swamped with bursts of messages. As the
   number of servers grows, this problem worsens.

   2. SA's must know the location of all DA's. In a small administrative
   domain, this is easy. But in a wide area Internet, this is virtually
   impossible. Having fixed tables of DA's does not scale well, and is
   not dynamic enough. Using the multicast searching technique will
   cause an overload on the network, since the scope of such searches is
   neccesarily unbounded. Having DA's advertise their presence works
   better, but still causes traffic. With fixed soft-state refresh
   intervals, the bandwidth used grows linearly with the number of DA's


Rosenberg et. al.            July 24, 1997                    [Page 5]


Internet Draft             Wide Area Location                  July 1997


   present in the network.

   3. As the number of servers and services grow, the disk space
   required for a DA to store information about all of them is exces-
   sive. DA's must somehow be able to provide service location for only
   a subset of services.

   4. In a wide area network, authenticating services at either the DA
   or UA is much more important than in an administrative domain. We
   expect, therefore, that all service advertisements will contain URL
   and attribute authentication blocks. However, it may not be possible,
   in all cases, for the DA or SA to authenticate every service. This
   may be for any number of reasons: lack of availability of public keys
   for all services, regulatory reasons, etc. Some additional support
   for a hierarchy of authentication is required.

   5. The current attribute query language has no support for choosing a
   service based on minimizing or maximizing some function of an
   attribute. This is a requirement for allowing service location based
   on cost minimization. Furthermore, the simple attribute matching
   rules are not sufficient for describing the possible costs of a phone
   call.

   6. The current mechanisms provide no way to find out the distance
   between a server and a client, even with perhaps marginal precision.
   This is required to choose servers based on their proximity to the
   client.

6 Proposed Solution

   We propose a set of backwards compatible extensions to the Service
   Location Protocol which resolve all of the above difficulties. We
   describe the basic mechanisms only, much of the detail remains to be
   worked out.

6.1 Multicast Registration

   First, in addition to SA registrations being unicast, we allow for
   multicast registrations. A set of 1024 contiguous multicast addresses
   are defined, with each service mapping to one of these addresses via
   a string hash. (Note that these addresses are different from the 1024
   currently used in the service location protocol for clients to find
   SA's directly). Any DA interested in providing location services for
   a service listens to its multicast address. In addition, any server
   wishing to advertise a service also listens to its address. By lis-
   tening to the address, a server wishing to advertise on it can keep
   track of the number of other servers also advertising. Let's say a
   server hears N other servers. We define a parameter


Rosenberg et. al.            July 24, 1997                    [Page 6]


Internet Draft             Wide Area Location                  July 1997


   CONFIG_INTERVAL_12 which is the average interval of 1 kbyte packets
   to be transmitted, summed across all servers, into the multicast
   group. Each server wishing to send an advertisement of size K will
   periodically send the advertisement with a period T equal to:



   T = R(1/2) max(CONFIG_INTERVAL_13 * F(age), N * CONFIG_INTERVAL_12 * K / 1024)



   F(age) is a function which starts at some fractional power of two,
   -CONFIG_INTERVAL_14, whenever an advertisement is different from the
   previous. For each subsequent advertisement which is not different
   from the previous, F(age) doubles, until it hits 1, at which point it
   stops. We also define R(1/2) as a random variable uniformly dis-
   tributed between 1/2 and 3/2. For example, say that
   CONFIG_INTERVAL_12 is 64 ms. This means that the total rate of pack-
   ets sent into the group will be 128 kb/s when group sizes are large.
   If there are 1000 servers, each sending 1 kByte packets, each one
   will get to advertise once a minute. When group sizes are smaller,
   the packet rate remains at 1 every CONFIG_INTERVAL_13 (perhaps one
   per hour) during steady state. However, when an advertisement
   changes, the rate can temporarily increase (but not above 128 kb/s)
   to hasten the broadcast of this announcement.

   As a further enhancement to improve scalability, timer reconsidera-
   tion should be used [11]. This algorithm requires end-systems to
   recheck the validity of their event timers before sending a packet.
   The validity is based on whether the perceived multicast group size
   has changed since the timer was set. If the perceived group size has
   grown, packet transmission is delayed in accordance with the most
   recent group size estimate. This approach will help reduce packet
   transmissions from servers which boot up, join their multicast group,
   and initially see only one server: themselves.

   This mechanism allows for the number of servers to grow without caus-
   ing an increase in the bandwidth used on the multicast address. A
   similar mechanism is used in RTP [9] to provide scalability, and has
   been proposed as a general scaling mechanism for soft-state protocols
   [10]. The advantage of this approach here is to solve two of the
   above limitations. Now, SA's do not need to know the actual addresses
   of DA's. This eliminates the need for wide-area multicast searches
   and/or DA advertisements. It also makes the system dynamic. As soon
   as a new DA is turned on, it can immediately learn about new ser-
   vices, and this process is transparent to the SA's providing the ser-
   vice. It also solves the problems of excessive load on DA's. The rate
   is now finely controlled, independent of the number of SA's.


Rosenberg et. al.            July 24, 1997                    [Page 7]


Internet Draft             Wide Area Location                  July 1997


   It should be noted that this advertisement mechanism is used in other
   protocols. For example, SAP [8] is used to advertise multicast ses-
   sions on the Mbone. With this protocol, however, a client must wait a
   substantial amount of time to collect announcements about all of the
   current sessions. This is because the bandwidth allocated for the
   protocol is constant. So, as the number of broadcasters (servers in
   our case) increases, the amount of time required to fill the database
   grows as well. For this reason, this advertisement mechanism alone is
   not sufficient for wide area server location. It would also place an
   undo storage and processing burden on clients.

   SA's that are not multicast capable or which do not want to subscribe
   to the service advertisement multicast group for reasons of bandwidth
   or complexity may use a proxy SA or notary to diffuse their service
   advertisements (sec 6.5).

6.2 Service Specific DAs: Brokers

   We define a new type of DA, called a broker. A broker combines fea-
   tures of a DA and an SA. Like a DA, it accepts service requests and
   service type requests, and answers with service replies and service
   type replies. The main difference is that it provides location ser-
   vice for only a subset of services. This is required in order to
   scale the disk storage and processing requirements for DA's. It is
   also desirable since different services may have different require-
   ments for matching client requests. For example, the Internet tele-
   phony gateway service may often require searches for servers which
   provide the cheapest cost for calling France. Database searches can
   be optimized for this kind of query, but only if the DA knows that it
   will receive mostly or only these type of service requests.

   Unlike a DA, however, a broker will not respond to directory agent
   discovery requests, nor will it send directory agent advertisements.
   Instead, it will send service advertisements, like an SA. If a broker
   offers service location for service X, then it will advertise itself
   as offering service X-broker. For example, a broker offering printer
   broker service may use a URL:

   service:printer-broker://mymachine.mydomain.com:800

   Brokers themselves can have various attributes which define the bro-
   ker service they provide. For example, this might be a typical
   attribute specification for a Internet telephony gateway broker:

   (NUMBER_GATEWAYS = 1000), (VERIFICATION_LEVEL = STRONG)

   This would define this telephony gateway broker as having a database
   of around 1000 gateways. The verification level attribute indicates


Rosenberg et. al.            July 24, 1997                    [Page 8]


Internet Draft             Wide Area Location                  July 1997


   that this broker provides strong assurances of the correctness of the
   gateway attributes it stores.

   The ways in which brokers register with DA's can be varied. Some bro-
   kers may wish to multicast their service advertisements. Other bro-
   kers may be used just for clients in an administrative domain, and
   therefore will perhaps use currently defined techniques to locate the
   DA's in their domain, and register with them. Or, service advertise-
   ments can be sent by some non-standard, out of band technique. Con-
   sider a small ISP who has a DA for its customers, but no brokers. The
   ISP can essentially lease broker service from a nearby, larger ISP.
   The small ISP can just manually enter the service advertisements from
   the big ISP brokers. Or, the small ISP can tell the big ISP the IP
   address of its DA, so that the big ISP can have its brokers directly
   register across the domain boundaries.

   Brokers can be additionally programmed to implement policy local to
   the administrator of the broker. This policy may restrict the set of
   servers whose advertisements are kept by the particular broker. For
   example, a major ISP is running a broker service for telephony gate-
   ways for its customers. The ISP may decide that the broker should
   reject all internet telephony gateway service advertisements from
   servers run by a competing ISP. As another example, a broker may have
   limited disk space, and may drop advertisements for servers which it
   believes are unlikely to be used by any of its clients, based on past
   history logs of service requests. It should be possible for any sort
   of policy to be implemented. However, brokers should indicate the
   policy attributes in the service advertisement from their broker.

   The use of brokers for a particular service also adds more scalabil-
   ity. Requests requiring attribute minimization can be considerably
   more CPU intensive than simple lookups. As the queries for a particu-
   lar service increase, and begin to exceed the processing capabilities
   of a broker, additional brokers can be added to distribute the load.
   This load distribution can be implemented easily in the DA, since
   brokers are registered through them. The entire process becomes
   transparent to the clients, and to the servers.

   The main limitation to scalability for the brokers is the processing
   burden to search a large number of records. If the number of servers
   for a particular service begins to exceed several tens of thousands,
   the storage requirements for them, and the time for even a single
   search of the database for a match, can become excessive. In this
   scenario, brokers always have the option of implementing policy to
   restrict the size of the database. As faster machines and bigger
   disks become available, these policies can be lifted. Furthermore,
   such restrictions open up the possibility of market competition for
   broker service. If a broker provider is willing to buy a big enough


Rosenberg et. al.            July 24, 1997                    [Page 9]


Internet Draft             Wide Area Location                  July 1997


   disk and fast enough machine to store and search every server, it can
   attract more customers to its broker service.

   This leads to the final distinction between DA's and brokers. Since a
   broker service may not be local to my autonomous system, it is very
   possible that there may be a charge for the service. In that case,
   additional fields in the Service Query messages may be required to
   allow for client-broker authentication and charging.

6.3 Adding the DISTANCE attribute

   Another requirement is for clients to know, at least roughly, how
   distant a server is. It is desirable for a client to include some
   kind of distance metric in a service request to a broker.

   To support this, we propose that all servers place a timestamp in
   their service adverisements. When the advertisement arrives at a bro-
   ker, the broker can compare the timestamp against the current time,
   and then compute an estimate of the one way delays. In scenarios were
   services are located across wide area networks, packet delays are
   likely to be dominated by propagation delays. This implies that
   timestamp estimates should remain relatively constant, even as traf-
   fic loads vary. We call this one-way delay the DISTANCE attribute.

   The approach has obvious drawbacks. It requires clock synchroniza-
   tion, but the accuracy need not be perfect (a few milliseconds dif-
   ference is fine). It only makes sense when packet delays are due
   mainly to propagation delays. The figure gives the one-way delay from
   a server to the broker. This may not be the same as the one-way delay
   from a client to the server, especially if the client is not close to
   the broker. Despite these drawbacks, it seems to be the only reason-
   able solution which is both practical and scales.

   The major advantage is that it requires no additional network traf-
   fic, and therefore scales extremely well.

   An alternative solution would be for servers to include in all ser-
   vice advertisements an attribute called INITIAL_TTL. This attribute
   indicates the value of the TTL field used in the IP packet containing
   the advertisement. When a broker hears this advertisement on the mul-
   ticast address, it notes the TTL in the IP packet when it arrived,
   and the value of the INITIAL_TTL attribute. From this, a broker can
   ascertain the number of hops from the server to itself. The problem
   is that the Unix and Windows sockets interface do not allow an appli-
   cation to read the TTL of a received packet. This makes this solution
   impractical.

6.4 Adding support for cost minimization


Rosenberg et. al.            July 24, 1997                   [Page 10]


Internet Draft             Wide Area Location                  July 1997


   To support searches for the cheapest service, two new operators, max
   and min, should be added to the allowable set of operators on
   attributes. Service requests must be limited to one min or max opera-
   tor per expression, in order to be well defined. In order for the min
   or max operator to be applied, the broker must know the destination
   telephone number, and an estimate of the call duration. We propose
   that this information be specified by the client in the same manner
   that attribute constraints are specified. For example, the following
   might represent a request for an Internet telephony gateway to com-
   plete a call to the Hotel Arabella in Munich:



   internet-gateway//( &(CALL_DESTINATION == 49 89 92 32 44 40)
                        (CALL_DURATION == SHORT)
                        (DISTANCE < 10)
                  (SPEECH_CODER == G.729)
                        (min COST))



   In this query, the client is specifying that a gateway is needed
   which supports G.729, and whose distance from the client is less than
   10 hops. These are attribute constraints. The distance metric is not
   a true attribute, however; it is computed by the broker for each
   client separately. The remaining data specify to the broker the
   desired destination and estimated call duration, and then specifies
   that cost is to be minimized.

   In the case of Internet telephony gateways, describing the cost func-
   tion is a nontrivial process. Our proposal is to use CIDR [6] like
   aggregation, but applied to telephone numbers. The cost is specified
   as a list of prefix, cost structure pairs. The prefix indicates the
   range of telephone numbers, and the cost structure describes the cost
   for reaching that range of numbers. The cost structure can be repre-
   sented by some simple syntax which is capable of expressing concepts
   such as flat rates, sums, days, and times. For example, the following
   might be used to describe the cost as seen by a gateway in Califor-
   nia:



   1 415 822, ($0.1)
   1 415,     (($0.1) PLUS ($0.03  per MINUTE))
   1,          (($0.1) PLUS ($0.1  per MINUTE))
   49,         ($0.03  per MINUTE)
   0,          ($0.2  per MINUTE)



Rosenberg et. al.            July 24, 1997                   [Page 11]


Internet Draft             Wide Area Location                  July 1997


   The length of the prefix is given implicitly by the number of digits
   before the comma. This gateway seems to be located in the 415 area
   code, in the 822 exchange, to which it provides the cheapest service.
   The gateway is also having a special on calls to Germany - just 3
   cents per minute.

   Wide area service location is meant to operate over the world wide
   public Internet. The problem of how to represent cost (and other
   attribute values) in an international context is difficult. One solu-
   tion might be to fix cost and attribute representation to an arbi-
   trary currency and language (e.g. dollar and English). An alternate
   solution is to advertise cost in the local currency, and then have
   the broker perform currency translation periodically.

6.5 Notaries

   The final addition is a new device which we call a notary. Its pur-
   pose is to lessen the burden of authentication which is placed on
   DA's and brokers or to support non multicast capable SA's. Instead of
   registering directly with all the brokers by multicasting its adver-
   tisement, an SA will instead register in some way with a notary. It
   is the job of this notary to provide authentication for the SA's
   which it represents. Once authenticated, the notary acts as a proxy
   for those SA's, multicasting the advertisements for them. The form of
   the service advertisements is nearly identical to that of an SA. The
   exception is that the authentication block is used to authenticate
   the notary, and is the same authentication block for all SA's being
   advertised from this notary. This lessens the burden of authentica-
   tion to that of a single notary, instead of many SA's.

   Due to legal problems regarding cryptographic technologies a unified
   strong authentication mechanism may not be available world-wide very
   soon (or ever). The use of notaries allows the SA's to authenticate
   themselves to the notary by any local or proprietary scheme.

   In general, for services that involve billing, authentication of the
   server may not be enough. The user may want some assurance about the
   trustworthiness of the remote service operator. Notary services could
   be provided by authorities of sufficient influence and reputation to
   be trusted by users. Such authorities may, for example, police misbe-
   having service provides they represent, using non-electronic means
   (such as auditing financial records, etc.). This kind of model
   already exists; credit card companies will absorb the costs of fraud-
   ulent vendors, and revoke their capabilities to use the credit card
   to charge customers.

   It is not our objective to specify the nature of the verification
   procedure performed by the notary owner. Instead, all that is needed


Rosenberg et. al.            July 24, 1997                   [Page 12]


Internet Draft             Wide Area Location                  July 1997


   is a way to classify the level of assurance that a user can expect
   from the notaries' authentication, and place this information as an
   attribute describing the notary service itself.

   The end result is a transitive chain of trust, similar to the mecha-
   nisms used in PGP [7].

7 Conclusion

   We have described the problem of location of services in the wide
   area Internet, and noted the drawbacks of the Service Location Proto-
   col for such uses. We then proposed several backwards compatible
   extensions for resolving these drawbacks: multicasting of registra-
   tions, service specific DA's called brokers, distance metrics, cost
   structures for billing, and hierarchical authentication services via
   notaries.

8 Security Considerations

   The problem of service location involves potential danger of denial
   of service or fraud.

   Anybody can potentially advertise many bogus service records and
   swamp the databases of the brokers to uselessness. Authentication
   limits the damage a single individual can do as brokers would become
   suspicious if a unknown entity suddenly starts advertising thousands
   of servers with optimal characteristics. Even with authentication a
   large number of individuals could still produce the same effect by
   coordinating their efforts. Should this become a problem brokers
   would have to require certification by a "known" notary before they
   consider a service advertisement.

   For services that involve billing, like internet telephony gateways,
   the possibility of deliberate misinformation by a service operator to
   attract and "trap" customers becomes likely. It is easy to imagine
   that some off-shore gateway operator might advertise very cheap rates
   and then charge exorbitant rates to the users credit card. It is for
   this reason, among others, that we propose the notary server, as dis-
   cussed above.

   It is also possible for an SA to misbehave by ignoring the scaling
   rules for multicasting advertisements. Although it is simple to
   detect this kind of behavior and ignore the frequent messages, the
   excessive traffic may cause valid advertisements from other users to
   be lost. However, this problem is a generic one for multicast, and we
   do not attempt to treat it at this level.

9 Bibliography


Rosenberg et. al.            July 24, 1997                   [Page 13]


Internet Draft             Wide Area Location                  July 1997


   [1]  A Gulbrandsen, P Vixie, A DNS RR for specifying the location of
   services (DNS SRV), IETF Request for Comments 2052, October 1996

   [2]  R. Moats, M. Hamilton, P. Leach, Finding Stuff, IETF Internet
   Draft draft-ietf-srvloc-discovery-02.txt, Work in Progress

   [3]  C. Malamud, M. Rose, Principles of Operation for the TPC.INT
   Subdomain: General Principles and Policy, IETF Request for Comments
   1530, October 1993

   [4]  R. Droms, Dynamic Host Configuration Protocol, IETF Request for
   Comments 2131, March 1997

   [5]  J. Veizades, E. Guttman, C. Perkins, S. Kaplan, Service Location
   Protocol, IETF Request for Comments 2165, June 1997

   [6]  V. Fuller, T. Li, J. Yu, K. Varadhan, Classless Interdomain
   Routing (CIDR): an Address Assignment and Aggregation Strategy, IETF
   Request for Comments 1338, September 1993

   [7]  The International PGP Homepage can be found at:
   http://www.ifi.uio.no/pgp

   [8]  M. Handley, SAP - Session Announcement Protocol, IETF Internet
   Draft, draft-ietf-mmusic-sap-00.txt, November 1996. Work In Progress

   [9]  H. Schulzrinne, S. Casner, R. Frederick, V. Jacobson, RTP: A
   Transport Protocol for Real Time Applications, IETF Request for Com-
   ments 1889, January 1996

   [10]  P. Sharma, D. Estrin, S. Floyd, V. Jacobson, Scalable Timers
   for Soft State Protocols, in Proceedings of IEEE Infocom, Kobe,
   Japan, 1997.

   [11]  J. Rosenberg, H. Schulzrinne, Timer Reconsideration for
   Enhanced RTP Scalability, submitted for publication in the Proceed-
   ings of IEEE Infocom 1998

   [12]  R. Moats, URN Syntax, IETF Request for Comments 2141, May 1977

   [13]  R. Daniel, M. Mealling, Resolution of Uniform Resource Identi-
   fiers using the Domain Name System, IETF Request for Comments 2168,
   June 1997

10 Authors Addresses

   Jonathan Rosenberg
   Lucent Technologies, Bell Laboratories


Rosenberg et. al.            July 24, 1997                   [Page 14]


Internet Draft             Wide Area Location                  July 1997


   101 Crawfords Corner Rd.
   Holmdel, NJ 07733
   Rm. 4D-534B
   email: jdrosen@bell-labs.com

   Henning Schulzrinne
   Columbia University
   M/S 0401
   1214 Amsterdam Ave.
   New York, NY 10027-7003
   email: schulzrinne@cs.columbia.edu

   Bernhard Suter
   Lucent Technologies, Bell Laboratories
   101 Crawfords Corner Rd.
   Holmdel, NJ 07733
   Rm. 4G-531
   email: suter@bell-labs.com
































Rosenberg et. al.            July 24, 1997                   [Page 15]