home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1997 December / Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso / drafts / draft_ietf_q_t / draft-ietf-svrloc-wasrv-00.txt < prev    next >
Text File  |  1997-07-25  |  40KB  |  896 lines

  1.  
  2. Internet Engineering Task Force                      Service Location WG
  3. Internet Draft                                    J. Rosenberg, B. Suter
  4. draft-ietf-svrloc-wasrv-00.txt                         Bell Laboratories
  5. July 1997                                                 H. Schulzrinne
  6. Expires: January 1998                                Columbia University
  7.  
  8.  
  9.                    Wide Area Network Service Location
  10.  
  11. STATUS OF THIS MEMO
  12.  
  13.    This document is an Internet-Draft. Internet-Drafts are working docu-
  14.    ments of the Internet Engineering Task Force (IETF), its areas, and
  15.    its working groups.  Note that other groups may also distribute work-
  16.    ing documents as Internet-Drafts.
  17.  
  18.    Internet-Drafts are draft documents valid for a maximum of six months
  19.    and may be updated, replaced, or obsoleted by other documents at any
  20.    time.  It is inappropriate to use Internet-Drafts as reference mate-
  21.    rial or to cite them other than as ``work in progress''.
  22.  
  23.    To learn the current status of any Internet-Draft, please check the
  24.    ``1id-abstracts.txt'' listing contained in the Internet-Drafts Shadow
  25.    Directories on ftp.is.co.za (Africa), nic.nordu.net (Europe),
  26.    munnari.oz.au (Pacific Rim), ds.internic.net (US East Coast), or
  27.    ftp.isi.edu (US West Coast).
  28.  
  29.    Distribution of this document is unlimited.
  30.  
  31. 1 Abstract
  32.  
  33.    This document discusses the problem of service location in wide area
  34.    networks. This problem arises when a user wishes to locate some ser-
  35.    vice, such as a media bridge, internet telephony gateway, H.323 Gate-
  36.    keeper, unicast to multicast bridge, etc, which has some desired
  37.    characteristics, but whose location (in terms of IP address, domain,
  38.    or geographical location) is completely unknown, and may be anywhere
  39.    on the public Internet. We focus on the problem of locating Internet
  40.    Telephony Gateways (devices which connect an IP host to a POTS user).
  41.    This particular location problem is characteristic of the general
  42.    problem; furthermore, location of these devices is particularly dif-
  43.    ficult. Generally, the service location mechanisms need to be invoked
  44.    for every call setup. This implies that the call setup delays will
  45.    include the time to locate the gateway, and these delays should
  46.    therefore be kept to a minimum. With large numbers of gateways, the
  47.    location mechanisms can potentially become a network, processing, and
  48.    storage intensive operation. A solution to the gateway location prob-
  49.    lem must therefore be efficient and scalable in use of bandwidth, CPU
  50.  
  51.  
  52. Rosenberg et. al.            July 24, 1997                    [Page 1]
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59. Internet Draft             Wide Area Location                  July 1997
  60.  
  61.  
  62.    power, and disk storage. Furthermore, relaying internet telephony
  63.    calls to the PSTN results in cost for the gateway provider, which
  64.    must somehow be passed on to the remote user. This requires security
  65.    mechanisms to provide authentication in an international environment.
  66.  
  67.    We propose a solution to the wide area service location problem as an
  68.    extension to the existing Service Location Protocol [5]. The solution
  69.    relies on a scalable multicast advertisement of services to directory
  70.    agents, service specific directory agents called brokers, optional
  71.    service advertisement agents called notaries, new search capabili-
  72.    ties, and support for billing.
  73.  
  74. 2 Introduction
  75.  
  76.    There has been much attention recently to protocol support for the
  77.    location of services on the Internet. This work includes DNS records
  78.    for finding services in a particular domain [1][2], and for finding
  79.    fax gateways in a particular telephone exchange [3], DHCP for dynamic
  80.    discovery of local services upon cold-start [4], URNs for location
  81.    independent naming and location of network resources [12][13], and
  82.    most importantly, the Service Location Protocol [5] for location of
  83.    services in an administrative domain. Unfortunately, none of these
  84.    solutions adequately support location of services across wide area
  85.    networks, which we believe to be a key aspect of the general service
  86.    location problem. This document describes an extension to the service
  87.    location protocol for discovery of wide-area services.
  88.  
  89.    There are a number of examples of wide area services. One is media
  90.    bridges (also known as Multipoint Control Units, or MCU's), which are
  91.    devices used for mixing voice or video together for multipoint con-
  92.    ferences. Another might be a media server, which contains movies and
  93.    multimedia accessible to the user for playback. Another example are
  94.    Internet telephony gateways. These devices allow Internet hosts to
  95.    communicate with standard POTS telephone users by translating Inter-
  96.    net telephony to traditional telephony. Yet another example is a mul-
  97.    ticast to unicast bridge, which would allow unicast-only endpoints to
  98.    receive Mbone broadcasts (an admittedly non-scalable and self-
  99.    defeating application).
  100.  
  101.    There are two reasons why such services need not be located in the
  102.    same administrative domain as the client. The most important reason
  103.    is that the service simply may not be provided yet (or may never be
  104.    provided) by my domain. Consider a user who subscribes to a small
  105.    ISP. This ISP is not likely to support media bridges or telephony
  106.    gateways. This should not prohibit the client from using these ser-
  107.    vices, no matter how remote the server may be. Secondly, in many
  108.    cases it may not even be desirable for the service to be located in a
  109.    client's domain. The best example of this is the telephony gateway.
  110.  
  111.  
  112. Rosenberg et. al.            July 24, 1997                    [Page 2]
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119. Internet Draft             Wide Area Location                  July 1997
  120.  
  121.  
  122.    To reduce costs, as an IP host, I would like to use a gateway which
  123.    is closest to the telephone I wish to talk to. Consider an IP host
  124.    residing in California who wishes to call a normal telephone in
  125.    France; the ideal server may be a gateway in France, almost across
  126.    the world from the client.
  127.  
  128.    It should be noted that the use of the word "service" in this docu-
  129.    ment includes, but is not restricted to, network services. It may
  130.    also include services like Internet access, pizza delivery, airline
  131.    reservation, online bookstores, or banks. Any service which can be
  132.    accessed electronically, and which has attributes which can be
  133.    expressed in some form, can be found via this protocol.
  134.  
  135. 3 Problem Definition
  136.  
  137.    We formally define the wide area service location problem as follows.
  138.    A client wishes to find a server that provides a service. There are
  139.    no restrictions on the name space, IP address space, geographical
  140.    location, or autonomous system where the server may be located. Fur-
  141.    thermore, the client has no knowledge of the location of the server.
  142.    It has only a definition of specific service attributes or con-
  143.    straints (e.g., supported protocols) which are desirable or metrics
  144.    to minimize or maximize (e.g., cost, quality, distance).
  145.  
  146.    In the case of wide-area services, we expect some servers to charge
  147.    for features they provide. This implies that cost is another
  148.    attribute which needs to be supported by servers. Unfortunately, cost
  149.    is not always just a simple number. It may depend on the duration of
  150.    usage of the service, the specific nature of the service, or even the
  151.    time of day during which the service is used. Consider Internet tele-
  152.    phony gateways. They will charge the client some amount for the por-
  153.    tion of the call carried over the PSTN between the gateway and the
  154.    final destination. Unfortunately, telephone cost structures range
  155.    from extremely simple (flat rate) to wildly complex (20 cents for the
  156.    first minute on weekends, 10 cents for each minute thereafter, but
  157.    only to Canada).
  158.  
  159.    Since the distance (in terms of IP hops or delay) between a client
  160.    and a possible server may be large, the time required to access the
  161.    service may be large. Again, consider the case of an Internet tele-
  162.    phony gateway. In some cases, an IP host may wish to call a POTS end-
  163.    point from an IP phone, but may not care about the cost of the call.
  164.    What may be important is having the lowest end-to-end delays, and as
  165.    little loss as possible. This would imply usage of a gateway closest
  166.    to the host. Media bridges are another example. To reduce end-to-end
  167.    delays, a host may want to use the bridge closest to it (or perhaps
  168.    located at the centroid of the users being bridged), and the protocol
  169.    should support searches for such servers.
  170.  
  171.  
  172. Rosenberg et. al.            July 24, 1997                    [Page 3]
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179. Internet Draft             Wide Area Location                  July 1997
  180.  
  181.  
  182.    The protocol should scale so that all Internet hosts could act as
  183.    clients, and there could be tens of thousands of servers for each
  184.    service. Since the time required to locate a service impacts the
  185.    overall delay seen by the user for that service, location times
  186.    should remain relatively constant as the number of clients and
  187.    servers grow. The control traffic used by the protocol should also
  188.    scale well, and not impose an undue burden on the network.
  189.  
  190. 4 Alternate Solutions
  191.  
  192.    A brief mention is in order a few alternative solutions for wide area
  193.    service location. One is web search engines, and the other is DNS.
  194.  
  195.    Web search engines use automated programs, called web bots, to search
  196.    the web, and index and categorize pages as they go along. If servers
  197.    use web pages to describe the services they offer, the web bots would
  198.    collect this information and allow a user to query the resulting
  199.    database to locate a service. The user could choose between various
  200.    search engines (information brokers) based on their user interface,
  201.    size of their database, or the power of their query language. This
  202.    solution, however, has some serious drawbacks. Most current search
  203.    engines are simply based on keyword searches on indexed web pages,
  204.    and lack the precision to locate a specific service precisely (anyone
  205.    who has done a search which returned over ten thousand matches knows
  206.    this problem). Even cooperative approaches (based on indexing meta
  207.    information within the html, for example) still require the search
  208.    engines to periodically query a large number of servers. The web bots
  209.    have no way of knowing when information at a server has changed. This
  210.    means that data can remain out of date for long periods of time (this
  211.    can be devastating if this data reflects service cost, for example),
  212.    or web bots will have to increase the frequency of their queries to
  213.    any particular server, increasing network traffic. This solution also
  214.    places the burden of service location in the hands of a few, dedi-
  215.    cated search engines. Adding more of them can ease the processing
  216.    load, but at the expense of even more webbot traffic. Lastly, web-
  217.    based searching is designed for human interaction, and not for auto-
  218.    mated processes. For these reasons, we feel that web search engines
  219.    are not viable as a long term solution to the problem.
  220.  
  221.    Another alternative is to use DNS. Consider the case of telephony
  222.    gateways. Each calling area (the 415 area code in the US, for exam-
  223.    ple) can map to a particular domain name. This domain name then
  224.    points to all of the gateways which can provide service for this
  225.    calling area. If a client wishes to call a certain area, it con-
  226.    structs the domain name, looks it up, and then gets a list of poten-
  227.    tial servers. This approach has many drawbacks. First, since all
  228.    gateways connected to the PSTN can potentially call every PSTN end-
  229.    point, every gateway can provide service to every single calling
  230.  
  231.  
  232. Rosenberg et. al.            July 24, 1997                    [Page 4]
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239. Internet Draft             Wide Area Location                  July 1997
  240.  
  241.  
  242.    area. This means that the DNS entries would list every gateway for
  243.    each calling area. If the list of gateways for each calling area is
  244.    to be restricted (which it must), who gets to decide which gateways
  245.    are allowed to service various calling areas? The DNS solution does
  246.    not allow one to find a gateway which meets certain criteria (support
  247.    for the G.723 speech codec, for example) without querying the server
  248.    directly (which does not scale). It also tends to cause a lot of
  249.    traffic to pass through the root DNS server. For these reasons, we do
  250.    not feel that DNS is a viable long term solution either.
  251.  
  252. 5 Service Location Protocol Limitations
  253.  
  254.    The Service Location Protocol already meets many of the criteria
  255.    above. However, it was designed for use only within a single adminis-
  256.    trative domain. It suffers from a number of problems when one
  257.    attempts to apply it to a general wide area network with thousands of
  258.    servers and millions of clients.
  259.  
  260.    The current architecture is centered around the concept of a direc-
  261.    tory agent, or DA. This device is a server which collects information
  262.    about services provided by various service agents (SA's) across the
  263.    network. The SA's register the services they provide directly with
  264.    the DA. Clients (also known as user agents, or UA's) wishing to
  265.    locate a service send a query to the DA, which then searches its
  266.    database for matches. The DA then returns the list of servers to the
  267.    client. Clients and SA's must know the IP address of the DA. This can
  268.    be learned in one of several ways: through static configuration,
  269.    through DHCP, through multicast advertisements from the DA, or
  270.    through increasing-scope multicast searches performed by the client
  271.    or SA.
  272.  
  273.    We have identified the following difficulties in scaling the current
  274.    service location architecture to wide area networks:
  275.  
  276.    1. Registrations of services from SA's to DA's are asynchronous, and
  277.    the soft-state refresh interval is fixed (the recommended value is
  278.    around three hours). This means that if thousands of servers attempt
  279.    to register, the DA may be swamped with bursts of messages. As the
  280.    number of servers grows, this problem worsens.
  281.  
  282.    2. SA's must know the location of all DA's. In a small administrative
  283.    domain, this is easy. But in a wide area Internet, this is virtually
  284.    impossible. Having fixed tables of DA's does not scale well, and is
  285.    not dynamic enough. Using the multicast searching technique will
  286.    cause an overload on the network, since the scope of such searches is
  287.    neccesarily unbounded. Having DA's advertise their presence works
  288.    better, but still causes traffic. With fixed soft-state refresh
  289.    intervals, the bandwidth used grows linearly with the number of DA's
  290.  
  291.  
  292. Rosenberg et. al.            July 24, 1997                    [Page 5]
  293.  
  294.  
  295.  
  296.  
  297.  
  298.  
  299. Internet Draft             Wide Area Location                  July 1997
  300.  
  301.  
  302.    present in the network.
  303.  
  304.    3. As the number of servers and services grow, the disk space
  305.    required for a DA to store information about all of them is exces-
  306.    sive. DA's must somehow be able to provide service location for only
  307.    a subset of services.
  308.  
  309.    4. In a wide area network, authenticating services at either the DA
  310.    or UA is much more important than in an administrative domain. We
  311.    expect, therefore, that all service advertisements will contain URL
  312.    and attribute authentication blocks. However, it may not be possible,
  313.    in all cases, for the DA or SA to authenticate every service. This
  314.    may be for any number of reasons: lack of availability of public keys
  315.    for all services, regulatory reasons, etc. Some additional support
  316.    for a hierarchy of authentication is required.
  317.  
  318.    5. The current attribute query language has no support for choosing a
  319.    service based on minimizing or maximizing some function of an
  320.    attribute. This is a requirement for allowing service location based
  321.    on cost minimization. Furthermore, the simple attribute matching
  322.    rules are not sufficient for describing the possible costs of a phone
  323.    call.
  324.  
  325.    6. The current mechanisms provide no way to find out the distance
  326.    between a server and a client, even with perhaps marginal precision.
  327.    This is required to choose servers based on their proximity to the
  328.    client.
  329.  
  330. 6 Proposed Solution
  331.  
  332.    We propose a set of backwards compatible extensions to the Service
  333.    Location Protocol which resolve all of the above difficulties. We
  334.    describe the basic mechanisms only, much of the detail remains to be
  335.    worked out.
  336.  
  337. 6.1 Multicast Registration
  338.  
  339.    First, in addition to SA registrations being unicast, we allow for
  340.    multicast registrations. A set of 1024 contiguous multicast addresses
  341.    are defined, with each service mapping to one of these addresses via
  342.    a string hash. (Note that these addresses are different from the 1024
  343.    currently used in the service location protocol for clients to find
  344.    SA's directly). Any DA interested in providing location services for
  345.    a service listens to its multicast address. In addition, any server
  346.    wishing to advertise a service also listens to its address. By lis-
  347.    tening to the address, a server wishing to advertise on it can keep
  348.    track of the number of other servers also advertising. Let's say a
  349.    server hears N other servers. We define a parameter
  350.  
  351.  
  352. Rosenberg et. al.            July 24, 1997                    [Page 6]
  353.  
  354.  
  355.  
  356.  
  357.  
  358.  
  359. Internet Draft             Wide Area Location                  July 1997
  360.  
  361.  
  362.    CONFIG_INTERVAL_12 which is the average interval of 1 kbyte packets
  363.    to be transmitted, summed across all servers, into the multicast
  364.    group. Each server wishing to send an advertisement of size K will
  365.    periodically send the advertisement with a period T equal to:
  366.  
  367.  
  368.  
  369.    T = R(1/2) max(CONFIG_INTERVAL_13 * F(age), N * CONFIG_INTERVAL_12 * K / 1024)
  370.  
  371.  
  372.  
  373.    F(age) is a function which starts at some fractional power of two,
  374.    -CONFIG_INTERVAL_14, whenever an advertisement is different from the
  375.    previous. For each subsequent advertisement which is not different
  376.    from the previous, F(age) doubles, until it hits 1, at which point it
  377.    stops. We also define R(1/2) as a random variable uniformly dis-
  378.    tributed between 1/2 and 3/2. For example, say that
  379.    CONFIG_INTERVAL_12 is 64 ms. This means that the total rate of pack-
  380.    ets sent into the group will be 128 kb/s when group sizes are large.
  381.    If there are 1000 servers, each sending 1 kByte packets, each one
  382.    will get to advertise once a minute. When group sizes are smaller,
  383.    the packet rate remains at 1 every CONFIG_INTERVAL_13 (perhaps one
  384.    per hour) during steady state. However, when an advertisement
  385.    changes, the rate can temporarily increase (but not above 128 kb/s)
  386.    to hasten the broadcast of this announcement.
  387.  
  388.    As a further enhancement to improve scalability, timer reconsidera-
  389.    tion should be used [11]. This algorithm requires end-systems to
  390.    recheck the validity of their event timers before sending a packet.
  391.    The validity is based on whether the perceived multicast group size
  392.    has changed since the timer was set. If the perceived group size has
  393.    grown, packet transmission is delayed in accordance with the most
  394.    recent group size estimate. This approach will help reduce packet
  395.    transmissions from servers which boot up, join their multicast group,
  396.    and initially see only one server: themselves.
  397.  
  398.    This mechanism allows for the number of servers to grow without caus-
  399.    ing an increase in the bandwidth used on the multicast address. A
  400.    similar mechanism is used in RTP [9] to provide scalability, and has
  401.    been proposed as a general scaling mechanism for soft-state protocols
  402.    [10]. The advantage of this approach here is to solve two of the
  403.    above limitations. Now, SA's do not need to know the actual addresses
  404.    of DA's. This eliminates the need for wide-area multicast searches
  405.    and/or DA advertisements. It also makes the system dynamic. As soon
  406.    as a new DA is turned on, it can immediately learn about new ser-
  407.    vices, and this process is transparent to the SA's providing the ser-
  408.    vice. It also solves the problems of excessive load on DA's. The rate
  409.    is now finely controlled, independent of the number of SA's.
  410.  
  411.  
  412. Rosenberg et. al.            July 24, 1997                    [Page 7]
  413.  
  414.  
  415.  
  416.  
  417.  
  418.  
  419. Internet Draft             Wide Area Location                  July 1997
  420.  
  421.  
  422.    It should be noted that this advertisement mechanism is used in other
  423.    protocols. For example, SAP [8] is used to advertise multicast ses-
  424.    sions on the Mbone. With this protocol, however, a client must wait a
  425.    substantial amount of time to collect announcements about all of the
  426.    current sessions. This is because the bandwidth allocated for the
  427.    protocol is constant. So, as the number of broadcasters (servers in
  428.    our case) increases, the amount of time required to fill the database
  429.    grows as well. For this reason, this advertisement mechanism alone is
  430.    not sufficient for wide area server location. It would also place an
  431.    undo storage and processing burden on clients.
  432.  
  433.    SA's that are not multicast capable or which do not want to subscribe
  434.    to the service advertisement multicast group for reasons of bandwidth
  435.    or complexity may use a proxy SA or notary to diffuse their service
  436.    advertisements (sec 6.5).
  437.  
  438. 6.2 Service Specific DAs: Brokers
  439.  
  440.    We define a new type of DA, called a broker. A broker combines fea-
  441.    tures of a DA and an SA. Like a DA, it accepts service requests and
  442.    service type requests, and answers with service replies and service
  443.    type replies. The main difference is that it provides location ser-
  444.    vice for only a subset of services. This is required in order to
  445.    scale the disk storage and processing requirements for DA's. It is
  446.    also desirable since different services may have different require-
  447.    ments for matching client requests. For example, the Internet tele-
  448.    phony gateway service may often require searches for servers which
  449.    provide the cheapest cost for calling France. Database searches can
  450.    be optimized for this kind of query, but only if the DA knows that it
  451.    will receive mostly or only these type of service requests.
  452.  
  453.    Unlike a DA, however, a broker will not respond to directory agent
  454.    discovery requests, nor will it send directory agent advertisements.
  455.    Instead, it will send service advertisements, like an SA. If a broker
  456.    offers service location for service X, then it will advertise itself
  457.    as offering service X-broker. For example, a broker offering printer
  458.    broker service may use a URL:
  459.  
  460.    service:printer-broker://mymachine.mydomain.com:800
  461.  
  462.    Brokers themselves can have various attributes which define the bro-
  463.    ker service they provide. For example, this might be a typical
  464.    attribute specification for a Internet telephony gateway broker:
  465.  
  466.    (NUMBER_GATEWAYS = 1000), (VERIFICATION_LEVEL = STRONG)
  467.  
  468.    This would define this telephony gateway broker as having a database
  469.    of around 1000 gateways. The verification level attribute indicates
  470.  
  471.  
  472. Rosenberg et. al.            July 24, 1997                    [Page 8]
  473.  
  474.  
  475.  
  476.  
  477.  
  478.  
  479. Internet Draft             Wide Area Location                  July 1997
  480.  
  481.  
  482.    that this broker provides strong assurances of the correctness of the
  483.    gateway attributes it stores.
  484.  
  485.    The ways in which brokers register with DA's can be varied. Some bro-
  486.    kers may wish to multicast their service advertisements. Other bro-
  487.    kers may be used just for clients in an administrative domain, and
  488.    therefore will perhaps use currently defined techniques to locate the
  489.    DA's in their domain, and register with them. Or, service advertise-
  490.    ments can be sent by some non-standard, out of band technique. Con-
  491.    sider a small ISP who has a DA for its customers, but no brokers. The
  492.    ISP can essentially lease broker service from a nearby, larger ISP.
  493.    The small ISP can just manually enter the service advertisements from
  494.    the big ISP brokers. Or, the small ISP can tell the big ISP the IP
  495.    address of its DA, so that the big ISP can have its brokers directly
  496.    register across the domain boundaries.
  497.  
  498.    Brokers can be additionally programmed to implement policy local to
  499.    the administrator of the broker. This policy may restrict the set of
  500.    servers whose advertisements are kept by the particular broker. For
  501.    example, a major ISP is running a broker service for telephony gate-
  502.    ways for its customers. The ISP may decide that the broker should
  503.    reject all internet telephony gateway service advertisements from
  504.    servers run by a competing ISP. As another example, a broker may have
  505.    limited disk space, and may drop advertisements for servers which it
  506.    believes are unlikely to be used by any of its clients, based on past
  507.    history logs of service requests. It should be possible for any sort
  508.    of policy to be implemented. However, brokers should indicate the
  509.    policy attributes in the service advertisement from their broker.
  510.  
  511.    The use of brokers for a particular service also adds more scalabil-
  512.    ity. Requests requiring attribute minimization can be considerably
  513.    more CPU intensive than simple lookups. As the queries for a particu-
  514.    lar service increase, and begin to exceed the processing capabilities
  515.    of a broker, additional brokers can be added to distribute the load.
  516.    This load distribution can be implemented easily in the DA, since
  517.    brokers are registered through them. The entire process becomes
  518.    transparent to the clients, and to the servers.
  519.  
  520.    The main limitation to scalability for the brokers is the processing
  521.    burden to search a large number of records. If the number of servers
  522.    for a particular service begins to exceed several tens of thousands,
  523.    the storage requirements for them, and the time for even a single
  524.    search of the database for a match, can become excessive. In this
  525.    scenario, brokers always have the option of implementing policy to
  526.    restrict the size of the database. As faster machines and bigger
  527.    disks become available, these policies can be lifted. Furthermore,
  528.    such restrictions open up the possibility of market competition for
  529.    broker service. If a broker provider is willing to buy a big enough
  530.  
  531.  
  532. Rosenberg et. al.            July 24, 1997                    [Page 9]
  533.  
  534.  
  535.  
  536.  
  537.  
  538.  
  539. Internet Draft             Wide Area Location                  July 1997
  540.  
  541.  
  542.    disk and fast enough machine to store and search every server, it can
  543.    attract more customers to its broker service.
  544.  
  545.    This leads to the final distinction between DA's and brokers. Since a
  546.    broker service may not be local to my autonomous system, it is very
  547.    possible that there may be a charge for the service. In that case,
  548.    additional fields in the Service Query messages may be required to
  549.    allow for client-broker authentication and charging.
  550.  
  551. 6.3 Adding the DISTANCE attribute
  552.  
  553.    Another requirement is for clients to know, at least roughly, how
  554.    distant a server is. It is desirable for a client to include some
  555.    kind of distance metric in a service request to a broker.
  556.  
  557.    To support this, we propose that all servers place a timestamp in
  558.    their service adverisements. When the advertisement arrives at a bro-
  559.    ker, the broker can compare the timestamp against the current time,
  560.    and then compute an estimate of the one way delays. In scenarios were
  561.    services are located across wide area networks, packet delays are
  562.    likely to be dominated by propagation delays. This implies that
  563.    timestamp estimates should remain relatively constant, even as traf-
  564.    fic loads vary. We call this one-way delay the DISTANCE attribute.
  565.  
  566.    The approach has obvious drawbacks. It requires clock synchroniza-
  567.    tion, but the accuracy need not be perfect (a few milliseconds dif-
  568.    ference is fine). It only makes sense when packet delays are due
  569.    mainly to propagation delays. The figure gives the one-way delay from
  570.    a server to the broker. This may not be the same as the one-way delay
  571.    from a client to the server, especially if the client is not close to
  572.    the broker. Despite these drawbacks, it seems to be the only reason-
  573.    able solution which is both practical and scales.
  574.  
  575.    The major advantage is that it requires no additional network traf-
  576.    fic, and therefore scales extremely well.
  577.  
  578.    An alternative solution would be for servers to include in all ser-
  579.    vice advertisements an attribute called INITIAL_TTL. This attribute
  580.    indicates the value of the TTL field used in the IP packet containing
  581.    the advertisement. When a broker hears this advertisement on the mul-
  582.    ticast address, it notes the TTL in the IP packet when it arrived,
  583.    and the value of the INITIAL_TTL attribute. From this, a broker can
  584.    ascertain the number of hops from the server to itself. The problem
  585.    is that the Unix and Windows sockets interface do not allow an appli-
  586.    cation to read the TTL of a received packet. This makes this solution
  587.    impractical.
  588.  
  589. 6.4 Adding support for cost minimization
  590.  
  591.  
  592. Rosenberg et. al.            July 24, 1997                   [Page 10]
  593.  
  594.  
  595.  
  596.  
  597.  
  598.  
  599. Internet Draft             Wide Area Location                  July 1997
  600.  
  601.  
  602.    To support searches for the cheapest service, two new operators, max
  603.    and min, should be added to the allowable set of operators on
  604.    attributes. Service requests must be limited to one min or max opera-
  605.    tor per expression, in order to be well defined. In order for the min
  606.    or max operator to be applied, the broker must know the destination
  607.    telephone number, and an estimate of the call duration. We propose
  608.    that this information be specified by the client in the same manner
  609.    that attribute constraints are specified. For example, the following
  610.    might represent a request for an Internet telephony gateway to com-
  611.    plete a call to the Hotel Arabella in Munich:
  612.  
  613.  
  614.  
  615.    internet-gateway//( &(CALL_DESTINATION == 49 89 92 32 44 40)
  616.                         (CALL_DURATION == SHORT)
  617.                         (DISTANCE < 10)
  618.                   (SPEECH_CODER == G.729)
  619.                         (min COST))
  620.  
  621.  
  622.  
  623.    In this query, the client is specifying that a gateway is needed
  624.    which supports G.729, and whose distance from the client is less than
  625.    10 hops. These are attribute constraints. The distance metric is not
  626.    a true attribute, however; it is computed by the broker for each
  627.    client separately. The remaining data specify to the broker the
  628.    desired destination and estimated call duration, and then specifies
  629.    that cost is to be minimized.
  630.  
  631.    In the case of Internet telephony gateways, describing the cost func-
  632.    tion is a nontrivial process. Our proposal is to use CIDR [6] like
  633.    aggregation, but applied to telephone numbers. The cost is specified
  634.    as a list of prefix, cost structure pairs. The prefix indicates the
  635.    range of telephone numbers, and the cost structure describes the cost
  636.    for reaching that range of numbers. The cost structure can be repre-
  637.    sented by some simple syntax which is capable of expressing concepts
  638.    such as flat rates, sums, days, and times. For example, the following
  639.    might be used to describe the cost as seen by a gateway in Califor-
  640.    nia:
  641.  
  642.  
  643.  
  644.    1 415 822, ($0.1)
  645.    1 415,     (($0.1) PLUS ($0.03  per MINUTE))
  646.    1,          (($0.1) PLUS ($0.1  per MINUTE))
  647.    49,         ($0.03  per MINUTE)
  648.    0,          ($0.2  per MINUTE)
  649.  
  650.  
  651.  
  652. Rosenberg et. al.            July 24, 1997                   [Page 11]
  653.  
  654.  
  655.  
  656.  
  657.  
  658.  
  659. Internet Draft             Wide Area Location                  July 1997
  660.  
  661.  
  662.    The length of the prefix is given implicitly by the number of digits
  663.    before the comma. This gateway seems to be located in the 415 area
  664.    code, in the 822 exchange, to which it provides the cheapest service.
  665.    The gateway is also having a special on calls to Germany - just 3
  666.    cents per minute.
  667.  
  668.    Wide area service location is meant to operate over the world wide
  669.    public Internet. The problem of how to represent cost (and other
  670.    attribute values) in an international context is difficult. One solu-
  671.    tion might be to fix cost and attribute representation to an arbi-
  672.    trary currency and language (e.g. dollar and English). An alternate
  673.    solution is to advertise cost in the local currency, and then have
  674.    the broker perform currency translation periodically.
  675.  
  676. 6.5 Notaries
  677.  
  678.    The final addition is a new device which we call a notary. Its pur-
  679.    pose is to lessen the burden of authentication which is placed on
  680.    DA's and brokers or to support non multicast capable SA's. Instead of
  681.    registering directly with all the brokers by multicasting its adver-
  682.    tisement, an SA will instead register in some way with a notary. It
  683.    is the job of this notary to provide authentication for the SA's
  684.    which it represents. Once authenticated, the notary acts as a proxy
  685.    for those SA's, multicasting the advertisements for them. The form of
  686.    the service advertisements is nearly identical to that of an SA. The
  687.    exception is that the authentication block is used to authenticate
  688.    the notary, and is the same authentication block for all SA's being
  689.    advertised from this notary. This lessens the burden of authentica-
  690.    tion to that of a single notary, instead of many SA's.
  691.  
  692.    Due to legal problems regarding cryptographic technologies a unified
  693.    strong authentication mechanism may not be available world-wide very
  694.    soon (or ever). The use of notaries allows the SA's to authenticate
  695.    themselves to the notary by any local or proprietary scheme.
  696.  
  697.    In general, for services that involve billing, authentication of the
  698.    server may not be enough. The user may want some assurance about the
  699.    trustworthiness of the remote service operator. Notary services could
  700.    be provided by authorities of sufficient influence and reputation to
  701.    be trusted by users. Such authorities may, for example, police misbe-
  702.    having service provides they represent, using non-electronic means
  703.    (such as auditing financial records, etc.). This kind of model
  704.    already exists; credit card companies will absorb the costs of fraud-
  705.    ulent vendors, and revoke their capabilities to use the credit card
  706.    to charge customers.
  707.  
  708.    It is not our objective to specify the nature of the verification
  709.    procedure performed by the notary owner. Instead, all that is needed
  710.  
  711.  
  712. Rosenberg et. al.            July 24, 1997                   [Page 12]
  713.  
  714.  
  715.  
  716.  
  717.  
  718.  
  719. Internet Draft             Wide Area Location                  July 1997
  720.  
  721.  
  722.    is a way to classify the level of assurance that a user can expect
  723.    from the notaries' authentication, and place this information as an
  724.    attribute describing the notary service itself.
  725.  
  726.    The end result is a transitive chain of trust, similar to the mecha-
  727.    nisms used in PGP [7].
  728.  
  729. 7 Conclusion
  730.  
  731.    We have described the problem of location of services in the wide
  732.    area Internet, and noted the drawbacks of the Service Location Proto-
  733.    col for such uses. We then proposed several backwards compatible
  734.    extensions for resolving these drawbacks: multicasting of registra-
  735.    tions, service specific DA's called brokers, distance metrics, cost
  736.    structures for billing, and hierarchical authentication services via
  737.    notaries.
  738.  
  739. 8 Security Considerations
  740.  
  741.    The problem of service location involves potential danger of denial
  742.    of service or fraud.
  743.  
  744.    Anybody can potentially advertise many bogus service records and
  745.    swamp the databases of the brokers to uselessness. Authentication
  746.    limits the damage a single individual can do as brokers would become
  747.    suspicious if a unknown entity suddenly starts advertising thousands
  748.    of servers with optimal characteristics. Even with authentication a
  749.    large number of individuals could still produce the same effect by
  750.    coordinating their efforts. Should this become a problem brokers
  751.    would have to require certification by a "known" notary before they
  752.    consider a service advertisement.
  753.  
  754.    For services that involve billing, like internet telephony gateways,
  755.    the possibility of deliberate misinformation by a service operator to
  756.    attract and "trap" customers becomes likely. It is easy to imagine
  757.    that some off-shore gateway operator might advertise very cheap rates
  758.    and then charge exorbitant rates to the users credit card. It is for
  759.    this reason, among others, that we propose the notary server, as dis-
  760.    cussed above.
  761.  
  762.    It is also possible for an SA to misbehave by ignoring the scaling
  763.    rules for multicasting advertisements. Although it is simple to
  764.    detect this kind of behavior and ignore the frequent messages, the
  765.    excessive traffic may cause valid advertisements from other users to
  766.    be lost. However, this problem is a generic one for multicast, and we
  767.    do not attempt to treat it at this level.
  768.  
  769. 9 Bibliography
  770.  
  771.  
  772. Rosenberg et. al.            July 24, 1997                   [Page 13]
  773.  
  774.  
  775.  
  776.  
  777.  
  778.  
  779. Internet Draft             Wide Area Location                  July 1997
  780.  
  781.  
  782.    [1]  A Gulbrandsen, P Vixie, A DNS RR for specifying the location of
  783.    services (DNS SRV), IETF Request for Comments 2052, October 1996
  784.  
  785.    [2]  R. Moats, M. Hamilton, P. Leach, Finding Stuff, IETF Internet
  786.    Draft draft-ietf-srvloc-discovery-02.txt, Work in Progress
  787.  
  788.    [3]  C. Malamud, M. Rose, Principles of Operation for the TPC.INT
  789.    Subdomain: General Principles and Policy, IETF Request for Comments
  790.    1530, October 1993
  791.  
  792.    [4]  R. Droms, Dynamic Host Configuration Protocol, IETF Request for
  793.    Comments 2131, March 1997
  794.  
  795.    [5]  J. Veizades, E. Guttman, C. Perkins, S. Kaplan, Service Location
  796.    Protocol, IETF Request for Comments 2165, June 1997
  797.  
  798.    [6]  V. Fuller, T. Li, J. Yu, K. Varadhan, Classless Interdomain
  799.    Routing (CIDR): an Address Assignment and Aggregation Strategy, IETF
  800.    Request for Comments 1338, September 1993
  801.  
  802.    [7]  The International PGP Homepage can be found at:
  803.    http://www.ifi.uio.no/pgp
  804.  
  805.    [8]  M. Handley, SAP - Session Announcement Protocol, IETF Internet
  806.    Draft, draft-ietf-mmusic-sap-00.txt, November 1996. Work In Progress
  807.  
  808.    [9]  H. Schulzrinne, S. Casner, R. Frederick, V. Jacobson, RTP: A
  809.    Transport Protocol for Real Time Applications, IETF Request for Com-
  810.    ments 1889, January 1996
  811.  
  812.    [10]  P. Sharma, D. Estrin, S. Floyd, V. Jacobson, Scalable Timers
  813.    for Soft State Protocols, in Proceedings of IEEE Infocom, Kobe,
  814.    Japan, 1997.
  815.  
  816.    [11]  J. Rosenberg, H. Schulzrinne, Timer Reconsideration for
  817.    Enhanced RTP Scalability, submitted for publication in the Proceed-
  818.    ings of IEEE Infocom 1998
  819.  
  820.    [12]  R. Moats, URN Syntax, IETF Request for Comments 2141, May 1977
  821.  
  822.    [13]  R. Daniel, M. Mealling, Resolution of Uniform Resource Identi-
  823.    fiers using the Domain Name System, IETF Request for Comments 2168,
  824.    June 1997
  825.  
  826. 10 Authors Addresses
  827.  
  828.    Jonathan Rosenberg
  829.    Lucent Technologies, Bell Laboratories
  830.  
  831.  
  832. Rosenberg et. al.            July 24, 1997                   [Page 14]
  833.  
  834.  
  835.  
  836.  
  837.  
  838.  
  839. Internet Draft             Wide Area Location                  July 1997
  840.  
  841.  
  842.    101 Crawfords Corner Rd.
  843.    Holmdel, NJ 07733
  844.    Rm. 4D-534B
  845.    email: jdrosen@bell-labs.com
  846.  
  847.    Henning Schulzrinne
  848.    Columbia University
  849.    M/S 0401
  850.    1214 Amsterdam Ave.
  851.    New York, NY 10027-7003
  852.    email: schulzrinne@cs.columbia.edu
  853.  
  854.    Bernhard Suter
  855.    Lucent Technologies, Bell Laboratories
  856.    101 Crawfords Corner Rd.
  857.    Holmdel, NJ 07733
  858.    Rm. 4G-531
  859.    email: suter@bell-labs.com
  860.  
  861.  
  862.  
  863.  
  864.  
  865.  
  866.  
  867.  
  868.  
  869.  
  870.  
  871.  
  872.  
  873.  
  874.  
  875.  
  876.  
  877.  
  878.  
  879.  
  880.  
  881.  
  882.  
  883.  
  884.  
  885.  
  886.  
  887.  
  888.  
  889.  
  890.  
  891.  
  892. Rosenberg et. al.            July 24, 1997                   [Page 15]
  893.  
  894.  
  895.  
  896.