説明

管理装置及び方法

【課題】 サブネット毎に探索サービスモジュールを用意する必要があるため、ネットワークの構成と、探索サービスのネットワーク上の配置を管理する必要が発生する。
【解決手段】 ネットワークに他のサーバが存在するか否かを識別し(S103)、他のサーバが存在する場合、他のサーバが管理対象としているエージェント情報を取得し(S104)、管理対象としているエージェント情報と、取得したエージェント情報とに基づいて、管理対象としているエージェントを他のサーバが管理対象としているかを判定し(S106)、他のサーバが管理していない場合に、管理対象としているエージェント情報を管理対象リストに登録する(S109)。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数の分散管理エージェントを用いたネットワークデバイスの管理処理技術に関するものである。
【背景技術】
【0002】
従来、ネットワークデバイス(コンピュータネットワークに接続される機器)を管理する方法として、SNMP/MIB(Simple Network Management Protocol/Management Information Base)を使用する方法がある(非特許文献1参照)。
【0003】
このSNMPネットワーク管理技術によれば、ネットワーク管理システムには、少なくとも1つのネットワーク管理ステーション(NMS)、各々がエージェントを含むいくつかの管理対象ノード、及び管理ステーションやエージェントが管理情報を交換するために使用するネットワーク管理プロトコルが含まれる。ユーザは、このNMS上でネットワーク管理ソフトウエアを用いて管理対象ノード上のエージェントソフトウェアと通信することにより、ネットワーク上のデータを得たり、またデータを変更することができる。
【0004】
このようなネットワーク管理ソフトウエアを分散環境で使用する場合、ネットワーク管理機能を持つサーバアプリケーションと、端末で起動されるGUI部分であるクライアントアプリケーションによる構成をとることが一般的である。
【0005】
このような分散環境における異なる端末間で、クライアントアプリケーションとサーバアプリケーションはプロセス間通信を行う。このプロセス間通信の標準としてRFC1057 RPC(Remote Procedure Call)が定義されている。このRPCとは、ネットワークサービスを提供する関数群をサーバ側で用意し、この関数群の中の関数をローカルマシン内の関数と同様に、ネットワーク上の別端末のクライアントプロセスから呼び出せるようにしたものである。
【0006】
このRPCにおけるプロセス間通信の流れは以下のようになる。クライアントは、サーバに対するサービス要求として、サーバに用意されているRPC関数を呼び出す。この時点で、関数の呼び出し情報を格納したデータパケットがサーバに送られ、クライアントのプログラム(プロセス)は中断される。サーバが、そのパケットを受け取ると、呼び出された関数をディスパッチし、関数の引数を取り出した後、その引数を基にサービスを実行して、その結果をクライアントに返す。クライアントは関数の結果を受け取った後で、プログラムの実行(プロセス)を再開する。
【0007】
上述のネットワーク管理機能を持つサーバアプリケーションは、分散ネットワーク上に1つ配置し、そのサーバアプリケーション内で複数のインスタンスを持つことにより複数のデバイスを管理している。一方、クライアントアプリケーションは、異なる端末で複数動作し、上述のプロセス間通信を用いてサーバアプリケーションにアクセスする。そして、サーバアプリケーションを介して、デバイス情報の取得、設定を行う。
【0008】
またサーバアプリケーションはネットワーク管理機能として、ネットワークデバイスを探索するデバイス探索機能もクライアントに提供する。これによりクライアントは、サーバアプリケーションが探索したデバイスリストから、管理したいデバイスのアドレス及びデバイス名等のデバイス基本情報を取得することが可能である。
【0009】
図1は、ネットワーク管理の対象となりうるコンピュータネットワークの構成例を示す図である。
【0010】
図1に示すコンピュータネットワークでは、3つのLAN100,110及び120がルータ130,140よって相互に接続されている。そして、LAN100,110及び120の各々にはクライアントとしてのコンピュータ装置103、管理対象ノードとしてのネットワークプリンタ122、ネットワーク管理ステーション(サーバ)としての通信装置104,121等が接続されている。
【0011】
図2は、図1におけるLAN100及び120について、LAN100に接続されたPC103がクライアントとして動作し、LAN120に接続された通信装置121がサーバ装置として動作するとした場合を説明する概略図である。尚、図2において「デバイス」は、LANに接続されたネットワークデバイスであり、ネットワークプリンタやコンピュータ装置等を意味する。
【0012】
図2において、PC103上でクライアントアプリケーションのプロセスAが、通信装置121上のサーバアプリケーションのプロセスBにアクセスしデバイスの探索を指示する。この場合、クライアントアプリケーション(プロセスA)は、プロセス間通信の機能を使用してサーバアプリケーション(プロセスB)と通信を行う。ここではサーバアプリケーションは、SNMPプロトコルのブロードキャストを使用してデバイス探索を行う。
【0013】
ここでデバイス探索は、2段階のステップで行われる。初めのステップは、ブロードキャストにより、各デバイスのアドレス情報を取得する。次のステップは、ブロードキャストで見つかった各デバイスに対して、デバイス名、ロケーション等のデバイス基本情報のMIB値を取得する。
【0014】
デバイス探索を行うために、各クライアントアプリケーションはプロキシを用いてプロセス間通信を行い、サーバアプリケーションにデバイス探索を依頼する。サーバアプリケーションはプロキシ(スタブ)から送信された情報を受け取り、SNMPプロトコル等のブロードキャストを用いてデバイス探索を行う。デフォルト設定では、サーバアプリケーションが存在しているサブネットワークに存在するデバイスのみ探索を行う。ここで、サブネットワークとは、ネットワーク上のルータで区切られたネットワークの領域を意味する。図1の例では、ネットワーク100、110、120のそれぞれがサブネットワークである。クライアントアプリケーションからサブネットを超えた探索範囲が指定された場合、例えば図2のLAN120のデバイス探索を行うことが指定された場合、サブネットブロードキャストを行ってデバイスを探索する。
【0015】
また、SLP(Service Location Protocol)やWeb Services Dynamic Discovery(非特許文献2参照)プロトコルは、一般的にマルチキャストプロトコルを利用することにより、ルータを越えてデバイスを探索できる。こうして探索された結果から得られるデバイスリスト情報は、サーバアプリケーションのスタブからプロセス間通信を使用してプロキシに送信され、プロキシからクライアントアプリケーションにコールバック通知される。クライアントアプリケーションは、サーバアプリケーションからコールバック通知された情報を基にビットマップ表示等を行ってデバイスリスト情報を表示する。
【0016】
このようなシステムでは、デバイス探索サービスは、ルータ等のネットワーク機器の制限により、サブネットブロードキャスト探索が使えない場合があった。またデバイスの仕様によりマルチキャスト探索が使えないなどの理由により、探索サービスモジュールをサブネット毎に分散して配置するものであった(特許文献1参照)。
【特許文献1】特開2003−99341
【非特許文献1】SNMP/MIBの詳細に関しては「TCP/IP ネットワーク管理入門 実用的な管理をめざして」M.T.ローズ=著/西田竹志=訳 (株)トッパン発行 1992年8月20日初版
【非特許文献2】Web Services Dynamic Discovery (WS-Discovery)仕様書 October 2004 http://msdn.microsoft.com/library/en-us/dnglobspec/html/ws-discovery1004.pdf
【発明の開示】
【発明が解決しようとする課題】
【0017】
上記従来例では、サブネット毎に探索サービスモジュールを用意する必要がある。このために、ネットワークの構成(サブネット構成)と、探索サービスのネットワーク上の配置を管理する必要が発生する。
【0018】
更に別の問題点として、同一サブネット上に、複数のサーバを配置した場合、それらの複数のサーバに探索指示を出すと、そのネットワーク上でブロードキャストパケット等が多数発生し、トラフィックが増加する。一方、トラフィックを増加させないように、特定のサーバのみがサブネット内を代表して探索する場合は、探索の完了までに多くの時間がかかってしまうため、分散による探索時間の高速化が期待できない。また探索ブローカに探索数の上限がある場合は、特定ノードに多数のデバイスが存在する大規模なネットワークをサポートできない。更に、1台のサーバでは、複数稼動している場合と比較して、探索結果の取りこぼしが発生する可能性が高くなるなどの課題がある。
【0019】
また、ホップ数の離れたLAN上のデバイス探索にマルチキャストパケットを使う場合、デバイスの仕様により、マルチキャストパケットが使えない場合があった。そのためクライアントは、管理対象サブネットのアドレスなどのLAN情報を事前に知っておく必要があり、効率的にエージェントを管理できるネットワーク管理システムが構築できない等の問題があった。
【0020】
本発明の目的は、このような従来技術の問題点を解決することにある。
【0021】
本願発明の特徴は、広範囲なデバイス探索が要求されても、効率的にデバイスを管理するネットワークデバイスの分散管理システム及び分散管理装置及び方法を提供することにある。
【0022】
また、ネットワークデバイス探索サービスの管理が容易で、ネットワークのトラヒックの増大を防止したネットワークデバイスの管理装置及びその方法とそのプログラムを提供することにある。
【課題を解決するための手段】
【0023】
上記目的を達成するために本発明の一態様に係る分散管理装置は以下のような構成を備える。即ち、
ネットワーク上のデバイスを探索する管理装置であって、
ネットワークに他の管理装置が存在するか否かを識別する識別手段と、
前記識別手段により他の管理装置が存在すると識別されると、当該他の管理装置によって探索されたデバイスの情報を、当該他の管理装置から取得する取得手段と、
前記ネットワーク上のデバイスを探索する探索手段と、
前記探索手段によって探索されたデバイスの情報と、前記取得手段により取得した情報とに基づいて、前記探索手段によって探索されたデバイスが前記他の管理装置によって探索されているか否かを判定する判定手段と、
前記判定手段により、前記探索手段によって探索されたデバイスが前記他の管理装置によって探索されていると判定されなかった場合、当該デバイスの情報のうち、前記探索手段によって取得していない情報を、当該デバイスから取得する第二の取得手段と、
を有することを特徴とする。
【0024】
上記目的を達成するために本発明の一態様に係る管理方法は以下のような構成を備える。即ち、
ネットワーク上のデバイスを探索する管理装置の管理方法であって、
ネットワークに他の管理装置が存在するか否かを識別する識別工程と、
前記識別工程で他の管理装置が存在すると識別されると、当該他の管理装置によって探索されたデバイスの情報を、当該他の管理装置から取得する取得工程と、
前記ネットワーク上のデバイスを探索する探索工程と、
前記探索工程で探索されたデバイスの情報と、前記取得工程で取得した情報とに基づいて、前記探索工程で探索されたデバイスが前記他の管理装置によって探索されているか否かを判定する判定工程と、
前記判定工程で、前記探索工程で探索されたデバイスが前記他の管理装置によって探索されていると判定されなかった場合、当該デバイスの情報のうち、前記探索工程で取得していない情報を当該デバイスから取得する第二の取得工程と、
を有することを特徴とする。
【発明の効果】
【0025】
本発明によれば、広範囲におけるデバイス探索が要求されても、効率的にデバイスを管理することができる。
【発明を実施するための最良の形態】
【0026】
以下、添付図面を参照して本発明の好適な実施の形態を詳しく説明する。尚、以下の実施の形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施の形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【0027】
先ず、本発明の実施の形態1に係るネットワークデバイス分散管理システムについて説明する。
【0028】
図3は、本発明の実施の形態1に係るネットワークデバイス分散管理システムの構成を示す図である。尚、本発明の機能が実現されるのであれば、ホストコンピュータ3000でのプログラムの動作を、プリンタ1500上のCPU、RAM,ROMで実行しても良いことは言うまでもない。ここでは、実施の形態1に係るネットワークデバイス分散管理システムは、情報処理装置としてのホストコンピュータ3000と、管理装置及びデバイスとしてのプリンタ1500とから構成されているが、これ以外のネットワークデバイスが接続されていても良いことはもちろんである。例えば、管理装置としての機能を備えない、単なるデバイスとしてのプリンタ等が接続されていてもよい。
【0029】
また、ホストコンピュータ3000とプリンタ1500間の接続方式が、LAN,WAN(Wide Area Network:広域ネットワーク)以外のネットワークを介してなされる場合でも、本発明を適用できることは言うまでもない。
【0030】
この実施の形態1で説明する管理対象であるデバイスのエージェントは、プリンタ1500のネットワークインタフェイスである入出力部18であり、このエージェントの管理を行うクライアントはホストコンピュータ3000である。
【0031】
このエージェントからの情報を収集し、クライアントに情報を提供できるサーバは、サーバ部(以下、単にサーバと略す)1502で動作する、Embedded Java(登録商標)環境のプログラムである。また、このサーバは、プリンタ1500のCPU12,RAM19,ROM13で動作させるEmbedded Java(登録商標)環境のプログラムとしても動作させることができる。尚、本実施の形態では、サーバのプログラムをプリンタ上で動作させているが、ネットワークに接続されているPC上で動作させることも可能である。
【0032】
まずホストコンピュータ3000の構成を説明する。CPU1はシステムバス4に接続された各デバイスを統括的に制御する中央処理装置である。このCPU1は、ROM3のプログラム用ROM3b(後述)或いは外部メモリ(HD)11に記憶されたアプリケーション(文書処理プログラム等)に基づいて、図形、イメージ、文字、表(表計算等を含む)等が混在した文書処理等の各種処理を実行する。またCPU1は、例えばRAM2上に設定された表示RAMへのアウトラインフォントの展開(ラスタライズ)処理を実行し、CRTC(表示制御部)6を介して表示部10に表示する。更に、CPU1は、この表示部10上のマウスカーソル(図示略)等で指示されたコマンドに基づいて、登録された種々のウインドウを開き、種々のデータ処理を実行する。ユーザはプリンタ1500を使用して印刷する際、その印刷設定に関するウインドウを開き、プリンタ1500の設定や印刷モードの選択を含むプリンタドライバに対する印刷処理方法の設定を行うことができるようになっている。尚、表示部10はCRTに限らず、液晶やプラズマ等でも良い。
【0033】
RAM2はCPU1の主メモリ、ワークエリア等として機能する。ROM3はフォント用ROM3aと、プログラム用ROM3bと、データ用ROM3cとを備えている。フォント用ROM3a或いは外部メモリ11は、上記文書処理等の際に使用するフォントデータ等を記憶する。プログラム用ROM3b或いは外部メモリ11は、CPU1の制御プログラムであるオペレーティングシステム(以下、OS)等を記憶する。データ用ROM3c或いは外部メモリ11は、上述の文書処理等を行う際に使用する各種データを記憶する。又外部メモリ11に記憶されているプログラムは、実行時にRAM2に展開されて実行される。
【0034】
キーボードコントローラ(KBC)5は、キーボード9やポインティングデバイス(不図示)からの入力情報を制御する。CRTC6は、表示部10への表示を制御する。ディスクコントローラ(DKC)7は、外部メモリ11とのアクセスを制御する。プリンタコントローラ(PRTC)8は、双方向性インタフェース22を介してプリンタ1500に接続されて、プリンタ1500との通信制御処理を実行する。キーボード9は、各種キーを備えている。表示部10は、図形、イメージ文字、表等を表示する。外部メモリ11はハードディスク(HD)、フロッピー(登録商標)ディスク(FD)等から構成されている。この外部メモリ11は、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、プリンタ制御コマンド生成プログラム(以下、プリンタドライバ)等を記憶する。
【0035】
上述したCPU1,RAM2,ROM3,キーボードコントローラ(KBC)5,CRTC6,ディスクコントローラ(DKC)7,プリンタコントローラ(PRTC)8は、コンピュータ制御ユニット2000上に配設されている。
【0036】
次に、プリンタ1500各部の構成を説明する。
【0037】
CPU12は、システムバス15に接続された各デバイスを統括的に制脚する中央処理装置である。このCPU12は、ROM13のプログラム用ROM13b(後述)に記憶された制御プログラム等或いは外部メモリ14に記憶された制御プログラム等に基づいて印刷部(プリンタエンジン)17に印刷情報としての画像信号を出力する。またCPU12は、入出力部18を介してホストコンピュータ3000との通信処理を行って、プリンタ1500の情報等をホストコンピュータ3000に通知できる構成となっている。
【0038】
RAM19は、CPU12の主メモリや、ワークエリア等として機能し、増設ポートに接続されるオプションRAM(不図示)によりメモリ容量を拡張することができるように構成されている。尚、RAM19は、出力情報展開領域、環境データ格納領域、NVRAM等に用いられる。ROM13は、フォント用ROM13aと、プログラム用ROM13bと、データ用ROM13cとを備えている。フォント用ROM13aは、上記印刷情報を生成する際に使用するフォントデータ等を記憶する。プログラム用ROM13bは、CPU12の制御プログラム等を記憶する。データ用ROM13cは、プリンタ1500にハードディスク等の外部メモリ14が接続されていない場合には、ホストコンピュータ3000上で利用される情報等を記憶する。
【0039】
ネットワークカード等の入出力部18は、双方向性インタフェース22を介してプリンタ1500とホストコンピュータ3000との間におけるデータの送受信を行う。また、入出力部18に接続されたエージェント1501は、ホストコンピュータ3000やサーバと、双方向性インタフェース22又は、システムバス15を介して通信を行う。この例で、サーバ1502はシステムバス15に接続されており、エージェント1501は入出力部18に接続されているが、プリンタ1500のCPU12,RAM19,ROM13上で動作するように実装することも考えられる。
【0040】
印刷部インタフェース(I/F)16は、CPU12と印刷部17との間におけるデータの送受を行う。メモリコントローラ(MC)20は、外部メモリ14へのアクセスを制御する。印刷部17は、CPU12の制御に基づき印刷動作を行う。操作部21は、各種操作のためのスイッチや表示手段(例えばLED表示器)等を備えている。外部メモリ14は、ハードディスク(HD)、ICカード等から構成されており、プリンタ1500にオプションとして接続される。この外部メモリ14は、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶しており、メモリコントローラ(MC)20によりアクセスが制御される。尚、外部メモリ14は1個に限らず、複数個備えることが可能となっている。即ち、内蔵フォントに加えてオプションカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていてもよい。更に、NVRAM(図示略)を有し、操作部21からのプリンタモード設定情報を記憶するようにしてもよい。
【0041】
上述したCPU12,RAM19,ROM13,入出力部18、印刷部インタフェース(I/F)16、メモリコントローラ(MC)20は、プリンタ制御ユニット1000上に配設されている。
【0042】
図4は、本発明の実施の形態1に係るネットワークデバイス分散管理システムにおいて、ネットワーク上に、クライアント、複数のサーバ、及び、少なくとも1つ以上のエージェント(管理対象となるデバイス)が存在する場合の構成例を示す図である。
【0043】
ホストコンピュータ3000で、ネットワークデバイスの管理ソフトウエアであるクライアント413が起動している。LAN100を介してホストコンピュータ3000と接続されているプリンタ1500では、そのプリンタの状態や構成をクライアント413に通知する情報を作成するエージェント1501が起動されている。更に、クライアント413からの命令をサブネット(LAN100)内のエージェントに実行させるサーバ1502が起動している。
【0044】
またネットワーク100に接続されている他のプリンタ1500aでは、エージェント1501a及び、サーバ1502aが起動している。またネットワーク100に接続されている更に別のプリンタ1500cでは、エージェント1501cが起動している。このように図4の構成では、サブネット100上で、サーバ1502及びサーバ1502aの2つが存在している。
【0045】
図5は、本実施の形態に係るプリンタ1500のサーバ1502の構成を説明するブロック図である。
【0046】
サーバ制御部501は、サーバ1502を制御している。通信制御部502は、クライアント413とサーバ1502との間、及び他のサーバ1502aとの間の通信、サーバ1502と管理対象のエージェント1501との間の通信制御を行う。これら各通信では、通信用途によりウェブサービスのサーバ機能やクライアント機能、機器管理を行うためのSNMPやSLPプロトコル等を行う。他サーバ管理部505は、マルチキャストパケットによるサーバサービスの探索結果やその管理対象エージェント情報を保持する。エージェント管理部506は、探索実行結果のエージェント情報を保持しておき、クライアントや他のサーバからの探索指示やエージェント取得指示を受取ると、自サーバで管理しているエージェント情報を通知する。主探索部507は、ネットワーク100上のデバイスの存在を確認するための探索を行う。例えばWS-DiscoveryのProbe及びProbe Matchパケット(非特許文献2を参照)のようなサービスのアドレス探索を行う。副探索部508は、主探索部507のアドレス探索結果から、それらのデバイスの構成情報やステータス等を取得し、クライアントが必要としている情報を取得する。
【0047】
図6は、上述の構成を有するネットワークデバイス分散管理システムにおける、サーバ1502による探索時の処理を説明するフローチャートである。
【0048】
まずステップS101で、サーバ1502がサービス開始後にクライアント413からのデバイス探索リクエストを受信する。次にステップS102に進み、他サーバ管理部505は、他のサーバが存在するかを確認する。
【0049】
図7は、本実施の形態に係る他サーバ管理部505が管理しているサーバ管理情報の一例を示す図である。
【0050】
ここでは探索された各サーバに対応して、そのIPアドレスが登録されている。
【0051】
ここで、サーバの探索方法としては、予めサブネット100上の、他のサーバのアドレスを登録しておく方法がある。またブロードキャストアドレス、マルチキャストアドレス等により、SLPで探索する方法や、ポート番号を固定した独自プロトコルにより、サーバの存在を確認する方法等が考えられる。
【0052】
ステップS102でサーバを探索する際、デバイス探索リクエストの探索予定のホップ数よりも大きいホップ数で他のサーバを探索することにより、重複してエージェントの探索を行う場合が減少する。次にステップS103で、ステップS102の探索結果により他のサーバが見つかったか否かを判定する。他のサーバが見つかった場合はステップS104に進み、他のサーバが既に管理対象としているエージェントの一覧を取得してステップS105に進む。これらの情報は、エージェント管理部506で、他のサーバが管理しているエージェント情報として保持されている。尚、ステップS103で、他のサーバが見つからなかった場合は、ステップS104を実行せずにステップS105に進む。
【0053】
ステップS105では、エージェントのアドレスを取得するために主探索を実行する。この主探索では、例えばWS-DiscoveryのProbeを行う。これにより探索条件に該当するデバイスがProbe Matchパケットを返信してくるため、デバイスのアドレスとしてUUID(Universally Unique Identifier)等のデバイス識別子を得ることができる。これらの情報はエージェント管理部506で主探索結果として保持される。
【0054】
図8は、この主探索結果の一例を示す図である。
【0055】
図8において、801には、管理サーバの名称が記憶されており、802には主探索の結果であるIPアドレスとUUIDが登録されている。即ち、図8の例では、主探索の結果見つかったIPアドレス10.0.0.5のデバイスを、サーバ2が管理していることを意味している。
【0056】
次にステップS106に進み、エージェント管理部506で保持されている主探索で見つかったデバイスと、エージェント管理部506で保持されている他のサーバが管理対象としているエージェントとを比較する。その結果、主探索で見つかった全てのデバイスの中で、既に他のサーバで管理対象としているデバイスがある場合はステップS107に進み、そのデバイスをエージェント管理部506のデバイス管理テーブルに非管理対象デバイスとして登録する。
【0057】
一方、主探索で見つかったデバイスが、他のサーバが管理対象としていないエージェントである場合はステップS106からステップS108に進み、そのエージェントから構成情報やステータスを取得する副探索を実行する。この副探索は、主探索結果を基に、クライアント413が必要としている情報を取得するものである。例えば、そのデバイスのモデル名や、構成情報として周辺機器の接続状態、デバイスや周辺機器のステータス、各種ログ、機器の設定等を取得する。そしてステップS109で、デバイス管理テーブルに管理対象デバイスとして登録する。
【0058】
図9は、この副探索による探索結果の一例を示す図である。
【0059】
図8と図9とを比較すると明らかなように、副探索によりIPアドレス「10.0.0.6」に対応するデバイスのモデル名と、そのモデルがカラー印刷が可能であることが登録されている。
【0060】
こうしてステップS107或はS109を実行するとステップS110に進み、これらの探索結果をクライアント413に返信する。
【0061】
また、ステップS103でサーバが多数見つかった場合は、サーバ間の通信により通信量が増加しすぎる場合がある。よって、そのような場合は、クライアント413経由でユーザにサーバの再配置等の注意を促す。または、不要なサーバを停止するようにしても良い。
【0062】
以上説明した本実施の形態1によれば、サーバが複数存在する場合であっても、複数のサーバとクライアントが重複する情報を取得する通信を防止できる。これによりネットワークのトラフィックが少ない効率的なのエージェントの管理が可能となる。
【0063】
また管理対象デバイスに対して、無駄なリソースを使用しないようにできる。また、ユーザはサーバの配置等を意識することなく、効率的なデバイスの管理を行うことが可能となる。
【0064】
[実施の形態2]
前述の実施の形態1では、サーバは、主探索で見つかったエージェントが他のサーバが管理対象としていない場合は、自サーバで管理対象とするために副探索を行っていた。しかし、副探索を行うときに、例えばモデル名などの毎回値の変わらない固定値の属性は、既に取得済みの情報があれば、それを採用して再取得しないようにする。これにより、ネットワークトラフィックをより低減することができる。
【0065】
そこで本実施の形態2では、そのような環境で、ネットワークデバイスを効率的に管理するためのネットワークデバイス分散管理システムを提案する。
【0066】
図10は、本発明の実施の形態2に係るネットワークデバイス分散管理システムにおける、サーバによる探索時の処理を説明するフローチャートである。尚、この実施の形態2に係るネットワークデバイス分散管理システムの構成等は前述の実施の形態1の場合と同様であるため、その説明を省略する。尚、図10において、ステップS101〜S110は、前述の図6のフローチャートにおけるステップS101〜S110と同じであるため、同じ記号を付してその説明を省略する。
【0067】
ステップS106で、サブネットに複数のサーバが存在する場合、サーバはエージェントが他のサーバで管理対象済みか否かを確認する。管理対象でないデバイスが存在する場合はステップS201に進み、既に自ブローカが管理対象としているデバイスか否かを確認する。ステップS201で、既に自サーバが管理対象としているデバイスの場合はステップS202に進み、副探索で取得する属性に動的な含まれるか否かを確認する。ここで動的な属性がない場合は副探索を行わずにステップS110に進んで、探索結果をクライアントに通知する。一方、ステップS202で、動的な属性が含まれる場合はステップS203に進み、動的な属性のみを再取得する。次にステップS110に進み、副探索を完了して探索結果をクライアントに通知する。
【0068】
図11は、本発明の実施の形態2に係る探索結果の一例を示す図である。
【0069】
図において、IPアドレスが「10.0.0.6」のデバイスは、自サーバが管理対象としており、既に副探索済みである。この場合に、再度探索命令を受信した場合、モデル名やカラー印刷が可能か否かを示す属性は固定値であるために再取得しない(図9参照)。
【0070】
しかし、901で示すように、デバイスステータスは動的な属性であるために再取得を行う。
【0071】
尚、ここで各属性が静的な属性であるか、動的な属性であるかは、各属性ごとに事前に設定されているものとする。
【0072】
以上説明したように本実施の形態2によれば、サーバが複数存在する場合も、複数のサーバとクライアントが重複する情報を取得するための通信を行わない。このため、トラフィックの少ない効率的なエージェントの管理が可能となる。
【0073】
また、サーバが重複する属性を取得しないために、よりトラフィックの少ない情報取得が可能となる。また管理対象デバイスに対して、無駄なリソースを使わなくなる。
【0074】
また、ユーザはサーバの配置等を意識しなくても効率的なデバイス管理を行う事が可能となる。
【0075】
[実施の形態3]
前述の実施の形態1では、サーバは主探索で見つかったエージェントについて、他のサーバが管理対象としていない場合は、自サーバで管理対象とするために副探索を行っていた。しかし、いずれのサーバからも管理対象となっていないエージェントが存在する場合に、クライアント413がサーバ1502に対してマルチキャストで探索指示を行った場合、同時に複数のサーバが副探索を行ってしまう。
【0076】
そこで本実施の形態3では、サーバは、他のサーバに管理対象デバイスであるか否かを確認すると同時に副探索の実行予約を行い、他のサーバへの予約が完了した後に副探索を行う。また、副探索の予約が完了した後に、実際に副探索が行われない場合には、一定時間後に副探索の実行予約を無効とする。
【0077】
本実施の形態3は、そのような環境でのネットワークデバイスを効率的に管理するための、ネットワークデバイス分散管理システムの場合で説明する。
【0078】
図12は、本発明の実施の形態3に係るネットワークデバイス分散管理システムにおける、サーバによる探索時の処理を説明するフローチャートである。尚、この実施の形態3に係るネットワークデバイス分散管理システムの構成等は前述の実施の形態1の場合と同様であるため、その説明を省略する。
【0079】
尚、図12において、ステップS101〜S110は、前述の図6のフローチャートにおけるステップS101〜S110と同じであるため、同じ記号を付してその説明を省略する。
【0080】
ステップS106で、サブネット上に複数のサーバが存在する場合、サーバはエージェントが他のサーバで管理対象済みかどうかを確認する。ここで管理対象としていないデバイスが存在する場合はステップS301に進み、他サーバに対して、探索対象予定(副探索実行予定)デバイスを副探索する副探索予約を行う。次にステップS302に進み、他サーバへの副探索予約が成功したかどうかを確認する。ここで他サーバへの副探索予約が成功した場合はステップS108に進み、エージェントから構成情報やステータスを取得する副探索を実行する。この副探索により、ステップS109で、主探索結果を基に、クライアント413やサーバが探索に必要な情報を取得し、デバイス管理テーブルに管理対象デバイスとして登録する。続いてステップS305に進み、他サーバに対して副探索結果を通知(予約解除)を行う。しかし、この通知を行わない場合も、他のサーバは、副探索予約の一定時間経過後であれば副探索を実行しても良い、また或は、その予約したサーバが副探索に失敗する等の理由により予約解除の通知が無くても、対象エージェントの他のサーバが管理対象としていなければ副探索を行うようにしても良い。
【0081】
またステップS302で、他サーバへの副探索予約が成功しない、即ち、既に管理対象としている場合はステップS303に進み、デバイス管理テーブルに非管理対象デバイスとして登録して探索を終了する。
【0082】
以上説明したように本実施の形態3によれば、サーバが複数存在する場合も、複数のサーバとクライアントが重複する情報を取得するための通信を防止できる。これにより、トラフィックの少ない効率的なのエージェントの管理が可能となる。
【0083】
また、サーバが重複する属性取得を行わないために、よりトラフィックの少ない情報取得が可能となる。
【0084】
また、管理対象デバイスに対して、無駄なリソースを使わなくなる。また、ユーザはサーバの配置等を意識しなくても効率的なデバイス管理を行う事が可能となる。
【0085】
(他の実施形態)
以上、本発明の実施形態について詳述したが、本発明は、複数の機器から構成されるシステムに適用しても良いし、また一つの機器からなる装置に適用しても良い。
【0086】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置のコンピュータが該供給されたプログラムを読み出して実行することによっても達成され得る。その場合、プログラムの機能を有していれば、形態は、プログラムである必要はない。
【0087】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明のクレームでは、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。
【0088】
プログラムを供給するための記録媒体としては、様々なものが使用できる。例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などである。
【0089】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページからハードディスク等の記録媒体にダウンロードすることによっても供給できる。その場合、ダウンロードされるのは、本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルであってもよい。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明のクレームに含まれるものである。
【0090】
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布する形態としても良い。その場合、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムが実行可能な形式でコンピュータにインストールされるようにする。
【0091】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される形態以外の形態でも実現可能である。例えば、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
【0092】
更に、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれるようにしてもよい。この場合、その後で、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行ない、その処理によって前述した実施形態の機能が実現される。
【図面の簡単な説明】
【0093】
【図1】ネットワーク管理の対象となりうるコンピュータネットワークの構成例を示す図である。
【図2】図1において、コンピュータ装置がクライアントとして動作し、通信装置がサーバ装置として動作するとした場合を説明する概略図である。
【図3】本発明の実施の形態1に係るネットワークデバイス分散管理システムの構成を示す図である。
【図4】実施の形態1に係るネットワークデバイス分散管理システムにおいて、ネットワーク上に、クライアント、複数のサーバ、及び、少なくとも1つ以上のエージェントが存在する場合の構成例を示す図である。
【図5】本実施の形態に係るサーバの構成を説明するブロック図である。
【図6】実施の形態1に係るネットワークデバイス分散管理システムにおける、サーバによる探索時の処理を説明するフローチャートである。
【図7】本実施の形態に係る他ブローカ管理部が管理しているブローカ管理情報の一例を示す図である。
【図8】実施の形態1に係る主探索結果の一例を示す図である。
【図9】実施の形態1に係る副探索による探索結果の一例を示す図である。
【図10】本発明の実施の形態2に係るネットワークデバイス分散管理システムにおける、サーバによる探索時の処理を説明するフローチャートである。
【図11】本発明の実施の形態2に係る探索結果の一例を示す図である。
【図12】本発明の実施の形態3に係るネットワークデバイス分散管理システムにおける、サーバによる探索時の処理を説明するフローチャートである。

