« 2004年2月 | トップページ | 2004年4月 »

2004年3月の19件の投稿

2004.03.30

[P2P]キャッシュの拡散・効率について

昨日はキャッシュについて書いたのだが、ひとつ気になる点があったので更に書いておく。

Winnyなどのキャッシュについては匿名性の観点から議論されることも多いが、キャッシュの拡散や効率性についてはあまり議論されてないように思える。キャッシュ機能により、ファイルのダウンロード元が分散され、効率のよいP2Pファイル共有が実現するのである。この効率性に関する論文はあまり見てはいないので研究すれば面白いと思う。シミュレーションするのもそれほど難しくはないだろう。(確かFreenetの関連で、この辺りの議論があったかもしれない。)

個人的に気になるところは、各ノードがどのくらいの頻度でダウンロード元になるかということと、どのくらいのスピードでキャッシュが拡散するかというものである。拡散については良く知られた拡散方程式を多少変形したもので求められると思う。もしかしたらランダムウォークの知識も必要かもしれない。

Winnyのように、ダウンロードの要求があってはじめて他のノードにキャッシュされるシステムもあるが、強制的に隣接ノードにコンテンツをキャッシュさせるシステムも検討されている。これも同様にシミュレーションして効率性などを検討すると興味深い結果が出るかもしれない。

プロキシの研究も参考になるかもしれない。
「プロキシ・キャッシュを用いたウェブサーバの性能解析法」

これに関して人気のあるコンテンツのキャッシュ率についての研究としてジップ(Zipf)の法則を挙げることがあります。
Zipfの法則とは、ある文章においてf(i)をその文章でi番目に良く出てくる単語の出現回数とすると、f(i)=a/i^bとかける事です。(^はべき乗を表わす。)
Zipfの法則は以下のHPを参考にしてください。
種々のフラクタル
Zipf曲線とウェブサイト人気度
いかがわしくないサーチエンジン対策

| | コメント (0) | トラックバック (0)

2004.03.29

[P2P]秘密分散法とキャッシュ

821氏のキャッシュ仕様をちょっとだけ見た。あまり深くは読んでないが、一部抜粋。

===
完全な状態のキャッシュを持つと、送信可能化権の侵害に当たる可能性が高いため、各ノードは分割された破片だけを持つ方法が考案されていますが、断片でなら送信可能化権の侵害にならないのかという点についてはいまだにグレーであるということになっています。
そこで、XOR 演算を利用して、二箇所からファイルをダウンロードしないと復元できないようにし、かつ、片方は目的のファイルとは縁もゆかりもないデータであるようにします。
===
なるほど。

XORを使う例としてRC4とかがありますね。XORは次のような性質があるので、良く暗号には使われます。
a xor b xor a = b

ここでちょっと思ったのですが、キャッシュに秘密分散法を適用したら面白そう。(多分もう議論されているとは思いますが。)

秘密分散法のエッセンスは次のとおり。
今、2次式 p[x]=ax^2 + b x + c があるとします。さて、(d,p[d])のペアが何個あれば、a,b,cは決定できるでしょうか?答えは3つの独立な解を見つける必要があるので、3つあれば充分です。

これを応用しましょう。今、(1,p[1]),(2,p[2])があったとします。この2つのペアだけではa,b,cは求まりません。しかし、もうひとつのペア(5,p[5])があれば、a,b,cは決まります。もちろん、(5,p[5])ではなく、(7,p[7])でも構いません。これが秘密分散法の面白さです。一般にはN次式の方程式q[x]に応用すると、N+1の重複しないrにおいて(r,q[r])がわかれば、係数は決定できます。

さて、簡単のため、2次式p[x]を使いましょう。今、ファイルAがあります。これを秘密分散法によって、5つのファイルを生成したとします。そうすると、そのファイルをうち最低3つあれば、ファイルAに復元できます。所有しているファイル数が2つ以下の場合にはファイルAは復元できないし、Aを推測する事さえできません。

この方法はXORに比べて計算が遅くなりますが、より強固なセキュリティを保つためには良いかもしれません。

次のHPも参考にしてください。
秘密分散法の説明
秘密分散法のファイルシステムへの応用

[おまけ]
P2Pの全体的な概要ページ。ルーティングやセキュリティまで追求しているので面白い。一読の価値有り。ただし、英文です。
http://ntrg.cs.tcd.ie/undergrad/4ba2.02-03/p9.html

| | コメント (0) | トラックバック (0)

「P2Pとファイアウォール」アップしました。

ようやく「P2Pとファイアウォール」アップしました。よろしくです。

日曜日は新宿御苑で花見をしていました。かなり多くの人ででしたが、それでも桜の木が多いし、場所が広いので無理なく花見をすることができました。持ち込むものは伊勢丹の食品売り場で揃えました。伊勢丹の食品売り場は惣菜コーナーが充実しているので、簡単に野外で食べるものを調達するにはもってこいです。

| | コメント (0) | トラックバック (0)

2004.03.27

最近買った本

もともと本を買う事が好きなのだが、最近は買いすぎかも。

