View
215
Download
1
Tags:
Embed Size (px)
Citation preview
Octopus system 1
Moshe Tocker
Avihai Mejer
Octopus system 2
The Octopus system Goal
• The system’s primary goal is to Measure performance parameters in real time on an Ethernet LAN.
• The parameters that the system will measure, will help analyze the load and utilization of the LAN.
Octopus system 3
Octopus basic approach
• The main method the system uses in order to gather information and parameters about the LAN is through executing experiments.
• Examples of possible experiments:– round trip time – measuring latency– Multiple packet sending – measuring Error rate
of frames.
Octopus system 4
The elements in the system
• Manager – An application that runs on any station in the LAN. It’s functionality:– It will let the user choose what tests to run on
the Ethernet LAN.– Passes commands to Agents instructing them
what tests to perform.
• The manager will expect back the tests results for allowing the user further analysis.
Octopus system 5
The elements in the system (Cont.)
• Agents – Combined of two parts:– Agent application– Miniport driver
• Agent application – Communicates with the Manager application & the minioprt driver, passing information between the two.
• Miniport driver – Kernel mode SW component, operates the Network
Adapter.– Carrys out the tests.
Octopus system 6
The Agents
Agent Application
Miniport Driver
Command/Result
Other Agents
Manager
TCP/IP
Other Agents
Other Agents
HOST
Octopus system 7
The Octopus system Layout
Manager
Agent A
Agent B
Ethernet
LAN
NT stations
Octopus system 8
Project Implementation
• Part I - Communication & Interaction between different system components. This will be the infrastructure of the system.
• Part II - Executing the experiment at the mininport level, for actual measurement of the LAN’s performance.
Octopus system 9
Communication & Interaction
The communication & Interaction includes:– User to Manager interface– Manager to Agent communication– Agent to miniport communication– Agent to Agent Communication
Octopus system 10
User to Manager interface
• The interface is a Windows dialog box which allows the user to choose:– the type of experiment to be done
– Relevant parameters such as: number of tests to run, time interval between consecutive tests.
– The Agents addresses and ports.
• Results are returned to the user for further analysis through a log file created by the Manager.
Octopus system 11
Manager to Agent communication
• Manager & Agent are both user level applications that communicate using standard TCP/IP.
• The Manager & Agent Pass among themselves:– Commands from Manager to Agent to perform
an experiment, or– Results and data back from Agent To Manager.
Octopus system 12
Agent Manager
TCP/IP
WinSock
CommandsResults
Octopus system 13
Agent to miniport communication
• Agents application order the miniport of what tests to do and what parameters to use
• Miniport performs the test and sends test results back to Agent application
• Communication between Agent application and the miniport is by using Files performing a buffer role.
Octopus system 14
The Agents
Agent Application
Miniport Driver
“CommFile”
HOST
“ResFile”
Octopus system 15
The miniport implementation
• We used an open-source driver for our Network Adapter.
• The driver was converted to our needs:– It creates a new thread running in kernel mode,
dedicated to the Octopus system, always listening for commands from the Agent Application, and ready to perform the requested test.
– Because of the multithreaded implementation, the driver’s performance and functionality remains unharmed.
– Host can be used normally, even when used as Agent.
Octopus system 16
Difficulties encountered
• Originally for the miniport-Agent communication we planned to use NamedPipes. But Win2K drivers do not support this mechanism natively. So we implemented a similar mechanism by using ordinary files.
• The driver had to be transformed into a multi-function driver, without harming its original goal. Multi-threaded programming was the solution.
Octopus system 17
Future Plans
• In the coming semester we will implement part II of our project:– Detailed design of the experiments to be held,
i.e. how exactly to perform a test, what do we measure and the results report format.
– Defining and Implementing the miniport to miniport level communication.
– Implementing the miniport level experiment.
Octopus system 18
Demonstration of Octopus system infrastructure
What you are about to see…
Octopus system 19
MANAGER
User chooses The Agents to work with
AGENT
TCP/IPConnectionestablished
Miniport driverinstalled
NT Station
NT Station
Octopus system 20
MANAGER AGENT
User chooses Tests to run + parameters
TCP/IPconnection
Manager createscommands andpasses to Agent
Miniport driverinstalled
NT Station
NT Station
Octopus system 21
AGENT
Miniport driverinstalled
NT Station
Command File createdBy the Agent
Read by the miniportAnd then deleted
Manager’sCommands
Agent parses theManager’s commands
Octopus system 22
AGENT
Miniport driverinstalled
NT Station
Results File createdBy the miniport
Read by the AgentAnd then deleted
Miniport “simulates”Performing testsAnd fakes results
AgentParsesResults
file
Octopus system 23
MANAGER AGENT
TCP/IPconnection
Agent passesResults backTo Manager
Miniport driverinstalled
NT Station
NT Station
Manager createsLog File containing
the results
Octopus system 24
User uses theResults Log File
For further analysis
System is ready forAnother test…
Octopus system 25