Simulator

280 views

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
280
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
3
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Simulator

  1. 1. ½ × Û ËØ Ò Ò Ø Ø ÙØ Ô ÖÓÙ× ÞÓÙÑ Ø Ò ÓÑ Ø Ð ØÓÙÖ ØÓÙ ÔÖÓ×ÓÑÓ ÛØ Nested Balanced Distributed Tree Ø Ò ÙÔÓ ÓÑ ÔÓÙ Ñ Ð Ø × Ñ × ÔÖÓ Ó Ñ ÒÓ Ð Óº Ø ÒÔ Ö Ñ Ø Ò ÐÙ× Ø Ò ÙØ ÙÔÓ ÓÑ Ñ ÓÙÖ × Ñ NBDTº Ò ÐÓ ×Ñ ÔÓÙ ÔÖÓ×ÓÑÓ ôÒ Ð Ø Ð ØÓÙÖ ØÓÙ ÌÓ × ×Ø Ñ Message Passing Ñ ×Þ Ø × Ò Ô Ö ÐÐÓÒ ÔÓÙ Ó Ñ Ó Ò Ô Ö× Ø ÒØ Ñ Ò Ñ Ø ´Threadsµ Ô Ó ÒÛÒÓ ÒÑ Ø Ü ØÓÙ ÔÓ× Ø ÐÐÓÒØ Ð Ñ ÒÓÒ¹ Ø Ñ Ò Ñ Ø º Ç ÔÖÓ×ÓÑÓ ÛØ ÕÛÖÞ Ø × ØÖ ÔÔ ÙÐÓÔÓ × º ÌÓ ÔÖôØÓ ÔÔ Ó ÙÐÓÔÓ × Ò ØÓ × ×Ø Ñ ´Systemµ¸ ØÓ ÓÔÓÓ ÔÓØ Ð ØÓÒ ÔÙÖ Ò ØÓÙ ÔÖÓ×ÓÑÓ ÛØ º ËØÓ ÔÔ Ó ÙØ ÙÐÓÔÓ Ø ØÓ Ô Ö ÐÐÓÒ ÒØ ÐÐ Ñ ¹ Application ÒÙÑ ØÛÒ Ó Ñ Ó Ø ÙÔÓ ÓÑ º ÌÓ Ø ÖÓ ÔÔ Ó Ò ØÓ Interface (API) SystemUIº ØÓ ÓÔÓÓ ØÓ ÓÒÓÑ ÞÓÙÑ ÌÓ ÔÔ Ó ÙØ Ô Ö Õ Ð Ø Ð ØÓÙÖ ØÓÙ ÔÖÓ×ÓÑÓ ÛØ º ÈÓ ×Ù ÖÑ Ò ¸ Ô Ö Õ Ñ ÓÙ Ø Ò ÙÒ Ñ Ò × Ô × × Ñ ÛÒ¸ Ø Ò Ò Þ Ø × ¸ Ø Ò × Û Ö Ð ôÒº Ì ÐÓ ¸ × ØÓ Ø Ð ÙØ Ó ÔÔ Ó ÙÐÓÔÓ Ó Ñ Ø Ò Ö ¹ × Ò × ØÓÙ ×Ù× Ø Ñ ØÓ ´SystemGUIµº Å Ñ Ô Ö ÙÖ ÖÑÓ Ó ÕÖ ×Ø ÑÔÓÖ Ò ÖÕ ÓÔÓ ØÓ × ×Ø Ñ ¸Ò ÔÐ Ð ØÓÒ Ö Ñ ØÛÒ Ñ ÛÒ ØÓÙ ×Ù× Ø Ñ ØÓ ¸ Ñ Ø ÒÓÑ Ø Ò Ò × ØÛÒ Ð ôÒ Ø Ø Ò Ö Ø ÖÕ ÓÔÓ × º Ô× Ô Ö Õ Ø Ò ÙÒ Ø Ø Ø Ò Þ Ø × ¸ Ò × Ö ¹ ÔÓ ÓÙ Ð Ó Ô Ø Ò ÙÔÓ ÓÑ ¸ Ü ÒôÒØ Ô ÓÔÓ ÓÒ ÔÓØ Ô ÙÑ Ø Ñ Óº Ô× Ø Ø Ò Ö Ø Ø Ð × Ô ÖÓÙ× ÞÓÒØ × ØÓÒ ÕÖ ×Ø Ø Ñ Ò Ñ Ø ÔÓÙ ÔÓ× Ø ÐÐÓÒØ Ñ Ø Ü ØÛÒ Ñ ÛÒº Ô ÔÐ ÓÒ Ð ØÓÙÖ Ø Ö Ô Ò ÙÒ Ø Ø Ø Ü Û Ö ôÒ Ô Ö ×Ø × ÛÒ Ø Ò NBDTº Ô Ó× ØÛÒ Ð ÓÖ ÑÛÒ ÔÓÙ ÙÔÓ× Ø ÖÞ ØÓ ³ÇÔÛ Ô× ÙÒ Ø ¹ Ø Ø ÔÓ Ù× ØÛÒ Ö ôÒ ÙØôÒº Ç ÕÖ ×Ø ÑÔÓÖ Ò Ô× Ø Ò Balanceµ Ø ÒÓÑ ØÛÒ Ð ôÒ ×Ø Ò ÓÑ ´Load Ñ ×Û Ö Ô Ö ×Ø × º Ñ Ñ Ð ØÓÙÖ ÔÓÙ ÑÔÓÖ Ò Ø Ð ×Ø Ñ ×Û Ø Ö Ô Ò Ô ÐÓ Ò ÔÓ×Ó× ØÓ Ñ Ø ÒÓÑ Ø Ò Ö Ñ ÛÒ ÔÓÙ ÔÖÓ¹ ×ÓÑÓ ôÒ Ø Ò Ð ØÓÙÖ Ø Ø ÖÖ Ù× Ò ×ÙÒ ÐÓÙ Ñ ÛÒº Å ØÓ ØÖ ÔÓ ÙØ Ó ÕÖ ×Ø ÑÔÓÖ Ò Ü Ø × Ø Ò ÒÓÕ Ø ÙÔÓ ÓÑ × Ø ÖÖ × Ñ¹ ÛÒº Ì ÐÓ ¸ Ö Ô Ô Ö Õ Ó Ô Ü × ØÛÒ ÙÒ ØÓØ ØÛÒ Ø Ö Ô ¸ ÐÐ Ñ ×Ø Ø ÓÔØ ÓÔÓ × Ø ÙÔÓ ÓÑ º JAVA Ç ÔÖÓ×ÓÑÓ ÛØ Õ ÙÐÓÔÓ Ñ Ø Ðô×× ÔÖÓ Ö ÑÑ Ø ×ÑÓ Ø Ò Ñ ÓÙÖ Ø Ö Ô Ò ÕÖ × ØÓÙ Ô ØÓÙ ÐÓ ×Ñ Ó NetBeansº ËØ Ò ×ÙÒ Õ Ò Ø Ñ Ø Ò Ò ÐÙ× Ø ÙÐÓÔÓ × ØÛÒ Ð ÓÖ ÑÛÒº ¾ Ç NBDT Simulator ËØ Ò Ò Ø Ø ÙØ Ò Ð ×ÓÙÑ Ø ØÖ ÔÔ ÙÐÓÔÓ × ØÓÙ ÔÖÓ×ÓÑÓ ÛØ º Â Ò Ö Ó Ñ Ð ÔØÓÑ Öô × Ø ×Õ ×Ø ÔÓ × × ØÓÒ ØÖ ÔÓ × Ò¹ × ØÛÒ ÔÔ ÛÒ ÙØôÒº ËØÓ ËÕ Ñ ½Ô ÖÓÙ× Þ Ø Ò ×ÙÒÓÔØ ÑÓÒØ ÐÓ ÔÓÙ ÒÓÒØ ÙØ Ø ØÖ ÔÔ º Ç ÔÓÕÖô× ØÓÙ Ö Ô Ö ×Ø ÒÓÙÒ Ø ÓÖ Ø ÔÔ Ø Ò Ö Õ ØÓÙ º Å ÒØÓÒÓ Ö Ò Ô Ö × ØÓ Ñ ØÓÒ ÔÙÖ Ò ØÓÙ ×Ù× Ø Ñ ØÓ ô Ò ÒÓÙÑ ÙÐÓÔÓ Ó Ñ Ø ÔÔ ØÛÒ ÓÖ Ø ôÒ Ô ôÒ ØÓ Ö ÕÖôÑ Ò Ø ÔÓ Ô Ð Ò ÙÔÓ Ðô× Ø Ò ÔÓ Ô ÒÛ × Ø Ò Ö ÖÕ Ø ÙÐÓÔÓ × º ½
  2. 2. Nested Balanced Distributed Tree Simulator Modelº ËÕ Ñ ½ ËØÓ ×Õ Ñ ÙØ ÒÓÒØ Ô× Ó ×ÙÒ × Ò Ñ × ×Ø ÓÖ ÔÔ ¹ System¸ SystemUI¸ º ÌÓ ÔÖôØÓ ÔÔ Ó¸ Ô Ó ÒÛÒ Ñ × Ñ ÒÓ Ñ ØÓ Ø ÖÓ¸ SystemGUI¸ Òô ØÓ ØÖØÓ ÔÔ Ó¸ Ô Ó ÒÛÒ Ñ ØÓ Ø ÖÓº ÜÞ Ò Ô Ö Ø ¹ Ö ×ÓÙÑ Ø Ò ÓÑ ØÓÙ ÔÙÖ Ò ÔÓÙ ÒÓÒØ Ó Ñ Ó Ó ØÖ ÔÓ Ô Ó ÒÛÒ ØÓÙ Ñ ×Û ØÓÙ Ø ÓÙ Ñ ÒØ ÐÐ Ñ ÒÙÑ ØÛÒº ËØ Ò ×ÙÒ Õ Ò Ö Ó Ñ Ò ÐÙØ × Ò Ô Ø ÔÔ ÙØ ÖÕÞÓÒØ Ô ØÓ ÔÖôØÓ ÔÔ Ó ÔÖÓÕÛÖôÒØ ÔÖÓ Ø Ô ÒÛº System ¾º½ Peers/Nodes ÌÓ ÔÔ Ó ÙØ ÔÓØ Ð Ø Ô ØÓÙ Ñ ÓÙ ØÓ ØÙÓ Ô¹ Networkº Ó ÒÛÒ ³ÇÔÛ Ò Ö Ô Ö Ô ÒÛ ØÓ × ×Ø Ñ ×Þ Ø ×Ø Ò ÒØ ÐÐ Ñ ÒÙÑ ØÛÒ Ñ Ø Ü ØÛÒ Ñ ÛÒ Ø ÙÔÓ ÓÑ Ñ ×Û ØÓÙ Ø ÓÙ Ô Ó¹ Network ÒÛÒ º Ø Ò ÔÖÓ×ÓÑÓÛ× ØÓÙ Ø ÓÙ ÙÐÓÔÓ × Ñ Ø Ò Ð × ÔÓÙ buffer Ò Ô Ö ×Ø ØÓ ØÙÓº À Ð × ÙØ Õ Ò Ò ÔÓÙ ÔÓ ÓÒØ Ø Ñ ¹ Ò Ñ Ø ÔÓÙ × Ø ÐÒÓÙÒ Ó Ñ Óº Ô× ÙÐÓÔÓ Ø Ñ ÓÙ Ø Ò ÔÓ× ØÓÐ Ø Ò Ð Ý ØÛÒ Ñ ÒÙÑ ØÛÒ¸ ô Ô× ÐÐ Ó Ø Ñ ÓÙ ØÓÒ Ð ÕÓ Ø ×Ñ Ø Ø ØÓÙ Ø ÓÙ ÐÐ Ø Ò Ø Ö ØÛÒ Ñ ¹ ÒÙÑ ØÛÒ ÔÓÙ ÔÓ× Ø ÐÐÓÒØ Ø Ø Ò Ö Ø Ð ØÓÙÖ ØÓÙ ÔÖÓ×ÓÑÓ ÛØ º No- Ø Ò Ò Ô Ö ×Ø × ØÛÒ Ñ ÛÒ Ø ÙÔÓ ÓÑ ÙÐÓÔÓ × Ñ Ø Ò Ð × de ÔÓÙ Ñ Ó Ò Ò Ò Ñ º Å Ø Ò Ø ÕÒ ÙØ Ø ÖÒÓÙÑ Ò ÙÐÓÔÓ ×ÓÙÑ Ø Ò Ô Ö ÐÐ Ð Ð ØÓÙÖ ØÛÒ Ñ ÛÒ Ø Ò Ò Ü ÖØ × ÔÓÙ ÙÔ ÖÕ Ñ Ø Ü ØÓÙ º Ã Ñ Ó Ô Ó ÒÛÒ Ñ ÓÔÓ ÓÒ ÔÓØ ÐÐÓ × Ø ÐÒÓÒØ Ð Ñ ÒÓÒØ Ñ Ò Ñ Ø Ô ÔÖÓ ØÓ ØÙÓº ËØ Ò Ð × ÙØ ÙÐÓÔÓ Ó Ñ ØÓÙ Ð ÓÖ ÑÓÙ Ò Þ Ø × ¸ Ò × Ô × × Ð ôÒ ô Ô× ØÓÙ Ð ÓÖ ÑÓÙ × Û Ö Ñ ÛÒº ¾
  3. 3. Ì Ñ Ò Ñ Ø ÔÓÙ ÔÓÙ ÔÓ× Ø ÐÐÓÒØ Ô ØÓÙ Ñ ÓÙ ÔÓÙ ÔÓ ÓÒ¹ buffer Ø × ØÓÒ ØÓÙ Ø ÓÙ ÕÓÙÒ ×Ù ÖÑ Ò ÓÑ ÙÐÓÔÓ Ó ÒØ Ô Ø Message DataMessageº Ð × À ÐÓ ÔÓÙ Ö Ø Ô×Û Ô Ø Ò Ô ÐÓ¹ ÙØ Ò ÔÖÓ×ÓÑÓÛ× ØÛÒ Ñ ÒÙÑ ØÛÒ Ñ Ø Ò ÑÓÖ ÔÓÙ ÕÓÙÒ Ø Ô Ø IP ÔÓÙ ÔÓ× Ø ÐÐÓÒØ Ô ØÓ ÔÖÛØ ÓÐÐÓº Ð ¸ ØÓ Ñ ÒÙÑ Õ ÔÓ× ØÓÐ ¸ Ô Ö Ð ÔØ ¸Ø ÔÓ ÓÑ Ò º SystemUI ¾º¾ SystemUI ÌÓ ÔÔ Ó ÙØ ÙÐÓÔÓ Ø Ô Ø Ò Ð × Ò Ð Ñ Ò Ø ¹ ÐÓÙ Ö × ½º ÖÕ ÓÔÓ ØÓ × ×Ø Ñ Ñ Ò Ò Ö Ñ Ñ ÛÒ Ò × ÒÓÐÓ Ð ôÒ¸ ÔÓÙ Ø ÒÓÑ ØÓÙ ÔÐ Ø Ô ØÓÒ ÕÖ ×Ø º ¾º È Ö Õ Ø Ñ ÓÙ Ø Ò Ò Þ Ø × ¸ Ø Ò Ò × Ø Ò Ô × × ÔÓ ÓÙ Ð Ó ÓÖÞÓÒØ Ô× ØÓÒ Ñ Ó ÔÓÙ ÔÖÓ Ð × Ø Ò ÒØ× ØÓ Õ ÔÖ Ü º ¿º È Ö Õ Ø Ò ÙÒ Ø Ø Ø Ô Ò ÓÖ ØÓÙ ×Ù× Ø Ñ ØÓ º º È Ö Õ Ø Ò ÙÒ Ø Ø Ø Ø ÖÖ Ù× Ò ×ÙÒ ÐÓÙ Ñ ÛÒ Ñ Ñ ×Ù ¹ ÖÑ Ò Ø ÒÓÑ º º Ã Ø ÐÓ ¸ Ô Ö Õ Ò × ÒÓÐÓ Ñ ÛÒ Ø Ò Ò Ø × ÔÐ ÖÓ ÓÖ ôÒ ØÓÙ ×Ù× Ø Ñ ØÓ ¸ ÔÛ Ò Ó Ö Ñ ØÛÒ Ð ôÒ ÔÓÙ Ò ÔÓ ÙÑ ÒÓ ×Ø Ò ÙÔÓ ÓÑ ¸Ó Ö Ñ ØÛÒ Ñ ÛÒ ØÓÙ ×Ù× Ø Ñ ØÓ Øк À Ð × ÙØ ÔÓØ Ð Ø Ò Ö Ð × ØÓÙ ÔÖÓ×ÓÑÓ ÛØ Ô ÔÐ ÓÒ ÒÓ Ø Ò Ö Ô º SystemGUI ¾º¿ ÌÓ Ø Ð ÙØ Ó ÙØ ÔÔ Ó ÔÓØ Ð Ø Ò Ö Ô ØÓÙ ÔÖÓ×ÓÑÓ ÛØ º ¹ Nested Ò Ñ Ô Ö ÙÖ ÖÑÓ ÔÓÙ ÙÔÓ× Ø ÖÞ Ð Ø Ð ØÓÙÖ ØÓÙ Balanced Distributed Tree¸ Ô Ó ×Ù ÖÑ Ò Ø Ð ØÓÙÖ ÔÓÙ Ô Ö Ö Ø ¹ Ò ×Ø Ò ÔÖÓ Ó Ñ Ò Ò Ø Ø ¸ ×ÙÒ Ø Ò ÙÒ Ø Ø Ø Ü Û ÔÓ Ù× Ö ôÒ Ô Ö ×Ø × ÛÒº ËØ Ò ×ÙÒ Õ Ô ÖÓÙ× ×ÓÙÑ Ò Ò Ø Ô Ö ÙÖ ØÓÙ ÔÖÓ×ÓÑÓ ÛØ Ò Ö Ó Ñ × ØÓÒ ØÖ ÔÓ Õ Ö ×ÑÓ ØÓÙ ÐÐ ×Ø Ð ØÓÙÖ ÔÓÙ ÔØ ÐÓ Òº Ò Ò Ö Ó Ñ ×Ø Ò ÙÐÓÔÓ × ØÓÙ Ö Ó Ô Ö ÐÐÓÒØÓ Ñ Ò Ò × ÓÔ Ñ Ò ô×ÓÙÑ Ð ÔØÓÑ Ö Ø Ò Ø × Ù ØÓÙº Ç Ò Òô× Ø SytemGUI, Plot SavePlotº ÑÔÓÖ Ò Ø Ò ÙÐÓÔÓ × ØÓÙ × Ø Ð × ÀÔ Ö ÙÖ ÖÑÓ ÔÓØ Ð Ø Ô Ò ÙÖÛ Ô Ö ÙÖÓ ØÓ ÓÔÓÓ Ô Ö ¹ tabsº Initialize¸ Õ Ü ÌÓ ÔÖôØÓ¸ Ô Ö Õ Ð ØÓÙÖ ÔÓÙ ÓÖÓ Ò Ø Ò ÖÕ ¹ Operations¸ ÓÔÓ × Ø Ò Ô Ò ÓÖ ØÓÙ ×Ù× Ø Ñ ØÓ º ÌÓ Ø ÖÓ¸ Ô Ö Õ Ø Ð ØÓÙÖ Ø Ò Þ Ø × ¸ Ø Ò × Ø Ö ÔÓ ÓÙ Ð Ó ô Ô× ÔÖÓ Ð ØÓ ×ÙÒÓÐ Ö Ñ ØÛÒ Ñ ÛÒ ØÛÒ Ð ôÒ ÔÓÙ Ò ÔÓ ÙÑ Ò ×Ø Ò ÙÔÓ ÓÑ ¸ ÐÐ Ø Ñ Ò Ñ Ø ÔÓÙ ÔÓ× Ø ÐÐÓÒØ Ø Ø Ò tab Failure Model Ö ÔÓ ÔÖ Ü º ËØÓ ØÖØÓ ØÓ ÓÔÓÓ Õ Ø Ò Ø Ø Ô Ö Õ Ø Ò ÙÒ Ø Ø Ø Ø Ô ÐÓ Ò Ö ÑÓ Ñ ÛÒ Ñ Ø ÒÓÑ ¿
  4. 4. × Ø ÓÔÓ ÔÐ Õ Ó ÒÓ Ñ Ó ÙØÓ Ò ß Ø ÖÖ ×ÓÙÒ º ËØÓ Ø ¹ tab¸ Experiments¸ Ø ÖØÓ ÑÔÓÖÓ Ñ Ò Ü ÓÙÑ Ô Ö Ñ Ø Ò Ñ ØÖ ×ÓÙÑ Ø Ò Ô Ó× ØÛÒ ÔÖ Ü ÛÒ Ø Ò Þ Ø × ¸ Ø Ò × Ø Ô × × ØÛÒ Ð ôÒ Ò Ô ÖÓÙÑ Ø Ò ÒØ× ØÓ Õ Ö Ô Ö ×Ø × º Ô× ÑÔÓÖÓ Ñ Ò Ó Ñ Ñ ×Û Ö Ô Ö ×Ø × Ø Ò Ø ÒÓÑ ØÛÒ Ð ôÒ × ØÓ٠ѹ tab ÓÙ º Ì ÐÓ ¸ × ØÓ ÔÖÓØ Ð ÙØ Ó Ô ÖÓÙ× ÞÓÙÑ Ñ ×ÙÒÓÔØ Ó Ø ÙÒ Ø Ø Ø ØÓÙ ÔÖÓ×ÓÑÓ ÛØ × ØÓ Ø Ð ÙØ Ó Ô ÖÓÙ× ÞÓÙÑ ÔÐ ÖÓ ÓÖ ØÓ ÛÖ Ø ÙÔ ÖÓ Ø ÙÔÓ ÓÑ ÐÐ ØÓÒ ÔÖÓ×ÓÑÓ ÛØ º tab ËØ Ò ×ÙÒ Õ Ô Ö ØÓÙÑ Ð ÔØÓÑ Ö Ü ÕÛÖ × Ø º Initializeº ³ÇØ Ò Ó ÕÖ ×Ø ØÖ Ü Ø Ò ÖÑÓ ÒÓ ÙØ Ñ Ø ØÓ Ö tab Ô Ö ÐÐÓÒ × ØÓ ÔÖôØÓ ÔÓÙ ÑÔÓÖ Ò ÔÐ Ü ØÓÒ Ö Ñ ØÛÒ Ñ ÛÒ ÔÓÙ Õ ØÓ × ×Ø Ñ ô Ô× Ø Ò Ø ÒÓÑ ØÛÒ Ð ôÒ × Ø ÓÔÓ Ò ÖÕ ÓÔÓ × º tab Initializeº ËÕ Ñ ¾ È Ö ÙÖÓ ÔÖÓ×ÓÑÓ ÛØ ¸ Number of Nodes Ç Ö Ñ ØÛÒ Ñ ÛÒ ÔÐ ØÖÓÐÓ Ø × ØÓ Ô Ó Ñ Ø Ø drop down Òô Ô ÐÓ Ø Ø ÒÓÑ Ò Ø Ñ Ò Ñ ÒÓ º Ó Õ Ò Ô ÐÓ ØÛÒ Ô Ö Ñ ØÖÛÒ ×Ø Ò ×ÙÒ Õ Ó ÕÖ ×Ø ÔÖ Ô Ò Ô Ø × ØÓ go ÓÙÑÔ Ò ÖÕ× ÖÕ ÓÔÓ × º Ä Û ØÓÙ Ø × ÙØ ÑÔÓÖ
  5. 5. Ò Ö × Ö Ø Ð ÔØ ¸ Ü ÖØ Ø Ô ØÓÒ Ö Ñ ØÛÒ Ñ ÛÒ¸ ÙÔ ÖÕ Ò progress bar ÔÓÙ Ò Ø ØÓ ÔÓ×Ó× Ø ÓÐÓ Ð ÖÛ× Ø × º Ø ØÛÒ tab ÐÐÛÒ¸ × ØÓ ÙØ ÙÔ ÖÕ ÙÒ Ø Ø Ø Ô Ò ÓÖ ØÓÙ ×Ù× Ø Ñ ØÓ × Ø Ò ÖÕ ØÓÙ Ø ×Ø × ¸Ó ØÛ ô× Ø Ò Ñ Ò ÕÖ Þ Ø Ò Ð ×ÓÙÑ Ø Ò ÖÑÓ Ò ÐÓÙÑ Ò ÐÓÙÑ ÒÓ Ö Ô Ö Ñ ØÖÓÙ × ØÓ × ×Ø Ñ Ñ º Ø Ø ØÓ Ó Ô Ø Ø Ö ÔÖÓ×ÓÕ Ó Ò Ö ÙØ Ó ×Ø Ò Ö ØÛÒ Ö ôÒ Ô Ö ×Ø × ÛÒ ÔÓÙ ØÙÕôÒ ÑÔÓÖ Ò Õ Ü Ó ÕÖ ×Ø Ø Ò Ö ØÛÒ ÖÕ ÛÒ ÔÓÙ Ö Ø Ò ÔÐ ÖÓ ÓÖ Ø Ñ ØÖ × º Operationsº ØÓÙ ÕÓÙÑ ÖÕ ÓÔÓ × ØÓ × ×Ø Ñ ÑÔÓÖÓ Ñ × ØÓ Ø ¹ tab Nested Balanced Distributed ÖÓ Ò Ø Ð ×ÓÙÑ Ø × Ð ØÓÙÖ Ø Tree ÙÔÓ ÓÑ º tab Operationsº ËÕ Ñ ¿ È Ö ÙÖÓ ÔÖÓ×ÓÑÓ ÛØ ¸ ³ÇÔÛ Ò Ø × ØÓ ËÕ Ñ ¿ ØÓ Ô Ö ÙÖÓ ÙØ ÕÛÖÞ Ø × Ô ÒØ Ô ¹ Ö ÓÕ º Ç ØÖ ÔÖôØ Ô Ö ÓÕ ÔÛ ÑÔÓÖ Ò ÔÓ Ó Ò ¸ Ñ ÒÓ ÔÓÙ ÔØ ÐÓ Ò ÓÖ Ø Ð ØÓÙÖ º ³ Ø× ÐÓ Ô Ò¸ × Ñ Ô Ø Ô Ö Ó¹ Search, Insert, Delete Key Õ ÑÔÓÖÓ Ñ Ò Ø Ð ×ÓÙÑ Ø Ò ÒØ× ØÓ Õ ÔÖ Ü º Ô Ø Ø Ò ô×ÓÙÑ ØÓ Ò ÒÛÖ × Ø ´IDµ ØÓÙ Ñ ÓÙ Ó ÓÔÓÓ ÔÖÓ Ð ¹ × Ø Ò ÒØ× ØÓ Õ ÔÖ Ü ØÓ Ð ÔÓÙ ÐÓÙÑ Ø Ò Ò Þ Ø ×ÓÙÑ ¸ Ø
  6. 6. Ò × ÓÙÑ ¸ Ø Ò Ö ÝÓÙÑ º Ó ÕÓÙÑ × Ø ØÑ ÔÓÙ ÔÖÓ Ò ¹ go Ö Ñ ÔÖ Ô Ò Ô Ø ×ÓÙÑ ØÓ ÓÙÑÔ Ò ÖÕ× Ø Ð × Ø ÒØÓÐ º ËØÓ ØÛ Ñ ÖÓ ØÓÙ Ô Ö ÖÓÙ Ó ÕÖ ×Ø ÑÔÓÖ Ò Ø Ñ Ò Ñ Ø ÔÓÙ ÔÓ¹ ×Ø ÐÐÓÒØ Ø Ø Ò Ö Ø Ø Ð × º Ì ÐÓ ¸ ×Ø Ò Ô ÒÛ Ü Ô Ö ÓÕ Ô ÖÓÙ× ÞÓÒØ ÔÓ ×Ù ÒØÖÛØ ÔÐ ÖÓ ÓÖ ØÓ × ×Ø Ñ ÔÛ Ò Ó ×ÙÒÓÐ Ö Ñ ØÛÒ Ñ ÛÒ ÔÓÙ Õ ØÓ × ×Ø Ñ ¸ Ó ×ÙÒÓÐ Ö Ñ ØÛÒ Ð ôÒ ØÓ ×Ø Ñ ØÛÒ Ð ôÒº tab Failure Modelº ÌÓ ÙØ Ô Ö Õ Ø Ò ÙÒ Ø Ø Ø Ø Ø ÙØ ÕÖÓÒ ¹ Ø ÖÖ Ù× Ò ×ÙÒ ÐÓÙ Ñ ÓÙ ÔÐ ÓÒØ ØÓÙ Ñ Ñ ×Ù ÖÑ Ò Ø ÒÓÑ drop down Ô ØÓ Ñ ÒÓ º ÙØ ÔÓÙ Ò Ø ×Ø Ò ÓÙ× Ò ÓÔ Ø Ð ¹ ØÓÙÖ ØÛÒ ×Ù ÖÑ ÒÛÒ Ò Ñ ØÛÒº ØÓÙ ÕÓÙÑ ÔÐ Ü ØÓÒ Ö Ñ ØÛÒ Ñ ÛÒ ÔÓÙ Ø ÖÖ ×ÓÙÒ ÑÔÓÖÓ Ñ Ò Ü ÓÙÑ Ò Ô Ö Ñ Ø ÔÓÙ Ô × Øô×ÓÙÑ Ø Ò ÓÑ Ð Ð ØÓÙÖ Ø ÙÔÓ ÓÑ Ø Ò Ü × ØÓÙ Ö ÑÓ ØÛÒ Ñ ÒÙÑ ØÛÒ ÔÓÙ ÔÓ× Ø ÐÐÓÒØ º tab Failure Modelº ËÕ Ñ È Ö ÙÖÓ ÔÖÓ×ÓÑÓ ÛØ ¸ Ë Ô Ñ Ò Ó× ÙÐÓÔÓ ×ÓÙÑ ÔÓ × Ò Ø ÑÓÒØ Ð Ø ÖÖ Ù× ÔÓ ÓÒØ ×Ø Ò ÔÖ Ñ Ø Ø Ø º Ï× Ø ×Ó Ø ÔÓØ Ð ×Ñ Ø ÔÓÙ Ô ÖÓÙÑ Ô ÙØ Ò Ñ Ò Ø Ò Ò Ô Ö ÑÓ Ñ ÙØ ÔÓÙ Ô ÖÒÓÙÑ Ô ØÓ ×Ù ÖÑ ÒÓ
  7. 7. ÑÓÒØ ÐÓ ÒÓÕ × × ÐÑ Ø Ø ÖÖ Ù× ¸ Ñ × Ò Þ Ø × Ò º ÌÓ Ñ ÒÓ ÓÖ Ø Ò Ó ØÖ ÔÓ ÔÓÙ Ø ÖÖ Ó ÒÓ Ñ Óº tab Experiments Experimentsº ÌÓ Ò ÕÛÖ ×Ñ ÒÓ × Ø ×× Ö Ô Ö ÓÕ º Ç ØÖ ÔÖôØ ÔÓÙ Ò Ô Ö ÑÓ Ñ Ø Ü ØÓÙ Ü ÓÙÒ Ô Ö Ñ Ø Ø Ò Ô Ó× ØÛÒ Ð ÓÖ ÑÛÒ Ø Ò Þ Ø × ¸ Ø Ò × Ø Ö º Ò Ô ÖÓÙÑ Ñ Ö Ô Ö ×Ø × ÔÓÙ Ò Ø Ô Ó× ÔÓ ÓÙ Ô ØÓÙ Ô Ö Ô ÒÛ Ð ÓÖ ÑÓÙ ÔÖ Ô Ò × ÓÙÑ ÔºÕº ØÓÒ Ö Ñ ØÛÒ Ò Þ Ø × ÛÒ Ò ÔÐ ÜÓÙÑ Ø Ò Ø ÒÓÑ × Ø ÓÔÓ ÔÐ Ó ÒØ Ð ÙØ go Ø Ò Þ Ø × º ³ Ô Ø ÔÖ Ô Ò Ô Ø ×ÓÙÑ ØÓ ÓÙÑÔ Ò Ø Ð × ØÓ Ò Ó Ò Þ Ø × º Ì Ò Ö Ô Ö ×Ø × ÑÔÓÖÓ Ñ Ò Ø Ò Ó Ñ ×Ø ×ÙÒ Õ view resultsº Ô ØôÒØ ØÓ ÓÙÑÔ tab Experimentsº ËÕ Ñ È Ö ÙÖÓ ÔÖÓ×ÓÑÓ ÛØ ¸ ËØ ÒØ Ø ÖØ Ô Ö ÓÕ ¸ ÔÓÙ Ö× Ø × ØÓ ØÛ Ñ ÖÓ ØÓÙ Ô Ö ÖÓÙ¸ ÑÔÓÖÓ Ñ Ò Ó Ñ Ñ ×Û Ö Ô Ö ×Ø × Ø Ò Ø ÒÓÑ ØÛÒ Ð ôÒ Ô ÒÛ × ØÓÙ Ñ ÓÙ º Â Ô Ö Ø Ö ×ÓÙÑ Ø ÑÓÖ ÔÓÙ Õ ÑÔ Ð ÖÕ Ò Ñ ÙØ ÔÓÙ Õ Ñ ÔÐ Ü Ò ÖÕ ÓÔÓ ×ÓÙÑ ØÓ × ×Ø Ñ º ËØ Ò ×ÙÒ Õ Ô ÖÓÙ× Þ Ø Ñ Ö Ô Ö ×Ø × ÔÓÙ Ò Ø Ô Ó× ØÓÙ Ð ÓÖ ÑÓÙ Ø Ò × º
  8. 8. tab Helpº ËÕ Ñ È Ö ÙÖÓ ÔÖÓ×ÓÑÓ ÛØ ¸ ³ÇÔÛ Ò Ø Ô Ø Ò Ò ØÓ Ô Ö ÙÖÓ ÙØ Õ Ò Ñ ÒÓ File ÔÓÙ Ó ÕÖ ×Ø ÑÔÓÖ Ò ÔÐ Ü Ò ÔÓ × Ø Ò Ö Ô Ö ×Ø × .pngº × ÑÓÖ Ò Ø ÔÓÙ
  9. 9. HelpºÌÓ tab ÙØ Ô Ö Õ Ñ ×ÙÒÓÔØ Ô Ö Ö Ø Ð ØÓÙÖ ØÓÙ ÔÖÓ×ÓÑÓ ÛØ º tab Helpº ËÕ Ñ È Ö ÙÖÓ ÔÖÓ×ÓÑÓ ÛØ ¸
  10. 10. tab Infoº Ì ÐÓ ¸ ØÓ ÙØ Õ ÔÐ ÖÓ ÓÖ Ø Ò ÙÔÓ ÓÑ ÔÓÙ ÔÖÓ×ÓÑÓ ô¹ ÒÓÙÑ ÐÐ ØÓÒ Ó ØÓÒ ÔÖÓ×ÓÑÓ ÛØ º Ô× Õ Ó ×Õ Ñ Ø ÔÓÙ × ØÓ ÔÖôØÓ Ò Ø ÙÐÓÔÓ Ó Ñ Ò ÙÔÓ ÓÑ Òô × ØÓ Ø ÖÓ Ò Ø ØÓ ÑÓÒØ ÐÓ ØÓÙ ÔÖÓ×ÓÑÓ ÛØ º tab Infoº ËÕ Ñ È Ö ÙÖÓ ÔÖÓ×ÓÑÓ ÛØ ¸ ¿ Ò ÐÙ× ØÓÙ NBDT Simulator ËØ Ò Ò Ø Ø ÙØ Ò Ö Ó Ñ × Ñ Ö ×Õ ×Ø ÔÓ × Ø ÙÐÓ¹ ÔÓ × ØÓÙ ÔÖÓ×ÓÑÓ ÛØ º Â Ò Ö Ó Ñ × ØÓ ÑÓÒØ ÐÓ ÕÖÓÒÓÔÖÓ Ö ÑÑ Ø ×ÑÓ ØÛÒ Ò Ñ ØÛÒ¸ Ø × Ñ ÔÓÙ Ô ØÓ Ò × Ö Ø Ð × ØÛÒ Ð ÓÖ ÑÛÒ ÐÐ Ø Ò ÑÓÖ ØÛÒ ×ÙÒ ÖØ × ÛÒ ÔÓ× ØÓÐ Ð Ý ØÛÒ Ñ ÒÙÑ ØÛÒº Ç ÕÖÓÒÓÔÖÓ Ö ÑÑ Ø ×Ñ ØÛÒ Ò Ñ ØÛÒ¸ ÔÓÙ Ò Ó ÔÓ × Ñ ÒØ Ô Ö ¹ ÓÒØ Ø Ò Ð Ô Ó× Ö ÓÖ Ð ØÓÙÖ ØÓÙ ÔÖÓ×ÓÑÓ ÛØ ¸ Ò Ø Ñ Ø Ò Ò × ÓÖ Ø ôÒ ÕÖÓÒ ôÒ ×Ø Ñ ØÛÒ Ò ÑÓÒ ×Ø Ò Ñ Ø º ÈÓ ×Ù ÖÑ Ò ¸ Ò ÔÓ ÓÙÑ ØÓÒ ÒØ ÛÒ ×Ñ ØÛÒ Ò Ñ ØÛÒ × Ö× Ñ × ¹ Ñ Ù× Ø ÖÓ Ñ Ò Ñ Ñ Ñ ÓÖ Ø ÕÖÓÒ Ô ÖÓ Óº Å ÙØ ØÓ ØÖ ÔÓ Ô Ö ÓÖÞÓÙÑ ØÓÒ Ö Ñ ØÛÒ Ò Ñ ØÛÒ ÔÓÙ Ò ßÜ ÔÒ × × Ñ ÔÓÙ ½¼
  11. 11. Ô Ø Ø Ñ ÒÓ Ò Ò Ñ Ò Ò Ö × º Ì ØÓ Ö× Ñ × Ñ Ò ÔÓ× ØÓÐ bufferµ ´ ÔÓ Ù× × ØÓÒ ØÛÒ Ñ ÒÙÑ ØÛÒ ÐÐ ÒØ× ØÓ Õ Ð Ý ´ Ö bufferµ buffer Vector Java¸ Ô ØÓÒ ØÛÒ Ò Ñ ØÛÒº Ô ÓØ ÔÓ ØÓÙ Ò Ò Ø API thread safe¸ ÔÓÙ ÔÛ ÐôÒ Ø × ØÓ ØÓÙ Ò Ò Ò Ð Ñ ÒÓÙÑ Ñ Ø Ò ×Û× Ø Õ Ö × ØÓÙº ÌÓ Ø Ð ÙØ Ó Ô ØÙ Õ Ò Ø Ñ Ø Ò ÐÛ× ØÛÒ Ñ ÛÒ synchronizedº Û Ò × Ñ Ó ÔÓÙ Ô Ø × Ö Ø Ð × ØÛÒ Ò Ñ ØÛÒ Ò ÙÒ Ñ Ò × Ò ÛÒ Ñ ÛÒ × ØÓ × ×Ø Ñ º Ò × Ð Ò Ò Ó Ñ Ó × ØÓ × ×Ø Ñ Ò ÔÖ Ô Ò Ò Ñ ÐÐ Ò × Ñ ÓÙ × Ü ÐÜ Ø ÙØ Ó × × join Ð Ó Ø × Ù ØÓÙ Ò ÖÓÙº ØÓ Ð Ó ÙØ ×Ø Ò Ñ Ó Ó Ø Ð × Node ÙÔ ÖÕ Ð ÕÓ Ø Ò Ø ×Ø × ØÓÙ ×Ù× Ø Ñ ØÓ º ³Ç×ÓÒ ÓÖ ØÓÒ ØÖ ÔÓ Ô Ó ÒÛÒ ØÛÒ Ò Ñ ØÛÒ ÔÖÓ×Ô × Ñ Ò ÔÖÓ×Ó¹ read write ÑÓ ô×ÓÙÑ ØÓÒ ØÖ ÔÓ Ð ØÓÙÖ ØÛÒ ×ÙÒ ÖØ × ÛÒ Ø Ðô×× Cº write ÔÖÓ Ö ÑÑ Ø ×ÑÓ ³ÇÔÛ Ò ÒÛ× Ø ×ÙÒ ÖØ × ÔÓÙ Ö × ¹ socket non-blocking read ÔÓ Ó Ò × ÒØ × Ñ Ø Ò ×ÙÒ ÖØ × ÓÔÓ Ò blockingº sendMessage Å ØÓ × ÔØ ÙØ Ñ Ñ Ó Ó Ø Ð × Network non blcking buffer Ò ÙØ Ø Ñ ÒÒÓ Ö × ØÓÒ buffer ÓÖ ÔÓÙ Õ ÓÑ Ò Õ ØÓÒ Ð ÕÓ ØÓÙ ´×Ù ÕÖÓÒ ×Ñ µº Òô recvMessage blocking Ñ Ó Ó Ò Ø Ñ ÒÒÓ Ó ØÓ Ò Ñ ß ÓÑ Ø Ñ ÕÖ Ò Ô × Øô× Ø ØÓÙ Õ Ö ÔÓ Ó Ñ ÒÙÑ º Message Passing Ì ÐÓ ¸ Ò ÓÐÓ Ð Öô×ÓÙÑ Ø Ò Ò ÐÙ× ØÓÙ Ô Ö Ð¹ ÐÓÒØÓ ØÓÙ ×Ù× Ø Ñ Ø Ñ Ò Ö Ó Ñ ×Ø Ò ÓÑ ØÛÒ Ñ ÒÙÑ ØÛÒ ÔÓÙ ÔÓ× Ø ÐÐÓÒØ º ³ ÕÓÙÑ Ó Ñ ÒÙÑ ØÛÒ¸ ØÓ ÔÖôØÓ ÓÖ Ø Ò ÑÓÖ ÔÓÙ Õ ØÓ Ñ ÒÙÑ ÔÓÙ ÔÓ× Ø ÐÐ Ø Ø Ò ÐÓÙÑ Ò Ò Þ Ø ×ÓÙÑ ¸ Ò Ò ×ÓÙÑ Ò Ö ÝÓÙÑ ÔÓ Ó Ð Ô Ø Ò ÙÔÓ ÓÑ ¸ Òô ØÓ Ø ÖÓ ÓÖ ØÓ Ñ ÒÙÑ ÔÓÙ ÔÓ× Ø ÐÐ Ø × Ò Ò Ó × ÖÕ Ñ ÒÓ Ñ Óº ÌÓ ÔÖôØÓ Ñ ÒÙÑ Õ ÔÓÐ ÔÐ ÑÓÖ ¸ ÔÐô ÔÓ ÓÙÑ ØÓÒ ÔÓ× ØÓÐ ¸ ØÓÒ Ô Ö Ð ÔØ ¸ ØÓ Ð ØÓÒ Ø ÔÓ ØÓÙ Ñ Ò Ñ ØÓ ´ Ò Þ Ø × ¸ Ò × Ö µº ËØ Ò Ø Ö Ô Ö¹ Data ÔØÛ× ØÓ Ñ ÒÙÑ Ô Ö Õ Ò Ô Ó ÔÓÙ ÔÓ ÓÙÑ Ð Ò Ø ÔÐ ÖÓ ÓÖ ÔÓÙ ÕÖ Þ Ø ÓÒ Ó × ÖÕ Ñ ÒÓ Ñ Ó º Ì ØÓ ÔÐ ÖÓ ÓÖ LSI¸ Ò ØÓ Ó ß ÓÒ ØÓÙ Ñ ÓÙ ÙØÓ × Ð Ø Ñ ÛÐ ÙÑ Ò ÔÔ Ø ÓÑ ô Ô× Ø ß Ö ØÓÙ ÐÐ ØÛÒ Ö Ñ ØÛÒ Ñ ÛÒ × ØÓ ØÙÓº ³ÇÔÛ ÑÔÓÖ ¸ ÐÓ Ô Ò¸ Ò Ô Ö Ø Ö × ÔÓ Ó ÑÓÖ ØÛÒ ßÔ ØÛÒ IPº Ò Ô Ö ÑÓ Ñ ÙØ ØÓÙ Õ ÖÞ Ø ØÓ ØÓÒ Ò Òô× Ø ÔÓÙ Ò Ö Ø Ò Ñ Ð Ø × ØÓÒ ô ØÓÙ ÔÖÓ×Ó¹ LSI CIº ÑÓ ÛØ Ò ÖÓÙÑ Ô× Ø Ò ÓÑ ØÛÒ ÔÒ ÛÒ Ä Û ØÓÙ Ø Ñ Ó ÔÖ Ô Ò Ö Ø ÔÐ ÖÓ ÓÖ ÐÐÓÙ Ñ ÓÙ × ÔÔ Ó LSI CI × Ñ ÛÐ ÙÑ ÒÓ ÔÔ Ó Ø × Ù ÞÓÙÑ ØÓÙ ÔÒ Ñ Ø Ò ÐÓÙ ÐÓ º Ç ÔÒ ÙØÓ Ò × ×Ø ØÓ ÔÓÙ ØÓ × ØÓ Õ Ó ÔºÕº LSI(i, j) j iº Ò Ö Ø × ØÓÒ Ñ Ó ØÓÙ ÔÔ ÓÙ × ØÓ Ñ ÛÐ ÙÑ ÒÓ ÔÔ Ó Å × Ø ÐÓ ÙØ Ò Ö Ñ ÒÓ × ØÓ ×Õ Ñ ÔÓÙ ÙÔ ÖÕ × ØÓÒ ÔÖÓ×ÓÑÓ ÛØ LSI(2, 1) LSI ØÓ × ØÓ Õ Ó ØÓÙ ÔÒ ØÓÙ Ñ ÓÙ ¿¿ Ò ØÓ ¿¾º Ø Ð × ÈÖÓ Ö ÑÑ ØÓ Java Ä Û ØÓÙ Ø ØÓ ÔÖ Ö ÑÑ Õ ÙÐÓÔÓ Ñ Ø Ò Ðô×× ÔÖÓ Ö ÑÑ Ø ×ÑÓ Ò Ò Ü ÖØ ØÓ ÔÐ Ø ÖÑ Ø× ÑÔÓÖ Ò ØÖ Ü × ÓÔÓ ÔÓØ ÔÐ Ø ÖÑ Java Platform, Standard Edition 1.6 ÔÓÙ Õ Ñ Ð Ø Ö º À Ø Ð × ÑÔÓÖ jar Ò Ò Ñ Ó ØÖ ÔÓÙ º Ø Ñ Ø Ò Ø Ð × ØÓÙ ÖÕ ÓÙ Ø Ñ × Ô ØÓ ½½
  12. 12. NetBeans Javaº Ô ØÓ ÐÓ ×Ñ Ó Ø ËØ Ò ÔÖôØ Ô ÖÔØÛ× ¸ Ó ÕÓÙÑ ØÓ¹ jar ÔÓ Ø × ØÓÒ Ø ÐÓ Ó ÔÓÙ ÕÓÙÑ ÔÓ ÙÑ ÒÓ ØÓ ÖÕ Ó Ø ÐÓ Ñ Ø Ò #java −jar N BDT Simulator.jarº ÐÓÙ ÒØÓÐ ËØ Ò Ø Ö Ô ÖÔØÛ× import project Ö Ò ÒÓÙÑ ØÓ Ò Ø Ð ×ÓÙÑ ØÓ ÔÖ Ö ÑÑ Ô ØôÒØ run ØÓ ÓÙÑÔ ×Ø Ò Ö ÑÑ Ö Ð ÛÒº ½¾
  13. 13. È Ö ÖØ Ñ API MyMathº ÈÒ ½ Ø Ò Ð × static double loglog´int aµ log2 log2 (a)º Ô × ØÖ ØÓ static int expexp´int aµ a 22 Ô × ØÖ ØÓ º static double log´double aµ log2 (a)º Ô × ØÖ ØÓ API Netowrkº ÈÒ ¾ Ø Ò Ð × Network´µ buffer log- ÖÕ ÓÔÓ ØÓÒ ÒÓ ØÓ ÖÕ Ó file Ö º void sendMessage(Message msg) msg buffer ÔÓ ØÓ Ñ ÒÙÑ × ØÓÒ Ö ¹ × ØÓ ÖÕ Óº Message recvMessage() msg Ö ØÓ Ñ ÒÙÑ ÔÓÙ Ö× Ø ×Ø Ò buffer ÔÖôØ × ØÓÙ Ô × ØÖ ØÓ Ñ ÒÙÑ ÙØ º void broadcast´Message msg, int idµ msg ÔÓ× Ø ÐÐ ØÓ Ñ ÒÙÑ × ÐÓÙ ØÓ٠ѹ ID id ÓÙ Ñ Ñ Ð Ø ÖÓ Ô Ñ Ö Ø ÖÓ Ô ØÓ ID ØÓÙ Ñ ÓÙ ÔÖÓÓÖ ×ÑÓ ØÓÙ Ñ Ò Ñ ØÓ º int msgForNodeId(int id) buffer Ô × ØÖ Ø Ò × Ñ × × ØÓÒ ÔÓÙ Ò ÔÓ ÙÑ ÒÓ ØÓ Ñ ÒÙÑ ØÓÒ Ñ ÓÑ Ò ÒÛÖ ¹ idº ×Ø ×Ó Ñ boolean isAvailable´µ buffer Ô × ØÖ Ð Ò Ó Ò Ó ¸ ¹ ÓÖ Ø Ô × ØÖ Ý Ù º void resetCounter´µ Â Ø ØÓÒ Ñ ØÖ Ø ØÛÒ Ñ ÒÙÑ ØÛÒ ×Ó Ñ Ñ Òº int getNumberOfMessages´µ Ô × ØÖ ØÓÒ Ö Ñ ØÛÒ Ñ ÒÙÑ ØÛÒ ÔÓÙ ÕÓÙÒ ×Ø Ð º void writeLogFile´String strµ strº Ö × ØÓ ÖÕ Ó ØÓ Ð Ö Ñ Ø ½¿
  14. 14. API Messageº ÈÒ ¿ Ø Ò Ð × final static int SEARCH ÐôÒ Ò Ñ ÒÙÑ Ò Þ Ø × º final static int JOIN ÐôÒ Ò Ñ ÒÙÑ Ò × Ñ ÓÙº final static int INSERT ÐôÒ Ò Ñ ÒÙÑ Ò × Ð Ó º final static int REMOVE ÐôÒ Ò Ñ ÒÙÑ Ö Ð Ó º final static int APPEND ÐôÒ Ò Ñ ÒÙÑ ÔÖÓ× ÖØ × Ñ ÓÙº final static int BROADCAST ÐôÒ Ò Ñ ÒÙÑ ÔÓÑÔ º final static int APPENDCHILD ÐôÒ Ò Ñ ÒÙÑ ÔÖÓ× Ñ ÓÙ × ¹ ÔÓ Ó ÔÒ Ô ôÒº final static int APPENDCI ÐôÒ Ò Ñ ÒÙÑ ÔÖÓ× Ñ ÓÙ × ¹ CIº ÔÓ Ó final static int SEARCHREPLY ÐôÒ Ò Ñ ÒÙÑ Ô ÒØ × × Ò Þ Ø × º Message(int type) Ñ ÓÙÖ Ò Ò Ó Ñ ÒÙÑ Ø ØÓÒ Ø ÔÓ ØÓÙº Message(int type, int trg) Ñ ÓÙÖ Ò Ò Ó Ñ ÒÙÑ Ø ØÓÒ Ø ÔÓ ØÓÙ ØÓÒ Ñ Ó ÔÖÓÓÖ× ÑÓ º Message(int type, int trg, int src) Ñ ÓÙÖ Ò Ò Ó Ñ ÒÙÑ Ø ØÓÒ Ø ÔÓ ØÓÙ¸ ØÓÒ Ñ Ó ÔÖÓÓÖ ×ÑÓ ØÓÒ ÔÓ× ØÓÐ º int getType´µ Ô × ØÖ ØÓ Ø ÔÓ ØÓÙ Ñ Ò Ñ ØÓ º void setType´int typeµ Â Ø ØÓ Ø ÔÓ ØÓÙ Ñ Ò Ñ ØÓ º ½
  15. 15. API Messageº ÈÒ Ø Ò Ð × int getSource´µ Ô × ØÖ ØÓÒ ÔÓ× ØÓÐ ØÓÙ Ñ Ò Ñ ØÓ º void setSource´int srcµ Â Ø ØÓÒ ÔÓ× ØÓÐ ØÓÙ Ñ Ò Ñ ØÓ º int getTarget´µ Ô × ØÖ ØÓÒ Ñ Ó ÔÖÓÓÖ ×ÑÓ ØÓÙ Ñ Ò Ñ ¹ ØÓ º void setTarget´int targetµ Â Ø ØÓÒ Ñ Ó ÔÖÓÓÖ ×ÑÓ ØÓÙ Ñ Ò Ñ ØÓ º MessageData getData´µ Ô × ØÖ Ø ÓÑ Ò ØÓÙ Ñ Ò Ñ ØÓ º void setData´MessageData dataµ Â Ø Ø ÓÑ Ò ØÓÙ Ñ Ò Ñ ØÓ º String getMessageType´int typeµ Ô × ØÖ ØÓ Ø ÔÓ ØÓÙ Ñ Ò Ñ ØÓ × ÑÓÖ Ð¹ Ö Ñ Ø Ó º ½
  16. 16. API MessageDataº ÈÒ Ø Ò Ð × MessageData´µ ÕÖ ÓÔÓ Ø Ô Ø ÔÐ ÖÓ ÓÖ º void setReply(String reply) Â Ø Ø Ò Ô ÒØ × º void setOperation(int opearation) Â Ø ØÓÒ Ø ÔÓ Ø ÔÖ Ü ´ Ò Þ Ø × ¸ Ò × Ô × × µº int getOperation´µ Ô × ØÖ ØÓÒ Ø ÔÓ Ø ÔÖ Ü º boolean isLSNodeVisited´µ LSI Ô × ØÖ Ð Ò Õ Ô× Ó Ñ¹ Ó º ÓÖ Ø Ô × ØÖ Ý Ù º void setLSNodeVisited´boolean visitedµ LSI ÇÖÞ Ø Ó Ñ Ó Õ Ô× º String getReply´µ Ô × ØÖ Ø Ò Ô ÒØ × × ÑÓÖ Ð Ö Ñ Ø¹ Ó º void setKey´int keyµ Â Ø ØÓ Ð Ø Ò ÒØ× ØÓ Õ ÔÖ Ü º int getKey´µ Ô × ØÖ ØÓ Ð Ø ÒØ× ØÓ Õ ÔÖ Ü º void setN´int Nµ Â Ø ØÓÒ Ö Ñ ØÛÒ Ñ ÛÒº int getN´µ Ô × ØÖ ØÓÒ Ö Ñ ØÛÒ Ñ ÛÒº void setId´int IDµ Â Ø ØÓ Ò ÒÛÖ × Ø ØÓÙ Ñ ÓÙº int getId´µ Ô × ØÖ ØÓ Ò ÒÛÖ × Ø ØÓÙ Ñ ÓÙº void setParents´VectorInteger parentsµ Â Ø ØÓÙ ÓÒ ØÓÙ Ñ ÓÙº VectorInteger getParents´µ Ô × ØÖ ØÓÙ ÓÒ ØÓÙ Ñ ÓÙº void setLSI´VectorVector¡Integer LSIµ LSI Â Ø ØÓÒ ÔÒ ØÓÙ Ñ ÓÙº Vector Vector getLSI´µ Integer LSI Ô × ØÖ ØÓÒ ÔÒ ØÓÙ Ñ ÓÙº void setLevel´int levelµ Â Ø ØÓ Ñ ÛÐ ÙÑ ÒÓ ÔÔ Ó ØÓÙ Ñ ÓÙº int getLevel´µ Ô × ØÖ ØÓ Ñ ÛÐ ÙÑ ÒÓ ÔÔ Ó ØÓÙ Ñ ÓÙº void setIntroducers´VectorInteger introducersµ Â Ø ØÓÙ ÖÕ Ó Ñ ÓÙ ØÓÙ ×Ù× Ø Ñ ØÓ º VectorInteger getIntroducers´µ Ô × ØÖ ØÓÙ ÖÕ Ó Ñ ÓÙ ØÓÙ ×Ù× Ø Ñ ¹ ØÓ º ½
  17. 17. API Nodeº ÈÒ Ø Ò Ð × Node´int idµ id Ñ ÓÙÖ Ò Ò Ò Ó Ñ Ó Ñ ÔÖÓ×ÛÖ Ò ÖÕ ÓÔÓ Ø ØÓÔ Ñ Ø Ð Ø º void run´µ ÌÖ Õ Ò Ò Ø ÖÑÓÒ Ö ÕÓ ÔÓÙ Ð Õ Ò Õ ÔÓ Ó Ñ ÒÙÑ ÜÙÔ Ö Ø × º void stopNode´µ ËØ Ñ Ø Ø ÒÐ ØÓÙÖ ØÓÙ Ñ ÓÙº void eventHandler´µ throws InterruptedException Ð Õ Ò Õ ÔÓ Ó Ñ ÒÙÑ ÜÙÔ Ö Ø × º void resolveMessage´Message msgµ msg Ò Ð ØÓ Ø ÔÓ ØÓÙ Ñ Ò Ñ ØÓ Ø Ð Ø Ò ÒØ× ØÓ Õ Ð ØÓÙÖ º void searchKey´int keyµ Ã Ø × Ù Þ Ò Ñ ÒÙÑ Ò Þ Ø × ØÓ ¹ key Ð ØÓ ÓÕ Ø × ØÓ ØÙÓº void removeKey´int keyµ Ã Ø × Ù Þ Ò Ñ ÒÙÑ Ö ØÓ Ð key ØÓ ÓÕ Ø × ØÓ ØÙÓº void insertKey´int keyµ Ã Ø × Ù Þ Ò Ñ ÒÙÑ Ò × ØÓ Ð key ØÓ ÓÕ Ø × ØÓ ØÙÓº void forwardSearchMessage´Message msgµ msg ÈÖÓÛ ØÓ Ñ ÒÙÑ Ò Þ Ø × × ØÓÒ Ø Ð¹ Ð ÐÓ Ñ Óº void forwardJoinMessage´Message msgµ msg ÈÖÓÛ ØÓ Ñ ÒÙÑ Ò × Ñ ÓÙ × ØÓÒ Ø ÐÐ ÐÓ Ñ Óº synchronized void joinNode´µ throws InterruptedException Ñ ÓÙÖ Ò Ñ ÒÙÑ Ò × Ñ ÓÙ ØÓ ÓÕ Ø × ØÓ ØÙÓº void append´int newNodeId, int targetNodeId, int nested- Level, boolean levelIsFullµ ÈÖÓ× ÖØ ØÓ Ò Ó × ÖÕ Ñ ÒÓ Ñ Ó Ñ Ò ¹ newNodeId ÒÛÖ × Ø × ØÓÒ Ñ ÛÐ ÙÑ ÒÓ ÔÔ Ó nestedLevel Ò ØÓ ÔÔ Ó ÙØ Ò Ò ÔÐ Ö ullµº ´levelIsF ÓÖ Ø ÓÒ Ó Ñ Ó ÔÖÓ× ÖØ Ø targetNodeId Ô ØÓÒ Ñ Ó Ñ Ò ÒÛÖ × Ø × ØÓ Ô Ñ ÒÓ ÔÔ Óº void initializeContent´Message msgµ ÖÕ ÓÔÓ Ø ÓÑ ØÓÙ Ò Ó × ÖÕ Ñ ÒÓ٠ѹ msgº ÓÙ Ñ Ø ØÑ ØÓÙ Ñ Ò Ñ ØÓ void repeatBDT´int newNodeId, int targetNodeId, int ne- stedLevelµ Ô Ò Ð Ñ Ò Ø Ø Ò × ÔÖÓ× ÖØ × new- ØÓÙ Ò Ó × ÖÕ Ñ ÒÓÙ Ñ ÓÙ Ñ Ò ÒÛÖ × Ø NodeId nestedLevel × ØÓ Ñ ÛÐ ÙÑ ÒÓ ÔÔ Ó Ô targetNodeIdº ØÓÒ Ñ Ó ½
  18. 18. API Nodeº ÈÒ Ø Ò Ð × int getCollectionIndexForNode´int id, int nestedLevelµ CI¸ Ô × ØÖ Ø Ò × ØÓÙ Ñ ÓÙ × ØÓÒ ÔÒ id¸ ne- Ñ Ò ÒÛÖ × Ø × ØÓ Ñ ÛÐ ÙÑ ÒÓ ÔÔ Ó stedLevelº boolean checkIfLevelIsFull´int id, int nestedLevelµ Ô × ØÖ Ð Ò ØÓ Ñ ÛÐ ÙÑ ÒÓ ÔÔ Ó nestedLevel id ØÓÙ Ñ ÓÙ Ñ Ò ÒÛÖ × Ø Ò ÔÐ Ö º ÔÖ Ø Ô × ØÖ Ý Ù º int findRange´int keyµ Ô × ØÖ ØÓÒ Ò ÒÛÖ × Ø ØÓÙ Ñ ÓÙ ÔÓÙ keyº Ò ØÓ Ð int getNodeLevelAtNestedTree´int id, int levelµ Ô × ØÖ ØÓ ÔÔ Ó ØÓÙ Ñ ÓÙ Ñ Ò ÒÛÖ ¹ id levelº ×Ø × ØÓ Ñ ÛÐ ÙÑ ÒÓ ÔÔ Ó int getKeyLength´µ Ô × ØÖ ØÓ Ñ × ØÓ Ñ Ó ØÛÒ Ð ôÒ ×Ø Ò ÓÑ º void addKey´int keyµ key ÈÖÓ× Ø ØÓ Ð × ØÓÒ ÔÒ Ð ôÒ ØÓÙ Ñ ÓÙº void setN´int Nµ Â Ø ØÓÒ Ö Ñ ØÛÒ Ñ ÛÒ × ØÓ × ×Ø Ñ º void constructLSI´int nestedLevelµ LSI Ã Ø × Ù Þ ØÓÒ ÔÒ ØÓÙ Ñ ÓÙ × Ñ¹ ne- ÛÒ Ñ ØÓÒ Ö Ñ ØÛÒ Ñ ÛÐ ÙÑ ÒÛÒ ÔÔ ÛÒ stedLevel ÔÓÙ ×ÙÑÑ Ø Õ Ó Ñ Ó ÙØ º void constructCI´int nestedLevelµ CI Ã Ø × Ù Þ ØÓÒ ÔÒ ØÓÙ Ñ ÓÙ × Ñ Û¹ nested- Ò Ñ ØÓÒ Ö Ñ ØÛÒ Ñ ÛÐ ÙÑ ÒÛÒ ÔÔ ÛÒ Level ÔÓÙ ×ÙÑÑ Ø Õ Ó Ñ Ó ÙØ º void constructChilds´int nestedLevelµ childs Ã Ø × Ù Þ ØÓÒ ÔÒ ØÓÙ Ñ ÓÙ × Ñ¹ ne- ÛÒ Ñ ØÓÒ Ö Ñ ØÛÒ Ñ ÛÐ ÙÑ ÒÛÒ ÔÔ ÛÒ stedLevel ÔÓÙ ×ÙÑÑ Ø Õ Ó Ñ Ó ÙØ º int getNumOfNodesAtLevel´int levelµ Ô × ØÖ ØÓÒ Ö Ñ ØÛÒ Ñ ÛÒ × ØÓ ÔÔ Ó level ØÓÙ Ò ÓÖÙº int getLastCollectionNodeAtLevel´int levelµ LSI Ô × ØÖ ØÓÒ Ø Ð ÙØ Ó Ñ Ó ØÓÙ Ñ Û¹ levelº Ð ÙÑ ÒÓÙ ÔÔ ÓÙ int getParentAtLevel´int levelµ Ô × ØÖ ØÓÒ Ô Ø Ö ØÓÙ Ñ ÓÙ × ØÓ ÛÐ Ù¹ levelº Ñ ÒÓ ÔÔ Ó void setParents´VectorInteger parentsµ Â Ø ØÓÙ ÓÒ ØÓÙ Ñ ÓÙ ÙØÓ × Ð Ø Ñ ÛÐ ÙÑ Ò Ô Ô º void setKeys´VectorInteger keysµ Â Ø Ø Ð ØÓÙ Ñ ÓÙ ÙØÓ º ½

×