JP5235402B2 - タスク実行装置、タスク実行方法、及びコンピュータプログラム - Google Patents

タスク実行装置、タスク実行方法、及びコンピュータプログラム Download PDF

Info

Publication number
JP5235402B2
JP5235402B2 JP2007333061A JP2007333061A JP5235402B2 JP 5235402 B2 JP5235402 B2 JP 5235402B2 JP 2007333061 A JP2007333061 A JP 2007333061A JP 2007333061 A JP2007333061 A JP 2007333061A JP 5235402 B2 JP5235402 B2 JP 5235402B2
Authority
JP
Japan
Prior art keywords
task
execution
information
failed
target device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2007333061A
Other languages
English (en)
Other versions
JP2009157509A (ja
JP2009157509A5 (ja
Inventor
忠 萩生田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2007333061A priority Critical patent/JP5235402B2/ja
Priority to US12/276,538 priority patent/US8145946B2/en
Publication of JP2009157509A publication Critical patent/JP2009157509A/ja
Publication of JP2009157509A5 publication Critical patent/JP2009157509A5/ja
Application granted granted Critical
Publication of JP5235402B2 publication Critical patent/JP5235402B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0733Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a data processing system embedded in an image processing device, e.g. printer, facsimile, scanner
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0748Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a remote unit communicating with a single-box computer node experiencing an error/fault
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1443Transmit or communication errors

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Hardware Design (AREA)
  • Retry When Errors Occur (AREA)
  • Computer And Data Communications (AREA)

Description

本発明は、タスク実行装置、タスク実行方法、及びコンピュータプログラムに関し、特に、複数のデバイスに対して一括してタスクを実行するために用いて好適なものである。
近年、コンピュータ及びプリンタをはじめとする各種の周辺デバイスは、その資産を多くのユーザが共有できるようにするために、ローカルエリアネットワーク(LAN)によって相互に接続されることが一般的になってきた。
このようなネットワーク環境では、ホストコンピュータからの要求を一括して処理するために、サーバと呼ばれるコンピュータが設置される。例えばプリンタの場合、複数のホストコンピュータからの印刷要求を一括して管理するためにプリンタサーバが設けられる。プリンタサーバは、複数のプリンタが共有するサービスを提供するコンピュータであり、クライアントからの要求に応じてプリンタの動作の設定や変更を行う機能を有するものである。
プリンタサーバの導入以前には、プリンタの動作状態を確認するためには、操作パネルを参照する以外に方法はなかった。しかしながら、多くのユーザで共有するプリンタは、必ずしもユーザが操作するコンピュータの近くに設置されているものではなかった。更に、プリンタの操作パネルは、一般的に表示情報が限られていることや、情報の表示領域が小さいことから、プリンタの操作パネルでは、プリンタの状態を正確に把握することは難しかった。
これらの問題を解決するために、ネットワークに接続されたデバイスの動作を把握することができるネットワークデバイス管理プログラムが導入されるようになってきた(特許文献1を参照)。
ネットワークデバイス管理プログラムの一例としては、ユーザが操作するコンピュータ上で稼動し、画面上からプリンタの操作パネルを確認したり、プリンタの障害発生時にユーザに通知したりするようなソフトウェアが挙げられる。
しかしながら、このようなソフトウェアは、コンピュータ毎にインストールする必要がある。このため、例えば、ネットワークの管理者が複数のユーザのコンピュータを一括して管理している場合には、ソフトウェアのバージョンの管理等に時間かかるといった重大な問題があった。
そこで、最近ではWWWサーバにインストールされ、遠隔地のワークエリアに設置されたデバイスを統合的に管理することが可能なネットワークデバイス管理プログラムも一般的となってきている。
このようなWWWシステムに基づいたネットワークデバイス管理プログラムでは、多数の管理対象デバイスから一括して情報を取得する機能や、多数のデバイスに対して一括して情報を配信する機能を持つものが一般的である。
また、複数デバイスに対して一括して情報を配信する機能を有するネットワークデバイス管理プログラムでは、一部のデバイスに対する処理が失敗した場合、任意のタイミングで処理を再実行することが一般的である。
特開2000−196665号公報
しかしながら、前述した従来のネットワークデバイス管理プログラムにおいて失敗した処理を再実行する場合、次のような問題点があった。
まず、従来のネットワークデバイス管理プログラムでは、任意の複数のデバイスを選択することが可能であるため、機種に依存した情報をデバイスに配信してしまう場合があった。このような場合、自機種に対応しない情報が配信されると、デバイスは、再実行した処理についても必ず失敗してしまうことになる。
また、近年のデバイスには、セキュリティを考慮して、情報の取得(読み取り)は可能であるが、配信(書き込み)を抑止するモード(以下、セキュリティモードと称する)を備えるものもある。このようなデバイスの場合、情報の取得が可能であるため、ネットワークデバイス管理プログラムによるデバイスの探索処理には応答するが、情報を配信することはできない。したがって、このようなデバイスに対して配信処理を再実行した場合は必ず失敗することになる。
更に、従来のネットワークデバイス管理プログラムには、デバイスに対する配信処理を予め設定したスケジュールに従って周期的に実行できるがものがある。このようなネットワークデバイス管理プログラムの場合、周期毎の実行結果が異なるため、各周期の実行結果を元に再実行処理のための情報を生成しても、有効な再実行処理にならないケースがあるといった問題があった。
本発明は、このような問題点に鑑みてなされたものであり、複数のデバイスに対して一括して行ったタスクの実行に失敗し、その実行に失敗したデバイスに対してタスクを再実行するに際し、無駄なタスクが再実行されることを可及的に防止することを目的とする。
本発明のタスク実行装置は、デバイスと通信し、対象デバイスに対して遠隔操作を行うためのタスクを実行するタスク実行装置であって、複数のタスクを実行する実行手段と、前記実行手段による実行に失敗したタスクを、前記実行手段により再実行するためのリカバリのためのタスクを生成する生成手段と、前記実行手段によるタスクの実行が失敗した際に、当該失敗した要因を取得する取得手段と、前記実行手段によるタスクの実行が失敗した際に、前記取得手段により取得された要因に基づく表示を行うための表示制御手段と、をし、前記取得手段は、実行に失敗した前記タスクの対象デバイスがセキュリティモードに対応しているか否かと、非セキュリティモードによる当該対象デバイスに対する情報の読み出しと書き出しの成否とに基づき判断される要因を取得することを特徴とする。
本発明のタスク実行方法は、デバイスと通信し、対象デバイスに対して遠隔操作を行うためのタスクを実行するタスク実行方法であって、複数のタスクをタスク実行装置が有する実行手段により実行する実行ステップと、前記実行ステップによる実行に失敗したタスクを、前記実行ステップにより再実行するためのリカバリのためのタスクをタスク実行装置が有する生成手段により生成する生成ステップと、前記実行ステップによるタスクの実行が失敗した際に、当該失敗した要因をタスク実行装置が有する取得手段により取得する取得ステップと、前記実行ステップによるタスクの実行が失敗した際に、前記取得ステップにより取得された要因に基づく表示を行うための表示制御をタスク実行装置が有する表示制御手段により実行する表示制御ステップと、をし、前記取得ステップは、実行に失敗した前記タスクの対象デバイスがセキュリティモードに対応しているか否かと、非セキュリティモードによる当該対象デバイスに対する情報の読み出しと書き出しの成否とに基づき判断される要因を取得することを特徴とする。
本発明のコンピュータプログラムは、前記タスク実行方法ステップをコンピュータに実行させることを特徴とする。
本発明によれば、実行に失敗したデバイスに対してタスクを再実行するに際し、無駄なタスクが再実行されることを可及的に防止することができる。
以下に、図面を参照しながら、本発明の一実施形態について説明する。
尚、本実施形態では、情報の配信又は取得のターゲットとなるターゲットデバイスと、デバイスに配信する(又はデバイスから取得する)情報と、実行スケジュールとを含んで構成される処理の単位をタスクと称する。また、タスクの処理に失敗したターゲットデバイスに対する再実行のためのタスクをリカバリタスクと称する。
図1は、ネットワークデバイス管理プログラムを含むネットワークデバイス管理システムの構成の一例を示す図である。
図1において、ローカルエリアネットワーク(LAN)100には、ネットワークデバイス管理サーバ110と、クライアントPC120と、プリンタ130と、複合機能デバイス140とが接続されている。デバイス管理サーバ110は、タスク実行装置の好適な一例である。デバイス管理サーバ110は、デバイスの一例であるプリンタ130と通信する。デバイス管理サーバ110は、様々なタスクを実行することにより、プリンタ130に対してネットワークを介した遠隔操作を行う。
ネットワークデバイス管理サーバ110には、ネットワークデバイス管理プログラム111とWWWサーバプログラム112とがインストールされており、クライアントPC120には、WWWブラウザプログラム121がインストールされている。
ネットワークデバイス管理サーバ110は、プリンタ130と複合機能デバイス140とを管理対象としている。ユーザは、クライアントPC120を操作して、ネットワークデバイス管理サーバ110にアクセスする。
ネットワークデバイス管理プログラム111と、プリンタ130及び複合機能デバイス140との間では、SNMP(Simple Network Management Protocol)を利用して通信が行われるものとする。一方、クライアントPC120にインストールされているWWWブラウザプログラム121とネットワークデバイス管理プログラム111との間では、HTTP(HyperText Transfer Protocol)を利用して通信が行われるものとする。尚、以下の説明では、ネットワークデバイス管理サーバ110を、デバイス管理サーバ110と称し、ネットワークデバイス管理プログラム111をデバイス管理プログラム111と略称する。更に、プリンタ130と複合機能デバイス140とを必要に応じてデバイスと総称する。
図2は、デバイス管理プログラム111が稼動可能なデバイス管理サーバ110のハードウェアの構成の一例を示す図である。尚、本実施形態では、デバイス管理サーバ110は、PC(Personal Computer)を用いて実現することができる。
デバイス管理サーバ110は、ROM201若しくはハードディスク(HD)210に記憶されたデバイス管理プログラム111を実行するCPU200を備える。CPU200は、システムバス203に接続された各デバイスを総括的に制御する。
RAM202は、CPU200の主メモリやワークエリア等として機能する。
キーボードコントローラ(KBC)204は、キーボード(KB)208や不図示のポインティングデバイス等からの指示入力を制御する。CRTコントローラ(CRTC)205は、ディスプレイ(CRT)209への表示を制御する。
ディスクコントローラ(DKC)206は、ハードディスク(HD)210、フレキシブルディスクコントローラ(FD)211、及びCD−ROMドライブ(CD)212とのアクセスを制御する。
ネットワークインタフェースカード(NIC)207は、LAN100を介して、クライアントPC120、或いはプリンタ130や複合機能デバイス140と双方向にデータを授受する。
次に、ネットワークデバイス管理プログラム111の構成の一例について説明する。
また、後述する全ての説明において、特に断りのない限り、ハードウェア上の実行の主体はCPU200である。一方、ソフトウェア上の制御の主体は、ハードディスク(HD)210に格納されたデバイス管理プログラム111である。尚、OS(Operating System)は、例えば、ウィンドウズ(登録商標)を想定しているが、OSはこれに限るものではない。
また、ネットワークデバイス管理プログラム111は、CD−ROM等の記憶媒体に格納された形で供給されても良い。その場合に、ネットワークデバイス管理プログラム111は、CD−ROMドライブ212等によってCD−ROM等の記憶媒体から読み取られ、ハードディスク(HD)210にインストールされる。
図3は、デバイス管理サーバ110上で動作するデバイス管理プログラム111のモジュールの構成の一例を示す図である。
図3において、デバイス管理プログラム111は、WWWサーバプログラム112上で稼動し、クライアントPC120上のWWWブラウザプログラム121とHTTPを利用して通信を行う。一方、デバイス管理プログラム111と、プリンタ130及び複合機能デバイス140とはSNMPを利用して通信する。
全体制御モジュール300は、WWWサーバプログラム112から受信したコマンドを解析する。更に、全体制御モジュール300は、コマンドを解析した結果に応じて、スケジューラモジュール301、タスク管理モジュール302、デバイス管理モジュール305、デバイス探索モジュール308、又はユーザ管理モジュール310に制御を振り分ける。また、全体制御モジュール300は、これらのモジュール301、302、305、308、310で生成されたHTMLデータをWWWサーバプログラムに112に送信する。
スケジューラモジュール301は、デバイス管理プログラム111において登録可能な処理の単位であるタスクをユーザの設定に応じて起動及び停止するためのモジュールである。
タスク管理モジュール302は、タスクの登録、編集、削除等の制御と、タスクの状態の管理を行うためのモジュールである。また、タスク管理モジュール302は、登録タスクリストモジュール303によって登録されているタスクの一覧表示を行う。更に、タスク管理モジュール302は、実行タスクリストモジュール304によって実行されているタスクの実行状態の一覧表示を行う。
デバイス管理モジュール305は、管理対象のデバイスから情報を取得したり、管理対象のデバイスに対して設定を行ったりするためのタスクの生成と、そのタスクの生成に関連するUIの表示等の制御を行うためのモジュールである。また、デバイス管理モジュール305は、デバイスから情報を取得するタスクを生成するために、デバイス設定取得モジュール306を制御する。更に、デバイス管理モジュール305は、デバイスに情報を配信するタスクを生成するために、デバイス設定配信モジュール307を制御する。
デバイス探索モジュール308は、LAN100等のネットワークに接続されたデバイスの探索を行うタスクの生成と、そのタスクの生成に関連するUIの表示等の制御を行うためのモジュールである。デバイス探索モジュール308は、デバイスリストモジュール309を制御し、探索したデバイスの一覧表示、情報更新、削除等を行うためのデバイスリストを表示する。
ユーザ管理モジュール310は、デバイス管理プログラム111にアクセスすることが可能なユーザの登録、編集、及び削除を行うためのモジュールである。
SNMPモジュール311は、デバイス管理モジュール305やデバイス探索モジュール308の指示によるSNMPコマンドの送信と、デバイスからのSNMPによるレスポンスの受信を行うためモジュールである。
データベース312には、各種のタスク情報と、ユーザ情報と、デバイス管理プログラム111が動作するために必要なシステム情報等が格納される。尚、タスクの作成時、及びタスクの実行時に作成するデータテーブルに関する情報の詳細については後述する。
図4は、デバイスを管理するタスクを生成する際のデバイス管理プログラム111における動作の一例を説明するフローチャートである。
まず、ステップS400において、デバイス管理モジュール305は、ユーザの操作に基づいて、生成するタスクのタイプを決定して、ステップS401に移行する。
本実施形態では、ユーザは、デバイスに情報を配信するタスク(以下、デバイス設定配信タスクと称する)と、デバイスから情報を取得するタスク(以下、デバイス設定取得タスクと称する)との何れか一方を選択することが可能である。
尚、ステップS400においてデバイス設定配信タスクが、生成するタスクとして決定された場合、デバイス管理モジュール305を介して、デバイス設定配信モジュール307においてタスクの生成が行われる。一方、ステップS400においてデバイス設定取得タスクが生成するタスクとして決定された場合、デバイス管理モジュール305を介して、デバイス設定取得モジュール306においてタスクの生成が行われる。
次に、ステップS401において、デバイス管理モジュール305は、デバイス探索モジュール308において探索され、データベース312に格納されているデバイスから任意のターゲットデバイスを、ユーザの操作に基づいて決定する。そして、ステップS402に移行する。
図5は、デバイス選択画面の一例を示す図である。このデバイス選択画面は、図4のステップS401においてデバイスを選択するためのものであり、デバイス管理プログラム111の動作によって表示される。
図5において、ターゲットデバイスリスト表示部600には、デバイス探索モジュール308によって探索され、データベース312に格納されている選択対象のデバイスの情報が一覧表示される。
ターゲットデバイスリスト表示部600には、選択対象のデバイスの名称であるデバイス名と、製品名と、IPアドレスと、MACアドレスと、デバイスの情報の更新日時とが表示される。ユーザは、デバイス選択チェックボックス601をチェックすることによって任意の複数のデバイスを選択することができる。
次に、ステップS402において、デバイス管理モジュール305は、ステップS400で決定されたタスクがデバイス設定配信タスクであるか否かを判定する。この判定の結果、ステップS400で決定されたタスクがデバイス設定配信タスクである場合(YESの場合)にはステップS403に移行する。一方、ステップS400で決定されたタスクがデバイス設定配信タスクでなく、デバイス設定取得タスクである場合(NOの場合)にはステップS405に移行する。
ステップS403に進むと、デバイス管理モジュール305は、デバイスに情報を配信するために必要な認証情報を設定し、ステップS404に移行する。
次に、ステップS404において、デバイス設定配信モジュール307は、デバイスに配信する情報の編集を行い、ステップS406に移行する。
図6は、デバイス設定編集画面の一例を示す図である。このデバイス設定編集画面は、図4のステップS404においてデバイスに配信する情報を編集するためのものであり、デバイス管理プログラム111の動作によって表示される。
図6おいて、配信情報入力部700には、デバイス名、設置場所、管理者名、管理者連絡先、管理者コメント、サービス担当者名、サービス担当者連絡先、サービス担当者コメント等、デバイスに配信する情報を入力することが可能である。尚、デバイス設定編集画面では、ユーザが情報選択チェックボックス701をチェックすることによって配信する情報を選択することが可能である。
図4の説明に戻り、ステップS405に進むと、デバイス設定取得モジュール306は、デバイスから取得する情報を選択し、ステップS406に移行する。
ステップS406に進むと、スケジューラモジュール301は、ステップS403、S404で生成された配信情報、又はステップS405で生成された取得情報に対する実行スケジュールを設定して、図4のフローチャートによる処理を終了する。
図7は、タスク登録設定画面の一例を示す図である。このタスク登録設定画面は、図4のステップS406において、スケジュールの設定をはじめとした"タスクの登録時に必要な情報"を設定するためのものであり、デバイス管理プログラム111の動作によって表示される
図7において、タスク設定入力部800には、タスクの名称として任意の文字列が設定可能である。また、タスク設定入力部800には、タスクに対するコメントを入力できる。
スケジュール設定部801には、タスクを実行する実行スケジュールを設定することができる。本実施形態では、デバイス管理プログラム111は、実行スケジュールとして、予め決められた日時だけでなく登録したタスクを繰り返し実行する周期実行の設定も可能である。
実行結果通知先入力部802には、タスクの終了を通知する電子メールアドレスを入力することができる。本実施形態では、デバイス管理プログラム111は、タスクの終了時に実行結果通知先入力部802で指定した宛先に対してタスクの実行結果を通知することができる。
尚、図4のフローチャートで生成されたタスクは、タスク管理モジュール302を介して登録タスクリストモジュール303により登録タスクリストに登録される。更に、登録されたタスクは、ステップS406で設定された実行スケジュールに従って、スケジューラモジュール301から起動され、実行タスクリストモジュール304により実行タスクリストに追加される。また、タスクが完了すると、タスクは、タスク管理モジュール302により実行タスクリストモジュール304を介してデータベース312に格納される。
図8は、タスクを登録するときにデバイス管理プログラム111によって生成されるデータテーブルの一例を示す図である。
図8(a)は、ユーザ管理モジュール310によって生成されるユーザ管理テーブルの一例を示す図である。ユーザ管理テーブルは、ユーザID500とユーザ名501とから構成される。ユーザ名501はユーザによって入力される任意の文字列であり、ユーザID500はユーザ管理モジュール310によって割り当てられる識別子である。
図8(b)は、登録タスクテーブルの一例を示す図である。登録タスクテーブルは、デバイス設定取得モジュール306やデバイス設定配信モジュール307によって生成されるUI(User Interface)に対してユーザが行う操作に基づいて生成される。
登録タスクテーブルにおいて、タスクID503は、デバイス設定取得モジュール306やデバイス設定配信モジュール307により生成された情報に対してタスク管理モジュール302が割り当てる識別子である。
ユーザID504には、図8(a)に示すユーザ管理テーブルに登録されているユーザID500の中から、タスクを生成したユーザのユーザIDが登録される。
タスクタイプ505には、生成したタスクのタイプに応じた識別子(デバイス設定配信(=1)、デバイス設定取得(=2)等)が設定される。
タスク名506には、図7に示したタスク設定入力部800においてタスクの名称として入力された文字列が登録される。また、コメント507には、図7に示したタスク設定入力部800においてタスクに対するコメントとして入力された文字列が登録される。更に、電子メールアドレス508には、図7に示した実行結果通知先入力部802において入力された"タスクの実行結果を通知するための電子メールアドレス"が登録される。
データ510、511は、図6に示したデバイス設定編集画面において入力され、タスクを実行することによりデバイスに設定される値が登録される。尚、デバイスから設定を取得するタスクの場合、このデータ510、511の値にはNULLが登録される。
図8(c)は、ターゲットデバイス管理テーブルの一例を示すである。図5に示したデバイス選択画面において選択された各タスクのターゲットデバイスを管理するテーブルである。
ターゲットデバイス管理テーブルにおいて、タスクID512は、図8(b)に示す登録タスクテーブルに登録されているタスクID503と同意のものである。
デバイスID513は、デバイスの識別子であり、図5に示すデバイス選択画面においてタスク作成時に選択されたデバイスを識別するためのものである。尚、図8(c)に示す例では、例えば、「01」のタスクIDが割り当てられたタスクのターゲットデバイスとしてデバイスIDが「1000」、「1001」によって識別されるデバイスが選択されたことになる。すなわち、デバイスIDが「1000」、「1001」によって識別されるデバイスに対して一括してタスクが実行される。
図9は、配信に失敗したタスクを再実行するためのリカバリタスクを生成する際のデバイス管理プログラム111における動作の一例を説明するフローチャートである。
まず、ステップS900において、デバイス管理モジュール305は、ユーザによる操作に基づいて、リカバリの対象となるタスクを決定し、ステップS901に移行する。具体的に説明すると、図16に示す実行タスクリスト画面において任意のタスクの[リカバリ>>]リンクがユーザによって押下されることによりリカバリの対象となるタスクが選択され、ステップS901に移行する。図16の詳細については後述する。
次に、ステップS901において、デバイス管理モジュール305は、ステップS900で決定したタスクが、周期的に繰り返し実行する周期実行タスクであるか否かを判定する。この判定の結果、ステップS900で決定したタスクが周期実行タスクである場合(YESの場合)にはステップS902に移行する。一方、ステップS900で決定したタスクが周期実行タスク以外の場合(NOの場合)にはステップS904に移行する。
ステップS902に進むと、デバイス管理モジュール305は、ステップS900で決定され、ステップS901で周期実行タスクであると判定されたタスクの実行結果が最新の周期実行タスクの結果であるか否かを判定する。
この判定の結果、該当するタスクの実行結果が最新の実行結果である場合(YESの場合)にはステップS904に移行する。一方、該当するタスクの実行結果が最新の実行結果以外の場合(NOの場合)にはステップS903に移行する。
ステップS903に進むと、デバイス管理モジュール305は、ステップS900で決定したタスクの最も新しい周期実行の結果を参照して、ステップS904に移行する。
ステップS904に進むと、デバイス管理モジュール305は、ステップS900で決定したタスクの実行結果、又はステップS903で参照したタスクの実行結果を参照し、タスクの処理に失敗したデバイスの台数(n台)を検出して記憶する。
次に、ステップS905において、デバイス管理モジュール305は、ステップS904で検出した"タスクの処理に失敗したデバイス"が1台以上存在するか否かを判定する。この判定の結果、タスクの処理に失敗したデバイスが1台以上存在する場合(YESの場合)にはステップS906に移行する。一方、タスクの処理に失敗したデバイスが存在しない場合(NOの場合)には、図9のフローチャートによる処理を終了する。
ステップS906に進むと、デバイス管理モジュール305は、タスクの処理に失敗したデバイスをカウントするためのインデックスiを0で初期化し、ステップS907に移行する。
次に、ステップS907において、デバイス管理モジュール305は、インデックスiが、タスクの処理に失敗したバイスの数nよりも小さいか否かを判定する。この判定の結果、インデックスiが、タスクの処理に失敗したバイスの数nよりも小さい場合(YESの場合)には、ステップS908に移行する。一方、インデックスiが、タスクの処理に失敗したバイスの数n以上である場合(NOの場合)には、図9のフローチャートによる処理を終了する。
ステップS908に進むと、デバイス管理モジュール305は、配信できなかったバラメータがデバイスに実装されているものか否かを判断し、実装されていない場合には、そのパラメータを含むタスクをリカバリの対象外とする。そして、ステップS909に移行する。このステップS908の詳細については、図10を用いて後述する。
次に、ステップS909において、デバイス管理モジュール305は、リカバリの対象となるタスクのタイプがデバイスに情報を配信するタスクであるか否かを判定する。この判定の結果、リカバリの対象となるタスクのタイプがデバイスに情報を配信するタスクである場合には、ステップS910に移行する。一方、リカバリの対象となるタスクのタイプがデバイスに情報を配信するタスク以外の場合にはステップS911に移行する。
次に、ステップS910において、デバイス管理モジュール305は、デバイスがセキュリティモードに対応している場合の処理を行う。このステップS910の詳細については、図11を用いて後述する。
次に、ステップS911において、デバイス管理モジュール305は、インデックスiをインクリメントしてステップS907に戻る。
図10は、デバイスが実装していない情報を含むタスクをリカバリの対象外とするように制御する際のデバイス管理プログラムにおける動作の一例を説明するフローチャートである。この図10のフローチャートは、図9のステップS908を詳細に説明するものである。
まず、ステップS1000において、デバイス管理モジュール305は、全体制御モジュール300を介してデータベース312に格納されたタスク単位の実行結果を参照する。
次に、ステップS1001において、デバイス管理モジュール305は、ステップS1000で参照したタスクの実行結果が成功であるか否かを判定する。この判定の結果、ステップS1000で参照したタスクの実行結果が成功である場合(YESの場合)には、図10のフローチャートによる処理を終了する。一方、ステップS1000で参照したタスクの実行結果が失敗である場合(NOの場合)には、ステップS1002に移行する。
ステップS1002に進むと、デバイス管理モジュール305は、ステップS1000で参照したタスクの実行結果に基づいて、タスクの処理に失敗したデバイス(n台)を検出して記憶する。
次に、ステップS1003において、デバイス管理モジュール305は、タスクの処理に失敗したデバイスの数をカウントするためのインデックスiを0で初期化する。
次に、ステップS1004において、デバイス管理モジュール305は、インデックスiが、タスクの処理に失敗したデバイスの数(n台)以下であるか否かを判定する。この判定の結果、インデックスiが、タスクの処理に失敗したデバイスの数(n台)以下である場合(YESの場合)にはステップS1005に移行する。一方、インデックスiが、タスクの処理に失敗したデバイスの数(n台)よりも大きい場合(NOの場合)には、図10のフローチャートによる処理を終了する。
ステップS1005に進むと、デバイス管理モジュール305は、i番目のデバイスに対する配信に失敗した情報(パラメータ)の数(l個)を検出する。
次に、ステップS1006において、デバイス管理モジュール305は、配信に失敗した情報をカウントするためのインデックスjを0で初期化する。
次に、ステップS1007において、デバイス管理モジュール305は、インデックスjが、配信に失敗した情報の数l個以下であるか否かを判定する。この判定の結果、インデックスjが、配信に失敗した情報の数l個以下である場合(YESの場合)にはステップS1009に移行する。一方、インデックスjが、配信に失敗した情報の数l個よりも大きい場合(NOの場合)にはステップS1008に移行する。
ステップS1008に進むと、デバイス管理モジュール305は、タスクの処理に失敗したデバイスの数をカウントするためのインデックスiをインクリメントし、ステップS1004に戻る。
一方、ステップS1009に進むと、デバイス管理モジュール305は、j番目の情報における"配信に失敗した要因(未配信の要因)"を、例えば、後述する図19(b)のタスク実行結果管理テーブルを参照して確認する。
次に、ステップS1010において、デバイス管理モジュール305は、ステップS1009における確認の結果に基づいて、j番目の情報が、デバイスに実装されていない情報であるか否か(リカバリが可能であるか否か)を判定する。
この判定の結果、j番目の情報が、デバイスに実装している情報である場合(NOの場合)には、ステップS1011に移行する。一方、j番目の情報が、デバイスに実装されていない情報である場合(YESの場合)には、ステップS1012に移行する。
尚、情報がデバイスに実装されているかどうかを判定する手段としては、例えば、図14を用いて後述するSNMP V1パケットのエラーステータスのフィールド1402を参照することにより可能である。すなわち、情報の配信のレスポンスとしてデバイスから受け取るSNMP V1パケットのエラーステータスのフィールド1402にNoSuchNameが設定されていた場合は情報がデバイスに実装されていないと判断できる。
ステップS1011に進むと、デバイス管理モジュール305は、ステップS1010でデバイスに実装していると判断した情報をリカバリタスクの対象とする。そしてステップS1013に移行する。
一方、ステップS1012に進むと、デバイス管理モジュール305は、ステップS1010でデバイスに実装していないと判断した情報をリカバリタスクの対象外とする。
次に、ステップS1013において、デバイス管理モジュール305は、配信に失敗した情報をカウントするためのインデックスjをインクリメントして、ステップ1007に戻る。
図11は、デバイスに情報を配信するタスクのリカバリタスクを生成する際のデバイス管理プログラム111における動作の一例を説明するフローチャートである。この図11のフローチャートは、セキュリティモードに対応したデバイスに対するリカバリタスクを生成する動作を示すフローチャートであり、図9のステップS910の動作を詳細に説明するものである。
尚、本実施形態においては、セキュリティモードに対応したデバイスの製品名の一覧が、データベース312に予め保存されているものとする。
まず、ステップS1100において、デバイス管理モジュール305は、情報を配信するタスクの処理に失敗したデバイス(n台)を検出する。
次に、ステップS1101において、デバイス管理モジュール305は、タスクの処理に失敗したデバイスの数をカウントするためのインデックスiを0で初期化する。
次に、ステップS1102において、デバイス管理モジュール305は、インデックスiが、タスクの処理に失敗したデバイスの数(n台)以下であるか否かを判定する。この判定の結果、インデックスiが、タスクの処理に失敗したデバイスの数(n台)以下である場合(YESの場合)には、ステップS1103に移行する。一方、インデックスiが、タスクの処理に失敗したデバイスの数(n台)よりも大きい場合には、図11のフローチャートによる処理を終了する。
ステップS1103に進むと、デバイス管理モジュール305は、i番目のデバイスの製品名を取得する。
次に、ステップS1104において、デバイス管理モジュール305は、i番目のデバイスがセキュリティモードに対応しているか否かを判断するために、データベース312に格納されているセキュリティモードに対応した製品名の一覧を参照する。
次に、ステップS1105において、デバイス管理モジュール305は、i番目のデバイスがセキュリティモードに対応しているか否かを判定する。具体的にデバイス管理モジュール305は、例えば、ステップS1103で取得した製品名が、ステップS1104で参照した"セキュリティモードに対応した製品名の一覧"に含まれているか否かを確認する。
この判定の結果、i番目のデバイスがセキュリティモードに対応している場合(YESの場合)には、ステップS1106に移行する。一方、i番目のデバイスがセキュリティモードに対応していない場合(NOの場合)には、ステップS1107に移行する。
ステップS1106に進むと、デバイス管理モジュール305は、i番目のデバイスにセキュリティモード属性を割り当ててステップS1107に移行する。尚、セキュリティモード属性とは、デバイスがセキュリティモードに対応していることを示す属性である。
ステップS1107に進むと、デバイス管理モジュール305は、インデックスiをインクリメントし、ステップS1102に戻る。
図12は、セキュリティモード属性が与えられたデバイスに対してリカバリタスクを実行する際のネットワークデバイス管理システムにおける動作の一例を説明するフローチャートである。
図20は、セキュリティモードのデバイスの仕様の一例を示した図である。
ネットワーク機器の遠隔操作及び管理を行うネットワーク管理プロトコルには、SNMPV1とSNMPV3とがある。本実施形態では、SNMPV3をセキュリティモードであると規定する。
それぞれのセキュリティレベルにおいて、SNMPV1及びSNMPV3のそれぞれのプロトコルで出来る操作が定義されている。セキュリティレベルが高い場合は、SNMPV1でのデバイス管理サーバからデバイスへの操作を完全に禁止し、SNMPV3でのデバイス管理サーバからデバイスへのMIBの読み書きを許す。セキュリティレベルが中位であれば、SNMPV1でのデバイスからのMIBの読み出しを許可し、SNMPV3での読み書きを許可する。セキュリティレベルが低い場合には、SNMPV1及びSNMPV3でのデバイスへのMIBの読み書きを許可する。このように、デバイスは、様々なセキュリティレベルに設定されうる。
まず、ステップS1200において、タスク管理モジュール302は、図11に示した動作を経てデータベース312に格納されたセキュリティモード属性に関する情報を参照する。
次に、ステップS1201において、タスク管理モジュール302は、ステップS1200における参照の結果に基づいて、対象となる情報を配信するデバイスがセキュリティモードに対応しているか否かを判定する。
この判定の結果、対象となる情報を配信するデバイスがセキュリティモードに対応している場合(Yesの場合)には、ステップS1202に移行する。一方、対象となる情報を配信するデバイスがセキュリティモードに対応していない場合には、後述するステップS1208に移行する。
ステップS1202に進むと、タスク管理モジュール302は、図6に示したデバイス設定編集画面において配信のために指定された情報を、デバイス(例えば、複合機能デバイス140)から読み出すための処理を行う。すなわち、SNMPモジュール311は、GetRequestパケットをデバイスに送信する。
次に、ステップS1203において、デバイスは、ステップS1202で送信されたGetRequestパケットを受信する。
次に、ステップS1204において、デバイスは、GetRequestパケットに応答するため、指定されたMIB(Management Information Base)オブジェクトの値をデバイス管理サーバ110に通知する。この通知は、GetResponseパケットをデバイス管理サーバ110に送信することにより行われる。
次に、ステップS1205において、SNMPモジュール311は、ステップS1204で送信されたGetResponseを受信する。
次に、ステップS1206において、SNMPモジュール311は、ステップS1205で受信したGetResponseパケットを解析し、エラーステータスのフィールドを確認する。この確認により、デバイスから情報を正常に受信できたかどうかの判定が行われる。
ここでSNMP V1パケットについて説明する。図13は、SNMP V1パケットの構成の一例を示す図である。
図13において、フィールド1400には、PDU(Protocol Data Unit)タイプに応じた値が設定される。
GetRequestの場合には「0」が、GetNextRequestの場合には「1」が、GetResponseの場合には「2」が、SetRequestの場合には「3」が、このフィールド1400に設定される。
フィールド1401には、リクエスト識別子が格納される。リクエスト識別子とは、SNMPの要求パケットと応答パケットとを一意に識別するための値である。
フィールド1402には、エラーステータスが格納される。SNMP V1の場合、エラーステータスとして、5つのステータスが定義されている。このうち、NoSuchNameは、要求されたMIBの情報がデバイスに実装されていない場合の応答であり、本実施形態では、該当する情報がデバイスに実装されているか否かを判定するために用いられる。
フィールド1403には、エラー位置番号が格納される。エラー位置番号とは、エラーが発生したMIBオブジェクトを特定するための情報である。
フィールド1404には、管理情報が格納される。このフィールド1404には、MIBオブジェクトとその値とが複数格納される。
図12の説明に戻り、ステップS1206において、エラーステータスのフィールド1402の確認の結果、デバイスから情報を正常に受信できず、デバイスからの情報の取得に失敗したと判定した場合(NOの場合)には、ステップS1207に移行する。一方、デバイスから情報を正常に受信でき、デバイスからの情報の取得に成功した場合(YESの場合)には、ステップS1208に移行する。
ステップS1207に進むと、タスク管理モジュール302は、ステップS1206における検出結果に応じたエラー情報をデータベース312に格納し、図12のフローチャートによる処理を終了する。
一方、ステップS1208に進むと、SNMPモジュール311は、ステップS1206において取得が成功したと判定した情報を図6に示したデバイス設定編集画面で入力した値に変更するために、SetRequestパケットをデバイスに送信する。そして、ステップS1209に移行する。
次に、ステップS1209において、デバイスは、ステップS1208で送信されたSetRequestパケットを受信する。
次に、ステップS1210において、デバイスは、ステップS1209で受信したSetRequestパケットに対するGetResponseパケットをデバイス管理サーバ110に送信する。
次に、ステップS1211において、SNMPモジュール311は、ステップS1210で送信されたGetResponseパケットを受信する。
次に、ステップS1212では、SNMPモジュール311は、ステップS1211で受信したGetResponseパケットのエラーステータスのフィールド1402を確認する。この確認により、デバイスへの情報の配信に成功したか否かを判定する。この判定の結果、情報の配信に失敗した場合(NOの場合)には、ステップ1215に移行する。
尚、前述したSetRequest、及び、GetRequest等のコマンドは全て、非セキュリティモード(SNMPV1)にて送信されるものとする。
ステップS1215に進むと、タスク管理モジュール302は、ステップS1201において、対象となる情報を配信するデバイスがセキュリティモードに対応していると判定されたか否か(YESの判断がされたか否か)を判定する。この判定の結果、ステップS1201においてYESの判断がされたと判定した場合には、ステップS1213に進む。デバイスがセキュリティモードに対応しているので、セキュリティモードではフルアクセスが許されており、非セキュリティモードでは読みだしは許されているが、書き込みが許されていないはずであると判定されるためである。
一方、ステップS1201においてNOの判断がされたと判定した場合には、ステップS1207へ進む。そもそも、デバイスはセキュリティモードに対応していないため、セキュリティモードとセキュリティレベルとを要因とするエラーであるとは考えられないためである。
すなわち、実行したタスクの操作対象となるデバイスが以下の場合には、実行したタスクはセキュリティ上の原因で失敗したと判定することになる。すなわち、セキュリティモードに対応しており、尚且つ非セキュリティモードにおける設定値であるMIBの書き込みは失敗し、尚且つ非セキュリティモードにおけるMIBの読み出しが成功したら、実行したタスクはセキュリティ上の原因で失敗したと判定される。
一方、ステップS1212において情報の配信に成功した場合(YESの場合)には、ステップS1214に移行する。
ステップS1213に進むと、ステップS1206において情報の取得には成功しているが、ステップS1212において情報の配信に失敗していることになる。そこで、タスク管理モジュール302は、デバイスがセキュリティモードで稼動している可能性があると判断し、図12のフローチャートによる処理を終了する。
一方、ステップS1214に進むと、タスク管理モジュール302は、情報の配信が成功したと判断し、情報の配信が成功したことを、タスクの実行結果としてデータベース312に記録し、図12のフローチャートによる処理を終了する。
尚、ステップS1213、S1214における判断の結果は、データベース312に格納され、後述する図18に示す個別デバイス詳細表示画面のサブウィンドウのタスク実行結果表示領域1800に表示されるメッセージに反映される。
図14は、周期的に繰り返し実行される周期実行タスクのリカバリタスクを生成する際のデバイス管理プログラム111における動作の一例を説明するフローチャートである。この図14のフローチャートは、図9におけるステップS900からステップS903の処理の流れを詳細に説明するものである。
まず、ステップS1300において、タスク管理モジュール302は、データベース312に格納されたタスクの実行スケジュールを参照する。
次に、ステップS1301において、タスク管理モジュール302は、ステップS1300で参照した実行スケジュールに基づいて、リカバリの対象となるタスクが周期実行タスクであるか否かを判定する。この判定の結果、リカバリの対象となるタスクが周期実行タスクである場合(YESの場合)にはステップS1302に移行する。一方、リカバリの対象となるタスクが周期実行タスクでない場合(NOの場合)には、図14のフローチャートによる処理を終了する。
ステップS1302に進むと、タスク管理モジュール302は、リカバリの対象となるタスクの登録時に割り当てられたタスクIDと同じIDを持つタスクの実行結果を検出することで、リカバリの対象となるタスクの各周期の実行結果を検出する。
次に、ステップS1303において、タスク管理モジュール302は、ステップS1302で検出した各周期の実行結果の完了時刻を比較し、最新の実行結果を検出する。
次に、ステップS1304において、タスク管理モジュール302は、タスクの実行結果を参照することで、タスクの処理に失敗したターゲットデバイスがあるか否かを判定する。この判定の結果、タスクの処理に失敗したターゲットデバイスがある場合(YESの場合)には、ステップS1305に移行する。一方、タスクの処理に失敗したターゲットデバイスがない場合(NOの場合)には、図14のフローチャートによる処理を終了する。
ステップS1305に進むと、タスク管理モジュール302は、周期実行タスクの最新の実行結果に基づいてリカバリタスクを生成し、図14のフローチャートによる処理を終了する。
図15は、登録タスクリスト画面の一例を示す図である。この登録タスクリスト画面は、タスク管理モジュール302が登録タスクリストモジュール303を制御することにより生成される
図15において、登録タスク情報リスト表示部1500には、デバイス管理モジュール305やデバイス探索モジュール308などにより生成され、データベース312に格納されている登録済みの全てのタスク情報が一覧表示される。
タスク名表示部1501には、図7に示したタスク登録設定画面のタスク設定入力部800に入力されたタスクの名称が表示される。タスク名表示部1501には、[編集>>]リンクが表示され、このリンクがユーザによって押下されることにより、図5に示したデバイス選択画面が表示される。尚、[編集>>]リンクの押下により表示されたデバイス選択画面の初期状態では、タスク作成時に選択したデバイスが選択済みとなっている。
前述したように、本実施形態におけるデバイス管理プログラム111の場合、ユーザは、デバイス設定配信タスクとデバイス設定取得タスクと称するとの何れか一方を選択することができる。よって、機能名表示部1502には、「デバイス設定配信」又は「デバイス設定取得」が表示される。
登録者表示部1503には、ユーザ管理モジュール310によって管理されているユーザのうち、タスクを作成したユーザの名称が表示される。
実行日時表示部1504には、スケジューラモジュール301によってタスクが起動された日時、又は、タスクが起動される予定の日時が表示される。
実行状態表示部1505には、タスクの登録状態に応じて「実行待ち」、「実行済み」、「一時停止中」等が表示される。
図16は、実行タスクリスト画面の一例を示す図である。この実行タスクリスト画面は、タスク管理モジュール302が実行タスクリストモジュール304を制御することにより生成される。
図16において、実行タスク情報リスト表示部1600には、デバイス設定取得モジュール306やデバイス設定配信モジュール307等により生成されたタスクのうち、実行済み、又は実行中のタスクが一覧表示される。
タスク名表示部1601には、図7に示したタスク登録設定画面のタスク設定入力部800において入力されたタスクの名称が表示される。
実行状態表示部1602には、タスクの実行状態に応じて、「実行中」、「中止終了」、「正常終了」、「エラー終了」等の実行状態を示す文字列が表示される。実行状態表示部1602において表示される"実行状態を示す文字列"にはリンクが張られており、このリンクを押下することにより、図17に示す実行タスク詳細表示画面がサブウィンドウにて表示される。また、実行状態を示す文字列が「エラー終了」の場合、右側に[リカバリ>>]リンクが表示される。このリンクがユーザによって押下されることにより、図5に示すデバイス選択画面が表示される。
[リカバリ>>]リンクの押下により表示されたデバイス選択画面では、タスクの実行に失敗したデバイスのうち、図9に示した処理を経て、リカバリの対象となったデバイスが初期状態で選択済みとなっている。
前述したように、本実施形態におけるデバイス管理プログラム111の場合、ユーザは、デバイス設定配信タスクとデバイス設定取得タスクと称するとの何れか一方を選択することができる。よって、機能名表示部1603には、「デバイス設定配信」又は「デバイス設定取得」が表示される。
登録者表示部1604には、ユーザ管理モジュール310によって管理されているユーザのうち、タスクを作成したユーザの名称が表示される。
実行日時表示部1605には、スケジューラモジュール301によってタスクが起動された日時が表示される。
図17は、実行タスク詳細表示画面の一例を示す図である。この実行タスク詳細表示画面は、図16に示した実行タスクリスト画面の実行状態表示部1602の"実行状態を示す文字列"が押下されることにより、サブウィンドウにて表示される。
図17において、タスク実行結果表示領域1700には、タスク全体の実行結果が表示される。
タスク情報表示部1701には、図7に示したタスク登録設定画面のタスク設定入力部800に入力されたタスク名やコメントの他に、タスクの登録者、タスクの開始日時、及び終了日時が表示される。
対象デバイス実行状態表示部1702には、タスクの実行の対象となるデバイスの個別の実行状態が一覧表示される。
対象デバイス実行状態表示部1702では、対象となるデバイスのデバイス名、製品名、設置場所、IPアドレス、MACアドレスの他、デバイス単位のタスクの実行状態をデバイス単位実行状態表示部1703に表示する。このデバイス単位実行状態表示部1703には、デバイス個別のタスクの実行状態として、「未実行」、「実行中」、「正常終了」、「エラー終了」等が表示される。
デバイス単位実行状態表示部1703に表示される"状態を示す文字列"にはリンクが張られており、このリンクがユーザによって押下されることにより、図18に示す個別デバイス詳細表示画面がサブウィンドウにて表示される。
図18は、個別デバイス詳細表示画面の一例を示す図である。この個別デバイス詳細表示画面は、図17に示す実行タスク詳細表示画面のデバイス単位実行状態表示部1703の"状態を示す文字列"が押下されることにより、サブウィンドウに表示される。
図18において、タスク実行結果表示領域1800には、デバイス単位のタスクの実行結果が表示される。
デバイス情報表示部1801には、デバイスに関する情報が表示される。デバイス情報表示部1801では、デバイス名、製品名、設置場所、IPアドレス、及びMACアドレス等の情報が表示される。
また、図18には示していないが、例えばデバイスから情報を取得する場合には、この個別デバイス詳細表示画面に、詳細な取得情報が表示されるようにする。
図19は、タスク実行時にデバイス管理プログラム111によって生成されるデータテーブルの一例を示す図である。
図19(a)は、実行タスクテーブルの一例を示す図である。図19(a)の実行タスクテーブルは、デバイス管理モジュール305がタスク管理モジュール302を介して登録したタスクがスケジューラモジュール301により起動されたタイミングで生成される。実行タスクテーブルは、タスクID1900と、実行タスクID1901と、タスク実行結果1902と、タスク開始日時1903と、タスク終了日時1904とから構成される。
タスクID1900は、図8に示した登録タスクテーブルに登録されているタスクID503と同意である。実行タスクID1901は、タスクの実行時にタスクID1900に対して割り当てる識別子である。周期実行タスクの場合、同一のタスクID1900に対して、周期毎に実行タスクID1901が割り当てられる。
タスク実行結果1902には、夫々のタスクの実行結果が登録される。図16に示した実行タスクリスト画面の実行状態表示部1602には、このタスク実行結果1902の内容が表示される。
図19(b)は、タスク実行結果管理テーブルの一例を示す図である。このタスク実行結果管理テーブルには、実行したタスクの結果をデバイス単位で管理するための情報が格納される。
タスク実行結果管理テーブルにおいて、実行タスクID1905は、図19(a)に示した実行タスクテーブルの実行タスクID1901と同意である。デバイスID1906は、図8に示したターゲットデバイス管理タスクテーブルのデバイスID513と同意である。
デバイス単位実行結果1907には、デバイス単位での実行結果が登録される。図17に示した実行タスク詳細表示画面のデバイス単位実行状態表示部1703には、このデバイス単位実行結果1907の内容が表示される。
データ1908、1910には、タスクを実行することによりデバイスに配信した(又はデバイスから取得した)データが登録される。例えば、デバイスに未実装のデータを配信した場合、データ1908、1910には「未実装」を意味する情報が格納される。
データ単位実行結果1909、1911には、タスクで配信した情報単位で実行結果が登録される。
以上のように本実施形態では、複数のデバイスに対してタスクを一括して実行し、そのタスクの実行に失敗したデバイスを検出し、その実行に失敗した要因を取得する。そして、失敗した要因に基づいて、検出したデバイスに対してそのタスクを再度実行するか否かを判定し、再度実行すると判定した場合に限り、検出したデバイスに対してタスクを再度実行する。したがって、再実行しても必ず失敗する情報を再実行する対象から外すことが可能となる。よって、複数のデバイスに一括して行った情報の配信に失敗し、その配信に失敗したデバイスに情報を再配信するに際し、無駄な情報が再配信されることを可及的に防止することができる。
また、本実施形態では、周期的に繰り返し実行される周期実行タスクについては、最新の実行結果に基づいて、再度実行するタスクを生成するようにした。したがって、従来よりも効率よくタスクを再実行することが可能になる。
更に、本実施形態では、情報の取得(読み出し)は可能であるが、配信(書き込み)を抑止するセキュリティモードに対応したセキュリティモードデバイスを予め記憶しておく。そして、セキュリティモードデバイスに対してタスクを再実行する場合には、まず、セキュリティモードデバイスから情報を正常に受信できたか否かを判定する。そして、情報を正常に受信できた場合に情報の配信を実行し、情報の配信を正常に行えたか否かを判定する。そして、情報の配信を正常に行えなかった場合には、セキュリティモードデバイスであるためにタスクの実行に失敗したと判定する。したがって、デバイスがセキュリティモードで動作しているためにタスクの実行(情報の配信)に失敗したことをユーザに通知することが可能になる。
(本発明の他の実施形態)
前述した本発明の実施形態におけるタスク実行装置を構成する各手段、並びにタスク実行方法の各ステップは、コンピュータのRAMやROMなどに記憶されたプログラムが動作することによって実現できる。このプログラム及び前記プログラムを記録したコンピュータ読み取り可能な記録媒体は本発明に含まれる。
また、本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。
尚、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム(実施形態では図4、図9〜図12、図14に示すフローチャートに対応したプログラム)を、システムあるいは装置に直接、あるいは遠隔から供給するものを含む。そして、そのシステムあるいは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であってもよい。
プログラムを供給するための記録媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RWなどがある。また、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などもある。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
尚、本実施形態では、タスクが、デバイス設定配信タスクとデバイス設定取得タスクとの何れか一方である場合を例に挙げて説明したが、タスクはこれらに限定されるものではない。
尚、前述した各実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
本発明の実施形態を示し、ネットワークデバイス管理システムの構成の一例を示す図である。 本発明の実施形態を示し、デバイス管理サーバのハードウェアの構成の一例を示す図である。 本発明の実施形態を示し、デバイス管理プログラムのモジュールの構成の一例を示す図である。 本発明の実施形態を示し、デバイスを管理するタスクを生成する際のデバイス管理プログラムにおける動作の一例を説明するフローチャートである。 本発明の実施形態を示し、デバイス選択画面の一例を示す図である。 本発明の実施形態を示し、デバイス設定編集画面の一例を示す図である。 本発明の実施形態を示し、タスク登録設定画面の一例を示す図である。 本発明の実施形態を示し、タスクを登録するときにデバイス管理プログラムによって生成されるデータテーブルの一例を示す図である。 本発明の実施形態を示し、配信に失敗したタスクを再実行するためのリカバリタスクを生成する際のデバイス管理プログラムにおける動作の一例を説明するフローチャートである。 本発明の実施形態を示し、デバイスが実装していない情報を含むタスクをリカバリの対象外とするように制御する際のデバイス管理プログラムにおける動作の一例を説明するフローチャートである。 本発明の実施形態を示し、リカバリタスクを生成する際のデバイス管理プログラムにおける動作の一例を説明するフローチャートである。 本発明の実施形態を示し、リカバリタスクを実行する際のネットワークデバイス管理システムにおける動作の一例を説明するフローチャートである。 本発明の実施形態を示し、SNMP V1パケットの構成の一例を示す図である。 本発明の実施形態を示し、周期的に繰り返し実行される周期実行タスクのリカバリタスクを生成する際のデバイス管理プログラムにおける動作の一例を説明するフローチャートである。 本発明の実施形態を示し、登録タスクリスト画面の一例を示す図である。 本発明の実施形態を示し、実行タスクリスト画面の一例を示す図である。 本発明の実施形態を示し、実行タスク詳細表示画面の一例を示す図である。 本発明の実施形態を示し、個別デバイス詳細表示画面の一例を示す図である。 本発明の実施形態を示し、タスク実行時にデバイス管理プログラムによって生成されるデータテーブルの一例を示す図である。 本発明の実施形態を示し、セキュリティモードのデバイスの仕様の一例を示した図である。
符号の説明
100 LAN
110 ネットワークデバイス管理サーバ
111 ネットワークデバイス管理プログラム
112 WWWサーバプログラム
120 クライアントPC
121 WWWブラウザプログラム
130 プリンタ
140 複合機能デバイス

Claims (9)

  1. デバイスと通信し、対象デバイスに対して遠隔操作を行うためのタスクを実行するタスク実行装置であって、
    複数のタスクを実行する実行手段と、
    前記実行手段による実行に失敗したタスクを、前記実行手段により再実行するためのリカバリのためのタスクを生成する生成手段と、
    前記実行手段によるタスクの実行が失敗した際に、当該失敗した要因を取得する取得手段と、
    前記実行手段によるタスクの実行が失敗した際に、前記取得手段により取得された要因に基づく表示を行うための表示制御手段と
    し、
    前記取得手段は、実行に失敗した前記タスクの対象デバイスがセキュリティモードに対応しているか否かと、非セキュリティモードによる当該対象デバイスに対する情報の読み出しと書き出しの成否とに基づき判断される要因を取得することを特徴とするタスク実行装置。
  2. 前記生成手段は、前記実行手段による実行に失敗したタスクが周期的に繰り返し実行されるタスクである場合には、当該周期的に繰り返し実行されるタスクの最新の実行結果に基づいて、前記リカバリのためのタスクを生成することを特徴とする請求項1に記載のタスク実行装置。
  3. 前記生成手段は、前記リカバリのためのタスクを生成する際に、タスクの対象デバイスに未実装のパラメータを遠隔操作のために使用しないようにすることを特徴とする請求項1又は2に記載のタスク実行装置。
  4. 前記取得手段は、実行に失敗した前記タスクの対象デバイスがセキュリティモードに対応しており、かつ、非セキュリティモードによる当該対象デバイスに対する情報の書き出しに失敗した場合に、当該対象デバイスのセキュリティレベルによる失敗である旨を示す要因を取得することを特徴とする請求項1乃至3のいずれか1項に記載のタスク実行装置。
  5. デバイスと通信し、対象デバイスに対して遠隔操作を行うためのタスクを実行するタスク実行方法であって、
    複数のタスクをタスク実行装置が有する実行手段により実行する実行ステップと、
    前記実行ステップによる実行に失敗したタスクを、前記実行ステップにより再実行するためのリカバリのためのタスクをタスク実行装置が有する生成手段により生成する生成ステップと、
    前記実行ステップによるタスクの実行が失敗した際に、当該失敗した要因をタスク実行装置が有する取得手段により取得する取得ステップと、
    前記実行ステップによるタスクの実行が失敗した際に、前記取得ステップにより取得された要因に基づく表示を行うための表示制御をタスク実行装置が有する表示制御手段により実行する表示制御ステップと
    し、
    前記取得ステップは、実行に失敗した前記タスクの対象デバイスがセキュリティモードに対応しているか否かと、非セキュリティモードによる当該対象デバイスに対する情報の読み出しと書き出しの成否とに基づき判断される要因を取得することを特徴とするタスク実行方法。
  6. 前記生成ステップは、前記実行ステップによる実行に失敗したタスクが周期的に繰り返し実行されるタスクである場合には、当該周期的に繰り返し実行されるタスクの最新の実行結果に基づいて、前記リカバリのためのタスクを生成することを特徴とする請求項に記載のタスク実行方法。
  7. 前記生成ステップは、前記リカバリのためのタスクを生成する際に、タスクの対象デバイスに未実装のパラメータを遠隔操作のために使用しないようにすることを特徴とする請求項5又は6に記載のタスク実行方法。
  8. 前記取得ステップは、実行に失敗した前記タスクの対象デバイスがセキュリティモードに対応しており、かつ、非セキュリティモードによる当該対象デバイスに対する情報の書き出しに失敗した場合に、当該対象デバイスのセキュリティレベルによる失敗である旨を示す要因を取得することを特徴とする請求項5乃至7のいずれか1項に記載のタスク実行方法。
  9. 請求項乃至のいずれか1項に記載のタスク実行方法ステップをコンピュータに実行させることを特徴とするコンピュータプログラム。
JP2007333061A 2007-12-25 2007-12-25 タスク実行装置、タスク実行方法、及びコンピュータプログラム Expired - Fee Related JP5235402B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007333061A JP5235402B2 (ja) 2007-12-25 2007-12-25 タスク実行装置、タスク実行方法、及びコンピュータプログラム
US12/276,538 US8145946B2 (en) 2007-12-25 2008-11-24 Task execution apparatus, task execution method, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007333061A JP5235402B2 (ja) 2007-12-25 2007-12-25 タスク実行装置、タスク実行方法、及びコンピュータプログラム

Publications (3)

Publication Number Publication Date
JP2009157509A JP2009157509A (ja) 2009-07-16
JP2009157509A5 JP2009157509A5 (ja) 2011-02-03
JP5235402B2 true JP5235402B2 (ja) 2013-07-10

Family

ID=40790230

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007333061A Expired - Fee Related JP5235402B2 (ja) 2007-12-25 2007-12-25 タスク実行装置、タスク実行方法、及びコンピュータプログラム

Country Status (2)

Country Link
US (1) US8145946B2 (ja)
JP (1) JP5235402B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8887010B2 (en) * 2011-12-20 2014-11-11 Business Objects Software Ltd. Application information specifiable by users and third parties
JP6335607B2 (ja) 2014-04-21 2018-05-30 キヤノン株式会社 通信システム、画像処理装置、画像処理装置の制御方法、及びプログラム
US20170091016A1 (en) * 2015-09-30 2017-03-30 Sap Portals Israel Ltd Continual execution in a computing system
US10075612B2 (en) * 2017-01-06 2018-09-11 Ricoh Company, Ltd. System for modifying a set of application services on multi-function print devices
US10425548B2 (en) 2017-01-06 2019-09-24 Ricoh Company, Ltd. System for modifying a set of application services on multi-function print devices
CN108182108A (zh) * 2017-12-19 2018-06-19 山东浪潮商用系统有限公司 一种定时任务集群及其执行方法
JP7208086B2 (ja) * 2018-08-29 2023-01-18 キヤノン株式会社 管理システム、方法、及び、プログラム
JP7397394B2 (ja) * 2019-02-22 2023-12-13 ブラザー工業株式会社 情報処理プログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03188528A (ja) * 1989-09-27 1991-08-16 Hitachi Ltd ジョブ実行管理方法およびシステム
JPH04148341A (ja) * 1990-10-11 1992-05-21 Fujitsu Ltd タスクリカバリ方式
JP2000196665A (ja) * 1998-12-24 2000-07-14 Canon Inc ネットワークデバイス制御装置及び方法
US20030061318A1 (en) * 2001-09-27 2003-03-27 International Business Machines Corporation Apparatus and method of ascertaining remote systems accessibility before running remote commands
JP2007058679A (ja) * 2005-08-25 2007-03-08 Oki Electric Ind Co Ltd プロセス管理システム、プロセス管理方法及び冗長システム

Also Published As

Publication number Publication date
US8145946B2 (en) 2012-03-27
US20090165005A1 (en) 2009-06-25
JP2009157509A (ja) 2009-07-16

Similar Documents

Publication Publication Date Title
JP5235402B2 (ja) タスク実行装置、タスク実行方法、及びコンピュータプログラム
US6253204B1 (en) Restoring broken links utilizing a spider process
JP4313432B2 (ja) ファイルのコピーおよび更新
JP5285353B2 (ja) 複数のサービス構成要素に対応するアクションの実行を管理するためのコンピュータ・システム、並びにその方法及びコンピュータ・プログラム
JP5263696B2 (ja) ソフトウェア構成要素をバックアップするためのコンピュータ・システム、並びにその方法及びコンピュータ・プログラム
US20150319247A1 (en) Mesh-managing data across a distributed set of devices
JP4437432B2 (ja) 計算機システム
US20100115520A1 (en) Computer system, method, and computer program product for managing batch job
JP2008123518A (ja) 実行コードを配備する遠隔配信/インストール・ユーティリティ及び関連する方法
US20090150799A1 (en) Delegation of data entry tasks
JP2018041146A (ja) 管理装置、制御方法、プログラム
JP2015114895A (ja) 管理装置、その方法及びプログラム
WO2000063801A1 (en) Managed remote virtual mass storage for client data terminal
WO2006094160A9 (en) System and method for backing up open files of a source control management repository
US20060059118A1 (en) Apparatus, system, and method for associating resources using a behavior based algorithm
JP5239072B2 (ja) 構成要素を管理するためのコンピュータ・システム、並びにその方法及びコンピュータ・プログラム
JP2010015267A (ja) ソフトウェア配信システム、ソフトウェア配信方法、及びコンピュータプログラム
US20060026227A1 (en) Agent administration console software for servicing failed requests
JP5341604B2 (ja) ユーザログ収集装置、及びユーザログ管理システム
JP2002366325A (ja) 分散環境における動的作成装置の表示方法
JP2005332025A (ja) 中断シナリオの生成方法、サーバ装置及びそのプログラム
JP4912288B2 (ja) 管理装置及び情報処理方法
JP6905111B2 (ja) 管理装置と情報処理装置とを含むシステム、情報処理装置、それらの制御方法、及びプログラム
US7730454B1 (en) Lotus notes to clearquest bridge
JP2005108115A (ja) ネットワークデバイス管理装置、ネットワークデバイス管理システム、ネットワークデバイス管理方法、その記録媒体およびそのプログラム

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101214

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101214

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121019

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121106

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130129

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130204

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130226

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130326

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160405

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees