Vision Document

Revision History

Version Date Description Author
Final Draft April 17, 2006 Final Draft Team SPEW
Inception Draft February 1, 2006 First Draft, To be refined in Elaboration as necessary Team SPEW

Introduction

We envision a debugging toolkit that allows us to figure out how a peer-to-peer network is actually behaving; specifically, a toolkit that allows for visualizing how messages are routed in the network. In particular, our debugging toolkit would allow us to see graphically how an individual message gets routed through the network; which regions of the network are experiencing heavy or light traffic; which regions of the network are generating heavy or light traffic. We will be extending an existing toolkit called ODIN, which would have to be modified in order to accomplish the goal of creating a useful debugging toolkit that can be used, by anyone developing a peer-to-peer network, for the purpose of visualizing (graphically) how their peer-to-peer network is behaving and determining where problems (bugs) are occurring in their peer-to-peer network.

Positioning

Business Opportunity

Peer-to-Peer systems are difficult to visualize and difficult to understand in regard to how they are behaving/operating. Current graph layout tools are too expensive and too hard to use to visualize Peer-to-Peer networks. Based on the current options for visualizing Peer-to-Peer networks, the opportunity of creating debugging toolkit for understanding how Peer-to-Peer networks operate, is very promising.

Problem Statement

Peer-to-peer networks are moving beyond music filesharing and becoming popular platforms for building a variety of distributed applications. Although many Peer-to-Peer systems are being built, it is difficult to get a good understanding of how they actually operate: because the networks are so big (thousands, tens of thousands, hundreds of thousands of peers) it is difficult to observe the system and determine what is actually happening.

Product Position Statement

We would like to build the debugging toolkit, ODIN, that allows us to figure out how a peer-to-peer network is actually behaving. ODIN will visualize how messages are be routed in the network. In particular, ODIN will graphically show how an individual message gets routed through the network; which regions of the network are experiencing heavy or light traffic; which regions of the network are generating heavy or light traffic.

Stakeholder Descriptions

Market Demographics

The target audience is users who do research on Peer-toPeer networks and/or owners/administrators of Peer-to-Peer networks.

Stakeholder (Non-User) Summary

Stakeholders that are not users, also known as non-users, would cover individuals that use Peer-to-Peer networks.

User Summary

Potential users are concerned about security and privacy.

Administrators of Peer-to-Peer networks are concern about how their Peer-to-Peer network functions.

Key High-Level Goals and Problems of the Stakeholders

High-Level Goal Priority Problems and Concerns Current Solutions
Visualize network High May be difficult to please everyone's expectation of how viewing the network should be. Continue with existing methods.
Simulate network correctly High Not possible to test all potential situations. Continue with existing methods.
Ability to debug High How exactly the way to perform debugging according to the Stakeholder may be difficult. Continue with existing methods.
Easy of use High Every Stakeholder thinks differently. What seems easy for one, may be difficult for another. Continue with existing methods.
Extensibility Medium Next group of programmers of ODIN need to be able to understand existing code. N/A

User-Level Goals

Find problems (that is, bugs) using ODIN for their Peer-to-Peer network(s).

Diagnostic routing of message and identify overbounded messages.

Snapshot (that is, a still image) of their Peer-to-Peer network using ODIN's representation of their Peer-to-Peer network.

Visualize (graphically) how an individual message gets routed through the Peer-to-Peer network.

Examine which regions of the Peer-to-Peer network are experiencing heavy or light traffic.

Determine which regions of the Peer-to-Peer network are generating heavy or light traffic.

User Environment

Linux environment for first user and future users.

Product Overview

Product Perspective

N/A.

Summary of Benefits

Supporting Feature Stakeholder Benefit
Visualize network Can see how exactly his/her network is performing.
Simulate network correctly Can simulate their network correctly without running it in real time.
Ability to debug Can debug their network with the help of ODIN.
Easy of use Can use ODIN easily without problems.

Assumptions and Dependencies

Costs and Pricing

Producible without cost.

Licensing and Installation

ODIN has not license and currently no install because it is for the sole purpose of its first user (Dr. Cooper).

Summary of System Features

For the CS 4911 Design Project (Spring 2006), a Visualizing Peer-to-Peer network debugging tool named ODIN will be created which is easy to use for the purpose of debugging Peer-to-Peer networks, figuring out how a Peer-to-Peer network actually behaves, graphically viewing how an individual message gets routed through the network, which regions of the network are experiencing heavy or light traffic and which regions of the network are generating heavy or light traffic. The following is a list of the major pieces of functionality that ODIN will provide:

·         Run simulation and get output, of the Peer-to-Peer network, from ODIN.

·         Still image (that is, a snapshot) of the ODIN test run and animation (node & link).

·         Ability to play animation, and speed it up using ODIN.

·         Graph should layout itself for easily viewing the Peer-to-Peer network.

·         Layout (algorithm) for graph be seen from the graphviewer of ODIN.

·         Ability to scroll and view graph layout of the Peer-to-Peer network using ODIN simulation.

·         Executor Implementation.

·         Single Step Progression.

·         Pausing On Event.

·         Link Activity.

·         Preprocessor.

·         Documentation of ODIN.

Other Requirements and Constraints

N/A.