2008/01/06
■2007年の無印吉澤と吉澤を振り返る
あけましておめでとうございます。今年も無印吉澤と吉澤をよろしくお願いします。
今日の日記は、毎年恒例の年末総集編(というか反省会)です。去年と一昨年の反省会はこちら(↓)。
----
■ 2007年の無印吉澤を振り返って
改めて数えてみたら、去年の日記は25件しかなかったです(一昨年は36件)。特に最近は、全然更新してないですね……。
6月には、ネットエージェント社が発表した「Winny特別調査員2」という製品について色々考察しました。
- 2007/06/20: プライバシー侵害の幇助者 / Winny特別調査員2
- 2007/06/21: Winny特別調査員2で「プライバシーが侵害された」場合に、僕を守ってくれる法律ってあるの?
- 2007/06/30: Winny特別調査員2について書いた日記への補足コメント
また、10月には政府の知的財産戦略本部がいわゆる「ダウンロードの違法化」を打ち出したことを受けて、これに反対するMIAU(Movement for the Internet Active Users)という組織が設立されました。その後、僕も協力会員として加入しました。
この件について僕は、法がネットワークアプリケーションの研究開発を阻害する新たな事例になることを危惧しています。つまりWinny作者の金子氏逮捕を反対するのと同じ動機で、著作権の非親告罪化にも反対なのですが……今回の件は金子氏の逮捕よりも余程危険だと思ってます。
その理由は、著作権が非親告罪化した時点で、(個人の活動はもとより)インターネット上での企業活動のリスクが著しく上がる恐れがあるからです。例えば、会社員は会社から合法マークのあるサイトしか見られなくなる、会社としてはリスク管理の観点からそうせざるを得ない、という馬鹿馬鹿しい事態にまでエスカレートしかねません。そのあたりの問題には、今年も注目していきたいと思ってます。
■ 2007年の吉澤の抱負と、実際やったこと
去年の年末に立てた「2007年の抱負」は、以下の2つでした。
今年は、本業でちゃんと成果を出すのは当然として、それとは別に「プロトタイピングのための開発力向上」と「英会話力向上」の2つを抱負に立てようと思います。
「プロトタイピングのための開発力向上」としては、春くらいからRuby on Railsに手を出し始め、9月にはメモ帳Webアプリケーション「LinearNote」をオープンソースで公開しました。振り返ってみると、2007年は趣味でも本業でもプログラミングに明け暮れた1年でした。
ここしばらく本業にはまっていてLinearNoteは放ったらかしだったんですが、年末にRuby on Rails 2.0やRuby 1.9のリリースもあったことですし、今年はまずRails 2.0への対応あたりから手を付けていこうかと思ってます。
- 2007/09/09: LinearNote: Ruby on Railsで動くWikiのようなblogのようなメモ帳
- 2007/11/02: LinearNoteのデモ用サーバ(linearnote.org)を立ててみました
もう一方の「英会話力向上」の方では、(日記には書いてなかったんですけど)4月からGabaに通ってます。せっかく教育訓練給付金制度*1が使えるんだから、試しに一年だけマンツーマンの英会話教室に通ってみようと決意して、今のところなんとか毎週ちゃんと行ってます。今年の4月でちょうど一年(そして給付金が出なくなるのでやめるつもり)なので、感想はそのときに。
その他には、ニンテンドーDSの「えいご漬け」「もっとえいご漬け」をしたり、英語のポッドキャストを聞いたり、iKnowをやったりしてました。iKnowというのは英語学習(主に単語の記憶)が出来るWebアプリケーションなんですが、Flashで作られた英語学習アプリ部分の使い勝手が良くて重宝してます。
■ 2008年の抱負
今年も去年と同じような抱負になってしまうんですが……去年の抱負は結構あやふやだったので、今年はもう少し細かい抱負を立てました。
1. 週一以上は日記を更新する
- 去年は細かい事に夢中になりすぎていて、自分から情報を出す事がほとんど無い年でした。なので、今年は細かいネタでもいいから、定期的に情報を出す習慣を付けようと思います。
- 本業も同じような傾向があったので、そちらも気をつけます。はい。
2. Ruby on Railsの最新情報を追って、LinearNoteを追従させる
- 去年に引き続き、プロトタイピングのための能力を付けるという意味でRuby on Railsを追っていこうと思います。で、何かコードを書かないと身が入らないので、(他にネタが浮かばなければ)引き続きLinearNoteをいじるということで。
3. TOEIC 750点到達
- 妥当な目標かよくわからないですけど、2008年も引き続き英語を練習していくということで、とりあえずこれを目標にしときます(ちなみに、今のTOEICスコアは680〜690くらい)。
- 英語の出来る人に聞いたところ、ヒアリングが出来るようになるには、まず英語の読解力を付けるために文章を読んだ方が良いらしいですね。英語のIT系ニュースサイトは過去何度も挫折してるんですが、今年こそちゃんと読むようにしようかな……。
そろそろ30歳も近づいてきたことですし、色々頑張っていこうと思います。改めて、今年も一年よろしくお願いします。
*1 この給付金制度、本当は、雇用期間5年経ってから使おうと思ってたんですけど……2007年から給付金制度が変わって、雇用期間3年以上は一律10万円までの支給に変わっちゃったんですよね。4年待ったのに、あんまりだ……。
2008/01/12
■[P2P][SIP][NwGN]第4回P2P SIP勉強会と新世代ネットワーク(New Generation Network)
第4回P2P SIP勉強会が、来週水曜日の1/16に開催されます(今回は開始時間がやや遅めの20時)。
P2P SIP勉強会というのは、P2P SIPに関係ありそうな話を誰かに喋ってもらって、それをネタにいろいろ議論しようという会です(過去の内容:第1回、第2回、第3回)。今回は、P2PプラットフォームPIAXの開発にも関わっている(株)BBRの吉田さんから、謎のお話が聞ける予定です。
日時
2008/01/16(水) 20時より
- 懇親会あり
会場
新宿・ATL Systems社ラウンジ
内容
PIAXの吉田さんが、前回の忘却会にて、提示したネタの本番!
- インターネットの未来について、切り込みます!というか、やばすぎて、議事録があげられないかも知れないので、気になる人は、参加してください。<(_ _)>
某プロジェクトの近況とP2P SIP
- あのプロジェクトの近況報告とP2P SIPを地に足を付ける方策
今後の予定
- 今回の話をベースとして、しばらく、このネタのディスカッションをする予定です。
不参加の人のために、いろいろとリモートアクセス方法やログなどを提供する予定です。
- ストリーミング配信
- チャットルーム
- 音声会議ルーム
- 議事録
- 次回の勉強会時に、前回のおさらい
ただまあ、「やばすぎる話をします」ってだけじゃイベントの宣伝にならないですよね(ですよねー)。なので、勝手にもう少し詳しく紹介しときます。
前回の忘却会(プロジェクターを飲み屋に持ち込んでの忘年会)では、今回の予告編として、吉田さんから新世代ネットワーク(New Generation Network)の紹介がありました。
いきなり「新世代ネットワーク」なんて言われても大多数の人はピンと来ないと思いますけど……いや、正直言って僕もよく分かってないです。すみません。良い機会なので、新世代ネットワークに関する記述のあるサイトを探し回ってみました。
特別インタビュー:NGNの展望と課題を聞く! (1)(NGN Forum)
- 2006年12月の記事。慶應の青山教授が次世代ネットワーク(Next Generation Network)と新世代ネットワーク(New Generation Network)の違いについて説明
特別インタビュー:NGNの展望と課題を聞く! (6)(NGN Forum)
- 2007年2月の記事。上記シリーズの最終回
- 「新世代ネットワーク推進フォーラム」設立に向けて(総務省 報道資料)
-
- その後、2007年10月に「新世代ネットワーク推進フォーラム」が設立
NICT稲田氏に聞く、“NGNの向こうに見える”新世代ネットワークの姿とは?(Enterprise Watch)
- 2007年12月、NICT理事の稲田氏へのインタビュー記事
要は、総務省とNICTが中心となって10年くらい先のネットワークで必要になる技術の研究開発に力を入れようとしていて、その結果出来るであろう未来のネットワークを「新世代ネットワーク」と呼んでいるようです。ですから、そろそろNTTがサービスを開始しようとしているNGN(Next Generation Network、次世代ネットワーク)よりも、もっと漠然とした用語ですね*1。結局、記事を読んでもそれ以上の事はよくわかりませんでした……。
ちなみに、この新世代ネットワークの研究プロジェクトには、オーバーレイネットワークによるネットワーク仮想化も含まれています(上記のインタビュー記事を参照)。恐らく、今回のP2P SIP勉強会では、その辺のプロジェクトに絡んだ話を聞かせてもらえるのではないでしょうか(あくまで僕の予想なので、外れても怒らないでくださいね)。
ご興味のある方は奮ってご参加ください。参加希望は主催者の今村さんか、mixiのイベント告知までどうぞ。
*1 余談ですが、「新世代ネットワーク」と「次世代ネットワーク」って名前が紛らわしすぎますよね。後から出てきた「新世代〜」の方がどういう由来で名付けられたのかは知りませんけど、僕はNTTのNGNが余程嫌いな人が名付けたんじゃないかと疑ってます。お前「新世代ネットワークこそ真のNGNなんだよ!」って言いたいだけちゃうんかと。まあ、そういうの嫌いじゃないです。
2008/01/17
■[NwGN][P2P]第4回P2P SIP勉強会に参加してきました
昨日は、1月12日の日記「第4回P2P SIP勉強会と新世代ネットワーク(New Generation Network)」に書いた第4回P2P SIP勉強会に参加してきました。今回の参加者は11名。
今回はP2PプラットフォームPIAXの開発者の一人である(株)BBRの吉田さんから、「ネットワークをどないかせんとあかん」というタイトルの発表がありました。この発表がかなり盛りだくさんの内容で、開始時間の20:00から2時間経っても全く終わる気配が無く、飲み会する時間が無くなるから主催の今村さんが無理矢理閉めなきゃならなかったくらい盛り上がりました。いや、今回はかなり面白かったですね。
今回は主催者の今村さんが資料や議事録を公開すると言ってたので(メモも取ってたし)、僕は簡単な内容紹介と感想だけ書いときます。
■ 現在のインターネットが抱える問題と、新世代ネットワーク(NwGN)
発表の前半は、現在のインターネットが抱える問題の解説でした。前回の日記で紹介した新世代ネットワーク(New Generation Network、NwGN)は、現在のインターネットが抱える問題の解決を目標に掲げているので、この話はそのままNwGNにも繋がる話です。
吉田さんが紹介していた問題点は、ルータの問題(帯域、経路表、電力の増大)、マルチキャストの問題(広域マルチキャストはほぼ無理)、認証・セキュリティの問題(汎用的な認証手段が無い)、end-to-endの到達性の問題(NAT、ファイアウォール、VPNなどの必要悪)、モバイル対応の問題(IP層でのハンドオーバは難しい)などでした。
また、IPv6ではこれらの問題を結局解決できなかった、という解説がされました。IPv6は(IPv4とは)非持続的な進化発展系だったために普及しなかった、新しいプロトコルで既存のIPを置き換えるのは無理、などなど。
これらの問題の核心は、インターネットのアーキテクチャが古いことによる
- 狭いアドレス空間
- IPにおけるidentifierとlocatorの概念の混在
- ルーティングプロトコル
- QoS、マルチキャスト経路制御
- 時刻同期
などがそもそもの原因であるため、NwGNではIPを前提としない白紙の状態(Clean Slate)からネットワークを設計しようとしているそうです。
また、あくまで吉田さんの私見と断った上で、ネットワークのあるべき姿として以下の4点を上げていました(コロン以下は僕のまとめ)。
- IDにおけるend-to-end透明性: NAT越えやハンドオーバなどをIDトランスポートで仮想化
- 現実結合原則: ネットワーク上のエンティティと現実世界の結合(ID、認証、地理情報)
- 自己xx的→持続性: 自己組織/創発/変革etc... IPv4の二の舞を防ぐため、特定の要素に依存しない
- guaranteeとbest effortの区別: guaranteeとbest effortの両方を実現できるデザイン(吉田さん曰く、NGNではこれが無理とのこと)
前半の内容はここまで。
会場の議論も少し紹介しておくと、まず現実結合原則に関する質問がありました。「この原則はプライバシーなどのかなり微妙な問題を含んでいるが、AKARI概念設計書(NICTが発表したNwGNのまとめ文献)に実現方法などは書かれているのか」という質問があり、これについては「まだ書かれていない」とのことでした。
また、僕からも「NGNではguaranteeとbest effortの両方を実現できないという意見があったが、それはbest effortなネットワークの上でいくら頑張ってもguaranteeは実現できないという意味なのか」と質問したところ、答えはYesとのことでした。guaranteeとbest effortがレイヤ的に併存する(?)というのは僕にはよく分からないので、この辺はちょっと勉強しないとダメそうです。
■ IDにおけるend-to-end透明性の実現
発表の後半では、end-to-end通信の透明性を目的とした既存の技術と、吉田さんが提案している新しいアプローチが解説されました。
end-to-end通信の透明性を目的とした既存の技術としては、IETFのHost Identity Protocol(HIP)があります。これはLIN6*1の影響を受けて作られたID/Locator分離技術で、DNSによる名前の層と、IPアドレスによるLocatorの層の間に、IDの層を挟み込むことで、IDとLocatorを分離します。
HIPの解決メカニズム(IDからLocatorを解決)としては現在DHTが有力で、OpenDHTを使ったプロトコル(InfraHIP)がInternet Draftとして現在まとめられているそうです。
しかし、NwGNの検討メンバに言わせると、HIPは「IPを前提としているので、NwGNには適していない」*2。そこで、HIPのような方式に代わって吉田さんが提案したのが、オーバレイネットワークを前提としたルーティングベースのID Resolvingです。
ルーティングベースのID Resolvingとは、簡単に言うと、DHT上でput/get命令のルーティングに使う仕組みを、そのままメッセージ送信に適用することです。ルーティングベースのID ResolvingとHIPで、メッセージ送信時の動作を比較するとこうなります。
- OpenDHTを使ったHIPでは、まずget命令に宛先のIdentifierを含めてDHT上に送信する。その返り値としてLocator(IPアドレス)が返るので、そのLocatorを宛先として、送りたいデータを詰めたIPパケットをIPネットワーク上に送信する
- ルーティングベースのID Resolvingでは、データの送受信を行いたい全てのノードがオーバレイネットワークにjoinしている。宛先のIdentifierと送りたいデータのペアを、DHT上に(key-based routingが可能なオーバレイネットワーク上に)送信する。すると、Locatorが何であれ、そのデータが宛先まで到達する
つまり、IdentifierからLocatorを解決してから実際のデータを送るのでは二度手間だから、最初からIdentifierの層でデータを送ってしまおう、というアプローチらしいです。Structured Overlay絡みの話でKBR(Key-Based Routing)という概念を知っている人には、話としては分かりやすいと思います。
このような方式はモバイル環境に強みがあり、ノードのLocatorが変わったときに、そのLocatorの変化をデータの送信元に意識させずにすむというメリットがあるそうです。また、Chordベースのi3もKBRをしているが、経路表に対称性のあるアルゴリズムを使わないと、ノードのLocatorが変化したときの経路表の更新が大変になってしまう、という点を指摘されていました。
加えて、Locatorの層のルータ(IPルータ)がルーティングを行うのではなく、Identifierの層のルータ(エンドホスト)がルーティングを行うため、ルータの負荷を下げることが出来るのも本方式のメリットである、と主張されていました。つまり、現在のIPネットワークでルータの負荷が増大しているという課題を解決する糸口にもなるというわけです。そして、現在開発しているPIAXは実際にこういうルーティングを実装している、とのことでした。
後半の内容はここまで。
しかしそうなると、オーバレイネットワークの位置づけがよく分からなくなってきます。僕は、(当初NwGN関係者からPlanetLabの話を聞いていたこともあって)オーバレイネットワークは新しいプロトコルを開発するためのテストベッドとして重要、と位置づけなのかと思っていたのですが……。この話によると、オーバレイネットワークでなければ実現できない事があって、将来的にNwGNが目指す理想のネットワークが完成したとしても、その上に更にオーバレイネットワークが作られるんでしょうか?
この点について吉田さんと、今回の勉強会に参加していたNwGN関係者の方に聞いてみたのですが、今はオーバレイネットワークが前者・後者の間のどのあたりに位置するのか、その境界を探ろうとしている段階なのだそうです。
また、他の方から出た質問としてはこういうのもありました。吉田さんの提案はデータを送受信したい全てのノードがオーバレイネットワークにjoinすることを前提としているが、センサノードのような非力なノードを混ぜたら成り立たなくなるのではないか?と。僕も、確かにそりゃそうだと思ったのですが、今回の発表では「まずはモデルを説明したいから」ということでパスされてしまいました。今度は、この辺のお話をもっと詳しくお聞きしたいですね……。
----
……というような感じで、今回はかなり盛りだくさんの内容でした。簡単に済ませるつもりが、紹介も結構長くなっちゃいましたし。吉田さん、非常に面白いお話をありがとうございました。
2008/01/21
■[P2P][SIP][NwGN]P2P SIP勉強会サイト始動 & 第4回勉強会の資料と議事録公開
P2P SIP勉強会
http://www.p2psip.jp/ja/index.php
とうとうP2P SIP勉強会のサイトができました!
と言っても別に僕がなんかやったわけではなくて、SIProp勉強会/P2P SIP勉強会の主催である今村さんが、大分前から確保していた有休ドメイン(p2psip.jp)にMediaWikiをインストールしたというのがその正体です。お疲れ様です。
現時点では、勉強会/第四回勉強会のページに、第4回勉強会での吉田さんの講演資料(pdfファイル)と、今村さんの手による議事録が公開されています。また、早速吉田さんがいろいろいじっていて、時間の関係で回答できなかった質問やその後blog等で出た質問への回答が追加されてます(質疑応答 - P2P SIP)。
前回の日記に書いた感想(第4回P2P SIP勉強会に参加してきました)を読んで「面白そうだなあ」と思った方は、是非勉強会サイトの方もチェックしてみてください。
# 今のところ、次回のP2P SIP勉強会は2/8前後になりそう?
2008/01/28
■[書評][P2P]書評:P2P教科書
Tomo's HotLineのTomoさんから献本いただきました(ありがとうございます)。もらった直後にざっと一通り読んでからしばらく寝かせていたのですが、年明けにもう一回取り出して一通りじっくり読んでみました。
知り合いが書いてるから褒めるわけじゃないですが、これはかなり読み応えのある良い本でした。執筆陣がP2P技術の大学・企業研究者から、P2Pアプリケーションでビジネスをしている企業の担当者までと多岐に渡っているため、P2Pに興味のある技術者(または技術者寄りの人)ならどこかしら面白く読める部分のある本だと思います。なんと執筆者26名! 過去にP2P勉強会で講演された研究者の方も、多数参加されてます。
その一方で、タイトルに「教科書」とある割にはあまり教科書という感じの本でもなかったのが少し気になりました。今日はそのあたりに触れながら、P2P教科書の書評を書いてみようと思います。
■ 教科書と言うより「P2Pの基礎知識」と「応用事例集」が一緒に載ってる本
このP2P教科書は全12章からなっていて、各章をざっくりまとめると以下のような感じになります。
P2Pの基礎知識
- 第1章:導入部
- 第2〜3章:P2Pの歴史(特にファイル交換ソフトと裁判の歴史)
- 第4〜5章:P2Pのアーキテクチャの分類、構造化オーバレイの研究動向
- 第6章:CDNとP2Pの違い
P2Pの応用事例集
- 第7章:SkeedCast
- 第8章:IP電話(SIP、IMS、Skype)
- 第9章:BBブロードキャスト(TVバンク)
- 第10章:携帯電話のオールIP化
- 第11章:日本のインターネットのトラフィック調査結果
- 第12章:その他の応用事例(DMN、Joost、BitTorrent DNAなど)
この(僕が勝手に作った)くくりで分けると、基礎知識と応用事例集のページ数がちょうど同じくらいでした。つまり、基礎知識が半分、応用事例集が半分。
基礎知識の部分、特に2〜3章と4〜5章はとても良くまとまってます。ここまでの部分だけでも、僕はこの本を買う価値があると思います。
一方、その後の応用事例集も面白かったんですけど……個人的には、教科書というからには基礎知識のところにもっとページ数を割いても良かったんじゃないかと思います(むしろ、教科書なら応用事例集は無くても良い?)。
特に第4〜5章の一部で、内容の難しさに比べてページ数が少ないために、説明し切れていない部分が少し見受けられました。正直、5章はあと2章分くらいページが欲しかった。執筆者一覧を見ると分かりますけど、4章と5章はかなり豪華な研究者・開発者が集まって執筆していて、今までのP2P関連書籍には無かったような話もたくさん載っているだけに、ページ数の少なさが残念でした……。
ただまあ最後に少しフォローすると、4〜5章は参考文献がきちんと整理されているので、本文を読んで更に詳しく知りたくなったら、紹介されている参考文献を読めばなんとかなると思います。一般向けの書籍として全体のバランスを考えると、まあこのくらいの量が妥当だったのかも?
■ どうしても納得できない第1章(第4世代P2P?)
それと、こんなことはあんまり書きたくないんですけど……一応誰か指摘しておいた方がいいと思うので書いておきます。
P2P教科書の第1章は読まなくていいです。ていうか読むな。代わりに、2章と4章を読めばなんとかなります。
なんでこんなことを書くかというと、第1章に書かれているP2Pの分類はかなり特殊で、初心者に教えるには不適切に思えるからです。参考のために、第1章の著者によるP2Pの世代と各世代の代表的なファイル共有ソフトを以下に引用します(p.18)。
第1世代P2P
- WinMX、Napster
第2世代P2P
- Gnutella、Morpheus
第3世代P2P
- Winny、Freenet、Skype、KaZaA
第4世代P2P
- BitTorrent、SkeedCast
僕も、第1世代でP2Pという単語が注目を浴びて、第2世代で純粋にピアだけでネットワークを形成するP2Pシステムが登場し、それ以降はいろいろなP2Pシステムが検討されてきた……という流れはわかります。ただ、そのあとの第3世代と第4世代の区切りは、説明を読んでも僕にはまったく腑に落ちませんでした。
で、どうしてこういう分類になったのか考えながら読み進めていったところ、同じ著者によって書かれた第6章(CDNシステムとP2Pシステムはどこが違うのか?)にその答えがありました。p.153の図6-15には、このような記載があります。以下引用。
実は、P2PシステムよりもCDNシステムのほうが、先に第4世代のP2Pシステムを導入していたのね。第1世代と第2世代のP2Pシステムは、ある意味では練習問題で、続く第3世代は、ビジネス展開としては不十分であったのでしょう。結局、第4世代のP2PシステムとCDNシステムは、ほぼ同等のシステム・アーキテクチャとなっています。
いや、そんなご無体な。確かに今はP2P技術を動画配信に使ったビジネスが活発になっていますけど、だからと言って「P2Pシステムの用途は結局CDN。だから、よりCDNに近いのが第4世代P2Pなんだよ!」と言うのは流石に違いませんか? 例えば、サーバに比べて安定性の低いピアを大量に集めて大規模ストレージを実現するような研究は以前から行われていて、構造化オーバレイの研究が進むにつれて実用性が高まっていますし(AmazonのDynamoのような事例とか)、その他にもCDN以外の事例は山ほどあります。そもそも、第3世代に挙がってるSkypeもそうですし。
そんなわけで、僕はこんな夢も希望も無いP2Pの分類は断固スルーしますし、初心者の方にもスルーを推奨します。「P2P教科書」ってタイトルなんですから、もうちょっとP2P技術に夢を見させてくださいよ……。
----
まあ、そんなわけで、一部には強烈な不満もありましたが、基本的には豪華な執筆者による良い本だと思います。僕は十分楽しみました。
上では応用事例集のことをあまり良く書きませんでしたが、SkeedCastの将来展開(7.5章)や、BBブロードキャストの話全般(9章)などは、今まであまり表に出ていなかった話も載っていて、読んでて結構面白かったです。P2P技術に興味のある方は、是非是非1冊どうぞ。
また、この日記に無関係と判断したコメント及びトラックバックは削除する可能性があります。ご了承ください。