SlideShare una empresa de Scribd logo
1 de 25
Genkidama: P2P


          @syuu1228
• Genkidama

•

•
Genkidama
•
•
•   DHT
    Genkidama

•
    •                       ”NicoCache”

    •   DHT     ”OverlayWeaver”
Genkidama

     •
     •

  

     •
Genkidama
Genkidama             get/put
                                DHT


            get/put                   Web
Genkidama
                                ○
Genkidama             get/put
                                    DHT


            get/put                       Web
NicoCache
•
•         →

•         →
Genkidama
•         →DHT
                 get/put
                           DHT
DHT
•   DHT(Distributed Hash Table:                           )



•   P2P

•
    dht.put(key, value); value = dht.get(key);



•                             DHT
                           join                  dht.join(bootstrapNode);

•
DHT
                                                       4bit    12




•
•                                             successor(key)

•   key successor(key)

•       12               successor(12) = 13
Overlay Weaver
•
•
•
• Genkidama   DHT
DHT
•
            get

•                                       put

•       : prefix +   ID   nc:sm1152439

•           :
    →
            put
URL
•                                                  HTTP
       Genkidama

•      HTTP                 URL
       http://124.32.128.131:50001/nc/sm11152439

•   HTTP                    NicoCache


                  URL
Genkidama
                                ○
Genkidama             get/put
                                    DHT


            get/put                       Web
•

•

•
•   DHT


    →
XMLRPC

•                                          IP:port
    →XMLRPC                        DB

•   onlineUsers.fetch()

•   DHT                   onlineUsers.register()




•   cron



•
•       XMLRPC   DB



    •
    •
    •
    •
    •
Genkidama
                                ○
Genkidama             get/put
                                    DHT


            get/put                       Web
Web

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



    •
    •
    •
•           IP
    DB       IP
Genkidama GUI
•   AWT           GUI

•   Dashboard Genkidama GUI

•                Web                                Genkidama

•   JavaScript      Genkidama          HTTP
    →JS   http://localhost:50001/       URL                         Genkidama


             http://localhost:50001/restart GET             Genkidama

•         HTTP
    →              http://genkidama.us/local/   http://localhost:         /

•
•                          Genkidama



    •   Genkidama HTTP            proxy.pac



•
    •   firefox extention
•   NicoCache      DHT

•   HTTPServer

•   XMLRPC

•   NAT

•   DHT

•   Ajax GUI

•   firefox extention
NAT
•   UPnP NAT Traversal
     •
         ex:             A                   B

     •                       →

•   UDP Hole Punching
     •                           HTTP(TCP)

     •   NAT
                             →
DHT
•                    Genkidama


       join
    →OverlayWeaver

•
•

•
Genkidama: P2Pコンテンツキャッシュ共有システム

Más contenido relacionado

Destacado

Mercurial はオフラインの海を越える
Mercurial はオフラインの海を越えるMercurial はオフラインの海を越える
Mercurial はオフラインの海を越えるzetamatta
 
Prezentacja 21.04. 2011 konferencja poznań
Prezentacja  21.04. 2011 konferencja poznańPrezentacja  21.04. 2011 konferencja poznań
Prezentacja 21.04. 2011 konferencja poznańEkokonsultacje
 
Open Source Superfriends for Super Small Library Budgets
Open Source Superfriends for Super Small Library BudgetsOpen Source Superfriends for Super Small Library Budgets
Open Source Superfriends for Super Small Library BudgetsGoodnight Memorial Library
 
PCA15: Does Your Product Displace a Job or Augment a Skill?
PCA15: Does Your Product Displace a Job or Augment a Skill?PCA15: Does Your Product Displace a Job or Augment a Skill?
PCA15: Does Your Product Displace a Job or Augment a Skill?Paul Teich
 
Informed Sport Dec 08
Informed Sport Dec 08Informed Sport Dec 08
Informed Sport Dec 08anoukjaeger
 
Allianz arena germany
Allianz arena germanyAllianz arena germany
Allianz arena germanyverka 123
 