今週大量のログ解析をしそうということで、Perlを使うハメになりそうだ。ということでPerlを短時間でマスターしなければならない。買った本は
・独習Perl 翔泳社
・図解標準 最新Perl/CGI 秀和システム
どちらも人気のシリーズだ。独習シリーズは以前Javaで使ったことがある。図解シリーズはルーティング、CCNA対策、XMLやVPNも買った。短時間に全体を把握するには持って来いである。

また、アドホックネットワークやユビキタスを知るために2つの本をAmazonで購入。
・未来ねっと 技術シリーズ ユビキタスサービスネットワーク技術 電気通信協会
・無線LANとユビキタスネットワーク 丸善
前者は広い分野の概要が書いてあって最新動向をさっと読むにはいいのかも。CANやChordについても少し記述してある。後者はアドホックネットワークのルーティングやIP割り当てなども書いてあるのでこれからじっくり読む予定。

それと、そろそろTOEICを受けないといけないなぁ、と思って英語の本を購入。ただし、買ったのは
・クレヨンしんちゃん 5(英訳版)
なのだが、(笑)これがなかなか面白く、電車で読みながら笑いをこらえている。この本は英語のみの記述で日本語はなし。一冊1000円強するのがネック。

バイリンガル版では「課長 島耕作」シリーズを持っているのだが、6巻以降を早く出して欲しい。バイリンガン版だと「ジパング」や「ラブひな」などもあるが、「ジパング」は戦争物だし、「ラブひな」はちょっと電車に読むのはなぁ、、と思って手を出せず。といっても電車でクレヨンしんちゃん読むのも同様かもしれないが。(笑)ちなみに私の実家はクレヨンしんちゃんの舞台である埼玉県春日部市の近くなので、このマンガには親近感がある。来月、クレヨンしんちゃんは春日部市が住民登録するそうな。

そういえば、今日バイオリンの先生の家に行って「のだめカンタービレ」というマンガを読んだ。音大が舞台なので、もう少し読んで面白そうだったら買ってみようと思う。(先生曰く、場所の書き方が武蔵野音大そっくりらしい。)そのVnの先生が監修しているゲームで「黄金のコルダ」というのがあるんだが、これがマンガになっているらしいので、チェックしようと思う。ってどっちも少女系マンガじゃん♪本屋で買いづらいな....。Amazonで注文するか。

| | コメント (2) | トラックバック (0)

2004.03.26

年度末という季節

今日、グループの先輩の異動が発表されたので、飲み会があった。実はその前日に結果を知っていたので昨日も飲み会があった。どちらも深夜まで飲んでいたので、かなり体力を消耗中。これで3日連続深夜までの飲み会だ。来週も飲み会が続きそうだ。

今夜の飲み会の2次会はカラオケだった。私はバイオリンやピアノなど楽器はできるが、正直カラオケは大の苦手だ。バイオリンで前練習した島谷ひとみの「亜麻色の髪の乙女」を歌う事でなんとかなった。はっきり言って、カラオケの画面で文字だけでなく、楽譜が出ると歌詞の出だしのタイミングとかわかって便利なんだが。誰か作ってくれないかな?

さて、P2Pの分散ハッシュ値の文献をいろいろと見ていたのだが、ChordとCANは内容を把握したので、近日中にHPにアップする予定である。今後はP-gridやTapestry、Pastryなどの文献を勉強していきたいと思っている。

この辺は次のHPが参考になるだろう。
LINK集
http://www.ingrid.org/~sato/ref.html
P-Grid関連
http://www.p-grid.org/Publications.html
Pastry関連
http://research.microsoft.com/~antr/Pastry/pubs.htm
Tapestry関連
http://www.cs.berkeley.edu/~ravenben/tapestry/

ちなみにCANやChordは次の文献に分かりやすく書いてある。図が多いので参考になるだろう。
http://www.cs.jhu.edu/~terzis/600.413/week2.pdf

年度末が近いと飲み会だけでなく、決算処理に向けた事務作業も多くて、大変だなぁ。。

| | コメント (0) | トラックバック (0)

2004.03.21

[P2P]分散ハッシュChordと匿名性

最近、P2P(というかオーバレイネットワーク)では分散ハッシュの話題で持ちきりなので、私もその代表格のChordの文献を見てみた。詳しくはタネンバウム著「コンピュータネットワーク」日経BP社を見て欲しいのだが、まずはChordの概略とその後匿名性について簡単に議論してみたい。
※次の文献もなかなかわかりやすく書いてあります。
http://portal.acm.org/citation.cfm?id=606299&coll=portal&dl=ACM&CFID=18822239&CFTOKEN=86987481&ret=1#Fulltext


Chordは2^m(これで2のm乗を表わすことにする。)のハッシュ値の「円状」集合Sである。 x mod 2^m の時計回りで隣にはx+1 mod 2^m、逆時計回りで隣には x-1 mod 2^mがいる。あるハッシュ関数をHashとする。今、ノードAのIPアドレスをip、適当な乱数等をrとしてノードAのハッシュ値はkey_A=Hash(ip,r)で表現できる。このようなハッシュ関数を使うと円状集合にそれぞれのノードを配置することができる。ここで、必ずしも全てのハッシュ値にノードが配置されているとは限らない事に注意。

