IPA


開発成果一覧へ

 



2005年度下期 未踏ソフトウェア創造事業  採択案件評価書

 


1.担当PM

   並木 美太郎 (東京農工大学 大学院共生科学技術研究部 助教授)


2.採択者氏名

開発代表者

 川口 直也 (金沢工業大学 工学部 情報工学科 学部2年生)

共同開発者

 埴田 翔  ( 同上 )


3.プロジェクト管理組織


  日本エンジェルス・インベストメント株式会社


4.委託金支払額


  4,750,000


5.テーマ名


  仮想LANデバイスとHSTPによる複数リンクの同時並行利用

 


6.関連Webサイト


  http://www.geocities.jp/hstp_k/index.htm


7.テーマ概要


 近年、インターネットの急速な普及と、PCの価格低下に伴い一般家庭や、小規模なオフィスなどでもネットワークの概念が取り入れられて久しいが、それを支える技術は10Base-Tから100Base-Tへ、100Base-TからギガBase-Tへといった具合に、新たな規格の制定待ちと普及とを繰り返してきた。
 他方、サーバや業務用スイッチングハブなどの分野ではLinkAggregation(IEEE802.3ad)などのように複数のリンクを束ねて、高速・大容量の帯域と冗長性を確保する技術が一般化されている。

 そうした現状を踏まえ、本案件はWindowsコンピュータのアプリケーション層において、複数のリンクを束ね、前述したような通信を可能にするためのライブラリである、HSTP.DLLhttp://www.geocities.jp/hstp_k/index.htmにて公開中)と、仮想LANデバイスを組み合わせることにより、エンドユーザーに対してネットワークの信頼性の向上と高速化を提供するものである。
 また、基本的な転送技術はアプリケーション層において実現されるため、異なるデータリンク同士を束ねることも可能であり、既存のLinkAggregationなどでは成し得なかった、ADSLCATVといったインターネット回線を用いた収束化も可能である。

 本案件における開発項目は以下の通りである。
  ・OSからパケットデータを受け取る仮想LANデバイスの開発(デバイスドライバレベル)
  ・パケットデータをHSTP.DLLに渡すための中間モジュールの開発(一般プログラムレベル)
  ・HSTP.DLLに冗長性を付与するための改良作業(一般プログラムレベル)
  ・モジュールの結合およびテスト・デバッグ作業
  ・(可能であれば)3本以上のリンクを用いた実装

 現在、研究や普及が進んでいる、グリッドコンピューティングやシンクライアントの分野では、ノードやクライアントマシンと呼ばれる末端のコンピュータ同士を繋ぐ技術が重要であり、本案件の成果が応用できるほか、小規模なLAN設備において信頼性の高い通信が可能になることで、決済業務などを伴う新たなベンチャービジネスなどが発展することも考えられるだろう。


8.採択理由


 複数のネットワークインタフェースに接続されたリンクを仮想的に一つのリンクとすることで、転送性能向上と冗長性を確保しようとするアイデアは理解できる。既存のソケットを束ねて一つのリンクに仮想化するアイデアには一定の有用性を認めることはできるが、イーサネットのリンクアグリゲーションと違い、レイヤ3で仮想化する場合、パケットの分解と統合など工夫すべき点も多く、転送性能の向上は思ったよりも難しい。性能向上とともに、各種のサービスを複数リンクで提供できる可能性、また、学部2年生という若さに対する期待もあり、採択とした。

 





9.開発目標


 ネットワーク基盤の重要性が高まっている中、複数リンクを用いた高性能・高信頼拠点間中継に対する要求は高い。このような要求から数社からリンクを束ねるソフトウェアは販売されているが、高価であること、仕様が非公開などの問題がある。また、LinuxなどのUNIX系でもリンクトランケイトのソフトが公開されているが、Windowsユーザには使いにくいものになっている。

 本プロジェクトにおける目標は、ホスト間を結ぶ複数のリンクを同時並行的に利用することで通信の帯域と、冗長性の確保による信頼性の向上を図ることとした。具体的な内容は(1)帯域が同じ2つのリンクを利用した場合で1.5倍程度まで通信を高速化すること、(2)2つのリンクのうち片方に障害が発生した場合、数百ミリ秒以内にもう一方のリンクのみを使用した通信に切り替えることで、通信を継続させ、通信の冗長性を確保することで信頼性の向上を図ることの2点である。

 また、単に2点間を複数リンクで束ねるだけでなく、一つのクライアントで複数回線を仮想的に束ねて利用できるクライアントのロードバランサも開発の副産物として提示する。

 