Eye protection ppe toolbox talk training
Eye protection ppe toolbox talk trainingEye protection ppe toolbox talk training
Eye protection ppe toolbox talk trainingAlan Bassett
 
Simple SEO - SEO Made Simple - Do It Yourself SEO
Simple SEO - SEO Made Simple - Do It Yourself SEOSimple SEO - SEO Made Simple - Do It Yourself SEO
Simple SEO - SEO Made Simple - Do It Yourself SEOThe JAR Group
 
Learning and Skills Group Webinar 09.07.09
Learning  and Skills Group Webinar 09.07.09Learning  and Skills Group Webinar 09.07.09
Learning and Skills Group Webinar 09.07.09Brightwave Group
 
HMG Response To One Death Is Too Many March 2010
HMG Response To One Death Is Too Many   March 2010HMG Response To One Death Is Too Many   March 2010
HMG Response To One Death Is Too Many March 2010Alan Bassett
 
The Future of Digital Banking - Übergangslos, mobile, abschlussstark!
The Future of Digital Banking - Übergangslos, mobile, abschlussstark!The Future of Digital Banking - Übergangslos, mobile, abschlussstark!
The Future of Digital Banking - Übergangslos, mobile, abschlussstark!Namics – A Merkle Company
 
Lascialo in Rete (set.2007)
Lascialo in Rete (set.2007)Lascialo in Rete (set.2007)
Lascialo in Rete (set.2007)Annarita Salsi
 
Next generation learning - social, integrated and business-focussed
Next generation learning - social, integrated and business-focussedNext generation learning - social, integrated and business-focussed
Next generation learning - social, integrated and business-focussedBrightwave Group
 
When worlds collide - leveraging learning content as brand experience
When worlds collide - leveraging learning content as brand experienceWhen worlds collide - leveraging learning content as brand experience
When worlds collide - leveraging learning content as brand experienceBrightwave Group
 
Welcome to Thackley
Welcome to ThackleyWelcome to Thackley
Welcome to Thackleythackley
 

Destacado (20)

Mercurial はオフラインの海を越える
Mercurial はオフラインの海を越えるMercurial はオフラインの海を越える
Mercurial はオフラインの海を越える
 
Prezentacja 21.04. 2011 konferencja poznań
Prezentacja  21.04. 2011 konferencja poznańPrezentacja  21.04. 2011 konferencja poznań
Prezentacja 21.04. 2011 konferencja poznań
 
Open Source Superfriends for Super Small Library Budgets
Open Source Superfriends for Super Small Library BudgetsOpen Source Superfriends for Super Small Library Budgets
Open Source Superfriends for Super Small Library Budgets
 
PCA15: Does Your Product Displace a Job or Augment a Skill?
PCA15: Does Your Product Displace a Job or Augment a Skill?PCA15: Does Your Product Displace a Job or Augment a Skill?
PCA15: Does Your Product Displace a Job or Augment a Skill?
 
Informed Sport Dec 08
Informed Sport Dec 08Informed Sport Dec 08
Informed Sport Dec 08
 
Allianz arena germany
Allianz arena germanyAllianz arena germany
Allianz arena germany
 
Eye protection ppe toolbox talk training
Eye protection ppe toolbox talk trainingEye protection ppe toolbox talk training
Eye protection ppe toolbox talk training
 
Kelly Ruggles
Kelly RugglesKelly Ruggles
Kelly Ruggles
 
Simple SEO - SEO Made Simple - Do It Yourself SEO
Simple SEO - SEO Made Simple - Do It Yourself SEOSimple SEO - SEO Made Simple - Do It Yourself SEO
Simple SEO - SEO Made Simple - Do It Yourself SEO
 
Learning and Skills Group Webinar 09.07.09
Learning  and Skills Group Webinar 09.07.09Learning  and Skills Group Webinar 09.07.09
Learning and Skills Group Webinar 09.07.09
 
