JPH1166018A - 分散資源管理システムおよび分散資源管理方法 - Google Patents
分散資源管理システムおよび分散資源管理方法Info
- Publication number
- JPH1166018A JPH1166018A JP9216113A JP21611397A JPH1166018A JP H1166018 A JPH1166018 A JP H1166018A JP 9216113 A JP9216113 A JP 9216113A JP 21611397 A JP21611397 A JP 21611397A JP H1166018 A JPH1166018 A JP H1166018A
- Authority
- JP
- Japan
- Prior art keywords
- resource
- demand
- congestion
- degree
- demand function
- 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.)
- Withdrawn
Links
Landscapes
- Multi Processors (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
(57)【要約】
【課題】 分散環境下において、個々のユーザの要求を
反映したきめの細かい資源配分制御、分散的かつ分権的
な資源配分制御、さらには資源の輻輳状態に対応した動
的な適応性をもった資源配分制御を実現できるようにす
ることを課題とする。 【解決手段】 エージェントAGにおいて、アプリケー
ションAPの実行に必要な資源RSについてユーザが要
求するQOSレベルで需要関数を求め、その需要関数を
資源RSを管理するリソースマネージャRMにおいて、
その需要関数に基づいて資源RSの輻輳度を求め、再び
エージェントAGにおいて、その輻輳度からつぎの要求
を決定するというサイクルを繰り返し実行する。
反映したきめの細かい資源配分制御、分散的かつ分権的
な資源配分制御、さらには資源の輻輳状態に対応した動
的な適応性をもった資源配分制御を実現できるようにす
ることを課題とする。 【解決手段】 エージェントAGにおいて、アプリケー
ションAPの実行に必要な資源RSについてユーザが要
求するQOSレベルで需要関数を求め、その需要関数を
資源RSを管理するリソースマネージャRMにおいて、
その需要関数に基づいて資源RSの輻輳度を求め、再び
エージェントAGにおいて、その輻輳度からつぎの要求
を決定するというサイクルを繰り返し実行する。
Description
【0001】
【発明の属する技術分野】この発明は、分散資源管理シ
ステムに関し、詳細には、複数のユーザ間で共有される
ネットワークバンド幅,CPU,メモリ,ディスクなど
の計算機の資源を配分および管理する分散資源管理シス
テムおよび分散資源管理方法に関する。
ステムに関し、詳細には、複数のユーザ間で共有される
ネットワークバンド幅,CPU,メモリ,ディスクなど
の計算機の資源を配分および管理する分散資源管理シス
テムおよび分散資源管理方法に関する。
【0002】近年、ネットワーク環境の整備、パーソナ
ルコンピュータの普及などから、インターネットへの接
続が容易になってきた。また、Webページのブラウザ
やホームページ作成ツールの種類も豊富になり、誰でも
簡単にインターネットを利用できるようになったことか
ら、ここ数年、ネットワークの利用が急増している。ま
た、Webによるネットワーク利用の他に、音声やビデ
オなどのリアルタイムなマルチメディア通信を行うアプ
リケーションの利用も盛んになっていきている。
ルコンピュータの普及などから、インターネットへの接
続が容易になってきた。また、Webページのブラウザ
やホームページ作成ツールの種類も豊富になり、誰でも
簡単にインターネットを利用できるようになったことか
ら、ここ数年、ネットワークの利用が急増している。ま
た、Webによるネットワーク利用の他に、音声やビデ
オなどのリアルタイムなマルチメディア通信を行うアプ
リケーションの利用も盛んになっていきている。
【0003】しかし、現在のコンピュータシステムおよ
びネットワーク環境では、資源が輻輳した場合に、音声
がとぎれたり、ビデオ画像が乱れるなど、サービス品質
(QOS)が保証されていなかった。今後、リアルタイ
ムアプリケーションを本格的に運用していくためには、
資源が輻輳した場合にも、音声のとぎれや画像の乱れの
ない、ユーザに不快感を与えないQOSを保証する必要
がある。
びネットワーク環境では、資源が輻輳した場合に、音声
がとぎれたり、ビデオ画像が乱れるなど、サービス品質
(QOS)が保証されていなかった。今後、リアルタイ
ムアプリケーションを本格的に運用していくためには、
資源が輻輳した場合にも、音声のとぎれや画像の乱れの
ない、ユーザに不快感を与えないQOSを保証する必要
がある。
【0004】
【従来の技術】現在の多くの分散資源管理システムが、
リアルタイムアプリケーションに対して、十分なサービ
ス品質を保証できない。これは、リアルタイムアプリケ
ーション(テレビ中継など)/非リアルタイムアプリケ
ーション(電子メールなど)の区別や各ユーザの要求す
るサービス品質の高低に関わらず、均等に各資源の配分
を行っているからである。
リアルタイムアプリケーションに対して、十分なサービ
ス品質を保証できない。これは、リアルタイムアプリケ
ーション(テレビ中継など)/非リアルタイムアプリケ
ーション(電子メールなど)の区別や各ユーザの要求す
るサービス品質の高低に関わらず、均等に各資源の配分
を行っているからである。
【0005】しかし、ユーザの要求するQOSは、サー
ビスの内容やユーザの持つ好みの違いなどによって様々
である。また、ユーザがサービスから得る満足感は、配
分された資源の絶対量や、絶対的に高いQOSによって
決まるのではなく、自分が要求した品質に対して、最終
的にどれだけの品質を受け取ることができたかによって
決まる。ゆえに、ユーザの要求を反映した資源配分制御
が必要である。
ビスの内容やユーザの持つ好みの違いなどによって様々
である。また、ユーザがサービスから得る満足感は、配
分された資源の絶対量や、絶対的に高いQOSによって
決まるのではなく、自分が要求した品質に対して、最終
的にどれだけの品質を受け取ることができたかによって
決まる。ゆえに、ユーザの要求を反映した資源配分制御
が必要である。
【0006】これまでに行われているユーザの要求が関
与する資源配分の方法として、HalR.Varian
によるインターネットに対する価格付けの研究(1)、
ニュージーランドで実際に行われているインターネット
の課金例(2)、R.Cocchiらの研究(3)など
がある。
与する資源配分の方法として、HalR.Varian
によるインターネットに対する価格付けの研究(1)、
ニュージーランドで実際に行われているインターネット
の課金例(2)、R.Cocchiらの研究(3)など
がある。
【0007】上記研究(1)の方法について、Vari
anは使用量に基づいた価格付けを提唱している。この
方法は、ネットワーク輻輳時に起こるパケット転送遅延
やパケット廃棄などのコストを反映した価格で課金する
ことにより、ネットワーク資源の効率的な配分を行うも
のである。
anは使用量に基づいた価格付けを提唱している。この
方法は、ネットワーク輻輳時に起こるパケット転送遅延
やパケット廃棄などのコストを反映した価格で課金する
ことにより、ネットワーク資源の効率的な配分を行うも
のである。
【0008】上記課金例(2)の方法について、ニュー
ジーランドのインターネットでも、基本的に使用量に基
づいた課金が行われているが、利用の少ない夜間や、優
先度の低いサービスにはディスカウントが行われる。そ
のディスカウントにより利用の分散が図られている。
ジーランドのインターネットでも、基本的に使用量に基
づいた課金が行われているが、利用の少ない夜間や、優
先度の低いサービスにはディスカウントが行われる。そ
のディスカウントにより利用の分散が図られている。
【0009】また、上記研究(3)の方法について、C
occhiらは、遅延とパケットロスに対してHig
h,Lowの優先度を設定し、優先度ごとに価格付けを
行っている。ユーザが優先度を選択する際に、価格とい
う動機付けがあるため、性能に敏感でないユーザは、低
い優先度を選択し、一方、敏感なユーザは設定された価
格を払ってでも高い優先度を選択する。
occhiらは、遅延とパケットロスに対してHig
h,Lowの優先度を設定し、優先度ごとに価格付けを
行っている。ユーザが優先度を選択する際に、価格とい
う動機付けがあるため、性能に敏感でないユーザは、低
い優先度を選択し、一方、敏感なユーザは設定された価
格を払ってでも高い優先度を選択する。
【0010】
【発明が解決しようとする課題】しかしながら、上述し
たニュージーランドのシステム(課金例(2))やCo
cchiらの方法(研究(3))においては、ユーザが
プロバイダやシステムによりあらかじめ設定されたサー
ビスクラスを選ぶという範囲でしか要求を表すことがで
きないという問題があった。
たニュージーランドのシステム(課金例(2))やCo
cchiらの方法(研究(3))においては、ユーザが
プロバイダやシステムによりあらかじめ設定されたサー
ビスクラスを選ぶという範囲でしか要求を表すことがで
きないという問題があった。
【0011】また、ユーザの数が増えてシステムの規模
が大きくなると、ユーザの要求に関する情報を集中管理
し、中央集権的に資源配分制御を行うことは、効率が悪
いばかりでなく、実現することが困難である。また、資
源管理の方針は個々の資源や資源を管理する組織によっ
ても異なるので、唯一の方針ですべての資源を集中的に
管理することは適切ではないという問題があった。
が大きくなると、ユーザの要求に関する情報を集中管理
し、中央集権的に資源配分制御を行うことは、効率が悪
いばかりでなく、実現することが困難である。また、資
源管理の方針は個々の資源や資源を管理する組織によっ
ても異なるので、唯一の方針ですべての資源を集中的に
管理することは適切ではないという問題があった。
【0012】さらに、ユーザのサービス要求は、時間や
通信相手などによって変化し、資源の輻輳状態も様々な
要因で動的に変動するため、そのサービス要求には静的
な制御方法で対応することができないという問題があっ
た。
通信相手などによって変化し、資源の輻輳状態も様々な
要因で動的に変動するため、そのサービス要求には静的
な制御方法で対応することができないという問題があっ
た。
【0013】この発明は、上述した従来例による問題を
解消するため、分散環境下において、個々のユーザの要
求を反映したきめの細かい資源配分制御、分散的かつ分
権的な資源配分制御、さらには資源の輻輳状態に対応し
た動的な適応性をもった資源配分制御を実現することが
可能な分散資源管理システムおよび分散資源管理方法を
提供することを目的とする。
解消するため、分散環境下において、個々のユーザの要
求を反映したきめの細かい資源配分制御、分散的かつ分
権的な資源配分制御、さらには資源の輻輳状態に対応し
た動的な適応性をもった資源配分制御を実現することが
可能な分散資源管理システムおよび分散資源管理方法を
提供することを目的とする。
【0014】なお、近似技術の一例として、特開平5−
233596号公報がある。特開平5−233596号
公報には、資源を使用するユーザエージェントから資源
を管理する資源管理エージェントに対して要求値となる
価格を基に資源毎の割り当て要求を行うという技術が開
示されている。
233596号公報がある。特開平5−233596号
公報には、資源を使用するユーザエージェントから資源
を管理する資源管理エージェントに対して要求値となる
価格を基に資源毎の割り当て要求を行うという技術が開
示されている。
【0015】
【課題を解決するための手段】上述した課題を解決し、
目的を達成するため、請求項1の発明に係る分散資源管
理システムは、各エージェントにおいて、アプリケーシ
ョンに必要な注目資源の要求度を示す需要関数を作成
し、その作成された需要関数を注目資源を管理するリソ
ースマネージャに発信して、その発信された需要関数と
この需要関数に対応してリソースマネージャから通知さ
れた輻輳度とに基づいて注目資源の要求値を決定し、各
リソースマネージャにおいては、発信されてきたすべて
の需要関数に基づいて輻輳度を算出し、その算出された
輻輳度をすべてのエージェントに通知するようにしたも
のである。
目的を達成するため、請求項1の発明に係る分散資源管
理システムは、各エージェントにおいて、アプリケーシ
ョンに必要な注目資源の要求度を示す需要関数を作成
し、その作成された需要関数を注目資源を管理するリソ
ースマネージャに発信して、その発信された需要関数と
この需要関数に対応してリソースマネージャから通知さ
れた輻輳度とに基づいて注目資源の要求値を決定し、各
リソースマネージャにおいては、発信されてきたすべて
の需要関数に基づいて輻輳度を算出し、その算出された
輻輳度をすべてのエージェントに通知するようにしたも
のである。
【0016】この請求項1の発明によれば、アプリケー
ション(エージェント)側でサービスの要求度を資源の
需要関数として表し、その需要関数を直接資源(リソー
スマネージャ)に対して示すことから、個々のアプリケ
ーションの要求を反映したきめの細かい資源配分制御が
可能である。また、個々のアプリケーション(エージェ
ント)が独立に資源(リソースマネージャ)と交渉する
ことから、分散的な制御が可能となり、同時に、アプリ
ケーションや資源のおかれた環境の管理方針に従った分
権的な制御が可能である。
ション(エージェント)側でサービスの要求度を資源の
需要関数として表し、その需要関数を直接資源(リソー
スマネージャ)に対して示すことから、個々のアプリケ
ーションの要求を反映したきめの細かい資源配分制御が
可能である。また、個々のアプリケーション(エージェ
ント)が独立に資源(リソースマネージャ)と交渉する
ことから、分散的な制御が可能となり、同時に、アプリ
ケーションや資源のおかれた環境の管理方針に従った分
権的な制御が可能である。
【0017】また、請求項2の発明に係る分散資源管理
システムは、請求項1の発明において、注目資源に複数
の実行モードが割り当てられていた場合、任意に実行モ
ードを切り替えて需要関数の変更を行うようにしたもの
である。
システムは、請求項1の発明において、注目資源に複数
の実行モードが割り当てられていた場合、任意に実行モ
ードを切り替えて需要関数の変更を行うようにしたもの
である。
【0018】この請求項2の発明によれば、需要関数の
変更によりアプリケーション(エージェント)と資源
(リソースマネージャ)との交渉を繰り返し実行するよ
うにしたので、資源の輻輳状態に対応した動的な適応性
をもった資源配分制御を実現することが可能である。
変更によりアプリケーション(エージェント)と資源
(リソースマネージャ)との交渉を繰り返し実行するよ
うにしたので、資源の輻輳状態に対応した動的な適応性
をもった資源配分制御を実現することが可能である。
【0019】また、請求項3の発明に係る分散資源管理
システムは、請求項2において、実行すべきアプリケー
ションが画像データの伝送であった場合には、ネットワ
ークが輻輳し、CPUが輻輳していない場合に圧縮あり
のモードを用いてCPUの需要量を増やし、一方、CP
Uが輻輳し、ネットワークが輻輳していない場合に圧縮
なしのモードを用いてネットワークの需要量を増やす需
要関数へ変更するものである。
システムは、請求項2において、実行すべきアプリケー
ションが画像データの伝送であった場合には、ネットワ
ークが輻輳し、CPUが輻輳していない場合に圧縮あり
のモードを用いてCPUの需要量を増やし、一方、CP
Uが輻輳し、ネットワークが輻輳していない場合に圧縮
なしのモードを用いてネットワークの需要量を増やす需
要関数へ変更するものである。
【0020】この請求項3の発明によれば、ネットワー
クが輻輳していてもCPUの需要量を増すことで、十分
に画像データを圧縮することができ、一方、CPUが輻
輳していてもネットワークの需要量を増すことで、圧縮
に必要なCPUの需要量を削減することが可能である。
クが輻輳していてもCPUの需要量を増すことで、十分
に画像データを圧縮することができ、一方、CPUが輻
輳していてもネットワークの需要量を増すことで、圧縮
に必要なCPUの需要量を削減することが可能である。
【0021】また、請求項4の発明に係る分散資源管理
システムは、請求項1〜3のいずれか一つにおいて、各
リソースマネージャにおいて、各エージェントから発信
されてきた需要関数をエージェント別に管理し、その管
理内容をすでに管理対象となっているエージェントから
発信されてくる需要関数を用いて更新するものである。
システムは、請求項1〜3のいずれか一つにおいて、各
リソースマネージャにおいて、各エージェントから発信
されてきた需要関数をエージェント別に管理し、その管
理内容をすでに管理対象となっているエージェントから
発信されてくる需要関数を用いて更新するものである。
【0022】この請求項4の発明によれば、各リソース
マネージャでは、該当する資源を共有するエージェント
からの最新の需要関数を管理するようにしたので、常に
現時点での輻輳状況を各エージェントに提供することが
可能である。
マネージャでは、該当する資源を共有するエージェント
からの最新の需要関数を管理するようにしたので、常に
現時点での輻輳状況を各エージェントに提供することが
可能である。
【0023】また、請求項5の発明に係る分散資源管理
システムは、請求項1〜4のいずれか一つにおいて、注
目資源に関して任意に指定された実行レベルをこの実行
レベルに対応する需要量に変換するための変換関数を作
成し、その変換関数に従って需要量と輻輳度との関係を
示す需要関数を作成するものである。
システムは、請求項1〜4のいずれか一つにおいて、注
目資源に関して任意に指定された実行レベルをこの実行
レベルに対応する需要量に変換するための変換関数を作
成し、その変換関数に従って需要量と輻輳度との関係を
示す需要関数を作成するものである。
【0024】この請求項5の発明によれば、注目資源の
実行レベルを需要量に変換する変換関数から需要量と輻
輳度との関係を示す需要関数を作成するようにしたの
で、実行レベルを実現するのに必要な需要量を示す需要
関数を得ることが可能である。
実行レベルを需要量に変換する変換関数から需要量と輻
輳度との関係を示す需要関数を作成するようにしたの
で、実行レベルを実現するのに必要な需要量を示す需要
関数を得ることが可能である。
【0025】また、請求項6の発明に係る分散資源管理
システムは、請求項1〜5のいずれか一つにおいて、実
行すべきアプリケーションに複数の資源が必要な場合、
複数の資源をすべて注目資源としてそれぞれに関する需
要関数を作成するものである。
システムは、請求項1〜5のいずれか一つにおいて、実
行すべきアプリケーションに複数の資源が必要な場合、
複数の資源をすべて注目資源としてそれぞれに関する需
要関数を作成するものである。
【0026】この請求項6の発明によれば、実行すべき
アプリケーションに必要な資源をすべて注目資源として
需要関数を作成するようにしたので、一つの注目資源の
輻輳度から得られた要求値だけでなく、全体としてバラ
ンスがよく、適切な要求度でアプリケーションを実行さ
せることが可能である。
アプリケーションに必要な資源をすべて注目資源として
需要関数を作成するようにしたので、一つの注目資源の
輻輳度から得られた要求値だけでなく、全体としてバラ
ンスがよく、適切な要求度でアプリケーションを実行さ
せることが可能である。
【0027】また、請求項7の発明に係る分散資源管理
システムは、請求項1において、すべての需要関数と注
目資源についてあらかじめ設定された供給可能量とに基
づいて輻輳度を算出するものである。
システムは、請求項1において、すべての需要関数と注
目資源についてあらかじめ設定された供給可能量とに基
づいて輻輳度を算出するものである。
【0028】この請求項7の発明によれば、輻輳度の算
出に、需要関数だけでなく、注目資源についてあらかじ
め設定した供給可能量を加味するようにしたので、同じ
注目資源でも与える供給可能量の違いから輻輳の状況を
変動させることが可能である。
出に、需要関数だけでなく、注目資源についてあらかじ
め設定した供給可能量を加味するようにしたので、同じ
注目資源でも与える供給可能量の違いから輻輳の状況を
変動させることが可能である。
【0029】また、請求項8の発明に係る分散資源管理
システムは、請求項1〜7のいずれか一つにおいて、前
記需要関数は不連続な関数であることを特徴とする。
システムは、請求項1〜7のいずれか一つにおいて、前
記需要関数は不連続な関数であることを特徴とする。
【0030】この請求項8の発明によれば、需要関数を
不連続な関数で表したので、輻輳度の増加方向で段階的
に需要量を表現することが可能である。
不連続な関数で表したので、輻輳度の増加方向で段階的
に需要量を表現することが可能である。
【0031】また、請求項9の発明に係る分散資源管理
方法は、各エージェントにより複数のアプリケーション
のうちで実行すべきアプリケーションに必要な注目資源
に関する需要関数を作成し、各エージェントで作成され
た需要関数をこの需要関数に対する注目資源を管理する
リソースマネージャに発信し、各リソースマネージャに
おいて発信されてきたすべての需要関数に基づいて輻輳
度を算出し、各リソースマネージャで算出された輻輳度
を複数のエージェントのうちで発信元であるすべてのエ
ージェントに通知し、各エージェントにおいて発信され
た需要関数とこの需要関数に対応してリソースマネージ
ャから通知された輻輳度とに基づいて需要関数に対する
注目資源の要求値を決定する工程よりなるものである。
方法は、各エージェントにより複数のアプリケーション
のうちで実行すべきアプリケーションに必要な注目資源
に関する需要関数を作成し、各エージェントで作成され
た需要関数をこの需要関数に対する注目資源を管理する
リソースマネージャに発信し、各リソースマネージャに
おいて発信されてきたすべての需要関数に基づいて輻輳
度を算出し、各リソースマネージャで算出された輻輳度
を複数のエージェントのうちで発信元であるすべてのエ
ージェントに通知し、各エージェントにおいて発信され
た需要関数とこの需要関数に対応してリソースマネージ
ャから通知された輻輳度とに基づいて需要関数に対する
注目資源の要求値を決定する工程よりなるものである。
【0032】この請求項9の発明によれば、アプリケー
ション(エージェント)側でサービスの要求度を資源の
需要関数として表し、その需要関数を直接資源(リソー
スマネージャ)に対して示すことから、個々のアプリケ
ーションの要求を反映したきめの細かい資源配分制御が
可能である。また、個々のアプリケーション(エージェ
ント)が独立に資源(リソースマネージャ)と交渉する
ことから、分散的な制御が可能となり、同時に、アプリ
ケーションや資源のおかれた環境の管理方針に従った分
権的な制御が可能である。
ション(エージェント)側でサービスの要求度を資源の
需要関数として表し、その需要関数を直接資源(リソー
スマネージャ)に対して示すことから、個々のアプリケ
ーションの要求を反映したきめの細かい資源配分制御が
可能である。また、個々のアプリケーション(エージェ
ント)が独立に資源(リソースマネージャ)と交渉する
ことから、分散的な制御が可能となり、同時に、アプリ
ケーションや資源のおかれた環境の管理方針に従った分
権的な制御が可能である。
【0033】また、請求項10の発明に係る分散資源管
理方法は、請求項9において、複数の実行モードのうち
で任意に実行モードを切り替えて需要関数の変更を行う
工程をさらに含んだものである。
理方法は、請求項9において、複数の実行モードのうち
で任意に実行モードを切り替えて需要関数の変更を行う
工程をさらに含んだものである。
【0034】この請求項10の発明によれば、需要関数
の変更によりアプリケーション(エージェント)と資源
(リソースマネージャ)との交渉を繰り返し実行するよ
うにしたので、資源の輻輳状態に対応した動的な適応性
をもった資源配分制御を実現することが可能である。
の変更によりアプリケーション(エージェント)と資源
(リソースマネージャ)との交渉を繰り返し実行するよ
うにしたので、資源の輻輳状態に対応した動的な適応性
をもった資源配分制御を実現することが可能である。
【0035】
【発明の実施の形態】以下に添付図面を参照して、この
発明に係る分散資源管理システムおよび分散資源管理方
法の好適な実施の形態を詳細に説明する。
発明に係る分散資源管理システムおよび分散資源管理方
法の好適な実施の形態を詳細に説明する。
【0036】まず、システム構成について説明する。図
1はこの発明の実施の形態による分散資源管理システム
を示すシステム構成図である。図1に示した分散資源管
理システムは、ネットワークNETに一例として3台の
ホストコンピュータ1,2,3を接続させた構成であ
る。なお、システムの規模に応じて、1台、2台、もし
くは、4台以上のホストコンピュータを接続してもよ
く、その接続数については設計事項となる。
1はこの発明の実施の形態による分散資源管理システム
を示すシステム構成図である。図1に示した分散資源管
理システムは、ネットワークNETに一例として3台の
ホストコンピュータ1,2,3を接続させた構成であ
る。なお、システムの規模に応じて、1台、2台、もし
くは、4台以上のホストコンピュータを接続してもよ
く、その接続数については設計事項となる。
【0037】ホストコンピュータ1は、自ホスト内に設
けられた資源すなわち自CPUのリソースマネージャで
あるCPUマネージャRM1,資源(自CPU,ネット
ワーク)を用いて実行するアプリケーションAP1,ア
プリケーションAP1で使用する資源(自CPU,ネッ
トワーク)を管理する各リソースマネージャ(CPUマ
ネージャRM1,ネットワークマネージャRM3)に対
して使用上の交渉を行うエージェントAG1などにより
構成される。
けられた資源すなわち自CPUのリソースマネージャで
あるCPUマネージャRM1,資源(自CPU,ネット
ワーク)を用いて実行するアプリケーションAP1,ア
プリケーションAP1で使用する資源(自CPU,ネッ
トワーク)を管理する各リソースマネージャ(CPUマ
ネージャRM1,ネットワークマネージャRM3)に対
して使用上の交渉を行うエージェントAG1などにより
構成される。
【0038】ホストコンピュータ2は、自ホスト内に設
けられた資源すなわち自CPUのリソースマネージャで
あるCPUマネージャRM2,資源(自CPU,ネット
ワーク)を用いて実行するアプリケーションAP2,資
源(自CPU)を用いて実行するアプリケーションAP
3,アプリケーションAP2で使用する資源(自CP
U,ネットワーク)を管理する各リソースマネージャ
(CPUマネージャRM2,ネットワークマネージャR
M3)に対して使用上の交渉を行うエージェントAG
2,アプリケーションAP3で使用する資源(自CP
U)を管理するリソースマネージャ(CPUマネージャ
RM2)に対して使用上の交渉を行うエージェントAG
3などにより構成される。
けられた資源すなわち自CPUのリソースマネージャで
あるCPUマネージャRM2,資源(自CPU,ネット
ワーク)を用いて実行するアプリケーションAP2,資
源(自CPU)を用いて実行するアプリケーションAP
3,アプリケーションAP2で使用する資源(自CP
U,ネットワーク)を管理する各リソースマネージャ
(CPUマネージャRM2,ネットワークマネージャR
M3)に対して使用上の交渉を行うエージェントAG
2,アプリケーションAP3で使用する資源(自CP
U)を管理するリソースマネージャ(CPUマネージャ
RM2)に対して使用上の交渉を行うエージェントAG
3などにより構成される。
【0039】ホストコンピュータ3は、自ネットワーク
のリソースマネージャであるネットワークマネージャR
M3などにより構成される。このネットワークマネージ
ャRM3は、ネットワークNETに関する資源交渉の管
理を行うリソースマネージャである。
のリソースマネージャであるネットワークマネージャR
M3などにより構成される。このネットワークマネージ
ャRM3は、ネットワークNETに関する資源交渉の管
理を行うリソースマネージャである。
【0040】ここで、上述したCPUマネージャは、C
PUに関する資源配分交渉を管理するリソースマネージ
ャなので、ホストコンピュータ毎に設置される。なお、
ホストコンピュータ3については、説明上、図示が省略
されている。また、ネットワークマネージャはネットワ
ーク毎に設置されるので、ネットワークNETにはネッ
トワークマネージャRM3だけが設置される。
PUに関する資源配分交渉を管理するリソースマネージ
ャなので、ホストコンピュータ毎に設置される。なお、
ホストコンピュータ3については、説明上、図示が省略
されている。また、ネットワークマネージャはネットワ
ーク毎に設置されるので、ネットワークNETにはネッ
トワークマネージャRM3だけが設置される。
【0041】上述した分散資源管理システムにおいて、
アプリケーションAP1,AP2,AP3は、それぞれ
実行する際に、1又は複数の資源を必要とする。図1に
は、資源としてネットワークとCPUとが一例として挙
げられている。アプリケーションAP1およびアプリケ
ーションAP2においては、ネットワークと自ホスト内
のCPUとを資源として確保する必要がある。また、ア
プリケーションAP3においては、自ホスト内のCPU
のみを資源として確保する必要がある。
アプリケーションAP1,AP2,AP3は、それぞれ
実行する際に、1又は複数の資源を必要とする。図1に
は、資源としてネットワークとCPUとが一例として挙
げられている。アプリケーションAP1およびアプリケ
ーションAP2においては、ネットワークと自ホスト内
のCPUとを資源として確保する必要がある。また、ア
プリケーションAP3においては、自ホスト内のCPU
のみを資源として確保する必要がある。
【0042】各アプリケーションAP1,AP2,AP
3は、実行の際に単に資源を確保するのではなく、実行
に必要な資源の需要量を確保することになる。すなわ
ち、ネットワークについては、バンド幅がネットワーク
需要量として確保され、CPUについては、CPU使用
率がCPU需要量として確保される。
3は、実行の際に単に資源を確保するのではなく、実行
に必要な資源の需要量を確保することになる。すなわ
ち、ネットワークについては、バンド幅がネットワーク
需要量として確保され、CPUについては、CPU使用
率がCPU需要量として確保される。
【0043】したがって、エージェントAG1は、自ホ
スト内の伝送路を介してCPUマネージャRM1に対し
てCPUを資源として利用するための要求を行い、ネッ
トワークNETを介してネットワークマネージャRM3
に対してネットワークを資源として利用するための要求
を行う。エージェントAG2は、自ホスト内の伝送路を
介してCPUマネージャRM2に対してCPUを資源と
して利用するための要求を行い、ネットワークNETを
介してネットワークマネージャRM3に対してネットワ
ークを資源として利用するための要求を行う。そして、
エージェントAG3は、自ホスト内の伝送路を介してC
PUマネージャRM2に対してのみCPUを資源として
利用するための要求を行う。
スト内の伝送路を介してCPUマネージャRM1に対し
てCPUを資源として利用するための要求を行い、ネッ
トワークNETを介してネットワークマネージャRM3
に対してネットワークを資源として利用するための要求
を行う。エージェントAG2は、自ホスト内の伝送路を
介してCPUマネージャRM2に対してCPUを資源と
して利用するための要求を行い、ネットワークNETを
介してネットワークマネージャRM3に対してネットワ
ークを資源として利用するための要求を行う。そして、
エージェントAG3は、自ホスト内の伝送路を介してC
PUマネージャRM2に対してのみCPUを資源として
利用するための要求を行う。
【0044】続いて、上述した分散資源管理システムに
おける資源交渉の原理について説明する。図2は資源交
渉モデルを説明する図である。図2において、アプリケ
ーションAP1,AP2,AP3をモデル化したものが
アプリケーションAPであり、エージェントAG1,A
G2,AG3をモデル化したものがエージェントAGで
ある。また、CPUマネージャRM1,RM2およびネ
ットワークマネージャRM3をモデル化したものがリソ
ースマネージャRMであり、そのリソースマネージャR
Mが管理する対象モデルが資源RSである。
おける資源交渉の原理について説明する。図2は資源交
渉モデルを説明する図である。図2において、アプリケ
ーションAP1,AP2,AP3をモデル化したものが
アプリケーションAPであり、エージェントAG1,A
G2,AG3をモデル化したものがエージェントAGで
ある。また、CPUマネージャRM1,RM2およびネ
ットワークマネージャRM3をモデル化したものがリソ
ースマネージャRMであり、そのリソースマネージャR
Mが管理する対象モデルが資源RSである。
【0045】図2に示した資源交渉は、アプリケーショ
ンAPを実行させるため、資源RSが必要となる例であ
る。このため、エージェントAGは、資源RSを管理す
るリソースマネージャRMに対してその資源RSの利用
について直接交渉する。その際、エージェントAGは、
リソースマネージャRMに対して単に資源RSの要求値
を送るのではなく、ユーザが所要の資源に対して要求度
を示す実行レベル(以下にQOSレベルと称する)に基
づいて資源RSの需要量を関数で表現した需要関数を求
め、その需要関数を送る。
ンAPを実行させるため、資源RSが必要となる例であ
る。このため、エージェントAGは、資源RSを管理す
るリソースマネージャRMに対してその資源RSの利用
について直接交渉する。その際、エージェントAGは、
リソースマネージャRMに対して単に資源RSの要求値
を送るのではなく、ユーザが所要の資源に対して要求度
を示す実行レベル(以下にQOSレベルと称する)に基
づいて資源RSの需要量を関数で表現した需要関数を求
め、その需要関数を送る。
【0046】リソースマネージャRMは、エージェント
AGから送られてくる需要関数を受け付けると、その需
要関数から資源RSの輻輳度を求め、その輻輳度をエー
ジェントAGに通知する。エージェントAGは、リソー
スマネージャRMから輻輳度の通知を受け取ると、その
輻輳度からQOSレベルおよび要求値を決定するが、要
求するQOSレベルが得られるように、アプリケーショ
ンの実行モードを換えて交渉を繰り返し実行することも
できる。
AGから送られてくる需要関数を受け付けると、その需
要関数から資源RSの輻輳度を求め、その輻輳度をエー
ジェントAGに通知する。エージェントAGは、リソー
スマネージャRMから輻輳度の通知を受け取ると、その
輻輳度からQOSレベルおよび要求値を決定するが、要
求するQOSレベルが得られるように、アプリケーショ
ンの実行モードを換えて交渉を繰り返し実行することも
できる。
【0047】つぎに、エージェント機能について説明す
る。図3は分散資源管理システムに適用されるエージェ
ントの構成を機能的に示すブロック図である。図3にお
いて、エージェント機能は、需要関数作成部101,要
求発信部102,通知受付部104,要求値決定部10
3などにより構成される。
る。図3は分散資源管理システムに適用されるエージェ
ントの構成を機能的に示すブロック図である。図3にお
いて、エージェント機能は、需要関数作成部101,要
求発信部102,通知受付部104,要求値決定部10
3などにより構成される。
【0048】需要関数作成部101は、ユーザインタフ
ェースによるQOSレベルの指定に応じて需要関数を作
成する。要求発信部102は、需要関数作成部101で
作成した需要関数もしくはアプリケーションの終了要求
を所要のリソースマネージャに発信する。通知受付部1
04は、所要のリソースマネージャから回答される輻輳
度の通知を受け付ける。要求値決定部103は、通知受
付部104に受け付けられた輻輳度に従って要求値を決
定する。この要求値決定部103は、アプリケーション
の実行モードを変更する必要があれば、需要関数作成部
101に実行モードに応じた需要関数の変更を指示し、
アプリケーションの終了の際には、要求発信部102に
対して需要関数の発信先であるリソースマネージャへの
終了要求を指示する。
ェースによるQOSレベルの指定に応じて需要関数を作
成する。要求発信部102は、需要関数作成部101で
作成した需要関数もしくはアプリケーションの終了要求
を所要のリソースマネージャに発信する。通知受付部1
04は、所要のリソースマネージャから回答される輻輳
度の通知を受け付ける。要求値決定部103は、通知受
付部104に受け付けられた輻輳度に従って要求値を決
定する。この要求値決定部103は、アプリケーション
の実行モードを変更する必要があれば、需要関数作成部
101に実行モードに応じた需要関数の変更を指示し、
アプリケーションの終了の際には、要求発信部102に
対して需要関数の発信先であるリソースマネージャへの
終了要求を指示する。
【0049】つぎに、リソースマネージャ機能について
説明する。図4は分散資源管理システムに適用されるリ
ソースマネージャの構成を機能的に示すブロック図であ
る。図4において、リソースマネージャ機能は、要求受
付部201,エージェント要求処理部202,輻輳算出
部203,通知部204などにより構成される。
説明する。図4は分散資源管理システムに適用されるリ
ソースマネージャの構成を機能的に示すブロック図であ
る。図4において、リソースマネージャ機能は、要求受
付部201,エージェント要求処理部202,輻輳算出
部203,通知部204などにより構成される。
【0050】要求受付部201は、要求元のエージェン
トから需要関数の新規又は更新要求や交渉の終了要求を
受け付ける。エージェント要求処理部202は、新規エ
ージェントからの需要関数の新規受付処理、すでに受付
済みのエージェントからの需要関数の更新受付処理、要
求元のエージェントに関する終了処理などを実行する。
輻輳度算出部203は、要求元のすべてのエージェント
の需要関数から輻輳度を算出する。通知部204は、輻
輳度算出部203で算出された輻輳度を要求元のすべて
のエージェントに通知する。
トから需要関数の新規又は更新要求や交渉の終了要求を
受け付ける。エージェント要求処理部202は、新規エ
ージェントからの需要関数の新規受付処理、すでに受付
済みのエージェントからの需要関数の更新受付処理、要
求元のエージェントに関する終了処理などを実行する。
輻輳度算出部203は、要求元のすべてのエージェント
の需要関数から輻輳度を算出する。通知部204は、輻
輳度算出部203で算出された輻輳度を要求元のすべて
のエージェントに通知する。
【0051】つぎに、ホストコンピュータ1,2,3の
ハードウェア構成について説明する。図5はホストコン
ピュータの代表的なハードウェア構成を示すブロック図
である。図5には、代表例として、ホストコンピュータ
1の内部構成が示されている。ホストコンピュータ1
は、CPU10,メインメモリ11,RAM12,キー
ボード13,マウス14,ディスプレイ15,通信ユニ
ット16,各部を接続してアドレス,データ,制御信号
などを伝送するバス17などにより構成される。
ハードウェア構成について説明する。図5はホストコン
ピュータの代表的なハードウェア構成を示すブロック図
である。図5には、代表例として、ホストコンピュータ
1の内部構成が示されている。ホストコンピュータ1
は、CPU10,メインメモリ11,RAM12,キー
ボード13,マウス14,ディスプレイ15,通信ユニ
ット16,各部を接続してアドレス,データ,制御信号
などを伝送するバス17などにより構成される。
【0052】CPU10は、メインメモリ11に格納さ
れた各種プログラムに従って装置全体を制御する。メイ
ンメモリ11は、CPUマネージャRM1,エージェン
トAG1,アプリケーションAP1などのプログラムを
格納している。RAM12は、ワークエリアの他に、各
種プログラムを実行する際に記憶すべき変換関数,需要
関数,管理リストをそれぞれ格納するバッファ12a,
12b,12cなどを設けている。
れた各種プログラムに従って装置全体を制御する。メイ
ンメモリ11は、CPUマネージャRM1,エージェン
トAG1,アプリケーションAP1などのプログラムを
格納している。RAM12は、ワークエリアの他に、各
種プログラムを実行する際に記憶すべき変換関数,需要
関数,管理リストをそれぞれ格納するバッファ12a,
12b,12cなどを設けている。
【0053】キーボード13はユーザがQOSレベルを
指定する場合などで操作するキーを備えている。マウス
14は、ディスプレイ15上の位置入力を行うポインテ
ィングデバイスである。このマウス14については、ユ
ーザがQOSレベルを指定する場合にキーボード13と
合わせて操作する仕様にしてもよい。ディスプレイ15
は、、ユーザがQOSレベルを指定する場合の操作画面
などを形成する場合などで表示を行う。通信ユニット1
6は、ネットワークNETを介して他のホストコンピュ
ータ2,3と通信を行うためのユニットである。
指定する場合などで操作するキーを備えている。マウス
14は、ディスプレイ15上の位置入力を行うポインテ
ィングデバイスである。このマウス14については、ユ
ーザがQOSレベルを指定する場合にキーボード13と
合わせて操作する仕様にしてもよい。ディスプレイ15
は、、ユーザがQOSレベルを指定する場合の操作画面
などを形成する場合などで表示を行う。通信ユニット1
6は、ネットワークNETを介して他のホストコンピュ
ータ2,3と通信を行うためのユニットである。
【0054】また、ホストコンピュータ2,3は、上述
したホストコンピュータ1と同様の構成を有しており、
その違いはメインメモリに格納されるプログラムの種類
にある。ホストコンピュータ2では、メインメモリにア
プリケーションAP2,AP3、エージェントAG2,
AG3、およびCPUマネージャRM2などのプログラ
ムが格納され、ホストコンピュータ3では、メインメモ
リにネットワークマネージャRM3などのプログラムが
格納される。
したホストコンピュータ1と同様の構成を有しており、
その違いはメインメモリに格納されるプログラムの種類
にある。ホストコンピュータ2では、メインメモリにア
プリケーションAP2,AP3、エージェントAG2,
AG3、およびCPUマネージャRM2などのプログラ
ムが格納され、ホストコンピュータ3では、メインメモ
リにネットワークマネージャRM3などのプログラムが
格納される。
【0055】つぎに、動作について説明する。まず、エ
ージェント側の動作について説明する。図6はエージェ
ントの動作の流れを説明するフローチャート、図7はQ
OSレベルから需要関数への変換をグラフを用いて説明
する図、そして、図8は需要度と輻輳度との関係をグラ
フ化して示す図である。ここでは、ホストコンピュータ
1の動作を例に挙げる。
ージェント側の動作について説明する。図6はエージェ
ントの動作の流れを説明するフローチャート、図7はQ
OSレベルから需要関数への変換をグラフを用いて説明
する図、そして、図8は需要度と輻輳度との関係をグラ
フ化して示す図である。ここでは、ホストコンピュータ
1の動作を例に挙げる。
【0056】エージェント側においては、アプリケーシ
ョンを実行するのに必要な資源を確保するため、交渉が
必要な資源数n(nは自然数)を“0”に初期化する処
理が実行される(ステップS301)。そして、例えば
ディスプレイ15にQOSレベルの設定画面が形成され
ると、ユーザはキーボード13やマウス14の操作で任
意にQOSレベルを指定する。このようにしてQOSレ
ベルが指定されると、そのQOSレベルを実現するのに
必要な資源の需要量(CPU需要量,ネットワーク需要
量)を関数で表現した変換関数が作成される。このと
き、資源数nには、アプリケーションの実行に必要な資
源数Nが設定される(ステップS302)。
ョンを実行するのに必要な資源を確保するため、交渉が
必要な資源数n(nは自然数)を“0”に初期化する処
理が実行される(ステップS301)。そして、例えば
ディスプレイ15にQOSレベルの設定画面が形成され
ると、ユーザはキーボード13やマウス14の操作で任
意にQOSレベルを指定する。このようにしてQOSレ
ベルが指定されると、そのQOSレベルを実現するのに
必要な資源の需要量(CPU需要量,ネットワーク需要
量)を関数で表現した変換関数が作成される。このと
き、資源数nには、アプリケーションの実行に必要な資
源数Nが設定される(ステップS302)。
【0057】この変換関数は一つの資源について必ずし
も唯一ではなく、アプリケーションに複数の実行モード
が存在する場合には、複数の変換関数を作成することが
できる。例えば、動画の発信アプリケーションを実行す
る場合には、動画情報を非圧縮状態で発信する場合と圧
縮状態で発信する場合との2つの実行モードが考えられ
る。この場合、変換関数は実行モードに対応して2通り
存在する。これら2つの実行モードは、注目する資源の
輻輳度に応じて使い分けされ、その使い分けに伴って変
換関数も使い分けられる。
も唯一ではなく、アプリケーションに複数の実行モード
が存在する場合には、複数の変換関数を作成することが
できる。例えば、動画の発信アプリケーションを実行す
る場合には、動画情報を非圧縮状態で発信する場合と圧
縮状態で発信する場合との2つの実行モードが考えられ
る。この場合、変換関数は実行モードに対応して2通り
存在する。これら2つの実行モードは、注目する資源の
輻輳度に応じて使い分けされ、その使い分けに伴って変
換関数も使い分けられる。
【0058】続いて、アプリケーションの実行に必要な
資源の順番を管理するためのワークカウンタiが“0”
に初期化される(ステップS303)。そして、まず、
アプリケーションの実行に必要な一つめの資源の需要関
数が作成される。その際に、ワークカウンタiは一つイ
ンクリメントされ、i=1となる(ステップS30
4)。
資源の順番を管理するためのワークカウンタiが“0”
に初期化される(ステップS303)。そして、まず、
アプリケーションの実行に必要な一つめの資源の需要関
数が作成される。その際に、ワークカウンタiは一つイ
ンクリメントされ、i=1となる(ステップS30
4)。
【0059】上述した変換関数および需要関数について
一例を挙げる。変換関数は、図7(a)に示したよう
に、ユーザが要求するQOSレベル(要求QOS)が大
きくなるに従って注目する資源の需要量が大きくなって
いく曲線を持つ関数である。この変換関数のデータはR
AM12のバッファ12aに格納される。
一例を挙げる。変換関数は、図7(a)に示したよう
に、ユーザが要求するQOSレベル(要求QOS)が大
きくなるに従って注目する資源の需要量が大きくなって
いく曲線を持つ関数である。この変換関数のデータはR
AM12のバッファ12aに格納される。
【0060】QOSレベルと輻輳度との関係について
は、図7(b)に示したように、注目する資源の輻輳度
が大きくなるに従ってQOSレベルを落としていく曲線
となる。したがって、図7(c)に示した需要量と輻輳
度との関係のように、注目する資源の輻輳度が大きくな
るに従って需要量を落としていく需要関数が作成され
る。この需要関数のデータはRAM12のバッファ12
bに格納される。
は、図7(b)に示したように、注目する資源の輻輳度
が大きくなるに従ってQOSレベルを落としていく曲線
となる。したがって、図7(c)に示した需要量と輻輳
度との関係のように、注目する資源の輻輳度が大きくな
るに従って需要量を落としていく需要関数が作成され
る。この需要関数のデータはRAM12のバッファ12
bに格納される。
【0061】一つめの資源(i=1)に対する需要関数
が作成されると、ワークカウンタiがチェックされ、ワ
ークカウンタiが資源数n(n=N)に達していない間
は、処理は再びステップS304に戻り、同様の需要関
数作成を繰り返し実行する(ステップS305)。ここ
では、CPUとネットワークとが資源となることから、
一例としてN=2とする。
が作成されると、ワークカウンタiがチェックされ、ワ
ークカウンタiが資源数n(n=N)に達していない間
は、処理は再びステップS304に戻り、同様の需要関
数作成を繰り返し実行する(ステップS305)。ここ
では、CPUとネットワークとが資源となることから、
一例としてN=2とする。
【0062】このステップS304およびステップS3
05のループでは、アプリケーションの実行に必要なC
PU,ネットワークそれぞれについて需要関数を作成す
る処理が実行される。ステップS304においては、一
つの資源に複数の変換関数が存在する場合であっても、
ユーザが指定したQOSレベルに対応する需要関数だけ
が作成される。
05のループでは、アプリケーションの実行に必要なC
PU,ネットワークそれぞれについて需要関数を作成す
る処理が実行される。ステップS304においては、一
つの資源に複数の変換関数が存在する場合であっても、
ユーザが指定したQOSレベルに対応する需要関数だけ
が作成される。
【0063】このようにして各資源(CPU,ネットワ
ーク)に対応する需要関数が作成されると(ステップS
305)、RAM12のバッファ12bには、資源の種
類(CPU,ネットワーク)に対応させて需要関数が格
納される。
ーク)に対応する需要関数が作成されると(ステップS
305)、RAM12のバッファ12bには、資源の種
類(CPU,ネットワーク)に対応させて需要関数が格
納される。
【0064】続いて、ワークカウンタiが再び“0”に
初期化され(ステップS306)、一つめの資源の需要
関数がバッファ12bから読み出され、その資源を管理
するリソースマネージャに対して需要関数が発信され
る。その際に、ワークカウンタiは一つインクリメント
され、i=1となる(ステップS307)。このように
需要関数が発信されると、リソースマネージャには、ま
ず新規エージェントとして要求が受け付けられる。
初期化され(ステップS306)、一つめの資源の需要
関数がバッファ12bから読み出され、その資源を管理
するリソースマネージャに対して需要関数が発信され
る。その際に、ワークカウンタiは一つインクリメント
され、i=1となる(ステップS307)。このように
需要関数が発信されると、リソースマネージャには、ま
ず新規エージェントとして要求が受け付けられる。
【0065】この需要関数の発信も、前述した需要関数
の作成と同様に、一つめの資源(i=1)に対する需要
関数が発信されると、ワークカウンタiがチェックさ
れ、ワークカウンタiが資源数n(n=N)に達してい
ない間は、処理は再びステップS307に戻り、同様の
需要関数作成を繰り返し実行する(ステップS30
8)。すなわち、このステップS307およびステップ
S308のループでは、アプリケーションの実行に必要
な資源(CPU,ネットワーク)のCPUマネージャR
M1,ネットワークマネージャRM3それぞれに対して
需要関数を発信する処理が実行される。
の作成と同様に、一つめの資源(i=1)に対する需要
関数が発信されると、ワークカウンタiがチェックさ
れ、ワークカウンタiが資源数n(n=N)に達してい
ない間は、処理は再びステップS307に戻り、同様の
需要関数作成を繰り返し実行する(ステップS30
8)。すなわち、このステップS307およびステップ
S308のループでは、アプリケーションの実行に必要
な資源(CPU,ネットワーク)のCPUマネージャR
M1,ネットワークマネージャRM3それぞれに対して
需要関数を発信する処理が実行される。
【0066】このようにして各資源に対して需要関数の
発信が完了すると(ステップS308)、需要関数を発
信した各リソースマネージャ(CPUマネージャRM
1,ネットワークマネージャRM3)から輻輳度の通知
が届く状態がチェックされる(ステップS309)。そ
の間、アプリケーションの実行を中止するなどして資源
の利用が中止される場合には、ステップS312におい
て処理が終了と判断され、続くステップS313におい
て各リソースマネージャに終了要求が発信される。一
方、終了しない間は、処理はリソースマネージャからの
通知待ちとなる(ステップS309,ステップS31
2)。
発信が完了すると(ステップS308)、需要関数を発
信した各リソースマネージャ(CPUマネージャRM
1,ネットワークマネージャRM3)から輻輳度の通知
が届く状態がチェックされる(ステップS309)。そ
の間、アプリケーションの実行を中止するなどして資源
の利用が中止される場合には、ステップS312におい
て処理が終了と判断され、続くステップS313におい
て各リソースマネージャに終了要求が発信される。一
方、終了しない間は、処理はリソースマネージャからの
通知待ちとなる(ステップS309,ステップS31
2)。
【0067】その後、リソースマネージャから輻輳度の
通知が届くと(ステップS309)、そのリソースマネ
ージャがCPUマネージャRM1であれば、通知された
CPU10の輻輳度とバッファ12bから読み出された
CPUマネージャRM1が管理するCPU10の需要関
数とに基づいてCPU10の要求値(需要量)が決定さ
れる(ステップS310)。ここでは、QOSレベルも
求められるが、その詳細については後述する。図8に示
した需要関数において、CPUマネージャRM1から通
知された輻輳度がccであった場合、確保可能な需要量
はrとなる。この需要量rが要求値として決定される。
通知が届くと(ステップS309)、そのリソースマネ
ージャがCPUマネージャRM1であれば、通知された
CPU10の輻輳度とバッファ12bから読み出された
CPUマネージャRM1が管理するCPU10の需要関
数とに基づいてCPU10の要求値(需要量)が決定さ
れる(ステップS310)。ここでは、QOSレベルも
求められるが、その詳細については後述する。図8に示
した需要関数において、CPUマネージャRM1から通
知された輻輳度がccであった場合、確保可能な需要量
はrとなる。この需要量rが要求値として決定される。
【0068】続いて、CPU10の需要関数の変更もな
く(ステップS311)、処理が続行され(ステップS
312)、ネットワークマネージャRM3から輻輳度の
通知が届くと(ステップS309)、通知されたネット
ワークの輻輳度とバッファ12bから読み出されたネッ
トワークマネージャRM3が管理するネットワークの需
要関数とに基づいてネットワークの要求値(需要量)が
決定される(ステップS310)。
く(ステップS311)、処理が続行され(ステップS
312)、ネットワークマネージャRM3から輻輳度の
通知が届くと(ステップS309)、通知されたネット
ワークの輻輳度とバッファ12bから読み出されたネッ
トワークマネージャRM3が管理するネットワークの需
要関数とに基づいてネットワークの要求値(需要量)が
決定される(ステップS310)。
【0069】このネットワークについても、需要関数に
おいて、通知された輻輳度に対する需要量から要求値が
決定される。なお、このようにして決定された各資源の
要求値は、実行しようとしているアプリケーションとそ
のアプリケーションの実行に必要な各資源に対して通知
される。
おいて、通知された輻輳度に対する需要量から要求値が
決定される。なお、このようにして決定された各資源の
要求値は、実行しようとしているアプリケーションとそ
のアプリケーションの実行に必要な各資源に対して通知
される。
【0070】また、ステップS311において、CP
U,ネットワークのいずれか一方、もしくはその両方の
需要関数を変更する指示がキーボード13などにより操
作された場合には、処理はステップS302に戻り、同
一資源について存在する他の実行モードに対応する変換
関数を作成する。
U,ネットワークのいずれか一方、もしくはその両方の
需要関数を変更する指示がキーボード13などにより操
作された場合には、処理はステップS302に戻り、同
一資源について存在する他の実行モードに対応する変換
関数を作成する。
【0071】ここでは、現時点での輻輳状態から、余裕
があればさらに高い要求度の実行モードに変更すればよ
く、一方、要求QOSレベルでは資源の利用が不可能で
あればさらに低い要求度の実行レベルに変更すればよ
い。以降、ステップS303〜ステップS313におい
て、需要関数の作成,発信,通知された輻輳度に基づく
要求値の決定などが実行される。
があればさらに高い要求度の実行モードに変更すればよ
く、一方、要求QOSレベルでは資源の利用が不可能で
あればさらに低い要求度の実行レベルに変更すればよ
い。以降、ステップS303〜ステップS313におい
て、需要関数の作成,発信,通知された輻輳度に基づく
要求値の決定などが実行される。
【0072】特に、エージェントが複数の資源を利用す
るために該当する各リソースマネージャに対して交渉を
行う場合には、各資源における確保可能な需要量が求め
られた後に、すべての需要量を基にしてその時点での実
行QOSレベルが決定される。これは、複数の資源を利
用する際のQOSレベルの基準を統一するためである。
さらに、その統一された実行QOSレベルに基づいて資
源別に要求値(需要量)が求められ、各要求値(需要
量)が該当するアプリケーションと該当する資源とに通
知される。
るために該当する各リソースマネージャに対して交渉を
行う場合には、各資源における確保可能な需要量が求め
られた後に、すべての需要量を基にしてその時点での実
行QOSレベルが決定される。これは、複数の資源を利
用する際のQOSレベルの基準を統一するためである。
さらに、その統一された実行QOSレベルに基づいて資
源別に要求値(需要量)が求められ、各要求値(需要
量)が該当するアプリケーションと該当する資源とに通
知される。
【0073】続いて、リソースマネージャ側の動作につ
いて説明する。図9はリソースマネージャの動作の流れ
を説明するフローチャート、図10はリソースマネージ
ャの管理リストの内容の一例を示す図、そして、図11
は輻輳度を求めるための需要量と輻輳度との関係をグラ
フ化して示す図である。ここでは、前述のエージェント
側の説明に合わせてCPUマネージャRM1の動作につ
いて説明する。なお、ネットワークマネージャRM3の
動作も、CPUマネージャRM1と同様のため、説明を
省略する。
いて説明する。図9はリソースマネージャの動作の流れ
を説明するフローチャート、図10はリソースマネージ
ャの管理リストの内容の一例を示す図、そして、図11
は輻輳度を求めるための需要量と輻輳度との関係をグラ
フ化して示す図である。ここでは、前述のエージェント
側の説明に合わせてCPUマネージャRM1の動作につ
いて説明する。なお、ネットワークマネージャRM3の
動作も、CPUマネージャRM1と同様のため、説明を
省略する。
【0074】CPUマネージャRM1では、まず準備段
階として、エージェントの要求を管理する管理リストの
バッファ12cが初期化される(ステップS901)。
この管理リストのバッファ12cとは、資源(この場合
には、CPU)を利用するため、資源を共有するエージ
ェント毎の需要関数の新規受付,更新受付および終了受
付を管理するためのリストである。
階として、エージェントの要求を管理する管理リストの
バッファ12cが初期化される(ステップS901)。
この管理リストのバッファ12cとは、資源(この場合
には、CPU)を利用するため、資源を共有するエージ
ェント毎の需要関数の新規受付,更新受付および終了受
付を管理するためのリストである。
【0075】この管理リストのバッファ12cは、図1
0に示したように、エージェントの種類(図中、AG
1)と需要関数(図中、F1)とを対応させて管理し、
その管理されるデータは各エージェントからの新規要求
で追加されたり終了要求で削除される。なお、ステップ
S901において管理リスト12cが初期化されると、
そのデータはすべて削除される。
0に示したように、エージェントの種類(図中、AG
1)と需要関数(図中、F1)とを対応させて管理し、
その管理されるデータは各エージェントからの新規要求
で追加されたり終了要求で削除される。なお、ステップ
S901において管理リスト12cが初期化されると、
そのデータはすべて削除される。
【0076】続いて、処理はエージェントからの要求待
ちとなる(ステップS902)。そこで、前述したよう
に、エージェントAG1からCPU10を資源として使
用するために需要関数が発信されてくると、その要求内
容が判別される(ステップS902)。その要求が新規
エージェントからの受付要求であった場合には、処理は
ステップS903に移行し、その新規エージェントの需
要関数を管理リストのバッファ12cに付加する。これ
により新規登録が完了する。ここでは、説明上、CPU
マネージャRM1に要求できるのはエージェントAG1
だけなので、ステップS903においてエージェントA
G1の需要関数F1が管理リストのバッファ12cに新
規登録される。
ちとなる(ステップS902)。そこで、前述したよう
に、エージェントAG1からCPU10を資源として使
用するために需要関数が発信されてくると、その要求内
容が判別される(ステップS902)。その要求が新規
エージェントからの受付要求であった場合には、処理は
ステップS903に移行し、その新規エージェントの需
要関数を管理リストのバッファ12cに付加する。これ
により新規登録が完了する。ここでは、説明上、CPU
マネージャRM1に要求できるのはエージェントAG1
だけなので、ステップS903においてエージェントA
G1の需要関数F1が管理リストのバッファ12cに新
規登録される。
【0077】また、すでに管理リストのバッファ12c
に要求元のエージェントの需要関数が登録済みであった
場合には、エージェントからの要求は需要関数の変更要
求として受け付けられる(ステップS902)。したが
って、管理リストのバッファ12c内の該当するエージ
ェントの登録内容はすでに登録されている需要関数から
今回送られてきた需要関数に更新される(ステップS9
04)。これは、同一エージェントが実行モードを変え
て再度変更した需要関数を発信してくる場合に行うもの
である。
に要求元のエージェントの需要関数が登録済みであった
場合には、エージェントからの要求は需要関数の変更要
求として受け付けられる(ステップS902)。したが
って、管理リストのバッファ12c内の該当するエージ
ェントの登録内容はすでに登録されている需要関数から
今回送られてきた需要関数に更新される(ステップS9
04)。これは、同一エージェントが実行モードを変え
て再度変更した需要関数を発信してくる場合に行うもの
である。
【0078】また、要求元のエージェントから終了要求
があった場合には(ステップS902)、処理はステッ
プS905に移行し、管理リスト12cから要求元のエ
ージェントに関する需要関数を削除する。以上の各要求
については、エージェント側で需要関数に要求の種別情
報(新規,更新,終了)を付加し、その種別情報をリソ
ースマネージャ側で判別するものとする。
があった場合には(ステップS902)、処理はステッ
プS905に移行し、管理リスト12cから要求元のエ
ージェントに関する需要関数を削除する。以上の各要求
については、エージェント側で需要関数に要求の種別情
報(新規,更新,終了)を付加し、その種別情報をリソ
ースマネージャ側で判別するものとする。
【0079】このようにしてエージェントの要求に応じ
た処理が終了すると、今度は輻輳度の算出を行うため、
処理はステップS906に移行する。ステップS906
では、管理リストのバッファ12cに現在存在する需要
関数がすべて合計される。ホストコンピュータ1では、
CPU10を使用するアプリケーションがAP1だけな
ので、交渉はアプリケーションAP1とCPU10との
1対1である。このため、ステップS906は、新たに
交渉するアプリケーションがホストコンピュータ1に設
けられるまでは不要となる。
た処理が終了すると、今度は輻輳度の算出を行うため、
処理はステップS906に移行する。ステップS906
では、管理リストのバッファ12cに現在存在する需要
関数がすべて合計される。ホストコンピュータ1では、
CPU10を使用するアプリケーションがAP1だけな
ので、交渉はアプリケーションAP1とCPU10との
1対1である。このため、ステップS906は、新たに
交渉するアプリケーションがホストコンピュータ1に設
けられるまでは不要となる。
【0080】しかしながら、ホストコンピュータ2で
は、アプリケーションAP2,AP3の2つが自ホスト
内のCPUに対して交渉できることから、各エージェン
トAG2,AG3からCPUマネージャRM2に対して
需要関数が発信される。このため、CPUマネージャR
M2では、ステップS906において2つの需要関数を
合計することになる。
は、アプリケーションAP2,AP3の2つが自ホスト
内のCPUに対して交渉できることから、各エージェン
トAG2,AG3からCPUマネージャRM2に対して
需要関数が発信される。このため、CPUマネージャR
M2では、ステップS906において2つの需要関数を
合計することになる。
【0081】図11(a)において、例えば、エージェ
ントAG2から送られてきた需要関数がdf1で示した
曲線で表され、エージェントAG3から送られてきた需
要関数がdf2で示した曲線で表された場合には、それ
ら2つの需要関数(曲線df1,df2)を合計した需
要関数はdf3で示した曲線で表される。曲線df3で
は、輻輳度が大きくなる方向で、X地点までは曲線df
1とdf2とを合計した曲線形状となるが、曲線df2
がX地点までのため、そのX地点より先は曲線df2と
同様の曲線形状となる。
ントAG2から送られてきた需要関数がdf1で示した
曲線で表され、エージェントAG3から送られてきた需
要関数がdf2で示した曲線で表された場合には、それ
ら2つの需要関数(曲線df1,df2)を合計した需
要関数はdf3で示した曲線で表される。曲線df3で
は、輻輳度が大きくなる方向で、X地点までは曲線df
1とdf2とを合計した曲線形状となるが、曲線df2
がX地点までのため、そのX地点より先は曲線df2と
同様の曲線形状となる。
【0082】同様に、ホストコンピュータ3では、アプ
リケーションAP1,AP2の2つが自ホストのネット
ワークに対して交渉できることから、各エージェントA
G1,AG2からネットワークマネージャRM3に対し
て需要関数が発信される。このため、ネットワークマネ
ージャRM3では、ステップS906において2つの需
要関数を合計することになる。
リケーションAP1,AP2の2つが自ホストのネット
ワークに対して交渉できることから、各エージェントA
G1,AG2からネットワークマネージャRM3に対し
て需要関数が発信される。このため、ネットワークマネ
ージャRM3では、ステップS906において2つの需
要関数を合計することになる。
【0083】続くステップS907において、リソース
マネージャすなわちCPUマネージャRM1の管理方針
に従ってCPU10の供給可能な需要量(以下に供給可
能量と称する)が設定される。ここで、管理方針とし
て、資源の全量を供給可能量として設定するのか、それ
とも交渉が必要なアプリケーションのクラス(例えばリ
アルタイムクラス)と交渉が不要なアプリケーションの
クラス(例えば非リアルタイムクラス)に対して資源を
分けて管理して、リアルタイムクラスのための資源を供
給可能量とするかをあらかじめ任意に定義しておく。
マネージャすなわちCPUマネージャRM1の管理方針
に従ってCPU10の供給可能な需要量(以下に供給可
能量と称する)が設定される。ここで、管理方針とし
て、資源の全量を供給可能量として設定するのか、それ
とも交渉が必要なアプリケーションのクラス(例えばリ
アルタイムクラス)と交渉が不要なアプリケーションの
クラス(例えば非リアルタイムクラス)に対して資源を
分けて管理して、リアルタイムクラスのための資源を供
給可能量とするかをあらかじめ任意に定義しておく。
【0084】さらに続くステップS908において、ス
テップS906およびステップS907を経て得られた
需要関数と供給可能量とに基づいて資源すなわちCPU
10の輻輳度が算出される。一例として、図11(a)
に示した需要関数の曲線df3を例に挙げると、需要関
数df3において供給可能量がsであったときの資源の
輻輳度はccとなる。この輻輳度ccは、該当する需要
関数(曲線df3)に供給可能量sを与えることで求め
られる。
テップS906およびステップS907を経て得られた
需要関数と供給可能量とに基づいて資源すなわちCPU
10の輻輳度が算出される。一例として、図11(a)
に示した需要関数の曲線df3を例に挙げると、需要関
数df3において供給可能量がsであったときの資源の
輻輳度はccとなる。この輻輳度ccは、該当する需要
関数(曲線df3)に供給可能量sを与えることで求め
られる。
【0085】そして、CPUマネージャRM1は、ステ
ップS908により算出されたCPU10の輻輳度を要
求元のすべてのエージェント(この場合には、エージェ
ントAG1だけとなる)に対して通知する(ステップS
909)。この後、処理はステップS902に戻り、つ
ぎのエージェントからの要求の着信待ちとして待機す
る。
ップS908により算出されたCPU10の輻輳度を要
求元のすべてのエージェント(この場合には、エージェ
ントAG1だけとなる)に対して通知する(ステップS
909)。この後、処理はステップS902に戻り、つ
ぎのエージェントからの要求の着信待ちとして待機す
る。
【0086】このように、アプリケーション(エージェ
ント側)が資源(リソースマネージャ側)に対して要求
を表した需要関数を提示し、資源がその需要関数と供給
可能量とから、その時点での資源の輻輳度を求め、その
輻輳度をアプリケーションにフィードバックする。アプ
リケーションは、そのフィードバックされた資源の輻輳
度に応じて資源を使用する。
ント側)が資源(リソースマネージャ側)に対して要求
を表した需要関数を提示し、資源がその需要関数と供給
可能量とから、その時点での資源の輻輳度を求め、その
輻輳度をアプリケーションにフィードバックする。アプ
リケーションは、そのフィードバックされた資源の輻輳
度に応じて資源を使用する。
【0087】つぎに、アプリケーションAP1,AP
2,AP3を実行する場合についての具体例を挙げる。
図1に示した分散資源管理システムにおいて、アプリケ
ーションAP1,AP2を、それぞれ音声,画像のマル
チメディアデータを送受信するリアルタイムアプリケー
ションとし、アプリケーションAP3をその他のアプリ
ケーションとして以下に説明する。
2,AP3を実行する場合についての具体例を挙げる。
図1に示した分散資源管理システムにおいて、アプリケ
ーションAP1,AP2を、それぞれ音声,画像のマル
チメディアデータを送受信するリアルタイムアプリケー
ションとし、アプリケーションAP3をその他のアプリ
ケーションとして以下に説明する。
【0088】まず、アプリケーションAP1,AP2の
QOS要求について説明する。図12はアプリケーショ
ン別のQOS要求を説明するグラフを示す図である。同
図(a),(b)はそれぞれアプリケーションAP1,
AP2のQOSレベルと輻輳度との関係を不連続な関数
で示している。図12(a)に示したアプリケーション
AP1のQOS要求では、扱うデータがQOSレベルに
敏感であるため、資源が輻輳してきた場合にも高いQO
Sレベル(High)を要求し続け、ある輻輳度に達し
たところで実行を中止する内容が示されている。
QOS要求について説明する。図12はアプリケーショ
ン別のQOS要求を説明するグラフを示す図である。同
図(a),(b)はそれぞれアプリケーションAP1,
AP2のQOSレベルと輻輳度との関係を不連続な関数
で示している。図12(a)に示したアプリケーション
AP1のQOS要求では、扱うデータがQOSレベルに
敏感であるため、資源が輻輳してきた場合にも高いQO
Sレベル(High)を要求し続け、ある輻輳度に達し
たところで実行を中止する内容が示されている。
【0089】これに対し、図12(b)に示したアプリ
ケーションAP2のQOS要求では、扱うデータがQO
Sレベルに寛容であるため、資源が輻輳してきた場合
に、ある輻輳度に達したところでQOSレベルをHig
hからLowに下げて実行を続ける内容が示されてい
る。このように、QOSレベルと輻輳度との関係につい
ては、アプリケーションが扱うデータ(コンテンツ)の
内容とユーザの要求とに応じて任意に設定することがで
きる。
ケーションAP2のQOS要求では、扱うデータがQO
Sレベルに寛容であるため、資源が輻輳してきた場合
に、ある輻輳度に達したところでQOSレベルをHig
hからLowに下げて実行を続ける内容が示されてい
る。このように、QOSレベルと輻輳度との関係につい
ては、アプリケーションが扱うデータ(コンテンツ)の
内容とユーザの要求とに応じて任意に設定することがで
きる。
【0090】つぎに、エージェントAG1,AG2によ
る需要関数の作成について説明する。これは、前述した
エージェント側のフロー(図6参照)でステップS30
2〜ステップS305に相当する。図13はQOSレベ
ルから需要量への変換テーブルの一例を示す図、図14
はネットワーク,CPU別の需要関数を説明するグラフ
を示す図、図15はQOSレベルから需要量への変換テ
ーブルの他の例を示す図、図16はネットワーク,CP
U別で圧縮なしの場合の需要関数を説明するグラフを示
す図そして、図17はネットワーク,CPU別で圧縮あ
りの場合の需要関数を説明するグラフを示す図である。
る需要関数の作成について説明する。これは、前述した
エージェント側のフロー(図6参照)でステップS30
2〜ステップS305に相当する。図13はQOSレベ
ルから需要量への変換テーブルの一例を示す図、図14
はネットワーク,CPU別の需要関数を説明するグラフ
を示す図、図15はQOSレベルから需要量への変換テ
ーブルの他の例を示す図、図16はネットワーク,CP
U別で圧縮なしの場合の需要関数を説明するグラフを示
す図そして、図17はネットワーク,CPU別で圧縮あ
りの場合の需要関数を説明するグラフを示す図である。
【0091】アプリケーションAP1,AP2をそれぞ
れ管理するエージェントAG1,1G2は、資源の輻輳
に対して要求するQOSレベルを、そのQOSレベルを
実現するのに必要な資源量すなわち需要量に変換し、各
資源毎に需要関数を作成する。
れ管理するエージェントAG1,1G2は、資源の輻輳
に対して要求するQOSレベルを、そのQOSレベルを
実現するのに必要な資源量すなわち需要量に変換し、各
資源毎に需要関数を作成する。
【0092】アプリケーションAP1のエージェントA
G1は、図13に示したような変換テーブルを作成し、
この変換テーブルに従って図14(a),(b)にそれ
ぞれ示したネットワーク,CPUの不連続な需要関数を
作成する。図13に示した変換テーブルは、エージェン
ト側のフロー(図6参照)のステップS302で作成し
た変換関数をテーブル化したものである。この変換テー
ブルでは、QOSレベルがHighのとき、ネットワー
ク需要量はaとなり、CPU需要量はoとなる。また、
QOSレベルがLowのとき、ネットワーク需要量はb
となり、CPU需要量はpとなる。
G1は、図13に示したような変換テーブルを作成し、
この変換テーブルに従って図14(a),(b)にそれ
ぞれ示したネットワーク,CPUの不連続な需要関数を
作成する。図13に示した変換テーブルは、エージェン
ト側のフロー(図6参照)のステップS302で作成し
た変換関数をテーブル化したものである。この変換テー
ブルでは、QOSレベルがHighのとき、ネットワー
ク需要量はaとなり、CPU需要量はoとなる。また、
QOSレベルがLowのとき、ネットワーク需要量はb
となり、CPU需要量はpとなる。
【0093】したがって、ネットワーク,CPUそれぞ
れの需要関数は、図14(a),(b)に示したグラフ
となる。すなわち、ネットワークについては(図14
(a)参照)、需要量“a”のQOSレベルがある輻輳
度に達するまでHighの状態で要求され、ある輻輳度
に達したところで需要量はゼロとなる。同様に、CPU
については(図14(b)参照)、需要量“o”のQO
Sレベルがある輻輳度に達するまでHighの状態で要
求され、ある輻輳度に達したところで需要量はゼロとな
る。アプリケーションAP1では、QOSレベル“Hi
gh”だけの要求となる。
れの需要関数は、図14(a),(b)に示したグラフ
となる。すなわち、ネットワークについては(図14
(a)参照)、需要量“a”のQOSレベルがある輻輳
度に達するまでHighの状態で要求され、ある輻輳度
に達したところで需要量はゼロとなる。同様に、CPU
については(図14(b)参照)、需要量“o”のQO
Sレベルがある輻輳度に達するまでHighの状態で要
求され、ある輻輳度に達したところで需要量はゼロとな
る。アプリケーションAP1では、QOSレベル“Hi
gh”だけの要求となる。
【0094】また、アプリケーションAP2は、実行モ
ードとして圧縮モードを有している。この圧縮モードに
は、圧縮ありのモードと圧縮なしのモードとの2種類が
存在する。アプリケーションAP2のエージェントAG
2は、図15に示したような変換テーブルを作成し、こ
の変換テーブルに従って図16(a),(b)にそれぞ
れ示したネットワーク,CPUの需要関数(圧縮モード
なし)、もしくは図17(a),(b)にそれぞれ示し
たネットワーク,CPUの需要関数(圧縮モードあり)
を作成する。
ードとして圧縮モードを有している。この圧縮モードに
は、圧縮ありのモードと圧縮なしのモードとの2種類が
存在する。アプリケーションAP2のエージェントAG
2は、図15に示したような変換テーブルを作成し、こ
の変換テーブルに従って図16(a),(b)にそれぞ
れ示したネットワーク,CPUの需要関数(圧縮モード
なし)、もしくは図17(a),(b)にそれぞれ示し
たネットワーク,CPUの需要関数(圧縮モードあり)
を作成する。
【0095】図15に示した変換テーブルでは、QOS
レベルのHigh,Lowがそれぞれさらに圧縮モード
なしと圧縮モードありとに細分化される。まず、圧縮モ
ードなしでは、QOSレベルがHighのとき、ネット
ワーク需要量はcとなり、CPU需要量はqとなる。ま
た、QOSレベルがLowのとき、ネットワーク需要量
はdとなり、CPU需要量はrとなる。
レベルのHigh,Lowがそれぞれさらに圧縮モード
なしと圧縮モードありとに細分化される。まず、圧縮モ
ードなしでは、QOSレベルがHighのとき、ネット
ワーク需要量はcとなり、CPU需要量はqとなる。ま
た、QOSレベルがLowのとき、ネットワーク需要量
はdとなり、CPU需要量はrとなる。
【0096】一方、圧縮モードありでは、QOSレベル
がHighのとき、ネットワーク需要量はdとなり、C
PU需要量はsとなる。また、QOSレベルがLowの
とき、ネットワーク需要量はeとなり、CPU需要量は
qとなる。ここで、需要量の大小関係について言及する
と、ネットワーク側ではc>d>eとなり、CPU側で
はs>q>rとなる。
がHighのとき、ネットワーク需要量はdとなり、C
PU需要量はsとなる。また、QOSレベルがLowの
とき、ネットワーク需要量はeとなり、CPU需要量は
qとなる。ここで、需要量の大小関係について言及する
と、ネットワーク側ではc>d>eとなり、CPU側で
はs>q>rとなる。
【0097】したがって、圧縮モードなしの場合には、
ネットワーク,CPUそれぞれの不連続な需要関数は、
図16(a),(b)に示したグラフとなる。すなわ
ち、ネットワークについては(図16(a)参照)、需
要量cのQOSレベルがある輻輳度に達するまでHig
hの状態で要求され、ある輻輳度に達したところで需要
量はdに下げられる。同様に、CPUについては(図1
6(b)参照)、需要量qのQOSレベルがある輻輳度
に達するまでHighの状態で要求され、ある輻輳度に
達したところで需要量はrに下げられる。この圧縮モー
ドなしの場合には、QOSレベルを輻輳度に応じて段階
的に設定しているので、QOSレベルはHigh,Lo
wの2段階となる。
ネットワーク,CPUそれぞれの不連続な需要関数は、
図16(a),(b)に示したグラフとなる。すなわ
ち、ネットワークについては(図16(a)参照)、需
要量cのQOSレベルがある輻輳度に達するまでHig
hの状態で要求され、ある輻輳度に達したところで需要
量はdに下げられる。同様に、CPUについては(図1
6(b)参照)、需要量qのQOSレベルがある輻輳度
に達するまでHighの状態で要求され、ある輻輳度に
達したところで需要量はrに下げられる。この圧縮モー
ドなしの場合には、QOSレベルを輻輳度に応じて段階
的に設定しているので、QOSレベルはHigh,Lo
wの2段階となる。
【0098】一方、圧縮モードありの場合には、ネット
ワーク,CPUそれぞれの不連続な需要関数は、図17
(a),(b)に示したグラフとなる。すなわち、ネッ
トワークについては(図17(a)参照)、需要量cの
QOSレベルがある輻輳度に達するまでHighの状態
で要求され、ある輻輳度に達したところで需要量はdに
下げられ、さらに他のある輻輳度に達したところで需要
量はeに下げられる。すなわち、ネットワークについて
は、QOSレベルがLowに移行すると、その段階でさ
らに1段レベルを下げる制御が行われる。
ワーク,CPUそれぞれの不連続な需要関数は、図17
(a),(b)に示したグラフとなる。すなわち、ネッ
トワークについては(図17(a)参照)、需要量cの
QOSレベルがある輻輳度に達するまでHighの状態
で要求され、ある輻輳度に達したところで需要量はdに
下げられ、さらに他のある輻輳度に達したところで需要
量はeに下げられる。すなわち、ネットワークについて
は、QOSレベルがLowに移行すると、その段階でさ
らに1段レベルを下げる制御が行われる。
【0099】同様に、CPUについては(図17(b)
参照)、まず、QOSレベルがHighの段階で、需要
量sのQOSレベルがある輻輳度に達したことろで需要
量がqに下げられ、さらに他のある輻輳度に達したとこ
ろでQOSレベルがLowに移行することから、そこで
需要量はrに下げられる。この圧縮モードありの場合に
は、QOSレベルを輻輳度に応じてHigh,Lowの
段階でもさらに細分化して段階を設定しているので、Q
OSレベルを送受信するデータの種別に応じて細かく設
定することができる。
参照)、まず、QOSレベルがHighの段階で、需要
量sのQOSレベルがある輻輳度に達したことろで需要
量がqに下げられ、さらに他のある輻輳度に達したとこ
ろでQOSレベルがLowに移行することから、そこで
需要量はrに下げられる。この圧縮モードありの場合に
は、QOSレベルを輻輳度に応じてHigh,Lowの
段階でもさらに細分化して段階を設定しているので、Q
OSレベルを送受信するデータの種別に応じて細かく設
定することができる。
【0100】特に、画像データの送受信では、ネットワ
ークのトラヒックが高くても、CPUが空いていれば画
像データを圧縮して伝送効率を優先することができる。
そのために、圧縮モードありの場合には、ネットワー
ク,CPUのいずれについても、一つのQOSレベルを
長く要求する必要はなく、ネットワーク需要量について
は、低いQOSレベルも許容できるようにし、一方、C
PU需要量については、さらに高めのQOSレベルを設
定すればよい。
ークのトラヒックが高くても、CPUが空いていれば画
像データを圧縮して伝送効率を優先することができる。
そのために、圧縮モードありの場合には、ネットワー
ク,CPUのいずれについても、一つのQOSレベルを
長く要求する必要はなく、ネットワーク需要量について
は、低いQOSレベルも許容できるようにし、一方、C
PU需要量については、さらに高めのQOSレベルを設
定すればよい。
【0101】つぎに、アプリケーションAP1,AP
2,AP3が順に動作を開始した場合の各資源交渉につ
いて説明する。この動作は、エージェント側のフロー
(図6参照)需要関数の発信,要求値の決定および需要
関数の変更と、リソースマネージャ側のフロー(図9参
照)エージェントの要求処理,輻輳度の算出および輻輳
度の通知とに相当する。
2,AP3が順に動作を開始した場合の各資源交渉につ
いて説明する。この動作は、エージェント側のフロー
(図6参照)需要関数の発信,要求値の決定および需要
関数の変更と、リソースマネージャ側のフロー(図9参
照)エージェントの要求処理,輻輳度の算出および輻輳
度の通知とに相当する。
【0102】まず、アプリケーションAP1が動作を開
始した場合について説明する。図18はネットワーク,
CPU別でアプリケーションAP1が動作を開始したと
きの輻輳度を説明するグラフを示す図である。同図
(a)はネットワークについての需要量と輻輳度との関
係を示し、同図(b)はCPUについての需要量と輻輳
度との関係を示している。
始した場合について説明する。図18はネットワーク,
CPU別でアプリケーションAP1が動作を開始したと
きの輻輳度を説明するグラフを示す図である。同図
(a)はネットワークについての需要量と輻輳度との関
係を示し、同図(b)はCPUについての需要量と輻輳
度との関係を示している。
【0103】アプリケーションAP1のエージェントA
G1は図14(a),(b)に示した需要関数をそれぞ
れネットワークマネージャRM3、自ホスト内のCPU
マネージャRM1に発信する。ネットワークについて
は、エージェントAG1からネットワークマネージャR
M3に発信された需要関数から、需要量aが供給可能量
以下となる(図18(a)参照)。また、CPUについ
ては、エージェントAG1からCPUマネージャRM1
に発信された需要関数から、需要量oが供給可能量以下
となる(図18(b)参照)。
G1は図14(a),(b)に示した需要関数をそれぞ
れネットワークマネージャRM3、自ホスト内のCPU
マネージャRM1に発信する。ネットワークについて
は、エージェントAG1からネットワークマネージャR
M3に発信された需要関数から、需要量aが供給可能量
以下となる(図18(a)参照)。また、CPUについ
ては、エージェントAG1からCPUマネージャRM1
に発信された需要関数から、需要量oが供給可能量以下
となる(図18(b)参照)。
【0104】このように、ネットワーク,CPUのどち
らの需要量も供給可能量以下となることから、アプリケ
ーションAP1の要求は通る。このため、ネットワーク
需要量aとCPU需要量oとが得られ、アプリケーショ
ンAP1はQOSレベル“High”の状態で実行を開
始する。
らの需要量も供給可能量以下となることから、アプリケ
ーションAP1の要求は通る。このため、ネットワーク
需要量aとCPU需要量oとが得られ、アプリケーショ
ンAP1はQOSレベル“High”の状態で実行を開
始する。
【0105】つぎに、アプリケーションAP2が動作を
開始した場合について説明する。図19はネットワー
ク,CPU別で第2アプリケーションが動作を開始した
ときの輻輳度を説明するグラフを示す図である。同図
(a)はネットワークについての需要量と輻輳度との関
係を示し、同図(b)はCPUについての需要量と輻輳
度との関係を示している。
開始した場合について説明する。図19はネットワー
ク,CPU別で第2アプリケーションが動作を開始した
ときの輻輳度を説明するグラフを示す図である。同図
(a)はネットワークについての需要量と輻輳度との関
係を示し、同図(b)はCPUについての需要量と輻輳
度との関係を示している。
【0106】アプリケーションAP2のエージェントA
G2は、まず圧縮モードなしで実行を開始するため、図
16(a),(b)に示した需要関数をそれぞれネット
ワークマネージャRM3、自ホスト内のCPUマネージ
ャRM2に発信する。ネットワークについては、エージ
ェントAG1,AG2からそれぞれネットワークマネー
ジャRM3に発信された需要関数が合計され、図19
(a)に示したごとくグラフが得られる。このグラフに
対して供給可能量が設定された後、輻輳度が算出され
る。図19(a)に示したように、輻輳度ccが算出さ
れると、その輻輳度ccはエージェントAG1,AG2
に通知される。
G2は、まず圧縮モードなしで実行を開始するため、図
16(a),(b)に示した需要関数をそれぞれネット
ワークマネージャRM3、自ホスト内のCPUマネージ
ャRM2に発信する。ネットワークについては、エージ
ェントAG1,AG2からそれぞれネットワークマネー
ジャRM3に発信された需要関数が合計され、図19
(a)に示したごとくグラフが得られる。このグラフに
対して供給可能量が設定された後、輻輳度が算出され
る。図19(a)に示したように、輻輳度ccが算出さ
れると、その輻輳度ccはエージェントAG1,AG2
に通知される。
【0107】一方、CPUについては、図19(b)に
示したように、需要量が供給可能量以下なので、輻輳度
は0となる。そして、各CPUマネージャRM1,RM
2は、それぞれ該当するエージェントAP1,AP2に
輻輳度を通知する。
示したように、需要量が供給可能量以下なので、輻輳度
は0となる。そして、各CPUマネージャRM1,RM
2は、それぞれ該当するエージェントAP1,AP2に
輻輳度を通知する。
【0108】続いて、各アプリケーションAP1,AP
2の要求値について説明する。図20はネットワーク,
CPU別でアプリケーションAP1の要求値を説明する
グラフを示す図、図21はネットワーク,CPU別でア
プリケーションAP2の要求値を説明するグラフを示す
図、図22はネットワーク,CPU別で需要関数変更要
求を受けた際の輻輳度を説明するグラフを示す図、図2
3はネットワーク,CPU別で輻輳度通知を受けた際の
アプリケーションAP1の要求値を説明するグラフを示
す図、そして、図24はネットワーク,CPU別で輻輳
度通知を受けた際のアプリケーションAP2の要求値を
説明するグラフを示す図である。
2の要求値について説明する。図20はネットワーク,
CPU別でアプリケーションAP1の要求値を説明する
グラフを示す図、図21はネットワーク,CPU別でア
プリケーションAP2の要求値を説明するグラフを示す
図、図22はネットワーク,CPU別で需要関数変更要
求を受けた際の輻輳度を説明するグラフを示す図、図2
3はネットワーク,CPU別で輻輳度通知を受けた際の
アプリケーションAP1の要求値を説明するグラフを示
す図、そして、図24はネットワーク,CPU別で輻輳
度通知を受けた際のアプリケーションAP2の要求値を
説明するグラフを示す図である。
【0109】エージェントAG1は、各資源に関する輻
輳度の通知を受けると、各資源の需要関数と通知された
輻輳度とから要求値を決定する。このとき、ネットワー
クの輻輳度はccなので、確保できるネットワーク需要
量はaになり(図20(a)参照)、CPUの輻輳度は
0(ゼロ)なので、確保できるCPU需要量はoになる
(図20(b)参照)。したがって、ネットワークの混
雑がなく、CPUが空いていることから、アプリケーシ
ョンAP1の実行可能なQOSレベルはHighとな
る。
輳度の通知を受けると、各資源の需要関数と通知された
輻輳度とから要求値を決定する。このとき、ネットワー
クの輻輳度はccなので、確保できるネットワーク需要
量はaになり(図20(a)参照)、CPUの輻輳度は
0(ゼロ)なので、確保できるCPU需要量はoになる
(図20(b)参照)。したがって、ネットワークの混
雑がなく、CPUが空いていることから、アプリケーシ
ョンAP1の実行可能なQOSレベルはHighとな
る。
【0110】また、エージェントAG2は、各資源に関
する輻輳度の通知を受けると、各資源の需要関数と通知
された輻輳度とから要求値を決定する。このとき、ネッ
トワークの輻輳度はccなので、確保できるネットワー
ク需要量はdになり(図21(a)参照)、CPUの輻
輳度は0(ゼロ)なので、確保できるCPU需要量はq
になる(図21(b)参照)。したがって、CPUは空
いているが、ネットワークが混雑していることから、ア
プリケーションAP2の実行可能なQOSレベルはLo
wとなる。
する輻輳度の通知を受けると、各資源の需要関数と通知
された輻輳度とから要求値を決定する。このとき、ネッ
トワークの輻輳度はccなので、確保できるネットワー
ク需要量はdになり(図21(a)参照)、CPUの輻
輳度は0(ゼロ)なので、確保できるCPU需要量はq
になる(図21(b)参照)。したがって、CPUは空
いているが、ネットワークが混雑していることから、ア
プリケーションAP2の実行可能なQOSレベルはLo
wとなる。
【0111】アプリケーションAP2については、送受
信に関して圧縮モードなしから圧縮モードありへの切り
替えが可能である。そこで、エージェントAG2は、輻
輳度“0”(空き)のCPUを有効に利用して、QOS
レベル“High”での実行を続けるため、圧縮モード
への切り替えを行う。この状態は、ネットワークが混雑
しているにも拘わらず、CPUが空き状態のときを想定
できる。この場合には、図17(a),(b)の需要関
数をそれぞれネットワークマネージャRM3、CPUマ
ネージャRM2に発信する。
信に関して圧縮モードなしから圧縮モードありへの切り
替えが可能である。そこで、エージェントAG2は、輻
輳度“0”(空き)のCPUを有効に利用して、QOS
レベル“High”での実行を続けるため、圧縮モード
への切り替えを行う。この状態は、ネットワークが混雑
しているにも拘わらず、CPUが空き状態のときを想定
できる。この場合には、図17(a),(b)の需要関
数をそれぞれネットワークマネージャRM3、CPUマ
ネージャRM2に発信する。
【0112】これにより、ネットワークマネージャRM
3,CPUマネージャRM2は、それぞれエージェント
AG2からの需要関数の変更要求を受け付けて、同時に
送られてきた需要関数に基づいて輻輳度の再計算を行
う。このようにして得られた輻輳度は、該当する各エー
ジェントに対して通知される。ネットワークマネージャ
RM3では、エージェントAG1,AG2から送られた
需要関数の合計と供給可能量とから、図22(a)に示
したように、輻輳度cdが算出される。また、図22
(b)において、CPU需要量は供給可能量以下なの
で、輻輳度は0(ゼロ)になる。
3,CPUマネージャRM2は、それぞれエージェント
AG2からの需要関数の変更要求を受け付けて、同時に
送られてきた需要関数に基づいて輻輳度の再計算を行
う。このようにして得られた輻輳度は、該当する各エー
ジェントに対して通知される。ネットワークマネージャ
RM3では、エージェントAG1,AG2から送られた
需要関数の合計と供給可能量とから、図22(a)に示
したように、輻輳度cdが算出される。また、図22
(b)において、CPU需要量は供給可能量以下なの
で、輻輳度は0(ゼロ)になる。
【0113】ネットワークマネージャRM3は各エージ
ェントAG1,AG2に対して算出された輻輳度cdを
通知し、CPUマネージャRM2はエージェントAG2
に対して輻輳度“0”(ゼロ)を通知する。
ェントAG1,AG2に対して算出された輻輳度cdを
通知し、CPUマネージャRM2はエージェントAG2
に対して輻輳度“0”(ゼロ)を通知する。
【0114】エージェントAG1は、ネットワークマネ
ージャRM3,CPUマネージャRM1からそれぞれ輻
輳度の通知を受けると、各輻輳度と需要関数とから要求
値を決定する。エージェントAG1に通知された輻輳度
はcdなので、確保できるネットワーク需要量すなわち
要求値はaになり(図23(a)参照)、CPUの輻輳
度は0なので、CPU需要量すなわち要求値はoになる
(同図(b))。したがって、アプリケーションAP1
の実行可能なQOSレベルはHighとなる。
ージャRM3,CPUマネージャRM1からそれぞれ輻
輳度の通知を受けると、各輻輳度と需要関数とから要求
値を決定する。エージェントAG1に通知された輻輳度
はcdなので、確保できるネットワーク需要量すなわち
要求値はaになり(図23(a)参照)、CPUの輻輳
度は0なので、CPU需要量すなわち要求値はoになる
(同図(b))。したがって、アプリケーションAP1
の実行可能なQOSレベルはHighとなる。
【0115】エージェントAG2は、ネットワークマネ
ージャRM3,CPUマネージャRM2からそれぞれ輻
輳度の通知を受けると、各輻輳度と需要関数とから要求
値を決定する。エージェントAG2に通知された輻輳度
はcdなので、確保できるネットワーク需要量すなわち
要求値はdになり(図24(a)参照)、CPUの輻輳
度は0(ゼロ)なので、CPU需要量すなわち要求値は
sになる(同図(b)参照)。したがって、アプリケー
ションAP2の実行可能なQOSレベルは圧縮モードあ
りでHighとなる。
ージャRM3,CPUマネージャRM2からそれぞれ輻
輳度の通知を受けると、各輻輳度と需要関数とから要求
値を決定する。エージェントAG2に通知された輻輳度
はcdなので、確保できるネットワーク需要量すなわち
要求値はdになり(図24(a)参照)、CPUの輻輳
度は0(ゼロ)なので、CPU需要量すなわち要求値は
sになる(同図(b)参照)。したがって、アプリケー
ションAP2の実行可能なQOSレベルは圧縮モードあ
りでHighとなる。
【0116】つぎに、アプリケーションAP3が動作を
開始した場合について説明する。図25はネットワー
ク,CPU別でアプリケーションAP3が動作を開始し
たときの需要関数を説明するグラフを示す図、図26は
CPUの輻輳度を説明するグラフを示す図、図27はC
PUで輻輳度の通知を受けた際のアプリケーションAP
2の要求値を説明するグラフを示す図、そして、図28
はCPUで輻輳度の通知を受けた際のアプリケーション
AP3の要求値を説明するグラフを示す図である。
開始した場合について説明する。図25はネットワー
ク,CPU別でアプリケーションAP3が動作を開始し
たときの需要関数を説明するグラフを示す図、図26は
CPUの輻輳度を説明するグラフを示す図、図27はC
PUで輻輳度の通知を受けた際のアプリケーションAP
2の要求値を説明するグラフを示す図、そして、図28
はCPUで輻輳度の通知を受けた際のアプリケーション
AP3の要求値を説明するグラフを示す図である。
【0117】アプリケーションAP3は、図25に示し
たように、ある輻輳度まで需要量tでQOSレベルを要
求し続ける需要関数を有している。この需要関数は、ア
プリケーションAP3の実行開始時にホストコンピュー
タ2のCPUマネージャRM2に発信される。
たように、ある輻輳度まで需要量tでQOSレベルを要
求し続ける需要関数を有している。この需要関数は、ア
プリケーションAP3の実行開始時にホストコンピュー
タ2のCPUマネージャRM2に発信される。
【0118】CPUマネージャRM2は、エージェント
AG2およびAG3から送られてきた需要関数を合計し
て、図26に示したような不連続な需要関数を得ると、
その需要関数に対して供給可能量を設定する。そして、
その合計された需要関数と供給可能量とから、輻輳度c
eが算出される。この輻輳度ceは、エージェントAG
2,AG3に通知される。
AG2およびAG3から送られてきた需要関数を合計し
て、図26に示したような不連続な需要関数を得ると、
その需要関数に対して供給可能量を設定する。そして、
その合計された需要関数と供給可能量とから、輻輳度c
eが算出される。この輻輳度ceは、エージェントAG
2,AG3に通知される。
【0119】まず、エージェントAG2は、CPUマネ
ージャRM2から輻輳度の通知を受けると、その輻輳度
と需要関数とから要求値を決定する。エージェントAG
2に通知されたCPUの輻輳度はceなので、確保でき
るCPU需要量すなわち要求値はpになる(図27参
照)。
ージャRM2から輻輳度の通知を受けると、その輻輳度
と需要関数とから要求値を決定する。エージェントAG
2に通知されたCPUの輻輳度はceなので、確保でき
るCPU需要量すなわち要求値はpになる(図27参
照)。
【0120】したがって、CPUにおいては、圧縮モー
ドありでもQOSレベルでの実行は不可能となる。この
場合には、圧縮モードありのままQOSレベル“Lo
w”で実行を行うか、それとも、圧縮モードありでのQ
OSレベル“Low”で実行を行うために、需要関数を
変更して再度交渉を行うか、ユーザによって任意に選択
される。
ドありでもQOSレベルでの実行は不可能となる。この
場合には、圧縮モードありのままQOSレベル“Lo
w”で実行を行うか、それとも、圧縮モードありでのQ
OSレベル“Low”で実行を行うために、需要関数を
変更して再度交渉を行うか、ユーザによって任意に選択
される。
【0121】また、エージェントAG3は、CPUマネ
ージャRM2から輻輳度の通知を受けると、その輻輳度
と需要関数とから要求値を決定する。エージェントAG
2に通知されたCPUの輻輳度はceなので、確保でき
るCPU需要量すなわち要求値はtになる(図28参
照)。したがって、アプリケーションAP3の実行可能
なQOSレベルはHighとなる。
ージャRM2から輻輳度の通知を受けると、その輻輳度
と需要関数とから要求値を決定する。エージェントAG
2に通知されたCPUの輻輳度はceなので、確保でき
るCPU需要量すなわち要求値はtになる(図28参
照)。したがって、アプリケーションAP3の実行可能
なQOSレベルはHighとなる。
【0122】以上説明したように、実施の形態によれ
ば、アプリケーションAP1,AP2,AP3(エージ
ェントAG1,AG2,AG3)側でサービスの要求度
をCPU,ネットワークの需要関数として表し、その需
要関数を直接CPU,ネットワーク(CPUマネージャ
RM1,RM2およびネットワークマネージャRM3)
に対して示すことから、個々のアプリケーションAP
1,AP2,AP3の要求を反映したきめの細かい資源
配分制御が可能である。
ば、アプリケーションAP1,AP2,AP3(エージ
ェントAG1,AG2,AG3)側でサービスの要求度
をCPU,ネットワークの需要関数として表し、その需
要関数を直接CPU,ネットワーク(CPUマネージャ
RM1,RM2およびネットワークマネージャRM3)
に対して示すことから、個々のアプリケーションAP
1,AP2,AP3の要求を反映したきめの細かい資源
配分制御が可能である。
【0123】また、個々のアプリケーションAP1,A
P2,AP3(エージェントAG1,AG2,AG3)
が独立にCPU,ネットワーク(CPUマネージャRM
1,RM2およびネットワークマネージャRM3)と交
渉することから、分散的な制御が可能となり、同時に、
アプリケーションや資源(CPU,ネットワーク)のお
かれた環境の管理方針に従った分権的な制御が可能であ
る。
P2,AP3(エージェントAG1,AG2,AG3)
が独立にCPU,ネットワーク(CPUマネージャRM
1,RM2およびネットワークマネージャRM3)と交
渉することから、分散的な制御が可能となり、同時に、
アプリケーションや資源(CPU,ネットワーク)のお
かれた環境の管理方針に従った分権的な制御が可能であ
る。
【0124】また、需要関数の変更によりアプリケーシ
ョン(エージェント)とCPU,ネットワーク(リソー
スマネージャ)との交渉を繰り返し実行するようにした
ので、資源(CPU,ネットワーク)の輻輳状態に対応
した動的な適応性をもった資源配分制御を実現すること
が可能である。
ョン(エージェント)とCPU,ネットワーク(リソー
スマネージャ)との交渉を繰り返し実行するようにした
ので、資源(CPU,ネットワーク)の輻輳状態に対応
した動的な適応性をもった資源配分制御を実現すること
が可能である。
【0125】また、図1のシステムにおいて、マルチメ
ディアデータ(動画像データ、音声データの両方を含ん
でいる)画像データを伝送する場合、ネットワークNE
Tが輻輳していてもホストコンピュータ1やホストコン
ピュータ2のCPUの需要量を増すことで、十分にデー
タを圧縮することができ、一方、CPUが輻輳していて
もネットワークNETの需要量を増すことで、圧縮に必
要なCPUの需要量を削減することが可能である。
ディアデータ(動画像データ、音声データの両方を含ん
でいる)画像データを伝送する場合、ネットワークNE
Tが輻輳していてもホストコンピュータ1やホストコン
ピュータ2のCPUの需要量を増すことで、十分にデー
タを圧縮することができ、一方、CPUが輻輳していて
もネットワークNETの需要量を増すことで、圧縮に必
要なCPUの需要量を削減することが可能である。
【0126】また、CPUマネージャRM1,RM2や
ネットワークRM3では、該当する資源を共有するエー
ジェントからの最新の需要関数を管理するようにしたの
で、常に現時点での輻輳状況を資源を共有する各エージ
ェントに提供することが可能である。
ネットワークRM3では、該当する資源を共有するエー
ジェントからの最新の需要関数を管理するようにしたの
で、常に現時点での輻輳状況を資源を共有する各エージ
ェントに提供することが可能である。
【0127】また、注目資源の実行レベルを需要量に変
換する変換テーブルから需要量と輻輳度との関係を示す
需要関数を作成するようにしたので、実行レベルを実現
するのに必要な需要量を示す需要関数を得ることが可能
である。
換する変換テーブルから需要量と輻輳度との関係を示す
需要関数を作成するようにしたので、実行レベルを実現
するのに必要な需要量を示す需要関数を得ることが可能
である。
【0128】また、各エージェントにおいて、実行すべ
きアプリケーションに必要な資源をすべて注目資源とし
て需要関数を作成するようにしたので、一つの注目資源
の輻輳度から得られた要求値だけでなく、全体としてバ
ランスがよく、適切なQOSレベルでアプリケーション
を実行させることが可能である。
きアプリケーションに必要な資源をすべて注目資源とし
て需要関数を作成するようにしたので、一つの注目資源
の輻輳度から得られた要求値だけでなく、全体としてバ
ランスがよく、適切なQOSレベルでアプリケーション
を実行させることが可能である。
【0129】また、各リソースマネージャにおいて、輻
輳度の算出に、需要関数だけでなく、注目資源について
あらかじめ設定した供給可能量を加味するようにしたの
で、同じ注目資源でも与える供給可能量の違いから輻輳
の状況を変動させることが可能である。
輳度の算出に、需要関数だけでなく、注目資源について
あらかじめ設定した供給可能量を加味するようにしたの
で、同じ注目資源でも与える供給可能量の違いから輻輳
の状況を変動させることが可能である。
【0130】また、需要関数を不連続な関数で表したの
で、輻輳度の増加方向で段階的に需要量を表現すること
が可能である。
で、輻輳度の増加方向で段階的に需要量を表現すること
が可能である。
【0131】
【発明の効果】以上説明したように、請求項1の発明に
係る分散資源管理システムによれば、アプリケーション
(エージェント)側でサービスの要求度を資源の需要関
数として表し、その需要関数を直接資源(リソースマネ
ージャ)に対して示すことから、個々のアプリケーショ
ンの要求を反映したきめの細かい資源配分制御が可能で
ある。また、個々のアプリケーション(エージェント)
が独立に資源(リソースマネージャ)と交渉することか
ら、分散的な制御が可能となり、同時に、アプリケーシ
ョンや資源のおかれた環境の管理方針に従った分権的な
制御が可能である。
係る分散資源管理システムによれば、アプリケーション
(エージェント)側でサービスの要求度を資源の需要関
数として表し、その需要関数を直接資源(リソースマネ
ージャ)に対して示すことから、個々のアプリケーショ
ンの要求を反映したきめの細かい資源配分制御が可能で
ある。また、個々のアプリケーション(エージェント)
が独立に資源(リソースマネージャ)と交渉することか
ら、分散的な制御が可能となり、同時に、アプリケーシ
ョンや資源のおかれた環境の管理方針に従った分権的な
制御が可能である。
【0132】また、請求項2の発明によれば、請求項1
の発明において、需要関数の変更によりアプリケーショ
ン(エージェント)と資源(リソースマネージャ)との
交渉を繰り返し実行するようにしたので、資源の輻輳状
態に対応した動的な適応性をもった資源配分制御を実現
することが可能である。
の発明において、需要関数の変更によりアプリケーショ
ン(エージェント)と資源(リソースマネージャ)との
交渉を繰り返し実行するようにしたので、資源の輻輳状
態に対応した動的な適応性をもった資源配分制御を実現
することが可能である。
【0133】また、請求項3の発明によれば、請求項2
において、ネットワークが輻輳していてもCPUの需要
量を増すことで、十分にデータを圧縮することができ、
一方、CPUが輻輳していてもネットワークの需要量を
増すことで、圧縮に必要なCPUの需要量を削減するこ
とが可能である。
において、ネットワークが輻輳していてもCPUの需要
量を増すことで、十分にデータを圧縮することができ、
一方、CPUが輻輳していてもネットワークの需要量を
増すことで、圧縮に必要なCPUの需要量を削減するこ
とが可能である。
【0134】また、請求項4の発明によれば、請求項1
〜3のいずれか一つにおいて、各リソースマネージャで
は、該当する資源を共有するエージェントからの最新の
需要関数を管理するようにしたので、常に現時点での輻
輳状況を各エージェントに提供することが可能である。
〜3のいずれか一つにおいて、各リソースマネージャで
は、該当する資源を共有するエージェントからの最新の
需要関数を管理するようにしたので、常に現時点での輻
輳状況を各エージェントに提供することが可能である。
【0135】また、請求項5の発明によれば、請求項1
〜4のいずれか一つにおいて、注目資源の実行レベルを
需要量に変換する変換関数から需要量と輻輳度との関係
を示す需要関数を作成するようにしたので、実行レベル
を実現するのに必要な需要量を示す需要関数を得ること
が可能である。
〜4のいずれか一つにおいて、注目資源の実行レベルを
需要量に変換する変換関数から需要量と輻輳度との関係
を示す需要関数を作成するようにしたので、実行レベル
を実現するのに必要な需要量を示す需要関数を得ること
が可能である。
【0136】また、請求項6の発明によれば、請求項1
〜5のいずれか一つにおいて、実行すべきアプリケーシ
ョンに必要な資源をすべて注目資源として需要関数を作
成するようにしたので、一つの注目資源の輻輳度から得
られた要求値だけでなく、全体としてバランスがよく、
適切な要求度でアプリケーションを実行させることが可
能である。
〜5のいずれか一つにおいて、実行すべきアプリケーシ
ョンに必要な資源をすべて注目資源として需要関数を作
成するようにしたので、一つの注目資源の輻輳度から得
られた要求値だけでなく、全体としてバランスがよく、
適切な要求度でアプリケーションを実行させることが可
能である。
【0137】また、請求項7の発明によれば、請求項1
において、輻輳度の算出に、需要関数だけでなく、注目
資源についてあらかじめ設定した供給可能量を加味する
ようにしたので、同じ注目資源でも与える供給可能量の
違いから輻輳の状況を変動させることが可能である。
において、輻輳度の算出に、需要関数だけでなく、注目
資源についてあらかじめ設定した供給可能量を加味する
ようにしたので、同じ注目資源でも与える供給可能量の
違いから輻輳の状況を変動させることが可能である。
【0138】また、請求項8の発明によれば、請求項1
〜7のいずれか一つにおいて、需要関数を不連続な関数
で表したので、輻輳度の増加方向で段階的に需要量を表
現することが可能である。
〜7のいずれか一つにおいて、需要関数を不連続な関数
で表したので、輻輳度の増加方向で段階的に需要量を表
現することが可能である。
【0139】また、請求項9の発明に係る分散資源管理
方法によれば、アプリケーション(エージェント)側で
サービスの要求度を資源の需要関数として表し、その需
要関数を直接資源(リソースマネージャ)に対して示す
ことから、個々のアプリケーションの要求を反映したき
めの細かい資源配分制御が可能である。また、個々のア
プリケーション(エージェント)が独立に資源(リソー
スマネージャ)と交渉することから、分散的な制御が可
能となり、同時に、アプリケーションや資源のおかれた
環境の管理方針に従った分権的な制御が可能である。
方法によれば、アプリケーション(エージェント)側で
サービスの要求度を資源の需要関数として表し、その需
要関数を直接資源(リソースマネージャ)に対して示す
ことから、個々のアプリケーションの要求を反映したき
めの細かい資源配分制御が可能である。また、個々のア
プリケーション(エージェント)が独立に資源(リソー
スマネージャ)と交渉することから、分散的な制御が可
能となり、同時に、アプリケーションや資源のおかれた
環境の管理方針に従った分権的な制御が可能である。
【0140】また、請求項10の発明によれば、請求項
9記載の発明において、需要関数の変更によりアプリケ
ーション(エージェント)と資源(リソースマネージ
ャ)との交渉を繰り返し実行するようにしたので、資源
の輻輳状態に対応した動的な適応性をもった資源配分制
御を実現することが可能である。
9記載の発明において、需要関数の変更によりアプリケ
ーション(エージェント)と資源(リソースマネージ
ャ)との交渉を繰り返し実行するようにしたので、資源
の輻輳状態に対応した動的な適応性をもった資源配分制
御を実現することが可能である。
【図1】この発明の実施の形態による分散資源管理シス
テムを示すシステム構成図である。
テムを示すシステム構成図である。
【図2】資源交渉モデルを説明する図である。
【図3】分散資源管理システムに適用されるエージェン
トの構成を機能的に示すブロック図である。
トの構成を機能的に示すブロック図である。
【図4】分散資源管理システムに適用されるリソースマ
ネージャの構成を機能的に示すブロック図である。
ネージャの構成を機能的に示すブロック図である。
【図5】ホストコンピュータの代表的なハードウェア構
成例を示すブロック図である。
成例を示すブロック図である。
【図6】エージェントの動作の流れを説明するフローチ
ャートである。
ャートである。
【図7】エージェント側においてQOSレベルから需要
関数への変換をグラフを用いて説明する図である。
関数への変換をグラフを用いて説明する図である。
【図8】エージェント側において需要度と輻輳度との関
係をグラフ化して示す図である。
係をグラフ化して示す図である。
【図9】リソースマネージャの動作の流れを説明するフ
ローチャートである。
ローチャートである。
【図10】管理リストの内容の一例を示す図である。
【図11】リソースマネージャ側において輻輳度を求め
るための需要量と輻輳度との関係をグラフ化して示す図
である。
るための需要量と輻輳度との関係をグラフ化して示す図
である。
【図12】アプリケーション別のQOS要求を説明する
グラフを示す図である。
グラフを示す図である。
【図13】QOSレベルから需要量への変換テーブルの
一例を示す図である。
一例を示す図である。
【図14】ネットワーク,CPU別の需要関数を説明す
るグラフを示す図である。
るグラフを示す図である。
【図15】QOSレベルから需要量への変換テーブルの
他の例を示す図である。
他の例を示す図である。
【図16】ネットワーク,CPU別で圧縮なしの場合の
需要関数を説明するグラフを示す図である。
需要関数を説明するグラフを示す図である。
【図17】ネットワーク,CPU別で圧縮ありの場合の
需要関数を説明するグラフを示す図である。
需要関数を説明するグラフを示す図である。
【図18】ネットワーク,CPU別で第1アプリケーシ
ョンが動作を開始したときの輻輳度を説明するグラフを
示す図である。
ョンが動作を開始したときの輻輳度を説明するグラフを
示す図である。
【図19】ネットワーク,CPU別で第2アプリケーシ
ョンが動作を開始したときの輻輳度を説明するグラフを
示す図である。
ョンが動作を開始したときの輻輳度を説明するグラフを
示す図である。
【図20】ネットワーク,CPU別で第1アプリケーシ
ョンの要求値を説明するグラフを示す図である。
ョンの要求値を説明するグラフを示す図である。
【図21】ネットワーク,CPU別で第2アプリケーシ
ョンの要求値を説明するグラフを示す図である。
ョンの要求値を説明するグラフを示す図である。
【図22】ネットワーク,CPU別で需要関数変更要求
を受けた際の輻輳度を説明するグラフを示す図である。
を受けた際の輻輳度を説明するグラフを示す図である。
【図23】ネットワーク,CPU別で輻輳度の通知を受
けた際のアプリケーションの要求値を説明するグラフを
示す図である。
けた際のアプリケーションの要求値を説明するグラフを
示す図である。
【図24】ネットワーク,CPU別で輻輳度の通知を受
けた際のアプリケーションの要求値を説明するグラフを
示す図である。
けた際のアプリケーションの要求値を説明するグラフを
示す図である。
【図25】ネットワーク,CPU別で第3アプリケーシ
ョンが動作を開始したときの需要関数を説明するグラフ
を示す図である。
ョンが動作を開始したときの需要関数を説明するグラフ
を示す図である。
【図26】CPUの輻輳度を説明するグラフを示す図で
ある。
ある。
【図27】CPUで輻輳度通知を受けた際の第2アプリ
ケーションの要求値を説明するグラフを示す図である。
ケーションの要求値を説明するグラフを示す図である。
【図28】CPUで輻輳度通知を受けた際の第3アプリ
ケーションの要求値を説明するグラフを示す図である。
ケーションの要求値を説明するグラフを示す図である。
1,2,3 ホストコンピュータ 10 CPU 11 メインメモリ 12 RAM 13 キーボード 14 マウス 15 ディスプレイ 16 通信ユニット 17 バス 101 需要関数作成部 102 要求発信部 103 通知受付部 104 要求値決定部 201 要求受付部 202 エージェント要求処理部 203 輻輳度算出部 204 通知部 AG,AG1,AG2,AG3 エージェント AP,AP1,AP2,AP3 アプリケーション NET ネットワーク RM リソースマネージャ RM1,RM2 CPUマネージャ RM3 ネットワークマネージャ RS 資源
Claims (10)
- 【請求項1】 各種の資源を管理する複数のリソースマ
ネージャと前記各リソースマネージャとの交渉を通じて
実行すべきアプリケーションへの資源配分を制御する複
数のエージェントとをネットワークに接続させ、複数の
アプリケーション間で共有される前記各種の資源の配分
および管理を行う分散資源管理システムにおいて、 前記各エージェントは、 前記複数のアプリケーションのうちで実行すべきアプリ
ケーションに必要な注目資源の要求度を示す需要関数を
作成する需要関数作成手段と、 前記需要関数作成手段により作成された需要関数を当該
需要関数に対する前記注目資源を管理するリソースマネ
ージャに発信する発信手段と、 前記発信手段により発信された需要関数と当該需要関数
に対応して前記リソースマネージャから通知された輻輳
度とに基づいて前記需要関数に対する前記注目資源の要
求値を決定する要求値決定手段と、 を有し、 前記各リソースマネージャは、 前記発信手段により発信されてきたすべての需要関数に
基づいて輻輳度を算出する輻輳度算出手段と、 前記輻輳度算出手段により算出された輻輳度を前記複数
のエージェントのうちで前記発信手段の発信元であるす
べてのエージェントに通知する輻輳度通知手段と、 を有することを特徴とする分散資源管理システム。 - 【請求項2】 前記各エージェントは、前記注目資源に
複数の実行モードが割り当てられていた場合、前記複数
の実行モードのうちで任意に実行モードを切り替えて需
要関数の変更を行う変更手段を、さらに有することを特
徴とする請求項1に記載の分散資源管理システム。 - 【請求項3】 前記注目資源が少なくとも一つのCPU
と1システム当たり一つ用意されるネットワークとの2
種類存在していた際に、前記変更手段は、前記ネットワ
ークが輻輳し、前記CPUが輻輳していない場合に圧縮
ありのモードを用いて前記CPUの需要量を増やし、一
方、前記CPUが輻輳し、前記ネットワークが輻輳して
いない場合に圧縮なしのモードを用いて前記ネットワー
クの需要量を増やす需要関数へ変更することを特徴とす
る請求項2に記載の分散資源管理システム。 - 【請求項4】 前記各リソースマネージャは、前記各エ
ージェントから前記発信手段により発信されてきた需要
関数をエージェント別に管理する管理手段と、前記管理
手段の管理内容をすでに管理対象となっているエージェ
ントから発信されてくる需要関数を用いて更新する更新
手段とを、さらに有することを特徴とする請求項1〜3
のいずれか一つに記載の分散資源管理システム。 - 【請求項5】 前記需要関数作成手段は、前記注目資源
に関して任意に指定された実行レベルを当該実行レベル
に対応する需要量に変換するための変換関数を作成し、
前記変換関数に従って需要量と輻輳度との関係を示す前
記需要関数を作成することを特徴とする請求項1〜4の
いずれか一つに記載の分散資源管理システム。 - 【請求項6】 前記需要関数作成手段は、前記実行すべ
きアプリケーションに複数の資源が必要な場合、前記複
数の資源をすべて注目資源としてそれぞれに関する需要
関数を作成することを特徴とする請求項1〜5のいずれ
か一つに記載の分散資源管理システム。 - 【請求項7】 前記輻輳度算出手段は、前記すべての需
要関数と前記注目資源についてあらかじめ設定された供
給可能量とに基づいて輻輳度を算出することを特徴とす
る請求項1に記載の分散資源管理システム。 - 【請求項8】 前記需要関数は不連続な関数であること
を特徴とする請求項1〜7のいずれか一つに記載の分散
資源管理システム。 - 【請求項9】 各種の資源を管理する複数のリソースマ
ネージャと前記各リソースマネージャとの交渉を通じて
実行すべきアプリケーションへの資源配分を制御する複
数のエージェントとをネットワークに接続させ、複数の
アプリケーション間で共有される前記各種の資源の配分
および管理を行う分散資源管理システムに適用される分
散資源管理方法において、 前記各エージェントにより前記複数のアプリケーション
のうちで実行すべきアプリケーションに必要な注目資源
に関する需要関数を作成する第1工程と、 前記各エージェントの前記第1工程により作成された需
要関数を当該需要関数に対する前記注目資源を管理する
リソースマネージャに発信する第2工程と、 前記各リソースマネージャにおいて前記第2工程により
発信されてきたすべての需要関数に基づいて輻輳度を算
出する第3工程と、 前記各リソースマネージャの前記第3工程により算出さ
れた輻輳度を前記複数のエージェントのうちで前記発信
手段の発信元であるすべてのエージェントに通知する第
4工程と、 前記各エージェントにおいて前記第2工程により発信さ
れた需要関数と当該需要関数に対応して前記リソースマ
ネージャから通知された輻輳度とに基づいて前記需要関
数に対する前記注目資源の要求値を決定する第5工程
と、 を含むことを特徴とする分散資源管理方法。 - 【請求項10】 前記各エージェントは、前記注目資源
に複数の実行モードが割り当てられていた場合、前記複
数の実行モードのうちで任意に実行モードを切り替えて
需要関数の変更を行う第6工程を、さらに含むことを特
徴とする請求項9に記載の分散資源管理方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP9216113A JPH1166018A (ja) | 1997-08-11 | 1997-08-11 | 分散資源管理システムおよび分散資源管理方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP9216113A JPH1166018A (ja) | 1997-08-11 | 1997-08-11 | 分散資源管理システムおよび分散資源管理方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH1166018A true JPH1166018A (ja) | 1999-03-09 |
Family
ID=16683454
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP9216113A Withdrawn JPH1166018A (ja) | 1997-08-11 | 1997-08-11 | 分散資源管理システムおよび分散資源管理方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH1166018A (ja) |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2004093480A1 (ja) * | 2003-04-11 | 2004-10-28 | Matsushita Electric Industrial Co., Ltd. | 通信システム及び通信方法 |
| JP2005513587A (ja) * | 2001-05-10 | 2005-05-12 | オラクル・インターナショナル・コーポレイション | マルチポリシーリソーススケジューリングのための方法およびシステム |
| KR100751459B1 (ko) | 2006-06-16 | 2007-08-23 | 한국정보통신대학교 산학협력단 | 멀티캐스트 환경에서의 시스템 자원 할당 장치 및 방법 |
| US7454652B2 (en) | 2004-01-30 | 2008-11-18 | Hitachi, Ltd. | System for and method of managing resource operations |
| US8938740B2 (en) | 2010-03-11 | 2015-01-20 | Nec Corporation | Resource allocation apparatus, resource allocation method, and computer readable medium |
-
1997
- 1997-08-11 JP JP9216113A patent/JPH1166018A/ja not_active Withdrawn
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2005513587A (ja) * | 2001-05-10 | 2005-05-12 | オラクル・インターナショナル・コーポレイション | マルチポリシーリソーススケジューリングのための方法およびシステム |
| WO2004093480A1 (ja) * | 2003-04-11 | 2004-10-28 | Matsushita Electric Industrial Co., Ltd. | 通信システム及び通信方法 |
| US7454652B2 (en) | 2004-01-30 | 2008-11-18 | Hitachi, Ltd. | System for and method of managing resource operations |
| KR100751459B1 (ko) | 2006-06-16 | 2007-08-23 | 한국정보통신대학교 산학협력단 | 멀티캐스트 환경에서의 시스템 자원 할당 장치 및 방법 |
| US8938740B2 (en) | 2010-03-11 | 2015-01-20 | Nec Corporation | Resource allocation apparatus, resource allocation method, and computer readable medium |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Nahrstedt et al. | Resource management in networked multimedia systems | |
| CA2236285C (en) | Network and switching node in which resource can be reserved | |
| Lee et al. | Experiences with processor reservation and dynamic qos in real-time mach | |
| Campbell et al. | A quality of service architecture | |
| Chalmers et al. | A survey of quality of service in mobile computing environments | |
| EP0774878A2 (en) | Resource management system for a broadband multipoint bridge | |
| JP2004153778A (ja) | 送受信制御装置、送受信制御方法および送受信制御プログラム | |
| CN114145003B (zh) | 能够实现具有不同数据通信能力的第一和第二通信网络之间的数据交换 | |
| JP2003060691A (ja) | ネットワークルータおよび交換機におけるリソースの割当て方法および装置 | |
| Al‐Ali et al. | An approach for quality of service adaptation in service‐oriented Grids | |
| Anderson | Meta-scheduling for distributed continuous media | |
| JP4922520B2 (ja) | 帯域幅アロケーションのための方法およびデバイス | |
| WO2010109952A1 (ja) | 資源割り当て要求装置、資源割り当て装置、資源割り当て要求方法および資源割り当て方法 | |
| JPH1166018A (ja) | 分散資源管理システムおよび分散資源管理方法 | |
| Krishnamurthy et al. | Connection-oriented service renegotiation for scalable video delivery | |
| JP2004153775A (ja) | 送受信制御装置、送受信制御方法および送受信制御プログラム | |
| JP2004153776A (ja) | 情報配信システム、アクセス中継装置、配信中継装置、通信端末装置、情報配信方法およびプログラム | |
| Shen et al. | Deadline-aware rate allocation for IoT services in data center network | |
| CN112783643B (zh) | 用于多接入边缘计算网络的资源编排方法及装置 | |
| JP2003526273A (ja) | 電気通信リソースのためのネゴシエーション | |
| Nahrstedt et al. | Resource management in multimedia networked systems | |
| Chou et al. | System support for dynamic QOS control of continuous media communication | |
| JP2955287B1 (ja) | 通信サービス品質制御方法及び装置 | |
| WO2021197278A1 (zh) | 处理用户业务的方法、系统及相关设备 | |
| JP7694807B2 (ja) | 品質調整装置、品質調整方法、及びプログラム |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20041102 |