Safe compositional specification of networking systems. - Bestavros, Azer (Computer communication review.)
The science of network service composition has emerged as one of the grand themes of networking research [17] as a direct result of the complexity and sophistication of emerging networked systems and applications. By "service composition" we mean that the performance and correctness properties local to the various constituent components of a service can be readily composed into global (end-to-end) properties without re-analyzing any of the constituent components in isolation, or as part of the whole composite service. The set of laws that govern such composition is what will constitute that new science of composition. The heterogeneity and open nature of network systems make composition quite challenging, and thus programming network services has been largely inaccessible to the average user. We identify (and outline) a research agenda in which we aim to develop a specification language that is expressive enough to describe different components of a network service, and that will include type hierarchies inspired by type systems in general programming languages that enable the safe composition of software components. We envision this new science of composition to be built upon several theories, possibly including control theory, network calculus, scheduling theory, and game theory. In essence, different theories may provide different languages by which certain properties of system components can be expressed and composed into larger systems. We then seek to lift these lower-level specifications to a higher level by abstracting away details that are irrelevant for safe composition at the higher level, thus making theories scalable and useful to the average user. In this paper we focus on services built upon an overlay traffic management architecture, and we use control theory and QoS theory as example theories from which we lift up compositional specifications.