Internet Engineering Task Force                             Simon Tsang
Internet Draft                                               Stan Moyer
draft-tsang-appliances-reqs-00.txt                         Dave Marples
September, 2000                             Telcordia Technologies, Inc
Expires: March, 2001
                                                    Henning Schulzrinne
                                                    Columbia University

                                                     Arjun Roychowdhury
                                                Hughes Software Systems


                 Requirements for Networked Appliances:
              Wide-Area Access, Control, and Interworking



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

   Today, there are a variety of technologies available to network
   appliances and provide degrees of home automation and control.
   However, there is a lack of support for wide-area access control and
   interworking of these Networked Appliances (NA).  The ability to
   provide such support will radically enhance peopleÆs ability to
   provide exciting new services.  This document outlines a set of
   requirements for providing such support.


1. Introduction



S. Tsang et al                                                [Page 1]


Internet Draft     Networked Appliance Requirements     September 2000

1.1  Networked Appliances

   The next wave of the Internet is widely predicted to be the Networked
   Appliance (NA) - the refrigerator that can keep an inventory of your
   groceries and re-order when necessary or perhaps the alarm clock that
   can co-ordinate your agenda, check the weather and the road
   conditions to determine the correct time to wake you up. It is clear
   that these appliances will need to communicate amongst themselves.
   For example, an alarm clock may be configured to switch on the
   bedroom lights at 7am as a wake-up indication to the user.

   The term Networked Appliance (NA) is difficult to define as it can
   cover a very large range of devices.  However, for the purposes of
   this document, a Networked Appliance is defined as being a dedicated
   function consumer devices containing at least one networked
   processor.  Examples of NAs include:  lamps, refrigerators, toasters,
   and TVs.

   There are numerous networking technologies which allow the scenarios
   outlined above to be realized within a single home or administrative
   domain.  Some examples are X.10 [6], HAVi [2], VHN [3], and UPnP [4].

   However, there is currently no support for wide-area access control
   of these networked appliances from the Internet, or for interworking
   the various home networking technologies.  The ability to provide
   such support will radically enhance the ability to provide exciting
   new services.

   For example, before leaving the office, a user could contact his (or
   her) home and ask it to pre-heat the oven, record the news on TV, and
   set the house temperature to 70 degrees F.  While on a business trip,
   a plumber comes to the house to fix a leaky sink.  The user is
   notified when the plumber rings the doorbell and a camera at the door
   transmits an image of the plumber to the userÆs laptop PC.  The
   plumberÆs ID card has an electronic signature which is also
   transmitted with the image and verified by the userÆs client
   software.  The user remotely unlocks the door and allows the plumber
   in, all the while viewing and conversing with the plumber via micro-
   cameras and microphones in the home.

   This document outlines a set of requirements for providing Networked
   Appliance wide-area accessibility and interworking.  Required
   capabilities include:  control of NAs, event subscription and
   notification, and remote sensor reading.


1.2  Example Home Network Environment

   Figure 1 shows an example of a possible Home Network environment.
   Within the home, a variety of home networking technologies are used
   (X.10, HAVi, 802.11).  An IP-based Local Area Network (LAN)
   interconnects the various networks.  Access to the wider Internet is

S. Tsang et al                                                [Page 2]


Internet Draft     Networked Appliance Requirements     September 2000

   provided through a Residential Gateway (RGW).  The RGW may optionally
   provide additional functions such as firewall and Network Address
   Translator (NAT).

   Each Home Environment has a domain name given to the RGW for access
   to or from appliances and devices with the home.  For example, this
   could be in the form of example_user.example_home.net or for precise
   appliance addressing,
   example_appliance.example_user.example_home.net.  The domain name
   will be used to address users and appliances networked behind the
   RGW.

                          +-------------------------------------------+
                          |                                           |
                          |        TV  VCR  DVD                       |
                          |         |   |   |                         |
                          |         |   |   |                         |
                          |        /+---+---+-\                       |
                          |       |  HAVi      |                      |
                          |     --|  network   |                      |
                          |    /   \----------/                       |
                          |   /        \                              |
                     +--------+ Local   /----------\                  |
     Internet <----->|  RGW/  | Area   |  X.10      +---Lamp          |
                     |Firewall| Network|  network   +---Coffee Maker  |
                     +--------+         \----------/                  |
                          |   \        /                              |
                          |    \      /--------- Internet             |
                          |     ------           Alarm                |
                          |                      Clock                |
                          |                                           |
                          +-------------------------------------------+
                                     Home Environment

          FIGURE 1.  Different networks comprise the Home Environment


1.3  Interworking Different Networks in the Home Environment

   Figure 2 illustrates how different networks within the home
   environment may communicate with each other and the RGW over the LAN
   via an interworking protocol.

   Home networking technologies which do not communicate using IP are
   connected to the home LAN via an Appliance Controller.  Appliance
   Controllers provide interworking between home networking technologies
   and IP, and may additionally provide application layer interworking.
   Appliance Controllers should operate transparently.

   It is envisaged that Appliance Controllers will be required for every
   home networking technology used in the home environment (such as HAVi
   and X.10 as illustrated in Figure 2).

