INTERNET-DRAFT                                          Brent Miller
draft-miller-homedisc-req-00.txt                       Thomas Narten
May 26, 1999                                           Marcia Peters
Expires November 26, 1999                                  John Tavs
                                                           IBM Corp.

Home Networking Device and Service Discovery Requirements

Status of this Memo

  This document is an Internet-Draft and is in full conformance
  with all provisions of Section 10 of RFC2026.

  Internet-Drafts are working documents of the Internet Engineering
  Task Force (IETF), its areas, and its working groups.  Note that
  other groups may also distribute working 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 material or to cite them other than as
  "work in progress."

  The list of current Internet-Drafts can be accessed at
  http://www.ietf.org/ietf/1id-abstracts.txt

  The list of Internet-Draft Shadow Directories can be accessed at
  http://www.ietf.org/shadow.html.

Abstract

  Networks in the home and similar environments typically do not
  have, and should not be expected to have a full range of network
  services such as DHCP servers, DNS and the like.  Further,
  networks in the home and similar environments may have only
  occasional connectivity to a larger network such as the Internet
  where these types of services may exist.  Typical users of
  home networks may not have the skills or desire to install,
  configure, administer and maintain a sophisticated home network.

  To enable the effective use of networks in the home and similar
  environments, methods for discovering devices and services in
  the network are needed.  These methods need to work for
  occasionally connected and often resource-poor networks such as
  are typically found in the home.  These methods also need to
  be self-configuring, requiring only minimal involvement of users
  of a home or similar network to configure and maintain that
  network.

  This document presents requirements for the discovery of devices
  and services in a home network or similar environment.  These
  requirements are intended to form a basis that enables further
  work toward solutions in this area.


Home Networking Device and Service Discovery Requirements    [Page 1]


INTERNET-DRAFT                                         Miller et al.
draft-miller-homedisc-req-00.txt                           IBM Corp.

Scope

  This document discusses the ability to introduce new devices into a
  given environment. While not limited to a home environment,
  consideration from a home environment perspective is quite useful
  in developing the requirements for the problem space of interest.
  If home requirements are developed, we assert that the same set
  of requirements will also apply in other environments (such as
  hotel, SOHO, vehicle, and so on); these requirements may not be
  sufficient in all other interesting environments but they are
  likely to be necessary.

Scenario

  To illustrate the problem statement that leads to requirements,
  a home networking scenario is presented.  Generically, this
  scenario considers the introduction of a new device into a home
  network.

  The specific scenario presented here is that of a new computer
  being introduced to an existing home network (other scenarios
  could also be developed). The newly introduced computer, to be
  fully utilized, needs to become a participant in the "home area
  network". It needs to make itself known to the other network
  participants, including services that it can offer to them
  (perhaps it is capable of router functions, or has specific
  software services that other devices can use).  The computer also
  needs to become aware of the other network participants,
  including services that they offer that may be of interest
  (perhaps another computer in the home network offers printing
  services or image capture services; the newly introduced computer
  also needs to find the network access point to the larger network).

  In a home environment, these functions need to be self-configuring
  (accomplished with minimal user setup and configuration).  This
  process should "just work", not requiring extensive user knowledge
  of the network nor onerous configuration or administration
  processes.

  This scenario assumes a home environment, although as noted above,
  the problem statement and requirements that arise from this
  scenario are likely to apply to other similar environments.
  For this scenario, we assume that:

    1.  The home network is connected to a larger network (like the
        Internet), but only intermittently. The home network needs
        to be fully usable whether or not it is connected to the
        larger network.

    2.  The devices in the home network use IETF protocols, having
        at least a TCP/IP stack.

Home Networking Device and Service Discovery Requirements    [Page 2]


INTERNET-DRAFT                                         Miller et al.
draft-miller-homedisc-req-00.txt                           IBM Corp.