さて、Sに含まれる任意のxが仮に(x+1,x+2,...x+y)というハッシュ値についてのIP情報を持っていれば、xは任意のハッシュ値z(ただし、zに対応するノードがあるとする)のIP情報は得られそうである。これはバケツリレーでひたすら右回り(すなわちハッシュ値が増える方向)のノードにハッシュ値zはないか聞いていくということである。(ただし、この方法では連続してyだけノードが存在しないとzにたどり着かない事がある)しかし、この方法では非常にzに対応するノードにたどり着くまで遅くなる。

そこでChordは工夫をしている。あるxが知るIPアドレスのノードのハッシュ値はsuccessor(x+2^i) mod 2^mとする。(iは0以上m-1以下の全ての整数)ただし、q=successor(p)とは、p以上で一番pに近いハッシュ値で実際にノードがあるハッシュ値qを表わす。これを知ればあるハッシュ値zに対応するIPを知るまでにmのオーダーで可能となる。ハッシュ値zに対するIPアドレスの検索方法であるが、ハッシュ値zに一番自分がIPを知っているハッシュ値の近いノードに検索を依頼する。これをひたすら続けるということである。

さて、各ノードはコンテンツ名nameについてsuccessor(hash(name))に記録させておく。ただし、(name、ノードのIPアドレス)という対を記録される。こうすれば、各ノードのコンテンツ情報は分散されて配置されていく。

図がないだけにわかりにくいと思うが、詳しくは先ほど挙げた文献に丁寧にかいてある。このようにChordではNapsterのように中央サーバを使わず、Gnutellaのようにブロードキャストも使わず巨大なコンテンツ名空間、IPアドレス空間を管理する事ができる。今後はファイル共有等のP2Pアプリに分散ハッシュ値が使われる可能性は非常に高い。

ではChordの匿名性はどうだろう?あるハッシュ値xのIPアドレスを知りたいとすると、だれもがそのIPアドレスを知りうると言う事に問題がある。つまり、コンテンツ名nameを管理しているsuccesor(hash(name))のノードを調査すれば、だれがそのコンテンツを持っているかわかってしまう。

もう一つは通信方法である。通常に考えれば、ハッシュ値から対象のIPアドレスを得て、ファイルを有しているノードとファイルを要求しているノード間で直接通信する。しかし、これは匿名性を著しく落とす事になる。そこで考えられるのは、Winnyのようにあるノードをかます方法である。例えば、Chordであればzというハッシュ値を得るまでに何個ものノードを介する必要があるので、ファイル送信でもそれを使えないか?と考える事ができる。とはいっても、先ほど言ったようにsuccessor(hash(name))のIPアドレスを各ノードが知りうるのであまり効果はなさそうだ。

ハッシュ値zのIPアドレスは「わざと」返さずヒットしたことだけ返し、検索ノード間で数珠繋ぎで通信する事も考えたが、これを実現すると、新規にネットワークに参加するノードに対し、ルーティング情報を渡す事ができなくなる。
もうちょっと匿名性については考えてみたい。

Gnutellaのようなブロードキャスト方式による検索はサイズの限界が簡単に来るので、P2Pアプリでも本格的に分散ハッシュの導入を検討することもあるだろう。

| | コメント (0) | トラックバック (1)

2004.03.20

早春の網走

北海道北見において深夜までの現地調査の仕事終えた。翌朝、簡単な作業を終え仕事は無事終了。女満別空港は20:20発のに乗るため、合間の時間を縫って、網走に行く事にした。

北見駅は廃線が噂されるふるさと銀河鉄道の駅でもある。ということで早速写真を取った。

その後、特急オホーツクで網走まで行く。網走までは約1時間だが、その途中に凍りついた湖でワカサギ釣りをしているテントが見えるのが印象的だった。今度行く時には是非Tryしてみたい。

網走について流氷船「オーロラ」に乗り込む。残念ながら流氷はもう見れなかったが、遠くに白くそびえ立つ知床連山が見えた。1時間の乗船を楽しんだ後、網走刑務所の博物館へ。ここは昔の網走刑務所を移築したところで、過酷な生活環境が垣間見えた。

夕方になり、女満別空港方面に向かう。途中網走湖で途中下車。凍てついた網走湖に夕日が差し込み、感動的な風景となった。

P1010023.JPG

網走観光ホテルで夕方の網走湖を望みながらの露天風呂は素晴らしかった。

| | コメント (1) | トラックバック (3)

2004.03.17

出張

明日は急遽、北海道の北見に出張。朝一で羽田空港に行く必要があるので、朝4時に起きる予定である。今回の出張はハードスケジュールなので、残念ながらプライベートな時間はほとんどなさそう。

| | コメント (0) | トラックバック (0)

2004.03.15

P2PとNAT(メモ)

近日中にファイアウォールとP2Pの記事を書くので、これはそのメモという位置づけである。

最近、P2P-VoIPにおいてskypeが人気がある。これはNAT越しでも設定不要と言う便利なソフトである。一体どのような仕組みになっているのだろうか?今回はその仕組みに焦点を当てていく。

まず、ファイアウォールのNAT変換の方式として4つの方法がある。これを説明したのが次の資料である。

