JP5670290B2 - 通信サービスのためのプロセスの実行のためのリソースを管理する方法、システム及びコンピュータ・プログラム - Google Patents

通信サービスのためのプロセスの実行のためのリソースを管理する方法、システム及びコンピュータ・プログラム Download PDF

Info

Publication number
JP5670290B2
JP5670290B2 JP2011246353A JP2011246353A JP5670290B2 JP 5670290 B2 JP5670290 B2 JP 5670290B2 JP 2011246353 A JP2011246353 A JP 2011246353A JP 2011246353 A JP2011246353 A JP 2011246353A JP 5670290 B2 JP5670290 B2 JP 5670290B2
Authority
JP
Japan
Prior art keywords
agents
distributed
distributed agents
resources
execution
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2011246353A
Other languages
English (en)
Other versions
JP2012074056A (ja
JP2012074056A5 (ja
Inventor
ロザリオ・アルファーノ
ファブリツィオ・ボッビオ
ジュゼッペ・カッソーネ
ジュゼッペ・コヴィノ
ダニロ・ゴッタ
マリサ・ポルタ
マルコ・ウゲッティ
Original Assignee
テレコム・イタリア・エッセ・ピー・アー
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by テレコム・イタリア・エッセ・ピー・アー filed Critical テレコム・イタリア・エッセ・ピー・アー
Priority to JP2011246353A priority Critical patent/JP5670290B2/ja
Publication of JP2012074056A publication Critical patent/JP2012074056A/ja
Publication of JP2012074056A5 publication Critical patent/JP2012074056A5/ja
Application granted granted Critical
Publication of JP5670290B2 publication Critical patent/JP5670290B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は、通信ネットワークおよびサービスのうちの一方または双方の管理を目的とするプラットフォームにおけるリソース管理方法に関する。特に、本発明は、通信ネットワークおよびサービスのうちの一方または双方の管理用プラットフォームにおけるリソース割り当て方法および対応する管理プラットフォームに関する。
通信ネットワーク/サービス分野において、階層的アーキテクチャで構成され、時としてエージェントを利用する動作支援システム(OSS)等、複数の構成要素を含む管理用プラットフォームが提供されている。
例えば米国特許第6,243,396号明細書に、通信ネットワーク・リソースを制御する相互接続された管理局の多層階層アーキテクチャを有する通信ネットワーク管理システムまたはプラットフォームが開示されている。各々の局は、プロセスの実行に責任を負う多数のエージェントを有しており、これらは知的または単なる応答的エージェントであってよい。
公知のアーキテクチャにおいて、応答的エージェントは局のプラットフォーム部分に置かれ、知的エージェントは局の制御部分に置かれる。知的および応答的エージェントは、当該プラットフォームにFCAPS(故障、設定、課金、性能、セキュリティ)に機能を提供すべく機能構成要素に分類される。
国際公開第01/02973号パンフレットは、分散エージェントを調整するための集中型プロセス・コーディネータを含むプラットフォームの利用を教示しており、これは典型的には構成要素(エージェント)へのジョブの委譲、エージェントからの応答の収集等を含むワークフロー記述(フロー図と同様)を実行するワークフロー・エンジンにより実現される。
米国特許第6,243,396号明細書 国際公開第01/02973号パンフレット
出願人は、上記のアーキテクチャでは、エージェントがワークフロー・エンジンにより委譲されたジョブを実行することが保障されないと考える。実際に、計算能力等、エージェントが利用できるITリソースには限界があり、プラットフォームに求められる業務目標や作業負荷に合致するにはITリソースが十分であるとは限らない。
換言すれば、エージェントが利用できるITリソース如何により、例えば顧客へのサービス提供等、エージェントにより実行されるタスクを必要とする所定の業務目標の達成が妨げられる場合がある。
例えば、タスクとして、規定されたプロセスを所定の持続期間より短い平均時間で完了すること、または一定の期限内に所定数のプロセスを完了することが挙げられる。
エージェントにかかる膨大な作業負荷により、エージェントが所定の平均時間または定められた期限内にタスクを完了することができなくなり、従って業務目標が達成されない恐れがある。
集中型プロセス・コーディネータを用いるエージェントに基づくアーキテクチャの別の問題は、国際公開第01/02973号パンフレットに開示されているように、コーディネータ自体がプラットフォームの動作のボトルネックになる点であり、柔軟性を向上させるべくコーディネータにワークフローを加えるエージェントから外出しされたプロセスロジックが増えるほど、コーディネータが遅くなる。これにより、実行に期限を有するプロセス等、業務性能目標を達成するためのアーキテクチャの能力が低下する恐れがある。
ITリソース管理分野において、米国特許出願公開第2003/0167270号明細書に、スケーラブルなアプリケーションのコピーのインスタンス生成を行なうホスト機を含む分散環境におけるリソース管理システムが開示されている。当該リソース管理システムは、アプリケーションのコピーに関する情報およびホストの性能に基づいて、ホスト群をまたがってスケーラブルなアプリケーションの選択されたコピーを起動、停止、または移動させる信号を生成する。
この種のソリューションは、少なくとも以下の理由により、プロセス・コーディネータまたはワークフロー・エンジンにより調整される分散型エージェント・アーキテクチャを含むプラットフォームには適していない。
− 全てのエージェントが既にいくつかのタスクを実行している場合、緊急のタスクまたはアプリケーションを新たに実行するための空きエージェントが存在する余地がない。
− 新規ワークフロー(すなわち新たな機能)が規定される都度、業務目標(例:業務プロセスの期限)を実現すべく、既知のシステムはアプリケーションのパラメータを測定して、全てのエージェントの挙動を調整すべく新たなモデルを構築する必要がある。
− 既知のリソース管理システムは、複数のコピーにインスタンスが生成され得るアプリケーションまたは機能に対してのみ作用する。
本発明の目的は従って、通信サービスおよびネットワークのうちの一方または双方を管理するエージェント利用プラットフォームにおけるリソースを管理する方法を提供することであり、これにより所定の業務目標を達成すべくリソース使用状況における最適な性能を実現してプラットフォームの効率を向上させる。
本発明の他の目的は、プラットフォームの柔軟性を向上させながら性能向上を実現するために分散型プロセスロジックを有する管理プラットフォームである。
本発明によれば、これらの目的は、通信サービスおよびネットワークのうちの一方または双方を管理するプラットフォームにおけるリソース管理の方法により、かつ独立請求項に記述された特徴を有する管理プラットフォームにより実現される。
本発明のさらなる目的は、特許請求の範囲に記述されるように、通信管理プラットフォームの設定および運転を行なうコンピュータ・プログラム製品またはコンピュータ・プログラムの組、通信ネットワークおよび方法である。
要約すれば、従来技術の短所を克服すべく、本発明は、所定の指標(例:主要業務指標)および目標により駆動される、予測および適応型の機構に基づく方法および対応プラットフォームを開示するものであり、管理プラットフォームにおけるITリソースの使用状況の測定および自動制御を行なう。
好適には、本発明によるプラットフォームのアーキテクチャの特徴は以下の通りである。
− エージェントが提供する全ての機能を実装するエージェント内部のプロセス(ワークフローおよびルール)エンジンを提供することにより、エージェントが実行しなければならないジョブがワークフローの実行となる。ルールエンジンは、特定種類のジョブを実行すべくワークフロー・エンジンに結合することができる。
− プロセス記述を定義および保存してこれらの記述をエージェントに分散するための集中型プロセス記述データベースの提供、
− 業務目標(例:SLA、サービスレベル合意)および機能およびその集計(例:履行、保証、支払い請求等の業務プロセス領域への)の定義に基づく処理優先順位を含む目標データの指定を可能にする目標および制約コンソールの提供、
− プラットフォームの各エージェントにおける各々のプロセスの実行並びに業務プロセスによるワークフローの実行によるITリソースの使用を監視、すなわち、例えば経過時間、実行頻度等を監視すべく構成された制御エージェントの提供、および、
− 業務目標を最大限に達成すべく、指定された目標データ(業務目標)およびリソースの使用状況を示す監視された性能データに基づいて、適応型の方法でプラットフォームの各エージェントにITリソースを再割り当てすべく構成されたリソース割り当てモジュールの提供。
本発明の好適な実施形態によれば、リソースの再割り当てルールを規定すべくグラフィカル・ユーザー・インターフェースとしてリ−アロケータ・コンソールが提供されていると共に、監視コンソールが提供されていることにより、SLAの達成状況および対応ITリソースの使用状況および関連コストの制御が可能になる点が好都合である。
エージェント内部にプロセス・エンジンを提供することが、全てのエンジンが集中型プロセス・コーディネータに置かれている場合にボトルネックを生じることなく柔軟性を向上させ、エージェント間でITリソースを動的に割り当てる際に有利な特徴であることがわかる。エージェント内のプロセス・エンジンにより、各々の機能実行(すなわちプロセスの実行)に際してエージェント内でのリソース使用状況(例:使用されたCPU時間またはRAM)を分析的に測定することが可能になる。
集中型データベースにおけるプロセス記述は、プラットフォーム横断的に各エージェントへそれらのプロセス・エンジン内で利用すべく分散され、プラットフォームの全ての動作機能と自動的に同期化が行なわれるため、ジョブのセマンティクスと協働するリソースの管理プロシージャを調整することが可能である。
実際には、通信サービスおよびネットワークを管理するプラットフォームの管理者は、プロセス・データベース内で1個以上のワークフローおよびルールのうちの一方または双方を規定するかまたは既存のものの組み合わせる任意のFCAPS(故障、設定、課金、性能、セキュリティ)機能を構築することができ、次いで必要なときにエージェントが新規プロセス(ワークフローおよびルール)の定義を自動的に取得して実行することができる。自動的に、目標コンソールが新規プロセスに対するSLAおよび優先順位の規定を可能にする。実行時に、制御エージェントは、新規プロセスのSLA傾向および対応ITリソースの使用状況の制御を可能にして、リ−アロケータ・モジュールが全体構成を最適化できるように、すなわちエージェントにおけるワークフロー優先順位を変更するか、またはより多くの計算リソース(CPU、メモリ等)を与える。
本発明によるリソース管理は好適には、分散されたモジュール(制御エージェント)と共に、集中型モジュール(マネージャ・モジュール)によりプラットフォーム内で実装される。集中および分散機能の組合せは、ソリューションの適応型機構の基礎となる。
本発明のさらなる特徴および利点を、添付図面に関して非限定的な例を用いて以下の記述においてさらに詳しく説明する。
本発明による通信ネットワークおよびサービスの管理システムまたはプラットフォームのアーキテクチャを示すブロック図である。 図1のマネージャ・モジュールの内部アーキテクチャを示すブロック図である。 エージェント・モジュールおよび制御エージェントと共に、図1のホスト機の内部アーキテクチャを示すブロック図である。 別の実施形態によるエージェント・モジュールの内部アーキテクチャを示すブロック図である。 本発明によるリソース管理方法のフロー図である。 本発明によるシステムを含む3層サービスプロビジョニングシナリオの模式図である。 図6のサービスプロビジョニングシナリオにおける多レベル・ワークフローを示す図である。
図1に、本発明による通信サービスおよびネットワーク管理システムの例証的なアーキテクチャを示す。本システムは好適には、各々が1個以上のソフトウェア・エージェント(A1、A2、A3)を含み得る複数のプロセスホスト機Hを含む分散プロセスアーキテクチャに実装されている。
本システム(またはプラットフォーム)は、ホスト機上で動作してプロセス記述の分散、動作の起動、管理統制等、各種の協調動作のために分散エージェントと対話するプログラムまたはプログラムの組を含む集中型制御モジュールまたはマネージャ・モジュールMMを含んでいる。マネージャ・モジュールMMはまた、好適にはシステム管理者等のユーザーと対話するためのグラフィカル・ユーザー・インタフェースを含んでいてよい。
本明細書において、プロセスという用語は、1個以上のワークフロー、1個以上のルールまたは、好適には1個以上のワークフローと1個以上のルールの組合せを表すために用いられる。
ワークフローは、手続きのルールの組に従い、実行中にあるエージェントから別のエージェントへ情報またはタスクが渡される業務プロシージャの自動化されたものとして規定することができる。
ワークフローは、一連のタスク並びに代替的なまたは並列分枝を含むタスク間の時間的かつ論理的依存関係を有するフロー図を介して表すことができる。ワークフロー記述を定式化するXPDL(XMLプロセス記述言語)等の特殊言語が存在する。これらのルールは特定の組の条件/イベントが発生した際に実行すべきアクションの宣言である。
マネージャ・モジュールMMは、全てのプロセス、すなわちプラットフォームの挙動および機能的態様を表すワークフローおよびルールを保存すべく構成されたプロセス記述データベースPDBを含んでいる。
データベースPDBはさらに、例えば、ワークフローおよびルールにより扱われるデータ・モデルを含んでいる。
当業者には知られているように、プロセス記述データベースPDBは例えば、任意の従来型ネットワーク在庫管理システムのカタログ部分に関連付けられてよい。
図1のアーキテクチャは、多層エージェント・モジュール、例えば各々がいくつかのエージェントA1、A2、A3を含む3層を含んでいる。同一レベルに属しているエージェントは相互に接続していても、または互いに独立していてもよい。これらは、より高いレベルのエージェントがあれば、これに結合されている。より低いレベルにおいて、エージェントは、制御下にあるネットワーク要素(一般に通信ネットワークNとして示す)、例えばATMスイッチ、あるいはメールサーバー・アプリケーションまたはVASサーバー・アプリケーション等の他のサービス・アプリケーションAPP、すなわち携帯電話の留守番電話サービス等の付加価値サービス・アプリケーションに結合されている。
マネージャ・モジュールMMは、例えば、通信バスBを介してプラットフォームの他の動作支持システムOSSに接続されている。
コーディネータとして機能しているマスター・エージェントMA、あるいは実装方式の種類に応じて複数のマスター・エージェント群MA(図1に開示せず)が、マネージャ・モジュールMMに関連付けられた多層エージェント・アーキテクチャのルートに提供されている。
各エージェントA1、A2、A3は、プロセス・エンジンPEを含んでいて、プロセス・エンジンPEを用いるいくつかのプロセスの実行責任を負う。
プロセス・エンジンは、ワークフローおよびルールのうちの一方または双方を実行するソフトウェア・モジュールである。プロセス・エンジンの外部設置は性能低下を引き起こし得る遠隔起動を有することを意味するため、プロセス・エンジンPEは各エージェント内に埋め込まれていることが好都合である。
好適には、各エージェントのプロセスは、同レベルまたはより高いレベルを有する他のエージェントにより、外部から起動することができ、各エージェントが起動エージェントに提供するサービスに対応している。
任意の層におけるプロセス・エンジンは、例えば、ワークフローと、ワークフローおよびルールの各々を管理可能なルールエンジンの組合せであることを意図されている。例えば、プロビジョニングプロセスはワークフローとして表す方が適している一方、アラームコリレーションはルールの組合せとして表す方が適している。可能ならば、ワークフローを利用する方が、ルールの矛盾およびルールの管理を取扱う煩雑さが含まれないため好ましい。
図1に示す多層アーキテクチャは、異なるレベルでのプロセスの分割を可能にする。エージェントが配置可能であるレベルの数に制約がない。このように、可能な限り層の数を少なくすることと、分散型組織と集中型組織との間で自由にプロセスの割り当てを許すことのトレードオフを見つけるべくアーキテクチャを設定することが可能である。この分割はまた、業務ビューからシステム・ビューまで、異なるサービス・ビューを提供することも可能にする。
以下において、ワークフロー・エンジンが好ましいと思われるが、ルールエンジンもまた適用可能である。
エージェント(マスター・エージェントおよびサブレベル・エージェントの両方)を実行している各ホスト機は好適には、1個以上の制御エージェントCAを含んでいる。これらは、ローカル・エージェント(すなわち当該ホストで動作しているエージェント)のリソース使用状況および性能の測定、並びにリソース管理の局所最適化の実行に責任を負うモジュールである。制御エージェントCAは、マネージャ・モジュールおよび他の制御エージェントに結合されていて、測定されたデータをマネージャ・モジュールおよび他の制御エージェントのうちの一方または双方へ送信する。
以下にその構造を記述するマネージャ・モジュールMMは、プラットフォームの管理、構成、および制御に責任を負う。人間オペレータおよび外部OSSからの入力データを解析して、業績目標を満たすようにプラットフォームの構成を如何に調整するかを決定すべく構成されている。その主なタスクは以下の通りである。
プロセス記述およびデータ・モデルをプロセス・データベース(PDB)からエージェントへ分散する、
制御エージェントから提供された情報を用いて、ホスト機上でのエージェントの分散、ドメイン管理(ネットワーク全体をエージェントに分割)、性能監視を含むプラットフォームの状態を監視する、
関連する制御エージェントとの対話を介してエージェントによるプロセスの実行用に割り当てられたリソースを最適に使用すべくアクションを実行する(これらのアクションの例として、エージェント間の負荷バランシングの変更およびワークフローの優先順位の変更、すなわち1個以上のエージェント内の待ち行列ジョブの再スケジューリングがある)、
他の動作支援システムと同様、外部システムとの対話。
以下にその構造を記述するマスター・エージェントMAは、プロセスの実行の最上位レベル調整の責任を負う。実際には、最上位層のエージェントに課せられたプロセスには、サブ層エージェントに課せられたサブプロセスが含まれていてよい。さらに、(エージェント以外の)外部エンティティとの対話または下位層エージェントにより分散的には容易にまたは効率的に実行することができないエージェント同士の調整を必要とする機能を提供すべく特徴付けられたプロセスが存在する。エージェントにより実行されるプロセスは、分散的に実行する必要があるものである。
各エージェント(A1、A2、A3)は、任意のFCAPS(故障、設定、課金、性能、セキュリティ)機能等、任意のネットワークもおよびサービス管理機能(すなわちプロセス)を支援することができる。これにより、例えば、日中はサービスプロビジョニングにより多くのエージェントを投入し、夜間はネットワークの最適化により多くのエージェントを投入する等、タスクの優先順位およびリソースへのニーズに基づいてエージェントの実行時にタスクのカスタマイズおよびエージェントへの機能の再割り当てが可能になる。
エージェントにプロセス・エンジンPEの提供することにより、各機能(すなわちプロセス)によるリソースの使用状況並びに機能の起動生起を監視することが可能になる。これらのデータは、マネージャ・モジュールMMにより制御される自動プラットフォーム制御の主な情報源である。
各エージェント(A1、A2、A3)は応答的および能動的な挙動の両方を示し、イベントにより生起されるだけでなく、プロセスを自発的に起動させる。
好適には、エージェント・モジュールは、例えばフォールト・トレランス問題に対応すべく配備が容易になるように制御エージェントまたはマネージャ・モジュールにより処理装置間を移動可能である。
図2に、本発明の好適な実施形態によるマネージャ・モジュールMMの内部構造を示す。
集中型マネージャ・モジュールMMは、例えばサブモジュールに編成されている。
サブモジュールのうち1個はMNG_CNSコンソールであり、一般に、管理コンソールMNG_CNSとして示される。好適な実施形態において、管理コンソールMNG_CNSは、以下のものを含んでいる。
− プラットフォーム性能データを保持している性能データベースPFM_DBに関連付けられた監視コンソールMC、
− 目標および制約コンソールGC、
− リ−アロケータ・コンソールRC、
− 管理用コンソールにより管理される管理データを含む管理データベースADBが関連付けられている管理用コンソールAC、
− サービス生成環境コンソールSCC
並びに
− 容量計画モジュール(図示せず)、
− 予測コンソール(図示せず)。
目標コンソールGC、管理用コンソールACおよびサービス生成コンソールSCCは全て、プロセス記述データベースPDBに結合されている。
マネージャ・モジュールMMは、目標および制約コンソールGCおよびリ−アロケータ・コンソールRCに直接結合されたリソース割り当てRAを含んでいる。
リソース割り当てRAはまた、例えば管理用データベースADB、並びにプラットフォーム性能データを保持している性能データベースPFM_DBに結合されている。
好適な実施形態において、マネージャ・モジュールMMはさらに、監視データ取得モジュールMDMおよびプラットフォーム・コントローラPCを含んでいる。
監視データ取得モジュールMDMは、プラットフォーム・コントローラPCから性能データベースPFM_DBへ性能データを転送すべく構成されている。
さらに、リソース割り当ては、例えば、外部OSSと管理プラットフォームとの間の対話を監視する外部インタフェース・モジュールIに結合されていてよい。
プラットフォーム・コントローラPCは、一般に、マネージャ・モジュールとエージェントとの間のメディエーターとして動作する。
特に、プラットフォーム・コントローラPCは、マネージャ・モジュールの外部にあるマスター・エージェントMA(図示せず)、およびリソース割り当てモジュールRAとの接続を実装し、監視コンソールMC、監視データ取得モジュールMDM、管理用コンソールACおよび管理用データベースADB、並びにプロセス記述データベースPDBに結合されている。
目標および制約コンソールGCは、プロセス記述データベースPDBに保存されているプロセスに関連付けられていて、合わせて目標データと呼ばれる業務目標(例:サービスレベル合意すなわちSLA)および制約の規定を意図としている。
サービスレベル合意すなわちSLAは、業務プロセス・レベル品質の(契約締結または単に同意された)定量化である。SLAは、性能指標(平均実行時間、パーセンタイル値等)に基づいており、これらの指標の値がプラットフォームで保証される旨を宣言する。一般に、SLAはSLA目標(性能指標)およびSLA違約条項(SLA目標と収集された性能データとの比較に基づくSLAコスト関数)、例えばSLA違反の経済的違約の見積、を識別する特定の言語(「文法」)により記述することができる。
SLAは一般的な業務プロセス(例:ワークフロー)または(1個以上のワークフロー属性において定義可能な)その特化されたものの1個に関連付けることができ、その場合、特化されたものに対するSLAは通常、ルート業務プロセスのSLAを上書きする。
制約は、リソース使用状況に関するデータに注目する。これらは、好適には以下のものを含んでいる。
− 保証すべき最低スループット、管理可能な最小数のネットワーク要素(より理解し易い業務測定基準を用いるために、パーセンテージではなく「スループット」という用語を用いるのが好適である)で表される、予め割り当られたリソース、
− 割り当て可能なリソースの最大数(大域的リソースのコストまたはパーセンテージで表され、デフォルト値は例えば50%)。
業務制約を変更する際に、予め割り当られたリソースが割り当て可能な最大容量を上回るか否かを検証することが必要である。
本発明の好適な実施形態によるリソース・アロケータRA(以下、リ−アロケータと呼ぶ)は集中型であって、プラットフォームを適応的に制御すべくエージェントへのリソース割り当てを管理する。これは、例えば以下を受容すべく構成されている。
i) 目標コンソールGCからの業務目標。
ii) 全てのホスト機の性能データ(実行時間等)およびハードウェア・リソース使用状況を監視して、これらのデータを性能データベースPFM_DBから取得する。
iii) オプションとして、負荷テストから得た情報、すなわちワークフローをより多く使用した場合のリソース使用状況に関する測定値。
iv) 利用可能なホスト機およびそれらのハードウェア特性(正規化されたCPU速度、例えば標準性能評価協会によるSPECINT2000レートを用いたもの)に関するデータ。これは、全体的な処理能力(例えば基準CPUの1時間当たり秒数で測定)を監視する。
v) 全てのホスト機のハードウェア・リソース使用状況(性能データベースPFM_DBから)。
リ−アロケータRAは好適には、評価モジュールおよび決定モジュールの2個のサブモジュールを含んでいて、本明細書の以下にその例証的な記述および機能を述べる。
評価モジュールは、
− 最上位レベル(MA)ワークフロー実行要求、および
− 全てのエージェント内のワークフロー実行要求待ち行列
に関するデータを受信すべく構成されている。
さらに、評価モジュールは、過去のワークフロー実行要求の履歴的傾向および要素および複雑度に関する管理された通信ネットワークの傾向を分析すべく構成されている。
決定モジュールは、過去情報に基づいて、プラットフォームが後述するいくつかの基準に従い全ての要求に対応可能か否かを決定すべく構成されている。
プラットフォームが全ての要求を管理することが不可能な場合、決定モジュールは、例えば警告メッセージを送信、どのアクションが状況を改善できるかを決定すべく構成されている。
特に、リソースは十分あるが、SLAが完全に満足されていない場合、決定モジュールは処理(すなわちワークフロー実行)をプラットフォーム全体にわたり再配分させるべく構成されている。好適には、これらのアクションは、ワークフローの異なるインスタンスに関連付けられた制約および優先順位を考慮している。
管理用コンソールACは、例えば、少なくとも以下のうち一組を定義および監視することを意図している。
i) プラットフォーム、すなわち分散エージェントによるプロセスの実行の処理能力を保持するホストHのハードウェア構成。例えば、新規のホスト機が所定のホスト群に追加された際に、自動的にプラットフォーム全体に結合される。これは、例えば、ホストが自身の存在を通知するか、または、管理用コンソールが例えばGUIを介してオペレータにより入力されたコマンドを受信することによりホストHを認識するためである。
ii) ソフトウェア分散/割り当てを規定するためのGUI(すなわち目標および制約コンソールGCにおける制約に関するデータを受信するインタフェース)。
特に、これを用いて、ホスト機群を例えば以下に基づいて設定する。
− 地理的制約(例えば、特定のワークフローは、ある領域にインストールされているが別の領域にはインストールされていないエージェントだけで実行することができ、あるいは、特定のホスト機だけで実行することができる)、
− 階層的制約(例えば、特定のマシンでは第2レベルのワークフローのみ動作可能である)。
− 業務制約(すなわち、特定の種類のプロセスに対する制約)。
iii) ワークフロー・スケジュール(例えば、サービスプロビジョニングワークフローは朝の時間帯にのみスケジュールされる)。
リ−アロケータ・コンソールRCは、リソース再割り当てポリシ、すなわち、業務制約および監視されたデータに基づいて業務目標の満足度を最適化すべくリソースをいつ、どのように再割り当てするか、の命令を規定すべく構成されている。リ−アロケータ・コンソールでは、集中型および分散型制御の両方のポリシを入力することができる。特に、以下の定義が可能である。
i) 最高レベルのSLA満足度に達すべく、いつ、どのようにワークフロー優先順位に作用すべきかを規定する、集中制御用のルール。これらのルールは、管理されたプラットフォームを全体として見て(すなわち、マシンに対して直接的には作用しない)、リソース割り当てモジュールの全ての入力データおよび予測的データに基づいて作用する。
ii) ローカル・ソフトウェアおよびハードウェアのリソースの使用状況を最適化する目的で、関連CA(スレッド並列度およびロード・バランシング)を通じて単一エージェントに作用する、分散制御用のルール。
iii) ルールに関する複雑な式を計算する機能。
監視コンソールMCは、以下のような監視情報を閲覧すべく構成されている。
i) 定時(例:1日当たり)平均スループット、待ち行列(例:1日当たり)の要求数、平均実行時間(例:1日当たり)、目標が設定された全ての業務トランザクションの期限。
ii) 合意されたSLA指標の測定値間の差違に関する、サンプリング期間にわたり計算されたSLAの状況(違反したものは強調表示)、および関連コスト関数の評価。
iii) 全てのワークフローにおけるハードウェア・リソースの使用状況、例えば秒単位でのCPU使用量および使用RAMのうちの一方または双方(単一レベルおよびそれを下回る全てのレベルについて)。これは、全てのホスト機が他とは計算能力が異なるため、ハードウェア・リソースの使用状況、例えばCPU使用量、は基準CPUに正規化される。
iv) アカウント情報。全てのワークフローにおいて使用されたリソース(合計に対するパーセンテージ、およびコストに関して)。
監視コンソールMCにより、階層的に、ワークフロー(特に、ワークフローの全てのブロック)の性能およびリソース使用状況を閲覧することが可能になる。全てのSLAについて、リソースの使用が多いために、最適化する価値があるワークフローについてレポートを提出することが可能である。ワークフローの異なるレベルに他の測定点が設定された場合、それらはMCにも提示される。また、MCは、ワークフローにより使用されたリソースに関して、支払い請求に関する情報を表示する。
サービス生成環境コンソールSCCは、PDBにおけるプロセス、すなわち管理プラットフォームにおいて提供される全ての業務機能を定義、生成、および変更すべく構成されている。これは、本タスクの実施を容易にすべく、グラフィック・インタフェースに基づいている。本コンソールもまた、ワークフローに新規の監視点を挿入可能にしている。
さらなる実施形態において、MMモジュールにより管理されるデータはまた、MMモジュールに予測コンソールおよび容量計画モジュールを追加することにより、有用な容量計画を実現するために用いられる。
予測コンソールは、有用な容量計画活動を実現するための使用状況予測を設定すべく構成されている。本コンソールの入力は以下の通りである。
i) 期待スループット、および
ii) ネットワーク・ホストの期待個数および種類(この数値は、プロセス記述データベースにおけるデータの予測として計算することもできる)。
容量計画モジュールは、時間経過に伴いハードウェア・リソースを保証すべく構成されている。これは、予測コンソールおよび他のコンソール(目標および制約コンソール、管理用コンソールおよびリ−アロケータ・コンソール))から入力を受信して、リソースの可用性を確認すべく構成されている。
リソースが十分でない場合、容量計画モジュールは、予想される増加傾向に対処するために必要なハードウェアの量について、コンソールのオペレータに警告すべく構成されている。本モジュールは、以下のうち少なくとも1個を含む一組のパラメータに基づいて分析を行う。
i) 期待スループット(履歴傾向に関して)、
ii) 全てのワークフロー(特に第一レベルのワークフロー)のリソース使用状況の情報、
iii) 地理的制約。
容量計画モジュールは不確実なデータ(特に長期データ)に基づいているため、主に通知目的で構成されている。将来のニーズを強調することができるが、好適には割り当てRAと対話することはない。
図3に、ホストの全体的な性能および当該ホストで動作する全てのエージェントの制御に責任を負うエージェント・モジュールAおよび制御エージェントCAを含むホスト機の内部構造の例を示す。
各エージェントAは、以下の構成要素のうち少なくとも一組を含んでいる。
− ワークフロー待ち行列または待ち行列WFQ。これは、各々の下位待ち行列が同一優先順位の要求を保持している多レベルの優先順位待ち行列である。エージェントへ送信された各々のワークフロー要求は、自身の優先順位に基づいて対応する下位待ち行列に挿入される。図3において、異なるワークフローをWF1、...、WFnで示す。下位待ち行列内でワークフロー要求の欠乏を避けるため、待ち行列WFQは、例えばタイムアウト基準に基づいて、下位待ち行列内の要求について優先順位の更新を実施する。
待ち行列WFQ上の情報、特に以下のものが待ち行列WFQに関連付けられている。
各種のワークフローについて測定されたワークフローのCPU消費時間(これらのデータはPFM_DBから取得された)を加算して計算された推定CPU消費時間、
特定種類のワークフローが他のエージェントにより実行されることを要求される速度(例:ワークフロー/時間)(要求はエージェント内の待ち行列に入れられる)を統計的に推定する、要求入力速度、
− ワークフロー待ち行列WFQに関連付けられたワークフロー・スケジューラWFS。これは、待ち行列に含まれるワークフローWFnをそれらの優先順位に基づいてスケジューリングすべく構成されている。エージェントの1個以上のプロセス・エンジンがワークフローを実行する準備ができる都度、スケジューラは、待機中のプロセス・エンジン・スレッドの1個へ待ち行列内でより高い優先順位のワークフローを送信する。
− ワークフロー・スケジューラWFSにより制御される複数のプロセス・エンジン・スレッドTH1、...、THn。全てのエージェントは、設定可能な個数のワークフローを同時に実行することが可能である。これは、エージェント内で複数のプロセス・エンジン・スレッドTH1、...、THn(独立エグゼキュータ)を設定することにより実現される。各プロセス・エンジン・スレッドTH1、...、THnは、同時に1個のワークフロー、例えばJava言語で実装されたスレッド、を実行することが可能である。
制御エージェントCAは、好適にはソフトウェアで実装された以下の構成要素の少なくとも一組を含んでいる。
− リソース・モニタRM:本構成要素は、自身の制御下にあるエージェントにおけるハードウェアおよびソフトウェアのリソース使用状況に関するデータを監視および収集すべく構成されている。
その役割は、ホスト上でのエージェント(エージェントホスト)を含む現在のリソース使用状況およびワークフローの実行によるCPUとメモリ消費の両方を測定することである。測定された値は、マネージャ・モジュールMMおよびスレッド・コントローラTCへ送信される。
− スレッド・コントローラTC。これは、リソース・モニタRMおよびワークフロー待ち行列WFQに結合されていて、局所性能を制御すべく構成されている。これは、能動的にエージェント・スレッドの並列性を管理すること意図している。これは、入力として、待ち行列内で実行待ちであるワークフローの個数、実行中のマシンのPEスレッドのCPU使用量およびPEの総数を受信すべく構成されている。上記の入力に基づいて、スレッド・コントローラTCは、最適なワークフロー実行並列性を実現すべくプロセス・エンジン・スレッド(PEスレッド)の個数を増減させる。これは、例えば、実行待ちであるワークフローを待ち行列が含んでいる場合、PEスレッドの総数が許容された最大個数を下回る場合、かつCPU使用量が指定された閾値を下回る場合に、新規のPEスレッドを生成する。しかし、エージェントが、外部リソース(装置、ネットワーク機器等)との直接対話を担当している場合、PEスレッドの許容最大個数は外部リソースの許容可能な並列性により制限される。さらに、いくつかのPEスレッドが所定の期間使用されていないことがわかった場合、スレッド・コントローラはPEスレッドのガーベージ・コレクタを実行する。
− プロセス・エンジン・スレッドに結合されたディスパッチャD。本構成要素は、他のエージェントへワークフロー実行要求を送信すべく構成されている。各PEスレッドはディスパッチャDを用いてそのような要求を送信する。
ディスパッチャは、例えば、以下のようにロード・バランシング・アルゴリズムを用いて、他のエージェントへ要求を送信する。これは、要求を送信するための最適なエージェントを、2段階で選択する。
第一に、CPUおよびメモリの観点から負荷がより少ないホストを選択する。第二に、エージェント待ち行列の推定CPU消費時間の最小量に基づいて選択されたホストの利用可能なエージェントを選択する。
制御エージェントCAは、好適には自身の側に、好適な実施形態による重要な特徴を有している。これらは、自身のプロセス・スレッドの並列性を能動的に管理する(局所最適化)ことが可能である。待ち行列の再順序付けおよび並列性管理の二つの能力が合わさって、本発明の一態様による適応型機構の基礎をなす。
図4に示す本発明の別の実施形態によれば、例えば、ホスト機H上に単一のエージェント・モジュールAが存在するならば、リソース・モニタRM、スレッド・コントローラTC、および、ディスパッチャDをエージェント・モジュールに付加することができる。
本発明のシステムの好適な実施形態は、移動特性を有するエージェントを実装するJADE(Javaエージェント開発フレームワーク)、プロセス定義を行なうXPDL(XMLプロセス定義言語)、およびSharkなどのXPDLワークフロー・エンジンを使用して実装される。
以下に、動作を示す図と共に、リソース割り当てモジュールについてより詳細に記述する。
リ−アロケータRAは、制約プロセス、データ操作、および設定変更の機能を有するエキスパート・ルールベース・システムとして実装することができる。管理されたネットワーク、外部システム、人間の知識、および内部分析から得られた全てのデータ、制約、およびルールがその知識ベースを構成しており、これを関連する知識データベースにより具体的に表現することができる。
リ−アロケータ・モジュールRAは、シナリオの状況に応じてケース毎に設定可能な所定の分析期間で評価および決定モジュールを実行する。
第一に、リ−アロケータは、後続する期間のために予測されたサービス/機能要求の個数を評価すべくバスBを介してプロセス要求に関するデータを外部システムから取得し、この情報を関連する知識データベースに保存する。
次いで、決定モジュールは、所定の業務目標を最適な仕方で達成すべく実行されるアクションを見出すためにリソース再割り当てルールを有効化する。
詳細には、各々の期間Tで、リソース割り当てモジュールは、履歴情報に基づいて、待ち行列に入れられた要求の個数および予測された要求の個数を考慮する。当該モジュールは、利用可能なハードウェア・リソース(主にCPUとRAM)の量の第一の評価を実行する。これらのデータは、後述する「バックグラウンド・エラー訂正」を考慮しつつ、当該期間の終わりで実際に測定されたデータを使用して調整される。
以下のデータが統計方法で集められる。
− 各々のワークフローについて各々のレベルにおけるCPUニーズ、および
− 下位ワークフロー要求の観点での最上位レベルのワークフローの合成(アーキテクチャの全てのレベルに関連付けられたCPUニーズがあれば、この情報はまた、地理的制約があればこれを考慮しなければならない)。
収集された情報は、時刻tにおける待ち行列の長さと内容、および期間[t,t+T]の間に(予想により)期待される要求の個数に相関付けられて、後続する期間の組または複数の期間の後に置かれた期間の組として意図される後続期間におけるCPU能力の合計必要量を計算する。
次いでCPUの総量、すなわち新たな期間(レベルおよび地理的制約を考慮して)に対して要求される計算能力が、利用可能なCPU能力と比較される。これが十分でない場合、コンソールに警告(新規ハードウェアを要求する)が生成されて、ワークフローの優先順位により負荷をどのように扱うかが決定される。
利用可能なハードウェア・リソースに関するデータを調整するために「バックグラウンド・エラー訂正」が考慮される場合、各期間毎に全てのワークフローについて、かつ全てのホスト機について、先行期間で使用されたCPUの量が、異なるワークフローにより使用されたCPUの量と比較される。この値を用いて、後続期間でのCPUの実際の利用可能性を「修正する」ために用いる。
本発明による方法およびシステムでは、優先順位に基づくポリシを使用することにより、異なるレベルの優先順位がある。各期間T毎に、決定モジュールは管理アルゴリズムに従い、業務目標を達成すべく優先順位付き待ち行列を操作することができる。欠乏を避けるために、ワークフロー要求が優先順位の低い待ち行列で過大な時間を消費した場合、その優先順位が自動的に更新されて、より高い優先順位付き待ち行列へ要求が移動されるようにする。
本発明の好適な実施形態によれば、管理アルゴリズムは、ステップ毎にリソース設定を改良して、漸進的な挙動により最適設定に到達しようとする適応型ソリューションに基づいている。現行アプローチの結果は、平均的なワークフロー実行時間の少なくとも2〜3倍(合理的な期間は、アプリケーションの状況に応じて5分〜1時間以上の範囲で変動し得る)である分析の期間を用いて保証される。
優先順位は、以下を考慮しつつ、ワークフローの全ての実行に関連付けられている。
− 同意されたSLA(リスクの大きいワークフローほど、高い重みを維持する)の状況、
− ワークフローの目標コンソールにおいて規定された初期優先順位、並びに各SLAの優先順位および経済的意味、
− ワークフロー用の予め割り当られた最小限のリソース量、
− 割り当て可能なリソース最大量(SLAの初期交渉の間に規定される)。
これは、優先順位が時間依存であることを意味する。ワークフロー性能のインスタンスがSLAに近づいている(すなわち、性能が低下している)場合、その優先順位がより高く設定される。
プロセス・エンジンの代わりに、例えば統計技法によるCPU評価等、機能の実行を定義および測定する任意の手段を用いてもよい。
以下において、提唱されたアーキテクチャに基づく性能適合シナリオの例を示す。最適化すべきリソースはCPU負荷である。
現行シナリオによれば、最上位レベルのワークフローは、時間t>>ΔT(ΔTは観測期間)内に完了されるワークフローのパーセンテージで表現された優先順位特性により特徴付けられるSLAが関連付けられた業務である。最後の仮定は、プラットフォームに対し期間t内に再調整するのに十分な時間を与えるために必要である。
最上位レベルのワークフローは、多くの下位ワークフローから構成されている。全てのワークフローは、実行前の待ち行列内での待ち時間およびワークフローCPU時間スライスに影響を及ぼす優先順位特性を有している。
入力データは以下の通りである。
− 各ワークフローおよび各ホスト機のCPU負荷[秒]、
− 制約、すなわち同一ワークフローはホスト機郡の一部だけで実行可能である、
− 下位ワークフローの観点からの第一レベルのワークフロー構成、
− 過去のΔT期間におけるワークフロー到着数、
− 過去のΔT期間におけるワークフロー実行回数。
目標は以下の通りである。
− 次のΔT期間で全てのワークフローを実行するのに計算リソースが十分であるか否かを予測する、
− 計算リソースがSLAを遵守するのに十分であるか否かを予測する、
− ワークフローの実行優先順位がSLAの遵守に到達するための適合。
性能適合プロセスは、全てのΔT期間で実行された監視に基づいており、最短プラットフォーム適合時間を表す。
図5のフロー図を参照するに、全てのΔT期間で実行された監視の例をレポートしており、割り当てRAにより各ΔTについて以下のステップが管理される。
1) 各ホストでの各ワークフローのCPU負荷の評価(ステップ100)。これは、ホスト・サンプル上でワークフローの負荷試験を実施して、CPUドキュメンテーションを用いることにより達成される(先験的予測)。得られた値は、ワークフロー実行に対する制約を考慮しつつ、先行ΔTで実行された各ワークフローに関連付けられた実際のCPU時間を使用して微調整することができる、
2) 未だ待ち行列で待機しているワークフローに加え次のΔT内に到着が予想されるワークフローを実行するために必要なCPU時間の予測(ステップ120)、
3) 計算リソースの観点から必須であるホスト群を識別すべく、ステップ120で評価されたCPU時間を、利用可能なCPU時間と比較(ステップ140)して、影響を受けるSLAに第一ワークフローを関連付ける。必要とされるCPUリソースが利用可能なCPUリソースより大きい場合、CPUリソース不足を通知する(ステップ150)、
4) 各SLAについて、SLA要求を満たす最小数のワークフローを実行するために必要なCPU時間を予想(ステップ160)し、次いでこれを利用可能なCPU時間と比較(ステップ170)して、SLAを遵守するために計算リソースが十分か否か判定する、
5) 上のステップにおいて、ワークフローを実行する現行のプラットフォーム優先順位設定がSLA制約に対応できないとされた場合、(計算リソースの観点からワークフロー重みを考慮しつつ)ワークフロー優先順位のバランスを見直して、ワークフロー優先順位の適合手法(ステップ180)を通じて設定を調整しなければならない、
6) 優先順位の適合が必要でない場合、または、優先順位適合が実施された場合、システムは性能適合プロセスを終了させ、次のΔT監視期間を待つ。
性能適合プロセスの予測手法の例を以下に詳述する。以下の定義を行なう。
− ΔT:監視期間および最短システム適合時間、
− LWf(n):ホストn上でのワークフローwfの実行に要するCPU負荷[秒]。これらの値は、先験的に(または、自動学習方式を用いて)推定し、次いでプラットフォーム動作の間に調整することができる。例えば、ある時間にわたる移動平均による。
− VWf(n):ホストn上のワークフローwfに対する制約であって、次式で与えられる。
Figure 0005670290
次のΔT内に予見される全てのワークフローを実行するために必要な予想CPU時間は次式で計算される。
Figure 0005670290
ここで、
gは、集合WF(g)内の全てのワークフローについて同等なホストのグループである。これは、集合WF(g)に属する各ワークフローが、グループgの中の1個のホストにより同じ確率で実行できることを意味している。
lwfはグループgのホスト上のワークフローwfを実行するために必要な予想CPU時間であり、次式で与えられる。
Figure 0005670290
NEPwfはワークフローwfの予見される実行回数であり、次式で与えられる。
NEPwf(g)=NQwf+NAPwf(g)
ここで、
NQwfは、次式により第一のレベル・ワークフロー呼び出しの観点で表された実行待ち行列のワークフローwfの総数である。
Figure 0005670290
NAPwf(g)は後続するΔT期間において予見されるワークフローwfの総予想数であり、次式で与えられる。
Figure 0005670290
ここで、
Piは先行するΔTiに到着したワークフローの重みである。
NAwf(l1),i(n)は、期間ΔTiにホストnに到達した、第一のレベルのワークフローwfl1の下位ワークフローであるワークフローwfの数である。
上述の三種の目標を参照するに、予想および適合ステップは以下のように実行される。
利用可能なCPU時間が後続するΔTで予見されるワークフローを実行するのに十分であるか否かを予想すべく、各々のグループgについて、以下のようにCPU時間CpuTimeP(g)と、グループgで利用可能なCPU時間との比較が実行される。
Figure 0005670290
もし、
Figure 0005670290
ならば、システムは全てのタスクを実行するための十分な計算リソースを有している。
Figure 0005670290
ならば、システムはより多くのCPU時間を必要するため、
a) 計算リソースの観点から必須であるホストのグループg
b) このようなリソース不足でより重大な影響を受ける恐れのあるSLAに関連付けられた第一レベルのワークフローを含むメッセージを送信する。
計算リソースがSLAを遵守するのに十分であるか否かを予想すべく、第一レベルのワークフローwfl1で規定された各SLAについて、SLAを遵守するために後続するΔTで実行されるwfl1の個数NSLAwfl1が計算される。
SLAが、時間t(但しt>>ΔT)内に実行されるワークフローwfllのパーセンテージp[%]として規定されている場合、NSLAwfllは次式で与えられる。
Figure 0005670290
ここで、
NSLAQwfl1は、各ΔTiについて、ΔTi内に到着して未だ待ち行列内で待機しているワークフローwfl1の数と、SLAを遵守すべくこれらのワークフローを期限内に完了させるために依然として利用可能なΔTsの数n=(t−kΔT)/ΔTとの比の和により与えられる。kは、ワークフローが到着してから待ち行列内で待機している間のΔTsの数であり、
NSLAPwfllは、次のΔTに到着するワークフローwfllの予想数と、SLAを遵守すべくこれらのワークフローを完了するために依然として利用可能なΔTsの数との比(すなわちt/ΔT)である。
従って、ワークフローwfl1がSLAを遵守すべく必要とされるCPU時間は、次式で与えられる。
Figure 0005670290
ここで、
Figure 0005670290
ここで
Figure 0005670290
かつ
Figure 0005670290
ここで、NEwf(wfll)(g)は、ワークフローwfl1の各々の実行に対してホスト・グループgで実行されるワークフローwfの予想数であり、次式で与えられる。
Figure 0005670290
再び、
Figure 0005670290
ならば、システムはワークフローwfl1がSLAを遵守すべく十分な計算リソースを有している。
Figure 0005670290
である場合、システムは、ワークフローwfl1がSLAを遵守させることができず、従って、以下の節に述べるワークフロー優先順位適合手法が適用される。
ワークフロー優先順位適合手法は、次式
Figure 0005670290
が成立する、SLAに関連付けられた少なくとも1つのタイプAの第一レベル・ワークフローが存在し、一方、他のタイプの第一レベル・ワークフローについて次式が成立する場合に適用される
Figure 0005670290
本手法は各種のアクションで構成され、以下にその少なくともいくつかの例を複雑度の順に記載する。
a) タイプAワークフローの優先順位を上げる。
b) タイプBワークフローの優先順位を下げる
c) 各々の第一のレベル・ワークフローに重みを関連付けてアクションa)またはb)を実行すべく最も関連のあるものを選択する
d) 違約条項が時間とともに増大しないSLAについて、先行ΔTにおいて既にSLAの遵守に失敗したワークフローの優先順位を下げて、
e) 違約条項が時間とともに増大するSLAについて、先行ΔTにおいてSLAの遵守に失敗したワークフローの優先順位を上げる。
アクションd)およびe)は、目標および制約コンソールGCで規定されたSLA違約のコスト影響を最小化しようと試みる機能に基づいている。
本手法は便利な点として、各々のワークフローに割り当てられるCPU時間の最大量等、リソース使用に対する制約を考慮し続ける。これは、予約されたCPU時間の最大量を既に使用しているワークフローの優先順位をさらに上げることができないことを意味する。
各ワークフローの正確なコストの集計が重過ぎる場合、別の可能な方法として、実行された「構築ブロック」の数をエージェントが所定の間隔(例えば5分毎)で集計してシステムのリソース使用状況(例えばCPU使用)との相関を求めることができる。
負荷が過剰な状況下にあるコンピュータシステムの性能を推定するために多変量回帰技術がしばしば利用される。この選択は、容量を超えて実行された多くのインフィールドOSSの回数の挙動の分析に基づいている。その結果、CPU使用等、大多数のOSSの共通の性能尺度を線形回帰によりモデル化できることがわかった。システム応答時間は、例えば、適度な指数法則に従い増大する。このように、システム性能予測の下限は、システム・リソースデータおよびワークフロー実行データに基づいて多変量線形回帰技術により得られる。
簡単な多項式モデルの例を次式に示す。
Ucpu=a0+a1・NA+a2・NB+a3・NC
ここで、
Ucpu = エージェントのCPU使用
NA = 構築ブロックAの実行回数
NB = 構築ブロックBの実行回数
NC = 構築ブロックBの実行回数
である。
好適には、全ての尺度(特にSLA定義)は、一貫した方法で適合を最適化するための経済的数量で表現すべきである。
例えば図6に、本発明による柔軟性およびスケーラビリティに特徴を有する3層サービスプロビジョニングシナリオの設定を示す。
この例では、最下位層のエージェントは、ネットワーク要素との対話の責任を負っており、リソース・プロキシと呼ばれ、RPl、RP2、RP3で示す。
「オファー1」と名付けられた広帯域サービスは、IP接続を得るべく、アクセス装置(例:ADSL設備)を含む通信ネットワーク、ATMバックボーンおよびBAS(広帯域アクセス・サービス)を介して提供される。
RPにより提供されるサービスの例として、ポートの設定、交差接続の生成、接続属性の変更がある。その各々は、設備へ/から、送信および受信のうちの一方または双方をされる一連の基本命令を含んでいてよい。
AA1、AA2、AA3は各々、ADSL設備E(エンドツーエンド回路の端点A)の画像を表すリソース・プロキシRP1、ADSL設備Eに接続しているATMスイッチSWの画像を表すリソース・プロキシRP2、およびBAS(エンドツーエンド回路の端点Z)の画像を表すリソース・プロキシRP3を管理するエージェントである。
サービス「オファー1」の提供活動に関わる多レベル・ワークフローを図7に示す。
レベル1すなわち最上位レベルのワークフローは、2個のステップまたはタスクを含んでいて、マスター・エージェントMAにより実行される。第一のもの(ADSL接続性)は、エージェント・レベル(AA1、AA2、AA3)で実行されるレベル2のワークフローの実行を必要とする一方、第2のもの、すなわちメールボックス・タスク(本例では詳述しない)は外部プラットフォームにより実行可能である。
ADSL接続性タスクは従って、一連のレベル3ワークフローを含むレベル2ワークフローであり、リソース・プロキシレベル(RPl、RP2、RP3)で実行されるベンダー依存の技術である。レベル3ワークフローは、リソース・プロキシにより通信ネットワーク設備側で実行する必要がある一連のコマンドを含んでいる。レベル2ワークフロー「ADSLポート・ベンダーA生成」を拡張したことによるレベル3ワークフローの例を図7に示す。
監視コンソールMCは、各ワークフローのリソース使用状況(CPU、RAM)および経過時間を測定して、特定のベンダーまたは特定のワークフローに問題があれば強調表示する。
メールボックスが無い点以外はサービス「オファー1」と同様の別サービス「オファー2」が存在すると仮定すれば、目標コンソールは、SLA制御ルールおよび関連コスト関数を用いてオファー1およびオファー2に対してSLAを規定することができる。サービス「オファー2」に対するSLAがより重要(例えば、「オファー2」に関連付けられたコスト関数は平均実行時間である1秒を超えた秒数に等しく、「オファー1」に関連付けられたコスト関数は平均実行時間である4秒を超えた秒数に等しい)場合、「オファー2」に対する優先順位は「オファー1」の優先順位より早く増大する。これは、同数の要求に対してハードウェア・リソース(例:CPU)が不足している場合、「オファー2」のスループットが「オファー1」のスループットより高いことを意味する。
従って、プラットフォームは、外部オペレータにより設定されたにせよ、またはエージェント飽和によるものにせよ、自身の目標に達するようリソース使用を調整する。
当然ながら、本発明の原理は変わらず、実施形態の形式は単に非限定的な例として記述・図解されたものに関して各種の変更が可能であるが、これらは添付の特許請求の範囲により規定される本発明の保護範囲から逸脱するものではない。

