SlideShare une entreprise Scribd logo
1  sur  23
Genkidama:
•
    →




•                     BSD



•   OpenBSD/sgi SMP



•
Genkidama
•   NicoCache            Java


    →DHT

•                   NicoCache OpenChord
    300

•                                         →

•   daiki      P2P SIP

•   livedoor

•   OpenChord OverlayWeaver

•   ↑          P2P SIP                        ←
NicoCache
•
•         →

•         →
Genkidama
•         →DHT
            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
•

•

•
•   DHT


    →
XMLRPC

•                                          IP:port
    →XMLRPC                        DB

•   onlineUsers.fetch()

•   DHT                   onlineUsers.register()




•   cron
•       XMLRPC   DB



    •
    •
    •
    •
    •
Web

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



    •
    •
    •
•           IP
    DB       IP
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

•
•                          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.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
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   →

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

•   OverlayWeaver        expire         re-
    put
    →                  remove
•              Genkidama
        join                (´ ω `)

•           OverlayWeaver

•           OverlayWeaver
                                            overlayweaver-ja

•
•   MessagingTransport TCP

•                                     ConnectionPool
    close

•                                     YO!
put
•                                  DHT
                            put

•                                    put



•
                         (´ ω `)

•   ThreadExecutor put

Contenu connexe

Tendances

Eduardo Silva - monkey http-server everywhere
Eduardo Silva - monkey http-server everywhereEduardo Silva - monkey http-server everywhere
Eduardo Silva - monkey http-server everywhereStarTech Conference
 
Servers with Event Machine - David Troy - RailsConf 2011
Servers with Event Machine - David Troy - RailsConf 2011Servers with Event Machine - David Troy - RailsConf 2011
Servers with Event Machine - David Troy - RailsConf 2011David Troy
 
Websocket protocol overview
Websocket protocol overviewWebsocket protocol overview
Websocket protocol overviewallenmeng
 
Developing cacheable PHP applications - Confoo 2018
Developing cacheable PHP applications - Confoo 2018Developing cacheable PHP applications - Confoo 2018
Developing cacheable PHP applications - Confoo 2018Thijs Feryn
 
LCA2014 - Introduction to Go
LCA2014 - Introduction to GoLCA2014 - Introduction to Go
LCA2014 - Introduction to Godreamwidth
 
VCLをTDDで書いてデプロイする
VCLをTDDで書いてデプロイするVCLをTDDで書いてデプロイする
VCLをTDDで書いてデプロイするKengo HAMASAKI
 
Going Live! with Comet
Going Live! with CometGoing Live! with Comet
Going Live! with CometSimon Willison
 
HTTP Caching in Web Application
HTTP Caching in Web ApplicationHTTP Caching in Web Application
HTTP Caching in Web ApplicationMartins Sipenko
 
0-60 with Goliath: High performance web services
0-60 with Goliath: High performance web services0-60 with Goliath: High performance web services
0-60 with Goliath: High performance web servicesIlya Grigorik
 
Pound & Varnish - Cache e Balanceamento de Carga
Pound & Varnish - Cache e Balanceamento de CargaPound & Varnish - Cache e Balanceamento de Carga
Pound & Varnish - Cache e Balanceamento de Cargagsroma
 
What is new in BIND 9.11?
What is new in BIND 9.11?What is new in BIND 9.11?
What is new in BIND 9.11?Men and Mice
 
Introduction to WAMP, a protocol enabling PUB/SUB and RPC over Websocket
Introduction to WAMP, a protocol enabling PUB/SUB and RPC over WebsocketIntroduction to WAMP, a protocol enabling PUB/SUB and RPC over Websocket
Introduction to WAMP, a protocol enabling PUB/SUB and RPC over Websocketsametmax
 
TomcatCon: from a cluster to the cloud
TomcatCon: from a cluster to the cloudTomcatCon: from a cluster to the cloud
TomcatCon: from a cluster to the cloudJean-Frederic Clere
 

Tendances (20)

Eduardo Silva - monkey http-server everywhere
Eduardo Silva - monkey http-server everywhereEduardo Silva - monkey http-server everywhere
Eduardo Silva - monkey http-server everywhere
 
Servers with Event Machine - David Troy - RailsConf 2011
Servers with Event Machine - David Troy - RailsConf 2011Servers with Event Machine - David Troy - RailsConf 2011
Servers with Event Machine - David Troy - RailsConf 2011
 
