<宮地センター長に聞く 「StarBED3の成果とこれからのStarBEDが目指す先」 >
第15回のJGN-Xインタビューは、NICTの北陸StarBED技術センター(石川県能美市)に伺って、宮地利幸センター長に「StarBED3の成果」と次期も含めた「これからのStarBEDの目指す方向」についてお話をお聞きしました。
また、インタビューに先立ち、北陸StarBED技術センター内の施設を見学させていだきましたので、施設紹介のフォトライブラリもぜひご覧ください。
|1| |2| |3. StarBED施設紹介|
───StarBEDは今年が第3期プロジェクト「StarBED3」の5年目、最終年とお聞きしています。まず、第1期から第3期までのプロジェクトの違いについて、教えてください。
宮地:StarBEDの始まりは2002年、まだNICTがTAO*1だった時代に作られた施設です。当時を振り返ると、論文に「インターネット向けの技術を開発、検証した」とあっても、インターネットの規模や複雑さから考えても実際とは程遠く、その検証台数は2~4台、多くても16台という環境が多かった時代でした。「この規模の検証結果が実環境と同様の結果なのか」という疑問もあり、大規模な環境での検証のためにソフトウェアシミュレータも使って検証をしていました。ただ、当時は、実際のインターネット向けの実装、ハードウェアそのものを組み込めなかったので、実際の製品化までを考えると、検証用の実装と製品用の実装の両方を作らなくてはならず、コストも高かった時代でした。それに加えて、ソフトウェアシミュレータでの実装が本番環境用の実装と本当に同じ動きを示すのか、これもわかっていませんでした。シミュレータ用の実装で正しく動いたとしても、それをインターネット向けに実装したときに、バグが混入したり、同じ挙動をしないというようなことがあるなど、問題が発生してしまうことがあったからです。
それで『力技』といいますか、「これらの解決のためには、大量のPCを設置してインターネット向けの本物を動かそう」ということが、第1期StarBEDプロジェクト「汎用インターネットシミュレータ」の思想となったわけです。インターネットをターゲットにし、インターネットの偽物を作ってあげましょうということで、2002年に、512台のPCを導入してスタート。最近でこそ仮想ノードは普通になってきましたが、仮想化して10多重することで5,000台規模の実験環境を目指しました。
───512台のPCを仮想化することで、1台が10台分になって5,000台規模ですか? これで、実際のインターネットと同じような検証ができるようになったわけですね。
宮地:いえ、インターネットは巨大ですから、たかが5,000台規模で同じものを作ろうっていうのは、全く嘘なんです。ただ、これまでがせいぜい10台規模での検証でしたから、桁が大きく違います。2~3桁くらい実験規模をアップし、近づけてあげましょうというところが、最初のゴールでした。
───なるほど、桁が違う大規模の「汎用インターネットシミュレータ」が第1期StarBEDプロジェクトのゴールなんですね。では、第2期StarBED2プロジェクトはどうだったのでしょう?
宮地:第2期は「ユビキタスネットワークシミュレータ」です。当時ユビキタスという言葉がすごく流行り、今ならCPS*2やIoT*3に当たるような存在でした。ありとあらゆるところに、いろいろなネットワーク機器があるということですね。センサーなどをターゲットにして、対象をインターネットから身近なシステムにまで広げ、各種ネットワークが結合した次世代ネットワークのシミュレーションが可能な環境を作ったのがStarBED2です。また、StarBED時代は有線環境が中心でしたが、StarBED2になると無線が1つのキーワードになってきたので、無線環境をシミュレーションする層を有線環境の上に1つ置きました。StarBEDのサーバ群は専用のラックに固定されているので動かないのですが、その環境上で動いているアプリケーションからみると、「距離が変わって通信品質が変わるように見える=無線機器が動いているように見える」環境を作って、モバイルネットワークやセンサーネットワーク、ホームネットワークなどのユビキタスネットワークの検証を行っていました。
───実際に動いていないのに、無線機器が動いているように見えるというのは、どういうことですか?
宮地:はい、無線機器の特徴は遠くに行ったらつながらなくなり、近くならすごく早くつながることですよね。要するに距離や空間の状態によって変わる、データが落ちて通信が失敗をする率やRTT(Round Trip Time)と呼ばれる信号を発してから応答までの時間などの指標などを入れて、ネットワーク的に遠いとかちょっと時間が掛かるという状態を作ってあげるというわけです。
───数値を変更することで、実際の無線に似た環境を作っている。ある意味、シミュレーションということですね。
【図1-1】StarBED/StarBED2/StarBED3の進化イメージ
拡大
宮地:はい、その部分はシミュレーションですね。
【図1-1】のStarBEDの進化を見ていただくと、第1期で512台のPCで5,000台規模の「スケール」という軸を作り、第2期ではそれに加えて「対象=WHAT」の軸、身近なセンサーや家電などに模倣対象を広げたというわけですね。そして、第3期の『大規模エミュレーション基盤 StarBED3』では「手法=HOW」の軸。「高精度のエミュレーションと知識の共有による新世代のICT技術の研究開発を総合的に支援」とちょっと難しいことが【図1-2】の歴史には書いてありますが、どのような形でそれをエミュレーションするかという軸に進んできました。当施設は、基本的に本物を動かすというところがやっぱりメインになってきたんですが、そこに少しシミュレーションの要素を組み合わせて、さらにこれまで貯めてきた知識を共有し、上手くサイクルとして入れてあげることで、目標の軸をもう一本立てたわけです。それで、単純に「3=スリー」じゃ面白味がないので、「スターベッドキュービック=StarBED3」というネーミングにしたわけです(笑)。
【図1-2】StarBEDの歴史
拡大
───なるほど3軸方向、3Dに進化してキュービックなんですね。
第1期・2期とシミュレータでしたが、第3期はエミュレーション。この違いはなんですか?
宮地:第1期、第2期とも『シミュレーション』という言葉を使っていましたが、StarBEDでは「実環境向けの本物の実装を多数動かす」ということがその思想の根本にありますので、実際はエミュレーションを重視して研究開発と運用を進めてきています。この違いですが、実物は、当然実時間で動きますが、シミュレーションは良くも悪くも論理時間で動きます。エミュレーションもシミュレーションも模倣するという意味ですから、対象の本物の世界があるわけです。例えば人が歩いていることを模倣したいと思ったときは、10人とか20人集めてきて、それぞれの人がどこからどこに向かって、分速何メートルぐらいでどういう緩急の仕方で歩くというメモを全部渡して、そのシナリオに従って実際に人で動いてもらうのがエミュレーションです。これに対してシミュレーションは、人を動かすのではなく全部モデル化、計算式に落としてを計算機上で動かすわけです。
ただエミュレーションは、各要素自体は本物が実際に動くので、その環境を作るのがすごく難しいんです。それぞれが本当に同じように精密に動くかどうかもわからないですし、再現性にある程度の幅が出てしまうんです。これに対してシミュレーションは絶対に同じ結果になります。でもモデル化をするには、外界と人との関係がどうだったかということを全て計算式に落とさなければいけないので、そのモデルを作った人の頭の中にある前提が間違っていたら、本物のようには動かないですね。逆にそのモデルがすごく高精細に模倣できれば、現実世界と全く同じ動きをするはずですが、計算量が強烈に増えてしまうので、それはもうすごい時間がかかる。それぞれ一長一短の特徴があるんです。
モデルを単純化して必要最低限のものだけに絞ったシミュレーションの方が正しく再現性もあってリーズナブルなケースもありますし、そのモデルが正しいかどうかについては実際のものを動かすエミュレーションでなければわからないこともあります。
───両方必要だということですね!
宮地:そうです。エミュレーション基盤というと、「シミュレーションは不要ということですか?」と質問されることがありますが、実は研究開発の段階によって、やっぱり必要なものが違っているんですね。最初にアイデアを作るときには、その研究者は既に課題を持っていて、それをどこの環境で解決したいかという意志があるはずだと思います。そのためには理想的な環境でまずは調べたいでしょうし、アルゴリズムが正しいかどうかという論理的なことを調べたいときには、シミュレーションによる検証はとても向いています。ただ、ずっとシミュレーションだけをやって、実際向けの実装を作ってポンと動かしたとしても、バグが混じっていたり想定外の外乱があって動かないというケースが多いので、段階によって、シミュレーションとエミュレーション、さらにその規模感というものを取り混ぜて実験していくことが必要だと考えています。
でも、実際には規模感のある実物を動かす環境はないので、我々のStarBEDでは大規模なエミュレーション環境を提供できるようにしているわけです。
───では、そんなStarBEDという施設を利用した研究については、具体的にお話をお聞きしたいのですが・・・。
宮地:当センターのテストベッドには、2本の柱があります。1本目は、ユーザさんが最先端の技術を持ってこられたときにすぐに検証できる仕組みを常に提供し、一緒に研究していくこと。もう1本は、次の世代、未来の最先端技術を考慮し、それらを検証できる基盤を準備するために、前もって研究開発していくことです。前者の研究成果としては、企業さんは製品化であったり、大学の研究者は技術の正当性の検証になります。後者の成果としては、当センターの研究員による検証基盤の研究開発になります。とはいえ、単純に分かれているわけではなく、企業・大学と共同研究をしており、一緒に論文を書いたりすることもあります。
───ユーザさんは、どういうところが多いのでしょう?
宮地:【図1-3】をご覧いただくと分かる通り、やはり、企業と大学が多いですね。
【図1-3】StarBED3の利用機関数と研究者数の推移
拡大
───【図1-3】StarBED3の利用傾向を拝見すると、初年度は大学が一番多かったようですが、だんだん企業の割合が増えてきている感じです。
宮地:そうですね、それだけ一般企業にも認知されたんじゃないでしょうか。同時にNICT内部の利用もできるだけ増やすようにしてきています。企業が増えた理由の1つになるかもしれませんが、2015年10月に開催した「StarBEDシンポジウム」の会場で、ユーザさんから「昔よりは使いやすくなったよ」と言っていただきました。少しずつ使い方が簡単になってきたりだとか、1回利用することでノウハウが貯まって、2回目からはコストがダウンできるので使いやすいということもあるようです。
はじめて当センターに来る研究者の場合、「1週間で環境を作って、実験してデータを取って帰るつもり」という考えの人たちがとても多いのですが、実際にはほとんど、「環境を作ったところで終わってしまいました」と言って帰られるんです。それで、「最初に来るときは環境構築で1週間とるつもりで、できれば2週間ぐらいの予定でいらしてください」とお話をしていますが、時間を潤沢に使える学生と違い、企業の方は「2週間も北陸に出張したら、会社の席がなくなる」みたいなことをおっしゃられる方たちが多かったですね。
しかし今では、慣れた方たちは全部VPN、遠隔操作だけで利用するという使い方も増えています。ユーザの皆さんのノウハウが貯まったことに加え、我々センター側も皆さんの使い方などに対するノウハウが貯まり、それをユーザインターフェイスにフィードバックできるようになっているからではないかと思っています。
───なるほど、そういう意味で「昔よりは使いやすくなった」という言葉につながるんですね!
宮地:NICT関係のユーザさんの中には、「昔はもうほんとに最初は大変だったけれど、今はもう2~3日で実験できるようになったよ」みたいなことを言ってくださる方たちもいます。「本当かな?」と思いましたけれど・・・(笑)、そうおっしゃっていただけるのはうれしいですね。
───一般企業の方は、実際の製品を持ち込んで試してみることが多いんですか?
宮地:いろいろですね。StarBEDシンポジウムでの活用事例紹介でパナソニック・村本さんがお話されていましたが、製品開発の最後「売る前の検証に利用」するときと、アイデアの時点「経営層に提案する前に利用」するときの両方のケースがあるというお話をされていました。他にも、システムの納入先と同じ環境をStarBEDに作って最終動作確認をしたところ、動かなかったという例もあり、「納入前に確認できてよかった」ということもありました。サービスイン後や納入後に問題が発生した場合、すぐに問題が解決しないと、サービスやシステムが止まるという手戻りが起きてしまいます。そうすると経済的な損失も大きいですし、ブランドイメージにも傷がつきますよね。こういうことをトータルに考えると、サービスインやシステム納入前の最終段階で、リスクマネジメントとして試すことができるのは、企業の方たちにとって意味があると思います。
もちろん、共同研究者である当センターも企業の方たちと一緒に研究することで、知見も増えますし、我々の「未来技術の検証環境の研究」においても、企業の方が次に何を見ているのかを知ることは大切です。
───先ほどの【図1-3】内に「StarBED利用者の成果」が書かれていましたが、商品化が10件、実用化が54件もありますね。
宮地:はい、内部で数えましたが、だいぶ増えていると思いますし、最新技術の検証基盤を提供する側から見て、社会還元につながる成果だと考えています。我々が所属するテストベッド研究開発室の河合室長から「StarBEDは国内最古のクラウドだね」と言われたこともあるように(笑)、StarBEDのスタートから、今普通に言われる「クラウド」と同じような技術を作っていました。最近はクラウドとしてはちょっと追いつかれたところもあるかもしれませんが、そもそもテストベッドとクラウドは違うものですし、いつも次のステップを見て、先につなげていくようにしています。
|1| |2| |3. StarBED施設紹介|
*1「TAO」: 1979年8月に設立された情報通信分野の研究開発や通信・放送事業に関する各種支援などを行う郵政省の認可法人「通信・放送機構」の略。2004年4月に、CRL(通信総合研究所)と統合し、NICT(情報通信研究機構)が発足した。
宮地センター長
第1期プロジェクト
『StarBED』
「シミュレータ研究施設」ページ
「5000台規模の仮想ネットワーク環境」
<2002~2005年>
*2「CPS」: Cyber-Physical Systemsの略。現実世界の制御対象のさまざまな状態を「数値化」し、定量的に分析することで、「経験と勘」でしかわからなかった知見を引き出し、産業の活性化や社会問題の解決を図る仕組みを指す。
*3「IoT」: Internet of Thingsの略。あらゆるモノがネットワークやクラウドを介して繋がり、モノ同士が人の操作・入力を介さず、相互に通信して自律的に最適な制御が行われることを意味する概念や仕組みを指す。
第2期プロジェクト
『StarBED2』
「研究概要」ページ
「StarBED2のターゲット」
<2006~2010年>
拡大