第1回 IPv6接続をさらに透過するTeredo
NATにはCone NAT,Restricted cone NAT,Port-restricted cone NAT,Symmetric NATがあることがわかる。

さて、一番難しいP2P通信は両者がどちらもNATの内側にある場合である。それを解決する手段がUDP hole punchingである。下はそれを図解したものである。TCPでなく、UDPを使う事に注目。
NAT and IPv6

より詳しい資料はこれである。
P2P communication across middleboxes
英文だが平易な文章で書かれていのでチャレンジして欲しい。

良く知られた技術がSTUN - Simple Traveral of User Datagram Protocolであり、これはRFC資料となっている。
STUN RFC3489

さて、この書類を見ると、Symmetric NATはなかなか通過させるのが難しいことがわかる。ただし、現在Symmetric NATを通過させる事を検討中である。それがSymmetric NAT Traversal using STUNである。また同じくSymmetric NATを通過する方法でTURNが挙げられる。
STUNとTRUNについて

STUNを代表するUDP hole punchingをする際には通常サーバが必要である。これをグローバルIPをもつノードで代用しようとするのが、次の資料。なかなかわかりやすい。
SUNET
これは親ノードと子ノードに分類して、親ノードを経由して子ノードのポート使用状態を他のノードに通知させることである。ただし、親ノード間がメッシュ構造になっていたり、子ノードが複数の親ノードに結びつける事等が検討されていないので、研究すればもっと面白いことになるかもしれない。

*NATについては下記にさらに新しい情報を記載しています。是非ご覧ください。

[NAT]NAT越え入門1-NATとは何か?

NAT技術者にお勧めするRFCとドラフト

| | コメント (3) | トラックバック (6)

ホワイトデー

昨日は津田ホールで梅津美葉さんのバイオリン演奏によるコンサートに行ってきた。特に面白かったのが演奏曲が全てバルトークというところだった。おなじみのラプソディの他に滅多に演奏されず、おまけに極度に演奏が困難な無伴奏ソナタも演奏されたので非常に満足した。NHKが録画していたので、近いうちにテレビ放映されたかもしれない。

夕方は彼女と本音ベースで話し合った。お互い気遣っているからなかなかそういうことはないのだが、結果的には良かったと思う。記憶に残るホワイトデーとなった。

| | コメント (0) | トラックバック (0)

2004.03.14

P2Pとルーティング、アップです。

ふー。ようやく「P2Pとルーティング【後編】」をアップしました。検討するのにかなりの時間を割いたP2Pとルーティングについての提案も終わりとなります。ルーティングレイヤを階層化したり、自己リンク修正はどうなるかというところは面白いと思います。お時間があれば是非見て下さい。
「P2Pとルーティング【後編】」

今度は何を書くかということですが、できれはもう少し勉強して分散ハッシュと検索について書いて見たい。または自律的に帯域等に応じてネットワークを最適化することを考えてみたいと思います。こういうの書いて欲しい!というのがあればご連絡をお願いします。

さて、今日はバイオリンレッスンの日だったのですが、ようやくカイザー1巻1曲目が終わり。面倒なボーイング等を繰り返し練習してかなりきつかったです。ただ、この2月間でかなり上達していることが自分でもわかっているので、やはりカイザーの練習曲は偉大だと思います。まだ手首や小指を上手く使いきれてないので、そこを中心に練習しようと思います。

その後、ホワイトデー用に新宿伊勢丹でチョコレートを色々見ました。さすが前日だけあって、食品売り場はかなりの人。一番混んでいたのはやはりというのか、かの有名な「ジャン=ポール・エヴァン」。あそこのチョコレート、味が濃厚だし、いろいろな味があって楽しいからね~。人気があるのもわかるけども、ちょっと高いかな。私は、形状が非常に素敵なチョコがあったのでそれを購入。

ついでに新宿のタワーでCDをいろいろとチェック。リゲティのCDも欲しかったけど、ラッヘンマンのCDを見つけたで購入。買ったのは有名な弦楽四重奏第2番「精霊の踊り」で演奏はアルディテイカルテット。ラッヘンマンというと特集奏法の連続だけども、これもそれに違わずハイテンションのぶっとびモードの連続。これがなかなか楽しいので、もうちょっと聞き込もうと思う。ラッヘンマンのオペラ「マッチ売りの少女」も買いたくなった。

| | コメント (0) | トラックバック (0)

2004.03.12

ロボットと楽器

今日はバッハのバイオリン協奏曲第1番第1楽章の本格的な譜読み。2nd,4thポジションのところが、かなり怪しい。明日はバイオリンのレッスン日なので早く起きてたっぷり練習しないと。

さて、先日こんなニュースが流れたことは多くの人が知っているかもしれない。
「トヨタ初のロボットを発表 2足歩行型や搭乗型も」
このニュースを見ると、トヨタもついに2足歩行に成功したか、と思うだろうが私はむしろロボットにトランペットを吹かせることができたというところに非常に驚いた。