T.Pollak y C.Yaconi - Prey
T.Pollak y C.Yaconi - PreyT.Pollak y C.Yaconi - Prey
T.Pollak y C.Yaconi - Prey
 
Websocket protocol overview
Websocket protocol overviewWebsocket protocol overview
Websocket protocol overview
 
Developing cacheable PHP applications - Confoo 2018
Developing cacheable PHP applications - Confoo 2018Developing cacheable PHP applications - Confoo 2018
Developing cacheable PHP applications - Confoo 2018
 
LCA2014 - Introduction to Go
LCA2014 - Introduction to GoLCA2014 - Introduction to Go
LCA2014 - Introduction to Go
 
VCLをTDDで書いてデプロイする
VCLをTDDで書いてデプロイするVCLをTDDで書いてデプロイする
VCLをTDDで書いてデプロイする
 
Going Live! with Comet
Going Live! with CometGoing Live! with Comet
Going Live! with Comet
 
The HTML5 WebSocket API
The HTML5 WebSocket APIThe HTML5 WebSocket API
The HTML5 WebSocket API
 
Time for Comet?
Time for Comet?Time for Comet?
Time for Comet?
 
Elastic stack
Elastic stackElastic stack
Elastic stack
 
HTTP Caching in Web Application
HTTP Caching in Web ApplicationHTTP Caching in Web Application
HTTP Caching in Web Application
 
Os Furlong
Os FurlongOs Furlong
Os Furlong
 
0-60 with Goliath: High performance web services
0-60 with Goliath: High performance web services0-60 with Goliath: High performance web services
0-60 with Goliath: High performance web services
 
Pound & Varnish - Cache e Balanceamento de Carga
Pound & Varnish - Cache e Balanceamento de CargaPound & Varnish - Cache e Balanceamento de Carga
Pound & Varnish - Cache e Balanceamento de Carga
 
What is new in BIND 9.11?
What is new in BIND 9.11?What is new in BIND 9.11?
What is new in BIND 9.11?
 
Os Pruett
Os PruettOs Pruett
Os Pruett
 
WebSockets in JEE 7
WebSockets in JEE 7WebSockets in JEE 7
WebSockets in JEE 7
 
Introduction to WAMP, a protocol enabling PUB/SUB and RPC over Websocket
Introduction to WAMP, a protocol enabling PUB/SUB and RPC over WebsocketIntroduction to WAMP, a protocol enabling PUB/SUB and RPC over Websocket
Introduction to WAMP, a protocol enabling PUB/SUB and RPC over Websocket
 
TomcatCon: from a cluster to the cloud
TomcatCon: from a cluster to the cloudTomcatCon: from a cluster to the cloud
TomcatCon: from a cluster to the cloud
 

En vedette

Scarecrow Festival at Thackley Methodist Church
Scarecrow Festival at Thackley Methodist ChurchScarecrow Festival at Thackley Methodist Church
Scarecrow Festival at Thackley Methodist Churchthackley
 
Copying Isn’T Cool
Copying Isn’T CoolCopying Isn’T Cool
Copying Isn’T Coolmatt210
 
Joomla! turvalisuse tagamine
Joomla! turvalisuse tagamineJoomla! turvalisuse tagamine
Joomla! turvalisuse tagamineJoomla Eesti MTÜ
 
Televista S Reflection
Televista S ReflectionTelevista S Reflection
Televista S ReflectionHolly Cameron
 
PMI Revenue and Productivity Management Solution for Hotels and Restaurants.
PMI Revenue and Productivity Management Solution for Hotels and Restaurants.PMI Revenue and Productivity Management Solution for Hotels and Restaurants.
PMI Revenue and Productivity Management Solution for Hotels and Restaurants.henrik_gerdin
 
Complete Streets Brochures
Complete Streets BrochuresComplete Streets Brochures
Complete Streets Brochureslcschott
 
Impress Usa 05
Impress Usa 05Impress Usa 05
Impress Usa 05sylvia09
 
94 Crane Overturns
94   Crane Overturns94   Crane Overturns
94 Crane OverturnsAlan Bassett
 
Hse alert 2013 35 two fatalities as a result of a failure of a bonnet-to...
Hse alert 2013 35 two fatalities as a result of a failure of a bonnet-to...Hse alert 2013 35 two fatalities as a result of a failure of a bonnet-to...
Hse alert 2013 35 two fatalities as a result of a failure of a bonnet-to...Alan Bassett
 
