情報科学屋さんを目指す人のメモ(FC2ブログ版)

何かのやり方や、問題の解決方法をどんどんメモするブログ。そんな大学院生の活動「キャッシュ」に誰かがヒットしてくれることを祈って。

Overlay Weaver で新しいルーティングアルゴリズムを作る方法(1/3) このエントリーを含むはてなブックマーク


Overlay Weaver 便便

ChordKademliaDHTOverlay Weaver
 


Overlay Weaver

2


ChordKademliaChordLinear WalkerChordSuccessor List OnlyChordChord


Chordow.routing.chord

LinearWalker:ow.routing.linearwalker

Kademlia:ow.routing.kademlia


MyChord


ow.routing.mychord

ow.routing.mychord.MyChord.java

ow.routing.mychord.MyChordConfiguration.java

ow.routing.mychord.MyChordProvider.java


33(.java)


MyChordConfiguration.java


RoutingAlgorithmConfiguration

routingTableSize()Overlay Weaver
public class MyChordConfiguration extends RoutingAlgorithmConfiguration{
 public final static int DEFAULT_ROUTING_TABLE_SIZE = 160;
 protected MyChordConfiguration() {}
 private int routingTableSize = DEFAULT_ROUTING_TABLE_SIZE;
 public int getRoutingTableSize() {
  return this.routingTableSize;
 }
 public int setRoutingTableSize(int size) {
  int old = this.getRoutingTableSize();
  this.routingTableSize = size;
  return old;
 }
}

MyChordProvider.java


RoutingAlgorithmProviderimplements


public class MyChordProvider implements RoutingAlgorithmProvider{
 private final static String ALGORITHM_NAME = "MyChord";
 @Override
 public RoutingAlgorithmConfiguration getDefaultConfiguration() {
  return new MyChordConfiguration();
 }
 @Override
 public String getName() {
  return ALGORITHM_NAME;
 }
 @Override
 public RoutingAlgorithm initializeAlgorithmInstance(
   RoutingAlgorithmConfiguration conf, RoutingService routingSvc)
   throws InvalidAlgorithmParameterException {
  return new MyChord(conf, routingSvc);
 }
}

MyChord

MyChord.java


MyChordAbstractRoutingAlgorithm

AbstractRoutingAlgorithmOK


Overlay Weaver (2/3)

 

 2 
DHT | コメント:0 | トラックバック:0 | 編集
このエントリーをはてなブックマークに追加 Clip to Evernote

この記事のコメント

コメントの投稿 エントリの新旧に関わらず、極力18時間中に返信します。














この記事のトラックバック

トラックバックURL: