The Network Performance Advisor
J. W. Ferguson
NLANR/DAST & NCSA

Acknowledgements
NLANR/DAST does its work on ‘The Advisor’ under a cooperative agreement with the National Science Foundation
The Internet2 E2E Initiative and the piPEs project have provided support and encouragement throughout
The Network Measurement Working Group of the Global Grid Forum, for the schema work being done to allow data sharing between measurement projects

Advisor Overview
Targeted for end users & network engineers, the Advisor measures, displays, and analyzes network metrics
Uses existing diagnostic tools by integrating them into a common framework
For network engineers & administrators, provides an easy to use interface to view network metrics, and customize which metrics you like to monitor
For end users, Advisor attempts to emulate a junior-level network engineer with its Analysis Engine
Uses the schema in development by the GGF’s Network Measurement Working Group.
Additional tools and analyses can be added easily
http://dast.nlanr.net/projects/advisor

Current Status
Version 1.2 released November 2004.
Code freeze for Version 2.0 on 28 February.  Release will follow within a week.
‘Bundles’ included in release will include Iperf, OWAMP, ping, top, pathchar, ifconfig, traceroute, netstat, and pathload
All code is accessable via anonymous CVS.

Architecture
Performance Data Collector (PDC)
 Gathers network performance data
Performance Data Historical Archiver (PDHA)
 Archives network performance data
Analysis Engine
 Analyzes network data
 Provide plain text advice to solve    problems or increase performance

Performance Data Collector (PDC)
Designed to be stand-alone, extensible, and portable
Elegantly handles platform differences and unavailability of any given measurement
Overview of Features
Uses bundles to facilitate integration of performance data measurement tools
A collection of scripts or Java classes that describe:
How to invoke a measurement tool
What metrics the measurement tool measures
How to parse the measurement tool's output
Implements an XML-RPC interface
getAllMetrics: returns the list of metrics that may be measured
getMeasurement, getMeasurements, getAllMeasurements: returns an individual, a list, or all measurements given a remote host

PDC Features
All requests are fulfilled immediately without any caching
Activation
Allows cooperation of both ends through a mechanism called activation (i.e. for tools such as Iperf)
Security
Using SSL and username/password (more to come)
Autoupdating
Periodically updates the bundles (automatically)
User can set how often to check for updates
All system bundles updated
Tool to update bundles on demand
Global Grid Forum NM-WG Response Schema
Full Java class support for reading and writing in the schema
Bundle support for NM-WG Response Schema
Version 2.0 will use the NM-WG Request Schema

Performance Data Historical Archiver
Short to medium-term storage of PDC measurements
Overview of Features:
Act as a caching proxy for the PDC
Specify how much data to store, and for how long.
Utilizes an XML-RPC interface to retrieve data
Clients can retrieve old measurement results and the latest measurement results
 Clients can force PDHA to request new measurements from PDC
To retrieve archived measurements specify an
interval: returns all measurements taken during the specified interval
list of timestamps: returns all measurements that match a timestamp in the list, with some amount of error allowed.
Allow different measurements to have different “lifetimes”
Stores data on disk in XML file
Ability to query third party databases with the NM-WG Request schema (v. 2.0)

Analysis Engine
Analyze metrics for a specific end-to-end path and give advice to solve performance or connectivity problems
  Features:
“Test Definition Files” (TDFs) similar to PDC’s ADFs
TDFs consist of
detection rules: simple binary operations (AND, OR, NOT, etc)
synthetic metrics file name
problem descriptions, and solutions
Synthetic Metrics
operations on base metrics
may be written in any scripting language (and eventually Java)
Constructs a decision tree for each problem

Analysis Engine
Example TDFS include:
Duplex mismatch, incorrect buffer sizes, incorrect settings, congestion, general connectivity issues.
Future Development:
Relate TDFs to each other  (in v. 2.0)
Group TDFs into families
Modify Analysis Engine to use historical data
Engage the network engineering community to obtain more analysis test cases
Bi-directional testing  (in v. 2.0)

Advisor GUI
Displays Advisor’s collected network metrics and is capable of displaying outside metrics acquired in the GGF’s NM-WG schema.
  Three main graphical displays
Metric Display GUI: Displays all metrics
uses a tree to organize metrics
uses a table to display metrics and corresponding information
Analysis GUI: Displays advice reported from the analysis engine
text display of analysis and advice
Map GUI: Visual display of the network and trouble spots
users will be able to click on a map to view measurements for specific areas along the path

"Thank You !"
Thank You !
dast.nlanr.net/projects/advisor