Решение по управлению web-контентом от компании Oracle.
Решение по управлению web-контентом от компании Oracle.Решение по управлению web-контентом от компании Oracle.
Решение по управлению web-контентом от компании Oracle.Anton Shmakov
 
Best photos cnn 2004
Best photos cnn 2004Best photos cnn 2004
Best photos cnn 2004verka 123
 
A binary graphics recognition algorithm based on fitting function
A binary graphics recognition algorithm based on fitting functionA binary graphics recognition algorithm based on fitting function
A binary graphics recognition algorithm based on fitting functionLixun Peng
 
RPD Selection Simple Guide Iso 16975 2 Draft
RPD Selection Simple Guide Iso 16975 2 DraftRPD Selection Simple Guide Iso 16975 2 Draft
RPD Selection Simple Guide Iso 16975 2 DraftAlan Bassett
 
Non basta essere su Facebook per essere 2.0. La qualità della presenza della ...
Non basta essere su Facebook per essere 2.0. La qualità della presenza della ...Non basta essere su Facebook per essere 2.0. La qualità della presenza della ...
Non basta essere su Facebook per essere 2.0. La qualità della presenza della ...Alessandro Lovari
 
Accrediting informal learning for professional development at London Metropol...
Accrediting informal learning for professional development at London Metropol...Accrediting informal learning for professional development at London Metropol...
Accrediting informal learning for professional development at London Metropol...Brightwave Group
 
Solving performance problems in MySQL without denormalization
Solving performance problems in MySQL without denormalizationSolving performance problems in MySQL without denormalization
Solving performance problems in MySQL without denormalizationdmcfarlane
 
Scotland Invitation
Scotland InvitationScotland Invitation
Scotland InvitationAlan Bassett
 

En vedette (20)

Scarecrow Festival at Thackley Methodist Church
Scarecrow Festival at Thackley Methodist ChurchScarecrow Festival at Thackley Methodist Church
Scarecrow Festival at Thackley Methodist Church
 
Copying Isn’T Cool
Copying Isn’T CoolCopying Isn’T Cool
Copying Isn’T Cool
 
Joomla! turvalisuse tagamine
Joomla! turvalisuse tagamineJoomla! turvalisuse tagamine
Joomla! turvalisuse tagamine
 
Televista S Reflection
Televista S ReflectionTelevista S Reflection
Televista S Reflection
 
PMI Revenue and Productivity Management Solution for Hotels and Restaurants.
PMI Revenue and Productivity Management Solution for Hotels and Restaurants.PMI Revenue and Productivity Management Solution for Hotels and Restaurants.
PMI Revenue and Productivity Management Solution for Hotels and Restaurants.
 
Complete Streets Brochures
Complete Streets BrochuresComplete Streets Brochures
Complete Streets Brochures
 
Impress Usa 05
Impress Usa 05Impress Usa 05
Impress Usa 05
 
94 Crane Overturns
94   Crane Overturns94   Crane Overturns
94 Crane Overturns
 
Learning Analytics
Learning AnalyticsLearning Analytics
Learning Analytics
 
Hse alert 2013 35 two fatalities as a result of a failure of a bonnet-to...
Hse alert 2013 35 two fatalities as a result of a failure of a bonnet-to...Hse alert 2013 35 two fatalities as a result of a failure of a bonnet-to...
Hse alert 2013 35 two fatalities as a result of a failure of a bonnet-to...
 
Решение по управлению web-контентом от компании Oracle.
Решение по управлению web-контентом от компании Oracle.Решение по управлению web-контентом от компании Oracle.
Решение по управлению web-контентом от компании Oracle.
 
Best photos cnn 2004
Best photos cnn 2004Best photos cnn 2004
Best photos cnn 2004
 
A binary graphics recognition algorithm based on fitting function
A binary graphics recognition algorithm based on fitting functionA binary graphics recognition algorithm based on fitting function
A binary graphics recognition algorithm based on fitting function
 
RPD Selection Simple Guide Iso 16975 2 Draft
RPD Selection Simple Guide Iso 16975 2 DraftRPD Selection Simple Guide Iso 16975 2 Draft
RPD Selection Simple Guide Iso 16975 2 Draft
 
Twitter Cartoons n Doodles
Twitter Cartoons n DoodlesTwitter Cartoons n Doodles
Twitter Cartoons n Doodles
 
