Building on the author’s extensive experience in industry and government agencies, this book proposes a general framework for integrating the management of networked systems in the IP world. The Web-based Integrated Management Architecture (WIMA) leverages XML’s self-description capability to integrate SNMP data and CIM objects in a seamless manner. The first part of the book begins with a detailed analysis of SNMP; it highlights its strengths and weaknesses and justifies the need for object-oriented information models such as CIM. Next, the author summarizes the different paradigms considered in management research and industry in the past decade, compares the suitability of different middleware solutions, and concludes that with current technologies, Web-based management makes a lot of technical sense and is not just trendy.The second part goes into software engineering detail and discusses tradeoffs for organizing manager-to-agent communication. In WIMA, agents publish the monitoring data and notifications they can send, and management applications (managers) subscribe to them in a semi- or fully automated way. The same publish-subscribe paradigm is used for manager-to-manager communication, when managers are organized hierarchically to manage a large domain or different domains. We explain why this solution decreases network overhead and improves scalability. Security issues are also investigated.The third part of the book presents the high-level design of JAMAP, a research prototype that implements the main components of the WIMA architecture. Its code is freely available and released under the GPL license. This prototype is currently being ported to Web Services. Finally, the author compares WIMA with SNMP, WBEM/CIM and JMX and concludes that WBEM could evolve into WIMA in the future.This book is primarily aimed at software architects and engineers who design and write management applications. It should also be of interest to administrators and people who are versed into management architectures.
Jean-Philippe Martin-Flatin is the author of Web-Based Management of IP Networks and Systems, published by Wiley.
List of Figures xvList of Tables xviiForeword xixPreface xxi1 Introduction 11.1 Background 11.2 Context of This Work 41.3 Caveat 61.4 Organization 72 Terminology 92.1 IP World vs. Telecommunications World 102.2 Different Types of Enterprise Management 102.3 Manager, Agent, Management Application, Management Platform, and Management System 142.4 Manager vs. Administrator 152.5 Agent, Mobile Agent, and Intelligent Agent 152.6 Proxy vs. Gateway 152.7 Delegation 162.8 Paradigm vs. Technology 172.9 Architecture vs. Framework 182.10 Firewalls and Trust Domains 182.11 Regular Management vs. Ad Hoc Management 202.12 Ontologies, Schemas, and Models 223 Problem Statement 253.1 Characteristics of SNMP-Based Management 253.2 Strengths of SNMP-Based Management 333.3 Problems with SNMP-Based Management 333.3.1 Scalability and efficiency issues 333.3.2 Missing features 463.3.3 Non-technical problems in SNMP-based management. 493.4 We Need a New Solution to a New Problem 533.5 Summary 564 Overview of the Solution Space 574.1 Simple Taxonomy of Network and Systems Management Paradigms 584.1.1 Centralized paradigm 604.1.2 Weakly distributed hierarchical paradigms 614.1.3 Strongly distributed hierarchical paradigms 634.1.4 Strongly distributed cooperative paradigms 694.1.5 Synthetic diagram 714.2 Enhanced Taxonomy of Network and Systems Management Paradigms 724.2.1 A stroll through organization theory 724.2.2 Other criteria for our enhanced taxonomy 784.2.3 Synthetic diagram 854.3 Summary 865 Analysis of the Solution Space 875.1 No Win-Win Solution 875.2 Do Not Focus on Technology Immediately 895.3 Reality Check: Support and Technical Maturity 905.4 The My-Middleware-Is-Better-Than-Yours Syndrome 925.5 Mobile Code and Security 945.6 Distribution 955.7 Web-Based Management 955.8 Summary 966 State of the Art in Web-Based Management 976.1 Browser-Based Usage Monitoring 986.2 Browser-Based Metamanagement 996.2.1 Online problem reporting 1006.2.2 Online management procedures, online documentation 1006.2.3 Online troubleshooting assistance 1016.3 Browser-Based Management 1016.3.1 Troubleshooting scripts executed via a Web browser 1026.3.2 Configuration management 1026.3.3 Java applet with an SNMP stack 1036.4 Three-Tier Management 1036.4.1 Deri et al.: SNMP-to-URL mapping 1046.4.2 Kasteleijn: HTTP and SNMP 1046.4.3 Integration of a Web browser in the SNMP-based management platform 1056.4.4 Deri: Java RMI and SNMP 1056.5 HTTP-Based Management 1056.5.1 CLI wrappings and mappings 1076.5.2 Embedded HTML pages and CGI programs 1156.5.3 Embedded management applications 1166.5.4 Low-footprint embedded HTTP servers 1166.6 XML-Based Management 1176.6.1 Web-Based Enterprise Management (WBEM) 1176.6.2 John et al.: XNAMI 1226.7 Distributed Java-Based Management 1236.7.1 Java Management Application Programming Interface (JMAPI) 1236.7.2 Java Management eXtensions (JMX) 1246.7.3 Federated Management Architecture (FMA) 1246.7.4 Anerousis’s Marvel 1246.8 Commercial Products 1256.9 Summary 1267 A New Management Architecture: WIMA 1277.1 Main Architectural Decisions (Analysis Phase) 1287.1.1 One management architecture, four models 1287.1.2 No need to define yet another information model 1317.1.3 Dissociation of the communication and information models 1317.1.4 A new organizational model: WIMA-OM 1327.1.5 A new communication model: WIMA-CM 1377.2 Main Design Decisions (Design Phase) 1387.2.1 Web technologies 1387.2.2 Three-tier architecture 1397.2.3 Management server: COTS components and object-oriented frameworks 1407.2.4 Management-data transfers across firewalls 1427.2.5 Data repository independent of the management platform 1427.2.6 Bulk transfers of regular management data 1447.2.7 Dealing with legacy systems 1447.2.8 Richer semantics 1447.2.9 Easy to deploy 1457.3 Regular Management and Notification Delivery: The Push Model 1457.3.1 Publication phase 1467.3.2 Discovery phase 1467.3.3 Subscription phase 1527.3.4 Distribution phase 1587.3.5 Distribution 1637.3.6 Migration path: four-tier architecture 1687.4 Ad Hoc Management: The Pull Model 1687.4.1 Two-tier architecture (no firewall) 1697.4.2 Three-tier architecture (with firewall) 1717.4.3 Distribution 1727.4.4 Migration path 1737.5 Summary 1738 A New Communication Model: WIMA-CM 1758.1 Two Communication Problems 1758.1.1 Simplified terminology 1768.1.2 Communication problem for pushed data 1768.1.3 Communication problem for pulled data 1778.2 Main Design Decisions 1778.2.1 Dissociation of the communication and information models 1778.2.2 Reliable transport protocol: TCP 1788.2.3 Persistent TCP connections 1818.2.4 Firewalls: persistent connections must be created by the manager 1918.2.5 Reversed client and server roles 1938.3 The Sockets API as a Manager-Agent Communication API 1948.4 HTTP-Based Communication for Pushed Data: WIMA-CM-push 1958.4.1 MIME multipart.1968.4.2 Some notifications are more equal than others 1978.4.3 Specifying the information model in the MIME header 2008.4.4 Optional compression of management data 2028.4.5 Example of HTTP and MIME-part headers 2038.4.6 Simplifications in case we do not have a firewall 2048.5 Timeouts and Reconnections 2058.5.1 Timeouts by the operating systems 2058.5.2 Timeouts by the applications 2158.5.3 Synthesis 2198.6 HTTP-Based Communication for Pulled Data: WIMA-CM-pull 2218.7 Summary 2229 XML in Integrated Management 2239.1 Why Use XML in NSM? 2239.1.1 Overview of XML 2249.1.2 Who uses XML? 2249.1.3 Advantages of using XML in general 2259.1.4 Advantages of using XML in NSM 2269.1.5 Advantages of using XML in integrated management 2279.1.6 Disadvantages of using XML in general 2289.2 XML for Representing Management Data: Model- and Metamodel-Level Mappings 2289.2.1 Model-level mapping 2299.2.2 Metamodel-level mapping 2329.2.3 Comparison between model- and metamodel-level mappings 2359.3 XML for Dealing with Multiple Information Models 2359.4 XML for High-Level Semantics 2389.4.1 Transfer of an entire SNMP MIB table 2389.4.2 Suppression of “holes” in sparse SNMP tables 2399.4.3 Time series of a MIB variable 2399.4.4 Distributed object-oriented programming with XML 2419.5 XML for Integrated Management: a Unified Communication Model 2429.6 Summary 24410 A WIMA-Based Research Prototype: JAMAP 24510.1 Overview of JAMAP 24610.1.1 Key design decisions at a glance 24610.1.2 More on the design of JAMAP 24710.1.3 Advanced Java technologies in JAMAP 24810.1.4 Overview of the communication aspects 24910.1.5 Distribution phase for monitoring and data collection 25110.1.6 Distribution phase for notification delivery 25210.2 Management Station 25310.2.1 SNMP MIB data subscription applet 25310.2.2 SNMP notification subscription applet 25410.2.3 Rule edition applet and rule mapping applet 25410.2.4 Event log applet 25510.3 Management Server 25510.3.1 Pushed-data collector servlet 25510.3.2 Notification collector servlet 25710.3.3 Event manager servlet 25710.4 Agent 25810.4.1 Subscription servlet 25810.4.2 Push dispatcher servlet 25810.4.3 Notification dispatcher servlet 25910.5 Reusability 25910.6 Summary 26011 How Does Our Solution Compare with Others? 26111.1 Comparison with SNMP-Based Management 26211.1.1 Almost all of the problems in SNMP have been solved 26211.1.2 Complementarities between WIMA and SNMP 26411.2 Comparison with WBEM 26411.2.1 Similarities: HTTP and XML 26411.2.2 Problems with WBEM 26511.2.3 Complementarities between WIMA and WBEM 26711.3 Comparison with JMX 26711.4 Known Problems with WIMA 26811.5 Summary 27012 Conclusion 27112.1 Summary.27112.2 Directions for Future Work 274Acronyms 277References 283Appendix A: The Interfaces Group in SNMP MIB-II 299Appendix B: Metamodel-Level XML Mapping of the Interfaces Group in SNMP MIB-II 309Appendix C: Metamodel-Level XML Mapping of a Simple CIM Class 319Appendix D: Remote Method Invocation of a CIM Object 325Index 327