S. Tsang et al                                                [Page 3]


Internet Draft     Networked Appliance Requirements     September 2000


                                 TV  VCR  DVD
                                  |   |   |
                                  |   |   |
                                 /+---+---+-\
                                |  HAVi      |
                                |  network   |
                                 \----------/
                                +------------+
                                | Appliance  |                    Coffee
                               /| Controller |-\\           Lamp  Maker
                            /// | for HAVi   |   \\\          |    |
                          //    +------------+      \\        |    |
                         /                            \       |    |
                        |                    +------------ /--+----+--\
                   +----------+              | Appliance  |  X.10      |
   Internet <----->|   RGW/   | Interworking | Controller |  network   |
                   | Firewall | Protocol     | for X.10    \----------/
                   +----------+ used between +------------+
                        |       RGW and Appliance      |
                         \      Controllers           /
                          \\                        //
                            \\\       +-----------+/
                               \\-    |Internet   |
                                  ----|Alarm Clock|
                                      +-----------+

      FIGURE 2.  Interworking different networks in the Home Environment

   This document discusses the requirements for the interworking
   protocol.


2.  Terminology

   In this document, the key words æMUSTÆ, æMUST NOTÆ, æREQUIREDÆ,
   æSHALLÆ, æSHALL NOTÆ, æSHOULDÆ, æSHOULD NOTÆ, æRECOMMENDEDÆ, æMAYÆ,
   and æOPTIONALÆ are to be interpreted as described in RFC 2119 and
   indicate requirement levels for the protocol.


3.  Definitions

     802.11        Wireless LAN networking technology.
     Bluetooth     Wireless technology for networked devices.
     Domain        An administrative IP domain.
     HAVi          Home Audio Video Interoperability:  A consortium of
                   audio-visual electronics manufacturers who have
                   developed a common, openly-licensable specification
                   for networking digital home entertainment products.

     OSGi          Open Services Gateway initiative:  An industry group

S. Tsang et al                                                [Page 4]


Internet Draft     Networked Appliance Requirements     September 2000

                   working to define and promote an open standard for
                   connecting smart consumer and small business
                   appliances with commercial internet services.
     Jini          Java based device connectivity and discovery
                   framework.
     NA            Networked Appliance:  A dedicated function consumer
                   devices containing at least one networked processor.
     NAT           Network Address Translator.
     RGW           Residential Gateway:  Point of networking and
                   control access to/from a home environment.  The RGW
                   may contain additional functions, such as firewalls
                   and NATs.
     Salutation    An open service discovery and session management
                   protocol developed by the Salutation Consortium.
     UPnP          Universal Plug and Play:  An open architecture for
                   connectivity of PCs of all form factors, intelligent
                   appliances, and wireless devices.
     VHN           Video Electronics Standards Association (VESA) Home
                   Networking:  Networking and control for video
                   appliances developed by the VESA consortium.
     X.10          Early power line based home networking technology.


4. General Requirements

   4.1  Wide-area accessibility of Networked Appliances.

   4.1.1  NAs must be accessible from outside of the home environment.

   4.1.2  For NAs without IP networking capabilities, an Appliance
   Controller should be used to provide interworking between the NA and
   the IP network.

   4.1.3  Only a subset of NAs need to be addressable outside of the
   home. It should be possible to query the home in some way to find
   those that are.

   4.2  Protocol transparency and independence.

   4.2.1  It must be possible to interwork between different in-home
   networking technologies transparently.  This requirement applies to
   both physical networking (e.g., X.10 [6], 802.3, 802.11, Bluetooth
   [7]) and application networking technologies. (e.g., HAVi [2], UPnP
   [4], Jini [5], Salutation [8]).

   4.3  Personal mobility support.

   4.3.1  Networked Appliances must be able to move within the home
   domain, across home domains, within the service provider's domain,
   and across service provider domains.



S. Tsang et al                                                [Page 5]


Internet Draft     Networked Appliance Requirements     September 2000

   4.3.2  Support must be provided for locating and controlling
   Networked Appliances as they move across different home environments
   and networks.

   4.4  Configuration.

   4.4.1  Networked Appliances should (as far as possible) be auto-
   configuring.  There should be minimal user interaction, though users
   should be allowed to manually configure their appliances if desired.

   4.5  Usage Monitoring and Charging

   4.5.1  The home networking environment may optionally allow usage
   records to be created at a variety of granularity levels.  For
   example, usage records may be created on a per session or per message
   basis.


5. Naming & Addressing Requirements

   5.1  NAs must be assigned a generic addressing format which can be
   used to refer to it by any communicating entity.

   5.1.1  NAs may have global IP addresses or local IP addresses (in the
   case when NAs are behind a firewall or proxy).

   5.1.2  In the cases when NAs are not IP-based, the NAs must be
   assigned a generic address.

   5.2  There must be support for classification of addresses and
   selection between multiple instances.  For example, it must be
   possible to search for æall lampsÆ or to allow refinement of a search
   for a particular lamp.

   5.3  Since the specific name for a NA may not be known, a mechanism
   must exist to æsearchÆ for the NA using a well-known language/naming
   schema.

   5.4  The addressing scheme MUST use UTF-8 for character
   representation.


