ニュース
2004/05/25 20:20 更新


Cosminexusフォーラム・セミナー開催、スケジューラ搭載で可用性を高めたCosminexus V6

独自機能の搭載で高可用さを実現したCosminexus V6。ミッションクリティカルなシステムには、意外と見落としやすい「停止させやすい」システム作りが必要だという。

 日立製作所のプライベートショウ「HITACHI Open Middleware World」が、東京・青山ダイヤモンドホールで開幕した。25日は「Cosminexusフォーラム・セミナー」、26日には「JP1 Version 7iセミナー」として2日間行われ、基調講演や協賛ベンダー出展、そして日立からはそれぞれの製品の最新テクノロジーが披露される。

 25日午後には、「J2EEによる高信頼性基幹業務システム実現へのアプローチ」と題し、日立製作所のソフトウェア事業部第2ネットワークソフト設計部、進藤成純氏からの講演が行われた。この講演では、現行のJ2EEシステムに求められるべき要件と、その課題に対する機能強化を行った「Cosminexus Version 6」が紹介された。

05250007.jpg

講演を行った日立製作所のソフトウェア事業部第2ネットワークソフト設計部、進藤成純氏


 冒頭で進藤氏は、「Eビジネスは、技術、ライフスタイル、企業、法律・社会といった各側面からも重要視されている。今後の方向性としては、Webアプリケーション採用がいっそう浸透し、J2EEを利用した業務システムの再構築が進み、可能性の追求として基幹業務システムへのJ2EEが利用されていく」と語る。

 現状のアプリケーションシステムにおける課題についても指摘し、トラフィック予測や障害の影響局所化が困難、障害時の高可用性スケールアウトが困難、などと挙げた。これらに対する要件としては、アプリケーションの優先度制御実現を始め、業務閉塞機能によるサービス保守性の向上、トランザクション処理状況に応じた負荷分散実現、などが必須だと言及する。Cosminexus Version 6では、これらの問題に対しスケジュール機能を始めとする同社独自の機能搭載が実現されており、高可用性実現が図られている。

Cosminexus Version 6で実現した高可用性追求への新機能搭載

05250016.jpg

メインフレームシステムからJ2EEベースのシステムへの移り変わり。日立では4つの技術をCosminexus V6に搭載し、Web3階層型のシステムを実現する


 Cosminexus Version 6では、アプリケーション単位で流量制御が可能だ。従来からサーバ分散といったアプローチが高可用性の定番だが、分散したがために起こる問題回避が、実は困難なのも事実。このようなケースにも、日立では後述する「PRFトレース機能」で効率的な解析を可能としている。

05250026.jpg

スケジューラ機能の効果。プレゼンの通り、クライアントからの要求が30を超えた時点から顕著に表れるという


 「スケジューラ機能」の実現は、Cosminexus Version 6におけるいちばんのポイントかもしれない。通常、EJBクライアントからJava Beansへのリクエストは、独立したプロセスとなっている。日立では、このプロセス要求を制御すべくEJBへのリクエストを仲介し、負荷分散を行うスケジューラ機能を採用した。複数のリクエストをプロセスキューで判断し、高負荷状態であればキュー制御を行い、可用性を実現するというものだ。また、1つのEJBコンテナに障害が発生した際、スケジューラ機能によって透過的な縮退運転が可能となる。プロセスキューの出力に当たる個所で処理を止め、処理自体は停止していてもサービスは稼働し続けることができ、キューに保持される。このためユーザーからはサービスが停止しているようには見えない。計画的な業務(システム)入れ替え実現を狙いとする。

 さらに、高可用さ実現に関連する「ネーミングサービス機能」も挙げられた。これは同社「OpenTP1」のスケジューラ技術を用いたものであり、負荷分散のためにサーバ構成が動的変更された際、クライアントからは意識することなく統合ネーミングスケジューラサーバへと問い合わせる役目を担う。また、ネーミングサービスにはハートビート機能も備えられており、常に障害検知を行い、サーバ障害局所を補完することが可能だ。

JavaVM拡張で透過的なシステムを実現

 JavaVMの独自拡張を行っている点も、日立の持ち味となっている。ブラックボックス化されがちなJavaVMに対し、スレットダンプ出力機能搭載を始め、メモリ例外発生時のスタックトレース出力、ガベージコレクションメモリの情報取得機能、Javaプラットフォームレベルでのデットロック検出などが実現されており、透過的にすることで障害発生時やパフォーマンス追求の際に役立つという。

 また、JavaVMの監視エージョン機能も備えている。トラブル原因究明に一躍買い、ヒープメモリ使用状況の監視やスレッド状態の一覧表示などをGUIで確認可能だ。

 障害解析トレース機能(PRFトレース)も目新しい。性能面のチューニングを行うことが目的であり、一般的に分散システムではボトルネックになっている個所を解析するために、プロセスを一括管理する仕組みが必要となる。時間軸の観点からも、ログ解析そのものの難しさが想像に難しくない。この解析を容易にするために、PRFトレース機能が採用されている。セッションごとにユニークIDを振り、トレース収集を可能とするものだ。

 進藤氏からの興味深いコメントとして、「ミッションクリティカルなシステムは、停止させやすいことが重要。分散処理のためには、サービス全体の無停止を実現すべく、個々のシステム(サーバ)が容易にメンテナンスできるシステム作りが必要」という。

[木田佳克,ITmedia]

Copyright © ITmedia, Inc. All Rights Reserved.