Next Generation Internet White Paper Research Directions for the Next Generation Internet: Application-Specific Network Services Ian Philp and Stephen Tenbrink Network Engineering, Group CIC-5 Los Alamos National Laboratory Contact: Ian Philp Network Engineering, Group CIC-5 PO Box 1663, M/S B255 Los Alamos National Laboratory Los Alamos, NM 87545 Phone: (505) 667-4305 Fax: (505) 665-7793 email: philp@lanl.gov ------------------------------------------------------------------------------ Since the inception of the world wide web (WWW), the rapid commercialization of the Internet and the increased communication among the original Internet sites has produced two new and conflicting demands on the Internet backbone: higher bandwidth and real-time services. Higher bandwidth on the links can easily be achieved by using fiber optic transmission facilities. However, the increased bandwidth may go partially unused unless the performance of Internet routers is greatly increased. On the other hand, the constant advancement in presentation capabilities of web browsers is pushing the demand for real-time service guarantees on the Internet infrastructure. Already, we have seen the presentation of information move from static html style pages to dynamic pages with moving text and images using Java applets. The popularity of Java and the proven user interest in real-time audio and video products being produced by Internet start up companies shows that real-time services will be an important aspect in the presentation of information over the Internet. Unfortunately, providing real-time services in the Internet backbone will require increased processing in the routers, thus exacerbating the performance problems that are already being noticed. A problem that has been noted in the area of high-performance computing is the inflexibility of communication protocols that do not allow the programmer to take advantage of application-specific information that can potentially be used to increase application performance. In terms of providing real-time Internet services, we see the potential, to an even greater extent, of running into this problem. In the early stages, people simply do not have enough experience in this area to know what the best protocols, scheduling algorithms, and admission control algorithms are. In addition, many organizations that supply real-time audio and video servers use proprietary compression and flow control algorithms to provide the best possible quality of presentation. These organizations would no doubt use their own packet scheduling algorithms if that option were available. Therefore, we believe that an Internet infrastructure that allows the end-user to provide its own application-specific network services will be of great value. By allowing the user to define the services, we expect that the amount of research effort put into developing appropriate real-time services will greatly increase. However, as stated above, the simple inclusion of any real-time services in the Internet routers will place a significant demand on the ability of the routers to process packets fast enough to fill the available link bandwidth. The inclusion of the ability for an end-user to essentially place programs in the routers may further strain the routers' processing resources and brings up many security issues. However, several recent research results may provide the foundation to solutions of these performance and security problems. For example, many of the security issues related to allowing an untrusted user to execute a program on ones computer system are currently being worked out in the Java/web browser interface arena. While many of the protection issues are becoming well understood, other issues relating to resource allocation (e.g., memory and processor cycles) within the browser need more attention. Recent work in host operating system network design has shown that the overheads introduced by operating system protection (i.e., virtual memory) and fairness (i.e., multiprogramming) can severely limit the achievable application-to-application performance. Specifically, it has been shown that memory copies across protection domains, interrupts, and context switches are the dominating factors that limit observed network latency and throughput. Several research projects have shown that standard and expected protection and fairness criteria can be maintained while allowing a user program direct access to the network hardware, i.e., by implementing an OS bypass mechanism. In addition, by exposing hardware capabilities to the application and by using new network protocols which allow the application to specify buffer placement and interrupt timing, much higher performance can be achieved. In a programmable Internet, where new services may be dynamically injected into the routers, many of these techniques used in host systems for providing low-cost protection and fairness, including the trend toward microkernel operating system design, will prove invaluable for testing, validation, and fault detection. Therefore, the solutions to the aforementioned problems that have been studied in host OS design will be applicable to the design of user- programmable routers in the Internet. Finally, research in the area of real-time systems may provide the basis through which controlled (i.e., scheduled) access to hardware in an Internet router (processor time, buffers, adaptors) may be provided to an untrusted user application. Recent advances in the field of real-time systems are allowing implementors to move away from static hand-scheduled systems to much more dynamic systems where schedulers mathematically guarantee timely access to shared hardware and software resources. Specific advances include the use of priority-based schedulers enhanced to take into account shared software resources (e.g., critical code sections) and precedence relations between tasks. Based on the declared resource requirements, efficient analysis algorithms verify that timely access to shared resources is provided to all tasks.