トランペットを初めとする金管楽器は唇を震わせて音を出す。今回のロボットは人工唇を使って音を出すらしい。TVで実際の音を聞いたのだが、なかなかの音であった。ちなみにあの音を初心者が出すのには最低1年ぐらいはかかると思う。私は中学ではユーフォニウム、高校ではホルンを吹いていた経験があるので、このような技術が出ることは非常に感慨深い。

さて、金管楽器を演奏する時の大変なことの一つとして、高音を出すことが挙げられる。高音を出す時には唇を緊張させる必要があるので、ずっと高音を出すことは非常に疲れ、プレイヤーとしては困難なことである。このような人工唇を使えば楽に高音が出るので、将来作曲家が「ロボット用」のトランペット協奏曲を作るかもしれない。

こんなことを書くと、そんなことはないでしょうと思うかもしれないが、実は現代音楽家で有名なリゲティが面白い曲を作っている。リゲティの名曲「練習曲集 第2巻」においてプレイヤーズピアノ(自動ピアノ)のための、ただし人で演奏しても可(笑)という曲がある。当初人間に弾かせようとしたのだが、あまりにも要求が無茶すぎる(人間が弾けるスピードではなかったらしい)ので結局自動ピアノのための曲になってしまった。といってもこの曲を人間が弾いた録音があるのも面白い。ちなみにメキシコの作曲家ナンカロウは人間では弾けないような曲、自動ピアノのための一連の作品群を作って、高い評価を受けている。

今、挙げた自動ピアノとは人型ロボットがピアノを演奏しているのを指しているのではない。ただ、人型ロボットがピアノを演奏することは、つくば万博で既に行っている。そうなると、バイオリン弾きの私にとっては、人型ロボットが果たして弦楽器を弾けるのか?ということになる。ハープのように音階と弦が決まっているものであれば何とかなるかもしれない。ただし、バイオリンの場合、まず弓を使うためにしなやかな関節がある必要がある。すなわち指、腕の自由度をかなり多くする必要がある。また、弓の位置、弓を押す力、弓の傾きによって音色が大きく変わってくる。これを実現するためにはかなりの研究が必要だろう。ただし、弦を押すことはロボットの方が早くて正確にできるので、ロボットならではの曲が作られる可能性はある。

そのうち、オーケストラといったらロボットが全て演奏する時代も来るかもしれない。でも演奏が正確すぎて面白くないだろう。(もっとも指揮者の意図を100%汲み取ることはできるかもしれないが。笑)なによりも非常に難しい演奏をノーミスで行うかどうか冷や冷やしながら聴く、あの緊張感も聴衆の楽しみの一つだから。

| | コメント (4) | トラックバック (3)

2004.03.11

P2Pアプリのネゴシエーション

さて、本題に入る前に頂いたコメントを紹介します。

まずはP2P-CDNの研究をされている市川様から分散ハッシュの文献の紹介です。
Loking up data in P2P systems
ページの下の方で日本語に訳されたPDFもあるのでご安心を。分散ハッシュについて丁寧に説明してあります。

次に、昨日のBlog「中間侵入攻撃」について、ながせあきひろ氏のコメントです。
Re:中間侵入攻撃
確かに昨日書いたようにハッシュ値でなく、公開鍵を掲示板で公開してもレベルは同じですね。それよりも秘密鍵でNameを署名すると言う考え方はスマートです。コメントありがとうございました!

では本題に入ります。P2Pアプリ間の通信を暗号化する際、公開鍵等を使う場合、鍵交換のネゴシエーションが発生します。このネゴシエーションはSSLだと平文に書かれてしまっているので、L7SWがあればネゴシエーション自体を検出し、P2Pアプリ間の通信をストップさせることが可能です。では、このネゴシエーションを暗号化できないでしょうか?

まず、P2Pアプリ内に共通鍵Kがあるとします。Kはリバースエンジニア等でわからないように慎重にプログラミングを設計する必要があります。では、ネゴシエーションでKを使って暗号化すれば良いのでは、と考えますがそれだけでは不十分です。なぜならば一般にネゴシエーションの命令、順序は決まっているからです。つまり、最初のネゴシエーションの指示をcomannd1とします。暗号化するとK(command1)なので、この暗号化されたパケットをK(command1)検出すればP2Pアプリの通信をストップさせることが可能です。

そこでMIX-netで使われるpaddingを応用しましょう。paddingは「詰め物」という意味です。今、通信したい命令をcommandとします。データの長さを返す関数をLengthとしましょう。また、乱数Rを発生します。c=Length(command)、r=Length(R)とします。文字の置換をする関数Tにおいて、t=T(c+r,command,R)を計算します。さて、パケットの中身ですが、 最初のNビットでcを記述します。次のNビットでrを記述します。その後は可変長(c+rビット)でtを記述します。そのパケットを共通鍵Kで暗号化します。こうすれば、毎回同じcommandを使っていても暗号文は異なります。このため、同じ共通鍵を使ってもなかなか通信内容がわからないことになります。

これでネゴシエーションの時でもL7SWがそれを検出するのが困難になります。

| | コメント (0) | トラックバック (0)

中間侵入攻撃

今日はシステム移行2日目。移行が無事終わってほっとしている。これでデータセンタに入るのも当分無い事を祈る。(笑)データセンタに入る時はセキュリティチェックが厳しいので、トイレから戻るのも大変だからなぁ。。。

