Internet Evolution and the Need for Compositionality

In the future, the Internet will need to support an even wider variety of applications, stakeholders, resources, endpoint devices, communication functions, service guarantees, and resource policies than it does today. Consequently, from applications and middleware at the top of the Internet stack all the way down to the physical resources, there is a need for more elaborate technology, with both flexibility and predictability.

One approach to achieving both flexibility and predictability is compositionality. The basic idea of a compositional theory is well-known in formal methods. The theory defines the parts of a basic module. Through axioms and theorems, it expresses their semantics and other properties. The theory also defines how modules can be composed to make more complex assemblies. Axioms and theorems also provide the semantics and properties of module compositions. In this way, individual modules can be customized for flexibility and diversity of goals, while the compositional theory makes it possible to reason uniformly about assemblies of them.

Contemporary networking is badly in need of these benefits. In addition, although real networks are vastly more complex than any theory can be, compositional thinking would benefit the practice of networking in two important ways:

In today's networks, new capabilities must be hemmed in carefully, because they can only work on particular traffic or within a particular region.

"Report of the DIMACS Working Group on Abstractions for Network Services, Architecture, and Implementation" (Jennifer Rexford and Pamela Zave; ACM SIGCOMM Computer Communications Review 43(1):56-59, January 2013) summarizes the motivation and results of a workshop in May 2012.

For researchers in formal methods and software engineering, "Formal methods and networking: Former success, current failure" (Pamela Zave, position paper for the NSF, December 2012) explains why networking and network software should be an important focus of effort in the future. See also "Internet evolution and the role of software engineering" (Pamela Zave; The Future of Software Engineering, Sebastian Nanz, editor, Springer, 2011), which describes many aspects of these ideas in more detail.

The Geomorphic View of Networking

The geomorphic view of networking is an abstract model of networking, designed to be compositional as defined above. It is proposed as an alternative to the layers of the OSI reference model or classic Internet architecture. Although the geomorphic view also has layers, it is very different:
We call it the "geomorphic view" because the complex arrangement of layers in a network resembles the arrangement of layers in the earth's crust.

This paper is currently the best introduction to the geomorphic view:

You might also be interested in these slightly older introductions: Currently Jennifer Rexford and I are exploring applications of the geomorphic view to security in SDN, mobility, middleboxes, multihoming, group names (e.g., anycast, multicast, and named-data networking), and teaching networking.