The document describes a nested balanced distributed tree (NBDT) system for distributed and parallel computing. An NBDT is a data structure where information is stored in nodes that are organized into a tree structure spanning multiple processing units. The system uses message passing between nodes and threads to distribute workloads and share information across the network in a balanced manner. It can be implemented using languages like Java and simulated using tools like NetBeans to test performance for applications.
1. ½ × Û
ËØ Ò Ò Ø Ø ÙØ Ô ÖÓÙ× ÞÓÙÑ Ø Ò ÓÑ Ø Ð ØÓÙÖ ØÓÙ ÔÖÓ×ÓÑÓ ÛØ
Nested Balanced Distributed Tree
Ø Ò ÙÔÓ ÓÑ ÔÓÙ Ñ Ð Ø × Ñ × ÔÖÓ Ó Ñ ÒÓ
Ð Óº Ø ÒÔ Ö Ñ Ø Ò ÐÙ× Ø
Ò
ÙØ
ÙÔÓ ÓÑ
Ñ ÓÙÖ × Ñ
NBDTº
Ò ÐÓ ×Ñ ÔÓÙ ÔÖÓ×ÓÑÓ ôÒ Ð
Ø
Ð ØÓÙÖ
ØÓÙ ÌÓ × ×Ø Ñ
Message Passing
Ñ
×Þ Ø × Ò Ô Ö ÐÐÓÒ ÔÓÙ Ó Ñ Ó Ò Ô Ö× Ø ÒØ
Ñ Ò Ñ Ø ´Threadsµ Ô Ó ÒÛÒÓ ÒÑ Ø Ü ØÓÙ
ÔÓ× Ø ÐÐÓÒØ
Ð Ñ ÒÓÒ¹
Ø
Ñ Ò Ñ Ø º Ç ÔÖÓ×ÓÑÓ ÛØ
ÕÛÖÞ Ø × ØÖ ÔÔ ÙÐÓÔÓ ×
º ÌÓ ÔÖôØÓ
ÔÔ Ó ÙÐÓÔÓ ×
Ò ØÓ × ×Ø Ñ ´Systemµ¸ ØÓ ÓÔÓÓ ÔÓØ Ð ØÓÒ ÔÙÖ Ò
ØÓÙ ÔÖÓ×ÓÑÓ ÛØ º ËØÓ ÔÔ Ó ÙØ ÙÐÓÔÓ Ø ØÓ Ô Ö ÐÐÓÒ ÒØ ÐÐ
Ñ ¹
Application
ÒÙÑ ØÛÒ Ó Ñ Ó Ø
ÙÔÓ ÓÑ
º ÌÓ Ø ÖÓ ÔÔ Ó Ò ØÓ
Interface (API) SystemUIº
ØÓ ÓÔÓÓ ØÓ ÓÒÓÑ ÞÓÙÑ ÌÓ ÔÔ Ó ÙØ Ô Ö Õ Ð
Ø
Ð ØÓÙÖ
ØÓÙ ÔÖÓ×ÓÑÓ ÛØ º ÈÓ ×Ù ÖÑ Ò ¸ Ô Ö Õ Ñ ÓÙ
Ø Ò
ÙÒ Ñ Ò × Ô × × Ñ ÛÒ¸ Ø Ò Ò Þ Ø × ¸ Ø Ò × Û
Ö Ð ôÒº Ì ÐÓ
¸ × ØÓ Ø Ð ÙØ Ó ÔÔ Ó ÙÐÓÔÓ Ó Ñ Ø Ò Ö ¹
× Ò × ØÓÙ ×Ù× Ø Ñ ØÓ
´SystemGUIµº Å Ñ Ô Ö ÙÖ ÖÑÓ Ó ÕÖ ×Ø
ÑÔÓÖ Ò ÖÕ ÓÔÓ ØÓ × ×Ø Ñ ¸Ò ÔÐ Ð ØÓÒ Ö Ñ ØÛÒ Ñ ÛÒ ØÓÙ
×Ù× Ø Ñ ØÓ
¸ Ñ Ø ÒÓÑ Ø Ò Ò × ØÛÒ Ð ôÒ Ø Ø Ò Ö Ø
ÖÕ ÓÔÓ ×
º Ô×
Ô Ö Õ Ø Ò ÙÒ Ø Ø Ø Ò Þ Ø ×
¸ Ò ×
Ö ¹
ÔÓ ÓÙ Ð Ó Ô Ø Ò ÙÔÓ ÓÑ ¸ Ü ÒôÒØ
Ô ÓÔÓ ÓÒ ÔÓØ Ô ÙÑ Ø
Ñ Óº Ô×
Ø Ø Ò Ö Ø
Ø Ð ×
Ô ÖÓÙ× ÞÓÒØ × ØÓÒ ÕÖ ×Ø
Ø Ñ Ò Ñ Ø ÔÓÙ ÔÓ× Ø ÐÐÓÒØ Ñ Ø Ü ØÛÒ Ñ ÛÒº Ô ÔÐ ÓÒ Ð ØÓÙÖ
Ø
Ö
Ô
Ò ÙÒ Ø Ø Ø Ü Û
Ö ôÒ Ô Ö ×Ø × ÛÒ Ø Ò
NBDTº
Ô Ó× ØÛÒ Ð ÓÖ ÑÛÒ ÔÓÙ ÙÔÓ× Ø ÖÞ ØÓ ³ÇÔÛ
Ô×
ÙÒ Ø ¹
Ø Ø ÔÓ Ù×
ØÛÒ Ö ôÒ ÙØôÒº Ç ÕÖ ×Ø
ÑÔÓÖ Ò Ô×
Ø Ò
Balanceµ
Ø ÒÓÑ ØÛÒ Ð ôÒ ×Ø Ò ÓÑ ´Load Ñ ×Û Ö
Ô Ö ×Ø ×
º
Ñ Ñ Ð ØÓÙÖ ÔÓÙ ÑÔÓÖ Ò Ø Ð ×Ø Ñ ×Û Ø
Ö
Ô
Ò
Ô ÐÓ Ò
ÔÓ×Ó× ØÓ Ñ
Ø ÒÓÑ
Ø Ò Ö Ñ ÛÒ ÔÓÙ ÔÖÓ¹
×ÓÑÓ ôÒ Ø Ò Ð ØÓÙÖ Ø
Ø ÖÖ Ù×
Ò
×ÙÒ ÐÓÙ Ñ ÛÒº Å ØÓ ØÖ ÔÓ
ÙØ Ó ÕÖ ×Ø
ÑÔÓÖ Ò Ü Ø × Ø Ò ÒÓÕ Ø
ÙÔÓ ÓÑ
× Ø ÖÖ ×
ѹ
ÛÒº Ì ÐÓ
¸ Ö Ô Ô Ö Õ Ó Ô Ü × ØÛÒ ÙÒ ØÓØ ØÛÒ
Ø
Ö
Ô
¸ ÐÐ Ñ ×Ø Ø ÓÔØ ÓÔÓ × Ø
ÙÔÓ ÓÑ
º
JAVA
Ç ÔÖÓ×ÓÑÓ ÛØ
Õ ÙÐÓÔÓ Ñ Ø Ðô×× ÔÖÓ Ö ÑÑ Ø ×ÑÓ
Ø Ò Ñ ÓÙÖ Ø
Ö
Ô
Ò ÕÖ × ØÓÙ Ô ØÓÙ ÐÓ ×Ñ Ó
NetBeansº ËØ Ò ×ÙÒ Õ Ò Ø Ñ Ø Ò
Ò ÐÙ× Ø
ÙÐÓÔÓ ×
ØÛÒ
Ð ÓÖ ÑÛÒº
¾ Ç NBDT Simulator
ËØ Ò Ò Ø Ø ÙØ Ò Ð ×ÓÙÑ Ø ØÖ ÔÔ ÙÐÓÔÓ ×
ØÓÙ ÔÖÓ×ÓÑÓ ÛØ º
Â Ò Ö Ó Ñ Ð ÔØÓÑ Öô
× Ø
×Õ ×Ø
ÔÓ ×
× ØÓÒ ØÖ ÔÓ × Ò¹
×
ØÛÒ ÔÔ ÛÒ ÙØôÒº ËØÓ ËÕ Ñ ½Ô ÖÓÙ× Þ Ø Ò ×ÙÒÓÔØ ÑÓÒØ ÐÓ
ÔÓÙ ÒÓÒØ ÙØ Ø ØÖ ÔÔ º Ç ÔÓÕÖô×
ØÓÙ Ö Ô Ö ×Ø ÒÓÙÒ Ø
ÓÖ Ø ÔÔ Ø Ò Ö Õ ØÓÙ
º Å ÒØÓÒÓ Ö Ò Ô Ö × ØÓ Ñ ØÓÒ
ÔÙÖ Ò ØÓÙ ×Ù× Ø Ñ ØÓ
ô
Ò ÒÓÙÑ ÙÐÓÔÓ Ó Ñ Ø ÔÔ ØÛÒ
ÓÖ Ø ôÒ Ô ôÒ ØÓ Ö ÕÖôÑ Ò Ø ÔÓ Ô Ð Ò ÙÔÓ Ðô× Ø
Ò ÔÓ Ô ÒÛ × Ø Ò Ö ÖÕ Ø
ÙÐÓÔÓ ×
º
½
2. Nested Balanced Distributed Tree Simulator Modelº
ËÕ Ñ ½
ËØÓ ×Õ Ñ ÙØ ÒÓÒØ Ô×
Ó ×ÙÒ ×
Ò Ñ × ×Ø ÓÖ ÔÔ ¹
System¸ SystemUI¸
º ÌÓ ÔÖôØÓ ÔÔ Ó¸ Ô Ó ÒÛÒ Ñ × Ñ ÒÓ Ñ ØÓ Ø ÖÓ¸
SystemGUI¸
Òô ØÓ ØÖØÓ ÔÔ Ó¸ Ô Ó ÒÛÒ Ñ ØÓ Ø ÖÓº ÜÞ Ò Ô Ö Ø ¹
Ö ×ÓÙÑ Ø Ò ÓÑ ØÓÙ ÔÙÖ Ò ÔÓÙ ÒÓÒØ Ó Ñ Ó Ó ØÖ ÔÓ
Ô Ó ÒÛÒ
ØÓÙ
Ñ ×Û ØÓÙ Ø ÓÙ Ñ ÒØ ÐÐ Ñ ÒÙÑ ØÛÒº
ËØ Ò ×ÙÒ Õ Ò Ö Ó Ñ Ò ÐÙØ × Ò Ô Ø ÔÔ ÙØ
ÖÕÞÓÒØ
Ô ØÓ ÔÖôØÓ ÔÔ Ó ÔÖÓÕÛÖôÒØ
ÔÖÓ
Ø Ô ÒÛº
System
¾º½
Peers/Nodes
ÌÓ ÔÔ Ó ÙØ ÔÓØ Ð Ø Ô ØÓÙ
Ñ ÓÙ
ØÓ ØÙÓ Ô¹
Networkº
Ó ÒÛÒ
³ÇÔÛ
Ò Ö Ô Ö Ô ÒÛ ØÓ × ×Ø Ñ ×Þ Ø ×Ø Ò
ÒØ ÐÐ Ñ ÒÙÑ ØÛÒ Ñ Ø Ü ØÛÒ Ñ ÛÒ Ø
ÙÔÓ ÓÑ
Ñ ×Û ØÓÙ Ø ÓÙ Ô Ó¹
Network
ÒÛÒ
º Ø Ò ÔÖÓ×ÓÑÓÛ× ØÓÙ Ø ÓÙ ÙÐÓÔÓ × Ñ Ø Ò Ð × ÔÓÙ
buffer
Ò Ô Ö ×Ø ØÓ ØÙÓº À Ð × ÙØ Õ Ò Ò ÔÓÙ ÔÓ ÓÒØ Ø Ñ ¹
Ò Ñ Ø ÔÓÙ × Ø ÐÒÓÙÒ Ó Ñ Óº Ô×
ÙÐÓÔÓ Ø
Ñ ÓÙ
Ø Ò ÔÓ× ØÓÐ
Ø Ò Ð Ý ØÛÒ Ñ ÒÙÑ ØÛÒ¸ ô
Ô×
ÐÐ
Ó Ø
Ñ ÓÙ
ØÓÒ Ð ÕÓ Ø
×Ñ Ø Ø
ØÓÙ Ø ÓÙ ÐÐ Ø Ò Ø Ö ØÛÒ Ñ ¹
ÒÙÑ ØÛÒ ÔÓÙ ÔÓ× Ø ÐÐÓÒØ Ø Ø Ò Ö Ø
Ð ØÓÙÖ
ØÓÙ ÔÖÓ×ÓÑÓ ÛØ º
No-
Ø Ò Ò Ô Ö ×Ø × ØÛÒ Ñ ÛÒ Ø
ÙÔÓ ÓÑ
ÙÐÓÔÓ × Ñ Ø Ò Ð ×
de ÔÓÙ Ñ Ó
Ò Ò Ò Ñ º Å Ø Ò Ø ÕÒ ÙØ Ø ÖÒÓÙÑ Ò
ÙÐÓÔÓ ×ÓÙÑ Ø Ò Ô Ö ÐÐ Ð Ð ØÓÙÖ ØÛÒ Ñ ÛÒ Ø Ò Ò Ü ÖØ × ÔÓÙ
ÙÔ ÖÕ Ñ Ø Ü ØÓÙ
º Ã Ñ Ó
Ô Ó ÒÛÒ Ñ ÓÔÓ ÓÒ ÔÓØ ÐÐÓ × Ø ÐÒÓÒØ
Ð Ñ ÒÓÒØ
Ñ Ò Ñ Ø Ô ÔÖÓ
ØÓ ØÙÓº ËØ Ò Ð × ÙØ ÙÐÓÔÓ Ó Ñ
ØÓÙ
Ð ÓÖ ÑÓÙ
Ò Þ Ø ×
¸ Ò ×
Ô × ×
Ð ôÒ ô
Ô×
ØÓÙ
Ð ÓÖ ÑÓÙ
× Û
Ö
Ñ ÛÒº
¾
3. Ì Ñ Ò Ñ Ø ÔÓÙ ÔÓÙ ÔÓ× Ø ÐÐÓÒØ Ô ØÓÙ
Ñ ÓÙ
ÔÓÙ ÔÓ ÓÒ¹
buffer
Ø × ØÓÒ ØÓÙ Ø ÓÙ ÕÓÙÒ ×Ù ÖÑ Ò ÓÑ ÙÐÓÔÓ Ó ÒØ Ô Ø
Message DataMessageº
Ð ×
À ÐÓ ÔÓÙ Ö Ø Ô×Û Ô Ø Ò Ô ÐÓ¹
ÙØ Ò ÔÖÓ×ÓÑÓÛ× ØÛÒ Ñ ÒÙÑ ØÛÒ Ñ Ø Ò ÑÓÖ ÔÓÙ ÕÓÙÒ Ø Ô Ø
IP
ÔÓÙ ÔÓ× Ø ÐÐÓÒØ Ô ØÓ ÔÖÛØ ÓÐÐÓº Ð ¸ ØÓ Ñ ÒÙÑ Õ ÔÓ× ØÓÐ ¸
Ô Ö Ð ÔØ ¸Ø ÔÓ ÓÑ Ò º
SystemUI
¾º¾
SystemUI
ÌÓ ÔÔ Ó ÙØ ÙÐÓÔÓ Ø Ô Ø Ò Ð × Ò Ð Ñ Ò Ø
¹
ÐÓÙ
Ö ×
½º ÖÕ ÓÔÓ ØÓ × ×Ø Ñ Ñ Ò Ò Ö Ñ Ñ ÛÒ Ò × ÒÓÐÓ Ð ôÒ¸
ÔÓÙ Ø ÒÓÑ ØÓÙ
ÔÐ Ø Ô ØÓÒ ÕÖ ×Ø º
¾º È Ö Õ Ø
Ñ ÓÙ
Ø Ò Ò Þ Ø × ¸ Ø Ò Ò × Ø Ò Ô × ×
ÔÓ ÓÙ Ð Ó ÓÖÞÓÒØ
Ô×
ØÓÒ Ñ Ó ÔÓÙ ÔÖÓ Ð × Ø Ò
ÒØ× ØÓ Õ ÔÖ Ü º
¿º È Ö Õ Ø Ò ÙÒ Ø Ø Ø Ô Ò ÓÖ
ØÓÙ ×Ù× Ø Ñ ØÓ
º
º È Ö Õ Ø Ò ÙÒ Ø Ø Ø Ø ÖÖ Ù×
Ò
×ÙÒ ÐÓÙ Ñ ÛÒ Ñ Ñ ×Ù ¹
ÖÑ Ò Ø ÒÓÑ º
º Ã Ø ÐÓ
¸ Ô Ö Õ Ò × ÒÓÐÓ Ñ ÛÒ Ø Ò Ò Ø × ÔÐ ÖÓ ÓÖ ôÒ ØÓÙ
×Ù× Ø Ñ ØÓ
¸ ÔÛ
Ò Ó Ö Ñ
ØÛÒ Ð ôÒ ÔÓÙ Ò ÔÓ ÙÑ ÒÓ
×Ø Ò ÙÔÓ ÓÑ ¸Ó Ö Ñ
ØÛÒ Ñ ÛÒ ØÓÙ ×Ù× Ø Ñ ØÓ
Øк
À Ð × ÙØ ÔÓØ Ð Ø Ò Ö Ð × ØÓÙ ÔÖÓ×ÓÑÓ ÛØ Ô ÔÐ ÓÒ ÒÓ
Ø Ò Ö Ô º
SystemGUI
¾º¿
ÌÓ Ø Ð ÙØ Ó ÙØ ÔÔ Ó ÔÓØ Ð Ø Ò Ö Ô ØÓÙ ÔÖÓ×ÓÑÓ ÛØ º ¹
Nested
Ò Ñ Ô Ö ÙÖ ÖÑÓ ÔÓÙ ÙÔÓ× Ø ÖÞ Ð
Ø
Ð ØÓÙÖ
ØÓÙ
Balanced Distributed Tree¸ Ô Ó ×Ù ÖÑ Ò Ø
Ð ØÓÙÖ
ÔÓÙ Ô Ö Ö Ø ¹
Ò ×Ø Ò ÔÖÓ Ó Ñ Ò Ò Ø Ø ¸ ×ÙÒ Ø Ò ÙÒ Ø Ø Ø Ü Û
ÔÓ Ù×
Ö ôÒ Ô Ö ×Ø × ÛÒº
ËØ Ò ×ÙÒ Õ Ô ÖÓÙ× ×ÓÙÑ Ò Ò Ø Ô Ö ÙÖ ØÓÙ ÔÖÓ×ÓÑÓ ÛØ
Ò Ö Ó Ñ × ØÓÒ ØÖ ÔÓ Õ Ö ×ÑÓ ØÓÙ
ÐÐ ×Ø
Ð ØÓÙÖ
ÔÓÙ ÔØ ÐÓ Òº
Ò Ò Ö Ó Ñ ×Ø Ò ÙÐÓÔÓ × ØÓÙ Ö Ó Ô Ö ÐÐÓÒØÓ
Ñ
Ò
Ò × ÓÔ
Ñ
Ò ô×ÓÙÑ Ð ÔØÓÑ Ö
Ø Ò Ø × Ù ØÓÙº Ç Ò Òô× Ø
SytemGUI, Plot SavePlotº
ÑÔÓÖ Ò Ø Ò ÙÐÓÔÓ × ØÓÙ × Ø
Ð ×
ÀÔ Ö ÙÖ ÖÑÓ ÔÓØ Ð Ø Ô Ò ÙÖÛ
Ô Ö ÙÖÓ ØÓ ÓÔÓÓ Ô Ö ¹
tabsº Initialize¸
Õ Ü ÌÓ ÔÖôØÓ¸ Ô Ö Õ Ð ØÓÙÖ
ÔÓÙ ÓÖÓ Ò Ø Ò ÖÕ ¹
Operations¸
ÓÔÓ × Ø Ò Ô Ò ÓÖ ØÓÙ ×Ù× Ø Ñ ØÓ
º ÌÓ Ø ÖÓ¸ Ô Ö Õ
Ø
Ð ØÓÙÖ
Ø
Ò Þ Ø ×
¸ Ø
Ò ×
Ø
Ö
ÔÓ ÓÙ Ð Ó
ô
Ô×
ÔÖÓ Ð ØÓ ×ÙÒÓÐ Ö Ñ ØÛÒ Ñ ÛÒ ØÛÒ Ð ôÒ ÔÓÙ Ò
ÔÓ ÙÑ Ò ×Ø Ò ÙÔÓ ÓÑ ¸ ÐÐ Ø Ñ Ò Ñ Ø ÔÓÙ ÔÓ× Ø ÐÐÓÒØ Ø Ø Ò
tab Failure Model
Ö ÔÓ
ÔÖ Ü
º ËØÓ ØÖØÓ ØÓ ÓÔÓÓ Õ Ø Ò Ø Ø
Ô Ö Õ Ø Ò ÙÒ Ø Ø Ø Ø
Ô ÐÓ
Ò
Ö ÑÓ Ñ ÛÒ Ñ
Ø ÒÓÑ
¿
4. × Ø
ÓÔÓ
ÔÐ Õ Ó ÒÓ Ñ Ó ÙØÓ Ò ß Ø ÖÖ ×ÓÙÒ º ËØÓ Ø ¹
tab¸ Experiments¸
Ø ÖØÓ ÑÔÓÖÓ Ñ Ò Ü ÓÙÑ Ô Ö Ñ Ø Ò Ñ ØÖ ×ÓÙÑ
Ø Ò Ô Ó× ØÛÒ ÔÖ Ü ÛÒ Ø
Ò Þ Ø ×
¸ Ø
Ò ×
Ø
Ô × ×
ØÛÒ
Ð ôÒ Ò Ô ÖÓÙÑ Ø Ò ÒØ× ØÓ Õ Ö Ô Ö ×Ø × º Ô×
ÑÔÓÖÓ Ñ
Ò Ó Ñ Ñ ×Û Ö
Ô Ö ×Ø ×
Ø Ò Ø ÒÓÑ ØÛÒ Ð ôÒ × ØÓÙ
ѹ
tab
ÓÙ
º Ì ÐÓ
¸ × ØÓ ÔÖÓØ Ð ÙØ Ó Ô ÖÓÙ× ÞÓÙÑ Ñ ×ÙÒÓÔØ Ó Ø
ÙÒ Ø Ø Ø
ØÓÙ ÔÖÓ×ÓÑÓ ÛØ × ØÓ Ø Ð ÙØ Ó Ô ÖÓÙ× ÞÓÙÑ ÔÐ ÖÓ ÓÖ
ØÓ ÛÖ Ø ÙÔ ÖÓ Ø
ÙÔÓ ÓÑ
ÐÐ ØÓÒ ÔÖÓ×ÓÑÓ ÛØ º
tab
ËØ Ò ×ÙÒ Õ Ô Ö ØÓÙÑ Ð ÔØÓÑ Ö
Ü ÕÛÖ × Ø º
Initializeº ³ÇØ Ò Ó ÕÖ ×Ø
ØÖ Ü Ø Ò ÖÑÓ ÒÓ ÙØ Ñ Ø ØÓ Ö
tab
Ô Ö ÐÐÓÒ × ØÓ ÔÖôØÓ ÔÓÙ ÑÔÓÖ Ò ÔÐ Ü ØÓÒ Ö Ñ ØÛÒ Ñ ÛÒ ÔÓÙ
Õ ØÓ × ×Ø Ñ ô
Ô×
Ø Ò Ø ÒÓÑ ØÛÒ Ð ôÒ × Ø
ÓÔÓ
Ò ÖÕ ÓÔÓ × º
tab Initializeº
ËÕ Ñ ¾ È Ö ÙÖÓ ÔÖÓ×ÓÑÓ ÛØ ¸
Number of Nodes
Ç Ö Ñ
ØÛÒ Ñ ÛÒ ÔÐ ØÖÓÐÓ Ø × ØÓ Ô Ó Ñ Ø Ø
drop down
Òô Ô ÐÓ Ø
Ø ÒÓÑ
Ò Ø Ñ Ò Ñ ÒÓ º Ó Õ Ò
Ô ÐÓ ØÛÒ Ô Ö Ñ ØÖÛÒ ×Ø Ò ×ÙÒ Õ Ó ÕÖ ×Ø
ÔÖ Ô Ò Ô Ø × ØÓ
go
ÓÙÑÔ Ò ÖÕ× ÖÕ ÓÔÓ × º Ä Û ØÓÙ Ø × ÙØ ÑÔÓÖ
5. Ò Ö × Ö Ø Ð ÔØ ¸ Ü ÖØ Ø Ô ØÓÒ Ö Ñ ØÛÒ Ñ ÛÒ¸ ÙÔ ÖÕ Ò
progress bar ÔÓÙ Ò Ø ØÓ ÔÓ×Ó× Ø ÓÐÓ Ð ÖÛ×
Ø
×
º Ø
ØÛÒ
tab
ÐÐÛÒ¸ × ØÓ ÙØ ÙÔ ÖÕ ÙÒ Ø Ø Ø Ô Ò ÓÖ
ØÓÙ ×Ù× Ø Ñ ØÓ
× Ø Ò
ÖÕ ØÓÙ Ø ×Ø × ¸Ó ØÛ
ô× Ø Ò Ñ Ò ÕÖ Þ Ø Ò Ð ×ÓÙÑ Ø Ò ÖÑÓ
Ò ÐÓÙÑ Ò ÐÓÙÑ ÒÓ Ö
Ô Ö Ñ ØÖÓÙ
× ØÓ × ×Ø Ñ Ñ
º Ø
Ø ØÓ Ó Ô Ø Ø Ö ÔÖÓ×ÓÕ Ó Ò Ö ÙØ Ó ×Ø Ò Ö ØÛÒ
Ö ôÒ Ô Ö ×Ø × ÛÒ ÔÓÙ ØÙÕôÒ ÑÔÓÖ Ò Õ Ü Ó ÕÖ ×Ø
Ø Ò
Ö ØÛÒ ÖÕ ÛÒ ÔÓÙ Ö Ø Ò ÔÐ ÖÓ ÓÖ
Ø
Ñ ØÖ ×
º
Operationsº ØÓÙ ÕÓÙÑ ÖÕ ÓÔÓ × ØÓ × ×Ø Ñ ÑÔÓÖÓ Ñ × ØÓ Ø ¹
tab Nested Balanced Distributed
ÖÓ Ò Ø Ð ×ÓÙÑ Ø
×
Ð ØÓÙÖ
Ø
Tree ÙÔÓ ÓÑ
º
tab Operationsº
ËÕ Ñ ¿ È Ö ÙÖÓ ÔÖÓ×ÓÑÓ ÛØ ¸
³ÇÔÛ
Ò Ø × ØÓ ËÕ Ñ ¿ ØÓ Ô Ö ÙÖÓ ÙØ ÕÛÖÞ Ø × Ô ÒØ Ô ¹
Ö ÓÕ
º Ç ØÖ
ÔÖôØ
Ô Ö ÓÕ
ÔÛ
ÑÔÓÖ Ò ÔÓ Ó
Ò
¸ Ñ ÒÓ
ÔÓÙ ÔØ ÐÓ Ò ÓÖ Ø Ð ØÓÙÖ º ³ Ø× ÐÓ Ô Ò¸ × Ñ Ô Ø
Ô Ö Ó¹
Search, Insert, Delete Key
Õ
ÑÔÓÖÓ Ñ Ò Ø Ð ×ÓÙÑ Ø Ò ÒØ× ØÓ Õ ÔÖ Ü º
Ô Ø Ø Ò ô×ÓÙÑ ØÓ Ò ÒÛÖ × Ø ´IDµ ØÓÙ Ñ ÓÙ Ó ÓÔÓÓ
ÔÖÓ Ð ¹
× Ø Ò ÒØ× ØÓ Õ ÔÖ Ü ØÓ Ð ÔÓÙ ÐÓÙÑ Ø Ò Ò Þ Ø ×ÓÙÑ ¸ Ø
6. Ò × ÓÙÑ ¸ Ø Ò Ö ÝÓÙÑ º Ó ÕÓÙÑ × Ø
ØÑ
ÔÓÙ ÔÖÓ Ò ¹
go
Ö Ñ ÔÖ Ô Ò Ô Ø ×ÓÙÑ ØÓ ÓÙÑÔ Ò ÖÕ× Ø Ð × Ø
ÒØÓÐ
º
ËØÓ ØÛ Ñ ÖÓ
ØÓÙ Ô Ö ÖÓÙ Ó ÕÖ ×Ø
ÑÔÓÖ Ò Ø Ñ Ò Ñ Ø ÔÓÙ ÔÓ¹
×Ø ÐÐÓÒØ Ø Ø Ò Ö Ø
Ø Ð ×
º Ì ÐÓ
¸ ×Ø Ò Ô ÒÛ Ü Ô Ö ÓÕ
Ô ÖÓÙ× ÞÓÒØ ÔÓ
×Ù ÒØÖÛØ
ÔÐ ÖÓ ÓÖ
ØÓ × ×Ø Ñ ÔÛ
Ò
Ó ×ÙÒÓÐ
Ö Ñ
ØÛÒ Ñ ÛÒ ÔÓÙ Õ ØÓ × ×Ø Ñ ¸ Ó ×ÙÒÓÐ
Ö Ñ
ØÛÒ
Ð ôÒ ØÓ ×Ø Ñ ØÛÒ Ð ôÒº
tab
Failure Modelº ÌÓ ÙØ Ô Ö Õ Ø Ò ÙÒ Ø Ø Ø Ø
Ø ÙØ ÕÖÓÒ
¹
Ø ÖÖ Ù×
Ò
×ÙÒ ÐÓÙ Ñ ÓÙ ÔÐ ÓÒØ
ØÓÙ
Ñ Ñ ×Ù ÖÑ Ò Ø ÒÓÑ
drop down
Ô ØÓ Ñ ÒÓ º ÙØ ÔÓÙ Ò Ø ×Ø Ò ÓÙ× Ò ÓÔ Ø
Ð ¹
ØÓÙÖ
ØÛÒ ×Ù ÖÑ ÒÛÒ Ò Ñ ØÛÒº ØÓÙ ÕÓÙÑ ÔÐ Ü ØÓÒ Ö Ñ ØÛÒ
Ñ ÛÒ ÔÓÙ Ø ÖÖ ×ÓÙÒ ÑÔÓÖÓ Ñ Ò Ü ÓÙÑ Ò Ô Ö Ñ Ø ÔÓÙ
Ô × Øô×ÓÙÑ Ø Ò ÓÑ Ð Ð ØÓÙÖ Ø
ÙÔÓ ÓÑ
Ø Ò Ü × ØÓÙ Ö ÑÓ
ØÛÒ Ñ ÒÙÑ ØÛÒ ÔÓÙ ÔÓ× Ø ÐÐÓÒØ º
tab Failure Modelº
ËÕ Ñ È Ö ÙÖÓ ÔÖÓ×ÓÑÓ ÛØ ¸
Ë Ô Ñ Ò Ó× ÙÐÓÔÓ ×ÓÙÑ ÔÓ × Ò Ø ÑÓÒØ Ð Ø ÖÖ Ù×
ÔÓ ÓÒØ ×Ø Ò ÔÖ Ñ Ø Ø Ø º Ï× Ø ×Ó Ø ÔÓØ Ð ×Ñ Ø ÔÓÙ Ô ÖÓÙÑ Ô
ÙØ Ò Ñ Ò Ø Ò Ò Ô Ö ÑÓ Ñ ÙØ ÔÓÙ Ô ÖÒÓÙÑ Ô ØÓ ×Ù ÖÑ ÒÓ
7. ÑÓÒØ ÐÓ ÒÓÕ
× × ÐÑ Ø Ø ÖÖ Ù×
¸ Ñ
× Ò Þ Ø ×
Ò º ÌÓ Ñ ÒÓ ÓÖ Ø Ò Ó ØÖ ÔÓ
ÔÓÙ Ø ÖÖ Ó ÒÓ Ñ Óº
tab Experiments
Experimentsº ÌÓ Ò ÕÛÖ ×Ñ ÒÓ × Ø ×× Ö
Ô Ö ÓÕ
º
Ç ØÖ
ÔÖôØ
ÔÓÙ Ò Ô Ö ÑÓ
Ñ Ø Ü ØÓÙ
Ü ÓÙÒ Ô Ö Ñ Ø Ø Ò
Ô Ó× ØÛÒ Ð ÓÖ ÑÛÒ Ø
Ò Þ Ø ×
¸ Ø
Ò ×
Ø
Ö
º Ò
Ô ÖÓÙÑ Ñ Ö Ô Ö ×Ø × ÔÓÙ Ò Ø Ô Ó× ÔÓ ÓÙ Ô ØÓÙ
Ô Ö Ô ÒÛ Ð ÓÖ ÑÓÙ
ÔÖ Ô Ò × ÓÙÑ ÔºÕº ØÓÒ Ö Ñ ØÛÒ Ò Þ Ø × ÛÒ
Ò ÔÐ ÜÓÙÑ Ø Ò Ø ÒÓÑ × Ø
ÓÔÓ
ÔÐ Ó ÒØ Ð ÙØ
go
Ø
Ò Þ Ø ×
º ³ Ô Ø ÔÖ Ô Ò Ô Ø ×ÓÙÑ ØÓ ÓÙÑÔ Ò Ø Ð × ØÓ Ò
Ó Ò Þ Ø ×
º Ì Ò Ö Ô Ö ×Ø × ÑÔÓÖÓ Ñ Ò Ø Ò Ó Ñ ×Ø ×ÙÒ Õ
view resultsº
Ô ØôÒØ
ØÓ ÓÙÑÔ
tab Experimentsº
ËÕ Ñ È Ö ÙÖÓ ÔÖÓ×ÓÑÓ ÛØ ¸
ËØ ÒØ Ø ÖØ Ô Ö ÓÕ ¸ ÔÓÙ Ö× Ø × ØÓ ØÛ Ñ ÖÓ
ØÓÙ Ô Ö ÖÓÙ¸ ÑÔÓÖÓ Ñ
Ò Ó Ñ Ñ ×Û Ö
Ô Ö ×Ø ×
Ø Ò Ø ÒÓÑ ØÛÒ Ð ôÒ Ô ÒÛ × ØÓÙ
Ñ ÓÙ
º Â Ô Ö Ø Ö ×ÓÙÑ Ø ÑÓÖ ÔÓÙ Õ ÑÔ Ð ÖÕ Ò Ñ
ÙØ ÔÓÙ Õ Ñ ÔÐ Ü Ò ÖÕ ÓÔÓ ×ÓÙÑ ØÓ × ×Ø Ñ º
ËØ Ò ×ÙÒ Õ Ô ÖÓÙ× Þ Ø Ñ Ö Ô Ö ×Ø × ÔÓÙ Ò Ø Ô Ó×
ØÓÙ Ð ÓÖ ÑÓÙ Ø
Ò ×
º
8. tab Helpº
ËÕ Ñ È Ö ÙÖÓ ÔÖÓ×ÓÑÓ ÛØ ¸
³ÇÔÛ
Ò Ø Ô Ø Ò Ò ØÓ Ô Ö ÙÖÓ ÙØ Õ Ò Ñ ÒÓ
File ÔÓÙ Ó ÕÖ ×Ø
ÑÔÓÖ Ò ÔÐ Ü Ò ÔÓ × Ø Ò Ö Ô Ö ×Ø ×
.pngº
× ÑÓÖ Ò
Ø ÔÓÙ
9. HelpºÌÓ tab ÙØ Ô Ö Õ Ñ ×ÙÒÓÔØ Ô Ö Ö Ø
Ð ØÓÙÖ
ØÓÙ
ÔÖÓ×ÓÑÓ ÛØ º
tab Helpº
ËÕ Ñ È Ö ÙÖÓ ÔÖÓ×ÓÑÓ ÛØ ¸
10. tab
Infoº Ì ÐÓ
¸ ØÓ ÙØ Õ ÔÐ ÖÓ ÓÖ
Ø Ò ÙÔÓ ÓÑ ÔÓÙ ÔÖÓ×ÓÑÓ ô¹
ÒÓÙÑ ÐÐ ØÓÒ Ó ØÓÒ ÔÖÓ×ÓÑÓ ÛØ º Ô×
Õ Ó ×Õ Ñ Ø ÔÓÙ × ØÓ
ÔÖôØÓ Ò Ø ÙÐÓÔÓ Ó Ñ Ò ÙÔÓ ÓÑ Òô × ØÓ Ø ÖÓ Ò Ø ØÓ ÑÓÒØ ÐÓ ØÓÙ
ÔÖÓ×ÓÑÓ ÛØ º
tab Infoº
ËÕ Ñ È Ö ÙÖÓ ÔÖÓ×ÓÑÓ ÛØ ¸
¿ Ò ÐÙ× ØÓÙ NBDT Simulator
ËØ Ò Ò Ø Ø ÙØ Ò Ö Ó Ñ × Ñ Ö
×Õ ×Ø
ÔÓ ×
Ø
ÙÐÓ¹
ÔÓ ×
ØÓÙ ÔÖÓ×ÓÑÓ ÛØ º Â Ò Ö Ó Ñ × ØÓ ÑÓÒØ ÐÓ ÕÖÓÒÓÔÖÓ Ö ÑÑ Ø ×ÑÓ
ØÛÒ Ò Ñ ØÛÒ¸ Ø × Ñ ÔÓÙ Ô ØÓ Ò × Ö Ø Ð × ØÛÒ Ð ÓÖ ÑÛÒ ÐÐ
Ø Ò ÑÓÖ ØÛÒ ×ÙÒ ÖØ × ÛÒ ÔÓ× ØÓÐ
Ð Ý
ØÛÒ Ñ ÒÙÑ ØÛÒº
Ç ÕÖÓÒÓÔÖÓ Ö ÑÑ Ø ×Ñ
ØÛÒ Ò Ñ ØÛÒ¸ ÔÓÙ Ò Ó ÔÓ × Ñ ÒØ
Ô Ö ¹
ÓÒØ
Ø Ò Ð Ô Ó× Ö ÓÖ Ð ØÓÙÖ ØÓÙ ÔÖÓ×ÓÑÓ ÛØ ¸ Ò Ø
Ñ Ø Ò Ò × ÓÖ Ø ôÒ ÕÖÓÒ ôÒ ×Ø Ñ ØÛÒ Ò ÑÓÒ
×Ø Ò Ñ Ø º ÈÓ
×Ù ÖÑ Ò ¸ Ò ÔÓ ÓÙÑ ØÓÒ ÒØ ÛÒ ×Ñ ØÛÒ Ò Ñ ØÛÒ × Ö× Ñ × ¹
Ñ Ù× Ø ÖÓ Ñ Ò Ñ Ñ Ñ ÓÖ Ø ÕÖÓÒ Ô ÖÓ Óº Å ÙØ ØÓ
ØÖ ÔÓ Ô Ö ÓÖÞÓÙÑ ØÓÒ Ö Ñ ØÛÒ Ò Ñ ØÛÒ ÔÓÙ Ò ßÜ ÔÒ × × Ñ ÔÓÙ
½¼
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. NetBeans Javaº
Ô ØÓ ÐÓ ×Ñ Ó Ø
ËØ Ò ÔÖôØ Ô ÖÔØÛ× ¸ Ó ÕÓÙÑ ØÓ¹
jar
ÔÓ Ø × ØÓÒ Ø ÐÓ Ó ÔÓÙ ÕÓÙÑ ÔÓ ÙÑ ÒÓ ØÓ ÖÕ Ó Ø ÐÓ Ñ Ø Ò
#java −jar N BDT Simulator.jarº
ÐÓÙ ÒØÓÐ ËØ Ò Ø Ö Ô ÖÔØÛ×
import project
Ö Ò ÒÓÙÑ ØÓ Ò Ø Ð ×ÓÙÑ ØÓ ÔÖ Ö ÑÑ Ô ØôÒØ
run
ØÓ ÓÙÑÔ ×Ø Ò Ö ÑÑ Ö Ð ÛÒº
½¾
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. 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. 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. 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. 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. 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µ
Â Ø Ø Ð ØÓÙ Ñ ÓÙ ÙØÓ º
½