(57)【要約】【課題】複数のネットワーク機器に対するバッチタスクを、処理対象の各ネットワーク機器の処理結果に依存せず、効率的に実行させること。【解決手段】管理クライアント１０２が、管理サーバ１０１から受信したバッチタスク実行指示に対応するバッチタスクの情報を、管理サーバ１０１から取得し（Ｓ８０２〜Ｓ８０３）、前記バッチタスクの情報に基づいて、該バッチタスクで定義されている各段階のタスクを、実行対象のネットワーク機器ごとのサブタスクに分割し（Ｓ８０４〜Ｓ８０７）、前記サブタスクを、前記実行対象のネットワーク機器ごとに並行して実行し、実行結果を管理サーバ１０１に通知する（Ｓ８０８、図９のＳ９０５、Ｓ９０７）。【選択図】図８
2020101972.tif 000002
【特許請求の範囲】
【請求項１】
１以上のネットワーク機器に対する１以上の段階のタスクが定義されたバッチタスクを管理する管理装置から、前記バッチタスクの実行指示を受信する情報処理装置であって、
前記実行指示に対応するバッチタスクの情報を前記管理装置から取得する取得手段と、
前記バッチタスクの情報に基づいて、該バッチタスクで定義されている各段階のタスクを、実行対象のネットワーク機器ごとのサブタスクに分割する分割手段と、
前記サブタスクを、前記実行対象のネットワーク機器ごとに並行して実行する実行手段と、
前記実行手段による前記サブタスクの実行結果を前記管理装置に通知する通知手段と、
を有することを特徴とする情報処理装置。
【請求項２】
前記実行手段は、前記実行対象のネットワーク機器ごとのサブタスクを、前記バッチタスクの情報に基づく順序で実行することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記バッチタスクは、１以上のタスクをツリー構造で接続することが可能なユーザインタフェースを用いて定義されることを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記ユーザインタフェースを用い、前の段階のタスクの結果に応じて次の段階のタスクを実行することを定義可能なことを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記バッチタスクは、前記各段階のタスクごとに、実行対象のデバイスが定義されることを特徴とする請求項１〜４のいずれか１項に記載の情報処理装置。
【請求項６】
前記バッチタスクは、前記各段階のタスクごとに、実行スケジュールが定義されることを特徴とする請求項１〜５のいずれか１項に記載の情報処理装置。
【請求項７】
請求項１〜６のいずれか１項に記載の情報処理装置と管理装置とを有する管理システムであって、
前記管理装置は、前記通知手段より通知される実行結果に基づき、前記実行対象のネットワーク機器ごとに、前記バッチタスクの実行結果を提示可能な提示手段を有することを特徴とする管理システム。
【請求項８】
前記提示手段は、前記実行対象のネットワーク機器ごとに、前記バッチタスクで定義されている各段階のタスクの実行結果を提示可能なことを特徴とする請求項７に記載の管理システム。
【請求項９】
前記管理装置は、１以上のタスクをツリー構造で接続することにより前記バッチタスクを定義可能なユーザインタフェースを提供する提供手段を有することを特徴とする請求項７又は８に記載の管理システム。
【請求項１０】
前記ユーザインタフェースは、前の段階のタスクの結果に応じて次の段階のタスクを実行することを定義可能なことを特徴とする請求項９に記載の管理システム。
【請求項１１】
１以上のネットワーク機器に対する１以上の段階のタスクが定義されたバッチタスクを管理する管理装置から、前記バッチタスクの実行指示を受信する情報処理装置の制御方法であって、
前記実行指示に対応するバッチタスクの情報を前記管理装置から取得する取得ステップと、
前記バッチタスクの情報に基づいて、該バッチタスクで定義されている各段階のタスクを、実行対象のネットワーク機器ごとのサブタスクに分割する分割ステップと、
前記サブタスクを、前記実行対象のネットワーク機器ごとに並行して実行する実行ステップと、
前記実行ステップによる前記サブタスクの実行結果を前記管理装置に通知する通知ステップと、
を有することを特徴とする情報処理装置の制御方法。
【請求項１２】
コンピュータを、請求項１〜６のいずれか１項に記載の手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、１以上のネットワーク機器に対する１以上の段階のタスクが定義されたバッチタスクの処理制御に関する。
【背景技術】
【０００２】
複合機に代表されるデバイスに対して、複数のタスク処理を実行させるシステムが存在しており、ワークフローを各タスクに分割し、異なるデバイスで分担して実行するシステムが提案されている（特許文献１）。一方で、デバイス管理システム内に管理サーバを持ち、管理サーバが複数のデバイスに対する各種設定情報配信やアドレス帳配信、アプリケーション配信等の複数の処理をバッチタスクとして管理、実行するシステムが存在する。後者のシステムの場合、バッチタスクで定義された処理を、タスク毎に複数のデバイスに対して処理を実行する構成が考えられている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−２９６２４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、前述のような管理サーバを持つデバイス管理システムを構築する場合、バッチタスクの途中でエラーが発生すると、次のような課題が発生する。例えば、一つ目のタスクの処理において、処理対象デバイスの一つでエラーが発生した場合、タスク毎に（タスク単位で）処理を制御するため、一つ目のタスク処理が成功したデバイスにおいても後続のタスクが実行されないという課題があった。また、一部のデバイスで前段のタスクが遅延した場合に、バッチタスクの対象となる全デバイスへの処理速度への影響がでるという課題があった。
【０００５】
本発明は、上記の課題を解決するためになされたものである。本発明は、複数のネットワーク機器（デバイス）に対するバッチタスクを、処理対象の各ネットワーク機器の処理結果に依存せず、効率的に実行させることができる仕組みを提供することを目的とするものである。
【課題を解決するための手段】
【０００６】
本発明は、１以上のネットワーク機器に対する１以上の段階のタスクが定義されたバッチタスクを管理する管理装置から、前記バッチタスクの実行指示を受信する情報処理装置であって、前記実行指示に対応するバッチタスクの情報を前記管理装置から取得する取得手段と、前記バッチタスクの情報に基づいて、該バッチタスクで定義されている各段階のタスクを、実行対象のネットワーク機器ごとのサブタスクに分割する分割手段と、前記サブタスクを、前記実行対象のネットワーク機器ごとに並行して実行する実行手段と、前記実行手段による前記サブタスクの実行結果を前記管理装置に通知する通知手段と、を有することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、複数のネットワーク機器に対するバッチタスクを、処理対象の各ネットワーク機器の処理結果に依存せず、効率的に実行させることができる。
【図面の簡単な説明】
【０００８】
【図１】本実施形態を示すシステムの全体構成の一例を示す図。
【図２】管理サーバ及び管理クライアントの内部構成の一例を示すブロック図。
【図３】本実施形態におけるシステム全体の機能構成の一例を示すブロック図。
【図４】バッチ処理を定義するスケジュールタスクを作成する画面の一例を示す図。
【図５】管理サーバのタスク実行動作処理の一例を示すフローチャート。
【図６】スケジュールタスク情報が登録されているテーブルの一例を示す図。
【図７】バッチ処理におけるコンテンツ情報の一例を示す図。
【図８】管理クライアントのタスク実行動作処理の一例を示すフローチャート。
【図９】管理クライアントの各処理実行部がそれぞれ実行するバッチタスクのサブタスク実行処理の一例を示すフローチャート。
【図１０】管理クライアントの各処理実行部がそれぞれ実行するステップタスクのサブタスク実行処理の一例を示すフローチャート。
【図１１】管理サーバのタスク実行結果更新処理の一例を示すフローチャート。
【図１２】本実施形態における管理サーバのタスクの結果画面の一例を示す図。
【図１３】本実施形態における管理サーバのタスクの詳細結果を示す画面の一例を示す図。
【図１４】本実施形態における管理サーバのデバイスにおけるタスクの詳細結果を示す画面の一例を示す図。
【発明を実施するための形態】
【０００９】
以下、本発明を実施するための形態について図面を参照して説明する。
〔第１実施形態〕
＜システム構成＞
図１は、本発明の一実施形態を示すシステムの全体構成の一例を示す図である。
本実施形態のシステムは、デバイス管理システムであり、１つ以上のデバイスと、１つ以上のデバイスに対して複数のタスク処理を実行する１つ以上の管理クライアントと、１つ以上の管理クライアントを管理する管理サーバを有する。
【００１０】
図１において、管理サーバ１０１は、通信回線１０４を介して１つ以上の管理クライアント１０２と通信可能に接続されており、管理クライアント１０２やデバイス１０３のデータや、実行すべき処理を一元的に管理する。なお、管理サーバ１０１は、１台のコンピュータにより実現されるものであっても、複数のコンピュータにより実現されるものであってもよい。例えば、管理サーバ１０１は、クラウドサービス等を利用して実現される構成であってもよい。
【００１１】
管理クライアント１０２は、通信回線１０４を介して、１つ以上のデバイス１０３に対して直接処理を実行するものであり、例えばデバイス１０３に対して宛先表の配信等を行う。
デバイス１０３は、ＳＦＰ（プリンタ）やＭＦＰ（複合機）、Ｗｅｂカメラ、ナビゲーションシステム、ネットワーク家電等の各種ネットワーク機器である。なお、ＳＦＰは、Singlefunction Peripheralの略語である。また、ＭＦＰはMultifunction Peripheralの略語である。
【００１２】
通信回線１０４は、ＬＡＮ、ＷＡＮ、電話回線、専用デジタル回線、ＡＴＭやフレームリレー回線、ケーブルテレビ回線、データ放送用無線回線、携帯電話通信ネットワークなどの各種通信回線網を含む。
【００１３】
＜管理サーバ及び管理クライアントの内部構成＞
図２は、管理サーバ１０１及び管理クライアント１０２の内部構成の一例を示すブロック図である。
管理サーバ１０１及び管理クライアント１０２は、通信Ｉ／Ｆ部２０１と、記憶装置２０２、ＣＰＵ２０３、メモリ２０４、出力Ｉ／Ｆ部２０５を有する。
通信Ｉ／Ｆ部２０１は、外部のシステムや装置と通信を行うためのネットワークインターフェースである。
記憶装置２０２は、ＯＳ（Operating System）やプログラム、管理データ、外部システムや装置等から収集したデータ等が格納される不揮発性メモリである。ＣＰＵ２０３は、記憶装置２０２からプログラムをメモリ２０４にロードし、実行する。
出力Ｉ／Ｆ部２０５は、ディスプレイなどの出力装置を接続し、プログラムなどの実行結果を出力するためのインターフェースである。
なお、デバイス１０３は、上記図２と同様の構成のコントローラ部等を有する。
【００１４】
＜システム全体の機能構成＞
図３は、本実施形態におけるシステム全体の機能構成の一例を示すブロック図である。
図３に示す管理サーバ１０１の機能は、管理サーバ１０１のＣＰＵ２０３が記憶装置２０２からプログラムをメモリ２０４にロードして実行することにより実現される。また、図３に示す管理クライアント１０２の機能は、管理クライアント１０２のＣＰＵ２０３が記憶装置２０２からプログラムをメモリ２０４にロードして実行することにより実現される。また、図３に示すデバイス１０３の機能は、デバイス１０３のＣＰＵ２０３が記憶装置２０２からプログラムをメモリ２０４にロードして実行することにより実現される。
【００１５】
管理サーバ１０１において、タスク作成部３０１は、ユーザから設定された、実行すべき処理が定義されたタスク（以降「スケジュールタスク」）の作成を行う。作成されたスケジュールタスクは、データ保管部３０４にて管理される。
【００１６】
タスク制御部３０２は、データ保管部３０４で管理されているスケジュールタスク情報を定期的に参照し、実行すべきスケジュールタスクがあるか否かを確認する。実行すべきスケジュールタスクが存在する場合、タスク制御部３０２は、実行のために必要なタスク情報とデバイス毎の処理に分割されたタスク（以降「サブタスク」）情報の作成を行う。作成された各種タスク情報は、データ保管部３０４にて管理される。
【００１７】
管理クライアント制御部３０３は、データ保管部３０４で管理されているタスク情報を定期的に参照し、管理クライアント１０２に対してタスク実行指示を行う。また、管理クライアント制御部３０３は、管理クライアント１０２からの各種要求に応じる。また、管理クライアント制御部３０３は、管理クライアント１０２からのタスク実行結果を受信する。受信したタスクの実行結果は、データ保管部３０４において管理される。
データ保管部３０４は、タスク情報や管理対象デバイス情報、管理クライアント情報等、各種データを管理する。
【００１８】
管理クライアント１０２において、管理クライアントサービス部３０５は、管理サーバ１０１からのタスク実行指示を受信する。タスク実行指示を受信した後、管理クライアントサービス部３０５は、該タスク実行指示で指示されたタスクの各種タスク情報を管理サーバ１０１から取得する。管理クライアントサービス部３０５は、該取得した各種タスク情報を解析し、実行すべきサブタスクを生成する。
【００１９】
処理実行部３０６は、実行すべきサブタスクを実行し、デバイス１０３に対して必要な処理を行う。なお、処理実行部３０６は、複数のスレッド上で動作するため、複数のサブタスクを同時（並行して）実行可能である。
【００２０】
デバイス１０３において、タスクサービス部３０７は、管理クライアント１０２からのタスク実行を受信し、制御を行う。また、タスクサービス部３０７は、その結果を管理クライアント１０２に対してレスポンスする。
【００２１】
＜バッチ処理を定義するスケジュールタスク作成画面の一例＞
図４は、バッチ処理を定義するスケジュールタスクを作成する画面の一例を示す図である。
図４に示すようなスケジュールタスクを作成する画面は、管理サーバ１０１で提供されているＷｅｂ画面の一つとして存在し、クライアントコンピュータ等のＷｅｂブラウザから管理サーバ１０１にアクセスすることにより、Ｗｅｂブラウザ上に表示される。
【００２２】
画面４０１は、バッチ処理の具体的な実行内容を設定するための画面（Settingタブ）を示している。本例で図示しているように、タスクの実行スケジュールを設定するための画面（Scheduleタブ）や、タスク実行のターゲットデバイスを設定するための画面（Targetsタブ）も備えている。
【００２３】
ボタン４０２は、バッチ処理内容を生成するにあたり、バッチ処理の中で定義された実行すべきタスク（以降「ステップタスク」）を追加するためのボタンを示している。
ウィンドウ４０３は、ボタン４０２を押下した際に開くウィンドウである。このウィンドウの中では、実行したいステップタスクの設定や、分岐条件（例えば、成功の場合の分岐条件、失敗の場合の分岐条件）の追加、バッチ処理の終了＆実行結果の設定を行うことが可能である。なお、ウィンドウ４０３において実行したいステップタスクが選択された場合には、そのタスクの設定画面が開かれ、ユーザにより設定可能となる。
【００２４】
４０４は、追加したタスクを示している。本例では、“ＳＴＥＰ１”タスクを最初に実行することを示している。
４０５は、前に処理したタスクの結果が成功である場合という分岐条件を示している。本例では、“ＳＴＥＰ２”タスクが成功した場合に、“ＳＴＥＰ３”タスクを実行することを示している。
４０６は、前に処理したタスクの結果が失敗である場合という分岐条件を示している。本例では、“ＳＴＥＰ２”タスクが失敗した場合に、バッチ処理全体の処理をエラーとして終了する（Error Exit）ことを示している。
４０７は、バッチ処理の終了＆実行結果を示している。本例では、バッチ処理の実行結果を失敗とし、バッチ処理を終了する（Error Exit）ことを示している。
【００２５】
なお、詳細は図示しないが、上述したタスクの実行スケジュールを設定するための画面（Scheduleタブ）において、スケジュール（例えば「毎日10時」に実行する等）を設定する。これらの情報は、スケジュールタスク情報として、データ保管部３０４で保管される（詳細は図６を用いて説明する）。また、上述したタスク実行のターゲットデバイスを設定するための画面（Targetsタブ）において、タスク実行対象のデバイスを設定する。該設定されたデバイスの情報は、デバイス情報として、上述したスケジュールタスク情報と紐付けられてデータ保管部３０４で保管される。
【００２６】
なお、本実施形態のバッチタスクは、１以上のデバイスに対して１以上のタスクをまとめて処理するものであり、１以上のデバイスに対する１以上の段階のタスクが定義されている。本実施形態では、図４のような１以上のタスクをツリー構造で接続するＧＵＩを用いてバッチタスクを作成可能である。また、図４のようなＧＵＩにより、前の段階のタスクの結果に応じて次の段階のタスクを実行することを定義可能である。
【００２７】
なお、本実施形態では、管理サーバ１０１が、Ｗｅｂ画面として、図４のようなユーザインタフェースを提供し、該ユーザインタフェースを用いて本実施形態のバッチタスクを定義し作成する構成について説明した。なお、管理クライアント１０２等の他の情報処理装置において、図４のようなユーザインタフェースを提供し、本実施形態のバッチタスクを作成可能にしてもよい。この場合、作成されたバッチタスクは、管理サーバ１０１に送信され、データ保管部３０４に登録される。
【００２８】
＜第１実施形態における管理サーバのタスク実行動作処理＞
図５は、本実施形態における管理サーバ１０１のタスク実行動作処理の一例を示すフローチャートである。図５及び後述する図１１に示すフローチャートの処理は、管理サーバ１０１のＣＰＵ２０３が記憶装置２０２からプログラムをメモリ２０４にロードして実行することにより実現される機能により実行される。
【００２９】
Ｓ５０１において、タスク制御部３０２は、データ保管部３０４で保持されているスケジュールタスク情報を定期的に参照し、現在実行すべきスケジュールタスクがあるか（タスク実行タイミングか）否かを確認する。実行すべきスケジュールタスクが存在しない（タスク実行タイミングでない）場合（Ｓ５０１でＮｏの場合）、タスク制御部３０２は、引き続きスケジュールタスク情報を定期的に参照する。
一方、実行すべきスケジュールタスクが存在する（タスク実行タイミングの）場合（Ｓ５０１でＹｅｓの場合）、タスク制御部３０２は、Ｓ５０２に処理を進める。
【００３０】
ここで、スケジュールタスク情報について、図６を用いて説明する。
図６は、スケジュールタスク情報が登録されているテーブルの一例を示す図である。
図６において、タスクＩＤは、スケジュールタスクを識別する情報である。
タスクタイプは、スケジュールタスクのタイプを示す情報である。バッチ処理が定義されたスケジュールタスクは、“バッチタスク”を示す情報が登録される。
タスク名は、スケジュールタスクの名前を示す情報である。
スケジュールは、スケジュールタスクの実行スケジュールを示す情報である。例えば、「毎日10時」や「毎月１日」等の情報である。
次回実行日時は、スケジュールタスクの次回実行日時を示す情報である。この情報は、スケジュールタスク登録時や当該スケジュールタスクを実行したタイミングで、スケジュールの設定に従い次回実行日時を算出され、登録されるものである。
【００３１】
コンテンツは、スケジュールタスクの詳細情報を示す情報である。例えば、バッチ処理を定義するスケジュールタスク（タスクタイプが“バッチタスク”）であれば、バッチ処理内容を示す情報を格納する。コンテンツの具体的なデータについては図中６０１に例示する。
【００３２】
コンテンツ情報６０１は、バッチ処理を定義するスケジュールタスクのコンテンツ情報を示す一例である。コンテンツ情報は、複数のステップタスクを、どの順番で、どの条件の時に実行するかの定義を含む。コンテンツ情報６０１では、ステップタスクごとに、“task”、“succeed”、“failed”、“unit Type”の４つの項目からなるバッチ処理に関わる情報を管理している。
【００３３】
“task”には、実行すべきステップタスク情報が格納されている。
“succeed”は、“task”が成功した場合に実行する後続のステップタスクに関する処理情報のリストを定義している。
“failed”は、“task”が失敗した場合に実行する後続のステップタスクに関する処理情報のリストを定義している。
【００３４】
“unit Type”は、処理対象の“task”のタイプ（“Task”、“Exit”、“Error Exit”）を定義している。以下、各タイプについて説明する。
・“Task”：処理するタスク（例えば図４の「ＳＴＥＰ１」〜「ＳＴＥＰ５」に対応する）
・“Exit”：バッチ処理の結果を成功とし、該バッチ処理を終了する
・“Error Exit”：“バッチ処理の結果を失敗とし、該バッチ処理を終了する（例えば図４の４０７に対応する）
【００３５】
本実施形態では、リストの上位にあるステップタスクから順に処理するものとしている。なお、ステップタスクの中で、“succeed”、“failed”の項目の中に後続のステップタスクが定義されていれば、“task”の実行結果に応じて、定義された後続のステップタスクが順番に処理されることになる。例えば図４の「ＳＴＥＰ２」は、“succeed”のリストとしてＳＴＥＰ３、ＳＴＥＰ４が定義されている場合に対応し（４０５）、ＳＴＥＰ２が成功した場合にＳＴＥＰ３、ＳＴＥＰ４が処理されることになる。また、図４の例は、“failed”のリストとして４０７が定義されている場合に対応し（４０６）、ＳＴＥＰ２が失敗した場合に４０７の「Error Exit」が処理されることになる。
【００３６】
以下、図５のフローチャートの説明に戻る。
Ｓ５０２において、タスク制御部３０２は、現在実行すべきスケジュールタスクがバッチ処理を定義するスケジュールタスク（タスクタイプが“バッチタスク”）か否かを判定する。
上記Ｓ５０２において、バッチ処理を定義するスケジュールタスク（タスクタイプが“バッチタスク”）でないと判定した場合（Ｓ５０２でＮｏの場合）、タスク制御部３０２は、Ｓ５０５に処理を進める。なお、Ｓ５０５以降の処理については後述する。
一方、バッチ処理を定義するスケジュールタスク（タスクタイプが“バッチタスク”）であると判定した場合（Ｓ５０２でＹｅｓの場合）、タスク制御部３０２は、Ｓ５０３に処理を進める。
【００３７】
Ｓ５０３において、タスク制御部３０２は、バッチ処理の中で定義されているステップタスク情報をデータ保管部３０４に登録する。データ保管部３０４で保管・管理するステップタスク情報としては、タスクＩＤやタスクの詳細情報を示すコンテンツ情報や、処理結果等である。
【００３８】
次にＳ５０４において、タスク制御部３０２は、各ステップタスクのサブタスクをデータ保管部３０４に登録する。
“ステップタスクのサブタスク”とは、バッチ処理の中で定義された実行すべきタスク（ステップタスク）をデバイス毎の処理に分割したタスク（サブタスク）のことである。データ保管部３０４で保管・管理するステップタスクのサブタスク情報としては、サブタスクＩＤや関連するタスクＩＤ、指示対象の管理クライアントＩＤ、タスク実行対象のデバイスＩＤ、詳細情報を格納するコンテンツ情報、処理結果等である。タスク実行対象のデバイスは、上述したように、スケジュールタスクを作成する際に設定を行い、タスク情報とデバイス情報を紐づけてデータ保管部３０４で管理しておく。また、指示対象の管理クライアントは、予めどの管理クライアントでどのデバイスを管理するかを設定しておき、その紐づけ情報をデータ保管部３０４で管理しておく。これらの情報を基に、タスク制御部３０２がサブタスクを生成する。
【００３９】
タスク制御部３０２は、上記Ｓ５０４の処理の後、Ｓ５０５に処理を進める。
Ｓ５０５において、タスク制御部３０２は、タスクの詳細情報を示すコンテンツ情報を生成する。バッチ処理におけるコンテンツ情報とは、複数のステップタスクを、どの順序で、どの条件の時に実行するかの定義を示す情報である。ここでバッチ処理におけるコンテンツ情報について、図７を用いて説明する。
【００４０】
図７は、バッチ処理におけるコンテンツ情報の一例を示す図である。
図７に示すコンテンツ情報の例は、“unit Type”、“task Id”、“succeed”、“failed”の４つの項目からなるバッチ処理に関わる情報を管理している。基本的な構成はコンテンツ情報６０１で示したものと同じである。異なる点は、コンテンツ情報６０１で示した“task”が“task Id”に置き換わっている点である。“task Id”には、上記Ｓ５０３の処理において生成されたステップタスクの識別情報だけが格納されている。
【００４１】
以下、図５のフローチャートの説明に戻る。
次にＳ５０６において、タスク制御部３０２は、実行するバッチ処理をタスク（以降「バッチタスク」）として生成し、データ保管部３０４に登録する。データ保管部３０４で保管・管理されるバッチタスク情報は、上記Ｓ５０３の処理の中で説明した通りである。またコンテンツ情報は、上記Ｓ５０５の処理で生成したコンテンツ情報になる。
【００４２】
次にＳ５０７において、タスク制御部３０２は、実行するタスク（ここではバッチタスク）のサブタスクを生成し、データ保管部３０４に登録する。データ保管部３０４で保管・管理されるバッチタスクのサブタスク情報は、Ｓ５０４の処理の中で説明した通りである。
“バッチタスクのサブタスク”とは、バッチ処理を実行するためのタスク（バッチタスク）をデバイス毎の処理に分割したタスク（サブタスク）のことである。
【００４３】
次にＳ５０８において、管理クライアント制御部３０３は、指示対象の管理クライアント１０２に対して、タスク実行指示を行う。このタスク実行指示に応じて、管理クライアント１０２は対象のデバイスに対してタスクを実行する。
【００４４】
＜第１実施形態における管理クライアントのタスク実行動作処理＞
図８は、本実施形態における管理クライアント１０２のタスク実行動作処理の一例を示すフローチャートである。図８、後述する図９及び図１０に示すフローチャートの処理は、管理クライアント１０２のＣＰＵ２０３が記憶装置２０２からプログラムをメモリ２０４にロードして実行することにより実現される機能により実行される。
なお、このフローチャートでは、実行するタスクはバッチタスクであることを前提として説明する。
【００４５】
Ｓ８０１において、管理クライアントサービス部３０５は、管理サーバ１０１からタスク実行指示を受信したか監視する。受信していない場合（Ｓ８０１でＮｏの場合）、管理クライアントサービス部３０５は、引き続き、タスク実行指示の受信を待機する。
一方、管理サーバ１０１からタスク実行指示を受信した場合（Ｓ８０１でＹｅｓの場合）、管理クライアントサービス部３０５は、Ｓ８０２に処理を進める。
【００４６】
Ｓ８０２において、管理クライアントサービス部３０５は、管理サーバ１０１の管理クライアント制御部３０３に対して、上記受信したタスク実行指示に対応するバッチタスク情報を要求し、取得する。
次にＳ８０３において、管理クライアントサービス部３０５は、管理サーバ１０１の管理クライアント制御部３０３に対して、上記受信したタスク実行指示に対応するバッチタスクのサブタスク情報を要求し、取得する。
【００４７】
次にＳ８０４にて、管理クライアントサービス部３０５は、上記Ｓ８０２で取得したバッチタスク情報のコンテンツ情報に含まれる各ステップタスクのタスクＩＤを基に、管理クライアント制御部３０３に対し、ステップタスクのタスク情報を要求し、取得する。さらに、管理クライアントサービス部３０５は、取得したステップタスクのタスク情報を基に、ステップタスク一覧を生成する。
【００４８】
次にＳ８０５において、管理クライアントサービス部３０５は、上記Ｓ８０２で取得したバッチタスク情報のコンテンツ情報に含まれる各ステップタスクのタスクＩＤを基に、管理クライアント制御部３０３に対し、各ステップタスクのタスクＩＤに紐づくステップタスクのサブタスク情報を要求し、取得する。すなわち、ステップタスクごとにサブタスク情報を取得する。
【００４９】
次にＳ８０６において、管理クライアントサービス部３０５は、上記Ｓ８０４とＳ８０５等で得た情報を基に、ステップタスク毎にターゲットデバイスとステップタスクのサブタスクの紐付け一覧を作成する。すなわち、実行指示されたバッチタスクで定義されている各段階のタスク（ステップタスク）を、実行対象のデバイスごとのサブタスクに分割する。
【００５０】
次にＳ８０７において、管理クライアントサービス部３０５は、処理実行部３０６にタスクを実行させるために、処理キューにバッチタスクのサブタスクを登録する。
【００５１】
次にＳ８０８において、各処理実行部３０６が、処理キューに積まれたバッチタスクのサブタスクを順次取得して実行し（サブタスク実行処理）、本フローチャートの処理を終了する。なお、各処理実行部３０６によりそれぞれ実行される詳細な処理内容（サブタスク実行処理）については、図９を用いて説明する。
【００５２】
図９は、本実施形態における管理クライアント１０２の各処理実行部３０６がそれぞれ実行するバッチタスクのサブタスク実行処理（図８のＳ８０８に対応）の一例を示すフローチャートである。
Ｓ９０１において、処理実行部３０６は、処理キューからサブタスクの取得を試みる。ここで取得されるサブタスクは、バッチタスクのサブタスクであるとする。
ここで、サブタスクが取得できなかった（実行するサブタスクがない）場合（Ｓ９０１でＮｏの場合）、処理実行部３０６は、再度、処理キューに対してサブタスク取得を試みる。
一方、サブタスクが取得できた（実行するサブタスクがある）場合（Ｓ９０１でＹｅｓの場合）、処理実行部３０６は、Ｓ９０２に処理を進める。
【００５３】
Ｓ９０２において、処理実行部３０６は、上記Ｓ９０１で取得したサブタスクの情報から処理のターゲットデバイスを特定し、Ｓ９０３に処理を進める。
Ｓ９０３にて、処理実行部３０６は、図８のＳ８０６で作成した、ステップタスク毎の、ターゲットデバイスとステップタスクのサブタスクとの紐づけ一覧から、今回の処理におけるターゲットデバイスに関連するステップタスクのサブタスク一覧を作成する。
【００５４】
次にＳ９０４において、処理実行部３０６は、図８のＳ８０２の処理で管理クライアントサービス部３０５が取得したタスク情報のコンテンツ情報（バッチ処理の定義）が存在するか否かを確認する。コンテンツ情報（バッチ処理の定義）が存在する場合（Ｓ９０４でＹｅｓの場合）、処理実行部３０６は、Ｓ９０５に処理を進める。
【００５５】
Ｓ９０５において、処理実行部３０６は、上記Ｓ９０３で作成したステップタスクのサブタスク一覧に基づくステップタスクのサブタスク実行処理を行い、Ｓ９０７に処理を進める。なお、Ｓ９０５の処理の詳細（ステップタスクのサブタスク実行動作処理）については、後述する図１０を用いて説明する。
【００５６】
一方、上記Ｓ９０４において、コンテンツ情報（バッチ処理の定義）が存在しない場合（Ｓ９０４でＮｏの場合）、処理実行部３０６は、Ｓ９０６に処理を進める。
Ｓ９０６において、処理実行部３０６は、バッチタスクのサブタスク結果を“成功”として管理し、Ｓ９０７に処理を進める。
【００５７】
Ｓ９０７において、処理実行部３０６は、バッチタスクのサブタスク結果を管理サーバ１０１の管理クライアント制御部３０３に対して通知し、本フローチャートの処理を終了する。
【００５８】
図１０は、本実施形態における管理クライアント１０２の各処理実行部３０６がそれぞれ実行するステップタスクのサブタスク実行処理（図９のＳ９０５に対応）の一例を示すフローチャートである。
【００５９】
Ｓ１００１において、処理実行部３０６は、初期化処理を行う。該初期化処理において、処理実行部３０６は、まず、現在処理すべきバッチ処理の定義の中に含まれるステップタスクの数（変数Ｎ）を取得し保持する。この数には、各ステップタスクの中で定義されている、処理結果に応じて実行されるステップタスクの数は含まれない。次に、処理実行部３０６は、バッチ処理の定義の中の何番目のステップタスクを処理すべきかを示す情報（変数ｎ）を”１”にセットする。
【００６０】
次にＳ１００２において、処理実行部３０６は、処理すべきステップタスク（ｎ番目のステップタスク）がバッチ処理の定義に存在する（ｎ≦Ｎ）か否かを確認する。処理すべきステップタスクが存在する（ｎ≦Ｎである）場合（Ｓ１００２でＹｅｓの場合）、処理実行部３０６は、Ｓ１００３に処理を進める。
【００６１】
Ｓ１００３において、処理実行部３０６は、処理対象のステップタスク（ｎ番目のステップタスク）の“Unit Type”が“Task”であるか否かを確認する。“Unit Type”が“Task”である場合（Ｓ１００３でＹｅｓの場合）、処理実行部３０６は、Ｓ１００４に処理を進める。
【００６２】
Ｓ１００４において、処理実行部３０６は、図９のＳ９０３の処理で生成したターゲットデバイスに関連するステップタスクのサブタスク一覧（後述するＳ１００８で再帰呼び出しされた場合は、その際に指定された“succeed”又はfailed”のリスト）から、処理対象のステップタスクのサブタスクを取得し実行する。
【００６３】
次にＳ１００５において、処理実行部３０６は、上記Ｓ１００４で実行した、対象のステップタスクのサブタスクの結果を、管理サーバ１０１の管理クライアント制御部３０３に対して通知する。
次にＳ１００６において、処理実行部３０６は、上記Ｓ１００４で実行した、対象のステップタスクのサブタスクの結果を、バッチタスクのサブタスクの結果として保存する。
【００６４】
次にＳ１００７において、処理実行部３０６は、次の条件によって処理を切り替え制御する。
まず、上記Ｓ１００４の処理結果が成功、且つ、処理結果が成功の場合に実行すべきステップタスクが存在する場合、処理実行部３０６は、Ｓ１００７でＹｅｓと判断し、Ｓ１００８に処理を進める。なお、処理結果が成功の場合に実行すべきステップタスクが存在するか否かは、対象のステップタスクの“succeed”に後続のステップタスクに関する処理情報のリストが定義されているか否かで判断する。
また、上記Ｓ１００４の処理結果が失敗、且つ、処理結果が失敗の場合に実行すべきステップタスクが存在する場合にも、処理実行部３０６は、Ｓ１００７でＹｅｓと判断し、Ｓ１００８に処理を進める。なお、処理結果が失敗の場合に実行すべきステップタスクが存在するか否かは、対象のステップタスクの“failed”に後続のステップタスクに関する処理情報のリストが定義されているか否かで判断する。
一方、上記二つの条件のいずれにも合致しない場合（Ｓ１００７でＮｏの場合）、処理実行部３０６は、Ｓ１００９に処理を進める。
【００６５】
Ｓ１００８において、処理実行部３０６は、上記Ｓ１００７の処理において、処理すべき後続のステップタスクに関する処理情報のリストに基づくステップタスクのサブタスク実行処理を行う。すなわち上記“succeed”又はfailed”のリストに基づき（指定し）、本フローチャートの処理を実行する（再帰呼び出し）。これにより、上記Ｓ１００４の処理の“succeed”又はfailed”にリストされた入れ子の処理についても実行される。
次にＳ１００９において、処理実行部３０６は、変数ｎの値をインクリメントし、Ｓ１００１に処理を戻し、処理対象を次のステップタスクに遷移させる。
【００６６】
そして上記Ｓ１００２において、処理実行部３０６は、処理すべきステップタスク（ｎ番目のステップタスク）がバッチ処理の定義に存在しない（ｎ＞Ｎである）場合（Ｓ１００２でＮｏの場合）、処理実行部３０６は、本フローチャートの処理を終了する。
【００６７】
また、上記Ｓ１００３において、“Unit Type”が“Task”でない場合（Ｓ１００３でＮｏの場合）、処理実行部３０６は、Ｓ１０１０に処理を進める。
Ｓ１０１０において、処理実行部３０６は、処理対象のステップタスク（ｎ番目のステップタスク）の“Unit Type”が“Exit”であるか否かを確認する。“Unit Type”が“Exit”である場合（Ｓ１０１０でＹｅｓの場合）、処理実行部３０６は、Ｓ１０１１に処理を進める。
Ｓ１０１１において、処理実行部３０６は、バッチタスクのサブタスクの結果を“成功”として保存し、本フローチャートの処理を終了する。
【００６８】
一方、上記Ｓ１０１０において、“Unit Type”が“Exit”でない場合（Ｓ１０１０でＮｏの場合）、処理実行部３０６は、Ｓ１０１２に処理を進める。
Ｓ１０１２において、処理実行部３０６は、バッチタスクのサブタスクの結果を“失敗”として保存し、本フローチャートの処理を終了する。
【００６９】
＜第１実施形態における管理サーバのタスク実行結果更新処理＞
図１１は、本実施形態における管理サーバ１０１のタスク実行結果更新処理の一例を示すフローチャートである。
Ｓ１１０１において、管理クライアント制御部３０３は、管理クライアント１０２から、タスクの結果を受信したか監視する。タスクの結果を受信していない場合（Ｓ１１０１でＮｏの場合）、管理クライアント制御部３０３は、タスクの結果が送信されてくるまで待機する。
一方、タスクの結果を受信した場合（Ｓ１１０１でＹｅｓの場合）、管理クライアント制御部３０３は、Ｓ１１０２に処理を進める。
【００７０】
Ｓ１１０２において、管理クライアント制御部３０３は、受信したタスクの結果が、バッチタスクのサブタスクの結果であるか否かを判定する。バッチタスクのサブタスクの結果である場合（Ｓ１１０２でＹｅｓの場合）、管理クライアント制御部３０３は、Ｓ１１０３に処理を進める。
Ｓ１１０３において、管理クライアント制御部３０３は、バッチタスクのサブタスク結果をデータ保管部３０４に保存する（バッチタスクのサブタスク結果を更新）。
【００７１】
次にＳ１１０４において、管理クライアント制御部３０３は、バッチタスクのサブタスクが全て完了したか否かを、データ保管部３０４で管理されている当該バッチタスクに紐づくサブタスク結果を確認して判定する。まだ全て完了していない場合（Ｓ１１０４でＮｏの場合）、管理クライアント制御部３０３は、Ｓ１１０１に処理を戻し、タスクの結果が送信されてくるまで待機する。
【００７２】
一方、全て完了している場合（Ｓ１１０４でＹｅｓの場合）、管理クライアント制御部３０３は、Ｓ１１０５に処理を進める。
Ｓ１１０５において、管理クライアント制御部３０３は、バッチタスクの結果をデータ保管部３０４に保存し（バッチタスクのサブタスク結果を更新）、本フローチャートの処理を終了する。
【００７３】
また、上記Ｓ１１０２において、受信したタスクの結果がバッチタスクのサブタスクの結果でない場合（Ｓ１１０２でＮｏの場合）、管理クライアント制御部３０３は、Ｓ１１０６に処理を進める。
Ｓ１１０６において、管理クライアント制御部３０３は、ステップタスクのサブタスク結果をデータ保管部３０４に保存し（ステップタスクのサブタスク結果を更新）、本フローチャートの処理を終了する。
【００７４】
＜第１実施形態における管理サーバのタスク結果表示の一例＞
以下、図１２、図１３、図１４を用いて、本実施形態における管理サーバ１０１のタスク結果表示画面の一例を示す。これらの結果表示画面は、通信クライアントから送信された各サブタスクの結果に基づいて提示されるものである。
【００７５】
図１２は、タスクの結果画面の一例を示す図である。
この画面では、各タスクの実行結果が一覧で表示されている。
Nameは、タスクの名前を示す情報である。
Typeは、タスクのタイプを示す情報である。
Statusは、タスクの実行結果を示す情報である。この情報をクリックすると、当該タスクの詳細結果を示す画面に遷移する。タスクの詳細結果を示す画面については、図１３で示す。
Task IDは、タスクを識別する情報である。
Ended Dateは、タスクの完了日時を示す情報である。
【００７６】
以上のように、管理サーバ１０１は、クライアントコンピュータで動作するＷｅｂブラウザ等からの要求に応じて、図１２のような各タスクの実行結果を提示可能である。
【００７７】
図１３は、タスクの詳細結果を示す画面の一例を示す図である。
この画面では、ターゲットデバイス毎のタスクの実行結果が一覧で表示されている。
Device Nameは、タスクの実行対象のデバイスの名前を示す情報である。
Locationは、デバイスのロケーション情報を示す情報である。
Statusは、タスクの実行結果を示す情報である。この情報をクリックすると、当該デバイスにおけるタスクの詳細結果を示す画面に遷移する。デバイスにおけるタスクの詳細結果を示す画面については、図１４で示す。
Ended Dateは、当該デバイスにおけるタスクの完了日時を示す情報である。
【００７８】
以上のように、管理サーバ１０１は、クライアントコンピュータで動作するＷｅｂブラウザ等からの要求に応じて、図１３のような各タスクの実行結果の詳細を提示可能である。
【００７９】
図１４は、デバイスにおけるタスクの詳細結果を示す画面の一例を示す図である。
この画面では、バッチタスクにおける実行結果を示している。
画面の上段では、タスクの詳細情報を示している。
Task IDは、タスクを識別する情報である。
Agent IDは、タスクを実行した管理クライアントを識別する情報である。
Device IDは、タスクの実行対象のデバイスを識別する情報である。
Statusは、タスクの実行結果を示す情報である。
Ended Dateは、当該デバイスにおけるタスクの完了日時を示す情報である。
【００８０】
また画面の下段では、バッチタスクの各ステップタスクの実行結果を示している。
ここではステップタスク毎に、結果をアイコンで示している。例えば、チェックマークは成功を示す。また、バツマーク（“×”）は失敗を示す。また、エクスクラメーションマーク（“！”）はタイムアウトを示す等である。進行中のタスクがあれば、それがわかるようなアイコンを表示する。また、結果をよりわかりやすく示すために、色で識別してもよい。バッチタスクの各ステップタスクの実行結果や実行状態を識別可能な表示形態で表示する構成であれば、他の表示形態を用いてもよい。
【００８１】
以上のように、管理サーバ１０１は、クライアントコンピュータで動作するＷｅｂブラウザ等からの要求に応じて、図１４のようなデバイスにおけるタスクの詳細結果を提示可能である。
【００８２】
以上のように、第１実施形態では、複数のタスクを連結させて実行するバッチタスクの処理において、対象デバイス毎にタスクを実行させるように構成する。すなわちバッチタスクの定義自体は、１以上のデバイスに対する１以上の段階のタスクを定義するが、実際にタスク実行する管理クライアントで、デバイスごとに分解して、各デバイスへのバッチ処理を並行動作させるように構成する。これにより、他のデバイスの処理結果に依存せずに、効率的にバッチタスクを実行させることが可能になる。
【００８３】
〔第２実施形態〕
上記第１実施形態では、バッチタスクを作成する際に、ターゲットデバイスを選択させていた。その場合、バッチタスクの中で定義された各ステップタスクのターゲットデバイスは一律同じである。しかし、ステップタスクの内容によって、実行すべきデバイスが異なる可能性がある。そのため、ステップタスク毎にターゲットデバイスを選択させるように構成してもよい。
以上、第２実施形態によれば、同一のバッチタスク内でもステップタスクの内容によって実行すべきデバイスが異ならせることができる。
【００８４】
〔第３実施形態〕
上記第１実施形態では、バッチタスクを作成する際に、バッチタスクを実行するスケジュールを選択させていた。その場合、バッチタスクの中で定義された各ステップタスクの実行スケジュールは一律同じである。しかし、ステップタスクの内容によって、実行させるスケジュールや頻度が異なる可能性がある。そのため、ステップタスク毎にスケジュールを選択させるように構成してもよい。
以上、第３実施形態によれば、同一のバッチタスク内でもステップタスクの内容によって実行スケジュールを異ならせることができる。
なお、第２実施形態及び第３実施形態を組み合わせてもよい。
【００８５】
以上のように、本実施形態では、バッチタスクの定義自体は、１以上のデバイスに対する１以上の段階の処理を定義する。しかし、実際にタスク実行する管理クライアントで、バッチタスクをデバイスごとに分解して、各デバイスへのバッチ処理を並行動作させるように構成する。
このような構成により、複数のタスクを連結させて実行するバッチタスクの処理において、対象デバイス毎にタスクを実行させることで、他のデバイスの処理結果に依存せずに、効率的にバッチタスクを実行させることが可能になる。
例えば、一部のデバイスで前段のタスクが失敗した場合であっても、他の成功したデバイスが存在する場合には、該成功したデバイスにおいて後続のタスクを実行することが可能となる。また、一部のデバイスで前段処理が遅延した場合であっても、バッチタスクの対象となる全デバイスへの処理速度への影響を防ぐことが可能となる。
したがって、複数のネットワーク機器に対するバッチタスクを、処理対象の各ネットワーク機器の処理結果に依存せず、効率的に実行させることができる。
【００８６】
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されていてもよい。
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
また、上記各実施形態を組み合わせた構成も全て本発明に含まれるものである。
【００８７】
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
また、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形（各実施形態の有機的な組合せを含む）が可能であり、それらを本発明の範囲から除外するものではない。即ち、上述した各実施形態及びその変形例を組み合わせた構成も全て本発明に含まれるものである。
【図１】
2020101972.tif 000003
【図２】
2020101972.tif 000004
【図３】
2020101972.tif 000005
【図４】
2020101972.tif 000006
【図５】
2020101972.tif 000007
【図６】
2020101972.tif 000008
【図７】
2020101972.tif 000009
【図８】
2020101972.tif 000010
【図９】
2020101972.tif 000011
【図１０】
2020101972.tif 000012
【図１１】
2020101972.tif 000013
【図１２】
2020101972.tif 000014
【図１３】
2020101972.tif 000015
【図１４】
2020101972.tif 000016