JP5235402B2 - タスク実行装置、タスク実行方法、及びコンピュータプログラム - Google Patents
タスク実行装置、タスク実行方法、及びコンピュータプログラム Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/079—Root cause analysis, i.e. error or fault diagnosis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0706—Error 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/0733—Error 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0706—Error 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/0748—Error 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0793—Remedial or corrective actions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1443—Transmit 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
このようなネットワーク環境では、ホストコンピュータからの要求を一括して処理するために、サーバと呼ばれるコンピュータが設置される。例えばプリンタの場合、複数のホストコンピュータからの印刷要求を一括して管理するためにプリンタサーバが設けられる。プリンタサーバは、複数のプリンタが共有するサービスを提供するコンピュータであり、クライアントからの要求に応じてプリンタの動作の設定や変更を行う機能を有するものである。
ネットワークデバイス管理プログラムの一例としては、ユーザが操作するコンピュータ上で稼動し、画面上からプリンタの操作パネルを確認したり、プリンタの障害発生時にユーザに通知したりするようなソフトウェアが挙げられる。
このようなWWWシステムに基づいたネットワークデバイス管理プログラムでは、多数の管理対象デバイスから一括して情報を取得する機能や、多数のデバイスに対して一括して情報を配信する機能を持つものが一般的である。
また、複数デバイスに対して一括して情報を配信する機能を有するネットワークデバイス管理プログラムでは、一部のデバイスに対する処理が失敗した場合、任意のタイミングで処理を再実行することが一般的である。
まず、従来のネットワークデバイス管理プログラムでは、任意の複数のデバイスを選択することが可能であるため、機種に依存した情報をデバイスに配信してしまう場合があった。このような場合、自機種に対応しない情報が配信されると、デバイスは、再実行した処理についても必ず失敗してしまうことになる。
尚、本実施形態では、情報の配信又は取得のターゲットとなるターゲットデバイスと、デバイスに配信する(又はデバイスから取得する)情報と、実行スケジュールとを含んで構成される処理の単位をタスクと称する。また、タスクの処理に失敗したターゲットデバイスに対する再実行のためのタスクをリカバリタスクと称する。
図1において、ローカルエリアネットワーク(LAN)100には、ネットワークデバイス管理サーバ110と、クライアントPC120と、プリンタ130と、複合機能デバイス140とが接続されている。デバイス管理サーバ110は、タスク実行装置の好適な一例である。デバイス管理サーバ110は、デバイスの一例であるプリンタ130と通信する。デバイス管理サーバ110は、様々なタスクを実行することにより、プリンタ130に対してネットワークを介した遠隔操作を行う。
ネットワークデバイス管理サーバ110には、ネットワークデバイス管理プログラム111とWWWサーバプログラム112とがインストールされており、クライアントPC120には、WWWブラウザプログラム121がインストールされている。
ネットワークデバイス管理プログラム111と、プリンタ130及び複合機能デバイス140との間では、SNMP(Simple Network Management Protocol)を利用して通信が行われるものとする。一方、クライアントPC120にインストールされているWWWブラウザプログラム121とネットワークデバイス管理プログラム111との間では、HTTP(HyperText Transfer Protocol)を利用して通信が行われるものとする。尚、以下の説明では、ネットワークデバイス管理サーバ110を、デバイス管理サーバ110と称し、ネットワークデバイス管理プログラム111をデバイス管理プログラム111と略称する。更に、プリンタ130と複合機能デバイス140とを必要に応じてデバイスと総称する。
デバイス管理サーバ110は、ROM201若しくはハードディスク(HD)210に記憶されたデバイス管理プログラム111を実行するCPU200を備える。CPU200は、システムバス203に接続された各デバイスを総括的に制御する。
RAM202は、CPU200の主メモリやワークエリア等として機能する。
ディスクコントローラ(DKC)206は、ハードディスク(HD)210、フレキシブルディスクコントローラ(FD)211、及びCD−ROMドライブ(CD)212とのアクセスを制御する。
ネットワークインタフェースカード(NIC)207は、LAN100を介して、クライアントPC120、或いはプリンタ130や複合機能デバイス140と双方向にデータを授受する。
また、後述する全ての説明において、特に断りのない限り、ハードウェア上の実行の主体はCPU200である。一方、ソフトウェア上の制御の主体は、ハードディスク(HD)210に格納されたデバイス管理プログラム111である。尚、OS(Operating System)は、例えば、ウィンドウズ(登録商標)を想定しているが、OSはこれに限るものではない。
また、ネットワークデバイス管理プログラム111は、CD−ROM等の記憶媒体に格納された形で供給されても良い。その場合に、ネットワークデバイス管理プログラム111は、CD−ROMドライブ212等によってCD−ROM等の記憶媒体から読み取られ、ハードディスク(HD)210にインストールされる。
図3において、デバイス管理プログラム111は、WWWサーバプログラム112上で稼動し、クライアントPC120上のWWWブラウザプログラム121とHTTPを利用して通信を行う。一方、デバイス管理プログラム111と、プリンタ130及び複合機能デバイス140とはSNMPを利用して通信する。
タスク管理モジュール302は、タスクの登録、編集、削除等の制御と、タスクの状態の管理を行うためのモジュールである。また、タスク管理モジュール302は、登録タスクリストモジュール303によって登録されているタスクの一覧表示を行う。更に、タスク管理モジュール302は、実行タスクリストモジュール304によって実行されているタスクの実行状態の一覧表示を行う。
ユーザ管理モジュール310は、デバイス管理プログラム111にアクセスすることが可能なユーザの登録、編集、及び削除を行うためのモジュールである。
SNMPモジュール311は、デバイス管理モジュール305やデバイス探索モジュール308の指示によるSNMPコマンドの送信と、デバイスからのSNMPによるレスポンスの受信を行うためモジュールである。
データベース312には、各種のタスク情報と、ユーザ情報と、デバイス管理プログラム111が動作するために必要なシステム情報等が格納される。尚、タスクの作成時、及びタスクの実行時に作成するデータテーブルに関する情報の詳細については後述する。
まず、ステップS400において、デバイス管理モジュール305は、ユーザの操作に基づいて、生成するタスクのタイプを決定して、ステップS401に移行する。
本実施形態では、ユーザは、デバイスに情報を配信するタスク(以下、デバイス設定配信タスクと称する)と、デバイスから情報を取得するタスク(以下、デバイス設定取得タスクと称する)との何れか一方を選択することが可能である。
尚、ステップS400においてデバイス設定配信タスクが、生成するタスクとして決定された場合、デバイス管理モジュール305を介して、デバイス設定配信モジュール307においてタスクの生成が行われる。一方、ステップS400においてデバイス設定取得タスクが生成するタスクとして決定された場合、デバイス管理モジュール305を介して、デバイス設定取得モジュール306においてタスクの生成が行われる。
図5は、デバイス選択画面の一例を示す図である。このデバイス選択画面は、図4のステップS401においてデバイスを選択するためのものであり、デバイス管理プログラム111の動作によって表示される。
図5において、ターゲットデバイスリスト表示部600には、デバイス探索モジュール308によって探索され、データベース312に格納されている選択対象のデバイスの情報が一覧表示される。
ターゲットデバイスリスト表示部600には、選択対象のデバイスの名称であるデバイス名と、製品名と、IPアドレスと、MACアドレスと、デバイスの情報の更新日時とが表示される。ユーザは、デバイス選択チェックボックス601をチェックすることによって任意の複数のデバイスを選択することができる。
次に、ステップS404において、デバイス設定配信モジュール307は、デバイスに配信する情報の編集を行い、ステップS406に移行する。
図6おいて、配信情報入力部700には、デバイス名、設置場所、管理者名、管理者連絡先、管理者コメント、サービス担当者名、サービス担当者連絡先、サービス担当者コメント等、デバイスに配信する情報を入力することが可能である。尚、デバイス設定編集画面では、ユーザが情報選択チェックボックス701をチェックすることによって配信する情報を選択することが可能である。
図7において、タスク設定入力部800には、タスクの名称として任意の文字列が設定可能である。また、タスク設定入力部800には、タスクに対するコメントを入力できる。
スケジュール設定部801には、タスクを実行する実行スケジュールを設定することができる。本実施形態では、デバイス管理プログラム111は、実行スケジュールとして、予め決められた日時だけでなく登録したタスクを繰り返し実行する周期実行の設定も可能である。
実行結果通知先入力部802には、タスクの終了を通知する電子メールアドレスを入力することができる。本実施形態では、デバイス管理プログラム111は、タスクの終了時に実行結果通知先入力部802で指定した宛先に対してタスクの実行結果を通知することができる。
図8(a)は、ユーザ管理モジュール310によって生成されるユーザ管理テーブルの一例を示す図である。ユーザ管理テーブルは、ユーザID500とユーザ名501とから構成される。ユーザ名501はユーザによって入力される任意の文字列であり、ユーザID500はユーザ管理モジュール310によって割り当てられる識別子である。
図8(b)は、登録タスクテーブルの一例を示す図である。登録タスクテーブルは、デバイス設定取得モジュール306やデバイス設定配信モジュール307によって生成されるUI(User Interface)に対してユーザが行う操作に基づいて生成される。
ユーザID504には、図8(a)に示すユーザ管理テーブルに登録されているユーザID500の中から、タスクを生成したユーザのユーザIDが登録される。
タスクタイプ505には、生成したタスクのタイプに応じた識別子(デバイス設定配信(=1)、デバイス設定取得(=2)等)が設定される。
データ510、511は、図6に示したデバイス設定編集画面において入力され、タスクを実行することによりデバイスに設定される値が登録される。尚、デバイスから設定を取得するタスクの場合、このデータ510、511の値にはNULLが登録される。
ターゲットデバイス管理テーブルにおいて、タスクID512は、図8(b)に示す登録タスクテーブルに登録されているタスクID503と同意のものである。
デバイスID513は、デバイスの識別子であり、図5に示すデバイス選択画面においてタスク作成時に選択されたデバイスを識別するためのものである。尚、図8(c)に示す例では、例えば、「01」のタスクIDが割り当てられたタスクのターゲットデバイスとしてデバイスIDが「1000」、「1001」によって識別されるデバイスが選択されたことになる。すなわち、デバイスIDが「1000」、「1001」によって識別されるデバイスに対して一括してタスクが実行される。
まず、ステップS900において、デバイス管理モジュール305は、ユーザによる操作に基づいて、リカバリの対象となるタスクを決定し、ステップS901に移行する。具体的に説明すると、図16に示す実行タスクリスト画面において任意のタスクの[リカバリ>>]リンクがユーザによって押下されることによりリカバリの対象となるタスクが選択され、ステップS901に移行する。図16の詳細については後述する。
ステップS902に進むと、デバイス管理モジュール305は、ステップS900で決定され、ステップS901で周期実行タスクであると判定されたタスクの実行結果が最新の周期実行タスクの結果であるか否かを判定する。
ステップS903に進むと、デバイス管理モジュール305は、ステップS900で決定したタスクの最も新しい周期実行の結果を参照して、ステップS904に移行する。
ステップS904に進むと、デバイス管理モジュール305は、ステップS900で決定したタスクの実行結果、又はステップS903で参照したタスクの実行結果を参照し、タスクの処理に失敗したデバイスの台数(n台)を検出して記憶する。
次に、ステップS907において、デバイス管理モジュール305は、インデックスiが、タスクの処理に失敗したバイスの数nよりも小さいか否かを判定する。この判定の結果、インデックスiが、タスクの処理に失敗したバイスの数nよりも小さい場合(YESの場合)には、ステップS908に移行する。一方、インデックスiが、タスクの処理に失敗したバイスの数n以上である場合(NOの場合)には、図9のフローチャートによる処理を終了する。
次に、ステップS909において、デバイス管理モジュール305は、リカバリの対象となるタスクのタイプがデバイスに情報を配信するタスクであるか否かを判定する。この判定の結果、リカバリの対象となるタスクのタイプがデバイスに情報を配信するタスクである場合には、ステップS910に移行する。一方、リカバリの対象となるタスクのタイプがデバイスに情報を配信するタスク以外の場合にはステップS911に移行する。
次に、ステップS910において、デバイス管理モジュール305は、デバイスがセキュリティモードに対応している場合の処理を行う。このステップS910の詳細については、図11を用いて後述する。
次に、ステップS911において、デバイス管理モジュール305は、インデックスiをインクリメントしてステップS907に戻る。
まず、ステップS1000において、デバイス管理モジュール305は、全体制御モジュール300を介してデータベース312に格納されたタスク単位の実行結果を参照する。
次に、ステップS1001において、デバイス管理モジュール305は、ステップS1000で参照したタスクの実行結果が成功であるか否かを判定する。この判定の結果、ステップS1000で参照したタスクの実行結果が成功である場合(YESの場合)には、図10のフローチャートによる処理を終了する。一方、ステップS1000で参照したタスクの実行結果が失敗である場合(NOの場合)には、ステップS1002に移行する。
次に、ステップS1003において、デバイス管理モジュール305は、タスクの処理に失敗したデバイスの数をカウントするためのインデックスiを0で初期化する。
次に、ステップS1004において、デバイス管理モジュール305は、インデックスiが、タスクの処理に失敗したデバイスの数(n台)以下であるか否かを判定する。この判定の結果、インデックスiが、タスクの処理に失敗したデバイスの数(n台)以下である場合(YESの場合)にはステップS1005に移行する。一方、インデックスiが、タスクの処理に失敗したデバイスの数(n台)よりも大きい場合(NOの場合)には、図10のフローチャートによる処理を終了する。
次に、ステップS1006において、デバイス管理モジュール305は、配信に失敗した情報をカウントするためのインデックスjを0で初期化する。
次に、ステップS1007において、デバイス管理モジュール305は、インデックスjが、配信に失敗した情報の数l個以下であるか否かを判定する。この判定の結果、インデックスjが、配信に失敗した情報の数l個以下である場合(YESの場合)にはステップS1009に移行する。一方、インデックスjが、配信に失敗した情報の数l個よりも大きい場合(NOの場合)にはステップS1008に移行する。
一方、ステップS1009に進むと、デバイス管理モジュール305は、j番目の情報における"配信に失敗した要因(未配信の要因)"を、例えば、後述する図19(b)のタスク実行結果管理テーブルを参照して確認する。
次に、ステップS1010において、デバイス管理モジュール305は、ステップS1009における確認の結果に基づいて、j番目の情報が、デバイスに実装されていない情報であるか否か(リカバリが可能であるか否か)を判定する。
尚、情報がデバイスに実装されているかどうかを判定する手段としては、例えば、図14を用いて後述するSNMP V1パケットのエラーステータスのフィールド1402を参照することにより可能である。すなわち、情報の配信のレスポンスとしてデバイスから受け取るSNMP V1パケットのエラーステータスのフィールド1402にNoSuchNameが設定されていた場合は情報がデバイスに実装されていないと判断できる。
一方、ステップS1012に進むと、デバイス管理モジュール305は、ステップS1010でデバイスに実装していないと判断した情報をリカバリタスクの対象外とする。
次に、ステップS1013において、デバイス管理モジュール305は、配信に失敗した情報をカウントするためのインデックスjをインクリメントして、ステップ1007に戻る。
尚、本実施形態においては、セキュリティモードに対応したデバイスの製品名の一覧が、データベース312に予め保存されているものとする。
次に、ステップS1101において、デバイス管理モジュール305は、タスクの処理に失敗したデバイスの数をカウントするためのインデックスiを0で初期化する。
次に、ステップS1102において、デバイス管理モジュール305は、インデックスiが、タスクの処理に失敗したデバイスの数(n台)以下であるか否かを判定する。この判定の結果、インデックスiが、タスクの処理に失敗したデバイスの数(n台)以下である場合(YESの場合)には、ステップS1103に移行する。一方、インデックスiが、タスクの処理に失敗したデバイスの数(n台)よりも大きい場合には、図11のフローチャートによる処理を終了する。
次に、ステップS1104において、デバイス管理モジュール305は、i番目のデバイスがセキュリティモードに対応しているか否かを判断するために、データベース312に格納されているセキュリティモードに対応した製品名の一覧を参照する。
次に、ステップS1105において、デバイス管理モジュール305は、i番目のデバイスがセキュリティモードに対応しているか否かを判定する。具体的にデバイス管理モジュール305は、例えば、ステップS1103で取得した製品名が、ステップS1104で参照した"セキュリティモードに対応した製品名の一覧"に含まれているか否かを確認する。
ステップS1106に進むと、デバイス管理モジュール305は、i番目のデバイスにセキュリティモード属性を割り当ててステップS1107に移行する。尚、セキュリティモード属性とは、デバイスがセキュリティモードに対応していることを示す属性である。
ステップS1107に進むと、デバイス管理モジュール305は、インデックスiをインクリメントし、ステップS1102に戻る。
図20は、セキュリティモードのデバイスの仕様の一例を示した図である。
ネットワーク機器の遠隔操作及び管理を行うネットワーク管理プロトコルには、SNMPV1とSNMPV3とがある。本実施形態では、SNMPV3をセキュリティモードであると規定する。
それぞれのセキュリティレベルにおいて、SNMPV1及びSNMPV3のそれぞれのプロトコルで出来る操作が定義されている。セキュリティレベルが高い場合は、SNMPV1でのデバイス管理サーバからデバイスへの操作を完全に禁止し、SNMPV3でのデバイス管理サーバからデバイスへのMIBの読み書きを許す。セキュリティレベルが中位であれば、SNMPV1でのデバイスからのMIBの読み出しを許可し、SNMPV3での読み書きを許可する。セキュリティレベルが低い場合には、SNMPV1及びSNMPV3でのデバイスへのMIBの読み書きを許可する。このように、デバイスは、様々なセキュリティレベルに設定されうる。
次に、ステップS1201において、タスク管理モジュール302は、ステップS1200における参照の結果に基づいて、対象となる情報を配信するデバイスがセキュリティモードに対応しているか否かを判定する。
この判定の結果、対象となる情報を配信するデバイスがセキュリティモードに対応している場合(Yesの場合)には、ステップS1202に移行する。一方、対象となる情報を配信するデバイスがセキュリティモードに対応していない場合には、後述するステップS1208に移行する。
次に、ステップS1203において、デバイスは、ステップS1202で送信されたGetRequestパケットを受信する。
次に、ステップS1204において、デバイスは、GetRequestパケットに応答するため、指定されたMIB(Management Information Base)オブジェクトの値をデバイス管理サーバ110に通知する。この通知は、GetResponseパケットをデバイス管理サーバ110に送信することにより行われる。
次に、ステップS1206において、SNMPモジュール311は、ステップS1205で受信したGetResponseパケットを解析し、エラーステータスのフィールドを確認する。この確認により、デバイスから情報を正常に受信できたかどうかの判定が行われる。
図13において、フィールド1400には、PDU(Protocol Data Unit)タイプに応じた値が設定される。
GetRequestの場合には「0」が、GetNextRequestの場合には「1」が、GetResponseの場合には「2」が、SetRequestの場合には「3」が、このフィールド1400に設定される。
フィールド1402には、エラーステータスが格納される。SNMP V1の場合、エラーステータスとして、5つのステータスが定義されている。このうち、NoSuchNameは、要求されたMIBの情報がデバイスに実装されていない場合の応答であり、本実施形態では、該当する情報がデバイスに実装されているか否かを判定するために用いられる。
フィールド1403には、エラー位置番号が格納される。エラー位置番号とは、エラーが発生したMIBオブジェクトを特定するための情報である。
フィールド1404には、管理情報が格納される。このフィールド1404には、MIBオブジェクトとその値とが複数格納される。
ステップS1207に進むと、タスク管理モジュール302は、ステップS1206における検出結果に応じたエラー情報をデータベース312に格納し、図12のフローチャートによる処理を終了する。
次に、ステップS1209において、デバイスは、ステップS1208で送信されたSetRequestパケットを受信する。
次に、ステップS1210において、デバイスは、ステップS1209で受信したSetRequestパケットに対するGetResponseパケットをデバイス管理サーバ110に送信する。
次に、ステップS1212では、SNMPモジュール311は、ステップS1211で受信したGetResponseパケットのエラーステータスのフィールド1402を確認する。この確認により、デバイスへの情報の配信に成功したか否かを判定する。この判定の結果、情報の配信に失敗した場合(NOの場合)には、ステップ1215に移行する。
尚、前述したSetRequest、及び、GetRequest等のコマンドは全て、非セキュリティモード(SNMPV1)にて送信されるものとする。
すなわち、実行したタスクの操作対象となるデバイスが以下の場合には、実行したタスクはセキュリティ上の原因で失敗したと判定することになる。すなわち、セキュリティモードに対応しており、尚且つ非セキュリティモードにおける設定値であるMIBの書き込みは失敗し、尚且つ非セキュリティモードにおけるMIBの読み出しが成功したら、実行したタスクはセキュリティ上の原因で失敗したと判定される。
一方、ステップS1212において情報の配信に成功した場合(YESの場合)には、ステップS1214に移行する。
一方、ステップS1214に進むと、タスク管理モジュール302は、情報の配信が成功したと判断し、情報の配信が成功したことを、タスクの実行結果としてデータベース312に記録し、図12のフローチャートによる処理を終了する。
尚、ステップS1213、S1214における判断の結果は、データベース312に格納され、後述する図18に示す個別デバイス詳細表示画面のサブウィンドウのタスク実行結果表示領域1800に表示されるメッセージに反映される。
次に、ステップS1301において、タスク管理モジュール302は、ステップS1300で参照した実行スケジュールに基づいて、リカバリの対象となるタスクが周期実行タスクであるか否かを判定する。この判定の結果、リカバリの対象となるタスクが周期実行タスクである場合(YESの場合)にはステップS1302に移行する。一方、リカバリの対象となるタスクが周期実行タスクでない場合(NOの場合)には、図14のフローチャートによる処理を終了する。
次に、ステップS1303において、タスク管理モジュール302は、ステップS1302で検出した各周期の実行結果の完了時刻を比較し、最新の実行結果を検出する。
次に、ステップS1304において、タスク管理モジュール302は、タスクの実行結果を参照することで、タスクの処理に失敗したターゲットデバイスがあるか否かを判定する。この判定の結果、タスクの処理に失敗したターゲットデバイスがある場合(YESの場合)には、ステップS1305に移行する。一方、タスクの処理に失敗したターゲットデバイスがない場合(NOの場合)には、図14のフローチャートによる処理を終了する。
ステップS1305に進むと、タスク管理モジュール302は、周期実行タスクの最新の実行結果に基づいてリカバリタスクを生成し、図14のフローチャートによる処理を終了する。
図15において、登録タスク情報リスト表示部1500には、デバイス管理モジュール305やデバイス探索モジュール308などにより生成され、データベース312に格納されている登録済みの全てのタスク情報が一覧表示される。
タスク名表示部1501には、図7に示したタスク登録設定画面のタスク設定入力部800に入力されたタスクの名称が表示される。タスク名表示部1501には、[編集>>]リンクが表示され、このリンクがユーザによって押下されることにより、図5に示したデバイス選択画面が表示される。尚、[編集>>]リンクの押下により表示されたデバイス選択画面の初期状態では、タスク作成時に選択したデバイスが選択済みとなっている。
登録者表示部1503には、ユーザ管理モジュール310によって管理されているユーザのうち、タスクを作成したユーザの名称が表示される。
実行日時表示部1504には、スケジューラモジュール301によってタスクが起動された日時、又は、タスクが起動される予定の日時が表示される。
実行状態表示部1505には、タスクの登録状態に応じて「実行待ち」、「実行済み」、「一時停止中」等が表示される。
図16において、実行タスク情報リスト表示部1600には、デバイス設定取得モジュール306やデバイス設定配信モジュール307等により生成されたタスクのうち、実行済み、又は実行中のタスクが一覧表示される。
タスク名表示部1601には、図7に示したタスク登録設定画面のタスク設定入力部800において入力されたタスクの名称が表示される。
[リカバリ>>]リンクの押下により表示されたデバイス選択画面では、タスクの実行に失敗したデバイスのうち、図9に示した処理を経て、リカバリの対象となったデバイスが初期状態で選択済みとなっている。
登録者表示部1604には、ユーザ管理モジュール310によって管理されているユーザのうち、タスクを作成したユーザの名称が表示される。
実行日時表示部1605には、スケジューラモジュール301によってタスクが起動された日時が表示される。
タスク情報表示部1701には、図7に示したタスク登録設定画面のタスク設定入力部800に入力されたタスク名やコメントの他に、タスクの登録者、タスクの開始日時、及び終了日時が表示される。
対象デバイス実行状態表示部1702には、タスクの実行の対象となるデバイスの個別の実行状態が一覧表示される。
対象デバイス実行状態表示部1702では、対象となるデバイスのデバイス名、製品名、設置場所、IPアドレス、MACアドレスの他、デバイス単位のタスクの実行状態をデバイス単位実行状態表示部1703に表示する。このデバイス単位実行状態表示部1703には、デバイス個別のタスクの実行状態として、「未実行」、「実行中」、「正常終了」、「エラー終了」等が表示される。
デバイス単位実行状態表示部1703に表示される"状態を示す文字列"にはリンクが張られており、このリンクがユーザによって押下されることにより、図18に示す個別デバイス詳細表示画面がサブウィンドウにて表示される。
図18において、タスク実行結果表示領域1800には、デバイス単位のタスクの実行結果が表示される。
デバイス情報表示部1801には、デバイスに関する情報が表示される。デバイス情報表示部1801では、デバイス名、製品名、設置場所、IPアドレス、及びMACアドレス等の情報が表示される。
また、図18には示していないが、例えばデバイスから情報を取得する場合には、この個別デバイス詳細表示画面に、詳細な取得情報が表示されるようにする。
図19(a)は、実行タスクテーブルの一例を示す図である。図19(a)の実行タスクテーブルは、デバイス管理モジュール305がタスク管理モジュール302を介して登録したタスクがスケジューラモジュール301により起動されたタイミングで生成される。実行タスクテーブルは、タスクID1900と、実行タスクID1901と、タスク実行結果1902と、タスク開始日時1903と、タスク終了日時1904とから構成される。
タスク実行結果1902には、夫々のタスクの実行結果が登録される。図16に示した実行タスクリスト画面の実行状態表示部1602には、このタスク実行結果1902の内容が表示される。
タスク実行結果管理テーブルにおいて、実行タスクID1905は、図19(a)に示した実行タスクテーブルの実行タスクID1901と同意である。デバイスID1906は、図8に示したターゲットデバイス管理タスクテーブルのデバイスID513と同意である。
デバイス単位実行結果1907には、デバイス単位での実行結果が登録される。図17に示した実行タスク詳細表示画面のデバイス単位実行状態表示部1703には、このデバイス単位実行結果1907の内容が表示される。
データ1908、1910には、タスクを実行することによりデバイスに配信した(又はデバイスから取得した)データが登録される。例えば、デバイスに未実装のデータを配信した場合、データ1908、1910には「未実装」を意味する情報が格納される。
データ単位実行結果1909、1911には、タスクで配信した情報単位で実行結果が登録される。
前述した本発明の実施形態におけるタスク実行装置を構成する各手段、並びにタスク実行方法の各ステップは、コンピュータのRAMやROMなどに記憶されたプログラムが動作することによって実現できる。このプログラム及び前記プログラムを記録したコンピュータ読み取り可能な記録媒体は本発明に含まれる。
110 ネットワークデバイス管理サーバ
111 ネットワークデバイス管理プログラム
112 WWWサーバプログラム
120 クライアントPC
121 WWWブラウザプログラム
130 プリンタ
140 複合機能デバイス
Claims (9)
- デバイスと通信し、対象デバイスに対して遠隔操作を行うためのタスクを実行するタスク実行装置であって、
複数のタスクを実行する実行手段と、
前記実行手段による実行に失敗したタスクを、前記実行手段により再実行するためのリカバリのためのタスクを生成する生成手段と、
前記実行手段によるタスクの実行が失敗した際に、当該失敗した要因を取得する取得手段と、
前記実行手段によるタスクの実行が失敗した際に、前記取得手段により取得された要因に基づく表示を行うための表示制御手段と、
を有し、
前記取得手段は、実行に失敗した前記タスクの対象デバイスがセキュリティモードに対応しているか否かと、非セキュリティモードによる当該対象デバイスに対する情報の読み出しと書き出しの成否とに基づき判断される要因を取得することを特徴とするタスク実行装置。 - 前記生成手段は、前記実行手段による実行に失敗したタスクが周期的に繰り返し実行されるタスクである場合には、当該周期的に繰り返し実行されるタスクの最新の実行結果に基づいて、前記リカバリのためのタスクを生成することを特徴とする請求項1に記載のタスク実行装置。
- 前記生成手段は、前記リカバリのためのタスクを生成する際に、タスクの対象デバイスに未実装のパラメータを遠隔操作のために使用しないようにすることを特徴とする請求項1又は2に記載のタスク実行装置。
- 前記取得手段は、実行に失敗した前記タスクの対象デバイスがセキュリティモードに対応しており、かつ、非セキュリティモードによる当該対象デバイスに対する情報の書き出しに失敗した場合に、当該対象デバイスのセキュリティレベルによる失敗である旨を示す要因を取得することを特徴とする請求項1乃至3のいずれか1項に記載のタスク実行装置。
- デバイスと通信し、対象デバイスに対して遠隔操作を行うためのタスクを実行するタスク実行方法であって、
複数のタスクをタスク実行装置が有する実行手段により実行する実行ステップと、
前記実行ステップによる実行に失敗したタスクを、前記実行ステップにより再実行するためのリカバリのためのタスクをタスク実行装置が有する生成手段により生成する生成ステップと、
前記実行ステップによるタスクの実行が失敗した際に、当該失敗した要因をタスク実行装置が有する取得手段により取得する取得ステップと、
前記実行ステップによるタスクの実行が失敗した際に、前記取得ステップにより取得された要因に基づく表示を行うための表示制御をタスク実行装置が有する表示制御手段により実行する表示制御ステップと、
を有し、
前記取得ステップは、実行に失敗した前記タスクの対象デバイスがセキュリティモードに対応しているか否かと、非セキュリティモードによる当該対象デバイスに対する情報の読み出しと書き出しの成否とに基づき判断される要因を取得することを特徴とするタスク実行方法。 - 前記生成ステップは、前記実行ステップによる実行に失敗したタスクが周期的に繰り返し実行されるタスクである場合には、当該周期的に繰り返し実行されるタスクの最新の実行結果に基づいて、前記リカバリのためのタスクを生成することを特徴とする請求項5に記載のタスク実行方法。
- 前記生成ステップは、前記リカバリのためのタスクを生成する際に、タスクの対象デバイスに未実装のパラメータを遠隔操作のために使用しないようにすることを特徴とする請求項5又は6に記載のタスク実行方法。
- 前記取得ステップは、実行に失敗した前記タスクの対象デバイスがセキュリティモードに対応しており、かつ、非セキュリティモードによる当該対象デバイスに対する情報の書き出しに失敗した場合に、当該対象デバイスのセキュリティレベルによる失敗である旨を示す要因を取得することを特徴とする請求項5乃至7のいずれか1項に記載のタスク実行方法。
- 請求項5乃至8のいずれか1項に記載のタスク実行方法の各ステップをコンピュータに実行させることを特徴とするコンピュータプログラム。
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)
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)
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 | プロセス管理システム、プロセス管理方法及び冗長システム |
-
2007
- 2007-12-25 JP JP2007333061A patent/JP5235402B2/ja not_active Expired - Fee Related
-
2008
- 2008-11-24 US US12/276,538 patent/US8145946B2/en not_active Expired - Fee Related
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 |