Networked Resource Management and Distributed System Building Blocks

Alex Shvartsman, University of Connecticut

Our ability to use information and resources available in the globally networked environments is bounded by our ability to develop and deploy distributed applications, but also by our ability to control and manage the networked hardware and software resources. This requires networked resource management systems that are themselves complex applications, constructed with the help of application frameworks that, for example, include middleware packages such as DCE. Frameworks for resource management applications need to include building blocks with well-defined interfaces, and where required, with formal statements on compositionality, semantics and performance. Based on experience with distributed system development, we present several important architected features of such frameworks. Extant middleware, in many cases, stops short of satisfying the framework requirements because middleware provides functions at a low-level of abstraction, and even when higher-level functions are available, they often have informal specifications, thus providing only a modest benefit. We give examples of formally-specified building blocks, and we describe an experimental implementation of one such building block that is useful for systems, such as directory services and distributed repositories, that incorporate replicated objects with flexible consistency/performance trade-off properties.