10.進捗概要


(1) PacketBooster

  本ソフトウェアは、2点間の複数リンクを束ねる。帯域の向上と冗長性の確保を行なうため、システムの下層部からサービスソフトウェアの階層までを考慮する。全体として、図4、図5のような構成となっており、仮想LANデバイス、中間モジュール、それから次の(2)HSTPライブラリを期間内に開発を終えることができた。

(2) HSTPライブラリ

 本ライブラリは、(1)の開発を行なうために必要なドライバ、ミドルウェア群である。(1)PacketBoosterの中で作成した。

 

図4 PacketBoosterの概念図

                           図5 PacketBoosterの構成図

 

(3) クライアントロードバランサ

2点間を結ぶだけでなく、単一クライアントから複数の経路を分散しながら使う要求は高い。例えば、一つの家庭でも光とケーブルのように2経路を有している場合も少なくない。また、有線と無線のように2経路あった場合、この2経路を有効活用したい局面がある。本ソフトウェアは、(1)で開発されたライブラリの 応用として、当初計画書にはなかったものの期間内に開発された。

 

 

図6 クライアントロードバランサ


11.成果


 PacketBoosterについては、次の表のような性能が得られている。

1Gbpsを2本束ねたときには、遅延などの影響で性能向上は見られないが、100Mbpsではほぼ2倍の性能が得られている。また、リンクダウンにおいても、1秒以内で復旧するなど良好な性能が得られている。また、クライアントロードバランサも動作を確認している。

 作成したソフトウェアは、http://www.packetbooster.net で公開準備中である。

 


12.プロジェクト評価


 複数のネットワークインタフェースに接続されたリンクを仮想的に一つのリンクとすることで、転送性能向上と冗長性を確保しようとするアイデアは理解できる。既存のソケットを束ねて一つのリンクに仮想化するアイデアには一定の有用性を認めることはできるが、イーサネットのリンクアグリゲーションと違い、レイヤ3で仮想化する場合、パケットの分解と統合など工夫すべき点も多く、転送性能の向上は思ったよりも難しい。性能向上とともに、各種のサービスを複数リンクで提供できる可能性、また、採択当事学部2年生という若さに対する期待もあり、採択とした。

 一時はどうなるかと思った局面もあるが、一応目標を達成し、動くソフトウェアもできた。作成したライブラリを使って、予定にはないクライアントロードバランサも開発している。また、企業などにも売込みをはかっており、前向きな点を評価する。

 ただ、全体としての完成度について、今後の課題となる部分も少なからずあり、実用化のためには、さらに開発したソフトウェアに磨きをかけていく必要があるだろう。

 なお、開発の分担は、主に仮想LANデバイスを含む全般的な機構の開発と帯域の向上に関する部分を代表者である川口が行い、冗長性の確保を目的とした部分の開発と実装後のデバッグ作業を共同開発者である埴田が行っている。共同作業として、技術的内容において適切な切り分けであったと考える。また、性格的にも良いバランスになっていた。開発したソフトウェアをさらに磨きをかけて使えるものに育てていくと同時に、このデュオがさらに成長することを期待したい。

 


13.今後の課題


 高速化については、ギガベースのリンクを使用した場合について思うような成果が上がっていない。ギガリンクについては単体でも所定の性能を出すのは工夫が必要なのである。また、HSTPライブラリの整備は現在も続行中である。これは通信に関するアルゴリズムが、高速化を重視した場合、当初考えていたよりも、ずっと簡潔にすることが求められたため、独立したモジュールとして定義することが困難になっているためである。そのためHSTPライブラリは、70%の完成度にとどまり、使用可能な状態にはあるものの、安定性と速度の面で今後も修正を要する段階にある。

 




  ページトップへ   

 

 

 


  Copyright(c) Information-technology Promotion Agency, Japan. All rights reserved 2004