6. Communication Protocol Requirements

   6.1  The communication protocol must provide a flexible payload
   capability which will allow the transport of commands to, and
   responses from, individual NAs or classes of NAs.  More explicitly,
   there must be a separation of transport and data.

   6.2  The protocol must provide reliability against all forms of
   communication errors.  This includes both short æglitchesÆ and long
   term æbreakdownsÆ.  If the communication breakdown is unrecoverable,

S. Tsang et al                                                [Page 6]


Internet Draft     Networked Appliance Requirements     September 2000

   the protocol must be able to signal this to the communicating
   entities.

   6.3  The protocol must support efficient messaging for control.  It
   is expected that control messages for NAs will be short and
   optionally may not form part of an ongoing dialogue.  These messages
   should therefore be delivered in the form of datagrams (sessionless)
   but with reliable semantics.

   6.4  The protocol must support event subscription and notification
   (e.g., the ability to be notified when a lamp is switched on or off).

   6.5  The protocol must support the ability to obtain the output of
   remote sensors (e.g., the output from temperature sensors).

   6.4  The communication protocol must be able to encapsulate various
   appliances characteristics.  For example, some appliances may act and
   respond immediately, while others may only respond after a non-
   determinate amount of time.


7. Communication Mode Requirements

   7.1  Support for the following communications modes is required:

   7.1.1  Control: for example æTurn on the outside lightÆ.

   7.1.2  Queries (e.g., of device state): for example æWhat is the
   temperature in the house?Æ.

   7.1.3  Asynchronous events (ænotificationÆ): for example æNotify me
   when the security alarm goes offÆ.

   7.1.4  Discovery: for example æWhat device can meet requirement x?Æ.

   7.1.5  Support Media streaming (sessions): for example æView the
   babysitter-camÆ.


8. Security Considerations

   Interconnecting home appliances to each other and especially to
   devices outside the home environment introduces a serious possibility
   of æinternet theftÆ. It may now be possible for a rogue entity to
   gain control of home appliances in a way that is very adverse to the
   home owner.  The importance of having a strong security policy is of
   prime importance in such a network.  This section highlights security
   requirements that will need to be followed for such a network.  Note
   that while it is important to protect shared appliances, it is
   equally important to decide which devices are to be shared by
   external entities.


S. Tsang et al                                                [Page 7]


Internet Draft     Networked Appliance Requirements     September 2000

   8.1  Authentication, authorization, privacy, and replay protection
   are required in all communications.

   8.1.1  It should be possible to check communications with devices
   from the wide area at different granularity levels.  Examples
   include:  once per session, per message, or periodically.

   8.2  The contents and device name of the messages must be kept
   private so that eavesdroppers cannot learn about what is in people's
   homes.

   8.3  When Networked Appliances move into environments other than
   their home environment, the visiting appliances and their users must
   be authenticated and authorized.

   8.3.1  Authorization checks may be performed at different granularity
   levels.  Examples include:  per registration (visit), per message or
   periodically.

   8.4  Support for audit capabilities may optionally be supported so
   that traceback and fault control can be performed.

   8.5  Non-repudiation may optionally be supported in all
   communications.

   8.6  Resilience under security attacks.

   8.6.1  It should be possible to dynamically isolate NAs within the
   home environment selectively or completely from external networks.

   8.6.2  The appliances must be able to perform a minimum of functions
   correctly, even in the absence of external communications.


9. References

   [1] OSGi, http://www.osgi.org
   [2] HAVi, http://www.havi.org
   [3] æVHN Home Network,Æ EIA 851, Version 1, to be released 4Q00, See
       http://www.vesa.org for further information.
   [4] UPnP, http://www.upnp.org
   [5] Jini, http://www.jini.org
   [6] X.10, http://www.x10.org
   [7] Bluetooth, http://www.bluetooth.com
   [8] Salutation, http://www.salutation.org


10. Author's Contacts

   Simon Tsang
   Telcordia Technologies
   445 South Street

S. Tsang et al                                                [Page 8]


Internet Draft     Networked Appliance Requirements     September 2000

   MCC 1E 206R
   Morristown, NJ 07960, USA.
   e-mail:  stsang@research.telcordia.com

   Stan Moyer
   Telcordia Technologies
   445 South Street
   MCC 1A-238R
   Morristown, NJ 07960, USA.
   e-mail: stanm@research.telcordia.com

   Dave Marples
   Telcordia Technologies
   445 South Street
   MCC 1J-226B
   Morristown, NJ 07960, USA.
   e-mail: dmarples@research.telcordia.com

   Henning Schulzrinne
   Department of Computer Science
   Columbia University
   M/S 0401
   1214 Amsterdam Avenue
   New York, NY 10027-7003, USA.
   e-mail: hgs@cs.columbia.edu

   Arjun Roychowdhury
   Hughes Software Systems
   Prestige Opal
   146 Infantry Road
   Bangalore 560001, India.
   e-mail: archow@hss.hns.com





















S. Tsang et al                                                [Page 9]