The CHANGE project addresses a central problem of today’s Internet: its size and scope make innovation through the introduction of new core network technologies very difficult. The Internet suffers from “ossification”. Even minor changes only happen through the accretion of point solutions that embed knowledge in the network, optimizing today’s applications at the expense of tomorrow’s.
The goal of CHANGE is to reinvigorate innovation on the Internet, in order to better support current services and applications and enable those of tomorrow. This will be achieved by introducing a common concept of a flow-processing platform, instantiated at critical points in the network. Although the platform and its interfaces are common, the processing performed must be programmable, allowing the network to evolve and support the needs of rapidly changing applications. Such platforms can be built from commodity hardware – e.g. x86 servers and commodity switching chipsets –, and are both scalable and powerful while retaining the flexibility to quickly introduce processing primitives.
These platforms form the basis for CHANGE, but the vision is larger. The goal is an architecture that combines multiple communicating flow processing platforms to provide innovative end-to-end services to applications. Thus, conventional traffic flows can be processed at varying degrees of granularity, and application-specific virtual network overlays can be constructed, without impacting other network services or traffic. The aim is to do this within an architectural framework that allows application developers and network operators to reason about the emergent end-to-end behaviour. To validate the architecture, we will implement and deploy a set of novel and diverse applications and services.