A Dynamic Recursive Unified Internet Design (DRUID) Joe Touch a, , Ilia Baldine b , Rudra Dutta d , Gregory G. Finn a , Bryan Ford e , Scott Jordan f , Dan Massey g , Abraham Matta c , Christos Papadopoulos g , Peter Reiher h , George Rouskas d a USC/ISI, 4676 Admiralty Way, Marina del Rey, CA 90292-6695, United States b Renaissance Computing Institute (RENCI), North Carolina State University’s Centennial Campus, Partners I Building, Suite 1500 and Engineering Building II, Room 1235, Raleigh, NC 27606, United States c Computer Science Department, Boston University, Boston, MA 02215, United States d Department of Computer Science, North Carolina State University, Raleigh, NC 27695-8206, United States e Department of Computer Science, Yale University, 51 Prospect Street, New Haven, CT 06511, United States f 3019 Bren Hall, Department of Computer Science, University of California, Irvine, Irvine, CA 92697-3435, United States g Colorado State University, Department of Computer Science, 1873 Campus Delivery, Fort Collins, CO 80523, United States h 3564 Boelter Hall, UCLA, 405 Hilgard Ave., Los Angeles, CA 90095, United States article info Article history: Available online xxxx Keywords: Network architecture Future internet Recursive networks Dynamic stacks abstract The Dynamic Recursive Unified Internet Design (DRUID) is a future Internet design that unifies overlay networks with conventional layered network architectures. DRUID is based on the fundamental concept of recursion, enabling a simple and direct network architec- ture that unifies the data, control, management, and security aspects of the current Inter- net, leading to a more trustworthy network. DRUID’s architecture is based on a single recursive block that can adapt to support a variety of communication functions, including parameterized mechanisms for hard/soft state, flow and congestion control, sequence con- trol, fragmentation and reassembly, compression, encryption, and error recovery. This recursion is guided by the structure of a graph of translation tables that help compartmen- talize the scope of various functions and identifier spaces, while relating these spaces for resource discovery, resolution, and routing. The graph also organizes persistent state that coordinates behavior between individual data events (e.g., coordinating packets as a con- nection), among different associations (e.g., between connections), as well as helping opti- mize the recursive discovery process through caching, and supporting prefetching and distributed pre-coordination. This paper describes the DRUID architecture composed of these three parts (recursive block, translation tables, persistent state), and highlights its goals and benefits, including unifying the data, control, management, and security planes currently considered orthogonal aspects of network architecture. Ó 2010 Elsevier B.V. All rights reserved. 1. Introduction The Dynamic Recursive Unified Internet Design (DRUID) is a future Internet architecture based on the repeated use of a single, flexible functional unit for different capabilities over different scopes of a communication service. DRUID allows common protocol functions and capabilities to be reused from within a single block, avoiding the need for recapitulated implementation, and allowing these func- tions and scopes to be dynamically determined, enabling the service to adapt to changes in the local machine and 1389-1286/$ - see front matter Ó 2010 Elsevier B.V. All rights reserved. doi:10.1016/j.comnet.2010.12.016 Corresponding author. E-mail addresses: touch@isi.edu (J. Touch), ibaldin@renci.org (I. Baldine), dutta@ncsu.edu (R. Dutta), finn@isi.edu (G.G. Finn), bryan.ford@ yale.edu (B. Ford), sjordan@uci.edu (S. Jordan), massey@cs.colostate. edu (D. Massey), matta@bu.edu (A. Matta), christos@cs.colostate.edu (C. Papadopoulos), reiher@cs.ucla.edu (P. Reiher), rouskas@ncsu.edu (G. Rouskas). Computer Networks xxx (2011) xxx–xxx Contents lists available at ScienceDirect Computer Networks journal homepage: www.elsevier.com/locate/comnet Please cite this article in press as: J. Touch et al., A Dynamic Recursive Unified Internet Design (DRUID), Comput. Netw. (2011), doi:10.1016/j.comnet.2010.12.016