 			    Otter
		 a network visualization tool

 Written: Bradley Huffaker
 For: Cooperative Association for Internet Data Analysis (CAIDA)
 Version: 0.8

##################################################################
Goal: Provide some useful information about Otter

##################################################################

  Otter was designed as an internal tool for creating images of 
  network data.  It has the ability to draw networks of 200 or less 
  nodes with some degree of interactivity.  

  This is a prototype release.  If enough interest develops, we will spend the 
  time to turn this package into a true release. 

  We have included a Makefile, some Perl scripts, and Otter Java 
  classes.  The Perl scripts create Otter data files from several
  different data sources.  They are provided as samples for creating
  your own Otter files for the data you wish to display. 

  To build Otter use 'make' and then run it with './otter'.
  There is a sample data set which

  File descriptions are included with in listing.html.

#################################################################
Data File Format:
#################################################################

  Each line in the data file starts with a key letter which states
  what type of data will be on that line.  The current mode 
  requires a single space between each token in the line.

  Comments in data files are all characters including a '#' until
  the end of the current line.

keys

t number
#	(total number of nodes)
#	Must be at the beginning of the file.
#	number 		- the number of nodes that will be in the file (int)

T number
#	(total number of links)
#	Must be at the beginning of the file.
#	number 		-  the number of links that will used (int)

n node_index x y name
N node_index lat long name
? node_index name
#	(node)
#	node_index 	- unique node identifier (int)
#	site_index 	- identifier node's site (int)
#	x 		- the x location on map (positive int)
#	y 		- the y location on map (positive int)
#	lat             - latitude (float)
#	long            - longitude (float)
#	name            - name of the node (string no spaces)

g group_index key num_enters description
#	(group_gory)
#	group_index     - unique ValuesGroup identifier (int)
#	num_enters      - number of entries (int)
#	description     - description of ValuesGroup (string up to \\n)
#
#	key		- This is a single character which signals the type
#			  of data that this group will contain (char)
#		d 	- group contains floats 
#		s      	- group contains strings 

f group_index string'string2'string3'....
#	(fields of each ValuesGroup)
#	group_index     - identifier for the ValuesGroup which has
#			  these fields (int)
#	string1 	- field header for the sub Menu

v node_index group_index value1'value2'value3 ...
V link_index group_index value1'value2'value3 ...
#	(values for the ValuesGroup)
#	node_index 	- identifier for the node (int)
#	link_index      - identifier for the link (int)
#	group_index     - identifier for the ValuesGroup which holds
#			  these values (int)
#	value1          - values for each column (float)

l linkidx n_idx1 n_idx2
L linkidx n_idx1 n_idx2
#	(link)
#	l 		- unidirectional";
#	L 		- bidirectional";
#	linkidx   	- the index of this link into an array
#	nidx1     	- the index of the node that is the client
#	nidx2     	- the index of the node that is the server

p pathidx num_nodes n_idx1 n_idx2 n_idx3 ...
P pathidx num_nodes n_idx1 n_idx2 n_idx3 ...
#	(path)
#	p 		- unidirectional
#	P 		- bidirectional
#	pathidx 	- the index of this path
#	num_nodes 	- the number of nodes in the paths
#	n_idx*  	- the index of the nodes on this path