Claims (27)

  1. 通信サービスのための管理プロセスの実行のためのリソースを管理する方法であって、複数の分散エージェントが、前記管理プロセスの前記実行を担当するそれぞれのプロセス・エンジンと、前記プロセスの実行要求を記憶するそれぞれの手段とを備え、集中型マネージャ・モジュールが、前記リソースの管理に使用され、プロセスは該プロセスのタイプにより定まる優先順位を有し、実行要求が前記手段に記憶されたプロセスは、該プロセスの優先順位に従って順番に実行され、前記リソースの管理において達成すべき目標は、前記複数の分散エージェントによるプロセスの実行に対する目標および該プロセスによって使用されるリソースに対する制約を含み、前記方法は、
    a) 前記プロセス・エンジンが、前記複数の分散エージェントにおけるプロセスの実行および該プロセスによって使用されたリソースを監視するステップと、
    b) 前記集中型マネージャ・モジュールが、監視されたプロセスの前記実行および監視された前記リソースを表す性能データを収集するステップと、
    c) 前記集中型マネージャ・モジュールが、収集された前記性能データを、前記目標を示すデータと比較するステップと、
    d) 収集された前記性能データと、前記目標を示す前記データとの比較に基づいて、前記集中型マネージャ・モジュールが、少なくとも1個の違約条項が適用されるかを判定するステップと、
    e) 少なくとも1個の違約条項が適用されると判定された場合に、適用される前記少なくとも1個の違約条項に基づいて、前記集中型マネージャ・モジュールが、前記分散エージェントにおいてあるタイプのプロセスの優先順位を変更することによって、前記複数の分散エージェントにおいてリソースを再割り当てするステップと
    を含む、方法。
  2. 前記ステップe)は、
    − 所定の観測期間で評価ステップおよび決定ステップを実行するステップ
    を含み、
    − 前記評価ステップは、
    − 前記集中型マネージャ・モジュールが、前記複数の分散エージェントが含む前記手段に記憶されたプロセスの実行要求と、前記複数の分散エージェントにおいて実行されたプロセスの履歴とに基づいて、少なくとも1個の後続する観測期間での、予想されるプロセスの実行回数および実行されるプロセスの1回の実行に必要なリソースの両方を表すデータを収集するステップと、
    − 前記集中型マネージャ・モジュールが、収集された前記データに基づいて、前記少なくとも1個の後続する観測期間での前記複数の分散エージェントが要求するリソースを評価するステップと
    を含み、
    − 前記決定ステップは、
    − 前記集中型マネージャ・モジュールが、評価された要求される前記リソースを、前記複数の分散エージェントの各々により利用可能なリソースと比較するステップ
    を含み、前記比較の結果を用いリソース再割り当てルールに従って、適用される前記少なくとも1個の違約条項が示すコストを表す関数の値を最小化するように、あるタイプのプロセスの優先順位を変更する請求項1に記載の方法。
  3. プロセスを表すプロセス記述は、前記集中型マネージャ・モジュールが含むプロセス記述データベースに保存された、請求項2に記載の方法。
  4. 前記プロセス記述はワークフローおよびルールのうちの一方または双方を含み、前記ワークフローが表すプロセスの実行により、時間的かつ論理的依存関係のある一連のタスクが実行され、前記ルールが表すプロセスの実行により、あるイベントが発生したときに特定のアクションが実行される、請求項3に記載の方法。
  5. − 前記複数の分散エージェントの各々は、複数の階層レベルのうちの1つの階層レベルを有し、前記複数の分散エージェントの各々において、前記プロセスは、同レベルまたはより高い階層レベルを有する他の分散エージェントにより起動することができる、請求項1〜4のいずれか一項に記載の方法。
  6. 前記システムは制御エージェントを含み、前記制御エージェントは、前記複数の分散エージェントに関連付けられ、
    − 性能データを収集する前記ステップは、
    − 前記複数の分散エージェントが、前記性能データを、前記複数の分散エージェントに関連付けられた前記制御エージェントへ送るステップ
    を含み、前記制御エージェントは、前記性能データを前記集中型マネージャ・モジュールに送る、請求項5に記載の方法。
  7. − 前記システムは、少なくとも1個のマスター・エージェントを含み、前記マスター・エージェントは、前記複数の階層レベルのうちの最上位の階層レベルを有し、前記最上位の階層レベルより低い階層レベルを有する前記複数の分散エージェントに対するプロセスの実行を調整する、請求項5に記載の方法。
  8. 各分散エージェントが含む前記手段は、複数レベル優先順位処理待ち行列である、請求項1〜7のいずれか一項に記載の方法。
  9. 前記プロセス・エンジンは少なくとも1個のプロセス・エンジン・スレッドを含み、前記方法は、前記少なくとも1個のプロセス・エンジン・スレッドによりプロセスを実行するステップを含む、請求項8に記載の方法。
  10. 前記複数レベル優先順位処理待ち行列内の前記プロセスの実行要求の順番は、ある期間毎に更新される、請求項8に記載の方法。
  11. 前記制御エージェントは、前記プロセス・エンジン・スレッドの個数および前記複数の分散エージェントによるリソース使用を制御する、請求項9に記載の方法。
  12. 前記方法は、
    − 前記制御エージェントが、前記複数の分散エージェントの負荷を決定するロード・バランシング・アルゴリズムを実行するステップと、
    − 前記制御エージェントが、ある基準に基づいて、ある分散エージェントから別の分散エージェントにプロセスの実行要求を送るステップと
    を含み、前記ある基準は、少なくとも、前記制御エージェントにより決定された、前記複数の分散エージェントの負荷の評価を含む、請求項6に記載の方法。
  13. − 複数の分散エージェントであって、該複数の分散エージェントの各々は、通信サービスのための管理プロセスを実行するプロセス・エンジンと、該プロセスの実行要求を記憶する手段とを含み、プロセスは該プロセスのタイプにより定まる優先順位を有し、実行要求が前記手段に記憶されたプロセスは、該プロセスの優先順位に従って順番に実行され、前記プロセス・エンジンは、前記複数の分散エージェントにおける管理プロセスの実行および該プロセスによって使用されるリソースを監視するように構成された、前記複数の分散エージェントと、
    − 前記通信サービスのためのリソースを管理するための集中型マネージャ・モジュールであって、前記リソースの管理において達成すべき目標は、前記複数の分散エージェントによるプロセスの実行に対する目標および前記リソースを処理する際に達成すべき該プロセスによって使用されるリソースに対する制約を含み、前記集中型マネージャ・モジュールは、
    − 前記複数の分散エージェントにおける監視されたプロセスの前記実行および監視された前記リソースを表す性能データを収集し、
    − 収集された前記性能データを、前記目標を示すデータと比較し、
    − 収集された前記性能データと、前記目標を示す前記データとの比較に基づいて、少なくとも1個の違約条項が適用されるかを判定し、
    − 少なくとも1個の違約条項が適用されると判定された場合に、適用される前記少なくとも1個の違約条項に基づいて、前記複数の分散エージェントにおいてあるタイプのプロセスの優先順位を変更することによって、前記複数の分散エージェントにおいてリソースを再割り当てする
    ように構成された前記集中型マネージャ・モジュールと
    を含む、システム。
  14. 前記集中型マネージャ・モジュールはリソース割り当てモジュールを含み、前記リソース割り当てモジュールは、
    − 評価モジュールであって、
    − 前記複数の分散エージェントが含む前記手段に記憶されたプロセスの実行要求と、前記複数の分散エージェントにおいて実行されたプロセスの履歴とに基づいて、後続する観測期間での、予想されるプロセスの実行回数および実行されるプロセスの1回の実行に必要なリソースの両方を表すデータを収集し、
    − 収集された前記データに基づいて、前記後続する観測期間での前記複数の分散エージェントが要求するリソースを評価する
    ように構成された前記評価モジュールと、
    − 決定モジュールであって、
    − 評価された要求される前記リソースを、前記複数の分散エージェントの各々により利用可能なリソースと比較する
    ように構成された前記決定モジュールと
    を含み、前記比較の結果を用いリソース再割り当てルールに従って、適用される前記少なくとも1個の違約条項が示すコストを表す関数の値を最小化するように、あるタイプのプロセスの優先順位を変更する請求項13に記載のシステム。
  15. 前記集中型マネージャ・モジュールはプロセスを表すプロセス記述を保存するプロセス記述データベースを含み、前記プロセス記述は、前記システムの挙動および機能態様をさらに表す、請求項14に記載のシステム。
  16. 前記集中型マネージャ・モジュールは、
    − 前記プロセス記述データベース内の前記プロセス記述の定義、生成、および変更を行なうための入力を受けるように構成されたサービス生成コンソール
    をさらに含む、請求項15に記載のシステム。
  17. 前記プロセス記述は、ワークフローおよびルールのうちの一方または双方を含み、前記ワークフローが表すプロセスの実行により、時間的かつ論理的依存関係のある一連のタスクが実行され、前記ルールが表すプロセスの実行により、あるイベントが発生したときに特定のアクションが実行される、請求項15に記載のシステム。
  18. − 前記複数の分散エージェントの各々は、複数の階層レベルのうちの1つの階層レベルを有し、前記複数の分散エージェントの各々において、前記プロセスは、同レベルまたはより高い階層レベルを有する他の分散エージェントにより起動することができ、
    − 前記集中型マネージャ・モジュールは、前記複数の分散エージェントにプロセスの実行を割り当てるように構成された、
    請求項13〜17のいずれか一項に記載のシステム。
  19. 前記システムは、複数の制御エージェントを含み、前記複数の分散エージェントの各々は、前記複数の制御エージェントのうちの1つの制御エージェントに関連付けられ、
    前記複数の分散エージェントの各々は、前記性能データを前記複数の分散エージェントの各々に関連付けられた前記制御エージェントへ送るように構成され、
    前記複数の制御エージェントは、前記性能データを前記集中型マネージャ・モジュールに送る、請求項13〜18のいずれか一項に記載のシステム。
  20. 前記システムは、少なくとも1個のマスター・エージェントを含み、前記マスター・エージェントは、複数の階層レベルのうちの最上位の階層レベルを有し、前記最上位の階層レベルより低い階層レベルを有する前記複数の分散エージェントに対するプロセスの実行を調整するように構成された、請求項18に記載のシステム。
  21. − 前記複数の分散エージェントの少なくとも一組は、1つのホスト機に含まれる、請求項13〜20のいずれか一項に記載のシステム。
  22. 前記複数の制御エージェントのうちの1つの制御エージェントは、1つのホスト機に含まれる、請求項21に記載のシステム。
  23. 前記複数の制御エージェントの各々は、
    − 前記複数の制御エージェントの各々に関連付けられた分散エージェントにおける前記性能データを収集し、前記性能データを前記集中型マネージャ・モジュールへ送るように構成されたリソース・モニタと、
    − 前記リソース・モニタに結合され、待機中のプロセスを実行するプロセス・エンジン・スレッドを生成するように構成された共通スレッド・コントローラと、
    − 前記プロセス・エンジン・スレッドに結合され、所定のロード・バランシング・アルゴリズムに従い他の分散エージェントへプロセスの実行要求を送るように構成された共通ディスパッチャ・モジュールと
    を含む、請求項22に記載のシステム。
  24. 前記集中型マネージャ・モジュールは、
    − 容量計画モジュールであって、
    − 収集された前記性能データに基づくリソースの使用状況の履歴および現在のリソースの使用状況に基づいて、ある観察期間でのリソースの利用可能性を予測する
    ように構成された前記容量計画モジュール
    を含み、予測された前記利用可能性に基づいて、前記システムに追加すべきハードウェアの量が示され、前記システムが含むハードウェアによって前記システムが含むリソースが定まる、請求項13に記載のシステム。
  25. 前記集中型マネージャ・モジュールは、
    − 管理用コンソールであって、
    − 前記システムのハードウェア構成を定め、
    − プロセスによって使用されるリソースに対する前記制約であって、該プロセスを実行可能な分散エージェントに対する制約を含む前記制約を定める
    ための入力を受けるように構成された前記管理用コンソール
    を含み、前記ハードウェア構成によって前記システムが含むリソースが定まる、請求項13に記載のシステム。
  26. 請求項13〜25のいずれか一項に記載のシステムを含む通信ネットワーク。
  27. コンピュータ・プログラムであって、前記コンピュータ・プログラムは、コンピュータを、
    − 複数の分散エージェントであって、該複数の分散エージェントの各々は、通信サービスのための管理プロセスを実行するプロセス・エンジンと、該プロセスの実行要求を記憶する手段とを含み、プロセスは該プロセスのタイプにより定まる優先順位を有し、実行要求が前記手段に記憶されたプロセスは、該プロセスの優先順位に従って順番に実行され、前記プロセス・エンジンは、前記複数の分散エージェントにおける管理プロセスの実行および該プロセスによって使用されるリソースを監視するように構成された、前記複数の分散エージェントと、
    − 前記通信サービスのためのリソースを管理するための集中型マネージャ・モジュールであって、前記リソースの管理において達成すべき目標は、前記複数の分散エージェントによるプロセスの実行に対する目標および前記リソースの管理において達成すべき該プロセスによって使用されるリソースに対する制約を含み、前記集中型マネージャ・モジュールは、
    − 前記複数の分散エージェントにおける監視されたプロセスの前記実行および監視された前記リソースを表す性能データを収集し、
    − 収集された前記性能データを、前記目標を示すデータと比較し、
    − 収集された前記性能データと、前記目標を示す前記データとの比較に基づいて、少なくとも1個の違約条項が適用されるかを判定し、
    − 少なくとも1個の違約条項が適用されると判定された場合に、適用される前記少なくとも1個の違約条項に基づいて、前記複数の分散エージェントにおいてあるタイプのプロセスの優先順位を変更することによって、前記複数の分散エージェントにおいてリソースを再割り当てする
    ように構成された前記集中型マネージャ・モジュールと
    として機能させる、コンピュータ・プログラム。
