(57)【特許請求の範囲】
【請求項１】
タスク組合せを構成するタスクから選択されるタスクを実行するタスク管理システムであって、
タスク組合せの切替要求の有無を判定する判定部と、
前記切替要求有りと判定された場合に、切替前のタスク組合せを切替要求されたタスク組合せに切り替える切替部と、
前記切替部により切り替えられたタスク組合せを構成するタスクから選択されるタスクを実行する実行部と、
を備え、
前記切替部は、
前記切替要求有りと判定された場合に、切替前のタスク組合せを構成するタスクであって実行が完了していないタスクの中に、タスク組合せの切替時に処理の完了が要求されるタスクである特定タスクが存在するか判定し、
存在する場合には、切替前のタスク組合せを継続して実行し、切替前のタスク組合せを構成するタスクに含まれる特定タスクが全て実行完了した後に、切替前のタスク組合せを切替要求されたタスク組合せに切り替える
ことを特徴とするタスク管理システム。
【請求項２】
タスク組合せを構成するタスクの識別子を、特定タスクであるか否かを識別するための識別子と対応付けて格納する記憶部をさらに備え、
前記切替部は、前記切替要求有りと判定された場合、その切替前のタスク組合せを構成するタスクのうち前記特定タスクであるか否かを識別するための識別子に基づいて識別される特定タスクの実行完了後に、タスク組合せを切り替える、請求項１に記載のタスク管理システム。
【請求項３】
タスク組合せを構成するタスクから選択されるタスクを実行するタスク管理方法であって、
タスク組合せの切替要求の有無を判定する判定ステップ、
前記切替要求有りと判定された場合に、切替前のタスク組合せを切替要求されたタスク組合せに切り替える切替ステップ、
前記切替部により切り替えられたタスク組合せを構成するタスクから選択されるタスクを実行する実行ステップ、
を備え、
前記切替ステップは、
前記切替要求有りと判定された場合に、切替前のタスク組合せを構成するタスクであって実行が完了していないタスクの中に、タスク組合せの切替時に処理の完了が要求されるタスクである特定タスクが存在するか判定し、
存在する場合には、切替前のタスク組合せを継続して実行し、切替前のタスク組合せを構成するタスクに含まれる特定タスクが全て実行完了した後に、切替前のタスク組合せを切替要求されたタスク組合せに切り替える
タスク管理方法。
【請求項４】
前記切替ステップは、前記切替要求有りと判定された場合、その切替前のタスク組合せを構成するタスクのうち、タスク組合せを構成するタスクの識別子を、特定タスクであるか否かを識別するための識別子と対応付けて格納する記憶部中の前記特定タスクであるか否かを識別するための識別子に基づいて識別される特定タスクの実行完了後に、タスク組合せを切り替える、請求項３に記載のタスク管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、タスク組合せを構成するタスクから選択されるタスクを実行するタスク管理システムにおいてタスク組合せの切替を迅速に行うための技術に関する。
【背景技術】
【０００２】
本出願人は、先に、タスク組合せを構成するタスク（一つ又は複数）から選択されるタスクを実行する発明について出願している（特許文献１等）。
【特許文献１】特願２００３−１２２１３９
【特許文献２】特開平７−１８２１８３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
先の出願においては、タスク組合せの切替は、タスク組合せを構成するタスクのうち実行可能なタスクの完了を待ってから行われる。しかしながら、タスクの完了を待ってから切り替えるのでは、迅速に切り替えることができない。また、切替前のタスクを直ちに中断したい場合のように、切替要因によってはタスクを実行してはいけない場合も想定される。
【０００４】
本発明の課題は、タスク組合せの切替を迅速に行うことのできる技術を提供することにある。また、処理すべきでない処理を行わずタスク組合せを切替ることのできる技術を提供することにある。
【課題を解決するための手段】
【０００５】
本発明は、上記課題を解決するためになされたものであり、タスク組合せを構成するタスクから選択されるタスクを実行するタスク管理システムであって、タスク組合せの切替要求の有無を判定する判定部と、前記切替要求有りと判定された場合、その切替前のタスク組合せを構成するタスクのうち特定タスクの実行完了後に、タスク組合せを切り替える切替部と、前記切替部により切り替えられたタスク組合せを構成するタスクから選択されるタスクを実行する実行部と、を備える構成とした。
【０００６】
本発明によれば、タスク組合せの切替要求有りと判定された場合、その切替前のタスク組合せ（例えば現在のタスク組合せ）を構成するタスクのうち特定タスクの実行完了後に、タスク組合せを切り替える。すなわち、タスク組合せを構成する全てのタスクの実行完了を待ってからタスク組合せを切り替えるのではなくて、タスク組合せを構成するタスクのうち特定タスクの実行完了を待ってからタスク組合せを切り替える。従って、タスク組合せの切替を迅速に行うことが可能となる。
【０００７】
上記タスク管理システムにおいて、例えば、タスク組合せを構成するタスクとそのタスクが特定タスクであるか否かを識別するための識別子（例えば本実施形態のフラグ）との対応関係を格納する記憶部をさらに備え、前記切替部は、前記切替要求有りと判定された場合、その切替前のタスク組合せを構成するタスクのうち前記識別子に基づいて識別される特定タスクの実行完了後に、タスク組合せを切り替える。
【０００８】
これは、特定タスクを識別するための手法の一つの例示である。従って、本発明の特定タスクの識別手法はこれに限定されない。他の手法によって特定タスクを識別するようにしてもよい。
【０００９】
このようにすれば、識別子をチェックするだけで特定タスクを識別することができることから、そのような識別子に基づいて識別される特定タスクの実行完了を迅速に把握することが可能となる。また、切替要因に応じて、実行してはいけないタスクに対応する識別子を設定しておけば、切替前のタスクを直ちに中断したい場合のように、切替要因によってはタスクを実行してはいけないタスクが存在するとしても、識別子をチェックするだけでそのようなタスクを識別することができることから、そのようなタスクの実行も防止できる。
【００１０】
上記タスク管理システムにおいて、例えば、前記特定タスクは、タスク組合せの切替時に処理の完了が要求されるタスクである。
これは、特定タスクの一つの例示である。従って、本発明の特定タスクはこれに限定されない。他のタスクを特定タスクとすることも可能である。
【００１１】
また、本発明は方法の発明として次のように特定することもできる。
タスク組合せを構成するタスクから選択されるタスクを実行するタスク管理方法であって、タスク組合せの切替要求の有無を判定する判定ステップ、前記切替要求有りと判定された場合、その切替前のタスク組合せを構成するタスクのうち特定タスクの実行完了後に、タスク組合せを切り替える切替ステップ、前記切替部により切り替えられたタスク組合せを構成するタスクから選択されるタスクを実行する実行ステップ、を備えるタスク管理方法。
【００１２】
また、本発明はプログラムの発明として次のように特定することができる。
コンピュータに、タスク組合せの切替要求の有無を判定する判定ステップ、前記切替要求有りと判定された場合、その切替前のタスク組合せを構成するタスクのうち特定タスクの実行完了後に、タスク組合せを切り替える切替ステップ、前記切替部により切り替えられたタスク組合せを構成するタスクから選択されるタスクを実行する実行ステップ、を実行させるためのプログラム。
【００１３】
また、本発明は、上記プログラムを記録したコンピュータ読み取り可能な記録媒体としても特定できる。
【発明の効果】
【００１４】
本発明によれば、処理を完了しなくてもよいタスクへのリソース割当が省略されることから、タスク組合せの切替を迅速に行うことが可能となる。また、他の効果として、処理すべきでない処理を行わずタスク組合せの切替が可能となる。
【発明を実施するための最良の形態】
【００１５】
以下、この発明の一実施形態について図面を参照しながら説明する。なお、以下の一実施形態の全図においては、同一または対応する部分には同一の符号を付す。図１に、この一実施形態によるタスク管理システムの構成を示す。
【００１６】
図１に示すように、この一実施形態によるタスク管理システムは、ＰＤＡ(Personal Digital Assistants)やパーソナルコンピュータなどの情報処理端末１００により実現される。
【００１７】
この情報処理端末１００は、中央処理装置（ＣＰＵ）１１０、例えばハードディスク装置などの補助記憶装置１２０、例えば書き換え可能メモリ（ＲＡＭ）などのメモリ１３０、例えば液晶ディスプレイ（ＬＣＤ）などの画像表示装置やスピーカなどの音声出力装置（いずれも図示せず）などを有して構成されている。これらのそれぞれの要素は、例えばバスを介して互いに接続されている。
【００１８】
また、補助記憶装置１２０には、リアルタイムＯＳ(Operating System)と、このリアルタイムＯＳをベースとして実行可能な種々のアプリケーション、すなわち優先度が設定された複数のタスクなどと、後述するタスク情報テーブルなどとがインストールされている。
【００１９】
これらのリアルタイムＯＳなどのソフトウェアは、補助記憶装置１２０からメモリ１３０に、必要に応じて、適宜読み出される。図１は、これらのリアルタイムＯＳなどのソフトウェアがメモリ１３０に読み出された状態を示す。
【００２０】
また、リアルタイムＯＳは、複数のタスクのうちの最も高い優先度が設定されているタスクを実行する優先度制御機能（または、タスク管理機能）を有するオペレーティングシステムである。優先度制御機能は、リアルタイムＯＳが有するスケジューラ１３１によって実現される。
【００２１】
スケジューラ１３１は、それぞれのタスクに設定されている優先度に基づいて複数のタスクのうちの最も高い優先度が設定されているタスクを実行するためのものである。また、スケジューラ１３１は、優先度が設定されている複数のタスクとして把握されるアプリケーション群や、各種デバイスの制御などの処理における、例えばタイミング処理を実行するか否かを決定可能に構成されている。
【００２２】
具体的には、スケジューラ１３１は、終了または待ち状態でないタスクのうちの最も高い優先度が設定されているタスクを継続して実行（処理）する。このとき、リアルタイムＯＳにおいては、優先度が低く設定されているタスクは、全く動作しない可能性もある。また、スケジューラ１３１は、それぞれのタスクの状態、具体的には実行可能状態、実行状態、待ち状態などを管理するためのものである。
【００２３】
スケジューラ１３１によって優先度制御がされる複数のタスクとしては、スケジューラタスク１３２、時間起動通知用タスク１３３、および、ＱｏＳ(Quality of Service)タスク１３４などがある。これらのタスクには、優先度が設定されている。なお、スケジューラタスク１３２には、最も高い優先度（他のタスク１３３、１３４などと比較して高い優先度）が設定される。
【００２４】
また、スケジューラタスク１３２は、他のタスク（ＱｏＳタスク１３４）の実行制御を行うためのタスクである。スケジューラタスク１３２は、他のタスクの実行制御として、ＱｏＳタスク１３４の中から実行タスクの決定、実行タスクの優先度の変更、および、実行タスクの所要リソース量の制御（リソース割り当て）などを行う。
【００２５】
また、時間起動通知用タスク１３３は、スケジューラタスク１３２を実行状態（Running状態）へ遷移させるためのものである。そのため、時間起動通知用タスク１３３は、所定期間（一定周期または設定時間）ごとに、イベントフラグまたはセマフォなどの所定通知をスケジューラタスク１３２へ通知する。所定通知を受けると、スケジューラタスク１３２は、実行状態へ遷移して他のタスク（ＱｏＳタスク１３４）の実行制御を行う。なお、スケジューラタスク１３２において、実行状態にない場合には、リアルタイムＯＳにおけるスケジューラ１３１により、ＱｏＳタスク１３４が制御される。
【００２６】
また、ＱｏＳタスク１３４は、その所要リソース量を制御可能な可変タスクである。そして、所要リソース量が最低限保証すべき保証部分と制御可能部分とに分けられているため、最低限の品質（保証部分）を保持可能に構成されている。
【００２７】
また、タスク組合せ管理テーブル１３６は、アプリケーションの構成情報や、それぞれのタスクの所要リソース量情報などに基づいて、ＣＰＵ１１０により抽出されたタスクの組合せを格納するためのものである。このタスク組合せ管理テーブル１３６の一例を図２に示す。
【００２８】
すなわち、タスク組合せ管理テーブル１３６におけるタスク組合せのデータは、図２Ａに示すように、抽出されたＱｏＳタスク１３４の組合せ（タスク組合せ）を示し、タスク組合せを識別するためのパターン番号と、そのパターン番号に属するタスクを組み合わせたリスト（タスクリスト）とから構成される。
【００２９】
また、タスクリストには、それぞれのＱｏＳタスク１３４に固有のタスク識別子ＩＤ（タスクＩＤ）とフラグflagが格納されており、必要に応じて、タスク情報テーブル１３５等からＱｏＳタスク１３４の構成情報やフラグflagが読み込まれる。フラグflagは、タスク組合せの切替時に処理の完了を要求されているか否かを示すフラグである。このタスク組合せ管理テーブル１３６中のタスクリストにおけるタスクＩＤとフラグflagとの対応関係が、本発明のタスク組合せを構成するタスクとそのタスクが特定タスクであるか否かを識別するための識別子との対応関係に相当する。ＱｏＳタスク１３４の詳細情報は、タスク情報テーブル１３５に格納され、タスクＩＤ１３５ａを識別子として抽出可能となっている。
【００３０】
そして、図２Ｂに示すように、この一実施形態によるタスク組合せ管理テーブル１３６は、図２Ａに示すパターン番号とこの番号に属するタスクリストとの組の少なくとも１つから構成されており、パターン番号により、相互にタスクリストを区別可能に格納されている。
【００３１】
そして、複数のタスクリストがパターン番号により区別されて格納されたタスク組合せ管理テーブル１３６から、アプリケーションにより所定のタスクリストが選択され、選択されたパターン番号に属するタスクリストのそれぞれのタスクＩＤ及びフラグflagに基づいて、タスク情報テーブル１３５から所定のＱｏＳタスク１３４が読み出され、アプリケーションにより処理が実行される。
【００３２】
また、この一実施形態によるタスク組合せ管理テーブル１３６は、アプリケーションごとに生成され、たとえば補助記憶装置１２０に格納される。また、一旦生成されたタスク組合せ管理テーブル１３６は、アプリケーションごとに関連づけされて、アプリケーションの起動などの必要に応じて、補助記憶装置１２０からメモリ１３０に読み出される。そして、アプリケーションにおけるタスク組合せは、この読み出されたタスク組合せ管理テーブル１３６から抽出される。
【００３３】
このように、あらかじめアプリケーションごとに、タスク組合せ管理テーブル１３６を生成しておき、タスクリストから必要なタスク組合せを選択して、実行することにより、アプリケーションの実行に基づくタスクの実行における実行の可否の計算処理を、タスクの登録ごとに行う必要がなくなるので、時間のロスを無くして、タスクの起動や切替をスムーズに行うことができる。
【００３４】
なお、タスク組合せ管理テーブル１３６を、補助記憶装置１２０に格納しておき、後述するパターン番号が選択されたときに、必要なパターンのみを読み込むようにすることも可能である。
【００３５】
また、タスク情報テーブル１３５は、ＱｏＳタスク１３４に関する情報を管理するためのテーブルである。タスク情報テーブル１３５は、タスク識別子（タスクＩＤ）１３５ａ
と、このタスクＩＤ１３５ａに属する各種情報項目、例えば起動タイミング１３５ｂや実行割り当て時間１３５ｃなどの項目とにより構成されている。なお、タスクＩＤ１３５ａは、ＱｏＳタスクを識別するための識別子ＩＤであり、起動タイミング１３５ｂは、ＱｏＳタスクにおける実行開始時点から、次の実行開始時点までの時間（周期）である。
【００３６】
そして、あるＱｏＳタスクが実行されると、設定された周期の間、このＱｏＳタスクが新たに実行されることはない。また、実行割り当て時間１３５ｃは、ＱｏＳタスクに割り当てられたリソース量であり、この一実施形態においては、例えばＣＰＵの使用時間である。
【００３７】
以上のようにして、この一実施形態によるタスク管理システムが構成されている。なお、上述したタスク管理システムは、あくまでも一例であり、必ずしも上述した構成に限られるものではなく、そのほかのタスク管理システム、たとえばスケジューラタスクが設定されておらず、全てのタスクスケジュールにおいて、リアルタイムＯＳにおけるスケジューラを利用するようにしたタスク管理システムを採用することも可能である。
【００３８】
次に、以上のように構成されたタスク管理システムの動作について図面を参照しつつ説明する。図３に、この一実施形態による新規タスクの登録要求動作を示す。
（新規タスク登録要求）
まず、アプリケーションの起動時においては、このアプリケーションの構成情報に基づいて、あらかじめ抽出された、必要となるＱｏＳ制御のタスク組合せの全てのパターンに対して、タスク予約判定を行った後に登録を行う、いわゆる新規タスクの登録要求処理が実行される。以下に、この新規タスクの登録要求処理について説明する。
【００３９】
すなわち、図３に示すように、この一実施形態による新規タスク登録要求処理においては、まず、ステップＳＴ１において、タスク組合せのパターンを抽出する処理を実行する。具体的には、アプリケーションの構成情報と、それぞれのＱｏＳタスク１３４の所要リソース量情報などとに基づいて、タスク組合せ管理テーブル１３６から、組み合わされて実行されることにより一機能となり得るタスク組合せが抽出される。その後、ステップＳＴ２に移行する。
【００４０】
次に、ステップＳＴ２においては、タスク組合せのパターンが抽出されたか否か、すなわち抽出パターンが存在するか否かの判定が行われる。その結果、タスク組合せの抽出パターンが存在しなかった場合、ステップＳＴ３に移行して、アプリケーションにより、新規タスクが登録される。
【００４１】
他方、ステップＳＴ２において、タスク組合せのパターンが抽出された場合、すなわち、アプリケーションに基づくタスク組合せに合致する抽出パターンが存在した場合、ステップＳＴ４に移行する。
【００４２】
ステップＳＴ４においては、抽出されたパターンが、新規タスクとして登録可能であるか否かの判断が行われる。具体的には、例えば、抽出されたタスクの組合せについて、例えば、動作環境における負荷とＱｏＳの検証とが行われ、負荷が所定の基準値を下回りかつＱｏＳが所定の基準値を上回っている場合に、実行可能と判定され、そうでない場合に否定判定がされる。
【００４３】
そして、ステップＳＴ４において、タスク組合せが実行不可能である場合には、抽出パターンが登録不可とされ、ステップＳＴ５に移行して、登録不可の通知が行われる。この登録不可の通知は、サービス品質（ＱｏＳ）を設定可能なタスク管理システムにおいて、タスクの受付を行う部分に対して行われる。以上により一連の新規タスク登録処理が終了
する。
【００４４】
他方、ステップＳＴ４における判断の結果、タスク組合せを実行可能である場合に、抽出パターンが登録可能であるとされ、ステップＳＴ１に移行する。そして、再度、アプリケーションの構成情報に基づいて、タスク組合せのパターンの抽出が行われ、ステップＳＴ２において、上述と同様にして、抽出パターンの存否が判断される。
【００４５】
これらのステップＳＴ１、ステップＳＴ２およびステップＳＴ４のプロセスは、登録不可の抽出パターンが表出するか、抽出パターンが存在しなくなるまで、繰り返し実行される。
【００４６】
その後、ステップＳＴ２においてタスク組合せのパターンが全て抽出された段階で、ステップＳＴ３に移行し、このステップＳＴ３において、アプリケーションにより新規タスクが登録され、新規タスクの登録処理が終了する。
【００４７】
また、繰り返し登録処理が実行されている間に、実行ができないタスク組合せが現れて、ステップＳＴ４において抽出パターンの登録ができない場合、ステップＳＴ５においてスケジューラタスク１３２に登録不可の通知がされて、新規タスクの登録処理が終了する。
【００４８】
（タスクスケジューリング）
次に、以上のようにして、プログラムの起動時に新規タスクの登録処理が行われた後における、アプリケーションの実行時のタスク管理について説明する。すなわち、アプリケーションの実行中においては、動作させるタスクが新たに実行されたり、タスク間において切替が行われたりする、いわゆるタスクスケジューリングが行われる。以下に、この一実施形態によるタスクスケジューリングについて説明する。図４に、この一実施形態によるタスクスケジューリング処理を示す。
【００４９】
すなわち、図４に示すように、この一実施形態によるタスクスケジューリングにおいては、まず、ステップＳＴ１１において、組合せパターン変更の有無についての判定、すなわち、タスク組合せパターンの切替要求の有無についての判定が行われる（本発明の判定部に相当）。この判定は、例えば、現在のタスク組合せパターン番号と切替要求のあったタスク組合せパターン番号とを比較することで行う。そして、両番号が異なっていれば、組合せパターン変更有り、すなわち、タスク組合せパターンの切替要求有と判定される（ステップＳＴ１１：Yes）。
【００５０】
このタスク組合せのパターン変更無しと判定された場合（ステップＳＴ１１：No）、ステップＳＴ１２に移行して、現在のタスク組合せを構成するタスクから実行タスクが選択され、この選択されたタスクがＣＰＵ１１０によりアプリケーションに基づいて実行される。
【００５１】
他方、タスク組合せパターンの変更有りと判定された場合（ステップＳＴ１１：Yes）、ステップＳＴ１３に移行して、その変更前（切替前）のタスク組合せ（例えば現在のタスク組合せ）を構成するタスク（一つのこともあるし、複数のこともある）の中に、タスク組合せの切替時に処理の完了を要求されているタスク（本発明の特定タスクに相当）があるか否かについての判定が行われる。この判定のために、タスク組合せ管理テーブル１３６中のフラグflagが参照される。上述の通り、フラグflagは、タスクごとに登録されており、しかもタスク組合せの切替時に処理の完了を要求されているタスク（本発明の特定タスクに相当）であるか否かを示すフラグである。従って、タスク組合せ管理テーブル１３６中のフラグflagが参照されることで、その変更前（切替前）のタスク組合せ（例えば
現在のタスク組合せ）を構成するタスクの中に、タスク組合せの切替時に処理の完了を要求されているものがあるか否かについての判定を行うことが可能となっている。
【００５２】
具体的には、次のようにして判定される。まず、その変更前（切替前）のタスク組合せ（例えば現在のタスク組合せ）を構成するタスクの中に、実行されていないタスク（または、中断されているタスク）が存在するか否かの判定が行われる。そして、実行されていないタスク（または、中断されているタスク）が存在すると判定された場合、その実行されていないタスク（または、中断されているタスク）に対応するフラグflagが参照される。これにより、判定対象タスクを、実行されていないタスク（または、中断されているタスク）に限っている。従って、すでに実行完了したタスクについての判定を行うことが無くなることから、判定速度を高めることが可能となる。
【００５３】
このステップＳＴ１３において、変更前（切替前）のタスク組合せ（例えば現在のタスク組合せ）を構成するタスクの中に、タスク組合せの切替時に処理の完了を要求されているタスク（本発明の特定タスクに相当）が存在する場合（ステップＳＴ１３：Yes）、ステップＳＴ１２に移行して、実行しているタスク組合せがＣＰＵ１１０により継続して実行される。すなわち、現在のタスク組合せを構成するタスクから実行タスクが選択され、この選択されたタスクがＣＰＵ１１０によりアプリケーションに基づいて継続実行される。ＳＴ１１からＳＴ１４の処理はタスクスケジューリングによるタイミングが到来するごとに繰り返される。これにより、やがて、変更前（切替前）のタスク組合せ（例えば現在のタスク組合せ）を構成するタスクの中に、タスク組合せの切替時に処理の完了を要求されているタスク（本発明の特定タスクに相当）が存在しなくなる（ステップＳＴ１３：No）。そして、そのようなタスクが存在しなくなれば（ステップＳＴ１３：No）、ステップＳＴ１４に移行して、組み合わせパターンを変更（切替）する組み合わせパターン変更処理が実行される。すなわち、実行が中止等されている全てのタスクについて実行完了を待たない状況となった場合に、タスク組合せが切り替えられる。そして、ＳＴ１１からＳＴ１４の処理はタスクスケジューリングによるタイミングが到来するごとに繰り返されることから、その切り替え後のタスク組合せを構成するタスクから実行タスクが選択され（ＳＴ１２）、この選択されたタスクがＣＰＵ１１０によりアプリケーションに基づいて継続実行される（本発明の実行部に相当）。
【００５４】
以上のようにして、この一実施形態による、アプリケーションの実行に伴うタスクにおけるスケジューリングが行われる。
（タスク組合せ登録要求処理）
次に、以上のようにして、新規タスク登録や、タスクスケジューリングが行われる際に用いられるタスク組合せ管理テーブル１３６への、タスクの登録方法について、説明する。図５に、この一実施形態によるタスク組合せの登録処理を示す。
【００５５】
図５に示すように、アプリケーションなどから、タスク組合せの登録要求がされた場合には、まず、ステップＳＴ２１において、登録要求された複数のタスクが登録可能であるか否かの判断が行われる。
【００５６】
ステップＳＴ２１において、登録要求された複数のタスクが、組合せとしてＱｏＳを維持しつつ実行することができない場合、すなわちＱｏＳ制御が実行不可の場合（ステップＳＴ２１：No）、タスク組合せ管理テーブル１３６への登録処理は終了する。
【００５７】
他方、ステップＳＴ２１において、タスク組合せがＱｏＳを維持しつつ実行可能な場合、すなわち登録要求された複数のタスクが登録可能である場合（ステップＳＴ２１：Yes）、ステップＳＴ２２に移行して、タスク組合せ管理テーブル１３６に登録可能であるか否かの判断が行われる。
【００５８】
そして、ステップＳＴ２２における登録の可否に関して、登録ができないと判断された場合、ステップＳＴ２３に移行して、登録不可通知が行われる。なお、この登録不可通知は、サービス品質を設定可能なタスク管理における管理メカニズムにおけるタスクの受付を行う部分（例えば、スケジューラやスケジューラタスク）に対して行われる。
【００５９】
他方、ステップＳＴ２２において、タスク組合せ管理テーブル１３６に登録可能と判断された場合には、ステップＳＴ２４に移行して、タスク組合せ管理テーブル１３６に、所定の識別可能なパターン番号が生成され、このパターン番号と、これに属する上述の少なくとも１つのタスクにおけるタスクＩＤ及びフラグflagからなるタスクリストとが登録される。そして、このようにして登録された各種タスク組合せが、上述したようにアプリケーションにより適切に選択され、実行される。
【００６０】
その後、ステップＳＴ２５に移行して、この登録されたパターン番号が、ＱｏＳを設定可能なタスク管理における管理メカニズムにおけるタスクを選択可能に構成されたスケジューラやスケジューラタスクに通知され、この一実施形態によるタスク組合せ登録の処理が終了する。以上のようにして、アプリケーションの起動時に、実行可能な範囲で、全てのＱｏＳタスクが、タスク組合せ管理テーブル１３６に登録される。
【００６１】
以上説明したように、この一実施形態によれば、アプリケーションの起動時に、このアプリケーションに用いられる全てのＱｏＳタスクのうちの、登録可能なＱｏＳタスク組合せを、タスク組合せ管理テーブル１３６に登録し、アプリケーションの実行時におけるタスクの実行時には、タスク組合せ管理テーブル１３６に登録されたタスクリストに基づいて、必要なタスク組合せのパターン番号を実行することにより、実行するアプリケーションのＱｏＳ制御のタスク組合せのパターンをあらかじめ抽出しておくことができ、ＱｏＳタスク１３４の処理に関して、そのタスク組合せが実行可能であるか否かを判断する時間が不要になる。
【００６２】
したがって、この判断に要する時間のロスを防止することができ、タスク組合せの切替時間を大幅に短縮することができる。また、計算時間が長くなることによりタスク制御が不能になったり、アプリケーションによるタスクの登録ができなくなったりすることを防止することができ、この抽出に基づいたタスクの管理、および実行中のタスク組合せをスムーズに変更することが可能となるので、アプリケーションのタスク予約の受付を確実に実行することができるとともに、効率的なスケジューリングを実行することができる。
【００６３】
また、処理を完了しなくてもよいタスク（タスク組合せの切替時に処理の完了を要求されていないタスク）への割当が省略されることから、タスク組合せの切替を迅速に行うことが可能となる。また、他の効果として、処理すべきでない処理（タスク組合せの切替時に処理の完了を要求されていないタスクの実行等）を行わずタスク組合せの切替が可能となる。
【００６４】
以上、この発明の一実施形態について具体的に説明したが、この発明は、上述の一実施形態に限定されるものではなく、この発明の技術的思想に基づく各種の変形が可能である。
【００６５】
例えば、上述の一実施形態において挙げたシステムの構成はあくまでも例に過ぎず、必要に応じてこれと異なるシステム構成を採用することも可能である。
また、例えば上述の一実施形態においては、リソース量として、使用環境におけるＣＰＵ１１０の使用時間を採用しているが、ＣＰＵのほかに記憶装置やメモリ、ビデオメモリ（図示せず）の使用時間および記憶容量、ネットワークの通信速度やネットワークサーバ
の記憶容量、メモリ容量など、特定のタスクを実行するために必要なハードウェア資源およびソフトウェア資源の全てを選択的に用いることが可能である。
【産業上の利用可能性】
【００６６】
本発明によれば、処理を完了しなくてもよいタスクへの割当が省略されることから、タスク組合せの切替を迅速に行うことが可能となる。また、他の効果として、処理すべきでない処理を行わずタスク組合せの切替が可能となる。
【図面の簡単な説明】
【００６７】
【図１】この発明の一実施形態によるタスク管理システムを示すブロック図である。
【図２】この発明の一実施形態によるタスク管理に用いられるタスク組合せ管理テーブルを示す図である。
【図３】この発明の一実施形態によるタスク管理方法の新規タスク登録方法を説明するためのフローチャートである。
【図４】この発明の一実施形態によるタスク管理方法のタスクの切替方法を説明するためのフローチャートである。
【図５】この発明の一実施形態によるタスク管理方法のタスク組合せ管理テーブルへの登録方法を示すフローチャートである。
【符号の説明】
【００６８】
１００  情報処理端末
１１０  中央処理装置（ＣＰＵ）
１２０  補助記憶装置
１３０  メモリ
１３１  スケジューラ
１３２  スケジューラタスク
１３３  時間起動通知用タスク
１３４  ＱｏＳタスク
１３５  タスク情報テーブル
１３５ａ  タスクＩＤ
１３５ｂ  起動タイミング
１３５ｃ  起動割当時間
１３６  タスク組合せ管理テーブル
【図１】
0004682513.tif 000002
【図２】
0004682513.tif 000003
【図３】
0004682513.tif 000004
【図４】
0004682513.tif 000005
【図５】
0004682513.tif 000006