Joomla! 1.6 uuendused
Joomla! 1.6 uuendusedJoomla! 1.6 uuendused
Joomla! 1.6 uuendused
 
Sleeping Giant Build Intro
Sleeping Giant Build IntroSleeping Giant Build Intro
Sleeping Giant Build Intro
 
HMG Response To One Death Is Too Many March 2010
HMG Response To One Death Is Too Many   March 2010HMG Response To One Death Is Too Many   March 2010
HMG Response To One Death Is Too Many March 2010
 
The Future of Digital Banking - Übergangslos, mobile, abschlussstark!
The Future of Digital Banking - Übergangslos, mobile, abschlussstark!The Future of Digital Banking - Übergangslos, mobile, abschlussstark!
The Future of Digital Banking - Übergangslos, mobile, abschlussstark!
 
Lascialo in Rete (set.2007)
Lascialo in Rete (set.2007)Lascialo in Rete (set.2007)
Lascialo in Rete (set.2007)
 
Next generation learning - social, integrated and business-focussed
Next generation learning - social, integrated and business-focussedNext generation learning - social, integrated and business-focussed
Next generation learning - social, integrated and business-focussed
 
When worlds collide - leveraging learning content as brand experience
When worlds collide - leveraging learning content as brand experienceWhen worlds collide - leveraging learning content as brand experience
When worlds collide - leveraging learning content as brand experience
 
Kelly Ruggles
Kelly RugglesKelly Ruggles
Kelly Ruggles
 
GraFiorio Portfolio
GraFiorio PortfolioGraFiorio Portfolio
GraFiorio Portfolio
 
Welcome to Thackley
Welcome to ThackleyWelcome to Thackley
Welcome to Thackley
 

Más de Takuya ASADA

Seastar in 歌舞伎座.tech#8「C++初心者会」
Seastar in 歌舞伎座.tech#8「C++初心者会」Seastar in 歌舞伎座.tech#8「C++初心者会」
Seastar in 歌舞伎座.tech#8「C++初心者会」Takuya ASADA
 
Seastar:高スループットなサーバアプリケーションの為の新しいフレームワーク
Seastar:高スループットなサーバアプリケーションの為の新しいフレームワークSeastar:高スループットなサーバアプリケーションの為の新しいフレームワーク
Seastar:高スループットなサーバアプリケーションの為の新しいフレームワークTakuya ASADA
 
高スループットなサーバアプリケーションの為の新しいフレームワーク
「Seastar」
高スループットなサーバアプリケーションの為の新しいフレームワーク
「Seastar」高スループットなサーバアプリケーションの為の新しいフレームワーク
「Seastar」
高スループットなサーバアプリケーションの為の新しいフレームワーク
「Seastar」Takuya ASADA
 
ヤマノススメ〜秋山郷 de ハッカソン〜
ヤマノススメ〜秋山郷 de ハッカソン〜ヤマノススメ〜秋山郷 de ハッカソン〜
ヤマノススメ〜秋山郷 de ハッカソン〜Takuya ASADA
 
UEFI時代のブートローダ
UEFI時代のブートローダUEFI時代のブートローダ
UEFI時代のブートローダTakuya ASADA
 
OSvのご紹介 in 
Java 8 HotSpot meeting
OSvのご紹介 in 
Java 8 HotSpot meetingOSvのご紹介 in 
Java 8 HotSpot meeting
OSvのご紹介 in 
Java 8 HotSpot meetingTakuya ASADA
 
OSvパンフレット v3
OSvパンフレット v3OSvパンフレット v3
OSvパンフレット v3Takuya ASADA
 
OSvのご紹介 in OSC2014 Tokyo/Fall
OSvのご紹介 in OSC2014 Tokyo/FallOSvのご紹介 in OSC2014 Tokyo/Fall
OSvのご紹介 in OSC2014 Tokyo/FallTakuya ASADA
 
OSvの概要と実装
OSvの概要と実装OSvの概要と実装
OSvの概要と実装Takuya ASADA
 
