JP5558681B2 - デバイス検索装置、デバイス検索装置の制御方法、及びコンピュータプログラム - Google Patents

デバイス検索装置、デバイス検索装置の制御方法、及びコンピュータプログラム Download PDF

Info

Publication number
JP5558681B2
JP5558681B2 JP2008141056A JP2008141056A JP5558681B2 JP 5558681 B2 JP5558681 B2 JP 5558681B2 JP 2008141056 A JP2008141056 A JP 2008141056A JP 2008141056 A JP2008141056 A JP 2008141056A JP 5558681 B2 JP5558681 B2 JP 5558681B2
Authority
JP
Japan
Prior art keywords
search
search request
tag
unit
message
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2008141056A
Other languages
English (en)
Other versions
JP2009289041A5 (ja
JP2009289041A (ja
Inventor
友典 林
忠弘 中村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2008141056A priority Critical patent/JP5558681B2/ja
Priority to US12/470,093 priority patent/US8346916B2/en
Publication of JP2009289041A publication Critical patent/JP2009289041A/ja
Publication of JP2009289041A5 publication Critical patent/JP2009289041A5/ja
Application granted granted Critical
Publication of JP5558681B2 publication Critical patent/JP5558681B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • G06F3/1288Remote printer device, e.g. being remote from client or server in client-server-printer device configuration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1204Improving or facilitating administration, e.g. print management resulting in reduced user or operator actions, e.g. presetting, automatic actions, using hardware token storing data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1224Client or server resources management
    • G06F3/1226Discovery of devices having required properties
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1236Connection management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • G06F3/1231Device related settings, e.g. IP address, Name, Identification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Description

本発明は、デバイスを検索するデバイス検索装置、デバイス検索装置の制御方法、及びコンピュータプログラムに関する。
従来、ネットワークに接続されたパーソナルコンピュータ等の各クライアントが、ネットワークに接続されたプリンタ等のデバイスを検索し、利用することが可能になっている。デバイスを検索する検索方法として、クライアントが検索要求データをマルチキャストによって送信し、その検索要求に対する応答を各デバイスから受信する方法がある。また、ネットワーク上に各デバイスの情報を保持する検索サーバ(Discovery Proxy、以降DPと呼ぶ)を設置し、クライアントは検索サーバから検索結果を受信する方法がある。
通常、LAN(Local Area Network)等によって構築されるネットワークは、複数のサブネットから構成される。各サブネットは、ルータを介して接続されており、ルータは一方のサブネットから受信したブロードキャストやマルチキャストによって送信されたデータを、他方のサブネットにそのまま通過させることを禁止していることが多い。この場合、クライアントからブロードキャストやマルチキャストによって送信された検索要求のデータは、クライアントが存在するサブネット内のみに送信される。従って、上述の検索方法によると、クライアントは、自装置が存在するサブネットに存在するデバイスしか検索できないことになる。
このような問題を解決するため、即ち、他のサブネットに存在するデバイスも検索できるようにするために、以下のような方法が考えられている(例えば、特許文献1参照)。
デバイスからデバイス情報を取得するサーバ装置を設ける。サーバ装置は、自装置が存在するサブネットとは異なる他のサブネット上のデバイスからデバイス情報を取得する。クライアントは、サーバ装置から他のサブネットに存在するデバイスの情報を取得する。
この方法によれば、クライアントは、自装置が存在するサブネット上のデバイスだけでなく、他のサブネット上のデバイスの情報までも取得することができるようになる。
特開2003−6133号公報
しかしながら、上記従来の技術では、サーバ装置が、サーバ装置自身が存在するサブネットだけでなく、他のサブネットに存在するデバイスの情報までも管理する必要があるため、サーバ装置にかかる負荷が増大する。これに対して、サーバ装置の負荷分散を図るために、複数のサーバ装置を用意し、サブネット毎にサーバ装置を設置する方法が考えられる。そして、各サブネットに設置されたサーバ装置は、自装置が存在するサブネット上のデバイス情報のみを管理する。この場合、クライアントは、自装置が存在するサブネットとは異なる他のサブネット上のデバイスを検索するために、他のサブネットに設置されたサーバ装置に対して検索要求を送信することになる。しかし、上述したようにマルチキャストで送信すると他のサブネットに送信されないため、クライアントは、このサーバ装置に対してユニキャストを用いて検索要求を送信しなければならない。従って、クライアントはそのサーバ装置のアドレスを知っている必要があり、予めサーバ装置のアドレスをクライアントに登録しておかなければならない。
各サブネットには、通常、サーバ装置に比べて多数のクライアントが接続されていることから、これら多数のクライアントに対して、サーバ装置のアドレスの登録を行うことはユーザにとって煩雑な作業となる。
本発明は、このような問題を解決し、ルータを介して接続された複数のサブネットを有するネットワークシステムにおいて、クライアントが他のサブネットに存在するデバイスをより効率的に検索できるようにすることを目的とする。
上記問題を解決するために、本発明におけるデバイス検索装置は、デバイスを検索するための検索要求であって、検索要求を転送済みのデバイス検索装置を特定するための特定情報を含む検索要求を受信する受信手段と、前記受信手段が受信した検索要求に含まれる検索条件を満たすデバイスを検索する検索手段と、他のデバイス検索装置を示す情報を記憶する記憶手段と、前記特定情報に基づいて、前記記憶手段が記憶している情報が示す前記他のデバイス検索装置のうち、検索要求が転送されていないデバイス検索装置に前記受信手段が受信した検索要求を転し、検索要求を転送済みのデバイス検索装置に前記受信手段が受信した検索要求を転送しない転送手段とを備えることを特徴とする
本発明によれば、ルータを介して接続された複数のサブネットを有するネットワークシステムにおいても、他のサブネットに存在するデバイスを検索できるようになる。
(実施例1)
図1は本発明を適用したデバイス検索システムの構成を示す図である。図1のネットワークシステムは、サブネット1、2、3の3つのサブネットによって構成されている。各サブネットは、LAN(Local Area Network)によって構成されており、図1のネットワークに接続された各装置は、TCP/IPに従って通信する。
サブネット1は、Discovery Proxy(以下、DPと呼ぶ)101が接続されている。DP101のIPアドレスは、192.168.2.10である。サブネット2は、DP102とクライアントPC104と画像形成装置108が接続されている。DP102のIPアドレスは192.168.1.10であり、クライアントPC104のIPアドレスは192.168.1.100であり、画像形成装置108のIPアドレスは192.168.1.1である。サブネット3は、DP103とクライアントPC109と画像形成装置105,110が接続されている。DP103のIPアドレスは192.168.0.10である。クライアントPC109のIPアドレスは192.168.0.100であり、画像形成装置105のIPアドレスは192.168.0.1であり、画像形成装置110のIPアドレスは192.168.0.2である。
サブネット1とサブネット2はルータ106により相互に接続されている。また、サブネット1とサブネット3はルータ107により相互に接続されている。結果としてすべてのサブネットにおいて接続された端末は相互に通信が可能になっている。ただし、ルータ106、107は一方のサブネットからブロードキャストやマルチキャストによって送信されたデータを他方のサブネットにそのまま通過させないように設定されている。そのため、ブロードキャストやマルチキャストによって送信されたデータは各サブネット内でのみ通信される。
次に、図1で示したシステム構成の中で、DP101、DP102、DP103、クライアントPC104、109、画像形成装置105、108、110のハードウェアおよびソフトウェア構成について説明する。なお、以降では特に断らない限りDPに関しては代表して102の記号を用い、クライアントPCに関しては104の記号を用い、画像形成装置に関しては105の記号を用いる。
図2は画像形成装置105のハードウェア構成を示すブロック図である。
リーダー部(画像入力装置)201は、原稿画像を光学的に読み取り、画像データに変換する。リーダー部201は、原稿を読み取るための機能を持つスキャナユニット202と、原稿用紙を搬送するための機能を持つ原稿給紙ユニット203とで構成される。
プリンタ部(画像出力装置)204は、記録紙を搬送し、その上に画像データを可視画像として印字して装置外に排紙する。プリンタ部204は、複数種類の記録紙カセットを持つ給紙ユニット205と、画像データを記録紙に転写、定着させる機能を持つプリントユニット206と、印字された記録紙をソート、ステイプルして機外へ出力する機能を持つ排紙ユニット207とで構成される。
制御装置210は、リーダー部201、プリンタ部204と電気的に接続され、さらにネットワーク220を介して、クライアントPC104と接続されている。制御装置210はCPUを備え、CPUは、ハードディスク260やROM等の記憶部に記憶されたプログラムを実行することによって、リーダー部210やプリンタ部204を制御する。これにより制御装置210は、以下の機能を提供する。まず、制御装置210は、リーダー部201を制御して、原稿の画像データを読込み、ハードディスク260に画像データを格納し、プリンタ部204を制御して画像データを記録用紙に出力してコピー機能を提供する。また、リーダー部201から読み取った画像データを、コードデータに変換し、ネットワーク220を介してクライアントPC104へ送信するスキャナ機能を提供する。また、クライアントPC104からネットワーク220を介して受信したコードデータ(印刷データ)を画像データに変換し、プリンタ部204に出力するプリンタ機能を提供する。
操作部250は、制御装置210に接続され、液晶タッチパネルで構成され、画像入出力システムを操作するためのユーザI/Fを提供する。
尚、図2の画像形成装置105(デバイス)は、プリンタ機能、スキャナ機能、コピー機能を備えるMFP(Multi Function Peripheral)を例に説明した。しかし、本実施例における画像形成装置(デバイス)は、MFPに限らず、プリンタやスキャナ、コピー機、ファクシミリ装置等の画像形成装置であってもよい。
図3はDP102、クライアントPC104のハードウェア構成を示すブロック図である。尚、DP102、クライアントPC104は汎用のPC(パーソナルコンピュータ)を使用可能であり、以下の説明は共通である。DP101,DP103も同様の構成である。
図3において、301はCPUであり、システムバス304に接続された各種デバイスの制御を行う。302はBIOSやブートプログラムを記憶するROM、303はCPU301の主記憶装置として使用されるRAMである。305はキーボードコントローラ(KBC)であり、マウス(登録商標)等のポインティングデバイス309a、キーボード309bからの情報などの入力に係る処理を行う。306は表示制御部(CRTC)であり、内部にビデオメモリを有し、CPU301からの指示に従ってそのビデオメモリに描画すると共に、ビデオメモリに描画されたイメージデータをビデオ信号としてCRT表示装置310に出力する。なお、図3において表示装置としてCRTを例示しているが、液晶表示装置等、その表示装置の種類は問わない。307はディスクコントローラ(DKC)であり、ハードディスク311、フロッピー(登録商標)ディスク312へのアクセスを行う。308はネットワークインタフェースカード(NIC)であって、ネットワークに接続し、ネットワークを介しての情報通信を行うものである。なお、ハードディスク311には、OS(Operating System)やOS上で動作する各種アプリケーションプログラム等が格納される。
上記構成において、本装置の電源がONになると、CPU301はROM302に格納されたブートプログラムに従って、ハードディスク311からOSをRAM303に読み込み、情報処理装置として機能するようになる。
図4はDP103の表示装置に表示される画面の例である。本実施例において、各DPは、クライアントPCから受信した検索要求を、他のDPに転送する機能を備える。図4に示す画面は、DP103が検索要求を転送する転送先となるDPをユーザが登録するための画面である。401の領域は、登録するDPにIPアドレスが入力される領域である。ユーザは、キーボード等を用いて所望のDPのIPアドレスを401の領域に入力する。そして、402に示す登録ボタンを押下すると、401に入力されたIPアドレスが、検索要求を転送する転送先となるDPとして登録される。登録されたDPは、403の領域に表示される。図4の例では、既にDP102が登録されている場合を示している。403の領域には、登録されているDPの名称やIPアドレス、そしてDPを示すアイコンが表示されている。表示される情報はこれ以外の情報であってもよい。
ユーザは、図4の画面を用いて、DP103に対して複数のDPを登録してもよい。その場合、403の領域には、複数のDPが表示されることになる。ボタン404と405は、複数のDPが登録された場合に押下することができるようになるボタンである。登録された複数のDPのうちの何れかが選択された状態で、404のボタン(上矢印のボタン)が押下された場合には、選択されたDPの表示順が1つ上に移動する。逆に405のボタン(下矢印のボタン)が押下された場合には、選択されたDPの表示順が1つ下に移動する。DP103に複数のDPが登録されている場合には、DP103は、403の領域に表示された表示順に従って、検索要求の転送の順番を決める。即ち、403の領域の上位に表示されているDPから順に検索要求を転送する。
図5は、DP103、クライアントPC109、画像形成装置105のソフトウェアモジュールを示すブロック図である。図5に示す各ソフトウェアモジュールは、各装置が備えるCPUによって実行される。
DP103において、デバイス情報通知受信部511は画像形成装置105から送信されるHelloメッセージ又はByeメッセージを受信する。Helloメッセージ及びByeメッセージの詳細については後述する。そして、デバイス情報通知受信部511は、受信したメッセージの種類に基づき、デバイス情報保持部514が保持するデバイス情報の処理を行う。例えば、Helloメッセージであった場合には、デバイス情報の取得が必要であると判断する。その場合、デバイス情報取得部512はHelloメッセージを送信した画像形成装置105に対してデバイス情報取得要求を送信し、応答されたデバイス情報をデバイス情報保持部514に保持する。一方、Byeメッセージであった場合には、デバイス情報保持部514に保持されたデバイス情報の削除が必要であると判断する。その場合、デバイス情報保持部514は、Byeメッセージを送信した画像形成装置105のデバイス情報を、削除する。
デバイス情報検索処理部513はクライアントPC109または他のDPから送信される検索要求を受信する。検索要求には、検索条件が含まれている。デバイス情報検索処理部513は、検索条件を満たすデバイス情報を、デバイス情報保持部514によって保持されたデバイス情報の中から検索する。そして、検索結果をクライアントPC109に送信する。尚、クライアントPC109から送信される検索要求はマルチキャストによって送信される。一方、他のDPから送信される検索要求はユニキャストによって送信される。検索要求転送部515は、受信した検索要求を一部書き換え、他のDPに送信する。また、デバイス情報保持部514が保持するデバイス情報の詳細については後述する。
クライアントPC109において、デバイス検索要求処理部523は、デバイスを検索するための検索要求をマルチキャストで送信する。その後、DPから送信された検索結果を受信すると、検索情報表示部524によって、検索結果が表示装置に表示される。
画像形成装置105において、デバイス情報管理部534は画像形成装置105自身のデバイス情報を管理する。デバイス情報通知部533はHelloメッセージ又はByeメッセージを送信する。デバイス情報送信部535はネットワークを介してデバイス情報取得要求を受信した場合に、デバイス情報管理部534が管理しているデバイス情報をデバイス情報取得要求の送信元に送信する。デバイス検索処理部536は、マルチキャストによって送信された検索要求を受信した場合に、検索応答を送信する。
図6はDP103のデバイス情報保持部514によって保持されるデバイス情報の例である。このデバイス情報は、DP103が有するROM302又はHD311等の記憶部に記憶される。図6の例では、DP103のデバイス情報保持部514によって、画像形成装置105、110のデバイス情報が保持されている場合を示している。
ID601はDP103内でデバイス情報を識別するためのIDを示す。UUID602はデバイスをグローバルに識別するUUIDを示す。バージョン603はデバイス情報のバージョンを示す。デバイスタイプ604は複合機を意味する「MFP」、プリンタを意味する「Printer」などのデバイスの種類を示す。モデル名605は「LBPXXXX」のようなデバイスのモデル名を示す。デバイス名606は管理者(ユーザ)がデバイスに設定した名前を示す。URL607はデバイス情報を取得するためのURLを示す。
次に、画像形成装置105のデバイス情報をDP103に登録する方法について説明する。登録方法には2通りあり、まず第一の方法について説明する。
画像形成装置105は、画像形成装置が起動した場合や自機の設定情報が変更された場合に図7のようなHelloメッセージを送信する。本実施例においてHelloメッセージはXML(Extensible Markup Language)によって記述されるが、HTML(HyperText Markup Language)等その他のマークアップ言語によって記述されてもよい。これは、以下のXML形式で記述されるその他のメッセージについても同様である。
図7のHelloメッセージは、<Header>タグで囲まれるheader部701と<Body>タグで囲まれるbody部702からなり、全体が<Envelope>タグで囲まれる構造になっている。この構造は本実施例において使用するメッセージすべてに共通である。
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>タグはデバイス情報のバージョンを持つ。
DP103はHelloメッセージを受信する。そして、Helloメッセージの中からデバイスをグローバルに識別するUUIDとしてEndpointReference/Addressタグの値、デバイスタイプとしてTypesタグの値を抽出する。また、デバイス情報のバージョンとしてMetadataVersionタグの値、デバイス情報を取得するためのURLとしてXAddrsタグの値を抽出する。そして、抽出した値を、デバイス情報保持部514は記憶部に格納する。
その後DP103はXAddrsタグで記載されたURLに対し、図8のようなXML形式のGetメッセージをユニキャストで送信する。図8のGetメッセージは、header部のみを持つメッセージとなっている。header部の<Action>タグにおいて、このメッセージがGetメッセージであることを示している。
画像形成装置105のデバイス情報送信部535は、DP103から送信されたGetメッセージを受信すると、図9のようなXML形式のGetResponseメッセージを送信する。これによって、画像形成装置105の更に詳細なデバイス情報がDP103に送信されることになる。
図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>タグはデバイス内でサービスを識別するための識別子を持つ。
DP103は受信したGetResponseメッセージの中からデバイス名としてFriendlyNameタグの値、モデル名としてModelNameタグの値を抽出する。そして、抽出した値を、デバイス情報保持部514は記憶部に格納する。
なお、画像形成装置105は、画像形成装置が起動した場合や自機の設定情報が変更された場合にHelloメッセージをDP103に送信する。DP103はHelloメッセージを受信するたびに上記のようにデバイス情報を取得してもよい。しかし、以前に取得したデバイス情報がデバイス情報保持部514に存在している場合には、Helloメッセージに含まれるMetadataのバージョン情報を比較し、変更がなければ、新たにデバイス情報を取得しなおさなくてもよい。
次に第二の登録方法について説明する。
DP103は所定のタイミングで、図11のようなXML形式のProbeメッセージをマルチキャストで送信する。Probeメッセージは、本実施例において、検索要求の一例である。図11のProbeメッセージにおいては、body部に<Probe>タグが存在し、このメッセージがProbeメッセージであることを示している。<Probe>タグの中には<Types>タグが設定可能であり、<Types>タグは検索したいデバイスのタイプを指定するものである。つまり、<Types>タグに記述される情報は、本実施例における検索条件である。図11の例ではTypesとしては空とし、すべてのデバイスを検索対象としている。
画像形成装置105はProbeメッセージを受信すると、図12のようなXML形式のProbeMatchメッセージをDP103に送信する。本実施例においてProbeMatchメッセージは検索結果を示す情報の一例である。図12のProbeMatchメッセージにおいては、body部に<ProbeMatches>タグが存在し、このメッセージがProbeMatchメッセージであることを示している。<ProbeMatches>タグの中には<ProbeMatch>タグで示されるProbeMatch部が存在する。それぞれのProbeMatch部が検索結果に対応している。つまり、ProbeMatch部に含まれる情報が、検索条件を満たしたデバイス情報である。図12の例においては1個の検索結果が返されていることを示している。ProbeMatch部の中の構造は図7のHelloメッセージにおける<Hello>タグの中と同一である。
DP103はProbeMatchメッセージを受信する。そして、ProbeMatchメッセージの中からデバイスをグローバルに識別するUUIDとしてEndpointReference/Addressタグの値、デバイスタイプとしてTypesタグの値を抽出する。また、デバイス情報のバージョンとしてMetadataVersionタグの値、デバイス情報を取得するためのURLとしてXAddrsタグの値を抽出する。そして、抽出した値を、デバイス情報保持部514は記憶部に格納する。
その後DP103はXAddrsタグで記載されたURLに対し、図8のようなXML形式のGetメッセージをユニキャストで送信する。画像形成装置105のデバイス情報送信部535は図9のようなGetResponseメッセージを送信する。DP103は受信したGetResponseメッセージから、デバイス名としてFriendlyNameタグの値、モデル名としてModelNameタグの値を抽出する。そして、抽出した値を、デバイス情報保持部514は記憶部に格納する。
なお、DP103は所定のタイミングでProbeメッセージを送信し、その結果、デバイス情報を画像形成装置105から取得する。しかし、以前に取得したデバイス情報がデバイス情報保持部514に存在している場合には、ProbeMatchメッセージに含まれるMetadataのバージョン情報を比較し、変更がなければ、新たにデバイス情報を取得しなおさなくてもよい。
次にDP103に登録されたデバイス情報を削除する方法について説明する。画像形成装置105は、自機がシャットダウンする場合など、ネットワークに存在するクライアントPCに対してサービスの提供を停止する場合には、図10のようなXML形式のByeメッセージをマルチキャストで送信する。
図10のByeメッセージにおいては、body部に<Bye>タグが存在し、このメッセージがByeメッセージであることを示している。<Bye>タグの中には<EndpointReference>タグが存在する。<EndpointReference>タグの中には<Address>タグが存在し、デバイスを識別するアドレス情報を持つ。DP103はByeメッセージを受信すると、Byeメッセージに含まれるUUID情報を抽出する。そして、デバイス情報保持部514は、抽出したUUID情報に対応するデバイス情報を記憶部から削除する。
次に、クライアントPC109がDP103を使用して画像形成装置を検索する方法について説明する。
クライアントPC104は、図14のようなXML形式のProbeメッセージをマルチキャストで送信する。Probeメッセージは、本実施例において、検索要求の一例である。図14のProbeメッセージにおいては、body部に<Probe>タグが存在し、このメッセージがProbeメッセージであることを示している。<Probe>タグの中には<Types>タグが設定可能であり、<Types>タグは検索したいデバイスのタイプを指定するものである。つまり、<Types>タグに記述される情報は、本実施例における検索条件である。図14の例では、画像形成装置を検索する検索条件の一例として、Typesタグにおいて「Printer」を指定している。即ち、デバイスの種類がPrinterである画像形成装置が、検索条件を満たすデバイスとして検索されることになる。
DP103はProbeメッセージを受信すると、Typesタグを抽出しデバイス情報保持部514によって保持されたデバイス情報の中から検索条件に合致するデバイスを検索する。そして、図15のようなXML形式のProbeMatchメッセージをクライアントPC109に送信する。図15のProbeMatchメッセージにおいては、body部に<ProbeMatches>タグが存在し、このメッセージがProbeMatchメッセージであることを示している。<ProbeMatches>タグの中には<ProbeMatch>タグで示されるProbeMatch部1501、1502が存在する。それぞれのProbeMatch部が1個の検索結果に対応しており、図15の例においては2個の検索結果が返されていることを示している。即ち、検索条件であった「デバイスの種類がPrinter」を満たす画像形成装置が、2つ検索されたことを示している。ProbeMatch部の中の構造は図7のHelloメッセージにおける<Hello>タグの中と同一である。
その後、DP103は、受信したProbeメッセージを図16のように書き換える。そして、図4で説明した登録方法によって登録されてたDP102に、書き換えられたProbeメッセージをユニキャストで送信する。尚、図16のReplyToタグには、ProbeメッセージをDP103に送信した送信元のクライアントPC109のアドレスが設定されている。
DP102はDP103からProbeメッセージを受信すると、Typesタグを抽出しDP102のデバイス情報保持部514によって保持されたデバイス情報の中から、検索条件に合致するデバイスを探し、ProbeMatchメッセージを生成する。そして、DP103から受信したProbeメッセージに含まれるReplyToタグを抽出する。DP102は、生成したProbeMatchメッセージを、抽出したReplyToの宛先であるクライアントPC109に対して送信する。
その結果、クライアントPC109は、DP103から、サブネット3に存在する画像形成装置を検索した検索結果を受信すると共に、DP102から、サブネット2に存在する画像形成装置を検索した検索結果を受信することができる。
その後、必要に応じて、クライアントPC109は、検索された画像形成装置に対してGetメッセージを送信して、より詳細なデバイス情報を取得することができる。
図13はクライアントPC109の表示装置に表示される画面の例である。図13に示す画面は、クライアントPC109が画像形成装置を検索する際に表示される画面の例である。
図13において、領域1301は、ユーザが検索条件を入力するための領域である。本実施例では、検索するデバイスの種類を指定する。即ち、「MFP」「Printer」などのキーワードが指定可能である。入力方法は、キーボード等を用いてユーザが直接入力してもよいし、プルダウンメニューを表示し、予め決められている候補のなかからどれかをユーザが選択するようにしてもよい。領域1301に何も入力しない場合はすべての画像形成装置が検索される。ボタン1302を押下すると検索要求が送信される。即ち、上述したProbeメッセージがマルチキャストによって送信される。検索された結果は領域1303に表示される。具体的には、検索結果としてのProbeMatchメッセージを受信すると、デバイスのタイプやモデル名、デバイス名が同時に表示される。図13の例では、2つの画像形成装置が検索された場合の例を示している。
次に、画像形成装置を検索する際のDPの処理内容についてフローチャートを用いて説明する。図17は、DPにおいて実行される画像形成装置の検索処理を示すフローチャートである。図17のフローチャートは、DP101,102,103の何れのDPにおいても実行される。図17の各ステップは、DPが備えるCPU301が、ROM302やHD311に格納されたプログラムを実行することによって処理される。
ステップS1701において、DPは、ネットワークを介して送信されたProbeメッセージを受信する。ステップS1702において、デバイス検索処理部513は、受信した受信したProbeメッセージに含まれるTypesタグを抽出する。即ち、検索要求に含まれる検索条件を抽出する。ステップS1703において、デバイス検索処理部513は、抽出した検索条件を満たすデバイス情報を、デバイス情報保持部514によって保持されたデバイス情報の中から検索する。具体的には、ステップS1702において抽出されたTypesタグの情報(デバイスの種類を示す情報)に合致する情報を含むデバイス情報が、デバイス情報保持部514によって保持されたデバイス情報の中にあるか否かを判断する。ステップS1703における判断の結果、条件に合致するデバイス情報が見つかった場合にはステップS1704へと進む。一方、条件に合致するデバイス情報が見つからなかった場合には、ステップS1707へと進む。尚、Typesタグが抽出されなかった場合には、デバイス情報保持部514によって保持された全てのデバイス情報が検索条件に合致したデバイス情報となる。
ステップS1704において、デバイス検索処理部513は、受信したProbeメッセージにReplyToタグが含まれているか否かを判断する。判断の結果、ReplyToタグが含まれている場合には、ステップS1705へと進む。一方、ReplyToタグが含まれていない場合には、ステップS1707へと進む。ステップS1705において、デバイス検索処理部513は、Probeメッセージに対する応答であるProbeMatchメッセージを生成する。ProbeMatchメッセージには、検索条件を満たすデバイス情報が含まれている。ここで、デバイス検索処理部513は、ProbeMatchメッセージの送信先を、Probeメッセージの送信元である装置ではなく、ReplyToタグに記述された宛先に設定する。ステップS1706において、デバイス検索処理部513は、生成したProbeMatchメッセージをユニキャストによって送信する。ステップS1705において宛先が設定されていない場合(ステップS1704においてNoの場合)には、ProbeMatchメッセージの送信先は、Probeメッセージを送信した送信元になる。
ステップS1707において、デバイス検索処理部513は、自装置に検索要求の転送先として他のDPが登録されているか否かを判断する。他のDPの登録は、前述した図4の方法によって行われる。他のDPが登録されていると判断された場合には、ステップS1708へと進む。一方、他のDPが登録されていないと判断された場合には、処理を終了する。
ステップS1708において、検索要求転送部515は、自装置に登録されている他のDPに対して、Probeメッセージを転送するために、転送用のProbeメッセージを生成する。具体的には、ProbeメッセージにReplyToタグを追加する。ReplyToタグには、Probeメッセージの送信元の装置(この場合は、クライアントPC)のアドレスが設定される。尚、既にProbeメッセージにReplyToタグが含まれていた場合には、転送用の新たなProbeメッセージを生成することはない。ステップS1709において、検索要求転送部515は、生成した転送用のProbeメッセージ(又はステップS1701で受信したProbeメッセージ)を、登録されている他のDPに対してユニキャストで送信する。もし、複数の他のDPが登録されていた場合には、これら複数の他のDPに対してProbeメッセージが送信される。
次に、DPの検索要求転送部515が、検索要求を他のDPに転送する際の条件について説明する。
図17の例では、もしDPに検索要求の転送先となる他のDPが登録されていれば、無条件にその登録されている他のDPに対して検索要求を転送していた。そのため、転送先の他のDPにおいて、転送先となるまた別のDPが登録されていれば、検索要求が次々と転送され続けることになる。従って、1つの検索要求が、制限なく次々と転送され続けてしまう可能性がある。
このような状況を防ぐ為に、本実施例では、DPの検索要求転送部515が検索要求を他のDPに転送する際の条件を、検索要求転送部515に設定する。以下、そのいくつかの方法について具体的に説明する。
DPの検索要求転送部515が、検索要求を他のDPに転送する第1の方法は、検索要求を受信したDPが存在するサブネットよりも上位の階層(又は下位の階層)に存在するDPのみに検索要求を転送する方法である。
本実施例におけるシステムは、図1に示すように複数のサブネットによって構成されている。第1の方法においては、これら複数のサブネットそれぞれについて階層構造が設定されているとする。ここでは、図1におけるサブネット2の上位階層のサブネットとしてサブネット1が設定されており、サブネット3の上位階層のサブネットとしてサブネット1が設定されているとする。そして、サブネット2とサブネット3とは、同じ階層とする。そして、各サブネットに存在するDPには、各サブネットの階層関係が予め登録されている。
第1の方法について、このように設定された図1の例を元に説明する。まず、クライアントPC109は、Probeメッセージをマルチキャストで送信する。図18は、クライアントPC109が送信するProbeメッセージの例である。図18のProbeメッセージは、Conditionタグを含み、Conditionタグには「UpperLayer」が指定されている。Conditionタグは、検索要求転送部がProbeメッセージを転送する際の転送条件を示している。図18の例では、上位階層に存在するDPに対してのみProbeメッセージを転送するように指定されている。
DP103は、図18に示すProbeメッセージを受信する。すると、DP103の検索要求転送部515は、Conditionタグを参照し、自身が存在するサブネットよりも上位の階層のサブネットに存在するDPに対してProbeメッセージを転送すべきであることを認識する。そして、予め検索要求転送部515に設定されている情報を参照して、自身の上位の階層のサブネットがサブネット1であることを認識する。そして、図4の方法に従って、予め転送先のDPとして登録されているDPの中から、上位の階層のサブネットであるサブネット1に存在するDPを抽出する。例えば、DP101とDP102が登録されていた場合には、サブネット1に存在するDP101が抽出されることになる。そして、DP103の検索要求転送部515は、サブネット1に存在するDP101に対して、Probeメッセージを転送する。この時、図17のS1708で説明したように、検索要求転送部515は、転送用のProbeメッセージ即ちReplyToタグにクライアントPC109のアドレス(192.168.0.100)を設定したProbeメッセージを生成し、送信する。
以上説明したように、第1の方法によれば、クライアントPCから送信されたProbeメッセージが制限なく次々とDPに転送されつづけてしまうことを防ぐことができる。
DPの検索要求転送部515が、検索要求を他のDPに転送する第2の方法は、指定された回数に従って、検索要求を転送する方法である。
第2の方法の具体例を、図1のシステムに基づいて説明する。クライアントPC109は、図19に示すProbeメッセージをマルチキャストで送信する。図19のProbeメッセージは、Ttlタグを含み、Ttlタグには、「1」が指定されている。Ttlタグは、Probeメッセージの転送回数の制限値を示す値である。1であれば、1回のみ転送可能であることを示している。10であれば、10回転送可能であることを示している。即ち、Ttlタグに「1」が指定されているProbeメッセージは、1つのサブネットに1つのDPが存在するシステムであれば、最高で2つのDPに送信されることになる。
DP103は、図19に示すProbeメッセージを受信する。そして、DP103の検索要求転送部は、Probeメッセージに含まれるTtlタグを参照し、その値が「1」であることを認識する。そして、転送先の他のDPが登録されているか否かを判断する。登録されている場合には、検索要求転送部515は、転送用のProbeメッセージを生成する。図20は、検索要求転送部515によって生成された転送用のProbeメッセージの例である。図19のProbeメッセージと異なり、まず、ReplyToタグが付加されている。ReplyToには、Probeメッセージの送信元であるクライアントPC109のアドレス(192.168.0.100)が設定されている。また、Ttlタグの値が、「0」に設定されている。即ち、検索要求転送部515は、受信したProbeメッセージのTtlの値から、1を引いた値をTtlの値として設定する。尚、DP103に複数の転送先のDPが登録されており、複数の転送先のDPにProbeメッセージを転送する場合には、その数だけTtlの値を引くことになる。また、複数の転送先のDPが登録されているにも関わらず、受信したProbeメッセージのTtlの値が1であった場合には、最も優先順位の高い1つの転送先のDPを選択し、そのDPのみにProbeメッセージを転送する。ここで、優先順位は、図4によって説明したように、図4の登録順序に従って決めることができる。
DP103の検索要求転送部515は、生成した転送用のProbeメッセージを他のDPに送信する。その後、転送されたProbeメッセージを受信したDPは、Probeメッセージに含まれるTtlの値が0であることを認識すると、それ以降Probeメッセージを転送しないように制御される。
このように、第2の方法によれば、クライアントPCから送信されたProbeメッセージが制限なく次々とDPに転送されつづけてしまうことを防ぐことができる。それだけでなく、いくつのDPに転送すべきかをProbeメッセージにおいて指定することができる。
尚、上記第2の方法では、Ttlの値を、DPの数としてカウントしていた。しかし、Ttlの値を、サブネットの数としてカウントしてもよい。即ち、Probeメッセージを送信するにあたって通過するルータの数をカウントし、その値をTtlから引くことによって、Ttlの値を計算してもよい。
DPの検索要求転送部515が、検索要求を他のDPに転送する第3の方法は、既に転送済みのDPを通知し、まだ転送していないDPに対してのみ検索要求を転送していく方法である。
第3の方法の具体例を、図21のフローチャートを用いて説明する。図21は、クライアントPCからProbeメッセージを受信するDPの動作を示すフローチャートであり、図17と同じ処理に関しては同じ符号をつけてあり、詳細な説明は省略する。
図21のフローチャートは、図1に示すシステムにおけるDP102の処理を示すフローチャートである。尚、図1のクライアントPC109から送信されたProbeメッセージをDP103が転送し、その転送されたProbeメッセージをDP102が受信した場合を例に説明する。DP102が受信したProbeメッセージの例を図22に示す。前提として、DP103には、転送先のDPとして、DP102(192.168.1.10)が登録されているとする。また、DP102には、転送先のDPとして、DP101(192.168.2.10)と、DP103(192.168.0.10)が登録されているとする。転送先のDPの登録は、前述の図4の方法を用いて実行される。
図22のProbeメッセージには、DpListタグが含まれている。このDpListタグは、既にProbeメッセージを送信済みのDPを示している。図22の例では、既にDP103とDP102に送信済みであることから、これら2つのDPそれぞれのアドレスが記述されている。
DP102は、ステップS1701において、図22に示すProbeメッセージをDP103から受信する。ステップS1702からS1707までの処理は、図17で説明したものと同じであるためここでは説明を省略する。
ステップS2101において、DP102の検索要求転送部515は、受信したProbeメッセージにDpListタグが含まれているか否かを判断する。含まれている場合にはステップS2102へと進み、含まれていない場合にはステップS2105へと進む。ステップS2102において、検索要求転送部515は、転送先のDPとして登録されているDPの中に、DpListに記述されていないDPがあるか否かを判断する。本例では、DP102には、転送先のDPとして、DP101(192.168.2.10)と、DP103(192.168.0.10)が登録されている。一方、受信したProbeメッセージのDpListには、DP102(192.168.1.10)とDP103(192.168.0.10)が記述されている。これらを比較すると、DP101が、DpListに記述されていないことになる。
ステップS2103において、検索要求転送部515は、転送先のDPとして登録されているDPの中で、DpListに記述されていないDPを抽出し、そのアドレスをDpListに記述する。図21の例の場合、DP102は、DpListに記述されていないDP101のアドレス(192.168.2.10)をDpListに追記する。そして、ステップS2104において、検索要求転送部515は、ステップS2103においてDpListに追記したアドレスを、Probeメッセージの送信先のアドレスとして設定する。図21の例の場合にはDP101のアドレス(192.168.2.10)を、Probeメッセージの送信先アドレスとして設定する。
ステップS1708は、図17におけるステップS1708の処理と同様である。即ち、受信したProbeメッセージに、ReplyToタグが含まれていなければ、ReplyToタグを追加し、Probeメッセージの送信元のクライアントPCのアドレスをReplyToタグに記述する。図22の例のように、既にReplyToタグがある場合には、ステップS1708の処理は省略される。ステップS1709において、検索要求転送部515は、生成したProbeメッセージを送信する。
また、ステップS2105は、受信したProbeメッセージに、DpListタグが含まれていない場合に行われる処理である。ステップS2105において、検索要求転送部515は、転送先のDPとして予め登録されている他のDPを、Probeメッセージの送信先のアドレスとして設定する。
尚、ステップS2102では、検索要求転送部515は、自身のアドレスが、DpListに記述されているか否かも同時に判断される。図21の例では、自身のアドレス(192.168.1.10)がDpListに記述されている。その場合には、改めて自身のアドレスをDpListに記述することはしない。しかし、もし、自身のアドレスがDpListに記述されていない場合には、検索要求転送部515は、ステップS2103において、自身のアドレスをDpListに記述する。
このように、第3の方法によれば、クライアントPCから送信されたProbeメッセージが制限なく次々とDPに転送されつづけてしまうことを防ぐことができる。それだけでなく、同じDPに対して同じProbeメッセージが重複して送信されてしまうことがなくなる。
その他の方法として、Probeメッセージの送信元のクライアントPCのIPアドレスを基準としてProbeメッセージを転送するか否かを決める方法も考えられる。例えば、図1に示したシステムにおいて、IPアドレスに応じて仮想的なグループを設定するVLAN(Virtual LAN)が利用されている環境が考えられる。このような環境において、例えば部門毎にVLANを設けてネットワークを分割し、アクセス制限を行っている場合、他のVLANに属するクライアントPCからの検索を行わせないように制御する必要がある。
そこで、DPが検索要求を他のサブネットのDPへ転送する際に、クライアントPCのIPアドレスを基準として同一VLANに属しているDPに対しては検索要求を転送し、同一VLANに属していない場合は転送しないように制御する。また特定のVLANに属しているクライアントPCからの検索要求のみ他のサブネットのDPへ転送を可能とする制御も可能である。
尚、VLANによって設定されるグループの単位は、適宜決めることができる。例えば、オフィス内の部門毎や建物毎や、フロア毎などにVLANのグループを設定することができる。
また、DPに、検索要求の転送先として複数の他のDPが登録されている場合、検索要求を転送する順序を制御することも可能である。例えば、検索要求の転送先DPとして、DP−A、DP−B、DP−Cの3つのDPがこの順序で登録されたDP−Xが存在したとする。DP−Xは転送要求を転送先DPの登録順序に従い、まずDP−Aへ転送、続いてDP−Bへ転送、最後にDP−Cへ転送といった制御を行う。こうした制御では、DP−Cがさらに転送先DPを持ち、尚且つ転送先DPの個数が多い場合、DP−Cにて多くの転送要求が発生して、全ての検索結果をクライアントPCが取得するまでには時間がかかってしまう。そこで、転送先DPの登録順序を変更することを可能とする。これにより、転送先DPを多く保持するDPは登録順序の上位へ変更することで、転送順序を早め、検索結果にかかる応答を少しでも早くすることが可能となる。
(その他の実施例)
上記実施例では、画像形成装置とDPとして動作する情報処理装置とをそれぞれ別の装置として説明したが、これらが1つの装置として提供されても良い。即ち、例えば図1の例において、DP102の機能を画像形成装置108が備えていてもよい。同様に、クライアントPCが上記実施例におけるDPの機能を備えていてもよい。又は、上記実施例における画像形成装置とクライアントPCが1つの装置によって提供されてもよい。
また、本発明は、前述した実施例のフローチャートを実現するソフトウェアのコンピュータプログラムコードを記録した記憶媒体を、システムあるいは装置に供給してもよい。そして、そのシステムあるいは装置のコンピュータ(CPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成され得る。
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
プログラムコードを供給するための記憶媒体としては、例えば、フロッピディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、DVD−ROM、磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。
本実施例におけるネットワーク検索システムの構成を示す図である。 本実施例における画像形成装置のハードウェア構成を示すブロック図である。 本実施例におけるDP、クライアントPCのハードウェア構成を示すブロック図である。 本実施例におけるDPの表示装置に表示される画面の例である。 本実施例におけるソフトウェアモジュールを示す図である。 本実施例におけるデバイス情報保持部が保持するデバイス情報の例である。 本実施例におけるHelloメッセージの例である。 本実施例におけるGetメッセージの例である。 本実施例におけるGetResponseメッセージの例である。 本実施例におけるByeメッセージ例である。 本実施例におけるProbeメッセージ例である。 本実施例におけるProbeMatchメッセージ例である。 本実施例におけるクライアントPCが画像形成装置を検索する際のUIの例を示す図である。 本実施例におけるProbeメッセージ例である。 本実施例におけるProbeMatchメッセージ例である。 本実施例におけるProbeメッセージ例である。 本実施例におけるDPの処理を示すフローチャートである。 本実施例におけるProbeメッセージ例である。 本実施例におけるProbeメッセージ例である。 本実施例におけるProbeメッセージ例である。 本実施例におけるDPの処理を示すフローチャートである。 本実施例におけるProbeメッセージ例である。
符号の説明
301 CPU
302 ROM
303 RAM
304 システムバス
305 KBC
306 CRTC
307 DKC
308 NIC
309a PD
309b KB
310 CRT
311 HD
312 FD

Claims (7)

  1. デバイス検索装置であって、
    デバイスを検索するための検索要求であって、検索要求を転送済みのデバイス検索装置を特定するための特定情報を含む検索要求を受信する受信手段と、
    前記受信手段が受信した検索要求に含まれる検索条件を満たすデバイスを検索する検索手段と、
    他のデバイス検索装置を示す情報を記憶する記憶手段と、
    前記特定情報に基づいて、前記記憶手段が記憶している情報が示す前記他のデバイス検索装置のうち、検索要求が転送されていないデバイス検索装置に前記受信手段が受信した検索要求を転し、検索要求を転送済みのデバイス検索装置に前記受信手段が受信した検索要求を転送しない転送手段とを備えることを特徴とするデバイス検索装置。
  2. 前記特定情報に基づいて、前記記憶手段が記憶している情報が示す前記他のデバイス検索装置の中から検索要求が転送されていないデバイス検索装置を選択する選択手段と、
    前記選択手段によって選択されたデバイス検索装置を示す情報を、前記特定情報に追加する追加手段とを更に備え、
    前記転送手段は、前記追加手段によって情報が追加された前記特定情報を含む検索要求を、前記選択手段によって選択されたデバイス検索装置に転送することを特徴とする請求項1に記載のデバイス検索装置。
  3. 前記記憶手段は、ユーザによって指定されたデバイス検索装置を示す情報を記憶することを特徴とする請求項又はに記載のデバイス検索装置。
  4. 前記検索手段による検索の結果を前記検索要求の送信元である情報処理装置に送信する送信手段を更に備えることを特徴とする請求項1乃至3のいずれか1項に記載のデバイス検索装置。
  5. 前記デバイス検索装置は、複数のサブネットによって構成されたネットワークに接続されており、前記デバイス検索装置と前記他のデバイス検索装置はそれぞれ異なるサブネットに接続されていることを特徴とする請求項1乃至の何れか1項に記載のデバイス検索装置。
  6. デバイス検索装置の制御方法であって、
    デバイスを検索するための検索要求であって、検索要求を転送済みのデバイス検索装置を特定するための特定情報を含む検索要求を受信する受信ステップと、
    前記受信ステップによって受信された検索要求に含まれる検索条件を満たすデバイスを検索する検索ステップと、
    他のデバイス検索装置を示す情報を記憶手段に記憶する記憶ステップと、
    前記特定情報に基づいて、前記記憶手段が記憶している情報が示す前記他のデバイス検索装置のうち、検索要求が転送されていないデバイス検索装置に前記受信ステップで受信した検索要求をし、検索要求を転送済みのデバイス検索装置に前記受信手段が受信した検索要求を転送しない転送ステップとを有することを特徴とするデバイス検索装置の制御方法。
  7. 請求項に記載のデバイス検索装置の制御方法をコンピュータに実行させるためのコンピュータプログラム。
JP2008141056A 2008-05-29 2008-05-29 デバイス検索装置、デバイス検索装置の制御方法、及びコンピュータプログラム Expired - Fee Related JP5558681B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008141056A JP5558681B2 (ja) 2008-05-29 2008-05-29 デバイス検索装置、デバイス検索装置の制御方法、及びコンピュータプログラム
US12/470,093 US8346916B2 (en) 2008-05-29 2009-05-21 Information processing apparatus, control method of information processing apparatus, and storage medium of storing computer program to perform control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008141056A JP5558681B2 (ja) 2008-05-29 2008-05-29 デバイス検索装置、デバイス検索装置の制御方法、及びコンピュータプログラム

Publications (3)

Publication Number Publication Date
JP2009289041A JP2009289041A (ja) 2009-12-10
JP2009289041A5 JP2009289041A5 (ja) 2011-07-14
JP5558681B2 true JP5558681B2 (ja) 2014-07-23

Family

ID=41381170

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008141056A Expired - Fee Related JP5558681B2 (ja) 2008-05-29 2008-05-29 デバイス検索装置、デバイス検索装置の制御方法、及びコンピュータプログラム

Country Status (2)

Country Link
US (1) US8346916B2 (ja)
JP (1) JP5558681B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120246297A1 (en) * 2011-03-25 2012-09-27 Vijaya Shanker Agent based monitoring for saas it service management
JP2013001044A (ja) 2011-06-20 2013-01-07 Canon Inc 設定値管理システム、設定値管理方法、設定値管理サービス装置、画像形成装置、及びプログラム
JP5966368B2 (ja) * 2012-01-11 2016-08-10 株式会社リコー 情報処理装置、機器管理システム及びプログラム
US9377971B2 (en) * 2014-04-16 2016-06-28 Canon Kabushiki Kaisha Systems and methods for improving device discovery
JP6720735B2 (ja) * 2016-07-04 2020-07-08 コニカミノルタ株式会社 印刷システム及び装置検索方法並びに装置検索プログラム
JP2018181108A (ja) * 2017-04-18 2018-11-15 株式会社沖データ 画像形成システム及び画像形成装置
CN110020127B (zh) * 2017-10-25 2023-05-02 阿里巴巴集团控股有限公司 数据处理方法、装置及系统
US11068209B2 (en) * 2018-04-06 2021-07-20 Canon Kabushiki Kaisha Image forming system, communication apparatus, image forming apparatus, method for controlling the system, and storage medium storing program

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1139324A (ja) * 1997-07-18 1999-02-12 Nippon Telegr & Teleph Corp <Ntt> 分散型情報検索方法及びシステム及び分散型情報検索プログラムを格納した記憶媒体
US6161144A (en) * 1998-01-23 2000-12-12 Alcatel Internetworking (Pe), Inc. Network switching device with concurrent key lookups
US6570877B1 (en) * 1999-04-07 2003-05-27 Cisco Technology, Inc. Search engine for forwarding table content addressable memory
US7099937B1 (en) * 1999-07-02 2006-08-29 Canon Kabushiki Kaisha System for searching for device on network
JP2001028004A (ja) * 1999-07-15 2001-01-30 Telecommunication Advancement Organization Of Japan 地理情報データ検索装置/方法/記録媒体、ノード情報交換装置/方法/記録媒体、及び地理情報データ検索システム
JP2001109780A (ja) * 1999-07-30 2001-04-20 Canon Inc 情報処理装置、情報処理システム、情報処理装置の制御方法及び記憶媒体
US7711790B1 (en) * 2000-08-24 2010-05-04 Foundry Networks, Inc. Securing an accessible computer system
JP2002222111A (ja) * 2001-01-25 2002-08-09 Mitsubishi Electric Corp データ通信装置及びデータ通信方法
JP4464029B2 (ja) * 2001-04-19 2010-05-19 キヤノン株式会社 情報処理方法および制御プログラムおよび情報処理装置および周辺装置および応答方法および代理応答装置およびネットワークシステム
US7171415B2 (en) * 2001-05-04 2007-01-30 Sun Microsystems, Inc. Distributed information discovery through searching selected registered information providers
JP2003092578A (ja) * 2001-09-18 2003-03-28 Fujitsu Ltd 管理装置、処理装置、装置、およびプログラム
US7962605B2 (en) * 2001-11-20 2011-06-14 Microsoft Corporation Distributed device discovery framework for a network
JP2004062443A (ja) * 2002-07-26 2004-02-26 Ntt Docomo Inc サービス管理システム、サービス管理方法、サーバ管理装置、通信端末及びサーバ装置
JP3800158B2 (ja) * 2002-09-27 2006-07-26 ブラザー工業株式会社 データ送信システム、端末装置、及びプログラム
US7069312B2 (en) * 2002-12-06 2006-06-27 Microsoft Corporation Network location signature for disambiguating multicast messages in dual-IP stack and/or multi-homed network environments
JP4385099B2 (ja) * 2003-12-03 2009-12-16 株式会社日立製作所 放送受信装置及びストリーム出力装置
JP4546075B2 (ja) * 2003-12-24 2010-09-15 キヤノン株式会社 情報処理方法、情報処理装置、制御プログラム及び記憶媒体
US7796588B2 (en) * 2004-07-27 2010-09-14 Canon Kabushiki Kaisha Information processing device, control method thereof, and program
JP2007097057A (ja) * 2005-09-30 2007-04-12 Brother Ind Ltd サーバ装置、機器情報提供方法、プログラム、ネットワークシステム、及び、機器共用化方法
JP2007282181A (ja) * 2006-03-14 2007-10-25 Ricoh Co Ltd 画像処理装置、画像処理方法、およびプログラム
JP2008146242A (ja) * 2006-12-07 2008-06-26 Ricoh Co Ltd 発注支援システム、機器監視装置、機器監視方法及びプログラム
JP4944593B2 (ja) * 2006-12-21 2012-06-06 キヤノン株式会社 画像形成装置及びその制御方法及びコンピュータプログラム
US20080198762A1 (en) * 2007-02-20 2008-08-21 Inventec Corporation Cross-subnet-nodes subnet node device detection method
US7849055B2 (en) * 2007-10-18 2010-12-07 International Business Machines Corporation Method and system for limiting instances of a client-server program within a restricted distributed network

Also Published As

Publication number Publication date
US8346916B2 (en) 2013-01-01
JP2009289041A (ja) 2009-12-10
US20090300175A1 (en) 2009-12-03

Similar Documents

Publication Publication Date Title
JP5558681B2 (ja) デバイス検索装置、デバイス検索装置の制御方法、及びコンピュータプログラム
US7490139B2 (en) Embedded business apparatus including web server function
US8305606B2 (en) Job management system, apparatus, and method for distributing print job information list in RSS format
US9734465B2 (en) Distributed workflow-enabled system
US8208153B2 (en) Image processing apparatus, function offering method and computer program product
US11599308B2 (en) Server acquires identification information from a current device among plurality of devices and sends user information corresponding to all users to the current device
JP2009032250A (ja) 印刷サーバーのデータ処理装置および記録媒体
JP2004535634A (ja) 遠隔地にあるドキュメントを検索するシステムおよび方法
JP2010157027A (ja) 画像形成装置、情報処理装置、印刷処理制御方法、及びプログラム
US20090300176A1 (en) Information processing apparatus, control method therefor, and computer-readable storage medium
JP4542165B2 (ja) 情報処理装置、画像形成装置及びその制御方法
EP2336875A2 (en) Print job management apparatus, system, and method
US20110222112A1 (en) Information processing system, apparatus, and method
JP2009087344A (ja) 多機能周辺機器のウェブサービスアプリケーションにおけるイベント通知減少のための方法及び装置
US20050015446A1 (en) Method and apparatus to remotely control electronic apparatuses over a network
US8718058B2 (en) Device search apparatus and method, and device search server, device search system, and storage medium
JP2008282406A (ja) 複数のws動作可能装置からのイベントの報告
JP5380343B2 (ja) 画像形成システムおよび画像形成装置
US8355170B2 (en) Methods and systems to provide scan services to an image forming device
US8767235B2 (en) Image processing system, image receiving apparatus, and image receiving method image receiving method for management of fax data provided by a collaboration of an image forming apparatus and an external application
JP2009172914A (ja) 画像形成装置、画像形成システムおよびプログラム
JP5453150B2 (ja) 画像形成システムおよび画像形成装置
JP2013016077A (ja) 情報処理装置、プログラム、及び印刷システム
JP5175890B2 (ja) 画像形成システム、機器検索方法、および画像形成装置
JP2011044035A (ja) 電子機器、情報処理方法、及びプログラム

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20100201

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20100630

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110526

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110526

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121010

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121016

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121217

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130730

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130930

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140507

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140605

LAPS Cancellation because of no payment of annual fees