Spawning Networks COMET Group Columbia University
g e n e s i s People Andrew T. Campbell (Columbia) Herman G.De Meer (Univ. of Hamburg) Michael E.Kounavis (Columbia) Kazuho Miki (Hitachi) John Vicente (Intel) Daniel Villela (Columbia)
g e n e s i s Motivation deployment of network architectures: ad-hoc in nature and costly no systematic exploration of the “network design space” virtual networking isolation and privacy quality of service support
g e n e s i s State of the Art open programmable interfaces OPENSIG, IEEE P1520 deployment at runtime DARPA Active Networks multiple control architectures Multiservice Switching Forum
g e n e s i s Spawning Networks new class of programmable networks capable of creating new architectures on-the-fly automate a “life cycle” process enabling technology: the Genesis kernel
g e n e s i s cellular IP virtual network child virtual network differential service virtual network physical network
g e n e s i s Life Cycle profiling Captures the “blueprint” of the virtual network spawning allocates resources, sets up topology, binds transport, control, and management management architecting resource management
g e n e s i s Design Principles separation transparency of operation between parent and child networks nesting child networks, can be parent of their own children inheritance architectural components provisioning characteristics
g e n e s i s Genesis Kernel spawning metabus #2 network architecture #2 child virtual network kernel transport environment metabus #1 binding interface base life cycle services network architecture #1 parent virtual network kernel programming environment
g e n e s i s Transport Environment consists of programmable virtual nodes called “routelets” routelets : interconnected via “virtual links” share parent routelet resources may coexist in the same physical node virtual links : abstractions of resource partitions
g e n e s i s L1, L2, and L3 partitioning L1: WDM L2: Switchlets (Cambridge Univ.) L3: Routlets (Columbia Univ.)
g e n e s i s Routelet Architecture input port output port forwarding engine spawning controller composition controller allocation controller datapath controller routelet state control unit metabus binding interface base
g e n e s i s Nested Routelets input port output port forwarding engine local routing control local traffic control virtual network demultiplexor packet input port forwarding engine capacity arbitrator virtual network classifier virtual network traffic control local traffic control local routing control output port
g e n e s i s Programming Environment spawning networks program their own routelets deploy network architectures metabus per-virtual network software bus for object interaction partitions distributed object space binding interface base supports open routelet control
g e n e s i s transport QOS control routing management virtual network architecture life cycle services Spawner Profiler Maestro Architect life cycle server spawning architecting profiling resource management GUI binding interface base VirtualRouteletState VirtualDatapathController VirtualSpawningController VirtualCompositionController VirtualAllocationController metabus
g e n e s i s Life Cycle Services support profiling spawning and management of virtual networks inherited during the spawning process programmable upon the binding interface base and metabus
g e n e s i s Profiling topology specified in terms of a set of parent nodes and links architectural elements specified in terms of routelet components, and communication protocols resource requirements required bandwidth capacity classes
g e n e s i s Profiling System life cycle server profiling architecting spawning resource management GUI profiler verifiers profile database profile database policy server
g e n e s i s Spawning spawning services spawner, constructors, component storage spawning process: creates child routelets binds them together through virtual links creates a metabus deploys life cycle services deploys a network architecture
g e n e s i s life cycle server profiling architecting spawning resource management GUI spawner constructor input port forwarding engine spawning controller composition controller allocation controller datapath controller BIB routelet state CPU metabus output port arbitrator classifier
g e n e s i s CPU routelet state life cycle server profiling architecting spawning resource management GUI spawner constructor input port forwarding engine spawning controller composition controller allocation controller datapath controller BIB routelet state CPU metabus arbitrator classifier output port
g e n e s i s CPU routelet state life cycle server profiling architecting spawning resource management GUI spawner constructor input port forwarding engine spawning controller composition controller allocation controller datapath controller BIB routelet state CPU metabus arbitrator classifier output port
g e n e s i s CPU routelet state spawning controller composition controller allocation controller life cycle server profiling architecting spawning resource management GUI spawner constructor BIB routelet state CPU metabus input port forwarding engine spawning controller composition controller allocation controller datapath controller arbitrator classifier output port
g e n e s i s CPU input port forwarding engine routelet state spawning controller composition controller allocation controller output port datapath controller life cycle server profiling architecting spawning resource management GUI spawner constructor BIB routelet state CPU metabus input port forwarding engine spawning controller composition controller allocation controller datapath controller arbitrator classifier output port
g e n e s i s metabus output port life cycle server profiling architecting spawning resource management GUI spawner constructor BIB routelet state CPU metabus input port forwarding engine spawning controller composition controller allocation controller datapath controller arbitrator classifier life cycle services BIB CPU routelet state spawning controller composition controller allocation controller datapath controller input port forwarding engine output port
g e n e s i s metabus output port life cycle server profiling architecting spawning resource management GUI spawner constructor BIB routelet state CPU metabus input port forwarding engine spawning controller composition controller allocation controller datapath controller arbitrator classifier life cycle services BIB CPU routelet state spawning controller composition controller allocation controller datapath controller input port forwarding engine output port child network architecture
g e n e s i s Virtual Network Management Architecting virtual networks can be visualized services can added modified or deleted Resource Management distributed auctioning process slow timescale capacity classes as general “resource pipes” inheritance and autonomous control
g e n e s i s Management System arbitrator metabus BIB VirtualDatapathController delegate monitor auctioneers maestro spawner admission control interfaces resource management interfaces
g e n e s i s Related Word Tempest Project Multiple Control Architectures Netscript Project Virtual Active Networks X-Bone Automates the deployment of IP overlays Supranet Secure collaborative environments
g e n e s i s Conclusion Spawning Networks: automate the life cycle process result in better network customization enable the deployment of new network services genesis : /’d3en|s|s/ n. 1. The origin, or mode of formation or generation of a thing