データセンタから帰宅するときにふと松屋が目に入った。もう、牛丼もないのか。。残念と思ってメニューを見たら、なんと390円で牛丼(メニューには「牛めし」と書いてあった)があったので、すかさず牛丼を注文。数量限定らしいのだが、夜遅いこんな時間でも売っているので、実質的にはいつでも食べれるのだろう。調べてないが、もしかしたら特定のお店しか売ってないのかもしれない。

さて、先日自分のBlogで「次世代のWinnyとは」という記事を書いたのだが、それを帰りの電車の中でちょっと振り返ってみた。概要はDiffie-Hellmanだと中間侵入攻撃があるし、SSLだと証明書でお互いに認証すれば中間侵入攻撃は受けないが、CA局を誰が作るか?ということになる。PGPみないなものでないと、なかなか中間侵入攻撃に耐えるのは難しいのかなぁということである。

良く考えると、掲示板のように事前に自分の情報を相手に渡せば中間侵入攻撃はかわすことができると思った。その仕組みを書いておく。まず、Aは公開鍵Key_1と秘密鍵Key_2のペアを作成する。今、Aはある識別子を名乗る事にする。これをNameとする。H=Hash(Key_1,Name)とし、[Hashはハッシュ関数]HとNameのペアを掲示板に書いておく。

今、BがAに接続することを考える。AはBに対してKey_1,Nameを渡す。BはHを持っているために、関数Hashを使ってAの正当性を検証可能である。これで、BはAと接続することができる。

さて、今度は今の方法でA⇔C⇔Bの可能性を考える。例えばCはAになりすましてKey_1をBに渡すとする。ところが、当然BはKey_1を使って文を暗号化する。CはAの秘密鍵Key_2を持ってないからBの通信内容はわからない。このように今の方法では中間侵入攻撃はできないことになる。

もう少し考えるとより汎用性の高いシステムができるかもしれない。

| | コメント (0) | トラックバック (1)

2004.03.09

書籍購入

今日はデータセンタに一日中こもって、システムの切り替え作業を実施。とり立てて大きなトラブルも無く終了し、ほっとした。自分の作った移行作業書がうまく回るかどうかはいつも不安だが、きっちり移行すると安心感と達成感がある。明日は移行作業の最終段階なのだが、山は越えたので大丈夫だろう。

さて、以前P2P-CDNの話題をBlogで書いたのだが、リンクをさせて頂いた方からメールを頂きCDNの最近の話題を教えて頂いた。Blogをやっていて良かったなと思うのは、通常コミュニケーションできない人と繋がれるとこではないかと最近思っている。P2P-CDNの話、特にP2P-マルチキャストについては、通常のマルチキャストの技術も知る必要があるので、ぼちぼち勉強しようと思う。そうでなくても、マルチキャストは「放送と通信の融合」で話題になっていたので、是非知りたいところである。ちょっと話は変わるがこの「放送と通信の融合」においてはJanogでもいろいろな意見があって、大変興味深かった。ここで沖本さんがもっと放送業界の事を知るべきという発言は非常に賛成である。ここ最近放送に関する書籍を読んでいるが、放送業界の慣行的な制度などや思いを知っている人が意外に少ないのではないのだろうか?「放送と通信の融合」の分野では西 正さんが有名なので、時間があれば彼の著書を一読する事をお勧めする。

話は戻って、先ほどのメールではCDNの話題以外にも私が知りたかった分散ハッシュについての本も紹介して頂いた。それが今日買った「コンピュータネットワーク 第4版」タネンバウム著である。値段が7,800円と高いが、広範囲の分野に渡って平易な言葉で説明していて、かつ最新のトピックスにも触れられていてなかなか面白いと思う。分散ハッシュの記述ではChordについて丁寧に説明されている。またアドホックネットワークについても説明されていることもP2Pに関心がある人には役に立つと思う。一度書店で中身を見てみるのはどうであろうか?

Chordの部分を読んで、分散ハッシュのイメージはついたのだが、疑問もいくつか浮かんできた。原論文を読んだり研究所の知り合いにでも質問してみようと思う。だれか分散ハッシュに対するセミナーでも開いてもらえないものかな?

| | コメント (2) | トラックバック (0)

2004.03.07

夏のコンサートに向けて

今週は飲み会続きで全然バイオリンの練習時間が取れなかった。っでとうとう来てしまった、バイオリンレッスン日が。予定としてはザイツのコンチェルトを全て通すので、その練習に費やした。カイザーやスケールの練習はほんとんどしなかった。

さて、弦楽アンサンブルのレッスンから始まった。ここで意表をついて4楽章のレッスンが始まる。4楽章は全然目通してないよう~と思いながら初見でなんとか食らい付く。そんなにむちゃくちゃな音形はなかったので、辛かったが無事終了。ほっとしながらもこれは来週までにちゃんと練習しないとまずいなと思う。

その後、個人レッスンスタート。スケール、カイザーは抜かしていきなりザイツのコンチェルトのレッスン。そこで通しのレッスンを行うのだが、直前ではスラスラできたところが思うように行かない。また第3楽章は早めのテンポで弾いてしまい、やり直し。ただ結果は合格と言う事で、これで夏休みに演奏をする予定であるバッハの協奏曲第1番の練習ができる。ふぅ~と一息。

