View this PageEdit this PageAttachments to this PageHistory of this PageHomeRecent ChangesSearch the SwikiHelp Guide

UC5 - Iteration 2

UC5: Create ONA file for several ODIN peers executing in concert.


(ONA above stands for ODIN Network Activity.)

The ODIN toolkit comes with an example peer, randomwalkpeer. This use case describes its use with our visualization application. See the extensions for details on using other peers with our application.


Primary Actor: Peer-to-peer Researcher / ODIN Developer.

Secondary Actor: Students, peer reviewers of ODIN research.


Stakeholders and Interests:


Peer-to-peer Researcher / ODIN Developer:
Wants to run several instances of ODIN peers on one or more machines1 and visualize the overlay network activity. (They may want to visualize the same recorded activity multiple times.)

1. as opposed to one instance of a discrete event simulation on one machine.

Preconditions:


Items in bold are new preconditions particular to the application we're delivering.
Items in normal weight font apply to randomwalkpeer in general, and our primary users will already be familiar with these preconditions.



Success Guarantee (Postconditions):


There will be a single file that will hold all ODIN network activity, sorted chronologically. There will be synthesized information at the end of the file to enable quicker visualization (e.g. the number of distinct peers seen throughout the life of the p2p network). This file will be suitable for loading into the GUI component and driving a visualization of the overlay network.

Main Success Scenario


Items in bold are new steps particular to the application we're delivering.
Items in normal weight font apply to randomwalkpeer in general, and our primary users will already be familiar with these steps. They're included to provide context.

These actions might be carried out manually or via scripts. We will describe them in manual fashion and consider scripts to be a proxy for the user.

  1. User configures property files and index files to their liking for each ODIN instance.
  2. User creates the directory that will hold the log files for all individual instances on the common filesystem. If this common directory already exists, execute extension UC5.1 Common Directory Already Exists.
  3. User starts the ODIN hostcatcher instance first. This instance should be started with log level 3 (the minimum level for visualization) or higher, and log output should be directed to a unique file in the directory created above.
  4. User then starts other instances of ODIN peers. These instances should be started with log level 3 as well, and log output for each should be directed to uniquely named files (e.g. ..log, to enforce that no two peers would have the same log file).
  5. User allows time for p2p network activity, likely injecting events (e.g. search requests) into the network using the randomwalkpeer's client.
  6. User terminates each non-hostcatcher peer.
  7. User terminates the hostcatcher.
  8. At this point, the p2p network should no longer exist and the log files in aggregate should contain all node creations, link establishments, and messages sent.
  9. User runs preprocessor on the command-line (on any machine that can access the common file system), specifying:
    1. the common directory will all log instances
    2. and the path to the desired output ONA file.


Extensions (Alternative Flows):


User may use an alternative ODIN peers instead of the supplied randomwalkpeer. See either extension UC5.2a Alternative ODIN peer that uses Hostcatcher or UC5.2b Alternative ODIN peer that does not use Hostcatcher.

Special Requirements:


All machines on which ODIN peers are executed should have well-synchronized time to allow for log events across machines to be correctly sorted. As a rule of thumb, machines should probably not be more than a second off from each other. Running ntp (network time protocol) client services to guarantee synchronized time across machines is recommended.


Technology and Data Variation List:



Frequency of Occurrence:


Every time the user wishes to run an ODIN simulation and later graphically view the results.

Open Issues:



Links to this Page