(57)【要約】【課題】低性能な端末での余剰ＣＰＵ処理量や狭帯域なＮＷ内の端末での余剰ＮＷ帯域を枯渇させずに、全端末での同一内容の複数処理の実行を保証する。【解決手段】端末１２００1〜１２００nは、通信開始時に、端末性能およびＮＷ性能と、端末資源およびＮＷ資源と、を計測する。調停装置１００は、通信中の各端末でＡＰ起動処理およびＡＰ動作変更処理の実行時に必要と予測される端末資源およびＮＷ資源の量を予め記憶しておく。調停装置１００は、通信中の各端末でＡＰ起動処理またはＡＰ動作変更処理を行う際、各端末の計測結果と、ＡＰ起動処理またはＡＰ動作変更処理の実行時に必要と予測される端末資源およびＮＷ資源の量と、に基づき、端末性能やＮＷ性能が最も低い端末で、過負荷およびＮＷ帯域不足が発生しないことを確認した上で、各端末に対し、ＡＰ起動処理またはＡＰ動作変更処理の実行を指示する。【選択図】図２
2008129856.tif 000002
【特許請求の範囲】
【請求項１】
複数の端末と、前記複数の端末のうち通信中の各端末に対し、任意の応用機能の起動処理および動作変更処理の実行を指示する調停装置とを有してなるＱｏＳ制御システムであって、
前記端末は、
他の端末および前記調停装置と通信を行う手段と、
通信を開始した時に、自端末の端末性能およびネットワーク性能を計測するとともに、自端末の端末資源およびネットワーク資源を計測する計測手段とを備え、
前記調停装置は、
前記端末と通信を行う手段と、
前記起動処理および前記動作変更処理を実行した時に必要と予測される端末資源およびネットワーク資源の量を予め記憶する記憶手段と、
通信中の各端末の前記計測手段の計測結果を取得する手段と、
通信中の各端末にて前記起動処理または前記動作変更処理を実行する場合、通信中の各端末から取得した前記計測結果と、前記起動処理または前記動作変更処理を実行した時に必要と予測される端末資源およびネットワーク資源の量と、に基づいて、端末性能が最も低い端末およびネットワーク性能が最も低い端末にて、過負荷状態およびネットワーク帯域の不足が発生しないことを確認した上で、通信中の各端末に対し、前記起動処理または前記動作変更処理の実行を指示する動作調停手段と、を備えるＱｏＳ制御システム。
【請求項２】
前記動作調停手段は、通信中の各端末にて前記起動処理または前記動作変更処理を実行する場合、端末性能が最も低い端末およびネットワーク性能が最も低い端末における端末性能およびネットワーク性能の余剰量と、該端末にて前記起動処理または前記動作変更処理を実行した時に必要と予測される端末資源およびネットワーク資源と、を考慮して、該端末にて過負荷状態およびネットワーク帯域の不足が発生するか否かを確認する、請求項１に記載のＱｏＳ制御システム。
【請求項３】
端末性能およびネットワーク性能の余剰量は、実際の余剰量から一定量を差し引いた量である、請求項２に記載のＱｏＳ制御システム。
【請求項４】
前記動作調停手段は、通信中の各端末にて複数の前記起動処理または前記動作変更処理を実行する場合、端末性能が最も低い端末およびネットワーク性能が最も低い端末にて、複数の前記起動処理または前記動作変更処理を、並列に同時実行した時に必要と予測される端末資源およびネットワーク資源と、直列に逐次実行した時に必要と予測される端末資源およびネットワーク資源と、を考慮して、該端末にて過負荷状態およびネットワーク帯域の不足が発生するか否かを確認する、請求項１から３のいずれか１項に記載のＱｏＳ制御システム。
【請求項５】
前記動作調停手段は、通信中の各端末にて前記起動処理または前記動作変更処理を実行する場合、端末性能が最も低い端末およびネットワーク性能が最も低い端末にて、前記起動処理または前記動作変更処理を、実行した時に必要と予測される端末資源およびネットワーク資源と、実行した後に必要と予測される端末資源およびネットワーク資源と、を考慮して、該端末にて過負荷状態およびネットワーク帯域の不足が発生するか否かを確認する、請求項４に記載のＱｏＳ制御システム。
【請求項６】
前記動作調停手段は、通信中の各端末にて複数の前記動作変更処理を実行する場合、端末性能が最も低い端末およびネットワーク性能が最も低い端末にて、複数の前記動作変更処理を並列に同時実行することも直列に逐次実行することもできないと判断すると、他の動作変更処理で代替できるか否かを探索する、請求項４に記載のＱｏＳ制御システム。
【請求項７】
前記動作調停手段は、通信中の各端末に対して、複数の前記起動処理または前記動作変更処理を直列に逐次実行するよう指示する場合、前記複数の端末の全てから前記起動処理または前記動作変更処理を完了した旨の返信を受信するのを待ってから、次の前記起動処理または前記動作変更処理を実行するよう指示する、請求項４に記載のＱｏＳ制御システム。
【請求項８】
前記動作調停手段は、通信中の各端末にて前記起動処理または前記動作変更処理を実行する場合、前記複数の端末のうち基準となる端末の前記計測結果に基づいて、通信中の各端末にて前記起動処理または前記動作変更処理を実行した時に必要となる端末資源およびネットワーク資源を予測する、請求項１から７のいずれか１項に記載のＱｏＳ制御システム。
【請求項９】
前記調停装置は、前記複数の端末の各々の内部に設けられており、
前記端末が通信を開始する時に、該端末の内部に設けられた調停装置の中から、利用される調停装置が１つ決定される、請求項１から８のいずれか１項に記載のＱｏＳ制御システム。
【請求項１０】
複数の端末と、前記複数の端末のうち通信中の各端末に対し、任意の応用機能の起動処理および動作変更処理の実行を指示する調停装置とを有してなるＱｏＳ制御システムによるＱｏＳ制御方法であって、
前記調停装置が、前記起動処理および前記動作変更処理を実行した時に必要と予測される端末資源およびネットワーク資源の量を予め記憶するステップと、
前記端末が、通信を開始した時に、自端末の端末性能およびネットワーク性能を計測するとともに、自端末の端末資源およびネットワーク資源を計測するステップと、
前記調停装置が、通信中の各端末の前記計測結果を取得するステップと、
前記調停装置が、通信中の各端末にて前記起動処理または前記動作変更処理を実行する場合、通信中の各端末の前記計測結果と、前記起動処理または前記動作変更処理を実行した時に必要と予測される端末資源およびネットワーク資源の量と、に基づいて、端末性能が最も低い端末およびネットワーク性能が最も低い端末にて、過負荷状態およびネットワーク帯域の不足が発生しないことを確認した上で、通信中の各端末に対し、前記起動処理または前記動作変更処理の実行を指示するステップと、を備えるＱｏＳ制御方法。
【請求項１１】
他の端末と通信を行う端末に、
任意の応用機能の起動処理および動作変更処理を実行した時に必要と予測される端末資源およびネットワーク資源を予め記憶する処理と、
通信を開始した時に、自端末の端末性能およびネットワーク性能を計測するとともに、自端末の端末資源およびネットワーク資源を計測する処理と、
通信中の各端末の前記計測結果を取得する処理と、
通信中の各端末にて前記起動処理または前記動作変更処理を実行する場合、通信中の各端末の前記計測結果と、前記起動処理または前記動作変更処理を実行した時に必要と予測される端末資源およびネットワーク資源の量と、に基づいて、端末性能が最も低い端末およびネットワーク性能が最も低い端末にて、過負荷状態およびネットワーク帯域の不足が発生しないことを確認した上で、通信中の各端末に対し、前記起動処理または前記動作変更処理の実行を指示する処理と、を実行させるＱｏＳ制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、映像、音声、データを扱うアプリケーションを複合的に利用して、ユーザ間でリアルタイムにコミュニケーションを行う分野において、特に、稼働中のアプリケーションの動作変更時と、新規アプリケーションの追加起動時におけるＱｏＳ（Ｑｕａｌｉｔｙ  ｏｆ  Ｓｅｒｖｉｃｅ）制御技術に関する。
【背景技術】
【０００２】
一般に、複数の端末を用いて、映像、音声、データを扱うアプリケーション（以下、ＡＰと略す）を複合的に利用して、通信ネットワーク（以下、ＮＷと略す）を介して、ユーザ間でリアルタイムにコミュニケーションを行う場合、通常は、使用される各端末の性能や各端末が利用するＮＷ環境は不均質である。
【０００３】
例えば、端末の性能については、高性能なＣＰＵと大容量のメモリを搭載したデスクトップ型ＰＣ（パーソナルコンピュータ）と、低性能なＣＰＵと小容量のメモリを搭載したノートブック型ＰＣとが混在し、また、端末のＮＷ環境については、１００ＭｂｐｓのＮＷリンク速度を持つ有線ＬＡＮを利用する端末と、１１ＭｂｐｓのＮＷリンク速度を持つ無線ＬＡＮを利用する端末が混在するのが通常である。
【０００４】
また、一般に、このようなコミュニケーション環境において、稼働中の複数のＡＰの動作を動的に変更したり、稼動していなかった複数のＡＰを新規に追加起動したりする場合には、複数のＡＰの動作変更処理や複数のＡＰの起動処理のような、処理内容の異なる複数の処理が、全端末で時間的に同期して実行される。つまり、各端末では、全端末で同一内容の複数の処理が実行される。
【０００５】
それぞれのＡＰ動作変更処理やＡＰ起動処理は、ＡＰの種類や処理内容に応じて、処理を完了するために必要となるＣＰＵ処理量やＮＷ帯域消費量と、処理が完了した後にユーザがＡＰを利用し続けるために必要となるＣＰＵ処理量やＮＷ帯域消費量とが、それぞれ異なる。そのため、ＡＰ動作変更処理やＡＰ起動処理の実行前、実行中、実行後において、各端末におけるＣＰＵ使用率や利用するＮＷ帯域は大きく変動する。
【０００６】
これらの複数の処理を、各処理自体の負荷や、低性能な端末で利用可能な余剰ＣＰＵ処理量や、狭帯域なＮＷ内の端末で利用可能な余剰ＮＷ帯域量の状況に応じて、処理時間を短縮させるために各端末で並列に同時に実行させる場合がある。このように並列実行させる場合には、低性能な端末や狭帯域な端末で余剰資源の枯渇が発生しないこともあり得る。または、これら複数の処理を、負荷を分散させるために各端末で直列に逐次実行させる場合もある。このように直列実行させる場合には、ある順序では低性能な端末や狭帯域な端末で余剰資源の枯渇が発生するが、他の順序では枯渇が発生しないことがあり得る。
【０００７】
このように、これらの複数の処理のタスクスケジューリングとしては、状況に応じて様々なパターンが考えられ得る。
【０００８】
従来、性能やＮＷ環境が不均質な複数の端末を対象としたタスクスケジューリングを行う技術として、特許文献１では、放送コンテンツの録画装置を題材として、録画装置１台の処理能力だけでは捌き切れない処理が要求された場合に、ＮＷ上の他の非稼動の装置を発見して処理を分担する方法が提案されている。また、非特許文献１では、分散システムを題材として、複数の処理を複数の端末で分担して実行する際に、各端末のＣＰＵ資源、メモリ資源、ＮＷ資源の空き状況を考慮して、各処理を各端末に割当てる方法が提案されている。
【０００９】
すなわち、特許文献１と非特許文献１の方法では、余剰資源が多い端末に負荷の大きな処理を割当て、余剰資源が少ない端末に負荷の小さな処理を割当てるというタスクスケジューリングが行われる。
【００１０】
また、特許文献２では、端末数や各端末のＮＷ状況の変化に応じて、各ＡＰの動作を動的に変更して、端末間の同期制御を行う方法が提案されている。すなわち、端末数やＮＷ遅延時間の増減に応じて、ＡＰ毎に使用する同期制御方式を切替えるというタスクスケジューリングが行われる。
【特許文献１】特開２００５−２５２４０２号公報
【特許文献２】特開２００５−２０８７１０号公報
【非特許文献１】伊藤光祐，小出洋：分散環境における資源情報補間によるタスクスケジューリング手法の提案，情報処理学会九州支部火の国シンポジウム２００４，ＣＤ−ＲＯＭ（２００４）．
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかしながら、特許文献１と非特許文献１の方法では、端末の余剰資源の量に応じて処理の割当てが行われるため、端末毎に内容が全く異なる処理を割当てることしかできず、全端末に同一内容の処理を割当てることができない。端末毎に全く異なる処理内容が実行されると、各端末がそれぞれ異なる動作をしてしまうため、ユーザ間のコミュニケーションが成り立たなくなってしまう。
【００１２】
また、特許文献２の方法では、各端末の性能の差異については全く考慮されていないため、低性能な端末において余剰ＣＰＵ処理量を使い切り、過負荷状態になってしまうというケースが起こり得る。
【００１３】
このように、従来技術においては、低性能な端末で利用可能な余剰ＣＰＵ処理量や、狭帯域なＮＷ内の端末で利用可能な余剰ＮＷ帯域を、枯渇させずに、全端末で同一内容の処理を複数実行することを保証する実行順序を選出できないという課題がある。
【００１４】
そこで、本発明の目的は、低性能な端末で利用可能な余剰ＣＰＵ処理量や、狭帯域なＮＷ内の端末で利用可能な余剰ＮＷ帯域を、枯渇させずに、全端末でＡＰなどの応用機能に対する同一内容の処理を複数実行することを保証することができる、ＱｏＳ制御システム、ＱｏＳ制御方法、およびＱｏＳ制御プログラムを提供することにある。
【課題を解決するための手段】
【００１５】
上記目的を達成するために本発明のＱｏＳ制御システムは、
複数の端末と、前記複数の端末のうち通信中の各端末に対し、任意の応用機能の起動処理および動作変更処理の実行を指示する調停装置とを有してなるＱｏＳ制御システムであって、
前記端末は、
他の端末および前記調停装置と通信を行う手段と、
通信を開始した時に、自端末の端末性能およびネットワーク性能を計測するとともに、自端末の端末資源およびネットワーク資源を計測する計測手段とを備え、
前記調停装置は、
前記端末と通信を行う手段と、
前記起動処理および前記動作変更処理を実行した時に必要と予測される端末資源およびネットワーク資源の量を予め記憶する記憶手段と、
通信中の各端末の前記計測手段の計測結果を取得する手段と、
通信中の各端末にて前記起動処理または前記動作変更処理を実行する場合、通信中の各端末から取得した前記計測結果と、前記起動処理または前記動作変更処理を実行した時に必要と予測される端末資源およびネットワーク資源の量と、に基づいて、端末性能が最も低い端末およびネットワーク性能が最も低い端末にて、過負荷状態およびネットワーク帯域の不足が発生しないことを確認した上で、通信中の各端末に対し、前記起動処理または前記動作変更処理の実行を指示する動作調停手段と、を備えることを特徴とする。
【００１６】
上記目的を達成するために本発明のＱｏＳ制御方法は、
複数の端末と、前記複数の端末のうち通信中の各端末に対し、任意の応用機能の起動処理および動作変更処理の実行を指示する調停装置とを有してなるＱｏＳ制御システムによるＱｏＳ制御方法であって、
前記調停装置が、前記起動処理および前記動作変更処理を実行した時に必要と予測される端末資源およびネットワーク資源の量を予め記憶するステップと、
前記端末が、通信を開始した時に、自端末の端末性能およびネットワーク性能を計測するとともに、自端末の端末資源およびネットワーク資源を計測するステップと、
前記調停装置が、通信中の各端末の前記計測結果を取得するステップと、
前記調停装置が、通信中の各端末にて前記起動処理または前記動作変更処理を実行する場合、通信中の各端末の前記計測結果と、前記起動処理または前記動作変更処理を実行した時に必要と予測される端末資源およびネットワーク資源の量と、に基づいて、端末性能が最も低い端末およびネットワーク性能が最も低い端末にて、過負荷状態およびネットワーク帯域の不足が発生しないことを確認した上で、通信中の各端末に対し、前記起動処理または前記動作変更処理の実行を指示するステップと、を備えることを特徴とする。
【００１７】
上記目的を達成するために本発明のＱｏＳ制御プログラムは、
他の端末と通信を行う端末に、
任意の応用機能の起動処理および動作変更処理を実行した時に必要と予測される端末資源およびネットワーク資源を予め記憶する処理と、
通信を開始した時に、自端末の端末性能およびネットワーク性能を計測するとともに、自端末の端末資源およびネットワーク資源を計測する処理と、
通信中の各端末の前記計測結果を取得する処理と、
通信中の各端末にて前記起動処理または前記動作変更処理を実行する場合、通信中の各端末の前記計測結果と、前記起動処理または前記動作変更処理を実行した時に必要と予測される端末資源およびネットワーク資源の量と、に基づいて、端末性能が最も低い端末およびネットワーク性能が最も低い端末にて、過負荷状態およびネットワーク帯域の不足が発生しないことを確認した上で、通信中の各端末に対し、前記起動処理または前記動作変更処理の実行を指示する処理と、を実行させることを特徴とする。
【００１８】
上述したように本発明によれば、端末は、自端末の端末性能およびネットワーク性能を計測するとともに、自端末の端末資源およびネットワーク資源を計測する。調停装置は、起動処理および動作変更処理を実行した時に必要と予測される端末資源およびネットワーク資源の量を予め記憶しておき、通信中の各端末にて起動処理または動作変更処理を実行する場合には、通信中の各端末の計測結果と、起動処理および動作変更処理を実行した時に必要と予測される端末資源およびネットワーク資源の量と、に基づいて、端末性能が最も低い端末およびネットワーク性能が最も低い端末にて、過負荷状態およびネットワーク帯域の不足が発生しないことを確認した上で、通信中の各端末に対し、起動処理または動作変更処理の実行を指示する。
【００１９】
したがって、通信中の各端末にて起動処理または動作変更処理を実行する場合に、端末性能が低い端末で過負荷状態となったり、ネットワーク性能が低い端末でネットワーク帯域の不足が発生したりすることを回避できる。
【００２０】
以下、本発明のＱｏＳ制御システムについて、より具体的に説明する。
【００２１】
本発明のＱｏＳ制御システムは、複数の端末と調停装置とを備える。
【００２２】
システムの導入時などに、まず、各ＡＰの起動処理の実行時に必要と予測されるＣＰＵ使用率とＮＷ帯域の推移と、予測される所要時間とを基準データとして調停装置に登録し、さらに、各ＡＰの動作変更処理の実行時に必要と予測されるＣＰＵ使用率とＮＷ帯域の推移も基準データとして調停装置に登録しておく。次に、基準となるＮＷリンク速度も基準データとして調停装置に登録しておく。最後に、各ＡＰについてユーザが指定可能な重要度と、その重要度に対応するＡＰ動作変更処理との関係を紐付けしておく。
【００２３】
システムの運用開始後、複数ユーザが端末間で通信を開始すると、各端末で１種類以上のＡＰが起動することになるため、各端末では、この起動処理に掛かった時間を計測し、準備段階において登録済みの基準データの所要時間と比較することにより、各端末の性能の指標が得られる。単純にＣＰＵのクロック数を比較だけでは、各端末のメモリ残量やディスクアクセスの速度などが考慮されないが、この方法ではＣＰＵ、メモリ、ディスクなどの性能を総合的に考慮した各端末の性能比較ができる。また、各端末では、自端末のＮＷリンク速度と、準備段階において登録済みの基準データのＮＷリンク速度とを比較することにより、各端末が利用可能なＮＷ帯域の最大値の概算が指標として得られる。
【００２４】
調停装置は、これらの指標を表す各端末の端末性能指数とＮＷ性能指数とにより、通信中の端末のうち、最も低性能な端末と、最も狭帯域な端末とを特定することができる。
【００２５】
端末間での通信開始後は、調停装置が、定期的に各端末のＣＰＵ使用率と利用中のＮＷ帯域などを監視する。
【００２６】
例えば、ユーザの操作により、各ＡＰの重要度が変更され、その重要度に対応するＡＰ動作変更処理を行う必要が生じた場合には、調停装置が、次のように探索的な確認を行い、過負荷状態やＮＷ帯域の不足が発生しないことが確認できた時点で探索を終了し、各端末に対して複数ＡＰの動作変更処理の実行を指示する。
【００２７】
（１）複数のＡＰ動作変更処理を並列に同時実行しても問題ないか確認する。具体的には、まず、準備段階において登録済みの基準データのＡＰ動作変更処理のＣＰＵ使用率とＮＷ帯域の推移データを参照して、最も低性能な端末の端末性能指数を用いて、ＣＰＵ使用率の推移データを最も低性能な端末で予測される推移データに換算する。次に、ＣＰＵ使用率の換算後の推移データとＮＷ帯域の推移データと、最新の監視データを参照して、最も低性能な端末において過負荷状態が発生するといった問題や、最も狭帯域な端末においてＮＷ帯域の不足が発生するといった問題が生じるかどうかを確認する。
【００２８】
（２）問題がある場合には、複数のＡＰ動作変更処理を直列に逐次実行しても問題ないか確認する。この際に、実行の順番を決める必要があるが、ＡＰ動作変更処理実行後のＣＰＵ使用率とＮＷ帯域がより多く減少するものを先にするような順序制御を行う。ただし、実行後は負荷が減少するが、実行中に過負荷状態やＮＷ帯域の不足が発生する、と懸念される処理については、一旦保留キューに格納しておき、他のＡＰ動作変更処理を実行した後で、より余裕が空いた時点で保留キューから取り出して実行させるような順序制御を行う。
【００２９】
（３）保留キューに処理が最後まで残ってしまった場合には、その組み合わせのＡＰ動作変更処理は実行不可能と判断し、保留キューに残っている処理に対応するＡＰについては、一段重要度を落としたＡＰ動作変更処理の組み合わせへの置換を行い、その組み合わせで実行可能かを確認するため、（１）に戻る。
【００３０】
（２）において、過負荷状態やＮＷ帯域の不足が発生しない組み合わせが発見できた場合には、調停装置が、各端末に対して最初のＡＰ動作変更処理の実行を指示し、全端末から実行完了の返信が到着するのを待ってから、次のＡＰ動作変更処理の実行を指示する、というように、端末間の状態の同期制御を行う。これにより、各ユーザが体験するシステムの挙動の変化をユーザ間で同一にすることができるため、一部のユーザだけ異なるシステムの挙動を体験してユーザ間のコミュニケーションに混乱を与えることを防止する。
【００３１】
（３）において、ユーザが期待したＡＰ動作変更処理が実行不可能だったとしても、段階的に他の手段で代替できるか確認して行けるので、ユーザの意図になるべく沿ったＡＰ動作変更処理を発見する。
【００３２】
ユーザの操作により、複数の新規ＡＰを追加起動する必要が生じた場合にも、同様な探索的な確認処理を行う。
【００３３】
（１）〜（３）の処理を繰り返し実行することにより、本発明の目的を達成することができる。
【発明の効果】
【００３４】
以上説明したように本発明によれば、端末性能が低い端末で端末資源が枯渇して過負荷状態となったり、ネットワーク性能が低い端末でネットワーク資源が枯渇してネットワーク帯域の不足が発生したりするのを回避して、全端末で同一内容の処理を複数実行することを保証することができるという効果が得られる。
【発明を実施するための最良の形態】
【００３５】
以下に、本発明を実施するための最良の形態について図面を参照して説明する。
【００３６】
（第１の実施形態）
＜第１の実施形態の構成の説明＞
図１は、本発明の第１の実施形態のＱｏＳ制御システムのネットワーク構成を示す図である。
【００３７】
本実施形態のＱｏＳ制御システムは、調停装置１０００と、複数の端末１２００1〜１２００n（ｎは自然数）とが、ネットワークに接続された構成となっている。
【００３８】
端末１２００1〜１２００nは、パーソナルコンピュータ（ＰＣ）、携帯型コンピュータ（ＰＤＡ：パーソナル・デジタル・アシスタンス等）、街頭マルチメディア端末、車載端末、ネットワーク接続機能付きテレビ、ネットワーク接続機能付きセットトップボックス、ネットワーク接続機能付きゲーム機、外部と情報をやり取りする機能を備えたその他の装置であってよい。
【００３９】
図２は、本発明の第１の実施形態のＱｏＳ制御システムの構成を示すブロック図である。図３〜図５は、本発明の第１の実施形態に係るデータ構造を示す図である。以下、これらの図２〜図５を使って説明を行う。
【００４０】
なお、本実施形態では、端末１２００1〜１２００nのうち、通信中の全端末で行う同一内容の複数の処理が、稼働中の複数のＡＰ（端末の応用機能の一例）の動作を動的に変更するＡＰ動作変更処理であるものとして説明する。
【００４１】
＜調停装置の説明＞
調停装置１０００は、通信手段１００１と、計測手段１００２と、資源監視手段１００３と、ＡＰ動作調停手段１００４と、調停用記憶装置１００５とを有している。
【００４２】
通信手段１００１は、各端末１２００1〜１２００nの通信手段１２０１と、ネットワークを介してデータをやり取りする。
【００４３】
計測手段１００２は、各端末１２００1〜１２００nの計測手段１２０４が計測したＡＰの起動時の各種データを、その端末に対応する端末データテーブル２０３に反映する。
【００４４】
資源監視手段１００３は、端末１２００1〜１２００nのうち、通信を開始した端末のＣＰＵ使用率の値と利用中のＮＷ帯域の値を取得し、その端末に対応する端末データテーブル２０３内の現ＣＰＵ使用率２１０３と現ＮＷ帯域２１０４に、それぞれ反映する。
【００４５】
なお、ＣＰＵ使用率とＮＷ帯域の値の取得方法は、定期的に資源監視手段１００３から通信中の各端末に値のアップロードを要求する方法でも良いし、通信中の各端末が自発的に定期的にアップロードしても良いし、通信中の各端末が通信開始時に一度アップロードしたら、その時の値から一定値以上の変動があった時だけアップロードするという方法でも良い。
【００４６】
ＡＰ動作調停手段１００４は、各端末１２００1〜１２００nの重要度設定手段１２０５から、重要度テーブル２０２内のＡＰの重要度２０１４の値の変更を要求された際に、通信中の端末のうち、最も低性能な端末と最も狭帯域な端末とを特定し、これら特定した端末において、重要度を変更する複数のＡＰの動作変更処理を並列に同時実行しても問題（過負荷状態やＮＷ帯域の不足の発生等）がないか確認し、問題があれば、次に、直列に逐次実行しても問題がないような組み合わせがあるか確認し、それでも問題があれば、一段重要度を落としたＡＰ動作変更処理を代替手段として実行できるか確認する、という探索的な確認を行い、問題がないことが確認できた時点で探索を終了し、各端末に対して複数ＡＰの動作変更処理の実行を指示する。
【００４７】
調停用記憶装置１００５は、起動基準データテーブル２００と、動作変更基準データテーブル２０１と、重要度テーブル２０２と、基準ＮＷリンク速度２０１５と、ＣＰＵマージン２０１６と、ＮＷマージン２０１７と、端末データテーブル２０３と、最低端末データテーブル２０４と、動作変更候補テーブル２０５と、直列実行キュー２２０８と、保留キュー２２１０とを格納している。
【００４８】
起動基準データテーブル２００は、システムに用意されているＡＰの個数と同数存在し、システムの導入時などの準備段階において、各ＡＰの起動時の各種データの基準値を格納するのに使用される。
【００４９】
起動基準データテーブル２００は、ＡＰＩＤ２０００と、所要時間２００１と、最大ＣＰＵ増分２００２と、最大ＮＷ増分２００３と、起動後ＣＰＵ変動２００４と、起動後ＮＷ変動２００５とを格納している。
【００５０】
ここで、ＡＰとは、相手と映像、音声、データ等を交換するＡＰのことであり、例えば、相手と映像や音声をリアルタイムに交換する映像ＡＰや音声ＡＰ、相手と資料データをリアルタイムに交換する資料共有ＡＰ、相手と特定のウィンドウやデスクトップ画面全体の描画内容のデータをリアルタイムに交換する画面共有ＡＰ、相手とテキストをリアルタイムに交換するチャットＡＰなどがあるが、これらに限定されない。
【００５１】
ＡＰＩＤ２０００は、ＡＰの識別子であり、各起動基準データテーブル２００がどのＡＰの起動処理に関するものなのかを識別するために使用される。
【００５２】
所要時間２００１には、ＡＰの起動処理に要する時間の基準値が格納される。
【００５３】
最大ＣＰＵ増分２００２には、ＡＰの起動処理を開始して起動処理が完了する区間におけるＣＰＵ使用率の最大値と、起動前のＣＰＵ使用率の値と、の差の基準値が格納される。
【００５４】
最大ＮＷ増分２００３には、ＡＰの起動処理を開始して起動処理が完了する区間における利用ＮＷ帯域の最大値と、起動前の利用ＮＷ帯域の値と、の差の基準値が格納される。
【００５５】
起動後ＣＰＵ変動２００４には、ＡＰの起動処理が完了した後の一定期間におけるＣＰＵ使用率の平均値と、起動前のＣＰＵ使用率の値と、の差の基準値が格納される。
【００５６】
起動後ＮＷ変動２００５には、ＡＰの起動処理が完了した後の一定期間における利用ＮＷ帯域の平均値と、起動前の利用ＮＷ帯域の値と、の差の基準値が格納される。
【００５７】
動作変更基準データテーブル２０１は、ＡＰの重要度を変更するために、現在のＡＰの動作を、変更後の重要度に対応する動作に変更するような処理を行った際の、各種データの基準値を格納するために使用される。
【００５８】
ここで仮に、重要度の種類として−３、−２、−１、０、＋１、＋２、＋３があり、あるＡＰの動作として重要度＋３、０、−２に対応する３種類の動作が用意されているとする。このように、各ＡＰには必ずしも全ての重要度に対応する動作が用意されているわけではない。また、ＡＰの種類が異なれば動作が用意されている重要度の種類も異なる。先に述べたＡＰが実行できる動作変更処理は、重要度＋３から０または−２へ変更する２種類と、重要度０から＋３または−２へ変更する２種類と、重要度−２から＋３または０へ変更する２種類との、合計で２×３＝６種類ある。このＡＰに対応する動作変更基準データテーブル２０１は６個存在することになる。一般化すると、あるＡＰにＮ個の動作が用意されているとすると、そのＡＰに対応する動作変更基準データテーブル２０１はＮ×（Ｎ−１）個存在する。
【００５９】
動作変更基準データテーブル２０１は、ＡＰＩＤ２００６と、変更前重要度２００７と、変更後重要度２００８と、最大ＣＰＵ増分２００９と、最大ＮＷ増分２０１０と、変更後ＣＰＵ変動２０１１と、変更後ＮＷ変動２０１２とを格納している。
【００６０】
ＡＰＩＤ２００６は、ＡＰの識別子であり、各動作変更基準データテーブル２０１がどのＡＰの動作変更処理に関するものなのかを識別するために使用される。
【００６１】
変更前重要度２００７は、動作変更処理を実行する前のＡＰの重要度である。
【００６２】
変更後重要度２００８は、動作変更処理を実行した後のＡＰの重要度である。
【００６３】
最大ＣＰＵ増分２００９には、ＡＰの動作変更処理を開始して動作変更処理が完了する区間におけるＣＰＵ使用率の最大値と、動作変更処理前のＣＰＵ使用率の値と、の差の基準値が格納される。
【００６４】
最大ＮＷ増分２０１０には、ＡＰの動作変更処理を開始して動作変更処理が完了する区間における利用ＮＷ帯域の最大値と、動作変更処理前の利用ＮＷ帯域の値と、の差の基準値が格納される。
【００６５】
変更後ＣＰＵ変動２０１１には、ＡＰの動作変更処理が完了した後の一定期間におけるＣＰＵ使用率の平均値と、動作変更前のＣＰＵ使用率の値と、の差の基準値が格納される。
【００６６】
変更後ＮＷ変動２０１２には、ＡＰの動作変更処理が完了した後の一定期間における利用ＮＷ帯域の平均値と、動作変更前の利用ＮＷ帯域の値と、の差の基準値が格納される。
【００６７】
重要度テーブル２０２は、各ＡＰの現在の重要度を表現するために使用されるものであり、ＡＰＩＤ２０１３と、重要度２０１４とを格納している。
【００６８】
ＡＰＩＤ２０１３は、ＡＰの識別子であり、重要度テーブル２０２がどのＡＰの重要度に関するものなのかを識別するために使用される。
【００６９】
重要度２０１４は、各ＡＰの重要度である。ＡＰは、起動されると、最初は必ず重要度０に対応する動作を行う。ユーザからの要求によりＡＰの重要度が変更されると、ＡＰはその重要度に対応する動作を行うために、動作変更処理を行う。
【００７０】
例えば、音声ＡＰは、重要度０では高音質を実現できる音声コーデックを利用する動作を行うが、重要度が下げられると、中程度の音質を実現できる音声コーデックを利用するように動作を動的に変更する、ということが考えられる。
【００７１】
また、例えば、資料共有ＡＰは、重要度０では話者端末においてスライドめくり操作が行われた時点でスライドのデータをその他の端末に配信するという動作を行うが、重要度が上げられると、スライドデータの配信用の回線とは別の回線を開いて、話者端末から各スライドに対応する低解像度の画像を一括して先行的にその他の端末に配信してキャッシュさせるように動作を動的に変更する、ということが考えられる。
【００７２】
基準ＮＷリンク速度２０１５は、ＮＷリンク速度の基準値である。
【００７３】
ＣＰＵマージン２０１６は、過負荷と見なす端末のＣＰＵ使用率の値である。ＣＰＵマージン２０１６に格納する値の調整により、端末のＣＰＵ使用率が何％以上になったら過負荷と見なすか、という基準値を調整することができる。
【００７４】
ＮＷマージン２０１７は、ＮＷ不足と見なすＮＷ帯域の値である。ＮＷマージン２０１７に格納する値の調整により、利用中のＮＷ帯域がＮＷリンク速度の何％以上になったらＮＷ不足と見なすか、という基準値を調整することができる。
【００７５】
端末データテーブル２０３は、端末１２００1〜１２００nのうち、通信中の端末についての各種データを格納するのに使用される。
【００７６】
端末データテーブル２０３は、端末ＩＤ２１００と、端末性能指数２１０１と、ＮＷ性能指数２１０２と、現ＣＰＵ使用率２１０３と、現ＮＷ帯域２１０４と、ＮＷリンク速度２１０５とを格納している。
【００７７】
端末ＩＤ２１００は、端末の識別子であり、各端末データテーブル２０３がどの端末に関するものなのかを識別するために使用される。
【００７８】
端末性能指数２１０１は、ＣＰＵ、メモリ、ディスクなどの性能を総合的に考慮した性能の基準値を１００とすると、各端末の性能はいくらになるのかという指標を表現する。
【００７９】
通信を開始した端末では１種類以上のＡＰが起動することになるが、これら１種類以上のＡＰの起動処理に実際に掛かった時間を計測し、これら１種類以上のＡＰの起動に関する所要時間２００１の合計値と比較することにより、各端末の性能の指標が得られる。
【００８０】
例えば、端末１２００1と端末１２００2が通信を開始し、音声ＡＰと資料共有ＡＰを起動したとする。この起動処理に、端末１２００1では６秒、端末１２００2では４秒掛かったとする。音声ＡＰの所要時間２００１が３秒で、資料共有ＡＰの所要時間２００１が２秒だったとすると、端末１２００1の端末性能指数２１０１は（３＋２）×１００／６＝８３．３となり、端末１２００2のそれは（３＋２）×１００／４＝１２５となる。
【００８１】
単純に各端末のＣＰＵのクロック数を比較するだけでは、各端末のメモリ残量やディスクアクセスの速度などが考慮されないが、この方法ではＣＰＵ、メモリ、ディスクなどの性能を総合的に考慮した各端末の性能が得られる。厳密には、音声ＡＰと資料共有ＡＰとを同時に起動した時の所要時間の基準値を別途設けた方が正確な値が得られるが、この方法でも端末毎の性能について大まかな傾向が得られる。
【００８２】
ＮＷ性能指数２１０２は、ＮＷリンク速度の基準値を１００とすると、各端末が利用可能なＮＷ帯域の最大値はいくらになるのかという指標を表現する。
【００８３】
各端末のＮＷリンク速度２１０５と、基準ＮＷリンク速度２０１５とを比較することにより、各端末が利用可能なＮＷ帯域の最大値の指標が得られるため、この得られた指標をＮＷ性能指数２１０２とする。
【００８４】
例えば、基準ＮＷリンク速度２０１５が有線ＬＡＮ環境を想定した１００Ｍｂｐｓになっている状態で、端末１２００1と端末１２００2が通信を開始したとする。その際、端末１２００1が無線ＬＡＮの８０２．１１ａを利用しておりＮＷリンク速度２１０５が５４Ｍｂｐｓで、端末１２００2が無線ＬＡＮの８０２．１１ｂを利用しておりＮＷリンク速度２１０５が１１Ｍｂｐｓだったとすると、端末１２００1のＮＷ性能指数２１０２は５４Ｍ×１００／１００Ｍ＝５４となり、端末１２００2のそれは１１Ｍ×１００／１００Ｍ＝１１となる。
【００８５】
現ＣＰＵ使用率２１０３には、資源監視手段１００３が取得した各端末のＣＰＵ使用率の値が格納される。この値は資源監視手段１００３によって適宜更新される。
【００８６】
現ＮＷ帯域２１０４には、資源監視手段１００３が取得した各端末が利用中のＮＷ帯域の値が格納される。この値は資源監視手段１００３によって適宜更新される。
【００８７】
ＮＷリンク速度２１０５には、各端末のＮＷリンク速度が格納される。
【００８８】
最低端末データテーブル２０４は、端末１２００1〜１２００nの中の通信中の端末のうち、端末性能指数２１０１が最も低い端末と、ＮＷ性能指数２１０２が最も低い端末という、通信中の端末の中でボトルネックになりそうな端末の情報を１つにまとめて表現するために使用される。
【００８９】
最低端末データテーブル２０４は、最低端末性能指数２１０６と、最低ＮＷ性能指数２１０７と、残存ＣＰＵ２１０８と、残存ＮＷ２１０９とを格納している。
【００９０】
最低端末性能指数２１０６には、端末１２００1〜１２００nの中の通信中の端末のうち、端末性能指数２１０１が最も低い端末の端末性能指数２１０１が格納される。
【００９１】
最低ＮＷ性能指数２１０７には、端末１２００1〜１２００nの中の通信中の端末のうち、ＮＷ性能指数２１０２が最も低い端末のＮＷ性能指数２１０２が格納される。
【００９２】
残存ＣＰＵ２１０８には、端末１２００1〜１２００nの中の通信中の端末のうち、端末性能指数２１０１が最も低い端末の現ＣＰＵ使用率２１０３を、１００％から引き、さらにそこからＣＰＵマージン２０１６の値を引いた値が格納される。
【００９３】
残存ＮＷ２１０９には、端末１２００1〜１２００nの中の通信中の端末のうち、ＮＷ性能指数２１０２が最も低い端末の現ＮＷ帯域２１０４と、その端末のＮＷリンク速度２１０５にＮＷマージン２０１７を掛けた値と、の差の値が格納される。
【００９４】
動作変更候補テーブル２０５は、重要度２０１４が変更されることになったＡＰについて、その動作変更処理が、最も低性能な端末における過負荷状態や、最も狭帯域な端末におけるＮＷ帯域の不足が発生するかどうかを予測するために使用され、動作変更基準データテーブル２０１に基づいて生成される。
【００９５】
動作変更候補テーブル２０５は、動作変更候補ＩＤ２２００と、ＡＰＩＤ２２０１と、変更前重要度２２０２と、変更後重要度２２０３と、換算最大ＣＰＵ増分２２０４と、最大ＮＷ増分２２０５と、換算変更後ＣＰＵ変動２２０６と、変更後ＮＷ変動２２０７とを格納している。
【００９６】
動作変更候補ＩＤ２２００は、動作変更候補テーブル２０５の識別子である。
【００９７】
ＡＰＩＤ２２０１と変更前重要度２２０２と変更後重要度２２０３は、重要度２０１４が変更されることになったＡＰについて、その動作変更処理に対応する動作変更基準データテーブル２０１の、ＡＰＩＤ２００６と変更前重要度２００７と変更後重要度２００８からコピーされる。
【００９８】
換算最大ＣＰＵ増分２２０４は、上記と同様に対応する動作変更基準データテーブル２０１の最大ＣＰＵ増分２００９に対して、（最大ＣＰＵ増分２００９）×１００／（最低端末性能指数２１０６）という計算を行った結果の値が格納される。
【００９９】
換算最大ＣＰＵ増分２２０４は、最も低性能な端末において動作変更処理中に予測されるＣＰＵ使用率の増分の最大値を意味する。
【０１００】
換算変更後ＣＰＵ変動２２０６は、上記と同様に対応する動作変更基準データテーブル２０１の変更後ＣＰＵ変動２０１１に対して、（変更後ＣＰＵ変動２０１１）×１００／（最低端末性能指数２１０６）という計算を行った結果の値が格納される。
【０１０１】
換算変更後ＣＰＵ変動２２０６は、最も低性能な端末において動作変更処理後に予測されるＣＰＵ使用率の変動量を意味する。
【０１０２】
最大ＮＷ増分２２０５と変更後ＮＷ変動２２０７は、上記と同様に対応する動作変更基準データテーブル２０１の、最大ＮＷ増分２０１０と変更後ＮＷ変動２０１２からコピーされる。
【０１０３】
直列実行キュー２２０８は、ＡＰ動作調停手段１００４が、複数ＡＰの動作変更処理を直列実行できるか確認する際に使用される。
【０１０４】
直列実行キュー２２０８は、複数の動作変更候補ＩＤ２２０９を格納可能である。直列実行できると確認された際には、直列実行キュー２２０８の先頭にある動作変更候補ＩＤ２２０９から順番にＡＰ動作変更処理が実行される。
【０１０５】
保留キュー２２１０は、ＡＰ動作調停手段１００４が、複数ＡＰの動作変更処理を直列実行できるか確認する際に、動作変更候補ＩＤ２２０９の一時保管場所として使用される。
【０１０６】
保留キュー２２１０は、複数の動作変更候補ＩＤ２２１１を格納可能である。
【０１０７】
動作変更候補ＩＤ２２０９と動作変更候補ＩＤ２２１１には、動作変更候補ＩＤ２２００の値が格納される。
【０１０８】
＜端末の説明＞
端末１２００1は、他の端末１２００2〜１２００nと通信を行うことにより、ユーザが、各ＡＰを用いて他のユーザとリアルタイムなコミュニケーションを行うために使用される。
【０１０９】
なお、端末１２００2〜１２００nの構成は、端末１２００1と同一であるため、説明は省略する。
【０１１０】
端末１２００1は、通信手段１２０１と、入出力手段１２０２と、ＡＰ実行手段１２０３と、計測手段１２０４と、重要度設定手段１２０５とを有している。
【０１１１】
通信手段１２０１は、調停装置１０００の通信手段１００１および他の端末１２００2〜１２００nの通信手段１２０１と、ネットワークを介してデータをやり取りする。
【０１１２】
入出力手段１２０２は、マウス、キーボード、マイク、カメラその他の各種入力機能と、ディスプレイ、スピーカーその他の各種出力機能とを備える。
【０１１３】
ＡＰ実行手段１２０３は、システムに用意されている各ＡＰの起動処理、稼動、動作変更処理、終了処理を行う。
【０１１４】
計測手段１２０４は、各ＡＰの起動処理の際に、各種データを計測し、計測したデータを調停装置１０００の計測手段１００２に送信する。
【０１１５】
重要度設定手段１２０５は、ユーザが入出力手段１２０２を操作することにより、調停装置１０００のＡＰ動作調停手段１００４を介して各ＡＰの重要度２０１４を変更するために使用される。
【０１１６】
＜第１の実施形態の動作の説明＞
次に、図６のフロー図を参照して、本実施形態の動作について説明する。
■ステップ３０００
ステップ３０００は、システムの導入時などに基準データを準備する段階に相当する。
【０１１７】
この段階でのシステムの初期状態として、調停用記憶装置１００５内には、システムに用意されているＡＰと同数の起動基準データテーブル２００が、それぞれの項目に値が格納済みの状態で用意されており、また、各ＡＰに用意されている各重要度に対応した各動作変更処理についてのそれぞれの動作変更基準データテーブル２０１が、それぞれの項目に値が格納済みの状態で用意されており、また、重要度テーブル２０２にも値が格納されているものとする。なお、初期状態では、全ての重要度２０１４は０に設定されているものとする。また、基準ＮＷリンク速度２０１５にも値が格納されているものとする。
■ステップ３１００
ステップ３１００以降は、システムの運用開始後の段階に相当する。
【０１１８】
この段階でのシステムの初期状態として、調停用記憶装置１００５内には、全端末１２００1〜１２００nに対応する端末データテーブル２０３が用意され、端末ＩＤ２１００に値が格納されているものとする。
【０１１９】
まず、端末１２００1〜１２００nの一部または全てが、入出力手段１２０２と通信手段１２０１を用いて通信を開始し、調停用記憶装置１００５に格納された起動基準データテーブル２００を１つ以上選んでそのＡＰＩＤ２０００に対応する１つ以上のＡＰを起動する。この時、通信を開始する各端末のＡＰ実行手段１２０３は、１つ以上のＡＰを、重要度０に対応する動作を行うように起動する。
【０１２０】
次に、通信中の各端末の計測手段１２０４が、各端末において１つ以上のＡＰの起動処理に要した合計時間を計測し、１つ以上のＡＰのそれぞれの起動に関する所要時間２００１を特定し、自分の端末に対応する端末データテーブル２０３を特定し、（所要時間２００１の合計）×１００／（各端末での起動時間）を計算し、計測手段１００２が、その結果を端末性能指数２１０１に格納する。
【０１２１】
また、通信中の各端末の計測手段１２０４が、ＮＷリンク速度を計測し、計測手段１００２が、その結果をＮＷリンク速度２１０５に格納する。
【０１２２】
また、通信中の各端末の計測手段１２０４が、（ＮＷリンク速度２１０５）×１００／（基準ＮＷリンク速度２０１５）を計算し、計測手段１００２が、その結果をＮＷ性能指数２１０２に格納する。
【０１２３】
また、通信中の各端末の計測手段１２０４が、起動処理が完了した後のＣＰＵ使用率を計測し、資源監視手段１００３が、その結果を現ＣＰＵ使用率２１０３に格納する。
【０１２４】
また、通信中の各端末の計測手段１２０４が、起動処理が完了した後の利用中のＮＷ帯域を計測し、資源監視手段１００３が、その結果を現ＮＷ帯域２１０４に格納する。
【０１２５】
次に、ＡＰ動作調停手段１００４が、最低端末データテーブル２０４を１つ生成する。
【０１２６】
また、ＡＰ動作調停手段１００４が、通信中の全端末の端末性能指数２１０１のうち、端末性能指数２１０１の最小値を特定し、最低端末性能指数２１０６に格納する。
【０１２７】
また、ＡＰ動作調停手段１００４が、ＮＷ性能指数２１０２の最小値を特定し、最低ＮＷ性能指数２１０７に格納する。
【０１２８】
また、ＡＰ動作調停手段１００４が、端末性能指数２１０１が最低である端末の現ＣＰＵ使用率２１０３を、１００％から引き、さらにそこからＣＰＵマージン２０１６の値を引いた値を計算し、残存ＣＰＵ２１０８に格納する。
【０１２９】
また、ＡＰ動作調停手段１００４が、ＮＷ性能指数２１０１が最低である端末の現ＮＷ帯域２１０４と、その端末のＮＷリンク速度２１０５にＮＷマージン２０１７を掛けた値と、の差を計算し、残存ＮＷ２１０９に格納する。
■ステップ３１０１
資源監視手段１００３が、各端末のＣＰＵ使用率の値と利用中のＮＷ帯域の値を取得し、その端末に対応する端末データテーブル２０３内の現ＣＰＵ使用率２１０３と現ＮＷ帯域２１０４を、それぞれ更新する。
【０１３０】
なお、ＣＰＵ使用率とＮＷ帯域の値の取得方法は、定期的に資源監視手段１００３から各端末に値のアップロードを要求する方法でも良いし、各端末が自発的に定期的にアップロードしても良いし、各端末が通信開始時に一度アップロードしたら、その時の値から一定値以上の変動があった時だけアップロードするという方法でも良い。
【０１３１】
そのため、ステップ３１０１は、各端末の通信中に、適宜実行される。
【０１３２】
この更新処理に加えて、ＡＰ動作調停手段１００４が、最低端末性能指数２１０６と最低ＮＷ性能指数２１０７と残存ＣＰＵ２１０８と残存ＮＷ２１０９の値を再計算する。
■ステップ３１０２
通信中の端末のいずれかの入出力手段２１０２において、稼働中の１つ以上のＡＰ（稼働中の一部のＡＰでも良いし、稼働中の全てのＡＰでも良い）の重要度の変更を要求する操作が行われる。
■ステップ３１０３
ＡＰ動作調停手段１００４が、まず、重要度変更要求の内容を参照し、該当するＡＰの動作変更基準データテーブル２０１のうち、変更前重要度２００７が現在の重要度と一致する動作変更基準データテーブル２０１を特定する。次に、ＡＰ動作調停手段１００４が、特定した動作変更基準データテーブル２０１の中に、変更後重要度２００８が、重要度変更要求で指定された重要度と一致するか、または、重要度変更要求で指定された重要度よりも低い値を持つ動作変更基準データテーブル２０１が存在するかを確認する。
【０１３３】
存在すれば、それぞれのＡＰについて、その動作変更処理の組合せが、重要度変更要求を実現する処理の候補となる。そして、ステップ３１０５に進む。
【０１３４】
一方、存在しなければ、重要度変更要求を実現する組合せがなかったと判断し、ステップ３１０４に進む。
■ステップ３１０４
ＡＰ動作調停手段１００４が、重要度変更要求を行った端末に、要求した組合せの重要度変更は実現できないため、他の組合せの重要度変更で再試行して欲しい旨の、エラーメッセージ画面を送信し、端末がエラー表示を行って、ステップ３１０２に戻る。
■ステップ３１０５
ＡＰ動作調停手段１００４が、ステップ３１０３において候補となった動作変更処理の組合せに対応する動作変更基準データテーブル２０１を特定し、これらの動作変更基準データテーブル２０１と同数の動作変更候補テーブル２０５を、次のようにして生成する。
【０１３５】
まず、動作変更候補ＩＤには、システム内で一意な動作変更候補テーブル２０５の識別子を格納する。
【０１３６】
次に、ＡＰＩＤ２２０１と変更前重要度２２０２と変更後重要度２２０３と最大ＮＷ増分２２０５と変更後ＮＷ変動２２０７は、対応する動作変更基準データテーブル２０１に格納されている値をそのままコピーする。
【０１３７】
次に、換算最大ＣＰＵ増分２２０４には、（最大ＣＰＵ増分２００９）×１００／（最低端末性能指数２１０６）という計算を行った結果の値を格納する。
【０１３８】
次に、換算変更後ＣＰＵ変動２２０６には、（変更後ＣＰＵ変動２０１１）×１００／（最低端末性能指数２１０６）という計算を行った結果の値を格納する。
【０１３９】
その後、ＡＰ動作調停手段１００４が、上記のように生成した１つ以上の動作変更候補テーブル２０５について、換算変更後ＣＰＵ変動２２０６の合計値を計算し、この合計値が残存ＣＰＵ２１０８の値を超過しているか確認する。
【０１４０】
また、ＡＰ動作調停手段１００４が、同様に変更後ＮＷ変動２２０７の合計値を計算し、この合計値が残存ＮＷ２１０９の値を超過しているか確認する。
【０１４１】
どちらかが超過していたら、動作変更処理の組合せ候補の実行後に、過負荷状態やＮＷ帯域の不足が発生する恐れがあると判断し、ステップ３１０４に進む。
【０１４２】
一方、どちらも超過していなかったら、ステップ３２００に進む。
■ステップ３２００
ステップ３２００は、ステップ３１０５において、動作変更処理の組合せ候補を「実行後」に、過負荷状態やＮＷ帯域の不足が発生する恐れはないと判断された場合に実行される。そのため、この動作変更処理の組合せを並列に同時実行した場合に、動作変更処理の「実行中」に、過負荷状態やＮＷ帯域の不足が発生する恐れがあるかどうかを確認する。
【０１４３】
ＡＰ動作調停手段１００４が、各動作変更候補テーブル２０５について、換算最大ＣＰＵ増分２２０４の合計値を計算し、この合計値が残存ＣＰＵ２１０８の値を超過しているか確認する。
【０１４４】
また、ＡＰ動作調停手段１００４が、同様に最大ＮＷ増分２２０５の合計値を計算し、この合計値が残存ＮＷ２１０９の値を超過しているか確認する。
【０１４５】
どちらかが超過していたら、動作変更処理の組合せ候補の並列実行中に、過負荷状態やＮＷ帯域の不足が発生する恐れがあると判断し、直列実行の可能性があるか確認するために、ステップ３３００に進む。
【０１４６】
一方、どちらも超過していなかったら、ステップ３２０１に進む。
■ステップ３２０１
ステップ３２０１は、ステップ３２００において、動作変更処理の組合せ候補の並列実行中も実行後も、過負荷状態やＮＷ帯域の不足が発生する恐れがないと判断された場合に実行される。そのため、ＡＰ動作調停手段１００４が、各端末に並列実行を指示し、各端末において動作変更処理が並列実行され、各ＡＰの動作が、変更された重要度に対応する動作に切替わる。
【０１４７】
これにより、重要度変更要求が可能な状態に戻ったため、ステップ３１０２に戻る。
■ステップ３３００
ステップ３３００以降では、動作変更処理の組合せ候補を、どの順番に並び替えれば、過負荷状態やＮＷ帯域の不足が発生することを防止しつつ直列実行が可能になるかを探索する処理が行われる。
【０１４８】
なお、ステップ３３００以降の処理は、特に記載がない限り、全てＡＰ動作調停手段１００４が行うものとする。
【０１４９】
また、この一連の探索処理の過程において、動作変更処理の候補を識別する動作変更候補ＩＤが直列実行キュー２２０８や保留キュー２２１０に格納されていくことになるが、これらのキューに格納されていない動作変更処理の候補（動作変更候補テーブル２０５）を、「残留候補」と呼ぶことにする。
【０１５０】
まず、ＮＷ変動量をＸ軸に、ＣＰＵ変動量をＹ軸に取り、それぞれの残留候補について、Ｘの値が変更後ＮＷ変動２２０７でＹの値が換算変更後ＣＰＵ変動２２０６である点を考える。この点を変動点と呼ぶことにする。
【０１５１】
次に、最も狭帯域な端末のＮＷリンク速度２１０５を参照し、この値をａとして、Ｙ＝−１００Ｘ／（ａ）−ｂで表される直線を考える。
【０１５２】
次に、ｂとして十分大きな正の値を取り、ｂの値を徐々に小さくして行った時に、最初に交わる変動点で特定される残留候補を選択する。
■ステップ３３０１
ステップ３３００で選択された残留候補の換算最大ＣＰＵ増分２２０４の値が残存ＣＰＵ２１０８の値を超過しているか確認する。
【０１５３】
また、同様に、ステップ３３００で選択された残留候補の最大ＮＷ増分２２０５の値が残存ＮＷ２１０９の値を超過しているか確認する。
【０１５４】
どちらかが超過していたら、その残留候補を一旦保留キュー２２１０に保管するため、ステップ３３０８に進む。
【０１５５】
一方、どちらも超過していなかったら、その残留候補は実行できると判断し、ステップ３３０２に進む。
■ステップ３３０２
ステップ３３００で選択された残留候補の動作変更候補ＩＤ２２００を、直列実行キュー２２０８の最後尾に動作変更候補ＩＤ２２０９として格納する。
【０１５６】
また、残存ＣＰＵ２１０８の値を、換算変更後ＣＰＵ変動２２０６の分だけ増減させる。
【０１５７】
また、残存ＮＷ２１０９の値を、変更後ＮＷ変動２２０７の分だけ増減させる。
■ステップ３３０３
保留キュー２２１０に格納されている動作変更候補ＩＤ２２１１が存在するかどうか確認する。
【０１５８】
存在したら、ステップ３３０６に進む。
【０１５９】
一方、存在しなかったら（空だったら）、ステップ３３０４に進む。
■ステップ３３０４
直列実行キュー２２０８にも保留キュー２２１０にも格納されていない残留候補があるかどうか確認する。
【０１６０】
存在したら、次の残留候補について探索処理を続行するため、ステップ３３００に戻る。
【０１６１】
一方、存在しなかったら、ステップ３３０３と本ステップ３３０４の結果により、全ての候補が直列実行キュー２２０８に格納されたことになるので、直列実行を行うために、ステップ３３０５に進む。
■ステップ３３０５
ステップ３３０５は、ステップ３３０４において、直列実行キュー２２０８に格納された順番で動作変更処理を直列実行すれば、直列実行の実行中も実行後も、過負荷状態やＮＷ帯域の不足が発生する恐れがないと判断された場合に実行される。そのため、直列実行キュー２２０８の先頭から最後尾への順番で１つずつ、各端末に動作変更処理の実行を指示する。
【０１６２】
各端末において動作変更処理が実行され、実行が完了したら、各端末からＡＰ動作調停手段１００４に実行完了を返信する。
【０１６３】
ＡＰ動作調停手段１００４は、全端末から実行完了の返信が到着するのを待ってから、次の動作変更処理の実行を指示する、というように、端末間の状態の同期制御を行う。これにより、各ユーザが体験するシステムの挙動の変化をユーザ間で同一にすることができるため、一部のユーザだけ異なるシステムの挙動を体験してユーザ間のコミュニケーションに混乱を与えることを防止することができる。
【０１６４】
これにより、重要度変更要求が可能な状態に戻ったため、ステップ３１０２に戻る。
■ステップ３３０６
ステップ３３０２において残存ＣＰＵ２１０８と残存ＮＷ２１０９の値に増減があったので、一旦保留しておいた候補を実行できる可能性を確認する。
【０１６５】
保留キュー２２１０の先頭にある候補によって特定される候補の換算最大ＣＰＵ増分２２０４の値が残存ＣＰＵ２１０８の値を超過しているか確認する。
【０１６６】
また、同様に、特定される候補の最大ＮＷ増分２２０５の値が残存ＮＷ２１０９の値を超過しているか確認する。
【０１６７】
どちらかが超過していたら、ステップ３３０４に進む。
【０１６８】
一方、どちらも超過していなかったら、その候補は実行できると判断し、ステップ３３０７に進む。
■ステップ３３０７
保留キュー２２１０から、先頭にある候補を取り出す。もし先頭から２番目以降にも候補が格納されていたら、２番目の候補を先頭に移動し、それ以降も１つずつ先頭方向に移動させる。
■ステップ３３０８
選択された残留候補の動作変更候補ＩＤ２２００を、保留キュー２２１０の最後尾に動作変更候補ＩＤ２２１１として格納する。
■ステップ３３０９
直列実行キュー２２０８にも保留キュー２２１０にも格納されていない残留候補があるかどうか確認する。
【０１６９】
存在したら、次の残留候補について探索処理を続行するため、ステップ３３００に戻る。
【０１７０】
一方、存在しなかったら、ステップ３３０８と本ステップ３３０９の結果により、一部の候補が直列実行キュー２２０８にあるが、残りの候補が保留キュー２２１０にあり、次に直列実行の可能性を試行すべき残留候補がなくなってしまった状態にあるため、これらの候補の組合せでは直列実行ができないことになる。よって、ステップ３４００に進む。
■ステップ３４００
保留キュー２２１０の先頭から順番に、候補を選択し、全ての動作変更候補テーブル２０５の中に、ＡＰＩＤ２２０１と変更前重要度２２０２が選択した候補と同一で、かつ、変更後重要度２２０３の値が選択した候補よりも低い値を持つ動作変更候補テーブル２０５が存在するかどうか確認する。
【０１７１】
存在した場合には、ステップ３４０１に進む。
【０１７２】
一方、最後尾まで調べても存在しなかった場合には、これらの候補の組合せでは直列実行ができないと判断し、ステップ３１０４に進む。
■ステップ３４０１
ステップ３４００において存在を確認した動作変更候補テーブル２０５を、ステップ３４００において選択状態にある候補と置換し、この置換した候補と、直列実行キュー２２０８に格納された候補との組合せを、新しい組合せとする。この新しい組合せを代替手段として、並列実行または直列実行が可能か確認するために、ステップ３１０５に戻る。
【０１７３】
これにより、ユーザが期待したＡＰ動作変更処理が実行不可能だったとしても、段階的に他の手段で代替できるか確認していけるので、ユーザの意図になるべく沿ったＡＰ動作変更処理を発見することができる。
【０１７４】
以上の動作により、利用場面や用途の変化に応じて、ユーザの要求に基づいて、稼働中の複数のＡＰの動作を動的に変更する際に、低性能な端末での過負荷状態や狭帯域なＮＷ内の端末でのＮＷ帯域の不足を確実に回避し、ユーザが体感するコミュニケーション品質の劣化防止を保証できる。
【０１７５】
＜第１の実施形態の効果の説明＞
調停装置１００は、ＡＰ起動処理の所要時間およびＮＷリンク速度を基準データとしてあらかじめ登録しておき、通信を開始した各端末は、実際のＡＰの起動処理の所要時間を計測して基準データと比較することで端末性能を算出し、実際のＮＷリンク速度を計測して基準データと比較することでＮＷ性能を算出する。また、調停装置１００は、ＡＰ起動処理およびＡＰ動作変更処理の実行時に必要と予測されるＣＰＵ使用率とＮＷ帯域の推移も基準データとして調停装置に登録しておく。
【０１７６】
調停装置１００は、通信中の各端末の中から、端末性能が最も低い端末とＮＷ性能が最も低い端末を特定しておき、通信を開始した各端末でＡＰの動作変更処理や起動処理を行う場合には、上記で特定した端末が複数処理を実行しても、端末の過負荷およびネットワーク帯域の不足といった問題が発生しないことを確認した上で、通信を開始した各端末に対し、起動処理または前記動作変更処理の実行を指示する。
【０１７７】
具体的には、調停装置１００は、上記で特定した端末が複数処理を並列に同時実行しても問題ないか確認し、問題があれば、次に、複数処理を直列に逐次実行しても問題がないかどうか確認する。特に、ＡＰ動作変更処理の場合は、複数処理を直列に逐次実行しても問題がない組み合わせがあるか確認し、そのような組み合わせがない場合には、別の動作変更処理で代替手段できるか確認する、という探索的な確認を行う。
【０１７８】
そして、調停装置１００は、端末性能が最も低い端末で過負荷状態が発生しないことや、ＮＷ性能が最も低い端末でＮＷ帯域の不足が発生しないことが確認できた時点で探索を終了し、通信を開始した各端末に対して複数処理の実行を指示する。
【０１７９】
そのため、利用場面や用途の変化に応じて、ユーザの要求に基づいて、稼働中の複数のＡＰの動作を動的に変更したり、利用していなかった複数のＡＰを新規に追加起動したりする際に、低性能な端末での過負荷状態や狭帯域なＮＷ内の端末でのＮＷ帯域の不足が発生することを確実に回避し、ユーザが体感するコミュニケーション品質の劣化防止が保証できるという効果が得られる。
【０１８０】
そのため、例えば、ユーザ間で、音声で会話しながら、資料のスライドを共有する資料共有ＡＰを利用している際に、次のような効果が得られる。
【０１８１】
資料の前半にある本文をゆっくりと説明するという利用場面では、スライドを切替える頻度は低いため、スライドめくりの応答性能は多少悪くても構わないと考えられる。そのため、音声ＡＰに優先的にＣＰＵ資源とメモリ資源とＮＷ資源が多く割り当たるように、高音質を実現できる音声コーデックを利用する動作をさせ、資料共有ＡＰには話者端末においてスライドめくり操作が行われた時点でスライドのデータをその他の端末に配信するという動作をさせることができる。
【０１８２】
その後、資料の後半にある大量の付録のうち、必要なものだけをかいつまんで短時間に説明するという利用場面に変わった場合には、スライドを切替える頻度が高いため、スライドの応答性能を良くする必要があると考えられる。そのため、コミュニケーションに参加している全端末において、資料共有に優先的に各資源が多く割り当たるように、音声ＡＰに、中程度の音質を実現できる音声コーデックを利用するように動作を動的に変更させ、資料共有ＡＰに、スライドデータの配信用の回線とは別の回線を開いて、話者端末から各スライドに対応する低解像度の画像を一括して先行的にその他の端末に配信してキャッシュさせるように動作を動的に変更することが、確実にできる。
【０１８３】
つまり、過負荷状態により音声ＡＰが受信した音声パケットを音声バッファに格納する処理が滞ったり、ＮＷの帯域不足により音声パケット自体の受信が滞ったりすることが原因で、音声バッファが枯渇して音切れが発生し、その結果しばらくの間コミュニケーションが成り立たないという事態に陥らないことを、保証できる。
【０１８４】
したがって、本文をゆっくりと説明する場面では、高音質で会話ができる。また、付録をかいつまんで短時間で説明する場面では、話者がスライドを何度もめくる毎に各端末において先行的にキャッシュされていた低解像度の画像が高速に表示され、話者がスライドめくり操作を止めてそのスライドの説明を開始した頃に各端末において高解像度の画像が表示されるため、短時間に連続的なスライドめくり操作があった場合でも、各ユーザはスライド画像が１枚ずつ表示されては次のスライド画像が表示されるのを何度も待つという煩わしさを感じることはない。
【０１８５】
また、ＡＰの起動処理は比較的重い処理である場合が多く、既に複数のＡＰを利用中にあるＡＰを新規に追加起動すると、各端末では既存ＡＰの処理を行いながら、同時並行で資料共有ＡＰの起動処理が行われるため、低性能な端末において過負荷状態が発生し、しばらくの間コミュニケーションが成り立たないという事態に陥ってしまうということが懸念される。しかし、本発明を用いれば、過負荷状態が発生しないことが確認できればＡＰの追加起動処理を開始できるし、過負荷状態が発生する恐れがある場合にはユーザに対して既存ＡＰのいくつかを終了するように通知することができる。
【０１８６】
（第２の実施形態）
＜第２の実施形態の構成の説明＞
図７は、本発明の第２の実施形態に係るデータ構造を示す図である。以下、この図７を使って説明を行う。
【０１８７】
なお、本実施形態では、端末１２００1〜１２００nのうち、通信中の全端末で行う同一内容の複数の処理が、稼動していなかった複数のＡＰを新規に追加起動するＡＰ起動処理であるものとして説明する。
【０１８８】
本実施形態では、第１の実施形態に対して、調停用記憶装置１００５に、起動候補テーブル２０６と、直列実行キュー２３０５と、保留キュー２３０７とが追加されている。
【０１８９】
起動候補テーブル２０６は、追加起動されることになった各ＡＰについて、その起動処理が、最も低性能な端末における過負荷状態や、最も狭帯域な端末におけるＮＷ帯域の不足が発生するかどうかを予測するために使用され、起動基準データテーブル２００に基づいて生成される。
【０１９０】
起動候補テーブル２０６は、ＡＰＩＤ２３００と、換算最大ＣＰＵ増分２３０１と、最大ＮＷ増分２３０２と、換算起動後ＣＰＵ変動２３０３と、起動後ＮＷ変動２３０４とを格納している。
【０１９１】
ＡＰＩＤ２３００は、追加起動されることになったＡＰについて、その起動処理に対応する起動基準データテーブル２００の、ＡＰＩＤ２０００からコピーされる。
【０１９２】
換算最大ＣＰＵ増分２３０１は、換算最大ＣＰＵ増分２２０４と同様の役目をする。
【０１９３】
つまり、換算最大ＣＰＵ増分２３０１は、上記と同様に対応する起動基準データテーブル２００の最大ＣＰＵ増分２００２に対して、（最大ＣＰＵ増分２００２）×１００／（最低端末性能指数２１０６）という計算を行った結果の値が格納される。
【０１９４】
換算起動後ＣＰＵ変動２３０３は、換算変更後ＣＰＵ変動２２０６と同様の役目をする。
【０１９５】
つまり、換算起動後ＣＰＵ変動２３０３は、上記と同様に対応する起動基準データテーブル２００の起動後ＣＰＵ変動２００４に対して、（起動後ＣＰＵ変動２００４）×１００／（最低端末性能指数２１０６）という計算を行った結果の値が格納される。
【０１９６】
最大ＮＷ増分２３０２と起動後ＮＷ変動２３０４は、最大ＮＷ増分２２０５と変更後ＮＷ変動２２０７と同様の役目をする。
【０１９７】
つまり、最大ＮＷ増分２３０２と起動後ＮＷ変動２３０４は、上記と同様に対応する起動基準データテーブル２００の、最大ＮＷ増分２００３と起動後ＮＷ変動２００５からコピーされる。
【０１９８】
直列実行キュー２３０５は、直列実行キュー２２０８と同様の役目をする。
【０１９９】
ＡＰＩＤ２３０６は、動作変更候補ＩＤ２２０９と同様の役目をする。
【０２００】
つまり、ＡＰＩＤ２３０６は、起動候補テーブル２０６を識別する役目をする。
【０２０１】
このように、本実施形態は、基本的には、第１の実施形態における動作変更候補テーブル２０５を、起動候補テーブル２０６で置き換えた構造になっている。
【０２０２】
＜第２の実施形態の動作の説明＞
次に、図８のフロー図を参照して、本実施形態の動作について説明する。
【０２０３】
なお、ステップ３５００番台、３６００番台、３７００番台、３８００番台については、第１の実施形態における図６のステップ３０００番台、３１００番台、３２００番台、３３００番台と対応する。
【０２０４】
第１の実施形態に対して、ステップ３１０３、３４００、３４０１が削除されている。
【０２０５】
このように、本実施形態では、基本的には、第１の実施形態における動作変更候補テーブル２０５を、起動候補テーブル２０６で置き換えた動作が行われる。
【０２０６】
ただし、動作変更候補テーブル２０５と異なり、起動候補テーブル２０６には重要度の概念がないため、ステップ３８０９の残留候補の存在確認において、存在しないことを確認すると、ステップ３６０４に進む点が大きく異なる。
【０２０７】
以上の動作により、利用場面や用途の変化に応じて、ユーザの要求に基づいて、利用していなかった複数のＡＰを新規に追加起動する際に、低性能な端末での過負荷状態や狭帯域なＮＷ内の端末でのＮＷ帯域の不足を確実に回避し、ユーザが体感するコミュニケーション品質の劣化防止を保証できる。
【０２０８】
（第３の実施形態）
＜第３の実施形態の構成の説明＞
図９は、本発明の第３の実施形態のＱｏＳ制御システムの構成を示すブロック図である。
【０２０９】
本実施形態では、調停装置１０００1〜１０００nがそれぞれ端末１２００1〜１２００n内に同梱され、端末のみで動作する構成である。
【０２１０】
すなわち、本実施形態では、第１の実施形態と比較して、調停装置１０００が削除されており、その代わりに、調停装置１０００内に存在していた各手段が端末１２００1〜１２００nに合併されている。調停用記憶装置１００５には、第１の実施形態における調停用記憶装置１００５と同一の情報が格納される。
【０２１１】
＜第３の実施形態の動作の説明＞
図６のフロー図を参照して、本実施形態の動作について説明する。
■ステップ３０００
調停装置１０００1〜１０００nにおいて、それぞれ、第１の実施形態におけるステップ３０００と同一の動作が行われる。
■ステップ３１００
ステップ３１００において、調停装置１０００1〜１０００nの中から、通信中に今後利用される調停装置が１つだけ決定される。
【０２１２】
決定の方法として、例えば次のような方法が考えられるが、これらの方法のうち、どれか１つを利用すれば良い。
【０２１３】
各端末の計測手段１２０４においてＡＰ起動時間の合計を計測し、各端末間でその値を交換し、最小の値であった端末の調停装置に決定する。値が同一の端末が複数あった場合には、それらの端末の中からランダムに選出する。
【０２１４】
または、計測手段１２０４において計測した端末性能指数２１０１の値が最大である端末の調停装置に決定しても良い。値が同一の端末が複数あった場合には、それらの端末の中からランダムに選出する。
【０２１５】
または、計測手段１２０４において計測したＮＷ性能指数２１０２の値が最大である端末の調停装置に決定しても良い。値が同一の端末が複数あった場合には、それらの端末の中からランダムに選出する。
【０２１６】
または、計測手段１２０４において計測した現ＣＰＵ使用率２１０３の値が最小である端末の調停装置に決定しても良い。値が同一の端末が複数あった場合には、それらの端末の中からランダムに選出する。
【０２１７】
または、計測手段１２０４において計測した現ＮＷ使用率２１０４の値が最小である端末の調停装置に決定しても良い。値が同一の端末が複数あった場合には、それらの端末の中からランダムに選出する。
【０２１８】
または、計測手段１２０４において計測したＮＷリンク速度の値が最大である端末の調停装置に決定しても良い。値が同一の端末が複数あった場合には、それらの端末の中からランダムに選出する。
【０２１９】
または、ランダムに端末を選出し、その端末の調停装置に決定しても良い。
【０２２０】
以上の動作により、端末だけのＰ２Ｐ（Ｐｅｅｒ  ｔｏ  Ｐｅｅｒ）通信が可能になる。
【０２２１】
（第４の実施形態）
＜第４の実施形態の構成の説明＞
図１０は、本発明の第４の実施形態のＱｏＳ制御システムの構成を示すブロック図である。
【０２２２】
本実施形態では、第１の実施形態と比較して、基準端末１１００1，１１００2が追加されており、基準端末１１００1，１１００2を用いて、システム導入時などの準備段階における各種基準データの準備を容易化する構成となっている。
【０２２３】
基準端末１１００1は、基準端末１１００2と通信を行い、各ＡＰについて、端末１２００1〜１２００nに対する基準となる各種データを計測するために使用される。
【０２２４】
なお、基準端末１１００2の構成は、基準端末１１００1と同一であり、また、通信開始後は基準データの計測処理は、全て基準端末１１００1が主導権を持って行われるため、構成要素についての説明は省略する。
【０２２５】
基準端末１１００1は、通信手段１１０１と、入出力手段１１０２と、ＡＰ実行手段１１０３と、基準計測手段１１０４とを有している。
【０２２６】
通信手段１１０１は、基準端末１１００2の通信手段１１０１、調停装置１０００の１００１と、ネットワークを介してデータをやり取りする。
【０２２７】
入出力手段１１０２は、マウス、キーボード、マイク、カメラその他の各種入力機能と、ディスプレイ、スピーカーその他の各種出力機能とを備える。
【０２２８】
ＡＰ実行手段１１０３は、システムに用意されている各ＡＰの起動処理、稼動、動作変更処理、終了処理を行う。
【０２２９】
基準計測手段１１０４は、各ＡＰの起動処理と動作変更処理の際に、各種データを計測し、計測したデータを調停装置１０００の計測手段１００２に送信する。
【０２３０】
＜第４の実施形態の動作の説明＞
図６のフロー図を参照して、本実施形態の動作について説明する。
【０２３１】
本実施形態では、第１の実施形態と比較して、ステップ３０００の動作が次のように変更される。
■ステップ３０００
ステップ３０００は、システムの導入時などに基準データを準備する段階に相当する。
【０２３２】
この段階でのシステムの初期状態として、調停用記憶装置１００５内には、システムに用意されているＡＰと同数の起動基準データテーブル２００が用意されており、ＡＰＩＤ２０００だけに値が格納されており、また、各ＡＰに用意されている各重要度に対応した各動作変更処理についてのそれぞれの動作変更基準データテーブル２０１が用意されており、ＡＰＩＤ２００６と変更前重要度２００７と変更後重要度２００８だけに値が格納されており、また、重要度テーブル２０２にも値が格納されているものとする。
【０２３３】
まず、基準端末１１００1，１１００2が、入出力手段１１０２と通信手段１１０１を用いて通信を開始し、調停用記憶装置１００５に格納された起動基準データテーブル２００を１つ選んでそのＡＰＩＤ２０００に対応するＡＰを起動する。この時、基準端末１１００1，１１００2のＡＰ実行手段１２０３は、ＡＰを、重要度０に対応する動作を行うように起動する。
【０２３４】
次に、基準端末１１００1の基準計測手段１１０４が、基準端末１１００1においてＡＰの起動処理に要した時間を計測し、計測手段１００２が、所要時間２００１に格納する。
【０２３５】
また、基準端末１１００1の基準計測手段１１０４が、ＡＰの起動処理を開始して起動処理が完了する区間におけるＣＰＵ使用率の最大値と、起動前のＣＰＵ使用率の値と、の差を計算し、計測手段１００２が、最大ＣＰＵ増分２００２に格納する。
【０２３６】
また、基準端末１１００1の基準計測手段１１０４が、ＡＰの起動処理を開始して起動処理が完了する区間における利用ＮＷ帯域の最大値と、起動前の利用ＮＷ帯域の値と、の差を計算し、計測手段１００２が、最大ＮＷ増分２００３に格納する。
【０２３７】
また、基準端末１１００1の基準計測手段１１０４が、ＡＰの起動処理が完了した後の一定期間におけるＣＰＵ使用率の平均値と、起動前のＣＰＵ使用率の値と、の差を計算し、計測手段１００２が、起動後ＣＰＵ変動２００４に格納する。
【０２３８】
また、基準端末１１００1の基準計測手段１１０４が、ＡＰの起動処理が完了した後の一定期間における利用ＮＷ帯域の平均値と、起動前の利用ＮＷ帯域の値と、の差を計算し、計測手段１００２が、起動後ＮＷ変動２００５に格納する。
【０２３９】
次に、基準端末１１００1のＡＰ実行手段１１０３が、起動済みのＡＰに対応するＡＰＩＤ２００６と現在のそのＡＰの重要度と一致する変更前重要度２００７を持つ動作変更基準データテーブル２０１を全て特定し、ＡＰの動作を変更後重要度２００８に一致する重要度になるように変更する処理を、特定した全ての動作変更基準データテーブル２０１を網羅するまで、繰り返し実行する。
【０２４０】
このそれぞれの動作変更処理において、基準端末１１００1の基準計測手段１１０４が、基準端末１１００1においてＡＰの動作変更処理を開始して動作変更処理が完了する区間におけるＣＰＵ使用率の最大値と、動作変更処理前のＣＰＵ使用率の値と、の差を計算し、計測手段１００２が、最大ＣＰＵ増分２００９に格納する。
【０２４１】
また、基準端末１１００1の基準計測手段１１０４が、ＡＰの動作変更処理を開始して動作変更処理が完了する区間における利用ＮＷ帯域の最大値と、動作変更処理前の利用ＮＷ帯域の値と、の差を計算し、計測手段１００２が、最大ＮＷ増分２０１０に格納する。
【０２４２】
また、基準端末１１００1の基準計測手段１１０４が、ＡＰの動作変更処理が完了した後の一定期間におけるＣＰＵ使用率の平均値と、動作変更前のＣＰＵ使用率の値と、の差を計算し、計測手段１００２が、変更後ＣＰＵ変動２０１１に格納する。
【０２４３】
また、基準端末１１００1の基準計測手段１１０４が、ＡＰの動作変更処理が完了した後の一定期間における利用ＮＷ帯域の平均値と、動作変更前の利用ＮＷ帯域の値と、の差を計算し、計測手段１００２が、変更後ＮＷ変動２０１２に格納する。
【０２４４】
次に、基準端末１１００1，１１００2のＡＰ実行手段１２０３が、起動済みの単一のＡＰを終了する。
【０２４５】
以上の処理を、他の全てのＡＰについてそれぞれ実施することにより、全ての起動基準データテーブル２００と動作変更基準データテーブル２０１に、基準となる各種データを格納する。
【０２４６】
最後に、基準端末１１００1のＮＷリンク速度を、基準ＮＷリンク速度２０１５に格納する。また、全ての重要度２０１４を０に初期化しておく。
【０２４７】
以上の動作により、システム導入時などの準備段階における各種基準データの準備を容易化できる。
【実施例】
【０２４８】
次に、本発明の実施例について説明する。
【０２４９】
本実施例は、第１の実施形態に対応するものである。
【０２５０】
ここでは、ＡＰの重要度の変更が要求された際に、どのようにして並列実行や直列実行が可能で、直列実行の場合にはその実行順番がどのようにして発見されるのかを、具体的な例を用いて説明する。
【０２５１】
また、端末１２００1〜１２００3が、音声ＡＰとチャットＡＰと資料共有ＡＰとを、共に重要度０の動作で利用中とする。この時の端末データテーブル２０３と最低端末データテーブル２０４の内容は、図１１であるとする。また、各ＡＰにおいては、音声ＡＰが重要度０と−３、チャットＡＰが重要度０と−１、資料共有ＡＰが重要度０と＋３に対応する動作が可能であるとする。
【０２５２】
図６のステップ３１０２において、端末１２００1からの操作により、音声ＡＰについて重要度０から−２、チャットＡＰについて重要度０から−１、資料共有ＡＰについて重要度０から＋３へ、重要度を変更することになったとする。
【０２５３】
ステップ３１０３において、音声ＡＰについては、重要度０から−２でなく、重要度０から−３へ動作変更する必要があり、チャットＡＰと資料共有ＡＰについてはユーザからの要求通りの動作変更処理が行われることが決まる。
【０２５４】
ステップ３１０５において、あらかじめシステムに用意されていた動作変更基準データテーブル２０１に基づいて、図１１のような動作変更候補テーブル２０５が生成されたとする。
【０２５５】
このステップ３１０５において、残存ＣＰＵ２１０８と残存ＮＷ２１０９の超過確認が行われる。
【０２５６】
ここでは、３つの端末１２００1〜１２００3の換算変更後ＣＰＵ変動２２０６の合計値が−３０−１０＋６０＝＋２０であるのに対し、残存ＣＰＵ２１０８は４０であるため超過しない。
【０２５７】
また、３つの端末１２００1〜１２００3の変更後ＮＷ変動２２０７の合計値が−１０−３＋２０＝＋７であるのに対し、残存ＮＷ２１０９は３４であるため超過しない。
【０２５８】
そのため、ステップ３２００に進む。
【０２５９】
ステップ３２００において、残存ＣＰＵ２１０８と残存ＮＷ２１０９の超過確認が行われる。
【０２６０】
ここでは、３つの端末１２００1〜１２００3の換算最大ＣＰＵ増分２２０４の合計値が４５＋１０＋１５＝７０なのに対し、残存ＣＰＵ２１０８は４０であるため超過する。
【０２６１】
そのため、並列実行は不可能と判断され、ステップ３３００に進む。
【０２６２】
ステップ３３００において、最も狭帯域な端末１２００2のＮＷリンク速度は５４である。よって、ａ＝５４であるため、Ｙ＝−１００Ｘ／５４−ｂとなり、動作変更候補テーブル２０５を参照すると、ｂの値を徐々に小さくして行くと、音声ＡＰ、チャットＡＰ、資料共有ＡＰの順でこの直線と変動点とが交わることが分かる。最初に交わるのが音声ＡＰであるので、ステップ３３０１では音声ＡＰについての超過確認が行われる。
【０２６３】
ステップ３３０１において、音声ＡＰの換算最大ＣＰＵ増分２２０４の値が＋４５、残存ＣＰＵ２１０８の値が４０であるため、超過していると判断され、ステップ３３０８に進み、音声ＡＰの処理が一旦保留キュー２２１０に保管され、ステップ３３０９に進む。
【０２６４】
ステップ３３０９において、残留候補としてチャットＡＰと資料共有ＡＰの処理が残っているので、ステップ３３００に戻り、チャットＡＰが選択される。
【０２６５】
ステップ３３０１において、チャットＡＰの換算最大ＣＰＵ増分２２０４の値が＋１０、残存ＣＰＵ２１０８の値が４０、最大ＮＷ増分２２０５の値が＋５、残存ＮＷ２１０９の値が３４であるため、超過していないと判断され、ステップ３３０２に進み、直列実行キュー２２０８の最後尾にチャットＡＰの処理が追加され、残存ＣＰＵの値２１０８が４０−（−１０）＝５０に、残存ＮＷ２１０９の値が３４−（−３）＝３７に更新される。
【０２６６】
ステップ３３０３において、保留キュー２２１０に音声ＡＰの処理が格納されていることが確認され、ステップ３３０６において残存ＣＰＵ２１０８と残存ＮＷ２１０９の超過確認が行われる。
【０２６７】
音声ＡＰの換算最大ＣＰＵ増分２２０４の値が＋４５、残存ＣＰＵ２１０８の値が５０、最大ＮＷ増分２２０５の値が＋５、残存ＮＷ２１０９の値が３７であるため、超過していないと判断され、ステップ３３０７に進み、音声ＡＰの処理が選択され、ステップ３３０２において直列実行キュー２２０８の最後尾に音声ＡＰの処理が追加され、残存ＣＰＵ２１０８の値が５０−（−３０）＝８０に、残存ＮＷ２１０９の値が３７−（−１０）＝４７に更新される。
【０２６８】
ステップ３３０３において、保留キュー２２１０は空になっているためステップ３３０４に進み、まだ資料共有ＡＰが残留候補として残っているためステップ３３００に戻り、資料共有ＡＰが選択される。
【０２６９】
ステップ３３０１において、資料共有ＡＰの換算最大ＣＰＵ増分２２０４の値が＋１５、残存ＣＰＵ２１０８の値が８０、最大ＮＷ増分２２０５の値が＋１５、残存ＮＷ２１０９の値が４７であるため、超過していないと判断され、ステップ３３０２に進み、直列実行キュー２２０８の最後尾に資料共有ＡＰの処理が追加され、残存ＣＰＵ２１０８の値が８０−（＋６０）＝２０に、残存ＮＷ２１０９の値が４７−（＋２０）＝２７に更新される。
【０２７０】
ステップ３３０３において、保留キュー２２１０は空になっているためステップ３３０４に進み、もう残留候補が残っていないためステップ３３０５に進む。
【０２７１】
ステップ３３０５において、直列実行キュー２２０８の先頭から最後尾の順番、つまりチャットＡＰ、音声ＡＰ、資料共有ＡＰの順番で１つずつ、各端末間で実行状態の同期制御を行いながら、各ＡＰの動作変更処理が、直列で逐次実行される。
【０２７２】
なお、本発明においては、識別装置１０００1〜１０００nがそれぞれ内蔵された端末１２００1〜１２００nの内部に、上記で説明した処理を実行するためのＱｏＳ制御プログラムを記録した記録媒体を設けてもよい。この記録媒体は磁気ディスク、半導体メモリまたはその他の記録媒体であってもよい。このＱｏＳ制御プログラムは、記録媒体から端末１２００1〜１２００nに読み込まれ、端末１２００1〜１２００nの動作を制御する。具体的には、端末１２００1〜１２００n内の不図示のＣＰＵ（Central Processing Unit）がＱｏＳ制御プログラムの制御により端末１２００1〜１２００n内のハードウェア資源に特定の処理を行うよう指示することにより上記の処理が実現される。
【産業上の利用可能性】
【０２７３】
本発明によれば、複数のユーザ間で、ソフトフォンや電子会議システムや遠隔相談システムやＥラーニングシステムを用いて、利用場面や用途の変化に応じて、ユーザの要求に基づいて各ＡＰの動作を動的に変更したり、新しいＡＰを追加したりしながら、ユーザ間でのリアルタイムにコミュニケーションを行う用途に適用できる。
【図面の簡単な説明】
【０２７４】
【図１】本発明の第１の実施形態のＱｏＳ制御システムのネットワーク構成を示す図である。
【図２】本発明の第１の実施形態のＱｏＳ制御システムの構成を示すブロック図である。
【図３】本発明の第１の実施形態に係る基準データ系のデータ構造を示す図である。
【図４】本発明の第１の実施形態に係る端末データ系のデータ構造を示す図である。
【図５】本発明の第１の実施形態に係る動作変更候補データ系のデータ構造を示す図である。
【図６】本発明の第１の実施形態のＱｏＳ制御システムの動作を説明するフロー図である。
【図７】本発明の第２の実施形態に係る起動候補データ系のデータ構造を示す図である。
【図８】本発明の第２の実施形態のＱｏＳ制御システムの動作を説明するフロー図である。
【図９】本発明の第３の実施形態のＱｏＳ制御システムの構成を示すブロック図である。
【図１０】本発明の第４の実施形態のＱｏＳ制御システムの構成を示すブロック図である。
【図１１】本発明の実施例に係るデータ構造を示す図である。
【符号の説明】
【０２７５】
１０００    調停装置
１００１    通信手段
１００２    計測手段
１００３    資源監視手段
１００４    ＡＰ動作調停手段
１００５    調停用記憶装置
１１００1，１１００2    基準端末
１１０１    通信手段
１１０２    入出力手段
１１０３    ＡＰ実行手段
１１０４    基準計測手段
１２００1〜１２００n    端末
１２０１    通信手段
１２０２    入出力手段
１２０３    ＡＰ実行手段
１２０４    計測手段
１２０５    重要度設定手段
【図１】
2008129856.tif 000003
【図２】
2008129856.tif 000004
【図３】
2008129856.tif 000005
【図４】
2008129856.tif 000006
【図５】
2008129856.tif 000007
【図６】
2008129856.tif 000008
【図７】
2008129856.tif 000009
【図８】
2008129856.tif 000010
【図９】
2008129856.tif 000011
【図１０】
2008129856.tif 000012
【図１１】
2008129856.tif 000013