以下、本発明の好ましい実施形態について、添付図面を参照して説明する。図1は、本発明のデバイスの一実施形態であるデバイス10と、本発明の情報処理プログラムの一実施形態であるデバイスドライバ24aがインストールされたパーソナルコンピュータ20(以下、PC20)と、を含む画像読取システム1の電気的構成を示すブロック図である。デバイス10とPC20とは、ローカルエリアネットワーク40(以下、LAN40)を介して接続され、LAN40には、既存デバイス32が接続されている。なお、図1には、1台のデバイス10と、3台のPC20と、2台の既存デバイス32とを図示しているが、画像読取システム1を構成するデバイス10、PC20、既存デバイス32の数は限定されない。
画像読取システム1において、デバイス10は、LAN40に初めて接続されるデバイスであり、一方、既存デバイス32は、デバイス10の接続前からLAN40に接続されていたデバイスであるものとする。また、各既存デバイス32には、情報の送信先のPC20を特定するスキャンキー登録情報が予め登録されているものとして説明する。そして、各既存デバイス32は、原稿を読み取って生成したスキャンデータを、予め登録されているスキャンキー登録情報で特定されるPC20へ送信する。一方、デバイス10は、LAN40に初めて接続されたときに、各既存デバイス32に登録されているスキャンキー登録情報を収集し、収集したスキャンキー登録情報を、自機の送信先を示すスキャンキー登録情報として登録することにより、ユーザの作業負担を軽減できるように構成されている。
デバイス10は、スキャン機能、コピー機能、プリンタ機能など各種の機能を実行するいわゆる複合機であり、CPU11、ROM12、RAM13、フラッシュメモリ14、LANインターフェイス15(以下、LANI/F15)、操作パネル16、プリンタ17、スキャナ18、計時回路18Aを主に有している。
CPU11、ROM12、RAM13、フラッシュメモリ14、LANI/F15、操作パネル16、プリンタ17、スキャナ18、計時回路18Aは、バスライン19を介して互いに接続されている。
CPU11は、ROM12やRAM13に記憶される各種固定値やプログラム、或いは、LANI/F15を介して送受信される各種信号に従って、デバイス10が有している各機能の制御や、バスライン19と接続された各部を制御する演算処理装置である。
ROM12は、デバイス10の動作を制御するためのプログラムや固定値などを格納した書換不能な不揮発性のメモリである。CPU11は、ROM12に記憶されたプログラムを実行することにより、図3を参照して後述する初回接続時処理を実行する。RAM13は、デバイス10の各操作の実行時に各種のデータを一時的に記憶する書換可能な揮発性のメモリである。
フラッシュメモリ14は、書換え可能な不揮発性のメモリであって、スキャンキー登録情報メモリ14a、デバイス情報メモリ14bが設けられている。スキャンキー登録情報メモリ14aは、スキャンキー登録情報が登録されるメモリであり、詳細は図2(a)を参照して後述する。デバイス情報メモリ14bは、自機を特定するためのデバイス情報を記憶するメモリであり、詳細は図2(b)を参照して後述する。
LANI/F15は、デバイス10とLAN40とを接続する。デバイス10は、LANI/F15により接続されたLAN40を介して、PC20や他のデバイスとの間で通信を行う。特に、本実施形態のデバイス10は、スキャナ18により生成されたスキャンデータを、LANI/F15により接続されたLAN40を介して、PC20に送信する。
操作パネル16は、操作手順や実行中の処理の状態、およびユーザに選択させるためのボタンを表示する画面(図示せず)や、画面上に表示されたボタンを選択するためのキー(図示せず)が設けられている。
プリンタ17は、インクジェット方式のプリンタである。スキャナ18は、CPU11からの指示に基づいて、原稿台(図示せず)の所定位置に載置した原稿又はADF(図示せず)により搬送される原稿を読み取ってスキャンデータを生成する。計時回路18Aは、現在時刻(日付けを含む)を計時する回路であり、デバイス10の電源オフ後も現在時刻の計時を継続する。
PC20は、CPU21、ROM22、RAM23、ハードディスクドライブ24(以下、HDD24)、キーボード25、LCD26、及び、LANインターフェイス27(以下、LANI/F27)を主に有しており、これらはバスライン28を介して互いに接続されている。
CPU21は、ROM22やHDD24に記憶される固定値やプログラムに従って、バスライン28により接続された各部を制御する演算処理装置である。ROM22は、PC20の動作を制御するためのプログラムなどが格納されたメモリであり、RAM23は、CPU21の処理に必要なデータなどを一時的に記憶するための読み書き可能なメモリである。
HDD24は、CPU21の処理に必要なデータやプログラムなどを記憶するための読み書き可能なメモリであり、デバイスドライバ24a、設定メモリ24bが設けられている。デバイスドライバ24aは、デバイス10および既存デバイス32を制御するためのプログラムであって、CPU11は、デバイスドライバ24aを実行することにより、図5を参照して後述するデバイス監視処理を実行する。なお、本実施形態において、デバイスドライバ24aは、既存デバイス32をLAN40に接続した際に、ユーザによってPC20にインストールされているものとする。また、既存デバイス32とデバイス10とは同一のメーカによる別モデルの製品であるため、既存デバイス32を制御するためにインストールされたデバイスドライバ24aは、デバイス10にも適用できるものとする。
設定メモリ24bは、ユーザ名、PC名、IPアドレスなど、画像読取システム1において、PC20を特定するために設定された各種情報を記憶する。なお、画像読取システム1内の各PC20には、互いに異なるPC名、IPアドレスが設定される。これに対し、ユーザ名については、画像読取システム1内の複数台のPC20に、同一のユーザ名が設定されていても良い。説明の都合上、図1においては、各PC20の設定メモリ24bに設定されたユーザ名、PC名、IPアドレスを、各PC20外に記載している。図1に示すように、本実施形態の画像読取システム1においては、2台のPC20のユーザ名がXに設定されており、1台のPC20のユーザ名がYに設定されているものとする。
キーボード25は、ユーザ指示を入力するためのものであり、LCD26は、各種処理内容や入力されたデータなどを視覚的に表示するものである。LANI/F27は、LAN40を介してネットワーク接続される他の機器との間でデータの送受信を行うものである。特に、本実施形態のPC20は、LANI/F27により接続されたLAN40を介して、デバイス10または既存デバイス32からスキャンデータを受信する。
なお、既存デバイス32の電気的構成は、デバイス10と同一であるため、図示および詳細な説明を省略する。また、以下の説明において、2台の既存デバイス32を区別して説明する必要がある場合には、1台の既存デバイス32を、第1既存デバイス32Aと称し、他の一台の既存デバイス32を、第2既存デバイス32Bと称する。また、説明の都合上、第1既存デバイス32Aには、ノード名として「Scanner_1」が付与されており、第2既存デバイス32Bには、ノード名として「Scanner_2」が付与され、デバイス10には、ノード名として「Scanner_3」が付与されているものとして説明する。
図2(a)は、スキャンキー登録情報メモリ14aに格納されるスキャンキー登録情報の構成を模式的に示す図である。スキャンキー登録情報メモリ14aに登録されるスキャンキー登録情報は、ユーザ名42と、PC名44と、IPアドレス46と、パスワード48と、登録日50と、最終使用日52との組み合わせを一単位とする情報である。
スキャンキー登録情報のうち、ユーザ名42、PC名44、IPアドレス46からなる情報を特定情報と称する。この特定情報により、画像読取システム1内のPC20が一意に特定される。デバイス10は、スキャナ18により原稿を読み取ってスキャンデータを生成すると、スキャンキー登録情報メモリ14aに登録された特定情報で特定されるPC20へ、生成したスキャンデータを送信する。
パスワード48は、各スキャンキー登録情報を編集する際に、ユーザに要求するパスワードである。デバイス10は、パスワード48と同一のパスワードが入力されることを条件として、スキャンキー登録情報の書換えを許可する。
登録日50は、スキャンキー登録情報が、スキャンキー登録情報メモリ14aに登録された時点(本実施形態では登録された日付)に対応する情報である。最終使用日52は、スキャンキー登録情報を使用して情報の送信が実行された時点(本実施形態では送信が実行された日付)に対応する情報である。
図2(b)は、デバイス情報メモリ14bに格納されるデバイス情報の構成を模式的に示す図である。デバイス情報は、モデル名54と、ロケーション56と、スペック58と、ノード名60との組み合わせを一単位とする情報である。
モデル名54は、デバイス10のベンダーによって付与されたモデル名であり、書換え不可能な情報である。ロケーション56は、画像読取システム1の管理者などによって書き込まれる情報であり、デバイス10の設置位置を示す。スペック58は、デバイス10の装備、読取の解像度、使用可能な記録用紙サイズ、スキャナの種類などを示す情報であり、書換え不可能な情報である。ノード名60は、画像読取システム1の管理者などによってデバイス10に付与される情報であり、LAN40においてユニークな情報である。
なお、図示および詳細な説明は省略するが、スキャンキー登録情報メモリ14a、デバイス情報メモリ14bは、既存デバイス32にも設けられている。また、図2(a)においては、スキャンキー登録情報メモリ14aにスキャンキー登録情報が格納された状態を図示しているが、デバイス10をLAN40に接続する前には、スキャンキー登録情報メモリ14aには、スキャンキー登録情報が一つも格納されていない。さらに、図2においては、説明を分かりやすくするために、スキャンキー登録情報およびデバイス情報を構成する各情報に符号を付して説明したが、以下の説明においては、符号の記載を省略する。
図3は、デバイス10のCPU11が実行する初回接続時処理を示すフローチャートである。この処理は、デバイス10をLAN40に初めて接続した場合に開始される。デバイス10は、この処理を実行することにより、LAN40に接続された他の既存デバイス32からスキャンキー登録情報を収集し、自機の送信先を示すスキャンキー登録情報として、スキャンキー登録情報メモリ14aに登録する。なお、この処理の開始時点において、デバイス10のスキャンキー登録情報メモリ14aには、スキャンキー登録情報が一つも登録されていないものとする。
まず、CPU11は、ステップS302(以下、ステップを省略)において、スキャンキー登録情報を登録済である既存デバイス32をブロードキャストで検索する(S302)。次に、CPU11は、スキャンキー登録情報を登録済みである既存デバイス32が、LAN40に存在するか否かを判断する(S306)。スキャンキー登録情報を登録済の既存デバイス32が存在しない場合(S306:No)、CPU11は、デバイス10を追加した旨を案内するメッセージを、ブロードキャストで送信し(S308)、処理を終了する。
一方、スキャンキー登録情報を登録済みである既存デバイス32が存在する場合(S306:Yes)、CPU11は、各既存デバイス32に登録されているスキャンキー登録情報を、LAN40を介して取得する(S309)。次に、CPU11は、同一のユーザ名を含む複数のスキャンキー登録情報を受信したか否かを判断する(S312)。S312の判断が否定される場合(S312:No)、すなわち、1台分のスキャンキー登録情報を取得した場合、または、複数台分のスキャンキー登録情報を取得したが、取得した複数のスキャンキー登録情報に含まれるユーザ名が全て異なる場合、CPU11は、取得したスキャンキー登録情報で特定される各PC20へ、登録確認通知を送信する(S313)。
図4(a)は、第1既存デバイス32Aと、第2既存デバイス32Bとから、それぞれスキャンキー登録情報を受信した場合に作成される、登録確認通知の一例を示す図である。ここで、第1既存デバイス32Aからは、1台のPC20(ユーザ名:Y,PC名:Y_PC1)のスキャンキー登録情報を受信し、一方、第2既存デバイス32Bからは、別のPC20(ユーザ名:X,PC名:X_PC2)のスキャンキー登録情報を受信したものとする。この場合、登録確認通知は、スキャンキー登録情報で特定されるPC20毎に作成される。この例においては、1台のPC20(ユーザ名:X,PC名:X_PC2)へ通知される登録確認通知と、別のPC20(ユーザ名:Y,PC名:Y_PC1)へ通知される登録確認通知とが作成される。
各PC20へ送信される登録確認通知には、既存登録通知61と、新規登録通知62とが含まれる。既存登録通知61は、既存デバイス32に登録されていたスキャンキー登録情報と、既存デバイス32を特定するデバイス情報とを関連付けたものである。例えば、第2既存デバイス32Bに登録されていた、PC20(ユーザ名:X,PC名:X_PC2)のスキャンキー登録情報には、第2既存デバイス32Bのデバイス情報が関連付けられる。この既存登録通知61をPC20へ通知することにより、PC20のスキャンキー登録情報がどのような既存デバイス32に登録されているのかを、PC20のユーザに通知することができる。
新規登録通知62は、既存デバイス32から取得されたスキャンキー登録情報(すなわち、既存登録通知61に含まれるスキャンキー登録情報と同一の情報)と、デバイス10のデバイス情報とを関連付けたものである。
詳細は、図5,図6を参照して後述するが、登録確認通知を受信したPC20のユーザは、デバイス10のデバイス情報と、既存デバイス32のデバイス情報とを比較した上で、既存デバイス32に登録済みのスキャンキー登録情報を、新たに接続されたデバイス10に登録すべきか否か、および、既存デバイス32におけるPC20のスキャンキー登録情報の登録を継続すべきか又は取り消すべきかを判断する。
図3に戻り説明する。同一のユーザ名が複数のスキャンキー登録情報に含まれると判断される場合(S312:Yes)、CPU11は、同一のユーザ名を含む複数のスキャンキー登録情報について、そのスキャンキー登録情報に含まれるIPアドレスは一致するか否かを判断する(S314)。
同一のユーザ名を含む複数のスキャンキー登録情報が取得され、且つ、それら複数のスキャンキー登録情報に含まれるIPアドレスが一致する場合(S314:Yes)、すなわち、同一のPC20を特定する複数のスキャンキー登録情報を取得した、と判断される場合、CPU11は、スキャンキー登録情報で特定されるPC20毎に、登録確認通知を送信する(S313)。
一方、同一のユーザ名を含む複数のスキャンキー登録情報が取得され、且つ、それら複数のスキャンキー登録情報に含まれるIPアドレスが互いに異なると判断される場合(S314:No)、同一のユーザによって使用される複数台のPC20のスキャンキー登録情報が取得されたと判断できる。その場合、CPU11は、それら複数台のPC20のうち、1台のPC20を、登録確認通知の送信先として選択する(S316)。本実施形態では、同一のユーザ名が設定され、IPアドレスは互いに異なる複数台のPC20のうち、最も新しい時点においてスキャンキー登録情報が登録された1台のPC20を選択する。そして、CPU11は、選択された1台のPC20に登録確認通知を送信する(S317)。ここで送信する登録確認通知は、選択された1台のPC20および該PC20と同一のユーザ名が設定された他のPC20についての登録を確認するための情報を含む。
図4(b)は、ユーザ名が同一で且つIPアドレスが互いに異なる複数のスキャンキー登録情報を取得した場合に作成される登録確認通知の一例である。なお、図4(b)に示す例は、同一のユーザ名(X)を含み、IPアドレスが互いに異なる2台のPC20(PC名:X_PC2,X_PC1)のスキャンキー登録情報を、デバイス10が取得した場合に作成される登録確認通知の例である。図4(b)に示すように、この場合、登録確認通知には、2台分のPC20(PC名:X_PC2,X_PC1)の登録確認通知が含まれる。
上述したように、登録確認通知の送信先としては、登録日が最も新しいスキャンキー登録情報で特定されるPC20が選択される。よって、図4(b)に示す例では、登録日がより新しいPC20(PC名:X_PC2)へ、2台分のPC20の登録確認通知が送信される。
このようにすれば、同一のユーザ名が設定された複数台のPC20のスキャンキー登録情報をデバイス10に登録するか否かを、1台のPC20に問い合わせることができる。よって、ユーザにとっては、自分の名前が設定された複数台のPC20のうち、選択された1台のPC20において、問い合わせに応じれば良く、作業負担が軽減される。また、登録確認通知は、登録日が最も新しい1台のPC20へ送信されるので、ユーザが使用する可能性が高いPC20へ、登録確認通知を送信できる。
次に、CPU11は、PC20から確認結果を受信したか否かを判断する(S320)。S320の判断が否定される間(S320:No)、CPU11は処理を待機する。一方、S320の判断が肯定されると(S320:Yes)、CPU11は、デバイス10へのスキャンキー登録情報の登録を許可する確認結果を受信したか否かを判断する(S322)。S322の判断が肯定される場合(S322:Yes)、CPU11は、登録が許可されたPC20のスキャンキー登録情報を、スキャンキー登録情報メモリ14aに新規登録する(S324)。ただし、ここで新規登録するスキャンキー登録情報は、登録が許可されたPC20のユーザ名、PC名、IPアドレス、パスワードを含むが、登録日、最終使用日の値はnullとされる。
なお、図4(b)を参照して説明したように、複数台のPC20の登録確認通知を1台のPC20に送信した場合、当該PC20からは複数台のPC20についての確認結果が返却される。その場合、CPU11は、複数台のPC20のうち、登録が許可されたPC20のスキャンキー登録情報のみを登録し、登録が許可されなかったPC20のスキャンキー登録情報は登録しない。
次に、CPU11は、新しく登録したスキャンキー登録情報の登録日に、計時回路18Aから取得される現在の日付を登録する(S326)。次に、CPU11は、登録確認通知を送信した全てのPC20から、確認結果を受信したか否かを判断する(S328)。S328の判断が否定される場合(S328:No)、CPU11はS320に戻り処理を繰り返す。
一方、PC20から受信した確認結果が、登録を許可しないものである場合(S322:No)、CPU11は、S324,S326の処理をスキップして、S328の処理に移行する。このようにして処理を繰り返すうちに、登録確認通知を送信した全てのPC20から確認結果を受信すると(S328:Yes)、CPU11は、この処理を終了する。
図3に示す処理によれば、デバイス10は、他の既存デバイス32について予め登録されているスキャンキー登録情報を利用して、自機の送信先を示すスキャンキー登録情報を登録できる。よって、ユーザの作業負担を軽減できる。また、PC20に対しては、スキャンキー登録情報をデバイス10に登録するか否かを問い合わせ、登録が許可された場合に、スキャンキー登録情報を登録するので、ユーザにとって予期しない登録が行われることを抑制できる。
図5は、PC20のCPU21が実行するデバイス監視処理を示すフローチャートである。この処理は、デバイス10から送られてくる登録確認通知に対して、PC20が応答する処理であって、PC20の電源投入後、定期的に繰り返される。
まず、CPU21は、デバイス10から登録確認通知を受信したか否かを判断する(S502)。S502の判断が否定される場合(S502:No)、CPU21は処理を待機する。一方、登録確認通知を受信した場合(S502:Yes)、すなわち、LAN40に新たに接続されたデバイス10を検出した場合、CPU21は、受信した登録確認通知に、複数台分の既存デバイス32の既存登録通知61が含まれるかを判断する(S504)。
登録確認通知に、1台分の既存デバイス32の既存登録通知61が含まれる場合(S504:No)、CPU21は、デバイス10のデバイス情報と既存デバイス32のデバイス情報とを含むデバイス一覧を、LCD26に表示する(S506)。そして、デバイス10にスキャンキー登録情報を登録させるか否か、および、既存デバイス32におけるスキャンキー登録情報の登録を取り消すべきか否かをユーザに選択させる。
図6(a)は、PC20が受信した登録確認通知に、1台分の既存デバイス32の既存登録通知61が含まれる場合に表示される、デバイス一覧64の一例である。図6(a)に示すように、デバイス一覧64には、既存デバイス32の情報が表示される既存登録表示66と、デバイス10の情報が表示される新規登録表示68とが含まれる。
既存登録表示66および新規登録表示68は、それぞれ、モデル名欄71、ロケーション欄72、スペック差分欄74、ノード名欄76、登録日欄78、最終使用日欄79、登録可否欄80を含む。既存登録表示66のモデル名欄71、ロケーション欄72、ノード名欄76には、それぞれ、既存デバイス32のデバイス情報に含まれるモデル名、ロケーション名、ノード名が表示される。また、登録日欄78、最終使用日欄79には、それぞれ、既存登録通知61に含まれる登録日(すなわち、既存デバイス32にスキャンキー登録情報が登録された日)および最終使用日(すなわち、既存デバイス32に登録されたスキャンキー登録情報が最後に使用された日)が表示される。また、1台分の既存デバイス32の既存登録通知61を受信した場合、スペック差分欄74には、「標準」と表示される。
一方、新規登録表示68のモデル名欄71、ロケーション欄72、ノード名欄76には、それぞれ、デバイス10のモデル名、ロケーション、ノード名が表示される。また、新規登録表示68のスペック差分欄74には、既存登録表示66に示される既存デバイス32のスペックを基準とした場合における、デバイス10のスペックの差分が表示される。また、新規登録表示68の登録日欄78には、「新規」と表示され、最終使用日欄79には、「null」と表示される。
デバイス一覧64に含まれる既存登録表示66と新規登録表示68とを閲覧することにより、ユーザは、PC20のスキャンキー登録情報を登録済みである既存デバイス32と、新たに接続されたデバイス10とのデバイス情報を比較することができる。そして、ユーザは、PC20のスキャンキー登録情報をデバイス10に登録すべきか否かを選択できる。例えば、PC20のスキャンキーを登録済みである既存デバイス32よりもデバイス10が近傍に設置されている、あるいは、高スペックであるなどの理由により、デバイス10にPC20のスキャンキー登録情報を登録することを望む場合、ユーザは、新規登録表示68の登録可否欄80にチェックを入力することにより、デバイス10におけるPC20のスキャンキー登録情報の登録を許可する。一方、デバイス10にPC20のスキャンキー登録情報を登録することを拒否する場合には、ユーザは、新規登録表示68の登録可否欄80をチェック無しとすることにより、デバイス10におけるPC20のスキャンキー登録情報の登録を拒否する。
また、デバイス一覧64において、ユーザは、スキャンキー登録情報の登録を取り消すべき既存デバイス32を選択できる。すなわち、既存登録表示66の登録可否欄80をチェック無しとすることにより、PC20のスキャンキー登録情報の登録を取り消すべき既存デバイス32を選択することができる。一方、ユーザは、既存登録表示66の登録可否欄80をチェック有りとすることにより、既存デバイス32におけるスキャンキー登録情報の登録の継続を選択できる。
図5に戻り説明する。次に、CPU21は、ユーザによるデバイスの選択が終了したか否かを判断する(S508)。S508の判断が否定される間(S508:No)、CPU21は処理を待機する。一方、ユーザが、デバイス一覧64の登録可否欄80にチェックを入れ、実行を指示した場合、CPU21は、デバイスの選択が終了したものと判断する(S508:Yes)。そして、CPU21は、既存デバイス32についてスキャンキー登録情報の登録が選択されたか否か、すなわち、登録可否欄80がチェック無しとされた既存登録表示66が存在するか否かを判断する(S509)。S509の判断が肯定される場合(S509:Yes)、CPU21は、スキャンキー登録情報を取り消すべきとして選択された既存デバイス32へ、スキャンキー登録情報の登録の取消指示を送信する(S510)。これにより、既存デバイス32に、PC20のスキャンキー登録情報の登録を取り消させる(S510)。なお、S509の判断が否定される場合(S509:No)、CPU21は、S510の処理をスキップする。
次に、CPU21は、デバイス10について、PC20のスキャンキー登録情報の登録が許可されたか否かを判断する(S512)。デバイス10について、PC20のスキャンキー登録情報の登録が許可された場合(S512:Yes)、CPU21は、デバイス10への登録を許可する旨を送信し(S514)、処理を終了する。これにより、デバイス10の送信先を示すスキャンキー登録情報として、PC20のスキャンキー登録情報を登録させる。なお、S512の判断が否定される場合(S512:No)、CPU21は、デバイス10への登録を許可しない旨を送信し(S515)、処理を終了する。
次に、PC20が受信した登録確認通知に、複数台分の既存デバイス32の既存登録通知61が含まれる場合(S504:Yes)について説明する。この場合(S504:Yes)、CPU21は、登録確認通知に含まれるIPアドレスが全て等しいか否かを判断する(S516)。
上述したように、デバイス10からPC20へ送信される登録確認通知には、PC201台分の登録確認通知が含まれる場合と、PC20、およびPC20と同一のユーザ名が設定された複数台分のPC20の登録確認通知が含まれる場合とがある。
PC1台分の登録確認通知を受信した場合、S516の判断が肯定されるので(S516:Yes)、CPU21は、受信した登録確認通知に基づくデバイス一覧64を表示する(S506)。なお、この場合に表示されるデバイス一覧64には、複数台の既存デバイス32についての既存登録表示66が含まれる。次に、CPU21は、1台分の既存デバイス32のデバイス情報を受信した場合と同様に、デバイス10の登録を許可するか否か、および、既存デバイス32におけるスキャンキー登録情報の登録を取り消すか否かをユーザに選択させ、その結果をデバイス10へ送信する(S508〜S515)。
一方、自機(PC20)のスキャンキー登録情報を登録している既存デバイス32に加え、自機と同一のユーザ名が設定された別のPC20のスキャンキー登録情報を登録している既存デバイス32についても、登録確認通知を受信した場合、受信した登録確認通知に、複数種類のIPアドレスが含まれると判断される(S516:No)。この場合、CPU21は、自機のスキャンキー登録情報と別のPC20のスキャンキー登録情報とのうち、最も新しく登録された一のPC20のスキャンキー登録情報の登録後、使用されていない他のPC20のスキャンキー登録情報があるかを判断する(S518)。上述したように、登録確認通知には、スキャンキー登録情報が登録された時点に対応する登録日と、スキャンキー登録情報を使用して情報の送信が実行された時点に対応する最終使用日とが関連付けられている。よって、これら登録日と最終使用日とに基づいて、S518の判断を行うことができる。S518の判断が否定される場合(S518:No)、CPU21は、デバイス一覧64をLCD26に表示する。
図6(b)は、S518の判断が否定される場合に、LCD26に表示されるデバイス一覧64の一例を示す図である。PC20が、自機の登録確認通知だけではなく、自機と同一のユーザ名が設定された別のPC20の登録確認通知も受信した場合、図6(b)に示すように、デバイス一覧64には、PC名欄82が追加される。PC名欄82には、登録確認通知に含まれるPC名が表示される。このようなデバイス一覧64によれば、ユーザは、同一のユーザ名が設定された複数台分のPC20の設定を、1台のPC20において行うことができる。つまり、PC20毎に、そのPC20のスキャンキー登録情報をデバイス10に登録するか否かを選択できる。また、スキャンキー登録情報の登録を取り消すべき既存デバイス32についても、PC20毎に選択できる。
なお、この場合、PC20は、自機と同一のユーザ名が設定された複数台のPC20の各々について、デバイス10へスキャンキー登録情報の登録を許可するか否かを応答する。また、PC20は、自機と同一のユーザ名が設定された複数台のPC20のうち、いずれかのPC20について、既存デバイス32からのスキャンキー登録情報の取消が選択された場合には、当該既存デバイス32に、当該PC20のスキャンキー登録情報の登録の取消指示を送信する。
図5に戻り説明する。最も新しく登録された一のPC20のスキャンキー登録情報の登録後、使用されていない他のPC20のスキャンキー登録情報があると判断される場合(S518:Yes)、CPU21は、使用されていない他のPC20のスキャンキー登録情報を登録する既存デバイス32へ、スキャンキー登録情報の登録の取消指示を送信する(S520)。すなわち、最も新しく登録されたスキャンキー登録情報の登録後において、使用されていないスキャンキー登録情報を削除させる。このようにすれば、使用される可能性が低いスキャンキー登録情報を登録している既存デバイス32に、その登録を取り消させることができる。次に、CPU11は、デバイス一覧64をLCD26に表示する(S506)。ここで表示されるデバイス一覧64には、S520においてスキャンキー登録情報の取消が指示された既存デバイス32の既存登録表示66は表示されない。
デバイス監視処理によれば、LAN40に新たに接続されたデバイス10に、PC20のスキャンキー登録情報を登録させるべきかを、ユーザに選択させることができる。そして、PC20のスキャンキー登録情報を登録させるべきであることが選択された場合には、デバイス10の送信先を示す情報として、PC20のスキャンキー登録情報を登録させることができる。よって、ユーザの作業負担を軽減できる。
なお、従来は、新たに追加されたデバイス10のドライバを、ユーザがPC20にインストールした場合に、PC20のスキャンキー登録情報をデバイス10に登録するか否かをユーザに選択させ、その結果をPC20からデバイス10へ通知することが行われていた。この場合、デバイス10のドライバをPC20にインストールすることが必須の手順となる。これに対し、本実施形態のデバイス監視処理によれば、デバイス10からPC20へ登録確認通知が送信されるので、ユーザにとっては、デバイス10のドライバを新たにインストールせずとも、デバイス10にPC20のスキャンキー登録情報を登録させることができ、この点からもユーザの作業負担が軽減される。
上記実施形態において、デバイス10がデバイスの一例に相当する。LANI/F15が送信手段の一例に相当する。PC20が外部装置およびコンピュータの一例に相当する。デバイスドライバ24aが情報処理プログラムの一例に相当する。既存デバイス32が他のデバイスの一例に相当する。LAN40がネットワークの一例に相当する。スキャンデータが情報の一例に相当する。ユーザ名、PC名、IPアドレスが特定情報の一例に相当する。PC名、IPアドレスが識別情報の一例に相当する。登録日が登録時情報の一例に相当する。最終使用日が使用時情報の一例に相当する。モデル名、ロケーション、スペック、ノード名が、それぞれデバイス情報の一例に相当する。
S309を実行するCPU11が特定情報取得手段の一例に相当する。S313,S317を実行するCPU11が問い合わせ手段の一例に相当する。S316を実行するCPU11が選択手段の一例に相当する。S324を実行するCPU11が登録手段の一例に相当する。
S502を実行するCPU21が検出手段およびデバイス情報取得手段の一例に相当する。S506を実行するCPU21が登録選択手段、表示手段、取消選択手段の一例に相当する。S510を実行するCPU21が第1取消手段の一例に相当する。S514を実行するCPU21が登録指示手段の一例に相当する。S518を実行するCPU21が使用状態判断手段の一例に相当する。S520を実行するCPU21が第2取消手段の一例に相当する。
以上、実施形態に基づき本発明を説明したが、本発明は上述した実施形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の改良変更が可能であることは容易に推察できるものである。
例えば、上記実施形態では、登録日が登録時情報の一例であり、最終使用日が使用時情報の一例であった。しかしながら、登録時情報および使用時情報は、さらに、時分秒など、時間を示す情報を含んでいても良い。
また、上記実施形態では、デバイスの一例として、複合機であるデバイス10を説明し、外部装置およびコンピュータの一例として、PC20を説明した。しかしながら、例えば電子ゲーム機、デジタルカメラ、スキャナ、プリンタなど各種装置が、デバイス、外部装置、またはコンピュータの一例となり得る。
また、上記実施形態では、デバイス10,または各既存デバイス32にスキャンキー登録情報が登録されているものとして説明した。しかしながら、これに代えて、各既存デバイス32について予め登録されたスキャンキー登録情報が、ネットワークに接続されたサーバにおいて一括して管理される場合にも、本発明は適用可能である。
また、上記実施形態においては、同一ユーザ名で、且つ、IPアドレスが異なる複数台のPC20のうち、スキャンキー登録情報の登録日が新しい1台のPC20が、登録確認通知の送信先として選択されていた。これに代えて、最終使用日が最も新しい1台のPC20を、登録確認通知の送信先として選択するようにしても良い。
また、上記実施形態では、自機(例えばデバイス10)と、他のデバイス(例えば、既存デバイス32)のスペックを比較することなく、他のデバイスから取得されるスキャンキー登録情報で特定されるPC20の各々について、自機の送信先として登録するか否かを問い合わせていた。これに代えて、自機が他のデバイスよりも高スペックであることを条件として、自機の送信先としてスキャンキー登録情報を登録するか否かを問い合わせるようにしても良い。
また、上記実施形態では、デバイス情報には、モデル名、ロケーション、スペック、ノード名などが含まれていた。しかしながら、デバイス情報は、これらのうちいずれかを含むものであれば良く、また、これら以外の情報(例えば、スキャン登録情報の登録日、PC20毎の最終使用日)がデバイス情報に含まれていても良い。
また、上記実施形態では、デバイス一覧64には、モデル名欄71、ロケーション欄72、スペック差分欄74、ノード名欄76、登録日欄78、最終使用日欄79、登録可否欄80、PC名欄82が設けられていたが、デバイス一覧64は、これらのうち、いずれかの欄を含むものであればよく、また、これら以外の欄が設けられていても良い。
また、上記実施形態において、PC20は、デバイス10から送られてくる登録確認通知に含まれる情報を、デバイス一覧64に表示していた。しかしながら、これに代えて、PC20は、既存デバイス32のデバイス情報を、各既存デバイス32から取得して、デバイス一覧64に表示しても良い。また、PC20が、既存デバイス32のデバイス情報を予め記憶している場合には、記憶しているデバイス情報を、デバイス一覧64に表示しても良い。
また、上記実施形態において、デバイス10は、スキャンキー登録情報で特定されるPC20へ、スキャンデータを送信するものとして説明した。しかしながら、デバイスから、送信先として登録された外部装置へ情報を送信する全ての場合において、本発明を適用可能である。例えば、デバイスが、インターネットからRSSフィードを取得し、取得したRSSフィードを、予め登録された送信先の外部装置へ送信するように構成されている場合、RSSフィードの送信先を特定する特定情報の登録において、本発明を適用可能である。
また、上記実施形態において、デバイス10は、スキャンキー登録情報メモリ14aに登録されたスキャンキー登録情報で登録される全てのPC20へスキャンデータを送信するものであっても良いし、また、スキャンキー登録情報メモリ14aに登録されるスキャンキー登録情報のうち、ユーザにより選択されたスキャンキー登録情報で特定されるPC20のみへ、スキャンデータを送信するものであっても良い。
また、上記実施形態において、1台のPC20について、例えば、パスワードが互いに異なる複数のスキャンキー登録情報(ただし、ユーザ名、PC名、IPアドレスは一致)が既存デバイス32に登録されていた場合には、前記複数のスキャンキー登録情報のうち、ユーザによって選択されたスキャンキー登録情報を、デバイス10に登録するように構成しても良い。