Home
3nuts User Guide
Contents
1. edit tree ee Filename sample Tree is extended with endless subtrees with these ID s The path of a virtua data element ends with this probabiliy Depth Probability in each depth 3nuts Application Link Update Interval Publication interva of data in the Link Update Timeout Snuts network Number of Data Elements A peer creates this number of virtual data elements Ga Choose d O Edit Milliseconds Milliseconds Float 8 Cancel Apply changes 6 and close the window Figure 3 4 The 3nuts application preferences window 11 3 Usage predefinedTrees are dictionaries like the popular and freely available one of Spell Once the tree is loaded each data path used in a 3nuts application will be removed from the tree so that it can be only used once Open and press apply in the application dialog again to reload a fresh complete tree instance Furthermore the following application specific parameters can be adjusted Number of Data Elements The number of data elements the application generates at a peer can be defined in 5 If the value is a natural number each application generates that fixed number of data elements It is also possible to enter a prob ability p Then the number of data elements is determined by a random variable with expectation 1 p Link Update Interval Link update times A peer storing a data item publishes this data item in regular intervals defi
2. distribution To do this ensure that the current working directory is the main directory of the 3nuts source distribution To start the compilation process simply type If everything went fine the output in the console should look like this on a Unix based system ant buildfile Ant XML Buildfile Ant XML init mkdir Created dir Users naldo 3nuts bin compile javac Compiling 265 source files to Users naldo 3nuts bin see http ant apache org 2 Installation copy Copying 30 files to Users naldo 3nuts bin BUILD SUCCESSFUL Total time 8 seconds The other possibilty is to create a stand alone Jar archive To generate the Jar archive type what should generate output like this ant buildfile Ant xml dist3nutsSim Buildfile Ant xml Fate Imkdir Created dir Users naldo 3nuts bin compile javac Compiling 265 source files to Users naldo 3nuts bin copy Copying 30 files to Users naldo 3nuts bin dist3nutsSim mkdir Created dir Users naldo 3nuts dist jar Building jar Users naldo 3nuts dist 3nuts 20061212 jar BUILD SUCCESSFUL Total time 9 seconds The generated executable Jar File can be found in the dist subdirectory The file name is 3nuts attached with the date of the compilation 3nuts 20061212 jar in our example 2 2 Removing 3nuts In order to uninstall the 3nuts software simply delete the installation directory 3 Usage This chapter
3. 0 Which information is displayed depends on the color i e the peers role in the selected node The colors have the following meaning Blue The peer is participating in the corresponding random network i e the node of the tree is part of the path the peer was assigned to by the load balancing mechanisms Such a node will also be referred as path node in the following Green The traced peer is not participating in the corresponding random network In stead of this it knows a peer a so called branch link who is participating in the random network Branch links are needed to allow efficient routing in the network Red The traced peer has been shanghaied to be responsible for this node of the tree i e no peer has been assigned to this node by the load balancing mechanism However the traced peer is the one who feels most responsible Orange There is no random network beneath this node of the tree i e that potion of the tree currently only exists locally in the traced peer However there is data in this node or the subtree starting at this node As soon as more peers are assigned to the corresponding path of the tree random networks will be created for this node of the tree As mentioned before the information displayed when selecting a node of the tree depends on the color of the node The upper left of the Tree tab shows information about the responsibility of the peer for the selected node Normal Shanghaied or
4. 3nuts User Guide February 23 2008 Peter Mahlmann mahlmann upb de Thomas Janson tjanson upb de Contents 1 Introduction 1 2 Installation 3 21 Compiling 6 eee res ee oe oe me ee Ss 3 22 Remo BONN Gao aoe aes Oe ee eee oe ee TS 4 5 3 1 Application Startup aoao arepas bee te whe 5 3 2 Creating a 3nuts Network 2 2 2 a eee ee ee T 3 3 3nuts Preferences 9 3 3 1 Network Preferences 2 22 CC m m m nn 9 ee ee 9 34 Ba hha kp Hee RRR ee ee eee wee 12 3 4 1 The Tree tab us ve vow a ee Ey a Le Ewe ew 13 isk neat 15 3 4 3 The Application tab 0 20 2 0 a 16 3 5 Visualizing the 3nuts Network 002 0000 18 3 6 Measuring the Network Characteristics 00 20 1 Introduction 3nuts frE n amp ts is a peer to peer network combining the benefits of reliable random graphs and semantic search trees The goal of 3nuts is to overcome the restricted query languages induced by the use of distributed hash tables In most of the currently used peer to peer networks these distributed hash tables do not support the efficient explo ration of the semantic neighborhood of a data entry In 3nuts semantic relationships of data are preserved because peers are assigned to the data and not vice versa 3nuts will allow nontrivial lookups like prefix search for example All network opera tions in 3nuts are local and distributed i e simple handshake operations maintain the ne
5. PDF El Result Gl Frequency m Copy Close Figure 3 11 Measurement of the lookup hop distances in a 3nuts network 2l 3 Usage Figure 3 12 Measurement of the routing table repair in a network with removed peers contain elements processing the messages The peer itself is represent by the Participants 6068 Repair Mechansim Measurement Properties Number of Peers to Delete Pointer Push amp Pull Operations Current Operations Second v Start Measurements Progress Number of Pointer Push amp Pull Opera Number of Lookup Requests Number of Lookup Responses Number of Dead Random Branch Lin Number of Dead Local Branch Links 14 0 iz Measure 1150 360 183 228 457 686 915 gt PDF Save Course LA Save Result x Close block shown on top of the diagram The buttons on the upper section of the frame can be used to add or remove additional tools to the communication channels e g by clicking on the button Message Utilization a new window is opened figure 3 14 showing the number of exchanged messages per second for individual message types For the measurement two new channel elements are added to the Communication Message Utilization and Out Message Utilization the image representing the Communi cation 3 13 will be updated 22 3 6 Measuring the Network Characteristics SKORS Communication Traffic Object Layer show C Raw Data Layer B show BB m
6. Shortcut and the address of the 3nuts peer and the random network peer beneath if the selcted node of the tree is a path node blue colored If the node of the tree is a branch link green colored the age of the link to the other peer participating in the corresponding random network of the 3nuts node is shown For the load balancing mechanism the weight of nodes and subtrees play an important role The weights themselves are calculated in the application running on top of the 3nuts network Yet the weights for the selected 3nuts node and its subtree obtained from the application are also shown The weight of a path node has always a version tag This is of major importance since the nodes participating in a 3nuts node exchange the weights using randomized rumor spreading mechanisms The nodes of a 3nuts tree are represented by random networks The peers participating in such a random network are all the peers which have been assigned to that node of the tree by the load balancing mechanism Using a double click on a path node blue colored 13 3 Usage Properties of Tab for peers Copy Peers local Normal Zoom selected yo local view of tree to view of Path 3nuts node the 3nuts tree clipboard 3nuts tree Blue 0606 3nuts Peer 192 168 178 22 3000 3407453 Type nus reer IP 92 168 1782 3000 7 M Tree of 3nuts ec 8f c2 c0 la 7A ca 58 AAA AA Apt lication Messages Neigh borhood Operations 30 Sca
7. cer List of running 3nuts peers 3nuts KZ Log E Communication o Runtime Peer to Peer Network Tracing Show 3nuts o gt network trace _ Show Measurements Task Scheduler aletas Simulation Tracer Network Address of trace and 3nuts peers IP 192 168 178 22 Name mactj Port 3000 Tracer Network Controls x Close SSH Number of running Snuts peers Number 4 Number of 3nuts peers to create Create peers Y Connect 3nuts network 3nuts n Psar E Stop Simulation Tracers IP Name Port Local 192 168 178 22 macti 3000 0 Peers ID IP Port Local 0x 192 168 178 22 3000 8885595 0x 192 168 178 22 3000 9025981 0x 192 168 178 22 3000 9181266 0 Number 4 properties WT Properties Set properties of 3nuts applications 8 Eii 3nuts Appl Create Y create 3nuts peers FR Remove Remove selected Snuts peers Show Show selected 3nuts peers Figure 3 2 Main window allowing to create and trace a 3nuts network 3 3 3nuts Preferences 3 3 3nuts Preferences This Section describes how to change the preferences of the 3nuts peer to peer network and the application running on top of it 3 3 1 Network Preferences Figure shows the Network Properties window The properties are structured hier archically 1 The subgroup Random graph for example contains all properties of the random n
8. currently selected tree type are shown in the panel below Predefined Tree in the figure Predefined Tree This type of tree is a user defined tree which can be created loaded and edited within this 3nuts tracing tool The predefined trees are saved in the subdirectory predefinedTrees Previously saved trees can be loaded using the Choose button Furthermore they can be modified with a visual editor which will show up when clicking on the Edit button To allow large amounts of data in 3 Usage 0560 Network Properties FreeNuts Property Value Properties Lookup Degree pees 1 are hierarchical Tree Neighbors old 10 N gt an 2 grouped Y el Y Random Graph Push Pull a Collector Properties of selected Lookup j group Bearer Service Broadcast Service y Apply amp Cancel tj Open a Save As Apply changes 4 and close the dialog Figure 3 3 The network properties window a network without defining a tree by hand every tree can be extended by endless subtrees typically these are 0 1 binary trees The identifiers of the virtual data items created by the application and will describe a random path starting at the root of the tree The path is generated recursively by starting in the root of the tree and then randomly choosing one of the possible subtrees The value entered in Depth Probability 3 denotes the probability with to continue the random at the next higher level note that 3nuts allow
9. e simulation and the 3nuts peers Debug Port 3000 A remote debug can be controlled by a main debug is Main Debug A main debug is standalone gt is Remote Debug 4 A remote debug logs on the Main Debug main debug with that address IP 102 168 17 Port 3001 Start the simulation trace S ota Bnuts network Ssn Figure 3 1 Creation of a 3nuts network simulation trace 1 If the check box show Trace GUI is selected the 3nuts trace window will be shown when you have left the preferences window Otherwise the 3nuts network will be started without graphical user interface 2 All 3nuts peers created using the 3nuts trace window see Section 3 2 will share a network socket If the chosen port is occupied the window cannot be closed using the Start button 3 There are two different types of debugs The main debug is a stand alone applica tion able to trace and control a complete 3nuts network Several remote debugs can be connected to a main debug Then a distributed 3nuts network can be created on several connected debugs The complete 3nuts network can only be visualized in the main debug in this case So we recommend choosing is Main Debug here 4 If a remote debug is selected in 3 the IP address and port number of the remote debug has to be entered here The remote debug will connect to the main debug running at the specified IP and port number 5 Use the start button 5 to leave the preferenc
10. ed to which child node the peer will be assigned to we will not go into further detail in this user guide 3 4 3 The Application tab As mentioned before every peer of the 3nuts network is running a test application providing virtual data This virtual data defines the tree structure the 3nuts network adapts to Please see Chapter 3 3 for information on how to change the number of data elements generated at a peer etc The Application tab see Figure is devided in an upper and lower half The upper half shows information on the data elements generated by the application at this 3nuts peer 16 3 4 3nuts Peer Note that usually another peer of the 3nuts network will be responsible for these data items In particular this will be the peer responsible for the node of the tree defined by the identifier of the data item For every data item the responsible peer is shown next to it On the very right side of the tab 3 new data items can be created or existing ones delteted by entering the identifier and clicking Add Data afterwards The lower half of the Application tab shows informations about data items the peer is responsible for 4 i e data items whose identifiers describe nodes of the 3nuts tree where the peer is particpating as a path node and has highest responsible among all other peer participating in this node of the tree For each of these data items the weight and number of peers providing it is shown When o
11. es window and start the 3nuts trace window Once again note that a free port has to be chosen before using the start button 3 2 Creating a 3nuts Network 3 2 Creating a 3nuts Network Once you left the preferences window using the start button the 3nuts trace main window will appear see Figure 3 2 In this window you can create a 3nuts network and start all other simulation and tracing tools including 3nuts network trace 3nuts peer trace simulation of network dynamics etc The socket address used by the simulation and the 3nuts peers is displayed in the header of the frame 1 The upper list 2 shows tracers running at other hosts which are connected to this trace Usually there will be only one trace i e the one you have just started The lower list 3 shows a list of all created 3nuts peers Each entry consists of the ID and network address of a peer Note that it is possible to run several peers on the same host using the same IP address Therefore each 3nuts peer has an additional local address which is shown in the last column labeled Local Even in the case 3nuts has just been started there may be some active peers already the number of peers created at startup can be changed in the startup script The current number of 3nuts peers in the network is always shown next to the list of peers In order to create some 3nuts peers the number of new peers has to be entered into the text box 6 Then this numbe
12. essage utilization Local Messages Mi Retour local messages Object Layer Raw Data Layer Message Handler Y Acknowledgment Manager 4 State Number of Message Handlers 10 Participants a O Acknowledgement Manager In Acknowledgement Manager Out Retour local messages Message gt Raw Data Converter Raw Data gt Message Converter Figure 3 13 Communication framework for the peers 0068 Message Utilization Interval for counting ls _ Execution Time Message type Utilizati No Out Max Out Avg Out Total Out Utilizati No In Maxin Avgin Total In All types wu 176 295 114 6621 WW 176 295 114 1 6621 p2p freenuts debug application messages DataMoveMsg 3 6 1 60 93 3 6 1 603 93 p2p freenuts debug application messages DataPublicationMsg 7 21 3 06 178 7 21 3 068 178 p2p freenuts messages LookupAcknowledgementMsg 29 66 12 5 728 29 66 12 55 728 p2p freenuts messages LookupRequestMsg 29 66 12 5 728 29 66 12 55 728 p2p freenuts messages LookupResponseMsg 10 21 3 96 230 i 10 21 3 965 230 p2p randomnetwork messages PointerPushPullRequestMsg BE 46 65 34 7 2016 WW 46 65 34 75 2016 p2p randomnetwork messages PointerPushPullResponseMsg MA 37 55 28 9 1679 WW 37 55 28 94 1679 p2p randomnetwork messages RandomWalkCollectorJoinRequestMsg a 17 3 70 215 2 17 3 706 215 p2p randomnetwork messages RandomWalkCollectorJoinRes
13. etworks used to build nodes of the 3nuts network tree Selecting an element in the left row of the Network Properties window the corresponding parameters and their current values are shown in the right column 3 of the window To modify one of the values double click on the value in the right column 2 enter the desired value and press Return When all properties are adjusted press the Apply button 4 to apply the changes and close the dialog To create a new peer to peer network using the modified parameters you have to remove all peers currently in the 3nuts network T he reason for this is that peers connecting to an existing network will take over the parameters from the peer they are using to connect to the network This is necessary to ensure that all peers of 3nuts network use the same parameters 3 3 2 Application Preferences The tree structure of a 3nuts network is defined by the data of the application running on top of the network Therefore running a 3nuts network without an application is not reasonable So every 3nuts peer is created in combination with a small test application This application publishes some random virtual data in the created 3nuts network The behavior and virtual data can be adjusted in the dialog shown in Figure On top of the Application Preferences window a tree for the application data can be chosen Open the drop down list Tree Type 0 to switch between different types of trees The options for the
14. gives a brief overview of how to use 3nuts and create a peer to peer network In particular the following steps are illustrated e Startup of the 3nuts application 3 1 e Creation of a 3nuts network 3 2 e Preferences of a 3nuts network and the application 3 3 e Visualization of a single 3nuts peer e Visualization of a 3nuts network 3 1 Application Startup We assume the user to have write access to the installation directory of 3nuts since 3nuts will write preference files into this directory Then 3nuts can be started using the following command when you have compiled the sources on your own This starts a small script provided with 3nuts It will start the network trace window with default parameters for the network properties In case you downloaded the Jar distribution of 3nuts or you have generated a Jar archive as described in the previous chapter you can start 3nuts with the following command gt java jar 3nuts 20061212 jar If the startup fails or the simulation is started without parameters i e in the case you are using the Jar distribution for the first time the preferences window see Figure 3 1 will show up first The following parameters can be adjusted in the preferences window note that the filename of the jar file may be different in your case 3 Usage If the simulation trace GUI O Network Tracer Preferences should be shown Trace Y show Trace GUI Network Port of th
15. he child nodes of the selected node in Figure these are the nodes Books Movies and Music In the middle of the window the weighted distributed hash table WDHT is shown with weighted logarithmic 15 3 Usage Paths of the Tab for the Add Remove a oe Link to the responsible own data of application own data ee 3nuts peer the application in a 3nuts peer volunteer path 008 3nuts Peer 192 168 178 22 3000 3407453 nuns peer IP 92 166 17822 Por 20 92 168 178 22 3000 3407453 wc 8f c2 cO la 7a ca 58 M Application with netwc lrk connection 192 168 178 See 168 178 2 2 3000 368548 ER ammm Cum Tree Messages Neighborhood Operations Own Data Responsible Peer Data Movies Comedy 192 168 178 22 3000 9058117 SENEE Movies Comedy Laurel amp Hardy 192 168 178 22 3000 9058117 Music Classic Bach Music Classic Bach 192 168 178 22 3000 11564643 Volunteer Path AAA a av Data Links Administration Movies Horror 2 0 2 _ _ ___ _____ lt A OOKOKXKX lt X lt 2 Movies Horror 0 1 0 1 Path Movies Horror O OOS Weight 2 0 192 168 178 22 3000 6155456 192 168 178 22 8835861 A Y Extract ta frame 4 Nodes of the 3nuts tree 4 List of peers providing the 5 the peer is responsible for selected data item Figure 3 7 The Application tab functions of the child nodes and positions a peer has been hashed to one position per child node Using this WDHT it is determin
16. he lookup hop distances Figure 3 11 and the efh ciency of the repair mechanism i e the discovery of dead links using Pointer Push amp Pull operations see Figure 3 12 It is also possible to trace the communication of a 3nuts peers The communication window see Figure can be opened by clicking on the button Communication in the second panel of the main frame Figure 3 2 The image on the bottom of the window shows the communication state The communication consists of an incoming channel on the left side red and an outgoing channel on the right side green These channels 20 3 6 Measuring the Network Characteristics 0068 3nuts Tree Weight Distribution A Measure Interval Update P start Time 1000 showPeer Weight 100 15 12 9 6 3 0 200 400 600 800 1000 por W sae W Copy Close Figure 3 10 Load Balancing Distribution of the estimated tree weight 606 Lookup Hop Distance Measurement Properties Number of Parallel Measureme 10 Delay Between Measurements 0 096581 Y Adjust Speed to CPU Usage 80 0 Y Random Measurements 10000 gt Start Measurements Progress Number of Servic 1 Number of Peers 90 Number of Paths 28 Measurements LH of 10000 Time Elapsed 00 00 15 Time Remaining 00 00 00 Time Total 00 00 16 Result Minimum a Maximum a Average 22776 4325 3460 2595 1730 865 gt
17. iled information about this peer will be opened 19 3 Usage Nodes in Scale the Scale the Copy the Show edges 3D optic 0 graph to the 1 graph size 2 graph image 3 from a peer 4 simple circles frame size manually to clipboard to itself a OBS Graph Debug u Y 30 M Scale Copy _ Self edges List of all 5 random network Peers peers in one ID IP Port Local PathNode 131 234 7 3000 1051019 131 234 7 3000 5061457 Selected 131 234 7 3000 5850752 random network m ESMAS S000 NESSIE peer A i 131 234 7 3000 7075851 131 234 7 3000 8335608 131 234 7 3000 10433323 131 234 7 3000 13569311 131 234 7 3000 15384756 131 234 7 3000 16104021 gt a x 0 131 234 79 13 3000 63 Routing table 131 234 79 13 3000 1043332 7 of the selected 131 234 79 13 3000 5061457 peer 131 234 79 13 3000 1043332 ie Show peer Show the selected random network peer in a new frame Random network of a PathNode Figure 3 9 Random network connecting a PathNode in the 3nuts tree 3 6 Measuring the Network Characteristics 3nuts includes tools for measuring the characteristics of a running 3nuts network All measurements can be opened in the menu Measurements of the main frame see Figure 3 2 In particular 3nuts allows to measure the distribution of the estimated tree weight Figure 3 10 the distribution of t
18. is means in particular that the peer address shown on top of the window and the local view of the 3nuts tree will change 3 4 2 The Weighted Distributed Hash Table visualization In 3nuts Weighted Distributed Hashing is used for load balancing i e to assign peers to tree nodes This hashing mechanism is performed in every node of the tree and may be visualized to analyze the behavior of a peer To show the visualization open the popup menu by right clicking a blue colored node in the tree tab and select WDHT Double Hashing A new window as shown in Figure 3 6 will be opened 3nuts peer is double Scale the width of the Copy graph Logarithmical functions hashed with different G graph to the frame image to for weighted subtrees subtrees or with a fixed value clipboard Colors adapt to the graph 0060 3nuts node in the view i peer 192 168 178 X2 3000 826101 1 gt Data Elements M Auto Scale Copy Nodes 0 Books double has Ox Da MIA 800ks Ox 8 0 Movies double ha Ox al MI Movies 0x 7 0 Music double has Ox 9b HA Music Ox 4 0 Label Name Hash Value Color Name Hash Weight Weighted Distributed Hash Table with logarithmical function Double Hash value of 3nuts peer for subtree Books Subtree Music has the smallest height Figure 3 6 The Weighted Distributed Hash Table visualization The table on the right side in the window shows t
19. le Q 368548 Property Value Responsibility Random network peer Pointer Push amp Pull Peer Link 3nuts 192 168 178 22 3000 3407453 Link Underlay 192 168 178 22 3000 136345 Link Age 0 3nuts Peer Hash Value in Pat Ox fl 19 e5 a4 22 ac ae 2c ID Movies Comedy ID Hash Value Ox e6 b9 9f 24 dO 56 dO 3f Weight 1 0 Weight Version 0 Weight Subtree 1 0 Responsibility list Respon Hash Value A IP Port Local Norma Ox 18 43 7e 29 79a 1 192 168 1 3000 9058 Norma 0x 71 2c df 40 cd 9c 0 192 168 1 3000 3407 Norma Ox a7 35 23 e2 65 4 1 192 168 1 3000 3775 Random Network Peer Random Network a A 4 Extract ta frame FA PathNode This peer is Details of selected u i Responsibility Shortcut to ee ae administrated shanghaied list of selected 7 3nuts peer by this peer in that Path on the left 3nuts Node in that node Orange Node Red Figure 3 5 The tree view of a 3nuts peer 14 3 4 3nuts Peer a new window showing the corresponding random network will show up see Figure 3 9 A detailed description of the contents of this window can be found in Chapter Note that it is possible to navigate through the network using the displayed tree in the Tree tab By double clicking on a branch link green node the peer trace window will change to the peer of the branch link So all contents of the window now show information about the peer reached Th
20. ne of the data items is selected the addresses of the peers actually providing this data item is displayed on the right hand side 5 17 3 Usage 3 5 Visualizing the 3nuts Network The decentralized nature of a peer to peer network makes it hard to get a global view of the network However such a global view is extremely useful for checking the behavior of peers and debugging Therefore the 3nuts software comes with a centralized debug tool This tool can be started using the Show button in the 3nuts main window see Figure A screenshot is shown in Figure Copy snapshot Red nodes Orange nodes Zoom py p ge Blue nodes exist of the tree managed shanghaied only exist tree as random networks to clipboard PDF by one peer locally at one peer 3nuts Network M 30 Scale O 3nuts Peers EE v NEY e ID IP Port Local gee 192 1 3 171 10 192 1 3 182 0 192 1 3 261 por Copy 9 0 Pd MN 192 1 3 426 1 0 4 0 oe 192 1 3 794 Poems o 192 1 3 833 i 0 en Y 0 3 0 3 1 pis r y i 152 y Weight of the subtree Practise 0 Weight of the single 3nuts node 3nuts Peer Number of 3nuts Peers in the 3nuts node Sp Random Network 4 WDHT Shows the WDHT for Shows the random Shows the selected List of Snuts peers Tree of the responsibility list 6 network beneath the 7 3nuts peer ina 8
21. ned in 4 More precisely it connects to application of the peer responsible for the data item If a peer responsible for a data item does not receive such an update for the time specified in Link Update Timeout it will remove the link for the corresponding data element 3 4 3nuts Peer The 3nuts software allows to trace the inner state of every 3nuts peer Figure 3 5 shows the peer trace window of a 3nuts peer The top of the window shows ID information such as IP and local adress of the traced peer The main part of the window is organized in tabs These tabs are Tree Allows to view the peers local view of the tree Application Shows information about the application running on top of 3nuts Messages Shows Messages of the 3nuts network Neighborhood Shows the neighborhood of the traced peer Operations Allows to perform basic network operations join leave etc The informations shown in the Messages Neighborhood and Operations are self explana tory and therefore there is need no further description here The contents of the Tree and Application tabs are described in the next sections 12 3 4 3nuts Peer 3 4 1 The Tree tab The Tree tab shows the peers local view of the 3nuts network The displayed tree can be resized using the Scale slider D and copied to the clipboard using the Copy button 8 Clicking on a node of the tree will show detailed information about that particular node on the left side of the tab
22. participating in the 3nuts of the selected node selected node new frame selected node Network Figure 3 8 3nuts network The main part of the window shows the 3nuts network tree defined by the data currently available in the network The nodes of the tree are colored blue 5 if the node is actually represented by a random network The orange portion 4 of the tree is currently not existing as a random network yet these parts of the tree exist locally in the 3nuts peer which has the highest responsibility in the first blue colored node above an orange colored subtree Red nodes 8 are nodes of the tree to which no peer has been assigned to by the load 18 3 5 Visualizing the 3nuts Network balancing mechanism In this case the peer that has the the highest responsibility in the parent node will be responsible for the red node until another peer is assigned to the red node The visualization of the tree can be adjusted in the following way The nodes of the tree can be shown as rectangle or as shaded 3 dimensional ovals Furthermore you can zoom in and out using the slider 1 A snapshot of the current tree can be copied to the clipboard by pressing the copy button 2 The button PDF opens a dialog for saving the snapshot to a PDF file Clicking once on a blue node in the tree i e a node with a random network beneath all the 3nuts peers participating in the corresponding random network are shown in the list left to
23. ponseMsg 3 16 3 0 174 3 16 3 0 174 p2p randomnetwork messages RandomWalkCollectorRequestMsg 7 18 6 18 359 7 18 6 189 359 p2p randomnetwork messages RandomWalkCollectorResponseMsg 1 16 3 81 221 1 16 3 810 221 Figure 3 14 Message Utilization in the communication between the peers 23
24. r of 3nuts peers can be created using the Create button 9 If necessary the properties of the created peers can be set in a dialog showing up when using the Properties button 7 Every peer is created combined with an application which uses the peer for publishing some virtual data The application preferences can be adjusted in a dialog which can be reached using the 3nuts Appl button 8 More information about the preferences can be found in Section 3 3 In order to remove some 3nuts peers from the network simply mark these in the list of peers 3 and click the Remove button A A double click on a peer in the list of peers 3 or selecting one peer in the list and then using the Show button a new window showing detailed information about this peer e g the peers view of the 3nuts network will appear The contents of this window are described in Section For the purpose of debuging and testing 3nuts debug tool allows to view the global structure of the whole network This global view window shows up when pressing the button Show For further information about this window see Section 3 4 It is also possible to measure the characteristics of a running 3nuts network The drop down menu Measurements 0 allows to activate the measurement tools e g hop dis tances in the network state of load balancing degree distribution of the peers 3 Usage measurements Choose network trace List of connected simulations tra
25. s to store data in non leaf nodes Binary Tree A balanced binary tree which will have in each node the same number of data elements in both children The only option is the number of data elements in the tree When the tree is created by applying and closing the dialog each data element of the tree assigned to a 3nuts application is removed from the tree to assure an equal weighted tree in the created network Therefore if the product of peers and data elements stored per peer is greater than data elements in the network some peers to be more specific those who were created last will not store data elements So in order to create a balanced binary tree the product of peers and data elements stored per peer should be greater equal than the number of data elements in the defined binary tree File List Tree This is a tree loaded from a ASCI text file Each line in such a file corresponds to a path in the tree The single characters in the line are the labels of the nodes in the tree So this is a character tree Example trees in the directory 3 3 3nuts Preferences 0606 3nuts Application Preferences A 3nuts network adapts it s network structure to the data of the application layer Each 3nuts peer in the simulation is created combined with an associated application An application gets own random virtual data which it publishs in the network Switch between tree types Tree Type Predefined Tree HH G Load
26. the tree visualization 7 Selecting a peer out of the list and then clicking the 3nuts Peer button 5 will open the 3nuts peer trace window of a peer The random network beneath a node of the tree will show up in a new window when double clicking on the corresponding node or selecting a node and then clicking the Random Network button 6 A screenshot of this window is shown in Figure 3 9 In this window a list of all peers currently participating in this random network is shown on the left 5 The link structure of the random network is shown shown in the graph on the right 9 Since the random networks are maintained using Pointer Push amp Pull operations you will see how the links of the network change over time Again there are some options for the visualization which are almost equal to those in the centralized 3nuts debug window There is just one additional check box 4 to toggle the visualization of self loops in the network If a fraction of random network peers for some reason got disconnected from the rest of the random network the nodes of each connected component are shown in a different color Selecting a random network peer in the graph visualization or in the list the routing table of that random network peer will be shown in the lower left of the window 7 Using a double click on a random network peer in the graph or in the list of peers or selecting a peer and clicking the Show Peer button 8 a new window with deta
27. twork structure Besides this 3nuts provides fair load balancing fast data access and guaranteed robustness proved by rigorous analysis A note on the provided software The purpose of the presented software is to build and maintain a peer to peer network adapting to the data provided in this network The data itself is managed by an applica tion which runs on top of the 3nuts network 3nuts is designed such that the application is completly independent of the network layer Therefore we only provide a minimalistic test application which generates some virtual random data at every peer so that there is some data defining a tree structure the peer to peer network can adapt to 1 Introduction 2 Installation The 3nuts software is implemented using Java 5 For running 3nuts the Java Runtime Environment in Version 1 5 is needed For compiling the sources the ANT packagd is required additionally Currently 3nuts does not rely on further external packages or libraries 2 1 Compiling 3nuts This section describes how to compile the 3nuts sources and gives instructions for Linux and Mac OS X operating systems as well as the Microsoft Windows operating system Note that you can skip this Section if you obtained the Jar distribution of 3nuts There are two basic possibilities to compile the 3nuts sources and generate executable files The first possibility is generate executables into the bin subdirectory of the 3nuts source
Download Pdf Manuals
Related Search
Related Contents
DMD50 Universal Satellite Modem adve advert advertencia adve advert advertencia Sony VG-C77AM Operating Instructions T95045T1 User Manual User Manual - Mirai Inter-Tech Manual de instrucciones Modelo:HP-580SB 2.1Ch GPT-9000 Series STRaND-1 IAC Paper Manuale dell`Utente Server IDAS 4000 Copyright © All rights reserved.
Failed to retrieve file