logo

高性能・高拡張性の負荷分散ソフトウェア「UltraMonkey」を機能拡充しオープンソースとして公開

~一般顧客向けのSIサービスとSIer向けのプロフェッショナルサービスを提供開始~

NTTコムウェア株式会社(本社:東京都港区、代表取締役社長:今井 郁次、以下 NTTコムウェア)は、オープンソースソフトウェア(以下、OSS)のロードバランサー(負荷分散装置)として世界的に実績のある「UltraMonkey(*1)」の大幅な機能拡充を行い、ソースコードを公開します。
UltraMonkeyのLayer7負荷分散機能(*2)の開発は、日本で初めての取り組みであり、世界的にも注目されています。

【開発の背景】
近年、オンラインショッピングや検索サイトなど、ユーザからのアクセス集中による高負荷に耐えられるよう、ロードバランサーを導入するのが一般的です。また、ショッピングサイトなど多くのシステムでは、商品選択から決済までの一連の処理を同一サーバで実行することが必須となっています。しかし、従来のUltraMonkeyは、これらの諸条件に対応した機能を有しておらず、サイト運営会社などは市販の高価な負荷分散装置を購入する必要がありました。
このたびNTTコムウェアは、独立行政法人 情報処理推進機構(以下、IPA)のオープンソースソフトウェア活用基盤整備事業公募採択により、UltraMonkeyのLayer7負荷分散機能の拡充を実現しました。
これにより、高機能・高拡張性の負荷分散処理が可能となることに加え、IAサーバとLinuxの組み合わせにより、既に市販されている製品の約1/5程度の費用で構築することが可能となります。

【機能拡充概要】
今回の機能拡充は、最近のWeb系オンラインショッピングサイト等で必須である、セッション(*3)の管理「Layer7負荷分散機能(図1)」と、暗号化された情報への対応「SSL(*4)暗号化された情報の負荷分散機能」です。
たとえば、ユーザがインターネットのショッピングサイトで買い物をする際、商品選択から決済処理までに複数回の処理が発生します。購入する商品の情報や決済時に入力した情報と利用者を関連付けるためには、利用者毎にセッションを管理する必要があります。しかし、従来のLayer4までの情報ではユーザ毎の情報を意識した負荷分散を実現できないため、Layer7までの情報に対応できる機能追加を実施しました。また、利用者の個人名・住所・電話番号や口座番号などの個人情報の漏洩を防ぐために暗号化された情報への対応も実現しています。

NTTコムウェアでは、本システムを一般顧客に提供するためのSIサービスやSIer向けに高度な技術支援を行うプロフェッショナルサービスの提供も開始します。

【NTTコムウェアのオープンソースに対する取り組み】
 NTTコムウェアは、顧客志向の柔軟なシステム構築にLinuxをはじめとするOSSが果たす役割の重要性を早くから認識していました。1999年のLinuxセンタ開設以来、積極的にOSSを利用するSI業務を実施し、NTTの通信システム構築や、UNIXからLinuxへのマイグレーションなど多くの構築実績があります。こうした活動が評価され、2004年12月にはIPAの2004年度下期オープンソースソフトウェア活用基盤整備事業公募で「UltraMonkey Layer7負荷分散フレームワークの開発」が採択されました。

【ソースコードの公開】
UltraMonkey- Layer7のソースコード等は、下記サイトで公開中および公開予定です。

リンク(公開中)
SourceForge.jpは、米国OSTG社が運営している世界最大のオープンソースソフトウェアの開発サイトであるSourceForge.netの日本版サイトで、VA Linux Systems Japan株式会社(リンク)が運営しています。

リンク(公開予定)
UltraMonkeyのコミュニティサイトであり、開設者Simon Horman氏が運営しています。

※UltraMonkeyはVA Linux Systems Japan株式会社とSimon Hormanの登録商標です。
その他記載されている会社名、製品名は、各社の商標または登録商標です


「UltraMonkey-L7負荷分散フレームワーク」について
従来のUltraMonkeyを大規模Webシステムの負荷分散システムとして利用するために、
「Layer7までの情報に基づく負荷分散」と「SSL暗号化された情報に基づく負荷分散」に対応しました。
なお、UltraMonkey-L7は、下図示す機能部から構成されています。

①フレームワーク部
Layer7の情報に基づいた負荷分散の基盤となる機能部です。これにプロトコル処理部を組み合わせることにより、各種プロトコルに対応した負荷分散を実現します。フレームワーク部とプロトコル処理部を分離したアーキテクチャとすることにより、新たなプロトコルや負荷分散機構を追加する際は、プロトコル処理部で管理するプロトコルモジュールを開発するだけでできる構成をとり、拡張性に優れた構造としました。
②プロトコル処理部
各種プロトコルに対するLayer7負荷分散の振り分け条件を決定する機能部です。本開発では、特定のURLへのリクエストを同一のサーバに振り分けるためのURLパーシステンスモジュール、特定の文字列を含むリクエストのみサーバに振り分けを行うためのパケットフィルタリングモジュールを開発しました。
③制御コマンド部
フレームワーク部に対してバーチャルサービス生成・削除や振り分け先サーバの設定等を行うためのコマンドを提供します。
④SSL通信処理部
SSLを用いた暗号化通信に対してLayer7負荷分散を行うために暗号・復号処理を行うための機能部です。

用語解説

*1:UltraMonkey
Linux上でオープンソースコンポーネントを使用し、IPネットワークの負荷分散と高可用性サービスを実現するためのプロジェクトです。また、開発された負荷分散ソリューションも同名称「UltraMonkey」です。本システムは、多くのWebホスティング業社、ISP等で使用されており、日本ではSlashdot Japan、SourceForge.jp、japan.linux.comなどOSDN(Open Source Development Network)の全ネットワークで使用されています。
(リンク)

*2:Layer7負荷分散機能
 OSI7階層モデルの第7層(Layer7)に属するCookieやURLなどを使用してセッション管理、負荷分散を行う機能をLayer7負荷分散機能と呼びます。
従来の「UltraMonkey」は、第4層(Layer4)までの情報(IPアドレスやポート番号など)にしか対応していなかったため、第7層までに対応した機能拡充が求めらていました。

*3:セッション
セッションとはWebサイトを訪れた訪問者が行う一連の処理のことです。例えば、ショッピングサイトなどで、ログインからログアウトまでを1セッションといいます。

*4:SSL
Secure Socket Layerの略で、インターネット上でやり取りされているデータ(個人名、住所、電話番号などの個人情報や企業の機密情報など)を暗号化し、第三者からデータを覗かれないようにする通信技術のことです。

本プレスリリースは発表元企業よりご投稿いただいた情報を掲載しております。
お問い合わせにつきましては発表元企業までお願いいたします。