【特許請求の範囲】
【請求項1】
ネットワーク上のデバイスを探索する管理装置であって、
ネットワークに他の管理装置が存在するか否かを識別する識別手段と、
前記識別手段により他の管理装置が存在すると識別されると、当該他の管理装置によって探索されたデバイスの情報を、当該他の管理装置から取得する取得手段と、
前記ネットワーク上のデバイスを探索する探索手段と、
前記探索手段によって探索されたデバイスの情報と、前記取得手段により取得した情報とに基づいて、前記探索手段によって探索されたデバイスが前記他の管理装置によって探索されているか否かを判定する判定手段と、
前記判定手段により、前記探索手段によって探索されたデバイスが前記他の管理装置によって探索されていると判定されなかった場合、当該デバイスの情報のうち、前記探索手段によって取得していない情報を、当該デバイスから取得する第二の取得手段と、
を有することを特徴とする管理装置。
【請求項2】
前記探索手段は、探索されたデバイスから、IPアドレス、UUID、デバイスのシリアル番号、MACアドレスの少なくともいずれかを含む、情報を取得することを特徴とする請求項1に記載の管理装置。
【請求項3】
前記識別手段により他の管理装置が存在すると識別された場合、前記第二の取得手段で取得した情報を、当該他の管理装置に通知する通知手段を更に有することを特徴とする請求項1又は2に記載の管理装置。
【請求項4】
前記第二の取得手段によって取得された情報に、前記デバイスのステータスを示す情報が含まれている場合、当該ステータスを示す情報を再取得する手段を更に有することを特徴とする請求項1乃至3の何れか1項に記載の管理装置。
【請求項5】
前記第二の取得手段によって情報を取得する前に、前記第二の取得手段による情報の取得の対象となるデバイスを前記他の管理装置に対して通知することにより、当該他の管理装置による当該デバイスの情報の取得を禁止する予約手段を更に有することを特徴とする請求項1乃至4のいずれか1項に記載の管理装置。
【請求項6】
前記予約手段の有効期間は、予め定められていることを特徴とする請求項5に記載の管理装置。
【請求項7】
ネットワーク上のデバイスを探索する管理装置の管理方法であって、
ネットワークに他の管理装置が存在するか否かを識別する識別工程と、
前記識別工程で他の管理装置が存在すると識別されると、当該他の管理装置によって探索されたデバイスの情報を、当該他の管理装置から取得する取得工程と、
前記ネットワーク上のデバイスを探索する探索工程と、
前記探索工程で探索されたデバイスの情報と、前記取得工程で取得した情報とに基づいて、前記探索工程で探索されたデバイスが前記他の管理装置によって探索されているか否かを判定する判定工程と、
前記判定工程で、前記探索工程で探索されたデバイスが前記他の管理装置によって探索されていると判定されなかった場合、当該デバイスの情報のうち、前記探索工程で取得していない情報を当該デバイスから取得する第二の取得工程と、
を有することを特徴とする管理方法。
【請求項8】
前記探索工程は、探索されたデバイスから、IPアドレス、UUID、デバイスのシリアル番号、MACアドレスの少なくともいずれかを含む情報を取得することを特徴とする請求項7に記載の管理方法。
【請求項9】
前記識別工程で他の管理装置が存在すると識別された場合、前記第二の取得工程で取得した情報を、当該他の管理装置に通知する通知工程を更に有することを特徴とする請求項7又は8に記載の管理方法。
【請求項10】
前記第二の取得工程で取得された情報に、前記デバイスのステータスを示す情報が含まれている場合、当該ステータスを示す情報を再取得する工程を更に有することを特徴とする請求項7乃至9の何れか1項に記載の管理方法。
【請求項11】
前記第二の取得工程で情報を取得する前に、前記第二の取得工程での情報の取得の対象となるデバイスを前記他の管理装置に対して通知することにより、当該他の管理装置による当該デバイスの情報の取得を禁止する予約工程を更に有することを特徴とする請求項7乃至10のいずれか1項に記載の管理方法。
【請求項12】
前記予約工程の有効期間は、予め定められていることを特徴とする請求項11に記載の管理方法。
【請求項13】
ネットワーク上のデバイスを探索する管理方法をコンピュータに実行させるために、該コンピュータを、
ネットワークに他の管理装置が存在するか否かを識別する識別手段と、
前記識別手段により他の管理装置が存在すると識別されると、当該他の管理装置によって探索されたデバイスの情報を、当該他の管理装置から取得する取得手段と、
前記ネットワーク上のデバイスを探索する探索手段と、
前記探索手段によって探索されたデバイスの情報と、前記取得手段により取得した情報とに基づいて、前記探索手段によって探索されたデバイスが前記他の管理装置によって探索されているか否かを判定する判定手段と、
前記判定手段により、前記探索手段によって探索されたデバイスが前記他の管理装置によって探索されていると判定されなかった場合、当該デバイスの情報のうち、前記探索手段によって取得していない情報を、当該デバイスから取得する第二の取得手段と、
を有する管理装置として機能させることを特徴とするプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate


【公開番号】特開2008−140048(P2008−140048A)
【公開日】平成20年6月19日(2008.6.19)
【国際特許分類】
【出願番号】特願2006−324696(P2006−324696)
【出願日】平成18年11月30日(2006.11.30)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】