JP2007115177A - ウェブサーバ機能を有するネットワークデバイスを介したネットワークデバイスの検索 - Google Patents

ウェブサーバ機能を有するネットワークデバイスを介したネットワークデバイスの検索 Download PDF

Info

Publication number
JP2007115177A
JP2007115177A JP2005308457A JP2005308457A JP2007115177A JP 2007115177 A JP2007115177 A JP 2007115177A JP 2005308457 A JP2005308457 A JP 2005308457A JP 2005308457 A JP2005308457 A JP 2005308457A JP 2007115177 A JP2007115177 A JP 2007115177A
Authority
JP
Japan
Prior art keywords
network device
information
request
client computer
specific network
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.)
Granted
Application number
JP2005308457A
Other languages
English (en)
Other versions
JP4661520B2 (ja
Inventor
Yuuki Dogo
勇樹 堂後
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2005308457A priority Critical patent/JP4661520B2/ja
Publication of JP2007115177A publication Critical patent/JP2007115177A/ja
Application granted granted Critical
Publication of JP4661520B2 publication Critical patent/JP4661520B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Abstract

【課題】専用アプリケーションプログラムを備えないクライアント計算機から、ネットワークに接続されているネットワークデバイスを検索すること。
【解決手段】クライアント計算機10は、Webブラウザを介して、特定ネットワークデバイス20に対してネットワークデバイスの検索を要求するHTTP要求を送信する。HTTP要求を受けた特定ネットワークデバイス20は、WebサービスによってHTTP要求をSLPリクエストに変換し、SLPリクエストをIPネットワーク60、65にマルチキャストする。SLPリクエストを受信したネットワークデバイス30、40は、属性情報を特定ネットワークデバイス20に送信する。特定ネットワークデバイス20は、受信した属性情報をHTLMデータに変換してクライアント計算機10に送信する。
【選択図】図1

Description

本発明は、ネットワークに接続されているネットワークデバイスを検索し、ネットワークデバイスの属性情報を取得する技術に関する。
従来、クライアント計算機を用いて、ネットワークに接続されている種々のデバイスであるネットワークデバイスを検索するためには、クライアント計算機にネットワークデバイス検索用の専用アプリケーションプログラムがインストールされている必要があった。特に、ルータを越えた異なるネットワーク空間に存在するネットワークデバイスを検索する場合、ネットワークデバイスにインターネットプロトコルアドレス(IPアドレス)が割り当てられていない場合には、ネットワークデバイスを検索するためには専用のアプリケーションプログラムの使用が不可欠であった。
特開2000−122944号公報
しかしながら、クライアント計算機に専用アプリケーションプログラムをインストールする作業はユーザの手を煩わす作業であり、汎用的なアプリケーションプログラムを介してネットワークデバイスを検索することが望まれている。また、専用アプリケーションプログラムは、特定のネットワークデバイスを検索するように設計されており、他のネットワークデバイスを検索するためにはことは別の専用アプリケーションプログラムを利用する必要がある。
本発明は、上記課題を解決するためになされたものであり、専用アプリケーションプログラムを備えないクライアント計算機から、ネットワークに接続されているネットワークデバイスを検索することを目的とする。
上記課題を解決するために本発明の第1の態様は、インターネットプロトコルネットワークを介してクライアント計算機と接続されている複数のネットワークデバイスに含まれる特定ネットワークデバイスを提供する。本発明の第1の態様に係る特定ネットワークデバイスは、汎用的な通信プロトコルを通じて、前記クライアント計算機において実行中の汎用アプリケーションプログラムから、前記他のネットワークデバイスの検索要求を含む要求を受信する要求受信手段と、前記検索要求の受信を受けて、マルチキャストにて、前記他のネットワークデバイスに対して属性情報の提供を要求する第1の情報要求手段と、前記他のネットワークデバイスから、前記要求した属性情報を受信するための情報受信手段と、前記属性情報を提供したネットワークデバイスおよび前記受信した属性情報を対応付けて前記汎用アプリケーションプログラムが解釈可能な検索結果情報を生成する検索結果情報生成手段と、前記検索結果情報を前記クライアント計算機に送信する検索結果送信手段とを備える。
本発明の第1の態様に係る特定ネットワークデバイスは、汎用的な通信プロトコルを通じて、クライアント計算機において実行中の汎用アプリケーションプログラムから、他のネットワークデバイスの検索要求を含む要求の受信を受けて、マルチキャストにて、他のネットワークデバイスに対して属性情報の提供を要求し、属性情報を提供したネットワークデバイスおよび受信した属性情報を対応付けて汎用アプリケーションプログラムが解釈可能な検索結果情報を生成しクライアント計算機に送信するので、専用アプリケーションプログラムを備えないクライアント計算機から、ネットワークに接続されているネットワークデバイスを検索することができる。
本発明の第1の態様に係る特定ネットワークデバイスにおいて、前記属性情報には前記他のネットワークデバイスを識別するための第1および第2の識別情報のうち、少なくとも第1の識別情報が含まれており、
前記特定ネットワークデバイスはさらに、
前記要求受信手段が、前記第2の識別情報と対応付けられていない前記他のネットワークデバイスである未対応ネットワークデバイスに対して更なる情報の提供を求める情報取得要求を、前記クライアント計算機から受信した場合に、前記第1の識別情報を用いたマルチキャストにて、前記他のネットワークデバイスに対して更なる情報の提供を1回または複数回にわたり要求する第2の情報要求手段と、前記未対応ネットワークデバイスから1回または複数回にわたり受信した更なる情報を統合し、前記クライアント計算機に対して送信する情報送信手段とを備えても良い。
この構成を備える場合には、特定ネットワークデバイスを介して、クライアント計算機から未対応ネットワークデバイスに対して更なる情報の提供を要求することができる。
本発明に第1の態様に係る特定ネットワークデバイスにおいて、前記第1の識別情報はマックアドレスであり、第2の識別情報はインターネットプロトコルアドレスであっても良い。第1の識別情報はグローバルなネットワークにおいてネットワークデバイスに唯一に割り当てられている識別情報であり、第2の識別情報は少なくともローカルなネットワークにおいてネットワークデバイスに唯一に割り当てられている識別情報である。したがって、これら識別情報を適宜利用することによって、検索効率を向上させることができる。
本発明の第1の態様に係る特定ネットワークデバイスにおいて、前記未対応ネットワークデバイスは、前記汎用アプリケーションプログラムが解釈可能であると共に前記未対応ネットワークデバイスの設定情報を含む最上層画面データを有しており、前記クライアント計算機から要求される更なる情報は、前記最上層画面データであっても良い。この場合には、クライアント計算機は、汎用アプリケーションプログラムを介して、ネットワークデバイスから取得される更なる情報を解釈することができる。
本発明の第1の態様に係る特定ネットワークデバイスにおいて、前記汎用的な通信プロトコルはエイチティーティーピー(HTTP)またはエフティーピー(FTP)であり、前記汎用アプリケーションはウェブ(Web)ブラウザであっても良い。これらの通信プロトコル、汎用アプリケーションは、一般的なクライアント計算機においてサポートされており、ユーザは、更なるドライバ、アプリケーションプログラムをインストールする必要なく、特定ネットワークデバイスにおける検索機能を利用することができる。
本発明の第1の態様に係る特定ネットワークデバイスにおいて、前記検索結果情報生成手段により生成される検索結果情報は、マークアップ言語を用いて作成されるリスト形式の情報であっても良い。かかる場合には、汎用アプリケーションにおける検索結果情報の表示互換性を向上させることができる。
本発明の第1の態様に係る特定ネットワークデバイスにおいて、前記検索結果情報生成手段は、前記マークアップ言語としてエックスエムエル(XML)を用いて前記リスト形式の情報を作成し、
前記特定ネットワークデバイスはさらに、
予め用意されている前記リスト形式の情報の表示スタイルを定義するスタイルシートを取得し、前記取得したスタイルシートと前記作成されたリスト形式の検索結果情報とを用いて、HTMLデータを生成するHTMLデータ生成手段を備え、
前記検索結果送信手段は、前記生成されたHTMLデータを前記検索結果情報として前記クライアントに送信しても良い。かかる場合には、汎用アプリケーションにおける検索結果情報の表示レイアウトを所定のレイアウトに統一することができる。
本発明の第2の態様は、ウェブサーバ機能を提供可能な特定ネットワークデバイスを介して、インターネットプロトコルネットワークに接続されている他のネットワークデバイスの検索を行うクライアント計算機を提供する。本発明の第2の態様に係るクライアント計算機は、実行中の汎用アプリケーションプログラムから、前記汎用的な通信プロトコルを通じて、前記特定ネットワークデバイスに対して、前記他のネットワークデバイスの検索要求を送信する検索要求送信手段と、前記特定ネットワークデバイスから、前記汎用アプリケーションプログラムが解釈可能であり、検索された他のネットワークデバイスおよび検索された他のネットワークデバイスに関する属性情報が対応付けられている検索結果情報を受信する検索結果情報受信手段と、前記汎用アプリケーションプログラムを通じて前記検索結果情報から表示用データを生成する表示用データ生成手段とを備える。
本発明の第2の態様に係るクライアント計算機は、実行中の汎用アプリケーションプログラムから、汎用的な通信プロトコルを通じて、特定ネットワークデバイスに対して、他のネットワークデバイスの検索要求を送信し、特定ネットワークデバイスから、汎用アプリケーションプログラムが解釈可能であり、検索された他のネットワークデバイスおよび検索された他のネットワークデバイスに関する属性情報が対応付けられている検索結果情報を受信し、汎用アプリケーションプログラムを通じて検索結果情報から表示用データを生成するので、専用アプリケーションプログラムを備えないクライアント計算機から、ネットワークに接続されているネットワークデバイスを検索し、検索結果を表示することができる。
本発明の第2の態様に係るクライアント計算機は、前記汎用アプリケーションプログラムは、前記特定ネットワークデバイスに割り当てられている既知のインターネットプロトコルアドレスを用いて、前記特定ネットワークデバイスに対して前記検索要求を送信しても良い。かかる場合には、簡易に特定ネットワークデバイスに対してアクセスすることができる。
本発明の第2の態様に係るクライアント計算機であって、前記汎用アプリケーションプログラムは、ローカルネットワーク内で前記特定ネットワークデバイスに唯一的に割り当てられているホスト名を用いて、前記特定ネットワークデバイスに対して前記検索要求を送信しても良い。かかる場合には、インターネットプロトコルアドレスが不明の場合であっても、ホスト名によって、特定ネットワークデバイスに対してアクセスすることができる。
本発明の第3の態様は、インターネットプロトコルネットワークを介して、クライアント計算機およびウェブサーバ機能を提供可能な特定ネットワークデバイスと接続されているネットワークデバイスを提供する。本発明の第3の態様に係るネットワークデバイスは、前記特定ネットワークデバイスからの属性情報の提供の要求を受信する第1の要求受信手段と、前記要求の受信に応じて、前記特定ネットワークデバイスに対して、属性情報をユニキャストにて送信する属性情報送信手段と、前記特定ネットワークデバイスからの1回または複数回にわたる更なる情報の提供の要求を受信する第2の要求受信手段と、前記更なる情報の提供の要求に応じて、1回または複数回にわたり前記クライアント計算機が備える汎用アプリケーションプログラムが解釈可能であると共に前記ネットワークデバイスの設定情報を含む最上層画面データを送信する最上層画面データ送信手段とを備える。
本発明の第3の態様に係るネットワークデバイスは、特定ネットワークデバイスからの属性情報の提供の要求の受信に応じて、特定ネットワークデバイスに対して、属性情報をユニキャストにて送信し、特定ネットワークデバイスからの1回または複数回にわたる更なる情報の提供の要求に応じて、1回または複数回にわたりクライアント計算機が備える汎用アプリケーションプログラムが解釈可能であると共にネットワークデバイスの設定情報を含む最上層画面データを送信するので、専用アプリケーションプログラムを備えないクライアント計算機から、ネットワークに接続されているネットワークデバイスを検索し、検索結果を表示することができる。
本発明の第3の態様に係るネットワークデバイスはさらに、前記ネットワークデバイスに一意に割り当てられた割当識別情報と、前記更なる情報の提供の要求に含まれており、前記ネットワークデバイスを一意に識別するための受信識別情報とが一致するか否かを判定する判定手段を備え、
前記最上層画面データ送信手段は、前記判定手段によって前記割当識別情報と前記受信識別手段とが一致すると判定された場合に、前記最上層画面データを送信しても良い。この構成を備えることによって、所望のネットワークデバイスから最上層画面データをえることができる。
本発明の第4の態様は、インターネットプロトコルネットワークに接続されているネットワークデバイスを検索する機能を有しないクライアント計算機によるネットワークデバイス検索方法を提供する。本発明の第4の態様に係るネットワークデバイス検索方法は、前記クライアント計算機において実行中の汎用アプリケーションプログラムから、汎用的な通信プロトコルを通じて、前記ネットワークに接続されているネットワークデバイスの検索要求を、ウェブサーバ機能を提供可能な特定ネットワークデバイスに送信し、前記検索要求の受信を受けて、前記特定ネットワークデバイスから、マルチキャストにて、前記ネットワークに接続されているネットワークデバイスに対して属性情報の提供を要求し、前記属性情報の提供の要求を受けて、前記ネットワークデバイスから前記特定ネットワークデバイスに対して、前記要求された属性情報をユニキャストにて送信し、前記属性情報の受信を受けて、前記特定ネットワークデバイスにおいて、前記属性情報を提供したネットワークデバイスおよび前記受信した属性情報を対応付けて前記汎用アプリケーションプログラムが解釈可能な検索結果情報を生成し、前記生成した検索結果情報を、前記特定ネットワークデバイスから前記クライアント計算機に送信することを備える。
本発明の第4の態様に係る方法によれば、専用アプリケーションプログラムを備えないクライアント計算機から、ネットワークに接続されているネットワークデバイスを検索することができる。本発明の第4の態様に係る方法は、この他にも、プログラム、およびプログラムを記録したコンピュータが読み取り可能な記録媒体としても実現され得る。
以下、本発明に係る特定ネットワークデバイスおよび特定ネットワークデバイスを用いたネットワークデバイスの検索方法について図面を参照しつつ、実施例に基づいて説明する。
・システムの構成
図1を参照して本実施例に係る特定ネットワークデバイスを含むネットワークデバイスシステムの概略構成について説明する。図1は本実施例に係る特定ネットワークデバイスを含むネットワークデバイスシステムの概略構成を示す説明図である。
ネットワークデバイスシステムは、クライアント計算機10、特定ネットワークデバイス20、ネットワークデバイス30、40およびDNSサーバ計算機50を備えている。クライアント計算機10、各ネットワークデバイス20、30およびDNSサーバ計算機60はインターネットプロトコルネットワーク(IPネットワーク)60を介して相互に接続されている。IPネットワーク60は、例えば、同一組織内で閉じているローカルエリアネットワーク(LAN)であり、あるいは、外部ネットワークとルータ61を介して接続されているローカルエリアネットワークである。
図1の例では、ネットワークデバイス40は、他のIPネットワーク65に属しており、ルータ61を介してIPネットワーク60と接続されている。他のIPネットワーク65は、IPネットワーク60が用いられる組織と同一組織内のネットワーク(イントラネットワーク)であっても良く、あるいは、IPネットワーク60が属する組織とは異なる外部組織のネットワーク(インターネット)であっても良い。
本実施例におけるネットワークデバイスは、例えば、プリンタ、スキャナ、ファクシミリ、並びにプリント機能、スキャニング機能、コピー機能およびファクシミリ機能のうちの複数の機能を備える複合機である。これら各装置は、ネットワークデバイスとして機能するために、すなわち、ネットワークを通じて他のデバイスと通信するために、外付けまたは内蔵型のネットワーク装置を備えている。
・各構成装置の構成
図2〜4を参照してクライアント計算機10、本実施例に係る特定ネットワークデバイス20、ネットワークデバイス30、40の内部構成について説明する。図2は本実施例におけるクライアント計算機の内部構成を機能ブロックにて模式的に示す説明図である。図3は本実施例に係る特定ネットワークデバイスの内部構成を機能ブロックにて模式的に示す説明図である。図4は本実施例におけるネットワークデバイスの内部構成を機能ブロックにて模式的に示す説明図である。
クライアント計算機10は、一般的に用いられているパーソナルコンピュータであり、図1に示すように、表示モニタ11、入力デバイスとしてのキーボード12およびマウス13と接続されている。クライアント計算機10は、図2に示すように、各種演算処理を実行する中央演算装置(CPU)100、特定ネットワークデバイス20を介したネットワークデバイス30、40の検索を実行するためのプログラム、演算結果を格納するメモリ110、および外部デバイスと通信を行うための入出力インターフェース(I/O)120を備えている。CPU100、メモリ110およびI/O120は、共通バスによって相互に通信可能に接続されている。
メモリ110に格納されている検索実行のためのプログラムは、HTTP(Hyper Text Transfer Protocol)を使用して、Webサーバ計算機(本実施例では特定ネットワークデバイス20)によって提供されるWebサービスを利用するためのプログラムである。すなわち、本実施例のクライアント計算機10において用いられる検索実行用プログラムは、専用の検索プログラムでなく、今日では、パーソナルコンピュータのほぼ全てにインストールされている、汎用的なWebブラウザアプリケーションプログラムである。検索実行のためのプログラムは、少なくとも、検索要求送信モジュール111、検索結果情報受信モジュール112および表示用データ生成モジュール113を備えている。
検索要求送信モジュール111は、ネットワークデバイスの検索機能を有するWebサーバ計算機に対して、ネットワークデバイスの検索を要求するHTTP(HyperText Transfer Protocol)要求を送信するためのモジュールである。HTTP要求は、Webサーバ計算機に備えられているWebサービスが解釈可能なテキストデータ(文字列)であり、リクエスト行、メッセージヘッダ、メッセージボディを含んでいる。リクエスト行はメソッドと呼ばれるコマンドと、URIを含んでおり、Webサーバ計算機に対して要求する処理内容が記述される。URI(Uniform Resource Identifier)は、例えば、Web計算機におけるリソース、例えば、所望の情報の格納フォルダ(格納パス)を特定するためのアドレス情報を示し、あるいは、Webサービスに対するコマンドを示す。すなわち、URIは、クライアント計算機10が望むWebサービスを特定する記述子である。HTTP要求は、Webブラウザアプリケーションプログラムによって生成され、URIはWebブラウザアプリケーションプログラムによって、URIの機能の一部が具体的に仕様化された、URL(Uniform Resource Locater)に記述されるパス(ディレクトリ)から取得される。
検索結果情報受信モジュール112は、HTTP要求に対するWebサーバ計算機からのHTTP応答として検索結果情報を受信するためのモジュールである。本実施例では、Webサーバ計算機から、HTMLデータまたはXMLデータが検索結果情報として送信される。
表示用データ生成モジュール113は、HTMLデータまたはXMLデータである検索結果情報に基づいて表示モニタ11に表示するための表示用データを生成する。すなわち、HTMLデータまたはXMLデータに含まれるタグを解釈して所定のレイアウトの表示画面を提供するためのモジュールである。以上のように、クライアント計算機10に備えられている各モジュールは、汎用的なWebブラウザアプリケーションプログラムによって実現される。
特定ネットワークデバイス20は、クライアント計算機10からネットワークデバイス検索要求を受信し、他のネットワークデバイスを検索し、検索結果をクライアント計算機10に返信する機能を有するネットワークデバイスである。すなわち、ネットワークデバイスの検索機能を有しないクライアント計算機からの検索要求に応じて、クライアント計算機の代わりにネットワークデバイスを検索するネットワークデバイスである。その他の点においては他のネットワークデバイスと同様の機能を有する。
特定ネットワークデバイス20は、図2に示すように、各種演算処理を実行する中央演算装置(CPU)200、ネットワークデバイス30、40の検索を実行するための検索プログラム、スタイルシートを格納するメモリ210、および外部デバイスと通信を行うための入出力インターフェース(I/O)220、プリンタ機能を提供するプリンタモジュール230、スキャナ機能を提供するスキャナモジュール240を備えている。CPU200、メモリ210、I/O220、プリンタモジュール230およびスキャナモジュール240は共通バスによって相互に通信可能に接続されている。
メモリ210には、検索プログラム210P、スタイルシートS1、設定用の初期画面データTD(HTMLフォーマットのトップページデータ)が格納されている。メモリ210に格納されている検索プログラム210Pは、要求受信モジュールM1、第1の情報要求モジュールM2、情報受信モジュールM3、検索結果情報生成モジュールM4、検索結果送信モジュールM5、第2の情報要求モジュールM6、情報送信モジュールM7およびHTMLデータ生成モジュールM8を備えている。
要求受信モジュールM1は、クライアント計算機10からの検索要求、具体的には、HTTP要求を受信するためのモジュールである。本実施例では、クライアント計算機10からの検索要求は、HTTPプロトコルに準拠して送信されるので、要求受信モジュールM1はHTTPプロトコルを解釈可能なモジュールである。
第1の情報要求モジュールM2は、クライアント計算機10からの検索要求に応じて、ネットワークデバイスの検索を実行するためのモジュールであり、SLP(Service Location Protocol)の検索側プロトコル、および、SLPの下位プロトコルであるUDP/IPプロトコルを実装している。SLPは、ネットワークに接続されているネットワークデバイスを検索し、検索したネットワークデバイスから例えば、属性情報を取得するためのプロトコルである。UDP/IPプロトコルは、デバイス間においてコネクションを確立することなく要求を送信可能な通信プロトコルであり、ネットワーク層にIPプロトコル、トランスポート層にUDPプロトコルが用いられる。
属性情報には、例えば、デバイス名(例えば、プリンタ名、スキャナ名)、デバイスのステータス(例えば、トナー量、プリント枚数)、デバイス識別情報(例えば、IPアドレス、MACアドレス)が含まれている。SLPにおいて用いられるコマンド(SLPリクエスト、SLP要求)は、所望の属性情報を指定して取得することができる。
第1の情報要求モジュールM2によって実行される処理について具体例に基づき説明すると、第1の情報要求モジュールM2は、クライアント計算機10から受信したHTTP要求をSLPリクエストに変換する。HTTP要求とSLPリクエストとは予め対応が付けられており、例えば、HTTP要求が「SLPdiscovery」である場合には、デバイス名、IPアドレスおよびMACアドレスを含む属性情報を応答として要求するSLPリクエストに変換される。SLPリクエストには、属性情報を要求する文字列(コマンド)が含まれている。SLPリクエストが送信される際には、SLPリクエストに、UDPヘッダ、IPヘッダ、イーサネットヘッダが付加される。一般的に、イーサネットヘッダには相手先のMACアドレスが記述含まれ、IPヘッダには、送信元である特定ネットワークデバイスのIPアドレス、マルチキャスト用のIPアドレス、ルータ越えの許容数を規定するTTL(Time to Live)の値が含まれている。ただし、マルチキャストによって、ネットワークに接続されているネットワークデバイスを検索する際には、MACアドレス、IPアドレス共に不明であるから記述されない。
第1の情報要求モジュールM2は、変換により得られたSLPリクエストを、マルチキャストにてネットワークデバイス(IPネットワーク60)に送信する。通常、ネットワークデバイスには、マルチキャストの際に指定する1または複数のIPアドレスが用意されているので、第1の情報要求モジュールM2は、用意されているIPアドレスを用いてSLPリクエストをマルチキャストする。マルチキャストにおいては、IPマルチキャスト用のプロトコルである、IGMP(Internet Group Management Protocol)が用いられても良い。本実施例では、SLPリクエスト送信する際に用いられる通信プロトコルはUDP/IPプロトコルであるから、相手先ネットワークデバイスとのコネクションの確立は不要である。第1の情報要求モジュールM2によるHTTP要求からSLPリクエストへの変換、ならびにSLPリクエストの送信の実行は、例えば、XMLデータを解釈してSOAP(Simple Object Access Protocol)を利用してSLP実行モジュールを呼び出すWebサービス、呼び出されたSLP実行モジュールによって実現される。すなわち、WebサービスによってHTTP要求がSLPリクエストに変換され、呼び出されたSLP実行モジュールによってSLPリクエストが解釈され、実行される。なお、第1の情報要求モジュールM2によるHTTP要求からSLPリクエストへの変換、ならびにSLPリクエストの送信の実行は、この他にも、HTMLデータに基づいてサーバ上の外部プログラムを呼び出して実行するCGI(Common Gateway Interface)、HTMLデータにプログラムコマンドを記述してサーバ上で実行可能なPHP(HyperText Preprocessor)プログラムを利用することによっても実現され得る。
情報受信モジュールM3は、マルチキャストによるSLPリクエストを受信したネットワークデバイス30、40からの応答としての属性情報を受信するためのモジュールである。情報受信モジュールM3もまた、SLPの検索側プロトコル、および、UDP/IPプロトコルを実装している。後述するように、ネットワークデバイス30、40からの応答は、特定ネットワークデバイス20のIPアドレスを指定するユニキャストによって実行される。
検索結果情報生成モジュールM4は、受け取った属性情報と属性情報を返したネットワークデバイスとを対応付けるリストデータを生成する。リストデータは、例えば、XML(eXtensible Markup Language)フォーマットに従って生成されたXMLデータであっても良い。検索結果送信モジュールM5は、生成されたリストデータを検索結果情報としてクライアント計算機10に対して送信する。検索結果情報がXMLデータの場合には、クライアント計算機10にインストールされているWebブラウザアプリケーションプログラムによって、検索結果を閲覧することができる。すなわち、周知のように、XMLデータは、汎用的なアプリケーションプログラムであるWebブラウザアプリケーションプログラムによって解釈可能なマークアップ言語である。
第2の情報要求モジュールM6は、第1の情報要求モジュールM2によって初期の属性情報が得られた後に、クライアント計算機10から更なる情報が要求された場合に、ネットワークデバイスに対して更なる属性情報を要求するモジュールである。ネットワークデバイス30、40から得られた初期の属性情報にIPアドレスが含まれている場合には、クライアント計算機10は、得られたIPアドレスを指定することによって、直接、TCPに従い、所望のネットワークデバイスにアクセスして、更なる情報を取得することができる。更なる情報は、例えば、各ネットワークデバイスの詳細な属性情報、例えば、プリンタ機能およびスキャナ機能の有無、トナー残量、インク残量、用紙残量、用紙種別を含む。これらの情報は、各ネットワークデバイスが備えている設定画面(トップページ)を介して取得することができる。すなわち、クライアント計算機10は、HTTP要求によって設定画面データのパスを指定することによって、設定画面を取得し、取得した設定画面を介して各ネットワークデバイスから更なる情報として詳細な属性情報を得ることができる。しかしながら、ネットワークデバイスにIPアドレスが設定されていない場合には、クライアント計算機10は、IPアドレスを用いてネットワークデバイスに直接アクセスすることはできない。
ここで、属性情報にはIPアドレスの他に、識別情報としてMACアドレスが含まれている。このMACアドレスはネットワークデバイスに対して必ず一意に割り当てられている識別情報であり、MACアドレスを使用することによって、IPアドレスが割り当てられていないネットワークデバイスを特定し、更なる情報を得ることができる。
第2の情報要求モジュールM6は、SLPの検索側プロトコル、および、SLPの下位プロトコルであるHTTP over UDPプロトコル(以下、「簡易TCP」という。)を実装している。簡易TCPプロトコルは、クライアント計算機10と特定ネットワークデバイス20間ではTCP/IPプロトコルを使用して通信し、特定ネットワークデバイス20とネットワークデバイス間ではUDP/IPプロトコルを使用して通信するプロトコルを意味し、UDP/IPプロトコル利用時にもTCPプロトコルと同様にデータの送信順が保証される。簡易TCPプロトコルでは、要求はマルチキャスト、応答はユニキャストにて実行され、返信データサイズを示すレンジを指定してHTTP要求を送信し、更に、MACアドレスをURIまたはURIのパラメータに付加する。レンジ指定を行うことによってMTUサイズ制限、通常は1400バイト程度、を受けることなくルータ61を越えることができる。第2の情報要求モジュールM6は、HTTP要求によって要求されるデータサイズが最大レンジサイズよりも大きい場合には、複数回に分けてHTTP要求を送信する。
さらに、マルチキャストによりHTTP要求が送信されるが、MACアドレスがSLPパケットに含まれるのでルータにおいてアドレス変換(NAT)が実行されたとしてもMACアドレスが変換されることはなく、一致するMACアドレスを有する所望のネットワークデバイスのみが応答する。
情報送信モジュールM7は、情報受信モジュールM3によって複数回にわたってネットワークデバイスからの応答が受信された場合には複数回の応答を統合して、クライアント計算機10に対して送信する。具体的には、ネットワークデバイスから送られてくる複数個のHTMLデータを順序を保証しつつ保持し、ネットワークデバイスから最終データを受信すると、全ての受信データをまとめて1つのHTMLデータとしてクライアント計算機10に送信する。
HTMLデータ生成モジュールM8は、検索結果情報生成モジュールM4によって生成されたXMLデータと、メモリ210に予め用意されているスタイルシートS1とを用いてHTMLデータを生成するモジュールである。スタイルシートS1は、XMLデータのレイアウトを定義するXSL(eXtensible Stylesheet Language)によって記述されているファイルである。この他にXSLT(XML Stylesheet Language Transformations)によって記述されているスタイルシートS1を用いても良い。
最新のWebブラウザアプリケーションプログラムは、XMLデータを閲覧可能なデータに変換することができるものの、所望のレイアウトで設定画面を提供するためには、HTMLデータに変換した上で、クライアント計算機10に検索結果情報を送信することが好ましい。
プリンタモジュール230は、データ、例えば、文書データまたは画像データを印刷用データに変換し、画像データに対する画質調整処理を実行し、印刷処理を実行するためのモジュールである。
スキャナモジュール240は、読み取り対象物、例えば、文書、画像をスキャニングして電子データを生成し、生成した電子データに対して画質調整処理を実行するためのモジュールである。これらプリンタモジュール230、スキャナモジュール240と共通バスとは、例えば、USBインターフェースによって接続されている。
図4を参照してネットワークデバイス30、40について説明する。ネットワークデバイスは、IPネットワーク60、65に接続されているプリンタ、スキャナといったデバイスであり、特定ネットワークデバイス20によって検索される被検索ネットワークデバイスである。なお、以下の説明ではネットワークデバイス30を例にとって説明するが、ネットワークデバイス40も同様の構成を備えている。
ネットワークデバイス30は、各種演算処理を実行する中央演算装置(CPU)300、特定ネットワークデバイス20からの要求に応答するためのプログラムを格納するメモリ310、および外部デバイスと通信を行うための入出力インターフェース(I/O)320、プリンタ機能を提供するプリンタモジュール330、スキャナ機能を提供するスキャナモジュール340を備えている。CPU300、メモリ310、I/O320、プリンタモジュール330およびスキャナモジュール340は共通バスによって相互に通信可能に接続されている。
メモリ310には、第1の要求受信モジュール311、属性情報送信モジュール312、第2の要求受信モジュール313、最上層画面データ送信モジュール314、判定モジュール315、最上層画面データ(設定用HTMLデータ)316が格納されている。
第1の要求受信モジュール311は、特定ネットワークデバイス20からマルチキャストにて送信された第1の情報要求を受信するためのモジュールであり、特定ネットワークデバイス20から送信される、UDP/IPプロトコルに準拠する第1の情報要求を解釈するためにUDP/IPプロトコルを実装している。
属性情報送信モジュール312は、要求された属性情報をユニキャストにて、特定ネットワークデバイス20に対して送信するモジュールであり、SLPの被検索側プロトコルを実装している。属性情報送信モジュール312は、SLP被検索側実行モジュールによって実現され、受信したSLPリクエストを解釈し、要求されている属性情報、例えば、IPアドレス、MACアドレス、デバイス名を取得し、SLPパケットとして特定ネットワークデバイス20のIPアドレスを指定してUDP/IPプロトコルにて送信する。
第2の要求受信モジュール313は、特定ネットワークデバイス20からマルチキャストにて送信された第2の情報要求を受信するためのモジュールである。本実施例では、特定ネットワークデバイス20からの第2の情報要求は、簡易TCPプロトコルに準拠して送信されるので、第2の要求受信モジュール311は簡易TCPプロトコルを解釈可能なモジュールであり、情報(HTMLデータ)の送信順序を保証する。第2の情報要求(HTTP要求)は、既述の通り、1回または複数回に分けて送信されるので、第2の要求受信モジュールは、1回または複数回にわたってHTTP要求を受信する。
最上層画面データ送信モジュール314は、HTTP要求によって指定された情報、一般的には、設定画面を表すトップページデータを特定ネットワークデバイス20に対して送信するためのモジュールである。具体的には、URIによって指定されたネットワークデバイスのフォルダに格納されているデータについて、HTTP要求によって指定されているレンジのデータを取り出し、IPパケット化して特定ネットワークデバイス20に送信する。この処理は、HTTP要求が1回または複数回にわたる場合には、1回または複数回にわたって実行される。
判定モジュール315は、受信したHTTP要求に含まれているMACアドレスと、ネットワークデバイス30のMACアドレスとが一致するか否かを判定するためのモジュールである。第2の情報要求は、MACアドレスによって所望のネットワークデバイスを特定するので、第2の情報要求が自身に向けられた要求であるか否かを判定する必要がある。
DNSサーバ計算機50は、管理対象となるネットワークに接続されているネットワークデバイスのホスト名(ドメイン名)とネットワークデバイスに割り当てられているIPアドレスを管理するサーバ計算機であり、ホスト名とIPアドレスの対応テーブルを備えている。クライアント計算機10は、ホスト名によってネットワークデバイスに対するアクセスを試みる場合、DNSサーバ計算機50に対して、ホスト名に対応付けられているIPアドレスの送信を要求する。IPアドレスを取得したクライアント計算機10は、得られたIPアドレスに対するHTTP要求を送信する。
ルータ61は、異なるネットワーク間におけるアドレスの変換、パスの割当てを行う。ルータ61には予めマルチキャスト用のIPアドレスが登録されており、特定ネットワークデバイス20からマルチキャストIPアドレスに宛てて送信されるSLPリクエストは、ルータ61において複製され宛先の複数のネットワークデバイスに送信される。ルータ61はSLPリクエストが通過する際に、TTL値を1つ減らす。
図5〜図8を参照して、ネットワークデバイス検索処理においてクライアント計算機、特定ネットワークデバイスおよびネットワークデバイスにおいて実行される処理について説明する。図5はネットワークデバイス検索処理においてクライアント計算機、特定ネットワークデバイスおよびネットワークデバイスにおいて実行される処理ルーチンを示すフローチャートである。図6は特定ネットワークデバイスに接続した際にクライアント計算機の表示モニタに表示されるユーザインターフェースの一例を示す説明図である。図7はネットワークデバイス検索開始時にクライアント計算機の表示モニタに表示されるユーザインターフェースの一例を示す説明図である。図8はネットワークデバイス検索後にクライアント計算機の表示モニタに表示されるユーザインターフェースの一例を示す説明図である。
クライアント計算機10(CPU100)は、ネットワークデバイスの検索処理を開始する際に、アクセスすべき特定ネットワークデバイス20のIPアドレスを知らない場合には、特定のホスト名に対応するIPアドレスの送信要求をDNSサーバ計算機50に対して送信する。特定のホスト名は、特定ネットワークデバイス20に割り当てられているIPアドレスに対応するホスト名であり、クライアント計算機10のメモリ110には、ネットワークデバイスの検索処理において用いられるべきホスト名が格納されている。特定のホスト名は、DNSサーバ計算機50が管理するネットワーク上で唯一のホスト名である。特定のホスト名の設定手順については後述する。
DNSサーバ50は、クライアント計算機10からの要求に応じて、変換テーブルを用いてホスト名に対応するIPアドレスを決定し(名前解決)、クライアント計算機10に対して送信する。クライアント計算機10は得られたIPアドレス(特定ネットワークデバイス20)に対して設定画面データ(HTMLフォーマットのトップページデータ)を要求する(ステップCS10)。具体的には、クライアント計算機10にて実行されるWebブラウザを通じてトップページの送信を要求するHTTP要求が送信される。特定ネットワークデバイス20のIPアドレスが既知の場合には、ユーザによってアドレス入力欄に直接IPアドレスが入力される。IPアドレスが既知でない場合には、WebブラウザがDNSサーバ計算機50に対して名前解決を要求し、特定のホスト名を得られたIPアドレスに置き換えてHTTP要求を送信しても良い。
設定画面データの送信要求を受けた特定ネットワークデバイス20(CPU200)は、メモリ210に格納されている設定画面データをクライアント計算機10に対して送信する(ステップSNS10)。設定画面データを受信したクライアント計算機10は、Webブラウザを介して、表示モニタ11上に、例えば、図6に示す設定画面11Aを表示させる。設定画面11Aには、特定ネットワークデバイス20の属性情報、例えば、インターフェースの型番、MACアドレス、ハードウェアのバージョン、ソフトウェアのバージョン、その他のステータスが表示される。設定画面11Aには、特定ネットワークデバイス20を介した他のネットワークデバイス30、40の検索を実行するための検索指示入力部11A1が備えられている。
例えば、ユーザによって検索指示入力部11A1がクリックされると、特定ネットワークデバイス20から図7に示す検索条件設定画面11Bのデータが取得され、検索条件設定画面11Bが表示モニタ11上に表示される。検索条件設定画面11Bには、検索条件として、例えば、タイムアウト、TTL値を入力するための検索条件設定欄11B1、検索の実行を入力するための検索実行部11B2、検索結果を表示する検索結果表示欄11B3が含まれている。
検索条件設定欄11B1に検索条件が入力された後、ユーザによって検索実行部11B2がクリックされると、クライアント計算機10から、検索を要求するHTTP要求が特定ネットワークデバイスに送信される(ステップCS11)。HTTP要求は、検索実行部11B2がクリックされることにより、Webブラウザアプリケーションによって生成される。すなわち、検索実行部11B2に割り当てられているハイパーリンクアドレスには、既述の通り、Webサービスに対して検索の実行を要求するURI(コマンド)が記述されており、Webブラウザアプリケーションはかかるコマンドを抽出してHTTP要求を生成する。すなわち、特定ネットワークデバイス20における所定のパスがコマンドパスとして利用される。特定ネットワークデバイス20は、検索要求を受信すると(ステップSNS11)、HTTP要求をSLPリクエストに変換する(ステップSNS12)。既述の通り、特定ネットワークデバイス20には、Webサービス(第1の情報要求モジュールM2)が実装されており、このWebサービスによって、HTTP要求に含まれるコマンドがSLPリクエストに変換され、SLP実行モジュールが呼び出される。
特定ネットワークデバイス20は、変換により得られたSLPリクエストをIPネットワーク60、65にマルチキャストする(ステップSNS13)。既述の通り、このマルチキャストはUDP/IPプロトコルに従って実行される。マルチキャストにおいて用いられるIPアドレスは、SLPに対応するネットワークデバイス30、40を指定するためのIPアドレスであると共に、ルータ61を越える他のセグメントへの通過が許可されるように予めルータ61に登録されているIPアドレスである。したがって、マルチキャストされたSLPリクエストは、ルータ61を介して他のネットワークセグメントに接続されているネットワークデバイス40にも到達する。マルチキャストによるSLPリクエストを受信したルータ61は、受信したSLPリクエストを複製し、ルータ61が管理するローカルネットワークに接続されている全てのネットワークデバイスに対して複製したSLPリクエストを送信する。
マルチキャストIPアドレスに対応しており、SLPリクエストを受信した各ネットワークデバイス30、40は(ステップNS10)、SLPリクエストにて要求されている属性情報を取得し、ユニキャストの応答として特定ネットワークデバイス20に宛てて送信する(ステップNS11)。このとき、送信される属性情報には、少なくとも、IPアドレス、MACアドレス、デバイス名が含まれている。
特定ネットワークデバイス20は、各ネットワークデバイス30、40から応答を受信すると(ステップSNS14)、応答に含まれている属性情報を用いてXMLデータを作成する(ステップSNS15)。具体的には、ネットワークデバイス毎に、ネットワークデバイスと、IPアドレス、MACアドレス、デバイス名とが対応付けられたリストデータが作成される。
特定ネットワークデバイス20は、生成したXMLデータとスタイルシートS1とを用いて、HTMLデータを作成する(ステップSNS16)。既述の通り、スタイルシートS1は、XMLデータの表示レイアウトを記述するファイルであり、XMLデータにスタイルシートS1を適用することによって、Webブラウザ上にて所定のレイアウトで表示されるHTMLデータが生成される。
特定ネットワークデバイス20は、生成したHTMLデータをクライアント計算機10に対して送信する(ステップSNS17)。クライアント計算機10は、HTMLデータを検索結果として受信し(ステップCS13)、Webブラウザを介して、例えば、図8に示す検索結果画面11Cを表示する。
検索結果画面11Cは、検索結果を表示する検索結果表示欄11C1、IPアドレスが判明したネットワークデバイスに対してジャンプするための直接ジャンプ指示入力部11C2、IPアドレスが判明しなかったネットワークデバイスに対してジャンプするためのプロキシジャンプ指示入力部11C3を備えている。ここで、ジャンプとは、更なる情報を得るために、選択したネットワークデバイスに対して設定画面データの送信を要求処理を意味する。すなわち、所望のネットワークデバイスの設定画面に飛ぶことを意味する。
検索結果表示欄11C1には、各ネットワークデバイスから取得したデバイス名とIPアドレスとが対応付けて表示されるが、ネットワークデバイスにIPアドレスが設定されていない場合、あるいは、ネットワークデバイスからIPアドレスを取得できなかった場合には、例えば。「none」と表示される。
次に図9を参照して、検索結果として得られたネットワークデバイスから更なる情報を取得するための処理について説明する。図9は検索されたネットワークデバイスから更なる情報を取得するために実行される処理ルーチンを示すフローチャートである。なお、更なる情報の取得要求は、図8に示す検索結果画面11Cに表示される直接ジャンプ指示入力部11C2またはプロキシジャンプ指示入力部11C3をユーザがクリックすることによってクライアント計算機10に入力される。
ユーザによって検索結果表示欄11C1に表示されているネットワークデバイスの中から所望のネットワークデバイスが選択され、直接ジャンプ指示入力部11C2またはプロキシジャンプ指示入力部11C3がクリックされ、更なる情報が要求されると(CS20)、クライアント計算機10は、選択されたネットワークデバイスがIPアドレスが既知のネットワークデバイスであるか否かを判定する(ステップCS21)。より具体的には、直接ジャンプ指示入力部11C2またはプロキシジャンプ指示入力部11C3のいずれがクリックされたかを判定する。
クライアント計算機10は、IPアドレスが既知のネットワークデバイスに対して更なる情報が要求されている、すなわち、直接ジャンプ指示入力部11C2がクリックされたと判断すると(ステップCS21:Yes)、TCP/IPプロトコルに従い、IPアドレスを指定して所望のネットワークデバイスに対して更なる情報を要求するHTTP要求をユニキャストにて送信する(ステップCS22)。要求を受けたネットワークデバイスは、HTTP要求によって指定された更なる情報、一般的には、HTMLデータ、すなわち、トップページデータをクライアント計算機10に対して送信する。
トップページデータを受信したクライアント計算機10は(ステップCS24)、Webブラウザを介して、例えば、図6に示す設定画面と同様の設定画面を表示モニタ11上に表示する。
クライアント計算機10は、IPアドレスが不知のネットワークデバイスに対して更なる情報が要求されている、すなわち、プロキシジャンプ指示入力部11C3がクリックされたと判断すると(ステップCS21:No)、TCP/IPプロトコルに従い、特定ネットワークデバイス20に対して更なる情報の代理取得を要求するHTTP要求を送信する。特定ネットワークデバイス20は、更なる情報の要求を受信すると(ステップSNS20)、受け取ったHTTP要求をSLPリクエストに変換する(ステップSNS21)。
特定ネットワークデバイス20は、所望のネットワークデバイスに割り当てられているMACアドレスを含むSLPリクエストを簡易TCPプロトコルに従って、マルチキャストする(ステップSNS22)。マルチキャストに際して用いられる宛先IPアドレスは、ルータ61がパケットの通過を許可するIPアドレスである。また、SLPリクエストに含まれているMACアドレスはSLPパケット化されているので、たとえ、ルータにおいてアドレス変換が実行されたとしても、ルータ61を介して接続されているネットワークデバイス40に届けられる。
マルチキャストによるSLPリクエストを受信したルータ61は、受信したSLPリクエストを複製し、ローカルネットワークに接続されている全てまたは一部のネットワークデバイスに対して複製したSLPリクエストを送信する。ルータ61は、SLPリクエストの宛先IPアドレスにかかわらず、ローカルネットワークの全てのネットワークデバイスにパスを割り当てても良い。あるいは、ルータ61は、ルータ61に備えられているアドレス変換テーブルに従ってSLPリクエストの宛先IPアドレスを変換し、変換後のIPアドレスを用いてローカルネットワークにSLPリクエストを送信しても良い。
マルチキャストIPアドレスに対応し、IPネットワーク60に接続されているネットワークデバイス30、40は、SLPリクエストを受信すると、SLPリクエストに含まれているMACアドレスが自身のMACアドレスと一致するか否かを判定する(ステップNS20)。ネットワークデバイス30、40は、SLPリクエストに含まれているMACアドレスが自身のMACアドレスと一致すると判定した場合には(ステップNS20:Yes)、要求されたレンジのHTMLデータをユニキャストにて特定ネットワークデバイス20に応答として送信する(NS21)。
一方、ネットワークデバイス30、40は、SLPリクエストに含まれているMACアドレスが自身のMACアドレスと一致しないと判定した場合には(ステップNS20:No)、SLPリクエストを破棄する(ステップNS22)。
該当するネットワークデバイス30、40から応答を受信すると(ステップSNS23)、特定ネットワークデバイス20は、最終送信データを受信するまで、すなわち、要求した全てのHTMLデータを受信するまで待機する(ステップSNS24:No)。最終送信データであるか否かは、例えば、最終送信データに送信データの全サイズを記述する規則を定めることによって判定することができる。特定ネットワークデバイス20は、要求した全てのHTMLデータを受信すると(ステップSN24:Yes)、受信した複数のHTMLデータを統合し、特定ネットワークデバイス20経由のデータに加工してクライアント計算機10に送信する(ステップSNS25)。具体的には、検索されたネットワークデバイスにアクセスするためのURIアドレスに、特定ネットワークデバイス20を経由させるための記述を付加する。すなわち、特定ネットワークデバイス20のIPアドレス、並びに、特定ネットワークデバイス20のIPアドレスへのアクセスを優先させるためのコマンドを付加する。
トップページデータを受信したクライアント計算機10は(ステップCS24)、Webブラウザを介して、例えば、図6に示す設定画面と同様の設定画面を表示モニタ11上に表示する。以後、クライアント計算機10において、IPアドレスが不明なネットワークデバイスに対する所定データの送信(プロキシジャンプ)が要求されると、加工されたURIに宛ててHTTP要求が送信される。したがって、特定ネットワークデバイス20がプロキシジャンプの要求を受信し、既述した処理によって、IPアドレスが不明なネットワークデバイスに対して所定データの送信要求が送られる。すなわち、特定ネットワークデバイス20は、プロキシサーバとして機能する。
図10を参照してネットワークデバイスのホスト名の設定処理について説明する。図10は、ネットワークデバイスのホスト名を設定する際に実行される処理ルーチンを示すフローチャートである。
ユーザによって、ネットワークデバイスに割り当てられるべきホスト名XXXが入力されると、ネットワークデバイスは、DNSサーバ計算機50に対してホスト名XXXが既にネットワーク上に存在するか否かを問い合わせる(ステップS30)。ネットワークデバイスは、DNSサーバ計算機50からホスト名XXXはネットワーク上に存在しない旨の通知を受けると(ステップS31:No)、XXXをホスト名に設定する(ステップS32)。すなわち、ネットワークデバイスの設定ファイルにおけるホスト名としてXXXを記録する。ネットワークデバイスは、DNSサーバ計算機50に対して割り当てられているIPアドレスとの対応付け、すなわち、ホスト名XXXの登録を要求し(ステップS33)、本処理ルーチンを終了する。
一方、ネットワークデバイスは、DNSサーバ計算機50からホスト名XXXはネットワーク上に既に存在する旨の通知を受けると(ステップS31:Yes)、ユーザに対して表示モニタ11を介して通知し、他のホスト名の入力を促す。ユーザによって他のホスト名が入力されると他の名称をホスト名に設定する(ステップS32)。すなわち、ネットワークデバイスの設定ファイルにおけるホスト名に記録する。ネットワークデバイスは、DNSサーバ計算機50に対して割り当てられているIPアドレスとの対応付け、すなわち、他のホスト名の登録を要求し(ステップS33)、本処理ルーチンを終了する。
以上説明したとおり、本実施例に係る特定ネットワークデバイス20によれば、クライアント計算機10に汎用的なWebブラウザアプリケーションプログラムが備えられていれば、特定ネットワークデバイス20を介してクライアント計算機10からネットワークデバイスを検索することができる。すなわち、特定ネットワークデバイス20は、ネットワークデバイス検索機能を有すると共に、Webサーバとしての機能を備えているので、クライアント計算機10から特定ネットワークデバイス20に対してHTTPに従い通信可能であれば、特定ネットワークデバイス20を介してネットワークデバイスを検索することができる。したがって、クライアント計算機10は、専用のネットワークデバイス検索プログラムを備えていなくても、一般的にインストールされているWebブラウザアプリケーションプログラムを介してネットワークデバイスを検索することができる。
また、クライアント計算機10は、検索されたネットワークデバイス30に対して、取得したIPアドレスを用いてTCPに従って直接アクセスして、更なる情報として、種々の属性情報を得ることができる。更なる情報は、通常、XMLまたはHTMLデータであるから、クライアント計算機10が備えるWebブラウザアプリケーションプログラムを通じて解釈可能であり、解釈されたデータに対応する表示画像が表示モニタ11上に表示される。
さらに、本実施例に係る特定ネットワークデバイス20は、MACアドレスを用いてネットワークデバイスを検索することが可能であり、プロキシサーバとして機能することによって、クライアント計算機10からのHTTP要求を処理することができる。したがって、ネットワークデバイスにIPアドレスが割り当てられていない場合、ネットワークデバイス40がルータ61を越えた他のネットワークセグメント65に属する場合であっても、クライアント計算機10は、所望のネットワークデバイス40から更なる情報を取得することができる。すなわち、クライアント計算機10からのHTTP要求は、特定ネットワークデバイス20を介してマルチキャストされ、該当するネットワークデバイス40によって受信される。ネットワークデバイス40は、要求されたレンジのデータを応答として特定ネットワークデバイス20に送信する。要求データを受けた特定ネットワークデバイス20は、受信した要求データの送信元を特定ネットワークデバイス20に変更し、クライアント計算機10に対して要求データを送信する。この結果、クライアント計算機10から送信される要求データに対する更なる要求は、特定ネットワークデバイス20に送信され、上記の処理が繰り返される。
また、特定ネットワークデバイス20に割り当てられるホスト名は、クライアント計算機10が属するローカルネットワークにおいて唯一となるようにDNSサーバ計算機50に設定される。したがって、クライアント計算機10は、IPアドレスを管理することなく、特定ネットワークデバイス20のホスト名を指定することによって、特定ネットワークデバイス20に接続することができる。
その他の実施例:
(1)上記実施例では、クライアント計算機10からのHTTP要求は、特定ネットワークデバイス20におけるWebサービスによって処理されているが、Javaアプレットを利用して処理されても良い。かかる場合には、クライアント計算機10からの検索要求に応じて、特定ネットワークデバイス20から、クライアント計算機10に対して検索用Javaアプレットが提供され、Javaアプレットがクライアント計算機10において実行されることによって、ネットワークデバイスが検索される。
(2)上記実施例では、特定ネットワークデバイス20における検索プロトコルとしてSLPが用いられているが、この他にもUPnP(Universal Plug and Play)が用いられてもよい。IPアドレスおよびMACアドレスが不明なネットワークデバイスから、属性情報としてIPアドレス、MACアドレス、デバイス名を取得可能であり、属性情報取得後には少なくともMACアドレスおよびIPアドレスのいずれか一方を用いて更なる情報を取得可能な検索プロトコルであれば良い。
(3)上記実施例では、特定ネットワークデバイス20は、ネットワークデバイスを検索する際にUDPに従うマルチキャストを実行しているが、TCPに従うマルチキャストが可能な場合には、TCPに従うマルチキャストを実行しても良い。
以上、いくつかの実施例に基づき本発明に係る特定ネットワークデバイス、クライアント計算機、ネットワークデバイスを説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨並びに特許請求の範囲を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれることはもちろんである。
本実施例に係る特定ネットワークデバイスを含むネットワークデバイスシステムの概略構成を示す説明図である。 本実施例におけるクライアント計算機の内部構成を機能ブロックにて模式的に示す説明図である。 本実施例に係る特定ネットワークデバイスの内部構成を機能ブロックにて模式的に示す説明図である。 本実施例におけるネットワークデバイスの内部構成を機能ブロックにて模式的に示す説明図である。 ネットワークデバイス検索処理においてクライアント計算機、特定ネットワークデバイスおよびネットワークデバイスにおいて実行される処理ルーチンを示すフローチャートである。 特定ネットワークデバイスに接続した際にクライアント計算機の表示モニタに表示されるユーザインターフェースの一例を示す説明図である。 ネットワークデバイス検索開始時にクライアント計算機の表示モニタに表示されるユーザインターフェースの一例を示す説明図である。 ネットワークデバイス検索後にクライアント計算機の表示モニタに表示されるユーザインターフェースの一例を示す説明図である。 検索されたネットワークデバイスから更なる情報を取得するために実行される処理ルーチンを示すフローチャートである。 ネットワークデバイスのホスト名を設定する際に実行される処理ルーチンを示すフローチャートである。
符号の説明
10…クライアント計算機
11…表示モニタ
12…キーボード
13…マウス(ポインティングデバイス)
100…中央処理装置(CPU)
101…メモリ
102…I/Oインターフェース
20…特定ネットワークデバイス
200…中央処理装置(CPU)
210…メモリ
220…I/Oインターフェース
220…プリンタモジュール
240…スキャナモジュール
30、40…ネットワークデバイス
300…中央処理装置(CPU)
310…メモリ
320…I/Oインターフェース
330…プリンタモジュール
340…スキャナモジュール
50…DNSサーバ計算機
60…IPネットワーク
61…ルータ
65…他のIPネットワーク

Claims (13)

  1. インターネットプロトコルネットワークを介してクライアント計算機と接続されている複数のネットワークデバイスに含まれる特定ネットワークデバイスであって、
    汎用的な通信プロトコルを通じて、前記クライアント計算機において実行中の汎用アプリケーションプログラムから、前記他のネットワークデバイスの検索要求を含む要求を受信する要求受信手段と、
    前記検索要求の受信を受けて、マルチキャストにて、前記他のネットワークデバイスに対して属性情報の提供を要求する第1の情報要求手段と、
    前記他のネットワークデバイスから、前記要求した属性情報を受信するための情報受信手段と、
    前記属性情報を提供したネットワークデバイスおよび前記受信した属性情報を対応付けて前記汎用アプリケーションプログラムが解釈可能な検索結果情報を生成する検索結果情報生成手段と、
    前記検索結果情報を前記クライアント計算機に送信する検索結果送信手段とを備える特定ネットワークデバイス。
  2. 請求項1に記載の特定ネットワークデバイスにおいて、
    前記属性情報には前記他のネットワークデバイスを識別するための第1および第2の識別情報のうち、少なくとも第1の識別情報が含まれており、
    前記特定ネットワークデバイスはさらに、
    前記要求受信手段が、前記第2の識別情報と対応付けられていない前記他のネットワークデバイスである未対応ネットワークデバイスに対して更なる情報の提供を求める情報取得要求を、前記クライアント計算機から受信した場合に、前記第1の識別情報を用いたマルチキャストにて、前記他のネットワークデバイスに対して更なる情報の提供を1回または複数回にわたり要求する第2の情報要求手段と、
    前記未対応ネットワークデバイスから1回または複数回にわたり受信した更なる情報を統合し、前記クライアント計算機に対して送信する情報送信手段とを備える特定ネットワークデバイス。
  3. 請求項2に記載の特定ネットワークデバイスにおいて、
    前記第1の識別情報はマックアドレスであり、第2の識別情報はインターネットプロトコルアドレスである特定ネットワークデバイス。
  4. 請求項2または請求項3に記載の特定ネットワークデバイスにおいて、
    前記未対応ネットワークデバイスは、前記汎用アプリケーションプログラムが解釈可能であると共に前記未対応ネットワークデバイスの設定情報を含む最上層画面データを有しており、
    前記クライアント計算機から要求される更なる情報は、前記最上層画面データである特定ネットワークデバイス。
  5. 請求項1から請求項4のいずれかに記載の特定ネットワークデバイスにおいて、
    前記汎用的な通信プロトコルはエイチティーティーピー(HTTP)またはエフティーピー(FTP)であり、
    前記汎用アプリケーションはウェブ(Web)ブラウザである特定ネットワークデバイス。
  6. 請求項1から請求項5のいずれかに記載の特定ネットワークデバイスにおいて、
    前記検索結果情報生成手段により生成される検索結果情報は、マークアップ言語を用いて作成されるリスト形式の情報である特定ネットワークデバイス。
  7. 請求項6に記載の特定ネットワークデバイスにおいて、
    前記検索結果情報生成手段は、前記マークアップ言語としてエックスエムエル(XML)を用いて前記リスト形式の情報を作成し、
    前記特定ネットワークデバイスはさらに、
    予め用意されている前記リスト形式の情報の表示スタイルを定義するスタイルシートを取得し、前記取得したスタイルシートと前記作成されたリスト形式の検索結果情報とを用いて、HTMLデータを生成するHTMLデータ生成手段を備え、
    前記検索結果送信手段は、前記生成されたHTMLデータを前記検索結果情報として前記クライアントに送信する特定ネットワークデバイス。
  8. ウェブサーバ機能を提供可能な特定ネットワークデバイスを介して、インターネットプロトコルネットワークに接続されている他のネットワークデバイスの検索を行うクライアント計算機であって、
    実行中の汎用アプリケーションプログラムから、前記汎用的な通信プロトコルを通じて、前記特定ネットワークデバイスに対して、前記他のネットワークデバイスの検索要求を送信する検索要求送信手段と、
    前記特定ネットワークデバイスから、前記汎用アプリケーションプログラムが解釈可能であり、検索された他のネットワークデバイスおよび検索された他のネットワークデバイスに関する属性情報が対応付けられている検索結果情報を受信する検索結果情報受信手段と、
    前記汎用アプリケーションプログラムを通じて前記検索結果情報から表示用データを生成する表示用データ生成手段とを備えるクライアント計算機。
  9. 請求項8に記載のクライアント計算機であって、
    前記汎用アプリケーションプログラムは、前記特定ネットワークデバイスに割り当てられている既知のインターネットプロトコルアドレスを用いて、前記特定ネットワークデバイスに対して前記検索要求を送信するクライアント計算機。
  10. 請求項8に記載のクライアント計算機であって、
    前記汎用アプリケーションプログラムは、ローカルネットワーク内で前記特定ネットワークデバイスに唯一的に割り当てられているホスト名を用いて、前記特定ネットワークデバイスに対して前記検索要求を送信するクライアント計算機。
  11. インターネットプロトコルネットワークを介して、クライアント計算機およびウェブサーバ機能を提供可能な特定ネットワークデバイスと接続されているネットワークデバイスであって、
    前記特定ネットワークデバイスからの属性情報の提供の要求を受信する第1の要求受信手段と、
    前記要求の受信に応じて、前記特定ネットワークデバイスに対して、属性情報をユニキャストにて送信する属性情報送信手段と、
    前記特定ネットワークデバイスからの1回または複数回にわたる更なる情報の提供の要求を受信する第2の要求受信手段と、
    前記更なる情報の提供の要求に応じて、1回または複数回にわたり前記クライアント計算機が備える汎用アプリケーションプログラムが解釈可能であると共に前記ネットワークデバイスの設定情報を含む最上層画面データを送信する最上層画面データ送信手段とを備えるネットワークデバイス。
  12. 請求項11に記載のネットワークデバイスはさらに、
    前記ネットワークデバイスに一意に割り当てられた割当識別情報と、前記更なる情報の提供の要求に含まれており、前記ネットワークデバイスを一意に識別するための受信識別情報とが一致するか否かを判定する判定手段を備え、
    前記最上層画面データ送信手段は、前記判定手段によって前記割当識別情報と前記受信識別手段とが一致すると判定された場合に、前記最上層画面データを送信する、ネットワークデバイス。
  13. インターネットプロトコルネットワークに接続されているネットワークデバイスを検索する機能を有しないクライアント計算機によるネットワークデバイス検索方法であって、
    前記クライアント計算機において実行中の汎用アプリケーションプログラムから、汎用的な通信プロトコルを通じて、前記ネットワークに接続されているネットワークデバイスの検索要求をウェブサーバ機能を提供可能な特定ネットワークデバイスに送信し、
    前記検索要求の受信を受けて、前記特定ネットワークデバイスから、マルチキャストにて、前記ネットワークに接続されているネットワークデバイスに対して属性情報の提供を要求し、
    前記属性情報の提供の要求を受けて、前記ネットワークデバイスから前記特定ネットワークデバイスに対して、前記要求された属性情報をユニキャストにて送信し、
    前記属性情報の受信を受けて、前記特定ネットワークデバイスにおいて、前記属性情報を提供したネットワークデバイスおよび前記受信した属性情報を対応付けて前記汎用アプリケーションプログラムが解釈可能な検索結果情報を生成し、
    前記生成した検索結果情報を、前記特定ネットワークデバイスから前記クライアント計算機に送信するネットワークデバイス検索方法。
JP2005308457A 2005-10-24 2005-10-24 ウェブサーバ機能を有するネットワークデバイスを介したネットワークデバイスの検索 Expired - Fee Related JP4661520B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005308457A JP4661520B2 (ja) 2005-10-24 2005-10-24 ウェブサーバ機能を有するネットワークデバイスを介したネットワークデバイスの検索

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005308457A JP4661520B2 (ja) 2005-10-24 2005-10-24 ウェブサーバ機能を有するネットワークデバイスを介したネットワークデバイスの検索

Related Child Applications (2)

Application Number Title Priority Date Filing Date
JP2010259641A Division JP2011081822A (ja) 2010-11-22 2010-11-22 ウェブサーバ機能を有するネットワークデバイスを介したネットワークデバイスの検索
JP2010259645A Division JP2011100463A (ja) 2010-11-22 2010-11-22 ウェブサーバ機能を有するネットワークデバイスを介したネットワークデバイスの検索

Publications (2)

Publication Number Publication Date
JP2007115177A true JP2007115177A (ja) 2007-05-10
JP4661520B2 JP4661520B2 (ja) 2011-03-30

Family

ID=38097265

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005308457A Expired - Fee Related JP4661520B2 (ja) 2005-10-24 2005-10-24 ウェブサーバ機能を有するネットワークデバイスを介したネットワークデバイスの検索

Country Status (1)

Country Link
JP (1) JP4661520B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008312069A (ja) * 2007-06-15 2008-12-25 Mitsubishi Electric Corp 機器設定装置、ネットワーク機器、ネットワークシステム、ネットワークシステムの通信方法および機器設定装置の機器設定プログラム
WO2009154249A1 (ja) * 2008-06-20 2009-12-23 株式会社Access リモートアクセスシステム、装置、方法及びプログラム
JP2010531602A (ja) * 2007-06-28 2010-09-24 エアバス オペラシオン リアルタイム通信ネットワークにおける診断データの通信のための方法と装置
JP2012084120A (ja) * 2010-09-16 2012-04-26 Ricoh Co Ltd 管理対象機器、機器管理装置、機器管理システム、及び機器管理方法
JP2012528529A (ja) * 2009-05-26 2012-11-12 アルカテル−ルーセント ユニキャストクライアント要求をマルチキャストクライアント要求に変換するためのシステムおよび方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002157174A (ja) * 2000-11-17 2002-05-31 Canon Inc ネットワーク管理装置およびネットワーク管理方法および記憶媒体
JP2003157275A (ja) * 2001-11-20 2003-05-30 Brother Ind Ltd ネットワークシステム、ネットワークデバイス、ウェブページ作成方法、ウェブページ作成用プログラムおよびデータ送信用プログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002157174A (ja) * 2000-11-17 2002-05-31 Canon Inc ネットワーク管理装置およびネットワーク管理方法および記憶媒体
JP2003157275A (ja) * 2001-11-20 2003-05-30 Brother Ind Ltd ネットワークシステム、ネットワークデバイス、ウェブページ作成方法、ウェブページ作成用プログラムおよびデータ送信用プログラム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008312069A (ja) * 2007-06-15 2008-12-25 Mitsubishi Electric Corp 機器設定装置、ネットワーク機器、ネットワークシステム、ネットワークシステムの通信方法および機器設定装置の機器設定プログラム
JP2010531602A (ja) * 2007-06-28 2010-09-24 エアバス オペラシオン リアルタイム通信ネットワークにおける診断データの通信のための方法と装置
WO2009154249A1 (ja) * 2008-06-20 2009-12-23 株式会社Access リモートアクセスシステム、装置、方法及びプログラム
JP2012528529A (ja) * 2009-05-26 2012-11-12 アルカテル−ルーセント ユニキャストクライアント要求をマルチキャストクライアント要求に変換するためのシステムおよび方法
JP2012084120A (ja) * 2010-09-16 2012-04-26 Ricoh Co Ltd 管理対象機器、機器管理装置、機器管理システム、及び機器管理方法

Also Published As

Publication number Publication date
JP4661520B2 (ja) 2011-03-30

Similar Documents

Publication Publication Date Title
US7148987B2 (en) Information processing apparatus, information processing method, and program for controlling computer
US8001270B2 (en) Method and apparatus for discovering a network address
US9734437B2 (en) Communication relaying technology and communication relaying apparatus
JP4645164B2 (ja) ネットワーク型プラグアンドプレイに対応したネットワーク装置の制御
US9264291B2 (en) Printer searching device
JP4533247B2 (ja) サービス提供システム、サービス提供方法及びサービス提供装置
US8687219B2 (en) System which can utilize a function of an image processing apparatus as a web service
JP6039602B2 (ja) プリンタ登録装置、表示装置、プリンタ登録方法、コンピュータプログラム
JP2012173816A (ja) 印刷システム、制御方法、情報処理装置、デバイスドライバプログラム、およびインストーラプログラム
JP5664449B2 (ja) 情報処理装置、ネットワーク中継装置、情報処理装置の制御方法
JP4661520B2 (ja) ウェブサーバ機能を有するネットワークデバイスを介したネットワークデバイスの検索
JP2012146197A (ja) 印刷支援装置及び印刷システム並びに印刷支援プログラム
JP2009038526A (ja) 印刷サーバ装置
JP2010123115A (ja) コンピューティング機器、ウェブページコンテンツ管理方法およびコンピュータ読み取り可能な媒体
JP4645165B2 (ja) ネットワーク型プラグアンドプレイに対応したネットワーク装置の制御
US20140211248A1 (en) Web server apparatus, control method, and program therefor
US8718058B2 (en) Device search apparatus and method, and device search server, device search system, and storage medium
JP7353793B2 (ja) 画像形成装置、制御方法、およびそのプログラム
JP2011081822A (ja) ウェブサーバ機能を有するネットワークデバイスを介したネットワークデバイスの検索
JP6521762B2 (ja) Httpサーバとその制御方法、画像形成装置およびプログラム
US9565058B2 (en) Method of connecting a device to a network, a device connecting system, and a program
KR20110131802A (ko) Dlna 디지털 미디어 렌더러로서 화상을 형성하는 장치 및 방법
JP2008097368A (ja) 電子機器、機器検索方法及び機器検索プログラム
JP2011100463A (ja) ウェブサーバ機能を有するネットワークデバイスを介したネットワークデバイスの検索
JP2007156906A (ja) Url作成方法及び情報処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080724

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100902

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100921

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101116

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: 20101207

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101220

R150 Certificate of patent or registration of utility model

Ref document number: 4661520

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140114

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees