説明

複数のミドルウェア環境全体のメッセージフローのサービス品質(QOS)管理

複数の相互接続ミドルウェアドメイン内及び全体に、一貫したサービス品質レベル「QoS」を有するメッセージフローを提供するための、情報システム・リソースを管理する方法は、少なくとも1つのQoS要件を表示し、少なくとも1つのQoS要件を、複数のミドルウェアドメイン(404、406)を通信可能に連結するメッセージサービス(432)に特有の少なくとも1つのパラメータに変換し、メッセージフローを受信するために、第1ミドルウェアドメイン(404)とメッセージサービスとの間にクライアント接続を作成し、QoSメッセージを第2ミドルウェアドメイン(406)へ伝達し、メッセージフローを伝達するために、メッセージサービスと第2ミドルウェアドメインとの間にクライアント接続を作成する第1QoSマネージャ(426、564)からQoSメッセージを受信することを含む。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は概して情報システムに関し、さらに具体的には、複数のミドルウェア環境を含む情報システムにおけるサービス品質(QoS)管理に関するものである。
【背景技術】
【0002】
QoS管理は、複数の並列ネットワーク・アプリケーションによってシステム・リソースの使用を最適化するために、ネットワーク化された情報管理システムにおいて実行可能である。情報管理システムにおける作業の単位は一般に、タスク又はメッセージのいずれかと見なすことができる。オブジェクト指向システムにおいては、プリミティブタスクは例えば、あるオブジェクトの実行スレッドであってよい。メッセージは通常、様々な種類の情報のカプセル化機能である。システムはタスク指向又はメッセージ指向になりがちである。したがって、公知のQoS管理方法はタスク指向又はメッセージ指向のいずれかとなる傾向がある。
【0003】
タスク指向システムとメッセージ指向システムのQoS管理概念及びフレームワークは似ている可能性があるが、実際の実装技術は全く異なったものになりがちである。タスク指向システムにおいては、QoS管理技術は通常、アプリケーションのQoS要件を満たすために、タスク実行を優先させることに重点を置く。メッセージ指向システムにおいては、QoS管理技術は通常、メッセージの受信、処理、及び配信の品質に重点を置いている。例えば動作及び信頼性等の品質特性の意味が、タスク指向システムのそれとは若干異なる可能性がある。例えば、メッセージの信頼性は通常、配信の保証、メッセージの順序付け、及び複製の除去の組み合わせを意味する。タスクの信頼性はその一方で、通常失敗せずにタスクを良好に実行できる可能性を意味する。
【0004】
QoS管理はタスク指向システムにおいて、分散された環境でタイミングよく優先度の高いタスクを終わらせるために計算的応用をサポートするのに現在使用されている。しかしながら、メッセージ指向情報管理システムのQoS管理はあまり注目されてこなかった。上記システムは、サービス指向アーキテクチャ(SOA)が実行される情報管理システムを含む。SOAは例えば、発行/購読、オブジェクト・リクエスト・ブローカー、ピアツーピアアーキテクチャ又はこれらの組み合わせであってよい。
【0005】
発行/購読アーキテクチャにおいては、情報ブローカーにより、システムのクライアントアプリケーションに対するサービスが提供される。情報ブローカーは、分散された情報管理システム及びネットワーク中央軍事システムにおける情報の発行、処理、及び普及において中心的な役割を果たす。ブローカーシステムの例には、電子メール、情報圏、コラボレーション、仮想コミュニティ、及びグループ通信が含まれる。多数の並列クライアントとそれらの要求がシステム・リソースを争うため、ブローカーシステムが重要なクライアントの要求を満たすことが容易でない可能性がある。公知の情報ブローカーのリソース管理方法では、異なるQoS特性を有するクライアント同士を区別して、システム・リソースを、複数のミドルウェアドメイン全体においてであっても、これに沿って管理するようにはできない。
【発明の概要】
【0006】
本発明の様々な実施形態は、複数の及び異なったメッセージ指向ミドルウェア(MOM)環境又はドメイン内及び全体のメッセージフローに、一貫したポリシー主導型サービス品質(QoS)要件を適用することによって、上述の確認された欠陥、その他に対処することができる。
【0007】
一実施形態では、複数のミドルウェアドメイン内及び全体の一貫したサービス品質(QoS)レベルを有するメッセージフローを提供するための、情報システム・リソースの管理方法が記載されている。本方法は、少なくとも1つのQoS要件を表示し、少なくとも1つのQoS要件を、複数のミドルウェアドメインを通信可能に連結するメッセージサービスに特有の少なくとも1つのパラメータに変換し、メッセージフローを受信するために、第1ミドルウェアドメインとメッセージサービスとの間にクライアント接続を作成し、QoSメッセージを第2ミドルウェアドメインへ送信し、メッセージフローを送信するために、メッセージサービスと第2ミドルウェアドメインとの間にクライアント接続を作成する第1QoSマネージャからQoSメッセージを受信することを含む。
【0008】
別の実施形態では、複数の相互接続ミドルウェアドメイン内及び全体で一貫したQoSレベルを有する、メッセージフローを提供するサービス品質(QoS)ブリッジが説明されている。第1QoSマネージャから少なくとも1つのQoS要件を受信するQoSブリッジは、第2QoSマネージャへ少なくとも1つのQoS要件を伝え、少なくとも1つのQoS要件を少なくとも1つのQoSパラメータへ変換する。QoSブリッジはまた、メッセージサービスを用いて少なくとも1つのQoSパラメータを受信し実施して、複数の相互接続ミドルウェアドメイン間のメッセージフローを容易にする。
【0009】
さらに別の実施形態では、少なくとも1つのプロセッサによって実行される少なくとも1つの第1ミドルウェアソリューション及び第2ミドルウェアソリューションを含む情報システムにおいてQoSを管理するためのサービス品質(QoS)管理システムが記載されている。QoS管理システムは、少なくとも1つのQoSパラメータを表すQoSメッセージが情報システムのクライアントから受信されるように、少なくとも1つのプロセッサで実行される第1QoSマネージャ、第1QoSマネージャからQoSメッセージが受信されるように、少なくとも1つのプロセッサで実行されるQoSブリッジ、及びQoSブリッジからのQoSメッセージが第2QoSマネージャによって受信され、情報システムのサブスクライバに送られるように、少なくとも1つのプロセッサに実装される第2QoSマネージャを含む。
【図面の簡単な説明】
【0010】
【図1】図1はサービス指向アーキテクチャ(SOA)を有する例示の情報システムの図である。
【図2】図2はQoS管理アーキテクチャの例示の実施形態の図である。
【図3】図3は複数のミドルウェアドメインを含む例示の情報システムの図である。
【図4】図4は図3の情報システムの応用の例示の実施形態の図である。用語は本明細書では、一例を例示するものであり、必ずしも理想的なものではない。
【発明を実施するための形態】
【0011】
次の説明は単なる例示であり、決して応用又は使用を限定するものではない。パブリッシャ/サブスクライバ情報管理サービス指向アーキテクチャ(SOA)を参照して一又は複数の構成が記載されているが、構成はこれに限定されない。他の種類の情報システムに関連して、非限定的に他の及び追加の種類のサービス指向アーキテクチャ、情報管理システム及び/又はネットワークシステムを含む、他の及び追加的な構成が考えられる。
【0012】
一般に、サービス指向アーキテクチャ(SOA)を有するシステムは、サービスの集合組成として扱うことができる。各サービスは、明確に定義されたインターフェースを介してその機能性を利用可能にすることができる。SOAでは、各サービスは通常、自己記述的であり、オープンソフトウェアコンポーネントである。SOAは、サービスと、これらの組成及び相互作用を含む。システムのクライアントに対して情報システムのリソースを管理する方法が下に記載されている。情報システムのリソースを管理する例示の方法は、米国特許出願公開第2005/0204054号明細書にも記載されている。
【0013】
図1はSOAを実行する情報システム20の図である。この実施形態においては、情報システム20はパブリッシャ/サブスクライバSOAを有する。パブリッシャ24は、例えば特定のテーマのメッセージを購読している関心のある当事者によって操作される、例えば複数のテーマ及びサブスクライバ34においてメッセージを発行する。図の形態で示されているが、一又は複数の要素は、コンピュータプロセッサ、付随メモリ、及び関連のハードウェアを含み、プロセッサは本明細書に記載された方法、装置、又はシステムに対応する一又は複数の操作を実行するために、コンピュータの指示をフェッチし、デコードし実行することが分かっている。このように、コンピュータが読み取り可能な又は機械が読み取り可能な媒体をプロセッサで使用して、指示を与えることができる。コンピュータが読み取り可能な媒体は、コンパクトディスク(CD)、フロッピー(登録商標)又はハードディスク等の磁気媒体、又はランダム・アクセス・メモリ(RAM)又は読取専用メモリ(ROM)等のソリッドステートメモリ等の光媒体を含むことができる。
【0014】
発行サービス38及び購読サービス42は情報ブローカー(InfoBroker)46を通して分離される。パブリッシャ24及びサブスクライバ34は、サービスプロバイダとしてのInfoBroker46に対するサービスリクエスター(本明細書では「クライアント」及び「アプリケーション」とも称される)である。発行サービス38及び購読サービス42は、InfoBroker46によってパブリッシャ24及びサブスクライバ34へ提供される共通サービス50に含まれる。共通サービス50はまた、セキュリティ54、パーシスタンス56、フィルタリング58、融合60、配布62、及びディスカバリ64も含む。購読登録等の追加のサービス66も提供可能である。情報ブローカー46はまた、共通サービス50としてクライアント24及び34にQoS管理サービス70を提供する。情報ブローカー46は、さらに下に記載するように、それを通してクライアントがQoS規約について交渉することができるQoSマネージャ74へのアクセスを提供する。情報ブローカー46は、さらに下に記載するように、QoS管理サービス70を介してクライアント24及び34へサービス品質を提供する。
【0015】
ある実施形態では、パブリッシャ24及びサブスクライバ34がInfoBroker46を同時に発見し、前記サービス50を使用することができる。上記サービスは異なるQoS特性を有することができ、上記サービスの相互作用は同時で、分断可能である。異なるパブリッシャ24及びサブスクライバ34は、動作、信頼性、適時性、及び安全性の点において異なるQoS要件を有することができる。例えば、あるパブリッシャ24は他のパブリッシャよりも高い優先度を有することができ、メッセージがより早い応答時間において正確な順序付けで配信される保証が要求される可能性がある。同様に、あるサブスクライバ34は他のサブスクライバよりもさらに緊急性を有する可能性があるため、メッセージの受信における遅延がより短いことが要求される。
【0016】
サービスプロバイダとしてのInfoBroker46は、一又は複数のQoS保証を一又は複数のパブリッシャ24及び/又はサブスクライバ34へ提供することができる。InfoBroker46は、例えば時間単位当たりのメッセージの受信又は配信速度、及び/又はメッセージのペイロードサイズ等のパブリッシャ24及び/又はサブスクライバ34の一又は複数の動作を制限することができる。パブリッシャ24及びサブスクライバ34等の複数の並列クライアントのQoS要件を満たすために、QoS管理サービス70は、アドミッションコントロール80、予測82、リソース管理84、監視86、及び適合88等の上記サービスを含む。
【0017】
パブリッシャ24及びサブスクライバ34は、InfoBroker46にQoS要件を表示して、QoS規約について交渉することができる。QoS規約は一時的又は恒久的であってよい。このように、QoS規約は特定の役割を持つクライアントに対してセッション基準ごとの一時的なもの又は恒久的なものであってよい。InfoBroker46は、クライアントとのQoS規約を満たすためのリソース及び機構を提供する。InfoBroker46は、QoS規約の実行中にシステムの状態を監視し、適切な適合サービスを提供する。
【0018】
ある構成においては、InfoBroker46がQoSマネージャ74をエクスポートして、そのQoS管理サービス70をクライアントが利用可能にする。クライアント24及び/又は34は、拡張可能なマークアップ言語(XML)メッセージとしてQoS要件をQoSマネージャ74へ送る。承認済みのQoS規約を受信するにあたって、クライアントは規約をInfoBroker46との相互作用(例:メッセージの送信及び/又は受信)に対する背景として使用する。
【0019】
図1に例示されたアーキテクチャは、QoSサービスプロバイダとしてのInfoBroker46のQoS管理の複数の態様を包含するコンポーネントサービスを提供する。例えば、InfoBroker46は、アプリケーションのQoS要件を分析することができ、ポリシーだけでなく、現在の及び予測される今後のシステムの状態に基づいてアドミッションコントロールの決定を行うことができる。InfoBroker46は、システム・リソース及び機構をQoS要件を満たすようにすることができ、システムの動作をランタイムにおいて監視し、適応させることができる。
【0020】
一般に、情報システム20においては、サービス50のQoS要件はQoS特性の観点から指定される。QoS特性は、サービスリクエスターとサービスプロバイダの両方によって理解されている明確な態様又は制限事項を表す。QoS特性は、例えば4つのカテゴリー:動作、信頼性、適時性、及び安全性に分類できる。一連のQoSパラメータは、例えば下記のように各カテゴリーに関連することができる。動作カテゴリー関連は:応答時間、メッセージスループット、ペイロードサイズ、発行/購読ボリュームレート、及びエンド・エンド遅延である。信頼性カテゴリー関連は:配信保証、複製除去、メッセージの順序付け、呼損率、エラー率、再試行スレッショルド、メッセージの継続性及びクリティカリティである。適時性カテゴリー関連は:生存時間(TTL)、期限、一定のビットレート、フレームレート、及び優先度である。安全性カテゴリー関連は:メッセージ署名付与、及び暗号化である。
【0021】
前述したQoS特性及びパラメータの分類は、例示であることに注目すべきである。QoSの態様の他の及び/又は追加の特徴づけ及び/又は分類が考えられる。ある例示の実施形態では、前述したQoS特性及びパラメータの分類に基づいて、SMLをベースにした言語により、サービスリクエスターが一又は複数のQoS要件をQoSメッセージとして表すことができる。
【0022】
図2は、例示のQoS管理アーキテクチャ300の図である。QoS管理アーキテクチャ300は、コンポーネントサービス、コンポーネントサービスの相互作用、及び、例えば商用オフザシェルフ(COTS)監視ツールを介した、リアルタイムホスト及びネットワークの状態監視等の外部サービスとのインターフェースを含むことができる。主要なコンポーネントサービスは、QoSマネージャ308、設定サービス312、ポリシーマネージャ316、リソースマネージャ320、予測サービス324、オペレーションサービス328、メンテナンスサービス332、監視サービス336、適応サービス340、及び診断サービス344を含む。監視サービスとQoS診断サービスの間の相互作用348は、登録及び通知スタイルに従う一方、他のサービス間の相互作用352は、要求及び応答スタイルに基づいている。さらに下に説明されるように、診断サービス344は、COTS監視ツール364を介したリアルタイムホスト356とネットワーク360等の外部サービスとインターフェースで接続する。
【0023】
QoSマネージャ308は、クライアントのQoSサービスの設定及び操作を調整する。QoSマネージャ308は、図1を参照しながら前述したように、クライアントがQoS管理サービスにアクセスするためのインターフェースを提供する。設定サービス312は、さらに下に説明するように、XMLQoSメッセージで表されるQoS要件を前提としたクライアントのQoS規約を設定することができる。設定サービス312はまた、さらに下に説明するように、ポリシーマネージャ316、予測サービス324、及びリソースマネージャ320を使用する。規約が設定できない場合、設定サービス312は、クライアントに代わって設定要求を行ったQoSマネージャ308へ報告する。
【0024】
ポリシーマネージャ316はQoSポリシー368をチェックして、クライアントのQoS要件のパラメータが確実にクライアントの役割に対して許可されるようにし、許可された場合は、要件を満たすためにどのリソース及び機構が必要かをチェックする。リソースマネージャ320は、システム・リソースのリザベーション、アロケーション、及びリリースを含むリソースのライフサイクル管理を提供する。リソースは通常ホスト356のプラットホームに対してローカルであるため、リソースマネージャ320は一般のQoS管理機能の抽象クラスを定義する。プラットホームの例は、オブジェクト・マネージメント・グループによるコモン・オブジェクト・リクエスト・ブローカー・アーキテクチャ(CORBA)、カリフォルニア州サンタクララのサンマイクロシステム社によるジャバ・プラットフォーム・エンタープライズ・エディション(J2EE)、及びワシントン州レッドモンドのマイクロソフト社による、ドットネットフレームワークである。具体的なリソースクラスは、さらに下に説明するように、各ホストプラットホームに対して実行される。
【0025】
予測サービス324は、幾つかの主要なシステムパラメータ(例:メモリの使用量、CPUロード、ネットワークスループット、遅延)の観点から、システムの状態を追跡する。予測サービス324はまた要求に応じて、様々な予測アルゴリズムを使用して短い時間の制限枠において今後のシステム状況も予測する。
【0026】
オペレーションサービス328は、初期設定プロセス330を使用してQoS規約のリソース構成を初期化して、QoS規約の実行中にサービスを調整する。メンテナンスサービス332は、QoS規約の一又は複数の主要なQoSパラメータを保持することができ、上記パラメータに対するスレッショルドの交差に応じて適合サービス340を起動することができる。監視サービス336は、リソースの利用及び有効性のレベルをサンプリングし統合して、実際のスループット及び遅延値等の動作を測定する。監視サービス336は、例えばシステムの状態の変化に起因して、予測が本当になった時に、通知を返信する、診断サービス344による状態予測を登録する。
【0027】
適合サービス340はリソースと機構372を動的に変えて、主要なQoSパラメータを正常な範囲内に戻す。適合サービス340はまた、クライアントによる規約の違反に応じて操作を行うことができる。上記操作は例えば、承認された発行日をはるかに越えて発行するクライアントからのメッセージの受信を遅らせることを含むことができる。例えば、実際のパラメータがそのスレッショルド値よりも下に戻ると、メンテナンスサービス332は適合サービス340にQoS規約に従ってQoSレベルを戻すように要求することができる。適合機構372は、プラグインであってよい。したがって、適切な適合機構372をポリシーに基づいて静的に構成し、動的に選択することが可能である。
【0028】
診断サービス344は、因果ネットワークを使用して低レベルのシステム信号をシステムの状態のアトリビュートに統合する等の、推論技術を採用する。診断サービス344は、監視ツール364からリアルタイム入力を取得して、データをオンダフライで統合し、データを保存場所376に保存する。診断サービス344はまた、値の変化に応じてアトリビュートの述語全てを評価して、例えば監視サービス336等の関与サービスへの通知をトリガーすることもできる。
【0029】
クライアントはQoSサービスプロバイダ(例:図1を参照して説明されたような情報ブローカー)にクエリを行うことによって、又はディスカバリサービスを使用することによって、QoSマネージャ308を通してQoS管理サービスにアクセスする。例示の実施形態では、QoSマネージャ308は、クライアントがQoSサービスと直接接点を持つQoS管理アーキテクチャ300における唯一のコンポーネントである。
【0030】
ミドルウェアドメインは、ミドルウェアソリューションがクライアントアプリケーションの集合体にサービスを提供する、1つの管理ドメインを有する環境である。ミドルウェアドメインの例には、アパッチソフトウェア財団によるActiveMQメッセージブローカー、JBossアプリケーションサーバー、ニューヨーク州アーモンク市のIBM社によるウェブスフィア、データ配信サービス(DDS)、イリノイ州シカゴのボーイング社によるシステムのシステム共通オペレーティング環境(SOSCOE)、及びCORBAが含まれる。情報システム20に関して記載したように、QoSサポートを保持しながら、メッセージを1つのミドルウェアドメインから別のミドルウェアドメインへ発信することができれば有利である。
【0031】
図3は例えばミドルウェアドメイン404とミドルウェアドメイン406等の複数のミドルウェアドメインを含む情報システム400を介したメッセージフローの図である。メッセージフローは点線で表されており、制御フローとも称される規約交渉は実線で表されている。例示の実施形態では、情報システム400は発行/購読SOAの実現である。パブリッシャ408は例えば複数のテーマのメッセージを発行し、サブスクライバ410は例えば特定のテーマのメッセージを購読している関心のある当事者によって操作される。複数のQoSマネージャ426及び428によって、クライアントのQoSサービスの設定及び操作が調整される。QoSマネージャ426及び428により、図1を参照して前述したように、QoS管理サービスへアクセスするためのクライアント向けのインターフェースが提供される。情報システム400はまた、QoSアトリビュートを保持しながら、パブリッシャ408からサブスクライバ410までの複数のミドルウェアドメイン全体のエンド・エンドメッセージフローを容易にするために、QoSブリッジ430及びメッセージサービス432も含む。
【0032】
上述したように、QoSは例えば情報システム400等のシステムの、異なる優先レベルにおいて、例えばパブリッシャ408及びサブスクライバ410等のクライアントへサービスを提供する能力を参照する。メッセージ指向システムについては、QoSはクライアント、ミドルウェア、及びネットワークによるメッセージのトランスポート及び処理への異なる動作レベルの割当てを参照する。QoS管理は、例えば非限定的に、スループット、レーテンシ、ジッター(タイミングの不一致)、損失、耐久性、持続性等のQoSアトリビュートのセットアップ及び制御に関わっている。QoS要件及びQoS規約はこれらのアトリビュートの集合体である。QoS要件により、アプリケーションによって要求されたメッセージング動作レベルが指定され、QoS規約により、アプリケーションに与えられた(すなわち「約束された」)動作レベルが指定される。さらに例示の実施形態では、QoS要件が全く指定されない場合、QoS要件のデフォルト設定が暗示される。例えば、QoS要件のデフォルト設定には、「有望な」ベストエフォート型を含むことができる。
【0033】
エンド・エンドメッセージフローは、例えばパブリッシャ408等の発行元におけるメッセージの生成から開始し、例えばサブスクライバ410等の顧客によるメッセージの消費で終了する。複数の異機種環境のミドルウェアドメインから出来たシステムでは、エンド・エンドメッセージフローにはまた、ミドルウェアソリューション間、及び全てのミドルウェアソリューション内部のトランスポートが含まれる。QoSアトリビュートの保持は、リアルタイムのミッションクリティカルな環境の基礎コンポーネントである。システムのエンドポイントだけでなく、メッセージを処理する中継体は、サービスのニーズを指定するQoS規約を順守するものでなければならない。通常、公知のミドルウェア技術により、ある程度のQoSサポートが提供される。しかしながら、QoSサポートレベルは技術によって、フロー間の相対的な優先順位から、例えばトラフィック・シェーピング及びデータの持続性等の概念まで変化する。
【0034】
QoSブリッジ430により、ミドルウェアソリューション404及び406がそれぞれのクライアントアプリケーションに設定されたQoS規約を共有することが可能になり、これにより、異なるミドルウェアドメインのアプリケーション間のメッセージフローに、複数の相互接続ミドルウェア環境又はドメイン内及び全体で一貫したQoSレベルが与えられる。QoSブリッジ430を介して設定されたQoS規約を伝播(すなわち、送信及び受信)するために、ミドルウェアドメイン404及び406それぞれのQoSマネージャ426及び428によって、特定のプロトコル(図3に図示せず)が使用される。プロトコルは、異なるミドルウェアドメインへメッセージを送信する時に、1つのミドルウェアドメインのパブリッシャに設定された規約のQoS設定をQoS要件として使用できるように、QoSマネージャ426及び428によって使用される。例えば、パブリッシャ408及びQoSマネージャ426間に設定された規約をQoSブリッジ430からQoSマネージャ428へ送られたQoS要件として使用することができる。
【0035】
QoSマネージャ426は、例えばパブリッシャ408等のアプリケーションをそのドメインに有するQoS規約のセットアップ及びメンテナンスに関与する。QoSマネージャ426はパブリッシャ408からQoS要件を受信し、QoSポリシー446及び利用可能なリソースによって指示される規約を提示する。パブリッシャ408によって受け入れられた時に、規約は拘束力を持つ。QoSマネージャ426は、QoS規約をミドルウェアドメイン404に特有の一連のQoSパラメータに変換し、一連のQoSパラメータとパブリッシャ408とを関連付けることによって、規約を適用する。例えば、パブリッシャ408がQoS規約を受け入れると、QoSマネージャ426はミドルウェアのパブリッシャ408への接続を作成して、この接続部にQoSパラメータを設定する。
【0036】
QoSマネージャ426はまた、QoS要件をQoSブリッジ430へ送信し、QoSブリッジは次に、QoS要件を例えばミドルウェアドメイン406等のほかのミドルウェアドメインへ伝播させる。QoSブリッジ430は特化したQoSマネージャである。さらに具体的には、QoSブリッジ430はミドルウェアドメイン間のQoSマネージャである。クライアントアプリケーション及びミドルウェアソリューションと相互作用する代わりに、QoSブリッジ430は例えば、QoSマネージャ426及びメッセージサービス432等のQoSマネージャ及びメッセージサービスと相互作用する。メッセージサービス432は、QoSマネージャ426及びQoSブリッジ430との間に設定された各メッセージフローのQoS設定を実行することを含む、2つ以上のミドルウェアドメイン間の相互運用性を提供する。例示の実施形態では、明確なQoS要件なしに、メッセージサービス432に到着するメッセージフローは例えば、ベストエフォート型の方法を保証する一連のQoS要件等のQoS要件のデフォルト設定と関連するように扱われる。
【0037】
複数のミドルウェアドメイン全体のエンド・エンド通信の実例となる方法もまた図3に示されている。パブリッシャタイプのクライアントアプリケーション408は、そのQoS要件をQoSマネージャ426に提示することによってメッセージフローを開始する500。QoS要件はミドルウェア独立言語で書かれている。QoSマネージャ426は、受信したQoS要件、QoSポリシー446、及び利用可能なリソースに基づいて、ミドルウェア独立QoS規約を作成する502。一意識別子は規約と関連付けられている。QoS規約はさらに、QoS要件、オペレータルール、コンテンツタイプのユーザアカウント、利用可能なコンピューティングリソース(ローカル及び/又はリモート)、及び利用可能なネットワークリソースにのみ基づくように限定されないが、これらに基づいたものであってよい。
【0038】
QoSマネージャ426は、ミドルウェア独立QoS規約をミドルウェア特有のリソースプランへ変換する508。リソースプランは規約を満たすのに必要なコンピューティングレベルとネットワークリソースを含んでいる。QoS規約はパブリッシャ408へ送られ512、パブリッシャ408は規約を受信する。パブリッシャ408は受入れメッセージをQoSマネージャ426へ発信し516、メッセージフローへのメッセージの発行を開始する518。
【0039】
QoSマネージャ426はリソースプランを実行する522。リソースプランにおいて呼び出されたコンピューティング及びネットワークリソースは、メッセージフローに割り当てられる。例示の実施形態では、リソースプランとQoS規約は下記:バッファメモリ等のコンピューティングリソース及び緊急優先事項のフローサービスの専用スレッドの割当てを決定する、プロセス及びスレッド優先度を設定する、ネットワークパケットを例えば適切なDiffServコードポイントでマーキングするうちの少なくとも1つに使用される。
【0040】
QoSマネージャ426はQoS要件をQoSブリッジ430へ伝達する524。QoSブリッジ430は、ソースミドルウェアドメイン(すなわち、発行元)から受信したQoS要件を取得して、メッセージサービス432と相互作用して528、メッセージフローを受信するために、発信元のミドルウェアドメインとのクライアント接続を作成する。QoSブリッジはまた、ブリッジポリシー530を使用して受信したQoS要件を、ミドルウェアドメイン404と406を接続するメッセージサービス432特有の一連のQoSパラメータに変換する。QoSブリッジ430はまた、受信したメッセージフローのQoS要件をそのままの状態の下流のミドルウェアドメイン406へ、あるいは、ブリッジポリシー530にしたがって修正された下流のミドルウェアドメイン406へ伝達する。
【0041】
送信先のミドルウェアドメイン406のQoSマネージャ428は、上述したように、発信元のQoSマネージャ426と同じステップを行う。言い換えると、QoSマネージャ428は、「ローカル」QoS規約及び同等のリソースプランを作成し534、リソースをリザーブし、規約をクライアント(この場合はQoSブリッジ430)へ送り、受入れに応じてリソースプランを実行する。
【0042】
例えばサブスクライバ410等のクライアントアプリケーションは、それぞれのミドルウェア406でメッセージフローを購読する536。このステップは他の制御フロー通信とは独立しているため、この購読を任意の時点で行うことができる。
【0043】
代替実施形態では、パブリッシャ408からのQoS要件の代わりに、パブリッシャ408とQoSマネージャ426の間の適所にあるQoS規約が、QoSマネージャ426とQoSブリッジ430の間に伝達される524。ソースドメイン404においてQoSマネージャ426によって与えられたものが、パブリッシャ408によって要求されたQoSレベルよりも大幅に低い状況にある制御フローにおいては、下流のドメイン406が最初の要件で要求されたリソースレベルをリザーブすることは役に立たない。最初のQoS要件の代わりにQoS規約を伝達することによって、不必要で煩わしいリソースリザーブを回避することができる。
【0044】
図4は上述した情報システム400の応用の例示の実施形態の図である。図4は、複数のミドルウェアドメイン全体のメッセージフローにポリシー駆動型QoSを適用するための情報システム548を示す。例示の実施形態では、JBossミドルウェア552をホストとしたレガシーシステムのクライアントアプリケーション550は、SOSCOEミドルウェア556をホストとした進歩したシステムのクライアントアプリケーション554と情報を共有する必要がある。サービスブローカー560は、クライアントアプリケーション550とミドルウェアプラットホーム552との間の媒介として作用する。サービスブローカー562は、ミドルウェアプラットホーム556の代わりに、クライアントアプリケーション554に対して同じ機能を発揮する。サービスブローカー560は、QoSマネージャ564を含み、サービスブローカー562はQoSマネージャ566を含む。QoSブリッジ570により、ミドルウェアドメイン552からのメッセージをミドルウェアドメイン556と共有することが可能になる。QoSブリッジ570は、QoSマネージャ564からメッセージフローのQoS要件を受信する特定のタイプのQoSマネージャであり、QoSマネージャ566とともに機能して、継続する同じメッセージフローに同じ一連のQoS要件を適用する。
【0045】
進歩したシステム、レガシーシステム、及びデータベースシステムは、様々なミドルウェアドメインにおいて操作可能なシステムの例である。サービスブローカー560及び562は、ミドルウェア特有のシステムとミドルウェアから独立したシステムの間で変換を行う。さらに、サービスブローカー560及び562は、これらのシステムが本物であることを証明し、これらのサービスのニーズを許可し管理する。サービスブローカー560及び562はまた、メッセージの優先順位付けが関連のミドルウェアプラットホームからなされない場合に、設定されたQoS規約にしたがってメッセージフローの個々のメッセージの送信の優先順位付けもすることができる。
【0046】
上述した実施形態により、異なるミドルウェアソリューション間のメッセージングを可能にする効果的なエンド・エンドQoS管理アーキテクチャが提供される。サービスブローカー及びQoSブリッジのQoSマネージャは、QoS要件を適切なミドルウェア特有のターゲットフォーマットへ変換して必要なリソースのアロケーションを提供して、予測可能な適応できる保証されたメッセージ配信及びプライオリティルーティングをサポートする。
【0047】
上述した方法及びシステムにより、QoS要件/規約によってエンドポイントからエンドポイントへの全てのメッセージフローの処理を指定することが可能になる。QoS規約はミドルウェアドメイン及び中継(ブリッジ)ノードによって一貫して施行される。QoSポリシーは再定義することができ、QoS要件からのQoS規約の設定の制御、QoS要件/規約のミドルウェア特有のリソースプランへの変換、及びQoS要件/規約のネットワークパラメータ設定への変換に使用される。
【0048】
上述したこのような様々な構成はさらに、メモリを有するプロセッサに使用される機械によって読み取り可能な媒体を具現化するために見ることができる。機械によって読み取り可能な媒体は、一又は複数のQoS要件を一又は複数のパラメータ値として表す情報システムのクライアントからのQoSメッセージをプロセッサに受信させる命令を含むことができる。機械によって読取可能な媒体はまた、クライアントとの一又は複数のパラメータ値に基づくサービス品質の規約をプロセッサに設定させる命令も含む。機械によって読取可能な媒体は、情報システムの一又は複数のリソースをプロセッサに規約に基づいてクライアントへ割り当てさせる命令を含む。さらに、機械によって読取可能な媒体は、受信したQoSメッセージを下流のミドルウェアドメインへ伝達させる命令を含む。
【0049】
先のQoS管理システムの構成が実行されるSOAにおいては、InfoBrokerが異なる役割及びQoS要件のクライアントへ分化サービスを提供可能である。InfoBrokerはしたがって、多数の並列クライアントからの要求を満たすために、リソースのアロケーション及び利用を最適化することができる。重要度の高いクライアントは、重要度の低いクライアントよりもさらにリソースを得る又はリソースの利用においてより多くを共有する。また、上述したQoS管理システムにより、QoS要件を保持しながら複数のミドルウェアドメイン全体のエンドポイントからエンドポイントへのメッセージの送信が可能になる。
【0050】
前述のシステム構成は、ネットワークスループットを管理して優先度に基づく確実な情報の配信を提供するのに使用できる。リソースがオブジェクト指向法においてモデル化されているため、先の方法により、複数のミドルウェアプラットホーム全体の一貫したリソース管理及び多様なリソースアロケーションが可能になる。
【0051】
上述したXMLベースのQoS言語により、アプリケーションがQoS要件をQoS特性の様々な態様において表すのに、柔軟で拡張可能な方法が提供される。QoSサービスプロバイダにはしたがって、QoS特性の全ての態様を単一のフレームワークに統合し処理するアーキテクチャが提供され得る。前述のシステムにおいては、情報システムのリソースはソフトウェアオブジェクトとしてモデル化され、複数のミドルウェアプラットホーム全体で多様なリソースアロケーションを提供する。タスク及びメッセージ両方のQoS特性は単一のフレームワークにおいて管理される。並列アプリケーションのQoS要件は例えば、システムミドルウェア層のQoSサービスプロバイダを通して満たされる。
【0052】
リソースはそのユティリティに基づいてカテゴリーに分類され、ランタイムにおける構成が大幅に簡素化される。前述のリソースアロケーション方法はポリシーベースであってよく、簡単に修正し拡張することが可能である。本方法は、割り当てられたリソースを効果的に管理することによって、重要度の高いクライアントの遅延を重要度の低いクライアントよりも確実に短くする。構成は、ランタイムにおけるクライアントの動作がクライアントのQoS規約を施行するために変わる時に、リソースアロケーションを変えることができる。
【0053】
さらなる実施形態を下記のように請求項の書式に記載することができる:
A11 複数の相互接続ミドルウェアドメイン内及び全体の一貫したQoSレベルを有するメッセージフローを提供するサービス品質(QoS)ブリッジであって、前記QoSブリッジは第1QoSマネージャから少なくとも1つのQoS要件を受信し、少なくとも1つのQoS要件を第2QoSマネージャへ伝播し、少なくとも1つのQoS要件を少なくとも1つのQoSパラメータへ変換するように構成されており、前記QoSブリッジは、少なくとも1つのQoSパラメータを受信し施行して、前記複数の相互接続ミドルウェアドメイン間のメッセージフローを容易にするために、メッセージサービスを利用する。
A12 少なくとも1つのQoS要件が、少なくとも1つのQoSポリシー及び利用可能なリソースに基づくQoS規約を含む、請求項A11に記載のQoSブリッジ。
A13 QoSブリッジが、前記複数の相互接続ミドルウェアドメイン間に一貫したQoSを有するエンド・エンドメッセージフローを提供する、請求項A11に記載のQoSブリッジ。
【0054】
本発明を様々な特定の実施形態の観点から説明してきたが、当業者には、本発明を請求項の精神及び範囲内で修正して実行することができることが分かるであろう。

