Upload
leslie-walker
View
214
Download
0
Tags:
Embed Size (px)
Citation preview
PRIME 2005PRIME 2005A visualization of network A visualization of network
measurementsmeasurements
John C.Y. LeeJohn C.Y. Lee
9/26/059/26/05
ContentContent
• A Very Brief Introduction A Very Brief Introduction
• ThanksThanks
• Life in BeijingLife in Beijing
• The end of Prime 2005The end of Prime 2005
• StructuresStructures
• Future improvementsFuture improvements
• DemoDemo
Brief IntroductionBrief Introduction
• This project is to visualize the network This project is to visualize the network measurements within all the amp machimeasurements within all the amp machines around the world…nes around the world…
• The idea was bought up by Tony McGregThe idea was bought up by Tony McGregor and Ronn Ritkeor and Ronn Ritke
ThanksThanks
• Special thanks to NSFSpecial thanks to NSF– A grant from NSF that provide us this opportunity to research aboarA grant from NSF that provide us this opportunity to research aboar
dd• Thanks to CNIC particularly R&D and Thanks to CNIC particularly R&D and 超级计算超级计算
– A very welcoming host which gave us a memorable trip.A very welcoming host which gave us a memorable trip.• Special thanks to Dr. Peter ArzbergerSpecial thanks to Dr. Peter Arzberger
– The person who introduced this internship to meThe person who introduced this internship to me• Thanks to Dr. Tony McGregor and Dr. Ronn RitkeThanks to Dr. Tony McGregor and Dr. Ronn Ritke
– Without the idea, I won’t be able to make this programWithout the idea, I won’t be able to make this program• Thanks again to Cindy Zheng & Jeremy Kallstrom & Chen QiThanks again to Cindy Zheng & Jeremy Kallstrom & Chen Qi
– Without them, this program will not be here todayWithout them, this program will not be here today• Thanks to Ms. Teri SimasThanks to Ms. Teri Simas
– The person who send us all kinds of emails about the PRIME prograThe person who send us all kinds of emails about the PRIME program that we need to care about.m that we need to care about.
Structures IStructures IOverall StructureOverall Structure
• This is the overall structure of the projectThis is the overall structure of the project• It could mainly divided into 5 partsIt could mainly divided into 5 parts
– User InterfaceUser Interface– Lines Controllers (the heart of this program)Lines Controllers (the heart of this program)– Data Parsing & Data organizingData Parsing & Data organizing– Data StructureData Structure– Data Chart (Detailed network measurements Data Chart (Detailed network measurements
chart)chart)
Amp_Server
Data Parsing &Data organizing
User Interface
(Java Applet)
Data Chart
Data Structure
Data_files
User
User Input
Lines Controllers
Overall Design Structure
User InterfaceUser Interface
• AMP (extends JApplet)AMP (extends JApplet)– The Swing-based Java applet that contains all the components to make this project worThe Swing-based Java applet that contains all the components to make this project wor
ksks• MenuBar (Purple)MenuBar (Purple)
– The menu that provides options for users to choose fromThe menu that provides options for users to choose from• Nodes Button, Lines Button (Yellow)Nodes Button, Lines Button (Yellow)
– The buttons which could make all the nodes and lines appear or disappear from the maThe buttons which could make all the nodes and lines appear or disappear from the mapp
• List of AmpSite, List of Color (Green)List of AmpSite, List of Color (Green)– The Tree based components which shows the list of Amp sites and list of colorsThe Tree based components which shows the list of Amp sites and list of colors
• (Double click on the folder-liked icon in order to show the sites and the colors)(Double click on the folder-liked icon in order to show the sites and the colors)• Map, Internet Messages (Message), Exceptions (Blue)Map, Internet Messages (Message), Exceptions (Blue)
– Almost all of the actions will take place on the Map paneAlmost all of the actions will take place on the Map pane– Message pane will be providing messages from Internet so that users would be able to kMessage pane will be providing messages from Internet so that users would be able to k
now if there is any problems from the servernow if there is any problems from the server– Exception pane will provides the exceptions message from java so that the code develoException pane will provides the exceptions message from java so that the code develo
pers will be able to find out where will be the problems more easilypers will be able to find out where will be the problems more easily• The Time, ElapsedSec (Red)The Time, ElapsedSec (Red)
– A component which lets the user and the program knows if it is time to refresh and if the A component which lets the user and the program knows if it is time to refresh and if the program hangs. XDprogram hangs. XD
Lines ControllersLines Controllers
• The lines and the colors of the lines are controlled The lines and the colors of the lines are controlled by these 2 controllersby these 2 controllers
• This picture is showing the classes that are related This picture is showing the classes that are related to the lines controllersto the lines controllers
• However, it is not quite possible to understand how However, it is not quite possible to understand how this thing works without having sequence diagramsthis thing works without having sequence diagrams
• For the sake of god, I won’t go through any of the For the sake of god, I won’t go through any of the sequence diagrams here. XDsequence diagrams here. XD
• If anyone of you are interested, please let me If anyone of you are interested, please let me know. ^^”a (I do have a menu for this program know. ^^”a (I do have a menu for this program (very rough..))(very rough..))
ASimpleLineController
Adot
ALineButton
ASimpleLine
ATreeButton
AMachinesTree
AColorSchemeController
LinesControllers
AColorSchemeTree
APanel
DataStructure
Parsing_data
AMP
AGraphWin
Data Parsing & Data Parsing & Data organizingData organizing
• This is the part where This is the part where downloading and downloading and parsing take place.parsing take place.
• The diagram on the The diagram on the right shows how the right shows how the functions are called functions are called and the data are and the data are going to.going to.
Parsing_data- Download - Parsing- Storing
ASimpleLineController
UserInterface
AMapObjectContainer
AMachinesTree
Invokes
Invokes
Invokes
Invokes
-MapInfo- MachinesInfo
- MeasurmentsInfo
Retrieve
DataStructure
- MachinesInfo- NetworkMeasurments
-MapInfo
Data StructuresData Structures
• These are the data structures that was These are the data structures that was used for the projectused for the project
• The one on the top right is responsible for The one on the top right is responsible for all the network measurementsall the network measurements
• The one on the right is responsible for the The one on the right is responsible for the list of amp sites (Green)list of amp sites (Green)
• The one on the bottom right is responsible The one on the bottom right is responsible for the list of colors (Green)for the list of colors (Green)
• Finally the one on the bottom is Finally the one on the bottom is responsible for holding the maps from the responsible for holding the maps from the server (purple)server (purple)
MeshesContainer
AmpNodeContainer
AmpNode
- Hashtable mesh_list
- String [] mach_info- Hashtable amp_list
- String amp_code;- String amp_name;- String [] infomation;
- double x_coord;- double y_coord;
- Hashtable destination_data;
AmpDataContainer
- String [] cur_avg;- String [] cur_max;- String [] cur_min;
- int measurementSize;- Vector data;
AmpDataPoint
- String time- String [] measurement
AMachinesTree
DefaultMutableTreeNode
- APanel ap_map- DefaultTreeModel dtm
- Adot
Adot
- APanel ap_map- Color c
- AmpNode datanode- double left, right, top, bottom, factorx, factory;
- boolean show = false;
AColorSchemeTree
DefaultMutableTreeNode
- APanel ap_map- DefaultTreeModel dtm
- AColorObject
AColorObject
- Color c;- String info;
- int lowbound;- String name;- int upbound;
AMapObjectContainer
- Hashtable map_list;- String partialurl;- String urlString;
AMapObject
- String backgroundfileName- String backgroundName
- String backgroundurl- String top, left, bottom, right
Data Chart byData Chart byChen qiChen qi
• This is the chart that This is the chart that could provide the could provide the network measurements network measurements in detailin detail
• The bottom right is the The bottom right is the diagram that shows how diagram that shows how the functions are called the functions are called and data transferredand data transferred
AGraphWin
ASimpleLine
ASimpleLineController
AMP
CreateDemoPanel
AGraphProc
DataStructure
Show
refreshPlot
setupWin
Cal
cAvg
Min
Max
Get
dat
a, A
vg, M
in, M
ax
Apanel
User InputUser Input
• User InputUser Input• Mesh Mesh International International• TestType TestType 0 Icmp, 2 Http, 3 Ipert, 4 Tput 0 Icmp, 2 Http, 3 Ipert, 4 Tput• TestSubType TestSubType 84, 700, 1400, Rand Bytes 84, 700, 1400, Rand Bytes• RefreshRate RefreshRate 1min, 2mins, 5mins, 10mins 1min, 2mins, 5mins, 10mins
TestTest MeasurementsMeasurements ExplainationExplaination0 Icmp0 Icmp 22 Packet_size_bytes, rtt_msPacket_size_bytes, rtt_ms2 Http2 Http 22 Latency_ms, sizes_bytesLatency_ms, sizes_bytes3 Iput3 Iput 44 Latency_out(in)_ms, Latency_out(in)_ms,
bandwidth_out(in)_kbpsbandwidth_out(in)_kbps4 tput4 tput 22 Bytes, transfer_time_msBytes, transfer_time_ms
• A mesh contains a set of amp machine. It only has one mesh right now.A mesh contains a set of amp machine. It only has one mesh right now.• RefreshRate will be used to refresh the map area where the lines are locatedRefreshRate will be used to refresh the map area where the lines are located• The user input will be used to determine the kind of network measurement, and aThe user input will be used to determine the kind of network measurement, and a
mp machines are going to display on the program.mp machines are going to display on the program.
Amp Server & Amp Server & Sample Data_filesSample Data_files
• The program will be using only one server for downloading all thThe program will be using only one server for downloading all the infomations such as maps, maps_info, site_info, etce infomations such as maps, maps_info, site_info, etc
• http://http://jeremyk.nlanr.net/amp/java_data.php?datejeremyk.nlanr.net/amp/java_data.php?date=YY-MM-=YY-MM-DD&timeDD&time==HH:MM:SS&durationHH:MM:SS&duration==x&testTypex&testType=0&testSubType=0084&src=amp-=0&testSubType=0084&src=amp-xxx&dstxxx&dst=amp-xxx=amp-xxx
• The one on the top right is the sample dataThe one on the top right is the sample data• The first 5 columns of data will be fixed for all the tests. The first 5 columns of data will be fixed for all the tests. • The only thing that varies for now will be the measurements whicThe only thing that varies for now will be the measurements whic
h are the columns after testSubType.h are the columns after testSubType.
Future improvementsFuture improvements
• Improve the UIImprove the UI
• Improve the outlookImprove the outlook
• Improve the coloring so that it is Improve the coloring so that it is automatedautomated
• Improve …Improve …
DemoDemo