Linux network stack
Linux network stackLinux network stack
Linux network stackTakuya ASADA
 
Ethernetの受信処理
Ethernetの受信処理Ethernetの受信処理
Ethernetの受信処理Takuya ASADA
 
Presentation on your terminal
Presentation on your terminalPresentation on your terminal
Presentation on your terminalTakuya ASADA
 
僕のIntel nucが起動しないわけがない
僕のIntel nucが起動しないわけがない僕のIntel nucが起動しないわけがない
僕のIntel nucが起動しないわけがないTakuya ASADA
 
Interrupt Affinityについて
Interrupt AffinityについてInterrupt Affinityについて
Interrupt AffinityについてTakuya ASADA
 
OSvパンフレット
OSvパンフレットOSvパンフレット
OSvパンフレットTakuya ASADA
 
BHyVeでOSvを起動したい
〜BIOSがなくてもこの先生きのこるには〜
BHyVeでOSvを起動したい
〜BIOSがなくてもこの先生きのこるには〜BHyVeでOSvを起動したい
〜BIOSがなくてもこの先生きのこるには〜
BHyVeでOSvを起動したい
〜BIOSがなくてもこの先生きのこるには〜Takuya ASADA
 
「ハイパーバイザの作り方」読書会#2
「ハイパーバイザの作り方」読書会#2「ハイパーバイザの作り方」読書会#2
「ハイパーバイザの作り方」読書会#2Takuya ASADA
 
「ハイパーバイザの作り方」読書会#1
「ハイパーバイザの作り方」読書会#1「ハイパーバイザの作り方」読書会#1
「ハイパーバイザの作り方」読書会#1Takuya ASADA
 
10GbE時代のネットワークI/O高速化
10GbE時代のネットワークI/O高速化10GbE時代のネットワークI/O高速化
10GbE時代のネットワークI/O高速化Takuya ASADA
 

Más de Takuya ASADA (20)

Seastar in 歌舞伎座.tech#8「C++初心者会」
Seastar in 歌舞伎座.tech#8「C++初心者会」Seastar in 歌舞伎座.tech#8「C++初心者会」
Seastar in 歌舞伎座.tech#8「C++初心者会」
 
Seastar:高スループットなサーバアプリケーションの為の新しいフレームワーク
Seastar:高スループットなサーバアプリケーションの為の新しいフレームワークSeastar:高スループットなサーバアプリケーションの為の新しいフレームワーク
Seastar:高スループットなサーバアプリケーションの為の新しいフレームワーク
 
高スループットなサーバアプリケーションの為の新しいフレームワーク
「Seastar」
高スループットなサーバアプリケーションの為の新しいフレームワーク
「Seastar」高スループットなサーバアプリケーションの為の新しいフレームワーク
「Seastar」
高スループットなサーバアプリケーションの為の新しいフレームワーク
「Seastar」
 
ヤマノススメ〜秋山郷 de ハッカソン〜
ヤマノススメ〜秋山郷 de ハッカソン〜ヤマノススメ〜秋山郷 de ハッカソン〜
ヤマノススメ〜秋山郷 de ハッカソン〜
 
UEFI時代のブートローダ
UEFI時代のブートローダUEFI時代のブートローダ
UEFI時代のブートローダ
 
OSvのご紹介 in 
Java 8 HotSpot meeting
OSvのご紹介 in 
Java 8 HotSpot meetingOSvのご紹介 in 
Java 8 HotSpot meeting
OSvのご紹介 in 
Java 8 HotSpot meeting
 
OSvパンフレット v3
OSvパンフレット v3OSvパンフレット v3
OSvパンフレット v3
 
OSvのご紹介 in OSC2014 Tokyo/Fall
OSvのご紹介 in OSC2014 Tokyo/FallOSvのご紹介 in OSC2014 Tokyo/Fall
OSvのご紹介 in OSC2014 Tokyo/Fall
 
OSv噺
OSv噺OSv噺
OSv噺
 
