(57)【要約】【課題】所定区分に属するアプリケーションのプロセスがＣＰＵを十分に利用できることと、制御対象のプロセスのユーザビリティを可能な限り損なわないこととを両立できるＣＰＵ利用制御システムを提供する。【解決手段】汎用端末装置１０では、ＲＴＣ−ＡＰのプロセスを含む複数のプロセスが同時に実行される。ＣＰＵ使用率調査手段１１２は、汎用端末装置１０で実行中のＲＴＣ−ＡＰのプロセスを含む各プロセスのＣＰＵ使用率を調査し、調査結果を、最新ＣＰＵ使用率記録部１２２に記録する。ＣＰＵ使用率制御手段１１５は、実行中のＲＴＣ−ＡＰのプロセスのＣＰＵ使用率に基づいて、汎用端末装置１０上で実行される、ＣＰＵ利用制御対象のＡＰのプロセス、すなわち、ＲＴＣ−ＡＰ以外のＡＰのプロセスのＣＰＵ使用率を削減する。【選択図】図１
2009134544.tif 000002
【特許請求の範囲】
【請求項１】
所定の区分に属するアプリケーションのプロセスを含む複数のプロセスが同時に実行される汎用端末装置のＣＰＵ使用率を制御するＣＰＵ利用制御システムであって、
前記所定区分に属するアプリケーションのプロセスのＣＰＵ使用率に基づいて、前記汎用端末装置上で実行される、前記所定区分に属さないアプリケーションのプロセスのＣＰＵ使用率を削減するＣＰＵ使用率制御手段とを備えるＣＰＵ利用制御システム。
【請求項２】
前記ＣＰＵ使用率制御手段は、制御対象のプロセスのＣＰＵ処理量の一定割合を削減することでＣＰＵ使用率を削減する、請求項１に記載のＣＰＵ利用制御システム。
【請求項３】
前記ＣＰＵ使用率制御手段が削減するＣＰＵ処理量の削減率を動的に決定する削減率決定手段を更に備える、請求項２に記載のＣＰＵ利用制御システム。
【請求項４】
前記汎用端末装置上で実行されるプロセスのＣＰＵ使用率を調査するＣＰＵ使用率調査手段と、前記所定区分に属するアプリケーションのプロセスの合計ＣＰＵ使用率の最大値を求める最大使用率更新手段とを更に備え、前記削減率決定手段は、前記所定区分に属するアプリケーションのプロセスの合計ＣＰＵ使用率の最大値と、前記ＣＰＵ処理量の削減対象のプロセスのＣＰＵ使用率とに基づいて、前記削減率を決定する、請求項３に記載のＣＰＵ利用制御システム。
【請求項５】
前記削減率決定手段は、前記削減対象のプロセスのＣＰＵ使用率と、前記削減率とに基づいて、前記ＣＰＵ使用率制御手段によるＣＰＵ処理量の削減がなかった場合の前記削減対象のプロセスのＣＰＵ使用率を求めた上で、前記削減率を決定する、請求項４に記載のＣＰＵ利用制御システム。
【請求項６】
前記ＣＰＵ使用率制御手段は、前記所定区分に属するアプリケーションのリストを保存する所定アプリケーションリスト保存部のリストに含まれないアプリケーションのプロセスのＣＰＵ使用率を削減する、請求項４又は５に記載のＣＰＵ利用制御システム。
【請求項７】
前記削減率決定手段は、前記汎用端末装置上で実行中のプロセスのうちで前記リストに含まれないアプリケーションのプロセスのＣＰＵ使用率を求め、該求めたＣＰＵ使用率の合計と、前記所定区分に属するアプリケーションのプロセスのＣＰＵ使用率の最大値とに基づいて前記削減率を決定する、請求項６に記載のＣＰＵ利用制御システム。
【請求項８】
前記ＣＰＵ使用率制御手段は、ＣＰＵ使用量削減対象のアプリケーションのリストを保存する削減対象アプリケーションリストに含まれるアプリケーションのプロセスのＣＰＵ使用率を削減する、請求項４又は５に記載のＣＰＵ利用制御システム。
【請求項９】
前記削減率決定手段は、前記汎用端末装置上で実行中のプロセスのうちで前記リストに含まれるアプリケーションのプロセスのＣＰＵ使用率の合計と、前記実行中のプロセスのうちで前記所定区分のアプリケーションに属さず、かつ、前記リストに含まれないアプリケーションのプロセスのＣＰＵ使用率の合計とを求め、該求めたＣＰＵ使用率の合計と、前記所定区分に属するアプリケーションのプロセスのＣＰＵ使用率の最大値とに基づいて前記削減率を決定する、請求項８に記載のＣＰＵ利用制御システム。
【請求項１０】
前記汎用端末装置で実行中のプロセスがユーザーインターフェースを有するか否かを調査するプロセスＵＩ調査手段を更に備え、前記ＣＰＵ使用率制御手段は、前記プロセスＵＩ調査手段がユーザーインターフェースを有さないと判定したアプリケーションのプロセスのＣＰＵ使用率を削減する、請求項４又は５に記載のＣＰＵ利用制御システム。
【請求項１１】
前記削減率決定手段は、前記汎用端末装置上で実行中のプロセスのうちで、前記プロセスＵＩ調査手段がユーザーインターフェースを有すると判定したプロセスのＣＰＵ使用率の合計と、前記実行中のプロセスのうちで前記所定区分のアプリケーションに属さず、かつ、ユーザーインターフェースを有さないと判定されたプロセスのＣＰＵ使用率の合計とを求め、該求めたＣＰＵ使用率の合計と前記所定区分に属するアプリケーションのプロセスのＣＰＵ使用率の最大値とに基づいて前記削減率を決定する、請求項１０に記載のＣＰＵ利用制御システム。
【請求項１２】
前記ＣＰＵ使用率制御手段によるＣＰＵ使用率の削減対象のプロセスを選定するための条件を保持する削減条件保存部を参照して、前記所定区分のアプリケーションに属さないアプリケーションのプロセスの中から前記削減対象のプロセスを動的に決定する削減プロセス決定手段を更に備え、前記ＣＰＵ使用率制御手段は、前記削減対象として決定されたプロセスのＣＰＵ使用率を削減する、請求項４又は５に記載のＣＰＵ利用制御システム。
【請求項１３】
前記削減率決定手段は、前記汎用端末装置上で実行中のプロセスのうちで、前記削減プロセス決定手段が決定した削減対象のプロセスのＣＰＵ使用率の合計と、前記実行中のプロセスのうちで前記所定区分のアプリケーションに属さず、かつ、削減対象外のプロセスのＣＰＵ使用率の合計とを求め、該求めたＣＰＵ使用率の合計と前記所定区分に属するアプリケーションのプロセスのＣＰＵ使用率の最大値とに基づいて前記削減率を決定する、請求項１２に記載のＣＰＵ利用制御システム。
【請求項１４】
所定の区分に属するアプリケーションのプロセスを含む複数のプロセスが同時に実行される汎用端末装置のＣＰＵ使用率を制御するＣＰＵ利用制御方法であって、
前記所定区分に属するアプリケーションのプロセスのＣＰＵ使用率に基づいて、前記汎用端末装置上で実行される、前記所定区分に属さないアプリケーションのプロセスのＣＰＵ使用率を削減するＣＰＵ利用制御方法。
【請求項１５】
前記ＣＰＵ使用率の削減では、制御対象のプロセスのＣＰＵ処理量の一定割合を削減する、請求項１４に記載のＣＰＵ利用制御方法。
【請求項１６】
前記所定区分に属するアプリケーションのプロセスの合計ＣＰＵ使用率の最大値と、前記ＣＰＵ処理量の削減対象のプロセスのＣＰＵ使用率とに基づいて、前記ＣＰＵ処理量の削減率を動的に決定する、請求項１５に記載のＣＰＵ利用制御方法。
【請求項１７】
前記ＣＰＵ使用率の削減では、前記所定区分に属さないアプリケーションを、前記制御対象のプロセスとする、請求項１５又は１６に記載のＣＰＵ利用制御方法。
【請求項１８】
前記ＣＰＵ使用率の削減では、前記所定区分に属さないアプリケーションのうちで、あらかじめ指定されたアプリケーションのプロセスを、前記制御対象のプロセスとする、請求項１５又は１６に記載のＣＰＵ利用制御方法。
【請求項１９】
前記ＣＰＵ使用率の削減では、前記所定区分に属さないアプリケーションのプロセスのうちで、ユーザーインターフェースを持たないプロセスを、前記制御対象のプロセスとする、請求項１５又は１６に記載のＣＰＵ利用制御方法。
【請求項２０】
前記ＣＰＵ使用率の削減では、前記所定区分に属さないアプリケーションのプロセスのうちで、所定の削除条件を満たすプロセスを、前記制御対象のプロセスとする、請求項１５又は１６に記載のＣＰＵ利用制御方法。
【請求項２１】
前記ＣＰＵ使用率の削減では、前記所定区分に属さないアプリケーションのプロセスのうちで、ＣＰＵ使用率が大きいプロセスを優先的に制御対象プロセスとする、請求項２０に記載のＣＰＵ利用制御方法。
【請求項２２】
所定の区分に属するアプリケーションのプロセスを含む複数のプロセスが同時に実行される汎用端末装置のＣＰＵ使用率を制御する処理を実行させるプログラムであって、
前記所定区分に属するアプリケーションのプロセスのＣＰＵ使用率に基づいて、前記汎用端末装置上で実行される、前記所定区分に属さないアプリケーションのプロセスのＣＰＵ使用率を削減する処理を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＣＰＵ利用制御システム、方法、及び、プログラムに関し、更に詳しくは、所定区分に属するアプリケーションを含む複数のアプリケーションのプロセスが実行される汎用端末装置のＣＰＵ使用率を制御するＣＰＵ利用制御システム、方法、及び、プログラムに関する。
【背景技術】
【０００２】
パーソナルコンピュータのような汎用端末装置上で、ソフトフォンや資料共有ツール等のリアルタイムコミュニケーションのためのアプリケーション（以下ＲＴＣ−ＡＰ）を実行し、汎用端末装置を、リアルタイムコミュニケーションに用いることがある。一般に、汎用端末装置では、ＲＴＣ−ＡＰ以外に、情報収集や記録のために、エディタやブラウザといった様々なアプリケーションが同時に利用される。また、汎用端末装置では、管理や保護のためのアプリケーションも同時に複数実行されている。従って、ＲＴＣ−ＡＰを含めたこれらアプリケーションのＣＰＵ使用率は、アプリケーションの実行状況により、大きく変動する場合がある。
【０００３】
上記環境において、汎用端末装置のＣＰＵ処理能力不足が発生すると、リアルタイムコミュニケーションの品質劣化が発生する。この品質劣化を防止する技術としては、特許文献１や特許文献２に記載された技術がある。これら技術では、ＲＴＣ−ＡＰが必要なＣＰＵ処理能力を確保することを目的として、それ以外のアプリケーション（以下、一般ＡＰ）のＣＰＵ利用を制御する。特許文献１に記載のＣＰＵ利用制御方式では、コンピュータのプロセス制御において、システム全体のＣＰＵ使用率を常時監視し、所定の目標値を超えた場合にはあらかじめ与えられた制御対象プロセスリスト内のプロセスを一時停止させ、目標値を下回ったら一時停止を解除する。このようにすることで、システム全体のＣＰＵ使用率をあらかじめ設定された目標値以下にする。
【０００４】
特許文献２に記載のＣＰＵ利用制御方式では、コンピュータでのプログラム実行時に、そのプログラムのＣＰＵ使用率が指定された上限値を超えないようにするため、プログラムの実行開始後一定時間ごとに、その時点までのプログラムのＣＰＵ使用時間を取得し、その値からＣＰＵ使用率が上限値に収まるようにプログラムを一時停止させ、その後再開させる。例えば、上限値が１０％である場合、プログラム実行開始１秒後にＣＰＵ使用時間が０．２秒であれば、１秒間実行を停止し、その後再開させる。２秒間で０．２秒のＣＰＵ使用であれば、ＣＰＵ使用率は１０％となるので、当該プログラムにＣＰＵ使用率は１０％に抑えられる。
【特許文献１】特開２００７−１８２８２号公報
【特許文献２】特開２０００−２８４９７６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載のＣＰＵ使用率制御では、制御対象のプロセスは、制御中は完全に停止し、その停止状態から復帰するタイミングは予測できない。このため、ユーザーインターフェースを持つアプリケーションが制御対象である場合、画面描画やユーザによる入力に対する反応の停止により、著しくユーザビリティを損なうことになる。特許文献２に記載のＣＰＵ使用率制御では、個々の一般ＡＰにおけるＣＰＵ使用率の上限値の設定はユーザ任せであるため、適切な設定が困難である。そのため、ＣＰＵ処理能力に余裕があるにもかかわらず、必要以上に一般ＡＰのＣＰＵ使用率を削減してしまうことにより、ユーザビリティが過剰に劣化する事態は避けられない。つまり、これら技術では、ＲＴＣ−ＡＰのプロセスがＣＰＵを十分に利用できることと、制御対象の一般ＡＰのユーザビリティを可能な限り損なわないことを両立させる制御ができないということが問題になる。
【０００６】
本発明は、所定区分に属するアプリケーションのプロセスがＣＰＵを十分に利用できることと、制御対象のプロセスのユーザビリティを可能な限り損なわないこととを両立できるＣＰＵ利用制御システム、方法、及び、プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明のＣＰＵ利用制御システムは、所定の区分に属するアプリケーションのプロセスを含む複数のプロセスが同時に実行される汎用端末装置のＣＰＵ使用率を制御するＣＰＵ利用制御システムであって、前記所定区分に属するアプリケーションのプロセスのＣＰＵ使用率に基づいて、前記汎用端末装置上で実行される、前記所定区分に属さないアプリケーションのプロセスのＣＰＵ使用率を削減するＣＰＵ使用率制御手段とを備える。
【０００８】
本発明のＣＰＵ利用制御方法は、所定の区分に属するアプリケーションのプロセスを含む複数のプロセスが同時に実行される汎用端末装置のＣＰＵ使用率を制御するＣＰＵ利用制御方法であって、前記所定区分に属するアプリケーションのプロセスのＣＰＵ使用率に基づいて、前記汎用端末装置上で実行される、前記所定区分に属さないアプリケーションのプロセスのＣＰＵ使用率を削減する。
【０００９】
本発明のプログラムは、所定の区分に属するアプリケーションのプロセスを含む複数のプロセスが同時に実行される汎用端末装置のＣＰＵ使用率を制御する処理を実行させるプログラムであって、前記所定区分に属するアプリケーションのプロセスのＣＰＵ使用率に基づいて、前記汎用端末装置上で実行される、前記所定区分に属さないアプリケーションのプロセスのＣＰＵ使用率を削減する処理を実行させる。
【発明の効果】
【００１０】
本発明のＣＰＵ利用制御システム、方法、及び、プログラムでは、所定区分に属するアプリケーションのプロセスがＣＰＵを十分に利用できることと、制御対象のプロセスのユーザビリティを可能な限り損なわないこととを両立できる。
【発明を実施するための最良の形態】
【００１１】
以下、図面を参照し、本発明の実施の形態を詳細に説明する。なお、以下では、所定区分に属するアプリケーションとして、ＲＴＣ−ＡＰを考える。また、汎用端末装置上で実行されるＲＴＣ−ＡＰ以外のアプリケーションは、一般ＡＰとよぶ。図１は、本発明の第１実施形態のＣＰＵ利用制御システムの構成を示している。汎用端末装置１０は、データ処理装置１１と記憶装置１２とを有する。データ処理装置１１は、タイマ手段１１１、ＣＰＵ使用率調査手段１１２、最大使用率更新手段１１３、削減率決定手段１１４、及び、ＣＰＵ使用率制御手段１１５を有する。記憶装置１２は、終了ＡＰ記録部１２１、最新ＣＰＵ使用率記録部１２２、ＲＴＣ−ＡＰリスト保存部１２３、最大ＣＰＵ使用率記録部１２４、削減率記録部１２５、及び、目標ＣＰＵ使用率保存部１２６を有する。
【００１２】
汎用端末装置１０では、ＲＴＣ−ＡＰを含めた複数のアプリケーション（ＡＰ）のプロセスが実行される。１つのＡＰは、複数のプロセスとして実行される場合もあり、また、同一ＡＰが複数同時に異なるプロセスとして実行される場合もある。タイマ手段１１１は、あらかじめ指定された内容に従い、一定間隔時間ごとに処理を実行する。ＣＰＵ使用率調査手段１１２は、汎用端末装置１０にて実行中のプロセスについて、各プロセスのＣＰＵ使用率を調査し、ＣＰＵ使用率調査結果を最新ＣＰＵ使用率記録部１２２に記録する。また、ＣＰＵ使用率調査手段１１２は、今回のＣＰＵ使用率調査結果と、最新ＣＰＵ使用率記録部１２２に記録された前回の調査結果とを比較し、前回調査時以降に終了したＡＰとそれを構成していたプロセスとを判別し、終了ＡＰ記録部１２１に記録する。
【００１３】
最大ＣＰＵ使用率記録部１２４は、各ＲＴＣ−ＡＰの最大ＣＰＵ使用率、及び、実行中のＲＴＣ−ＡＰの合計のＣＰＵ使用率の最大値を記録する。図２に、最大ＣＰＵ使用率記録部１２４が記録する情報の具体例を示す。各ＲＴＣ−ＡＰの最大ＣＰＵ使用率は、ＡＰ識別子、プロセス識別子、最大ＣＰＵ使用率の組合せで記録される。これは、１つのＲＴＣ−ＡＰが複数プロセスから構成される場合や、同一のＲＴＣ−ＡＰが複数実行されることに対応するためである。実行中のＲＴＣ−ＡＰの合計ＣＰＵ使用率の最大値は、各ＲＴＣ−ＡＰのＣＰＵ使用率の最大値の合計ではなく、ＣＰＵ使用率調査時の各ＲＴＣ−ＡＰの合計ＣＰＵ使用率の最大値である。
【００１４】
図３に、ＣＰＵ使用率の調査結果と、最大ＣＰＵ使用率との関係を示す。例えば、ＣＰＵ使用率の調査が３回行われたとする。各ＲＴＣ−ＡＰの最大ＣＰＵ使用率は、個々のＲＴＣ−ＡＰについて、３回の調査で得られたＣＰＵ使用率の最大値である。一方、実行中のＲＴＣ−ＡＰの合計ＣＰＵ使用率の最大値は、各調査でのＲＴＣ−ＡＰのＣＰＵ使用率の合計値のうちの最大値である。従って、実行中のＲＴＣ−ＡＰの合計ＣＰＵ使用率の最大値は、個々のＲＴＣ−ＡＰの最大ＣＰＵ使用率とは独立に求まる。
【００１５】
図１に戻り、最大使用率更新手段１１３は、最大ＣＰＵ使用率記録部１２４の更新を行う。最大ＣＰＵ使用率記録部１２４の更新処理には、３つの更新処理がある。１つ目は、ＲＴＣ−ＡＰの終了に伴う更新処理である。最大使用率更新手段１１３は、終了ＡＰ記録部１２１の内容と、汎用端末装置１０で実行されるＲＴＣ−ＡＰのＡＰ識別子が保存されているＲＴＣ−ＡＰリスト保存部１２３の内容とから、終了したＡＰにＲＴＣ−ＡＰがあるか否かを判定する。最大使用率更新手段１１３は、終了したＡＰにＲＴＣ−ＡＰがあると判定すると、最大ＣＰＵ使用率記録部１２４に記録されているＲＴＣ−ＡＰの合計ＣＰＵ使用率の最大値から、終了したＲＴＣ−ＡＰに対応するプロセスの最大ＣＰＵ使用率を差し引いた値を、新たなＲＴＣ−ＡＰの合計ＣＰＵ使用率の最大値として記録する。また、終了したＲＴＣ−ＡＰのプロセスに対応する記録内容を、最大ＣＰＵ使用率記録部１２４から削除する。
【００１６】
最大使用率更新手段１１３が行う処理の２つ目は、各ＲＴＣ−ＡＰの最大ＣＰＵ使用率の更新処理である。最大使用率更新手段１１３は、最新ＣＰＵ使用率記録部１２２とＲＴＣ−ＡＰリスト保存部１２３とを参照して実行中のＲＴＣ−ＡＰを特定し、実行中のＲＴＣ−ＡＰのＣＰＵ使用率の調査結果（今回分）と、最大ＣＰＵ使用率記録部１２４に記録された過去におけるＲＴＣ−ＡＰのＣＰＵ使用率の最大値とを比較する。最大使用率更新手段１１３は、最新ＣＰＵ使用率記録部１２２に記録されたＣＰＵ使用率の調査結果が、最大ＣＰＵ使用率記録部１２４に記録された最大ＣＰＵ使用率よりも大きいときは、最大ＣＰＵ使用率に、ＣＰＵ使用率の調査結果で上書きし、最大ＣＰＵ使用率記録部１２４を更新する。
【００１７】
３つ目の処理は、ＲＴＣ−ＡＰの合計ＣＰＵ使用率の最大値の更新処理である。最大使用率更新手段１１３は、各ＲＴＣ−ＡＰの最大ＣＰＵ使用率の更新処理で判明した実行中のＲＴＣ−ＡＰのＣＰＵ使用率の総和を算出し、そのＣＰＵ使用率の総和と、最大ＣＰＵ使用率記録部１２４に記録されたＲＴＣ−ＡＰの合計ＣＰＵ使用率の最大値とを比較する。最大使用率更新手段１１３は、実行中のＲＴＣ−ＡＰのＣＰＵ使用率の総和が、最大ＣＰＵ使用率記録部１２４に記録されたＲＴＣ−ＡＰの合計ＣＰＵ使用率の最大値よりも大きいときは、合計ＣＰＵ使用率の最大値を、算出したＣＰＵ使用率の総和で上書きし、最大ＣＰＵ使用率記録部１２４を更新する。
【００１８】
目標ＣＰＵ使用率保存部１２６には、汎用端末装置１０全体のＣＰＵ使用率の目標値が保存されている。削減率決定手段１１４は、ＲＴＣ−ＡＰリスト保存部１２３、最新ＣＰＵ使用率記録部１２２、及び、最大ＣＰＵ使用率記録部１２４を参照して、目標ＣＰＵ使用率保存部１２６に保存されたＣＰＵ使用率を実現するために必要なＣＰＵ使用率の削減量を決定する。つまり、削減率決定手段１１４は、最大ＣＰＵ使用率記録部１２４に記録されたＲＴＣ−ＡＰの合計ＣＰＵ使用率の最大値と、一般ＡＰのＣＰＵ使用率の合計との和が、目標ＣＰＵ使用率に収まるように、一般ＡＰのプロセスのＣＰＵ使用率の削減率を決定する。削減率決定手段１１４は、削減率を決定すると、それを削減率記録部１２５に記録する。
【００１９】
ＣＰＵ使用率制御手段１１５は、削減率記録部１２５に記録された削減率に従って、一般ＡＰのＣＰＵ処理量を削減率分だけ削減し、一般ＡＰのＣＰＵ使用率を削減する制御（ＣＰＵ利用制御）を行う。ＣＰＵ使用率制御手段１１５は、例えば、一般ＡＰのプロセスを、単位時間あたり、削減率に応じた時間だけ停止させる。具体的には、単位時間を１秒とし、削減率を５％とした場合は、一般ＡＰのプロセスを、１秒間につき１秒×５％＝０．０５秒間だけ停止させる。このとき、一般ＡＰのプロセスは、削減率に応じた時間だけ一時的に処理が停止するだけなので、ユーザビリティが大きく低下することはない。単位時間内に、どの一般ＡＰをどのタイミングで一時的に停止させるかは、ＣＰＵ使用率制御手段１１５によってスケジューリングされる。
【００２０】
ここで、ＣＰＵ使用率調査手段１１２が調査した一般ＡＰのプロセスのＣＰＵ使用率は、ＣＰＵ使用率制御手段１１５によって削減率分だけ削減されたＣＰＵ使用率であるので、削減率の決定に際しては、ＣＰＵ利用制御前の一般ＡＰのＣＰＵ使用率に基づいて、削減率を決定することが好ましい。削減率の決定は、以下の手順で行う。すなわち、削減率決定手段１１４は、まず、ＲＴＣ−ＡＰリスト保存部１２３と最新ＣＰＵ使用率記録部１２２とを参照して実行中の一般ＡＰを判別し、そのＣＰＵ使用率の合計値を求める。次いで、削減率記録部１２５を参照し、ＣＰＵ使用率制御手段１１５がＣＰＵ使用率を削減する制御を行わなかった場合のＣＰＵ使用率を算出する。その後、その算出結果と、最大ＣＰＵ使用率記録部１２４に記録されたＲＴＣ−ＡＰの合計ＣＰＵ使用率とから、ＣＰＵ使用率の目標値を実現するための削減率を決定する。
【００２１】
図４に、動作手順を示す。汎用端末装置１０では、ＲＴＣ−ＡＰを含め、複数のアプリケーションが実行されている。タイマ手段１１１は、あらかじめ設定された所定時間間隔でタイムアウトを発生し、ＣＰＵ使用率調査手段１１２に処理実行を指示する（ステップＳ１０１）。ＣＰＵ使用率調査手段１１２は、汎用端末装置１０で実行中のプロセスのＣＰＵ使用率を調査する（ステップＳ１０２）。ＣＰＵ使用率調査手段１１２は、実行中の各プロセスのＣＰＵ使用率を調査すると、最新ＣＰＵ使用率記録部１２２を参照し、前回の調査から今回の調査までに終了したプロセスを判別し、終了したプロセスの識別子を、構成するＡＰの識別子と共に終了ＡＰ記録部１２１に記録する（ステップＳ１０３）。
【００２２】
ＣＰＵ使用率調査手段１１２は、ＣＰＵ使用率の調査結果を、最新ＣＰＵ使用率記録部１２２に記録する（ステップＳ１０４）。最大使用率更新手段１１３は、ＲＴＣ−ＡＰの終了に伴う最大ＣＰＵ使用率記録部１２４の更新を行う（ステップＳ１０５）。ＲＴＣ−ＡＰの終了に伴う最大ＣＰＵ使用率記録部１２４の更新では、まず、終了ＡＰ記録部１２１と、ＲＴＣ−ＡＰリスト保存部１２３とを参照し、終了したＡＰにＲＴＣ−ＡＰがあるか否かを判定する。次いで、終了したＡＰにＲＴＣ−ＡＰがある場合は、最大ＣＰＵ使用率記録部１２４に記録されたＲＴＣ−ＡＰの合計ＣＰＵ使用率の最大値から、終了したＲＴＣ−ＡＰの最大ＣＰＵ使用率を減算した値を、合計ＣＰＵ使用率の最大値とする。また、最大ＣＰＵ使用率記録部１２４から、そのＲＴＣ−ＡＰのエントリを削除する。
【００２３】
図５に、終了したＲＴＣ−ＡＰのＡＰ識別子、プロセス識別子、最大ＣＰＵ使用率の具体例を示す。例えば、終了ＡＰ記録部１２１に、図５に示すＲＴＣ−ＡＰのプロセスが存在した場合は、最大使用率更新手段１１３は、最大ＣＰＵ使用率記録部１２４を参照してＡＰ識別子「ＸＸＸＸ」及びプロセス識別子「２２２２２」の組に対応する最大ＣＰＵ使用率（１２％）と、ＡＰ識別子「ＹＹ」及びプロセス識別子「１２３４」の組に対する最大ＣＰＵ使用率（５％）とを取得する。その後、最大ＣＰＵ使用率記録部１２４に記録されたＲＴＣ−ＡＰの合計のＣＰＵ使用率の最大値から、取得した最大ＣＰＵ使用率の合計を差し引いた値を求め、これを新たなＲＴＣ−ＡＰの合計のＣＰＵ使用率の最大値とする。具体的に、ＲＴＣ−ＡＰの合計のＣＰＵ使用率の最大値が５２％であったとすると、最大使用率更新手段１１３は、ＲＴＣ−ＡＰの合計ＣＰＵ使用率の最大値を、５２％−１２％−５％＝３５％に更新する。また、最大ＣＰＵ使用率記録部１２４から、これらプロセスの最大ＣＰＵ使用率をエントリごと削除する。
【００２４】
続いて、最大使用率更新手段１１３は、実行中のＲＴＣ−ＡＰのプロセスのそれぞれについて、次の処理を行う（ステップＳ１０６）。まず、実行中のＲＴＣ−ＡＰのプロセスの最大ＣＰＵ使用率の記録が、最大ＣＰＵ使用率記録部１２４に存在するか否かを判断する（ステップＳ１０７）。存在しないと判断した場合は、最大ＣＰＵ使用率記録部１２４に、調査結果のＣＰＵ使用率を、ＡＰの識別子とプロセスの識別子と共に新たに記録する（ステップＳ１１０）。存在する場合は、記録された最大ＣＰＵ使用率と、ステップＳ１０２の調査結果におけるＣＰＵ使用率とを比較する（ステップＳ１０８）。調査結果の方が大きい場合は、最大ＣＰＵ使用率記録部１２４における当該ＲＴＣ−ＡＰの最大ＣＰＵ使用率を、調査結果におけるＣＰＵ使用率で更新する（ステップＳ１０９）。調査結果の方が小さい場合は、最大ＣＰＵ使用率記録部１２４の更新は行わない。
【００２５】
最大使用率更新手段１１３は、ステップＳ１０７からステップＳ１１０の処理を、全てのＲＴＣ−ＡＰについて実行すると、実行中のＲＴＣ−ＡＰのプロセスの合計ＣＰＵ使用率の合計を計算し（ステップＳ１１１）、最大ＣＰＵ使用率記録部１２４の記録内容と比較する（ステップＳ１１２）。ステップＳ１１１で計算したＣＰＵ使用率の合計が、最大ＣＰＵ使用率記録部１２４に記録されたＲＴＣ−ＡＰの合計ＣＰＵ使用率の最大値よりも大きいときは、最大ＣＰＵ使用率記録部１２４の記録内容を、計算結果で更新する（ステップＳ１１３）。
【００２６】
削減率決定手段１１４は、ＲＴＣ−ＡＰリスト保存部１２３と最新ＣＰＵ使用率記録部１２２と削減率記録部１２５とを参照し、ＣＰＵ使用率制御手段１１５によるＣＰＵ使用率制御を実施しない場合の一般ＡＰのＣＰＵ使用率を計算する（ステップＳ１１４）。ステップＳ１１４では、例えば、ＣＰＵ利用制御をしない場合の一般ＡＰのＣＰＵ使用率をＸ（％）、実行中の一般ＡＰのＣＰＵ使用率の合計値をＹ（％）、現在のＣＰＵ使用率の削減率をＺ（％）としたとき、Ｘ＝｛Ｙ／（１００−Ｚ）｝×１００により、ＣＰＵ使用率制御を行わない場合の一般ＡＰのＣＰＵ使用率の合計値を求める。具体的に、実行中の一般ＡＰのＣＰＵ使用率の合計が４５％で、削減率が１０％の場合は、Ｘ＝｛４５／（１００−１０）｝×１００＝５０％が利用制御をしない場合のＣＰＵ使用率の合計値となる。
【００２７】
削減率決定手段１１４は、ＣＰＵ使用率制御を実施しない場合における一般ＡＰのＣＰＵ使用率を求めると、最大ＣＰＵ使用率記録部１２４と目標ＣＰＵ使用率保存部１２６とを参照して削減率を計算する（ステップＳ１１５）。ステップＳ１１５では、例えば、ＣＰＵ利用制御をしない場合の一般ＡＰのＣＰＵ使用率の合計をＷ（％）、最大ＣＰＵ使用率記録部１２４に記録されたＲＴＣ−ＡＰの合計ＣＰＵ使用率の最大値をＱ（％）、目標ＣＰＵ使用率をＴ（％）、削減率をＲ（％）としたとき、Ｒ＝１００−｛（（Ｔ−Ｑ）／Ｗ）×１００｝により、削減率を計算する。具体的に、ＣＰＵ利用制御をしない場合の一般ＡＰのＣＰＵ使用率の合計値が５０％、ＲＴＣ−ＡＰの合計ＣＰＵ使用率の最大値が６０％、汎用端末装置１０全体のＣＰＵ使用率の目標値が９０％である場合は、削減率は、Ｒ＝１００−｛（（９０−６０）÷５０）×１００｝＝４０％となる。
【００２８】
削減率決定手段１１４は、計算により求めた削減率を、削減率記録部１２５に記録する。削減率決定手段１１４は、削減率が０よりも大きいか否かを判定し（ステップＳ１１６）、削減率が０よりも大きいときは、ＣＰＵ使用率制御手段１１５に、ＣＰＵ利用制御の実行を指示する。ＣＰＵ使用率制御手段１１５は、ＣＰＵ利用制御の実行の指示を受けると、一般ＡＰのＣＰＵ使用率の合計を、削減率分だけ減らす（ステップＳ１１８）。具体的に、ある一般ＡＰのＣＰＵ使用率が１２％であり、削減率が２５％のときは、ＣＰＵ使用率を、１２％×０．２５＝４％だけ削減し、当該一般ＡＰのＣＰＵ使用率がＣＰＵ８％になるように制御する。削減率決定手段１１４は、削減率が０又は負の値の場合は、ＣＰＵ使用率制御手段１１５にＣＰＵ使用率のＣＰＵ利用制御の停止を指示する（ステップＳ１１７）。これにより、既に実行中のＣＰＵ利用制御は停止され、まだＣＰＵ利用制御が行われていないときはその状態が維持される。
【００２９】
本実施形態では、ＲＴＣ−ＡＰのプロセスがＣＰＵを十分に利用できることと、制御対象の一般ＡＰのプロセスのユーザビリティを可能な限り損なわないこととを両立できる。その理由は、ＲＴＣ−ＡＰのプロセスのＣＰＵ使用率に基づいて、一般ＡＰのプロセスのＣＰＵ使用率を削減するためである。その際、ＲＴＣ−ＡＰが、その時点までの実行におけるＣＰＵ使用率の最大値が実現できるように、一般ＡＰのＣＰＵ使用率を削減することで、ＲＴＣ−ＡＰの利用において必要となるＣＰＵ処理能力を確保することができる。また、一般ＡＰの制御では、一定割合のＣＰＵ処理量を削減する。これにより、完全に一般ＡＰの実行を停止することによるユーザビリティの低下を最小限にすることができる。
【００３０】
本実施形態では、一般ＡＰのＣＰＵ使用率の削減率の計算に、ＲＴＣ−ＡＰの個々のＣＰＵ使用率の最大値の合計ではなく、合計の最大値を用いる。このようにすることで、ＲＴＣ−ＡＰの個々のプロセスのＣＰＵ使用率の変動が大きい場合でも、全体としては、ＲＴＣ−ＡＰ全体が必要とするＣＰＵ使用率を、実際の値に近い見積りが可能になる。ＲＴＣ−ＡＰが同時に必要とするＣＰＵ使用処理能力の見積をより現実に即した値にすることで、一般ＡＰのＣＰＵ使用率の削減率が過剰に高くなることを避けることができ、一般ＡＰのＣＰＵ利用を過剰に抑制する必要がなくなる。
【００３１】
次に、本発明の第２実施形態について説明する。図６は、第２実施形態のＣＰＵ利用制御システムの構成を示している。本実施形態では、記憶装置２２内に削減対象ＡＰリスト保存部２２７が追加されると共に、削減率記録部１２５（図１）が削減内容記録部２２５に置き換わっている。また、データ処理装置２１内の削減率決定手段２１４及びＣＰＵ使用率制御手段２１５の動作が、それぞれ第１実施形態における削減率決定手段１１４及びＣＰＵ使用率制御手段１１５（図１）の動作と相違する。
【００３２】
削減対象ＡＰリスト保存部２２７には、一般ＡＰのうちで、ＣＰＵ使用率制御の対象とするＡＰの識別子が保存されている。削減内容記録部２２５は、削減率及び削減対象のＡＰの識別子とプロセスの識別子とが記録されている。削減率決定手段２１４は、削減対象ＡＰリスト保存部２２７のリストにあるＡＰを対象に、実行されているＡＰの使用率の合計を算出する。また、その算出結果と削減内容記録部２２５に記録された削減率とから、ＣＰＵ利用制御をする前の使用率の合計値を算出し、削減率を決定する。ＣＰＵ使用率制御手段２１５は、削減内容記録部２２５の内容に従って、指定された一般ＡＰのＣＰＵ利用を制御する。
【００３３】
図７に、動作手順を示す。ステップＳ１０１からステップＳ１１３までの動作については、第１実施形態の動作（図４）と同様である。最大使用率更新手段１１３が、最大ＣＰＵ使用率記録部１２４を更新すると、削減率決定手段２１４は、ＣＰＵ使用率削減対象のＡＰについて、ＣＰＵ使用率制御手段２１５によるＣＰＵ使用率制御が行われなかったとした場合のＣＰＵ使用率の合計を計算する（ステップＳ２１４）。
【００３４】
ステップＳ２１４では、削減率決定手段２１４は、まず、削減対象ＡＰリスト保存部２２７と最新ＣＰＵ使用率記録部１２２とを参照し、削減対象ＡＰリスト保存部２２７のリストに含まれるＡＰのうち、汎用端末装置２０上で実行中のＡＰのプロセスのＣＰＵ使用率の合計を計算する。次に削減内容記録部２２５より、現在のＣＰＵ使用率の削減率を取得し、ＣＰＵ利用制御をしない場合の削減対象のＡＰのＣＰＵ使用率を求める。より詳細には、ＣＰＵ利用制御をしない場合の削減対象のＡＰのＣＰＵ使用率をＸ（％）、実行中の削減対象のＡＰのＣＰＵ使用率の合計値をＹ（％）、現在のＣＰＵ使用率の削減率をＺ（％）として、Ｘ＝｛Ｙ／（１００−Ｚ）｝×１００により、ＣＰＵ利用制御しない場合の削減対象のＡＰのＣＰＵ使用率を求める。
【００３５】
削減率決定手段２１４は、最新ＣＰＵ使用率記録部１２２、ＲＴＣ−ＡＰリスト保存部１２３、削減対象ＡＰリスト保存部２２７を参照して、実行中のＡＰのうちで、ＲＴＣ−ＡＰのリストに含まれず、かつ、削除対象ＡＰのリストにも含まれないＡＰのプロセスの合計ＣＰＵ使用率を求める。つまり、一般ＡＰのうちで削除対象ＡＰに指定されていないＡＰのプロセスの合計ＣＰＵ使用率を求める。その後、ステップＳ２１４で計算した削減対象のＡＰの合計ＣＰＵ使用率（ＣＰＵ利用制御前）と、一般ＡＰのうちで削除対象ＡＰに指定されていないＡＰのプロセスの合計ＣＰＵ使用率と、最大ＣＰＵ使用率記録部１２４に記録されたＲＴＣ−ＡＰの合計ＣＰＵ使用率の最大値とから削減率を計算する（ステップＳ２１５）。
【００３６】
ステップＳ２１５では、削減率決定手段２１４は、ＣＰＵ使用率制御をしない場合の削減対象ＡＰのＣＰＵ使用率の合計をＷ１（％）、削減対象外の一般ＡＰのＣＰＵ使用率の合計をＷ２、最大ＣＰＵ使用率記録部１２４に記録されたＲＴＣ−ＡＰの合計ＣＰＵ使用率の最大値をＱ（％）、目標ＣＰＵ使用率をＴ（％）、削減率をＲ（％）として、Ｒ＝１００−［Ｔ−｛（（Ｑ＋Ｗ２）／Ｗ１）×１００｝］により、削減率を計算する。削減率決定手段２１４は、削減率を計算すると、計算した削減率と、実行中の削減対象リストに含まれるＡＰのＡＰ識別子及びプロセス識別子とを、削減内容記録部２２５に記録する。
【００３７】
削減率決定手段２１４は、決定した削減率が０よりも大きいか否かを判定する（ステップＳ１１６）。削減率が０よりも大きいと判定したときは、ＣＰＵ使用率制御手段２１５に、ＣＰＵ利用制御の開始を指示する。この指示を受けたＣＰＵ使用率制御手段２１５は、削減内容記録部２２５を参照し、記録された削減率と削減対象とに従って、ＣＰＵ使用率制御対象の一般ＡＰのＣＰＵ使用率を、削減率分だけ減らす（ステップＳ２１８）。削減率が０よりも大きくないと判定したときは、ＣＰＵ利用制御の停止を指示する（ステップＳ１１７）。
【００３８】
本実施形態では、ＣＰＵ使用率制御の対象を、削減対象ＡＰリスト保存部２２７に保存されたリストに含まれるＡＰに限定する。リストに含まれないＡＰについては、ＣＰＵ使用率制御の対象から外れることで、ＣＰＵ使用率が削減される可能性がある一般ＡＰと、削減されない一般ＡＰとをユーザの意図に即して区別することが可能になる。このため、ユーザの意図に反したユーザビリティの低下を回避することができる。その他の効果は、第１実施形態と同様である。
【００３９】
なお、第２実施形態では、一般ＡＰのうちで、ＣＰＵ利用制御の対象となる一般ＡＰを削減対象ＡＰリスト保存部２２７に保存し、リストに含まれる一般ＡＰのプロセスをＣＰＵ使用率の削減対象としたが、削減対象外の一般ＡＰをリストに保存し、リストに含まれない一般ＡＰのプロセスをＣＰＵ使用率の削減対象とすることもできる。この場合も、ＣＰＵ使用率が削減される可能性がある一般ＡＰと、削減されない一般ＡＰとをユーザの意図に即して区別することが可能になり、上記と同様の効果を得ることができる。
【００４０】
続いて、本発明の第３実施形態について説明する。図８は、本発明の第３実施形態のＣＰＵ利用制御システムを示している。本実施形態では、データ処理装置３１は、第２実施形態の構成に加えて、プロセスＵＩ調査手段３１６を備える。また、記憶装置３２は、削減対象ＡＰリスト保存部２２７（図６）に代えて、削減対象プロセスリスト記録部３２７を有する。
【００４１】
プロセスＵＩ調査手段３１６は、汎用端末装置３０で実行中のＡＰの中から、ユーザに対する入出力のためのユーザインターフェース（ＵＩ）を持たないプロセスをリストアップし、それらのＡＰ識別子とプロセス識別子とを削減対象プロセスリスト記録部３２７に記録する。プロセスＵＩ調査手段３１６は、例えば、ＯＳの機能として提供される、ＵＩを持つプロセスのリストを取得する機能を用いてＵＩを持つプロセスのリストを取得し、取得したリストと、稼働中のプロセスのリストとを比較することで、ＵＩを持たないプロセスをリストアップする。削減率決定手段３１４は、削減対象プロセスリスト記録部３２７に保存されたリストに含まれるプロセスを対象に、合計ＣＰＵ使用率の算出、ＣＰＵ使用率制御前の合計ＣＰＵ使用率の算出、削減率の決定などの処理を行う。
【００４２】
図９に、動作手順を示す。ステップＳ１０１からステップＳ１１３までの動作については、第１実施形態の動作（図４）と同様である。最大使用率更新手段１１３が、最大ＣＰＵ使用率記録部１２４を更新すると、削減率決定手段３１４は、プロセスＵＩ調査手段３１６に、ＵＩを持たないプロセスの調査を指示する。プロセスＵＩ調査手段３１６は、ＵＩを持たないプロセスを調査し、結果を削減対象プロセスリスト記録部３２７に記録する（ステップＳ３１８）。削減率決定手段３１４は、プロセスＵＩ調査手段３１６から調査終了の通知を受けると、削減対象プロセスリスト記録部３２７に保存されたリストに含まれるプロセスについて、ＣＰＵ使用率制御手段２１５によるＣＰＵ使用率制御が行われなかったとした場合のＣＰＵ使用率の合計を計算する（ステップＳ３１４）。
【００４３】
ステップＳ３１４では、削減率決定手段３１４は、まず、削減対象プロセスリスト記録部３２７と最新ＣＰＵ使用率記録部１２２とを参照し、削減対象プロセスリスト記録部３２７のリストに含まれるプロセスのＣＰＵ使用率の合計を計算する。次いで、削減内容記録部２２５より、現在のＣＰＵ使用率の削減率を取得し、ＣＰＵ利用制御をしない場合の削減対象のＡＰのＣＰＵ使用率を求める。より詳細には、ＣＰＵ利用制御をしない場合の削減対象のＡＰのＣＰＵ使用率をＸ（％）、実行中の削減対象のＡＰのＣＰＵ使用率の合計値をＹ（％）、現在のＣＰＵ使用率の削減率をＺ（％）として、Ｘ＝｛Ｙ／（１００−Ｚ）｝×１００により、ＣＰＵ使用率制御を行わない場合の削減対象のＡＰのＣＰＵ使用率を求める。その後の動作（ステップＳ２１５、Ｓ１１６、Ｓ１１７、Ｓ２１８）は、第２実施形態における動作（図７）と同様である。
【００４４】
本実施形態では、プロセスＵＩ調査手段３１６を用いて、ＵＩを持たないプロセスを、削減対象プロセスリスト記録部３２７に記録する。このようにすることで、ＵＩを持たないプロセスを、ＣＰＵ使用率削減の対象とすることができ、ユーザビリティを大きく損なうユーザの入出力への影響を回避して、ユーザビリティの低下を抑えることができる。その他の効果は、第１実施形態と同様である。
【００４５】
本発明の第４実施形態について説明する。図１０は、第４実施形態のＣＰＵ利用制御システムを示している。本実施形態の構成は、データ処理装置４１が、削減率決定手段２１４（図６）に代えて削減内容決定手段４１４を有する点で、第２実施形態の構成と相違する。削減内容決定手段４１４は、削減率決定手段及び削減対象プロセス決定手段として機能する。また、本実施形態では、記憶装置４２内に、削減対象ＡＰリスト保存部２２７に代えて、削減条件保存部４２８が追加される。
【００４６】
削減条件保存部４２８には、汎用端末装置４０上で実行中の一般ＡＰのプロセスの中から削減対象プロセスを決定する条件が保存される。削減プロセス決定条件には、一般ＡＰのプロセスのうちで、ＣＰＵ使用率が大きいプロセスが優先的に制御対象プロセスとなる条件を用いることができる。具体的には、「ＣＰＵ使用率が大きい順で、Ｘ番目までのプロセスを削除対象プロセスとする」、「ＣＰＵ使用率がＹ％以上のプロセスを削除対象プロセスとする」、「ＣＰＵ使用率の合計がＺ％になるまで、ＣＰＵ使用率の大きい順に上位のプロセスを削除対象プロセスとする」などが考えられる。
【００４７】
削減内容決定手段４１４は、削減条件保存部４２８を参照して、削減対象のプロセスを決定する。削減対象プロセスの決定では、まず、ＲＴＣ−ＡＰリスト保存部１２３を参照して一般ＡＰを特定し、その後、一般ＡＰの中から、削減対象プロセス決定条件に従って、削減対象プロセスを決定する。削減内容決定手段４１４は、削減対象プロセスの決定後、削減対象プロセスを識別する情報を、削減内容記録部２２５に記録する。
【００４８】
削減内容決定手段４１４は、削減対象プロセスを決定すると、削減対象プロセスのＣＰＵ使用率の削減率を計算する。削減率の計算では、削減内容決定手段４１４は、まず、最新ＣＰＵ使用率記録部１２２を参照して、削減対象プロセスの合計ＣＰＵ使用率と、一般ＡＰのプロセスうちで削減対象プロセス以外のプロセスの合計ＣＰＵ使用率とを求める。次いで、これら合計ＣＰＵ使用率と、最大ＣＰＵ使用率記録部１２４に記録されたＲＴＣ−ＡＰの合計ＣＰＵ使用率の最大値とから、削減対象プロセスのＣＰＵ使用率の削減率を求める。削減内容決定手段４１４は、削減率計算後、計算した削減率を、削減内容記録部２２５に記録する。
【００４９】
図１１に、動作手順を示す。ステップＳ１０１からＳ１１３までの動作は、第１実施形態の動作（図４）と同様である。最大使用率更新手段１１３が、最大ＣＰＵ使用率記録部１２４を更新すると、削減内容決定手段４１４は、削減条件保存部４２８にあらかじめ保存された削減対象プロセス決定条件に従って、汎用端末装置４０で実行中の一般ＡＰのプロセスの中から、削減対象プロセスを決定する（ステップＳ４１８）。例えば、削減対象プロセス決定条件が、「ＣＰＵ使用率がＹ％以上のプロセスを選択」であった場合は、削減内容決定手段４１４は、最新ＣＰＵ使用率記録部１２２とＲＴＣ−ＡＰリスト保存部１２３とを参照して、一般ＡＰのプロセスのうちで、ＣＰＵ使用率がＹ％以上のプロセスを、削減対象プロセスとして決定する。
【００５０】
削減内容決定手段４１４は、削減対象プロセスを決定すると、削減対象プロセスを削減内容記録部２２５に記録する。以降の動作は、第３実施形態における動作（図９）と同様である。すなわち、ＣＰＵ利用制御前の削減対象プロセスのＣＰＵ使用率を計算し（ステップＳ３１４）、削減対象プロセスについてのＣＰＵ使用率の削減率を決定する（ステップＳ２１５）。削減率の計算では、第２実施形態で用いた削減率の計算式を用いることができる。その後は、決定した削減率が０よりも大きいときは、ＣＰＵ使用率制御手段２１５によるＣＰＵ利用制御を行う。
【００５１】
本実施形態では、削減条件保存部４２８に保存された削減対象プロセス決定条件に従って、削減対象プロセスを決定する。例えば、削減対象プロセス決定条件にて、ＣＰＵ使用率が高い一般ＡＰのプロセスが削減対象プロセスとして選ばれるようにしておくことで、実行中の一般ＡＰのプロセスの中で、ＣＰＵ使用率が大きいプロセスを優先的に制御対象プロセスとすることができる。これにより、プロセス間でのＣＰＵ利用を、より公平にすることができる、また、制御前のＣＰＵ使用率が大きいほど、一定割合で削減した場合のＣＰＵ使用率の削減効果が大きいため、制御対象のＡＰ数を絞りこむことができるという効果もある。
【００５２】
以下、実施例を用いて説明する。本実施例は、第１実施形態に対応する。本実施例では、汎用端末装置として、パーソナルコンピュータ、データ処理装置としてＣＰＵとメモリ、記録装置としてハードディスクを考える。ＣＰＵがメモリ上のコンピュータプログラムを実行することで、図１に示すデータ処理装置１１内の各部の機能が実現される。図１２に、パーソナルコンピュータの接続形態を示す。本実施例では、ネットワークを介して接続された２台のパーソナルコンピュータ（パソコンＡ、パソコンＢ）が、それぞれ、リアルタイムコミュニケーションを実現するアプリケーションを含む様々なアプリケーションを実行することで、リアルタイムコミュニケーションを行なっているものとする。
【００５３】
パーソナルコンピュータ（パソコンＡ）は、５秒ごとに、ＣＰＵ使用率の制御（図４のステップＳ１０１）を実行する。ＣＰＵ使用率の制御では、まず、パソコンＡ上で実行中の全プロセスのＣＰＵ使用率を調査する（ステップＳ１０２）。図１３及び図１４に、ＣＰＵ使用率の調査結果例を示す。図１３に示すＣＰＵ使用率調査結果は、今回の調査結果であり、図１４に示すＣＰＵ使用率調査結果は、前回のＣＰＵ使用率結果であるとする。パソコンＡは、図１３に示す調査結果と図１４に示す調査結果とを比較して、終了したＡＰがないことを確認し（ステップＳ１０３）、ＣＰＵ使用率調査結果を、最新ＣＰＵ使用率記録部１２２に記録する（ステップＳ１０４）。
【００５４】
終了したＡＰはないため、ＲＴＣ−ＡＰの終了に伴う最大ＣＰＵ使用率記録部１２４の更新処理（ステップＳ１０５）は実行されない。続いて、最新ＣＰＵ使用率記録部１２２に記録した調査結果と、ＲＴＣ−ＡＰリスト保存部１２３に保存されているＲＴＣ−ＡＰリストとから、現在パソコンＡ上で実行されているＲＴＣ−ＡＰを特定し、そのそれぞれについて、今回の調査結果が示すＣＰＵ使用率と最大ＣＰＵ使用率記録部１２４に記録された最大ＣＰＵ使用率とを比較し、最大ＣＰＵ使用率記録部１２４を更新する（ステップＳ１０６〜Ｓ１１０）。
【００５５】
図１５に、ＲＴＣ−ＡＰリストの具体例を示す。ＣＰＵ使用率の調査結果（図１３）とＲＴＣ−ＡＰリスト(図１５)とから、パソコンＡ上で現在実行されているＲＴＣ−ＡＰが、ＶｏＩＰ．ＥＸＥ、ＷＨＩＴＥＢＯＡＲＤ．ＥＸＥ、ＶＩＤＥＯ．ＥＸＥの３つであることがわかる。従って、パソコンＡは、ステップＳ１０７からステップＳ１１０の処理を、これら３つのＲＴＣ−ＡＰについて実行することになる。図１６に、最大ＣＰＵ使用率記録部１２４の記録内容を示す。図１６を参照すると、最大ＣＰＵ使用率記録部１２４には、ＶｏＩＰ．ＥＸＥ、ＷＨＩＴＥＢＯＡＲＤ．ＥＸＥ、ＶＩＤＥＯ．ＥＸＥについての最大ＣＰＵ使用率の記録がある。従って、最大ＣＰＵ使用率記録部１２４に調査結果を追加する処理（ステップＳ１１０）は実行されない。
【００５６】
パソコンＡは、ステップＳ１０８にて、今回のＣＰＵ使用率調査結果と、記録された最大ＣＰＵ使用率調査結果とを比較する。今回の調査結果（図１３）と最大ＣＰＵ使用率記録部１２４に記録された最大ＣＰＵ使用率（図１６）とを比較すると、今回の調査結果のＶｏＩＰ．ＥＸＥ、ＷＨＩＴＥＢＯＡＲＤ．ＥＸＥ、ＶＩＤＥＯ．ＥＸＥのＣＰＵ使用率は、何れも、最大ＣＰＵ使用率記録部１２４に記録された最大ＣＰＵ使用率よりも低い値を示している。このため、ステップＳ１０９の最大ＣＰＵ使用率記録部１２４の更新は行われない。
【００５７】
続いて、パソコンＡは、実行中のＲＴＣ−ＡＰ（ＶｏＩＰ．ＥＸＥ、ＷＨＩＴＥＢＯＡＲＤ．ＥＸＥ、ＶＩＤＥＯ．ＥＸＥ）のＣＰＵ使用率の合計を計算し（ステップＳ１１１）、このＣＰＵ使用率の合計と、最大ＣＰＵ使用率記録部１２４に記録されたＲＴＣ−ＡＰの合計ＣＰＵ使用率の最大値とを比較する（ステップＳ１１２）。実行中のＲＴＣ−ＡＰの使用率の合計は３３％であり、ＲＴＣ−ＡＰの合計ＣＰＵ使用率の最大値は４２％であるので、実行中のＲＴＣ−ＡＰのＣＰＵ使用率の合計＜最大ＣＰＵ使用率記録部１２４に記録されたＲＴＣ−ＡＰの合計ＣＰＵ使用率の最大値となり、ステップＳ１１３のＲＴＣ−ＡＰの合計ＣＰＵ使用率の最大値の更新は行われない。
【００５８】
パソコンＡは、ＣＰＵ使用率の調査結果（図１３）から、一般ＡＰ、つまりＲＴＣ−ＡＰリスト（図１５）に含まれないＡＰのＣＰＵ使用率の合計を計算し、その一般ＡＰのＣＰＵ使用率の合計と、削減率記録部１２５に記録された削減率とから、ＣＰＵ利用制御が行われなかった場合の一般ＡＰのＣＰＵ使用率を計算する（ステップＳ１１４）。図１３を参照すると、ＲＴＣ−ＡＰリスト（図１５）に含まれないＡＰのＣＰＵ使用率は６３．５％と求まり、このとき、削減率記録部１２５に、削減率９％が記録されていたとすると、
ＣＰＵ利用制御前の一般ＡＰのＣＰＵ使用率＝６３．５／（１００−９）＝６９．７％
となる。
【００５９】
パソコンＡは、ＣＰＵ利用制御前の一般ＡＰのＣＰＵ使用率の計算後、その値と、最大ＣＰＵ使用率記録部１２４に記録されたＲＴＣ−ＡＰの合計ＣＰＵ使用率の最大値と、目標ＣＰＵ使用率とから、削減率を計算する（ステップＳ１１５）。ＣＰＵ利用制御前の一般ＡＰのＣＰＵ使用率（Ｗ）はＷ＝６９．７％で、ＲＴＣ−ＡＰの合計ＣＰＵ使用率の最大値（Ｑ）はＱ＝４２％（図１６）であり、パソコンＡ全体のＣＰＵ使用率の目標値（Ｔ）をＴ＝１００％とすると、削減率は、
削減率＝１−（（Ｔ−Ｑ）／Ｗ）＝１−（（１００−４２）／６９．７）＝１６．８％
と求まる。パソコンＡは、このように求めた削減率を、削減率記録部１２５に記録する。
【００６０】
パソコンＡは、削減率が０よりも大きいか否かを判断し（ステップＳ１１６）、１６．８％＞０であるので、その削減率に従って、ＣＰＵ利用制御を行う。図１７に、ＣＰＵ利用制御の例を示す。ＣＰＵ利用制御では、一般ＡＰの各プロセスを、単位時間当たり、削減率に応じた所定時間だけ強制的に停止させることで、一般ＡＰのＣＰＵ使用率を低下させる。例えば、２秒を１つの単位として、一般ＡＰの各プロセスを、２秒間のうち、２秒×１６．８％＝０．３３６秒だけ停止させる。このようなＣＰＵ利用制御を行うことで、一般ＡＰのＣＰＵ使用率を１６．８％低下させることができ、その分のＣＰＵ使用率を、ＲＴＣ−ＡＰが使えることになる。
【００６１】
以上、本発明をその好適な実施形態に基づいて説明したが、本発明のＣＰＵ利用制御システム、方法、及び、プログラムは、上記実施形態にのみ限定されるものではなく、上記実施形態の構成から種々の修正及び変更を施したものも、本発明の範囲に含まれる。
【産業上の利用可能性】
【００６２】
本発明は、ストリーム型のメディアとバースト型のメディアとを組み合わせたリッチメディアコミュニケーションシステムの品質制御に適用可能である。
【図面の簡単な説明】
【００６３】
【図１】本発明の第１実施形態のＣＰＵ利用制御システムを示すブロック図。
【図２】最大ＣＰＵ使用率記録部のデータを例示する図。
【図３】ＣＰＵ使用率の調査結果を例示する図。
【図４】ＣＰＵ利用制御システムの動作手順を示すフローチャート。
【図５】終了プロセスとその最大ＣＰＵ使用率とを例示する図。
【図６】本発明の第２実施形態のＣＰＵ利用制御システムを示すブロック図。
【図７】第２実施形態のＣＰＵ利用制御システムの動作手順を示すフローチャート。
【図８】本発明の第３実施形態のＣＰＵ利用制御システムを示すブロック図。
【図９】第３実施形態のＣＰＵ利用制御システムの動作手順を示すフローチャート。
【図１０】本発明の第４実施形態のＣＰＵ利用制御システムを示すブロック図。
【図１１】第４実施形態のＣＰＵ利用制御システムの動作手順を示すフローチャート。
【図１２】実施例におけるパーソナルコンピュータの接続形態を示すブロック図。
【図１３】実施例におけるＣＰＵ使用率調査結果を示す表。
【図１４】前回のＣＰＵ使用率調査結果を示す表。
【図１５】実施例におけるＲＴＣ−ＡＰリストを示す図。
【図１６】実施例における最大ＣＰＵ使用率記録部のデータを示す図。
【図１７】実施例におけるＣＰＵ利用制御を示す図。
【符号の説明】
【００６４】
１０、２０、３０、４０：汎用端末装置
１１、２１、３１、４１：データ処理装置
１２、２２、３２、４２：記憶装置
１１１：タイマ手段
１１２：ＣＰＵ使用率調査手段
１１３：最大使用率更新手段
１１４、２１４、３１４：削減率決定手段
１１５、２１５：ＣＰＵ使用率制御手段
１２１：終了ＡＰ記録部
１２２：最新ＣＰＵ使用率記録部
１２３：ＲＴＣ−ＡＰリスト保存部
１２４：最大ＣＰＵ使用率記録部
１２５：削減率記録部
１２６：目標ＣＰＵ使用率保存部
２２５：削減内容記録部
２２７：削減対象ＡＰリスト保存部
３１６：プロセスＵＩ調査手段
３２７：削減対象プロセスリスト記録部
４１４：削減内容決定手段
４２８：削減条件保存部
【図１】
2009134544.tif 000003
【図２】
2009134544.tif 000004
【図３】
2009134544.tif 000005
【図４】
2009134544.tif 000006
【図５】
2009134544.tif 000007
【図６】
2009134544.tif 000008
【図７】
2009134544.tif 000009
【図８】
2009134544.tif 000010
【図９】
2009134544.tif 000011
【図１０】
2009134544.tif 000012
【図１１】
2009134544.tif 000013
【図１２】
2009134544.tif 000014
【図１３】
2009134544.tif 000015
【図１４】
2009134544.tif 000016
【図１５】
2009134544.tif 000017
【図１６】
2009134544.tif 000018
【図１７】
2009134544.tif 000019