Problem Statement

  To accomplish the above scenario and others like it, problems
  to be solved include:

    1.  The device needs to achieve connectivity into "the network",
        where "the network" is not necessarily (and is not likely
        to be) like the Internet or an intranet with all of its
        requisite services, such as DHCP servers, name servers,
        directory servers, time servers, file servers, print servers
        and so on. The home network needs to be fully usable even
        when not connected to the larger network, where the services
        listed above may reside.

    2.  The device needs a secure and interoperable way to
        "advertise" the services it provides to "the network".

    3.  The device needs a secure and interoperable way to provide
        (allow other network participants to make use of) those
        services that it makes available to other devices on
        "the network".

    4.  The device needs a secure and interoperable way to
        ascertain what other services are available in "the network".

    5.  The device needs a secure and interoperable way to access
        (make use of) appropriate services in "the network".

  Note that in order to enable service discovery, device discovery
  using protocol layers 1-4 is required. Before service discovery
  can be accomplished, it is probably necessary to learn a layer-2
  address such as a MAC address or virtual circuit identifier,
  and/or a layer-3 address like an IP address. In considering the
  device discovery process, it is important to understand the scope
  of the message -- how far it can travel and what blocks it.
  (Consider a layer-2 service such as Ethernet broadcast, a layer 3
  service such as IP multicast, and layer 4 services like a UDP
  datagram to a NDS or a NetBIOS Name Server or a WINS server.
  Based upon the network topology, configuration and policies,
  broadcast or multicast messages might be locally confined, or they
  might traverse multiple routers, perhaps being limited by filters
  or hop counts). Scoping is important in discovering that a target
  device exists without unnecessarily broadcasting outside the
  required scope and potentially "flooding" larger and larger
  networks. Furthermore, there may be multiple target devices of
  interest (and even invalid duplicate devices) that appear within
  different scopes. Scoping is also important in the area of
  security. In developing the device and service discovery
  requirements and potential solutions for home or similar
  environments, where "the network" may not resemble the Internet
  model, scoping is an important consideration.

Home Networking Device and Service Discovery Requirements    [Page 3]


INTERNET-DRAFT                                         Miller et al.
draft-miller-homedisc-req-00.txt                           IBM Corp.

Requirements

  To solve this problem statement in this problem domain, the
  following functional requirements need to be satisfied:

  1.  Physical connection, link and transport:  These components
      are needed for basic connectivity in any networked environment.
      While it is useful to note this requirement, it is not a
      primary focus of this document; instead, this document focuses
      primarily on those layers above the transport layer but below
      the application layer that can enable device and service
      discovery, assuming that physical connection, link and
      transport layers appropriate to "the network" are in place.
      In fact, many of "the networks" of interest may be ad-hoc
      and/or peer-to-peer.

  2.  Device identification and address assignment:  This deals
      with recognizing a device's presence on "the network",
      potentially including determining (at least generically)
      what type of device it is and what capabilities it has;
      and assigning an IP address to the device (without necessarily
      having connectivity to a larger network). The symmetric
      operation of de-assigning IP addresses when devices no longer
      require them also needs to be considered.

  3.  Device naming/"the network" name space: This deals with
      mapping a name, defined by some schema, to a device or service;
      and with managing the local name space for the devices in
      "the network" (which perhaps might include multiple names
      for a given device), all without necessarily having access
      to a larger network. The symmetrical operation of
      deregistering names when devices or services are removed or
      renamed needs to be considered.  Security aspects of managing
      the name space, such as authentication, also need to be
      considered.

  4.  Device lookup and discovery: This deals with the protocols
      and mechanisms (which may include some of the lower layers
      of item 1 above) used to determine that a new device is
      present and to establish communications with a specified
      device.











Home Networking Device and Service Discovery Requirements    [Page 4]


INTERNET-DRAFT                                         Miller et al.
draft-miller-homedisc-req-00.txt                           IBM Corp.

  5.  Service lookup and discovery:  This deals with the protocols
      and mechanisms (which may include some of the lower layers
      of item 1 above) used to determine that a new service is
      present. Discovery includes that part of a service discovery
      protocol that specifies how a client locates the network
      infrastructure such as a registry (if there is one), including
      how it can register itself and its services. Lookup defines
      how a client queries the registry (if there is one) to locate
      a service it needs, and how it locates the service in the
      absence of a registry.  Security aspects of service lookup
      and discovery, such as authentication and controlling access
      to the service registry, also need to be considered.

  Note that once a service has been located, other steps may be
  necessary to make use of the service.  For instance, a client
  may need to negotiate access to the service, including "quality
  of service" and security considerations.  Further, once a client
  has located a service and has successfully negotiated access to
  the service, the client may need to determine (and in some cases,
  obtain a mechanism that implements) the protocol(s) that the
  client uses to actually make use of the service (examples
  include IPP, LPR, HTTP, FTP, Java(TM) RMI, and so on).  These
  facets of service discovery are outside the scope of this document.

  Another requirement consideration for home networking is dealing
  with device constraints.  In the home and similar environments,
  consumer electronics, mobile devices and other information
  appliances which may be network participants are often constrained
  in at least the areas of total memory (which may be quite small),
  processing capability (especially for things like encryption),
  persistent storage (which might be zero), communications bandwidth
  (which can be quite low, especially in wireless environments),
  and unique device identification (which may not exist at all,
  unlike typical IP network devices). While not a unique requirement
  for device and service discovery, solutions in this space need to
  consider device constraints for each aspect of device and service
  discovery.

