"ユーザと、ユーザの周辺状況に関する情報をコンテキスト情報として生成するコンテキスト生成部と、ユーザが実行しようとするタスクを複数保持し、前記コンテキスト情報、およびあらかじめ定めたタスクの選択ルールにしたがってタスクを選択し、当該タスクの実行を制御するタスク管理部と、前記タスクの実行に用いる機器が実行するサービスを確認し、前記タスク管理部が選択したタスクの実行に対応するサービスを前記機器に通知し、実行させるサービス管理部と、を備え、前記タスク管理部は、前記タスクの選択ルールとして、タスクの優先度、および前記タスク同士間であらかじめ設定した実行に関するタスク間の依存関係の情報を用いてタスクを選択することを特徴とするタスク実行制御装置。前記タスク管理部は、前記コンテキスト情報と、前記タスクの選択ルールを参照し、複数の前記タスクについて、実行のスケジューリング、および割り込み制御をおこなうタスクスケジューラを有することを特徴とする請求項1に記載のタスク実行制御装置。前記タスク管理部は、前記タスクの実行にあわせて所定のタイミングで前記コンテキスト情報を受信するための制御命令を保持するコンテキスト取得制御情報保存部と、ユーザが実行すべき複数のタスクを保持する登録タスク保存部と、前記タスクの選択ルールを保持するタスク選択ルール保存部と、前記コンテキスト情報と、前記タスクの選択ルールに基づき、前記登録タスク保存部に保持された複数のタスクのうち、最優先で実行すべきタスクを選択するタスク選択部と、を備えたことを特徴とする請求項1に記載のタスク実行制御装置。前記サービス管理部は、前記機器が実行するサービスを一時的に保持しておく利用可能サービスキャッシュと、前記機器が現在利用可能なサービスを確認する利用可能サービス確認部と、前記タスクと前記サービスとの対応関係を保持するタスクサービス対応関係保存部と、前記タスクサービス対応関係保存部に保持された前記サービスのうち、前記利用可能サービス確認部により現在利用可能なサービスについて、前記タスク管理部が選択した前記タスクを前記機器により実行可能かを確認するタスクサービス確認部と、を備えたことを特徴とする請求項1に記載のタスク実行制御装置。前記サービス管理部は、前記タスクを実行するために前記機器を制御するソフトウェアであるタスクコントローラを保持するタスクコントローラ保存部と、前記タスク管理部が選択した前記タスクに対応する実行用のタスクコントローラを前記機器に送信するタスクコントローラ管理部と、を備えたことを特徴とする請求項1に記載のタスク実行制御装置。前記サービス管理部は、前記機器が前記機器の周辺に存在する他の機器が実行可能なサービスを発見した際の通知に基づき、当該サービスの情報を前記利用可能サービスキャッシュに保持することを特徴とする請求項4に記載のタスク実行制御装置。前記サービス管理部は、前記機器と、当該機器が実行可能なサービスの定義を保持し、前記機器により発見した他の機器が実行可能なサービスを参照可能とするデバイスサービス定義情報保存部を有することを特徴とする請求項4に記載のタスク実行制御装置。前記機器に搭載された計測用のセンサ、および前記サービスの情報を集約し、前記コンテキスト生成部における前記コンテキスト情報に用いる情報として通知するセンサ端末情報集約部を備えたことを特徴とする請求項1に記載のタスク実行制御装置。前記タスクスケジューラは、タスクの実行条件が満たされたが、当該タスクの実行に対応するサービスが発見できないために未実行となったタスクに関して、周期的に優先度の高いものから順に、前記コンテキスト生成部に対するタスクの実行条件が満たされている確認要求と、前記サービス管理部に対する、タスクの実行可否判定を要求して、最も優先度の高いタスクからの実行を待つことを特徴とする請求項2に記載のタスク実行制御装置。前記タスクスケジューラは、前記コンテキスト生成部の前記コンテキスト情報と、現在タスクの実行条件の確認に基づき、実行条件が満たされていない前記タスクが存在した場合には、前記コンテキスト生成部に対して当該タスクの実行条件を再設定し、当該タスクを再度実行可能な状態にすることを特徴とする請求項2に記載のタスク実行制御装置。前記タスクスケジューラは、前記機器から当該端末の停止要求を受信すると、当該端末へのタスクの起動/中断/再開制御を停止することを特徴とする請求項2に記載のタスク実行制御装置。サーバ装置と、機器とを備えたタスク実行制御システムにおいて、前記サーバ装置は、ユーザと、ユーザの周辺状況に関する情報をコンテキスト情報として生成するコンテキスト生成部と、ユーザが実行しようとするタスクを複数保持し、前記コンテキスト情報、およびあらかじめ定めたタスクの選択ルールにしたがってタスクを選択し、当該タスクの実行を制御するタスク管理部と、前記タスクの実行に用いる機器が実行するサービスを確認し、前記タスク管理部が選択したタスクの実行に対応するサービスを前記機器に通知し、実行させるサービス管理部と、を備え、前記タスク管理部は、前記タスクの選択ルールとして、タスクの優先度、および前記タスク同士間であらかじめ設定した実行に関するタスク間の依存関係の情報を用いてタスクを選択し、前記機器は、自機器および周辺に存在する他の機器のサービスを発見して、当該サービス情報を前記サーバ装置に通知し、当該サーバ装置からの命令もしくはプログラムにしたがって前記機器による前記サービスの制御をおこなう周辺機器連携部を備えたことを特徴とするタスク実行制御システム。前記機器は、前記サーバ装置と情報をやりとりする端末と、前記端末を介して前記サービスを実行する周辺機器と、を備え、前記周辺機器は、存在と機器情報を前記端末に通知する応答広告部と、前記端末からの制御情報にしたがい、前記サービスを実行する被制御部とを有し、前記コンテキスト情報に基づき、前記サービスに対応する前記周辺機器を用いることを特徴とする請求項12に記載のタスク実行制御システム。ユーザと、ユーザの周辺状況に関する情報をコンテキスト情報として生成するコンテキスト生成工程と、ユーザが実行しようとするタスクを複数保持し、前記コンテキスト情報、およびあらかじめ定めたタスクの選択ルールにしたがってタスクを選択し、当該タスクの実行を制御するタスク管理工程と、前記タスクの実行に用いる機器が実行するサービスを確認し、前記タスク管理工程により選択したタスクの実行に対応するサービスを前記機器に通知し、実行させるサービス管理工程と、を含み、前記タスク管理工程は、前記タスクの選択ルールとして、タスクの優先度、および前記タスク同士間であらかじめ設定した実行に関するタスク間の依存関係の情報を用いてタスクを選択することを特徴とするタスク実行制御方法。前記タスク管理工程は、前記コンテキスト情報と、前記タスクの選択ルールを参照し、複数の前記タスクについて、実行のスケジューリング、および割り込み制御をおこなうことを特徴とする請求項14に記載のタスク実行制御方法。しかしながら、上記の従来技術では、タスクを実行するための周辺機器が提供するサービスの確認をおこなうことができず、周辺機器が提供するサービスによって適切なタスクを選択することができない。上記のサービスとは、周辺機器が提供する粒度の小さい機能であり、たとえば、UPnPUniversalPlugandPlayにおけるサービスであり、具体的には、プリンタがおこなう印刷サービス等がある。また、従来技術は、単一のタスク実行のみを考慮したシステムであるため、複数のタスクがある場合に、ユーザのコンテキストを考慮した順でタスクを選択実行することができず、ユーザが所望するサービスを効率的に実行することができなかった。ユーザが所望するサービスは、複数のタスクの組み合わせのサービスであったり、ユーザが移動しながら移動先毎に異なるサービスを受けることなどが想定できるが、これを支援することができなかった。開示のタスク実行制御装置、タスク実行制御システムおよびタスク実行制御方法は、上述した問題点を解消するものであり、ユーザの状況に応じてユーザが所望するタスクを効率的に実行できることを目的とする。上述した課題を解決し、目的を達成するため、開示技術は、ユーザと、ユーザの周辺状況に関する情報をコンテキスト情報として生成するコンテキスト生成部と、ユーザが実行しようとするタスクを複数保持し、前記コンテキスト情報、およびあらかじめ定めたタスクの選択ルールにしたがってタスクを選択し、当該タスクの実行を制御するタスク管理部と、前記タスクの実行に用いる機器が実行するサービスを確認し、前記タスク管理部が選択したタスクの実行に対応するサービスを前記機器に通知し、実行させるサービス管理部と、を含み、前記タスク管理部は、前記タスクの選択ルールとして、タスクの優先度、および前記タスク同士間であらかじめ設定した実行に関するタスク間の依存関係の情報を用いてタスクを選択する。開示のタスク実行制御装置、タスク実行制御システムおよびタスク実行制御方法によれば、ユーザの状況に応じてユーザが所望するタスクを効率的に実行できるという効果を奏する。以下に添付図面を参照して、開示技術の好適な実施の形態を詳細に説明する。開示の技術は、ユーザのタスク実行を制御する。たとえば、タスク実行制御を統括するタスク実行制御装置は、以下の制御処理をおこなう。1.ユーザのコンテキストを生成する。2.タスク管理機能は、ユーザのコンテキストに基づき、実行すべきタスクを選択する。各タスクには、選択ルール優先度やタスクフローを示すタスク間同士の実行に関する依存関係を設定しておく。3.サービス管理機能は、最終的な出力デバイス端末や周辺機器等が有する利用可能サービス情報に基づき、タスクの実行可否を判断する。4.周辺機器制御機能により、端末で実行するアプリケーションや、周辺機器を制御し、周辺機器でタスクを実行し、ユーザのコンテキストに対応したサービスを提供する。タスク実行制御システムの全体構成図図1は、実施の形態にかかるタスク実行制御システムの概要構成を示す図である。タスク実行制御システム100は、サーバ装置101と、複数の端末102と、複数の周辺機器被制御機器103と、を含む。これらサーバ装置101と、端末102と、周辺機器103とは、互いに情報通信ネットワーク104によって接続され、各種情報の交換をおこなう。情報通信ネットワークは有線ネットワークでも無線ネットワークでもよい。サーバ装置101は、複数の端末102、および複数の周辺機器103と通信が可能なコンピュータであり、コンテキスト生成、タスク管理、サービス管理等の機能を有する。サーバ装置101内の各機能は、ROM、RAM等に格納されたソフトウェアをCPUにより実行することにより実現できる。これに限らず、ハードウェアにより実現することもできる。端末102は、ユーザが所有する、情報通信部とコンピュータ処理部と、を含む装置であり、たとえば、パーソナルコンピュータやノートパーソナルコンピュータなどのPC、携帯電話、PDA、スマートフォンなどからなる。端末102には、位置を計測するGPSや加速度を検出する加速度センサなどの端末内蔵センサ112を備えてもよく、端末内蔵センサ112が計測した情報を集約し、サーバ装置101へ送ることにより、サーバ装置101におけるコンテキスト生成の情報として用いることができる。1つの端末102は、情報通信ネットワーク104を通じて複数の周辺機器103と通信をおこなうことが可能である。端末102内の各機能は、ROM、RAM等に格納されたソフトウェアをCPUにより実行することにより実現できる。これに限らず、ハードウェアにより実現することもできる。周辺機器103は、情報通信部と、情報通信ネットワーク104からの情報により周辺機器103が有する各種機能を動作させることが可能な被制御部113を具備し、たとえば、コンピュータやプリンタ、プロジェクタ、テレビ、照明などからなる。周辺機器103についても、GPSや加速度センサなどの機器内蔵センサ114を具備していてもよい。機器内蔵センサ114が計測した情報を集約してサーバ装置101へ送ることにより、サーバ装置101におけるコンテキスト生成の情報として用いることができる。また、ユーザが所有する端末102についても、周辺機器103として用いることができる。実施の形態1図2は、実施の形態1にかかるタスク実行制御システムの詳細構成を示す図である。以下、タスク実行制御システム100のサーバ装置101と、端末102と、周辺機器103の内部機能について説明する。サーバ装置サーバ装置101は、コンテキスト生成部201と、タスク管理部202と、サービス管理部203と、センサ端末情報集約部204と、を含む。コンテキスト生成部201は、ユーザやその周囲の状況コンテキストを判断し、ユーザやその周囲の状況の情報コンテキストを生成する。コンテキストは、たとえば、場所や時間、ユーザの行為、身体の状態、能力、ユーザの周辺の環境などである。また、スケジュールや実施すべき仕事の情報など、ユーザが従事する業務に関連する情報なども含まれる。生成したコンテキスト情報は、タスク管理部202に出力される。タスク管理部202は、タスク情報を保持し、ユーザのコンテキストや周辺機器103の情報にしたがってタスク実行を制御する。タスク管理部202は、コンテキスト取得制御情報保存部211と、登録タスク保存部212と、タスク選択ルール保存部213と、タスク選択部214と、を含む。コンテキスト取得制御情報保存部211は、コンテキストの粒度やコンテキストの取得タイミングをコンテキスト取得制御情報としてコンテキスト生成部201に通知する。登録タスク保存部212は、ユーザが登録するタスクの一覧を格納する。タスク選択ルール保存部213は、タスクの優先順位や業務フローに基づいて、どのような順番でタスクを実行するかを設定する。タスク選択部214は、コンテキスト生成部201から通知されたコンテキスト情報を元に、登録タスク保存部212からタスク選択ルールに基づいて実行タスクを選択し、タスクスケジューラ214aによってタスク実行のスケジューリングをおこなう。タスク選択ルールは、タスク毎にタスクIDを付して、各タスク毎に、コンテキスト条件と、各タスクの優先度優先順位と、各タスクが有する他のタスクに対する依存状態を示す依存タスク情報依存タスクID等を関連付けたテーブル形式とされている。タスクIDは、個々のタスクを識別するためのIDである。コンテキスト条件は、コンテキスト生成部201からの情報と照合する条件であり、条件に一致しているときに、該当するタスクを実行する。優先度は、実行可能なタスクが複数存在する場合に、優先度が高いタスクから順に実行するために設定される。依存タスクIDは、このタスクを実行する際に、終了していなければならない他のタスクのIDである。サービス管理部203は、周辺機器103の利用可能なサービスを確認してタスク管理部202に通知し、タスク管理部202が選択したタスクを実行するために、必要なサービスを利用するための命令、もしくはプログラムを端末102に通知する。サービス管理部203は、タスクサービス対応関係保存部221、利用可能サービスキャッシュ222、利用可能サービス確認部223、タスクサービス確認部224、タスクコントローラ保存部225、タスクコントローラ管理部226、デバイスサービス定義情報保存部227と、を含む。タスクサービス対応関係保存部221は、各タスクを実行するために必要なサービスの対応関係情報を格納する。テーブル参照により、タスクとサービスとの関連付けを得ることができる。利用可能サービスキャッシュ222は、端末102から通知された、端末102周辺の周辺機器103において利用可能なサービスを一時的に格納する。利用可能サービス確認部223は、タスクを実行するためのサービスが存在するかを利用可能サービスキャッシュ222を参照して確認し、該当サービスが存在しなければ端末102へ検索要求をおこなう。タスクサービス確認部224は、タスク管理部202から通知されたタスクが実行可能であるかを確認するため、タスクサービス対応関係保存部221からタスクに対応するサービス情報を取得し、利用可能サービス確認部223から得られたサービス情報と照合する。タスクコントローラ保存部225は、タスクを実行するためのタスクコントローラを格納する。このタスクコントローラは、タスクを実行するためのサービスを制御するソフトウェアである。1つのタスクコントローラは、複数のサービスを制御することもできる。タスクコントローラ管理部226は、タスクが実行可能であれば、タスクコントローラ保存部225から対応するタスクコントローラを取得し、端末102へ送信する。デバイスサービス定義情報保存部227は、周辺機器103のデバイスサービス定義を格納し、端末102に通知する。ここで、デバイスサービス定義とは、周辺機器103がどのような種類のもので、周辺機器103の被制御部113がどのようなサービスを提供可能か記述したデータ、もしくはサービスを記録したファイルであり、たとえば、UPnPにおけるデバイス定義、サービス定義を記述したXMLファイルからなる。センサ端末情報集約部204は、端末102もしくは周辺機器103から通知されたセンサ情報、あるいは利用可能サービス確認部223から通知された周辺機器103の利用可能サービスの情報に基づきデータ集約をおこない、コンテキスト生成のための情報としてコンテキスト生成部201へ通知する。端末端末102は、端末内蔵センサ112と、周辺機器連携部231と、センサ端末情報集約部232と、を含む。周辺機器連携部231は、端末102の周辺に存在する周辺機器103のサービスを発見してサーバ装置101に通知し、サーバ装置101からの命令、もしくはプログラムにしたがって周辺機器103の制御をおこなう。周辺機器連携部231は、サービス発見通知部233と、タスクコントローラ実行部234と、を含む。サービス発見通知部233は、端末102の周辺の周辺機器103のサービスを発見し、サーバ装置101へ通知する。サービスの発見は、たとえば、UPnPにおけるM-SEARCHを用いる。タスクコントローラ実行部234は、サーバ装置101から通知されたタスクコントローラをダウンロードし、周辺機器103の制御、およびアプリケーション235の実行を統括する。センサ端末情報集約部232は、端末102の周辺の周辺機器103の機器内蔵センサ114のセンサ情報からデータを収集して集約をおこない、サーバ装置101へ通知する。周辺機器周辺機器103は、被制御部113と、機器内蔵センサ114と、応答広告部241と、を含む。応答広告部241は、周辺機器103の周辺の端末102からの機器検索メッセージに対して応答をおこない、定期的に自身の存在や機器情報を端末102に広告する。被制御部113は、端末102からの制御命令にしたがい、周辺機器103が有する機能を制御する。サーバ装置の処理内容センサ端末情報集約部の処理についてつぎに、上記構成における情報収集処理について説明する。図3は、情報収集機能を説明するブロック図である。図3を用いて、サーバ装置101および端末102に設けられるセンサ端末情報集約部204,232におけるセンサ情報収集の処理を説明する。端末102のセンサ端末情報集約部232により集約されたセンサ情報は、サーバ装置101のセンサ端末情報集約部204に収集され、端末102内のセンサ端末情報集約部232と同様の処理をおこなう。端末102で集約されたセンサ情報は、サーバ装置101内のセンサ端末情報集約部204に直接通知せず、別の端末102内のセンサ端末情報集約部232によりセンサ情報を集約してからサーバ装置101へ集約した情報を送信することも可能である。また、周辺機器103内の機器内蔵センサ114で計測されたデータは、端末102のセンサ端末情報集約部232に通知せず、直接、サーバ装置101内のセンサ端末情報集約部204に通知することもできる。端末102のセンサ端末情報集約部232は、サーバ装置101へのセンサ情報転送にかかるトラフィック量の削減、および、データ処理量の削減のために、計測データを集約することができる。データの集約例は、たとえば、センサ端末情報集約部232は、時刻10:00:00に計測したデータと、時刻10:00:05に計測したデータの平均値をとる。そして、センサ端末情報集約部232は、10:00:00と10:00:05のデータを、算出した値により新たに10:00:00のデータに置き換える。これにより、2つのデータを1つのデータとして集約し、データサイズを小さくし、サーバ装置101に転送する。コンテキスト生成部の処理について図4は、コンテキスト生成部の処理を説明する図である。サーバ装置101のコンテキスト生成部201におけるコンテキストの生成と、タスク管理部202へのコンテキスト情報通知について説明する。コンテキスト生成部201は、センサ端末情報集約部204からセンサ情報と、周辺機器103の情報を取得する。また、コンテキスト取得制御情報保存部211からコンテキスト取得制御情報を取得する。そして、これらセンサ情報と、周辺機器103の情報と、コンテキスト取得制御情報とに基づき、コンテキストを生成し、タスク選択部214に送る。図5は、コンテキスト生成部の処理を示すフローチャートである。コンテキスト生成部201は、はじめに、センサ端末情報集約部204からセンサ情報や周辺機器103の情報を取得するステップS501。つぎに、取得した情報を元に、コンテキストの生成をおこなうステップS502。つぎに、タスク管理部202よりコンテキスト取得制御情報を受信済みであるか判断しステップS503、受信済みであればステップS503:Yes、現在、コンテキスト制御情報のコンテキスト取得タイミングであるかを判断するステップS504。コンテキスト取得タイミングであればステップS504:Yes、コンテキストをコンテキスト取得制御情報に基づき加工抽象化もしくは具体化しステップS505、タスク管理部202へコンテキスト情報を通知するステップS506。一方、現在、タスク管理部202のコンテキスト取得タイミングでなければステップS504:No、処理を終了し、次回のコンテキスト取得タイミング時に再度ステップS501以降の処理を実行する。また、ステップS503の判断の結果、タスク管理部202よりコンテキスト取得制御情報を受信済みでなければステップS503:No、タスク管理部202よりコンテキスト取得制御情報を受信するステップS507。そして、ステップS504以降の処理を実行する。タスク管理部の処理について図6は、タスク管理部の処理を説明する図である。タスク管理部202がおこなうタスクの選択と、サービス管理部203へのタスク情報の通知の処理について説明する。タスク選択部214は、コンテキスト情報と、タスク選択ルール保存部213に保存されたタスク選択ルール優先度や依存タスクID等の情報を含むに基づき、登録タスク保存部212より実行するタスクを選択する。そして、タスク選択部214は、タスク管理部202タスクサービス確認部224の情報により実行可能なタスクが1つ以上存在する場合、選択したタスクのうち、最も優先順位が高いタスクの情報をサービス管理部203へ送信する。サーバ装置101タスク管理部202には、管理者端末102aが接続され、コンテキスト取得制御情報をコンテキスト取得制御情報保存部211に保存する。また、タスク情報を登録タスク保存部212に保存する。また、タスクの優先度優先順位や、依存タスク依存タスクIDの情報をタスク選択ルール保存部213に保存する。図7は、タスク管理部の処理を示すフローチャートである。タスク管理部202のタスク選択部214が実行する処理について説明する。はじめに、タスク選択部214は、コンテキスト情報をコンテキスト生成部201から取得するまで待機しステップS701、コンテキスト情報をコンテキスト生成部201から取得するステップS702。つぎに、タスク選択部214は、タスク選択ルールのテーブルに、受信したコンテキスト情報と一致するデータが存在するか判断するステップS703。タスク選択部214は、一致するデータが存在すればステップS703:Yes、この一致するデータのうち、依存タスクIDのタスクが終了しているものが存在するか判断するステップS704。そして、タスク選択部214は、依存タスクIDのタスクが終了しているものが存在すればステップS704:Yes、依存タスクIDのタスクが終了しているタスクを選択し、そのうち、最も優先順位が高いタスクの情報をサービス管理部203へ送信するステップS705。一方、タスク選択部214は、ステップS703において、受信したコンテキスト情報と一致するデータが存在しない場合ステップS703:No、およびステップS704において、依存タスクIDのタスクが終了しているものが存在しない場合ステップS704:Noには、今回のタスク選択の処理を終了する。タスク選択部214は、ステップS705の処理後、サービス管理部203よりタスク実行不可メッセージを受信したか判断するステップS706。タスク実行不可メッセージを受信した場合にはステップS706:Yes、タスク選択部214は、登録タスク保存部212のタスク情報のうち実行不可タスクを除いたものの中から、コンテキスト情報とタスク選択ルールに基づき、実行するタスクを再度選択しステップS707、ステップS703に戻る。一方、サービス管理部203よりタスク実行不可メッセージを受信しなかった場合はステップS706:No、今回のタスク選択の処理を終了する。サービス管理部について図8は、サービス管理部の処理を説明する図である。サービス管理部203におけるサービスの確認と、タスクコントローラの送信の処理について説明する。タスクサービス確認部224は、タスク管理部202タスク選択部214から通知されたタスクの情報を得る。また、タスクサービス対応関係保存部221からタスクに対応するサービス情報を取得し、利用可能サービス確認部223からサービス情報を得る。これらの情報により、タスクサービス確認部224は、通知されたタスクが実行可能であるかサービス情報と照合する。タスクコントローラ管理部226では、タスクサービス確認部224から実行可能なタスク情報実行タスク情報を得て、タスクコントローラ保存部225から対応するタスクコントローラを取得し、端末102へ送信する。デバイスサービス定義情報保存部227では、周辺機器103のデバイスサービス定義を格納しており、端末102により、端末102が発見した周辺機器103のサービスをデバイスサービス定義情報保存部227を参照して通知を得る。利用可能サービスキャッシュ222は、端末102からの機器サービス情報を格納し、利用可能サービス確認部223により利用サービスの確認時に参照される。利用可能サービスキャッシュ222に格納された機器サービス情報は、一定時間後に削除される。サーバ装置101サービス管理部203には、管理者端末102aが接続され、タスクと、サービスの関連付けの情報をタスクサービス対応関係保存部221に保存する。また、タスクコントローラをタスクコントローラ保存部225に保存する。また、デバイスサービス定義をデバイスサービス定義情報保存部227に保存する。図9は、サービス管理部の処理を示すフローチャートである。サービス管理部203が実行する処理について説明する。はじめに、タスクサービス確認部224は、タスク情報をタスク管理部202から取得するまで待機しステップS901、タスク情報をタスク管理部202から取得するステップS902。つぎに、タスクサービス確認部224は、タスクサービス対応関係保存部221より、このタスクを実行するためのサービスを取得するステップS903。つぎに、タスクサービス確認部224は、利用可能サービス確認部223を介して、利用可能サービスキャッシュ222に、このサービス情報が存在するか確認するステップS904。サービス情報が存在する場合にはステップS904:Yes、タスクコントローラ管理部226は、タスクコントローラ保存部225よりこのタスクを実行するためのタスクコントローラを取得しステップS905、このタスクコントローラを端末102へ送信しステップS906、1つのタスクの処理を終了する。ステップS904において、利用可能サービスキャッシュに、サービス情報が存在しない場合にはステップS904:No、端末102に対して利用可能サービス確認部223が周辺機器103のサービス検索要求を一定回数以上おこなったかを確認しステップS907、一定回数以上おこなった場合にはステップS907:Yes、タスクサービス確認部224は、タスク実行不可メッセージをタスク管理部202へ通知しステップS908、1回の処理を終了する。一方、ステップS907において、利用可能サービス確認部223が端末102に対して周辺機器103のサービス検索要求を一定回数以上行っていない場合にはステップS907:No、利用可能サービス確認部223は、端末102へ周辺機器103のサービス検索要求を通知しステップS909、一定期間後に利用可能サービスキャッシュ222をチェックするステップS910。この後、ステップS904に戻る。端末の処理内容周辺機器連携部の処理について図10は、周辺機器連携部の処理を説明する図である。端末102の周辺機器連携部231がおこなうサービス検索、および、タスクコントローラによる機器の制御について説明する。サービス発見通知部233は、サーバ装置101のサービス管理部203利用可能サービス確認部223からの周辺機器103のサービス検索要求に対応し、周辺機器103の検索をおこなう。そして、周辺機器103からの応答により、デバイスサービス定義情報保存部227からこの周辺機器103のサービスを取得し、サービス管理部203の利用可能サービスキャッシュ222と、センサ端末情報集約部232にこの周辺機器103のサービスを通知する。タスクコントローラ実行部234は、サーバ装置101のサービス管理部203タスクコントローラ管理部226から受信したタスクコントローラにしたがって、アプリケーション235および周辺機器103を制御する。図11は、周辺機器連携部のサービス検索処理を示すフローチャートである。周辺機器連携部231のサービス発見通知部233がおこなうサービス検索処理について説明する。サービス発見通知部233は、サーバ装置101のサービス管理部203利用可能サービス確認部223から周辺機器103のサービス検索要求を受信するまで待機しステップS1101、サービス管理部203から周辺機器103のサービス検索要求を受信するとステップS1102、サービス発見通知部233は、周辺機器103の検索をおこなうステップS1103。つぎに、サービス発見通知部233は、周辺機器103からの検索の応答を受信するとステップS1104、周辺機器103からの検索の応答にしたがい、デバイスサービス定義情報保存部227よりこの周辺機器103のサービスを取得するステップS1105。そして、サービス発見通知部233は、サービス管理部203の利用可能サービスキャッシュ222にこのサービスを通知しステップS1106、また、センサ端末情報集約部232にこのサービスを通知しステップS1107、1回の処理を終了する。図12は、周辺機器連携部のタスクコントローラに関する処理を示すフローチャートである。周辺機器連携部231のタスクコントローラ実行部234がおこなうタスクコントローラの受信から実行にかかる処理を説明する。はじめに、タスクコントローラ実行部234は、サーバ装置101のサービス管理部203タスクコントローラ管理部226からタスクコントローラを受信するまで待機しステップS1201、サービス管理部203からタスクコントローラを受信するとステップS1202、受信したタスクコントローラにしたがい、アプリケーション235および周辺機器103を制御しステップS1203、1回の処理を終了する。周辺機器の処理内容図13は、周辺機器の処理を説明する図である。応答広告部241は、端末102の周辺機器連携部231サービス発見通知部233からの機器検索メッセージがあると、周辺機器103の存在や機器情報を応答する。被制御部113は、端末102の周辺機器連携部231タスクコントローラ実行部234からの制御命令にしたがい、周辺機器103が有する機能を実行制御する。機器内蔵センサ114は、センサ計測情報を端末102のセンサ端末情報集約部232またはサーバ装置101のセンサ端末情報集約部204に送る。タスク実行の具体的処理例1.周辺機器との連携をおこなう例つぎに、タスク実行の具体的処理例について説明する。はじめに、周辺機器103によるタスクとして調理支援をおこなう例について説明する。タスクは、料理の過程における個々の材料を準備調理する作業であり、事前に登録した依存関係にしたがって自動的に調理をおこなう。そして、各周辺機器103調理機器は、端末102から操作可能である。調理機器には、機器内蔵センサ114として、温度センサやタイマが搭載されている。図14-1は、タスクの具体例を示す図表である。登録タスク保存部212に保存されるハンバーグ調理にかかるタスクの情報1400を示す。タスクの情報1400は、タスクIDと、ユーザと、タスクからなる。タスクIDとしてT1~T6が設定され、タスクIDがT1のタスクは材料用意であり、ユーザはAさんであり、以下順に調理のタスクであり、タスクIDがT6のタスクは材料を焼くであり、ユーザはAさんである。タスクT1~T6は、周辺機器103である調理機器を端末102経由で制御する。また、タスクT1では端末102の図示しない表示部に、材料用意を指示する情報を表示しユーザに伝える。図14-2は、タスクの依存関係を説明する図である。調理開始は、タスクT1から実行し、タスクT2とタスクT4は、依存関係が分岐しており同時に実行できるが、タスクT1の終了後に実行される依存関係にある。また、タスクT3は、タスクT2の実行後に実行される依存関係にある。また、タスクT5は、タスクT3と、タスクT4の終了後に実行される依存関係にある。タスクT6は、タスクT5の実行後に実行される依存関係にある。すなわち、タスクT3の玉葱炒めと、タスクT4の肉をひいてミンチにという2つのタスクを終了していないと、タスクT5の材料をまぜて成形というタスクは調理上、実行できない。このようなタスク依存関係は、後述するタスク選択ルールとしてタスク選択ルール保存部213に保存される。なお、図中のP1,P2は優先度である。図15は、端末あるいは周辺機器から収集したデータの一例を示す図表である。端末102の端末内蔵センサ112、もしくは周辺機器103の機器内蔵センサ114から通知される計測データの例を示す。図15に例示した計測データ1500は、周辺機器103としての調理器具コンロ、鍋、フライパンなどの温度センサを機器内蔵センサ114として用いる。端末102のセンサ端末情報集約部232は、温度センサの値を計測し、コンテキスト情報生成に使用する。図15に示す例では、時刻10:00:00にセンサID1のセンサの温度が200.4°Cであり、この後、時刻10:00:01にセンサID1のセンサの温度が200.6°Cであることを示している。図16は、生成されるコンテキスト情報の例を示す図表である。図16のコンテキスト情報1600では、調理器具が高温か低温かという情報をコンテキストとして使用する。このコンテキスト情報1600は、具体的には、コンテキスト生成部201は、ユーザのAさんについて、設定した時刻10:00:15における場所として厨房にいることを検出し、これらを対応付けたコンテキスト情報を生成する。さらに詳細な場所として、コンロ1の温度が180°C以上、コンロ2の温度が200°C以上であることを検出している。図示のようにコンテキスト生成部201は、複数のユーザのコンテキスト情報を生成する。図17は、コンテキスト取得制御情報の例を示す図表である。コンテキスト取得制御情報1700は、コンテキスト取得制御情報保存部211に保存され、コンテキストの粒度やコンテキストの取得タイミング等からなる。このコンテキスト取得制御情報1700の例を説明すると、ユーザのAさんについて、取得コンテキストが温度であり、取得タイミングが条件一致時、条件がコンロ1の温度が180°C以上である。コンテキスト生成部201は、調理器具が上記の温度に達したら、タスク管理部202に対し、コンテキストとして温度情報を通知する。図18は、タスク選択ルールの例を示す図表である。タスク選択ルール保存部213に保存されるタスク選択ルール1800について説明する。タスク選択ルール1800は、上述した登録タスクについてのコンテキスト条件と、優先度と、依存タスクIDとからなる。たとえば、タスクT2のコンテキスト条件はT1終了、優先度はP2、依存タスクIDはT1である。優先度はP1<P2である。図19は、タスクサービス対応関係の例を示す図表である。タスクサービス対応関係保存部221に保存されるタスクサービス対応関係情報1900について説明する。タスクサービス対応関係情報1900は、各タスクを実行するために必要な周辺機器103調理機器のサービスを対応付けたものである。たとえば、タスクT2のサービスは野菜カッターサービスであり、登録タスク図14-1参照のタスクT2玉葱みじん切りに対応するサービスである。図20は、デバイスサービス定義情報の例を示す図表である。デバイスサービス定義情報保存部227に保存されるデバイスサービス定義情報2000について説明する。デバイスサービス定義情報2000は、周辺機器103である調理機器が提供するサービスを対応付けたものである。たとえば、デバイス被制御部113として野菜カッターのサービスは野菜カッターサービスである。つぎに、上述した各設定内容に基づく、タスク調理の実行手順について説明する。はじめに、タスク管理部202は、タスク選択ルール1800により、コンテキスト条件NULLのタスクT1材料用意を選択し、実行する。この際、タスクT1に対応するサービスはNULLであるが、ユーザの端末102にどの材料が必要かのメッセージを表示する。そして、サービス管理部203は、端末102を介して周辺機器103が実行したタスクT1が終了したことをタスク管理部202に通知する。これにより、タスク管理部202は、タスクT1の終了がコンテキスト条件であり、かつ、優先度が高いT2玉葱みじん切りを選択し、実行する。タスクT2の実行においては、周辺機器103の野菜カッターが提供するサービス野菜カッターサービスを利用する。この後、サービス管理部203がタスクT2が終了したことをタスク管理部202に通知すると、タスク管理部202は、コンテキスト条件T2終了コンロ1.温度≧180°Cが成立している場合、優先度P2のタスクT3玉葱炒めを選択し、実行する。コンテキスト条件が成立していなければ、先にタスクT4肉をひいてミンチにを実行することが可能である。タスクT3の実行においては、周辺機器103コンロ1が提供する機器温度調整サービスおよびタイマサービスを利用する。この後、タスク管理部202は、まだタスクT4肉をひいてミンチにが実行されていなければ、タスクT4を実行する。タスクT4の実行においては、周辺機器103のミンチ機が提供する精肉ミンチ機サービスを利用する。そして、サービス管理部203は、タスクT3およびT4が終了し、タスク管理部202に終了通知すると、タスク管理部202は、タスクT3とタスクT4の終了がコンテキスト条件であるタスクT5材料を混ぜて成形を実行する。タスクT5の実行においては、周辺機器103ミキサーが提供する材料ミキサーサービスを利用する。この後、サービス管理部203は、タスクT5が終了したことをタスク管理部202に通知すると、タスク管理部202は、タスクT5の終了がコンテキスト条件であるタスクT6材料を焼くを選択し、実行する。タスクT6の実行においては、周辺機器103のコンロ2が提供する機器温度調整サービスおよびタイマサービスを利用する。以上説明したように、周辺機器が有する調理にかかる複数の機能について、複数のタスクの実行順序を管理し、実行することにより、料理を手際よく効率的におこなうことができるようになる。また、タスク同士の依存関係とタスクに付した優先度により、調理の手順を間違うことなく、そのときに必要な調理操作を適切に実行できるようになる。2.周辺機器との連携をおこなわない例つぎに、周辺機器103を用いずに、作業者が端末102だけを用いて車の修理作業の支援をおこなう例について説明する。また、この例では、場所を問わないため、場所にかかるコンテキストを使用しない。そして、修理手順は、端末102の表示部のWebブラウザで表示される。以下に説明する修理作業は複数の修理工程で構成され、各修理工程がタスクに対応する。作業者は、修理の遂行にあわせて順次表示される修理手順にしたがって修理作業をおこなっていく。たとえば、場所Aと、場所Bのネジを外して、パーツCを取り外す等である。また、この例では、タスクの依存関係は、各タスクが直列に配置され、分岐はない。概要を説明すると、1.はじめにサーバ装置101が端末102に対し、作業手順を説明するコンテンツのURLを送信する。2.URLを受け取った端末102は、ブラウザを起動すると共にブラウザにURLを通知する。3.端末102は、ブラウザが指定されたURLにアクセスし、作業手順を説明するコンテンツを表示する。4.作業者は、表示されたコンテンツにしたがって修理作業をおこなう。5.作業者は、1つの修理工程が完了すると、端末102のブラウザ上の作業終了ボタンを操作する。6.サーバ装置101は、端末102から作業終了の通知を受けて、つぎの修理工程を説明するコンテンツのURLを端末102に通知する。以降、一連の修理作業がすべて終了するまで、サーバ装置101は、端末102に対し、上記4.~6.の処理を繰り返す。つぎに、タスク依存関係について説明する。この車の修理作業であり、以下の前提を有するとする。修理作業は作業者Aによって実行され、修理作業の開始時刻は13:30とする。修理作業は、各タスクT1,T2,T3の3つの修理工程タスクで実現され、これらのタスクは順番に実行されなければならない。オイル交換を例にとると、各タスクは、タスクT1古いオイルの除去、タスクT2エンジン内部の洗浄、タスクT3新しいオイルの投入となる。図21-1は、タスク選択ルールの例を示す図表である。タスク選択ルール保存部213に保存されるタスク選択ルール2100は、たとえば、作業者Aについて、タスクT2のコンテキスト条件はT1終了、優先度は5、依存タスクIDはT1である。優先度は値が高いほど優先度が高い。なお、図示の例では、優先度は同じとした。図21-2は、タスクの依存関係を説明する図である。修理開始は、タスクT1から実行し、タスクT1が終了後にタスクT2が実行される依存関係にある。また、タスクT3は、タスクT2の実行後に実行される依存関係にある。図22は、タスクサービス対応関係の例を示す図表である。タスクサービス対応関係保存部221に保存されるタスクサービス対応関係情報2200は、図示のように、この例では、タスクの実行にあたって周辺機器103が提供するサービスを利用しないため、タスクサービス対応関係情報2200にサービス情報は登録されないNULLが登録される。これに限らず、周辺機器103のサービスを利用しない場合には、タスクサービス対応関係情報2200に、タスクT1~T3のタスクIDを登録しない設定としてもよい。タスクサービス確認部224は、タスクサービス対応関係情報2200にタスクIDが未登録の場合は、周辺機器103利用サービスなし、と判断する。図23は、コンテキスト取得制御情報の例を示す図表である。コンテキスト取得制御情報2300は、コンテキスト取得制御情報保存部211に保存され、コンテキストの粒度やコンテキストの取得タイミング等からなる。このコンテキスト取得制御情報2300の例を説明すると、ユーザの作業者Aについて、取得コンテキストが時間であり、取得タイミングが条件一致時、条件が時刻13:30である。コンテキスト生成部201は、時間が上記の時刻に達したら、タスク管理部202に対し、コンテキストとして時間情報を通知する。図24は、登録タスクの追加情報の例を示す図表である。この図24を用いて、タスク追加情報について説明する。この例では、サーバ装置101が端末102に対してタスクの起動を要求する際、車の修理作業を説明するコンテンツのURLを端末102に通知する。登録タスク保存部212には、図24に示すタスクの情報2400として、タスクIDと、タスク毎の関連情報としてURLを格納する。端末102に通知する追加情報URLについては、以下のように管理する構成にできる。1.コンテキスト生成部201で管理する。この場合、タスク管理部202は、コンテキスト生成部201から受信したタスク関連情報をそのまま端末102に送る。2.コンテキスト生成部201からタスク起動要求を受信するアプリケーション235を定義し、このアプリケーション235が追加情報URLを管理する。この場合、アプリケーション235は、タスク関連情報を伴ったタスク起動要求をタスク管理部202に送信する。タスク管理部202は、アプリケーション235から受信したタスク関連情報をそのまま端末102に送る。つぎに、上述した各設定内容に基づく、タスク車の修理作業の実行手順について説明する。はじめに、1.タスク管理部202は、タスクTxの起動が必要であることを認識すると、端末102に対してタスク起動要求メッセージを送信する。タスク起動要求メッセージには、起動すべきアプリケーション235として、一般的なWebブラウザ端末102にあらかじめインストールしておくと、WebブラウザがアクセスすべきURLを含む。2.つぎに、端末102は、タスク起動要求メッセージを受信すると、Webブラウザを起動すると共に、Webブラウザにサーバ装置101から通知されたURLを渡し、このURLにアクセスする。3.上記手順2.の結果、URLに対応するコンテンツを端末102の表示部に表示する。このコンテンツは、修理対象の車種に応じて、各タスクT1~T3を実行するために必要な情報である。たとえば、修理対象車種のオイル交換手順最初に箇所AのボルトBを外す、等を示すコンテンツを表示する。4.作業者は、端末102に表示されたコンテンツを閲覧しながらタスクに対応した修理作業をおこない、1つのタスク修理工程を完了したとき、端末102の表示部に表示される作業終了ボタンを操作する。5.ボタンの操作により、端末102は、タスクTxが終了した旨の通知をタスク管理部202に通知する。6.タスク管理部202は、タスクTxが終了した旨をコンテキスト生成部201に通知する。これにより、コンテキスト生成部201は、作業者のコンテキストを更新する。これにより、作業者の状態がタスクTx終了状態に遷移する。7.コンテキストの更新に応じて、サーバ装置101は、タスク選択部214により新たなタスクの起動制御を開始する。以降、上記1.に戻り、つぎのタスクにかかる処理を実行する。図25は、タスクの実行手順を示すシーケンス図である。図25に示したコンテンツ保持部2500は、コンテキスト生成部201の一部に設け、URLのコンテンツを保持する例とした。はじめに、サーバ装置101のコンテキスト生成部201が時刻13:30を検知しステップS2501、タスク管理部202にコンテキスト情報通知するステップS2502。このコンテキスト情報通知には、ユーザIDが作業者Aであり、時刻が13:30であることを含む。つぎに、タスク管理部202は、コンテキスト情報通知を受けて、作業者Aの端末102に対し、タスク起動要求をおこなうステップS2503。このタスク起動要求は、アプリケーション235がブラウザ、URLが図24に示したタスクT1のURLhttp://carA_oil1.htmlである。端末102では、タスクコントローラ実行部234がタスク起動要求を受け、アプリケーション235であるブラウザに起動要求するステップS2504。この起動要求には、タスクT1のURLhttp://carA_oil1.htmlを含む。端末102は、起動要求に基づき、サーバ装置101のコンテンツ保持部2500に対し、コンテンツ表示のためのHTTP要求をおこなうステップS2505。HTTP要求は上記URLアドレスを含み、コンテンツ保持部2500は、HTTP応答を端末102のブラウザ235に返すステップS2506。これにより、端末102では表示部上にWeb画面でタスクT1の修理工程の画面が表示され、タスクT1による1つの修理工程を表示部の表示画面を見ながら容易におこなえるようになる。この後、作業者AがタスクT1の修理工程を完了したとき、端末102の表示部に表示される作業終了ボタンを操作するとステップS2507、ブラウザ235は、タスク終了通知をサーバ装置101のタスク管理部202に送信するステップS2508。このタスク終了通知には、ユーザIDが作業者Aであり、コンテキストがタスクT1終了を含む。タスク管理部202は、タスク終了通知を受けると、タスクT1の終了後に実行される依存関係にあるタスクT2を次に実行すべきタスクとして選択し、作業者Aの端末102に対し、タスク起動要求をおこなうステップS2509。以降、タスクT3についても上記同様の処理をおこなう。以上説明した具体例によれば、周辺機器を用いたタスク実行に限らず、端末そのものを用いてタスク実行することもできるようになる。また、上述した車の修理について、複数のタスクの実行順序を管理し、実行することにより、修理を工程毎に手際よく効率的におこなうことができるようになる。また、端末の表示部の画面上には各修理工程毎に必要な情報を実際の画面を用いて表示することができるから、修理する際の場所や部品を間違うことがなく、各画面を切り替えていくだけで修理作業を終了させることができるようになる。以上説明した実施の形態1によれば、ユーザやその周辺環境のコンテキストと、周辺機器が提供するサービスとに基づいて、優先順位やタスク間の依存関係を考慮して複数のタスクを順次実行することができる。これにより、ユーザの作業ミスや、作業効率の低下を抑えることができるようになる。また、コンテキスト処理と、タスク処理の切り分けを明確に区分しているため、コンテキスト処理のアルゴリズムの変更を容易におこなうことができ、タスク処理に影響を与えず、システムの開発を容易におこなうことができるようになる。実施の形態2実施の形態2は、新たなタスクの割り込みと、実行中のタスクの中断の処理をおこなう構成である。タスクの割り込みは、たとえば、あるユーザが定型的な仕事を実行していたときに、急に新たな仕事を処理しなければならないときなどに生じる。この実施の形態では、ユーザ単位で割り込み、および中断の処理をおこなう。図26は、実施の形態2にかかるタスク実行制御システムの構成を示す図である。図26は、主に実施の形態1と異なる構成を抽出して記載してあり、他の構成は、実施の形態1図2とほぼ同様であるが、以下の点で異なる。コンテキスト生成部201には各タスクを起動するために満たされるべきコンテキスト条件が登録される。コンテキスト生成部201は、当該コンテキスト条件に基づいて起動可能なタスクの有無を判定し、起動可能なタスクが存在する場合には、当該タスクに関する情報がタスク選択部214に通知される。また、端末において、周辺機器103や端末画面の制御等、各タスクで行うべきすべての処理はアプリケーション235によって行われ、以後当該アプリケーションをタスクコントローラと呼ぶ。また、タスクコントローラ実行部234は、当該タスクコントローラの起動/中断/再開といったタスクコントローラに共通的な制御を行うものとして位置づけている。以下、実施の形態1と異なる構成について説明する。サーバ装置の構成タスク管理部202のタスク選択部214は、端末102のタスクコントローラ実行部234に対し、タスクの実行開始/中断/再開要求をおこない、タスクの実行開始/中断/再開応答を受ける。このタスク選択部214に設けられるタスクスケジューラ214aは、ユーザ毎に、コンテキスト生成部201からコンテキスト情報を受けて実行待ち状態にある1つ以上のタスク、および実行中のタスクに関する情報タスクキューを管理する。タスクスケジューラ214aは、実行中状態のタスクのIDと優先度0個または1個のタスクの情報を管理を実行中タスク2601として管理し、実行待ち状態にあるタスクのIDと優先度0個以上のタスクの情報を管理をタスクキュー2602を用いて管理する。タスクスケジューラ214aは、タスクIDと、タスクの優先度のリストに基づき端末102で実行可能なタスクを管理する。登録タスク保存部212には、ユーザID2611と、タスクID2612と、タスク起動条件2613と、優先度2614と、実行状態2615の各情報がテーブル形式で保存されている。ユーザID2611は、タスクを実行すべきユーザのIDであり、実行すべきユーザを指定しない場合は、その旨を示すIDたとえば0が保持される。タスクID2612は、タスクの識別子IDである。タスク起動条件2613は、タスクを起動するための条件である。優先度2614は、タスクの優先度である。実行状態2615は、タスクの実行状態未実行、完了済みを示している。端末の構成端末102のタスクコントローラ実行部234は、サーバ装置101のタスクスケジューラ214aの指示により、タスクコントローラの起動、中断、再開を制御する。また、タスクコントローラ実行部234は、タスクコントローラのインストール、アンインストールの制御もおこなう。タスク実行時の処理について図27は、タスク管理部の処理を示すフローチャートである。以下は、タスクスケジューラ214aがコンテキスト生成部201からの通知によってタスクを実行する場合の処理例を説明する。はじめに、タスクスケジューラ214aは、タスク起動条件が満足された旨の通知をコンテキスト生成部201から受信するステップS2701。つぎに、タスクスケジューラ214aは、端末102が停止状態にあるか否かを判定するステップS2702。停止中の場合はステップS2702:Yes、ステップS2706に移行し、停止中でない場合はステップS2702:No、ステップS2703に移行する。この判定は、端末停止フラグがセットされている場合は端末102が停止状態にあり、そうでない場合は停止状態にないと判定される。ステップS2703では、タスクスケジューラ214aは、登録タスク保存部212から実行可能なタスクを選択する。つぎに、タスクスケジューラ214aは、端末102で現在実行中のタスクがあるか否かを判定するステップS2704。実行中のタスクがある場合はステップS2704:Yes、ステップS2705に移行し、実行中のタスクがない場合はステップS2704:No、ステップS2708に移行する。ステップS2705では、ステップS2703で選択された実行可能なタスクのうち、端末102で現在実行中のタスクよりも優先度の高いタスクがあるか否かを判定する。優先度の高いタスクがある場合はステップS2705:Yes、ステップS2707に移行し、優先度の高いタスクがない場合はステップS2705:No、ステップS2706に移行する。ステップS2706では、ステップS2703で選択された実行可能なタスクのすべてをタスクキュー2602にアタッチして、上記の処理を終了する。タスクキュー2602は、コンテキスト生成部201において、タスク起動条件が満足されたと判定されたタスクのうち、端末102で実行されていないタスク中断状態にあるタスクを含むを管理するものである。ステップS2707では、ステップS2703で選択された実行可能なタスクのうち、優先度が端末102で現在実行中のタスクと等しい、またはそれ以下のタスクをタスクキュー2602にアタッチする。ここで、タスクキュー2602にアタッチされなかった、優先度の高いタスクを実行候補タスクとする。ステップS2708では、実行可否判定をおこなっていない実行候補タスクのうち、最も優先度の高いタスクの実行可否判定をサービス管理部203に要求する。タスク実行の際に、周辺機器103のサービスを使用しない場合は、タスクが即時実行される。ステップS2709では、ステップS2708の応答としてサービス管理部203から受信した判定結果、タスクが実行可能である場合はステップS2709:タスク実行可能、ステップS2712に移行し、タスクが実行不可である場合はステップS2709:タスク実行不可、ステップS2710に移行する。ステップS2710では、サービス実行可否判定の結果、実行不可となったタスクをタスクキュー2602にアタッチする。ステップS2711では、サービス実行可否判定をおこなっていない実行候補タスクがあるか否かを判定し、実行候補タスクがある場合はステップS2711:Yes、ステップS2708に移行し、実行候補タスクがない場合はステップS2711:No、上記の処理を終了する。ステップS2712では、端末102で現在実行中のタスクがあるか否かを判定する。実行中のタスクがある場合はステップS2712:Yes、ステップS2713に移行し、実行中のタスクがなければステップS2712:No、ステップS2716に移行する。ステップS2713では、現在実行中のタスクの中断要求を端末102に送信する。ステップS2714では、現在実行中のタスクの中断完了通知を端末102から受信する。ステップS2715では、中断が完了したタスクについて、登録タスク保存部212内に登録されている状態を中断中に更新する。また、このタスクをタスクキュー2602にアタッチする。ステップS2716では、ステップS2709で実行可能と判定されたタスクの実行開始要求を端末102に送信する。ステップS2717では、このタスクの実行開始応答を端末102から受信する。ステップS2718では、実行が開始されたタスクについて、登録タスク保存部212内に登録されている状態を実行中に更新する。また、このタスクを実行中タスクとして管理する。ステップS2719では、サービス実行可否判定をおこなっていない、残りすべての実行候補タスクをタスクキュー2602にアタッチして、上記の処理を終了する。タスク終了時、および端末停止時の処理について図28は、タスク管理部におけるタスク終了時、および端末停止時の処理を示すフローチャートである。端末102で実行中のタスクが終了した場合、および端末102が停止した場合の処理について説明する。端末102が停止した状態とは、ユーザが何らかの状況下で端末102を操作することでサーバ装置101からのタスク制御を受け付けない状態を意味する。端末102のタスク終了時には、タスクスケジューラ214aは、端末102で実行していたタスクが完了し、タスク実行完了通知を端末102から受信するステップS2801。つぎに、タスクスケジューラ214aは、タスク実行完了応答を端末102に送信するステップS2802。つぎに、実行が完了したタスクについて、登録タスク保存部212内に登録されている状態を完了に更新するステップS2803。そして、実行中タスクとして管理されていたこのタスク情報をクリアするステップS2804。この後、つぎに実行するタスクを決定するための処理ステップS2805に移行する。端末102の停止時には、ユーザが端末102の停止操作をおこなうと、タスクスケジューラ214aは、端末102から端末停止通知を受信するステップS2806。これにより、タスクスケジューラ214aは、端末102の端末停止フラグをセットするステップS2807。そして、端末停止応答を端末102に送信するステップS2808。つぎに、タスクスケジューラ214aは、端末再開通知を端末102から受信したか否かを判定するステップS2809。受信した場合はステップS2809:Yes、端末102の端末停止フラグをリセットしステップS2810、ステップS2805に移行する。端末再開通知フラグを受信していない場合はステップS2809:No、新たにタスクの起動条件が満たされたタスクを、タスクキュー2602にアタッチしステップS2811、ステップS2809に戻る。実行待機のタスクのサービス確認の処理について図29-1、および図29-2は、タスク管理部における実行待機のタスクのサービス確認の処理を示すフローチャートである。タスクキュー2602内で待機しているタスクの実行に必要なサービスの有無を周期的に確認する処理について説明する。図29に示す処理の一部は、端末102で実行中のタスクが終了した場合にも同様に実行される。はじめに、タスクスケジューラ214aは、端末102が停止状態にあるか否かを判定するステップS2901。停止状態である場合はステップS2901:Yes、ステップS2904に移行し、停止状態でない場合はステップS2901:No、端末102で現在実行中のタスクがあるか否かを判定するステップS2902。実行中のタスクがある場合はステップS2902:Yes、ステップS2903に移行し、実行中のタスクがない場合はステップS2902:No、ステップS2905に移行する。ステップS2903では、タスクスケジューラ214aは、タスクキュー2602内のタスクのうち、端末102で現在実行中のタスクよりも優先度の高いタスクがあるか否かを判定する。優先度の高いタスクがある場合はステップS2903:Yes、ステップS2906に移行し、優先度の高いタスクがない場合はステップS2903:No、タスクスケジューラ214aは、一定周期時間だけ待機してステップS2904、終了するその後、ステップS2901から処理が再開される。一定周期は、タスクキュー2602内に存在するタスクの優先度に応じて動的に変えてもよい。たとえば、優先度が高いタスクほど、周期を短くするなど。また、周期をタスク毎に変えるようにしてもよい。ステップS2905では、タスクスケジューラ214aは、タスクキュー2602内のすべてのタスクを実行候補タスクとし、ステップS2907に移行する。ステップS2906では、タスクスケジューラ214aは、端末102で現在実行中のタスクよりも優先度の高いタスクの集合を実行候補タスクとし、ステップS2907に移行する。ステップS2907では、タスクスケジューラ214aは、実行可否判定をおこなっていない実行候補タスクのうち、最も優先度の高いタスクの実行条件が満足されているか否かをコンテキスト生成部201に確認する。すなわち、候補タスクについて現コンテキストで実行再開可能であるかを確認する。つぎに、タスクスケジューラ214aは、ステップS2907の確認の結果に基づいて、このタスクの実行が可能か判断するステップS2908。タスクの実行が不可能な場合はステップS2908:No、ステップS2909に移行し、タスクの実行が可能な場合はステップS2908:Yes、ステップS2910に移行する。ステップS2909では、タスクスケジューラ214aは、コンテキストが変わったことにより、タスクの起動条件が満足されていないタスクについては、再度コンテキスト生成部201にタスク起動条件を再設定する。また、当該タスクをタスクキュー2602からデタッチし、ステップS2919に移行する。ステップS2910では、タスクスケジューラ214aは、タスクの実行可否判定をサービス管理部203に要求し、この応答としてサービス管理部203から受信した判定の結果、タスクが実行可能である場合はステップS2911:実行可能、ステップS2912に移行し、タスクが実行不可である場合はステップS2911:実行不可、ステップS2919に移行する。ステップS2912では、タスクスケジューラ214aは、端末102で現在実行中のタスクがあるか否かを判定する。実行中のタスクがある場合はステップS2912:Yes、ステップS2913に移行し、実行中のタスクがない場合はステップS2912:No、ステップS2916に移行する。ステップS2913では、タスクスケジューラ214aは、現在実行中のタスクの中断要求を端末102に送信する。つぎに、タスクスケジューラ214aは、現在実行中のタスクの中断完了通知を端末102から受信するステップS2914。この後、中断が完了したタスクについて、登録タスク保存部212内に登録されている状態を中断中に更新する。また、当該タスクをタスクキュー2602にアタッチするステップS2915。そして、ステップS2911で実行可能と判定されたタスクの実行開始要求を端末102に送信するステップS2916。なお、実行可能と判定されたタスクの状態が中断中である場合には、端末102にタスクの再開要求を送信する。この後、タスクスケジューラ214aは、このタスクの実行開始応答を端末102から受信するステップS2917。なお、ステップS2916でタスクの再開要求を送信した場合には、タスクの再開応答を受信する。そして、タスクスケジューラ214aは、実行が開始されたタスクについて、登録タスク保存部212内に登録されている状態を実行中に更新する。また、このタスクを実行中タスクとして管理しステップS2918、ステップS2904に移行する。ステップS2919では、タスクスケジューラ214aは、実行可否判定をおこなったタスクを、判定済みとする。この後、実行可否判定をおこなっていない実行候補タスクがあるか否かを判定するステップS2920。実行可否判定をおこなっていない実行候補タスクがある場合はステップS2920:Yes、ステップS2907に移行し、実行可否判定をおこなっていない実行候補タスクがない場合はステップS2920:No、ステップS2904に移行する。端末の処理について図30は、端末がおこなう処理を示すフローチャートである。端末102のタスクコントローラ実行部234が実行する処理について説明する。下記のステップS3001,ステップS3005,ステップS3008,ステップS3011,ステップS3014,ステップS3016は、いずれか1つが要求あるいは通知を受けると処理を開始する。ステップS3001において、タスクコントローラ実行部234がタスク実行開始要求をサーバ装置101のタスク管理部202から受信するとステップS3001、タスクコントローラをサービス管理部203からダウンロードし、インストールするステップS3002。ただし、タスク実行に必要なタスクコントローラが端末102に予めインストールされている場合は、本ステップを省略する。そして、タスクコントローラ実行部234は、タスクコントローラを起動させステップS3003、タスク実行開始応答をタスク管理部202に通知しステップS3004、処理を終了する。ステップS3005において、タスクコントローラ実行部234がタスク完了通知をタスクコントローラから受信するとステップS3005、タスク完了通知をタスク管理部202に通知しステップS3006、つぎに、タスクコントローラをアンインストールしステップS3008、終了する。なお、タスクコントローラのアンインストールは、端末102の記憶装置の記憶容量に一定量以上の余裕がある場合には省略されても良い。ステップS3008において、タスクコントローラ実行部234がタスク中断要求をタスク管理部202から受信すると、タスクコントローラを中断しステップS3009、タスク中断完了応答をタスク管理部202に通知しステップS3010、終了する。ステップS3011において、タスクコントローラ実行部234がタスク再開要求をタスク管理部202から受信すると、中断中のタスクコントローラを再開させステップS3012、タスク再開完了応答をタスク管理部202に通知しステップS3013、処理を終了する。ステップS3014では、タスクコントローラ実行部234が端末停止要求をタスクコントローラから受信する。ユーザからの端末停止の指示は、タスクコントローラを介さず、直接タスクコントローラ実行部234に対して指示されてもよい。この後、タスクコントローラ実行部234は、端末停止通知をタスク管理部202に通知しステップS3015、処理を終了する。ステップS3016では、タスクコントローラ実行部234が端末再開要求をタスクコントローラから受信する。ユーザからの端末再開の指示は、タスクコントローラを介さず、直接タスクコントローラ実行部234に対して指示されてもよい。この後、タスクコントローラ実行部234は、端末再開通知をタスク管理部202に通知しステップS3017、処理を終了する。なお、タスク実行中に周辺機器103の電源切断や移動により、タスク実行に必要なサービスが利用できなくなるといった例外が発生した場合には、タスクコントローラが当該例外の発生を検出し、その旨をタスクコントローラ実行部234に通知する。当該通知を受けたタスクコントローラ実行部234は、その旨をタスク管理部202に通知する。この後、タスク管理部202は当該タスクの中断処理に続いて、他に実行可能なタスクの存在を確認し、実行可能なタスクがある場合は、端末102に対してタスクの実行を要求する。この例外時の処理は、タスク管理部202については図27、タスクコントローラ実行部234については図30と類似であるため、詳細な説明は省略する。タスク実行の具体的処理例図31-1~図31-4は、タスク実行の処理手順を示すシーケンス図である。この図を用いて、タスク実行の具体的処理例について説明する。以下の例は、巡回警備業務を支援する例である。図に示した各部の構成について、コンテキスト管理サーバ3101は、コンテキスト生成部201を含むサーバとする。タスク管理サーバ3102は、タスク管理部202、サービス管理部203を含むサーバとする。そして、ユーザAは、端末102を携帯し巡回する。この端末102には、端末内蔵センサ112として位置センサを具備している。位置センサによる位置取得の方法は、GPSや、端末102に付与されたRFIDリーダが特定の場所に設置されたRFIDタグを読み取る等、種々の方法により取得可能である。また各コントローラ3111~3113は、タスク管理サーバ3102からダウンロードしたタスクコントローラに相当する。はじめに、巡回警備前の設定処理について説明する。ステップS3101あらかじめ管理者は、管理者端末102aを用いて、22:00に管理センタにいるユーザAがおこなうべき、倉庫巡回タスクをタスク管理サーバ3102に登録する。ステップS3102管理者は、ステップS3101と同様のタスクをコンテキスト管理サーバ3101に登録する。ステップS3103管理者は、22:00以降に倉庫AにいるユーザAがおこなうべき、倉庫Aの巡回タスクを登録する。ステップS3104管理者は、ステップS3103と同様のタスクをコンテキスト管理サーバ3101に登録する。ステップS3105管理者は、異常センサ1の状態がONになったときに実行すべき異常確認タスクを登録する。ステップS3106管理者は、ステップS3105と同様のタスクをコンテキスト管理サーバ3101に登録する。以降、ユーザAの巡回警備時の処理について説明する。ステップS3107ユーザAが持つ携帯端末102の位置センサ112が、ユーザAの位置が管理センタであることをコンテキスト管理サーバ3101に通知する。ステップS3108コンテキスト管理サーバ3101は、ユーザAが管理センタにいて、かつ時刻が22:00であることを認識すると、ステップS3102で登録された倉庫巡回タスクの起動条件が満足されたことをタスク管理サーバ3102に通知する。ステップS3109タスク管理サーバ3102は、ステップS3101で登録された倉庫巡回タスクの起動要求を端末102のタスクコントローラ実行部234に通知する。ステップS3110タスクコントローラ実行部234は、指定されたURLにアクセスし、倉庫巡回コントローラ3111のダウンロードを要求する。ステップS3111タスク管理サーバ3102は、タスクコントローラ実行部234に、ダウンロード応答し、倉庫巡回コントローラ3111がダウンロードされ、端末102にインストールされる。ステップS3112タスクコントローラ実行部234は、ダウンロードされた倉庫巡回コントローラ3111を起動する。ステップS3113起動された倉庫巡回コントローラ3111は、タスクコントローラ実行部234に対して起動完了を通知する。ステップS3114タスクコントローラ実行部234は、タスク1の起動が完了したことをタスク管理サーバ3102に通知する。ステップS3115タスク管理サーバ3102は、タスク1が起動されたことをコンテキスト管理サーバ3101に通知する。コンテキスト管理サーバ3101は、ユーザAの状態をタスク1実行中に更新する。ステップS3116倉庫巡回コントローラ3111は、巡回先の情報として倉庫Aを画面に表示する。ユーザは、画面を確認し、OKボタンを操作する。ステップS3117OKボタンが操作された倉庫巡回コントローラ3111は、タスクコントローラ実行部234に対してタスクの完了を通知し、自らを終了する。ステップS3118タスクコントローラ実行部234は、タスク管理サーバ3102に対してタスク1の完了を通知する。ステップS3119タスク管理サーバ3102は、タスク1が完了したことをコンテキスト管理サーバ3101に通知する。コンテキスト管理サーバ3101は、ユーザAの状態をidleに更新する。ステップS3120ユーザAが巡回先である倉庫Aに到着すると、端末102の位置センサ112が検出し、コンテキスト管理サーバ3101にその旨通知する。ステップS3121コンテキスト管理サーバ3101は、22:00以降にユーザAが倉庫Aにいることを認識すると、ステップS3104で登録された倉庫A巡回タスクの起動条件が満足されたことをタスク管理サーバ3102に通知する。ステップS3122タスク管理サーバ3102は、倉庫A巡回タスクの実行に必要なデバイスおよびサービスが存在することを認識すると、それらの検索を要求する。ステップS3123ユーザAの端末102のサービス発見通知部233は、デバイスとサービスの検索をおこなう。たとえば、UPnPUniversalPlugandPlayを用いるのであれば、M-SEARCHメッセージを周辺にマルチキャストする。ステップS3124倉庫Aの照明デバイス113が、検索メッセージを受信すると、自らが指定されたデバイスであり、なおかつ自身が照明制御サービスを提供可能であるため、検索応答を通知する。ここでは照明デバイス113は、自らのデバイスサービス情報を直接応答しているが、代わりに自らのデバイスサービス情報が記載されたファイルのURLを応答し、ユーザAの端末102が当該URLに基づいてデバイスサービス定義情報保存部227からファイルを入手することで、デバイスサービス情報が取得されるようにしても良い。ステップS3125サービス発見通知部233は、サービス検索結果をタスク管理サーバ3102に通知する。ステップS3126タスク管理サーバ3102は、倉庫A巡回タスクに必要なデバイスおよびサービスがユーザAの周辺に存在することを確認すると、タスクの起動要求を端末102のタスクコントローラ実行部234に通知する。ステップS3127タスクコントローラ実行部234は、指定されたURLにアクセスし、倉庫A巡回コントローラ3112のダウンロードを要求する。ステップS3128タスクコントローラ実行部234に、倉庫A巡回コントローラ3112がダウンロードされ、端末102にインストールされる。ステップS3129タスクコントローラ実行部234は、ダウンロードされた倉庫A巡回コントローラ3112を起動する。ステップS3130起動された倉庫A巡回コントローラ3112は、タスクコントローラ実行部234に対して起動完了を通知する。ステップS3131タスクコントローラ実行部234は、タスク2の起動が完了したことをタスク管理サーバ3102に通知する。ステップS3132タスク管理サーバ3102は、タスク2が起動されたことをコンテキスト管理サーバ3101に通知する。コンテキスト管理サーバ3101は、ユーザAの状態をタスク2実行中に更新する。ステップS3133倉庫A巡回コントローラ3112は、倉庫Aの照明ONボタン、照明OFFボタン、異常ありボタン、異常なしボタンを画面に表示する。ユーザは照明ONボタンを操作する。ステップS3134倉庫A巡回コントローラ3112は、ステップS3122で検索された倉庫Aの照明デバイスの照明制御サービスをパラメータONで実行する旨、照明デバイスに要求する。ステップS3135倉庫Aの照明デバイス113は、ステップS3131で要求されたサービスを実行するすなわち、照明をONすると、その応答を返す。ユーザAは、倉庫Aの巡回を開始する。ステップS3136建屋Bに設置されている異常センサ1114が何らかの異常を検知すると、その旨をコンテキスト管理サーバ3101に通知する。ステップS3137コンテキスト管理サーバ3101は、異常センサ1114で異常が検出されたことを認識すると、ステップS3106で登録された異常確認タスク優先度=高の起動条件が満足されたことをタスク管理サーバ3102に通知する。ステップS3138タスク管理サーバ3102は、タスク管理情報を参照し、タスクは誰が実行してもよいことを認識すると、このタスクの実行者として、ユーザAを選択する。ユーザ選択方法については、たとえば、巡回作業中のユーザとその現在位置のリストを保持し、建屋Bの異常センサ1114に最も近い巡回中のユーザを選択する、または管理センタに待機しているユーザを選択する、といったものが考えられる。これらのユーザ選択は、例えば別のサーバで動作するアプリケーションによって行うようにされても良い。この場合、タスク起動条件満足通知を受けたタスク管理サーバ3102が当該アプリケーションに通知を行い、当該アプリケーションがコンテキスト管理サーバ3101から得たユーザのコンテキスト情報等に基づいてユーザを選択すると、そのユーザをタスク管理サーバ3102に応答する。タスク管理サーバ3102は、ユーザAを選択した後、ユーザAの端末102上で倉庫A巡回タスク優先度=中が実行中であり、異常確認タスクの起動に先立って倉庫A巡回タスクの中断が必要であることを認識すると、ユーザAの端末102のタスクコントローラ実行部234に当該タスクの中断を要求する。ステップS3139タスクコントローラ実行部234は、倉庫A巡回コントローラ3112の中断を要求する。ステップS3140倉庫A巡回コントローラ3112は中断要求の応答を返す。ステップS3141タスクコントローラ実行部234は、タスク管理サーバ3102に倉庫A巡回タスクを中断したことを通知する。ステップS3142タスク管理サーバ3102は、異常確認タスクの起動要求をユーザAの端末102のタスクコントローラ実行部234に通知する。ステップS3143タスクコントローラ実行部234は、指定されたURLにアクセスし、異常確認コントローラのダウンロードを要求する。ステップS3144タスクコントローラ実行部234に、異常確認コントローラ3113がダウンロードされ、端末102にインストールされる。ステップS3145タスクコントローラ実行部234は、ダウンロードされた異常確認コントローラ3113を起動する。ステップS3146起動された異常確認コントローラ3113は、タスクコントローラ実行部234に対して起動完了を通知する。ステップS3147タスクコントローラ実行部234は、タスクの起動が完了したことをタスク管理サーバ3102に通知する。ステップS3148タスク管理サーバ3102は、タスク3が起動されたことをコンテキスト管理サーバ3101に通知する。コンテキスト管理サーバ3101は、ユーザAの状態をタスク3実行中に更新する。ステップS3149起動された異常確認コントローラ3113は、ユーザAの端末102の画面に異常センサ1114で異常が検知されました。直ちに異常の有無を確認して下さいというメッセージ、異常ありボタン、および異常なしボタンを表示する。当該画面を確認したユーザAは、建屋Bの異常センサ1114が設置された場所に急行し、異常のないことを確認し異常なしボタンを操作する建屋Bに移動すると端末102によって位置登録がおこなわれるが、図では省略。ステップS3150異常なしボタンを操作された異常確認コントローラ3113は、タスクコントローラ実行部234に対してタスクの完了を通知し、自らを終了する。ステップS3151タスクコントローラ実行部234は、タスク管理サーバ3102に対してタスクの完了を通知する。ステップS3152タスク管理サーバ3102は、タスク3が完了したことをコンテキスト管理サーバ3101に通知する。コンテキスト管理サーバ3101は、ユーザAの状態をidleに更新する。または、ステップS3148でタスク3の実行が開始される前の状態タスク2実行中を記憶しておき、当該状態に復帰させてもよいここでユーザAの状態をidleに設定しても、後続のステップS3157でタスク2実行中状態に復帰するため問題はない。ステップS3153タスク管理サーバ3102は、異常確認タスク優先度=高が完了したことを認識すると、そのつぎに優先度の高いタスクである、中断中の倉庫A巡回タスクの再開を要求する。ステップS3154タスクコントローラ実行部234は、中断中の倉庫A巡回コントローラ3112の実行を再開する。ステップS3155再開された倉庫A巡回コントローラ3112は、タスクコントローラ実行部234に対して再開の完了を通知する。ステップS3156タスクコントローラ実行部234は、タスク2の再開が完了したことをタスク管理サーバ3102に通知する。ステップS3157タスク管理サーバ3102は、タスク2が再開されたことをコンテキスト管理サーバ3101に通知する。コンテキスト管理サーバ3101は、ユーザAの状態をタスク2実行中に更新する。ステップS3158倉庫A巡回コントローラ3112が再開され、コントローラの画面が表示されると、ユーザAは、倉庫Aに戻り、巡回を再開する。このように、端末102に倉庫A巡回コントローラ3112の画面が表示されるため、ユーザAは中断されていた倉庫Aの巡回作業を忘れることなく、再開することが可能となる。巡回が異常なく終了すると、照明OFFボタンを操作する倉庫Aに戻ると端末102によって位置登録がおこなわれるが、図では省略。ステップS3159倉庫A巡回コントローラ3112は、ステップS3122で検索された倉庫Aの照明デバイス113の照明制御サービスをパラメータOFFで実行する旨、照明デバイスに要求する。ステップS3160倉庫Aの照明デバイス113は、ステップS3153で要求されたサービスを実行するすなわち、照明をOFFすると、その応答を返す。ステップS3161ユーザAは、倉庫A巡回コントローラ3112の異常なしボタンを操作して、倉庫Aの巡回を終了する。ステップS3162異常なしボタンを操作された倉庫A巡回コントローラ3112は、タスクコントローラ実行部234に対してタスクの完了を通知し、自らを終了する。ステップS3163タスクコントローラ実行部234は、タスク管理サーバ3102に対してタスクの完了を通知する。ステップS3164タスク管理サーバ3102は、タスク2が完了したことをコンテキスト管理サーバ3101に通知する。コンテキスト管理サーバ3101は、ユーザAの状態をidleに更新する。以上説明したタスク定義は一例であり、このようなタスクの分割方法に限定されない。たとえば、本例では、倉庫巡回を開始すること自体をタスクとして定義し、実際の作業である倉庫Aの巡回タスクと分割しているが、両者を一体化して定義してもよい。このとき、巡回タスクの下位に倉庫A巡回、倉庫B巡回といったサブタスクを定義し、これら各サブタスクに対応するタスクコントローラを定義し、倉庫A巡回開始ボタンを操作すると、対応するサブタスクの実行に必要なコントローラが起動される。また、各タスクコントローラは起動される度にダウンロードするようにしているが、たとえば緊急度の高いタスクのためのコントローラたとえば、異常確認コントローラ3113については、あらかじめ端末102にインストールしておいてもよい。さらに、上記例では、タスクの実行が完了しても、対応するタスクコントローラはインストール状態のままにしているが、端末102のメモリ容量に制限がある場合は、タスク完了後にタスクコントローラをアンインストールして、占有していたメモリを解放してもよい。各種管理データ例上述した巡回警備に用いる管理データ例について説明する。図32は、コンテキスト情報の例を示す図表である。コンテキスト管理サーバ3101が管理するコンテキスト情報3200により、各ユーザやデバイスの状態を管理する。このコンテキスト情報3200は、時刻3201、ユーザコンテキスト3202、デバイスコンテキスト3203の各情報を含む。時刻3201は、システムで共通して使用される現在時刻情報であり、ユーザコンテキスト3202は、ユーザ毎の状態情報として、ユーザの場所とタスクの実行状態を管理する。デバイスコンテキスト3203は、デバイス毎の状態情報として、デバイスの設置場所建屋Bとデバイスの状態ここでは異常センサ1114のON/OFF状態を管理する。図33は、タスク管理情報の例を示す図表である。コンテキスト管理サーバ3101はタスク管理情報3300を用いてタスクを管理する。タスク管理情報3300は、各ユーザが実行すべきタスクの起動条件を管理するためのものであり、UID、時刻、場所、その他、TIDの各情報を含む。UIDはタスクを実行すべきユーザのIDの情報であり、時刻はタスクを実行すべき時間条件の情報であり、場所はタスクを実行すべき場所条件の情報であり、その他は、タスクを実行すべき上記以外の条件の情報であり、TIDは、上記の条件が成立したときに実行されるべきタスクのIDの情報である。コンテキスト管理サーバ3101は、ユーザやデバイスの状態が変化すると、対応するタスク管理情報3300を検索し、実行すべきタスクの有無を判定する。この判定処理を高速におこなうために、追加のデータが管理されてもよい。たとえば、コンテキスト管理データとして、個々のユーザに実行すべき未実行のタスクが存在するか否かのフラグ情報を管理することで、タスクが存在しないユーザに関しては、コンテキストが変化しても実行すべきタスクの有無の判定処理をおこなわないようにする等が考えられる。図34は、タスク管理情報の例を示す図表である。タスク管理サーバ3102のタスク管理部202はタスク管理情報3400を用いてタスクを管理する。タスク管理情報3400は、タスク管理情報:各ユーザが実行すべきタスクに関する情報を管理するものであり、UID、TID、時刻、場所、優先度、状態の各情報を含む。UIDはタスクを実行すべきユーザのIDの情報であり、TIDは実行すべきタスクのIDの情報であり、時刻はタスクを実行すべき時間の情報であり、場所はタスクを実行すべき場所の情報であり、優先度はタスクの優先度であり、状態はタスクの実行状態未実行/実行中/完了である。図34において、UID=の項目は、タスク3が特定のユーザが実行すべきものとして定義されていないことを示している。このようなタスクについては、タスクを実行すべきユーザは状況に応じて動的に決定される。図35は、タスクコントローラ管理情報の例を示す図表である。タスクコントローラ管理情報3500は、タスクの実行に必要なタスクコントローラに関する情報であり、タスク管理サーバ3102のサービス管理部203が管理する。タスクコントローラ管理情報3500は、TIDと、コントローラURLの情報を含む。TIDはタスクIDの情報であり、コントローラURLはタスクの実行に必要なコントローラが格納されているURLの情報である。図36は、タスクサービス対応情報の例を示す図表である。タスクサービス対応情報3600は、各タスクの実行に必要なデバイスおよびサービスに関する情報であり、タスク管理サーバ3102のサービス管理部203が管理する。タスクサービス対応情報3600は、TID、デバイス、サービスの各情報を含む。TIDはタスクIDであり、デバイスはデバイス名であり、サービスはサービス名の情報である。図に記載のNANotApplicableは、タスクの実行にデバイスおよびサービスが不要であることを示している。図37は、タスクスケジューラが管理するタスク実行管理情報を示す図表である。タスクスケジューラ214aは、ユーザ毎のタスクの実行制御に関する情報をタスク実行管理情報3700として管理する。実行管理情報3700は、ユーザAに関する実行中タスク2601と、タスクキュー2602のそれぞれについて、TIDと、優先度を管理する。実行中タスク2601については、実行中のタスクに関する情報を管理し、TIDはタスクのIDの情報、優先度はタスクの優先度の情報である。タスクキュー2602については、実行待ち状態のタスクに関する情報を管理し、TIDはタスクのIDの情報、優先度はタスクの優先度の情報である。図37に示す例では、タスクキュー2602に登録されているタスクは0または1つとなっているが、タスクの割り込みが複数回にわたっておこなわれるような場合には、2個以上のタスクが登録されることもある。つぎに、このタスク実行管理情報3700の変化について、上述した図31-1~図31-4に示したシーケンスの手順に沿って説明する。ステップS3111~ステップS3117:実行中および実行待ち状態のタスクはない図示略1ステップS3114:タスク1の起動が完了したため、タスク1に関する情報が、実行中タスク2601として保持される。実行待ち状態のタスクはないため、タスクキュー2602には情報は保持されていないNAと記載。ステップS3118:タスク1が完了すると、タスク1に関する情報が実行中タスク2601の情報から削除される。これにより、実行中および実行待ち状態のタスクはなくなる図示略。2ステップS3131:タスク2の起動が完了したため、タスク2に関する情報が、実行中タスク2601の情報として保持される。実行待ち状態のタスクはないため、タスクキュー2602には情報は保持されていない。3ステップS3141~ステップS3147:優先度=高のタスク3の実行が要求されると、実行中のタスク2優先度=中の中断処理がおこなわれ、ステップS3141で中断処理が完了すると、タスク2に関する情報がタスクキュー2602に登録される。続いて、ステップS3147でタスク3の起動が完了すると、タスク3に関する情報が実行中タスク2601の情報として保持される。4ステップS3156:ステップS3151でタスク3が完了すると、タスク3の情報が実行中タスク2601の情報から削除され図には未記載、引き続いてステップS3156でタスク2の実行が再開されると、タスク2に関する情報が実行中タスク2601の情報として保持される。ステップS3163:タスク2の実行が完了すると、タスク2に関する情報が実行中タスク2601の情報から削除される。これにより、実行中および実行待ち状態のタスクはなくなる図示略。このほか、図37には記載していないが、端末102が停止中であるか否かを示すフラグを端末102毎に設ける。そして、端末102から端末102の停止が要求されたときは当該フラグをセットし、フラグがセットされている間は、端末102に対するタスク制御を停止する。この間、タスクの起動条件が満足された旨の通知が発生した場合は、タスク優先度に関わらず当該タスクに関する情報はタスクキュー2602に登録される。以上説明した実施の形態2によれば、実施の形態1同様に、ユーザやその周辺環境のコンテキストと、周辺機器が提供するサービスとに基づいて、優先順位やタスク間の依存関係を考慮して複数のタスクを順次実行することができる。実施の形態2では、これに加えて、タスクの実行中に他のタスクの割り込みがあったときにタスクの優先度に基づいてタスクの実行の中断および再開を制御できるようになる。これにより、複数のタスクを効率的に処理できるようになる。また、実施の形態2によれば、ユーザの移動に対応したタスク制御を実行するため、ユーザが移動しながら移動先毎に必要なサービスを受けることができるようになる。なお、本実施の形態で説明したタスク実行制御方法は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーション等のコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、CD-ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネット等のネットワークを介して配布することが可能な伝送媒体であってもよい。"