O. Pfeiffer Internet Draft ESAcademy Document: draft-pfeiffer-remoteaccess-00.txt P. Lukowicz Expires: July 2003 ETH Category: Best Current Practice January 2003 Remote Access to Embedded Devices Status of this Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026 [1]. 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 The aim of this document is to standardize remote access options to parameters of embedded devices with limited resources. Typically such devices are based on 8-bit or 16-bit microcontrollers with limited memory (64K or less) and a low operating frequency (20 MHz or less). The protocol described in this document uses existing markup formats to specify modifiable parameters of embedded devices and existing protocols to transfer these parameters between clients and servers. Conventions used in this document The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC-2119 [2]. Pfeiffer Expires - July 2003 [Page 1] Remote Access to Embedded Devices January 2003 Table of Contents 1. Introduction...................................................2 1.1 Terminology and Abbreviations..............................3 2. Remote Access Parameter Description Format (RAPDF).............5 2.1 RAPDF Outline..............................................5 2.2 Storing the RAPDF..........................................6 3. Protocols and Formats Used.....................................7 4. General RAPDF Usage Example....................................7 Security Considerations...........................................8 References........................................................8 Appendix A û RAPDF Examples.......................................9 Author's Addresses...............................................12 1. Introduction Remote access to embedded devices in our homes, factories, and vehicles or to personal mobile electronic appliances becomes reality. The RFC2324 [3] published on April 1st, 1998 was a humorous approach: getting a coffee machine online and needing a Hyper Text Coffee Pot Control Protocol (HTCPCP/1.0) seemed to be funny at that time. Today RFC2324 does not sound as funny anymore - it is closer to reality today than it was on its publishing date. There is a clear drive in the industry to Internet-enable embedded device like climate control units and appliances - and coffee machines. There are attempts by several companies to Internet-enable their products û with some companies inventing their own proprietary protocols and methods on how to allow remote access via the Internet. Unfortunately this approach is not user-friendly. Users have to get acquainted with different methods and tools on how to access their devices via email, web or other services û and none of them are compatible with each other. The goal of this document is to find a common ground for remote access functionality û from the client viewpoint. No matter what kind of embedded system is connected to the Internet the client should be able to expect some standardized methods for the remote access using common services like email, regular web browsers or minimized web browsers for PDAs or mobile phones,. This document does not invent any new Internet technologies - it just RECOMMENDS how existing protocols and methods should be used to offer users standardized methods for remote access. Pfeiffer Expires - July 2003 [Page 2] Remote Access to Embedded Devices January 2003 For the scope of this document it does not matter how an embedded device is connected to the Internet. Connection can be directly or via a specialized gateway for embedded devices that might use a simple serial link or other lower cost network or fieldbus to exchange information with the embedded devices. However, this document assumes that there is at least one Internet node that manages one or more embedded device(s) and that offers the standardized protocols and methods described in this document to allow remote access to the embedded device(s). We distinguish between three types of devices: 1) Remote Access Client (RAC): the system that attempts to access an embedded device over the Internet. 2) Remote Access Server (RAS): the system that manages the internet access to one or multiple embedded device and 3) Remote Access Device (RAD): the device that is to be accessed through the Internet. In some implementations, the RAS might be implemented directly with one RAD. In others, one RAS will be able to handle multiple RADs. 1.1 Terminology and Abbreviations RAD û Remote Access Device The embedded device(s) that can be accessed via the Internet. RAS û Remote Access Server This is the access point for the Remote Access Client. The RAS manages one or multiple Remote Access Devices and provides the Internet connectivity. The RAS can be part of an embedded device or part of a gateway connecting several Remote Access Devices to the Internet. RAC û Remote Access Client A software or hardware client used to provide remote access to a Remote Access Server. This can be a web browser, email client, PDA or any other internet connected device. RAPDF û Remote Access Parameter Description Format A format that describes all Remote Access Devices and their configurable parameters connected to a single Remote Access Server. Pfeiffer Expires - July 2003 [Page 3] Remote Access to Embedded Devices January 2003 +------------+ +------------+ ! RAS A ! ! RAC ! <--> INTERNET <--> ! with RAPDF ! +------------+ +------------+ ! RAD 1 ! +------------+ FIGURE 1 û Remote Access to a RAS/RAD combination device Figure 1 shows a Remote Access Device (RAD 1) that directly implements a Remote Access Server (RAS A). The RAS A can directly serve RAPDF information to a Remote Access Client (RAC). +------------+ +------------+ ! Web server ! ! RAS B ! <--> INTERNET <--> ! with RAPDF ! +------------+ ! info from ! ! ! RAD 2-4 ! E N ! +------------+ +------------+ m e +---! RAD 2 ! b t ! +------------! e w ! d o ! +------------+ d r +---! RAD 3 ! e k ! +------------! d ! ! +------------+ +---! RAD 4 ! +------------! FIGURE 2 û Remote Access to devices on a local, embedded network Figure 2 shows how one Remote Access Server (RAS B) can handle multiple Remote Access Devices (RAD 2-4). The RADs can be connected to the RAS via a local, low-cost serial network or fieldbus. Depending on resources available to RAS and RAD, the RAS MAY retrieve the RAPDF information from a web server instead from the RAD itself, after the appropriate URL was reported to the RAS by each RAD. Pfeiffer Expires - July 2003 [Page 4] Remote Access to Embedded Devices January 2003 2. Remote Access Parameter Description Format (RAPDF) Every remote access devices has certain parameters/variables that we want to be able to read or write through an Internet connection. All accessible parameters (both, read and write) of a certain device MUST be defined using the Remote Access Parameter Description Format (RAPDF). 2.1 RAPDF Outline RAPDF is based on HTML 4.0 [4] and obeys the following rules: 1.) The header section MUST include the META tag 2.) The body section MUST include AT LEAST ONE HTML FORM. The name of the form and the action identifies exactly one RAD (Remote Access Device). For example:
...
Additionally, it is RECOMMENDED to use the