Copyright © 2000, Telcordia Technologies, Inc. Service Portability of Networked Appliances Stan Moyer, Dave Marples, Simon Tsang, Abhrajit Ghosh Telcordia Technologies, Inc., 445 South St., Morristown, NJ 07960 [stanm|dmarples|stsang|aghosh]@research.telcordia.com Abstract This document outlines an approach for delivering services to Networked Appliances using techniques that allow mobility of these services both in a conventional location independent sense and between physical devices. Key requirements to address this market are identified and the document then goes on to present a technical solution to meet these requirements together with worked examples. It concludes with suggestions for further work. 1 Introduction Networked Appliances are popularly viewed as one of the next major Internet growth areas. Example appliances include an alarm clock that can adjust its wake-up time based on your calendar, current weather and traffic conditions and an Internet-enabled home security system which allows you to see the people approaching your home when you are in the office. Another example, seen in a recent US TV advertisement, is a refrigerator that reports to a service station when it needs maintenance, without ever needing to inform the owner. The application of Internet technology to appliance devices opens up whole new vistas of opportunity, the extent of which we can only guess at today. For the purposes of our work, a Networked Appliance (NA) is considered to be a dedicated function consumer device with an embedded processor and a network connection. Often, the end-user service is tied to the actual appliance (as in the case of the Internet Refrigerator), and provides an enhancement to the functionality of the device, which is at a specific fixed location. There are, however, many instances where the service can be separated from the physical appliance. A good example of this is the Internet Alarm Clock [1]. In this case the service itself is the ‘first class citizen’ and the appliance is simply a convenient way to present, or render, the service for presentation to a user. Indeed, when the service is separable from the appliance, the network architecture and protocols should help enable this Service Portability, allowing the service to be rendered onto any suitable delivery platform. For example, the service that automatically starts your coffee maker in the morning should work whether you are at home or in a hotel room. The Alarm Clock should also work no matter if you are in New York or London. This portability brings with it many fringe benefits; the end user is no longer tied to a particular physical location, upgrades can be done centrally and a rental rather than sale revenue model becomes more practical to give but three examples. This paper describes a network architecture and protocol that supports both of these dimensions of service portability - device portability and location independence. These portable services bring with them many challenges, but even more opportunities. 2 Implementing Portability Portability, both in terms of device and location, implies a large number of requirements. In this section these requirements, and the reasoning behind them, is presented. Following on from this, an architecture capable of meeting the identified requirements is presented, based on the IETF Session Initiation Protocol (SIP) [3]. 2.1 Requirements More information about each of the requirements in this section is available to the interested reader in [7]. 2.1.1 Naming and Addressing Since both the location of the device and the physical device itself can vary, the naming and addressing scheme adopted must be capable of supporting both location and device independence. = A NA must be assigned a generic globally unique name such that any communicating entity can unambiguously refer to it. = 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 to a particular lamp. = It must be possible to search for particular capabilities and to identify which NAs possess those capabilities.