(57)【要約】【課題】通信装置が、第１の周辺装置の状態情報と第２の周辺装置の状態情報とを適切に管理する。【解決手段】通信装置は、第１種の通信ＩＦを介して第１の周辺装置の第１の状態情報を受信し、第２種の通信ＩＦを介して第１の状態情報を第１のアドレスを用いて管理装置に送信し、第１種の通信ＩＦを介して通信装置が第１の周辺装置と通信可能であり、第１種の通信ＩＦを介して通信装置が第２の周辺装置と通信可能でない第１の通信状態から、第１種の通信ＩＦを介して通信装置が第２の周辺装置と通信可能である第２の通信状態への遷移を検出し、該遷移が検出される場合に、第１種の通信ＩＦを介して第２の周辺装置の第２の状態情報を受信し、第２種の通信ＩＦを介して第２の状態情報を第２のアドレスを用いて管理装置に送信する。【選択図】  図２
2019067010.tif 000002
【特許請求の範囲】
【請求項１】
第１種の通信インタフェースと、第２種の通信インタフェースと、を備える通信装置のコンピュータにて実行されるコンピュータプログラムであって、
前記第１種の通信インタフェースを介して、第１の周辺装置から前記第１の周辺装置の第１の状態情報を受信する状態受信機能と、
前記第２種の通信インタフェースを介して、前記第１の周辺装置の前記第１の状態情報を前記通信装置が取得済みの第１のアドレスを用いて管理装置に送信する状態送信機能と、
前記第１種の通信インタフェースを介して前記通信装置が前記第１の周辺装置と通信可能であり、前記第１種の通信インタフェースを介して前記通信装置が第２の周辺装置と通信可能でない第１の通信状態から、前記第１種の通信インタフェースを介して前記通信装置が前記第２の周辺装置と通信可能である第２の通信状態への遷移を検出する通信検出機能と、
前記第１の通信状態から前記第２の通信状態への遷移が検出される場合に、前記第１のアドレスとは異なる第２のアドレスを取得するアドレス取得機能と、
を前記コンピュータに実現させ、
前記状態受信機能は、前記第２の通信状態において、前記第１種の通信インタフェースを介して、前記第２の周辺装置から前記第２の周辺装置の第２の状態情報を受信し、
前記状態送信機能は、前記第２の通信状態において、前記第２種の通信インタフェースを介して、前記第２の周辺装置の前記第２の状態情報を前記第２のアドレスを用いて前記管理装置に送信する、コンピュータプログラム。
【請求項２】
請求項１に記載のコンピュータプログラムであって、
前記第２の通信状態は、前記第１種の通信インタフェースを介して前記通信装置が前記第２の周辺装置と通信可能であり、前記第１種の通信インタフェースを介して前記通信装置が前記第１の周辺装置と通信可能でない状態である、コンピュータプログラム。
【請求項３】
請求項１または２に記載のコンピュータプログラムであって、
前記第１種の通信インタフェースは、第１の通信規格に従う通信を行うインタフェースであり、
前記第２種の通信インタフェースは、前記第１の通信規格とは異なる第２の通信規格に従う通信を行うインタフェースである、コンピュータプログラム。
【請求項４】
請求項３に記載のコンピュータプログラムであって、
前記第１の通信規格は、ＵＳＢ（Universal Serial Busの略）であり、
前記第２の通信規格は、ＩＰ（Internet Protocolの略）である、コンピュータプログラム。
【請求項５】
請求項１〜４のいずれかに記載のコンピュータプログラムであって、さらに、
前記第１種の通信インタフェースを介して前記通信装置が通信可能な前記周辺装置から、前記周辺装置の識別情報を受信する識別情報受信機能を前記コンピュータに実現させ、
前記通信検出機能は、前記第１種の通信インタフェースを介して第１の前記識別情報が受信され、前記第１の識別情報が受信された後に、前記第１の識別情報とは異なる第２の前記識別情報が受信される場合に、前記第１の通信状態から前記第２の通信状態への遷移を検出する、コンピュータプログラム。
【請求項６】
請求項５に記載のコンピュータプログラムであって、さらに、
前記識別情報受信機能は、前記第１種の通信インタフェースを介して前記通信装置が通信可能な前記周辺装置に定期的に送信する要求に対する応答として、前記識別情報を受信する、コンピュータプログラム。
【請求項７】
請求項１〜６のいずれかに記載のコンピュータプログラムであって、
前記アドレス取得機能は、
前記第１の通信状態から前記第２の通信状態への遷移が検出される場合に、前記第２種の通信インタフェースを介して通信可能なネットワーク内のアドレス割当装置にアドレスの要求を送信し、
前記アドレスの要求に対する応答として、前記アドレス割当装置から、前記第２のアドレスを取得する、コンピュータプログラム。
【請求項８】
請求項１〜６のいずれかに記載のコンピュータプログラムであって、
前記アドレス取得機能は、
前記第１の通信状態から前記第２の通信状態への遷移が検出される場合に、前記第２種の通信インタフェースを介して通信可能なネットワーク内で未使用の前記アドレスを特定し、
特定される前記未使用のアドレスを前記第２のアドレスとして取得する、コンピュータプログラム。
【請求項９】
請求項１〜８のいずれかに記載のコンピュータプログラムであって、
前記状態受信機能は、前記周辺装置と定期的に通信を行って、前記周辺装置の前記状態情報を定期的に受信し、
定期的に受信される前記周辺装置の前記状態情報は、前記通信装置のメモリに格納され、
前記状態送信機能は、前記管理装置から前記状態情報の要求を受信した場合に、前記メモリに格納される前記周辺装置の前記状態情報を前記管理装置に送信する、コンピュータプログラム。
【請求項１０】
請求項１〜９のいずれかに記載のコンピュータプログラムであって、
前記周辺装置は、印刷を実行する印刷実行部を備え、
前記状態情報は、前記印刷実行部における消耗品の残量を示す情報と、前記消耗品の交換回数を示す情報と、印刷枚数を示す情報と、前記印刷実行部におけるエラーに関する情報と、のうちの少なくとも一個の情報を含む、コンピュータプログラム。
【請求項１１】
通信装置であって、
第１種の通信インタフェースと、
第２種の通信インタフェースと、
前記第１種の通信インタフェースを介して、第１の周辺装置から前記第１の周辺装置の第１の状態情報を受信する状態受信部と、
前記第２種の通信インタフェースを介して、前記第１の周辺装置の前記第１の状態情報を前記通信装置が取得済みの第１のアドレスを用いて管理装置に送信する状態送信部と、
前記第１種の通信インタフェースを介して前記通信装置が前記第１の周辺装置と通信可能であり、前記第１種の通信インタフェースを介して前記通信装置が第２の周辺装置と通信可能でない第１の通信状態から、前記第１種の通信インタフェースを介して前記通信装置が前記第２の周辺装置と通信可能である第２の通信状態への遷移を検出する通信検出部と、
前記第１の通信状態から前記第２の通信状態への遷移が検出される場合に、前記第１のアドレスとは異なる第２のアドレスを取得するアドレス取得部と、
を備え、
前記状態受信部は、前記第２の通信状態において、前記第１種の通信インタフェースを介して、前記第２の周辺装置から前記第２の周辺装置の第２の状態情報を受信し、
前記状態送信部は、前記第２の通信状態において、前記第２種の通信インタフェースを介して、前記第２のアドレスを用いて、前記第２の周辺装置の前記第２の状態情報を前記第２のアドレスを用いて前記管理装置に送信する、通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書は、周辺装置と管理装置と通信可能な通信装置、および、該通信装置のコンピュータにて実行されるコンピュータプログラムに関する。
【背景技術】
【０００２】
特許文献１には、ＬＡＮ（Local Area Network）を介して相互に接続された管理装置と、ユーザの端末装置と、を備え、端末装置にローカルプリンタがＵＳＢケーブルを介して接続されるシステムが開示されている。このシステムでは、管理装置は、端末装置にローカルプリンタが接続されているか否かを判定する。管理装置は、端末装置にローカルプリンタが接続されていると判定する場合には、配信サーバから端末装置に印刷管理プログラムを配信させる。この結果、端末装置に、印刷管理プログラムがインストールされる。端末装置は、印刷管理プログラムを利用して、ローカルプリンタの印刷枚数の情報を管理装置に送信する。これにより、管理装置は、端末装置に接続されたローカルプリンタの印刷枚数を管理することができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−６１７８４号公報
【特許文献２】特開２０００−２９３３２４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記技術では、端末装置が、一のローカルプリンタと別のローカルプリンタと通信し得る場合には、管理装置は、これらのローカルプリンタの状態情報（例えば、印刷枚数）を適切に管理できない可能性があった。例えば、管理装置は、一のローカルプリンタの印刷枚数と、別のローカルプリンタの印刷枚数と、を区別して管理できない可能性があった。このような課題は、端末装置などの通信装置が、第１の周辺装置と第２の周辺装置と通信し得る場合に、共通する課題であった。
【０００５】
本明細書は、通信装置が、第１の周辺装置と第２の周辺装置と通信し得る場合に、第１の周辺装置の状態情報と第２の周辺装置の状態情報とを適切に管理できる技術を開示する。
【課題を解決するための手段】
【０００６】
本明細書に開示された技術は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の適用例として実現することが可能である。
【０００７】
［適用例１］第１種の通信インタフェースと、第２種の通信インタフェースと、を備える通信装置のコンピュータに実行されるコンピュータプログラムであって、前記第１種の通信インタフェースを介して、第１の周辺装置から前記第１の周辺装置の第１の状態情報を受信する状態受信機能と、前記第２種の通信インタフェースを介して、前記第１の周辺装置の前記第１の状態情報を前記通信装置に割り当て済みの第１のアドレスを用いて管理装置に送信する状態送信機能と、前記第１種の通信インタフェースを介して前記通信装置が前記第１の周辺装置と通信可能であり、前記第１種の通信インタフェースを介して前記通信装置が第２の周辺装置と通信可能でない第１の通信状態から、前記第１種の通信インタフェースを介して前記通信装置が前記第２の周辺装置と通信可能である第２の通信状態への遷移を検出する通信検出機能と、前記第１の通信状態から前記第２の通信状態への遷移が検出される場合に、前記第１のアドレスとは異なる第２のアドレスを取得するアドレス取得機能と、を前記コンピュータに実現させ、前記状態受信機能は、前記第２の通信状態において、前記第１種の通信インタフェースを介して、前記第２の周辺装置から前記第２の周辺装置の第２の状態情報を受信し、前記状態送信機能は、前記第２の通信状態において、前記第２種の通信インタフェースを介して、前記第２の周辺装置の前記第２の状態情報を前記第２のアドレスを用いて前記管理装置に送信する、コンピュータプログラム。
【０００８】
上記構成によれば、通信装置は、第１のアドレスを用いて、第１の周辺装置の第１の状態情報を管理装置に送信し、第２のアドレスを用いて、第２の周辺装置の第２の状態情報を管理装置に送信する。この結果、管理装置は、アドレスに基づいて、第１の周辺装置の第１の状態情報と、第２の周辺装置の第２の状態情報と、を区別できる。したがって、通信装置が、第１の周辺装置と第２の周辺装置と通信し得る場合に、管理装置は、第１の周辺装置の第１の状態情報と第２の周辺装置の第２の状態情報とを適切に管理できる。
【０００９】
なお、本明細書に開示される技術は、種々の形態で実現することが可能であり、例えば、通信装置、通信装置と管理装置とを含むシステム、通信方法、周辺装置の管理方法、これら装置の機能または上記方法を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体、等の形態で実現することができる。
【図面の簡単な説明】
【００１０】
【図１】システム１０００の構成を示すブロック図。
【図２】装置情報受信処理のフローチャート。
【図３】装置情報送信処理のフローチャート。
【図４】システム１０００の動作を示す第１のシーケンス図。
【図５】システム１０００の動作を示す第２のシーケンス図。
【図６】管理サーバ３００に格納されるプリンタ管理テーブルＰＭＴの一例を示す図。
【図７】システム１０００の動作を示す第３のシーケンス図。
【発明を実施するための形態】
【００１１】
Ａ．実施例
Ａ−１：システム１０００の構成
図１は、システム１０００の構成を示すブロック図である。システム１０００は、本実施例の通信装置としての端末装置１００と、周辺装置としてのプリンタ２００Ａ、２００Ｂと、管理装置としての管理サーバ３００と、ＤＨＣＰサーバ４００と、ネットワークプリンタ５００と、を備える。端末装置１００と、管理サーバ３００と、ＤＨＣＰサーバ４００と、ネットワークプリンタ５００とは、ローカルエリアネットワークＮＴに接続されている。これらの装置１００、３００、４００、５００は、ローカルエリアネットワークＮＴを介して、互いに通信可能である。プリンタ２００Ａ、２００Ｂは、ＵＳＢケーブルを介して端末装置１００と接続可能である。
【００１２】
端末装置１００は、端末装置１００のコントローラとしてのＣＰＵ１１０と、ＤＲＡＭなどの揮発性記憶装置１２０と、ハードディスクやフラッシュメモリなどの不揮発性記憶装置１３０と、画像を表示する液晶ディスプレイなどの表示部１４０と、ユーザによる操作を取得するためのキーボードやマウスなどの操作部１５０と、ＵＳＢインタフェース（ＩＦ）１７０と、ネットワークインタフェース（ＩＦ）１８０と、を備えている。
【００１３】
ＵＳＢＩＦ１７０は、シリアルバス規格の一つであるＵＳＢ（Universal Serial Bus）規格に従ったデータ通信を行うためのインタフェースである。端末装置１００は、プリンタ２００Ａ、２００ＢとＵＳＢケーブルを介して接続された状態で、読取実行部１７０を介して、プリンタ２００Ａ、２００Ｂと通信可能である。
【００１４】
ネットワークＩＦ１８０は、ローカルエリアネットワークＮＴに接続されている。ネットワークＩＦ１８０は、ＯＳＩ参照モデルのネットワーク層のプロトコルとしてＩＰ（Internet Protocol）を用いる通信規格に従ってデータ通信を行うためのインタフェースである。具体的には、ネットワークＩＦ１８０は、イーサネット（登録商標）に準拠した有線のインタフェースや、Ｗｉ−Ｆｉ規格（ＩＥＥＥ（The Institute of Electrical and Electronics Engineers, Inc.の略）の８０２．１１の規格又はそれに準ずる規格（例えば、８０２．１１ａ，１１ｂ，１１ｇ，１１ｎ等）に従った規格）に準拠した無線のインタフェースである。
【００１５】
ＣＰＵ１１０は、データ処理を行う演算装置（プロセッサ）である。揮発性記憶装置１２０は、ＣＰＵ１１０が処理を行う際に生成される種々の中間データを一時的に格納するバッファ領域を提供する。揮発性記憶装置１２０は、管理サーバ３００に送信すべきプリンタ２００Ａ、２００Ｂの状態情報（後述）を格納する送信情報領域ＳＡとして利用される。不揮発性記憶装置１３０には、コンピュータプログラムＰＧと、ＩＰアドレスＤＡと、プリンタ識別情報ＰＩＤと、が格納されている。
【００１６】
ＩＰアドレスＤＡは、端末装置１００に割り当てられたＩＰアドレスであり、ローカルエリアネットワークＮＴを介した通信にて用いられるように設定されたローカルＩＰアドレスである。さらに、このＩＰアドレスＤＡは、動的に変更されない固定ＩＰアドレスである。初期のＩＰアドレスＤＡは、例えば、ユーザによって手入力で設定される。
【００１７】
プリンタ識別情報ＰＩＤは、ＵＳＢＩＦ１７０に接続されているローカルプリンタ、本実施例では、プリンタ２００Ａ、２００Ｂのうちのいずれかを識別するための識別情報であり、具体的には、プリンタ２００Ａ、２００Ｂのシリアル番号である。
【００１８】
コンピュータプログラムＰＧは、例えば、プリンタ２００Ａ、２００Ｂのベンダによって運営されるサーバ（図示省略）からダウンロードされる形態で提供されるアプリケーションプログラムである。これに代えて、コンピュータプログラムＰＧは、ＣＤ−ＲＯＭなどに記録された形態で提供されても良く、端末装置１００の製造時に不揮発性記憶装置１３０に予め格納されて提供されても良い。
【００１９】
ＣＰＵ１１０は、コンピュータプログラムＰＧを実行することによって、後述する装置情報送信処理と、装置情報受信処理と、を実行する。これによって、端末装置１００は、ＵＳＢＩＦ１７０に接続されたプリンタ（例えば、プリンタ２００Ａ、２００Ｂ）の状態情報（後述）を含む装置情報を、該プリンタから受信し、該装置情報を管理サーバ３００に送信する。
【００２０】
プリンタ２００Ａは、上述したように、ＵＳＢケーブルを介して端末装置１００と接続されるローカルプリンタである。プリンタ２００Ａは、印刷実行部２４０Ａと、情報データベース（ＤＢ）２５０Ａと、を備えている。
【００２１】
印刷実行部２４０Ａは、例えば、端末装置１００から受信される印刷ジョブに従って、印刷処理を実行する。印刷処理は、所定の方式（例えば、レーザ方式や、インクジェット方式）に従って、印刷材（例えば、トナーやインク）を用いて、用紙（印刷媒体の一例）上に画像を印刷する処理である。
【００２２】
情報ＤＢ２５０Ａは、プリンタ２００Ａに関する装置情報が格納されたデータベースである。プリンタ２００Ａに関する装置情報は、上述したシリアル番号やモデル名を示す情報や、プリンタ２００Ａの状態（ステータス）を示す状態情報を含む。状態情報は、複数個の項目を含む。複数個の項目は、例えば、印刷実行部２４０Ａにおける消耗品の残量を示す情報と、消耗品の交換回数を示す情報と、印刷枚数を示す情報と、印刷実行部２４０Ａにおけるエラーに関する情報と、を含む。消耗品の残量は、例えば、トナーやインクなどの印刷材の残量、印刷実行部２４０Ａの用紙トレイの用紙の残量（残りの枚数）を含む。消耗品の交換回数は、例えば、トナーカートリッジやインクカートリッジなどの印刷材の容器の交換回数を含む。印刷枚数は、例えば、印刷実行部２４０Ａの累積印刷枚数や、用紙のサイズごとの印刷枚数を含む。エラーに関する情報は、例えば、エラーの有無（正常か否か）を示す情報や、発生しているエラーの種類を示す情報を含む。
【００２３】
プリンタ２００Ｂは、プリンタ２００Ａと同様のローカルプリンタである。プリンタ２００Ｂは、プリンタ２００Ａと同様の印刷実行部２４０Ｂおよび情報ＤＢ２５０Ｂを備える。
【００２４】
ネットワークプリンタ５００は、ローカルエリアネットワークＮＴに接続され、ローカルエリアネットワークＮＴに接続される装置（例えば、管理サーバ３００や端末装置１００）と通信可能である。ネットワークプリンタ５００は、ローカルエリアネットワークＮＴを介して印刷ジョブを受信して印刷を実行する。ネットワークプリンタ５００は、プリンタ２００Ａと同様の印刷実行部５４０および情報ＤＢ５５０を備える。
【００２５】
管理サーバ３００は、図示しないＣＰＵとメモリとを備える計算機である。管理サーバ３００は、ローカルエリアネットワークＮＴを介して、システム１０００内のプリンタ、すなわち、プリンタ２００Ａ、２００Ｂ、ネットワークプリンタ５００の状態情報を含む装置情報を収集する。装置情報の収集には、本実施例では、ＳＮＭＰ（Simple Network Management Protocol）が用いられる。管理サーバ３００は、収集された装置情報を、例えば、システム１０００を管理する事業者のサーバ（図示省略）に対して、インターネットを介して送信する。事業者は、たとえば、管理サーバ３００から送信された装置情報に基づいて、システム１０００内のプリンタの印刷枚数や、印刷材などの消耗品の残量を把握し、例えば、印刷枚数に応じた課金や印刷材の供給を行う。
【００２６】
ＤＨＣＰサーバ４００は、ＤＨＣＰ（Dynamic Host Configuration Protocol）に従って動作するアドレス割当装置である。ＤＨＣＰサーバ４００は、ローカルエリアネットワークＮＴ内に接続された装置（例えば、端末装置１００や、図示しないユーザの端末装置）からのアドレスの要求に応じて、該要求の送信元の装置にＩＰアドレスを動的に割り当てる。なお、詳細は後述するが、ＤＨＣＰサーバ４００は、システム１０００において、ローカルエリアネットワークＮＴに接続されていなくても良い。
【００２７】
Ａ−２：システム１０００の動作
端末装置１００のＣＰＵ１１０は、装置情報受信処理と装置情報送信処理とを、電源が投入されている間に、常時、並行して実行している。これにより、端末装置１００は、ＵＳＢＩＦ１７０に接続されたプリンタ（例えば、プリンタ２００Ａ、２００Ｂ）の状態情報を含む装置情報を、該プリンタから受信し、該装置情報を管理サーバ３００に送信する。
【００２８】
Ａ−２−１：装置情報受信処理
図２は、装置情報受信処理のフローチャートである。ここでは、ＵＳＢＩＦ１７０にプリンタ２００Ａが接続されているとして説明する。Ｓ１０５では、ＣＰＵ１１０は、ＵＳＢＩＦ１７０に接続されたプリンタの装置情報の受信時間が到来したか否かを判断する。本実施例では、ＣＰＵ１１０は、定期的、例えば、数時間に１回の頻度で、ＵＳＢＩＦ１７０に接続されたプリンタから該プリンタの装置情報を受信する。
【００２９】
受信時間が到来していない場合には（Ｓ１０５：ＮＯ）、ＣＰＵ１１０は、受信時間が到来するまで待機する。受信時間が到来した場合には（Ｓ１０５：ＹＥＳ）、Ｓ１１０にて、ＣＰＵ１１０は、ＵＳＢＩＦ１７０を介して、プリンタ２００Ａに装置情報の要求を送信する。ここで送信される装置情報の供給は、本実施例では、プリンタのシリアル番号の要求と、モデル名の要求と、状態情報としての累積印刷枚数の要求と、状態情報としての印刷材の残量の要求と、を含む。装置情報の要求には、例えば、ＰＪＬ（Printer Job Language）を用いて記述されたコマンドが用いられる。ＵＳＢＩＦ１７０に接続されているプリンタ２００Ａは、装置情報の要求に応じて、該要求にて指定された装置情報を情報ＤＢ２５０Ａから取得して、端末装置１００に送信する。
【００３０】
Ｓ１１５では、ＣＰＵ１１０は、装置情報の要求に対する応答として、プリンタから装置情報を受信する。ここで受信される装置情報は、本実施例では、上述したように、プリンタのシリアル番号と、モデル名と、状態情報としての累積印刷枚数および印刷材の残量と、を含む。
【００３１】
Ｓ１２０では、ＣＰＵ１１０は、受信済みの装置情報を送信情報領域ＳＡに格納する。送信情報領域ＳＡに格納済みの装置情報は、後述するように、管理サーバ３００からのＳＮＭＰ要求に応じて、管理サーバ３００に送信される。
【００３２】
Ｓ１２５では、ＣＰＵ１１０は、ＵＳＢＩＦ１７０に接続されたプリンタが、端末装置１００が認識しているプリンタから変更されたか否かを判断する。具体的には、ＣＰＵ１１０は、不揮発性記憶装置１３０にプリンタ識別情報ＰＩＤとして記録済みのプリンタのシリアル番号と、Ｓ１１５にて受信済みのプリンタのシリアル番号と、を比較する。プリンタ識別情報ＰＩＤとして記録済みのプリンタのシリアル番号と、Ｓ１１５にて受信済みのプリンタのシリアル番号とが、異なる場合には、ＵＳＢＩＦ１７０に接続されたプリンタは変更されたと判断される。プリンタ識別情報ＰＩＤとして記録済みのプリンタのシリアル番号と、Ｓ１１５にて受信済みのプリンタのシリアル番号とが、同一である場合には、ＵＳＢＩＦ１７０に接続されたプリンタは変更されていないと判断される。例えば、前回の受信時間から今回の受信時間との間に、ＵＳＢＩＦ１７０に接続されたプリンタ２００Ａが取り外され、プリンタ２００Ａに代えてプリンタ２００Ｂが新たにＵＳＢＩＦ１７０に接続された場合には、本ステップにおいて、ＵＳＢＩＦ１７０に接続されたプリンタは変更されたと判断される。
【００３３】
ＵＳＢＩＦ１７０に接続されたプリンタが変更された場合には（Ｓ１２５：ＹＥＳ）、Ｓ１３０にて、ＣＰＵ１１０は、不揮発性記憶装置１３０のプリンタ識別情報ＰＩＤを更新する。具体的には、Ｓ１１５にて受信済みのプリンタのシリアル番号が、新たなプリンタ識別情報ＰＩＤとして、不揮発性記憶装置１３０に格納される。
【００３４】
Ｓ１３２では、ＣＰＵ１１０は、ＤＨＣＰサーバ４００から新たなＩＰアドレスの取得を試行する。具体的には、ＣＰＵ１１０は、ＤＨＣＰに従って、新たなＩＰアドレスの要求をローカルエリアネットワークＮＴ内にブロードキャストする。この結果、ＤＨＣＰサーバ４００がローカルエリアネットワークＮＴ内で動作していれば、ＣＰＵ１１０は、ＤＨＣＰサーバ４００にＩＰアドレスの要求を送信できる。この場合、ＤＨＣＰサーバ４００は、当該ＩＰアドレスの要求に対する応答として、新たなＩＰアドレスを端末装置１００に送信する。この結果、端末装置１００は、ＤＨＣＰサーバ４００を利用して、新たなＩＰアドレスを容易に取得することができる。
【００３５】
Ｓ１３５では、ＣＰＵ１１０は、Ｓ１３０において新たなＩＰアドレスの取得に成功したか否かを判断する。ＣＰＵ１１０は、ＤＨＣＰサーバ４００から新たなＩＰアドレスを受信した場合には、新たなＩＰアドレスの取得に成功したと判断する。また、ＣＰＵ１１０は、新たなＩＰアドレスの要求の送信後、所定の期間が経過しても、新たなＩＰアドレスを受信しない場合には、ＣＰＵ１１０は、新たなＩＰアドレスの取得に失敗したと判断する。ＩＰアドレスの取得に失敗する場合としては、システム１０００において、ローカルエリアネットワークＮＴにＤＨＣＰサーバ４００が接続されていない場合がある。
【００３６】
新たなＩＰアドレスの取得に成功した場合には（Ｓ１３５：ＹＥＳ）、Ｓ１４０にて、ＣＰＵ１１０は、取得済みの新たなＩＰアドレスを、ネットワークＩＦ１８０を介した通信にて用いるべきＩＰアドレスＤＡ（図１）として設定する。
【００３７】
新たなＩＰアドレスの取得に失敗した場合には（Ｓ１３５：ＮＯ）、Ｓ１４５にて、ＣＰＵ１１０は、新たなＩＰアドレスの候補となる候補アドレスを決定する。ＣＰＵ１１０は、現在のＩＰアドレスＤＡとネットワーク設定に含まれるサブネットマスクとに基づいて特定される使用可能なＩＰアドレスの範囲を特定し、該範囲に含まれる１個のＩＰアドレスを候補アドレスとして決定する。
【００３８】
Ｓ１５０では、ＣＰＵ１１０は、ＰＩＮＧを用いて、候補アドレスがローカルエリアネットワークＮＴ内において未使用であるか否かを確認する。具体的には、ＣＰＵ１１０は、宛先ＩＰアドレスとして候補アドレスを指定して、ＩＣＭＰ（Internet Control Message Protocol）のＰＩＮＧ要求を、ローカルエリアネットワークＮＴ内に送信する。ＣＰＵ１１０は、所定の応答期間内に、ＰＩＮＧ要求に対する応答を受信する場合には、候補アドレスが使用中であると判断し、ＰＩＮＧ要求に対する応答を受信しない場合には、候補アドレスが未使用であると判断する。
【００３９】
Ｓ１５５では、ＣＰＵ１１０は、Ｓ１５０での確認の結果、候補アドレスは未使用であるか否かを判断する。候補アドレスが未使用である場合には（Ｓ１５５：ＹＥＳ）、Ｓ１６０にて、ＣＰＵ１１０は、候補アドレスを、ネットワークＩＦ１８０を介した通信にて用いるべき新たなＩＰアドレスＤＡ（図１）として設定する。候補アドレスが使用中である場合には（Ｓ１５５：ＮＯ）、ＣＰＵ１１０は、Ｓ１４５に戻って、別の候補アドレスを決定する。
【００４０】
Ｓ１４０またはＳ１６０にて新たなＩＰアドレスＤＡが設定された場合には、ＣＰＵ１１０は、Ｓ１０５に戻って、次の受信時間まで待機する。
【００４１】
ＵＳＢＩＦ１７０に接続されたプリンタが変更されてない場合には（Ｓ１２５：ＮＯ）、ＣＰＵ１１０は、上述したＳ１３０〜Ｓ１６０の処理をスキップして、Ｓ１０５に戻る。すなわち、この場合には、ＣＰＵ１１０は、新たなＩＰアドレスＤＡを設定することなく、次の受信時間まで待機する。
【００４２】
Ａ−２−２：管理サーバ３００の動作
ここで、装置情報送信処理の説明の前に、管理サーバ３００の動作について説明する。管理サーバ３００は、管理サーバ３００は、ＳＮＭＰ(Simple Network Management Protocol)マネージャとしての機能を備えている。管理サーバ３００は、ローカルエリアネットワークＮＴ内のプリンタの装置情報を収集するために、定期的、例えば、１日あたり１〜数回の頻度で、ＳＮＭＰ要求の送信を行っている。具体的には、管理サーバ３００は、装置情報の収集時間が到来すると、ローカルエリアネットワークＮＴ内のプリンタを探索するためのＳＮＭＰ要求を、ローカルエリアネットワークＮＴ内にブロードキャストする。ローカルエリアネットワークＮＴ内のネットワークプリンタ５００は、該ＳＮＭＰ要求に対して、自身のＩＰアドレスを含む応答を返信する。同様に、ＵＳＢＩＦ１７０に接続されるプリンタの装置情報を中継する（コンピュータプログラムＰＧを格納する）端末装置１００は、該ＳＮＭＰ要求に対して、自身のＩＰアドレスを含む応答を返信する。管理サーバ３００は、ＩＰアドレスによってプリンタを識別する。したがって、管理サーバ３００は、端末装置１００を１個のプリンタとして認識する。なお、コンピュータプログラムＰＧを格納しない端末装置（図示省略）は、管理サーバ３００から送信されるＳＮＭＰ要求に対して返信しない。
【００４３】
管理サーバ３００は、探索されたネットワークプリンタ５００と、端末装置１００と、のそれぞれに対して、取得したＩＰアドレスを用いて、装置情報の送信を要求するＳＮＭＰ要求を送信する。本実施例では、ＳＮＭＰ要求は、装置情報に含まれる複数個の項目を収集するために、複数回に亘って送信される。本実施例では、シリアル番号と、モデル名と、累積印刷枚数と、印刷材の残量と、の４個の項目をそれぞれ要求する４回のＳＮＭＰ要求が送信される。これらの項目のそれぞれは、例えば、ネットワークプリンタ５００や端末装置１００においてＭＩＢ（Management information base）情報として管理されている。すなわち、これらの項目は、例えば、ＭＩＢ情報を構成する複数個のオブジェクトの１つである。このために、各項目を要求するＳＮＭＰ要求には、要求する項目（オブジェクト）を示すオブジェクトＩＤを含む。１セットの装置情報の収集のために、複数個のＳＮＭＰ要求が、ネットワークプリンタ５００と端末装置１００とのそれぞれに送信される。
【００４４】
管理サーバ３００は、複数個のＳＮＭＰ要求に対する応答として、ネットワークプリンタ５００および端末装置１００から装置情報を受信する。管理サーバ３００は、受信した装置情報を、プリンタ管理テーブルＰＭＴに記録する。プリンタ管理テーブルＰＭＴについては後述する。
【００４５】
Ａ−２−３：装置情報送信処理
次に、端末装置１００のＣＰＵ１１０が実行する装置情報送信処理について説明する。端末装置１００は、ＳＮＭＰエージェントとして機能し、管理サーバ３００からのＳＮＭＰ要求に対して応答することによって装置情報送信処理を実行する。図３は、装置情報送信処理のフローチャートである。
【００４６】
Ｓ２１０では、ＣＰＵ１１０は、上述した管理サーバ３００から送信されるＳＮＭＰ要求を受信したか否かを判断する。ＳＮＭＰ要求が受信されていない場合には（Ｓ２１０：ＮＯ）、ＣＰＵ１１０は、ＳＮＭＰ要求を受信するまで待機する。ＳＮＭＰ要求が受信された場合には（Ｓ２１０：ＹＥＳ）、Ｓ２２０にて、ＣＰＵ１１０は、受信済みのＳＮＭＰ要求によって要求された情報が、記憶されているか否かを判断する。例えば、受信済みのＳＮＭＰ要求が、上述したプリンタを探索するためのＳＮＭＰ要求である場合には、要求された情報は、自身のＩＰアドレスＤＡである。また、受信済みのＳＮＭＰ要求が、装置情報の各項目の要求である場合には、要求された情報が送信情報領域ＳＡに記憶されているか否かが判断される。
【００４７】
ＳＮＭＰ要求によって要求された情報が記憶されている場合には（Ｓ２２０：ＹＥＳ）、Ｓ２３０にて、ＣＰＵ１１０は、ＳＮＭＰ要求に対する応答として、要求された情報を、管理サーバ３００に送信する。ＳＮＭＰ要求によって要求された情報が記憶されていない場合には（Ｓ２２０：ＮＯ）、Ｓ２４０にて、ＣＰＵ１１０は、ＳＮＭＰ要求に対する応答として、要求された情報がないことを示す情報を、管理サーバ３００に送信する。ＳＮＭＰ要求に対する応答の送信（Ｓ２３０、Ｓ２４０）では、端末装置１００に割り当てられているＩＰアドレスＤＡが、送信元ＩＰアドレスとして用いられる。ＳＮＭＰ要求に対する応答が管理サーバ３００に送信されると、ＣＰＵ１１０は、Ｓ２１０に戻って、次のＳＮＭＰ要求が受信されるまで待機する。
【００４８】
Ａ−３：ＤＨＣＰサーバ４００がある場合の動作
以上説明したシステム１０００の動作の具体例をさらに説明する。図４は、システム１０００の動作を示す第１のシーケンス図である。図５は、システム１０００の動作を示す第２のシーケンス図である。図６は、管理サーバ３００に格納されるプリンタ管理テーブルＰＭＴの一例を示す図である。
【００４９】
この例では、初期状態は、プリンタ２００Ａが端末装置１００のＵＳＢＩＦ１７０に接続され、プリンタ２００Ｂが端末装置１００のＵＳＢＩＦ１７０に接続されていない状態である。換言すれば、初期状態は、ＵＳＢＩＦ１７０を介して端末装置１００がプリンタ２００Ａと通信可能であり、ＵＳＢＩＦ１７０を介して端末装置１００がプリンタ２００Ｂと通信可能でない通信状態である。この通信状態を第１の通信状態とも呼ぶ。また、この例では、ＤＨＣＰサーバ４００がローカルエリアネットワークＮＴに接続され、正常に動作しているものとする。
【００５０】
先ず、図４のＳ１０では、端末装置１００のＣＰＵ１１０は、コンピュータプログラムＰＧを起動する。この結果、端末装置１００において、上述した図２の装置情報受信処理と図３の装置情報送信処理とが、常時、並行して実行される状態になる。
【００５１】
図４のＳ１２では、１回目の装置情報の受信時間が到来したために、端末装置１００は、ＵＳＢＩＦ１７０から装置情報の要求を送信する。この時点では、ＵＳＢＩＦ１７０にはプリンタ２００Ａが接続されているので、端末装置１００からプリンタ２００Ａに装置情報の要求が送信される（図２のＳ１１０）。Ｓ１４では、装置情報の要求に対する応答として、プリンタ２００Ａから端末装置１００に装置情報、具体的には、プリンタ２００Ａのシリアル番号と、モデル名と、累積印刷枚数と、印刷材の残量とが送信される（図２のＳ１１５）。Ｓ１６では、端末装置１００の送信情報領域ＳＡに、Ｓ１４にてプリンタ２００Ａから送信された装置情報が格納される（図２のＳ１２０）。なお、この時点では、プリンタ２００Ａが接続された初期状態（第１の通信状態）が維持されているので（図２のＳ１２５にてＮＯ）、図２のＳ１３０〜Ｓ１６０の処理は実行されない。
【００５２】
図４のＳ１７では、１回目の装置情報の収集時間が到来したために、管理サーバ３００から端末装置１００にプリンタの探索のためのＳＮＭＰ要求が送信される（図３のＳ２１０）。Ｓ１８では、該ＳＮＭＰ要求に対する応答として、端末装置１００から管理サーバ３００に、端末装置１００のＩＰアドレスＩＰ＿Ａが送信される（図３のＳ２３０）。このＩＰアドレスＩＰ＿Ａは、この時点で、使用すべきＩＰアドレスＤＡとして記憶されているＩＰアドレスである。管理サーバ３００は、このＩＰアドレスＩＰ＿Ａを用いて、プリンタ２００Ａを管理できる。
【００５３】
図４のＳ２０では、管理サーバ３００から端末装置１００に装置情報の要求としてのＳＮＭＰ要求が送信される（図３のＳ２１０）。該ＳＮＭＰ要求に対する応答として、端末装置１００から管理サーバ３００に、プリンタ２００Ａの装置情報が送信される（図３のＳ２３０）。この時、端末装置１００は、送信元ＩＰアドレスとして、ＩＰアドレスＩＰ＿Ａを用いる。ここで、Ｓ２０とＳ２２に示すＳＮＭＰ要求とその応答は、複数個の項目を含む装置情報を取得するために複数回繰り返されるが、図４では、図の煩雑を避けるために１回分だけ図示されている。Ｓ２２で送信される装置情報は、Ｓ１６にて送信情報領域ＳＡに格納された装置情報である。したがって、Ｓ２２で送信される装置情報は、プリンタ２００Ａの装置情報である。
【００５４】
Ｓ２４では、管理サーバ３００は、プリンタ管理テーブルＰＭＴを更新する。これによって、プリンタ管理テーブルＰＭＴに、端末装置１００から送信された装置情報が、ＩＰアドレスＩＰ＿Ａと対応付けて記録される。なお、このタイミングで、ネットワークプリンタ５００と管理サーバ３００との間でも図４のＳ１７〜Ｓ２２と同等の通信が行われて、管理サーバ３００は、ネットワークプリンタ５００からも装置情報を受信する。そして、管理サーバ３００は、プリンタ管理テーブルＰＭＴに、ネットワークプリンタ５００からの装置情報を、ネットワークプリンタ５００のＩＰアドレスＩＰ＿Ｃと対応付けて記録する。
【００５５】
図６（Ａ）には、Ｓ２４が終了した時点のプリンタ管理テーブルＰＭＴが図示されている。このプリンタ管理テーブルＰＭＴの上段のエントリＥＮ１には、ネットワークプリンタ５００の装置情報が、ネットワークプリンタ５００に割り当てられたＩＰアドレスＩＰ＿Ｃと対応付けて記録されている。そして、下段のエントリＥＮ２には、端末装置１００に接続されているプリンタ２００Ａの装置情報が、端末装置１００に割り当てられたＩＰアドレスＩＰ＿Ａと対応付けて記録されている。
【００５６】
図４のＳ２６では、２回目の装置情報の受信時間が到来したために、端末装置１００からプリンタ２００Ａに、Ｓ１２と同様の装置情報の要求が送信される（図２のＳ１１０）。Ｓ２８では、Ｓ１４と同様に、プリンタ２００Ａから端末装置１００に装置情報が送信される（図２のＳ１１５）。Ｓ３０では、端末装置１００の送信情報領域ＳＡが更新される。すなわち、Ｓ１６にて送信情報領域ＳＡに格納された装置情報が削除されて、新たにＳ２８にてプリンタ２００Ａから送信された新たな装置情報が送信情報領域ＳＡに格納される（図２のＳ１２０）。この時点では、プリンタ２００Ａが接続された初期状態（第１の通信状態）が維持されているので（図２のＳ１２５にてＮＯ）、図２のＳ１３０〜Ｓ１６０の処理は実行されない。なお、図４のＳ３０に続いて図５のＳ３２が行われる。
【００５７】
図５のＳ３２では、ユーザによって、プリンタ２００Ａが、端末装置１００のＵＳＢＩＦ１７０から取り外される。Ｓ３４では、ユーザによって、プリンタ２００Ａに代えて、プリンタ２００Ｂが、端末装置１００のＵＳＢＩＦ１７０に接続される。すなわち、Ｓ３４が終了した時点では、ＵＳＢＩＦ１７０を介して端末装置１００がプリンタ２００Ｂと通信可能であり、ＵＳＢＩＦ１７０を介して端末装置１００がプリンタ２００Ａと通信可能でない通信状態である。この通信状態を第２の通信状態とも呼ぶ。このように、Ｓ３２、Ｓ３４を経て、通信状態は、上述した第１の通信状態から第２の通信状態へと遷移している。
【００５８】
図５のＳ３６では、３回目の装置情報の受信時間が到来したために、図４のＳ１２と同様に、端末装置１００は、ＵＳＢＩＦ１７０から装置情報の要求を送信する。ただし、この時点では、ＵＳＢＩＦ１７０にはプリンタ２００Ｂが接続されているので、端末装置１００からプリンタ２００Ｂに装置情報の要求が送信される（図２のＳ１１０）。Ｓ３８では、装置情報の要求に対する応答として、プリンタ２００Ｂから端末装置１００に装置情報が送信される（図２のＳ１１５）。Ｓ３９では、端末装置１００の送信情報領域ＳＡに、Ｓ３８にてプリンタ２００Ｂから送信された装置情報が格納される（図２のＳ１２０）。
【００５９】
なお、２回目の装置情報の受信（図４のＳ２８）から３回目の装置情報の受信（図５のＳ３８）までの間に、プリンタ２００Ａが接続された初期状態（第１の通信状態）からプリンタ２００Ｂが接続された第２の通信状態へと遷移している。すなわち、ＵＳＢＩＦ１７０に接続されるプリンタが変更されている。そのため、端末装置１００は、図５のＳ４０にて、ＵＳＢＩＦ１７０に接続されるプリンタの変更を認識する（図２のＳ１２５にてＹＥＳ）。このために、端末装置１００は、図２のＳ１３０以降の処理を実行する。具体的には、この例では、ＤＨＣＰサーバ４００が正しく動作しているので、Ｓ４１にて、端末装置１００は、ＤＨＣＰサーバ４００から新たなＩＰアドレスＩＰ＿Ｃを取得する（図２のＳ１３２、Ｓ１３５にてＹＥＳ）。そして、Ｓ４２では、使用すべきＩＰアドレスＤＡが、ＩＰアドレスＩＰ＿ＡからＩＰアドレスＩＰ＿Ｂに変更される（図２のＳ１４０）。
【００６０】
図５のＳ４４では、２回目の装置情報の収集時間が到来したために、管理サーバ３００から端末装置１００にプリンタの探索のためのＳＮＭＰ要求が送信される（図３のＳ２１０）。Ｓ４５では、該ＳＮＭＰ要求に対する応答として、端末装置１００から管理サーバ３００に、端末装置１００のＩＰアドレスＩＰ＿Ｂが送信される（図３のＳ２３０）。このＩＰアドレスＩＰ＿Ｂは、この時点で、使用すべきＩＰアドレスＤＡとして記憶されているＩＰアドレス、すなわち、図５のＳ４２にて新たに設定されたＩＰアドレスである。
【００６１】
図５のＳ４６では、管理サーバ３００から端末装置１００に装置情報の要求としてのＳＮＭＰ要求が送信される（図３のＳ２１０）。Ｓ４８では、該ＳＮＭＰ要求に対する応答として、端末装置１００から管理サーバ３００に、プリンタ２００Ｂの装置情報が送信される（図３のＳ２３０）。この時、端末装置１００は、送信元ＩＰアドレスとして、ＩＰアドレスＩＰ＿Ｂを用いる。ここで、Ｓ４６とＳ４８に示すＳＮＭＰ要求とその応答は、複数回繰り返されるが、図５では、図の煩雑を避けるために１回分だけ図示されている。この時点で送信される装置情報は、Ｓ３９にて送信情報領域ＳＡに格納された装置情報である。したがって、Ｓ４８で送信される装置情報は、図４のＳ２２で送信される装置情報とは異なり、プリンタ２００Ｂの装置情報である。
【００６２】
Ｓ５０では、管理サーバ３００は、プリンタ管理テーブルＰＭＴを更新する。これによって、プリンタ管理テーブルＰＭＴに、端末装置１００から送信された装置情報が、ＩＰアドレスＩＰ＿Ｂと対応付けて記録される。なお、このタイミングで、ネットワークプリンタ５００と端末装置１００との間でも図５のＳ４４〜Ｓ４８と同等の通信が行われて、端末装置１００は、ネットワークプリンタ５００からも装置情報を受信する。そして、端末装置１００は、プリンタ管理テーブルＰＭＴにおいて、ネットワークプリンタ５００からの装置情報を、ネットワークプリンタ５００のＩＰアドレスＩＰ＿Ｃと対応付けて記録する。
【００６３】
ここで、管理サーバ３００は、１回目の装置情報の収集時間（Ｓ１７〜Ｓ２４）では、端末装置１００は、ＩＰアドレスＩＰ＿Ａを有する第１のプリンタである、と認識する。これに対して、管理サーバ３００は、２回目の装置情報の収集時間（Ｓ４４〜Ｓ５０）では、端末装置１００は、ＩＰアドレスＩＰ＿Ｂを有し、第１のプリンタとは異なる第２のプリンタである、と認識する。したがって、管理サーバ３００は、１回目の装置情報の収集時間（Ｓ１７〜Ｓ２４）では、管理サーバ３００は、ＩＰアドレスＩＰ＿Ｃを有するネットワークプリンタ５００と、ＩＰアドレスＩＰ＿Ａを有する第１のプリンタと、が探索されたと認識する。そして、管理サーバ３００は、２回目の装置情報の収集時間（Ｓ４４〜Ｓ５０）では、ＩＰアドレスＩＰ＿Ｃを有するネットワークプリンタ５００が再度探索され、ＩＰアドレスＩＰ＿Ｂを有する第２のプリンタが新たに探索され、１回目に探索されたＩＰアドレスＩＰ＿Ａを有する第１のプリンタは探索されなかった、と認識する。
【００６４】
図６（Ｂ）には、Ｓ５０が終了して時点のプリンタ管理テーブルＰＭＴが図示されている。図６（Ｂ）の管理テーブルＰＭＴでは、上段のエントリＥＮ１において、ネットワークプリンタ５００の累積印刷枚数が更新されている。さらに、中断のエントリＥＮ２において、ＩＰアドレスＩＰ＿Ａを有する第１のプリンタのステータスが、「正常」から「接続断」に更新されている。これは、２回目の装置情報の収集時間（Ｓ４４〜Ｓ５０）では、ＩＰアドレスＩＰ＿Ａを有する第１のプリンタは探索されなかったことに基づく。そして、下段のエントリＥＮ３には、ＩＰアドレスＩＰ＿Ｂを有する第２のプリンタの装置情報が記録されている。すなわち、エントリＥＮ３には、端末装置１００に接続されているプリンタ２００Ｂの装置情報が、端末装置１００に割り当てられたＩＰアドレスＩＰ＿Ｂと対応付けて記録されている。
【００６５】
このように、管理サーバ３００は、端末装置１００と通信しているだけであるにも拘わらずに、端末装置１００のＵＳＢＩＦ１７０に接続されるプリンタ２００Ａの装置情報と、プリンタ２００Ｂの装置情報と、を区別して管理できる。すなわち、プリンタ２００Ａの装置情報は、ＩＰアドレスＩＰ＿Ａを有する第１のプリンタの装置情報として管理され、プリンタ２００Ｂの装置情報は、ＩＰアドレスＩＰ＿Ｂを有する第２のプリンタの装置情報として管理される。
【００６６】
このように本実施例によれば、端末装置１００は、ＵＳＢＩＦ１７０を介して、プリンタ２００Ａの状態情報（具体的には累積印刷枚数と印刷材の残量）を受信し（図４のＳ１４）、ネットワークＩＦ１８０を介して、プリンタ２００Ａの状態情報を、端末装置１００に割り当て済みのＩＰアドレスＩＰ＿Ａを用いて管理サーバ３００に送信する（図４のＳ２２）。そして、図５のＳ４０では、端末装置１００は、ＵＳＢＩＦ１７０に接続されるプリンタが、プリンタ２００Ａからプリンタ２００Ｂに変更されたことを認識する。換言すれば、端末装置１００は、ＵＳＢＩＦ１７０を介して端末装置１００がプリンタ２００Ａと通信可能であり、プリンタ２００Ｂと通信可能でない第１の通信状態から、ＵＳＢＩＦ１７０を介して端末装置１００がプリンタ２００Ｂと通信可能であり、プリンタ２００Ａと通信可能でない第２の通信状態への遷移を検出する。この場合に、端末装置１００は、ＩＰアドレスＩＰ＿Ａとは異なるＩＰアドレスＩＰ＿Ｂを取得する（図５のＳ４１）。端末装置１００は、第２の通信状態において、ＵＳＢＩＦ１７０を介して、プリンタ２００Ｂの状態情報を受信し（図５のＳ３８）、ネットワークＩＦ１８０を介して、プリンタ２００Ｂの状態情報を、ＩＰアドレスＩＰ＿Ｂを用いて管理サーバ３００に送信する（Ｓ４８）。この結果、管理サーバ３００は、ＩＰアドレスに基づいて、プリンタ２００Ａの状態情報と、プリンタ２００Ｂの状態情報と、を区別できる（図６（Ｂ））。したがって、端末装置１００が、ＵＳＢＩＦ１７０を介した通信状態によっては、プリンタ２００Ａとプリンタ２００Ｂと通信し得る場合に、管理サーバ３００は、プリンタ２００Ａの状態情報とプリンタ２００Ｂの状態情報とを適切に管理できる。例えば、仮に、ＵＳＢＩＦ１７０に接続されるプリンタが、プリンタ２００Ａからプリンタ２００Ｂに切り替えられたにも拘わらずに、これらの２個のプリンタの状態情報が区別されない場合には、例えば、管理サーバ３００での管理テーブル上では、１個のプリンタの累積印刷枚数が減少する矛盾や、１個のプリンタのトナー残量が増加する矛盾が発生し得る。この場合には、印刷枚数に基づく課金サービスやトナーの供給サービスの提供に支障が発生し得る。本実施例では、そのような不具合の発生を抑制することができる。
【００６７】
また、本実施例によれば、ＵＳＢＩＦ１７０に接続されるプリンタが、プリンタ２００Ａからプリンタ２００Ｂに切り替えられた場合であっても、管理サーバ３００側に特別な仕組みを設けることなく、ＩＰアドレスに基づいて、プリンタ２００Ａの状態情報とプリンタ２００Ｂの状態情報とを適切に区別して管理できる。例えば、本実施例とは異なる手法としては、ＵＳＢＩＦ１７０に接続されるプリンタが、プリンタ２００Ａからプリンタ２００Ｂに切り替えられたことを端末装置１００が認識した場合に、端末装置１００が当該切り替えを管理サーバ３００に通知する仕組みが考えられる。この場合には、管理サーバ３００には、当該切り替えの通知を解釈して、当該切り替えの通知を受信した場合には、当該切り替えの通知前に端末装置１００から送信された状態情報を、通知後に端末装置１００から送信された状態情報と区別して管理する仕組みが必要となる。
【００６８】
これに対して、本実施例によれば、管理サーバ３００は、収集した状態情報の送信元ＩＰアドレスに基づいて、送信元の装置を認識するという、一般的な方法だけで、プリンタ２００Ａの状態情報とプリンタ２００Ｂの状態情報とを適切に区別して管理できる。従って、例えば、ＳＮＭＰのような装置管理のための標準的なプロトコルを用いた一般的な方法で、プリンタ２００Ａの状態情報とプリンタ２００Ｂの状態情報とを適切に区別して管理できる。例えば、端末装置１００のコンピュータプログラムＰＧを提供する事業者（例えば、プリンタ２００Ａ、２００Ｂのベンダ）と、管理サーバ３００の管理プログラムを提供する事業者（例えば、プリンタの課金サービスやトナーの供給サービスの提供者）と、が異なる場合を想定する。このような状況では、上述した切り替えの通知のような端末装置１００と管理サーバ３００とが連携する特別な仕組みを実装することは困難である場合が多い。本実施例では、このような状況でもプリンタ２００Ａの状態情報とプリンタ２００Ｂの状態情報とを適切に区別して管理できる。
【００６９】
本実施例では、プリンタ２００Ａ、２００Ｂと端末装置１００との通信に用いられるインタフェースは、第１の通信規格に従う通信を行うインタフェースであり、管理サーバ３００と端末装置１００との通信に用いられるインタフェースは、第１の通信規格とは異なる第２の通信規格に従う通信を行うインタフェースである。したがって、第２の通信規格に従って通信可能な管理サーバ３００は、第２の通信規格とは異なる第１の通信規格に従って通信可能なプリンタ２００Ａ、２００Ｂの状態情報を、端末装置１００を介して適切に管理できる。
【００７０】
より具体的には、第１の通信規格は、ＵＳＢであり、第２の通信規格は、ＩＰ（Internet Protocol）を用いる通信規格（例えば、イーサネット（登録商標）やＷｉ−ｆｉ規格）である。したがって、ＩＰを用いて通信可能な管理サーバ３００は、ＵＳＢを用いて通信可能なプリンタ２００Ａ、２００Ｂの状態情報を、適切に管理できる。
【００７１】
さらに、本実施例では、端末装置１００は、図４のＳ２８にて装置情報の一部としてプリンタ２００Ａのシリアル番号が受信され、その後の図５のＳ３８にて、プリンタ２００Ａのシリアル番号とは異なるプリンタ２００Ｂのシリアル番号が受信された場合に、通信状態の遷移、すなわち、ＵＳＢＩＦ１７０に接続されるプリンタの変更を検出する（図２のＳ１２５参照）。したがって、ＵＳＢＩＦ１７０を介して受信される識別情報であるシリアル番号に基づいて、通信状態の遷移を適切に検出できる。
【００７２】
上述したように、これらのシリアル番号は、ＵＳＢＩＦ１７０を介して端末装置１００が通信可能なプリンタに対して定期的に送信される識別情報の要求に対する応答として、受信される（図２のＳ１０５、Ｓ１１０、Ｓ１１５）。この結果、端末装置１００は、定期的にシリアル番号を受信できるので、通信状態の遷移を適切に検出できる。また、状態情報を取得するタイミングでシリアル番号を取得するので、プリンタ２００Ａの状態情報とプリンタ２００Ｂの状態情報とを区別して適切に管理できるようなタイミングで、通信状態の遷移を検出できる。
【００７３】
さらに、上記実施例では、端末装置１００は、ＵＳＢＩＦ１７０に接続されたプリンタと定期的に通信を行って、該プリンタの状態情報を定期的に受信する（図２のＳ１０５、Ｓ１１５）。定期的に受信されるプリンタの状態情報は、メモリ（具体的には、揮発性記憶装置１２０の送信情報領域ＳＡ）に格納される（図２のＳ１２０）。端末装置１００は、管理サーバ３００から状態情報の要求としてのＳＮＭＰ要求を受信した場合に（図３のＳ２１０にてＹＥＳ）、メモリに格納される状態情報を管理サーバ３００に送信する（図３のＳ２２０にてＹＥＳ、Ｓ２３０）。この結果、管理サーバ３００は、状態情報の要求を端末装置１００に送信することで、所望のタイミングで端末装置１００のＵＳＢＩＦ１７０に接続されたプリンタの状態情報を取得できる。
【００７４】
さらに、本実施例では、端末装置１００によってプリンタ２００Ａ、２００Ｂから受信され、端末装置１００によって管理サーバ３００に送信される状態情報は、消耗品の残量を示す情報と、印刷枚数を示す情報と、を含む。この結果、管理サーバ３００は、これらの情報を適切に管理できる。したがって、例えば、上述した印刷枚数に基づく課金サービスや消耗品の供給サービスの提供に支障が発生することを抑制できる。
【００７５】
Ａ−４：ＤＨＣＰサーバ４００がない場合の動作
システム１０００の動作の具体例をさらに説明する。図７は、システム１０００の動作を示す第３のシーケンス図である。この例は、システム１０００内に、ＤＨＣＰサーバ４００がない場合、もしくは、ＤＨＣＰサーバ４００が正常に動作していないとする。
【００７６】
この場合には、上述した動作のうち、図４のＳ１０〜図５のＳ４０までの動作は、図４、図５のＤＨＣＰサーバ４００がローカルエリアネットワークＮＴに接続され、正常に動作している場合と同じである。図７には、図４のＳ１０〜図５のＳ４０までの動作のうち、図５のＳ３９、Ｓ４０のみが図示されている。
【００７７】
図７のＳ４０にて、ＵＳＢＩＦ１７０に接続されるプリンタの変更が認識されると、端末装置１００は、ＤＨＣＰサーバ４００からの新たなＩＰアドレスの取得を試行する（図２のＳ１３２）が、この例では、ＤＨＣＰサーバ４００がない、もしくは、ＤＨＣＰサーバ４００が正常に動作していない。このために、図７のＳ４１Ｂでは、端末装置１００は、
ＤＨＣＰサーバ４００からのＩＰアドレスの取得に失敗する（図２のＳ１３５：ＮＯ）。このため、Ｓ４２Ｂでは、端末装置１００は、ＰＩＮＧを用いてローカルエリアネットワークＮＴ内で未使用のＩＰアドレスを特定する（図２のＳ１４５〜Ｓ１５５）。そして、Ｓ４３Ｂでは、ＣＰＵ１１０は、使用すべきＩＰアドレスＤＡを、ＩＰアドレスＩＰ＿Ａから、未使用であると特定されたＩＰアドレスＩＰ＿Ｂに変更する（図２のＳ１６０）。図７のＳ４４〜Ｓ５０の処理は、図５のＳ４４〜Ｓ５０の処理と同じである。
【００７８】
以上説明したように、本実施例によれば、ローカルエリアネットワークＮＴ内にＤＨＣＰサーバ４００が存在しない場合や正常に動作していない場合であっても、新たなＩＰアドレスＩＰ＿Ｂを適切に取得できる。
【００７９】
Ｂ．変形例
（１）上記実施例の端末装置１００では、プリンタ２００Ａ、２００Ｂと通信する第１種のインタフェースは、ＵＳＢＩＦ１７０であり、管理サーバ３００と通信する第２種のインタフェースは、ネットワークＩＦ１８０である。このように、第１種のインタフェースの通信が従う通信規格と、第２種のインタフェースの通信が従う通信規格とは、異なっている。これに代えて、例えば、第１種のインタフェースの通信が従う通信規格と、第２種のインタフェースの通信が従う通信規格とは、同じイーサネット（登録商標）であっても良い。
【００８０】
この場合には、例えば、端末装置１００は、第１種のインタフェースとして第１のネットワークＩＦを備え、第２種のインタフェースとして第２のネットワークＩＦを備える。そして、第１のネットワークＩＦは、ローカルエリアネットワークに接続され、該ローカルエリアネットワークを介して第１のネットワークプリンタと接続される。さらに、第２のネットワークＩＦは、インターネットに接続され、該インターネットを介して管理サーバ３００と接続される。端末装置１００には、第２のネットワークＩＦを介して通信を行うためのグローバルＩＰアドレスＧＩＰ＿Ａが設定される。端末装置１００は、ローカルエリアネットワークに第１のネットワークプリンタが接続されている第１の通信状態では、第１のネットワークプリンタの状態情報を、グローバルＩＰアドレスＧＩＰ＿Ａを用いて、管理サーバ３００に送信する。端末装置１００は、ローカルエリアネットワークに第２のネットワークプリンタが接続されている第２の通信状態への遷移を検出すると、新たなグローバルＩＰアドレスＧＩＰ＿Ｂを取得する。端末装置１００は、第２のネットワークプリンタの状態情報を、グローバルＩＰアドレスＧＩＰ＿Ｂを用いて、管理サーバ３００に送信する。この場合いは、管理サーバ３００は、グローバルＩＰアドレスに基づいて、第１のネットワークプリンタの状態情報と、第２のネットワークプリンタの状態情報と、を適切に管理できる。
【００８１】
（２）上述の変形例（１）において、第１のネットワークＩＦは、Ｗｉ−ｆｉ規格に従う無線インタフェースであり、第２のネットワークＩＦは、イーサネット（登録商標）規格に従う有線インタフェースであっても良い。逆に、第１のネットワークＩＦは、イーサネット（登録商標）規格に従う有線インタフェースであり、第２のネットワークＩＦは、Ｗｉ−ｆｉ規格に従う無線インタフェースであっても良い。また、例えば、第１のネットワークＩＦは、Ｗｉ−ｆｉ規格に従う無線インタフェースであり、第２のネットワークＩＦは、Ｗｉ−ｆｉ  Ｄｉｒｅｃｔの規格に従う無線インタフェースであってもよい。
【００８２】
（３）上記実施例では、プリンタ２００Ａが接続された通信状態では、ＩＰアドレスＩＰ＿Ａを用いてプリンタ２００Ａの状態情報を管理サーバ３００に送信し、プリンタ２００Ｂが接続された通信状態では、ＩＰアドレスＩＰ＿Ａとは異なるＩＰアドレスＩＰ＿Ｂを用いてプリンタ２００Ｂの状態情報を管理サーバ３００に送信している。これに代えて、プリンタ２００Ａが接続された通信状態では、ＭＡＣアドレスＭＡ＿Ａを用いてプリンタ２００Ａの状態情報を管理サーバ３００に送信し、プリンタ２００Ｂが接続された通信状態では、ＭＡＣアドレスＭＡ＿Ａとは異なるＭＡＣアドレスＭＡ＿Ｂを用いてプリンタ２００Ｂの状態情報を管理サーバ３００に送信しても良い。この場合には、管理サーバ３００は、ＭＡＣアドレスＭＡ＿Ａ、ＭＡ＿Ｂに基づいて、プリンタ２００Ａ、２００Ｂの状態情報を適切に管理できる。
【００８３】
（４）上記実施例では、第１の通信状態は、プリンタ２００ＡがＵＳＢＩＦ１７０に接続され、プリンタ２００ＢがＵＳＢＩＦ１７０に接続されていない状態であり、第２の通信状態は、プリンタ２００ＢがＵＳＢＩＦ１７０に接続され、プリンタ２００ＡがＵＳＢＩＦ１７０に接続されていない状態である。これに代えて、第１の通信状態は、プリンタ２００ＡがＵＳＢＩＦ１７０に接続され、プリンタ２００ＢがＵＳＢＩＦ１７０に接続されていない状態であり、第２の通信状態は、プリンタ２００Ａとプリンタ１００Ｂとの両方がＵＳＢＩＦ１７０に接続された状態であっても良い。この場合は、ＵＳＢＩＦ１７０は、複数個のポートを備えており、複数個のデバイスを同時に接続できる。この場合には、端末装置１００は、第１の通信状態において、プリンタ２００Ａの状態情報を、ＩＰアドレスＩＰ＿Ａを用いて管理サーバ３００に送信する。端末装置１００は、プリンタ２００Ａに加えて、プリンタ１００Ｂが新たにＵＳＢＩＦ１７０に接続されたことが検出された場合に、ＩＰアドレスＩＰ＿Ｂを取得する。そして、端末装置１００は、第２の通信状態において、プリンタ２００Ａの状態情報は、ＩＰアドレスＩＰ＿Ａを用いて管理サーバ３００に送信し、プリンタ２００Ｂの状態情報は、ＩＰアドレスＩＰ＿Ｂを用いて管理サーバ３００に送信しても良い。
【００８４】
（５）上記実施例では、端末装置１００からの要求に応じて、プリンタ２００Ａやプリンタ２００Ｂから状態情報が端末装置１００に送信される。これに代えて、プリンタ２００Ａやプリンタ２００Ｂが定期的に、かつ、自発的に、状態情報を端末装置１００に送信しても良い。
【００８５】
（６）上記実施例では、管理サーバ３００からの要求に応じて、プリンタ２００Ａやプリンタ２００Ｂの状態情報が、端末装置１００から管理サーバ３００に送信される。これに代えて、端末装置１００が定期的に、かつ、自発的に、状態情報を管理サーバ３００に送信しても良い。
【００８６】
（７）上記実施例では、プリンタ２００Ａ、２００Ｂから端末装置１００へ送信され、端末装置１００から管理サーバ３００へ送信される状態情報は、累積印刷枚数と、消耗品の残量と、を含んでいる。これらに代えて、または、これらと共に、該状態情報は、消耗品の交換回数と、印刷実行部のエラーに関する情報と、の全部または一部を含んでも良い。また、該状態情報は、累積印刷枚数だけでも良く、消耗品の残量だけでも良い。
【００８７】
（８）上記実施例では、端末装置１００は、プリンタ２００Ａ、２００Ｂの識別情報としてのシリアル番号を用いて、第１の通信状態から第２の通信状態への遷移を検出している。これに代えて、例えば、ユーザの入力に基づいて、第１の通信状態から第２の通信状態への遷移を検出しても良い。この場合には、例えば、ＵＳＢＩＦ１７０に接続されるプリンタを変更した場合には、ユーザは、その旨を操作部１５０を介して入力すれば良い。
【００８８】
（９）上記各実施例のシステム１０００は、プリンタ２００Ａ、２００Ｃに代えて、他の複数個の周辺装置、例えば、第１のスキャナと第２のスキャナや、第１のファイルサーバと第２のファイルサーバを備えても良い。この場合には、管理サーバ３００は、例えば、第１のスキャナと第２のスキャナの状態情報（例えば、スキャン回数、エラー情報）や、第１のファイルサーバと第２のファイルサーバの状態情報（例えば、空き容量、エラー情報）を管理しても良い。
【００８９】
（１０）上記各実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部あるいは全部をハードウェアに置き換えるようにしてもよい。
【００９０】
（１１）本発明の機能の一部または全部がコンピュータプログラムで実現される場合には、そのプログラムは、コンピュータ読み取り可能な記録媒体（例えば、一時的ではない記録媒体）に格納された形で提供することができる。プログラムは、提供時と同一または異なる記録媒体（コンピュータ読み取り可能な記録媒体）に格納された状態で、使用され得る。「コンピュータ読み取り可能な記録媒体」は、メモリーカードやＣＤ−ＲＯＭのような携帯型の記録媒体に限らず、各種ＲＯＭ等のコンピュータ内の内部記憶装置や、ハードディスクドライブ等のコンピュータに接続されている外部記憶装置も含み得る。
【００９１】
以上、実施例、変形例に基づき本発明について説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨並びに特許請求の範囲を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれる。
【符号の説明】
【００９２】
１００…端末装置、１１０…ＣＰＵ、１２０…揮発性記憶装置、１３０…不揮発性記憶装置、１４０…表示部、１５０…操作部、１７０…読取実行部、２００Ａ、２００Ｂ…プリンタ、２４０Ａ…印刷実行部、２４０Ｂ…印刷実行部、３００…管理サーバ、５００…ネットワークプリンタ、５４０…印刷実行部、１０００…システム、１８０…ネットワークＩＦ、２５０Ａ、２５０Ｂ、５５０…情報ＤＢ、ＳＡ…送信情報領域、ＰＧ…コンピュータプログラム、ＮＴ…ローカルエリアネットワーク、ＰＩＤ…プリンタ識別情報、ＰＭＴ…プリンタ管理テーブル
【図１】
2019067010.tif 000003
【図２】
2019067010.tif 000004
【図３】
2019067010.tif 000005
【図４】
2019067010.tif 000006
【図５】
2019067010.tif 000007
【図６】
2019067010.tif 000008
【図７】
2019067010.tif 000009