(57)【要約】【課題】  特別な管理装置を設けることなくネットワークに接続されたプリンタ自身で情報を収集する方法では、情報・ステータスを収集するためには、情報収集プロトコルを各デバイスに実装する必要あった。このためデバイスに実装するソフトウエアの規模や処理を増大させ、リソースの乏しいデバイスでの実装負荷やコスト増を招いていた。【解決手段】  ホストからデバイスのWebサーバーへのリクエストに対してデバイスの機器情報を返送するWebサーバー機能を有し、Webサーバーへのリクエストの際に、動作希望するプロトコルを通知する手段を有する。前記デバイスは前記ホストから前記通知手段により受け取った動作希望するプロトコルを用いて、ネットワークに接続された他のデバイスに対して検索・情報取得を行う。収集したデバイスの機器情報を前記Webサーバー機能を使って前記ホストへ通知することを特徴とする。【選択図】  図８
2010287105.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続される複数のデバイスから構成され、ホストからデバイスのWebサーバーへのリクエストに対してデバイスの機器情報を返送するWebサーバー機能を有するデバイスにおいて、
前記ホストは前記デバイスのWebサーバーへのリクエストの際に、動作希望するプロトコルを通知する手段を有し、
前記デバイスは前記ホストから前記通知手段により受け取った動作希望するプロトコルを用いて、ネットワークに接続された他のデバイスに対して検索・情報取得を行い、収集したデバイスの機器情報を前記Webサーバー機能を使って前記ホストへ通知することを特徴とするネットワークデバイス情報管理システム。
【請求項２】
前記デバイスは、プリンタ・スキャナ・ＦＡＸから選ばれた機器あるいはそれらを複合した複合機であることを特徴とする請求項１記載のネットワークデバイス情報管理システム。
【請求項３】
前記プロトコルは、ネットワークプラグアンドプレイを有するプロトコルであることを特徴とする請求項１記載のネットワークデバイス情報管理システム。
【請求項４】
前記デバイスの機器情報は、デバイスのステータス情報を含むことを特徴とする請求項１記載のネットワークデバイス情報管理システム。
【請求項５】
ネットワークに接続される複数のデバイスから構成され、ホストからデバイスのWebサーバーへのリクエストに対してデバイスの機器情報を返送するWebサーバー機能を有するデバイスにおいて、
前記ホストがデバイスのWebサーバーへのリクエストの際に、デバイスは自身が有する実動作可能な特定のプロトコルを用いて、ネットワークに接続された他のデバイスから、特定の時点に検索した接続情報を基にデバイスの機器情報取得をおこない、前記Webサーバー機能を使って前記ホストへ通知することを特徴とするネットワークデバイス情報管理システム。
【請求項６】
前記デバイスは、プリンタ・スキャナ・ＦＡＸから選ばれた機器あるいはそれらを複合した複合機（ＭＦＰ）であることを特徴とする請求項５記載のネットワークデバイス情報管理システム。
【請求項７】
前記プロトコルは、ネットワークプラグアンドプレイを有するプロトコルであることを特徴とする請求項５記載のネットワークデバイス情報管理システム。
【請求項８】
前記デバイスの機器情報は、デバイスのステータス情報を含むことを特徴とする請求項５記載のネットワークデバイス情報管理システム。
【請求項９】
前記特定の時点とは、電源を投入時を含むデバイスがネットワークに新規接続した時点またはデバイスがネットワークから離脱した時点であることを特徴とする請求項５に記載のネットワークデバイス情報管理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークデバイスの情報・ステータスをネットワークデバイス自身が実動作プロトコル（たとえば印刷プロトコル）を用いて検索・取得し通知することが出来るシステムに関する。
【背景技術】
【０００２】
近年、プリンタや家電製品を含めたネットワーク対応機器の増加に伴い、ネットワーク上のデバイス同士の為の通信プロトコル、デバイスのディスカバリの仕組み、デバイスのインストールの仕組み、印刷・スキャン等の各種サービスの仕様が標準規格化されている。また、クライアントＰＣからより汎用的にネットワーク機器を利用する為の標準通信プロトコルや、より簡単にデバイスを使用するためのサービスが規格化されている。例えば、ＷＳＤ（Ｗｅｂ  Ｓｅｒｖｉｃｅ  ｆｏｒ  Ｄｅｖｉｃｅｓ）やＵＰｎＰ（Ｕｎｉｖｅｒｓａｌ  Ｐｌｕｇ＆Ｐｌａｙ）（「ＷＳＤ」「ＵＰＮＰ」は登録商標）がある。
【０００３】
ＷＳＤは、デバイスを用いた様々なサービスの要求に答える為に定義された標準仕様である（非特許文献１）。基本的にＷｅｂサービスのアーキテクチャを使用し、標準化された通信プロトコル群、印刷サービス及びスキャンサービスを提供している。ＷＳＤはＷｅｂサービスをベースとしたデバイス同士の相互接続を可能とする為のネットワーク上の標準通信プロトコル群を用いる。デバイス用のＷｅｂサービスの構成要素として、デバイス発見（Ｄｉｓｃｏｖｅｒｙ）、デバイス情報提示（Ｄｅｓｃｒｉｐｔｉｏｎ）、デバイス制御（Ｃｏｎｔｒｏｌ）、デバイスのイベント通知（Ｅｖｅｎｔｉｎｇ）等の仕様が定められている。
【０００４】
また、ネットワーク経由で接続するデバイスに対してＭｉｃｒｏｓｏｆｔ社が提唱するＰｎＰ−Ｘ（Ｐｌｕｇ  ａｎｄ  Ｐｌａｙ  ｅＸｔｅｎｓｉｏｎｓ）を使用して、ＰｎＰ−Ｘ対応のクライアントＰＣへのデバイスドライバの簡単なインストールが可能である。従来のＰｎＰ（Ｐｌｕｇ  ａｎｄ  Ｐｌａｙ）では各デバイスとクライアントＰＣを様々なローカルのＩ／Ｏポートに直接ケーブルやコネクタで接続した際に働く機能である。ＰｎＰでは、デバイスが機種名（デバイスＩＤ）や製造者名（ベンダＩＤ）、シリアル番号等をホストＰＣに送信する。ホストＰＣはこれら受信した情報を参照して、デバイスを使用するためのデバイスドライバをクライアントに自動でインストールすることが可能である。
【０００５】
印刷サービスはPrint Service Definition V1.0 for Web Services on Devicesで定められている（非特許文献２）。
【０００６】
スキャンサービスはScan Service Definition V1.0 for Web Services on Devicesで定められている（非特許文献３）。
【０００７】
これらにより、印刷・スキャンサービスを利用するクライアントＰＣやクライアントデバイスと、印刷・スキャンサービスによる印刷・スキャンを提供する印刷・スキャナデバイスの相互接続性を提供している。
【０００８】
Ｕｐｎｐも、ＷＳＤと同様にデバイスを用いた様々なサービスの要求に答える為に定義された標準仕様である（非特許文献４）。標準化された通信プロトコル群、印刷サービス及びスキャンサービス、ＡＶ機器制御サービスなどを提供している。デバイス発見（Ｄｉｓｃｏｖｅｒｙ）、デバイス情報提示（Ｄｅｓｃｒｉｐｔｉｏｎ）、デバイス制御（Ｃｏｎｔｒｏｌ）、デバイスのイベント通知（Ｅｖｅｎｔｉｎｇ）等の仕様が定められている。
【０００９】
また、ネットワーク経由で接続するデバイスに対してＭｉｃｒｏｓｏｆｔ社が提唱するＰｎＰ−Ｘ（Ｐｌｕｇ  ａｎｄ  Ｐｌａｙ  ｅＸｔｅｎｓｉｏｎｓ）を使用して、ＰｎＰ−Ｘ対応のクライアントＰＣへのデバイスドライバの簡単なインストールが可能である。従来のＰｎＰ（Ｐｌｕｇ  ａｎｄ  Ｐｌａｙ）では各デバイスとクライアントＰＣを様々なローカルのＩ／Ｏポートに直接ケーブルやコネクタで接続した際に働く機能である。ＰｎＰでは、デバイスが機種名（デバイスＩＤ）や製造者名（ベンダＩＤ）、シリアル番号等をホストＰＣに送信する。ホストＰＣはこれら受信した情報を参照して、デバイスを使用するためのデバイスドライバをクライアントに自動でインストールすることが可能である。
【００１０】
印刷サービスはPrintEnhanced:1 , Service Print V1.0(Printer Basic:1)で定められている（非特許文献５）。
【００１１】
スキャンサービスはScan V1.0で定められている（非特許文献６）。
【００１２】
またＵｐｎｐを用いてデバイスの相互接続性を確保するためＤＬＮＡ(Digital Living Network Alliance)などの組織で互換性に関する活動が行われている。ＵｐｎｐはＰＣ以外にも多くのＡＶ機器、家電、ネットワーク機器での採用が進んでいる。
【００１３】
ＷＳＤ通信プロトコルの概要
ＷＳＤ通信プロトコルは、ＵＤＰを用いたMultiCastパケットとＴＣＰ／ＩＰを用いたUnicastパケットを使用する。MultiCastパケットはデバイスを発見するためのＤｉｓｃｏｖｅｒｙと切断を通知するByeメッセージで用いられる。Ｄｉｓｃｏｖｅｒｙにはデバイスの新規接続を示すHelloメッセージとデバイスを検索するProbe,Resolveメッセージがある。Helloメッセージを受け取ることによりネットワークの他のデバイスは新しいデバイスがネットワークに参加したことを知ることが出来る。Probe,Resolveメッセージは特定のサービスに対応したデバイスを検索するために用いられ、対応するデバイスはそれぞれのメッセージに対してレスポンスを送信する。Probe,ResolveレスポンスはUnicastパケットを用いてProbe,Resolveメッセージの送信元に送られる。Byeメッセージはデバイスがネットワークから離脱する場合に送信されるメッセージである。Byeメッセージを受け取ることによりネットワークの他のデバイスはデバイスがネットワークから離脱したことを検知することが出来る。以上のＤｉｓｃｏｖｅｒｙによりＷＳＤのデバイスがネットワークに新規に参加した場合と離脱した場合を知ることが出来る。Ｄｉｓｃｏｖｅｒｙで特定のサービスを持つデバイスが発見されると、そのデバイスの持つサービスを利用するためにさらに詳しいデバイスの情報を取得する処理を実行する。これがＤｅｓｃｒｉｐｔｉｏｎの処理でProbe,Resolveレスポンスで得た情報の中からサービスの詳細な情報にアクセスするためのアドレスを取り出す。このアドレスに対して取得（WSD-Transfer ＧＥＴ）コマンドを実行することで詳細情報（ＭｅｔａＤａｔａ）を取得する。ＭｅｔａｄａｔａはＸＭＬ（Extensible Markup Language）で記述されたデバイスの設定項目などの情報となる。Ｍｅｔａｄａｔａの中にデバイスのサービスを実行するためのコマンドを送信すためのアドレスが含まれている。各サービス（印刷・スキャン）はこのアドレスに対してそれぞれのサービスで規定されているコマンドを送信することにより実行される。ＷＳＤ印刷サービスであれば（非特許文献２）で規定されているコマンドが用いられる。ＷＳＤ印刷コマンドは、印刷データを送信するためのＳｅｎｄＤｏｃｕｍｅｎｔコマンドやプリンタのステータス情報を取得するためのＧｅｔＰｒｉｎｔｅｒＥｌｅｍｎｔｓなどがある。印刷を行うにはこれらコマンドを組み合わせて使用することで実行することが出来る。これらコマンド処理がＣｏｎｔｒｏｌとなる。またデバイスで起きたイベントをホストへ知らせるための仕組みとしてＥｖｅｎｔｉｎｇがあり、ホストは取得したいイベントに対してＳｕｂｓｃｒｉｂｅコマンドを出し、ホスト側のイベントに対するアクセス先を登録する。デバイスは登録されたイベントに対する事象が起きた場合、登録されたホストに対してイベントを通知する。コマンド・イベントのやり取りはＴＣＰ／ＩＰ上でＨＴＴＰ（Hyper Text Transport Protocol）を使用し、ＨＴＴＰ上でＳＯＡＰ(Simple Object Access Protocol)を利用する。ＳＯＡＰ上にＸＭＬで記述されたサービスのコマンドをやり取りすることで各種コマンドが実行される。Ｄｉｓｃｏｖｅｒｙで使用されるメッセージのやり取りはＵＤＰ上でＳＯＡＰを利用する。ＳＯＡＰ上にＸＭＬで記述されたメッセージをやり取りする���とでメッセージの交換が実行される。これをＳＯＡＰ−Ｏｖｅｒ−ＵＤＰ通信という。以上簡単な概略であるがＷＳＤプロトコルと印刷サービスの動作を説明した。
【００１４】
Ｕｐｎｐ通信プロトコルの概要
Ｕｐｎｐ通信プロトコルは、ＵＤＰを用いたMultiCastパケットとＴＣＰ／ＩＰを用いたUnicastパケットを使用する。MultiCastパケットはデバイスを発見するためのＤｉｓｃｏｖｅｒｙ（Ａｄｅｒｔｉｓｅ）と切断を通知するためにＳＳＤＰ(Simple Service Discovery Protocol)が用いられる。Ｄｉｓｃｏｖｅｒｙにはデバイスの新規接続を示すaliveメッセージとデバイスを検索するM-searchメッセージがある。Aliveメッセージによりネットワークの他のデバイスは新しいデバイスがネットワークに参加したことを知ることが出来る。M-searchメッセージは特定のサービスに対応したデバイスを検索するために用いられ、対応するデバイスはそれぞれに対してレスポンスを送信する。M-searchレスポンスはUnicastパケットを用いてM-searchメッセージの送信元に送られる。Byebyeメッセージはデバイスがネットワークから離脱する場合に送信されるメッセージである。Byebyeメッセージを受け取ることによりネットワークの他のデバイスはデバイスがネットワークから離脱したことを知ることが出来る。以上のＤｉｓｃｏｖｅｒｙによりＵｐｎｐのデバイスがネットワークに新規に参加した場合と離脱した場合を検知することが出来る。Ｄｉｓｃｏｖｅｒｙで特定のサービスを持つデバイスが発見されると、そのデバイスの持つサービスを利用するためにさらに詳しいデバイスの情報を取得する処理を実行する。これがＤｅｓｃｒｉｐｔｉｏｎの処理でM-searchレスポンスかＳＳＤＰで得た情報の中から詳細な情報にアクセスするためのアドレスを取り出す。このアドレスに対して取得（ＨＴＴＰ  ＧＥＴ）コマンドを実行することで詳細情報（Ｄｅｖｉｃｅ  Ｄｅｓｃｒｉｐｔｉｏｎ）を取得する。Ｄｅｖｉｃｅ  ＤｅｓｃｒｉｐｔｉｏｎはＸＭＬで記述されたデバイスの設定項目などの情報となる。Ｄｅｖｉｃｅ  Ｄｅｓｃｒｉｐｔｉｏｎの中にデバイスのサービスを実行するためのコマンドを送信するためのアドレスが含まれている。各サービス（印刷・スキャン・ＡＶ機器制御）はこのアドレスに対してそれぞれのサービスで規定されているコマンドを送信することにより実行される。Ｕｐｎｐ印刷サービスであれば（非特許文献５）で規定されているコマンドが用いられる。Ｕｐｎｐ印刷コマンドは、印刷データを送信するためのＨＴＴＰ  ＰＯＳＴコマンドやプリンタのステータス情報を取得するためのＧｅｔＰｒｉｎｔｅｒＡｔｔｒｉｂｕｔｅｓなどがある。印刷を行うにはこれらコマンドを組み合わせて使用することで実行することが出来る。これらコマンド処理がＣｏｎｔｒｏｌとなる。またデバイスで起きたイベントをホストへ知らせるための仕組みとしてＥｖｅｎｔｉｎｇがあり、ホストは取得したいイベントに対してＳｕｂｓｃｒｉｂｅコマンドを出し、ホスト側のイベントに対するアクセス先を登録する。デバイスは登録されたイベントに対する事象が起きた場合、登録されたホストに対してイベントを通知する。コマンド・イベントのやり取りはＴＣＰ／ＩＰ上でＨＴＴＰを使用し、ＨＴＴＰ上でＳＯＡＰを利用する。ＳＯＡＰ上にＸＭＬで記述されたサービスのコマンドをやり取りすることで各種コマンドが実行される。ＵｐｎｐとＷＳＤでの違いはＵｐｎｐでは定期的にＳＳＤＰを使いデバイスの状態を通知する機能がある。Ｕｐｎｐではこの��ＳＤＰのメッセージを受け取ることで最新のデバイスの接続状態を知ることが出来る。以上簡単な概略であるがＵｐｎｐプロトコルと印刷サービスの動作を説明した。
【先行技術文献】
【特許文献】
【００１５】
【特許文献１】特開２０００−７１５７６号公報
【特許文献２】特開２００４−５３９４号公報
【非特許文献】
【００１６】
【非特許文献１】Device Profile for Web Services, Feb 2006( http://specs.xmlsoap.org/ws/2006/02/devprof/ )
【非特許文献２】Print Service Definition V1.0 for Web Services on Devices
【非特許文献３】Scan Service Definition V1.0 for Web Services on Devices(http://www.microsoft.com/japan/whdc/connect/rally/wsdspecs.mspx)
【非特許文献４】UPnP(tm) Device Architecture (http://www.upnp.org/specs/arch/UPnP-arch-DeviceArchitecture-v1.0-20080424.pdf)
【非特許文献５】PrintEnhanced:1, Printer Basic:1  (http://www.upnp.org/standardizeddcps/documents/Service_PrintEnhanced_v1_050504_000.pdf)(http://www.upnp.org/standardizeddcps/documents/Service_print_v1_020808.pdf)
【非特許文献６】Scanner V1.0(http://www.upnp.org/standardizeddcps/documents/Scan1.0.pdf)
【発明の概要】
【発明が解決しようとする課題】
【００１７】
［特許文献１］に記載されたシステムにおいては、ネットワークに接続されている機器の情報を取得・管理するためには管理するための装置（プリントサーバーなど）を設けているため、特別な装置と管理装置に準備されたソフトウエアを用いる必要があった。一般的に多くの異なるプロトコルを持つようなプリンタを管理するには、それなりに規模の大きなソフトウエアを準備する必要とそれらを扱うためのユーザーのスキルやリソースを必要としていた。
【００１８】
特別な管理装置を設けることなくネットワークに接続されたプリンタ自身で情報を収集して情報を送信するシステムが［特許文献２］に開示されている。
【００１９】
しかし情報・ステータスを収集するためには、情報収集プロトコルを各デバイス（プリンタ）に実装する必要あった。このためデバイス（プリンタ）に実装するソフトウエアの規模や処理を増大させ、リソースの乏しいデバイス（プリンタ）での実装負荷やコスト増を招いていた。
【００２０】
また情報収集プロトコルは実動作プロトコル（印刷プロトコル）とは異なっている為、情報収集したデバイス（プリンタ）が実動作に使えるものであるかどうかは、ユーザーの判断に任されていた。このためユーザーは自分が実際に動作させることができるデバイス情報を簡単かつ的確に得ることは難しかった。
【００２１】
本発明はこのような状況に鑑みてなされたものであり、以下の技術を提供することを目的とする。ホストからリクエストされたデバイス（プリンタ）が、ホストの指定する実動作プロトコル（印刷プロトコル）を用いてプリンタ探索メッセージ・情報取得メッセージを発行する。これにより対応する他のデバイス（プリンタ）の情報を取得し、対応する他のデバイス（プリンタ）の情報も含めてホストに返答する。以上の技術を提供することを目的とする。
【課題を解決するための手段】
【００２２】
上記課題を解決するために、本発明は、デバイス自身が実動作プロトコル（印刷プロトコル）を用いて他の対応するデバイスを検索し情報を取得するネットワークデバイス情報管理システムであり、以下を特徴とする。
【００２３】
ネットワークに接続される複数のデバイスから構成され、ホストからデバイスのWebサーバーへのリクエストに対してデバイスの機器情報を返送するWebサーバー機能を有する。前記ホストは前記デバイスのWebサーバーへのリクエストの際に、動作希望するプロトコルを通知する手段を有する。前記デバイスは前記ホストから前記通知手段により受け取った動作希望するプロトコルを用いて、ネットワークに接続された他のデバイスに対して検索・情報取得を行う。収集したデバイスの機器情報を前記Webサーバー機能を使って前記ホストへ通知することを特徴とする。
【００２４】
前記デバイスは、プリンタ・スキャナ・ＦＡＸなどの機器あるいはそれらを複合した複合機（ＭＦＰ）であることを特徴とする。
【００２５】
前記プロトコルは、ＷＳＤ、ＵｐｎｐなどのネットワークＰＮＰ（Ｐｌｕｇ＆Ｐｌａｙ）を有するプロトコルであることを特徴とする。
【００２６】
前記デバイスの機器情報は、デバイスのステータス情報を含むことを特徴とする。
【００２７】
ネットワークに接続される複数のデバイスから構成され、ホストからデバイスのWebサーバーへのリクエストに対してデバイスの機器情報を返送するWebサーバー機能を有する。前記ホストがデバイスのWebサーバーへのリクエストの際に、デバイスは自身が有する実動作可能な特定のプロトコルを用いる。ネットワークに接続された他のデバイスから、特定の時点に検索した接続情報を基にデバイスの機器情報取得をおこない、前記Webサーバー機能を使って前記ホストへ通知することを特徴とする。
【発明の効果】
【００２８】
以上の構成により、本発明によれば、
特別に管理装置を設ける必要がないので、廉価な機器として提供することが可能となる。
【００２９】
実動作プロトコルを用いて、情報・ステータスの収集を行うため、デバイス（プリンタ）に実装するソフトウエアの規模や処理を増大させることを防ぎ、リソースの乏しいデバイス（プリンタ）での実装負荷やコスト増を回避することが可能となる。
【００３０】
実動作プロトコルを実装していれば既存のデバイス（プリンタ）の情報・ステータスを取得することが出来るため、過去の機種にも適用することが可能となる。
【００３１】
実動作プロトコル（プリントプロトコル）を用いて、情報・ステータス収集を行う為、ユーザーは自分が実際に動作させることができるデバイス情報を簡単かつ的確に得ることが可能となる。
【図面の簡単な説明】
【００３２】
【図１】実施例1のネットワークシステムの構成概略を示すブロック図である。
【図２】実施例1のプリンタ内部の構成概略を示すブロック図ある。
【図３】実施例1のプリンタ内部のソフトウエア構成概略を示すブロック図ある。
【図４】実施例1のＰＣのＷｅｂブラウザからプリンタのＷｅｂサーバーへのステータス情報取得のためのＨＴＴＰリクエストとそのレスポンスを示すブロック図ある。
【図５】実施例1のプリンタでＰＣからＨＴＴＰリクエストに対応する処理を示すフローチャート図である。
【図６】実施例1のプリンタでＰＣからＨＴＴＰリクエストに対応する処理のＷＳＤでの情報取得処理を示すフローチャート図である。
【図７】実施例1のプリンタでＰＣからＨＴＴＰリクエストに対応する処理のＵｐｎｐでの情報取得処理を示すフローチャート図である。
【図８】実施例1のプリンタ１から他のプリンタに対するＷＳＤでの情報取得処理を示すシーケンス図である。
【図９】実施例1のプリンタ１から他のプリンタに対するＵｐｎｐでの情報取得処理を示すシーケンス図である。
【図１０】実施例1のＰＣでのＷＳＤプリンタのステータスを示した図。
【図１１】実施例1のＰＣでのＵｐｎｐプリンタのステータスを示した図。
【図１２】実施例のプリンタリストの構成を示した図。
【図１３】実施例２のプリンタ１から他のプリンタに対するＷＳＤでの情報取得処理を示すシーケンス図である。
【図１４】実施例２のプリンタ１から他のプリンタに対するＵｐｎｐでの情報取得処理を示すシーケンス図である。
【図１５】実施例２のプリンタ電源ＯＮ時の処理を示すフローチャート図である。
【図１６】実施例２のプリンタ１でのＷＳＤ  Hello、Ｕｐｎｐ aliveのデータを受けた時の処理を示すフローチャート図である。
【図１７】実施例２のプリンタ１でのＷＳＤ  Bye、Ｕｐｎｐ byebyeのデータを受けた時の処理を示すフローチャート図である。
【発明を実施するための形態】
【００３３】
以下、添付図面を参照して、本発明の実施形態を説明する。また、以下の各実施形態では、デバイスの一例としてプリンタを用いた説明を行う。本発明は、WSD、Ｕｐｎｐ標準仕様に準拠した印刷・スキャナなどのデバイスにとって特に有効である。また、以下の各実施形態において、（デバイスプリンタ）は、通信ネットワークにおいてWSD、Ｕｐｎｐを具備した情報処理装置（例えば、Window Vista  PC）に接続されている。この情報処理装置からWSD、Ｕｐｎｐのコマンドを受信するものとする。
【実施例１】
【００３４】
図１は、本発明の一実施形態でネットワーク接続形態を示した図である。ネットワーク12には２台のＰＣ（ＰＣ１  1、ＰＣ２  2）と３台のプリンタ（プリンタ１  3、プリンタ２  4、プリンタ３  5）が接続され、ネットワークを介して相互にデータの交換を行っている。ＰＣにはプリンタのＷｅｂサーバー9に保持されたデータを表示・操作するためのＷｅｂブラウザ6と特定のプロトコルを用いて印刷を実行するための印刷クライアント（ＷＳＤ印刷クライアント7、Ｕｐｎｐ印刷クライアント8）を持つ。ＰＣを使うユーザーは各印刷クライアントを使い印刷を行うことが出来る。ＰＣ１ではＷＳＤ印刷クライアントを用いてＷＳＤプロトコルでの印刷を行うことが出来る。ＰＣ２ではＵｐｎｐ印刷クライアントを用いてＵｐｎｐプロトコルでの印刷を行うことが出来る。プリンタにはプリンタの状態・設定をＰＣのＷｅｂブラウザ6から行うためにＷｅｂサーバー9を持つ。Ｗｅｂサーバー9はＨＴＭＬ（Hyper Text Markup Language）を用いてプリンタの状態・設定を行える記述をＷｅｂブラウザ6の要求に従って送信する。またプリンタにはそれぞれのプリンタが対応する印刷サービス（ＷＳＤ印刷サービス10、Ｕｐｎｐ印刷サービス11など）を持ち、各印刷リクエストに対応して印刷を実行する。さらにプリンタ１には、他のプリンタの検索・情報取得を行えるようにするために、印刷クライアント（ＷＳＤ印刷クライアント7、Ｕｐｎｐ印刷クライアント8）を持つ。説明を分かりやすくするためにプリンタ２、３はそれぞれが対応する印刷サービスを持っているが、印刷クライアントは持っていないものとしている。全てのプリンタが印刷クライアントを持つ構成にすることも可能である。プリンタ２にはＷＳＤ印刷サービス、プリンタ３にはＵｐｎｐ印刷サービスを持つ。
【００３５】
図２は、プリンタ内部の構成を示した図である。ＣＰＵ20は、基本制御などのプログラムが書き込まれたＲＯＭ25に従って装置全体の制御を行う。またＲＡＭ21は、ＲＯＭ25から読み出されたプログラムを実行する時のワークエリア、データ送受信時のバッファ、そして読み取りデバイス27で生成した画像データの一時バッファに用いられる。Ethernet（登録商標）コントローラ24に、IEEE802.3によって規定されたEthernet（登録商標）（通称）によって接続された有線ＬＡＮネットワーク12を介して、クライアントＰＣから印刷・スキャンを実行するためのコマンドの送受信が行われる。また、スキャナからクライアントＰＣへ画像データが送信される。Ethernet（登録商標）コントローラ24は、有線ＬＡＮ通信に対応する為のイーサネット（登録商標）ケーブル用のコネクタとインターフェース制御を司るコントローラで構成されている。Ethernet（登録商標）ケーブルをコネクタに接続して通信を行う。無線ＬＡＮ対応ＰＣカードと無線コントローラを追加することでIEEE802.11a/b/gによって規定された無線ＬＡＮネットワークを使用しても良い。無線ＬＡＮに対応する場合は、無線ＬＡＮ通信に対応する為のＰＣカードを接続する為のＰＣカード・インターフェースで構成される。本発明の一実施例では通信プロトコルとして、印刷・スキャンサービスであるWSD、Ｕｐｎｐプロトコルに対応した印刷・スキャナを提供する。ＷＳＤで使用される通信プロトコル方式、並びに印刷・スキャンに関する要求形態と応答形態は標準規格として定められている。
【００３６】
ＲＯＭ25には、標準プロトコルであるＷＳＤ通信プロトコル・印刷サービス（ＷＳＤ印刷サービス10）に従って、プリントエンジン26を使い印刷を実行させる為のプログラムが書き込まれている。またＲＯＭ25には、標準プロトコルであるＵｐｎｐ通信プロトコル・印刷サービス（Ｕｐｎｐ印刷サービス11）に従って、プリントエンジン26を使い印刷を実行させる為のプログラムが書き込まれている。他のプリンタの検索・情報取得を行えるようにするために、印刷クライアント（ＷＳＤ印刷クライアント7、Ｕｐｎｐ印刷クライアント8）を持つ。プリンタ１が持つ印刷クライアントは、デバイスの検索・情報取得に使われるが、印刷までを行う必要性はない。このためＰＣ内に存在する印刷クライアントに比較して小規模なソフトウエアで構成することが出来る。プリンタ２、３はそれぞれが対応する印刷サービスを含んでいる。印刷クライアントを持たない構成も可能であり、その場合には他のプリンタの検索を行うことは出来なくなる。表示部23は、様々な情報をユーザーに通知する又は表示するためのものであり、ＬＣＤやＬＥＤ等から構成される。ユーザーに通知する又は表示する情報には、例えばスキャナの状態（印刷・スキャニング状態、アイドル状態など）や、操作部22の操作に連動した画面などがある。プリントエンジン26は印刷を行うためのモジュールで印刷のコントローラと印刷機構から構成される。スキャンエンジン27はスキャンを行うためのモジュールでスキャンのコントローラとスキャナー機構から構成される。
【００３７】
図３は、図２で示した本発明の一実施形態を示すネットワーク対応プリンタのＲＯＭ25に記憶されたプログラムのネットワーク印刷処理に関係するモジュール構成を示した図である。プログラムはアプリケーション層30、ミドルウェア層31、オペレーティングシステム32に分類される。最初にオペレーティングシステム32が起動されミドルウェア層31が呼ばれる。装置の起動状態に応じて、必要なモジュールを順番に起動する。ミドルウェア層31はオペレーティングシステム32とアプリケーション層30のモジュール群の間に介在して通信制御を行う。ミドルウェア32のＬＡＮドライバ45、ＴＣＰ／ＩＰモジュール43、ＵＤＰモジュール44は、Ethernet（登録商標）コントローラ24を制御してＴＣＰ／ＩＰ、ＵＤＰ経由の通信を行う。ＨＴＴＰ（Hyper Text Transport Protocol）プロトコル関係の処理を行うＨＴＴＰモジュール42を含む。ＨＴＴＰはＴＣＰ／ＩＰ上でデータの送信・受信を行うプロトコルである。アプリケーション層30には、Ｗｅｂサーバーを動作させるＷｅｂサーバー41、ＷＳＤ関係モジュールとＵｐｎｐ関係モジュールとプリンタエンジンを制御して印刷を実行する印刷処理34とステータス関連の処理を行うステータス処理33からなる。ＷＳＤ関係モジュールはＷＳＤモジュール37、ＷＳＤ印刷クライアント35、ＷＳＤ印刷サービス36からなる。Ｕｐｎｐ関係モジュールはＵｐｎｐモジュール40、Ｕｐｎｐ印刷クライアント38、Ｕｐｎｐ印刷サービス39からなる。図示していないがＸＭＬ（Extensible Markup Language）解析するモジュールも含まれる。一般的に印刷・スキャナーのＩＰアドレス等を含むネットワークの設定は、操作部22からだけではなく、ネットワーク経由でクライアントＰＣのＷｅｂブラウザを起動して、プリンタへアクセスすることで実行することができる。ＨＴＴＰモジュール42は、設定用のＷｅｂサーバーとしての管理と、ＷＳＤ・Ｕｐｎｐで規定されたＨＴＴＰ通信の両方の目的で使用する。ＷＳＤ・ＵｐｎｐではＨＴＴＰ上にＳＯＡＰ(Simple Object Access Protocol)を用いてＸＭＬで記述されたコマンド・情報を相互にやり取りすることで各種サービスを実行することが出来る。ＸＭＬ解析モジュールはＷＳＤ・Ｕｐｎｐの通信で使用され、ＷＳＤのＳＯＡＰ−Ｏｖｅｒ−ＵＤＰ通信などの受信データの解析やＨＴＴＰで送受信されるＳＯＡＰの解析などに使用する。ＳＯＡＰ−Ｏｖｅｒ−ＵＤＰ通信はＵＤＰにＳＯＡＰでＸＭＬを転送する通信である。
【００３８】
図４はＰＣとプリンタとの間で情報・ステータスのやり取りを行うデータの流れを示した図である。ＰＣ1のWebブラウザ6からプリンタに対して情報ページへのアクセスするためのＨＴＴＰプロトコルによるリクエスト50が出される。このＨＴＴＰリクエストはステータス処理33に通知されステータス情報を作成する処理を実行する。出来上がった情報ページのデータ51をＰＣ１のWebブラウザ6へ送る。Webブラウザ6では図１０、１１に示したステータス情報をＰＣの表示画面上に表示する。
【００３９】
図５は図４に示したＨＴＴＰリクエストに対応して行われるＨＴＴＰリクエスト処理の詳細なフローチャートである。まずステップS500でＷｅｂサーバーに指定されてくる情報ページのURI(Uniform Resource Identifier)を判定する。本実施例では印刷サービスにＷＳＤとＵｐｎｐの２種類を準備しており、URIはそれぞれのサービスに固有なアドレスが定義されている。ステップS500ではリクエストに指定されているアドレスを基にＷＳＤとＵｐｎｐでのリクエストを判別する。次にステップS501でＷＳＤでのリクエストかどうかを判断し、ＷＳＤであればステップS502へ進み、ＷＳＤステータス取得処理S502を実施する。ＷＳＤステータス取得処理はＷＳＤプロトコルを用いて他のプリンタのステータスを取得する処理で、図６で詳細に説明する。次にステップS503へ進む。ステップS501でＷＳＤでないと判定された場合ステップS506へ進み、Ｕｐｎｐでのリクエストかどうかを判断し、ＵｐｎｐであればステップS507へ進み、Ｕｐｎｐステータス取得処理S507を実施する。Ｕｐｎｐステータス取得処理S507はＵｐｎｐプロトコルを用いて他のプリンタのステータスを取得する処理で、図７で詳細に説明する。次にステップS503へ進む。ステップS502かステップS507でステータス処理を実行する。その後、ステップS503でＷＳＤステータス取得処理S502で取得したステータスかＵｐｎｐステータス取得処理S507で取得したステータスをＷｅｂサーバーで送信するためのＨＴＭＬデータを作成する。ここで作成されるデータは自分以外の他のプリンタの情報である。図１０  102,103、図１１  112,113で表示されるデータに相当する。次にステップS504へ進み、自プリンタの情報のＨＴＭＬデータを作成する。図１０  101、図１１  111で表示されるデータに相当する。ステップS506でＵｐｎｐでないと判断さえれた場合もステップS504へ進み、自プリンタの情報のＨＴＭＬデータを作成する。次にステップS506へ進み、出来たプリンタの情報・ステータスデータをリクエスト元にのＰＣに送信する。図４の情報ページのデータ51に相当する。
【００４０】
図６はＷＳＤステータス取得処理S502の詳細なフローチャートでＷＳＤプロトコルを用いてＷＳＤ印刷サービスに対応するプリンタからステータス情報を取得する処理となる。まずステップS600でプリンタ１はＰｒｏｂｅリクエストをマルチキャストで送信する。ＰｒｏｂｅリクエストはネットワークにあるＷＳＤ印刷サービスに対応するデバイスを検索するために送信され、このリクエストを受け取ったＷＳＤ印刷サービスに対応するデバイスはＰｒｏｂｅＭａｔｃｈレスポンスを返送する。次にステップS601へ進み、他のＷＳＤ印刷サービス対応プリンタからのＰｒｏｂｅＭａｃｔｈレスポンスの受信を行う。ＰｒｏｂｅＭａｃｔｈレスポンスは複数のプリンタから送られてくる可能性があるため、ある程度の時間ＰｒｏｂｅＭａｃｔｈレスポンスの受信を許可する。S600,S601の処理は複数回実行することで発見されないデバイスを減らすことが出来る。次にステップS602へ進み、ＰｒｏｂｅＭａｃｔｈレスポンスを返してきたプリンタに対してプリンタの持つサービスの内容を記述したＭｅｔａｄａｔａの取得を行う。ステップS601のＰｒｏｂｅＭａｃｔｈレスポンスの中にＭｅｔａｄａｔａを取得するためのendpointを示すアドレスが記載されている。このアドレスに対して取得（WSD-Transfer ＧＥＴ）を実行することでＭｅｔａｄａｔａの取得が出来る。WSD-TransferはＷＳＤプロトコルでデータの転送を行うもので、ＧＥＴではデータの取得を行うことが出来る。ステップS602ではＰｒｏｂｅＭａｃｔｈレスポンスを戻してきた全てのプリンタに対して、Ｍｅｔａｄａｔａの取得処理を行う。次にステップS603へ進み、ステップS602で得られたＭｅｔａｄａｔａから図１２に示したプリンタのリストを作成する。見つかったプリンタの数をprinter_counter120に設定し、Ｍｅｔａｄａｔａに含まれるサービスにアクセスするためのendpointアドレスをservice_endpoint_adderss121に設定する。同様に見つかったプリンタ分だけ図１２のリストを追加していく。ステップS600〜S602までの処理はWS-discoveryと呼ばれ、ＷＳＤに対応するデバイスを発見する処理となる。次にステップS604へ進み、ステップS603で作成したプリンタのリストを基にステータスを取得する処理となり、リストに登録したプリンタ全てを処理したかを判断する。全てのプリンタに対して処理が終わると終了となる。全てのプリンタに対して処理が終わっていなければ、ステップS605へ進み、ＷＳＤ印刷に対応したプリンタのステータス情報を取得するＷＳＤ印刷サービスのコマンドＧｅｔＰｒｉｎｔｅｒＥｌｅｍｅｎｔｓを送信する。このコマンドの送信先は、ステップS603でＭｅｔａｄａｔａから作成したプリンタのリストに登録された図１２  service_endpoint_adderss121,123になる。ＧｅｔＰｒｉｎｔｅｒＥｌｅｍｅｎｔｓコマンドには取得したい情報を指定することで行うことが出来、ステータス情報たとえばインク情報、エラー情報などを指定することが出来る。次にステップS606へ進み、プリンタからのＧｅｔＰｒｉｎｔｅｒＥｌｅｍｅｎｔｓレスポンスを受信する。ＧｅｔＰｒｉｎｔｅｒＥｌｅｍｅｎｔｓレスポンスに指定したステータス情報が含まれる。次にステップS607へ進み、ステップS606で得られたステータス情報を図１２のstatus_data122,124に保存する。プリンタのリストにステータス情報を追��して、プリンタのリストが完成する。次にステップS604へ戻り、同様の処理を全ての見つかったプリンタに対して繰り返し行い、プリンタ情報リストを完成させることが出来る。
【００４１】
図７はＵｐｎｐステータス取得処理S507の詳細なフローチャートであり、Ｕｐｎｐプロトコルを用いてＵｐｎｐ印刷サービスに対応するプリンタからステータス情報を取得する処理となる。まずステップS700でプリンタ１はＭ−ｓｅａｒｃｈリクエストをマルチキャストで送信する。Ｍ−ｓｅａｒｃｈリクエストはネットワークにあるＵｐｎｐ印刷サービスに対応するデバイスを検索するために送信され、このリクエストを受け取ったＵｐｎｐ印刷サービスに対応するデバイスはＭ−ｓｅａｒｃｈレスポンスを返送する。次にステップS701へ進み、他のＵｐｎｐ印刷サービス対応プリンタからのＭ−ｓｅａｒｃｈレスポンスの受信を行う。Ｍ−ｓｅａｒｃｈレスポンスは複数のプリンタから送られてくる可能性があるため、ある程度の時間Ｍ−ｓｅａｒｃｈレスポンスの受信を許可する。S700,S701の処理は複数回実行することで発見されないデバイスを減らすことが出来る。次にステップS702へ進み、Ｍ−ｓｅａｒｃｈレスポンスを返してきたプリンタに対してプリンタの持つサービスの内容を記述したＤｅｖｉｃｅＤｅｓｃｒｉｐｔｉｏｎの取得を行う。ステップS701のＭ−ｓｅａｒｃｈレスポンスの中にＤｅｖｉｃｅＤｅｓｃｒｉｐｔｉｏｎを取得するためのendpointを示すアドレスが記載されている。このアドレスに対して取得（ＨＴＴＰ  ＧＥＴメソッド）を実行することでＤｅｖｉｃｅＤｅｓｃｒｉｐｔｉｏｎの取得が出来る。ステップS702ではＭ−ｓｅａｒｃｈレスポンスを戻してきた全てのプリンタに対して、ＤｅｖｉｃｅＤｅｓｃｒｉｐｔｉｏｎの取得処理を行う。次にステップS703へ進み、ステップS702で得られたＤｅｖｉｃｅＤｅｓｃｒｉｐｔｉｏｎから図１２に示したプリンタのリストを作成する。見つかったプリンタの数をprinter_counter120に追加し、ＤｅｖｉｃｅＤｅｓｃｒｉｐｔｉｏｎに含まれるサービスにコントロールするためのendpointアドレスをservice_endpoint_adderss121に設定する。同様に見つかったプリンタ分だけ図１２のリストを追加していく。ステップS700〜S702までの処理はＵｐｎｐのDiscoveryと呼ばれ、Ｕｐｎｐに対応するデバイスを発見する処理となる。次にステップS704へ進み、ステップS703で作成したプリンタのリストを基にステータスを取得する処理となり、リストに登録したプリンタ全てを処理したかを判断する。全てのプリンタに対して処理が終わると終了となる。全てのプリンタに対して処理が終わっていなければ、ステップS705へ進む。Ｕｐｎｐ印刷に対応したプリンタのステータス情報を取得するＵｐｎｐ印刷サービスのコマンドＧｅｔＰｒｉｎｔｅｒＡｔｔｒｉｂｕｔｅｓあるいはＧｅｔＰｒｉｎｔｅｒＡｔｔｒｉｂｕｔｅｓＶ２を送信する。このコマンドの送信先は、ステップS703でＤｅｖｉｃｅＤｅｓｃｒｉｐｔｉｏｎから作成したプリンタのリストに登録された図１２  service_endpoint_adderss121,123になる。ＧｅｔＰｒｉｎｔｅｒＡｔｔｒｉｂｕｔｅｓコマンドは、ステータス情報たとえばインク情報、エラー情報などを得ることが出来る。次にステップS706へ進み、プリンタからのＧｅｔＰｒｉｎｔｅｒＡｔｔｒｉｂｕｔｅｓレスポンスを受信する。ＧｅｔＰｒｉｎｔｅｒＡｔｔｒｉｂｕｔｅｓレスポンスにステータス情報が含まれる。次にステップS707へ進み、ステップS706で得られたステータス情報を���１２のstatus_data122,124に保存する。プリンタのリストにステータス情報を追加して、プリンタのリストが完成する。次にステップS704へ戻り、同様の処理を全ての見つかったプリンタに対して繰り返し行い、プリンタ情報リストを完成させることが出来る。
【００４２】
図８は図６のＷＳＤステータス取得処理をリクエストとレスポンスの流れをシーケンスとして示した図となる。図８では理解のためプリンタ４  60を追加しておりプリンタ４はＷＳＤ、Ｕｐｎｐ印刷サービスに対応している。プリンタ１からＰｒｏｂｅリクエストをマルチキャストで送信する61。マルチキャスト送信されるためプリンタ２〜４までの全てのプリンタに送信される。プリンタ２、４はＷＳＤ印刷サービスに対応しているので、Ｐｒｏｂｅリクエストに対する応答ＰｒｏｂｅＭａｔｃｈをプリンタ１へ送信する62,63。プリンタ３はＷＳＤ印刷サービスには対応指定していないのでＰｒｏｂｅリクエストに対する応答は行われない。ＰｒｏｂｅＭａｔｃｈが戻されたプリンタ２に対してＭｅｔａｄａｔａ取得のためのWSD-Transfer ＧＥＴリクエスト64が送信される。プリンタ２からＭｅｔａｄａｔａがプリンタ１に返送される65。同様にプリンタ４に対するＭｅｔａｄａｔａの取得が行われる66,67。ステータス情報を取得するためにプリンタ２にＧｅｔＰｒｉｎｔｅｒＥｌｅｍｅｎｔｓコマンドを送信する68。プリンタ２からＧｅｔＰｒｉｎｔｅｒＥｌｅｍｅｎｔｓのレスポンスがプリンタ１に送信される69。同様にプリンタ４に対するＧｅｔＰｒｉｎｔｅｒＥｌｅｍｅｎｔｓの取得が行われる70,71。
【００４３】
図９は図７のＵｐｎｐステータス取得処理をリクエストとレスポンスの流れをシーケンスとして示した図となる。図９では理解のためプリンタ４  60を追加しておりプリンタ４はＷＳＤ、Ｕｐｎｐ印刷サービスに対応している。プリンタ１からＭ−ｓｅａｒｃｈリクエストをマルチキャストで送信する80。マルチキャスト送信されるためプリンタ２〜４までの全てのプリンタに送信される。プリンタ３、４はＵｐｎｐ印刷サービスに対応しているので、Ｍ−ｓｅａｒｃｈリクエストに対する応答レスポンスをプリンタ１へ送信する81,82。Ｍ−ｓｅａｒｃｈに対するレスポンスはＳＳＤＰ（Simple Service Discovery Protocol）で行われる。プリンタ２はＵｐｎｐ印刷サービスには対応指定していないのでＭ−ｓｅａｒｃｈリクエストに対する応答は行われない。Ｍ−ｓｅａｒｃｈレスポンスが戻されたプリンタ３に対してＤｅｖｉｃｅＤｅｓｃｒｉｐｔｉｏｎ取得のためのＨＴＴＰ  ＧＥＴリクエスト85が送信される。プリンタ３からＤｅｖｉｃｅＤｅｓｃｒｉｐｔｉｏｎがプリンタ１に返送される86。同様にプリンタ４に対するＤｅｖｉｃｅＤｅｓｃｒｉｐｔｉｏｎの取得が行われる85,86。ステータス情報を取得するためにプリンタ２にＧｅｔＰｒｉｎｔｅｒＡｔｔｒｉｂｕｔｅｓコマンドを送信する87。プリンタ３からＧｅｔＰｒｉｎｔｅｒＡｔｔｒｉｂｕｔｅｓのレスポンスがプリンタ１に送信される88。同様にプリンタ４に対するＧｅｔＰｒｉｎｔｅｒＡｔｔｒｉｂｕｔｅｓの取得が行われる89,90。
【００４４】
図１０はプリンタのＷｅｂサーバーから返送されたステータス情報をＰＣのＷｅｂブラウザで表示した表示例を示している。図１０は図６、８のＷＳＤ印刷サービスからステータス情報を取得した場合の例であり、プリンタ１、２、４のステータスが表示される101,102,103。
【００４５】
図１１はプリンタのＷｅｂサーバーから返送されたステータス情報をＰＣのＷｅｂブラウザで表示した表示例を示している。図１１は図７、９のＵｐｎｐ印刷サービスからステータス情報を取得した場合の例であり、プリンタ１、３、４のステータスが表示される111,112,113。
【００４６】
図１２は検索したプリンタの情報を管理・保存するためのデータ領域の詳細を示した図である。プリンタの総数を管理するprinter_count120と１つのプリンタに関する情報を保持する領域からなる。プリンタに関する情報はサービスアクセスするためのアドレスservice_endpoint_adderss121と各プリンタのステータス情報を保持するstatus_data122との組み合わせで管理される。この組み合わせがプリンタの総数分用意されることになる。図１２では２つ分の領域が図示され121,122と123,124の組み合わせとなる。必要となる分だけの領域を追加することが出来る。
【００４７】
以上の説明によりＷＳＤではＰＣ１からプリンタ１に対するステータス情報の取得処理が行われる。ＰＣ１のＷｅｂブラウザからプリンタ１のＷｅｂサーバーへのリクエストが送られる（図４）。プリンタ１はＰＣ１がＷＳＤ印刷サービスを利用していることを判断しＷＳＤ印刷サービスに対応したプリンタのステータス情報を取得しＰＣ１へ返送する（図５、６、８）。ＰＣ１はプリンタ１から返送されたステータス情報をＷｅｂブラウザ画面で表示する（図１０）。
【００４８】
ＵｐｎｐではＰＣ１のＷｅｂブラウザからプリンタ１のＷｅｂサーバーへのリクエストが送られる（図４）。プリンタ１はＰＣ１がＵｐｎｐ印刷サービスを利用していることを判断しＵｐｎｐ印刷サービスに対応したプリンタのステータス情報を取得しＰＣ１へ返送する（図５、７、９）。ＰＣ１はプリンタ１から返送されたステータス情報をＷｅｂブラウザ画面で表示する（図１１）。
【００４９】
ＰＣが対応する印刷サービスに一致するネットワーク上にある全てのプリンタのステータスを１度に表示することが出来る。
【００５０】
ユーザーはこの結果を表示画面で見ることが出来、１度に自分が印刷できるプリンタのステータスを確認することが出来る。この中から所望するプリンタを選んで印刷を実行することの手助けになる。
【実施例２】
【００５１】
実施例１では、ＰＣからプリンタに対してステータスの取得をリクエストするＷｅｂブラウザからのＨＴＴＰリクエストがＷｅｂサーバーに受け取られた後に、検索・ステータス情報の取得を行っていた。実施例２ではプリンタの検索はネットワークにおけるＰＮＰ（Ｐｌｕｇ＆Ｐｌａｙ）が行われる時点、すなわちプリンタがネットワークに接続された時点とプリンタがネットワークから離脱した時点に行われるようにしたものである。以下詳細に説明する。
【００５２】
図１３は、図５のＷＳＤステータス処理S502を示したフローチャートで実施例１の図６に相当する。ステップS801ですでに作成されているＷＳＤプリンタリスト用いる。リストの作成処理は図１６で説明する。ステップS802〜S805は図６のステップS604〜S607と同様の処理であり、説明は省略する。
【００５３】
図１４は、図５のＵｐｎｐステータス処理S507を示したフローチャートで実施例１の図７に相当する。ステップS901ですでに作成されているＵｐｎｐプリンタリスト用いる。リストの作成処理は図１６で説明する。ステップS902〜S905は図７のステップS704〜S707と同様の処理であり、説明は省略する。
【００５４】
図１５はプリンタ１の電源が入れられた後の処理を示しており、実施例２に関連する処理のみを記載している。プリンタは電源が入れられた後、ＷＳＤプリンタの検索処理とＵｐｎｐプリンタの検索処理を行い、それぞれのプリンタリストを作成する。ステップS1001〜S1004でＷＳＤプリンタのリスト作成を行う。処理としては図６のステップS600〜S603の処理と同様であり、説明は省略する。ステップS1005〜S1008でＵｐｎｐプリンタのリスト作成を行う。処理としては図７のステップS700〜S703の処理と同様であり、説明は省略する。図１５に示した処理でプリンタは電源が入れられた時点でネットワークに接続された他のプリンタのリストを作成を完了していることになる。
【００５５】
図１６はネットワークに新規にプリンタが追加された場合のプリンタリストを管理しているプリンタ１内の処理を示している。ＷＳＤであれば新規プリンタからのHelloメッセージを受け取った場合であり、ＵｐｎｐであればＳＳＤＰのaliveメッセージを受け取った場合に相当する。どちらも新規のプリンタがネットワークに接続された時点で新規のプリンタから出されるメッセージであり、このメッセージを受け取ることでネットワークに新規のプリンタが接続されたことを知ることが出来る。ステップS1101で受け取ったメッセージからプリンタの情報を取得する。取得方法はＷＳＤであれば図６のS600〜S602と同様であり、Ｕｐｎｐであれば、図７のS700〜S702に相当する。次にステップS1102へ進み、受け取ったプリンタの情報がすでにプリンタリストに登録されているものかどうかを判定する。すでにリストに登録されているプリンタと同じであれば、終了となる。ステップS1102でリストになければ、ステップS1103へ進み、ステップS1101で得た情報をプリンタのリストへ追加する。図１６の処理により新規のプリンタがネットワークに追加されるとプリンタリストに情報が追加される。
【００５６】
図１７はネットワークからプリンタが離脱された場合のプリンタリストを管理しているプリンタ内の処理を示している。ＷＳＤであれば離脱するプリンタからのByeメッセージを受け取った場合であり、ＵｐｎｐであればＳＳＤＰのbyebyeメッセージを受け取った場合に相当する。どちらも離脱するプリンタがネットワークから離脱する時点で離脱するプリンタから出されるメッセージであり、このメッセージを受け取ることでネットワークからプリンタが離脱されたことを知ることが出来る。ステップS1201で受け取ったメッセージからプリンタの情報を取得する。取得方法はＷＳＤであれば図６のS600〜S602と同様であり、Ｕｐｎｐであれば、図７のS700〜S702に相当する。次にステップS1202へ進み、受け取ったプリンタの情報がすでにプリンタリストに登録されているものかどうかを判定する。リストに登録されていないプリンタであれば、終了となる。ステップS1202でリストにあれば、ステップS1203へ進み、ステップS1101で得た情報のプリンタをリストから削除する。図１７の処理によりプリンタがネットワークに離脱されるとプリンタリストから情報が削除される。
【００５７】
以上、図１３から図１７の処理により、プリンタの新規追加、離脱した時点でプリンタリストは更新される。実施例２ではＰＣからのステータス表示のリクエストがあった時点でプリンタの検索処理を行う必要がなくなるため、迅速に返答を返すことが出来るようになる。ネットワークＰＮＰに対応したプロトコルを採用したプリンタであれば、実施例２のように構成することが出来る。
【００５８】
実施例においてはプリンタを用いた例を提示したが、ネットワークにおいてステータスを取得する手段をもつものであればこの限りではない。たとえばＷＳＤ、Ｕｐｎｐスキャナ、ＦＡＸなどが考えられる。
【００５９】
実施例においてはネットワークプロトコルとしてＷＳＤ、Ｕｐｎｐを用いた例を提示したが、必要とされる機能（検索、情報取得など）が行えるプロトコルであればこれらに限られるものではない。
【００６０】
実施例においてはＷＳＤとＵｐｎｐとで別々のＵＲＩを用いて判別していたが、同一のＵＲＩであってもよく、パラメータ等で区別する方法を取ることも出来る。
【符号の説明】
【００６１】
１  ＰＣ１
３  プリンタ１
６  ＰＣのＷｅｂブラウザアプリケーション
７  ＰＣ１のＷＳＤプリントクライアント
８  ＰＣ２のＵｐｎｐプリントクライアント
９  プリンタのＷｅｂサーバーアプリケーション
１０  プリンタのＷＳＤプリントサービス
１１  プリンタのＵｐｎｐプリントサービス
２４  ネットワーク接続するネットワークコントローラ
２５  各種制御プログラムを保持するＲＯＭ
２６  印刷を実行するプリントエンジン
２７  スキャンを実行するスキャンエンジン
３０  ソフト構成のアプリケーション部分
３１  ソフト構成のミドルウエア部分
３２  ソフト構成のオペレーティングシステム部分
【図１】
2010287105.tif 000003
【図２】
2010287105.tif 000004
【図３】
2010287105.tif 000005
【図４】
2010287105.tif 000006
【図５】
2010287105.tif 000007
【図６】
2010287105.tif 000008
【図７】
2010287105.tif 000009
【図８】
2010287105.tif 000010
【図９】
2010287105.tif 000011
【図１０】
2010287105.tif 000012
【図１１】
2010287105.tif 000013
【図１２】
2010287105.tif 000014
【図１３】
2010287105.tif 000015
【図１４】
2010287105.tif 000016
【図１５】
2010287105.tif 000017
【図１６】
2010287105.tif 000018
【図１７】
2010287105.tif 000019