OSvの概要と実装
OSvの概要と実装OSvの概要と実装
OSvの概要と実装
 
Linux network stack
Linux network stackLinux network stack
Linux network stack
 
Ethernetの受信処理
Ethernetの受信処理Ethernetの受信処理
Ethernetの受信処理
 
Presentation on your terminal
Presentation on your terminalPresentation on your terminal
Presentation on your terminal
 
僕のIntel nucが起動しないわけがない
僕のIntel nucが起動しないわけがない僕のIntel nucが起動しないわけがない
僕のIntel nucが起動しないわけがない
 
Interrupt Affinityについて
Interrupt AffinityについてInterrupt Affinityについて
Interrupt Affinityについて
 
OSvパンフレット
OSvパンフレットOSvパンフレット
OSvパンフレット
 
BHyVeでOSvを起動したい
〜BIOSがなくてもこの先生きのこるには〜
BHyVeでOSvを起動したい
〜BIOSがなくてもこの先生きのこるには〜BHyVeでOSvを起動したい
〜BIOSがなくてもこの先生きのこるには〜
BHyVeでOSvを起動したい
〜BIOSがなくてもこの先生きのこるには〜
 
「ハイパーバイザの作り方」読書会#2
「ハイパーバイザの作り方」読書会#2「ハイパーバイザの作り方」読書会#2
「ハイパーバイザの作り方」読書会#2
 
「ハイパーバイザの作り方」読書会#1
「ハイパーバイザの作り方」読書会#1「ハイパーバイザの作り方」読書会#1
「ハイパーバイザの作り方」読書会#1
 
10GbE時代のネットワークI/O高速化
10GbE時代のネットワークI/O高速化10GbE時代のネットワークI/O高速化
10GbE時代のネットワークI/O高速化
 

Genkidama: P2Pコンテンツキャッシュ共有システム

  • 1. Genkidama: P2P @syuu1228
  • 3. Genkidama • • • DHT Genkidama • • ”NicoCache” • DHT ”OverlayWeaver”
  • 4. Genkidama • •   •
  • 5. Genkidama Genkidama get/put DHT get/put Web
  • 6. Genkidama ○ Genkidama get/put DHT get/put Web
  • 7. NicoCache • • → • →
  • 8. Genkidama • →DHT get/put DHT
  • 9. DHT • DHT(Distributed Hash Table: ) • P2P • dht.put(key, value); value = dht.get(key); • DHT join dht.join(bootstrapNode); •
  • 10. DHT 4bit 12 • • successor(key) • key successor(key) • 12 successor(12) = 13
  • 12. DHT • get • put • : prefix + ID nc:sm1152439 • : → put
  • 13. URL • HTTP Genkidama • HTTP URL http://124.32.128.131:50001/nc/sm11152439 • HTTP NicoCache URL
  • 14. Genkidama ○ Genkidama get/put DHT get/put Web
  • 15. • • • • DHT →
  • 16. XMLRPC • IP:port →XMLRPC DB • onlineUsers.fetch() • DHT onlineUsers.register() • cron •
  • 17. XMLRPC DB • • • • •
  • 18. Genkidama ○ Genkidama get/put DHT get/put Web
  • 19. Web • Genkidama Web Dashboard(http://genkidama.us/) • • Genkidama • • • • IP DB IP
  • 20. Genkidama GUI • AWT GUI • Dashboard Genkidama GUI • Web Genkidama • JavaScript Genkidama HTTP →JS http://localhost:50001/ URL Genkidama http://localhost:50001/restart GET Genkidama • HTTP → http://genkidama.us/local/ http://localhost: / •
  • 21. Genkidama • Genkidama HTTP proxy.pac • • firefox extention
  • 22. NicoCache DHT • HTTPServer • XMLRPC • NAT • DHT • Ajax GUI • firefox extention
  • 23. NAT • UPnP NAT Traversal • ex: A B • → • UDP Hole Punching • HTTP(TCP) • NAT →
  • 24. DHT • Genkidama join →OverlayWeaver • • •