Technology-to-Requirements Mapping

  This section maps the above requirements to a selected set of
  technologies that might be used to satisfy those requirements.
  This section is intended to provide background information for
  consideration in developing solutions to address the requirements
  and problem statement noted herein. While there are numerous
  standards and technologies in the area of device and service
  discovery, this document considers a relatively small set of
  "interesting" technologies, namely:




Home Networking Device and Service Discovery Requirements    [Page 5]


INTERNET-DRAFT                                         Miller et al.
draft-miller-homedisc-req-00.txt                           IBM Corp.

  1.  IETF protocols such as DHCP [1], DNS [2] and LDAP [3]
  2.  Some well-known IP-centric existing or proposed service
      discovery technologies, such as the Microsoft-sponsored
      Universal Plug and Play (UPnP) initiative [4], Service
      Location Protocol (SLP) [5], Salutation(TM) [6] and
      Sun's Jini(TM) technology [7].

  This is not an exhaustive list of technologies that might be
  considered; however, we assert that this is a useful set of
  technologies to consider when evaluating various approaches
  to satisfying the requirements set forth here. This section
  is intended to promote discussion that is aimed at developing
  an interoperable solution for the problem space of interest;
  it is not intended to promote any particular technologies.
  Mapping the requirements set forth here to an illustrative set
  of technologies can aid in better understanding the problems
  and the requirements.

  1.  Physical connection, link and transport:  While these items
      are needed in a solution, they are not a primary focus of
      this document and thus are not further detailed. An
      illustrative technology for satisfying this requirement is
      Ethernet-TCP/IP.

  2.  Device identification and address assignment:
      - DHCP [1] provides a method of identifying a device in an IP
        network via a unique MAC address and assigning a global
        IP address to the device.
      - In [8], Troll proposes Automatic Private IP Addressing to
        assign link-local IP addresses in the absence of a
        DHCP server.

  3.  Device naming/"the network" name space:
      - DNS [2] provides name-to-IP address mapping and a
        hierarchical scheme for managing multiple name spaces.
      - In [9], Woodcock and Manning propose Multicast Name
        Resolution to achieve DNS-like function in the absence
        of a DNS.
      - Salutation [6] defines a naming scheme for Salutation devices
        consistent with the local network (such as TCP/IP or IrDA).

  4.  Device lookup and discovery:
      - DNS [2] provides a well-defined protocol for looking up
        devices in an IP network.
      - In [9], Woodcock and Manning propose Multicast Name
        Resolution to achieve DNS-like function in the absence
        of a DNS.
      - LDAP [3] can be used to lookup devices that have been
        populated in an LDAP directory.
      - Salutation [6] defines a method for looking up other
        Salutation devices and determining their capabilities.

Home Networking Device and Service Discovery Requirements    [Page 6]


INTERNET-DRAFT                                         Miller et al.
draft-miller-homedisc-req-00.txt                           IBM Corp.

  5.  Service lookup and discovery:
      - SLP [5] provides a discovery mechanism, based upon an IP
        multicast (or IP unicast if an optional directory agent
        exists), as well as a service lookup protocol for both a
        registry and a service provider, including schema for
        common services that can be used to match service requests
        with available services.
      - Salutation [6] provides a discovery mechanism, based upon
        point-to-point or broadcast communications, as well as a
        service lookup protocol and API for a service provider,
        including schema for common services that can be used to
        match service requests with available services.
      - Jini [7] provides a discovery mechanism and service registry
        where services can be advertised, as well as a service
        lookup facility that leverages the Java platform.
      - LDAP [3] can be used to look up services that have been
        populated in an LDAP directory.
      - UPnP proposes IP multicasts to discover services and to
        announce service availability, and can use IP unicast if
        an (optional) directory exists.