【特許請求の範囲】
【請求項1】
複数の相互接続ミドルウェアドメイン内及び全体で、一貫したサービス品質「QoS」レベルを有するメッセージフローを提供するための、情報システム・リソースを管理する方法であって:
少なくとも1つのQoS要件を表す第1QoSマネージャ(426、564)からQoSメッセージを受信し;
少なくとも1つのQoS要件を、複数のミドルウェアドメイン(404、406)を通信可能に連結するメッセージサービス(432)に特有の少なくとも1つのパラメータに変換し;
メッセージフローを受信するために、第1ミドルウェアドメイン(404)とメッセージサービスの間にクライアント接続を作成し;
QoSメッセージを第2ミドルウェアドメイン(406)へ送信し;
メッセージフローを送信するために、メッセージサービスと第2ミドルウェアドメインの間にクライアント接続を作成する
ことを含む方法。
【請求項2】
少なくとも1つのQoS要件に基づくサービス品質のために、第1QoSマネージャとクライアント(24、408)の間に第1規約を設定することをさらに含み、第1QoSマネージャからのQoSメッセージの受信が、第1QoSマネージャから第1QoS規約を受信することを含む、請求項1に記載の方法。
【請求項3】
第1QoS規約に基づく情報システムとのクライアントの相互作用の管理と、リソースアロケーションポリシーに基づくシステムのリソースの割り当てのうちの少なくとも1つをさらに含む、請求項2に記載の方法。
【請求項4】
QoSメッセージの第2ミドルウェアドメインへの送信が、リソースアロケーションポリシー(446、530)にしたがったQoSメッセージの変換を含む、請求項3に記載の方法。
【請求項5】
QoSメッセージの送信が、QoSメッセージに基づく第2規約の設定と、第2規約に基づくメッセージサービスと第2ミドルウェアドメインとの相互作用の管理をさらに含む、請求項1に記載の方法。
【請求項6】
情報システムが、サービス指向アーキテクチャ「SOA」を含み、前記方法がクライアントによって呼び出されるサービスとして実施される、請求項1に記載の方法。
【請求項7】
メッセージを発行若しくは購読又はタスクの実行を要求する準備をしている複数のQoSマネージャから複数のQoSメッセージを受信して、QoSメッセージに表された要件に基づくQoSについて、QoSマネージャと規約を設定することをさらに含む、請求項1に記載の方法。
【請求項8】
第1QoSマネージャからのQoSメッセージの受信が、第1QoSマネージャからQoSメッセージが配信されない場合にデフォルトQoSメッセージを適用することをさらに含み、メッセージフローを受信するために、第1ミドルウェアドメインとメッセージサービスとの間にクライアント接続を作成する時に、デフォルトQoSメッセージが少なくとも1つのQoS要件を表す、請求項1に記載の方法。
【請求項9】
メッセージフローをサブスクライバ(34)において受信することをさらに含む、請求項1に記載の方法。
【請求項10】
少なくとも1つのプロセッサによって実行される少なくとも1つの第1ミドルウェアソリューションと第2ミドルウェアソリューションを含む情報システムにおいてQoSを管理するサービス品質「QoS」管理システムであって:
少なくとも1つのQoSパラメータを表すQoSメッセージが前記情報システムのクライアントから受信されるように、前記少なくとも1つのプロセッサで実行される第1QoSマネージャ(426、524);
QoSメッセージが前記第1QoSマネージャから受信されるように、前記少なくとも1つのプロセッサで実行されるQoSブリッジ(430、570);及び、
前記QoSブリッジからのQoSメッセージが前記第2QoSマネージャによって受信され、前記情報システムのサブスクライバへ送られて、クライアントとサブスクライバの間に一貫したQoSを有するエンド・エンドメッセージフローを提供するように、前記少なくとも1つのプロセッサで実行される第2QoSマネージャ(428、566)
を含むQoS管理システム。
【請求項11】
第1ミドルウェアソリューションからのメッセージフローが、前記QoSブリッジによって促進されて、前記メッセージサービスにおいて受信されるように、前記少なくとも1つのプロセッサで実行されるメッセージサービス(432)を利用する、請求項10に記載のQoS管理システム。
【請求項12】
前記QoSブリッジが、受信されたQoSメッセージの前記第2QoSマネージャへの伝達、及びブリッジポリシーを使用して、受信されたQoSメッセージの前記メッセージサービスに特有の一連のQoSパラメータへの修正のうちの少なくとも1つをさらに行う、請求項11に記載のQoS管理システム。
【請求項13】
前記第1QoSマネージャが、前記第1QoSマネージャとクライアントとの間に第1規約をさらに設定する、請求項10に記載のQoS管理システム。
【請求項14】
前記QoSブリッジが:
前記第1QoSマネージャから前記第1規約を受信し;
少なくとも1つのQoSパラメータに関して少なくとも1つのシステムポリシーをチェックして、少なくとも1つのQoSパラメータに表されたクライアントの要件を満たすために、少なくとも1つのリソースを決定し;
第1QoSマネージャからのQoSメッセージの少なくとも1つのQoSパラメータに関して少なくとも1つのシステムポリシーをチェックして、少なくとも1つのQoSパラメータを決定し、少なくとも1つのQoSパラメータに基づいて第2QoSマネージャへQoSメッセージを送信する
ことのうちの少なくとも1つを行う、請求項13に記載のQoS管理システム。
【請求項15】
前記第1QoSマネージャ、前記QoSブリッジ、及び前記第2QoSマネージャのうちの少なくとも1つが、ポリシー及びQoSメッセージのうちの少なくとも1つに基づいて前記情報システムの少なくとも1つのリソースをクライアントへ割り当てる、請求項10に記載のQoS管理システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公表番号】特表2011−505613(P2011−505613A)
【公表日】平成23年2月24日(2011.2.24)
【国際特許分類】
【出願番号】特願2010−533169(P2010−533169)
【出願日】平成20年10月31日(2008.10.31)
【国際出願番号】PCT/US2008/081909
【国際公開番号】WO2009/061667
【国際公開日】平成21年5月14日(2009.5.14)
【出願人】(500520743)ザ・ボーイング・カンパニー (773)
【氏名又は名称原語表記】The Boeing Company
【Fターム(参考)】