(57)【要約】【課題】特別な管理装置を設けずに、また、ネットワークに負荷をかけずに、代表デバイスと非代表デバイスとを切り替えることができるネットワークシステムを提供することを目的とする。【解決手段】非代表デバイスがネットワークに参加したタイミング、または、非代表デバイスの状態が変化したタイミングで、代表デバイスがネットワークを管理するために必要とする情報を非代表デバイスに要求するコマンドを送信し、コマンドを受信した非代表デバイスから送信される情報を含むコマンドを受信し、受信した情報をデバイス管理情報として管理し、代表デバイスとしての機能が停止する際に、デバイス管理情報を用いて次の代表デバイスを選定し、代表デバイスの権限とデバイス管理情報とを継承するための継承情報を生成し、継承情報を次の代表デバイスに送信する。【選択図】図９
2010282610.tif 000002
【特許請求の範囲】
【請求項１】
代表デバイスと非代表デバイスとの切り替えが可能な複数のデバイスで構成されるＷＳＤプロトコルを用いたネットワークシステムであって、
上記代表デバイスは、
上記非代表デバイスがネットワークに参加したタイミング、または、上記非代表デバイスの状態が変化したタイミングで、上記代表デバイスがネットワークを管理するために必要とする情報を上記非代表デバイスに要求するコマンドを送信するコマンド送信手段と；
上記コマンドを受信した上記非代表デバイスから送信される上記情報を含むコマンドを受信するコマンド受信手段と；
上記コマンド受信手段で受信した上記情報をデバイス管理情報として管理する管理手段と；
上記代表デバイスとしての機能が停止する際に、上記デバイス管理情報を用いて次の代表デバイスを選定する代表デバイス選定手段と；
上記代表デバイスの権限と上記デバイス管理情報とを継承するための継承情報を生成する継承情報生成手段と；
上記継承情報を次の代表デバイスに送信する承継情報送信手段と；
を有することを特徴とするネットワークシステム。
【請求項２】
請求項１であって、
上記代表デバイス選定手段は、上記デバイス管理情報の中で、上記情報を含むコマンドを受信した時刻が最も古い非代表デバイス、使用頻度が一番少ない非代表デバイス、性能が高い非代表デバイスのうちのいずれかの非代表デバイスを、次の代表デバイスとして選定することを特徴とするネットワークシステム。
【請求項３】
請求項２であって、
権限継承コマンドを受信した上記非代表デバイスは、自分自身を代表デバイスに書換え、ネットワーク上の他のデバイスに、代表デバイスであることを上記コマンド送信手段を用いて通知するネットワークシステム。
【請求項４】
請求項２であって、
上記代表デバイスは、代表プリンタであり、上記非代表デバイスは、非代表プリンタであり、
上記非代表プリンタは、管理リストを受信した際に、代表プリンタに書換え、管理リスト作成手段が受信した管理リストを上書きし、ネットワーク上の他の複数のプリンタに、代表プリンタであることをイベント通知登録要求送信手段が送信するプリンタであることを特徴とするネットワークシステム。
【請求項５】
請求項４であって、
上記非代表プリンタは、自分自身の状態に変化が起こった際に、上記ネットワーク上の他の複数のプリンタに、上記イベント通知登録要求送信手段を用いて状態の変化を送信するプリンタであることを特徴とするネットワークシステム。
【請求項６】
請求項１であって、
上記非代表デバイスの状態が変化したタイミングは、電源投入時であることを特徴とするネットワークシステム。
【請求項７】
請求項１であって、
上記非代表デバイスの状態が変化したタイミングは、上記非代表デバイスが印刷し、上記非代表デバイスの状態が変化した後、または、上記非代表デバイスの設定が変更された後であることを特徴とするネットワークシステム。
【請求項８】
代表デバイスと非代表デバイスとの切り替えが可能な複数のデバイスで構成されるＷＳＤプロトコルを用いたネットワークシステムの管理方法であって、
上記非代表デバイスがネットワークに参加したタイミング、または、上記非代表デバイスの状態が変化したタイミングで、上記代表デバイスがネットワークを管理するために必要とする情報の送信を上記非代表デバイスに対して要求するコマンドを送信するコマンド送信工程と；
上記コマンドを受信した上記非代表デバイスから送信される上記情報を含むコマンドを受信するコマンド受信工程と；
上記コマンド受信工程で受信した上記情報をデバイス管理情報として管理する管理工程と；
代表デバイスとしての機能が停止する際に、上記代表デバイスが、上記デバイス管理情報を用いて次の代表デバイスを選定し、上記代表デバイスの権限と上記デバイス管理情報とを継承するための継承情報を生成する継承情報生成工程と；
上記継承情報を次の代表デバイスに送信する承継情報送信工程と；
を有するネットワークシステムの管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、特別な管理アプリケーションや管理サーバを持たずに、かつネットワークに負荷をかけずにネットワーク上に存在する複数のデバイスが保持する管理情報を管理できるネットワークシステム及びその方法に関する。
【背景技術】
【０００２】
近年、プリンタや家電製品を含めたネットワーク対応機器が増加するに伴い、ネットワーク上のデバイス同士のための通信プロトコルや、デバイスのディスカバリの仕組み、デバイスのインストールの仕組み、印刷サービスの仕様が、標準規格化されている。
【０００３】
たとえば、クライアントＰＣから、ネットワーク機器を、より汎用的に利用するための標準通信プロトコルや、デバイスをより簡単に使用するためのサービスが規格化されている。たとえば、ＷＳＤ（Ｗｅｂ  Ｓｅｒｖｉｃｅ  ｆｏｒ  Ｄｅｖｉｃｅｓ）、ＵＰｎＰ（Ｕｎｉｖｅｒｓａｌ  Ｐｌｕｇ＆Ｐｌａｙ）（登録商標）、Ｂｏｎｊｏｕｒ（Ｒｅｎｅｄｚｖｏｕｓ）（登録商標）等がある。
【０００４】
ＷＳＤは、デバイスを用いた様々なサービスの要求に答えるために定義された標準仕様である。基本的に、Ｗｅｂサービスのアーキテクチャを使用し、標準化された通信プロトコル群と、印刷サービスとを提供している。
【０００５】
ネットワーク上のデバイスの情報を収集する代表デバイスと、代表デバイスに管理される非代表デバイスとが存在し、代表デバイスが収集したデバイス情報に基づいてネットワークシステムの管理を行う管理装置とで構成されるネットワークシステムが存在する。
【０００６】
このようなネットワークシステムにおいて、代表デバイスが情報を収集し、収集した情報をまとめて管理装置に送信することで、管理装置及びネットワークの負荷を軽減する方法が提案されている（たとえば、特許文献１参照）。この提案では、非代表デバイスがネットワークシステムに参加する時にデバイスの情報をブロードキャストしている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００３−１８６７６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
代表装置が管理する情報として一度消えると再収集できない過去の情報が有用である場合がある。再収集できない情報は、たとえば、ユーザ別の印刷履歴、ネットワーク通信のパフォーマンス・ログ、または装置の稼動状態等である。
【０００９】
しかし、上記背景技術では、非代表デバイスがネットワークに参加した時の情報しか代表デバイスは保持することができないので、ネットワーク上で代表装置と非代表装置との切り替えが発生した場合、非代表装置の過去の情報を継承することができない。
【００１０】
これに対し、ネットワークに参加した後の非代表デバイスの情報を、代表デバイスがポーリングすることによって収集する方法が考えられる、しかし、この方法では、常時通信トラフィックが発生するので、ネットワークの負荷が高いという問題がある。
【００１１】
本発明は、特別な管理装置を設けずに、また、ネットワークに負荷をかけずに、代表デバイスと非代表デバイスとを切り替えることができるネットワークシステムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明のネットワークシステムは、代表デバイスと非代表デバイスとの切り替えが可能な複数のデバイスで構成されるＷＳＤプロトコルを用いたネットワークシステムであって、上記代表デバイスは、上記非代表デバイスがネットワークに参加したタイミング、または、上記非代表デバイスの状態が変化したタイミングで、上記代表デバイスがネットワークを管理するために必要とする情報を上記非代表デバイスに要求するコマンドを送信するコマンド送信手段と、上記コマンドを受信した上記非代表デバイスから送信される上記情報を含むコマンドを受信するコマンド受信手段と、上記コマンド受信手段で受信した上記情報をデバイス管理情報として管理する管理手段と、上記代表デバイスとしての機能が停止する際に、上記デバイス管理情報を用いて次の代表デバイスを選定する代表デバイス選定手段と、上記代表デバイスの権限と上記デバイス管理情報とを継承するための継承情報を生成する継承情報生成手段と、上記継承情報を次の代表デバイスに送信する承継情報送信手段とを有することを特徴とする。
【発明の効果】
【００１３】
本発明によれば、特別な管理装置を設けずに、また、ネットワークに負荷をかけずに、代表デバイスと非代表デバイスとを切り替えることができるという効果を奏する。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施例１であるネットワーク印刷システム１００を示す図である。
【図２】プリンタＰＲ１の内部の構成を示す図である。
【図３】プログラムのネットワーク印刷処理に関するモジュール構成の図である。
【図４】クライアントからデバイスへの通信シーケンスを示す図である。
【図５】代表プリンタと切り替わった際のデータ領域５０１を示す図である。
【図６】代表プリンタがデバイス管理情報リストを取得する処理を示す図である。
【図７】プリンタが周囲のプリンタにイベント通知登録を要求する処理の図である。
【図８】プリンタＰＲ１が代表プリンタに決定した後の通信シーケンスの図である。
【図９】代表の管理権限と蓄積された管理情報とを継承する処理を示す図である。
【図１０】代表権限が切り替えられた場合に非代表プリンタの処理を示す図である。
【図１１】非代表プリンタへ代表権限と管理情報とを送信するシーケンス図である。
【図１２】非代表プリンタにイベント登録要求処理を示すフローチャートである。
【図１３】既定の事象が発生した場合の非代表プリンタの通信シーケンス図である。
【発明を実施するための形態】
【００１５】
発明を実施するための形態は、次の実施例である。
【実施例１】
【００１６】
図１は、本発明の実施例１であるネットワーク印刷システム１００を示す図である。
【００１７】
ネットワーク印刷システム１００は、ＷＳＤプロトコルによるネットワークプリンタのシステムである。また、ネットワーク印刷システム１００は、代表装置（代表デバイス）（以降、「代表プリンタ」と表記する）、非代表装置（非代表デバイス）（以降、「非代表プリンタ」と表記する）の決定を、ＷＳＤプロトコルを利用して行う実施例である。さらに、ネットワーク印刷システム１００は、代表プリンタから非代表プリンタへの切替を、ＷＳＤプロトコルを利用して行う実施例である。
【００１８】
ＬＡＮ１０１は、ローカル・エリア・ネットワークであり、ルータ１０２と、１台のＰＣ１０３と、プリンタＰＲ１と、プリンタＰＲ２と、プリンタＰＲ３とが接続され、ネットワークを介して、相互にデータを交換している。
【００１９】
ネットワーク印刷システム１００において、１台のプリンタが、後述する方法によって、自律的に代表プリンタになり、ネットワーク上に接続されている全ての非代表プリンタの稼動ステータス、並びに稼動パフォーマンス等の情報を管理する。
【００２０】
ユーザが、代表プリンタの管理情報を見る場合、ＰＣ１０３に搭載されているＷｅｂブラウザから、代表プリンタのＷｅｂサーバにアクセスし、ＨＴＭＬ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）を用いて、閲覧または操作をする。
【００２１】
図２は、プリンタＰＲ１の内部の構成を示す図である。ＣＰＵ２０１は、基本制御等のプログラムが書き込まれているＲＯＭ２０６に従って装置全体の制御を行う。ＲＡＭ２０２は、ＲＯＭ２０６から読み出されたプログラムを実行する場合におけるワークエリアと、データ送受信時のバッファと、スキャナエンジン２０８で生成した画像データの一時バッファとに用いられる。
【００２２】
ネットワークコントローラ２０５に、ＩＥＥＥ８０２．３で規定されているＥｔｈｅｒｎｅｔ（登録商標）によって接続された有線のＬＡＮ１０１を介して、印刷・スキャンを実行するためのコマンドを、クライアントＰＣが送受信する。また、スキャナからクライアントＰＣへ画像データが送信される。
【００２３】
ネットワークコントローラ２０５は、有線ＬＡＮ通信に対応するためのイーサネット（登録商標）ケーブル用のコネクタと、インタフェース制御を司るコントローラとによって構成されている。Ｅｔｈｅｒｎｅｔ（登録商標）ケーブルを、コネクタに接続して通信する。無線ＬＡＮ対応ＰＣカードと無線コントローラとを追加することによって、ＩＥＥＥ８０２．１１ａ／ｂ／ｇで規定された無線ＬＡＮネットワークを使用するようにしてもよい。
【００２４】
無線ＬＡＮに対応する場合、無線ＬＡＮ通信に対応するためのＰＣカードを接続するためのＰＣカード・インタフェースで構成される。実施例１では、通信プロトコルとして印刷・スキャンサービスであるＷＳＤに対応している印刷・スキャナを提供する。ＷＳＤで使用される通信プロトコル方式と、印刷・スキャンに関する要求形態と応答形態とは、標準規格として定められている。
【００２５】
図３は、実施例１におけるネットワーク対応プリンタのＲＯＭ２０６に記憶されているプログラムのネットワーク印刷処理に関係するモジュール構成を示す図である。
【００２６】
プログラムは、アプリケーション層３０１、ミドルウェア層３０２、オペレーションシステム３０３に分類されている。最初に、オペレーションシステム３０３が起動され、ミドルウェア層３０２が呼ばれる。装置の起動状態に応じて、必要なモジュールを順番に起動する。ミドルウェア層３０２は、オペレーションシステム３０３とアプリケーション層３０１とのモジュール群の間に介在し、通信制御を行う。ミドルウェア層３０２のＬＡＮドライバ３１６、ＴＣＰ／ＩＰモジュール３１４、ＵＤＰモジュール３１５は、ネットワークコントローラ２０５を制御し、ＴＣＰ／ＩＰ、ＵＤＰ経由の通信を行う。ＨＴＴＰ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）プロトコル関係の処理を行うＨＴＴＰモジュール３１３を含む。ＨＴＴＰは、ＴＣＰ／ＩＰ上で、データの送信・受信を行うプロトコルである。
【００２７】
アプリケーション層３０１は、Ｗｅｂサーバ３０４、ＷＳＤ関係モジュールとプリンタエンジンとを制御し、印刷を実行する印刷処理３０６と、代表プリンタになった場合、ネットワーク管理関連の処理を行うネットワーク管理処理３０５とからなる。ＷＳＤ関係モジュールは、ＷＳＤモジュール３１１、ＷＳ−Ｐｒｉｎｔクライアント３０７、ＷＳ−Ｐｒｉｎｔサービス３０８、ＷＳ−Ｅｖｅｎｔクライアント３０９、ＷＳ−Ｅｖｅｎｔサービス３１０からなる。
【００２８】
図示しないが、ＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）解析するモジュールも含まれる。一般的に、印刷・スキャナのＩＰアドレス等を含むネットワークの設定は、操作部２０３からだけではなく、ネットワーク経由で、クライアントＰＣのＷｅｂブラウザを起動し、プリンタへアクセスすることによって実行することができる。
【００２９】
ＨＴＴＰモジュール３１３は、設定用のＷｅｂサーバとしての管理の目的と、ＷＳＤで規定されたＨＴＴＰ通信の目的との両方で使用する。ＷＳＤでは、ＨＴＴＰ上にＳＯＡＰ（Ｓｉｍｐｌｅ  Ｏｂｊｅｃｔ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌ）モジュール３１２を介して、用い、ＸＭＬで記述されたコマンド・情報を相互にやり取りすることによって、各種サービスを実行することができる。
【００３０】
ＸＭＬ解析モジュールは、ＷＳＤの通信で使用され、ＷＳＤのＳＯＡＰ−Ｏｖｅｒ−ＵＤＰ通信等の受信データの解析や、ＨＴＴＰで送受信されるＳＯＡＰの解析等に使用する。ＳＯＡＰ−Ｏｖｅｒ−ＵＤＰ通信は、ＵＤＰにＳＯＡＰでＸＭＬを転送する通信である。
【００３１】
図４は、一般的なＷＳＤでのクライアントとデバイスとの間におけるクライアントからデバイスの通信シーケンスを示す図である。
【００３２】
検出（Ｄｉｓｃｏｖｅｒｙ）、デバイスのメタデータ転送（Ｄｅｓｃｒｉｐｔｉｏｎ）、クライアントへのデバイス・インストール（ＰｎＰ−Ｘ）、イベント通知サービスの登録（Ｓｕｂｓｃｒｉｐｔｉｏｎ）が含まれている。
【００３３】
クライアントは、ＷＳＤモジュール３１１、ＳＯＡＰモジュール３１２を介して、デバイスから通知されるＨｅｌｌｏメッセージに対する応答処理と、デバイス検索のためのＰｒｏｂｅメッセージの発行処理とを実行する。図４では、クライアントが起動済みの状態で、デバイスを起動したケースを図示している。通信４０１では、デバイスからＨｅｌｌｏメッセージを発行している。Ｈｅｌｌｏメッセージは、マルチキャスト送信である。通信４０２では、Ｈｅｌｌｏを受信したクライアントが、ＴｒａｎｓｆｅｒＧｅｔメッセージを発行することによって、デバイスのメタデータ情報を取得する。
【００３４】
通信４０３では、ＴｒａｎｓｆｅｒＧｅｔメッセージへのＭｅｔａｄａｔａ応答で、デバイスの属性情報（メタデータ）を転送する。このメタデータには、デバイスの名称、モデル名、デバイスが有するサービス機能、デバイスへアクセスするためのプレゼンテーションＵＲＬ、ネットワーク上でデバイスやサービスを唯一に定義するための識別子（ＵＵＩＤ）等が含まれている。クライアントは、操作４０４で、ＰｎＰ−Ｘ機能を有している場合に限り、通信４０３で受信したデバイスの属性情報に一致するドライバを、記憶装置から検索し、該当するデバイスドライバのインストールを実行する。ただし、クライアントがＰＣではなく、デバイス側のクライアント機能を意味する場合、インストールは不要である。
【００３５】
クライアントは、通信４０５で、イベント通知登録要求（Ｓｕｂｓｃｒｉｂｅ）を行う。登録可能なイベント通知は、通信４０３のデバイスの属性情報から判断することができる。たとえば、デバイスの属性に印刷サービスを持っていれば、印刷サービスに関連するイベントの一覧が、ＷＳＤの印刷サービスに規定されている。通信４０６では、イベント通知登録応答としてＯＫを返すと同時に、登録時にデバイスで生成した識別子（Ｉｄｅｎｔｉｆｉｅｒ）を返す。後に、クライアントから登録済みのイベント通知に関する問い合わせや、イベント登録解除（Ｕｎｓｕｂｓｃｒｉｂｅ）を受けた場合、この識別子（Ｉｄｅｎｔｉｆｉｅｒ）と照合する。
【００３６】
印刷サービスには、印刷に係わる複数のイベント発行種類が規定されている。たとえばＪｏｂＥｎｄＳｔａｔｅイベントは、印刷ジョブが完了した際に、プリンタから発行されるイベントの種類である。通信４０７では、通信４０５と異なる種類のイベント通知登録要求を送信し、通信４０８では、デバイスが同イベントをサポートしているので、同様に正常応答する。
【００３７】
印刷サービスでは、ＰｒｉｎｔｅｒＣｏｎｆｉｇｕｒａｔｉｏｎと呼ばれるデバイスのメタデータ情報が変更されると、デバイスが登録されたクライアント装置にＰｒｉｎｔｅｒＥｌｅｍｅｎｔｓＣｈａｎｇｅＥｖｅｎｔをイベント通知する仕様の規定がある。そこで、ネットワーク管理用のデータ領域を、ＰｒｉｎｔｅｒＣｏｎｆｉｇｕｒａｔｉｏｎのエレメントとして、代表プリンタと非代表プリンタとで定義する。
【００３８】
印刷サービスでは、ＧｅｔＰｒｉｎｔｅｒＥｌｅｍｅｎｔｓ要求のＲｅｑｕｅｓｔｅｄＥｌｅｍｅｎｔ属性に、ＰｒｉｎｔｅｒＣｏｎｆｉｇｕｒａｔｉｏｎを設定し、要求を発行することによって、発行先の相手の情報を取得することができる。また、印刷サービスにおいて、ＧｅｔＰｒｉｎｔｅｒＥｌｅｍｅｎｔｓ要求に、独自の定義でエレメントを拡張することもできる。印刷サービスにおいて、独自のエレメントを定義することによって、ネットワーク管理用のデータ領域を実現する。
【００３９】
たとえば、ＧｅｔＰｒｉｎｔｅｒＥｌｅｍｅｎｔｓ要求応答に含まれているＰｒｉｎｔｅｒＣｏｎｆｉｇｕｒａｔｉｏｎメタデータの一部分として、ＮｅｔｗｏｒｋＭａｎａｇｅｍｅｎｔＩｎｆｏエレメントを拡張定義する。拡張定義のために、エレメント名称は、分かり易い名称であれば何でもよい。代表プリンタでは、ＮｅｔｗｏｒｋＭａｎａｇｅｍｅｎｔ指定で取得した管理情報を、後述するプリンタの管理情報を保存するためのデータ領域に保存する。非代表プリンタの場合、データ領域を確保しておいて、値を空にする。
【００４０】
代表プリンタが停止する際に、自らのネットワーク管理用のデータ領域をクリアした場合、ＰｒｉｎｔｅｒＣｏｎｆｉｇｕｒａｔｉｏｎの値が変更されたとみなし、ＷＳＤの規定に従って、ＰｒｉｎｔｅｒＥｌｅｍｅｎｔｓＣｈａｎｇｅＥｖｅｎｔを送信する。代表権限の継承先として、ＰｒｉｎｔｅｒＥｌｅｍｅｎｔｓＣｈａｎｇｅＥｖｅｎｔを受信した非代表プリンタは、自らの管理情報を更新し、代表プリンタに切り替える。
【００４１】
図５は、代表プリンタと切り替わった際に、ネットワーク上で検出されたプリンタの管理情報を保存するためのデータ領域５０１の詳細を示す図である。
【００４２】
データ領域５０１は、代表プリンタ、非代表プリンタに関係なく、同じデータ領域が定義される。代表デバイス・フラグ５０２は、自デバイスが代表プリンタ（ＯＮ）であるか、非代表プリンタ（ＯＦＦ）であるかを示す。代表デバイス・フラグをセットする手順については後述する。登録台数カウンタ５０３は、周囲に検出され、データ領域５０１にリストとして追加されたプリンタの総数を示す。１台分のデバイス管理情報リストには、エンドポイント・アドレス５０４、登録時刻５０５、デバイス・ステータス５０６、デバイス・ログ５０７、デバイス性能５０８、デバイス使用頻度５０９が組み合わされている。
【００４３】
デバイス・ステータス５０６、デバイス・ログ５０７、デバイス性能５０８、デバイス使用頻度５０９は、ネットワーク管理のためのデータ領域であり、代表プリンタとして起動中は、この領域に、各プリンタの管理履歴が書き込まれる。また、エンドポイント・アドレスは、サービス毎に異なるので、複数のアドレスを用意しておく必要があり、図４の通信４０３で得られるデバイスの属性に基づいて、サービス毎のエンドポイント・アドレスを記憶する。
【００４４】
なお、ネットワーク管理に必要なデータは、他にも多様に考えられるので、管理のためのデータ領域の内容は、上記に限定するものではない。
【００４５】
以上の情報が検出されたプリンタのリストとして、データ領域５０１に作成され、記憶される。ＷＳＤのプリンタからＢｙｅを受信したと同時に、同プリンタのエンドポイント・アドレスを参照し、デバイス管理情報リストを削除する。領域のサイズは、必要となる分だけの領域を追加できる。
【００４６】
図６は、代表プリンタがＷＳＤプロトコルを用いて、周囲に存在する非代表プリンタのデバイス管理情報リストを取得する処理を示す図である。
【００４７】
以下、代表プリンタをＰＲ１として説明する。
【００４８】
デバイス管理情報リストには、デバイスを参照するためのアドレス、代表・非代表の切り替え判定フラグ、並びに管理情報のデータ領域が含まれている。
【００４９】
ステップＳ６０１で、代表プリンタＰＲ１は、Ｐｒｏｂｅメッセージを、マルチキャストで送信する。マルチキャストとは、決められた複数のネットワーク端末（プリンタ）に対して、同時にパケット（データ）を送信する事である。マルチキャストで送信されたＰｒｏｂｅメッセージは、ネットワークにあるＷＳＤ印刷サービスに対応するデバイスを検索するために送信され、この要求を受け取ったＷＳＤ印刷サービスに対応する非代表プリンタは、ＰｒｏｂｅＭａｔｃｈ応答を返送する。
【００５０】
ステップＳ６０２で、代表プリンタＰＲ１は、他のＷＳＤ印刷サービス対応プリンタからのＰｒｏｂｅＭａｔｃｈ応答を受信する。ＰｒｏｂｅＭａｔｃｈ応答は、複数のプリンタから送られてくる可能性があるので、ある程度の時間、ＰｒｏｂｅＭａｔｃｈ応答の受信を許可する。Ｓ６０１、Ｓ６０２の処理は、複数回実行することによって、発見されないデバイスを減らすことができる。
【００５１】
ステップＳ６０３で、代表プリンタＰＲ１は、ＰｒｏｂｅＭａｔｃｈ応答を返したプリンタから、プリンタの持つサービスの内容を記述したメタデータを取得する。ステップＳ６０２のＰｒｏｂｅＭａｔｃｈ応答の中に、Ｍｅｔａｄａｔａを取得するためのＥｎｄｐｏｉｎｔを示すアドレスが記載されている。このアドレスに対し、取得（Ｔｒａｎｓｆｅｒ／Ｇｅｔ）を実行することによって、メタデータを取得できる。
【００５２】
ＷＳ−Ｔｒａｎｓｆｅｒは、ＷＳＤプロトコルでデータを転送するものであり、Ｇｅｔでは、データを取得することができる。
【００５３】
ステップＳ６０４では、代表プリンタＰＲ１は、ステップＳ６０３で得られたメタデータから、図５に示すデータ領域５０１（デバイス管理情報リスト）を作成する。見つかったプリンタの数を、登録台数カウンタ５０３に設定し、メタデータに含まれているサービスにアクセスするためのＥｎｄｐｏｉｎｔアドレスを、エンドポイント・アドレス５０４に設定する。同様に見つかったプリンタ分だけ、図５のリストを追加する。
【００５４】
ステップＳ６０１〜Ｓ６０３の処理は、ＷＳ−Ｄｉｓｃｏｖｅｒｙと呼ばれ、ＷＳＤに対応するデバイスを発見する処理である。
【００５５】
ステップＳ６０５では、代表プリンタＰＲ１は、ステップＳ６０４で作成したデバイス管理情報リストに基づいて、管理情報を取得し、リストに登録したプリンタ全てを処理したかどうかを判断する。全てのプリンタに対して処理が終わると、デバイス管理情報リストを取得する処理を終了する。全てのプリンタに対して処理が終わっていなければ、ステップＳ６０６で、ＷＳＤ印刷に対応するプリンタの管理情報を取得するＷＳＤ印刷サービスのＧｅｔＰｒｉｎｔｅｒＥｌｅｍｅｎｔｓ要求を送信する。この要求コマンドの送信先は、ステップＳ６０４でメタデータから作成したデバイス管理情報リストに登録されたエンドポイント・アドレス５０４である。
【００５６】
ＧｅｔＰｒｉｎｔｅｒＥｌｅｍｅｎｔｓ要求によって、取得したい情報の種別を指定することで行うことができる。代表プリンタが管理する管理情報（たとえば印刷履歴、エラー情報、プリンタの稼動履歴等）を指定して、取得することができる。
【００５７】
ステップＳ６０７で、代表プリンタＰＲ１は、非代表プリンタからのＧｅｔＰｒｉｎｔｅｒＥｌｅｍｅｎｔｓ応答を受信する。ＧｅｔＰｒｉｎｔｅｒＥｌｅｍｅｎｔｓ応答には、管理情報が含まれている。
【００５８】
ステップＳ６０８では、代表プリンタＰＲ１は、ステップＳ６０７で得られた管理情報を、図５に示すデバイス・ステータス５０６、デバイス・ログ５０７、デバイス性能５０８、デバイス使用頻度５０９に保存する。デバイス管理情報リストに管理情報を追加し、デバイス管理情報リストが完成する。
【００５９】
ステップＳ６０５へ戻り、代表プリンタＰＲ１は、同様の処理を、全ての見つかった非代表プリンタに対して繰り返し、デバイス管理情報リストを更新する。
【００６０】
図７は、代表プリンタがＷＳＤプロトコルを用いて、周囲の非代表プリンタにイベント通知登録を要求する処理を示す図である。
【００６１】
なお、プリンタは、電源投入時にイベント通知登録を実行し、これと同時に、自分自身が代表プリンタになるか、非代表プリンタになるかを決定する。ただし、代表プリンタ、非代表プリンタの決定を、電源投入時以外のタイミングに実行するようにしてもよく、電源投入時に制限されるものではない。
【００６２】
代表プリンタを決定する場合、最初に起動したプリンタを、代表プリンタとする。つまり、図１に示す例において、プリンタＰＲ１、プリンタＰＲ２、プリンタＰＲ３の順番で電源が投入され、またはネットワークに接続された場合、プリンタＰＲ１が、代表プリンタになり、プリンタＰＲ２、プリンタＰＲ３は、非代表プリンタになる。
【００６３】
最初にプリンタＰＲ１が起動すると、ＷＳＤプロトコルのＷＳ−Ｄｉｓｃｏｖｅｒｙの規定に従って、ステップＳ７０１で、Ｈｅｌｌｏメッセージをマルチキャスト送信する。
【００６４】
次に、プリンタＰＲ１は、自デバイスの代表・非代表の権限を決定するためのステップＳ７０２〜Ｓ７１１を実行する。
【００６５】
ステップＳ７０２で、プリンタＰＲ１は、Ｐｒｏｂｅメッセージを発行する。周囲に既に起動済みのプリンタが存在する場合、ＷＳ−Ｄｉｓｃｏｖｅｒｙの規定に従って、ステップＳ７０３で、周囲からのＰｒｏｂｅＭａｔｃｈ応答を受信する。しかし、この場合には、プリンタＰＲ１しか存在しないので、応答はない。一定期間の待ち時間を設けた上で、ＰｒｏｂｅＭａｔｃｈ応答がなければ、ステップＳ７１０に移行し、図５の代表デバイス・フラグ５０２を１にし、自らを代表プリンタとして設定する。
【００６６】
ステップＳ７０３でＰｒｏｂｅＭａｔｃｈを受信した場合、ＰｒｏｂｅＭａｔｃｈメッセージに含まれているＥｎｄｐｏｉｎｔアドレスに対して、ステップＳ７０４で、メタデータ取得を実行する。
【００６７】
ステップＳ７０５では、ステップＳ７０３でＰｒｏｂｅＭａｔｃｈ応答した相手に対して、イベント通知登録要求メッセージを送信する。この場合、自らが代表・非代表プリンタであることに関係なく、イベント通知登録要求メッセージを送信する。
【００６８】
ステップＳ７０６で、イベント通知登録要求メッセージ応答を受信し、受信した時刻を図５の登録時刻５０５に記憶する。登録時刻は、相対時間、絶対時間のいずれであってもよい。
【００６９】
ステップＳ７０７では、ステップＳ７０３でＰｒｏｂｅＭａｔｃｈ応答した全てのプリンタに、ＰｒｏｂｅＭａｔｃｈ応答、並びにイベント通知登録要求メッセージを送信したかどうかを判定する。送信が完了している場合、Ｓ７０８に進む。送信が完了していない場合、ステップＳ７０４に戻り、送信処理を継続する。
【００７０】
各プリンタのメタデータには、代表であるか非代表であるかを示す代表権限エレメントを定義しておく。そして、各プリンタは、メタデータ作成時に、代表デバイス・フラグ５０２を参照した値に従って、代表権限エレメントを作成する。
【００７１】
ステップＳ７０８で、代表権限をセットするか否かを判定する。ステップＳ７０２〜Ｓ７０７において、プリンタから取得したメタデータの中の代表権限エレメントに「代表」を示す代表権限エレメントの値があれば、ステップＳＳ７０９で、自らの代表デバイス・フラグ５０２を「ＯＦＦ」に設定する。
【００７２】
逆に、全てのデバイスから取得したいずれのメタデータの代表権限エレメントにも、「代表」を示す代表権限エレメントの値が無ければ、ステップＳ７１０で、自らの代表デバイス・フラグ５０２を「ＯＮ」にセットする。ステップＳ７１０で、代表プリンタになれば、ステップＳ７１１でネットワーク管理を開始する。代表プリンタのネットワーク管理には、図６に示す非代表プリンタからの管理情報の取得が含まれる。
【００７３】
図８は、プリンタＰＲ１が代表プリンタに決定した後に、プリンタＰＲ２、プリンタＰＲ３が順番に起動し、ネットワークシステムの状態の変化が生じた場合における通信シーケンスを示す図である。
【００７４】
プリンタＰＲ１が代表プリンタとして既に起動済みである状態で、プリンタＰＲ２が起動する。通信８０１で、プリンタＰＲ２が、Ｈｅｌｌｏメッセージをマルチキャスト送信する。通信８０２で、プリンタＰＲ２が、Ｐｒｏｂｅメッセージをマルチキャスト送信する。プリンタＰＲ１は、Ｈｅｌｌｏメッセージには応答しないが、Ｐｒｏｂｅメッセージに応答し、通信８０３で、ＰｒｏｂｅＭａｔｃｈ応答を、プリンタＰＲ２にユニキャスト送信する。プリンタＰＲ２は、ＰｒｏｂｅＭａｔｃｈ応答を受信すると、通信８０４で、プリンタＰＲ１に、メタデータを要求し、プリンタＰＲ１は、通信８０５で代表を指し示す代表権限エレメントをセットしたメタデータを、プリンタＰＲ２に返却する。
【００７５】
通信８０６で、プリンタＰＲ２はイベント通知登録要求メッセージを発行し、通信８０７で、正常応答とＩｄｅｎｔｉｆｉｅｒとを受信する。プリンタＰＲ２は、他のプリンタからＰｒｏｂｅＭａｔｃｈがないことを確認し、自らを非代表プリンタに設定する。
【００７６】
プリンタＰＲ１が代表プリンタとして既に起動済みであり、プリンタＰＲ２が非代表プリンタとして起動済みである状態で、プリンタＰＲ３が起動する。通信８０８で、プリンタＰＲ３は、Ｈｅｌｌｏメッセージをマルチキャスト送信する。通信８０９で、プリンタＰＲ３が、Ｐｒｏｂｅメッセージをマルチキャスト送信する。プリンタＰＲ１は、通信８１１で、プリンタＰＲ３にＰｒｏｂｅＭａｔｃｈを応答し、プリンタＰＲ２は、通信８１０で、プリンタＰＲ３にＰｒｏｂｅＭａｔｃｈを応答する。プリンタＰＲ１、プリンタＰＲ２から、それぞれＰｒｏｂｅＭａｔｃｈを受信したプリンタＰＲ３は、各プリンタに対して、通信８１２〜通信８１９において、メタデータの取得、並びにイベント通知登録要求メッセージを送信する。
【００７７】
プリンタＰＲ３は、通信８１７で、メタデータに埋め込まれている代表権限エレメントを見ることによって、プリンタＰＲ１が代表プリンタであることを検知する。したがって、プリンタＰＲ３は、図７のステップＳ７０９で、自らを非代表プリンタとして設定する。
【００７８】
図９は、エラー発生、電源停止等に先立って、代表プリンタと非代表プリンタとを切り替える場合、代表としての管理権限と今まで蓄積された管理情報とを継承する処理を示すフローチャートである。
【００７９】
停止要因が発生した際、プリンタは、ステップＳ９０１で、自らの代表デバイス・フラグ５０２が「ＯＮ」にセットされているかどうかを判定する。「ＯＦＦ」にセットされていれば、ステップＳ９０７で、Ｂｙｅメッセージを発行し、停止する。「ＯＮ」にセットされていれば、ステップＳ９０２に移行する。
【００８０】
ステップＳ９０２で、図５に示すデバイス管理情報リストの登録台数カウンタ５０３を参照する。ステップＳ９０３で、カウンタ＞＝２である場合、ステップＳ９０４に移行し、登録されているデバイス管理情報リストを比較する。プリンタが１台であれば、比較は不要であるので、ステップＳ９０８に移行する。ここでは、登録台数とイベント通知登録要求の登録数とが一致するが、イベント通知登録要求を別に管理するようにしてもよい。
【００８１】
ステップＳ９０４で、イベント通知登録要求されたプリンタの中から、登録時刻５０５と比較し、最も古い時刻に登録されたプリンタを判定する。そして、プリンタとして停止する直前に、代表プリンタに次に切り替わるためのイベント通知をするデバイスとして選定する。
【００８２】
ステップＳ９０４で次の代表プリンタに切り替わるための選定基準として、デバイス性能５０８を用いるようにしてもよい。デバイス性能を比較し、たとえば、プリンタの計算速度が最も速いもの、またはメモリ領域が最も大きいものを、次の代表プリンタとして選定するようにしてもよい。または、ステップＳ９０４で、デバイス使用頻度５０９を比較し、プリンタの使用頻度が最も低いプリンタを、次の代表プリンタとして選定するようにしてもよい。または、ステップＳ９０４で、デバイス・ログに含まれている過去におけるネットワークの通信パフォーマンスが最も優れているプリンタを、次の代表プリンタとして選定するようにしてもよい。
【００８３】
ステップＳ９０５で、次の代表プリンタへのイベント通知のためのＳＯＡＰデータを生成する。ＷＳＤでは、デバイス構成情報として、ＰｒｉｎｔｅｒＣｏｎｆｉｇｕｒａｔｉｏｎの一部が変更された場合、ＰｒｉｎｔｅｒＥｌｅｍｅｎｔｓＣｈａｎｇｅＥｖｅｎｔを発行する規定がある。ＰｒｉｎｔｅｒＥｌｅｍｅｎｔｓＣｈａｎｇｅＥｖｅｎｔで送信するＳＯＡＰデータに、管理情報のＮｅｔｗｏｒｋＭａｎａｇｅｍｅｎｔＩｎｆｏエレメントを定義する。そして、同エレメントの内部に、代表権限エレメントと、図５に示す各プリンタのデバイス・ステータス５０６、デバイス・ログ５０７、デバイス性能５０８等を含む情報を用いてエレメント生成する。
【００８４】
ステップＳ９０６では、ステップＳ９０５で生成したＰｒｉｎｔｅｒＥｌｅｍｅｎｔｓＣｈａｎｇｅＥｖｅｎｔのＳＯＡＰデータを、エンドポイント・アドレス５０４に、データ転送する。
【００８５】
ステップＳ９０７で、イベント通知の完了を待ってから、Ｂｙｅメッセージを発行し、ネットワークから離脱する。
【００８６】
ステップＳ９０８で、登録台数カウンタ５０３が「０」台である場合、ステップＳ９０９に移行する。ステップＳ９０９は、継承先のプリンタが見つからないケースであり、この場合、表示パネルに「ネットワーク管理機能を停止します。取得した情報が失われる可能性がありますが停止しますか？」等のメッセージを表示し、本当に停止してよいかどうかの判断を促す。
【００８７】
図１０は、非代表プリンタにおいて代表権限の切り替えが発生した場合の処理を示すフローチャートである。
【００８８】
ステップＳ１００１で、ＰｒｉｎｔｅｒＥｌｅｍｅｎｔｓＣｈａｎｇｅＥｖｅｎｔを受信すると、非代表プリンタは、ステップＳ１００２で、イベント通知データの代表権限エレメントを読む。同エレメントに「代表」がセットされていれば（代表デバイス・フラグがＯＮであれば）、ステップＳ１００３〜１００６の代表プリンタ権限への切り替え処理を実行する。
【００８９】
非代表プリンタは、図５に示すデータ領域５０１のうちで、管理情報に関する領域、デバイス・ステータス５０６、デバイス・ログ５０７、デバイス性能５０８、デバイス使用頻度５０９について、値は「０」になっている。ステップＳ１００３で、この管理情報に関する各プリンタの情報を、代表プリンタが停止する前に、その代表プリンタから継承し、データ領域を更新する。
【００９０】
ステップＳ１００４で、停止前の代表プリンタから、Ｂｙｅメッセージを受信する。ステップＳ１００５で、停止前の代表プリンタを、自らのデバイス管理情報リストから削除する。
【００９１】
ステップＳ１００６で、自らの非代表を、代表プリンタへ切り替え、つまり、代表デバイス・フラグ５０２を「ＯＮ」にセットし、ネットワーク管理機能を有効にする。
【００９２】
図１１は、代表プリンタから非代表プリンタへ、イベント通知によって代表権限と管理情報とを送信する通信シーケンスを示す図である。
【００９３】
ステップＳ１１０１で、代表プリンタであるプリンタＰＲ１が停止する前に、図９の処理に従って、プリンタＰＲ２にＰｒｉｎｔｅｒＥｌｅｍｅｎｔｓＣｈａｎｇｅＥｖｅｎｔを送信する。ステップＳ１１０２で、プリンタＰＲ２は、プリンタＰＲ１に、イベント通知の受信が完了したことを示すＯＫ応答を返す。ステップＳ１１０３で、プリンタＰＲ１は、Ｂｙｅメッセージをマルチキャスト送信することによって、プリンタとしてネットワークから離脱する。
【実施例２】
【００９４】
実施例１では、代表プリンタの継承に関わるイベント通知の登録は、各プリンタが電源投入時に実施する。しかし、実施例２は、それ以外のタイミングにも、代表プリンタが非代表プリンタを監視することによって、イベント通知の登録を実現する実施例である。
【００９５】
実施例１において、代表プリンタの継承に関する登録ステップでは、各プリンタは、電源投入時のタイミングで、周囲のネットワークをサーチし、検出された他のプリンタに、イベント通知を登録する。そして、継承ステップでは、代表プリンタは、停止要因発生時に、今までに周囲からイベント通知登録された情報に基づいて、継承先を自動的に選定し、代表プリンタとしての代表権限と蓄積された管理情報とを送信する。
【００９６】
実施例２において、代表プリンタの継承に関わる登録ステップでは、非代表プリンタにおいて既定の事象が発生したタイミングで、代表プリンタが、非代表プリンタに、イベント通知登録を促す。継承ステップは、実施例１と同じであるので、説明を割愛する。
【００９７】
上記既定の事象は、たとえば、非代表プリンタの装置の状態変化が起こった直後や、ユーザによって装置の設定が変更された直後や、印刷実行した直後等である。これらの事象が発生すると、代表プリンタが停止した後における継承先を選定する上で、基準となる非代表プリンタの動作状態や使用頻度が変わる可能性がある。
【００９８】
この方法では、非代表プリンタは、上記既定の事象が発生すると、ネットワーク上でマルチキャストパケットを発行する。そして、代表プリンタは、常時ネットワークを監視し、事象が発生したことを検出すると、非代表プリンタにイベント通知の登録を促す。
【００９９】
図１２は、非代表プリンタにおいて、既定の事象が発生した場合におけるイベント登録要求処理を示すフローチャートである。
【０１００】
まず、既定の事象が発生したことを検知すると、ステップＳ１２０１で、代表デバイス・フラグ５０２を見て、同プリンタが代表プリンタであるか非代表プリンタであるかを見る。代表プリンタであれば、処理を終了する。非代表プリンタであれば、ステップＳ１２０２に移行し、イベント登録要求処理を実行する。
【０１０１】
ステップＳ１２０２で、何らかの既定の事象が発生したことを通知するために、非代表プリンタは、Ｐｒｏｂｅパケットを、周囲のプリンタにマルチキャストで発行する。代表プリンタは、Ｐｒｏｂｅパケットを受信すると、ＰｒｏｂｅＭａｔｃｈ応答を返した後に、メタデータ取得処理を実行する。
【０１０２】
非代表プリンタは、ステップＳ１２０３で、代表プリンタからのＰｒｏｂｅＭａｔｃｈ応答パケットを受信する。代表プリンタは、ＰｒｏｂｅＭａｔｃｈ応答に含まれているＥｎｄＰｏｉｎｔアドレスを取得し、ステップＳ１２０４で、メタデータ要求を発行するので、非代表プリンタは、ステップＳ１２０５で、メタデータ応答を送信する。
【０１０３】
代表プリンタは、非代表プリンタのメタデータを解析し、印刷サービス、並びにイベント通知登録サービスをサポートしていると認識すると、非代表プリンタに、イベント通知登録を促すために、ＧｅｔＰｒｉｎｔｅｒＥｌｅｍｅｎｔｓ要求を発行する。ＧｅｔＰｒｉｎｔｅｒＥｌｅｍｅｎｔｓ要求には、要求の種類を示すＲｅｑｕｅｓｔｅｄＥｌｅｍｅｎｔ属性が定義されている。また、ＷＳＤプロトコルでは、ＧｅｔＰｒｉｎｔｅｒＥｌｅｍｅｎｔｓ要求、応答のエレメントを拡張することを可能にするために、Ｐｒｉｖａｔｅスキーマを定義する仕組みが存在する。
【０１０４】
したがって、Ｐｒｉｖａｔｅスキーマ定義によって、ＲｅｑｕｅｓｔｅｄＥｌｅｍｅｎｔ属性に“ＳｅｎｄＳｕｂｓｃｒｉｐｔｉｏｎ”を記載する。代表プリンタは、ＧｅｔＰｒｉｎｔｅｒＥｌｅｍｅｎｔｓのＲｅｑｕｅｓｔｅｄＥｌｅｍｅｎｔｓに、“ＳｅｎｄＳｕｂｓｃｒｉｐｔｉｏｎ”を設定し、非代表プリンタに送信する。非代表プリンタは、ステップＳ１２０６で、ＧｅｔＰｒｉｎｔｅｒＥｌｅｍｅｎｔｓを受信すると、ステップＳ１２０７で、ＲｅｑｕｅｓｔｅｄＥｌｅｍｅｎｔｓに、“ＳｅｎｄＳｕｂｓｃｒｉｐｔｉｏｎ”が設定されているか否かを解析する。設定されていれば、ステップＳ１２０８に移行し、ＧｅｔＰｒｉｎｔｅｒＥｌｅｍｅｎｔｓ応答する。
【０１０５】
“ＳｅｎｄＳｕｂｓｃｒｉｐｔｉｏｎ”指定されたＧｅｔＰｒｉｎｔｅｒＥｌｅｍｅｎｔｓを受信した非代表プリンタは、代表プリンタから、イベント通知登録を促されたと認識する。したがって、非代表プリンタは、ステップＳ１２０９で、代表プリンタに、ＰｒｉｎｔｅｒＥｌｅｍｅｎｔｓＣｈａｎｇｅＥｖｅｎｔ要求を送信する。代表プリンタから、ステップＳ１２１０で、ＰｒｉｎｔｅｒＥｌｅｍｅｎｔｓＣｈａｎｇｅＥｖｅｎｔ要求応答を受信し、イベント通知登録要求処理が終了する。
【０１０６】
図１３は、プリンタＰＲ１が代表プリンタに決定している場合に、非代表プリンタであるプリンタＰＲ２において既定の事象が発生した場合の通信シーケンスを示す図である。
【０１０７】
既定の事象は、上記のように、たとえば、装置の状態変化が起こった直後、ユーザによって装置の設定が変更された直後や、印刷実行した直後等である。
【０１０８】
通信１３０１で、非代表プリンタＰＲ２に既定の事象が発生したので、Ｐｒｏｂｅを発行する。通信１３０２で、Ｐｒｏｂｅを受信した代表プリンタＰＲ１が、ＰｒｏｂｅＭａｔｃｈ応答を発行する。通信１３０３、通信１３０４で、代表プリンタＰＲ１が、非代表プリンタＰＲ２からメタデータを取得する。
【０１０９】
通信１３０５で、代表プリンタＰＲ１が、Ｐｒｏｂｅを発行した非代表プリンタＰＲ２にＧｅｔＰｒｉｎｔｅｒＥｌｅｍｅｎｔｓを発行し、イベント通知登録を促す。ここで、促された非代表プリンタが、イベント登録要求をすることによって、代表プリンタで停止要因が発生した場合に実際に登録されている非代表プリンタから、継承先を選択し、ＰｒｉｎｔｅｒＥｌｅｍｅｎｔｓＣｈａｎｇｅＥｖｅｎｔを発行できる。
【０１１０】
代表プリンタが非代表プリンタに発行するＧｅｔＰｒｉｎｔｅｒＥｌｅｍｅｎｔｓ要求のＲｅｑｕｅｓｔｅｄＥｌｅｍｅｎｔｓ属性には、“ＳｅｎｄＳｕｂｓｃｒｉｐｔｉｏｎ”が設定されている。そして、この属性によって、他のＲｅｑｕｅｓｔｅｄＥｌｅｍｅｎｔｓ属性が指定されているＧｅｔＰｒｉｎｔｅｒＥｌｅｍｅｎｔ要求とは区別される。
【０１１１】
通信１３０６で、非代表プリンタＰＲ２が、ＧｅｔＰｒｉｎｔｅｒＥｌｅｍｅｎｔｓ要求応答を発行する。通信１３０７で、非代表プリンタＰＲ２が、代表プリンタＰＲ１に、ＰｒｉｎｔｅｒＥｌｅｍｅｎｔｓＣｈａｎｇｅＥｖｅｎｔの通知登録要求を発行する。そして、通信１３０８で、ＰｒｉｎｔｅｒＥｌｅｍｅｎｔｓＣｈａｎｇｅＥｖｅｎｔの通知登録応答を受信する。
【０１１２】
以上の処理によって、非代表プリンタにおいて、既定の事象が発生したタイミングで、代表プリンタが、非代表プリンタにイベント通知登録を促すことができる。
【０１１３】
上記実施例によれば、代表デバイスと非代表デバイスとが状況に応じて自動的に切り替わるので、特別な管理装置を設ける必要が無い。
【０１１４】
また、上記実施例によれば、代表装置の電源停止や、本体要因によるエラーが発生したときに、代表装置と非代表装置との切り替えが発生した場合、過去に蓄積された管理情報が自動的に継承することができる。したがって、新たに代表装置になった装置が、周囲の非代表装置の管理情報を、最初から収集し直す必要がなく、効率的である。
【０１１５】
さらに、非代表デバイスが自分自身の状態の変化を能動的に代表デバイスに通知することができる。したがって、代表デバイスから非代表デバイスに定期的にポーリングして情報を取得する従来例と比較すると、ネットワークのトラフィックを軽減しつつ必要な情報を取得することができる点で優れている。
【０１１６】
ユーザ別の印刷履歴、ネットワーク通信のパフォーマンス・ログ、または装置の稼動状態等、代表装置の記憶領域に蓄積されている管理情報は、一度消えると再収集できない。しかし、それらの情報を代表デバイスから次に代表となる非代表デバイスへ、継承することができる。
【０１１７】
なお、ネットワーク印刷システム１００は、代表装置に切り替え可能な非代表装置が代表装置になった場合に、周囲に存在している非代表装置から得た情報を、デバイス管理情報リストとして管理するシステムの例である。
【０１１８】
また、ＣＰＵ２０１は、規定のタイミング（非代表デバイスの状態が変化したタイミング）で、上記代表デバイスが必要とする情報を上記非代表デバイスに対して要求するコマンドを送信するコマンド送信手段の例である。また、周囲の装置から、上記イベント通知登録要求を受信するコマンド受信手段の例である。ＣＰＵ２０１は、代表装置が停止する場合、ＷＳＤプロトコルを利用して、非代表装置から得たデバイス管理情報を比較し、次の代表装置を選定する代表装置選定手段の例である。ＣＰＵ２０１は、選択された非代表装置に対して、代表装置が登録されたイベントを通知することによって、代表権限とデバイス管理情報とを継承する継承情報生成手段の例である。
【０１１９】
上記代表プリンタは、コマンド受信手段で受信した上記情報をデバイス管理情報として管理する管理手段の例である。また、デバイス情報に基づいて、上記非代表プリンタの中から、次の代表プリンタを決定する代表デバイス選定手段の例である。この場合、プリンタ機能の停止前、または上記ネットワーク上からの接続解除の前に、次の代表プリンタに、上記権限の委譲と上記デバイス管理情報を送信することによって、代表プリンタの権限と非代表プリンタのデバイス情報とを継承する。
【０１２０】
また、代表デバイス選定手段は、次の代表プリンタとして決定する手段である。イベントを受信した時刻が最も古い非代表プリンタ、デバイス情報の使用頻度が一番少ない非代表プリンタ、デバイス情報の性能が高い非代表プリンタを基準に選定する。非代表プリンタは、デバイス管理情報を受信した際に、代表プリンタに書換え、管理情報を上書きし、ネットワーク上の他の複数のプリンタに、代表プリンタであることを上記コマンド送信手段が送信するプリンタである。
【０１２１】
さらに、上記非代表プリンタは、自分自身の状態に変化が起こった際に、上記ネットワーク上の他の複数のプリンタに、上記コマンド送信手段を用いて状態の変化を送信するプリンタである。上記既定のタイミング（上記非代表デバイスの状態が変化したタイミング）は、電源投入時である。上記既定のタイミングは、非代表装置が印刷し、装置の状態が変化した後、または装置の設定が変更された後である。
【０１２２】
すなわち、上記実施例によれば、特別な管理装置を設けずに、また、ネットワークに負荷をかけずに、代表デバイスと非代表デバイスとを切り替えることができる。また、上記実施例によれば、代表デバイスとしての管理権限のみならず、今まで蓄積された非代表デバイスの管理情報をも非代表デバイスに継承することができる。
【符号の説明】
【０１２３】
１００…ネットワーク印刷システム、
３０１…プリンタのプログラムのアプリケーション層、
３０２…プリンタのプログラムのミドルウェア層、
３０３…プリンタのプログラムのオペレーションシステム、
５０２…デバイス情報リストに含まれる代表デバイス・フラグ。
【図１】
2010282610.tif 000003
【図２】
2010282610.tif 000004
【図３】
2010282610.tif 000005
【図４】
2010282610.tif 000006
【図５】
2010282610.tif 000007
【図６】
2010282610.tif 000008
【図７】
2010282610.tif 000009
【図８】
2010282610.tif 000010
【図９】
2010282610.tif 000011
【図１０】
2010282610.tif 000012
【図１１】
2010282610.tif 000013
【図１２】
2010282610.tif 000014
【図１３】
2010282610.tif 000015