NGI Research and Development Priorities Ray Bair, Pacific Northwest National Laboratory Stu Loken, Lawrence Berkeley National Laboratory Rick Stevens, Argonne National Laboratory The Internet is essential to the Department of Energy in all aspects of its programs. DOE's nationwide computer network, ESnet, interconnects the Energy Research community and its partners, facilitating collaborations and providing scientists across the nation and around the world with access to DOE computing, information, and experimental facilities. ESnet also provides key elements of the advanced infrastructure for DOE research programs in networking, distributed computing, and electronic collaboration. As DOE use of internetworking has grown, it has become clear that present capabilities and approaches cannot simply be scaled up to meet the needs of the department and the nation. The Next Generation Internet initiative must provide a new generation of communication capabilities that support much tighter integration of projects and facilities, that enable diverse and geographically separated teams to address complex issues, and that offer location-independent access to advanced computational resources--including terabyte and petabyte data archives. The priorities for NGI research and development within DOE are driven by three major issues: (1) the need to support large-scale and widely distributed science and technology collaborations, (2) the need to build very large, distributed applications that make use of supercomputers, research facilities, and databases, and (3) the need to use a shared network infrastructure to support its programs. These requirements, in turn, define key elements of an NGI R&D agenda, including work on a new generation of network protocols and services and creation of the middleware to support distributed applications and collaborative work. Collaboratories By exploiting the capabilities of the NGI, laboratories without walls (or collaboratories) have the potential to revolutionize how resources and expertise are combined and applied to research projects. Collaboratory applications place heavy performance demands on underlying network bandwidth, reliability, latency, number of receivers, etc. To meet these demands will require (a) protocols for high-bandwidth, low-latency connectivity, (b) a quality of service (QoS) management infrastructure that allows application QoS requirements to be translated into appropriate scheduling operations at the network level, and (c) support for reliable multicast, so that data generated by a single sender can be propagated reliably to multiple receivers. Without these capabilities, emerging collaboratory applications will not obtain acceptable performance from networks. Protocols: The rapidly growing congestion from increasing Web use confirms that a significant problem exists with the current protocol model. This model has very poor scaling properties and will not meet the needs of the NGI. What is needed is a new model that incorporates caching and can provide data from whoever has it. An approach, based on Application-Level Framing (ALF), will provide a robust distributed memory that supports Web caching. Also, the concept of a Universal Resource Locator (URL) will change Internet references from a location to the name of the desired entity. Quality of Service: Effective use of NGI resources requires multiple levels of service and network-wide agreements on the use of shared resources. Abstractions are needed for organizational priorities. An important component is the development of a bandwidth broker application, which will function in an administrative hierarchy that can directly manipulate the bandwidth allocation machinery to provide sustained bandwidth to an application. Reliable Multicast: The use of multicast has become a critical part of the support for large-scale collaborative work. In many applications, however, multicast must be extended to ensure that all participants have received the same data or views. Multicast reliability must be implemented over the full range of applications and should accommodate delivery from multiple sources. Facilities on Line To manage shared resources like experimental facilities and computers, as well as the network itself, a decentralized mechanism is needed for user authentication to ensure that the use of resources conforms to existing agreements. Therefore, a critical component of a NGI is the development and deployment of a scalable, decentralized authority with generalized public-key certificate security architecture for authentication, authorization, integrity, privacy, remote instrument resource access control, and security context establishment for communication services for distributed computation. Other aspects include IPv6 security and key management, certification and validation of services through trusted service agents, and integration of certification authority and public-key infrastructures. High-Performance Transport In remote experiments, metacomputing, and collaborative engineering, datastreams produced by instruments must be transported rapidly and reliably to local and remote storage systems. In metacomputing applications, researchers must be able to communicate and synchronize activities. Most existing standards such as DCE and CORBA do not focus on high-performance communication and do not support specialized communication structures commonly used in scientific programs, such as message passing, collective operations, and stream-based transfers. Systems that do focus on high performance, such as MPI and active messages, are not broadly available in heterogeneous environments. The need for message security and integrity introduces additional performance demands. Resource Location and Allocation Widespread deployment and use of the NGI will require tools for dynamically locating, characterizing, scheduling, controlling, and monitoring resources used by computing, information and collaboratory applications. These resources will have widely varying characteristics and interfaces. Currently, applications deal with heterogeneity poorly---using a fixed set of resources, scheduling from a predefined set (as in DCE), or operating on a best effort basis (e.g., networks). By defining and deploying standard mechanisms for accessing information about resources and manipulating resources, we can enhance both portability and performance. New-Generation Middleware Interoperability, portability, extensibility, and code reusability are central concerns for NGI applications. A new generation of middleware is needed. For example, one DOE program is addressing these issues by producing a collaboratory software bus based on CORBA and Java technologies. Existing CORBA and Java services are being extended to incorporate new services required for collaboratory applications, such as multicast, high-performance transport, and asynchronous invocation. A streamlined public domain CORBA system will be deployed to enable widespread access to CORBA technology, and a set of template applications that use these services will guide application developers.