際際滷
Submit Search
PIAXで恬る P2Pネットワ`ク
?
2 likes
?
3,285 views
v望 卅儲
Follow
CMU #33のk燕Y創です。
Read less
Read more
1 of 18
Download now
Download to read offline
More Related Content
PIAXで恬る P2Pネットワ`ク
1.
PIAXで恬る P2Pネットワ`ク 卅儲 v望 2015/10/17 Creators
MeetUP #33
2.
徭失B初 卅儲 v望 バックエンドのO _k フレ`ムワ`クの恬撹
バイナリ?テキストQ クロ`ラ` アルゴリズム ∀襯泪轡 和臼gOSSカフェでPROCESS WARPというシステムを恬っています http://www.processwarp.org/ GitHub llamerada-jp facebook ito.yuuji blog http://llamerad-jp.hatenablog.com/
3.
Client/Server侏 Peer-to-peer侏 宥佚がサ`バU喇で 佩われる 蒙協サ`バを隔たない ネットワ`ク Server Client Peer
4.
蛍柊アルゴリズム 、欧襪世韻任論喘がyしい Socket, WebRTCも、阿世 冥すアルゴリズムが駅勣 ¢¢奉來を隔つPeerを冥す 喟A晒、隠贋するアルゴリズムが駅勣 蛍柊ハッシュテ`ブル(DHT), Key-Valueスト ア
5.
アルゴリズムが`う C/S ★ 嶄刹鹿嶄
P2P ★ 蛍柊 Server Client Peer
6.
PIAX http://piax.org/ 寄昜寄僥とNICTで恬ったP2Pフ レ`ムワ`ク@Java Peer冥沫ができる Key-Valueストアが聞える エ`ジェントC(書指は福待) ver2.2.0まではMIT, var3.0か らはAGPL(書指はver2.2.0)
7.
サンプル https://github.com/llamerada-jp/piax- sample コマンドラインから侘塀でPIAXのC嬬を旋 喘するgY喘アプリケ`ション スライドは輝C嬬のコ`ドを俳りNりしてい るので廣吭。
8.
俊Aしよう 屡に俊AしているPeerに俊A勣箔を竃す I尖嬬薦に噫圍があり、勉凋がLいPeerの匯Eを 聞ったり、サ`ビスプロバイダが耕協IPでseed叨 をやったり // org.piax.trans.common.PeerLocator : //
peerのIDを砿尖する渇鵐ラス // org.piax.trans.ts.tcp.TcpLocator : // ●の醤鵐ラス、TCP俊Aするときに聞う PeerLocator local = new TcpLocator(<徭蛍のIP&Port>); PeerLocator seed = new TcpLocator(<seedのIP&Port>); // org.piax.ov.Peer : Peerそのもの // seedはcollectionで}方局すことも辛嬬 Peer peer = new Peer(local, seed); peer.online();
9.
OverlayMgr mgr =
peer.getOverlayMgr(); RPCWrapper rpc = mgr.getRPCWrapper(); PeerId peerId = new PeerId(<僕佚枠>); Object ret = rpc.remoteCall( peerId, Receiver.SERVICE_NAME, "recv", <僕佚メッセ`ジ>); g匯PeerへのRPC // 鞭佚箸PeerId System.out.println(peer.getPeerId()); // 鞭佚喘クラス public class Receiver implements OldRPCService { static String SERVICE_NAME = <サ`ビス兆>; @Override public String getServiceName() { return SERVICE_NAME; } public Object recv(Object message) { // 鞭佚してからのI尖 return <鬴陬瓮奪皐`ジ>; } } // 鞭佚喘インスタンスを鞠h OverlayMgr mgr = peer.getOverlayMgr(); RPCWrapper rpc = mgr.getRPCWrapper(); Receiver receiver = new Receiver(); rpc.register(receiver); sender receiver Key-Valueストアなどに 秘れて局したり
10.
マルチキャスト PIAXのマルチキャストでは¢¢奉來をもつPeer にメッセ`ジを僕る 奉來のNによってオ`バ`レイ(=碧アルゴ リズム)を笋┐ へび / ハリネズミ いぬ
/ ねこ / ウォンバット ねこ / やどかり ぞう / ハリネズミ ねこ奉來のPeerに僕佚
11.
マルチキャスト // 奉來の侏によってm俳なオ`バ`レイ String ovClassName
= mgr.getOverlayFromKeyType(<奉來>); if (ovClassName == null) ovClassName = MSkipGraph.class.getName(); // マルチキャスト // Multi-key Skip Graphの栽、奉來は碧辛嬬 ReturnSet<Object> rset = mgr.forwardQuery( ovClassName, new Range(<奉來>, <奉來>), <僕佚メッセ`ジ>); // マルチキャストY惚の函誼 while (rset.hasNext()) { try { Object ret = rset.getNext( OvConfigValues. returnSetGetNextTimeout)); } catch (Exception e) { // エラ`I尖 } } public class Callback implements OverlayCallback { @Override public Object execQuery(Object arg0, Object arg1) { // メッセ`ジ鞭佚rのI尖 // arg0 : メッセ`ジ鞭佚のトリガとなった奉來 // arg1 : 鞭佚メッセ`ジ return <鬴陬瓮奪皐`ジ>; } @Override public ReturnSet<Object> execQuery( Set<Comparable<?>> arg0, Object arg1) { // ●と揖 return <鬴陬瓮奪皐`ジ>; } // 麿にもラつかあるけど福待 } // 鞭佚喘インスタンスを鞠h Callback callback = new Callback(); mgr.registerCallback(callback); // 奉來をO協 String ovClassName = mgr.getOverlayFromKeyType(<奉來>); if (ovClassName == null) ovClassName = MSkipGraph.class.getName(); mgr.addKey(ovClassName, <奉來>); sender receiver
12.
アルゴリズムの蒙 LL-Net 仇尖議冥沫(業U業での冥沫みたいなこと)が誼吭 LL-Netの古勣 Multi-key Skip Graph 會原け辛嬬な奉來の碧が辛嬬 PIAXでは昧侭にこのアルゴリズムが聞われているようだ g匯ピアに}方キ`を隠隔辛嬬とする
Skip Graph の戻宛
13.
アルゴリズムの蒙 PIAXにはg廾していないけど嗤兆なもの Chord 叟乾好ップリストハッシュ、塞蛍柊が辛嬬 Chord: A Scalable
Peer-to-Peer Lookup Service for Internet Applications ChordアルゴリズムによるDHT秘T Kademlia Bit-torrentなどファイル慌嗤狼アプリケ`ションで旋喘されている栽が謹 い Kademlia: A Peer-to-peer Information System Based on the XOR Metric DHT Kademlia
14.
Key-Valueストア ちゃんと俳僅した栽、、亘のPeerに隠贋さ れる 融隼の俳僅や塚嬾墾來は音苧 DHT dht =
mgr.getDHT(); dht.put(<Key>, <Value>); DHT dht = mgr.getDHT(); Object value = dht.get(<Key>); put get
15.
あとしまつ peer.offline(); peer.fin();
16.
いろいろ PIAXはアルゴリズムの弖紗を吭Rした恬りに なっているようで、鏡徭のOverlay、プロトコ ル弖紗も辛嬬なようだ。 アルゴリズムの猟はあるけどAPIドキュメン トがoいので、コ`ドをYiむ駅勣あり。
17.
まとめ SocketやWebRTCを伏で聞ってもP2Pの寓{は富 ない。 PIAXで冥沫アルゴリズムを旋喘できる。 朕議にあったル`ティングアルゴリズムを聞 う。 いざとなったら徭蛍でする。
18.
參貧 ありがとうございました
Download