デバイス状態通知装置
【課題】有効に存在していない通知先を通知先情報テーブルから削除することを可能にしつつ、煩雑な通知先情報テーブルの管理を必要としないデバイス状態通知装置を提供する。
【解決手段】デバイス状態通知装置は、ネットワークに接続されたデバイスの状態変化を、前記ネットワークに接続された通知先に、前記ネットワークを介して通知するデバイス状態通知装置であって、前記デバイスの状態変化があった場合に、その状態変化があったことを通知する通知先が登録されている通知先情報テーブルと、前記通知先情報テーブルに登録されている通知先が有効に存在するか否かを確認する通知先有効性確認手段と、前記通知先有効性確認手段により、有効に存在することが確認できなかった通知先を、前記通知先情報テーブルから削除する、登録削除手段と、を備えることを特徴とする。
【解決手段】デバイス状態通知装置は、ネットワークに接続されたデバイスの状態変化を、前記ネットワークに接続された通知先に、前記ネットワークを介して通知するデバイス状態通知装置であって、前記デバイスの状態変化があった場合に、その状態変化があったことを通知する通知先が登録されている通知先情報テーブルと、前記通知先情報テーブルに登録されている通知先が有効に存在するか否かを確認する通知先有効性確認手段と、前記通知先有効性確認手段により、有効に存在することが確認できなかった通知先を、前記通知先情報テーブルから削除する、登録削除手段と、を備えることを特徴とする。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、デバイス状態通知装置に関し、特に、デバイスの状態が変化した際に、その変化を通知する機能を有するデバイス状態通知装置に関する。
【背景技術】
【0002】
ネットワークを介して、プリンタと、複数のホストコンピュータとを相互に接続し、1台のプリンタを複数のホストコンピュータで共有する利用態様が普及している。このような利用態様の場合、各ホストコンピュータは、プリンタの状態変化を監視し、印刷ジョブの開始や終了、プリンタの障害などを監視する必要がある。このような状態変化の監視がホストコンピュータで出来るようにするため、プリンタ側にデバイス状態通知装置が設けられている。
【0003】
例えば、プリンタとホストコンピュータとの間を接続するネットワークの規格がTCP/IPである場合、SNMP(Simple Network Management Protocol)を用いることにより、プリンタの監視を実現する。すなわち、ホストコンピュータ側に、SNMPに準拠した管理アプリケーションを搭載し、プリンタ側に、同じくSNMPに準拠したネットワークインターフェースを搭載し、SNMP Trapという監視手段を用いて、ホストコンピュータはプリンタの状態監視を行う。
【0004】
プリンタ側で予め指定された状態変化が発生したときに、どのホストコンピュータに通知をするのかは、プリンタ側に設けられた通知先情報テーブルに事前に登録されている。しかし、一般的に、通知先情報テーブルに登録できる通知先アドレスの数には制限がある。このため、新たにプリンタの監視を開始しようとしたホストコンピュータが、プリンタの通知先情報テーブルに、自らの通知先アドレスを登録しようとしても、既に通知先情報テーブルに空きがない場合には、その登録ができなくなってしまう。通知先情報テーブルに通知先アドレスの登録ができないと、ホストコンピュータは、そのプリンタの状態監視ができないこととなる。
【0005】
その一方で、以前に通知先情報テーブルに登録されてた通知先であっても、既に動作を停止していたり、ネットワーク接続を切断していたりして、使用されていない通知先が存在することもある。このような有効に存在していない通知先が通知先情報テーブルに登録されている場合、新しい通知先の登録ができないばかりか、プリンタは、通知先情報テーブルの登録に従って、状態変化の通知を送信し続けることとなり、ネットワーク上を無用なパケットが流れ、ネットワーク負荷の増大を招くこととなる。
【0006】
このため、例えば、特開2003−99342号公報(特許文献1)には、ホストコンピュータの管理アプリケーションからの削除要求に基づいて、通知先情報テーブルから通知先を削除する手法を開示している。しかし、この手法は、管理アプリケーションからの削除要求に基づいて通知先を削除するため、ホストコンピュータ側にその管理が委ねられてしまう。このため、何らかの理由で、ホストコンピュータが、この削除要求を出すことなく、ネットワークから外れてしまったような場合には、その通知先は通知先情報テーブルに残ってしまう。
【0007】
また、例えば、特開2001−197059号公報(特許文献2)には、通知先情報テーブルに登録する通知先に有効期限を設ける技術を開示している。しかし、この手法は、通知先情報テーブルにおいて、通知先毎に有効期限を管理しなければならず、その管理が煩雑であるという問題が生じる。
【0008】
さらにまた、このような問題は、プリンタだけに限られたものではなく、プリンタ以外の様々な種類のデバイスにおいて、その状態変化を通知先に通知するデバイス状態通知装置であれば生じ得る。
【特許文献1】特開2003−99342号公報
【特許文献2】特開2001−197059号公報
【発明の開示】
【発明が解決しようとする課題】
【0009】
そこで本発明は、前記課題に鑑みてなされたものであり、有効に存在していない通知先を通知先情報テーブルから削除することを可能にしつつ、煩雑な通知先情報テーブルの管理を必要としないデバイス状態通知装置を提供することを目的とする。
【課題を解決するための手段】
【0010】
上記課題を解決するため、本発明に係るデバイス状態通知装置は、
ネットワークに接続されたデバイスの状態変化を、前記ネットワークに接続された通知先に、前記ネットワークを介して通知するデバイス状態通知装置であって、
前記デバイスの状態変化があった場合に、その状態変化があったことを通知する通知先が登録されている通知先情報テーブルと、
前記通知先情報テーブルに登録されている通知先が有効に存在するか否かを確認する通知先有効性確認手段と、
前記通知先有効性確認手段により、有効に存在することが確認できなかった通知先を、前記通知先情報テーブルから削除する、登録削除手段と、
を備えることを特徴とする。
【0011】
この場合、前記通知先有効性確認手段は、前記通知先情報テーブルに登録されている通知先に、何らかの応答を要求する応答要求を発行し、この応答要求に対する応答が得られない場合には、その通知先が有効に存在していないと判断するようにしてもよい。
【0012】
また、前記通知先有効性確認手段は、定期的に、前記通知先情報テーブルに登録されている通知先が有効に存在するか否かを確認するようにしてもよい。
【0013】
或いは、前記通知先有効性確認手段は、デバイスに状態変化があったことを通知する際に、前記通知先情報テーブルに登録されている通知先が有効に存在するか否かを確認するようにしてもよい。
【0014】
また、前記通知先有効性確認手段は、前記応答要求を発行しても通知先から応答が得られない場合、その通知先への前記応答要求を規定回数まで発行し、規定回数を超えて前記応答要求を発行しても応答が得られない通知先については有効に存在していないと判断するようにしてもよい。
【0015】
或いは、前記通知先有効性確認手段は、通知先へ前記応答要求を発行した後、所定時間が経過しても応答が得られない場合、連続して次の応答要求は発行せずに、確認回数をカウントアップし、
前記登録削除手段は、この確認回数が規定回数を超えた場合に、その通知先を前記通知先情報テーブルから削除するようにしてもよい。
【0016】
また、前記デバイス状態通知装置は、前記状態変化が監視される前記デイバスに設けられているようにしてもよい。
【0017】
或いは、前記デバイス状態通知装置はプロキシサーバであり、前記ネットワークを介して、前記状態変化が監視される前記デバイスに接続されるようにしてもよい。
【発明を実施するための形態】
【0018】
以下、図面を参照して、本発明の実施形態を説明する。なお、以下に説明する実施形態は、本発明の技術的範囲を限定するものではない。
【0019】
〔第1実施形態〕
図1は、本実施形態に係るデバイスネットワークシステム10の全体構成を示すブロック図である。この図1に示すように、本実施形態に係るデバイスネットワークシステム10は、ネットワーク12に接続された、1又は複数のホストコンピュータ14と、1又は複数のプリンタ16とを備えて、構成されている。この図1の例では、4台のホストコンピュータ14A〜14Dが、ネットワーク12に接続されており、1台のプリンタ16が、ネットワーク12に接続されている。
【0020】
本実施形態においては、ネットワーク12は、例えば、TCP/IPの規格に準拠しており、このネットワーク12に、同じくTCP/IPの規格に準拠したホストコンピュータ14とプリンタ16とが接続されている。ホストコンピュータ14は、プリンタ16の状態をSNMP Trapを用いて監視する。この監視を行うために、ホストコンピュータ14では、管理アプリケーションが起動されている。
【0021】
この管理アプリケーションは、例えば、このプリンタ16に送信した印刷データの印刷開始、その印刷の終了、紙無しエラーの発生、トナー無しエラーの発生などを、SNMP Trapを用いて監視する。プリンタ16では、予め指定されたこれらの状態が発生すると、SNMP Trapを用いて、指定されたホストコンピュータ14の管理アプリケーションに通知する。すなわち、プリンタ16は、これらの状態変化が発生した通知を、通知先アドレス宛に送信する。プリンタ16は、このような状態の監視がなされるデバイスの一例である。
【0022】
図2は、本実施形態に係るプリンタ16の内部構成の一例を示すブロック図である。この図2に示すように、本実施形態に係るプリンタ16は、ネットワークインターフェース20と、印刷機能部22とを備えて、構成されている。ネットワークインターフェース20は、このプリンタ16を、ネットワーク12に接続するためのインターフェースである。このネットワークインターフェース20が、本実施形態におけるデバイス状態通知装置に相当する。また、印刷機能部22は、このプリンタ16で印刷を行うための機能部であり、ネットワークインターフェース20から受信した印刷データに基づいて、印刷を行う。
【0023】
さらに、本実施形態においては、ネットワークインターフェース20は、通知先情報テーブル30と、状態検知機能部32と、状態通知機能部34と、通知先情報テーブル管理機能部36と、通知先有効性確認機能部38とを備えている。通知先情報テーブル30は、EEPROMなどの書き換え可能な不揮発性記憶装置に形成されており、プリンタ16の電源がオフにされても、その内容が保持されように構成されている。
【0024】
また、状態検知機能部32と状態通知機能部34と通知先情報テーブル管理機能部36と通知先有効性確認機能部38の各機能部は、ソフトウェア又はハードウェアで実現することができる。例えば、ソフトウェアで実現する場合には、各機能部の機能を実現するプログラムをCPUが読み込んで実行することにより、実現することができる。また、ハードウェアで実現する場合には、各機能部の機能を実現するように設計されたASIC(Application Specific IC)を組み込むことにより、実現することができる。さらに、ソフトウェアとハードウェアとが協働して、これらの各機能部を実現するようにしてもよい。
【0025】
より具体的には、通知先情報テーブル30は、予め定められた状態変化がプリンタ16で発生した場合に、その通知を行う通知先に関する情報を保持するテーブルである。状態検知機能部32は、各種のプログラムやセンサを用いて、プリンタ16の状態変化を検出するための機能部である。状態通知機能部34は、予め定められた状態変化が状態検知機能部32で検出された場合に、SNMP Trapを用いて、ホストコンピュータ14に通知するための機能部である。通知すべき通知先アドレスは、状態通知機能部34が通知先情報テーブル30を検索して取得する。
【0026】
通知先情報テーブル管理機能部36は、ホストコンピュータ14からの要求や指示に基づいて、通知先情報テーブル30に新しい通知先を登録したり、既に登録されている通知先を削除したりする。通知先有効性確認機能部38は、通知先情報テーブル30に登録されている通知先の有効性を確認し、その通知先が有効に存在しない場合には、通知先情報テーブル30から削除する処理を行う機能部である。
【0027】
次に、図3に基づいて、この通知先有効性確認機能部38が行う処理について、詳細に説明する。この図3は、通知先有効性確認機能部38が実行する定期死活確認処理の内容を説明するフローチャートを示す図である。この定期死活確認処理は、所定の時間間隔で定期的に起動される処理である。本実施形態においては、例えば、1時間に1回、或いは、2時間に1回といった間隔で起動される。
【0028】
この図3に示すように、まず、通知先有効性確認機能部38は、通知先情報テーブル30から、通知先アドレスを取得する(ステップS10)。図4は、本実施形態に係る通知先情報テーブル30の内部構成の一例を示す図である。この図4に示すように、通知先情報テーブル30には、通知先として登録されているホストコンピュータ14の通知先アドレスが格納されている。本実施形態では、この通知先情報テーブル30には、最大で4個の通知先アドレスが格納可能である。つまり、本実施形態に係る通知先情報テーブル30には、4個までしか、通知先アドレスが登録できない。
【0029】
次に、図3に示すように、通知先有効性確認機能部38は、死活確認を実行する(ステップS12)。すなわち、ステップS10で取得した通知先アドレスのホストコンピュータ14が、現時点で、ネットワーク12上に有効に存在しているのか、それとも、存在していないのかを確認する。
【0030】
この死活確認には、様々な手法が考えられるが、本実施形態では、図5に示すように、Pingを発行することにより、確認する。すなわち、プリンタ16の通知先有効性確認機能部38は、ステップS10で取得した通知先アドレス宛に、Pingを発行する。このPingを受信したホストコンピュータ14の管理アプリケーションは、Ping応答を応答パケットとして返信する。したがって、プリンタ16の通知先有効性確認機能部38は、このPing応答が所定時間内に返信されるか否かにより、通知先アドレスのホストコンピュータ14が有効に存在するか否かを判断する。
【0031】
このため、図3に示すように、プリンタ16の通知先有効性確認機能部38は、所定時間内にホストコンピュータ14からの応答を受信したかどうかを判断する(ステップS14)。具体的には、Pingを発行した後、タイムアウトになるまでに、ホストコンピュータ14からPing応答を受信したかどうかを判断する。
【0032】
所定時間内に応答を受信できなかった場合(ステップS14:NO)には、通知先有効性確認機能部38は、確認回数を1つカウントアップする(ステップS16)。確認回数の初期値はゼロに設定されており、Pingを1回発行する度に、確認回数は1増えることとなる。
【0033】
次に、通知先有効性確認機能部38は、確認回数が規定回数を超えたかどうかを判断する(ステップS18)。例えば、本実施形態においては、規定回数が3回に設定されている。このため、通知先有効性確認機能部38は、ステップS16でカウントアップした確認回数が、3回を越えたかどうかを判断する。
【0034】
確認回数が3回を越えていないと判断した場合(ステップS18:NO)には、通知先有効性確認機能部38は、上述したステップS12に戻り、再度、死活確認を実行する。一方、確認回数が3回を越えた場合(ステップS18:YES)、つまり、確認回数が4回だった場合には、通知先有効性確認機能部38は、通知先情報テーブル30から、その通知先を削除する(ステップS20)。すなわち、ステップS10で取得した通知先アドレスを、通知先情報テーブル30から削除する。
【0035】
図6は、本実施形態において、プリンタ16の通知先有効性確認機能部38が3回、Pingを発行しても、ホストコンピュータ14から応答が得られなかった場合のプリンタ16とホストコンピュータ14との間のやり取りを示している。この図6に示すように、最初にPingを発行し、タイムアウトになると2回目のPingを発行し、さらにこれもタイムアウトになると3回目のPingを発行する。しかし、これもタイムアウトになると、通知先有効性確認機能部38は、通知先情報テーブル30から通知先アドレスを削除するのである。
【0036】
これに対して、図3に示すように、ステップS14において、ホストコンピュータ14から応答があった場合(ステップS14:YES)には、通知先有効性確認機能部38は、確認回数をゼロにリセットする(ステップS22)。
【0037】
このステップS22の後、又は、上述したステップS20の後、通知先有効性確認機能部38は、通知先情報テーブル30に登録されているすべての通知先の死活確認を行ったかどうかを判断する(ステップS24)。例えば、図4の例では、2つの通知先が通知先情報テーブル30に登録されているので、これら2つの通知先について、死活確認を行ったかどうかを判断する。
【0038】
通知先情報テーブル30に登録されているすべての登録先の死活確認が完了していない場合(ステップS24:NO)には、上述したステップS10に戻り、通知先情報テーブル30から次の通知先の通知先アドレスを取得し、死活確認を行う。一方、通知先情報テーブル30に登録されているすべての登録先の死活確認が完了した場合(ステップS24:YES)には、この定期死活確認処理を終了する。
【0039】
なお、図3に示した定期死活確認処理は、通知先情報テーブルに登録された通知先の格納数が通知先情報テーブルに格納できる通知先の最大数に達したときにこの処理を開始することとしてもよい。
【0040】
以上のように、本実施形態に係るデバイスネットワークシステム10によれば、通知先情報テーブル30に登録されているホストコンピュータ14に対して、定期的に死活確認処理を実行し、応答が得られないホストコンピュータ14については、通知先情報テーブル30から通知先アドレスを削除することとした。このため、デバイスネットワークシステム10に有効に存在していないにも拘わらず、通知先が通知先情報テーブル30に登録されたままとなってしまうことを回避することができる。これにより、不要な通知先を通知先情報テーブル30から削除し、新たなホストコンピュータ14からの登録要求があった場合に、通知先情報テーブル30に空きが無く、登録ができないという事態が生ずるのを、極力避けることができる。
【0041】
また、不要な通知先は通知先情報テーブル30から削除されるため、通知先の存在しないSNMP Trapのパケットがネットワーク12上を流れないようにすることができる。このため、ネットワーク12上を流れる無駄なパケットを削減することができる。さらに、ホストコンピュータ14の管理アプリケーションは、従来のアプリケーションをそのまま利用できるので、ホストコンピュータ14側の設定変更も不要である。
【0042】
〔第2実施形態〕
上述した第1実施形態では、通知先有効性確認機能部38は、Ping発行後に応答が無い場合、所定時間経過後(タイムアウト後)に、連続的に次のPingを発行することとしたが、本実施形態においては、次に定期死活確認処理が起動された際に、再度Pingを発行するようにしたものである。すなわち、連続的にPingを再発行するのではなく、所定の時間間隔をおいてから、次のPingを発行するようにしたものである。以下、上述した第1実施形態と異なる部分を説明する。
【0043】
図7は、本実施形態に係る通知先有効性確認機能部38が実行する定期死活確認処理の内容を説明するフローチャートを示す図であり、上述した第1実施形態における図3に対応する図である。この定期死活確認処理は、所定の時間間隔で定期的に起動される処理である。本実施形態においても、上述した第1実施形態と同様に、例えば、1時間に1回、或いは、2時間に1回といった間隔で起動される。
【0044】
この図7に示すように、まず、通知先有効性確認機能部38は、通知先情報テーブル30から、通知先アドレスと確認回数を取得する(ステップS30)。図8は、本実施形態に係る通知先情報テーブル30の内部構成の一例を示す図である。この図8に示すように、本実施形態に係る通知先情報テーブル30には、通知先として登録されているホストコンピュータ14の通知先アドレスに加えて、確認回数が格納されている。この確認回数は、対応する通知先アドレスの死活確認を行った際に、応答が返ってこなかった回数を示している。また、この確認回数は、死活確認を行って、存在が確認できた場合には、ゼロにリセットされる回数である。
【0045】
次に、図7に示すように、通知先有効性確認機能部38は、死活確認を実行する(ステップS32)。すなわち、上述した第1実施形態と同様の手法で、ステップS30で取得した通知先アドレスのホストコンピュータ14が、現時点で、ネットワーク12上に有効に存在しているのか、それとも、存在していないのかを確認する。
【0046】
次に、プリンタ16の通知先有効性確認機能部38は、所定時間内にホストコンピュータ14からの応答を受信したかどうかを判断する(ステップS34)。具体的には、Pingを発行した後、タイムアウトになるまでに、ホストコンピュータ14からPing応答を受信したかどうかを判断する。
【0047】
所定時間内に応答を受信できなかった場合(ステップS34:NO)には、通知先有効性確認機能部38は、確認回数を1つカウントアップし、カウントアップ後の確認回数を通知先情報テーブル30に格納する(ステップS36)。
【0048】
次に、通知先有効性確認機能部38は、確認回数が規定回数を超えたかどうかを判断する(ステップS38)。例えば、本実施形態においては、規定回数が3回に設定されている。このため、通知先有効性確認機能部38は、ステップS36でカウントアップした確認回数が、3回を越えたかどうかを判断する。
【0049】
確認回数が3回を越えたと判断した場合(ステップS38:YES)、つまり、確認回数が4回だった場合には、通知先有効性確認機能部38は、通知先情報テーブル30から、その通知先を削除する(ステップS40)。すなわち、ステップS30で取得した通知先アドレスと確認回数を、通知先情報テーブル30から削除する。
【0050】
これに対して、ステップS34において、ホストコンピュータ14から応答があった場合(ステップS34:YES)には、通知先有効性確認機能部38は、通知先情報テーブル30の対応する確認回数を、ゼロにリセットする(ステップS42)。
【0051】
このステップS42の後、又は、上述したステップS40の後、又は、上述したステップS38で確認回数が規定回数を超えていないと判断した場合(ステップS38:NO)には、通知先有効性確認機能部38は、通知先情報テーブル30に登録されているすべての通知先の死活確認を行ったかどうかを判断する(ステップS44)。例えば、図8の例では、2つの通知先が通知先情報テーブル30に登録されているので、これら2つの通知先について、それぞれ1回ずつ死活確認を行ったかどうかを判断する。
【0052】
通知先情報テーブル30に登録されているすべての登録先の死活確認が完了していない場合(ステップS44:NO)には、上述したステップS30に戻り、通知先情報テーブル30から次の通知先の通知先アドレスと確認回数を取得し、死活確認を行う。一方、通知先情報テーブル30に登録されているすべての登録先の死活確認が完了した場合(ステップS44:YES)には、この定期死活確認処理を終了する。
【0053】
なお、図7に示した定期死活確認処理は、通知先情報テーブルに登録された通知先の格納数が通知先情報テーブルに格納できる通知先の最大数に達したときにこの処理を開始することとしてもよい。
【0054】
以上のように、本実施形態に係るデバイスネットワークシステム10によっても、通知先情報テーブル30に登録されているホストコンピュータ14に対して、定期的に死活確認処理を実行し、応答が得られないホストコンピュータ14については、通知先情報テーブル30から通知先アドレスを削除することとした。このため、デバイスネットワークシステム10に有効に存在していないにも拘わらず、通知先が通知先情報テーブル30に登録されたままとなってしまうことを回避することができる。
【0055】
また、ステップS34において、タイムアウトとなってホストコンピュータ14の存在が確認できなかった場合、連続的に次の死活確認を行うのではなく、次の定期死活確認処理で、そのホストコンピュータ14の死活確認を行うこととしたので、何らかの理由でホストコンピュータ14が一時的に応答できなかったに過ぎないような場合に、その登録が通知先情報テーブル30から削除されてしまうのを回避することができる。
【0056】
〔第3実施形態〕
上述した第1実施形態では、通知先情報テーブル30に登録されている通知先のホストコンピュータ14の有効性を、定期的に確認することとしたが、本実施形態では、通知先にSNMP Trapを発行する際に合わせて確認するようにしたものである。以下、上述した第1実施形態と異なる部分を説明する。
【0057】
図9は、本実施形態に係るTrap発行処理の内容を説明するフローチャートを示す図である。このTrap発行処理は、上述した第1実施形態と同様に通知先有効性確認機能部38が実行する処理であるが、本実施形態においては、このTrap発行処理は、第1実施形態のように定期的に起動されるのではなく、SNMP Trapを発行する際に起動される処理である。
【0058】
図9に示すように、本実施形態に係るTrap発行処理は、ステップS10〜ステップS20及びステップS24の処理内容は、上述した第1実施形態と同様であるが、ステップS14において、死活確認に対する応答を受信した場合の処理が、第1実施形態と異なる。
【0059】
すなわち、本実施形態においては、死活確認に対する応答を受信した場合(ステップS14:YES)には、通知先有効性確認機能部38は、状態通知機能部34を介して、ステップS10で取得した通知先アドレスに、SNMP Trapを発行する(ステップS50)。すなわち、図10に示すように、状態通知機能部34を起動して、Ping応答が受信できた通知先に対して、SNMP Trapを発行する。但し、プリンタ16で発生した状態変化の種別によっては、その状態変化を通知するような設定になっていない通知先も存在し得る。このように、発生した状態変化が、通知を求める種別の状態変化ではない通知先については、SNMP Trapは発行しない。続いて、通知先有効性確認機能部38は、確認回数をゼロにリセットする(ステップS52)。
【0060】
このステップS52の後、又は、ステップS20の後、通知先有効性確認機能部38は、上述した第1実施形態と同様に、通知先情報テーブル30に登録されているすべての通知先の死活確認を行ったかどうかを判断し(ステップS24)、すべての登録先の死活確認が完了していない場合(ステップS24:NO)には、上述したステップS10に戻り、通知先情報テーブル30から次の通知先の通知先アドレスを取得し、死活確認を行う。一方、通知先情報テーブル30に登録されているすべての登録先の死活確認が完了した場合(ステップS24:YES)には、この定期死活確認処理を終了する。
【0061】
以上のように、本実施形態に係るデバイスネットワークシステム10によっても、通知先情報テーブル30に登録されているホストコンピュータ14に対して、定期的に死活確認処理を実行し、応答が得られないホストコンピュータ14については、通知先情報テーブル30から通知先アドレスを削除することとした。このため、デバイスネットワークシステム10に有効に存在していないにも拘わらず、通知先情報テーブル30に登録されたままとなってしまうことを回避することができる。これにより、不要な通知先を通知先情報テーブル30から削除し、新たなホストコンピュータ14からの登録要求があった場合に、通知先情報テーブル30に空きが無く、登録ができないという事態が生ずるのを、極力避けることができる。
【0062】
また、SNMP Trapを発行する際に、通知先情報テーブル30に登録されている登録先の有効性も合わせて確認することとしたので、定期的に死活確認処理を起動するための管理が不要になる。
【0063】
〔第1乃至第3実施形態の変形例〕
上述した第1実施形態乃至第3実施形態のデバイスネットワークシステム10では、プリンタ16が通知先情報テーブル30を保持して管理することとしたが、このデバイスネットワークシステム10にプロキシサーバを設けて、このプロキシサーバが通知先情報テーブル30を保持して管理するようにしてもよい。
【0064】
図11は、デバイスネットワークシステム10にプロキシサーバ40を設けた場合の全体システム構成の一例を示すブロック図である。この図11に示すように、プロキシサーバ40は、ネットワーク12に接続され、このネットワーク12に関する管理を行う。本実施形態では、このプロキシサーバ40は、Trap発行の管理を行うとともに、上述したデバイス状態通知装置が組み込まれており、通知先情報テーブル30の管理を行う。このようなデバイスネットワークシステム10の構成であっても、上述した第1実施形態乃至第3実施形態のそれぞれ実施形態を実現することができる。
【0065】
図11のデバイスネットワークシステム10に、第1実施形態を適用する場合には、プロキシサーバ40が、図3に示した定期死活確認処理を実行する。そして、上述したステップS12の死活確認を実行する際に、図12に示すように、プロキシサーバ40が、ステップS10で取得した通知先アドレスにPingを発行する。この発行したPingに対する応答が得られるか否かで、通知先アドレスに対応するホストコンピュータ14の存在を確認する。図12に示すように、発行したPingに対する応答が得られた場合(ステップS14:YES)には、プロキシサーバ40は、通知先情報テーブル30の登録をそのまま維持する。
【0066】
一方、図13に示すように、Pingを発行しても応答が得られない場合(ステップS14:NO)には、プロキシサーバ40は、タイムアウト発生後に、規定回数まではPingの発行を連続的に繰り返す。本実施形態においては、規定回数は3回であるので、最初にPingを発行し、タイムアウトになると2回目のPingを発行し、さらにこれもタイムアウトになると3回目のPingを発行する。しかし、これもタイムアウトになると、プロキシサーバ40は、通知先情報テーブル30から通知先アドレスを削除するのである。
【0067】
この図11のデバイスネットワークシステム10のネットワーク構成においては、プリンタ16でSNMP Trapを発行すべき状態変化が生じた場合、プリンタ16は、そのSNMP Trapをプロキシサーバ40に対して発行する。このSNMP Trapを受信したプロキシサーバ40は、通知先情報テーブル30を検索し、この状態変化を通知すべきホストコンピュータ14の通知先アドレスを取得し、SNMP Trapをそれぞれの通知先に対して発行する。
【0068】
一方、図11のデバイスネットワークシステム10に、第2実施形態を適用する場合には、プロキシサーバ40が、図7に示した定期死活確認処理を実行する。すなわち、プロキシサーバ40が、定期的に起動される定期死活確認処理において、死活確認の実行を各通知先について1回ずつ行い(ステップS32)、応答が得られない場合(ステップS34:NO)でも、連続して死活確認は行わない。そして、次の定期死活確認処理において、再び死活確認を行い、死活確認の確認回数が規定回数を超えるまで、通知先情報テーブル30から削除しない(ステップS38:NO)。この死活確認を繰り返し、確認回数が規定回数を超えた場合(ステップS38:YES)には、そのホストコンピュータ14の通知先アドレスを、通知先情報テーブル30から削除する(ステップS40)。
【0069】
また、図11のデバイスネットワークシステム10に、第3実施形態を適用する場合には、プロキシサーバ40が、図9に示したTrap発行処理を実行する。すなわち、プロキシサーバ40がプリンタ16からSNMP Trapを受信した場合に、図9に示すTrap発行処理を実行する。
【0070】
具体的には、この図9のTrap発行処理において、プロキシサーバ40が、ステップS10で取得した通知先アドレスにPingを発行する(ステップS12)。そして、Ping応答が得られるか否かで、通知先アドレスに対応するホストコンピュータ14の存在を確認する。図14に示すように、Ping応答が得られた場合(ステップS14:YES)には、プロキシサーバ40は、その通知先にSNMP Trapを発行する(ステップS50)。
【0071】
一方、図15に示すように、Pingを発行しても応答が得られない場合(ステップS14:NO)には、プロキシサーバ40は、タイムアウト発生後に、規定回数まではPingの発行を連続的に繰り返す。本実施形態においては、規定回数は3回であるので、最初にPingを発行し、タイムアウトになると2回目のPingを発行し、さらにこれもタイムアウトになると3回目のPingを発行する。しかし、これもタイムアウトになると、プロキシサーバ40は、通知先情報テーブル30から通知先アドレスを削除するのである。
【0072】
このように、プロキシサーバ40を用いても、上述した第1実施形態乃至第3実施形態と同様の通知先情報テーブル30の管理を、プロキシサーバ40で実現することができる。
【0073】
なお、本発明は上記実施形態に限定されず種々に変形可能である。例えば、上述した実施形態においては、デバイスの状態変化を監視する対象がプリンタ16である場合を例にして、本発明を説明したが、状態変化を監視する対象のデバイスはプリンタ16に限られるものではない。
【0074】
また、上述した実施形態では、通知先情報テーブル30には、4個まで通知先に関する情報が格納できる場合を例に本発明を説明したが、通知先情報テーブル30に格納できる通知先の数は、任意に設計することができる。
【0075】
また、上述した実施形態では、ネットワーク12がTCP/IPに準拠しており、SNMP Trapを用いて、監視対象となっているデバイスの状態変化を、ホストコンピュータ14に通知することしたが、他の通信規格やプロトコルを用いて、この通知を実現できるようにしてもよい。
【0076】
また、上述した実施形態では、1つのホストコンピュータ14には、1つの管理アプリケーションが生成されることを前提に説明をしたが、1つのホストコンピュータ14に複数の管理アプリケーションが生成されてもよい。この場合、プリンタ16は各管理アプリケーションに対して、上述した各処理を行うこととなる。すなわち、プリンタ16は、各アプリケーションに対して、死活確認を行ったり、SNMP Trapを発行したりすればよい。
【図面の簡単な説明】
【0077】
【図1】本発明の適用されたデバイスネットワークシステムのネットワーク構成の一例を説明するブロック図。
【図2】本発明を適用したプリンタの内部構成の一例を示す機能ブロック図。
【図3】本発明の第1実施形態に係るプリンタで実行される定期死活確認処理の内容の一例を説明するフローチャートを示す図。
【図4】図2のプリンタが保持する通知先情報テーブルの構成の一例を示す図。
【図5】図3の定期死活確認処理において、プリンタがPingを発行し、ホストコンピュータからPing応答が得られた場合における、プリンタとホストコンピュータとの間のやり取りの一例を示す図。
【図6】図3の定期死活確認処理において、プリンタがPingを発行し、ホストコンピュータからPing応答が得られなかった場合における、プリンタとホストコンピュータとの間のやり取りの一例を示す図。
【図7】本発明の第2実施形態に係るプリンタで実行される定期死活確認処理の内容の一例を説明するフローチャートを示す図。
【図8】図2のプリンタが保持する通知先情報テーブルの構成の一例を示す図。
【図9】本発明の第3実施形態に係るプリンタで実行されるTrap発行処理の内容の一例を説明するフローチャートを示す図。
【図10】図9のTrap発行処理において、プリンタがPingを発行し、ホストコンピュータからPing応答が得られた場合における、プリンタとホストコンピュータとの間のやり取りの一例を示す図。
【図11】図1のデバイスネットワークシステムにプロキシサーバを追加した場合のネットワーク構成の一例を説明するブロック図。
【図12】図11のデバイスネットワークシステムのプロキシサーバに、第1実施形態を適用した場合において、プロキシサーバがPingを発行し、ホストコンピュータからPing応答が得られた場合における、プロキシサーバとホストコンピュータとの間のやり取りの一例を示す図。
【図13】図11のデバイスネットワークシステムのプロキシサーバに、第1実施形態を適用した場合において、プロキシサーバがPingを発行し、ホストコンピュータからPing応答が得られなかった場合における、プロキシサーバとホストコンピュータとの間のやり取りの一例を示す図。
【図14】図11のデバイスネットワークシステムのプロキシサーバに、第3実施形態を適用した場合において、プロキシサーバがPingを発行し、ホストコンピュータからPing応答が得られた場合における、プリンタとプロキシサーバとホストコンピュータとの間のやり取りの一例を示す図。
【図15】図11のデバイスネットワークシステムのプロキシサーバに、第3実施形態を適用した場合において、プロキシサーバがPingを発行し、ホストコンピュータからPing応答が得られた場合における、プリンタとプロキシサーバとホストコンピュータとの間のやり取りの一例を示す図。
【符号の説明】
【0078】
10 デバイスネットワークシステム
12 ネットワーク
14(14A〜14D) ホストコンピュータ
16 プリンタ
20 ネットワークインターフェース
22 印刷機能部
30 通知先情報テーブル
32 状態検知機能部
34 状態通知機能部
36 通知先情報テーブル管理機能部
38 通知先有効性確認機能部
【技術分野】
【0001】
本発明は、デバイス状態通知装置に関し、特に、デバイスの状態が変化した際に、その変化を通知する機能を有するデバイス状態通知装置に関する。
【背景技術】
【0002】
ネットワークを介して、プリンタと、複数のホストコンピュータとを相互に接続し、1台のプリンタを複数のホストコンピュータで共有する利用態様が普及している。このような利用態様の場合、各ホストコンピュータは、プリンタの状態変化を監視し、印刷ジョブの開始や終了、プリンタの障害などを監視する必要がある。このような状態変化の監視がホストコンピュータで出来るようにするため、プリンタ側にデバイス状態通知装置が設けられている。
【0003】
例えば、プリンタとホストコンピュータとの間を接続するネットワークの規格がTCP/IPである場合、SNMP(Simple Network Management Protocol)を用いることにより、プリンタの監視を実現する。すなわち、ホストコンピュータ側に、SNMPに準拠した管理アプリケーションを搭載し、プリンタ側に、同じくSNMPに準拠したネットワークインターフェースを搭載し、SNMP Trapという監視手段を用いて、ホストコンピュータはプリンタの状態監視を行う。
【0004】
プリンタ側で予め指定された状態変化が発生したときに、どのホストコンピュータに通知をするのかは、プリンタ側に設けられた通知先情報テーブルに事前に登録されている。しかし、一般的に、通知先情報テーブルに登録できる通知先アドレスの数には制限がある。このため、新たにプリンタの監視を開始しようとしたホストコンピュータが、プリンタの通知先情報テーブルに、自らの通知先アドレスを登録しようとしても、既に通知先情報テーブルに空きがない場合には、その登録ができなくなってしまう。通知先情報テーブルに通知先アドレスの登録ができないと、ホストコンピュータは、そのプリンタの状態監視ができないこととなる。
【0005】
その一方で、以前に通知先情報テーブルに登録されてた通知先であっても、既に動作を停止していたり、ネットワーク接続を切断していたりして、使用されていない通知先が存在することもある。このような有効に存在していない通知先が通知先情報テーブルに登録されている場合、新しい通知先の登録ができないばかりか、プリンタは、通知先情報テーブルの登録に従って、状態変化の通知を送信し続けることとなり、ネットワーク上を無用なパケットが流れ、ネットワーク負荷の増大を招くこととなる。
【0006】
このため、例えば、特開2003−99342号公報(特許文献1)には、ホストコンピュータの管理アプリケーションからの削除要求に基づいて、通知先情報テーブルから通知先を削除する手法を開示している。しかし、この手法は、管理アプリケーションからの削除要求に基づいて通知先を削除するため、ホストコンピュータ側にその管理が委ねられてしまう。このため、何らかの理由で、ホストコンピュータが、この削除要求を出すことなく、ネットワークから外れてしまったような場合には、その通知先は通知先情報テーブルに残ってしまう。
【0007】
また、例えば、特開2001−197059号公報(特許文献2)には、通知先情報テーブルに登録する通知先に有効期限を設ける技術を開示している。しかし、この手法は、通知先情報テーブルにおいて、通知先毎に有効期限を管理しなければならず、その管理が煩雑であるという問題が生じる。
【0008】
さらにまた、このような問題は、プリンタだけに限られたものではなく、プリンタ以外の様々な種類のデバイスにおいて、その状態変化を通知先に通知するデバイス状態通知装置であれば生じ得る。
【特許文献1】特開2003−99342号公報
【特許文献2】特開2001−197059号公報
【発明の開示】
【発明が解決しようとする課題】
【0009】
そこで本発明は、前記課題に鑑みてなされたものであり、有効に存在していない通知先を通知先情報テーブルから削除することを可能にしつつ、煩雑な通知先情報テーブルの管理を必要としないデバイス状態通知装置を提供することを目的とする。
【課題を解決するための手段】
【0010】
上記課題を解決するため、本発明に係るデバイス状態通知装置は、
ネットワークに接続されたデバイスの状態変化を、前記ネットワークに接続された通知先に、前記ネットワークを介して通知するデバイス状態通知装置であって、
前記デバイスの状態変化があった場合に、その状態変化があったことを通知する通知先が登録されている通知先情報テーブルと、
前記通知先情報テーブルに登録されている通知先が有効に存在するか否かを確認する通知先有効性確認手段と、
前記通知先有効性確認手段により、有効に存在することが確認できなかった通知先を、前記通知先情報テーブルから削除する、登録削除手段と、
を備えることを特徴とする。
【0011】
この場合、前記通知先有効性確認手段は、前記通知先情報テーブルに登録されている通知先に、何らかの応答を要求する応答要求を発行し、この応答要求に対する応答が得られない場合には、その通知先が有効に存在していないと判断するようにしてもよい。
【0012】
また、前記通知先有効性確認手段は、定期的に、前記通知先情報テーブルに登録されている通知先が有効に存在するか否かを確認するようにしてもよい。
【0013】
或いは、前記通知先有効性確認手段は、デバイスに状態変化があったことを通知する際に、前記通知先情報テーブルに登録されている通知先が有効に存在するか否かを確認するようにしてもよい。
【0014】
また、前記通知先有効性確認手段は、前記応答要求を発行しても通知先から応答が得られない場合、その通知先への前記応答要求を規定回数まで発行し、規定回数を超えて前記応答要求を発行しても応答が得られない通知先については有効に存在していないと判断するようにしてもよい。
【0015】
或いは、前記通知先有効性確認手段は、通知先へ前記応答要求を発行した後、所定時間が経過しても応答が得られない場合、連続して次の応答要求は発行せずに、確認回数をカウントアップし、
前記登録削除手段は、この確認回数が規定回数を超えた場合に、その通知先を前記通知先情報テーブルから削除するようにしてもよい。
【0016】
また、前記デバイス状態通知装置は、前記状態変化が監視される前記デイバスに設けられているようにしてもよい。
【0017】
或いは、前記デバイス状態通知装置はプロキシサーバであり、前記ネットワークを介して、前記状態変化が監視される前記デバイスに接続されるようにしてもよい。
【発明を実施するための形態】
【0018】
以下、図面を参照して、本発明の実施形態を説明する。なお、以下に説明する実施形態は、本発明の技術的範囲を限定するものではない。
【0019】
〔第1実施形態〕
図1は、本実施形態に係るデバイスネットワークシステム10の全体構成を示すブロック図である。この図1に示すように、本実施形態に係るデバイスネットワークシステム10は、ネットワーク12に接続された、1又は複数のホストコンピュータ14と、1又は複数のプリンタ16とを備えて、構成されている。この図1の例では、4台のホストコンピュータ14A〜14Dが、ネットワーク12に接続されており、1台のプリンタ16が、ネットワーク12に接続されている。
【0020】
本実施形態においては、ネットワーク12は、例えば、TCP/IPの規格に準拠しており、このネットワーク12に、同じくTCP/IPの規格に準拠したホストコンピュータ14とプリンタ16とが接続されている。ホストコンピュータ14は、プリンタ16の状態をSNMP Trapを用いて監視する。この監視を行うために、ホストコンピュータ14では、管理アプリケーションが起動されている。
【0021】
この管理アプリケーションは、例えば、このプリンタ16に送信した印刷データの印刷開始、その印刷の終了、紙無しエラーの発生、トナー無しエラーの発生などを、SNMP Trapを用いて監視する。プリンタ16では、予め指定されたこれらの状態が発生すると、SNMP Trapを用いて、指定されたホストコンピュータ14の管理アプリケーションに通知する。すなわち、プリンタ16は、これらの状態変化が発生した通知を、通知先アドレス宛に送信する。プリンタ16は、このような状態の監視がなされるデバイスの一例である。
【0022】
図2は、本実施形態に係るプリンタ16の内部構成の一例を示すブロック図である。この図2に示すように、本実施形態に係るプリンタ16は、ネットワークインターフェース20と、印刷機能部22とを備えて、構成されている。ネットワークインターフェース20は、このプリンタ16を、ネットワーク12に接続するためのインターフェースである。このネットワークインターフェース20が、本実施形態におけるデバイス状態通知装置に相当する。また、印刷機能部22は、このプリンタ16で印刷を行うための機能部であり、ネットワークインターフェース20から受信した印刷データに基づいて、印刷を行う。
【0023】
さらに、本実施形態においては、ネットワークインターフェース20は、通知先情報テーブル30と、状態検知機能部32と、状態通知機能部34と、通知先情報テーブル管理機能部36と、通知先有効性確認機能部38とを備えている。通知先情報テーブル30は、EEPROMなどの書き換え可能な不揮発性記憶装置に形成されており、プリンタ16の電源がオフにされても、その内容が保持されように構成されている。
【0024】
また、状態検知機能部32と状態通知機能部34と通知先情報テーブル管理機能部36と通知先有効性確認機能部38の各機能部は、ソフトウェア又はハードウェアで実現することができる。例えば、ソフトウェアで実現する場合には、各機能部の機能を実現するプログラムをCPUが読み込んで実行することにより、実現することができる。また、ハードウェアで実現する場合には、各機能部の機能を実現するように設計されたASIC(Application Specific IC)を組み込むことにより、実現することができる。さらに、ソフトウェアとハードウェアとが協働して、これらの各機能部を実現するようにしてもよい。
【0025】
より具体的には、通知先情報テーブル30は、予め定められた状態変化がプリンタ16で発生した場合に、その通知を行う通知先に関する情報を保持するテーブルである。状態検知機能部32は、各種のプログラムやセンサを用いて、プリンタ16の状態変化を検出するための機能部である。状態通知機能部34は、予め定められた状態変化が状態検知機能部32で検出された場合に、SNMP Trapを用いて、ホストコンピュータ14に通知するための機能部である。通知すべき通知先アドレスは、状態通知機能部34が通知先情報テーブル30を検索して取得する。
【0026】
通知先情報テーブル管理機能部36は、ホストコンピュータ14からの要求や指示に基づいて、通知先情報テーブル30に新しい通知先を登録したり、既に登録されている通知先を削除したりする。通知先有効性確認機能部38は、通知先情報テーブル30に登録されている通知先の有効性を確認し、その通知先が有効に存在しない場合には、通知先情報テーブル30から削除する処理を行う機能部である。
【0027】
次に、図3に基づいて、この通知先有効性確認機能部38が行う処理について、詳細に説明する。この図3は、通知先有効性確認機能部38が実行する定期死活確認処理の内容を説明するフローチャートを示す図である。この定期死活確認処理は、所定の時間間隔で定期的に起動される処理である。本実施形態においては、例えば、1時間に1回、或いは、2時間に1回といった間隔で起動される。
【0028】
この図3に示すように、まず、通知先有効性確認機能部38は、通知先情報テーブル30から、通知先アドレスを取得する(ステップS10)。図4は、本実施形態に係る通知先情報テーブル30の内部構成の一例を示す図である。この図4に示すように、通知先情報テーブル30には、通知先として登録されているホストコンピュータ14の通知先アドレスが格納されている。本実施形態では、この通知先情報テーブル30には、最大で4個の通知先アドレスが格納可能である。つまり、本実施形態に係る通知先情報テーブル30には、4個までしか、通知先アドレスが登録できない。
【0029】
次に、図3に示すように、通知先有効性確認機能部38は、死活確認を実行する(ステップS12)。すなわち、ステップS10で取得した通知先アドレスのホストコンピュータ14が、現時点で、ネットワーク12上に有効に存在しているのか、それとも、存在していないのかを確認する。
【0030】
この死活確認には、様々な手法が考えられるが、本実施形態では、図5に示すように、Pingを発行することにより、確認する。すなわち、プリンタ16の通知先有効性確認機能部38は、ステップS10で取得した通知先アドレス宛に、Pingを発行する。このPingを受信したホストコンピュータ14の管理アプリケーションは、Ping応答を応答パケットとして返信する。したがって、プリンタ16の通知先有効性確認機能部38は、このPing応答が所定時間内に返信されるか否かにより、通知先アドレスのホストコンピュータ14が有効に存在するか否かを判断する。
【0031】
このため、図3に示すように、プリンタ16の通知先有効性確認機能部38は、所定時間内にホストコンピュータ14からの応答を受信したかどうかを判断する(ステップS14)。具体的には、Pingを発行した後、タイムアウトになるまでに、ホストコンピュータ14からPing応答を受信したかどうかを判断する。
【0032】
所定時間内に応答を受信できなかった場合(ステップS14:NO)には、通知先有効性確認機能部38は、確認回数を1つカウントアップする(ステップS16)。確認回数の初期値はゼロに設定されており、Pingを1回発行する度に、確認回数は1増えることとなる。
【0033】
次に、通知先有効性確認機能部38は、確認回数が規定回数を超えたかどうかを判断する(ステップS18)。例えば、本実施形態においては、規定回数が3回に設定されている。このため、通知先有効性確認機能部38は、ステップS16でカウントアップした確認回数が、3回を越えたかどうかを判断する。
【0034】
確認回数が3回を越えていないと判断した場合(ステップS18:NO)には、通知先有効性確認機能部38は、上述したステップS12に戻り、再度、死活確認を実行する。一方、確認回数が3回を越えた場合(ステップS18:YES)、つまり、確認回数が4回だった場合には、通知先有効性確認機能部38は、通知先情報テーブル30から、その通知先を削除する(ステップS20)。すなわち、ステップS10で取得した通知先アドレスを、通知先情報テーブル30から削除する。
【0035】
図6は、本実施形態において、プリンタ16の通知先有効性確認機能部38が3回、Pingを発行しても、ホストコンピュータ14から応答が得られなかった場合のプリンタ16とホストコンピュータ14との間のやり取りを示している。この図6に示すように、最初にPingを発行し、タイムアウトになると2回目のPingを発行し、さらにこれもタイムアウトになると3回目のPingを発行する。しかし、これもタイムアウトになると、通知先有効性確認機能部38は、通知先情報テーブル30から通知先アドレスを削除するのである。
【0036】
これに対して、図3に示すように、ステップS14において、ホストコンピュータ14から応答があった場合(ステップS14:YES)には、通知先有効性確認機能部38は、確認回数をゼロにリセットする(ステップS22)。
【0037】
このステップS22の後、又は、上述したステップS20の後、通知先有効性確認機能部38は、通知先情報テーブル30に登録されているすべての通知先の死活確認を行ったかどうかを判断する(ステップS24)。例えば、図4の例では、2つの通知先が通知先情報テーブル30に登録されているので、これら2つの通知先について、死活確認を行ったかどうかを判断する。
【0038】
通知先情報テーブル30に登録されているすべての登録先の死活確認が完了していない場合(ステップS24:NO)には、上述したステップS10に戻り、通知先情報テーブル30から次の通知先の通知先アドレスを取得し、死活確認を行う。一方、通知先情報テーブル30に登録されているすべての登録先の死活確認が完了した場合(ステップS24:YES)には、この定期死活確認処理を終了する。
【0039】
なお、図3に示した定期死活確認処理は、通知先情報テーブルに登録された通知先の格納数が通知先情報テーブルに格納できる通知先の最大数に達したときにこの処理を開始することとしてもよい。
【0040】
以上のように、本実施形態に係るデバイスネットワークシステム10によれば、通知先情報テーブル30に登録されているホストコンピュータ14に対して、定期的に死活確認処理を実行し、応答が得られないホストコンピュータ14については、通知先情報テーブル30から通知先アドレスを削除することとした。このため、デバイスネットワークシステム10に有効に存在していないにも拘わらず、通知先が通知先情報テーブル30に登録されたままとなってしまうことを回避することができる。これにより、不要な通知先を通知先情報テーブル30から削除し、新たなホストコンピュータ14からの登録要求があった場合に、通知先情報テーブル30に空きが無く、登録ができないという事態が生ずるのを、極力避けることができる。
【0041】
また、不要な通知先は通知先情報テーブル30から削除されるため、通知先の存在しないSNMP Trapのパケットがネットワーク12上を流れないようにすることができる。このため、ネットワーク12上を流れる無駄なパケットを削減することができる。さらに、ホストコンピュータ14の管理アプリケーションは、従来のアプリケーションをそのまま利用できるので、ホストコンピュータ14側の設定変更も不要である。
【0042】
〔第2実施形態〕
上述した第1実施形態では、通知先有効性確認機能部38は、Ping発行後に応答が無い場合、所定時間経過後(タイムアウト後)に、連続的に次のPingを発行することとしたが、本実施形態においては、次に定期死活確認処理が起動された際に、再度Pingを発行するようにしたものである。すなわち、連続的にPingを再発行するのではなく、所定の時間間隔をおいてから、次のPingを発行するようにしたものである。以下、上述した第1実施形態と異なる部分を説明する。
【0043】
図7は、本実施形態に係る通知先有効性確認機能部38が実行する定期死活確認処理の内容を説明するフローチャートを示す図であり、上述した第1実施形態における図3に対応する図である。この定期死活確認処理は、所定の時間間隔で定期的に起動される処理である。本実施形態においても、上述した第1実施形態と同様に、例えば、1時間に1回、或いは、2時間に1回といった間隔で起動される。
【0044】
この図7に示すように、まず、通知先有効性確認機能部38は、通知先情報テーブル30から、通知先アドレスと確認回数を取得する(ステップS30)。図8は、本実施形態に係る通知先情報テーブル30の内部構成の一例を示す図である。この図8に示すように、本実施形態に係る通知先情報テーブル30には、通知先として登録されているホストコンピュータ14の通知先アドレスに加えて、確認回数が格納されている。この確認回数は、対応する通知先アドレスの死活確認を行った際に、応答が返ってこなかった回数を示している。また、この確認回数は、死活確認を行って、存在が確認できた場合には、ゼロにリセットされる回数である。
【0045】
次に、図7に示すように、通知先有効性確認機能部38は、死活確認を実行する(ステップS32)。すなわち、上述した第1実施形態と同様の手法で、ステップS30で取得した通知先アドレスのホストコンピュータ14が、現時点で、ネットワーク12上に有効に存在しているのか、それとも、存在していないのかを確認する。
【0046】
次に、プリンタ16の通知先有効性確認機能部38は、所定時間内にホストコンピュータ14からの応答を受信したかどうかを判断する(ステップS34)。具体的には、Pingを発行した後、タイムアウトになるまでに、ホストコンピュータ14からPing応答を受信したかどうかを判断する。
【0047】
所定時間内に応答を受信できなかった場合(ステップS34:NO)には、通知先有効性確認機能部38は、確認回数を1つカウントアップし、カウントアップ後の確認回数を通知先情報テーブル30に格納する(ステップS36)。
【0048】
次に、通知先有効性確認機能部38は、確認回数が規定回数を超えたかどうかを判断する(ステップS38)。例えば、本実施形態においては、規定回数が3回に設定されている。このため、通知先有効性確認機能部38は、ステップS36でカウントアップした確認回数が、3回を越えたかどうかを判断する。
【0049】
確認回数が3回を越えたと判断した場合(ステップS38:YES)、つまり、確認回数が4回だった場合には、通知先有効性確認機能部38は、通知先情報テーブル30から、その通知先を削除する(ステップS40)。すなわち、ステップS30で取得した通知先アドレスと確認回数を、通知先情報テーブル30から削除する。
【0050】
これに対して、ステップS34において、ホストコンピュータ14から応答があった場合(ステップS34:YES)には、通知先有効性確認機能部38は、通知先情報テーブル30の対応する確認回数を、ゼロにリセットする(ステップS42)。
【0051】
このステップS42の後、又は、上述したステップS40の後、又は、上述したステップS38で確認回数が規定回数を超えていないと判断した場合(ステップS38:NO)には、通知先有効性確認機能部38は、通知先情報テーブル30に登録されているすべての通知先の死活確認を行ったかどうかを判断する(ステップS44)。例えば、図8の例では、2つの通知先が通知先情報テーブル30に登録されているので、これら2つの通知先について、それぞれ1回ずつ死活確認を行ったかどうかを判断する。
【0052】
通知先情報テーブル30に登録されているすべての登録先の死活確認が完了していない場合(ステップS44:NO)には、上述したステップS30に戻り、通知先情報テーブル30から次の通知先の通知先アドレスと確認回数を取得し、死活確認を行う。一方、通知先情報テーブル30に登録されているすべての登録先の死活確認が完了した場合(ステップS44:YES)には、この定期死活確認処理を終了する。
【0053】
なお、図7に示した定期死活確認処理は、通知先情報テーブルに登録された通知先の格納数が通知先情報テーブルに格納できる通知先の最大数に達したときにこの処理を開始することとしてもよい。
【0054】
以上のように、本実施形態に係るデバイスネットワークシステム10によっても、通知先情報テーブル30に登録されているホストコンピュータ14に対して、定期的に死活確認処理を実行し、応答が得られないホストコンピュータ14については、通知先情報テーブル30から通知先アドレスを削除することとした。このため、デバイスネットワークシステム10に有効に存在していないにも拘わらず、通知先が通知先情報テーブル30に登録されたままとなってしまうことを回避することができる。
【0055】
また、ステップS34において、タイムアウトとなってホストコンピュータ14の存在が確認できなかった場合、連続的に次の死活確認を行うのではなく、次の定期死活確認処理で、そのホストコンピュータ14の死活確認を行うこととしたので、何らかの理由でホストコンピュータ14が一時的に応答できなかったに過ぎないような場合に、その登録が通知先情報テーブル30から削除されてしまうのを回避することができる。
【0056】
〔第3実施形態〕
上述した第1実施形態では、通知先情報テーブル30に登録されている通知先のホストコンピュータ14の有効性を、定期的に確認することとしたが、本実施形態では、通知先にSNMP Trapを発行する際に合わせて確認するようにしたものである。以下、上述した第1実施形態と異なる部分を説明する。
【0057】
図9は、本実施形態に係るTrap発行処理の内容を説明するフローチャートを示す図である。このTrap発行処理は、上述した第1実施形態と同様に通知先有効性確認機能部38が実行する処理であるが、本実施形態においては、このTrap発行処理は、第1実施形態のように定期的に起動されるのではなく、SNMP Trapを発行する際に起動される処理である。
【0058】
図9に示すように、本実施形態に係るTrap発行処理は、ステップS10〜ステップS20及びステップS24の処理内容は、上述した第1実施形態と同様であるが、ステップS14において、死活確認に対する応答を受信した場合の処理が、第1実施形態と異なる。
【0059】
すなわち、本実施形態においては、死活確認に対する応答を受信した場合(ステップS14:YES)には、通知先有効性確認機能部38は、状態通知機能部34を介して、ステップS10で取得した通知先アドレスに、SNMP Trapを発行する(ステップS50)。すなわち、図10に示すように、状態通知機能部34を起動して、Ping応答が受信できた通知先に対して、SNMP Trapを発行する。但し、プリンタ16で発生した状態変化の種別によっては、その状態変化を通知するような設定になっていない通知先も存在し得る。このように、発生した状態変化が、通知を求める種別の状態変化ではない通知先については、SNMP Trapは発行しない。続いて、通知先有効性確認機能部38は、確認回数をゼロにリセットする(ステップS52)。
【0060】
このステップS52の後、又は、ステップS20の後、通知先有効性確認機能部38は、上述した第1実施形態と同様に、通知先情報テーブル30に登録されているすべての通知先の死活確認を行ったかどうかを判断し(ステップS24)、すべての登録先の死活確認が完了していない場合(ステップS24:NO)には、上述したステップS10に戻り、通知先情報テーブル30から次の通知先の通知先アドレスを取得し、死活確認を行う。一方、通知先情報テーブル30に登録されているすべての登録先の死活確認が完了した場合(ステップS24:YES)には、この定期死活確認処理を終了する。
【0061】
以上のように、本実施形態に係るデバイスネットワークシステム10によっても、通知先情報テーブル30に登録されているホストコンピュータ14に対して、定期的に死活確認処理を実行し、応答が得られないホストコンピュータ14については、通知先情報テーブル30から通知先アドレスを削除することとした。このため、デバイスネットワークシステム10に有効に存在していないにも拘わらず、通知先情報テーブル30に登録されたままとなってしまうことを回避することができる。これにより、不要な通知先を通知先情報テーブル30から削除し、新たなホストコンピュータ14からの登録要求があった場合に、通知先情報テーブル30に空きが無く、登録ができないという事態が生ずるのを、極力避けることができる。
【0062】
また、SNMP Trapを発行する際に、通知先情報テーブル30に登録されている登録先の有効性も合わせて確認することとしたので、定期的に死活確認処理を起動するための管理が不要になる。
【0063】
〔第1乃至第3実施形態の変形例〕
上述した第1実施形態乃至第3実施形態のデバイスネットワークシステム10では、プリンタ16が通知先情報テーブル30を保持して管理することとしたが、このデバイスネットワークシステム10にプロキシサーバを設けて、このプロキシサーバが通知先情報テーブル30を保持して管理するようにしてもよい。
【0064】
図11は、デバイスネットワークシステム10にプロキシサーバ40を設けた場合の全体システム構成の一例を示すブロック図である。この図11に示すように、プロキシサーバ40は、ネットワーク12に接続され、このネットワーク12に関する管理を行う。本実施形態では、このプロキシサーバ40は、Trap発行の管理を行うとともに、上述したデバイス状態通知装置が組み込まれており、通知先情報テーブル30の管理を行う。このようなデバイスネットワークシステム10の構成であっても、上述した第1実施形態乃至第3実施形態のそれぞれ実施形態を実現することができる。
【0065】
図11のデバイスネットワークシステム10に、第1実施形態を適用する場合には、プロキシサーバ40が、図3に示した定期死活確認処理を実行する。そして、上述したステップS12の死活確認を実行する際に、図12に示すように、プロキシサーバ40が、ステップS10で取得した通知先アドレスにPingを発行する。この発行したPingに対する応答が得られるか否かで、通知先アドレスに対応するホストコンピュータ14の存在を確認する。図12に示すように、発行したPingに対する応答が得られた場合(ステップS14:YES)には、プロキシサーバ40は、通知先情報テーブル30の登録をそのまま維持する。
【0066】
一方、図13に示すように、Pingを発行しても応答が得られない場合(ステップS14:NO)には、プロキシサーバ40は、タイムアウト発生後に、規定回数まではPingの発行を連続的に繰り返す。本実施形態においては、規定回数は3回であるので、最初にPingを発行し、タイムアウトになると2回目のPingを発行し、さらにこれもタイムアウトになると3回目のPingを発行する。しかし、これもタイムアウトになると、プロキシサーバ40は、通知先情報テーブル30から通知先アドレスを削除するのである。
【0067】
この図11のデバイスネットワークシステム10のネットワーク構成においては、プリンタ16でSNMP Trapを発行すべき状態変化が生じた場合、プリンタ16は、そのSNMP Trapをプロキシサーバ40に対して発行する。このSNMP Trapを受信したプロキシサーバ40は、通知先情報テーブル30を検索し、この状態変化を通知すべきホストコンピュータ14の通知先アドレスを取得し、SNMP Trapをそれぞれの通知先に対して発行する。
【0068】
一方、図11のデバイスネットワークシステム10に、第2実施形態を適用する場合には、プロキシサーバ40が、図7に示した定期死活確認処理を実行する。すなわち、プロキシサーバ40が、定期的に起動される定期死活確認処理において、死活確認の実行を各通知先について1回ずつ行い(ステップS32)、応答が得られない場合(ステップS34:NO)でも、連続して死活確認は行わない。そして、次の定期死活確認処理において、再び死活確認を行い、死活確認の確認回数が規定回数を超えるまで、通知先情報テーブル30から削除しない(ステップS38:NO)。この死活確認を繰り返し、確認回数が規定回数を超えた場合(ステップS38:YES)には、そのホストコンピュータ14の通知先アドレスを、通知先情報テーブル30から削除する(ステップS40)。
【0069】
また、図11のデバイスネットワークシステム10に、第3実施形態を適用する場合には、プロキシサーバ40が、図9に示したTrap発行処理を実行する。すなわち、プロキシサーバ40がプリンタ16からSNMP Trapを受信した場合に、図9に示すTrap発行処理を実行する。
【0070】
具体的には、この図9のTrap発行処理において、プロキシサーバ40が、ステップS10で取得した通知先アドレスにPingを発行する(ステップS12)。そして、Ping応答が得られるか否かで、通知先アドレスに対応するホストコンピュータ14の存在を確認する。図14に示すように、Ping応答が得られた場合(ステップS14:YES)には、プロキシサーバ40は、その通知先にSNMP Trapを発行する(ステップS50)。
【0071】
一方、図15に示すように、Pingを発行しても応答が得られない場合(ステップS14:NO)には、プロキシサーバ40は、タイムアウト発生後に、規定回数まではPingの発行を連続的に繰り返す。本実施形態においては、規定回数は3回であるので、最初にPingを発行し、タイムアウトになると2回目のPingを発行し、さらにこれもタイムアウトになると3回目のPingを発行する。しかし、これもタイムアウトになると、プロキシサーバ40は、通知先情報テーブル30から通知先アドレスを削除するのである。
【0072】
このように、プロキシサーバ40を用いても、上述した第1実施形態乃至第3実施形態と同様の通知先情報テーブル30の管理を、プロキシサーバ40で実現することができる。
【0073】
なお、本発明は上記実施形態に限定されず種々に変形可能である。例えば、上述した実施形態においては、デバイスの状態変化を監視する対象がプリンタ16である場合を例にして、本発明を説明したが、状態変化を監視する対象のデバイスはプリンタ16に限られるものではない。
【0074】
また、上述した実施形態では、通知先情報テーブル30には、4個まで通知先に関する情報が格納できる場合を例に本発明を説明したが、通知先情報テーブル30に格納できる通知先の数は、任意に設計することができる。
【0075】
また、上述した実施形態では、ネットワーク12がTCP/IPに準拠しており、SNMP Trapを用いて、監視対象となっているデバイスの状態変化を、ホストコンピュータ14に通知することしたが、他の通信規格やプロトコルを用いて、この通知を実現できるようにしてもよい。
【0076】
また、上述した実施形態では、1つのホストコンピュータ14には、1つの管理アプリケーションが生成されることを前提に説明をしたが、1つのホストコンピュータ14に複数の管理アプリケーションが生成されてもよい。この場合、プリンタ16は各管理アプリケーションに対して、上述した各処理を行うこととなる。すなわち、プリンタ16は、各アプリケーションに対して、死活確認を行ったり、SNMP Trapを発行したりすればよい。
【図面の簡単な説明】
【0077】
【図1】本発明の適用されたデバイスネットワークシステムのネットワーク構成の一例を説明するブロック図。
【図2】本発明を適用したプリンタの内部構成の一例を示す機能ブロック図。
【図3】本発明の第1実施形態に係るプリンタで実行される定期死活確認処理の内容の一例を説明するフローチャートを示す図。
【図4】図2のプリンタが保持する通知先情報テーブルの構成の一例を示す図。
【図5】図3の定期死活確認処理において、プリンタがPingを発行し、ホストコンピュータからPing応答が得られた場合における、プリンタとホストコンピュータとの間のやり取りの一例を示す図。
【図6】図3の定期死活確認処理において、プリンタがPingを発行し、ホストコンピュータからPing応答が得られなかった場合における、プリンタとホストコンピュータとの間のやり取りの一例を示す図。
【図7】本発明の第2実施形態に係るプリンタで実行される定期死活確認処理の内容の一例を説明するフローチャートを示す図。
【図8】図2のプリンタが保持する通知先情報テーブルの構成の一例を示す図。
【図9】本発明の第3実施形態に係るプリンタで実行されるTrap発行処理の内容の一例を説明するフローチャートを示す図。
【図10】図9のTrap発行処理において、プリンタがPingを発行し、ホストコンピュータからPing応答が得られた場合における、プリンタとホストコンピュータとの間のやり取りの一例を示す図。
【図11】図1のデバイスネットワークシステムにプロキシサーバを追加した場合のネットワーク構成の一例を説明するブロック図。
【図12】図11のデバイスネットワークシステムのプロキシサーバに、第1実施形態を適用した場合において、プロキシサーバがPingを発行し、ホストコンピュータからPing応答が得られた場合における、プロキシサーバとホストコンピュータとの間のやり取りの一例を示す図。
【図13】図11のデバイスネットワークシステムのプロキシサーバに、第1実施形態を適用した場合において、プロキシサーバがPingを発行し、ホストコンピュータからPing応答が得られなかった場合における、プロキシサーバとホストコンピュータとの間のやり取りの一例を示す図。
【図14】図11のデバイスネットワークシステムのプロキシサーバに、第3実施形態を適用した場合において、プロキシサーバがPingを発行し、ホストコンピュータからPing応答が得られた場合における、プリンタとプロキシサーバとホストコンピュータとの間のやり取りの一例を示す図。
【図15】図11のデバイスネットワークシステムのプロキシサーバに、第3実施形態を適用した場合において、プロキシサーバがPingを発行し、ホストコンピュータからPing応答が得られた場合における、プリンタとプロキシサーバとホストコンピュータとの間のやり取りの一例を示す図。
【符号の説明】
【0078】
10 デバイスネットワークシステム
12 ネットワーク
14(14A〜14D) ホストコンピュータ
16 プリンタ
20 ネットワークインターフェース
22 印刷機能部
30 通知先情報テーブル
32 状態検知機能部
34 状態通知機能部
36 通知先情報テーブル管理機能部
38 通知先有効性確認機能部
【特許請求の範囲】
【請求項1】
ネットワークに接続されたデバイスの状態変化を、前記ネットワークに接続された通知先に、前記ネットワークを介して通知するデバイス状態通知装置であって、
前記デバイスの状態変化があった場合に、その状態変化があったことを通知する通知先が登録されている通知先情報テーブルと、
前記通知先情報テーブルに登録されている通知先が有効に存在するか否かを確認する通知先有効性確認手段と、
前記通知先有効性確認手段により、有効に存在することが確認できなかった通知先を、前記通知先情報テーブルから削除する、登録削除手段と、
を備えることを特徴とするデバイス状態通知装置。
【請求項2】
前記通知先有効性確認手段は、前記通知先情報テーブルに登録されている通知先に、何らかの応答を要求する応答要求を発行し、この応答要求に対する応答が得られない場合には、その通知先が有効に存在していないと判断する、ことを特徴とする請求項1に記載のデバイス状態通知装置。
【請求項3】
前記通知先有効性確認手段は、定期的に、前記通知先情報テーブルに登録されている通知先が有効に存在するか否かを確認する、ことを特徴とする請求項1又は請求項2に記載のデバイス状態通知装置。
【請求項4】
前記通知先有効性確認手段は、デバイスに状態変化があったことを通知する際に、前記通知先情報テーブルに登録されている通知先が有効に存在するか否かを確認する、ことを特徴とする請求項1又は請求項2に記載のデバイス状態通知装置。
【請求項5】
前記通知先有効性確認手段は、前記応答要求を発行しても通知先から応答が得られない場合、その通知先への前記応答要求を規定回数まで発行し、規定回数を超えて前記応答要求を発行しても応答が得られない通知先については有効に存在していないと判断する、ことを特徴とする請求項3又は請求項4に記載のデバイス状態通知装置。
【請求項6】
前記通知先有効性確認手段は、通知先へ前記応答要求を発行した後、所定時間が経過しても応答が得られない場合、連続して次の応答要求は発行せずに、確認回数をカウントアップし、
前記登録削除手段は、この確認回数が規定回数を超えた場合に、その通知先を前記通知先情報テーブルから削除する、
ことを特徴とする請求項3に記載のデバイス状態通知装置。
【請求項7】
前記デバイス状態通知装置は、前記状態変化が監視される前記デイバスに設けられている、ことを特徴とする請求項1乃至請求項6のいずれかに記載のデバイス状態通知装置。
【請求項8】
前記デバイス状態通知装置はプロキシサーバであり、前記ネットワークを介して、前記状態変化が監視される前記デバイスに接続される、ことを特徴とする請求項1乃至請求項6のいずれかに記載のデバイス状態通知装置。
【請求項1】
ネットワークに接続されたデバイスの状態変化を、前記ネットワークに接続された通知先に、前記ネットワークを介して通知するデバイス状態通知装置であって、
前記デバイスの状態変化があった場合に、その状態変化があったことを通知する通知先が登録されている通知先情報テーブルと、
前記通知先情報テーブルに登録されている通知先が有効に存在するか否かを確認する通知先有効性確認手段と、
前記通知先有効性確認手段により、有効に存在することが確認できなかった通知先を、前記通知先情報テーブルから削除する、登録削除手段と、
を備えることを特徴とするデバイス状態通知装置。
【請求項2】
前記通知先有効性確認手段は、前記通知先情報テーブルに登録されている通知先に、何らかの応答を要求する応答要求を発行し、この応答要求に対する応答が得られない場合には、その通知先が有効に存在していないと判断する、ことを特徴とする請求項1に記載のデバイス状態通知装置。
【請求項3】
前記通知先有効性確認手段は、定期的に、前記通知先情報テーブルに登録されている通知先が有効に存在するか否かを確認する、ことを特徴とする請求項1又は請求項2に記載のデバイス状態通知装置。
【請求項4】
前記通知先有効性確認手段は、デバイスに状態変化があったことを通知する際に、前記通知先情報テーブルに登録されている通知先が有効に存在するか否かを確認する、ことを特徴とする請求項1又は請求項2に記載のデバイス状態通知装置。
【請求項5】
前記通知先有効性確認手段は、前記応答要求を発行しても通知先から応答が得られない場合、その通知先への前記応答要求を規定回数まで発行し、規定回数を超えて前記応答要求を発行しても応答が得られない通知先については有効に存在していないと判断する、ことを特徴とする請求項3又は請求項4に記載のデバイス状態通知装置。
【請求項6】
前記通知先有効性確認手段は、通知先へ前記応答要求を発行した後、所定時間が経過しても応答が得られない場合、連続して次の応答要求は発行せずに、確認回数をカウントアップし、
前記登録削除手段は、この確認回数が規定回数を超えた場合に、その通知先を前記通知先情報テーブルから削除する、
ことを特徴とする請求項3に記載のデバイス状態通知装置。
【請求項7】
前記デバイス状態通知装置は、前記状態変化が監視される前記デイバスに設けられている、ことを特徴とする請求項1乃至請求項6のいずれかに記載のデバイス状態通知装置。
【請求項8】
前記デバイス状態通知装置はプロキシサーバであり、前記ネットワークを介して、前記状態変化が監視される前記デバイスに接続される、ことを特徴とする請求項1乃至請求項6のいずれかに記載のデバイス状態通知装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【公開番号】特開2010−102612(P2010−102612A)
【公開日】平成22年5月6日(2010.5.6)
【国際特許分類】
【出願番号】特願2008−275228(P2008−275228)
【出願日】平成20年10月27日(2008.10.27)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】
【公開日】平成22年5月6日(2010.5.6)
【国際特許分類】
【出願日】平成20年10月27日(2008.10.27)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】
[ Back to top ]