Non basta essere su Facebook per essere 2.0. La qualità della presenza della ...
Non basta essere su Facebook per essere 2.0. La qualità della presenza della ...Non basta essere su Facebook per essere 2.0. La qualità della presenza della ...
Non basta essere su Facebook per essere 2.0. La qualità della presenza della ...
 
Tastes Great, More Satisfying!
Tastes Great, More Satisfying!Tastes Great, More Satisfying!
Tastes Great, More Satisfying!
 
Accrediting informal learning for professional development at London Metropol...
Accrediting informal learning for professional development at London Metropol...Accrediting informal learning for professional development at London Metropol...
Accrediting informal learning for professional development at London Metropol...
 
Solving performance problems in MySQL without denormalization
Solving performance problems in MySQL without denormalizationSolving performance problems in MySQL without denormalization
Solving performance problems in MySQL without denormalization
 
Scotland Invitation
Scotland InvitationScotland Invitation
Scotland Invitation
 

Similaire à Genkidama:実装と課題

小咄:BlazeDS+AMF Client+MySQLで実現するKey-Value Storage
小咄:BlazeDS+AMF Client+MySQLで実現するKey-Value Storage小咄:BlazeDS+AMF Client+MySQLで実現するKey-Value Storage
小咄:BlazeDS+AMF Client+MySQLで実現するKey-Value Storagemoai kids
 
EC2ナイトセミナプレゼン資料 Rel2
EC2ナイトセミナプレゼン資料 Rel2EC2ナイトセミナプレゼン資料 Rel2
EC2ナイトセミナプレゼン資料 Rel2真一 藤川
 
Cocoa + HTTP
Cocoa + HTTPCocoa + HTTP
Cocoa + HTTPrentzsch
 
DDoS: Practical Survival Guide
DDoS: Practical Survival GuideDDoS: Practical Survival Guide
DDoS: Practical Survival GuideHLL
 
Acus08 Advanced Load Balancing Apache2.2
Acus08 Advanced Load Balancing Apache2.2Acus08 Advanced Load Balancing Apache2.2
Acus08 Advanced Load Balancing Apache2.2Jim Jagielski
 
Beyond P2V - Redifining Server Consolodation
Beyond P2V - Redifining Server ConsolodationBeyond P2V - Redifining Server Consolodation
Beyond P2V - Redifining Server Consolodationdigitallibrary
 
Be Afraid. Be Very Afraid. Javascript security, XSS & CSRF
Be Afraid. Be Very Afraid. Javascript security, XSS & CSRFBe Afraid. Be Very Afraid. Javascript security, XSS & CSRF
Be Afraid. Be Very Afraid. Javascript security, XSS & CSRFMark Stanton
 
ReST Vs SOA(P) ... Yawn
ReST Vs SOA(P) ... YawnReST Vs SOA(P) ... Yawn
ReST Vs SOA(P) ... Yawnozten
 
Dhcp security #netseckh
Dhcp security #netseckhDhcp security #netseckh
Dhcp security #netseckhHEM Sothon
 
From One to a Cluster
From One to a ClusterFrom One to a Cluster
From One to a Clusterguestd34230
 
Ruby on Rails in UbiSunrise
Ruby on Rails in UbiSunriseRuby on Rails in UbiSunrise
Ruby on Rails in UbiSunriseWisely chen
 
SDNDS.TW Mininet
SDNDS.TW MininetSDNDS.TW Mininet
SDNDS.TW MininetNCTU
 

Similaire à Genkidama:実装と課題 (20)

小咄:BlazeDS+AMF Client+MySQLで実現するKey-Value Storage
小咄:BlazeDS+AMF Client+MySQLで実現するKey-Value Storage小咄:BlazeDS+AMF Client+MySQLで実現するKey-Value Storage
小咄:BlazeDS+AMF Client+MySQLで実現するKey-Value Storage
 
Http Status Report
Http Status ReportHttp Status Report
Http Status Report
 
EC2ナイトセミナプレゼン資料 Rel2
EC2ナイトセミナプレゼン資料 Rel2EC2ナイトセミナプレゼン資料 Rel2
EC2ナイトセミナプレゼン資料 Rel2
 
Cocoa + HTTP
Cocoa + HTTPCocoa + HTTP
Cocoa + HTTP
 