バッハの協奏曲の譜読みをその場で行った。この曲、第2ポジション、第4ポジションなどいやらしいポジションがてんこ盛りだ。あんまりそのポジションでの練習はしてなかったのでいい勉強になりそうだ。

さて、その帰宅してメールの回答を行った。ちょっと前にWinMXについての質問があって、「WinMXはHybrid-P2Pのようにみえるのですが、本当のところどうでしょうか?」といったところである。確かにWinMXは子鯖などを立てられるのでHybrid-P2Pにも見えるな。きちんと調べようと「Discovering P2P」 「P2Pコンピューティング」などを調べた。さすが「P2Pコンピューティング」、やや古い本だがWinMXもきちんと解説していた。

簡単に話すと、ノードには親と子があって、親がNapsterの中央サーバと同じ働きをする。ところが、親のノード間は通信が行えるため、他の親の子のメタデータも入手する事ができる。つまり数珠繋ぎ的なGnutellaのようなネットワークを構成をしている。だから、WinMXはHybrid-P2PとPure-P2Pの両方の要素を持っていることになる。

よくよく考え見たら、そもそもWinMXはNapsterのクローンとして発展し、その影響でOpenNapのクライアントソフトとしても有名になった。だからHybrid-P2Pの要素が強いわけだ。

久しぶりに他のファイル共有のシステムも確認してみるか。最近のソフトなら面白い機能があるかもしれない。


| | コメント (0) | トラックバック (0)

2004.03.04

P2Pと遅延+P2PでMMORPG

昨日、職場で飲み会があった。その前の打ち合わせで上司がこんな事を言っていた。
「出る杭になれ」
つまり、自分の意見や主張を周り言うと、その反応が多くの人から集まる。もちろんそれは肯定的な意見とも限らないが、そのような反応を処理することで自分の意見をより練る事ができる、最終的にはスキルアップして自分の価値を上げることに繋がる、という訳である。なるほどと思った。

HPにおいてP2Pのトピックスを書くようになって、いろいろな所からリンクを張られたり、コメントが寄せられている。また某巨大掲示板でも私のHPの紹介があったりしているようだ。もちろん、その中には批判的なものもあるが、逆にそれを見て、中身をより精査したり、もっとより充実したHPを作る意欲が沸いてきた。P2P TodayのBlogにも書いてあったが、P2Pに関心のある人はBlogでもHPでも良いのでP2Pの話題を書いて欲しいと思う。そうすることによって自分の考えがもっと洗練し、結果的にはスキルアップが図れると思う。もちろん、情報共有と意味でも重要である。

さて、本題に戻して今日はP2Pと遅延について考えてみようと思う。

P2Pで遅延が話題になるところといえば、VoIPとゲームが挙げられる。今回は後者のみ考える事とする。P2Pの遅延についての研究については下記の資料が参考になるだろう。
P2Pネットワークゲームのための階層型遅延最適化ミドルウェアの評価
その説明資料(パワーポイント)

この資料は面白いしわかりやすいので一回読んで欲しい。P2Pゲームでは同期が重要なファクターとなる。例えばAとBがアクションゲームをしてたとする。このときちゃんと遅延を考慮した同期をとらないと、リアルな時間ではAが先にBに必殺技をかけてBを倒していたはずなに、実際のゲームでは逆にBの方がAに必殺技をかかってしまう、なんてことが起きてしまう。同期については遅延が一番大きいのに引きずられるために、どのように遅延時間を短くするかということを考える必要がある。

通常のP2Pゲームではメッシュ型のネットワークを構築するが、この論文では、ノード間の遅延時間を測定し、それをある特別なノードが計算をとりまとめ、ノード間が一番遅延の少ないルートを選ぶようにする。そのため、場合によってはノード間に他のノードを挟んだ方が遅延が少ないこともありうる。

さて、このようなことを調べた時に、そもそもWinnyのようなP2Pネットワークが遅延時間(帯域などのほかのパラメータでも良いが)を最適化にするネットワーク構成に動的にリンクを接続・消去しながら形成できないか?と思った。そんなことを考えていたら、やっぱり同じような考えている人がいたので、その資料を紹介する。
オーバーレイネットワークの最適化手法の提案
これも平易な文章で書かれているので、読みやすいと思う。

Winnyではクラスターと呼ばれる手法によってファイル共有を最適化するネットワーク構成を実現しているが、今後上記のような研究が進めば、P2Pで行うサービスに応じて最適化するネットワークを自律的に構成することも可能になるだろう。

さて、ゲームの話が出たのでその話題に振ろう。今、某巨大掲示板でP2PでMMORPGができるかどうか、ということについて色々と意見がでている。P2Pゲームであると通常はアクションゲームなど数人で行うことが普通である。ではP2PでMMORPGは本当に実現可能だろうか?(ちなみにMMORPGとは大規模ユーザ参加型のRPGゲームにこと)

まず、MMORPGでは巨大なストレージと計算を行う必要がある。しかしこれはP2P分散ストレージやグリッドを使えば解決できることだろう。(つまり各ノードで分散して計算をさせ、ストレージを共有させる。)問題はユーザ間の通信をどうするかということである。

通常であればP2Pゲームはメッシュ型のネットワーク形態を取るが、MMORPGでは参加人数が多いのでかなり無理がある。一般にnの人が参加してしているメッシュ型のリンク数はn(n-1)/2である。そこで、Hybrid-P2Pが使えるのではないかと考えた。つまり、先ほど言った分散ストレージやグリッドの計算の管理及び課金を事業者のサーバで行う。またそれだけでなく、このサーバはある複数のノード(ユーザ)をアプリケーションサーバに指名して、そこに他のノードが接続してゲームを行うようにする。(もちろん事業者サーバはノードに対してどのアプリケーションサーバと接続させるか決定し、アプリケーションサーバの負荷分散を行う。)つまり、P2Pのネットワークは形成しているものの、実質的にはクライアント=サーバモデルになる。

このようなモデルにすれば、かなり大きなユーザでも収容できるシステムができそうだ。つまりユーザが増えてもそれに伴い、アプリケーションサーバが自然に増えるというわけだ。事業者サーバも数台でMMORPGが提供できるかもしれない。もちろん、事業者サーバは各ノードを管理するために適切なアルゴリズムを使用する必要があり、この作りが悪いと、ゲームの快適さもユーザ数の増加につれ極端に落ちる。

まだまだジャスト イン アイデアに過ぎないので、面白いアイデアやコメントがあれば、連絡を頂きたいと思う。

| | コメント (0) | トラックバック (1)

2004.03.02

Franc franc

明日、職場で飲み会がある。先週アメリカ出張に行った人がワインを買ってきたので、その飲み会で空ける予定である。そのため昨日、自分の部屋にあったはずのワインオープナーを探していたのだが見つからない。どうせ自分も使う事もあるだろうと思い、ワインオープナーを買う事にした。

行ったところは新宿サザンクロスのFranc franc。ここで以前、忘年会の景品としてソムリエナイフを買った事があったので、仕事帰りに寄って行った。サザンクロス店は夜10時まで開いているのでビジネスマンにはありがたい。店内を少し探すと、ありました、ソムリエナイフが。600円という手頃感も良い。

Franc francにはシンプルのデザインが多いので飽きがこなく、しかも実用的である。無印良品も同じ路線と捉えることができる。デザイン過剰の昨今、こういうものが逆に求められているかもしれない。アメリカの美術館で美術館の併設ショップで無印良品の商品が売られていたと聞いたこともある。

ところで、Franc francは横浜郊外のアウトレットモール「横浜ベイサイドマリーナ」にも店舗がある。ここでは通常の店舗ではなかなか見られない品物も売っているので行く価値がある。横浜ベイサイドマリーナには雑貨屋さんが数店あるので、これをぐるぐる見回るのも楽しい。

Franc francをちょっと調べていたら、興味深いページを見つけた。
Franc franc ステイ
ホテルと雑貨屋の提携か。これは面白かも。
そういえば、女性をターゲットにブランドの化粧品や使えたり、持ち帰れるホテルのプランもあったな。こういうのにはやはり女性は弱いのだろうか。ビジネス客にとってはLAN経由でインターネットが使えた方が有り難いのだが。

| | コメント (0) | トラックバック (0)

2004.03.01

立川で飲み会

今週末、大学時代の友人が集まるので、飲み会用のお店を予約した。メンバの一人が立川に近いので、そこで飲むようにセッティングしなければならない。いろいろお店を探したところ、謳歌屋に決定。このお店は新潟のお酒が充実している他、海産物系の料理が美味しい事でも有名。特にさつま揚げやへぎそばは是非試して欲しい一品です。また、個室がお洒落なのもお勧めの理由。

実を言うと、本当は他の店を第一候補として考えていた。立川で有名な「食わせや みつてる」。ここのお店はカウンター中心なので、最近できた姉妹店を狙っていた。ただ時間の都合上、予約できなかったのが残念。

さて、大学の友人で生物物理のポスドクもこの飲み会に来る。そこで、ネタにということで久しぶりにブルーバックスを購入。「新生物物理の最前線」という本である。まだ始めの数章しか読んでないが、ここ10年で生物物理も変わったもんだと思う。

ただ、あまり進んでない分野がある。それがたんぱく質立体構造の予測である。たんぱく質の分子構造自体はX線解析なので判明する。しかし、分子式がわかってもどうしてそういう立体構造になるのかまだだれもわかってない。これがわかるには斬新な物理モデルの検討と強力なコンピュータが必要と言われている。このような計算にはグリッドコンピューターの技術が活かせるかもしれない。ちゃんとシミュレーションできればノーベル賞に匹敵する業績になる。

パソコンの技術が向上した関係でだれもがシミュレーションが可能で、論文が書ける時代が来ている。特にグリッドを使えば計算の能力はスーパーコンピュータに匹敵できる。斬新な物理モデルとグリッドを利用することで、その分野をリードする人が輩出することになるだろう。

| | コメント (0) | トラックバック (0)

« 2004年2月 | トップページ | 2004年4月 »