Genkidama:
•
    →




•                     BSD



•   OpenBSD/sgi SMP



•
Genkidama
•   NicoCache            Java


    →DHT

•                   NicoCache OpenChord
    300

•                    ...
NicoCache
•
•         →

•         →
Genkidama
•         →DHT
            DHT
DHT
•
            get

•                                       put

•       : prefix +   ID   nc:sm1152439

•           :
 ...
URL
•                                                  HTTP
       Genkidama

•      HTTP                 URL
       http:...
•

•

•
•   DHT


    →
XMLRPC

•                                          IP:port
    →XMLRPC                        DB

•   onlineUsers.fetch()
...
•       XMLRPC   DB



    •
    •
    •
    •
    •
Web

•   Genkidama Web Dashboard(http://genkidama.us/)
•
•           Genkidama



    •
    •
    •
•           IP
    DB ...
GUI
•   AWT            GUI

•                Dashboard GUI

•   JavaScript      Genkidama             HTTP                ...
•                          Genkidama



    •   Genkidama HTTP            proxy.pac



•
    •   firefox extention
Genkidama             get/put
                                DHT


            get/put                   Web
NAT
     InetAddress.getLocalHost()
•   hostname 127.0.0.1                          InetAddress.getLocalHost()
    127.0.0...
NAT
                         UPnP
•
•   OverlayWeaver                           urn:schemas-upnp-org:service:WANIPConnecti...
NAT


•   UPnP
    →UPnP

•           XMLRPC
    →globalIp.probe() XMLRPC   IP



•           IP OverlayWeaver
NAT


•   UPnP



•   HTTP                    UDP Hole Punching



•   XMLRPC
    TCP


    →tcpPort.check() bind

•   UDP
Genkidama              DHT


•   DHT                           URL

•


•           remove
    →
              remove

•  ...
•              Genkidama
        join                (´ ω `)

•           OverlayWeaver

•           OverlayWeaver
       ...
put
•                                  DHT
                            put

•                                    put



•
...
Genkidama:実装と課題
Genkidama:実装と課題
Upcoming SlideShare
Loading in...5
×

Genkidama:実装と課題

1,716

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,716
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
7
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • Transcript of "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
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×