-NICT研究者が解き明かすJGN-Xの要素技術<No.2>-
第6回のJGN-Xインタビューは、第3回に続いて新世代ネットワークの要素技術にフォーカスを当てたものです。
2013年度から本格的に一般ユーザ向けサービスを開始した「PIAXテストベット」とその要素技術「PIAX」について、以下の内容で寺西・研究マネージャにお話を伺っていきたいと思います。
●PIAXで目指すこと
●PIAXテストベッドの概要と特徴
●開発秘話
●一般ユーザへのメッセージ
───今年、2013年4月から一般ユーザ向けとしてJGN-Xパートナーシップ・サービス「PIAXテストベッド」が始まりました。PIAXと言えば寺西さんですので、分かりやすく教えていただきたいと思います。
寺西:はい。PIAX*とは、たくさんのコンピュータを同時に使って、「サービスを作る」「データを検索して格納する」「データを配信する」など、いろいろな処理を分散させることができる、オープンソースの国産ミドルウェア、ソフトウェアの基盤となるものです。(図1-1参照)
従来ですとサーバとクライアントの閉じたシステムがあり、クライアントがサーバにアクセスしてデータをもらう垂直統合型のサービスが実行されています。これに対して、PIAXにはシステムを管理する主体であるサーバがありません。多くのコンピュータの中から必要なコンピュータを探し出して、そこに処理を依頼する・データを格納するなどの仕事を分担し、負荷が集中しないようにできるミドルウェアとなっています。例えば、人気サービスなどのサーバにユーザが一気に集中し、サービスが止まるみたいなことがありますが、これを多くのコンピュータに処理を分散させることによって、回避できるようにする。これがPIAXでやりたいことなのです。そのためには、大量のユーザやデバイスなどがネットワークにつながっても、サービスをきちんと提供できるよう、複数のコンピュータを連携させていくことが重要となります。(図1-2参照)
皆さんが良くご存じの米国のインターネット関連企業では、自社のたくさんのコンピュータを連携させて、分散型のシステムを構築してサービスを世界中に提供していますね。
これに対して、JGN-XのPIAXテストベッドは一般の研究者やサービスを始めたい人を対象に、もう少し手軽に自分の環境でこの機能を実現しようとしています。
───JGN-XのPIAXテストベッドは、一般の研究者やサービスを始めようとする人が、分散型のサービスをすぐに試せる環境ということですか?
寺西:いいえ、すぐにサービスを試せるというより、サービスを作るための、分散型の技術を試せるテストベッドです。僕らはオーバレイネットワークと言っていますが、物理的なネットワークの構成上に、研究者たちが実験のために必要とするアプリケーションやサービス専用のネットワーク構造を作り、その上でたくさんのノード*を同時に使って処理をする専用のシステムを作ることができるんです。
さらに、PIAXテストベッドには、いいことがあります。通常、実験用のネットワーク構造を作るには、研究者は多くのノードのIPアドレスを覚えておくだけでなく、ノードの役割や機能もわかった上で、それらをつなぐ必要があるため、非常に手間がかかっていました。これに対してPIAXテストベッドの場合なら、IPアドレスは分からなくていいのです。PIAXに「Aさんを担当するノードで処理」と命令すれば、そのとおり実行されるという感じで、簡単に行うことができるんです。
───つまり、実験でやりたいことが決まれば、それに必要なノードはPIAXが探してくれるし、繋いでくれるんですね。
寺西:一番単純な例では、ノードの属性情報に好きな名前を付けられるので、その名前を持っているノードが複数あれば、それらに対して一気に探して、指示を全部にすることができるということですね。ノードが増えたり、IPアドレスが変わってしまったりしても問題ありません。(図1-3参照)
分散型のサービスを試すための設定を行いたいときに、いろいろなところにノードがあるので、従来はそれら全部に設定を入れ込まなければいけなかったわけです。しかし、それでは時間もかかり面倒なので、PIAXテストベッドでは、各ノードに対する設定を自動で簡単にできる仕掛けになっています。実はこの仕掛け自体も、PIAXでできているんですよ。
───PIAXテストベッドでのノード設定も、PIAXを使って仕掛けを提供しているという感じですか?
寺西:そうですね。PIAXの実験をしたい人に対して、PIAXを使って基盤を提供している形になっています。たくさんのノードコンピュータを使うのが得意なミドルウェアなので、たくさんのコンピュータを使って実験したい人に対して、サービスを提供しています。