(57)【要約】【課題】  従来、複数のエージェントをそれぞれ独立して動作させることで複数のネットワークデバイスを分散管理する管理装置を含むシステムにおいて、管理装置によるシステム内での負荷の調整を実現するための仕組みが提供されていなかった。【解決手段】  本発明における管理装置は、各エージェントサービスに対してマネージャー制御タスクの情報を送信し、各エージェントサービスで前記マネージャー制御タスクに従い生成されたサブタスクのそれぞれについて、処理対象となる各ネットワークデバイスで実行された処理の実行結果を管理し、同じ時間帯に並行して実行されるサブタスクの数を制御するために、各エージェントサービスからの問い合わせに対して、サブタスクの実行を許可するか許可しないかのいずれかの応答を送信することを特徴とする。【選択図】  図７
2020091825.tif 000002
【特許請求の範囲】
【請求項１】
それぞれ複数のネットワークデバイスを監視する複数のエージェントサービスと、当該複数のエージェントサービスを管理するマネージャーと、を含むシステムであって、
前記マネージャーは、
処理内容と処理対象のネットワークデバイスが設定されたタスクを作成する作成手段と、
前記作成したタスクに処理対象として設定されたネットワークデバイスを監視するエージェントサービスに対して、当該タスクの情報を送信する送信手段と、を有し、
前記タスクの情報を受信したエージェントサービスは、
当該タスクに従い複数のサブタスクを生成する生成手段と、
該タスクがマネージャー制御タスクであった場合に、各サブタスクについて、前記マネージャーに対して、実行してよいか問い合わせのための要求を送信する問い合わせ手段と、を有し、
前記マネージャーは、さらに、
前記マネージャー制御タスクに従い生成されたサブタスクのそれぞれについて、各ネットワークデバイスで実行された処理の実行結果を管理する保管手段と、
同じ時間帯に並行して実行されるサブタスクの数を制御するために、前記問い合わせに対して許可するか許可しないかのいずれかの応答を送信する応答手段と、を有し、
前記エージェントサービスは、さらに、
前記問い合わせに対して実行が許可されたサブタスクに係る処理を、当該サブタスクの対象となるネットワークデバイスに対して指示する指示手段、を有し、
前記問い合わせ手段は、前記マネージャーにより実行が許可されなかったサブタスクについて、所定時間が経過した後に再び問い合わせのための要求を前記マネージャーに対して送信する、ことを特徴とするシステム。
【請求項２】
マネージャー制御タスクは、該マネージャー制御タスクに基づき生成されたサブタスクに従う実行指示を受け付けたネットワークデバイスが、ネットワークを介してリポジトリに対してコンテンツを取得するための要求が必要になるタスクであることを特徴とする請求項１に記載のシステム。
【請求項３】
前記コンテンツは、ファームウェア、アプリケーション、及び設定情報のいずれかであることを特徴とする請求項２に記載のシステム。
【請求項４】
前記リポジトリは、前記マネージャーと同じ装置内で稼働することを特徴とする請求項２または３に記載のシステム。
【請求項５】
サブタスクは、前記タスクの情報に含まれる処理対象のネットワークデバイスの台数分だけ生成されることを特徴とする請求項１乃至４のいずれか１項に記載のシステム。
【請求項６】
前記タスクの情報を受信したエージェントサービスの前記指示手段は、該タスクがマネージャー制御タスクでなかった場合に、前記マネージャーに対して問い合わせのための要求を送信することなく、
該タスクに従い生成されたサブタスクのそれぞれに係る処理を、各サブタスクの対象となるネットワークデバイスに対して指示することを特徴とする請求項１乃至５のいずれか１項に記載のシステム。
【請求項７】
前記マネージャーは、さらに、
同じ時間帯に並行して実行されるサブタスクの数を制御するためチケットを管理する管理手段を有し、
前記管理手段は、サブタスクの実行を許可した場合には所定の数だけチケットを消費し、当該サブタスクの実行が完了した場合にはチケットを所定の数だけ加算し、
前記応答手段は、前記管理されているチケットの残りの数に基づき、前記問い合わせに対してサブタスクの実行を許可することを示す応答を行うか否かを判定することを特徴とする請求項１乃至６のいずれか１項に記載のシステム。
【請求項８】
前記マネージャーは、さらに、
同じ時間帯に並行して実行されるサブタスクの数を制御するためチケットを管理する管理手段を有し、
前記管理手段は、サブタスクの実行を許可した場合には所定の数だけチケットを消費し、当該サブタスクの対象となるコンテンツのダウンロードが完了した場合にはチケットを所定の数だけ加算し、
前記応答手段は、前記管理されているチケットの残りの数に基づき、前記問い合わせに対してサブタスクの実行を許可することを示す応答を行うか否かを判定することを特徴とする請求項１乃至６のいずれか１項に記載のシステム。
【請求項９】
前記管理手段は、サブタスクの種別に応じて、チケットを消費または加算する数を異ならせることを特徴とする請求項７または８に記載のシステム。
【請求項１０】
前記保管手段は、各エージェントサービスからの通知に応じて、サブタスクのそれぞれについて、各ネットワークデバイスで実行された処理の実行結果を管理することを特徴とする請求項１乃至９のいずれか１項に記載のシステム。
【請求項１１】
それぞれ複数のネットワークデバイスを監視する複数のエージェントサービスを管理するマネージャーが稼働する管理装置であって、
処理内容と処理対象のネットワークデバイスが設定されたマネージャー制御タスクを作成する作成手段と、
前記マネージャー制御タスクに処理対象として設定されたネットワークデバイスを監視するエージェントサービスに対して、当該マネージャー制御タスクの情報を送信する送信手段と、
各エージェントサービスで前記マネージャー制御タスクに従い生成されたサブタスクのそれぞれについて、処理対象となる各ネットワークデバイスで実行された処理の実行結果を管理する保管手段と、
同じ時間帯に並行して実行されるサブタスクの数を制御するために、各エージェントサービスからの問い合わせに対して、サブタスクの実行を許可するか許可しないかのいずれかの応答を送信する応答手段と、を有し、
前記エージェントサービスでは、前記問い合わせに対して実行が許可されたサブタスクに係る処理については、当該サブタスクの対象となるネットワークデバイスに対して指示されることを特徴とする管理装置。
【請求項１２】
マネージャー制御タスクは、該マネージャー制御タスクに基づき生成されたサブタスクに従う実行指示を受け付けたネットワークデバイスが、ネットワークを介してリポジトリに対してコンテンツを取得するための要求が必要になるタスクであることを特徴とする請求項１１に記載の管理装置。
【請求項１３】
前記コンテンツは、ファームウェア、アプリケーション、及び設定情報のいずれかであることを特徴とする請求項１２に記載の管理装置。
【請求項１４】
前記リポジトリは、前記管理装置で稼働することを特徴とする請求項１２または１３に記載の管理装置。
【請求項１５】
同じ時間帯に並行して実行されるサブタスクの数を制御するためチケットを管理する管理手段を、さらに有し、
前記管理手段は、サブタスクの実行を許可した場合には所定の数だけチケットを消費し、当該サブタスクの実行が完了した場合にはチケットを所定の数だけ加算し、
前記応答手段は、前記管理されているチケットの残りの数に基づき、前記問い合わせに対してサブタスクの実行を許可することを示す応答を行うか否かを判定することを特徴とする請求項１１乃至１４のいずれか１項に記載の管理装置。
【請求項１６】
同じ時間帯に並行して実行されるサブタスクの数を制御するためチケットを管理する管理手段を、さらに有し、
前記管理手段は、サブタスクの実行を許可した場合には所定の数だけチケットを消費し、当該サブタスクの対象となるコンテンツのダウンロードが完了した場合にはチケットを所定の数だけ加算し、
前記応答手段は、前記管理されているチケットの残りの数に基づき、前記問い合わせに対してサブタスクの実行を許可することを示す応答を行うか否かを判定することを特徴とする請求項１１乃至１４のいずれか１項に記載の管理装置。
【請求項１７】
前記管理手段は、サブタスクの種別に応じて、チケットを消費または加算する数を異ならせることを特徴とする請求項１５または１６に記載の管理装置。
【請求項１８】
前記保管手段は、各エージェントサービスからの通知に応じて、サブタスクのそれぞれについて、各ネットワークデバイスで実行された処理の実行結果を管理することを特徴とする請求項１１乃至１７のいずれか１項に記載の管理装置。
【請求項１９】
それぞれ複数のネットワークデバイスを監視する複数のエージェントサービスを管理するマネージャーが稼働する管理装置における方法であって、
処理内容と処理対象のネットワークデバイスが設定されたマネージャー制御タスクを作成する作成工程と、
前記マネージャー制御タスクに処理対象として設定されたネットワークデバイスを監視するエージェントサービスに対して、当該マネージャー制御タスクの情報を送信する送信工程と、
各エージェントサービスで前記マネージャー制御タスクに従い生成されたサブタスクのそれぞれについて、処理対象となる各ネットワークデバイスで実行された処理の実行結果を管理する保管工程と、
同じ時間帯に並行して実行されるサブタスクの数を制御するために、各エージェントサービスからの問い合わせに対して、サブタスクの実行を許可するか許可しないかのいずれかの応答を送信する応答工程と、を有し、
前記エージェントサービスでは、前記問い合わせに対して実行が許可されたサブタスクに係る処理については、当該サブタスクの対象となるネットワークデバイスに対して指示されることを特徴とする方法。
【請求項２０】
請求項１１乃至１８のいずれか１項に記載の各手段としてコンピューターを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の画像処理装置などのネットワークデバイスを管理するためのマネージャー／エージェント型のシステムにおける制御に関する。
【背景技術】
【０００２】
ネットワークに接続されている複数のネットワークデバイスを管理するにあたって、マネージャーとなる管理装置が１以上のエージェントを管理し、それらエージェントに複数のネットワークデバイスを分散監視させるシステムがある。
【０００３】
ネットワーク管理者などのユーザーは、管理装置が提供する管理画面を操作することで、各エージェントに対して、探索処理、機器情報や稼働情報やステータスの取得処理、設定値やソフトウェアの配信処理、などの作業（タスク）を指示することができる。各エージェントは、タスクの内容に従い、監視対象のネットワークデバイスに対して処理を実行し、その結果を管理装置に通知する。
【０００４】
なお、従来から、ファームウェアなどのソフトウェアコンテンツを、ネットワーク機器の管理を行う管理装置により配信する仕組みが提案されている（例えば、特許文献１）。特許文献１では、管理装置は、ネットワーク機器からの取得要求に応じて、当該機器の機種に対応するファームウェアを配信する制御を実行している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１３−０４５１５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
前述したエージェントは、タスクの内容に従い、ソフトウェアを管理するコンテンツ管理サーバー（リポジトリーサーバー）からのダウンロードとそのインストールや更新などの適用とをネットワークデバイスに指示することができる。
【０００７】
例えば、複数のエージェントが、それぞれの監視対象に対して一斉にこの指示を実行してしまうと、管理装置によるタスク実行は分散処理されることになるが、多くのネットワークデバイスによるリポジトリーサーバーへの短期間でのアクセスの集中が発生する可能性がある。リポジトリーサーバーへのアクセスが集中することで、タスクの実行終了の遅延や実行エラーとなってしまう場合がある。このように、管理装置で作成されるタスクの中には、対象となる複数台のネットワークデバイスによる同じ時間帯での処理の実行によって、エージェント以外に、システム内で負荷が高まる可能性がある。このようなケースでは、分散処理の対象となった各エージェントが個別に処理負荷を調整することでは、システム全体として十分な負荷の調整が行われているとはいえない。
【０００８】
そこで、本発明は、複数のエージェントをそれぞれ独立して動作させることで複数のネットワークデバイスを分散管理する管理装置を含むシステムにおける、管理装置によるシステム内での負荷の調整を実現するための仕組みを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の管理装置は、それぞれ複数のネットワークデバイスを監視する複数のエージェントサービスを管理するマネージャーが稼働する管理装置であって、処理内容と処理対象のネットワークデバイスが設定されたマネージャー制御タスクを作成する作成手段と、前記マネージャー制御タスクに処理対象として設定されたネットワークデバイスを監視するエージェントサービスに対して、当該マネージャー制御タスクの情報を送信する送信手段と、各エージェントサービスで前記マネージャー制御タスクに従い生成されたサブタスクのそれぞれについて、処理対象となる各ネットワークデバイスで実行された処理の実行結果を管理する保管手段と、同じ時間帯に並行して実行されるサブタスクの数を制御するために、各エージェントサービスからの問い合わせに対して、サブタスクの実行を許可するか許可しないかのいずれかの応答を送信する応答手段と、を有し、前記エージェントサービスでは、前記問い合わせに対して実行が許可されたサブタスクに係る処理については、当該サブタスクの対象となるネットワークデバイスに対して指示されることを特徴とする。
【発明の効果】
【００１０】
本発明によれば、複数のエージェントを利用することで複数のネットワークデバイスを分散管理するシステムにおける、コンテンツ管理サーバーへの短期間でのアクセスの集中を抑制するための仕組みを提供できる。
【図面の簡単な説明】
【００１１】
【図１】本発明におけるネットワークシステムの構成例を示す図。
【図２】情報処理装置のハードウェア構成例を示す図。
【図３】本発明の各装置のソフトウェアのモジュール構成例を示す図。
【図４】管理装置が管理するエージェントリストの一例を示す図。
【図５】管理装置が管理するデバイスリストの一例を示す図。
【図６】管理装置によるタスク実行の処理を説明するためのフローチャートを示す。
【図７】管理装置によるサブタスクの実行制御処理を説明するためのフローチャートを示す。
【図８】管理クライアントのサブタスクの実行制御を説明するためのフローチャートを示す。
【図９】管理クライアントのサブタスクの結果の通知処理を説明するためのフローチャートを示す。
【図１０】ネットワークデバイスのサブタスクに係る処理の説明するためのフローチャートを示す。
【発明を実施するための形態】
【００１２】
（実施例１）
図１は、本発明におけるネットワークシステムの構成例を示す図である。図１で示すシステムには、管理装置１０００と、２台の管理クライアント２０００であるＭＣ−ＡとＭＣ−Ｂ、及び、管理対象となる複数台のネットワークデバイス３０００のＤｅｖＡ１〜ＤｅｖＡｎ、ＤｅｖＢ１〜ＤｅｖＢｎが含まれる。各装置は通信回線４０００を介して接続されている。管理装置１０００はマネージャーとして動作するためのプログラムが実行され、管理クライアント２０００はエージェントとして動作するためのプログラムが実行される。ネットワークデバイス３０００は、例えば、複写機、プリンターやスキャナなどの画像処理装置、ネットワークカメラやデジタル医療機器や家電製品などである。
【００１３】
なお、管理装置１０００内に、エージェントとして動作するためのプログラムをさらに実行し、１台の装置でマネージャーとエージェントとの双方として機能することが可能である。この場合、管理装置１０００内ではマネージャーとエージェントとがネットワークで通信するのと同様の通信プロトコルを利用して通信することになる。
【００１４】
以降、管理クライアント２０００のＭＣ−Ａ、ＭＣ−Ｂは、それぞれ管理クライアントＭＣ−Ａ管理クライアントＭＣ−Ｂと称す。また、ネットワークデバイス３０００についても、デバイス３０００やデバイスＤｅｖＡ１などと称す。
【００１５】
ここで、管理装置１０００は、複数の管理クライアント２０００の情報と、各管理クライアント２０００が監視するデバイス３０００の情報を関連付けて管理する。そして、管理装置１０００は、ネットワーク管理者などのユーザーに管理画面を提供し、該画面を介した操作により１台以上のデバイス３０００に対する処理を定義するタスクを作成する。作成されたタスクの内容（タスク情報）に従い、各管理クライアント２０００はデバイス３０００に対する処理を実行する。各管理クライアント２０００では、タスクの実行結果を管理サーバーに通知するための機能も有する。タスクに定義される処理としては、探索処理、機器情報や稼働情報やステータスの取得処理、設定値やソフトウェアの配信処理などが含まれる。
【００１６】
本実施例においては、管理装置１０００は、ソフトウェアの配信処理を実現するためのコンテンツ管理サーバーとしても動作する。そのため、管理装置１０００では、マネージャーとして動作する機能構成のほかに、ソフトウェアや設定情報などのコンテンツを管理して、コンテンツをデバイス３０００にダウンロードさせるための機能を実現するリポジトリサービスも有することになる。後述では、ソフトウェアの一例であるファームウェアの配信処理について詳しく説明する。
【００１７】
なお、リポジトリサービスは、管理装置１０００とは別のサーバー装置を用いて実現することも可能である。本実施例にように、管理装置１０００とリポジトリサービスとが同じ装置で実現される場合には、物理サーバーの設置数を低減できる一方で、複数のデバイスからのアクセスの集中はリポジトリサービスの機能性の劣化だけではなく、管理装置による他の機能に対しても影響を与えることになる。
【００１８】
図２は、管理装置１０００、管理クライアント２０００、デバイス３０００を実現する情報処理装置のハードウェア構成の例を示す。
【００１９】
ＣＰＵ１０は、ＲＡＭ１２をワークエリアとして、ＲＯＭ１１、及びＨＤＤ１９に格納されたプログラムを実行する。例えば、管理装置１０００の場合、マネージャー部３０を実現するためのプログラムが実行されることになる。システムバス１３は装置内の各構成を接続する。また、マネージャー部３０やエージェントサービス部３７を実現するためのプログラムは、例えばＤｉｓｋＤｒｉｖｅ２０にマウント可能なＦＤ、ＣＤ−ＲＯＭ、ＤＶＤ、磁気テープ、ＩＣメモリカード等の記憶媒体により供給することができる。ＣＰＵ１０は、ディスクコントローラ（ＤＫＣ）１８を介して、ＨＤＤ１９、及びＤｉｓｋＤｒｉｖｅ２０にアクセスし、マネージャー部３０などをＨＤＤ１１１にインストールする。
【００２０】
また、ＣＰＵ１０は、ビデオカード（ＶＣ）１４を介して、表示装置（ＣＲＴ）１５にユーザーインターフェース表示を行う。更に、ＣＰＵ１０は、キーボードコントローラ（ＫＢＣ）１６を介し、キーボード（ＫＢ）１７やマウスなどのポインティングデバイスからのユーザーインターフェースに対する入力指示に応じた制御を行う。また、ＣＰＵ１０は、ネットワークインタフェースボード（ＮＩＣ）２１を介し、通信回線４０００上の管理クライアント２０００上のエージェントサービス部３７とのデータ通信を行う。なお、管理クライアント２０００、デバイス３０００の場合には、ＣＰＵ１０は、それぞれ、エージェントサービス部３７、デバイスサービス部３８を実現するためのプログラムを実行することになる。また、デバイス３０００がプリンターであった場合には、プリントエンジンなどのハードウェア構成が追加される。また、デバイス３０００には固有の機能を提供するためのファームウェアやアプリケーションと、各種設定が適用され、それらの情報はＨＤＤ１１１で管理されている。
【００２１】
図３は、本発明の各装置のソフトウェアのモジュール構成例を示す図である。
【００２２】
管理装置１０００は、マネージャー部３０としてタスク作成部３１、タスク管理部３２、エージェント制御部３３、及びデータ保管部３６を有し、さらに、リポジトリー制御部３４及びリポジトリー保管部３６を有する。各管理クライアント２０００には、エージェントサービス部３７がインストールされ、ＯＳサービスのひとつとして常駐稼働しているものとする。各デバイス３０００には、エージェントサービス部３７や、マネージャー部３０と通信するためのデバイスサービス部３８がインストールされ、常駐稼働している。デバイスサービス部３８は、管理装置１０００に対してはＨＴＴＰなどのネットワークプロトコルを用いて通信する。
【００２３】
管理装置１０００のマネージャー部３０は、Ｗｅｂベースのアプリケーションとして実現することが可能である。その場合には、別の情報処理装置上で動作するＷｅｂブラウザーを介して、例えば、タスク作成部３１が提供するウェブページにアクセスすることで、該ウェブページを介したマネージャー部３０の利用が可能となる。
【００２４】
タスク作成部３１は、ユーザーからの操作に従い様々なタスクを作成し、データ保管部３５で保存される。タスクは、タスク情報として、その処理内容、実行スケジュール、処理対象を示す対象デバイス一覧が定義される。処理内容は、たとえばファームウェア配信であれば、配信するファームウェアの情報や、ファームウェアの取得先を示す情報（ＵＲＬ）などが含まれる。実行スケジュールでは、即時実行、指定時刻での実行、定期実行などの実行タイミングが任意に設定できる。タスク管理部３２は、タスクに設定された実行スケジュールに応じて、エージェント制御部３３に実行対象のタスクの情報を指示する。
【００２５】
エージェント制御部３３は、指示されたタスクの内容から、タスク実行を担う管理クライアント２０００のエージェントサービス部３７にタスクの実行を指示する。エージェント制御部３３とエージェントサービス部３７は、互いにＷｅｂサービス等を用いての通信が可能である。
【００２６】
エージェントサービス部３７は、データ保管部３５に対してサブタスクの実行結果の書き込みなどを行うことで、タスクの実行結果をマネージャー部３０に通知することができる。
【００２７】
データ保管部３５は、ＨＤＤ１９を用いたデータベース等を提供する。データ保管部３５では、各管理クライアント２０００のエージェントサービス部３７の監視対象となるデバイス３０００の情報もリストとして管理される。図４は、データ保管部３５で管理されるエージェントリストを示し、エージェント、管理クライアント、及びデバイスの識別情報（名称、ネットワーク識別子など）が含まれる。
【００２８】
例えば、エージェント名「Ａｇｅｎｔ−Ａ」のエージェントは、管理クライアントＭＣ−Ａ上で稼働し、ＩＰアドレスがｉｐＡ１〜ｉｐＡｎである複数台のデバイス３０００を監視対象とすることを示す。ここで、監視対象デバイスを識別するための情報として、ＩＰアドレス以外に、ＦＱＤＮ（Ｆｕｌｌｙ  Ｑｕａｌｉｆｉｅｄ  Ｄｏｍａｉｎ  Ｎａｍｅ）といったＤＮＳ（Ｄｏｍａｉｎ  Ｎａｍｅ  Ｓｙｓｔｅｍ）におけるホスト名で指定することも可能である。
【００２９】
次に、タスクの一例であるネットワーク上のデバイスの探索処理について説明する。探索では、ＳＮＭＰ、ＩＰ  Ｂｒｏａｄｃａｓｔ、ＳＬＰ／Ｍｕｌｔｉｃａｓｔ等を用いる。
【００３０】
まず、管理装置１０００のタスク作成部３１は、探索処理として利用するプロトコルや探索範囲、実行タイミングを指定したタスクを作成する。タスク管理部３２は、実行タイミングになったらエージェント制御部３３にタスクの情報を渡す。エージェント制御部３３は、各エージェントに対してタスクの実行を指示する。
【００３１】
エージェントＡｇｅｎｔ−Ａ、及びＡｇｅｎｔ−Ｂのエージェントサービス部３７は、エージェント制御部３３から指示されたタスクの内容に応じて、指定された探索範囲に対して探索用のパケットを送信する。エージェントサービス部３７は、デバイス探索の結果として、デバイス名、製品名、及びアドレス情報等の機器情報を取得し、データ保管部３５へ保存する。
【００３２】
データ保管部３５は、デバイス探索の結果を、デバイスリストとして管理する。図５は、デバイスリストの一例を示す。デバイスリストは、デバイス名（シリアル番号など）、製品名（機種情報）、及びアドレス情報から構成される。例えば、デバイスＤｅｖＡ１は、製品名がＤｅｖＡ、アドレスがｉｐＡ１のデバイスであることを示す。なお、デバイスリストに登録される情報は、ＣＳＶファイル等で、管理装置１０００にインポートすることも可能である。デバイスリストに含まれるデバイスを選択して、エージェントリストのいずれかのエージェントに関連付けて登録することも可能である。
【００３３】
管理装置１０００のリポジトリー制御部３４は、リポジトリー保管部３６を用いて、ファームウェアやアプリケーション、デバイスの設定情報といったコンテンツを管理する。リポジトリー保管部３６は、ＨＤＤ１９を用いたデータベース等を提供する。また、リポジトリー制御部３４は、デバイス３０００のデバイスサービス部３８からのコンテンツ要求に応じて、ファームウェアなどのコンテンツをダウンロードさせる。
【００３４】
次に、ファームウェア更新タスクに関して説明する。ファームウェア更新タスクは、タスク作成部３１で作成されるタスクの一種で、タスクの内容として、ファームウェア情報、実行タイミング、対象デバイスなどが定義されている。
【００３５】
エージェント制御部３３からタスク実行の指示を受けたエージェントサービス部３７は、管理しているデバイス３０００のうちタスク対象として指定されたデバイスのデバイスサービス部３８に対して、ファームウェア更新を指示する。指示を受信したデバイスサービス部３７は、リポジトリー制御部３４にアクセスし、適切なファームウェアを要求して、ファームウェアを含むファイルをダウンロードする。その後、ファイルを展開して、ファームウェアを自装置に適用することで更新処理を実現する。
【００３６】
リポジトリー制御部３４は、デバイスサービス部３８から、更新処理の結果を受信し、その結果をデータ保管部３５に書き込む。データ保管部３５では、ファームウェア更新タスクで定義された対象デバイスごとのレコードをもつテーブルを保持しており、デバイスサービス部３８は自装置に対応するレコードに対して、実行結果や処理時刻などを記録する。
【００３７】
本発明のデバイス管理システムにおいては、ファームウェアなどのコンテンツ配信タスクに関して、デバイスサービス部３８からのリポジトリー制御部３４へのアクセスを制御するために、管理装置１０００のエージェント制御部３３が、後述するような特別な処理を実行する。また、コンテンツ配信タスクを含む、サブタスクの同時実行数を制御する必要があるタスクのことをマネージャー制御タスクと呼ぶ。エージェントサービス部３７は、マネージャー制御タスクに該当するタスクの種類（処理内容）を管理している。
【００３８】
まず、管理装置１０００のエージェント制御部３３は、リポジトリー制御部３４へのアクセスを伴うタスクに従う各デバイスに対する処理（サブタスク）の開始を制御するための情報として実行制御チケット（以降、チケットと称す）を生成し、データ保管部３５に保存する。チケットは、複数のエージェントサービス部３７で同じ時間帯に並行して実行することが可能なサブタスクの総数を管理するために複数生成される。生成されるチケット数は、リポジトリー制御部３４が動作する情報処理装置のハードウェアなどのリソースに応じて決定される。
【００３９】
また、サブタスクは、コンテンツ配信タスクの実行指示を受け付けたエージェントサービス部３７が対象となるデバイスごとに作成して、内部実行する処理の単位である。すなわち、システム全体では、ひとつのタスクで、そのタスクを作成したときに指定されたデバイス台数分のサブタスクが各エージェントサービス部３７で作成されることになる。
【００４０】
また、データ保管部３５で管理されるチケットは、管理装置１０００でリポジトリー制御部３４へのアクセスを伴う複数のタスクが並行して開始された際には、各複数のタスクから作成される複数のサブタスクが共通して利用することになる。
【００４１】
なお、本実施例では、管理装置１０００のエージェント制御部３３は、チケットの数として＜１４０＞個のチケットを用いるとする。
【００４２】
図６は、管理装置１０００によるタスク実行の処理を説明するためのフローチャートを示す。
【００４３】
Ｓ６００で、タスク管理部３２は、データ保管部３５に保存されたタスクの実行スケジュールを参照して、タスクの実行時刻に到達したタスクが存在するかを判定する。該当するタスクが存在する場合にはＳ６０１に遷移する。ここでは、デバイスＤｅｖＡ１〜Ａｎ、Ｂ１〜Ｂｎを対象としたファームウェア更新タスクが存在すると判定したとする。タスク管理部３２は、エージェント制御部３３に対してタスクの情報を通知する。
【００４４】
Ｓ６０１で、エージェント制御部３３は、タスク管理部３２からの通知に従い、データ保管部３５から指定されたタスクの情報を取得する。次に、Ｓ６０２で、エージェント制御部３３は、取得したタスク情報からタスクを実行するエージェントを、図４で示すエージェントリストから特定する。本実施例では、エージェント制御部３３は、対象デバイスの情報から、管理クライアントＭＣ−ＡのＡｇｅｎｔ−Ａと管理クライアントＭＣ−ＢのＡｇｅｎｔ−Ｂのエージェントサービス部３７に対するタスクであると判定する。
【００４５】
Ｓ６０３で、エージェント制御部３３は、特定したエージェントサービス部３７に対して、ファームウェア更新タスクの実行を指示する。
【００４６】
以降では、図７〜１０で示すフローチャートを用いて、主に時系列で各装置の処理を説明する。
【００４７】
図７は、管理装置１０００によるサブタスクの実行の制御処理を説明するためのフローチャートを示す。図８は、管理クライアント２０００のサブタスクの実行処理を説明するためのフローチャートを示す。図９は、管理クライアント２０００のサブタスクの結果の通知処理を説明するためのフローチャートを示す。図１０は、デバイス３０００のサブタスクに係る処理の説明するためのフローチャートを示す。
【００４８】
まず、図８で示す、管理クライアント２０００における「１」以降の処理の説明に移る。
【００４９】
Ｓ８００で、エージェントサービス部３７は、管理装置１０００のエージェント制御部３３に対して、実行すべきタスクのタスク情報を要求する。
【００５０】
図７で示す、管理装置１０００における「２」以降の処理の説明に移る。
【００５１】
Ｓ７００で、エージェント制御部３３は、エージェントサービス部３７からの要求の内容を解析する。本実施例では、エージェント制御部３３は、管理クライアントＭＣ−ＡとＭＣ−Ｂの各エージェントサービス部３７からの要求を受付け、それぞれに応答することになる。
【００５２】
Ｓ７０１で、エージェント制御部３３は、タスク情報の取得要求であるかどうかを判定する。ここで、タスク情報の取得要求であると判定した場合にはＳ７０２に遷移し、別の要求であった場合にはＳ７０３に遷移する。
【００５３】
Ｓ７０２で、エージェント制御部３３は、データ保管部３５から要求元のエージェントサービス部３７の対象のタスク情報を取得し、該エージェントサービス部３７に送信する。
【００５４】
図８で示す、管理クライアント２０００における「３」以降の処理の説明に移る。
【００５５】
Ｓ８０１で、エージェントサービス部３７は、エージェント制御部３３からから受信したタスク情報を解析する。ここでは、タスクの処理内容や、対象デバイスを解析する。Ｓ８０２で、エージェントサービス部３７は、解析したタスクの内容に従い、対象デバイスの台数分だけ、サブタスクを生成する。例えば、本実施例では、管理クライアントＭＣ−Ａのエージェントサービス部３７は、デバイスＤｅｖＡ１〜Ａｎに対してのサブタスクであるＮ個のサブタスクを生成し、エージェントサービス部３７が管理するサブタスクキューにサブタスクを登録する。本実施例において、管理クライアントＭＣ−ＡとＭＣ−Ｂエージェントサービス部３７のサブタスクの実行は、マルチスレッドで複数のサブタスクを並行させて実行する。そのため、Ｓ８０３以降のサブタスクに係る処理については、複数のスレッドを生成した上で並行に実行されることになる。
【００５６】
また、エージェントサービス部３７は、エージェント制御部３３からから受信したタスク情報に関連付けて、Ｓ８０２で生成した１以上のサブタスクの識別情報を、データ保管部３５に書き込む。この書き込みに対して、後述するように、エージェントサービス部３７がサブタスクの実行結果を追加で書き込むことになる。
【００５７】
さらに、Ｓ８０２では、エージェントサービス部３７は、生成したサブタスクの実行結果を管理装置１０００に通知するための処理（図９）を、開始する。以降、エージェントサービス部３７は、図８と図９で示す処理を併行で実行することになる。
【００５８】
Ｓ８０３で、エージェントサービス部３７は、サブタスクキューを参照し、生成されたすべてのサブタスクを実行したかを判定する。全てのタスクが実行していた場合には図８で示す処理が終了し、未実行のタスクがある場合にはＳ８０４に遷移する。
【００５９】
Ｓ８０４で、エージェントサービス部３７は、Ｓ８０１で解析したタスク情報に基づき、サブタスクの処理内容が、マネージャー制御タスクに該当するかどうかを判定する。マネージャー制御タスクに該当する場合にはＳ８０５に遷移し、該当しない場合にはＳ８１０に遷移する。ここでは、エージェントサービス部３７は、ファームウェア更新に係るサブタスクであることからマネージャー制御タスクに該当すると判定する。
【００６０】
Ｓ８０５で、エージェントサービス部３７は、エージェント制御部３３に対して、サブタスクの実行の可否を問い合わせる。問い合わせのための要求には、サブタスクの処理内容を示す種別の情報が含まれる。
【００６１】
図７で示す、管理装置１０００における「２」以降の処理の説明に移る。エージェント制御部３３は、Ｓ７００で、エージェントサービス部３７からの要求の内容を解析する。ここでは、サブタスクの実行の可否を問い合わせの要求のため、Ｓ７０１からＳ７０３に遷移する。
【００６２】
Ｓ７０３で、エージェント制御部３３は、サブタスク実行可否の問い合わせか否かを判定する。サブタスク実行可否の問い合わせと判定した場合にはＳ７０４に遷移する。
【００６３】
Ｓ７０４で、エージェント制御部３３は、データ保管部３５から、現在までに残っているチケットを取得する。前述したように、チケットの初期値は＜１４０＞である。Ｓ７０５で、エージェント制御部３３は、エージェントサービス部３７から問い合わせのあったサブタスクの種別を解析する。ここで、サブタスクの種別とは、ファームウェア更新、アプリケーションのインストール、アプリケーションの更新、設定情報の配信、などを示す。
【００６４】
Ｓ７０６で、エージェント制御部３３は、Ｓ７０４にて取得したチケットとＳ７０５で特定した種別から、サブタスクが実行可能か分析する。本実施例では、サブタスクがファームウェア更新の場合にはチケット＜３＞を消費し、アプリケーションのインストールや更新の場合にはチケット＜１＞を消費するものと定義する。設定情報の配信でもチケット＜１＞を消費すると定義される。この定義は、デバイスサービス部３８が取得するコンテンツのサイズなどから算出した値である。管理者が手動でこの値を調整しても良い。エージェント制御部３３は、サブタスクの種別に対応する消費チケット数と、残りのチケット数とから、サブタスクの実行の可否を決定することになる。
【００６５】
Ｓ７０７で、エージェント制御部３３は、Ｓ７０６での決定に従い、問い合わせのあったサブタスクの実行を許可するか否かを判定する。実行を許可する場合にはＳ７０８に遷移し、エージェント制御部３３は、Ｓ７０４で取得した残りのチケットから、Ｓ７０５で解析したサブタスク種別に対応する消費チケット数を減算する。例えば、エージェント制御部３３は、残りチケット＜１４０＞から、実行を許可したファームウェア更新のサブタスク分のチケット＜３＞を減算する。
【００６６】
Ｓ７０９で、エージェント制御部３３は、Ｓ７０７の判定結果に従い、エージェントサービス部３７に対して、サブタスクの実行許可、不可のいずれかを示す指示を応答する。
【００６７】
図８で示す、管理クライアント２０００における「４」以降の処理の説明に移る。
【００６８】
Ｓ８０６で、エージェントサービス部３７は、エージェント制御部３３からのサブタスク実行可否に関する指示を解析する。
【００６９】
Ｓ８０７で、エージェントサービス部３７は、サブタスクの実行が許可されたか否かを判定する。許可されていた場合にはＳ８０９に遷移し、不可の場合にはＳ８０８に遷移する。Ｓ８０８では、エージェントサービス部３７は、ウェイト処理を行い、所定時間だけ経過した場合にＳ８０５に戻る。これにより、前記マネージャーにより実行が許可されなかったサブタスクについて、エージェントサービス部３７により、再度、実行可否の問い合わせが実行されることになる。
【００７０】
Ｓ８０９で、エージェントサービス部３７は、実行対象のサブタスクの情報を一時保存する。ここで、サブタスク情報には、サブタスクの識別情報、サブタスクの種別、サブタスクの対象となるデバイス３０００、及び、サブタスクの実行に必要な情報（例えば、取得されるべきコンテンツの識別情報など）が含まれる。Ｓ８０９は、マルチスレッドでエージェントサービス部３７を動作させる場合に、マネージャー制御タスクから作成され、かつ、実行が許可されたサブタスク情報を一時的に記録するための処理になる。
【００７１】
Ｓ８１０で、エージェントサービス部３７は、サブタスクで指定されているデバイス３０００のデバイスサービス部３８に対して、サブタスクの内容に従う処理の実行指示を行う。具体的には、サブタスクの識別情報、サブタスクの種別、デバイスサービス部３８により取得されるべきコンテンツの識別情報などを含むファームウェア更新の実行指示を送信する。Ｓ８１１で、エージェントサービス部３７は、Ｓ８１０で実行指示したサブタスクを、サブタスクキューから削除する。
【００７２】
図１０で示す、デバイス３０００における「６」以降の処理の説明に移る。
【００７３】
Ｓ１０００で、デバイスサービス部３８は、エージェントサービス部３７から指示された実行指示の内容を解析する。ここでは、デバイスサービス部３８は、管理クライアントＭＣ−Ａのエージェントサービス部３７から指示されたサブタスクに従う実行指示の内容を解析する。
【００７４】
Ｓ１００１で、デバイスサービス部３８は、実行指示の内容の解析の結果、コンテンツを取得する必要があるか否かを判定する。コンテンツ必要があると判定した場合にはＳ１００２に遷移し、その必要が無いと判定した場合にはＳ１００３に遷移する。ここでは、サブタスクの種別としてファームウェア更新である場合に、リポジトリー制御部３４を介してリポジトリー保管部３６からコンテンツを取得する必要があると判定されることになる。
【００７５】
Ｓ１００２で、デバイスサービス部３８は、リポジトリー制御部３４を介してリポジトリー保管部３６から、実行指示に含まれる識別情報に対応するコンテンツを要求する。この要求に応答して、リポジトリー制御部３４からファームウェアなどのコンテンツファイルを取得する。
【００７６】
Ｓ１００３で、デバイスサービス部３８は、実行指示に従いサブタスクに係る処理を実行する。ファームウェアの更新の場合は、Ｓ１００２で取得されたコンテンツファイルを展開して、ファームウェアの更新処理を実行する。
【００７７】
なお、サブタスクがアプリケーションのインストールの場合は、Ｓ１００２で取得されたコンテンツファイルを展開して、アプリケーションのインストール処理を実行する。サブタスクが探索処理や稼働情報の取得であった場合には、デバイス３０００内で管理される機器情報やステータスなどの情報を含む応答を生成する。ここで生成される応答は、後述のＳ１００６における実行結果の通知としてエージェントサービス部３７に送信されることになる。
【００７８】
Ｓ１００４で、デバイスサービス部３８は、コンテンツ取得を伴うサブタスクであったかを判定する。コンテンツ取得を伴うサブタスクであった場合にはＳ１００５に遷移し、そうでない場合にはＳ１００６に遷移する。
【００７９】
Ｓ１００５で、デバイスサービス部３８は、リポジトリー制御部３４に対して、取得したコンテンツの適用の完了を、実行結果として、通知する。この通知には、サブタスクの識別情報が含まれる。管理装置１０００のリポジトリー制御部３４は、この通知に応じて、サブタスクの識別情報とともに、サブタスクの実行結果をデータ保管部３５に書き込みを実行する。実行結果には、正常に処理が終了した完了、異常終了（失敗）などのステータスが書き込まれることになる。ここでは、デバイスサービス部３８により、ファームウェア更新のサブタスクの識別情報と、該サブタスクの実行結果を、管理装置１０００のリポジトリー制御部３４に通知する。
【００８０】
Ｓ１００６で、デバイスサービス部３８は、管理クライアント２０００のエージェントサービス部３７に対してサブタスクの実行結果を通知する。エージェントサービス部３７は、実行結果の通知を受けて、サブタスクの識別情報とともに、サブタスクの実行結果をデータ保管部３５に書き込む。
【００８１】
本実施例では、コンテンツを制御するリポジトリー制御部３４とリポジトリー保管部３６を、管理装置１０００内のマネージャー部３０と分離独立した形態をとる。そして、リポジトリー制御部３４は、エージェントサービス部３７と同様の制御、プロトコルなどで、サブタスクの実行結果をデータ保管部３５に書き込む。これにより、リポジトリー制御部３４とリポジトリー保管部３６を、マネージャー部３０が動作する装置とは異なるネットワーク上の別装置で実現することが可能になる。また、コンテンツ取得を伴うサブタスクは、Ｓ１００３における適用処理が、他の種類のサブタスクと比較して時間がかかる。また、エージェントサービス部３７にデバイス３０００内で管理される応答を送信する必要が無い。そのため、デバイスサービス部３８はコンテンツ取得を伴うサブタスクの実行結果については、エージェントサービス部３７ではなく、リポジトリー制御部３４に送信する構成をとっている。
【００８２】
次に、図９を用いて、管理クライアント２０００のサブタスクの結果の通知処理を説明する。
【００８３】
Ｓ９００で、エージェントサービス部３７は、Ｓ８０９で一時保存したサブタスクの情報を取得する。
【００８４】
Ｓ９０１で、エージェントサービス部３７は、一時保存したサブタスクの情報が取得できたかどうかを判定する。取得できた場合にはＳ９０２に遷移し、取得できなかった場合には図９で示す処理を周章する。
【００８５】
Ｓ９０２で、エージェントサービス部３７は、エージェント制御部３３に、Ｓ９００で取得したサブタスクの情報の実行結果を問い合わせるための要求を送信する。この要求には、Ｓ９００で取得したサブタスクの情報として保存されているサブタスクの識別情報が含まれる。また、Ｓ９００で複数のサブタスクの情報が取得された場合には、複数のサブタスクの識別情報を要求に含めても良い。
【００８６】
図７で示す、管理装置１０００における「２」以降の処理の説明に移る。エージェント制御部３３は、Ｓ７００で、エージェントサービス部３７からの要求の内容を解析する。ここでは、サブタスクの実行結果の問い合わせの要求のため、Ｓ７０１、Ｓ７０３を介して、Ｓ７１０に遷移する。
【００８７】
Ｓ７１０で、エージェント制御部３３は、サブタスク実行結果の問い合わせか否かを判定する。サブタスク実行結果の問い合わせの場合にはＳ７１１に遷移する。
【００８８】
Ｓ７１１で、エージェント制御部３３は、要求に含まれるサブタスクの識別情報に基づき、データ保管部３５にアクセスし、対象のサブタスクの実行結果を確認する。ここでは、リポジトリー制御部３４による書き込み領域を参照する。Ｓ７１２で、エージェント制御部３３は、リポジトリー制御部３４により実行結果が書き込まれたことが確認できた場合には、対象のサブタスクの実行結果をエージェントサービス部３７に通知する。実行結果が確認できない場合には、エージェントサービス部３７にその旨が通知される。エージェント制御部３３は、要求に複数のサブタスクの識別情報が含まれる場合には、それらのサブタスクの実行結果がデータ保管部３５にあれば、それらの結果をすべて通知する。
【００８９】
図９で示す、管理クライアント２０００における「５」以降の処理の説明に移る。
【００９０】
Ｓ９０３で、エージェントサービス部３７は、エージェント制御部３３から通知されたサブタスクの実行結果の内容を解析する。Ｓ９０４で、エージェントサービス部３７は、サブタスクの実行結果が判明したかを判定する。エージェント制御部３３で実行結果が確認され、その実行結果が通知されていれば、実行結果が判明したものとしてＳ９０５に遷移する。実行結果が判明していなかった場合にはＳ９０１に戻る。
【００９１】
Ｓ９０５で、エージェントサービス部３７は、実行結果が判明したものについて、Ｓ８０９で一時保存していたサブタスクの情報を削除する。Ｓ９０６で、エージェントサービス部３７は、エージェント制御部３３に、実行が許可されたサブタスクの完了を示す要求を送信し、Ｓ９０１に戻る。送信される要求にはサブタスクの識別情報が含まれる。
【００９２】
図７で示す、管理装置１０００における「２」以降の処理の説明に移る。エージェント制御部３３は、Ｓ７００で、エージェントサービス部３７からの要求の内容を解析する。ここでは、実行が許可されたサブタスクの完了を示す要求のため、Ｓ７０１、Ｓ７０３、Ｓ７１０を介して、Ｓ７１３に遷移する。
【００９３】
Ｓ７１３で、エージェント制御部３３は、受信した要求が、実行を許可したサブタスクの完了を示すか否かを判定する。実行を許可したサブタスクの完了を示す場合にはＳ７１４に遷移する。
【００９４】
Ｓ７１４で、エージェント制御部３３は、データ保管部３５にアクセスし、要求に含まれる識別情報に基づき、該当するサブタスクの実行結果を書き込む。この処理は、マネージャー制御タスクから作成されたサブタスクについては、Ｓ８０２で作成したサブタスクのエントリーに対するＳ１００６による実行結果の書き込みが行われないためである。
【００９５】
Ｓ７１５で、エージェント制御部３３は、前述したＳ７０８とは逆に、対象のサブタスクの実行に要したチケットを加算する。例えば、エージェント制御部３３は、実行結果を更新したサブタスクがファームウェア更新であることからチケットを＜３＞加算する。
【００９６】
なお、Ｓ７１５では、ファームウェアの更新完了を条件に、チケットを加算していた。しかしながら、デバイスサービス部３８でのファームウェアなどのコンテンツのダウンロード完了を条件に、チケットを加算するといった構成をとってもよい。具体的には、エージェントサービス部３７はエージェント制御部３３経由でデータ保管部３５を監視して、その条件を満たすかどうかを判断することになる。
【００９７】
この構成により、チケットの解放が早まりタスク処理時間の短縮といった更なる効果がある。
【００９８】
（実施例２）
管理装置１０００で、実施例１でも説明したマネージャー制御タスクが複数作成された場合に、それらのタスクの実行時間が重なる場合がある。この場合、片方のタスク、とくに１つの種別のタスクに基づくサブタスクによって全てのチケットが利用されてしまう可能性がある。
【００９９】
本実施例では、実施例１の構成に加えて、リポジトリー制御部３４へのアクセスの負荷（接続時間が長いなど）を考慮して、サブタスクの種別に応じたチケット数の上限を調整する。例えば、総チケット数の７０％をファームウェア更新タスク用チケットとし、残りの３０％をアプリケーション更新タスク用チケットとする、といった調整を行う。
【０１００】
具体的には、管理装置１０００のタスク管理部３２は、新たにタスクが生成されたタイミング、または、図６のＳ６００において、作成済みの複数のタスクの実行スケジュールを確認し、実行時間が重なる可能性があるコンテンツ取得を伴うタスクが複数あるかを判定する。実行時間が重なる複数タスクが存在する場合には、総チケット数の７０％をファームウェア更新タスク用チケットとし、残りの３０％をアプリケーション更新タスク用チケットとする、といった調整を行う。そして、タスク種別ごとに残りのチケット数を管理する。
【０１０１】
エージェント制御部３３は、Ｓ７０４にて、サブタスクの種別を確認して、該当するタスク種別に対応して管理されている残りのチケット数を取得する。
【０１０２】
（実施例３）
チケットを減算して実行許可されたサブタスクを実行開始したエージェントサービス部３７が、処理の途中で停止してしまったり、エージェントサービス部３７が稼働している管理クライアント２０００自体がシャットダウンしてしまったりする場合がある。
【０１０３】
稼働不能に陥ったエージェントサービス部３７に割り振ったチケットは、他のエージェントサービス部３７にて利用されることが望ましい。
【０１０４】
本実施例では、実施例１または２の構成に加えて、働不能に陥ったエージェントサービス部３７に割り振ったチケットを回収するための構成を実現する。
【０１０５】
具体的には、管理装置１０００のエージェント制御部３３は、サブタスクの実行可能を指示した管理クライアント２０００、ないしは管理クライアント２０００のエージェントサービス部３７に対して、定期的に応答確認の要求を行う。この要求は、サブタスクの実行状況や、管理クライアント２０００のステータスの問合せのための要求であってもよい。エージェント制御部３３は、応答がないまま所定時間が経過した場合に、図７のＳ７１４及びＳ７１５で示した処理と同様の処理を実行する。具体的には、応答がなかった管理クライアント２０００のエージェントサービス部３７に実行許可した１以上のサブタスクの実行結果を異常終了として書き込む。さらに、それらサブタスク分のチケット数を残りのチケットに加算処理する。
【０１０６】
（実施例４）
本発明においては、マネージャー部３０、リポジトリー制御部３４、リポジトリー保管部３６、エージェントサービス部３７の全てを１台の情報処理装置内に実装することが可能である。そのようなケースでは、マネージャー制御タスク以外のタスクから生成されるサブタスクのエージェントサービス部３７での実行負荷を考慮して、チケット数に大きな値を設定しないことが考えられる。
【０１０７】
本実施例では、実施例１乃至３の構成に加えて、そのようなケースで、マネージャー制御タスク以外のタスクが実行されていない、または、マネージャー制御タスク以外のタスクがあまり実行されていない期間に、動的に残りのチケット数を増加させる構成をとる。
【０１０８】
具体的には、管理装置１０００のエージェント制御部３３が、実行スケジュールに基づき、タスク同士の実行が重複する期間において、マネージャー制御タスクのタスク数とそれ以外の種別のタスクのタスク数を算出する。そして、エージェント制御部３３は、マネージャー制御タスク以外の種別のタスクのタスク数が予め設定した規定値以下の場合には、マネージャー制御タスクで使用できる残りのチケット数を増加させる。マネージャー制御タスクでのみ使用できるチケット数を一時的に別途確保する構成でも良い。
【０１０９】
（実施例５）
実行するタスクにおいて、各管理クライアント２０００のエージェントサービス部３７が対象とするデバイス３０００の台数が同じではない場合がある。例えば、管理クライアントＭＣ−Ａのエージェントサービス部３７は４５０台、管理クライアントＭＣ−Ｂのエージェントサービス部３７は５０台のデバイスを対象とするマネージャー制御タスクを実行する場合がある。このようなケースでは、管理クライアントＭＣ−Ａのエージェントサービス部３７のサブタスク実行の許可の割合を、管理クライアントＭＣ−Ｂのエージェントサービス部３７からのサブタスク実行の許可の割合よりも高くすることが望ましい。
【０１１０】
管理装置１０００のエージェント制御部３３は、先の図６のＳ６０２にてタスクを実行するエージェントを特定する際に、タスクを実行するエージェントサービス部３７とデバイス３０００の比率を算出する。そして、管理装置１０００のエージェント制御部３３は、先の図７のＳ７０４でチケットを取得した際に、先の算出した比率に応じて、管理クライアント２０００のエージェント制御部３７にチケットを割り当てる。
【０１１１】
（他の実施例）
本発明は、上述した実施形態を適宜組み合わせることにより構成された装置あるいはシステムやその方法も含まれるものとする。
【０１１２】
ここで、本発明は、上述した実施形態の機能を実現する１以上のソフトウェア（プログラム）を実行する主体となる装置あるいはシステムである。また、その装置あるいはシステムで実行される上述した実施形態を実現するための方法も本発明の一つである。また、そのプログラムは、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給され、そのシステム或いは装置の１以上のコンピューター（ＣＰＵやＭＰＵ等）によりそのプログラムが読み出され、実行される。つまり、本発明の一つとして、さらにそのプログラム自体、あるいは該プログラムを格納したコンピューターにより読み取り可能な各種記憶媒体も含むものとする。また、上述した実施形態の機能を実現する回路（例えば、ＡＳＩＣ）によっても、本発明は実現可能である。
【符号の説明】
【０１１３】
１０００  管理装置
２０００  管理クライアント
３０００  ネットワークデバイス
３０  マネージャー部
３７  エージェントサービス部
【図１】
2020091825.tif 000003
【図２】
2020091825.tif 000004
【図３】
2020091825.tif 000005
【図４】
2020091825.tif 000006
【図５】
2020091825.tif 000007
【図６】
2020091825.tif 000008
【図７】
2020091825.tif 000009
【図８】
2020091825.tif 000010
【図９】
2020091825.tif 000011
【図１０】
2020091825.tif 000012