Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Genkidama:実装と課題

2,023 views

Published on

Published in: Technology
  • Be the first to comment

Genkidama:実装と課題

  1. 1. Genkidama:
  2. 2. • → • BSD • OpenBSD/sgi SMP •
  3. 3. Genkidama • NicoCache Java →DHT • NicoCache OpenChord 300 • → • daiki P2P SIP • livedoor • OpenChord OverlayWeaver • ↑ P2P SIP ←
  4. 4. NicoCache • • → • →
  5. 5. Genkidama • →DHT DHT
  6. 6. DHT • get • put • : prefix + ID nc:sm1152439 • : → put
  7. 7. URL • HTTP Genkidama • HTTP URL http://124.32.128.131:50001/nc/sm11152439 • HTTP NicoCache URL
  8. 8. • • • • DHT →
  9. 9. XMLRPC • IP:port →XMLRPC DB • onlineUsers.fetch() • DHT onlineUsers.register() • cron
  10. 10. • XMLRPC DB • • • • •
  11. 11. Web • Genkidama Web Dashboard(http://genkidama.us/) • • Genkidama • • • • IP DB IP
  12. 12. GUI • AWT GUI • Dashboard GUI • JavaScript Genkidama HTTP JSON →JS http://localhost:50001/ URL Genkidama • HTTP → URL http://localhost:50001/ OK http://genkidama.us/local/ URL •
  13. 13. • Genkidama • Genkidama HTTP proxy.pac • • firefox extention
  14. 14. Genkidama get/put DHT get/put Web
  15. 15. NAT InetAddress.getLocalHost() • hostname 127.0.0.1 InetAddress.getLocalHost() 127.0.0.1 • OverlayWeaver IP bind InetAddress.getLocalHost() IP bind →127.0.0.1 bind • IP InetAddress.getLocalHost() IP DHT • (><;; • Java NIC IP API • ANY bind OverlayWeaver
  16. 16. NAT UPnP • • OverlayWeaver urn:schemas-upnp-org:service:WANIPConnection:1 urn:schemas-upnp-org:service:WANPPPConnection:1 • OverlayWeaver UPnP CyberLink • UPnPLib CyberLink UPnPLib • Azureus UPnP GPL libupnp C → • …
  17. 17. NAT • UPnP →UPnP • XMLRPC →globalIp.probe() XMLRPC IP • IP OverlayWeaver
  18. 18. NAT • UPnP • HTTP UDP Hole Punching • XMLRPC TCP →tcpPort.check() bind • UDP
  19. 19. Genkidama DHT • DHT URL • • remove → remove • OverlayWeaver expire re- put → remove
  20. 20. • Genkidama join (´ ω `) • OverlayWeaver • OverlayWeaver overlayweaver-ja • • MessagingTransport TCP • ConnectionPool close • YO!
  21. 21. put • DHT put • put • (´ ω `) • ThreadExecutor put

×