Technology-to-Requirements Matrix

  The above mapping is also presented in table form in Figure 1
  on page 8.  The table does not include the physical connection,
  link and transport requirement (as noted above, this is not the
  primary purpose of this document) nor the Security and Device
  constraint requirements (while these must be considered in a
  solution, they cross the other requirements).























Home Networking Device and Service Discovery Requirements    [Page 7]


INTERNET-DRAFT                                         Miller et al.
draft-miller-homedisc-req-00.txt                           IBM Corp.

      Device ID            Device         Service
      and IP Addr          Lookup,        Lookup,
      Assignment  Naming   Discovery      Discovery
     +-----------+--------+--------------+----------------------+
DHCP |Global (IP)|        |              |                      |
     +-----------+--------+--------------+----------------------+
DNS  |           |Yes (IP)|Lookup (IP)   |Lookup (static)       |
     +-----------+--------+--------------+----------------------+
LDAP |           |        |Lookup (LDAP) |Lookup (LDAP)         |
     +-----------+--------+--------------+----------------------+
UPnP |Local (IP) |Yes (IP)|Lookup (IP),  |Multicast Discovery,  |
     |           |        |Discovery (IP)|Unicast Directory     |
     |           |        |              |Discovery,            |
     |           |        |              |Directory Lookup      |
     +-----------+--------+--------------+----------------------+
SLP  |           |        |              |Multicast Discovery,  |
     |           |        |              |Unicast Registry      |
     |           |        |              |Discovery,            |
     |           |        |              |Registry Lookup       |
     +-----------+--------+--------------+----------------------+
Salu-|           |Yes     |Lookup        |Broadcast or Unicast  |
tat- |           |(Saluta-|(Salutation)  |Discovery,            |
ion  |           |tion)   |Discovery     |Registry Lookup       |
     |           |        |(Salutation)  |                      |
     +-----------+--------+--------------+----------------------+
Jini |           |        |              |Registry discovery,   |
     |           |        |              |Registry Lookup       |
     +-----------+--------+--------------+----------------------+
             Figure 1.  Technology-to-Requirements Matrix

Cited References
  [1] Droms, R., "Dynamic Host Configuration Protocol",
      RFC2131, March 1997.
  [2] Mockapetris, P., "Domain Names -- Concepts and Facilities",
      STD13, RFC1031, November 1987.
  [3] Yeong, W., Howes, T., and Kille, S., "Lightweight Directory
      Access Protocol", RFC1777, March 1995.
  [4] Microsoft Corp., "A Universal Plug and Play Primer",
      http://www.microsoft.com/hwdev/homenet/upnp.htm,
      January 1999.
  [5] Veizades, J., Guttman, E., Perkins, C. and Kaplan, S.,
      "Service Location Protocol", RFC2165, June 1997.
  [6] Salutation Consortium, Inc., "Salutation Architecture:
      an Overview", http://www.salutation.org/tour/index.html.
  [7] Sun Microsystems, "Jini Technology Executive Overview",
      http://java.sun.com/products/jini/, January 1999.
  [8] Troll, R., "Automatically Choosing an IP Address in an Ad-Hoc
      IPv4 Network", draft-ietf-dhc-ipv4-autoconfig-03.txt,
      January 1999.
  [9] Woodcock, B. and Manning, B., "Multicast Discovery of DNS
      Services", draft-manning-multicast-dns-01.txt, December 1998.

Home Networking Device and Service Discovery Requirements    [Page 8]


INTERNET-DRAFT                                         Miller et al.
draft-miller-homedisc-req-00.txt                           IBM Corp.

Notices

  Java(TM) and Jini(TM) are registered trademarks of
  Sun Microsystems.  Salutation(TM) is a registered trademark
  of The Salutation Consortium, Inc.

Authors' Addresses

  Brent A. Miller
  IBM Corporation
  3039 Cornwallis Road
  Research Triangle Park, NC 27709 USA
  email:  bamiller@us.ibm.com

  Thomas Narten
  IBM Corporation
  3039 Cornwallis Road
  Research Triangle Park, NC 27709 USA
  email:  narten@us.ibm.com

  Marcia Peters
  IBM Corporation
  3039 Cornwallis Road
  Research Triangle Park, NC 27709 USA
  email:  mlpeters@us.ibm.com

  John Tavs
  IBM Corporation
  3039 Cornwallis Road
  Research Triangle Park, NC 27709 USA
  email:  tavs@us.ibm.com





















Home Networking Device and Service Discovery Requirements    [Page 9]