DDoS: Practical Survival Guide
DDoS: Practical Survival GuideDDoS: Practical Survival Guide
DDoS: Practical Survival Guide
 
Rest Vs Soap Yawn2289
Rest Vs Soap Yawn2289Rest Vs Soap Yawn2289
Rest Vs Soap Yawn2289
 
Acus08 Advanced Load Balancing Apache2.2
Acus08 Advanced Load Balancing Apache2.2Acus08 Advanced Load Balancing Apache2.2
Acus08 Advanced Load Balancing Apache2.2
 
Preon (J-Fall 2008)
Preon (J-Fall 2008)Preon (J-Fall 2008)
Preon (J-Fall 2008)
 
Beyond P2V - Redifining Server Consolodation
Beyond P2V - Redifining Server ConsolodationBeyond P2V - Redifining Server Consolodation
Beyond P2V - Redifining Server Consolodation
 
FxUG@北陸資料
FxUG@北陸資料FxUG@北陸資料
FxUG@北陸資料
 
Pound Varnish
Pound VarnishPound Varnish
Pound Varnish
 
lightning talk proposal
lightning talk proposallightning talk proposal
lightning talk proposal
 
Be Afraid. Be Very Afraid. Javascript security, XSS & CSRF
Be Afraid. Be Very Afraid. Javascript security, XSS & CSRFBe Afraid. Be Very Afraid. Javascript security, XSS & CSRF
Be Afraid. Be Very Afraid. Javascript security, XSS & CSRF
 
ReST Vs SOA(P) ... Yawn
ReST Vs SOA(P) ... YawnReST Vs SOA(P) ... Yawn
ReST Vs SOA(P) ... Yawn
 
Dhcp security #netseckh
Dhcp security #netseckhDhcp security #netseckh
Dhcp security #netseckh
 
From One to a Cluster
From One to a ClusterFrom One to a Cluster
From One to a Cluster
 
Ruby on Rails in UbiSunrise
Ruby on Rails in UbiSunriseRuby on Rails in UbiSunrise
Ruby on Rails in UbiSunrise
 
SDNDS.TW Mininet
SDNDS.TW MininetSDNDS.TW Mininet
SDNDS.TW Mininet
 
Vidoop CouchDB Talk
Vidoop CouchDB TalkVidoop CouchDB Talk
Vidoop CouchDB Talk
 
XS Boston 2008 Network Topology
XS Boston 2008 Network TopologyXS Boston 2008 Network Topology
XS Boston 2008 Network Topology
 

Plus 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
 

Plus 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高速化
 

Dernier

Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 

Dernier (20)

Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 

Genkidama:実装と課題

  • 2. → • BSD • OpenBSD/sgi SMP •
  • 3. Genkidama • NicoCache Java →DHT • NicoCache OpenChord 300 • → • daiki P2P SIP • livedoor • OpenChord OverlayWeaver • ↑ P2P SIP ←
  • 4.
  • 5. NicoCache • • → • →
  • 6. Genkidama • →DHT DHT
  • 7. DHT • get • put • : prefix + ID nc:sm1152439 • : → put
  • 8. URL • HTTP Genkidama • HTTP URL http://124.32.128.131:50001/nc/sm11152439 • HTTP NicoCache URL
  • 9. • • • • DHT →
  • 10. XMLRPC • IP:port →XMLRPC DB • onlineUsers.fetch() • DHT onlineUsers.register() • cron
  • 11. XMLRPC DB • • • • •
  • 12. Web • Genkidama Web Dashboard(http://genkidama.us/) • • Genkidama • • • • IP DB IP
  • 13. 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 •
  • 14. Genkidama • Genkidama HTTP proxy.pac • • firefox extention
  • 15. Genkidama get/put DHT get/put Web
  • 16.
  • 17. 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
  • 18. 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 → • …
  • 19. NAT • UPnP →UPnP • XMLRPC →globalIp.probe() XMLRPC IP • IP OverlayWeaver
  • 20. NAT • UPnP • HTTP UDP Hole Punching • XMLRPC TCP →tcpPort.check() bind • UDP
  • 21. Genkidama DHT • DHT URL • • remove → remove • OverlayWeaver expire re- put → remove
  • 22. Genkidama join (´ ω `) • OverlayWeaver • OverlayWeaver overlayweaver-ja • • MessagingTransport TCP • ConnectionPool close • YO!
  • 23. put • DHT put • put • (´ ω `) • ThreadExecutor put