Cartographer

From Krupczak.org
Revision as of 17:12, 30 March 2007 by Rdk (Talk | contribs)

Jump to: navigation, search

Contents

Cartographer

Why the name Cartographer? We chose this name to reflect the fact that our software builds and analyzes maps of distributed systems. It does not build maps in the traditional sense -- topography is not collected nor stored. Instead, the relationships between systems and applications are discovered and identified. These relationships are then analyzed in order to assess the health and availability of the distributed system as a whole.

Overview

Cartographer builds, tracks, and maintains the relationships between systems and applications in a distributed system. It does so through the dispersal of agents throughout a distributed system. These relationships form a dependency graph. We borrow from the Graph Theory branch of mathematics. In our model, systems and applications are represented as nodes or vertices and dependencies are represented as edges. More specifically, we use directed graphs to indicate that dependencies are between a client and server.

Supported Platforms

Cartographer is supported on the following platforms:

  • Solaris 9+ on Sparc
  • Solaris 9+ on x86
  • Linux systems containing 2.4+ kernels on x86
  • Windows 2000/XP/2003

Manager

Agent

Management Protocol

Cartographer's management protocol is a custom-designed, XML-based, management protocol transported via SSL over TCP. The protocol adapts and extends the Internet Management Framework's structure of management information(SMI). Further, the protocol utilizes XML for both data modeling and transport. The choice of XML provides more future-proofing than the original Basic Encoding Rules (BER) that SNMP utilizes. Further, choosing XML allows us to take advantage of all the XML tools and code libraries in existence today. For now, the protocol is called the XML management protocol or XMP for lack of a better name. This name should not be confused with the IETF XMPP Extensible Messaging and Presence Protocol.

Peer-to-Peer

Cartographer agents self-organize into P2P overlay networks in order to exchange management information, software updates, and events.

Systems, in Cartographer's model, can be both clients and servers just as in real life. A system is considered a server if it provides some service to a client. A system is considered a client if it utilizes a service from some server.

Systems are considered peers if they both utilize the same server for some particular service.

In the future, these overlay networks will be utilized to run distributed, decision-making algorithms.

Screen Snapshots

Cartographer main window
Cartographer's main window includes facilities for loading and unloading topographies, launching views, and tools for mainipulating the database of systems and dependencies.


Dependency View
A dependency view of the example distributed system. This view utilizes a directed graph to show both intra and inter-system dependencies.


Endpoint View
This view shows the conversations between the system at the center of the graph and members of the distributed system.

The default layout for a dependency view uses an organic layout algorithm.

Example Statistics

These graphs were constructed using MRTG querying Cartographer agents natively via its custom management protocol.

http://www.krupczak.org/stats/krupczakgate_2.html

http://www.krupczak.org/stats/krupczakgate_xmpdsz.html

http://www.krupczak.org/stats/mankato_loadavg.html

http://www.krupczak.org/stats/uncasville_mem.html

http://www.krupczak.org/stats/austell_handles.html

http://www.krupczak.org/stats/mystic_xmpdsz.html

http://www.krupczak.org/stats/smyrna_procs.html

http://www.krupczak.org/stats/asterisk_2.html

Personal tools