(57)【要約】【課題】周辺装置の状態情報を管理装置からの要求に応じて管理装置に送信する際に、第１の状態情報に含まれる項目と、第２の状態情報に含まれる項目と、が混在して送信されることを抑制する。【解決手段】通信装置は、第１種の通信ＩＦを介して、周辺装置の状態情報を受信し、状態情報のＮ個の項目を管理装置に送信することを要求する送信要求に応じて、第２種の通信ＩＦを介して、受信済みの状態情報のＮ個の項目を管理装置に順次に送信し、送信要求の受信履歴に基づいて、切替のタイミングを決定し、切替のタイミングよりも前に送信要求が受信される場合に、第１の状態情報に含まれる対応する項目を、管理装置に送信し、切替のタイミングよりも後に送信要求が受信される場合に、第２の状態情報に含まれる対応する項目を、管理装置に送信する。【選択図】  図４
2019067009.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）が用いられる。管理サーバ３００は、収集された状態情報を、例えば、システム１０００を管理する事業者のサーバ（図示省略）に対して、インターネットを介して送信する。事業者は、たとえば、管理サーバ３００から送信された状態情報に基づいて、システム１０００内のプリンタの印刷枚数や、印刷材などの消耗品の残量を把握し、例えば、印刷枚数に応じた課金や印刷材の供給を行う。
【００２４】
Ａ−２.システム１０００の動作
Ａ−２−１.管理サーバ３００の動作
ここで、管理サーバ３００は、管理サーバ３００は、ＳＮＭＰマネージャとしての機能を備えている。管理サーバ３００は、ローカルエリアネットワークＮＴ内のプリンタの状態情報を、定期的、例えば、１日あたり１〜数回の頻度で、収集する。１回の収集時に、送信される１セット分のＳＮＭＰ要求は、プリンタの状態情報に含まれる複数個の項目のうち、Ｎ個（Ｎは２以上の整数）の項目を収集するＮ個の項目の要求を含む。各項目の要求は、１セット分のＳＮＭＰ要求の一部を構成するので、ＳＮＭＰ要求の部分要求とも呼ぶ。具体的には、管理サーバ３００は、状態情報の収集時間が到来すると、Ｎ個の項目を収集するためのＮ個の項目の要求を順次に、ローカルエリアネットワークＮＴ内のプリンタに送信する。ただし、プリンタ２００は、ローカルエリアネットワークＮＴに直接接続されず、端末装置１００に接続されているので、管理サーバ３００は、Ｎ個のＳＮＭＰ要求を端末装置１００に送信する。一方、管理サーバ３００は、ネットワークプリンタ５００に対しては、直接に、Ｎ個の項目の要求を送信する。
【００２５】
これらの項目のそれぞれは、例えば、ネットワークプリンタ５００や端末装置１００においてＭＩＢ（Management information base）情報として管理されている。すなわち、これらの項目は、例えば、ＭＩＢ情報を構成する複数個のオブジェクトの１つである。このために、各項目を要求する要求には、要求する項目（オブジェクト）を示すオブジェクトＩＤを含む。
【００２６】
Ａ−２−２.端末装置１００の動作
端末装置１００のＣＰＵ１１０は、状態情報受信処理と状態情報送信処理とを、電源が投入されている間に、常時、並行して実行している。これにより、端末装置１００は、ＵＳＢＩＦ１７０に接続されたプリンタ２００の状態情報を、該プリンタから受信し、該状態情報を管理サーバ３００に送信する。
【００２７】
Ａ−２−２−１.状態情報送信処理
次に、端末装置１００のＣＰＵ１１０が実行する状態情報送信処理について説明する。端末装置１００は、ＳＮＭＰエージェントとして機能し、管理サーバ３００からのＳＮＭＰ要求に対して応答することによって状態情報送信処理を実行する。図２は、状態情報送信処理のフローチャートである。
【００２８】
Ｓ１１０では、ＣＰＵ１１０は、上述した管理サーバ３００から送信される項目の要求（ＳＮＭＰ要求の部分要求）を受信したか否かを判断する。項目の要求は、プリンタ２００の状態情報の複数個の項目のうち、対象の項目の送信を要求する部分送信要求である。項目の要求が受信されていない場合には（Ｓ１１０：ＮＯ）、ＣＰＵ１１０は、項目の要求を受信するまで待機する。
【００２９】
項目の要求が受信された場合には（Ｓ１１０：ＹＥＳ）、Ｓ１１５にて、ＣＰＵ１１０は、要求受信履歴テーブルＲＨＴに受信履歴を記録する。図３は、要求受信履歴テーブルＲＨＴの一例を示す図である。要求受信履歴テーブルＲＨＴには、端末装置１００が受信されたＳＮＭＰ要求を構成する１以上の項目の要求について、該項目の要求の受信時刻と、該項目の要求において要求された項目と、が記録されている。要求受信履歴テーブルＲＨＴは、例えば、端末装置１００が起動される度にクリアされる。
【００３０】
Ｓ１２０では、ＣＰＵ１１０は、受信済みの項目の要求によって要求された項目が、送信情報領域ＳＡに記憶されているか否かを判断する。
【００３１】
項目の要求によって要求された項目が送信情報領域ＳＡに記憶されている場合には（Ｓ１２０：ＹＥＳ）、Ｓ１３０にて、ＣＰＵ１１０は、項目の要求に対する応答として、要求された項目を、管理サーバ３００に送信する。項目の要求によって要求された項目が送信情報領域ＳＡに記憶されていない場合には（Ｓ１２０：ＮＯ）、Ｓ１４０にて、ＣＰＵ１１０は、項目の要求に対する応答として、要求された情報がないことを示す情報を、管理サーバ３００に送信する。項目の要求に対する応答が管理サーバ３００に送信されると、ＣＰＵ１１０は、Ｓ１１０に戻って、次の項目の要求が受信されるまで待機する。
【００３２】
Ａ−２−２−２.状態情報受信処理
図４は、状態情報受信処理のフローチャートである。Ｓ２０５では、ＣＰＵ１１０は、ＵＳＢＩＦ１７０に接続されたプリンタ２００の状態情報の受信時間が到来したか否かを判断する。本実施例では、ＣＰＵ１１０は、定期的、例えば、数時間に１回の頻度で、ＵＳＢＩＦ１７０に接続されたプリンタから該プリンタの状態情報を受信する。
【００３３】
受信時間が到来していない場合には（Ｓ２０５：ＮＯ）、ＣＰＵ１１０は、Ｓ２４５にて、切替タイミングが到来したか否かを判断する。切替タイミングは、図２の状態情報送信処理において、送信対象となる状態情報を、第１の状態情報から、第１の状態情報より後の受信時間に受信された第２の状態情報に切り替えるタイミングである。切替タイミングは、後述する切替タイミング決定処理において決定される。切替タイミングが到来していない場合には（Ｓ２４５：ＮＯ）、ＣＰＵ１１０は、Ｓ２０５に戻って、受信時間、または、切替タイミングが到来するまで待機する。
【００３４】
受信時間が到来した場合には（Ｓ２０５：ＹＥＳ）、Ｓ２１０にて、ＣＰＵ１１０は、ＵＳＢＩＦ１７０を介して、プリンタ２００に状態情報の要求を送信する。ここで送信される状態情報の要求は、本実施例では、状態情報に含まれるＭ個の項目（Ｍは、２以上の整数）を要求する。Ｍ個の項目は、互いに異なる項目である。
【００３５】
Ｍ個の項目は、例えば、印刷材の残量、累積印刷枚数、Ａ４サイズの印刷枚数などを含む。状態情報の要求には、例えば、ＰＪＬ（Printer Job Language）を用いて記述されたコマンドが用いられる。ＵＳＢＩＦ１７０に接続されているプリンタ２００は、状態情報の要求に応じて、該要求にて指定されたＭ個の項目を情報ＤＢ２５０から取得して、端末装置１００に送信する。
【００３６】
Ｓ２１５では、ＣＰＵ１１０は、状態情報の要求に対する応答として、プリンタ２００からＭ個の項目を含む状態情報を受信する。
【００３７】
Ｓ２２０では、ＣＰＵ１１０は、送信情報領域ＳＡに、既に、状態情報が送信情報領域ＳＡに格納済みであるか否かを判断する。２回目以降の受信時間では、通常は、前の受信時間にて受信された状態情報が送信情報領域ＳＡに格納済みである。状態情報が送信情報領域ＳＡに格納済みでない場合には（Ｓ２２０：ＮＯ）、Ｓ２３５にて、ＣＰＵ１１０は、Ｓ２１５で受信済みの状態情報を送信情報領域ＳＡに格納する。状態情報が送信情報領域ＳＡに格納されると、ＣＰＵ１１０は、Ｓ２０５に戻って、次の受信時間、または、切替タイミングが到来するまで待機する。
【００３８】
状態情報が送信情報領域ＳＡに格納済みである場合には（Ｓ２２０：ＹＥＳ）、Ｓ２２５にて、ＣＰＵ１１０は、Ｓ２１５で受信済みの状態情報を一時領域ＣＡに格納する。一時領域ＣＡに既に状態情報が格納済みである場合には、Ｓ２１５で受信済みの状態情報は、上書きされる。
【００３９】
Ｓ２３０では、ＣＰＵ１１０は、上述した切替タイミングを決定する切替タイミング決定処理を実行する。切替タイミング決定処理については後述する。切替タイミングが決定されると、ＣＰＵ１１０は、Ｓ２０５に戻って、次の受信時間、または、切替タイミングが到来するまで待機する。
【００４０】
切替タイミングが到来した場合には（Ｓ２４５：ＹＥＳ）、Ｓ２５０にて、ＣＰＵ１１０は、送信情報領域ＳＡに格納済みの状態情報を削除する。Ｓ２５５では、一時領域ＣＡに格納済みの状態情報を、送信情報領域ＳＡに格納する。この結果、図２の状態情報送信処理において、送信対象となる状態情報が、Ｓ２５０にて送信情報領域ＳＡから削除された状態情報から、Ｓ２５５にて新たに送信情報領域ＳＡに格納された状態情報に切り換えられる。その後、ＣＰＵ１１０は、Ｓ２０５に戻って、受信時間、または、次の切替タイミングが到来するまで待機する。
【００４１】
Ａ−２−２−３.切替タイミング決定処理
図５のＳ２３０の切替タイミング決定処理について説明する。図５は、切替タイミング決定処理のフローチャートである。Ｓ３１０では、ＣＰＵ１１０は、最初の２回分の項目の要求を受信したか否かを判断する。ＣＰＵ１１０は、要求受信履歴テーブルＲＨＴに２個以上の項目の要求の受信履歴が記録されている場合には、最初の２回分の項目の要求を受信したと判断する。
【００４２】
最初の２回分の項目の要求が受信されていない場合には（Ｓ３１０：ＮＯ）、ＣＰＵ１１０は、最初の２回分の項目の要求が受信されるまで待機する。最初の２回分の項目の要求が受信されている場合には（Ｓ３１０：ＹＥＳ）、Ｓ３１５にて、ＣＰＵ１１０は、最初の２回の項目の要求の間隔Ｔ１を特定する。例えば、図３の例では、ＣＰＵ１１０は、要求受信履歴テーブルＲＨＴの最初の２回の項目の要求が記録されたエントリＥＮ１、ＥＮ２（図３）を参照する。そして、ＣＰＵ１１０は、最初の項目の要求と２回目の項目の要求との間の期間｛ｔ（２）−ｔ（１）｝を、間隔Ｔ１として算出する。
【００４３】
Ｓ３２０では、ＣＰＵ１１０は、１回の収集時間に端末装置１００に送信される１セット分のＳＮＭＰ要求を受信しているか否かを判断する。１セット分のＳＮＭＰ要求に含まれる項目の要求の個数は、上述したようにＮ個である。本実施例では、１セット分のＳＮＭＰ要求は、比較的短い間隔Ｔ１で送信される。そして、１セット分のＳＮＭＰ要求のうちの最後の項目の要求の送信から次の１セット分のＳＮＭＰ要求の最初の項目の要求の送信までの間隔Ｔｎは、間隔Ｔ１と比較して十分に比較的長い（Ｔ１＜＜Ｔｎ）。このため、ＣＰＵ１１０は、要求受信履歴テーブルＲＨＴを参照して、次の項目の要求との間隔が、間隔Ｔ１より十分に長い特定時間Ｔｔｈ（例えば、Ｔｔｈ＝１０×Ｔ１）以上である特定の項目の要求がある場合には、１セット分のＳＮＭＰ要求が受信されていると判断する。例えば、図３の例では、ＣＰＵ１１０は、時刻ｔ（Ｎ）に受信されたＮ個目の項目の要求と、時刻ｔ（Ｎ＋１）に受信された（Ｎ＋１）個目の項目の要求と、の間隔が、特定時間Ｔｔｈよりも長いことから、１セット分のＳＮＭＰ要求が受信されていると判断する。
【００４４】
１セット分のＳＮＭＰ要求が受信されている場合には（Ｓ３２０：ＹＥＳ）、Ｓ３２５にて、ＣＰＵ１１０は、１セット分のＳＮＭＰ要求に含まれるＮ個の項目の要求を特定する。ＣＰＵ１１０は、１回目の項目の要求から、上述した次の項目の要求との間隔が十分に長い特定の項目の要求までの複数個の項目の要求を、１セット分のＳＮＭＰ要求に含まれるＮ個の項目の要求として特定する。図３の例では、時刻ｔ（１）〜ｔ（Ｎ）に亘って受信されたＮ個の項目の要求が特定される。
【００４５】
Ｓ３３０では、ＣＰＵ１１０は、１セット分のＳＮＭＰ要求の受信終了から所定時間Ｔｍが経過したときを切替タイミングに決定する。所定時間Ｔｍは、上述した間隔Ｔ１よりも十分に長く、間隔Ｔｎより十分に短い、予め定められた時間である。現時点で、１セット分のＳＮＭＰ要求を受信中である場合には、現在受信中の１セット分のＳＮＭＰ要求の受信終了から所定時間Ｔｍが経過したときが、切替タイミングに決定される。現時点で、１セット分のＳＮＭＰ要求を受信中でない場合には、直前に受信された１セット分のＳＮＭＰ要求の受信終了から所定時間Ｔｍが経過したときが、切替タイミングに決定される。
【００４６】
Ｓ３２０にて、１セット分のＳＮＭＰ要求が受信されていない場合には（Ｓ３２０：ＮＯ）、現在、１回目の収集時間において、１セット分のＳＮＭＰ要求を受信している最中である。ＣＰＵ１１０は、この時点で、１セット分のＳＮＭＰ要求に含まれる項目の要求の個数がいくつであるか（Ｎがいくつであるか）を判断できない。この場合には、Ｓ３３５にて、ＣＰＵ１１０は、直前の項目の要求から特定時間Ｔｔｈに亘って次の項目の要求が無かったときを切替タイミングに決定する。特定時間Ｔｔｈは、上述したように、間隔Ｔ１を用いて、間隔Ｔ１よりも十分に長く、間隔Ｔｎよりも十分に短い時間に設定される。
【００４７】
Ａ−３：システム１０００の動作の具体例
以上説明したシステム１０００の動作の具体例をさらに説明する。図６は、第１実施例のシステム１０００の動作を示す第１のシーケンス図である。図７は、第１実施例のシステム１０００の動作を示す第２のシーケンス図である。
【００４８】
先ず、図６のＳ１０では、端末装置１００のＣＰＵ１１０は、コンピュータプログラムＰＧを起動する。この結果、端末装置１００において、上述した図２の状態情報送信処理と図４の状態情報受信処理とが、常時、並行して実行される状態になる。
【００４９】
図６のＳ１４では、１回目の状態情報の受信時間が到来したために、端末装置１００は、ＵＳＢＩＦ１７０から状態情報の要求を送信する。ＵＳＢＩＦ１７０にはプリンタ２００が接続されているので、端末装置１００からプリンタ２００に状態情報の要求が送信される（図４のＳ２１０）。Ｓ１６では、状態情報の要求に対する応答として、プリンタ２００から端末装置１００に状態情報のＭ個の項目が送信される（図４のＳ２１５）。ここで、１回目の受信時間に、プリンタ２００から受信される１セット分の状態情報（Ｍ個の項目）を、状態情報Ａとする。
【００５０】
Ｓ１８の時点では、送信情報領域ＳＡには別の状態情報は格納されていないので、Ｓ１８では、端末装置１００は、送信情報領域ＳＡに状態情報Ａを格納する（図４のＳ２３５）。この時点では、一時領域ＣＡに状態情報が格納されないので、切替タイミング決定処理は実行されない。
【００５１】
図６のＳ２０では、１回目の状態情報の収集時間が到来したために、管理サーバ３００から端末装置１００に、１セット分のＳＮＭＰ要求に含まれるＮ個の項目の要求のうち、最初の項目１の要求が送信される（図２のＳ１１０）。Ｓ２１では、端末装置１００は、項目１の要求の受信履歴を要求受信履歴テーブルＲＨＴに記録する（図２のＳ１１５）。Ｓ２２では、端末装置１００から管理サーバ３００に、送信情報領域ＳＡに格納済みの状態情報Ａの項目１（項目Ａ−１とも表現する）が送信される（図２のＳ１３０）。この後、順次に、項目２〜項目Ｎまでの要求の送信が、ほぼ一定の間隔（上述した間隔Ｔ１に相当）で行われる（図６のＳ２４、Ｓ３６）。そして、順次に送信されるＮ個の要求に応じて、該要求の受信履歴の記録（図６のＳ２５、Ｓ３７）と、該状態情報Ａの項目の送信（図６のＳ２６、Ｓ３８）と、がそれぞれ行われる。１回目の収集時間において、１セット分のＳＮＭＰ要求に含まれるＮ個の項目の要求の送信開始（Ｓ２０）からＮ番目の項目要求に対する応答（項目Ａ−Ｎ）の受信（Ｓ３８）までの期間を１回目の収集処理期間ＣＴ１とも呼ぶ。なお、Ｓ１６にてプリンタ２００から受信される状態情報の全項目が、管理サーバ３００によって収集される必要はないので、プリンタ２００から受信される状態情報の項目数Ｍと、管理サーバ３００に送信される状態情報の項目数Ｎとは、Ｎ≦Ｍを満たす。
【００５２】
項目Ａ−Ｎが受信されると、すなわち、Ｎ個の項目が収集されると、Ｓ４０にて、端末装置１００は、収集された状態情報ＡのＮ個の項目を、所定の管理データベースに保存する。
【００５３】
図６の例では、１回目の収集処理期間ＣＴ１の最中に、２回目の受信時間が到来したために、図６のＳ２８では、端末装置１００からプリンタ２００に状態情報の要求が送信される（図４のＳ２１０）。Ｓ３０では、状態情報の要求に対する応答として、プリンタ２００から端末装置１００に状態情報のＭ個の項目が送信される（図４のＳ２１５）。２回目の受信時間に、プリンタ２００から受信される１セット分の状態情報（Ｍ個の項目）を、状態情報Ｂとする。
【００５４】
Ｓ３２の時点では、送信情報領域ＳＡには状態情報Ａが格納されているので、Ｓ３２では、端末装置１００は、一時領域ＣＡに状態情報Ｂを格納する（図４のＳ２２５）。Ｓ３４では、端末装置１００は、切替タイミング決定処理を実行して、管理サーバ３００への送信対象の状態情報を、状態情報Ａから状態情報Ｂに切り替える切替タイミングを決定する。
【００５５】
Ｓ３４の時点では、最初の２回分の項目の要求は受信されている（Ｓ２０、Ｓ２４）が、１セット分のＳＮＭＰ要求（Ｎ個の項目の要求）は受信されていない（１回目の収集処理期間ＣＴ１は終了していない）。したがって、Ｓ３４では、切替タイミングは、直前に受信された項目要求から特定時間Ｔｔｈに亘って次の項目の要求が無かったときに決定される（図５の３１０にてＹＥＳ、Ｓ３２０にてＮＯ、Ｓ３３５）。
【００５６】
端末装置１００にて、Ｓ３８にてＮ番目の項目の要求（項目Ｎの要求）が受信された後、特定時間Ｔｔｈに亘って、次の項目の要求が受信されないので、Ｓ４２では、端末装置１００は、Ｓ３４にて決定済みの切替タイミングの到来を認識する（図４のＳ２４５にてＹＥＳ）。Ｓ４４では、切替タイミングの到来に応じて、端末装置１００は、送信情報領域ＳＡから状態情報Ａを削除して（図４のＳ２５０）、状態情報Ｂを格納する（図４のＳ２５５）。なお、図６のＳ４４に続いて図７のＳ４６が行われる。
【００５７】
図７のＳ４６、Ｓ４９、Ｓ６０では、２回目の状態情報の収集時間が到来したために、図６のＳ２０、Ｓ２４、Ｓ３６と同様に、管理サーバ３００から端末装置１００に、１セット分のＳＮＭＰ要求に含まれるＮ個の項目の要求（項目１〜Ｎの要求）が順次に送信される（図２のＳ１１０）。そして、順次に送信されるＮ個の要求に応じて、該要求の受信履歴の記録（図７のＳ４７、Ｓ５０、Ｓ６１）と、該状態情報Ｂの項目の送信（図６のＳ４８、Ｓ５１、Ｓ６２）と、がそれぞれ行われる。このように、２回目の状態情報の収集時間では、送信情報領域ＳＡに、状態情報Ａに代えて状態情報Ｂが格納されているので、状態情報ＢのＮ個の項目Ｂ−１、Ｂ−２、…、Ｂ−Ｎが管理サーバ３００に送信される。
【００５８】
２回目の収集時間において、１セット分のＳＮＭＰ要求に含まれるＮ個の項目の要求の送信開始（Ｓ４６）からＮ番目の項目の要求に対する応答（項目Ａ−Ｎ）の受信（Ｓ６２）までの期間を２回目の収集処理期間ＣＴ２とも呼ぶ。項目Ｂ−Ｎが受信されると、すなわち、Ｎ個の項目が収集されると、Ｓ６４にて、端末装置１００は、収集された状態情報ＢのＮ個の項目を、所定の管理データベースに保存する。
【００５９】
図７の例では、２回目の収集処理期間ＣＴ２の最中に、３回目以降の特定の受信時間が到来したために、図７のＳ５２では、端末装置１００からプリンタ２００に状態情報の要求が送信される（図４のＳ２１０）。Ｓ５４では、状態情報の要求に対する応答として、プリンタ２００から端末装置１００に状態情報のＭ個の項目が送信される（図４のＳ２１５）。この受信時間に、プリンタ２００から受信される１セット分の状態情報（Ｍ個の項目）を、状態情報Ｃとする。
【００６０】
Ｓ５６の時点では、送信情報領域ＳＡには、別の状態情報が格納されているので、Ｓ５６では、端末装置１００は、一時領域ＣＡに状態情報Ｃを格納する（図４のＳ２２５）。Ｓ５８では、端末装置１００は、切替タイミング決定処理を実行して、管理サーバ３００への送信対象の状態情報を、送信情報領域ＳＡに格納された別の状態情報から状態情報Ｃに切り替える切替タイミングを決定する。
【００６１】
Ｓ５８の時点では、図６の収集処理期間ＣＴ１において、１セット分のＳＮＭＰ要求は受信されている。したがって、図７のＳ５８では、切替タイミングは、１セット分のＳＮＭＰ要求の受信終了から所定時間Ｔｍが経過したときに決定される（図５の３１０にてＹＥＳ、Ｓ３２０にてＹＥＳ、Ｓ３３０）。Ｓ５８の時点では、収集処理期間ＣＴ２の最中である、すなわち、１セット分のＳＮＭＰ要求を受信している最中である。このために、決定される切替タイミングは、収集処理期間ＣＴ２の終了から所定時間Ｔｍが経過したときである。
【００６２】
収集処理期間ＣＴ２が終了すると、Ｓ６３にて、端末装置１００は、１セット分のＳＮＭＰ要求の受信終了を認識する。該受信終了から所定時間Ｔｍが経過した時点のＳ６６にて、端末装置１００は、Ｓ５８にて決定済みの切替タイミングの到来を認識する（図４のＳ２４５にてＹＥＳ）。Ｓ６８では、切替タイミングの到来に応じて、端末装置１００は、送信情報領域ＳＡから別の状態情報を削除して（図４のＳ２５０）、状態情報Ｃを格納する（図４のＳ２５５）。
【００６３】
以上説明した第１実施例によれば、端末装置１００は、Ｍ個の項目を含む状態情報Ａを受信し（図６のＳ１６）、Ｍ個の項目のうちのＮ個の項目を管理サーバ３００に送信することを要求するＳＮＭＰ要求を管理サーバ３００から受信する（図６のＳ２０、Ｓ２４、Ｓ３６）。端末装置１００は、該ＳＮＭＰ要求に応じて、受信済みの状態情報ＡのＮ個の項目を管理サーバ３００に順次に送信する（図６のＳ２２、Ｓ２４、Ｓ３８）。その後、端末装置１００は、要求受信履歴テーブルＲＨＴに記録されているＳＮＭＰ要求の受信履歴に基づいて、切替タイミングを決定する（図６のＳ３４）。端末装置１００は、状態情報Ｂが受信（図６のＳ３０）された後であって、切替タイミングよりも前にＳＮＭＰ要求が受信される場合に（例えば、図６のＳ３６）、状態情報Ａに含まれる項目を、管理サーバ３００に送信する（例えば、図６のＳ３８）。そして、状態情報Ｂが受信された後であって、切替タイミングよりも後にＳＮＭＰ要求が受信される場合に（例えば、図７のＳ４６、Ｓ４９）、状態情報Ｂに含まれる項目を、管理サーバ３００に送信する（例えば、図７のＳ４８、Ｓ５１）。この結果、管理サーバ３００からのＳＮＭＰ要求の受信履歴に基づいて、適切な切替タイミングが決定されるので、状態情報Ａの項目の送信と状態情報Ｂの項目の送信とを適切に切り替えることができる。この結果、通信装置が、複数個の項目を含むプリンタ２００の状態情報を、管理サーバ３００からの要求に応じて管理サーバ３００に送信する際に、状態情報Ａに含まれる項目と、状態情報Ｂに含まれる項目と、が混在して管理サーバ３００に送信されることを抑制できる。
【００６４】
例えば、仮に、図６の収集処理期間ＣＴ１の最中に、Ｓ３０にて状態情報Ｂがプリンタ２００から受信されたときに、直ちに、その後に受信される項目の要求に応じて送信される項目を、状態情報Ｂの項目に切り替えるとする。この場合には、収集処理期間ＣＴ１の最中に管理サーバ３００へ送信されるＮ個の項目のうち、状態情報Ｂの受信前に送信される項目は、状態情報Ａの項目となり、状態情報Ｂの受信後に送信される項目は、状態情報Ｂの項目となる。このように、収集処理期間ＣＴ１の最中に、状態情報Ａの項目と状態情報Ｂの項目とが混在されて、管理サーバ３００に送信されてしまう。２個の状態情報Ａ、Ｂが区別されない場合には、例えば、管理サーバ３００において、例えば、Ａ３、Ａ４、Ｂ５などの各用紙サイズの印刷枚数の合計と、総印刷枚数と、が合致しないなどの矛盾や、トナーなどの印刷材の消費量と、印刷枚数と、が合致しないなどの矛盾が発生し得る。この場合には、印刷枚数に基づく課金サービスやトナーの供給サービスの提供に支障が発生し得る。本実施例では、そのような不具合の発生を抑制することができる。
【００６５】
また、例えば、端末装置１００のコンピュータプログラムＰＧを提供する事業者（例えば、プリンタ２００のベンダ）と、管理サーバ３００の管理プログラムを提供する事業者（例えば、プリンタの課金サービスやトナーの供給サービスの提供者）と、が異なる場合が想定される。このような状況では、管理サーバ３００の仕様は、管理プログラムを提供する事業者によって様々であるので、収集される項目のセットの個数（Ｎの数）や内容、および、収集時間の間隔も様々である。そして、このような仕様は、コンピュータプログラムＰＧを提供する事業者には、解らない場合も多い。このような場合であっても、本実施例では、ＳＮＭＰ要求の受信履歴を記録して、該受信履歴に基づいて、切替タイミングを決定できるので、様々な仕様の管理サーバ３００に対して、状態情報Ａに含まれる項目と状態情報Ｂに含まれる項目とが混在して送信されることを抑制できる。
【００６６】
さらに、上記実施例の切替タイミング決定処理では、最初の項目の要求から２回目の項目の要求までの間隔Ｔ１が特定され（図５のＳ３１５）、間隔Ｔ１を用いて、切替タイミングが決定される（図５のＳ３３５）。この結果、最初の２回の項目の要求が受信されていれば、切替タイミングが決定できるので、比較的早い段階で、適切に切替タイミングを決定できる。例えば、１セット分のＳＮＭＰ要求が受信される前であっても切替タイミングを決定できる。
【００６７】
さらに、上記実施例の切替タイミング決定処理では、要求受信履歴テーブルＲＨＴに基づいて、１セット分のＳＮＭＰ要求が特定され（図５のＳ３２５）、１セット分のＳＮＭＰ要求の受信の終了後のタイミング、すなわち、状態情報に含まれるＮ番目に送信される項目の要求の受信が終了した後のタイミング（図７のＳ６６）に、切替のタイミングが決定される（図５のＳ３３０、図７のＳ５８）。この結果、より確実に適切な切替のタイミングを決定できる。例えば、管理サーバ３００において、一回の収集時間において収集される１セット分のＮ個の項目の中に、一の状態情報に含まれる項目と、次の状態情報に含まれる項目と、が混在することをより確実に抑制できる。
【００６８】
また、本実施例では、プリンタ２００と端末装置１００との通信に用いられるインタフェースは、第１の通信規格に従う通信を行うインタフェースであり、管理サーバ３００と端末装置１００との通信に用いられるインタフェースは、第１の通信規格とは異なる第２の通信規格に従う通信を行うインタフェースである。したがって、第２の通信規格に従って通信可能な管理サーバ３００は、第２の通信規格とは異なる第１の通信規格に従って通信可能なプリンタ２００の状態情報を、端末装置１００を介して適切に受信できる。
【００６９】
より具体的には、第１の通信規格は、ＵＳＢであり、第２の通信規格は、ＯＳＩ参照モデルのネットワーク層のプロトコルとしてＩＰ（Internet Protocol）を用いる通信規格（例えば、イーサネット（登録商標）やＷｉ−ｆｉ規格）である。したがって、ＩＰを用いて通信可能な管理サーバ３００は、ＵＳＢを用いて通信可能なプリンタ２００の状態情報を、状態情報Ａに含まれる項目と状態情報Ｂに含まれる項目とが混在することなく、適切に受信できる。
【００７０】
さらに、上記実施例では、端末装置１００は、決定済みの切替タイミングで、送信対象の状態情報を格納する送信情報領域ＳＡに格納される状態情報を、状態情報Ａからから状態情報Ｂに更新する（図４のＳ２５０、Ｓ２５５、図６のＳ４４）。端末装置１００は、
管理サーバ３００からのＳＮＭＰ要求に応じて、送信情報領域ＳＡに格納済みの状態情報に含まれるＮ個の項目のうちの対応する項目を、管理サーバ３００に送信する（図２のＳ１２０、Ｓ１３０）。この結果、状態情報Ａに含まれる項目の送信と、状態情報Ｂに含まれる項目の送信と、を容易に切り替えることができる。
【００７１】
さらに、本実施例では、管理サーバ３００に送信される状態情報は、消耗品の残量を示す情報と、印刷枚数を示す情報と、を含む。この結果、管理サーバ３００は、これらの情報を適切に管理できる。したがって、例えば、上述した印刷枚数に基づく課金サービスや消耗品の供給サービスの提供に支障が発生することを抑制できる。
【００７２】
さらに、本実施例では、管理サーバ３００からのＮ個の項目の要求の受信と、Ｎ個の項目の管理サーバ３００への送信とは、ＳＮＭＰに従う通信であり、Ｎ個の項目のそれぞれは、ＭＩＢ情報に含まれるオブジェクトである。このために、例えば、管理サーバ３００は、プリンタなどのデバイスの情報を収集するための一般的なプロトコルであるＳＮＭＰに従って、容易に、プリンタ２００の情報を収集できる。
【００７３】
Ｂ．第２実施例
第２実施例では、切替タイミング決定処理の内容が、第１実施例とは異なる。第２実施例の他の構成は、第１実施例と同一である。
【００７４】
図８は、第２実施例の切替タイミング決定処理のフローチャートである。Ｓ３１０Ｂでは、図５のＳ３１０と同様に、ＣＰＵ１１０は、最初の２回分の項目の要求を受信したか否かを判断する。最初の２回分の項目の要求が受信されていない場合には（Ｓ３１０Ｂ：ＮＯ）、ＣＰＵ１１０は、最初の２回分の項目の要求が受信されるまで待機する。最初の２回分の項目の要求が受信されている場合には（Ｓ３１０Ｂ：ＹＥＳ）、Ｓ３１５に処理を進める。
【００７５】
Ｓ３１５Ｂでは、ＣＰＵ１１０は、要求受信履歴テーブルＲＨＴを参照して、同じ項目について２回目の項目の要求を受信しているか否かを判断する。本実施例では、１セット分のＳＮＭＰ要求によって要求されるＮ個の項目は、互いに異なる。このために、１回目の収集時間の１セット分のＳＮＭＰ要求が受信され、さらに、２回目の収集時間のＳＮＭＰ要求の１個目の項目の要求が少なくとも受信されている時点では、１回目の収集時間の１個目の項目の要求と、２回目の収集時間の１個目の項目の要求とは、同じ項目について要求する２個の項目の要求である。例えば、図３の要求受信履歴テーブルＲＨＴの例では、時刻ｔ（１）に受信された項目の要求の要求項目と、時刻ｔ（Ｎ＋１）に受信された項目の要求の要求項目とは、両方とも「累積印刷枚数」である。したがって、この場合には、同じ項目について２回目の項目の要求を受信していると判断される。
【００７６】
同じ項目について２回目の項目の要求を受信している場合には（Ｓ３１５Ｂ：ＹＥＳ）、Ｓ３２０Ｂにて、ＣＰＵ１１０は、同じ項目の２回の項目の要求の間隔Ｔ２を特定する。図３の例では、ＣＰＵ１１０は、１回目の項目の要求と（Ｎ＋１）回目の項目の要求との間の期間｛ｔ（Ｎ＋１）−ｔ（１）｝を、間隔Ｔ２として算出する。
【００７７】
Ｓ３２２Ｂでは、ＣＰＵ１１０は、直前の１セット分のＳＮＭＰ要求の受信の開始から（Ｔ２／２）が経過した時点を切替タイミングに決定する。換言すれば、直前の１セット分のＳＮＭＰ要求の受信の開始から、次に開始される１セット分のＳＮＭＰ要求の受信の開始までの期間のちょうど中間の時点に、切替タイミングが決定される。例えば、図７の収集処理期間ＣＴ２の開始から次の収集処理期間（図示省略）の開始までの期間のちょうど中間の時点に、切替タイミングが決定される。収集処理期間ＣＴ２の長さ（例えば、数分）と比較して、間隔Ｔ２（例えば、数時間）は十分に長いので、当該切替タイミングは、概ね一の収集時間と次の収集時間との中間のタイミングになる。
【００７８】
同じ項目について２回目の項目の要求を受信していない場合には（Ｓ３１５Ｂ：ＮＯ）、Ｓ３２５Ｂにて、ＣＰＵ１１０は、図５のＳ３１５と同様に、最初の２回の項目の要求の間隔Ｔ１を特定する。Ｓ３３０Ｂでは、ＣＰＵ１１０は、図５のＳ３３５と同様に、直前に受信された項目の要求から特定時間Ｔｔｈに亘って次の項目の要求が無かったときを切替タイミングに決定する。
【００７９】
以上説明した第２実施例によれば、同じ項目についての２回の項目の要求、例えば、図３の時刻ｔ（１）の項目の要求と時刻ｔ（Ｎ＋１）の項目の要求とを含むＳＮＭＰ要求の受信履歴に基づいて、当該２回の項目の要求の間隔Ｔ２、例えば、時刻ｔ（１）から時刻ｔ（Ｎ＋１）までの間隔Ｔ２の期間が特定される（図８のＳ３２０Ｂ）。そして、該間隔Ｔ２を用いて、切替のタイミングが決定される（図８のＳ３２２Ｂ）。この結果、間隔Ｔ２に基づいて、より適切な切替タイミングを決定できる。例えば、第２実施例では、例えば、図７のＳ５８にて、収集処理期間ＣＴ２と次の収集処理期間（図示省略）との間に、適切な切替タイミングを決定できる。
【００８０】
Ｃ.第３実施例
図９は、第３実施例のシステム１０００Ｃの構成を示すブロック図である。システム１０００Ｃは、２個のプリンタ２００Ａ、２００Ｄを備えている。２個のプリンタ２００Ａ、２００Ｄは、それぞれ、第１実施例の図１のプリンタ２００と同じ構成を有するプリンタである。例えば、プリンタ２００Ａ、２００Ｄは、プリンタ２００の印刷実行部２４０と同一の印刷実行部２４０Ａ、２４０Ｄと、プリンタ２００の情報ＤＢ２５０と同一の情報ＤＢ２５０Ａ、２５０Ｄと、を備えている。システム１０００Ｃでは、２個のプリンタ２００Ａ、２００Ｄのうち、１個のプリンタがＵＳＢＩＦ１７０に接続されて使用される。
【００８１】
第３実施例の端末装置１００Ｃの揮発性記憶装置１２０Ｃには、一時領域ＣＡと、第１送信情報領域ＳＡ１と、第２送信情報領域ＳＡ２と、を備えている。第１送信情報領域ＳＡ１は、プリンタ２００Ａの状態情報を格納するための領域である。第２送信情報領域ＳＡ２は、プリンタ２００Ｄの状態情報を格納するための領域である。第１送信情報領域ＳＡ１と第２送信情報領域ＳＡ２のうちのいずれか一方が、送信対象の送信情報領域に設定される。端末装置１００Ｃは、管理サーバ３００から状態情報を要求するＳＮＭＰ要求を受信すると、第１送信情報領域ＳＡ１と第２送信情報領域ＳＡ２のうち送信対象の送信情報領域に設定されている領域に格納された状態情報を、応答として管理サーバ３００に送信する。
【００８２】
端末装置１００Ｃの不揮発性記憶装置１３０Ｃには、コンピュータプログラムＰＧと、プリンタ識別情報ＰＩＤと、が格納されている。プリンタ識別情報ＰＩＤは、ＵＳＢＩＦ１７０に接続されているローカルプリンタ、本実施例では、プリンタ２００Ａ、２００Ｄを識別するための識別情報であり、具体的には、プリンタ２００Ａ、２００Ｄのシリアル番号である。
【００８３】
システム１０００Ｃの他の構成は、図１のシステム１０００と同じである。
【００８４】
第３実施例では、状態情報受信処理の内容が、第１実施例とは異なる。第３実施例の他の処理は、第１実施例と同一である。
【００８５】
図１０は、第３実施例の状態情報受信処理のフローチャートである。Ｓ５０５では、ＣＰＵ１１０は、図４のＳ２０５と同様に、ＵＳＢＩＦ１７０に接続されたプリンタの状態情報の受信時間が到来したか否かを判断する。
【００８６】
受信時間が到来していない場合には（Ｓ５０５：ＮＯ）、Ｓ５５０にて、ＣＰＵ１１０は、図４の２４５と同様に、切替タイミングが到来したか否かを判断する。切替タイミングは、第１実施例と同様に、後述する切替タイミング決定処理において決定される。切替タイミングが到来していない場合には（Ｓ５５５：ＮＯ）、ＣＰＵ１１０は、Ｓ５０５に戻って、受信時間、または、切替タイミングが到来するまで待機する。
【００８７】
受信時間が到来した場合には（Ｓ５０５：ＹＥＳ）、Ｓ５１０にて、ＣＰＵ１１０は、図４のＳ２１０と同様に、ＵＳＢＩＦ１７０を介して、プリンタ２００Ａまたは２００Ｄに状態情報の要求を送信する。ここで送信される状態情報の要求は、第１実施例と同様に、互いに異なるＭ個の項目を要求する。
【００８８】
Ｓ５１５では、ＣＰＵ１１０は、図４のＳ２１５と同様に、状態情報の要求に対する応答として、ＵＳＢＩＦ１７０を介してプリンタ２００Ａまたは２００ＤからＭ個の項目を含む状態情報を受信する。第３実施例では、状態情報に加えて、送信元のプリンタのシリアル番号を併せて受信する。
【００８９】
Ｓ５２０では、ＣＰＵ１１０は、Ｓ５１５にて受信された状態情報が、現在の送信対象のプリンタの状態情報であるか否かを判断する。第１送信情報領域ＳＡ１が現在の送信対象の送信対象領域に設定されている場合には、現在の送信対象のプリンタは、第１送信情報領域ＳＡ１に対応するプリンタ２００Ａである。また、第２送信情報領域ＳＡ２が現在の送信対象の送信対象領域に設定されている場合には、現在の送信対象のプリンタは、第２送信情報領域ＳＡ２に対応するプリンタ２００Ｄである。受信された状態情報が、プリンタ２００Ａとプリンタ２００Ｄとのいずれの状態情報であるかは、送信元のプリンタのシリアル番号を参照して判断できる。
【００９０】
受信された状態情報が、現在の送信対象のプリンタの状態情報である場合には（Ｓ５２０：ＹＥＳ）、Ｓ５２５にて、ＣＰＵ１１０は、図３のＳ２２０〜Ｓ２３５の処理を実行する。すなわち、別の状態情報が、現在の送信対象の送信情報領域に格納済みであるか否かが判断され（図３のＳ２２０）、別の状態情報が格納済みである場合には（Ｓ２２０：ＹＥＳ）、受信された状態情報は、一時領域ＣＡに格納され（図３のＳ２２５）、切替タイミング決定処理が実行される（図３のＳ２３０）。そして、別の状態情報が格納済みでない場合には（Ｓ２２０：ＮＯ）、受信された状態情報は、現在の送信対象の送信情報領域に格納される（図３のＳ２３５）。その後、ＣＰＵ１１０は、Ｓ５０５に戻って、次の受信時間、または、切替タイミングが到来するまで待機する。
【００９１】
受信された状態情報が、現在の送信対象のプリンタの状態情報でない場合には（Ｓ５２０：ＮＯ）、Ｓ５３５にて、ＣＰＵ１１０は、受信された状態情報を、第１送信情報領域ＳＡ１と第２送信情報領域ＳＡ２とのうち、対応する送信情報領域に格納する。すなわち、受信された状態情報がプリンタ２００Ａの状態情報であれば、該状態情報は、第１送信情報領域ＳＡ１に格納され、受信された状態情報がプリンタ２００Ｄの状態情報であれば、該状態情報は、第２送信情報領域ＳＡ２に格納される。Ｓ５４０では、ＣＰＵ１１０は、切替タイミング決定処理を実行する。切替タイミング決定処理は、例えば、第１実施例と同一の切替タイミング決定処理（図５）である。その後、ＣＰＵ１１０は、Ｓ５０５に戻って、次の受信時間、または、切替タイミングが到来するまで待機する。
【００９２】
切替タイミングが到来した場合には（Ｓ５５０：ＹＥＳ）、Ｓ５５５にて、ＣＰＵ１１０は、次の送信対象の状態情報は、現在の送信対象のプリンタとは別のプリンタの状態情報であるか否かを判断する。最後にＵＳＢＩＦ１７０を介して受信された状態情報が、現在の送信対象のプリンタと異なる場合には、次の送信対象の状態情報は、現在の送信対象のプリンタとは別のプリンタの状態情報であると判断される。最後にＵＳＢＩＦ１７０を介して受信された状態情報が、現在の送信対象のプリンタと同じである場合には、次の送信対象の状態情報は、現在の送信対象のプリンタの状態情報であると判断される。
【００９３】
次の送信対象の状態情報は、現在の送信対象のプリンタとは別のプリンタの状態情報である場合には（Ｓ５５５：ＹＥＳ）、Ｓ５７０にて、ＣＰＵ１１０は、送信対象の送信情報領域を切り替える。例えば、現在の送信対象の送信情報領域が、プリンタ２００Ａに対応する第１送信情報領域ＳＡ１である場合には、送信対象の送信情報領域は、プリンタ２００Ｄに対応する第２送信情報領域ＳＡ２に切り替えられる。また、現在の送信対象の送信情報領域が、第１送信情報領域ＳＡ１である場合には、送信対象の送信情報領域は、第２送信情報領域ＳＡ２に切り替えられる。その後、ＣＰＵ１１０は、Ｓ５０５に戻って、次の受信時間、または、切替タイミングが到来するまで待機する。
【００９４】
次の送信対象の状態情報は、現在の送信対象のプリンタの状態情報である場合には（Ｓ５５５：ＮＯ）、Ｓ５６０にて、ＣＰＵ１１０は、送信対象の送信状態領域に格納済みの状態情報を削除する。Ｓ５６５では、ＣＰＵ１１０は、一時領域ＣＡに格納済みの状態情報を、送信対象の送信情報領域に格納する。その後、ＣＰＵ１１０は、Ｓ５０５に戻って、次の受信時間、または、切替タイミングが到来するまで待機する。
【００９５】
次に、第３実施例のシステム１０００Ｃの動作の具体例について説明する。図１１は、システム１０００Ｃの動作の具体例を示すシーケンス図である。なお、図１１において、図６と同じステップには、図６と同じ符号を付し、図６と異なるステップには、符号の末尾に「Ｃ」を付した。この例では、初期状態では、プリンタ２００Ａが端末装置１００ＣのＵＳＢＩＦ１７０に接続され、プリンタ２００Ｄが端末装置１００ＣのＵＳＢＩＦ１７０に接続されていない状態である。また、初期状態では、送信対象の送信情報領域は、プリンタ２００Ａに対応する第１送信情報領域ＳＡ１である。
【００９６】
先ず、図１１のＳ１０にて、端末装置１００ＣのコンピュータプログラムＰＧが起動される。Ｓ１４では、１回目の状態情報の受信時間が到来したために、端末装置１００Ｃは、ＵＳＢＩＦ１７０から状態情報の要求を送信する。ＵＳＢＩＦ１７０にはプリンタ２００Ａが接続されているので、端末装置１００Ｃからプリンタ２００Ａに状態情報の要求が送信される（図１０のＳ５１０）。Ｓ１６Ｃでは、状態情報の要求に対する応答として、プリンタ２００Ａから端末装置１００ＣにＭ個の項目を含む状態情報と、プリンタ２００Ａのシリアル番号と、が送信される（図１０のＳ５１５）。ここで、１回目の受信時間に、プリンタ２００Ａから受信される１セット分の状態情報（Ｍ個の項目）を、状態情報Ａとする。
【００９７】
Ｓ１８Ｃの時点では、プリンタ２００Ａに対応する第１送信情報領域ＳＡ１には別の状態情報は格納されていないので、Ｓ１８Ｃでは、端末装置１００Ｃは、第１送信情報領域ＳＡ１に状態情報Ａを格納する（図１０のＳ５２５）。この時点では、一時領域ＣＡに状態情報が格納されないので、切替タイミング決定処理は実行されない。
【００９８】
図１１のＳ２０、Ｓ２４、Ｓ３６では、１回目の状態情報の収集時間が到来したために、第１実施例にて説明したように、管理サーバ３００から端末装置１００Ｃに、１セット分のＳＮＭＰ要求（項目１〜Ｎの要求）が順次に送信される（図２のＳ１１０）。そして、順次に送信されるＮ個の要求に応じて、該要求の受信履歴の記録（図１１のＳ２１、Ｓ２５、Ｓ３７）と、該状態情報Ａの項目の送信（図６のＳ２２、Ｓ２６、Ｓ３８）と、がそれぞれ行われる。このように、１回目の状態情報の収集時間では、送信対象の第１送信情報領域ＳＡ１に、状態情報Ａが格納されているので、状態情報ＡのＮ個の項目Ａ−１、Ａ−２、…、Ａ−Ｎが管理サーバ３００に送信される。Ｓ４０にて、端末装置１００Ｃは、収集された状態情報ＡのＮ個の項目を、所定の管理データベースに保存する。
【００９９】
図６の例では、１セット分のＳＮＭＰ要求の送信開始（Ｓ２０）からＮ番目の項目の要求に対する応答（項目Ａ−Ｎ）の受信（Ｓ３８）までの１回目の収集処理期間ＣＴ１の前に、端末装置１００Ｃに接続されるプリンタは、プリンタ２００Ａからプリンタ２００Ｄに変更される。具体的には、ユーザによってＵＳＢＩＦ１７０からプリンタ２００Ａが取り外され、ＵＳＢＩＦ１７０に新たにプリンタ２００Ｄが接続される。
【０１００】
その後、１回目の収集処理期間ＣＴ１の最中に、２回目の受信時間が到来したために、図１１のＳ２８Ｃでは、端末装置１００Ｃからプリンタ２００Ｄに状態情報の要求が送信される（図１０のＳ５１０）。Ｓ３０Ｃでは、状態情報の要求に対する応答として、プリンタ２００Ｄから端末装置１００ＣにＭ個の項目を含む状態情報Ｄと、プリンタ２００Ｄのシリアル番号と、が送信される（図１０のＳ５１５）。２回目の受信時間に、プリンタ２００Ｄから受信される１セット分の状態情報（Ｍ個の項目）を、状態情報Ｄとする。
【０１０１】
Ｓ３２Ｃの時点では、送信対象の送信情報領域は、第１送信情報領域ＳＡ１であるので、Ｓ３２Ｃでは、端末装置１００Ｃは、プリンタ２００Ｄに対応する第２送信情報領域ＳＡ２に状態情報Ｄを格納する（図１０のＳ５３５）。Ｓ３４では、端末装置１００Ｃは、切替タイミング決定処理を実行して、管理サーバ３００への送信対象の状態情報を、状態情報Ａから状態情報Ｄに切り替える切替タイミングを決定する。
【０１０２】
Ｓ３４の時点では、最初の２回分の項目の要求は受信されている（Ｓ２０、Ｓ２４）が、１セット分のＳＮＭＰ要求は受信されていない（１回目の収集処理期間ＣＴ１は終了していない）。したがって、Ｓ３４では、第１実施例と同様に切替タイミングは、直前に受信された項目の要求から特定時間Ｔｔｈに亘って次の項目の要求が無かったときに決定される（図５の３１０にてＹＥＳ、Ｓ３２０にてＮＯ、Ｓ３３５）。
【０１０３】
端末装置１００Ｃにて、Ｓ３８にてＮ番目の項目の要求（項目Ｎの要求）が受信された後、特定時間Ｔｔｈに亘って、次の項目の要求が受信されないので、Ｓ４２では、端末装置１００Ｃは、Ｓ３４にて決定済みの切替タイミングの到来を認識する（図１０のＳ５５０にてＹＥＳ）。Ｓ４４Ｃでは、切替タイミングの到来に応じて、端末装置１００Ｃは、送信対象の送信情報領域を、第１送信情報領域ＳＡ１から第２送信情報領域ＳＡ２に切り替える（図１０のＳ５７０）。すなわち、これ以降に項目の要求が受信されると、該項目の要求に応じて、第２送信情報領域ＳＡ２に格納された状態情報Ｄの対応する項目が、管理サーバ３００に送信される。例えば、２回目の収集時間が到来すると、図１１のＳ４６Ｃにて、管理サーバ３００から端末装置１００Ｃに次のＳＮＭＰ要求の１番目の項目の要求が送信され、Ｓ４７Ｃにて端末装置１００Ｃは該項目の要求の受信履歴を記録し、Ｓ４８Ｃにて端末装置１００Ｃから管理サーバ３００に第２送信情報領域ＳＡ２に格納されたプリンタ２００Ｄの状態情報の項目Ｄ−１が送信される。その後、ＳＮＭＰ要求に含まれる残りの項目の要求が順次に、端末装置１００Ｃに送信され、これらのＳＮＭＰ要求に応じて、端末装置１００Ｃから管理サーバ３００に、第２送信情報領域ＳＡ２に格納された状態情報の対応する項目Ｄ−２、Ｄ−３、…、Ｄ−Ｎが送信される（図示省略）。
【０１０４】
以上説明した第３実施例によれば、端末装置１００Ｃは、受信済みの状態情報のうち、プリンタ２００Ａの状態情報Ａを格納する第１送信情報領域ＳＡ１と、プリンタ２００Ｄの状態情報Ｄを格納する第２送信情報領域ＳＡ２と、を有するメモリである揮発性記憶装置１２０Ｃと、を備える（図９）。そして、端末装置１００Ｃは、プリンタ２００Ｄから状態情報Ｄが受信された（図１１のＳ３０Ｃ）後であって、切替タイミング（図１１のＳ４２）よりも前に受信されるＳＮＭＰ要求（例えば、図１１のＳ３６）に応じて、第１送信情報領域ＳＡ１に格納済みの状態情報Ａに含まれる対応する項目（例えば、項目Ａ−Ｎ）を、管理サーバ３００に送信する（図１１のＳ３８）。そして、端末装置１００Ｃは、プリンタ２００Ｄから状態情報Ｄが受信された後であって、切替タイミング（図１１のＳ４２）よりも後に受信されるＳＮＭＰ要求（例えば、図１１のＳ４６Ｃ）に応じて、第２送信情報領域ＳＡ２に格納済みの状態情報Ｄに含まれる対応する項目（例えば、項目Ｄ−１）を、管理サーバ３００に送信する（図１１のＳ４８Ｃ）。この結果、プリンタ２００Ａから受信される状態情報Ａに含まれる項目の送信と、プリンタ２００Ｄから受信される状態情報Ｄに含まれる項目の送信と、を容易に切り替えることができる。
【０１０５】
Ｄ．変形例
（１）上記第１実施例の端末装置１００では、プリンタ２００と通信する第１種のインタフェースは、ＵＳＢＩＦ１７０であり、管理サーバ３００と通信する第２種のインタフェースは、ネットワークＩＦ１８０である。このように、第１種のインタフェースの通信が従う通信規格と、第２種のインタフェースの通信が従う通信規格とは、異なっている。これに代えて、例えば、第１種のインタフェースの通信が従う通信規格と、第２種のインタフェースの通信が従う通信規格とは、同じイーサネット（登録商標）であっても良い。
【０１０６】
この場合には、例えば、端末装置１００は、第１種のインタフェースとして第１のネットワークＩＦを備え、第２種のインタフェースとして第２のネットワークＩＦを備える。そして、第１のネットワークＩＦは、ローカルエリアネットワークに接続され、該ローカルエリアネットワークを介してネットワークプリンタと接続される。さらに、第２のネットワークＩＦは、インターネットに接続され、該インターネットを介して管理サーバ３００と接続される。この場合には、端末装置１００は、ＳＮＭＰ要求をネットワークプリンタに送信することによって、Ｍ個の項目を含む状態情報Ａを受信し、その後に、Ｍ個の項目を含む状態情報Ｂを受信する。端末装置１００は、管理サーバ３００からのＳＮＭＰ要求に応じて、Ｍ個の項目のうちのＮ個の項目を管理サーバ３００に順次に送信する。そして、この場合においても、端末装置１００は、管理サーバ３００からのＳＮＭＰ要求の受信履歴に基づいて、切替タイミングを決定する。そして、端末装置１００は、切替タイミングより前に、管理サーバ３００から送信されるＳＮＭＰ要求に応じて、状態情報Ａの項目を管理サーバ３００に送信し、切替タイミングより前に、管理サーバ３００から送信されるＳＮＭＰ要求に応じて、状態情報Ｂの項目を管理サーバ３００に送信する。この場合にも、管理サーバ３００に対して、状態情報Ａに含まれる項目と、状態情報Ｂに含まれる項目と、が混在して送信されることを抑制できる。
【０１０７】
（２）上述の変形例（１）において、第１のネットワークＩＦは、Ｗｉ−ｆｉ規格に従う無線インタフェースであり、第２のネットワークＩＦは、イーサネット（登録商標）規格に従う有線インタフェースであっても良い。逆に、第１のネットワークＩＦは、イーサネット（登録商標）規格に従う有線インタフェースであり、第２のネットワークＩＦは、Ｗｉ−ｆｉ規格に従う無線インタフェースであっても良い。また、例えば、第１のネットワークＩＦは、Ｗｉ−ｆｉ規格に従う無線インタフェースであり、第２のネットワークＩＦは、Ｗｉ−ｆｉ  Ｄｉｒｅｃｔの規格に従う無線インタフェースであってもよい。
【０１０８】
（３）上記各実施例では、管理サーバ３００からのＳＮＭＰ要求に含まれるＮ個の項目の要求に応じて、端末装置１００から管理サーバ３００に状態情報のＮ個の項目が送信される。すなわち、ＳＮＭＰ要求に含まれる各項目の要求と項目とは、一対一に対応している。これに代えて、Ｋ個（Ｋは、２≦Ｋ＜Ｎを満たす整数）の項目の要求に応じて、端末装置１００から管理サーバ３００に状態情報のＮ個の項目が送信されても良い。すなわち、少なくとも一部の項目の要求は、２以上の項目と対応していても良い。
【０１０９】
（４）上記各実施例では、端末装置１００からの要求に応じて、プリンタ２００やプリンタ２００から状態情報が端末装置１００に送信される。これに代えて、プリンタ２００やプリンタ２００が定期的に、かつ、自発的に、状態情報を端末装置１００に送信しても良い。
【０１１０】
（５）第１実施例の図５の切替タイミング決定処理のＳ３２５では、１セット分のＳＮＭＰ要求に含まれるＮ個の項目の要求の全てを特定している。これに代えて、１セット分のＳＮＭＰ要求に含まれるＮ個の項目の要求のうち、最後のＮ番目の項目の要求だけを特定しても良い。この場合でも、Ｓ３３０では、ＣＰＵ１１０は、当該Ｎ番目の項目の要求の受信の終了から所定時間Ｔｍが経過したときを切替タイミングに決定すれば良い。
【０１１１】
（６）上記実施例では、プリンタ２００から端末装置１００へ送信され、端末装置１００から管理サーバ３００へ送信される状態情報のＮ個の項目は、累積印刷枚数と、消耗品の残量と、を含んでいる。これらに代えて、または、これらと共に、該状態情報は、消耗品の交換回数と、印刷実行部のエラーに関する情報と、の全部または一部を含んでも良い。また、該状態情報は、累積印刷枚数だけでも良く、消耗品の残量だけでも良い。
【０１１２】
（７）上記各実施例のシステム１０００は、プリンタ２００に代えて、他の周辺装置、例えば、スキャナやファイルサーバを備えても良い。この場合には、管理サーバ３００は、例えば、スキャナの状態情報（例えば、スキャン回数、エラー情報）や、ファイルサーバの状態情報（例えば、空き容量、エラー情報）を管理しても良い。
【０１１３】
（８）上記各実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部あるいは全部をハードウェアに置き換えるようにしてもよい。
【０１１４】
（９）本発明の機能の一部または全部がコンピュータプログラムで実現される場合には、そのプログラムは、コンピュータ読み取り可能な記録媒体（例えば、一時的ではない記録媒体）に格納された形で提供することができる。プログラムは、提供時と同一または異なる記録媒体（コンピュータ読み取り可能な記録媒体）に格納された状態で、使用され得る。「コンピュータ読み取り可能な記録媒体」は、メモリーカードやＣＤ−ＲＯＭのような携帯型の記録媒体に限らず、各種ＲＯＭ等のコンピュータ内の内部記憶装置や、ハードディスクドライブ等のコンピュータに接続されている外部記憶装置も含み得る。
【０１１５】
以上、実施例、変形例に基づき本発明について説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨並びに特許請求の範囲を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれる。
【符号の説明】
【０１１６】
１００、１００Ｃ…端末装置、１１０…ＣＰＵ、１２０、１２０Ｃ…揮発性記憶装置、１３０、１３０Ｃ…不揮発性記憶装置、１４０…表示部、１５０…操作部、１７０…読取実行部、２００、２００Ａ、２００Ｄ…プリンタ、２４０、２４０Ａ、２４０Ｄ、５４０…印刷実行部、３００…管理サーバ、１０００、１０００Ｃ…システム、１８０…ネットワークＩＦ、２５０、２５０Ａ、２５０Ｄ、５５０…情報ＤＢ、ＣＡ…一時領域、ＳＡ…送信情報領域、ＰＧ…コンピュータプログラム、ＮＴ…ローカルエリアネットワーク、ＳＡ１…第１送信情報領域、ＳＡ２…第２送信情報領域、ＰＩＤ…プリンタ識別情報、ＲＨＴ…要求受信履歴テーブル
【図１】
2019067009.tif 000003
【図２】
2019067009.tif 000004
【図３】
2019067009.tif 000005
【図４】
2019067009.tif 000006
【図５】
2019067009.tif 000007
【図６】
2019067009.tif 000008
【図７】
2019067009.tif 000009
【図８】
2019067009.tif 000010
【図９】
2019067009.tif 000011
【図１０】
2019067009.tif 000012
【図１１】
2019067009.tif 000013