(57)【要約】    【課題】  リソースの残量が減少した際に優先順位の低いタスクの実行によって優先順位の高いタスクの実行が妨げられることなくタスクの管理を行うことができるようにすること。    【解決手段】  本発明では、システム内でリソースを利用して実行する複数のタスクのうちから選択したいずれかのタスクを実行するようにタスクの管理を行うタスク管理方法において、複数のタスクを優先順位を定めた複数のグループに予め分けておき、リソースの残量に応じて所定の優先順位までのグループに属するタスクだけを選択するようにし、また、前記優先順位を定めたグループに属するタスクを他のグループに移動できるようにした。【選択図】      図１
2005115620.tif 000002
【特許請求の範囲】
【請求項１】
システム内でリソースを利用して実行する複数のタスクのうちから選択したいずれかのタスクを実行するようにタスクの管理を行うタスク管理方法において、
複数のタスクを優先順位を定めた複数のグループに予め分けておき、リソースの残量に応じて所定の優先順位までのグループに属するタスクだけを選択するようにしたことを特徴とするタスク管理方法。
【請求項２】
前記優先順位を定めたグループに属するタスクを他のグループに移動できるようにしたことを特徴とする請求項１に記載のタスク管理方法。
【請求項３】
リソースを利用して実行する複数のタスクのうちから選択したいずれかのタスクを実行するようにタスクの管理を行うタスク管理手段を有する電子機器において、
前記タスク管理手段は、複数のタスクを優先順位を定めた複数のグループに予め分けておき、リソースの残量に応じて所定の優先順位までのグループに属するタスクだけを選択するように構成したことを特徴とするタスク管理手段を有する電子機器。
【請求項４】
前記タスク管理手段は、前記優先順位を定めたグループに属するタスクを他のグループに移動できるように構成したことを特徴とする請求項３に記載のタスク管理手段を有する電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、タスク管理方法及びタスク管理手段を有する電子機器に関するものであり、特に、システム内でリソースを利用して実行する複数のタスクのうちから選択したいずれかのタスクを実行するようにタスクの管理を行うタスク管理方法、及びそのタスク管理方法を実行するためのタスク管理手段を有する電子機器に関するものである。
【背景技術】
【０００２】
近年の電子機器は、その多機能化に伴って複数の機能を実現するタスクを予め用意しておき、その中から選択されたタスクを順次実行するように構成している。
【０００３】
たとえば、携帯電話機では、通話機能を実現するための通話タスクやゲーム機能を実現するためのゲームタスクなどが用意されており、ユーザーからの指示に応じてシステムが複数のタスクからいずれかのタスクを選択し、そのタスクを実行するようにしている。
【０００４】
そして、タスクの実行は、システムが有する電源やメモリなどといったリソースを利用して行われることになる。
【０００５】
ここで問題となるのは、リソースが有限であるために、リソースの残量不足によって所望のタスクが実行できない場合が発生することであった。
【０００６】
そのため、従来の電子機器では、実行の要求のあったタスクが残存するリソースで実行できるか否かを判断し、実行できる場合だけそのタスクを実行するようにしたもの（たとえば、特許文献１参照。）や、予め全てのタスクに優先順位を設定しておき、リソースの残量にかかわらず常に優先順位の高いタスクから実行するようにしたもの（たとえば、特許文献２参照。）があった。
【特許文献１】特許第３０４５９８１号公報
【特許文献２】特開２０００−２９３３８６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ところが、上記した従来の電子機器にあっては、未だリソースの残量不足によって所望のタスクが実行できなくなるおそれがあった。
【０００８】
すなわち、特許文献１に開示されたリソース残量に応じて実行可能なタスクだけを実行するものでは、それほど重要ではないタスクの実行要求がなされた場合に、その重要でないタスクが残存するリソースで実行できるのであれば、そのタスクの実行が行われることになる。
【０００９】
そのため、重要でないタスクの実行によってリソースが消費されてしまい、その後に重要なタスクの実行要求がなされた場合に、その重要なタスクの実行がリソース不足で実行できなくなるおそれがあった。
【００１０】
また、特許文献２に開示された常に優先順位順にタスクの実行を行うものでは、優先順位の高い重要なタスクが実行される頻度は高くなるものの、優先順位の高い重要なタスクに対する実行要求がなされずに優先順位の低いそれほど重要ではないタスクに対する実行要求だけがなされた場合には、その優先順位の低いタスクの実行が行われることになる。
【００１１】
そのため、この場合も、重要でないタスクの実行によってリソースが消費されてしまい、その後に重要なタスクの実行要求がなされても、その重要なタスクの実行がリソース不足で実行できなくなるおそれがあった。
【００１２】
このように、上記した従来の電子機器にあっては、リソースの残量が低減してきた場合に、重要でないタスクの実行によってリソースが消費され、それによって重要なタスクの実行が妨げられてしまうおそれがあった。
【課題を解決するための手段】
【００１３】
そこで、請求項１に係る本発明では、システム内でリソースを利用して実行する複数のタスクのうちから選択したいずれかのタスクを実行するようにタスクの管理を行うタスク管理方法において、複数のタスクを優先順位を定めた複数のグループに予め分けておき、リソースの残量に応じて所定の優先順位までのグループに属するタスクだけを選択するようにした。
【００１４】
また、請求項２に係る本発明では、前記請求項１において、前記優先順位を定めたグループに属するタスクを他のグループに移動できるようにした。
【００１５】
また、請求項３に係る本発明では、リソースを利用して実行する複数のタスクのうちから選択したいずれかのタスクを実行するようにタスクの管理を行うタスク管理手段を有する電子機器において、前記タスク管理手段は、複数のタスクを優先順位を定めた複数のグループに予め分けておき、リソースの残量に応じて所定の優先順位までのグループに属するタスクだけを選択するように構成することにした。
【００１６】
また、請求項４に係る本発明では、前記請求項３に係る本発明において、前記タスク管理手段は、前記優先順位を定めたグループに属するタスクを他のグループに移動できるように構成することにした。
【発明の効果】
【００１７】
そして、本発明では、以下に記載する効果を奏する。
【００１８】
すなわち、請求項１に係る本発明では、システム内でリソースを利用して実行する複数のタスクのうちから選択したいずれかのタスクを実行するようにタスクの管理を行うタスク管理方法において、複数のタスクを優先順位を定めた複数のグループに予め分けておき、リソースの残量に応じて所定の優先順位までのグループに属するタスクだけを選択するようにしているため、リソースの残量が減少した際に優先順位の低いタスクの実行によって優先順位の高いタスクの実行が妨げられることなくタスクの管理を行うことができる。
【００１９】
また、請求項２に係る本発明では、優先順位を定めたグループに属するタスクを他のグループに移動できるようにしているため、システムやユーザーが任意にタスクの優先順位を変更することができるので、システムやユーザーに適したタスクの管理を行うことができる。
【００２０】
また、請求項３に係る本発明では、リソースを利用して実行する複数のタスクのうちから選択したいずれかのタスクを実行するようにタスクの管理を行うタスク管理手段を有する電子機器において、前記タスク管理手段は、複数のタスクを優先順位を定めた複数のグループに予め分けておき、リソースの残量に応じて所定の優先順位までのグループに属するタスクだけを選択するように構成することにしているため、リソースの残量が減少した際に優先順位の低いタスクの実行によって優先順位の高いタスクの実行が妨げられることがなくなり、電子機器の使い勝手を向上させることができる。
【００２１】
また、請求項４に係る本発明では、タスク管理手段は、前記優先順位を定めたグループに属するタスクを他のグループに移動できるように構成したため、システムやユーザーが任意にタスクの優先順位を変更することができ、システムやユーザーに適した電子機器とすることができる。
【発明を実施するための最良の形態】
【００２２】
本発明に係る電子機器は、システムの電源やメモリーなどといったリソースを使用して複数の機能を実現するためのタスク（たとえば、携帯電話機における通話タスクやゲームタスクやスケージュール管理タスクなど）を予め用意しておき、その中から選択されたタスクを順次実行するタスク管理手段を有するものである。
【００２３】
このタスク管理手段は、システム内でリソースを利用して実行する複数のタスクのうちから選択したいずれかのタスクを実行するようにタスクの管理を行うものである。
【００２４】
しかも、このタスク管理手段では、複数のタスクを優先順位を定めた複数のグループに予め分けておき、リソースの残量に応じて所定の優先順位までのグループに属するタスクだけを選択するようにしている。
【００２５】
すなわち、リソースの残量が所定量以上の場合には、全てのグループに属するタスクをタスク群の優先順位の高い順に実行し、その後、リソースの残量が所定量以下になった場合には、所定の優先順位よりも高いグループに属するタスクだけをタスク群の優先順位の高い順に実行するようにしている。
【００２６】
そして、各優先順位のグループ（タスク群）に属するタスクは、システム又はユーザーが任意に他のグループに移動できるようにしている。
【００２７】
このように、本発明では、リソースの残量に応じて所定の優先順位までのグループに属するタスクだけを選択するようにしているため、リソースの残量が減少した際に優先順位の低いタスクの実行によって優先順位の高いタスクの実行が妨げられることなくタスクの管理を行うことができる。
【００２８】
特に、優先順位を定めたグループに属するタスクを他のグループに移動できるようにした場合には、システムやユーザーが任意にタスクの優先順位を変更することができるので、システムやユーザーに適したタスクの管理を行うことができる。
【００２９】
以下に、本発明に係る電子機器の具体的な構成について図面を参照しながら説明する。なお、電子機器には、携帯電話機、携帯端末機、デジタルカメラ・デジタルビデオカメラなどの画像処理機器、音声機器などの各種電子機器が含まれる。また、以下の説明では、リソースとして電源を例に説明しているが、リソースとしては、これに限られず、メモリーやコンデンサなどのシステムで使用するあらゆるリソースが含まれる。
【００３０】
図１は、本発明に係る電子機器１を模式的に示すブロック図であり、電子機器１は、ＣＰＵ２に各種の周辺回路3,4とメモリ等の記録媒体５と入出力インターフェイス６とをシステムバス10を介して接続している。この入力インターフェイス６には、キーボード等の入力装置７を接続して外部からの入力が行えるようになっている。
【００３１】
また、電子機器１は、電源としての電池９の残量を検出するための電池残量情報取得回路８をシステムバス10を介して接続している。この電池残量情報取得回路８は、電池９の電極に接続されており、また、ＣＰＵ２にプロセッサポート11を介して直接的に接続されている。
【００３２】
この電子機器１は、ＣＰＵ２によって各種の制御を行って動作するように構成しており、システム又はユーザーから要求されたタスクを以下に記載するタスク管理方法を用いて実行するようにしている。なお、以下のタスク管理は、ＣＰＵ２で実行されるソフトウェアによるものに限られず、各種の専用回路で構成したハードウェアによるものでもよい。
【００３３】
すなわち、電子機器１は、システム又はユーザーからタスクの要求があった場合には、予め所定のタスクキューに要求されたタスクを順次格納しておき、所定のタイミングでタスクキューに格納されているタスクを選択し、その後、そのタスクを実行するようにしている。
【００３４】
ここで、電子機器１で実行できるタスク（Ｔ０〜Ｔ12）は、たとえば表１に示すように、予め所定の優先順位が設定されている。なお、優先順位は、５、４、３、２、１、０の順で高くなるようにしている。
【００３５】
【表１】
2005115620.tif 000003
また、各タスクには、たとえば表２に示すように、予めエネルギー制限、サイクル制限、実行時間制限が定められている。なお、表２において、各タスクのサイクル数は、（実行時間）ｘ（動作周波数）で算出され、そのときに消費するエネルギーは、（タスクの実行に要した時間）ｘ（（プロセッサの消費電力）＋（周辺回路の消費電力））で算出され、プロセッサの動作周波数を５０ＭＨｚ、プロセッサの消費電力を１Ｗとしている。
【００３６】
【表２】
2005115620.tif 000004
また、図２に示すように、各優先順位ごとにタスクキューを設けており、タスクの要求があった場合には、そのタスクに対して設定されている優先順位のタスクキューに要求のあったタスクを格納するようにしている。
【００３７】
そして、電子機器１は、図３に示すように、まず、電池残量情報取得回路８を用いて電池９の残量を取得する（ステップＳ１）。
【００３８】
次に、ステップＳ１で取得した電池残量に基づいて、リソースレベルを決定する（ステップＳ２）。ここで、リソースレベルは、たとえば表３に示すように、電池残量に対応した予め設定されたレベルを表している。
【００３９】
【表３】
2005115620.tif 000005
次に、ステップＳ２で決定したリソースレベルに基づいて、実行可能な優先順位を決定する（ステップＳ３）。ここで、実行可能な優先順位は、たとえば表４に示すように、リソースレベルごとに予め設定されている。
【００４０】
【表４】
2005115620.tif 000006
次に、実行可能な優先順位までのタスクキューに格納されているタスクの中から実行するタスクを優先順位の高い順に選択する（ステップＳ４）。
【００４１】
たとえば、ステップＳ１で取得した電池残量が６２％であった場合には、表３からリソースレベルが１と決定され、表４から実行可能な優先順位が１と決定され、各優先順位のタスクキューに図２に例示するようなタスクが格納されているとすると、優先順位が０及び１のタスクキューに格納されているタスクＴ０とＴ２を優先順位が高い順、すなわち、Ｔ０、Ｔ２の順に選択する。
【００４２】
最後に、ステップＳ４で選択されたタスクを優先順位の高い順に実行する（ステップＳ５）。たとえば、先の例の場合には、優先順位が０及び１のタスクキューに格納されているタスクＴ０とＴ２を優先順位が高い順、すなわち、Ｔ０、Ｔ２の順に実行する。
【００４３】
このようにして、電子機器１は、システム内でリソースを利用して実行する複数のタスクのうちから選択したいずれかのタスクを実行するようにタスクの管理を行っている。
【００４４】
そして、図３に示したタスク管理方法では、複数のタスクを優先順位を定めた複数のグループに予め分けておき、リソースの残量に応じて所定の優先順位までのグループに属するタスクだけを選択するようにしている。
【００４５】
そのため、リソースの残量が減少した際に優先順位の低いタスクの実行によって優先順位の高いタスクの実行が妨げられることなくタスクの管理を行うことができる。
【００４６】
そして、図３に示したタスク管理方法では、優先順位を定めたグループに属するタスクが予め設定してある場合について説明したが、優先順位を定めたグループに属するタスクをシステムやユーザーが任意に他のグループに移動できるようにすることもできる。
【００４７】
すなわち、図４に示すように、まず、ユーザー又はシステムからタスクの要求（ステップＳ１１）があった場合に、前記ステップＳ１〜ステップＳ３と同様の電池残量情報の取得（ステップＳ１２）、リソースレベルの決定（ステップＳ１３）、実行可能な優先順位の決定（ステップＳ１４）を行う。
【００４８】
その後、ステップＳ１１で要求されたタスクが実行可能な優先順位に属していて実行が可能かどうかを判断する（ステップＳ１５）。
【００４９】
そして、実行可能と判断した場合には、そのままそのタスクを実行する（ステップＳ１６）。
【００５０】
一方、実行不可能と判断した場合には、実行要求のあったシステム又はユーザーにそのタスクの実行を行わなくてもいいかどうかを確認する（ステップＳ１７）。
【００５１】
そして、システム又はユーザーから実行を強制する要求があった場合には、そのタスクの優先順位を変更し（ステップＳ１８）、その後、そのタスクを実行する（ステップＳ１６）。
【００５２】
一方、システム又はユーザーから実行を強制する要求がなかった場合には、そのタスクの実行は行わない。
【００５３】
たとえば、先の例で説明すると、電池残量が６２％のときに、タスクＴ１の実行要求があった場合には、そのタスクを実行し、タスクＴ５の要求があった場合には、強制実行の要求があったときに限りタスクＴ５の優先順位を０又は１に変更して、その実行を行う。
【００５４】
このようにして、図４に示したタスク管理方法では、優先順位を定めたグループに属するタスクをシステムやユーザーが任意に他のグループに移動できるようにしている。
【００５５】
そのため、システムやユーザーが任意にタスクの優先順位を変更することができるので、システムやユーザーに適したタスクの管理を行うことができる。
【００５６】
また、図３に示したタスク管理方法では、選択されたタスクをステップＳ５で必ず実行するようにしていたが、選択されたタスクの実行が完了できるかどうかを電池残量とタスクのエネルギー制限とに基づいて判断し、完了可能な場合には、そのまま実行し、完了不可能な場合には、強制実行の要求があったときだけ実行するようにしてもよい。
【００５７】
すなわち、図５に示すように、まず、前記ステップＳ１〜ステップＳ４と同様の電池残量情報の取得（ステップＳ２１）、リソースレベルの決定（ステップＳ２２）、実行可能な優先順位の決定（ステップＳ２３）、タスクの選択（ステップＳ２４）を行う。
【００５８】
次に、ステップＳ２４で選択されたタスクの実行が完了できるかどうかを電池残量とタスクのエネルギー制限とに基づいて判断する（ステップＳ２５）。
【００５９】
そして、完了可能と判断した場合には、そのままそのタスクを実行する（ステップＳ２６）。
【００６０】
一方、完了不可能と判断した場合には、実行要求のあったシステム又はユーザーにそのタスクの実行を行わなくてもいいかどうかを確認する（ステップＳ２７）。
【００６１】
そして、システム又はユーザーから実行を強制する要求があった場合には、そのタスクを実行する（ステップＳ２６）。
【００６２】
一方、システム又はユーザーから実行を強制する要求がなかった場合には、そのタスクの実行は行わない。
【００６３】
たとえば、先の例で説明すると、電池残量が６２％のときに、タスクＴ２が選択された場合は、電池残量が１００００ジュール以上のときには、そのタスクを実行し、電池残量が１００００ジュール未満のときには、強制実行の要求があったときに限りその実行を行う。
【００６４】
このようにして、図５に示したタスク管理方法では、選択されたタスクの実行が完了不可能な場合には、強制実行の要求があったときだけ実行するようにしている。
【００６５】
そのため、システム又はユーザーが認識していないにもかかわらず不意にタスクの実行が未完了のままリソース不足で終了してしまうことを防止することができる。
【図面の簡単な説明】
【００６６】
【図１】本発明に係る電子機器を模式的に示すブロック図。
【図２】タスクキューを模式的に示す説明図。
【図３】タスク管理方法を示すフローチャート。
【図４】タスク管理方法を示すフローチャート。
【図５】タスク管理方法を示すフローチャート。
【符号の説明】
【００６７】
１  電子機器
２  ＣＰＵ
3,4  周辺回路
５  記録媒体
６  入出力インターフェース
７  電池残量情報取得回路
８  電池
９  システムバス
10  プロセッサーポート
【図１】
2005115620.tif 000007
【図２】
2005115620.tif 000008
【図３】
2005115620.tif 000009
【図４】
2005115620.tif 000010
【図５】
2005115620.tif 000011