The basic building blocks in industrial automation systems are programmable logic controllers (PLC), dedicated control devices that interface with the physical instruments or sensors. Traditionally PLCs are connected together and with central control computers through a closed and proprietary network technology, because of special timing and/or hardware constraints. As Ethernet dominates the desktop computer world, its price is dropping precipitously. For example, 10 Mbits/sec ISA-based Ethernet adapters cost about $15, and yet 10 Mbits/sec is abundant for automation control applications. Moreover, as PLCs are themselves evolving towards PC-based hardware, choosing Ethernet as the backplane network technology makes even more sense. The only problem is that commodity Ethernet hardware can not provide any performance guarantee, for the following two reasons. First, Ethernet's media access control protocol is CSMA/CD, which relies on an exponential backoff algorithm to resolve link collision among multiple nodes when they attempt to send data simultaneously. Due to the probabilistic nature of the exponential backoff algorithm, network access delay is inherently non-deterministic. Second, Ethernet does not support prioritization of packets. This means that time-critical network packets could be held up waiting for time-insensitive packets.
The RETHER project set out to develop an efficient delay/bandwidth bandwidth guarantee mechanism over off-the-shelf Ethernet without any hardware modification. With RETHER , industrial automation systems could use commodity Ethernet as the underlying network, thus reaping the benefits of economies of scale from the PC industry. RETHER is designed to be a software-only solution that is built into the device driver of the host operating system. Because it is part of the device driver, RETHER is transparent to higher-level network protocols such as TCP/UDP and IP. Consequently, all existing network applications can continue to run on a RETHER network without any changes. New real-time applications have to be specifically written against the API provided by RETHER , which is based on the industry-standard socket interface.
The design of RETHER also minimizes the performance overhead associated with supporting delay/bandwidth guarantees. In particular, RETHER features a hybrid mode of operation that automatically switches an Ethernet network between the RETHER mode and the CSMA/CD mode, depending on whether there are real-time connections active at the time. In the case of no active real-time connections, the network operates according to the CSMA/CD protocol, thus providing the same performance to non-real-time applications. To avoid starvation, RETHER ensures that a certain amount of bandwidth be reserved for non-real-time traffic. The reserved amount is chosen so that existing higher level network protocols such as TCP or NFS would not time out unnecessarily, and thus are to a large extent isolated from the existence of RETHER .
The rest of this paper is organized as follows. In Section 2, we describe the programming interface and performance guarantee mechanisms of RETHER in the single-segment Ethernet environment. Then we use the single-segment RETHER protocol as the building block for multi-segment RETHER in Section 3. In Section 4, we present the performance measurements and implementation experiences of RETHER from our operational prototype. Section 5 reviews related work in this area to put the contribution of RETHER in perspective. Section 6 concludes this paper with a summary of the RETHER project and the current status of the report.