しかしながら、デバイスが、例えば、複数の機能を有する複合機である場合、そのPCには、複合機のプリンタ機能を制御するためのプリンタドライバ、複合機のスキャナ機能を制御するためのスキャナドライバなどのデバイスで実行可能な各機能に対応したドライバ、さらには、画像管理を行うアプリケーションなど、複数種類のアプリケーションがインストールされている場合がある。
制御対象デバイスのIPアドレスの設定は、アプリケーション毎に行われるので、デバイスのIPアドレスを変更した場合、ユーザは、そのデバイスの制御に係る全アプリケーションについて、IPアドレスの設定変更操作を行われなければならない。このように、各種アプリケーションのそれぞれについて、IPアドレスの設定操作を行うのは、ユーザにとって不便であるが、このような課題を解決する具体的手段について、特許文献1には全く開示されていない。
さらに、1つのデバイスが多機能かつ高機能になると、同じデバイスを制御するために、機能毎に異なる複数のアプリケーションを提供する必要が出てくる。併せて、異なる複数のアプリケーションについて、提供時期や開発者を異ならせる必要も出てくる。なぜならば、全ての機能を統合したアプリケーションを提供することは、アプリケーションの構造が複雑となり、仕様決定や開発に手間がかかり、またバージョンアップ時の設計変更が大がかりなものとなるので、現実的ではなくなるからである。
提供時期や開発者が異なると、IPアドレスの設定方法も様々に異ならせる必要が出てくる。例えば、デバイス発売開始時期に開発、提供したアプリケーションに対し、その後に開発されるアプリケーションは、PCで動作するOSの新しいバージョンに対応するために、IPアドレスの設定手順を異ならせる必要が出てくる。また、1つのデバイスに関する複数のアプリケーション全ての仕様を決定したり開発をすることは非常に手間がかかるために、デバイスのベンダーが、アプリケーションの仕様決定や開発を外部に委託する場合、その委託先によって異なる開発方法にあわせ、IPアドレスの設定方法を異ならせる必要が出てくる。
このように、IPアドレスの設定方法が異なる各種アプリケーションのそれぞれについて、IPアドレスの設定操作を行うという課題を解決する具体的手段についても、特許文献1には全く開示されていない。
本発明は、上記問題点を解決するためになされたものであり、識別情報の設定手順がアプリケーション毎に様々に異なる場合であっても、適切な設定手順で識別情報が自動的に設定されることにより、ユーザの手間を軽減することができる管理プログラム、情報処理装置および情報処理システムを提供することを目的としている。
この目的を達成するために、請求項1記載の管理プログラムは、所定の設定手順に従って識別情報を設定し、その設定した識別情報で特定されるデバイスを制御するアプリケーションが、1以上インストールされたコンピュータを、前記識別情報の設定手順に関する手順情報を、前記デバイスを制御するアプリケーションの各々について登録する登録手段と、デバイスの識別情報の変更を検知する変更検知手段と、その変更検知手段により識別情報の変更が検知されたデバイスを制御する1以上のアプリケーションの各々について、前記登録手段により登録された手順情報を取得する手順情報取得手段と、その手順情報取得手段により取得した手順情報に従って、前記デバイスを制御する1以上のアプリケーションの各々について、制御するデバイスを特定するための識別情報を、前記変更検知手段により検知された変更後の識別情報に変更する設定変更手段として機能させることを特徴とする。
請求項2記載の管理プログラムは、請求項1記載の管理プログラムにおいて、前記デバイスは、自らに設定された識別情報を記憶する記憶手段を備え、前記コンピュータは、指令を入力するための入力装置が接続されるものであり、前記変更検知手段は、前記デバイスの記憶手段に記憶された識別情報を変更する指令が、前記入力装置から入力されたことに基づいて、前記識別情報の変更を検知することを特徴とする。
請求項3記載の管理プログラムは、請求項1または2に記載の管理プログラムにおいて、前記デバイスを制御するアプリケーションを検知するアプリケーション検知手段として前記コンピュータを機能させ、前記登録手段は、そのアプリケーション検知手段により検知されたアプリケーションについて、手順情報を登録することを特徴とする。
請求項4記載の管理プログラムは、請求項3記載の管理プログラムにおいて、前記登録手段は、前記アプリケーション検知手段により検知されたアプリケーションに関する手順情報が、前記コンピュータによる読み取りが可能な記憶媒体に予め記憶されている場合、その予め記憶されている手順情報を、前記アプリケーションと対応付けて登録する自動登録手段を含むものであることを特徴とする。
請求項5記載の管理プログラムは、請求項3または4に記載の管理プログラムにおいて、前記コンピュータは、指令を入力するための入力装置が接続されるものであり、前記登録手段は、前記アプリケーション検知手段により検知されたアプリケーションについて、そのアプリケーションが制御するデバイスを特定するための識別情報を設定するために前記入力装置から入力される指令を受け付ける入力受付手段と、その入力受付手段により受け付けた指令に基づいて前記手順情報を作成する手順情報作成手段とを含み、その手順情報作成手段により作成された手順情報を、前記アプリケーションと対応付けて、前記管理メモリに登録するものであることを特徴とする。
請求項6記載の管理プログラムは、請求項5記載の管理プログラムにおいて、前記手順情報作成手段は、前記入力受付手段により受け付けた指令に応じて前記コンピュータで実行された処理を解析する処理解析手段を含み、その処理解析手段による解析の結果、識別情報が記述される設定情報が特定された場合、または識別情報の設定に用いられた関数が特定された場合、その設定情報を特定するための情報、または関数を特定するための手順情報を作成するものであることを特徴とする。
請求項7記載の管理プログラムは、請求項5または6に記載の管理プログラムにおいて、前記設定変更手段は、前記手順情報作成処理により作成された手順情報で示される指令に対応した処理を、前記コンピュータに再現させることにより、識別情報を変更するものであることを特徴とする。
請求項8記載の情報処理装置は、所定の設定手順に従って識別情報を設定し、その設定した識別情報で特定されるデバイスを制御するアプリケーションが、1以上インストールされたものであって、前記識別情報の設定手順に関する手順情報を、前記デバイスを制御するアプリケーションの各々について登録する登録手段と、デバイスの識別情報の変更を検知する変更検知手段と、その変更検知手段により識別情報の変更が検知されたデバイスを制御する1以上のアプリケーションの各々について、前記登録手段により登録された手順情報を取得する手順情報取得手段と、その手順情報取得手段により取得した手順情報に従って、前記デバイスを制御する1以上のアプリケーションの各々について、参照対象の識別情報を、前記変更検知手段により検知された変更後の識別情報に変更する設定変更手段とを備えることを特徴とする。
請求項9記載の情報処理システムは、所定の設定手順に従って識別情報を設定し、その設定した識別情報で特定されるデバイスを制御するアプリケーションが、1以上インストールされた情報処理装置と、前記識別情報で特定されるデバイスとを含む情報処理システムであって、前記識別情報の設定手順に関する手順情報を、前記デバイスを制御するアプリケーションの各々について登録する登録手段と、デバイスの識別情報の変更を検知する変更検知手段と、その変更検知手段により識別情報の変更が検知されたデバイスを制御する1以上のアプリケーションの各々について、前記登録手段により登録された手順情報を取得する手順情報取得手段と、その手順情報取得手段により取得した手順情報に従って、前記デバイスを制御する1以上のアプリケーションの各々について、参照対象の識別情報を、前記変更検知手段により検知された変更後の識別情報に変更する設定変更手段とを含むことを特徴とする。
請求項1記載の管理プログラムによれば、手順情報取得手段により取得した手順情報に従って、デバイスを制御する1以上のアプリケーションの各々について、制御するデバイスを特定するための識別情報が、変更検知手段により検知された変更後の識別情報に変更されるので、識別情報の設定手順がアプリケーション毎に様々に異なる場合であっても、適切な設定手順で識別情報が自動的に設定される。よって、アプリケーション毎の識別情報の設定をユーザが手動で変更する場合に比較して、ユーザの手間を軽減することができるという効果がある。
ここで、前記デバイスは、自らに設定された識別番号を記憶する記憶手段と、その記憶手段に記憶された識別情報の変更を指令するための入力手段とを備え、その記憶手段に記憶された識別情報が前記入力手段からの指令に基づいて変更されると、接続された外部装置へ所定の変更通知へ送信するものであり、前記変更検知手段は、前記デバイスから送信される変更通知に基づいて、前記デバイスの識別情報が変更されたことを検知するものであっても良い。このようにすれば、デバイス側で識別情報が変更されたときであっても、そのデバイスを制御する1以上のアプリケーションの各々について自動的に識別情報が書き換えられる。
また、前記管理プログラムは、前記コンピュータと前記デバイスとの間の通信エラーの発生を検知するエラー検知手段として前記コンピュータを機能させ、前記変更検知手段は、前記エラー検知手段により通信エラーの発生を検知したことに基づいて、前記デバイスの識別情報の変更を検知するものであっても良い。このようにすれば、デバイス側のIPアドレスが変更された可能性が高い通信エラー時に、そのデバイスを制御する1以上のアプリケーションの各々について識別情報が変更される。
ここで、エラー検知手段は、例えば、コンピュータまたはデバイスの一方から他方へ、コマンドを所定回数送信したにも拘わらず、所定時間経過しても、コマンドを受信した装置からコマンド送信元の装置に対し、応答がなかった場合を通信エラーとして検知する一般的な検知手段である。
また、前記管理プログラムは、前記エラー検知手段により検知された通信エラーが、前記デバイスの識別情報の設定変更以外の所定の原因によるものであるかを判断するエラー判断手段として前記コンピュータを機能させ、前記変更検知手段は、前記エラー判断手段により、検知された通信エラーが、前記所定の原因によるものではないと判断されたことに基づいて、前記デバイスの識別情報の変更を検知することを特徴とするものであっても良い。このようにすれば、デバイス側の識別情報が変更された可能性が極めて高い通信エラー時に、そのデバイスを制御する1以上のアプリケーションの各々について識別情報が自動的に変更される。
ここで、「デバイスの識別情報の設定変更以外の所定の原因」とは、例えば、デバイスの電源がオフにされていること、またはデバイスとコンピュータとの間のネットワークが切断されていることを具体例として挙げることができる。
また、前記登録手段は、デバイスの識別情報が記述された設定情報を特定するための情報を前記手順情報として登録するものであっても良い。このようにすれば、設定変更手順は、その手順情報に従って、識別情報を変更することができる。
ここで、上記「設定情報」の具体例としては、レジストリやINIファイル(イニファイル)を挙げることができる。また、「設定情報を特定するための情報」の具体例としては、例えば、設定情報の名称または設定情報の所在を示すパスが挙げられる。
また、前記登録手段は、前記手順情報として、前記設定情報に記述された識別情報の変更後、その変更後の識別情報を有効にするために前記コンピュータの再起動の必要が有るかを示す情報を登録するものであり、前記設定変更手段は、前記手順情報取得手段により、前記コンピュータの再起動の必要有りを示す手順情報を取得した場合、識別情報の変更後、前記コンピュータを再起動する再起動手段を含むものであっても良い。このようにすれば、コンピュータを再起動するというユーザの手間を軽減することができる。
また、前記登録手段は、前記手順情報として、前記設定情報の書き換えが禁止されているか否かを示す情報を登録するものであり、前記設定変更手段は、前記手順情報取得手段により、書き換えが禁止されていることを示す手順情報を取得した場合、識別情報の変更が成功したか否かを判断する書き換え判断手段と、その書き換え判断手段により識別情報の変更が成功しなかったと判断された場合、前記コンピュータの再起動後に識別情報の変更の再試行を前記コンピュータに実行させるための予約を、前記コンピュータを管理するオペレーティングシステムに登録する処理登録手段とを含むものであっても良い。このようにすれば、書き換えが禁止されている場合であっても、自動的に再試行されるのでユーザの手間が軽減される。そして、コンピュータの再起動時は、設定情報の書き換え禁止が解除されている可能性が高いので、再試行により識別情報を変更することができる。
また、前記登録手段は、前記デバイスの識別情報の設定変更に用いる関数を特定するための情報を、前記手順情報として登録するものであっても良い、このようにすれば、手順情報に従って特定される関数を用いて識別情報が自動的に変更されるのでユーザの手間が軽減される。
請求項2記載の管理プログラムによれば、請求項1記載の管理プログラムの奏する効果に加え、デバイスの記憶手段に記憶された識別情報を変更する指令が、入力装置から入力されたことに基づいて、識別情報の変更が検知されるので、ユーザが、コンピュータの入力装置から、デバイスの識別情報を変更する指令を入力するという操作を行うことで、そのデバイスを制御するアプリケーションの各々について識別情報が自動的に変更される。よって、ユーザの手間が軽減されるという効果がある。
請求項3記載の管理プログラムによれば、請求項1または2に記載の管理プログラムの奏する効果に加え、登録手段は、そのアプリケーション検知手段により検知されたアプリケーションについて、手順情報を登録するので、その登録以降は、デバイスの識別情報の変更が検知される毎に、アプリケーション検知手段により検知されたアプリケーションについて識別情報が自動的に変更され、ユーザの手間が軽減されるという効果がある。
ここで、前記アプリケーション検知手段は、前記コンピュータにアプリケーションがインストールされたことを示すインストール通知が、前記アプリケーションによって出力されたことに基づいて、前記アプリケーションを検知するものであっても良い。このようにすれば、デバイスの識別情報の変更が検知されると、コンピュータにインストールされたアプリケーションの各々について識別情報が自動的に変更されるのでユーザの手間がより軽減される。
また、前記コンピュータは、指令を入力するための入力装置が接続されるものであり、前記アプリケーション検知手段は、前記入力装置から、前記アプリケーションに関する手順情報の登録要求が入力されたことに基づいて、アプリケーションを検知するものであっても良い。
また、前記アプリケーション検知手段は、前記登録手段による登録が行われていないアプリケーションと前記デバイスとの通信を検知したことに基づいて、前記アプリケーションを検知するものであっても良い。このようにすれば、デバイスの制御を行うアプリケーションを漏れなく検知することができる。
請求項4記載の管理プログラムによれば、請求項3記載の管理プログラムの奏する効果に加え、予め記憶されている手順情報を、アプリケーションと対応付けて登録するので、主要なアプリケーションについては、予め手順情報を準備しておくことにより、コンピュータにおける処理の負荷を軽減することができるという効果がある。
ここで、「コンピュータによる読み取りが可能な記憶媒体」とは、ハードディスクドライブ、各種メモリカード、CD−Rなどコンピュータに直接的に接続された記憶媒体に限られるものではなく、例えばネットワークを介してコンピュータと接続され、コンピュータからの読み取りが可能なサーバなど、間接的に接続された記憶媒体も含む。
請求項5記載の管理プログラムによれば、請求項3または4に記載の管理プログラムの奏する効果に加え、手順情報作成手段により作成された手順情報を、アプリケーションと対応付けて、管理メモリに登録するので、各アプリケーションの識別情報変更手順が互いに全く異なる場合であっても、それぞれ適切な手順情報が自動的に管理メモリに登録され、ユーザの手間が軽減されるという効果がある。
請求項6記載の管理プログラムによれば、請求項5記載の管理プログラムの奏する効果に加え、手順情報作成手段は、入力受付手段により受け付けた指令に応じてコンピュータで実行された処理を解析する処理解析手段を含み、その処理解析手段による解析の結果、識別情報が記述される設定情報が特定された場合、または識別情報の設定に用いられた関数が特定された場合、その設定情報を特定するための情報、または関数を特定するための手順情報を自動的に作成するので、識別情報の設定やその設定のための関数について特別な知識を有しないユーザであっても、円滑に処理が実行されるという効果がある。
請求項7記載の管理プログラムによれば、請求項5または6に記載の管理プログラムの奏する効果に加え、設定変更手段は、手順情報作成処理により作成された手順情報で示される指令に対応した処理を、コンピュータに再現させることにより、識別情報を変更するので、例えば、識別情報変更手順が通常良く用いられる手法と異なるために、管理プログラムではその手順の解析が困難なアプリケーション(例えば、システム管理者など、特定のスキルを持ったユーザ自身によって作成された独自のアプリケーションなど)であっても、適切な手順情報が自動的に管理メモリに登録され、識別情報を変更することができるという効果がある。
ここで、前記コンピュータは、文字または画像を含む画面を表示する表示手段に接続され、且つ、その表示手段に表示された文字または画像に対し前記入力装置から所定の操作がされた場合、その文字または画像に対応した指令を前記アプリケーションへ出力する表示管理手段を備え、前記手順情報作成手段は、前記表示管理手段から前記アプリケーションへ出力される指令を取得し、その指令に基づく手順情報を作成するものであっても良い。このようにすれば、識別番号の変更をコンピュータに再現させることができる手順情報を、簡単に作成することができる。
請求項8記載の情報処理装置によれば、請求項1記載の管理プログラムが実行されるコンピュータと同様の効果が得られる。
請求項9記載の除法処理システムによれば、請求項1記載の管理プログラムが実行されるコンピュータと同様の効果が得られる。
以下、本発明の好ましい実施形態について、添付図面を参照して説明する。図1は、本発明の管理プログラムの一例である管理ツール141(図2参照)がインストールされたパーソナルコンピュータ10(以下、PC10と称する)を含む情報処理システム1を示す接続図である。図1に示すように、情報処理システム1は、PC10と、複合機30(以下、MFP30と称する)と、複合機50(以下、MFP50と称する)とがハブ60を介して接続されることにより構成されている。
MFP30およびMFP50には、この情報処理システム1上で固有のIPアドレスが付与されている。PC10にインストールされた各種アプリケーションのうち、MFP30およびMFP50の制御用アプリケーションには、予めMFP30またはMFP50のIPアドレスがそれぞれ設定されており、PC10は、このIPアドレスを用いてMFP30またはMFP50との間で通信を行い、各装置を制御する。
特に、本実施形態のPC10は、MFP30などネットワークを介して接続されたデバイスのIPアドレスの変更を検知する監視処理(図5参照)を実行し、デバイスのIPアドレスが(図4の処理によって)変更されたことが監視処理により検知された場合は、検知された変更後のIPアドレスを、そのデバイスの制御に係る各アプリケーションの設定に反映するアプリケーション設定変更処理(図7参照)を実行する。このアプリケーション設定変更処理によれば、予め(図6の処理によって)登録された手順情報に従って、IPアドレスの設定が、アプリケーション毎に適切な手順で自動的に変更されるので、ユーザの手間が軽減される。なお、図3にはMFP1の主要な処理や、主要な処理が用いる内部データの模式図が示されている。
図2は、図1に示す情報処理システム1の電気的構成を示すブロック図である。なお、MFP30とMFP50とは、その電気的構成が同一であるため、図2においては、MFP50の図示および説明を省略する。
PC10は、CPU11、ROM12、RAM13、ハードディスクドライブ14(以下、HDD14と称する)、ネットワークインターフェイス15(以下、ネットワークI/F15と称する)、入力装置16、表示装置17とを主に有し、これらはバスライン18を介してお互いに接続されている。
CPU11は、ROM12やRAM13やHDD14に記憶される固定値やプログラムに従って、バスライン18により接続された各部を制御する。ROM12は、PC10の動作を制御するためのプログラムなどが格納されたメモリであり、RAM13は、CPU11の処理に必要なデータなどを一時的に記憶するための読み書き可能なメモリである。
HDD14は、ハードディスクドライブであり、ジョブ管理やタスク管理を行うオペレーティング140(以下、OS140と称する)、図4から図9を参照して後述する各種処理を実行するための管理ツール141と、MFP用第1アプリケーション146、MFP用第2アプリケーション147、MFP用第3アプリケーション148、MFP用第4アプリケーション149が記憶される。
MFP用第1アプリケーション146、MFP用第2アプリケーション147、MFP用第3アプリケーション148、MFP用第4アプリケーション149は、MFP30の制御を行うためのアプリケーションであって、管理ツール141は、これらのアプリケーション146,147,148,149を含む、MFP30の制御を行う複数のアプリケーションを統括して管理するためのソフトウェアである。管理ツール141には、設定アプリケーション142、追随アプリケーション143、管理テーブル144、自動登録アプリDB145が設けられている。なお、管理ツール141の詳細については、図3を参照して後述する。
本実施形態において、MFP用第1アプリケーション146は、MFP30のプリンタ機能を制御するプリンタドライバであり、MFP用第2アプリケーション147は、MFP30のスキャナ機能を制御するスキャナドライバであり、MFP用第3アプリケーション148は、MFP30に格納されている画像データを取得してPC10の表示装置17に一覧表示したり、解析または加工する画処理アプリケーションであり、MFP用第4アプリケーション149も、MFP30の制御に関する固有の機能を有するものとして説明する。
入力装置16は、ユーザの指令を入力するためのものであり、例えば、キーボードやマウスなどで構成される。表示装置17は、例えば、CRTディスプレイや液晶ディスプレイなどにより構成され、文字または画像を含む画面を表示することにより、各種処理内容や入力されたデータなどを視覚的に表示するものである。
MFP30は、演算装置であるCPU31と、そのCPU31により実行される各種の制御プログラムやデータを記憶したROM32と、このMFP30に接続されるPC10から入力された印刷データや制御信号を記憶するためのメモリであるRAM33と、書き換え可能な不揮発性メモリであり、自らに設定された各種情報を記憶するフラッシュメモリ34とを備えている。また、これらのCPU31、ROM32、RAM33、フラッシュメモリ34は、バスライン43を介して互いに接続されており、かかるバスライン43は、入出力ポート42に接続されている。
フラッシュメモリ34には、TCP/IPの通信プロトコルで接続する場合の識別として機能するIPアドレスを含むネットワーク情報341が記憶されている。ネットワーク情報341の詳細については、図3を参照して後述する。
入出力ポート42は、ネットワークインターフェイス35(ネットワークI/F35)と、操作パネル36とに接続されている。ネットワークI/F35は、MFP30をネットワークに接続するための回路である。操作パネル36は、図示しない操作キーと操作パネルとが設けられる。操作パネル36の操作キーを用いてIPアドレスの変更指令が入力されると、その変更指令に基づいて、ネットワーク情報341に含まれるIPアドレスが変更される。そして、MFP30は、変更後のIPアドレスを通知するための変更通知を、ハブ60を介して接続された他の装置全てに対し送信する。なお、ネットワークに接続されたPC10を含む各PCには、MFP30からの変更通知に基づいてMFP30のIPアドレスの変更履歴を記録する常駐アプリケーションがインストールされており、それぞれがMFP30の変更履歴を管理しているものとして説明する。PC10のHDD14に格納された管理ツール141は、変更履歴にアクセスすることにより、MFP30の最新のIPアドレスを取得することができる。
また、入出力ポート42は、スキャナ38と、プリンタ39と、モデム40に接続されている。その結果、CPU31によりスキャナ38を駆動させて、原稿画像を読み取るスキャナ機能、CPU31によりプリンタ39を駆動させて、印刷用紙へ印刷を行うプリンタ機能、モデム40によって画像データを変調して相手側ファクシミリ装置へ送信し又は相手側ファクシミリ装置から受信した画像データを復調するファクシミリ送受信機能を実行することができる。
図3は、PC10にインストールされた管理ツール141の主要な機能を模式的に示す機能ブロック図である。
管理ツール141に含まれる設定アプリケーション142は、MFP30のネットワーク情報341を、PC10から変更するためのプログラムである。この設定アプリケーション142は、MFP30のネットワーク情報341を読み出してPC10の表示装置17に表示し、PC10のユーザに提示するとともに、ネットワーク情報341を変更する指令がPC10の入力装置16から入力されると、その指令に基づいてMFP30のフラッシュメモリ34に記憶されるネットワーク情報341を変更する。
ここで、図3に示すように、ネットワーク情報341は、IPアドレスだけではなく、サブネットマスクやゲートウェイアドレスなど、複数項目の設定情報を含むものであるが、そのうち、IPアドレスにはマークが付加される。図3においては、分かりやすく図示するために、IPアドレスに付加されるマークを模式的に「*」として表しているが、IPアドレスに付加されるマークは、他の設定情報と区別可能なものであれば良く、例えば、IPアドレスの管理番号が、マークとして用いられても良い。
設定アプリケーション142は、ネットワーク情報341を読み出して書き換えを行う際、変更された情報にマークが付加されているか否かを判断し、マークが付加されている場合、IPアドレスの変更を追随アプリケーション143に通知する。
追随アプリケーション143は、常駐プログラムであって、MFP30のIPアドレスの変更の検知またはMFP30を制御するアプリケーションを検知する監視処理(S40)、監視処理(S40)によりMFP30のIPアドレスの変更が検知された場合に、検知された変更後のIPアドレスを、MFP30を制御する各種アプリケーションの設定に反映するアプリケーション設定変更処理(S70)、アプリケーション毎の手順情報を管理テーブル144に登録するアプリケーション登録処理(S60)を実行するためのプログラムである。なお、この図3に示した各処理と、図4から図7のフローチャートに示す各処理とのうち、同一の処理については、同一の符号を付している。
管理テーブル144は、管理ツール141の管理対象であるアプリケーションの各々について、手順情報1441が登録されるテーブルである。図3に示すように、手順情報は、「データ名」情報と、「パス」情報と、「反映」情報と、「ロック」情報とを含み、IPアドレスの設定手順を示す情報である。
「データ名」情報は、IPアドレスの変更に用いられる情報名を示すものであり、「パス」情報は、その情報の所在を表すパスを示すものである。例えば、MFP用第1アプリケーション146は、MFP30のIPアドレスをレジストリ(特許請求の範囲に記載の設定情報の一例)に記述する仕様であるので、「データ名」情報としては、MFP30のIPアドレスが記述されるレジストリを特定するためのレジストリ名「レジストリR1」が登録されている。
また、MFP用第2アプリケーション147は、MFP30のIPアドレスをINIファイル(特許請求の範囲に記載の設定情報の一例)に記述する仕様であるため、「データ名」情報としては、MFP30のIPアドレスが記述されたINIファイルを特定するためのファイル名「INIファイルI2」が登録される。
また、MFP用第3アプリケーション148は、API(Application Program Interface)を用いて、制御対象であるMFP30のIPアドレスの設定変更をするものであるため、そのIPアドレスの変更に用いるAPIを特定するためのAPI名「API3」が登録される。MFP用第4アプリケーション148は、エミュレーション用データD4を用いてIPアドレスが変更されるものであるが、エミュレーション用データについては、図6を参照して後述する。
アプリケーション設定変更処理(S70)によれば、管理テーブル144に登録された手順情報に従って、レジストリまたはINIファイルに記述されたMFP30のIPアドレスを変更し、またはAPIまたはエミュレーション用データを呼び出して、IPアドレスを変更するものであるが、詳細は、図7を参照して後述する。
手順情報1441に含まれる「反映」情報は、レジストリまたはINIファイルに記述されたIPアドレスの変更後、またはエミュレーション用データを用いてIPアドレスが変更された後、その変更後のIPアドレスを有効にするために、PC10の再起動の必要があるか否かを示す情報である。アプリケーション設定変更処理(S70)は、再起動の必要有りを示す手順情報1441を管理テーブル144から取得した場合、そのIPアドレスの変更後、PC10を再起動する。
手順情報1441に含まれる「ロック」情報は、INIファイルに対し、情報の書き換えが禁止されているか否かを示す情報である。この「ロック」情報の詳細は、図8を参照して後述する。
自動登録アプリDB145は、MFP30の制御用アプリケーションとして予め想定されている各種アプリケーションについて、対応する手順情報1441が予め記憶されたデータベースである。アプリケーション登録処理(S60)は、監視処理(S40)により新たなアプリケーションが検知されると、その検知された新たなアプリケーションに対応する手順情報が、自動登録アプリDB145に記憶されているか否かを確認し、記憶されている場合は、その手順情報を、アプリケーションと対応付けて管理テーブル144に登録する。
図4は、上述したPC10において、設定アプリケーション142に従って実行されるデバイス設定変更処理(S30)を示すフローチャートである。このデバイス設定変更処理は、ユーザによって設定アプリケーション142が起動されると開始される処理であり、MFP30のIPアドレスの変更を、監視処理(S40)へ伝達する処理である。
まず、MFP30から読み出したネットワーク情報341に従って、現在、MFP30に設定されているネットワーク情報341を示す設定変更画面を、表示装置17(図2参照)に表示する(S31)。ユーザは、設定変更画面を視認しつつ、ネットワーク情報341として所望の情報を入力する設定変更操作を行う。
次に、その設定変更画面に含まれる設定変更操作終了の指令が、入力装置16から入力されたか否かを判断し(S32)、否定される場合(S32:No)、処理を待機する。
一方、S32の判断が肯定されると(S32:Yes)、次に、ネットワーク情報341に含まれる複数項目の設定情報のうち、ユーザからの指令によって変更された設定情報があったか否かを判断する(S33)。
S33の判断が否定される場合(S33:No)、このデバイス設定変更処理(S30)を終了する。一方、S33の判断が肯定される場合(S33:Yes)、PC10において書き換えが行われたネットワーク情報341をMFP30へ送信すると共に、送信したネットワーク情報を解析する(S34)。そして、マークが付加された設定情報、すなわちIPアドレスが変更されたかを判断する(S35)。S35の判断が否定される場合(S35:No)、処理を終了する。
一方、S35の判断が肯定されると(S35:Yes)、追随アプリケーション143にMFP30の変更後のIPアドレスを通知し(S36)、処理を終了する。このデバイス設定変更処理(S30)によれば、MFP30のネットワーク情報341をPC10から変更できると共に、IPアドレスの変更が追随アプリケーション143へ通知される。
図5は、上述したPC10において、追随アプリケーション143に従って実行される監視処理(S40)を示すフローチャートである。この監視処理(S40)は、PC10の電源が投入されている間、繰り返し定期的に実行される処理である。この監視処理(S40)により、MFP30のIPアドレスの変更を検知し、その変更をデバイスを制御するアプリケーションに反映する処理と、デバイスを制御するアプリケーションが新たに存在することを検知し、デバイスのIPアドレスの変更を反映させられるように、そのアプリケーションを管理テーブル144に登録する処理とが繰り返される。
まず、設定アプリケーション142(図3参照)からIPアドレスの変更の通知があったか否かを判断する(S41)。S41の判断が否定される場合(S41:No)、次に、MFP30から送信されるIPアドレス変更通知を受信したか否かを判断する(S42)。
S41またはS42の判断が肯定される場合(S41,S42:Yes)、後述するアプリケーション設定変更処理(S70)を実行し、管理テーブル144に登録されている全アプリケーションについてIPアドレスを変更する処理を行う。このようにすれば、ユーザがPC10からMFP30のIPアドレスを変更した場合、あるいはMFP30の操作パネル36を操作することによりMFP30のIPアドレスを変更した場合のいずれの場合についても、PC10の関連するアプリケーションのIPアドレスが自動的に変更され、ユーザの手間が軽減される。
一方、S42の判断が否定される場合(S42:No)、次に、管理対象であるアプリケーション(すなわち、管理テーブル144に登録されているアプリケーション)と、MFP30との間に通信エラーが発生しているか否かを判断する(S43)。S43の判断が肯定される場合(S43:Yes)、次に、MFP30をサーチして、通信エラーが、IPアドレスの設定変更以外の所定の原因(例えば、MFP30の電源オフまたはネットワークの切断)によるものであるか否かを判断する(S44)。
そして、S44の判断が否定される場合(S44:No)、すなわち、PC10とMFP30との間の通信エラーの発生が検知され、且つその通信エラーの原因がMFP30のIPアドレスの変更に起因する可能性が高い場合、アプリケーション設定変更処理(S70)により、管理テーブル144に登録されている全アプリケーションについてIPアドレスを変更する処理を行う。
S41,S42,S43の判断が全て否定される場合(S41,S42,S43:No)、またはS44の判断が肯定される場合(S44:Yes)、すなわち、設定変更の必要が無い場合、S46の処理に移行する。S46からS48の判断は、管理テーブル144に新たなアプリケーションの登録が必要かを検知する処理であり、S46,S47,S48の判断のうち、いずれかが肯定されると(S46,S47,S48:Yes)、アプリケーション登録処理(S60)が実行され、管理テーブル144に、新たなアプリケーションと、その手順情報1441とが登録される。アプリケーション登録処理(S60)の詳細については、図6を参照して後述する。
S46の処理では、PC10に新たにインストールされたアプリケーション自身から管理テーブル144への登録のリクエストが来たか否かを判断する(S46)。監視処理では、この登録のリクエストが来たことに基づいて、管理テーブル144に未登録の新たなアプリケーションを検知する。
S46の判断が否定される場合(S46:No)、次に、ユーザからアプリケーション登録のリクエストが来たか否かを判断する(S47)。上述したように、インストール時に追随アプリケーション143に対し登録のリクエストを通知するアプリケーションについては、S46の判断が肯定され、自動的に管理テーブル144への登録がなされるが、アプリケーションの仕様によっては登録のリクエストを通知しないように構成されている可能性がある。よって、そのようなアプリケーションについては、ユーザによって、所定の登録指令が入力装置16(図2参照)から入力されることに基づき、新たなアプリケーションを検知する。
S47の判断が否定される場合(S47:No)、次に、管理テーブル144に登録されていないアプリケーションがMFP30と通信していることを検知したか否かを判断する(S48)。
S48の判断が否定される場合(S48:No)、アプリケーション登録処理(S60)の実行後、またはアプリケーション設定変更処理(S70)の実行後、次に、常駐終了がユーザまたはシステムから要求されたか否かを判断する(S49)。
S49の判断が否定される場合(S49:No)、すなわち、新たなアプリケーションの登録の必要がない場合、S41に戻り処理を繰り返す。一方、S49の判断が肯定されると(S49:Yes)、この監視処理(S40)を終了する。
図6は、上述したPC10において、追随アプリケーション143に従って実行されるアプリケーション登録処理(S60)を示すフローチャートである。このアプリケーション登録処理(S60)は、監視処理(S40)のS46,S47,S48の処理により検知された新たなアプリケーション(以下、登録対象アプリケーションと称する)について手順情報1441(図3参照)を、管理テーブル144に登録する処理である。
まず、登録対象アプリケーションが、自動登録アプリDB145に記憶されたものであるか否かを判断する(S62)。S62の判断が肯定される場合(S62:Yes)、自動登録アプリDB145に予め記憶されている手順情報1441を、登録対象アプリケーションと対応付けて管理テーブル144に登録する(S63)。
このように、主要なアプリケーションについては、予め手順情報を準備しておくことにより、PC10における処理の負荷を軽減することができる。
一方、S62の判断が否定される場合(S62:No)、IPアドレス設定要求ダイアログを、表示装置17(図2参照)に表示する(S64)。このIPアドレス設定要求ダイアログは、登録対象アプリケーションについて、制御対象デバイス(ここではMFP30)のIPアドレス設定操作を行うよう要求するダイアログである。
このダイアログの表示により、ユーザは、入力装置16(図2参照)を操作することによって、登録対象アプリケーションについて、IPアドレスを設定するための指令を入力する。例えば、登録対象アプリケーションのプロパティ画面を表示装置17(図2参照)に表示し、制御対象デバイスのIPアドレスを設定する。S65の処理では、この指令を受け付け、記録する(S65)。
詳細に説明すると、OS140は、表示装置17に表示される、例えばプロパティ画面などの設定用画面に含まれる設定ボタンなどの各種表示要素の各々について、表示要素を識別するための番号と、その各表示要素の画面における位置とを対応付けて管理している。そして、設定用画面上の表示要素が、カーソルやフォーカスまたはマウスポインタなどで選択された状態で、入力装置16から実行指示や値の入力が行われると、その入力が行われた表示要素に対応する番号を、指令として登録対象アプリケーションに出力する。S65の処理では、OS140から登録対象アプリケーションへの指令をキャプチャーし、記憶している。また、それと共に、その指令に従って登録対象アプリケーションにより実行される処理を記録する。
次に、このIPアドレス設定の間に実行された処理を解析して、ユーザインターフェイスによらない設定方法が特定できたか否かが判断される(S66)。この解析は、後続のステップで手順情報1441を作成するために行うものであり、IPアドレス設定の間に書き換えが行われたレジストリまたはINIファイルがあったか否か、または呼び出されたAPIがあったか否か、また、IPアドレス設定の間に、再起動が必要である旨を示すメッセージ(例えば、「再起動しますか?」)が表示されたか否か、また、書き換えが行われたINIファイルの属性に基づきそのINIファイルが書き込み可能であるか否か(すなわちロックされているか否か)を解析する。そして、解析の結果、IPアドレスの設定が行われる間に、書き換えが行われたレジストリまたはINIファイル、あるいは呼び出されたAPIが特定された場合、S66の判断が肯定される。
S66の判断が肯定される場合(S66:Yes)、S66の解析結果に基づく手順情報1441を作成し、管理テーブル144に登録する(S67)。具体的には、解析により特定されたレジストリ、INIファイル、またはAPIを特定するための「データ名」情報、「パス」情報が作成され、また、再起動が必要である旨を示すメッセージが表示されたか否かに基づいて再起動の必要性の有無を示す「反映」情報が作成され、また、INIファイルがロックされているか否かを示す「ロック」情報が作成され、これら「データ名」情報、「パス」情報、「反映」情報、「ロック」情報からなる手順情報1441が登録される。このように、手順情報1441が自動的に作成されるので、識別情報の設定やその設定のための関数について特別な知識を有しないユーザであっても、手順情報が円滑に登録される。
なお、本実施形態では、S66における解析の結果に従って、「反映」情報と「ロック」情報とが作成されるものとして説明したが、解析の結果に拘わらず、再起動の必要ありとする「反映」情報が作成され、またはロック有りとする「ロック」情報が作成され、管理テーブル144に登録されるものであっても良い。
S66の判断が否定される場合(S66:No)、S65のステップで記録された指令を、その記録された順序で含むエミュレーション用データを作成する(S68)。そして、作成したエミュレーション用データを、管理テーブル144に登録し(S69)、処理を終了する。
上述したように、S65のステップでは、IPアドレスを設定するために、OS140から登録対象アプリケーションへ入力された全ての指令が記録されているから、その記録された指令を、記録された順序で、再びアプリケーションへ入力することにより、IPアドレスの設定処理を再現させることができる。したがって、IPアドレスの変更手順が解析困難なアプリケーションであっても、図7を参照して後述するアプリケーション設定処理(S70)において、IPアドレスの書き換えを自動的に行うことができる。
アプリケーション登録処理によれば、新たに検知されたアプリケーションについて手順情報1441が登録される。登録以降は、MFP30のIPアドレスの変更が検知される毎に、登録された手順情報に従って、登録された各アプリケーションについてIPアドレスが自動的に変更されるので、ユーザの手間が軽減される。
また、自動登録アプリDB145に記憶されていないアプリケーションについては、ユーザに実際にIPアドレスを設定させ、その設定処理に基づいて作成された手順情報が、アプリケーションと対応付けて、管理テーブル144に登録されるので、各アプリケーションのIPアドレス変更手順が互いに全く異なる場合であっても、それぞれ適切な手順情報が自動的に登録される。
図7および図8を参照して、アプリケーション設定変更処理(S70)について説明する。アプリケーション設定変更処理(S70)は、MFP30のIPアドレスの変更が検知されると実行される処理である。なお、設定アプリケーション142からの通知、またはMFP30からの通知に従って、このアプリケーション設定変更処理(S70)が実行される場合は、その通知によって、MFP30の最新のIPアドレスが取得できるので、各アプリケーションのIPアドレスは、そのMFP30の最新のIPアドレスに変更される。また、MFP30とPC10との間に通信エラーが発生したことに起因して、このアプリケーション設定変更処理(S70)が実行される場合は、図示しない常駐アプリケーションによって管理されるMFP30の設定の変更履歴、またはネットワークに接続された他のPCに管理されているMFP30の変更履歴を読み出すことにより、MFP30の最新のIPアドレスを取得する。
図7は、アプリケーション設定変更処理(S70)を示すフローチャートである。アプリケーション設定変更処理(S70)は、まず、アプリーション毎に記録されている手順情報1441を呼び出す(S71)。そして、呼び出した手順情報1441に基づき、IPアドレスの変更がINIファイルの書き換えにより行われるものか否かを判断する(S72)。S72の判断が否定される場合(S72:No)、手順情報1441により特定されるレジストリを書き換える、または、手順情報1441により特定されるIPアドレス変更用APIを呼び出す、または手順情報1441により特定されるエミュレーションデータを、処理対象のアプリケーションに渡す(エミュレーションデータを受け取ったアプリケーションは、ユーザによって手動でIPアドレスが設定された場合に実行した処理を再現する機能を備えている)ことでMFP30のIPアドレスを変更後の値に変更する(S73)。
次に、「反映」情報に基づいて再起動要か否かを判断する(S75)。「反映」情報として「再起動」が記憶されている場合、再起動要と判断し(S75:Yes)、次に、アプリケーションが再起動できる状態にあるか否かを判断する(S76)。S76の判断が否定される場合(S76:No)、再起動できるようになるまで待機する(S77)。
S76の判断が肯定され(S76:Yes)、または再起動できる状態となった場合、PC10を再起動させ(S78)、処理を終了する。このようにすれば、コンピュータを再起動するというユーザの手間を軽減することができる。また、コンピュータの再起動により、変更したIPアドレスの設定が有効となる。
一方、S75の判断が否定される場合(S75:No)、すなわち「反映」情報として「即時」が記憶されている場合、再起動は行わず、処理を終了する。
また、S72の判断が肯定される場合(S72:Yes)、INIファイル処理(S74)を実行してINIファイルに記述されたIPアドレスを書き換え、処理を終了する。
図8は、INIファイル処理(S74)を示すフローチャートである、このINIファイル処理(S74)は、手順情報1441の「データ名」情報として、INIファイルのファイル名が記憶されている場合に実行される処理である。
まず、手順情報1441により特定されるINIファイルを書き換えることにより、そのINIファイルに記述されたMFP30のIPアドレスを変更後の値に変更し(S741)、次に、「ロック」情報として「有」が記憶されているか「無」が記憶されているかを判断する(S742)。
「ロック」情報として「無」が記憶されている場合(S742:No)、次に、IPアドレスの書き換えに成功したか否かを判断する(S743)。S743の判断が肯定される場合(S743:Yes)、処理を終了する。
一方、S742の判断が肯定される場合(S742:Yes)、または、S743の判断が否定される場合(S743:No)、すなわち、「ロック」情報として「有」が記憶されている場合、または「ロック」情報として「無」が記憶されているが、例えば、INIファイルが使用中であることに起因してIPアドレスの書き換えに失敗した場合、PC10の再起動後にIPアドレス変更処理の再試行をPC10に実行させるための予約を、OS140に登録する(S744)。
次に、アプリケーションが再起動できる状態にあるか否かを判断する(S745)。S745の判断が否定される場合(S745:No)、再起動できるようになるまで待機する(S746)。S745の判断が肯定され(S745:Yes)、または再起動できる状態となった場合、PC10を再起動させ(S747)、処理を終了する。
このようにすれば、PC10が再起動されると、IPアドレス変更処理の再試行が行われる。例えば、IPアドレスが記述されるINIファイルにロックがかかっており、設定変更が成功しなかった場合であっても、再起動直後は、ロックが解除されている可能性が高いので、これにより、IPアドレスの変更を高確率で成功させることができる。
本実施形態のPC10によれば、手順情報1441に従って、MFP30を制御する1以上のアプリケーションの各々について、制御するMFP30のIPアドレスが、変更後のIPアドレスへ自動的に変更されるので、アプリケーション毎のIPアドレスの設定をユーザが手動で変更する場合に比較して、ユーザの手間を軽減することができる。
以上、実施形態に基づき本発明を説明したが、本発明は上述した実施形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の改良変更が可能であることは容易に推察できるものである。
例えば、本実施形態では、管理ツール141は、PC10からMFP30のIPアドレスを変更するための設定アプリケーション142を含むものであったが、設定アプリケーション142を備えない管理ツール141であっても本発明は適用可能である。
また、本実施形態の管理ツール141は、その管理ツール141がインストールされたPC10において、各アプリケーションの設定を変更するものであったが、ネットワーク上の他のPCについても、アプリケーションの設定を変更するものであっても良い。その場合、ネットワーク上の複数台のPC上に、管理ツール141のスレーブとして動作する常駐アプリケーションをインストールしておき、1台のPC10にインストールされた管理ツール141からの指令に従って、各PCにおいて設定の変更が行われる。
また、上述した実施形態では、デバイスの一例としてMFP30,50を例にとって説明したが、デバイスはこれに限られるものではなく、スキャナ、コピー機、ファクシミリ装置、プリンタ、ハードディスクドライブなど、ネットワークに接続され、IPアドレスによって特定される装置であれば良い。
また、上述した実施形態では、IPアドレスが識別情報の一例であったが、識別情報はこれに限られるものではなく、例えば、ネットワーク上のデバイスを管理するためにデバイスに付与されるノードネーム(コンピュータ名とも称され得る)や、PCとデバイスとの間の通信のセキュリティを向上させるために用いられる、暗号キーであっても良い。
また、上述した実施形態のアプリケーション設定変更処理(S70)では、デバイスのIPアドレスの変更をエミュレーションにてアプリケーションに反映させる場合に、手順情報1441により特定されるエミュレーションデータを、処理対象のアプリケーションに渡すものとして説明したが(S73)、これに代えて、追随アプリケーション143(図2参照)が処理対象アプリケーションの設定変更のユーザインターフェイスを起動させ、ユーザインターフェイス上のチェックボックスやテキストボックスへのユーザ操作を再現すると共にテキストボックスへは最新のIPアドレスを入力するように構成されていても良い。このようにすれば、エミュレーション機能を有さないアプリケーションについても、同様の効果が得られる。
また、上述した実施形態では、ネットワークに接続されたPC10を含む各PCには、MFP30からの変更通知に基づいてMFP30のIPアドレスの変更履歴を記録する常駐アプリケーションがインストールされているものとして説明したが、この常駐アプリケーションは、管理ツール141の一部を構成するものであっても良い。