JP2011246353A 2011-11-10 2011-11-10 通信サービスのためのプロセスの実行のためのリソースを管理する方法、システム及びコンピュータ・プログラム Active JP5670290B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011246353A JP5670290B2 (ja) 2011-11-10 2011-11-10 通信サービスのためのプロセスの実行のためのリソースを管理する方法、システム及びコンピュータ・プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011246353A JP5670290B2 (ja) 2011-11-10 2011-11-10 通信サービスのためのプロセスの実行のためのリソースを管理する方法、システム及びコンピュータ・プログラム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2007538274A Division JP2008519322A (ja) 2004-10-28 2004-10-28 電気通信サービスおよび/またはネットワーク管理用のプラットフォームにおけるリソースの管理方法、対応プラットフォーム、およびそのコンピュータ・プログラム生成物

Publications (3)

Publication Number Publication Date
JP2012074056A JP2012074056A (ja) 2012-04-12
JP2012074056A5 JP2012074056A5 (ja) 2014-10-02
JP5670290B2 true JP5670290B2 (ja) 2015-02-18

Family

ID=46170079

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011246353A Active JP5670290B2 (ja) 2011-11-10 2011-11-10 通信サービスのためのプロセスの実行のためのリソースを管理する方法、システム及びコンピュータ・プログラム

Country Status (1)

Country Link
JP (1) JP5670290B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170264500A1 (en) * 2014-09-09 2017-09-14 Nec Corporation Number-of-scales estimation apparatus, number-of-scales management system, number-of-scales estimation method, number-of-scales management method, and storage medium
JP6717092B2 (ja) 2016-07-14 2020-07-01 富士通株式会社 制御装置および制御装置における処理方法
JP6996271B2 (ja) 2017-12-13 2022-01-17 富士通株式会社 情報処理装置、情報処理方法、及び情報処理プログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3003A (en) * 1843-03-17 Improvement in the method of propelling vessels by means of continuous streams of water

Also Published As

Publication number Publication date
JP2012074056A (ja) 2012-04-12

Similar Documents

Publication Publication Date Title
EP1806002B1 (en) Method for managing resources in a platform for telecommunication service and/or network management, corresponding platform and computer program product therefor
US10678602B2 (en) Apparatus, systems and methods for dynamic adaptive metrics based application deployment on distributed infrastructures
US10719343B2 (en) Optimizing virtual machines placement in cloud computing environments
KR100570141B1 (ko) 복수의 애플리케이션 레벨 사용자를 위한 접속 제공 방법, 시스템, 및 기록 매체
US8346909B2 (en) Method for supporting transaction and parallel application workloads across multiple domains based on service level agreements
TWI382318B (zh) 協調的服務效能以及應用程式置放管理
US9405587B2 (en) Automated capacity provisioning method using historical performance data
EP2904491B1 (en) Method, node and computer program for enabling automatic adaptation of resource units
Morais et al. Autoflex: Service agnostic auto-scaling framework for iaas deployment models
JP4965578B2 (ja) ローカル・グリッドをサポートするためにホスト・グリッド内の割り振りポリシを変更するためのコンピュータ実装方法、並びに、そのデータ処理システム及びコンピュータ・プログラム
US20060294238A1 (en) Policy-based hierarchical management of shared resources in a grid environment
Sun et al. Rose: Cluster resource scheduling via speculative over-subscription
Antonescu et al. Dynamic topology orchestration for distributed cloud-based applications
JP2008527514A (ja) グリッド・アクティビティのモニタリングおよび振り分けによる総合的グリッド環境管理を促進する方法、システム、およびコンピュータ・プログラム
JP2009514117A5 (ja)
Björkqvist et al. Cost-driven service provisioning in hybrid clouds
US8972579B2 (en) Resource sharing in computer clusters according to objectives
Fareghzadeh et al. Toward holistic performance management in clouds: taxonomy, challenges and opportunities
JP5670290B2 (ja) 通信サービスのためのプロセスの実行のためのリソースを管理する方法、システム及びコンピュータ・プログラム
Sohani et al. Fault tolerance using self-healing SLA and load balanced dynamic resource provisioning in cloud computing
JP2012074056A5 (ja)
Wu et al. A robust approach for hotspots prevention and resolution in cloud services
Akash et al. An event-driven and lightweight proactive auto-scaling architecture for cloud applications
Roy et al. Implementation of a resource broker for efficient resource management in grid environment

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130522

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130527

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130826

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130829

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140214

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20140508

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20140513

A524 Written submission of copy of amendment under article 19 pct

Free format text: JAPANESE INTERMEDIATE CODE: A524

Effective date: 20140814

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20141126

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141217

R150 Certificate of patent or registration of utility model

Ref document number: 5670290

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250