説明

情報処理装置、デバイス、情報処理装置の制御方法、及びコンピュータプログラム

【課題】 デバイスを検索するための検索サーバを設置した場合に、クライアントPCやデバイス等の装置がこの検索サーバを使用するにあたっての設定作業の手間を軽減する。
【解決手段】 DHCPサーバは、複数のネットワークアドレスを管理し、ネットワークに新たに接続された装置からの要求に応じて、管理されるネットワークアドレスのうち他の装置に割り当てられていないネットワークアドレスを割り当てる。また、ネットワーク上のデバイスを検索するための検索要求に応じて検索を行い検索結果を応答する検索サーバのネットワークアドレスを記憶する。そして、前記割り当てられたネットワークアドレスと、前記記憶されたネットワークアドレスとを前記装置に送信する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワーク上のデバイスを検索するネットワークシステムで用いられる情報処理装置、デバイス、情報処理装置の制御方法に関する。
【背景技術】
【0002】
従来、プリンタ等のデバイスがネットワークに接続され、クライアントPCからネットワークを介して利用することが可能になっている。その際、クライアントPCはまずネットワーク上のデバイスを発見し、発見したデバイスを利用するためのドライバソフトウェアをインストールする必要がある。ネットワーク上のデバイスを検索するための技術としていくつか考えられているものの中には、ブロードキャストやマルチキャストを用いて検索要求パケットを送信するものがある。ブロードキャストやマルチキャストは、ネットワーク上に存在する複数の装置に対してデータを送信する方法である。これらの技術では、クライアントPCは検索要求パケットをブロードキャストやマルチキャストで送信し、検索要求パケットを受信したデバイスが検索応答パケットをクライアントPCに送信することにより、デバイスを検索する。
【0003】
また、ネットワーク同士がルータなどの接続機器により相互に接続され、大規模なネットワークを構築することが可能になっている。その中で、ブロードキャストやマルチキャストはネットワーク全体のトラフィックに影響を与えるため、一般にルータはこれらを通過させない設定で運用されることが多い。ルータによって区切られたそれぞれのネットワークはサブネットと呼ばれ、ブロードキャストやマルチキャストは一般にサブネット内のみで利用されている。このような環境でブロードキャストやマルチキャストを使用したネットワークデバイス検索技術を用いた場合、クライアントPCが送信した検索要求パケットはルータを通過できない。そのため、複数のサブネットがルータによって接続されたネットワーク環境において、クライアントPCは、異なるサブネットに存在するデバイスを発見することはできなかった。
【0004】
このような課題を解決するために、〔特許文献1〕には、サブネットごとにサーバを設置し、サーバ間でデバイス情報や検索要求の交換を行う技術が提案されている。
【特許文献1】特開2007−97057
【発明の開示】
【発明が解決しようとする課題】
【0005】
上記従来技術の方法では、クライアントPCは、サーバに問い合わせるためにそのサーバのネットワークアドレスを知っている必要がある。即ち、ユーザはクライアントPCそれぞれに対して、事前に、サーバのネットワークアドレスを登録しておく必要がある。また、各サーバには、ネットワーク上のデバイスの情報を登録しておく必要がある。このような登録作業は、サブネットが増えることによってサーバの数が増えたり、デバイスやクライアントPCの数が増えるにつれて作業負荷が高くなり、システム管理者やユーザの手間となっていた。
【0006】
本発明は、このような問題に対してなされたものであり、デバイスを検索するための検索サーバを設置した場合に、クライアントPCやデバイスがこの検索サーバを使用するにあたっての設定作業の手間を軽減することを目的とする。
【課題を解決するための手段】
【0007】
上記目的を達成するために、本発明の情報処理装置は、複数のネットワークアドレスを管理する管理手段と、ネットワークに新たに接続された装置からの要求に応じて、前記管理手段で管理されるネットワークアドレスのうち他の装置に割り当てられていないネットワークアドレスを割り当てる割り当て手段と、前記ネットワーク上のデバイスを検索するための検索要求に応じて検索を行い検索結果を応答する検索サーバのネットワークアドレスを記憶する記憶手段と、前記割り当て手段によって割り当てられたネットワークアドレスと、前記記憶手段に記憶されたネットワークアドレスとを前記装置に送信する送信手段とを有する。
【発明の効果】
【0008】
本発明によれば、デバイスを検索するためのサーバを設置した場合に、クライアントPCやデバイスがこのサーバを使用するにあたっての設定作業の手間を軽減することができる。
【発明を実施するための最良の形態】
【0009】
(実施例1)
図1は本発明を適用したデバイス検索システムの構成を示す図である。
DHCPサーバ101および検索サーバとしてのDiscovery Proxy(DP)102が接続されたサブネット1、クライアントPC103、画像形成装置104が接続されたサブネット2、画像形成装置105が接続されたサブネット3が存在している。サブネット1とサブネット2はルータ106により相互に接続され、サブネット1とサブネット3はルータ107により相互に接続されており、これら3つのサブネットによって1つのLANが形成されている。そして、結果としてすべてのサブネットにおいて接続された端末は相互に通信が可能になっている。ただし、ルータ106、107は一方のサブネットから受信したブロードキャストやマルチキャストを他方のサブネットにそのまま通過させることはしない。そのため、ブロードキャストやマルチキャストによる通信は各サブネット内でのみ可能である。ここで、本実施例に登場する装置のうち、画像形成装置104、105は、本発明におけるデバイスの一例であり、プリンタや複写機、スキャナ、複合機、ファクシミリ等である。また、本実施例に登場する装置のうち、DHCPサーバ101、DP102、クライアントPC103は、本発明における情報処理装置の一例であり、後述するように汎用のPCを使用可能である。図1のデバイス検索システムでは、クライアントPC103を操作するユーザが所望する画像形成装置を探すために、クライアントPC103からDP102に対して検索要求パケットが送られる。そして、DP102においてデバイスが検索された結果、検索結果がクライアントPCに送られる。
【0010】
次に、DHCP (Dynamic Host Configuration Protocol)を使用しIPアドレスなどの設定情報を配布する方法について説明する。DHCPは、ネットワークに接続された端末に設定情報を配布する仕組みを規定したプロトコルであり、その詳細はRFC2131で規定されている。DHCPはクライアント/サーバ方式をとり、DHCPサーバは各種設定情報を一元管理し、DHCPクライアントであるネットワーク端末はその情報を受信する。
【0011】
図2は、DHCPサーバとDHCPクライアントとの間で送受信されるDHCPメッセージのフローを説明するシーケンス図である。DHCPクライアントはDHCP DISCOVERメッセージをブロードキャストする(S2001)。DHCPサーバはDHCP DISCOVERメッセージを受信すると、メッセージを送信したDHCPクライアントにIPアドレスを割り当て、その後DHCP OFFERメッセージを送信する(S2002)。DHCP OFFERメッセージには、DHCP DISCOVER メッセージを送信したDHCPクライアントに割り当てられたIPアドレスやその他の設定情報が含まれている。
【0012】
DHCPクライアントはDHCP OFFERメッセージを受信すると、DHCP OFFERメッセージに含まれていたIPアドレスを使用するためのDHCP REQUESTメッセージをブロードキャストする(S2003)。DHCPサーバはDHCP REQUESTメッセージを受信すると、DHCP ACKメッセージを送信する(S2004)。DHCPクライアントはDHCP ACKメッセージを受信すると、それ以降は配布されたIPアドレスおよび設定情報を使用してネットワーク通信を行う。
【0013】
また、DHCPサーバから配布されたIPアドレスには使用可能な期間(リースタイム)が設けられている。DHCPクライアントは、取得したIPアドレスをリースタイム後も継続して使用したい場合には、リースタイムが切れる期限の前にDHCPサーバに対してDHCP REQUESTメッセージを送信する(S2005)。DHCPサーバは割り当て済のIPアドレスからのDHCP REQUESTを受信すると、リースタイムを更新し、DHCP ACKメッセージを送信する(S2006)。
【0014】
また、DHCPクライアントがIPアドレスの使用を中止する場合、DHCPクライアントはDHCPサーバに対してDHCP RELEASEメッセージを送信する(S2007)。DHCPサーバはDHCP RELEASEメッセージを受信すると、そのIPアドレスの割り当てを解除し、別のDHCPクライアントに対して割り当て可能にする。
【0015】
また、DHCPサーバは、割り当て済のIPアドレスからリースタイムが切れる前にDHCP REQUESTを受信することなく、リースタイムが経過した場合は、そのIPアドレスの割り当てを解除する。そして、そのIPアドレスを別のDHCPクライアントに対して割り当て可能にする。
【0016】
尚、図2のフローにおいて、S2001〜S2004のメッセージは、ブロードキャストで行われる。この時点では、DHCPクライアントにはまだIPアドレスが確定していないためである。
【0017】
一方、図1の構成のように複数のサブネットがルータによって接続されたネットワークにおいて、ルータがブロードキャストを通過させない設定である場合には、これらのDHCPメッセージはルータにより遮断されてしまう。この問題を解決するためにRFC2131においてはリレーエージェントの仕様も記載されている。リレーエージェントは一般にルータの一機能として実装され、以下に図1の構成の記号を使用して簡単にその動作を説明する。
【0018】
まずリレーエージェント機能を実装したルータ106はあらかじめDHCPサーバ101のIPアドレスを記憶しておく。DHCPクライアントとなるクライアントPC103はDHCP DISCOVERやDHCP REQUESTメッセージをサブネット2にブロードキャストする。ルータ106はDHCP DISCOVER/ DHCP REQUESTメッセージを受信すると、このメッセージをあらかじめ記憶しているDHCPサーバ101に対してユニキャストで転送する。DHCPサーバ101はルータ106からユニキャストでDHCP DISCOVER/ DHCP REQUESTメッセージを受信すると、DHCP OFFERやDHCP ACKメッセージをルータ106に対してユニキャストで送信する。ルータ106はDHCPサーバ101からDHCP OFFER/ DHCP ACKメッセージを受信すると、このメッセージをサブネット2にブロードキャストする。
【0019】
このように、リレーエージェント機能を実装したルータがブロードキャストによるDHCPメッセージを受信してユニキャストでDHCPサーバに転送することで、DHCPクライアントはDHCPサーバから情報を受信できるようになる。
【0020】
図3は、DHCPメッセージのフォーマットを示す図である。optionsフィールド301は可変長の各種データを設定可能な領域である。この領域は1byteのタグ、1byteのデータサイズ、可変長のデータを1個のoptionデータとし、複数のoptionデータを設定可能である。タグの値はあらかじめ標準化されている値とベンダが拡張可能な値があり、一例としてサブネットマスクやDNSサーバのIPアドレスといったタグの値は標準化された値として広く使用されている。
【0021】
本実施例においては、このoptionsフィールド301を拡張して使用する。DPのIPアドレスを意味するタグを定義し、データとしてDPのIPアドレスを設定することで、DHCPプロトコルを使用してDPのIPアドレス情報をクライアントPCやデバイス等のDHCPクライアントに配布することが可能となる。さらに、ネットワーク上に複数のDPが存在する場合には、このoptionsフィールド301に複数のDPのIPアドレスを設定することによりそれらのIPアドレス情報を配布することも可能である。
【0022】
またgiaddrフィールド302は、リレーエージェントがDHCPサーバにDHCPメッセージを転送する際に、リレーエージェント自身のIPアドレスを設定する。それによりDHCPサーバはDHCPメッセージを受信した際に、それがリレーエージェントからのものであった場合にはこのgiaddrフィールドを確認することでDHCPクライアントが属するサブネットを特定することが可能である。またyiaddrフィールド303は、DHCPサーバがDHCPクライアントに割り当てるIPアドレスが設定される。
【0023】
次に、図1で示したシステム構成の中で、本発明に関係するDHCPサーバ101、DP102、クライアントPC103、画像形成装置104、105のハードウェアおよびソフトウェア構成について説明する。なお、以降では特に断らない限り画像形成装置に関しては代表して104の記号を用いる。
【0024】
図30は、DHCPサーバ101、DP102、クライアントPC103のハードウェア構成を示すブロック図である。なお、DHCPサーバ101、DP102、クライアントPC103は汎用のPC(パーソナルコンピュータ)を使用可能であり、以下の説明は共通である。
【0025】
図30において、3001はCPUであり、システムバス3004に接続された各種デバイスの制御を行う。3002はBIOSやブートプログラムを記憶するROM、3003はCPU3001の主記憶装置として使用されるRAMである。3005はキーボードコントローラ(KBC)であり、マウス(登録商標)等のポインティングデバイス3009a、キーボード3009bからの情報などの入力に係る処理を行う。3006は表示制御部(CRTC)であり、内部にビデオメモリを有し、CPU3001からの指示に従ってそのビデオメモリに描画すると共に、ビデオメモリに描画されたイメージデータをビデオ信号としてCRT表示装置3010に出力する。なお、図30において表示装置としてCRTを例示しているが、液晶表示装置等、その表示装置の種類は問わない。3007はディスクコントローラ(DKC)であり、ハードディスク3011、フロッピー(登録商標)ディスク3012へのアクセスを行う。3008はネットワークインタフェースカード(NIC)であって、ネットワークに接続し、ネットワークを介しての情報通信を行うものである。なお、ハードディスク3011には、OS(Operating System)やOS上で動作する各種アプリケーションプログラム等が格納される。上記構成において、本装置の電源がONになると、CPU3001はROM3002に格納されたブートプログラムに従って、ハードディスク3011からOSをRAM3003に読み込み、情報処理装置として機能するようになる。
【0026】
図4は画像形成装置104のハードウェア構成を示すブロック図である。なお、ここでは、画像形成装置がMFP(Multi Function Peripheral)であった場合を例にして説明する。図4のMFP104において、401はCPUで、ROM402のプログラム用ROMに記憶された制御プログラムに基づいてシステムバス404に接続される各種のデバイスとのアクセスを総括的に制御する。また、印刷インターフェース407を介して接続される印刷部(プリンタエンジン)410に出力情報としての画像信号を出力したり、読取インターフェース412を介して接続される読取部(スキャナ)413から入力される画像信号を制御する。また、このROM403のプログラム用ROMには、CPU401が実行可能な制御プログラム等を記憶する。さらに、ROM403のフォント用ROMには上記出力情報を生成する際に使用するフォントデータ(アウトラインフォントデータを含む)等を記憶し、ROM403のデータ用ROMには、ホストコンピュータ上で利用される情報等を記憶している。CPU401はLANコントローラ部406を介してネットワーク上のホストコンピュータや画像形成装置との通信処理が可能となっている。402はRAMで、主としてCPU401の主メモリ,ワークエリア等として機能し、図示しない増設ポートに接続されるオプションRAMによりメモリ容量を拡張することができるように構成されている。なお、RAM402は、出力情報展開領域,環境データ格納領域等に用いられる。ハードディスク(HD),ICカード等の外部記憶装置411は、ディスクコントローラ(DKC)408によりアクセスが制御される。ハードディスクは、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶したり、プリントジョブを一時的にスプールし、スプールされたジョブを外部から制御するためのジョブ格納領域として使用される。またさらに、スキャナ413から読み取った画像データやプリントジョブの画像データをBOXデータとして保持し、ネットワークから参照したり、印刷を行うBOXデータ格納領域としても使用される。405は操作パネルで、ユーザがソフトウェアキーから各種情報を入力することが可能である。前述した外部記憶装置は、1個に限らず、少なくとも1個以上備え、内蔵フォントに加えてオプションフォントカード,言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていても良い。409は不揮発性メモリであり、操作パネル405から設定される各種設定情報を記憶している。また、図示していないが、MFP104にはさらにオプションで、ステープルやソート機能を行うフィニッシャや、両面印刷機能を実現するための両面装置など各種拡張装置を装着することが可能となっており、それらの動作はCPU401から制御される。
【0027】
図5は、DHCPサーバ101、DP102、クライアントPC103、画像形成装置104のソフトウェア構成を示すブロック図である。
DHCPサーバ101において、DHCPサーバ処理部501は前述のDHCPサーバとしての処理を行う。即ち、DHCPクライアントからの要求に応じて、IPアドレスをそのDHCPクライアントに割り当てる処理や、割り当てられたIPアドレスをDHCPクライアントに配布する処理を行う。DHCPクライアントに配布するIPアドレスのリストや設定情報は配布情報DB503において保持されている。尚、本実施例におけるDHCPクライアントは、クライアントPC103又は画像形成装置104であるが、DP102がDHCPクライアントとして動作しても構わない。DHCPサーバ処理部501はDHCPクライアントからの要求に基づき配布情報DB503を参照して各種情報を配布する。配布情報設定部502は配布情報DB503に保持する情報を設定するものである。またDHCPクライアントが属するサブネットごと、またクライアントごとに配布する情報を設定することも可能である。
【0028】
図21は、配布情報DB503に保持される設定情報の例である。図21においては、サブネット1用設定2101、サブネット2用設定2102、サブネット3用設定2103が存在し、それぞれのサブネットに異なる設定情報を配布することが可能な構成になっている。それぞれの設定情報は、スコープ、IPアドレス範囲、割り当て済みIPアドレス、リースタイム、DNSサーバアドレス、サブネットマスク、Gatewayアドレス、DPアドレスからなる。本実施例においては、DPがネットワーク上に1台のみ存在する構成であるため、各サブネット用設定のDPアドレスはすべてDP102のIPアドレスに設定される。
【0029】
DP102において、デバイス情報通知受信部511は画像形成装置104からデバイス情報の登録要求、更新要求、削除要求の通知を受信し、その通知の種類に基づき、デバイス情報保持部514が保持するデバイス情報の処理を行う。処理の結果、デバイス情報の取得が必要であると判断された場合は、デバイス情報取得部512は画像形成装置104に対してデバイス情報取得要求を送信し、返されたデバイス情報をデバイス情報保持部514に保持する。デバイス情報検索処理部513はクライアントPC103からデバイス情報の検索要求を受信し、指定された検索条件に基づきデバイス情報保持部514内のデバイス情報を検索する。そして、その結果をクライアントPC103に送信する。デバイス情報保持部514が保持するデバイス情報については後述する。
【0030】
クライアントPC103において、DHCPクライアント処理部521は前述のDHCPクライアントとしての処理を行う。DHCPサーバから配布されたIPアドレスや各種設定情報は設定情報記憶部522に保持され、適宜参照して使用することが可能である。デバイス検索要求処理部523はDP102に対してデバイス検索要求を送信し、その結果は検索情報表示部524において表示される。
【0031】
画像形成装置104において、DHCPクライアント処理部531は前述のDHCPクライアントとしての処理を行う。DHCPサーバから配布されたIPアドレスや各種設定情報は設定情報記憶部532に保持され、適宜参照して使用することが可能である。デバイス情報管理部534は画像形成装置104自身のデバイス情報を管理する。デバイス情報通知部533はデバイス情報の通知が必要な場合にDP102に対してデバイス情報の登録要求、更新要求、削除要求を送信する。ネットワークを介してデバイス情報取得要求を受信すると、デバイス情報送信部535は、デバイス情報管理部534が管理しているデバイス情報を要求元に送信する。
【0032】
図6はDP102のデバイス情報保持部514が保持するデバイス情報の例である。
それぞれのデバイスに関する情報はレコードとして保持され、レコードはID601、UUID602、バージョン603、デバイスタイプ604、モデル名605、デバイス名606、URL607、IPアドレス608からなる。
【0033】
ID601はDP内でデバイスを識別するためのIDを示す。UUID602はデバイスをグローバルに識別するUUID(Universally Unique Identifier)を示す。バージョン603はデバイス情報のバージョンを示す。デバイスタイプ604は複合機を意味する「MFP」、プリンタを意味する「Printer」などのタイプを示す。モデル名605は「LBPXXXX」のようなデバイスのモデル名を示す。デバイス名606はデバイス管理者がデバイスに設定した名前を示す。URL607はデバイス情報を取得するためのURLを示す。IPアドレス608はデバイスのIPアドレスを示す。
【0034】
次に、DHCPサーバ101がIPアドレスなどの設定情報をDHCPクライアントに配布する際の処理を図22のフローチャートを使用して説明する。図22の各ステップは、DHCPサーバのCPU3001がROM3002に格納されたプログラムを処理することによって実行される。
【0035】
まずS2201において、DHCPクライアントまたはリレーエージェントが送信したDHCP DISCOVERメッセージを、NIC3008を介して受信する。S2202において、CPU3001は、DHCPクライアントに割り当てる設定情報を、後述する方法によって特定する。
【0036】
S2203において、CPU3001は、S2202の処理により設定情報が特定されたかどうかを判定し、特定されなかった場合には処理を終了する。特定されていた場合にはS2204に進み、特定された設定情報に未割り当てのIPアドレスが残っているかどうかを判定し、残っていない場合には処理を終了する。残っている場合にはS2205に進み、DHCP OFFERメッセージを生成する。その際、配布するIPアドレスは図3のyiaddrフィールドに設定する。またその他の設定情報として、optionsフィールド301にはDHCPサーバ自身のIPアドレスおよびリースタイムを設定する。そしてS2206において、生成したDHCP OFFERメッセージを、NIC3008を介してDHCPクライアントに送信する。
【0037】
S2207において、DHCPクライアントまたはリレーエージェントが送信したDHCP REQUESTメッセージを、NIC3008を介して受信する。DHCP REQUESTメッセージのoptionsフィールド301には、DHCP OFFERメッセージのyiaddrフィールドで設定したIPアドレスが含まれており、CPU3001は、S2208において、配布情報DB503内の該当するIPアドレスを割り当て済みとする。次にS2209において、CPU3001は、DHCP REQUESTメッセージのoptionsフィールド301にさらに含まれている要求オプションを確認する。そして、配布情報DB503内を参照して要求されたオプション情報を設定したDHCP ACKメッセージを生成する。そしてS2210において、生成したDHCP ACKメッセージをNIC3008を介してDHCPクライアントに送信し、処理を終了する。
【0038】
図23は図22のフローチャートにおけるS2202の設定情報を特定する際の処理を詳細に示すフローチャートである。
まずS2301において、CPU3001は、S2201において受信したDHCP DISCOVERメッセージに含まれるgiaddrフィールドの値を取得する。次にS2302において、CPU3001は、giaddrの値が0であるかどうかを判定する。0であった場合はこのメッセージがDHCPサーバと同じサブネットに存在するDHCPクライアントから直接送信されたことを意味する。そのためS2303において、CPU3001は、配布する設定情報としてサブネット1用の設定情報2101を特定する。S2302の判定によりgiaddrの値が0以外であった場合はS2304に進む。S2304においてCPU3001は、giaddrの値がサブネット2用設定情報のスコープ内であるかどうかを判定する。この判定はgiaddrと、スコープのネットワークアドレスが一致するかどうかを判定することによって行う。S2304でYesと判定された場合はS2305に進み、CPU3001は、配布する設定情報としてサブネット2用の設定情報2102を特定する。S2304がNoであった場合はS2306に進む。S2306において、CPU3001は、giaddrの値がサブネット3用設定情報のスコープ内であるかどうかを判定する。S2306でYesと判定された場合はS2307に進み、配布する設定情報としてサブネット3用の設定情報2103を特定する。S2306でNoと判定された場合はS2308に進み、設定情報は特定せずに処理を終了する。
【0039】
図24は図22のS2207においてDHCPサーバが受信するDHCP REQUESTメッセージのoptionsフィールド301の例である。図24においては、要求IPアドレス2401、サーバ識別子2402、クライアント識別子2403、要求オプションリスト2404が記述されている。要求IPアドレス2401にはDHCP OFFERのyiaddrフィールドで指定されたIPアドレスが設定される。サーバ識別子2402にはDHCPサーバのIPアドレスが設定される。クライアント識別子2403にはDHCPクライアントのMACアドレスが設定される。要求オプションリスト2404にはDHCPクライアントが要求する設定情報のリストが設定される。図24の例では、サブネットマスク、Gatewayアドレス、DNSサーバアドレス、DPアドレスからなる。
【0040】
図25は図22のS2210においてDHCPサーバが送信するDHCP ACKメッセージのoptionsフィールド301の例である。図25においては、サーバ識別子2501、リースタイム2502、サブネットマスク2503、Gatewayアドレス2504、DNSサーバアドレス2505、DPアドレス2506を持っている。サーバ識別子2501にはDHCPサーバのIPアドレスが設定される。リースタイム2502にはリースタイムが設定される。サブネットマスク2503にはサブネットマスクが設定される。Gatewayアドレス2504にはGatewayアドレスが設定される。DNSサーバアドレス2505にはDNSサーバアドレスが設定される。DPアドレス2506にはDPのアドレスが設定される。
【0041】
次に、画像形成装置104のデバイス情報をDP102に登録する処理について説明する。画像形成装置104はDHCPクライアントとして動作し、DHCPサーバ101が図22、23の処理を行った結果、画像形成装置104自身のIPアドレスに加えDP102のIPアドレスを受信している。
【0042】
画像形成装置104は、起動時やデバイス情報に変化があった場合にDP102に対して図7のようなXML形式のHelloメッセージをユニキャストで送信することにより存在を通知する。
【0043】
図7のHelloメッセージは、<Header>タグで囲まれるheader部701と<Body>タグで囲まれるbody部702からなり、全体が<Envelope>タグで囲まれる構造になっている。この構造は本実施例において使用するメッセージすべてに共通である。
【0044】
header部701はメッセージの内容に依存しない共通ヘッダとしての役割を果たしており、<Action>タグ、<MessageID>タグ、<To>タグが存在する。<Action>タグはメッセージの種類を識別するためのものである。<MessageID>タグはメッセージを一意に識別するための識別子である。<To>タグはこのメッセージの送信先を識別するためのものである。一方、body部702はメッセージの内容に対応して構造が変化する。図7においては、<Body>タグの直下に<Hello>タグが存在し、このメッセージがHelloメッセージであることを示している。<Hello>タグの中には<EndpointReference>タグ、<Types>タグ、<XAddrs>タグ、<MetadataVersion>タグが存在する。<EndpointReference>タグの中には<Address>タグが存在し、デバイスを識別するアドレス情報を持つ。<Types>タグはデバイスのタイプ情報を持つ。<XAddrs>タグはデバイス情報を取得するためのURLを持つ。<MetadataVersion>タグはデバイス情報のバージョンを持つ。
【0045】
DP102はHelloメッセージの中からデバイスをグローバルに識別するUUIDとして<EndpointReference>タグの中の<Address>タグの値を抽出する。またデバイスタイプとして<Types>タグの値を抽出する。またデバイス情報のバージョンとして<MetadataVersion>タグの値を抽出する。またデバイス情報を取得するためのURLとして<XAddrs>タグの値を抽出する。そしてこれら抽出した情報をデバイス情報保持部514に格納する。また同時に、Helloメッセージの送信元IPアドレスもデバイス情報保持部514に格納する。
【0046】
その後DP102は<XAddrs>タグで記載されたURLに対し、図8のようなXML形式のGetメッセージをユニキャストで送信する。図8のGetメッセージは、header部のみを持つメッセージとなっている。header部の<Action>タグにおいて、このメッセージがGetメッセージであることを示している。
【0047】
画像形成装置104のデバイス情報送信部535はGetメッセージを受信すると図9のようなGetResponseメッセージを送信する。
【0048】
図9のGetResponseメッセージにおいては、body部に<Metadata>タグで示されるデバイス情報を持つ構造となっている。<Metadata>タグの中には<MetadataSection>タグで示されるMetadataSection部901、902、903が存在する。各MetadataSection部は直下のタグにより、その中に持つ情報の種類が指定される。MetadataSection部901は<ThisDevice>タグを持っており、デバイスごとに異なる情報が格納される。<FriendlyName>タグはこのデバイスにつけた名前、<FirmwareVersion>タグはこのデバイスのファームウェアバージョン、<SerialNumber>タグはこのデバイスのシリアル番号を示している。MetadataSection部902は<ThisModel>タグを持っており、デバイスのモデルごとに異なる情報が格納される。<Manufacturer>タグはデバイスの製造会社名、<Manufacturer>タグはデバイス製造会社のURL、<PresentationURL>はデバイスの情報を示すURL、<ModelName>タグはデバイスのモデル名を示している。MetadataSection部903は<Relationship>タグを持っており、デバイスが持つ内部サービスの情報が格納される。本実施例においては、内部サービスとは画像形成装置が提供するプリントサービスである。<Relationship>タグはさらにその直下に<Hosted>タグを持ち、その中に<EndpointReference>タグ、<Types>タグ、<ServiceId>タグが存在する。<EndpointReference>タグの中には<Address>タグが存在し、サービスを利用するためのアドレス情報を持つ。<Types>タグはサービスのタイプ情報を持つ。<ServiceId>タグはデバイス内でサービスを識別するための識別子を持つ。
【0049】
DP102は受信したデバイス情報からデバイス名として<FriendlyName>タグの値、モデル名として<ModelName>タグの値を抽出し、デバイス情報保持部514に格納する。
【0050】
図14は上述のデバイス情報登録の流れに関し、DP102がデバイス情報をデバイス情報保持部514に登録する際の処理を示すフローチャートである。図14の各ステップは、DP102のCPU3001がROM3002に格納されたプログラムを処理することによって実行される。
【0051】
S1401において、DP102は、画像形成装置から送信されたHelloメッセージを、NIC3008を介して受信する。次にS1402において、CPU3001は、受信したHelloメッセージの中からUUIDを抽出する。そして、S1403において、CPU3001は、抽出されたUUIDと同じUUIDを持つレコードがデバイス情報保持部514に存在するかどうかを判定する。存在しなかった場合はS1404に進み、デバイス情報保持部514に保持される図6に示すデバイス情報にあらたにレコードを追加する。続いてS1405において、DP102は、Getメッセージを画像形成装置に対して送信することによりデバイス情報を取得する。S1406において、CPU3001は、デバイス情報保持部514に追加したレコードを更新する。一方S1403において、レコードが存在すると判定された場合にはS1407に進み、CPU3001は、受信したHelloメッセージからバージョン情報を抽出する。次にS1408において、CPU3001は、UUIDが一致したレコードにおけるバージョン情報が、S1407で抽出したバージョン情報と同じであるかどうかを判定する。バージョンが異なった場合はS1405に進みデバイス情報の更新を行う。同じであった場合には何もせずに処理を終了する。
【0052】
次にDP102に登録されたデバイス情報を画像形成装置104が削除する処理について説明する。
【0053】
画像形成装置104は、自機がSHUTDOWNする場合など、動作を停止する場合にはDP102に対して図10のようなByeメッセージをユニキャストで送信する。
【0054】
図10のByeメッセージにおいては、body部に<Bye>タグが存在し、このメッセージがByeメッセージであることを示している。<Bye>タグの中には<EndpointReference>タグが存在する。<EndpointReference>タグの中には<Address>タグが存在し、デバイスを識別するアドレス情報を持つ。
【0055】
DP102はByeメッセージの中からUUID情報を抽出し、対応するデバイス情報をデバイス情報保持部514から削除する。
【0056】
図15は上述のデバイス情報削除の流れに関し、DP102がデバイス情報をデバイス情報保持部514から削除する際の処理を示すフローチャートである。図15の各ステップは、DP102のCPU3001がROM3002に格納されたプログラムを処理することによって実行される。
【0057】
まずDP102はS1501において、画像形成装置から送信されたByeメッセージをNIC3008を介して受信する。次にS1502において、CPU3001は、受信したHelloメッセージの中からUUIDを抽出する。そして、S1503において、CPU3001は、抽出されたUUIDと同じUUIDを持つレコードがデバイス情報保持部514に存在するかどうかを判定する。存在した場合はS1504に進み、CPU3001は、デバイス情報保持部514からそのレコードを削除する。存在しなかった場合には何もせずに処理を終了する。
【0058】
次に、クライアントPC103がDP102を使用して画像形成装置を検索する処理について説明する。クライアントPC103はDHCPクライアントとして動作し、DHCPサーバ101が図22、23の処理を行った結果、クライアントPU103自身のIPアドレスに加えて、DP102のIPアドレスを受信している。
【0059】
クライアントPC103は、DP102に対して図11のようなXML形式のProbeメッセージをユニキャストで送信する。図11のProbeメッセージにおいては、body部に<Probe>タグが存在し、このメッセージがProbeメッセージであることを示している。<Probe>タグの中には<Types>タグが存在する。<Types>タグは検索したいデバイスのタイプを指定するものである。図11の例では、デバイスのタイプがプリンタであるデバイスを検索するためのProbeメッセージを示している。
【0060】
DP102はProbeメッセージを受信すると、<Types>タグを抽出しデバイス情報保持部514の中から検索条件に合致するデバイスを探し、図12のようなProbeMatchメッセージをクライアントPC103に送信する。図12のProbeMatchメッセージにおいては、body部に<ProbeMatches>タグが存在し、このメッセージがProbeMatchメッセージであることを示している。<ProbeMatches>タグの中には<ProbeMatch>タグで示されるProbeMatch部1201、1202が存在する。それぞれのProbeMatch部が1個の検索結果に対応しており、図12の例においては2個のデバイスが条件に合致したことを示す検索結果を示している。ProbeMatch部の中の構造は図7のHelloメッセージにおける<Hello>タグの中と同一である。
【0061】
クライアントPC103はProbeMatchメッセージの中から<XAddrs>タグで記載されたURLを抽出し、図8のようなGetメッセージをユニキャストで送信する。本実施例においてURLは画像形成装置104のIPアドレスからなっており、GetメッセージはDP102ではなく画像形成装置104に直接送信する。画像形成装置104は図9のようなGetResponseメッセージを送信し、これを受信したクライアントPC103は必要な情報を抽出する。
【0062】
ProbeMatchメッセージに複数の検索結果が存在している場合にはクライアントPC103はGetメッセージの送信を繰り返し、すべてのデバイス情報を取得する。
【0063】
図16は上述の検索の流れに関し、DP102がデバイス情報を検索する際の処理を示すフローチャートである。図16の各ステップは、DP102のCPU3001がROM3002に格納されたプログラムを処理することによって実行される。
【0064】
まずDP102はS1601において、クライアントPC103から送信されたProbeメッセージをNIC3008を介して受信する。次にS1602において、CPU3001は、受信したProbeメッセージ中のTypesタグの値を抽出する。S1603において、CPU3001は、Typesタグの値が空かどうかを判定する。空ではなかった場合はS1604において、CPU3001は、デバイス情報保持部514に保持されているデバイス情報のレコードを検索し、抽出された値と同じデバイスタイプを持つレコードが存在するかどうかを判定する。デバイスタイプが同じレコードが存在した場合には、S1605において、CPU3001はそのレコードに対応した応答データを作成する。S1606において、CPU3001はすべてのレコードについて確認が終了したかどうかを判定する。すべてのレコードの検索が終了するとS1607に進み、CPU3001は、それまでに生成された応答データを1個にまとめ、図12のようなProbeMatchメッセージをクライアントPC103に送信して処理を終了する。また、S1603において、Typesの値が空であると判定された場合にはS1608に進み、すべてのレコードについての応答データを作成する。そして、S1607においてProbeMatchメッセージをクライアントPC103に送信して処理を終了する。尚、図16の例では、Probeに含まれる検索条件が、デバイスタイプであった場合を例に説明したが、デバイス名やモデル名など、その他の情報であってもよい。
【0065】
図13はクライアントPC103が画像形成装置を検索する際のUIの例を示す図である。図13の画面は、クライアントPCのCRT3010上に表示される画面である。図13において、領域1301は検索するデバイスのタイプを指定するための領域であり、「MFP」「Printer」などのキーワードが指定可能である。領域1301に何も入力しない場合はすべての画像形成装置が検索される。ボタン1302を押下すると上述したようにDP102に対して検索が実行される。検索された結果は領域1303に表示され、取得した情報から、デバイスのタイプやモデル名、デバイス名が同時に表示される。
【0066】
以上説明したように、本実施例によれば、サブネットを越えた範囲におけるデバイスを検索することができる。また、デバイス検索サーバをクライアントPCやデバイスに登録する処理が簡単になり、システム管理者やユーザの手間が軽減される。即ち、クライアントPCやデバイスにDHCPサーバがアドレスを配布する際に、一緒にデバイス検索サーバのアドレスを配布するので、改めてクライアントPCやデバイスにデバイス検索サーバのアドレスを登録する必要がなくなる。
【0067】
(実施例2)
次に、第二の実施例として別のシステム構成例について説明する。
【0068】
本実施例においては、DP102のデバイス情報保持部514に保持されるデバイス情報の更新を、画像形成装置からの通知受信時ではなくDHCPサーバからの通知によって行う。
【0069】
本実施例におけるネットワーク構成は図1で示した第一の実施例と同様である。
【0070】
図17は本実施例におけるDHCPサーバ101、DP102、クライアントPC103、画像形成装置104のソフトウェア構成を示すブロック図である。なお、第一の実施例と同じ機能を持つブロックに関しては同じ番号を付し、説明は省略する。
【0071】
図17において、DHCPサーバ101の配布状況通知部1701はIPアドレスや設定情報をDHCPクライアントへ配布した状況を、DP102に対して通知する。この通知は図18のようなフォーマットである。配布状況通知部は、この通知を図2のDHCP ACK(S2004、S2006)送信時、DHCP RELEASE(S2007)受信時、およびリース期間内にDHCP REQUESTを受信せず、IPアドレスの割り当てを解除したタイミングで行う。
【0072】
DP102の配布状況受信部1711は、通知を受信し、その種類に基づきデバイス情報保持部514が保持するデバイス情報を用いた処理を行う。デバイス情報の取得が必要であると判断された場合は、デバイス情報取得部512は画像形成装置104に対してデバイス情報取得要求を送信し、返されたデバイス情報をデバイス情報保持部514に保持する。
【0073】
画像形成装置104は、第一の実施例におけるデバイス情報通知部533は持たない。そのため、DHCPサーバ101からDP102のIPアドレスが配布されたとしても、DP102に対して直接そのIPアドレスを通知することはしない。
【0074】
図18はDHCPサーバ101からDP102に送信される通知データのフォーマットである。タイプ1801としては、1〜3の値を設定する。1はDHCPACK(S2004)を送信しIPアドレスの新規割り当てを行ったことを示す。2はDHCPACK(S2006)を送信しIPアドレスの使用を更新したことを示す。3はDHCPRELEASEを受信したか、リース期間内にDHCPREQUESTを受信せずIPアドレスの割り当てを解除したことを示す。アドレス1802には配布したIPアドレスを設定する。
【0075】
図19はDP102の配布状況受信部1702がDHCPサーバ101から通知を受信した際のDP102の処理を示すフローチャートである。図19の各ステップは、DP102のCPU3001がROM3002に格納されたプログラムを処理することによって実行される。
【0076】
ステップ1901において、DP102は、図18の通知メッセージをNIC3008を介して受信する。次にS1902において、CPU3001は通知メッセージのタイプを解析しその値によって処理を分岐させる。タイプが1であった場合はS1903に進み、DP102はNIC3008を介して通知メッセージに含まれるIPアドレスに対してProbeメッセージを送信する。次にS1904において、Probeの応答としてのProbeMatchメッセージを受信する。次にS1905において、CPU3001は、受信したProbeMatchメッセージに基づいてデバイス情報保持部514に新たにレコードを追加する。そしてS1906において、NIC3008を介してGetメッセージを送信する。S1907においてGetの応答としてのデバイス情報を取得し、S1908において、CPU3001はデバイス情報保持部514に追加したレコードを更新して処理を終了する。
【0077】
S1902において、タイプが2であった場合にはS1909に進み、DP102は受信した通知メッセージに含まれるIPアドレスに対して、NIC3008を介してProbeメッセージを送信する。次にS1910において、送信したProbeの応答としてのProbeMatchメッセージを受信する。次にS1911において、CPU3001はProbeMatchメッセージからUUIDを抽出する。S1912において、CPU3001は抽出されたUUIDと同じUUIDを持つレコードがデバイス情報保持部514に保持されるデバイス情報の中に存在するかどうかを判定する。存在しなかった場合はS1913に進み、CPU3001はデバイス情報保持部514にあらたにレコードを追加する。続いてS1914においてGetメッセージを送信する。次にS1915においてGetの応答としてのデバイス情報を取得し、S1916において、CPU3001はデバイス情報保持部514に追加したレコードを更新して処理を終了する。一方S1912において、存在すると判定された場合にはS1917に進み、CPU3001はProbeMatchメッセージからバージョン情報を抽出する。S1918において、CPU3001は、S1917で抽出したバージョン情報が、UUIDが一致したレコードにおけるバージョン情報と比較して同じであるかどうかを判定する。バージョンが異なった場合はS1914に進み、CPU3001はデバイス情報の更新を行う。同じであった場合には何もせずに処理を終了する。
【0078】
S1902において、タイプが3であった場合にはS1919に進み、CPU3001は、通知メッセージに含まれるIPアドレスを持つレコードがデバイス情報保持部514に保持されるデバイス情報の中に存在するかどうかを判定する。存在した場合はS1920に進み、CPU3001はそのレコードを削除して処理を終了する。存在しなかった場合には何もせずに処理を終了する。
【0079】
尚、本実施例2において、デバイス情報保持部514に保持されるデバイス情報を削除することが可能な装置を制限することも可能である。つまり、特定の装置のみが、DP102のデバイス情報保持部514に保持されるデバイス情報を削除できるようにする。図28はその場合のDP102のソフトウェア構成を示すものである。図28において、アクセス制御手段2801は、図18の通知メッセージを受信すると、アクセス制御リスト設定手段2802により作成されるアクセス制御リストに従い、通知メッセージを処理するかどうかを判断する。アクセス制御リスト設定手段2802はユーザによりキーボード3009bから所望のIPアドレスが入力されると、そのIPアドレスに基づいてアクセス制御リストを作成する。なお、アクセス制御リストを作成する別の形態としては、ネットワークを介してIPアドレス情報を受信し、アクセス制御リストを作成するようにしてもよい。
【0080】
図29は上記構成例において、DP102の配布状況受信部1702がDHCPサーバ101から上述したタイプが3である通知を受信した際の処理を示すフローチャートである。このフローチャートの各ステップは、DP102のCPU3001によって処理される。
【0081】
S2901において、DP102はタイプが3である通知を受信する。S2902において、CPU3001は、受信した通知の送信元IPアドレスを取得する。図18の通知メッセージの送受信はIP通信を使用しており、このIPアドレスは通知メッセージの前に付加されるIPヘッダから取得される。次にS2903において、CPU3001は、取得したIPアドレスがアクセス制御リストの中に存在するかどうかを判定する。存在した場合はS2904に進み、CPU3001は通知メッセージに含まれるIPアドレスを持つレコードがデバイス情報保持部514に保持されるデバイス情報の中に存在するかどうかを判定する。存在した場合はS2905に進み、CPU3001はそのレコードを削除して処理を終了する。S2903において取得したIPアドレスがアクセス制御リストに存在しなかった場合、およびS2904においてレコードが存在しなかった場合には何もせずに処理を終了する。
【0082】
この構成においては、DP102が保持するデバイス情報を削除できる装置を、例えばDHCPサーバ101のみに限定することができる。
【0083】
以上説明したように、実施例2によれば、クライアントPC103や画像形成装置104が自身の情報をDP102に通知する必要はなくなる。従って、クライアントPCや画像形成装置が自身の情報をDP102に通知することができない状況であっても、DHCPサーバが代わりにデバイス情報をDP102に通知することができる。例えば、画像形成装置の電源が抜かれ、画像形成装置がByeメッセージをDPに送信できない場合、画像形成装置が使用できないことをIPアドレスの更新が依頼されないことによってDHCPサーバが知ることができる。そのような場合に、DHCPサーバは、画像形成装置の代わりにDP102のデバイス情報からその画像形成装置の情報を削除するように通知することができる。従って、DPは、このような状況であってもより正確なデバイス情報を管理することができるようになる。
【0084】
(実施例3)
次に第三の実施例について説明する。
本実施例においてはDPはネットワーク上に1台のみ存在するのではなく、各サブネットごとにDPを配置する。
【0085】
図20は本実施例におけるデバイス検索システムの構成を示す図である。サブネット1にはDHCPサーバ101、クライアントPC109が接続されている。サブネット2にはDP102、クライアントPC103、画像形成装置104が接続されている。サブネット3にはDP108、クライアントPC110、画像形成装置105が接続されている。サブネット1とサブネット2はルータ106により相互に接続され、サブネット1とサブネット3はルータ107により相互に接続されており、結果としてすべてのサブネットにおいて接続された端末は相互に通信が可能になっている。
【0086】
このようなシステム構成において、本実施例においては、DHCPサーバ101の配布情報設定部502により、図26のような配布設定を行う。図26においては、第一の実施例における図21の設定情報に加え、サブネット2用設定2602には予約済みオプション2604が存在している。予約済みオプション2604は、MACアドレス、IPアドレス、DPアドレスからなる。DHCP REQUESTを送信したDHCPクライアントのMACアドレスがこの予約済みオプションのいずれかに一致した場合には、本オプションで記述された情報が優先して配布される。なお図26では1個のみ設定しているが、複数個設定することも可能である。本実施例においては予約済みオプション2604にはMACアドレスとして画像形成装置104のMACアドレス、IPアドレスとして画像形成装置104に固定で配布するIPアドレス、DPアドレスとしてDP102のIPアドレスを設定する。また、サブネット1用設定2601にはDPのアドレスとしてDP102およびDP108のIPアドレスを設定する。サブネット2用設定2602にはDPのアドレスとしてDP102およびDP108のIPアドレスを設定する。サブネット3用設定2603にはDPのアドレスとしてDP108のIPアドレスを設定する。
【0087】
次に、DHCPサーバ101がIPアドレスなどの設定情報をDHCPクライアントに配布する際の処理を図27のフローチャートを使用して説明する。図27の各ステップは、DHCPサーバ101のCPU3001がROM3002に格納されたプログラムを処理することによって実行される。
【0088】
まずS2701において、DHCPサーバ101は、DHCPクライアントまたはリレーエージェントが送信したDHCP DISCOVERメッセージを受信する。S2702において、CPU3001は第一の実施例における図23で示した方法により割り当てる設定情報を特定する。S2703において、CPU3001は、S2702で設定情報が特定されたかどうかを判定し、特定されなかった場合には処理を終了する。特定されていた場合にはS2704に進む。S2704において、CPU3001は、メッセージに含まれるクライアント識別子と、特定された設定情報の予約済みオプションのMACアドレスが一致するかどうかを判定する。一致していた場合にはS2705に進み、CPU3001は予約済みオプションで設定されているIPアドレスをDHCP OFFERメッセージのyiaddrフィールドに設定する。その後、S2707へ進む。S2704の判定で一致していなかった場合はS2706に進み、CPU3001は、特定された設定情報に未割り当てのIPアドレスが残っているかどうかを判定し、残っていない場合には処理を終了する。残っていた場合にはS2707に進む。S2707においては、CPU3001は、DHCP OFFERメッセージの中で未設定の部分に、特定された設定情報を設定し、DHCPOFFERメッセージを生成する。ここで、S2705によりyiaddrフィールドが設定されていない場合には、配布するIPアドレスはyiaddrフィールドに設定する。そしてS2708において、生成したDHCP OFFERメッセージをDHCPクライアントに送信する。次にS2709において、DHCPサーバ101は、DHCPクライアントまたはリレーエージェントが送信したDHCP REQUESTメッセージを受信する。S2710において、CPU3001は、第一の実施例における図23で示した方法により割り当てる設定情報を特定する。S2711においてCPU3001は、S2710で設定情報が特定されたかどうかを判定し、特定されなかった場合には処理を終了する。特定されていた場合にはS2712に進み、CPU3001は、メッセージに含まれるクライアント識別子と、特定された設定情報の予約済みオプションのMACアドレスが一致するかどうかを判定する。一致していた場合にはS2713に進み、CPU3001は、予約済みオプションに設定されている設定情報をDHCP ACKメッセージに設定する。S2712の判定で一致していなかった場合はS2714に進み、DHCP REQUESTメッセージに含まれる要求IPアドレスを割り当て済みとする。次にS2715において、CPU3001は、DHCP REQUESTメッセージの中で未設定の部分に、特定された設定情報に基づき設定し、DHCP ACKメッセージを生成する。そしてS2716において、生成したDHCP ACKメッセージをDHCPクライアントに送信し、処理を終了する。
【0089】
上記処理により、画像形成装置104にはDP102のIPアドレスが配布され、画像形成装置105にはDPのアドレスとしてDP108のIPアドレスが配布される。
【0090】
その結果、画像形成装置104はDP102に存在を通知し、画像形成装置105はDP108に存在を通知することになる。その後第一の実施例と同様のメッセージ交換を行うことにより、画像形成装置104のデバイス情報はDP102、画像形成装置105のデバイス情報はDP108に保持される。
【0091】
一方、クライアントPC103にはDPのアドレスとしてDP102、DP108のIPアドレスが配布される。クライアントPC103はDP102、DP108両方のDPに対して第一の実施例と同様の処理を繰り返し行うことにより、画像形成装置104、105のデバイス情報を取得することが可能となる。またクライアントPC110にはDPのアドレスとしてDP108のIPアドレスが配布される。よってクライアントPC110はDP108に対して第一の実施例と同様の処理を行い、画像形成装置105のデバイス情報を取得できるが、DP102の存在はわからないため、画像形成装置104のデバイス情報を取得することはできない。これにより、サブネット2上のクライアントPCにはすべてのサブネットに存在する画像形成装置のデバイス情報を取得させ、サブネット3上のクライアントPCにはサブネット3に存在する画像形成装置のデバイス情報しか取得させないという制御が可能となる。また、図26の例においては、DPが存在しないサブネット1上のDHCPクライアントにはDP102、DP108のIPアドレスを配布するように設定している。そのため、クライアントPC109はクライアントPC103と同様画像形成装置104、105のデバイス情報を取得することが可能となる。
【0092】
(その他の実施例)
本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。
【0093】
また、本発明は、前述した実施例のフローチャートを実現するソフトウェアのコンピュータプログラムコードを記録した記憶媒体を、システムあるいは装置に供給してもよい。そして、そのシステムあるいは装置のコンピュータ(CPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成され得る。
【0094】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0095】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、DVD−ROM、磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。
【図面の簡単な説明】
【0096】
【図1】本実施例におけるしたネットワーク検索システムの構成を示す図
【図2】DHCPサーバとDHCPクライアントとの間で送受信されるDHCPメッセージのフローを説明する図
【図3】DHCPメッセージのフォーマットを示す図
【図4】画像形成装置のハードウェア構成を示すブロック図
【図5】DHCPサーバ、DP、クライアントPC、画像形成装置のソフトウェア構成を示すブロック図
【図6】DPのデバイス情報保持部が保持するデバイス情報の例
【図7】本実施例におけるHelloメッセージの例
【図8】本実施例におけるGetメッセージの例
【図9】本実施例におけるGetResponseメッセージの例
【図10】本実施例におけるByeメッセージの例
【図11】本実施例におけるProbeメッセージの例
【図12】本実施例におけるProbeMatchメッセージの例
【図13】クライアントPCが画像形成装置を検索する際のUIの例を示す図
【図14】DPがデバイス情報登録を行う際の処理を示すフローチャート
【図15】DPがデバイス情報を削除する際の処理を示すフローチャート
【図16】DPがデバイス情報を検索する際の処理を示すフローチャート
【図17】第二の実施例におけるDHCPサーバ、DP、クライアントPC、画像形成装置のソフトウェア構成を示すブロック図
【図18】DHCPサーバからDPに送信される通知データのフォーマット
【図19】DPの配布状況受信部がDHCPサーバから通知を受信した際の処理を示すフローチャート
【図20】第三の実施例におけるネットワーク検索システムの構成を示す図
【図21】第一の実施例における配布情報DBに保持される設定情報の例
【図22】第一の実施例におけるDHCPサーバが設定情報を配布する際の処理を示すフローチャート
【図23】DHCPサーバが設定情報を特定する際の処理を示すフローチャート
【図24】DHCPREQUESTメッセージのoptionsフィールドの例
【図25】DHCPACKメッセージのoptionsフィールドの例
【図26】第三の実施例における配布情報DBに保持される設定情報の例
【図27】第三の実施例におけるDHCPサーバが設定情報を配布する際の処理を示すフローチャート
【図28】第二の実施例におけるDPのソフトウェア構成を示すブロック図
【図29】DPの配布状況受信部がDHCPサーバから通知を受信した際の処理を示すフローチャート
【図30】DHCPサーバ、DP、クライアントPCのハードウェア構成を示すブロック図
【符号の説明】
【0097】
3001 CPU
3002 ROM
3003 RAM
3005 KBC
3006 CRTC
3007 DKC
3008 NIC

【特許請求の範囲】
【請求項1】
複数のネットワークアドレスを管理する管理手段と、
ネットワークに新たに接続された装置からの要求に応じて、前記管理手段で管理されるネットワークアドレスのうち他の装置に割り当てられていないネットワークアドレスを割り当てる割り当て手段と、
前記ネットワーク上のデバイスを検索するための検索要求に応じて検索を行い検索結果を応答する検索サーバのネットワークアドレスを記憶する記憶手段と、
前記割り当て手段によって割り当てられたネットワークアドレスと、前記記憶手段に記憶されたネットワークアドレスとを前記装置に送信する送信手段と、
を有することを特徴とする情報処理装置。
【請求項2】
複数のネットワークアドレスを管理する管理手段と、
ネットワークに新たに接続された装置からの要求に応じて、前記管理手段で管理されるネットワークアドレスのうち他の装置に割り当てられていないネットワークアドレスを割り当てる割り当て手段と、
前記ネットワーク上のデバイスを検索するための検索要求に応じて検索を行い検索結果を応答する検索サーバのネットワークアドレスを記憶する記憶手段と、
前記割り当て手段によって割り当てられたネットワークアドレスを、前記装置と前記検索サーバとに送信する送信手段と、
を有することを特徴とする情報処理装置。
【請求項3】
前記送信手段は、前記装置が前記割り当て手段によって割り当てられたネットワークアドレスを使用可能な期間を示す情報を送信することを特徴とする請求項1又は2の何れかに記載の情報処理装置。
【請求項4】
前記使用可能な期間が経過する前に前記装置から更新要求を受信した場合、前記使用可能な期間を更新し、前記使用可能な期間が経過しても前記装置から更新要求を受信しなかった場合、前記ネットワークアドレスの割り当てを解除する更新手段と、
前記更新手段によって前記ネットワークアドレスの割り当てが解除された場合、当該ネットワークアドレスが使用されなくなったことを前記検索サーバに通知する通知手段と、
を更に有することを特徴とする請求項3記載の情報処理装置。
【請求項5】
前記記憶手段は、複数の検索サーバそれぞれのネットワークアドレスを記憶し、
前記送信手段は、前記装置に応じて、前記複数の検索サーバのうちのどの検索サーバのネットワークアドレスを送信するかを切り替えることを特徴とする請求項1乃至4の何れかに記載の情報処理装置。
【請求項6】
前記情報処理装置はDHCPサーバであり、前記ネットワークアドレスはIPアドレスであることを特徴とする請求項1乃至5の何れかに記載の情報処理装置。
【請求項7】
前記装置は、クライアントコンピュータ或いはクライアントコンピュータによって使用されるデバイスの何れかであることを特徴とする請求項1乃至6の何れかに記載の情報処理装置。
【請求項8】
ネットワークに接続されたデバイスであって、
ネットワーク上の情報処理装置から前記デバイスのネットワークアドレスを取得するために、要求を前記ネットワーク上に送信する送信手段と、
前記デバイスのネットワークアドレスと、ネットワーク上のデバイスを検索するための検索要求に応じて検索を行い検索結果を応答する検索サーバのネットワークアドレスとを、前記情報処理装置から受信する受信手段と、
前記受信手段によって受信された前記検索サーバのネットワークアドレスに基づいて、前記検索サーバに自身のデバイス情報を送信する第二の送信手段と、
を有することを特徴とするデバイス。
【請求項9】
ネットワークに接続された情報処理装置であって、
ネットワーク上のサーバから前記情報処理装置のネットワークアドレスを取得するために、要求を前記ネットワーク上に送信する送信手段と、
前記情報処理装置のネットワークアドレスと、ネットワーク上のデバイスを検索するための検索要求に応じて検索を行い検索結果を応答する検索サーバのネットワークアドレスとを、前記サーバから受信する受信手段と、
前記受信手段によって受信された前記検索サーバのネットワークアドレスに基づいて、前記検索サーバに検索要求を送信する第二の送信手段と、
を有することを特徴とする情報処理装置。
【請求項10】
複数のネットワークアドレスを管理し、ネットワークに新たに接続された装置からの要求に応じて、前記複数のネットワークアドレスのうち他の装置に割り当てられていないネットワークアドレスを割り当てる割り当てステップと、
前記ネットワーク上のデバイスを検索するための検索要求に応じて検索を行い検索結果を応答する検索サーバのネットワークアドレスを記憶部に記憶する記憶ステップと、
前記割り当てステップによって割り当てられたネットワークアドレスと、前記記憶部に記憶されたネットワークアドレスとを前記装置に送信する送信ステップと、
を有することを特徴とする情報処理装置の制御方法。
【請求項11】
情報処理装置に以下のステップを実行させるためのコンピュータプログラムであって、
複数のネットワークアドレスを管理し、ネットワークに新たに接続された装置からの要求に応じて、前記複数のネットワークアドレスのうち他の装置に割り当てられていないネットワークアドレスを割り当てる割り当てステップと、
前記ネットワーク上のデバイスを検索するための検索要求に応じて検索を行い検索結果を応答する検索サーバのネットワークアドレスを記憶部に記憶する記憶ステップと、
前記割り当てステップによって割り当てられたネットワークアドレスと、前記記憶部に記憶されたネットワークアドレスとを前記装置に送信する送信ステップと、
を有することを特徴とするコンピュータプログラム。

【図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

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate


【公開番号】特開2009−153050(P2009−153050A)
【公開日】平成21年7月9日(2009.7.9)
【国際特許分類】
【出願番号】特願2007−330953(P2007−330953)
【出願日】平成19年12月21日(2007.12.21)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】