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