It's Elementary, Dear Watson: Applying Logic Programming To Convergent System Management Processes
LISA '99 Proceedings of the 13th USENIX conference on System administration
Why do internet services fail, and what can be done about it?
USITS'03 Proceedings of the 4th conference on USENIX Symposium on Internet Technologies and Systems - Volume 4
PoDIM: a language for high-level configuration management
LISA'07 Proceedings of the 21st conference on Large Installation System Administration Conference
Configuration management at massive scale: system design and experience
ATC'07 2007 USENIX Annual Technical Conference on Proceedings of the USENIX Annual Technical Conference
Shadow configuration as a network management primitive
Proceedings of the ACM SIGCOMM 2008 conference on Data communication
Declarative Infrastructure Configuration Synthesis and Debugging
Journal of Network and Systems Management
The SmartFrog configuration management framework
ACM SIGOPS Operating Systems Review
Extracting Network-Wide Correlated Changes from Longitudinal Configuration Data
PAM '09 Proceedings of the 10th International Conference on Passive and Active Network Measurement
Towards systematic design of enterprise networks
CoNEXT '08 Proceedings of the 2008 ACM CoNEXT Conference
Sat-solving approaches to context-aware enterprise network security management
IEEE Journal on Selected Areas in Communications - Special issue on network infrastructure configuration
Configuration management at massive scale: system design and experience
IEEE Journal on Selected Areas in Communications - Special issue on network infrastructure configuration
Scalable formula decomposition for propositional satisfiability
Proceedings of the Third C* Conference on Computer Science and Software Engineering
A systematic approach for evolving VLAN designs
INFOCOM'10 Proceedings of the 29th conference on Information communications
Dependable self-hosting distributed systems using constraints
HotDep'08 Proceedings of the Fourth conference on Hot topics in system dependability
Empirical study of the anatomy of modern sat solvers
SAT'11 Proceedings of the 14th international conference on Theory and application of satisfiability testing
Policy expressivity in the Anzere personal cloud
Proceedings of the 2nd ACM Symposium on Cloud Computing
Towards systematic design of enterprise networks
IEEE/ACM Transactions on Networking (TON)
Automated verification of virtualized infrastructures
Proceedings of the 3rd ACM workshop on Cloud computing security workshop
Towards formalizing network architectural descriptions
ABZ'10 Proceedings of the Second international conference on Abstract State Machines, Alloy, B and Z
Optimizations for compiling declarative models into boolean formulas
SAT'05 Proceedings of the 8th international conference on Theory and Applications of Satisfiability Testing
Integrated management of network and security devices in IT infrastructures
Proceedings of the 7th International Conference on Network and Services Management
A logical approach to data-aware automated sequence generation
Transactions on Computational Science XV
A declarative approach to automated configuration
lisa'12 Proceedings of the 26th international conference on Large Installation System Administration: strategies, tools, and techniques
Minimizing network complexity through integrated top-down design
Proceedings of the ninth ACM conference on Emerging networking experiments and technologies
Hi-index | 0.00 |
Complex, end-to-end network services are set up via the configuration method: each component has a finite number of configuration parameters each of which is set to a definite value. End-to-end network service requirements can be on connectivity, security, performance and fault-tolerance. However, there is a large conceptual gap between end-to-end requirements and detailed component configurations. To bridge this gap, a number of subsidiary requirements are created that constrain, for example, the protocols to be used, and the logical structures and associated policies to be set up at different protocol layers. By performing different types of reasoning with these requirements, different configuration tasks are accomplished. These include configuration synthesis, configuration error diagnosis, configuration error fixing, reconfiguration as requirements or components are added and deleted, and requirement verification. However, such reasoning is currently ad hoc. Network requirements are not even precisely specified hence automation of reasoning is impossible. This is a major reason for the high cost of network management and total cost of ownership. This paper shows how to formalize and automate such reasoning using a new logical system called Alloy. Alloy is based on the concept of model finding. Given a first-order logic formula and a domain of interpretation, Alloy tries to find whether the formula is satisfiable in that domain, i.e., whether it has a model. Alloy is used to build a Requirement Solver that takes as input a set of network components and requirements upon their configurations and determines component configurations satisfying those requirements. This Solver is used in different ways to accomplish the above reasoning tasks. The Solver is illustrated in depth by carrying out a variety of these tasks in the context of a realistic fault-tolerant virtual private network with remote access. Alloy uses modern satisfiability solvers that solve millions of constraints in millions of variables in seconds. However, poor requirements can easily nullify such speeds. The paper outlines approaches for writing efficient requirements. Finally, it outlines directions for future research.