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.
Upcoming SlideShare
Copying Isn’T Cool
Next
Download to read offline and view in fullscreen.

Share

Genkidama:実装と課題

Download to read offline

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

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
  • KawaguchiRyouma

    Jan. 9, 2013

Views

Total views

2,388

On Slideshare

0

From embeds

0

Number of embeds

12

Actions

Downloads

9

Shares

0

Comments

0

Likes

1

×