(57)【要約】【課題】  不要な管理プログラムが端末装置にインストールされるのを抑制するための技術を提供する。【解決手段】  端末装置は、ＵＳＢＩ／Ｆを介して、確認信号の送信を試行し（Ｓ２４）、確認信号に対する応答信号を受信する場合（Ｓ２６でＹＥＳ）に、個別管理プログラムをインストールする（Ｓ４０）。一方、端末装置は、ＵＳＢＩ／Ｆを介して、応答信号を受信しない場合（Ｓ２６でＮＯ）に、個別管理プログラムをインストールしない。個別管理プログラムは、周辺装置から、ＵＳＢＩ／Ｆを介して、周辺装置の状態を示す状態情報を取得して、当該状態情報を管理装置に送信するためのプログラムである。【選択図】  図２
2018018453.tif 000002
【特許請求の範囲】
【請求項１】
端末装置であって、
他の装置を介さない直接通信を周辺装置と実行するための第１のインターフェースと、
前記周辺装置とは異なるサーバとの通信を実行するための第２のインターフェースと、
前記第１のインターフェースを介した通信を試行して、前記周辺装置との通信を実行可能であるのか否かを判断する第１の判断部と、
前記周辺装置との通信を実行可能であると判断される場合に、管理プログラムをインストールし、前記周辺装置との通信を実行可能でないと判断される場合に、前記管理プログラムをインストールしないインストール部であって、前記管理プログラムは、前記サーバから、前記第２のインターフェースを介して、受信され、前記管理プログラムは、前記周辺装置から、前記第１のインターフェースを介して、前記周辺装置の状態を示す状態情報を取得して、前記状態情報を外部装置に出力するためのプログラムである、前記インストール部と、
を備える端末装置。
【請求項２】
前記端末装置は、さらに、
第１の周辺装置の機種を示す機種情報を取得する取得部と、
前記機種情報が所定文字列を含むのか否かを判断する第２の判断部と、
を備え、
前記インストール部は、
前記機種情報が前記所定文字列を含むと判断され、かつ、前記第１のインターフェースを介した前記第１の周辺装置との通信が成功したことに起因して、前記第１の周辺装置との通信を実行可能であると判断される場合に、前記管理プログラムをインストールし、
前記機種情報が前記所定文字列を含まないと判断される場合に、前記管理プログラムをインストールしない、請求項１に記載の端末装置。
【請求項３】
前記第１の判断部は、
確認信号の送信に関係する指示を前記第１のインターフェースに供給し、前記周辺装置から前記確認信号に対する応答信号を受信する場合に、前記周辺装置との通信を実行可能であると判断し、
前記指示に応じて、前記確認信号が送信されない場合に、前記周辺装置との通信を実行可能でないと判断する、請求項１又は２に記載の端末装置。
【請求項４】
前記第２のインターフェースを介して前記サーバから受信される所定プログラムによって、前記第１の判断部と前記インストール部とが実現される、請求項１から３のいずれか一項に記載の端末装置。
【請求項５】
前記所定プログラムは、前記端末装置の電源が投入されることに起因して、前記端末装置が前記サーバにアクセスする際に、前記サーバから受信される、請求項４に記載の端末装置。
【請求項６】
前記第１の判断部は、前記第２のインターフェースを介して前記サーバから前記所定プログラムと前記管理プログラムとが受信される際に、前記第１のインターフェースを介した通信を試行し、
前記インストール部は、前記周辺装置との通信を実行可能であると判断される場合に、受信済みの前記管理プログラムをインストールする、請求項４又は５に記載の端末装置。
【請求項７】
前記端末装置は、さらに、
前記管理プログラムがインストールされた後に、前記第１のインターフェースを介した通信を繰り返し試行して、試行結果を示す結果情報をメモリに記憶させる記憶制御部と、
前記結果情報が、前記周辺装置との通信を実行不可能な期間が所定期間よりも長いことを示す場合に、前記管理プログラムをアンインストールするアンインストール部と、を備える請求項１から６のいずれか一項に記載の端末装置。
【請求項８】
前記端末装置は、さらに、
前記第１のインターフェースを介した第１の周辺装置との通信が成功したことに起因して、前記管理プログラムがインストールされる場合に、前記第１の周辺装置を識別するための第１の識別情報を管理テーブルに登録する第１の登録部であって、前記管理プログラムは、前記管理テーブルに登録されている識別情報を利用して、前記識別情報によって識別される周辺装置から前記状態情報を取得するためのプログラムである、前記第１の登録部と、
前記管理プログラムがインストールされた後に、前記第１のインターフェースを介した通信を試行して、前記第１の周辺装置とは異なる第２の周辺装置との通信を実行可能であるのか否かを判断する第３の判断部と、
前記第２の周辺装置との通信を実行可能であると判断される場合に、前記第２の周辺装置を識別するための第２の識別情報を前記管理テーブルに登録する第２の登録部であって、前記第２の周辺装置との通信を実行可能でないと判断される場合に、前記第２の識別情報は、前記管理テーブルに登録されない、前記第２の登録部と、を備える、請求項１から７のいずれか一項に記載の端末装置。
【請求項９】
端末装置のためのコンピュータプログラムであって、
前記端末装置のコンピュータを、
前記端末装置の第１のインターフェースを介した通信を試行して、周辺装置との通信を実行可能であるのか否かを判断する第１の判断部であって、前記第１のインターフェースは、他の装置を介さない直接通信を前記周辺装置と実行するためのインターフェースである、前記第１の判断部と、
前記周辺装置との通信を実行可能であると判断される場合に、管理プログラムをインストールし、前記周辺装置との通信を実行可能でないと判断される場合に、前記管理プログラムをインストールしないインストール部であって、前記管理プログラムは、前記周辺装置とは異なるサーバから、前記端末装置の第２のインターフェースを介して、受信され、前記管理プログラムは、前記周辺装置から、前記第１のインターフェースを介して、前記周辺装置の状態を示す状態情報を取得して、前記状態情報を外部装置に出力するためのプログラムである、前記インストール部と、
として機能させるコンピュータプログラム。
【請求項１０】
端末装置によって実行されるインストール方法であって、
前記端末装置の第１のインターフェースを介した通信を試行して、周辺装置との通信を実行可能であるのか否かを判断する第１の判断工程であって、前記第１のインターフェースは、他の装置を介さない直接通信を前記周辺装置と実行するためのインターフェースである、前記第１の判断工程と、
前記周辺装置との通信を実行可能であると判断される場合に、管理プログラムをインストールし、前記周辺装置との通信を実行可能でないと判断される場合に、前記管理プログラムをインストールしないインストール工程であって、前記管理プログラムは、前記周辺装置とは異なるサーバから、前記端末装置の第２のインターフェースを介して、受信され、前記管理プログラムは、前記周辺装置から、前記第１のインターフェースを介して、前記周辺装置の状態を示す状態情報を取得して、前記状態情報を外部装置に出力するためのプログラムである、前記インストール工程と、
を備える、インストール方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書では、周辺装置のための管理プログラムを端末装置にインストールするための技術を開示する。
【背景技術】
【０００２】
特許文献１には、印刷機器を管理するための印刷管理プログラムをクライアント端末にインストールするための技術が開示されている。印刷機器は、ＵＳＢ（Universal Serial Busの略）ケーブルを介してクライアント端末に接続され得る。機器管理装置は、クライアント端末のレジストリ領域に保存されているプラグアンドプレイ対応機器に関する情報を確認し、当該情報内の機器タイプに関する事項に文字列「printer」が記述されている場合に、印刷機器がＵＳＢケーブルを介してクライアント端末に接続されていると判断する。この場合、機器管理装置は、クライアント端末への印刷管理プログラムの配信をプログラム配信サーバに実行させる。この結果、印刷管理プログラムがクライアント端末にインストールされる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−６１７８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
クライアント端末にＵＳＢケーブルを介して印刷機器が一度でも接続されると、レジストリ領域には文字列「printer」を含む情報が保存される。例えば、印刷機器がクライアント端末に過去に接続されたことがあるが、印刷機器がクライアント端末に現在接続されていない状況が想定される。このような状況でも、クライアント端末のレジストリ領域には文字列「printer」を含む情報が保存されているので、機器管理装置は、印刷管理プログラムの配信をプログラム配信サーバに実行させる。この結果、印刷機器がクライアント端末に現在接続されていないにも関わらず、印刷機器を管理するための印刷管理プログラムがクライアント端末にインストールされてしまう。即ち、不要な管理プログラムがクライアント端末にインストールされてしまう。
【０００５】
本明細書では、不要な管理プログラムが端末装置にインストールされるのを抑制するための技術を提供する。
【課題を解決するための手段】
【０００６】
本明細書によって開示される端末装置は、他の装置を介さない直接通信を周辺装置と実行するための第１のインターフェースと、前記周辺装置とは異なるサーバとの通信を実行するための第２のインターフェースと、前記第１のインターフェースを介した通信を試行して、前記周辺装置との通信を実行可能であるのか否かを判断する第１の判断部と、前記周辺装置との通信を実行可能であると判断される場合に、管理プログラムをインストールし、前記周辺装置との通信を実行可能でないと判断される場合に、前記管理プログラムをインストールしないインストール部であって、前記管理プログラムは、前記サーバから、前記第２のインターフェースを介して、受信され、前記管理プログラムは、前記周辺装置から、前記第１のインターフェースを介して、前記周辺装置の状態を示す状態情報を取得して、前記状態情報を外部装置に出力するためのプログラムである、前記インストール部と、を備える。
【０００７】
上記の構成によれば、端末装置は、第１のインターフェースを介した通信を試行して、周辺装置との通信を実行可能であると判断する場合には、管理プログラムをインストールするが、周辺装置との通信を実行可能でないと判断する場合には、管理プログラムをインストールしない。従って、不要な管理プログラムが端末装置にインストールされるのを抑制することができる。
【０００８】
上記の端末装置を実現するための制御方法、コンピュータプログラム、及び、当該コンピュータプログラムを格納するコンピュータ読取可能記録媒体も、新規で有用である。
【図面の簡単な説明】
【０００９】
【図１】通信システムの構成を示す。
【図２】判断処理のフローチャートを示す。
【図３】個別管理プログラムがインストールされる具体的なケースを表わすシーケンス図を示す。
【図４】登録処理のフローチャートを示す。
【図５】アンインストール処理のフローチャートを示す。
【発明を実施するための形態】
【００１０】
（通信システム２の構成）
図１に示されるように、通信システム２は、複数個の端末装置１０、１００と、サーバ３００と、管理端末４００と、を備える。各装置１０、１００、３００、４００は、同じＬＡＮ（Local Area Networkの略）４に所属しており、ＬＡＮ４を介して相互に通信可能である。
【００１１】
端末装置１０には、ＵＳＢ（Universal Serial Busの略）ケーブル（符号省略）を介して、プリンタ２００が接続されている。プリンタ２００は、ＬＡＮ４に接続されていない。プリンタ２００は、印刷機能を実行可能な周辺装置（即ち端末装置１０等の周辺装置）であり、モデル名ＭＮ１とシリアル番号ＳＮ１とが割り当てられている。モデル名ＭＮ１は、プリンタ２００の機種を示す。シリアル番号ＳＮ１は、プリンタ２００のモデル名ＭＮ１と同じモデル名を有する複数個のプリンタが製造される際に、プリンタ２００のベンダによって割り当てられるユニークな文字列である。なお、端末装置１００には、プリンタが接続されていない。
【００１２】
（端末装置１０の構成）
端末装置１０は、デスクトップＰＣ（Personal Computerの略）、ノートＰＣ等のユーザ端末である。端末装置１０は、ＵＳＢインターフェース１２と、ネットワークインターフェース１６と、制御部２０と、を備える。以下では、インターフェースのことを「Ｉ／Ｆ」と呼ぶ。各部１２〜２０は、バス線（符号省略）に接続されている。
【００１３】
ＵＳＢＩ／Ｆ１２は、ＵＳＢの規格（例えば、ＵＳＢ３．１、ＵＳＢ３．０、ＵＳＢ２．０等）に従った有線通信を実行するためのインターフェースであり、ＵＳＢケーブルに接続される。これにより、端末装置１０は、ＵＳＢＩ／Ｆ１２を利用して、他の装置を介さない直接通信をプリンタ２００と実行可能である。ここで、上記の他の装置は、例えば、無線ネットワークのアクセスポイント、有線ネットワークのハブ等である。また、上記の「他の装置を介さない直接通信」は、例えば、「ネットワークを介さない有線通信」と言い換えることもできる。
【００１４】
ネットワークＩ／Ｆ１６は、有線通信を実行するためのインターフェースであり、ＬＡＮ４に接続されている。これにより、端末装置１０は、ネットワークＩ／Ｆ１６を利用して、ＬＡＮ４を介した有線通信を、各装置３００、４００等と実行可能である。なお、変形例では、ネットワークＩ／Ｆ１６は、無線通信を実行するためのインターフェースであってもよく、この場合、ＬＡＮ４は、いわゆる無線ＬＡＮである。
【００１５】
制御部２０は、ＣＰＵ２２と、メモリ２４と、を備える。ＣＰＵ２２は、メモリ２４に格納されているＯＳ（Operating Systemの略）プログラム２６に従って、様々な処理を実行する。メモリ２４は、揮発性メモリ、不揮発性メモリ等によって構成される。メモリ２４は、ＯＳプログラム２６に加えて、登録プリンタリスト２８を格納する。
【００１６】
登録プリンタリスト２８は、ＵＳＢＩ／Ｆ１２に接続されたプリンタを登録するためのリストである。登録プリンタリスト２８は、プリンタのモデル名と、プリンタのシリアル番号と、ポート情報と、の組合せのリストである。ポート情報は、ＵＳＢＩ／Ｆ１２に対応する複数個のポート番号のうち、ＵＳＢＩ／Ｆ１２に接続されたプリンタに割り当てられた１個のポート番号を示す情報である。
【００１７】
モデル名ＭＮ１とシリアル番号ＳＮ１とポート情報Ｐ１とを含む組合せは、以下の処理により、登録プリンタリスト２８に登録される。ＣＰＵ２２は、ＵＳＢＩ／Ｆ１２にプリンタ２００が接続されると、ＵＳＢＩ／Ｆ１２を介して、プリンタ２００を認識するための通信を実行する。この際、ＣＰＵ２２は、プリンタ２００からモデル名ＭＮ１及びシリアル番号ＳＮ１を取得する。ＣＰＵ２２は、取得済みのシリアル番号ＳＮ１が登録プリンタリスト２８に含まれない場合（即ち、プリンタ２００がＵＳＢＩ／Ｆ１２に初めて接続される場合）に、モデル名ＭＮ１及びシリアル番号ＳＮ１を登録プリンタリスト２８に登録する。ＣＰＵ２２は、さらに、ＵＳＢＩ／Ｆ１２によって新たに生成されるポート番号を示すポート情報Ｐ１を、モデル名ＭＮ１及びシリアル番号ＳＮ１に関連付けて、登録プリンタリスト２８に登録する。
【００１８】
また、ＣＰＵ２２は、プリンタ２００がＵＳＢＩ／Ｆ１２から切断され、プリンタ２００がＵＳＢＩ／Ｆ１２に再度接続される場合にも、上記と同様に、プリンタ２００を認識するための通信を実行する。この際、ＣＰＵ２２は、当該通信により取得されるモデル名ＭＮ１及びシリアル番号ＳＮ１の組合せが登録プリンタリスト２８に含まれるので、登録プリンタリスト２８からポート情報Ｐ１を特定する。そして、ＣＰＵ２２は、特定済みのポート情報Ｐ１によって示されるポート番号をＵＳＢＩ／Ｆ１２に供給する。
【００１９】
ＵＳＢＩ／Ｆ１２は、プリンタ２００を認識するための通信を実行し、その後、ポート番号を新たに生成する場合、又は、ＣＰＵ２２からポート番号を取得する場合には、当該ポート番号に対してＵＳＢ規格に従ったアドレスを割り当てる。当該アドレスは、プリンタ２００に通知される。そして、ＵＳＢＩ／Ｆ１２は、ＣＰＵ２２から上記のポート番号を宛先とする信号を取得すると、当該ポート番号に割り当てられた上記のアドレスを宛先として、当該信号を送信する。この結果、当該信号がプリンタ２００に送信される。なお、上記のアドレスは、プリンタ２００がＵＳＢＩ／Ｆ１２に接続される毎に新たに割り当てられる。そして、上記のアドレスは、プリンタ２００がＵＳＢＩ／Ｆ１２から取り外されると消去される。
【００２０】
本実施例では、モデル名ＭＮ０及びシリアル番号ＳＮ０が割り当てられているプリンタ（不図示）がＵＳＢＩ／Ｆ１２に過去に接続されていた。このため、登録プリンタリスト２８には、モデル名ＭＮ０とシリアル番号ＳＮ０とポート情報Ｐ０とを含む組合せも登録されている。
【００２１】
（端末装置１００の構成）
端末装置１００の構成は、端末装置１０と同様である。端末装置１００のＵＳＢＩ／Ｆ（不図示）には、プリンタ２００と同じモデル名ＭＮ１が割り当てられているプリンタであって、プリンタ２００とは異なるシリアル番号ＳＮ１１が割り当てられているプリンタ（不図示）が接続されていた。このため、端末装置１００の登録プリンタリスト１２８には、モデル名ＭＮ１とシリアル番号ＳＮ１１とポート情報Ｐ１１とを含む組合せが登録されている。
【００２２】
（サーバ３００の構成）
サーバ３００は、通信システム２を管理する管理者により設置され、ＬＡＮ４に接続されている端末装置（例えば端末装置１０）にプログラム３１０、３２０を供給するためのサーバである。サーバ３００は、供給プログラム３０５を備える。供給プログラム３０５は、端末装置からの要求に応じて、判断プログラム３１０と個別管理プログラム３２０とを端末装置に供給するためのプログラムである。判断プログラム３１０と個別管理プログラム３２０とは、プリンタ２００のベンダによって提供され、サーバ３００は、例えば、プリンタ２００と共に出荷されるメディアから各プログラム３１０、３２０を取得してもよいし、インターネット上の図示省略のサーバから各プログラム３１０、３２０を取得してもよい。
【００２３】
判断プログラム３１０は、個別管理プログラム３２０をインストールするのか否かを判断するためのプログラムである。個別管理プログラム３２０は、端末装置にＵＳＢケーブルを介して接続されるプリンタから当該プリンタの状態を示す状態情報（例えば、印刷枚数、インクの残量、プリンタのエラーを示す情報等）を取得して、当該状態情報を管理端末４００に送信するためのプログラムである。
【００２４】
（管理端末４００の構成）
管理端末４００は、プリンタ（例えばプリンタ２００）に関する情報を管理するための端末装置である。管理端末４００は、通信システム２を管理する管理者により設置される。管理端末４００には、全体管理プログラム４３０がインストールされている。全体管理プログラム４３０は、プリンタ２００のベンダによって提供され、例えば、プリンタ２００と共に出荷されるメディアからインストールされてもよいし、インターネット上の図示省略のサーバからインストールされてもよい。全体管理プログラム４３０は、プリンタが接続されている端末装置（例えば端末装置１０）から状態情報を取得して、取得済みの状態情報を添付した電子メールを送信するためのプログラムである。電子メールは、所定の周期（例えば１日毎）で、管理者が閲覧可能なメールアドレスを宛先として送信される。
【００２５】
（判断処理：図２）
図２を参照して、端末装置１０のＣＰＵ２２が実行する判断処理の内容を説明する。判断処理は、端末装置１０の電源が投入された後に、ユーザが端末装置１０を操作することに応じて、端末装置１０がサーバ３００にログインする（すなわち、サーバにアクセスする）ことをトリガとして開始される。
【００２６】
Ｓ１０では、ＣＰＵ２２は、サーバ３００から判断プログラム３１０及び個別管理プログラム３２０を受信すること監視する。ＣＰＵ２２は、サーバ３００にログインすると、サーバ３００からネットワークＩ／Ｆ１６を介して各プログラム３１０、３２０を受信して（Ｓ１０でＹＥＳ）、Ｓ１２に進む。
【００２７】
Ｓ１２では、ＣＰＵ２２は、受信済みの判断プログラム３１０をインストールする。なお、ＣＰＵ２２は、ＯＳプログラム２６に従って、Ｓ１０、Ｓ１２の処理を実行し、Ｓ１２でインストールされた判断プログラム３１０に従って、以降のＳ１４〜Ｓ４２の処理を実行する。例えば、管理者が、端末装置１０にメディアをセットし、当該メディアから判断プログラム３１０を端末装置１０にインストールする変形例が想定される。この場合、管理者は、複数個の端末装置１０、１００のそれぞれに図２の処理を実行させるためには、複数個の端末装置１０、１００のそれぞれにメディアをセットしなければならない。本実施例では、サーバ３００が判断プログラム３１０を各端末装置１０、１００に供給可能であるので、管理者は、各端末装置１０、１００にメディアをセットする必要がない。管理者の作業負担を軽減することができる。
【００２８】
「プログラムが受信される」とは、プログラムがメモリ２４内の一時領域に一時的に格納されることを意味する。また、「プログラムがインストールされる」とは、受信済みのプログラムがメモリ２４内の永続領域に永続的に格納されることを意味する。ＣＰＵ２２は、Ｓ１０で各プログラム３１０、３２０を受信すると（即ち一時領域に格納すると）、Ｓ１２において、判断プログラム３１０を永続領域に格納することによって、判断プログラム３１０をインストールする。ただし、この段階では、個別管理プログラム３２０は、永続領域に格納されず（即ちインストールされず）、一時領域に維持される。
【００２９】
Ｓ１４では、ＣＰＵ２２は、メモリ２４から登録プリンタリスト２８を取得する。Ｓ２０では、ＣＰＵ２２は、登録プリンタリスト２８に含まれる１個の組合せを選択する。以下、Ｓ２０で選択された組合せによって示されるプリンタを「対象プリンタ」と呼ぶ。
【００３０】
Ｓ２２では、ＣＰＵ２２は、対象プリンタが、状態情報を取得すべき対象のプリンタ（以下では「所定プリンタ」と呼ぶ）であるのか否かを判断する。具体的には、ＣＰＵ２２は、対象プリンタのモデル名が所定プリンタであることを示す所定文字列を含むのか否かを判断する。例えば、所定プリンタとは、判断プログラムを提供するベンダによって提供されるプリンタであり、所定文字列とは、当該ベンダが提供する複数個のプリンタのそれぞれのモデル名に共通して含まれる文字列である。ＣＰＵ２２は、対象プリンタのモデル名が所定文字列を含む場合に、対象プリンタが所定プリンタであると判断して（Ｓ２２でＹＥＳ）、Ｓ２４に進む。一方、ＣＰＵ２２は、対象プリンタのモデル名が所定文字列を含まない場合に、対象プリンタが所定プリンタでないと判断し（Ｓ２２でＮＯ）、Ｓ２４、Ｓ２６の処理をスキップして（即ち、個別管理プログラム３２０をインストールせずに）、Ｓ３０に進む。このように、状態情報を取得すべき対象のプリンタでなければ、個別管理プログラム３２０がインストールされないので、不要なプログラムが端末装置１０にインストールされるのを抑制することができる。
【００３１】
Ｓ２４では、ＣＰＵ２２は、対象プリンタに割り当てられているポート番号を特定し、当該ポート番号を宛先とした確認信号の送信指示をＵＳＢＩ／Ｆ１２に供給する。確認信号は、ＵＳＢＩ／Ｆ１２を介した通信を対象プリンタと実行可能であるのか否かを確認するための信号である。対象プリンタがＵＳＢケーブルを介してＵＳＢＩ／Ｆ１２に接続されている状況では、対象プリンタのポート番号にはアドレスが割り当てられており、当該アドレスが対象プリンタに通知されている。このため、ＵＳＢＩ／Ｆ１２は、送信指示に従って、当該アドレスを利用して確認信号を対象プリンタに送信し、対象プリンタから応答信号を受信する。この場合、ＵＳＢＩ／Ｆ１２は、応答信号を受信した旨の情報をＣＰＵ２２に供給する。一方、対象プリンタがＵＳＢＩ／Ｆ１２に接続されてない状況では、対象プリンタのポート番号にはアドレスが割り当てられていない。このため、ＵＳＢＩ／Ｆ１２は、確認信号を送信せず、この結果、応答信号を受信しない。この場合、ＵＳＢＩ／Ｆ１２は、確認信号を送信不可能である旨の情報をＣＰＵ２２に供給する。なお、変形例では、ＣＰＵ２２は、特定済みのポート番号にアドレスが割り当てられているのか否かを確認するための確認指示をＵＳＢＩ／Ｆ１２に供給してもよい。ＣＰＵ２２は、ＵＳＢＩ／Ｆ１２からアドレスが割り当てられている旨の応答を取得する場合に、確認信号の送信指示をＵＳＢＩ／Ｆ１２に供給してもよい。一方、ＣＰＵ２２は、ＵＳＢＩ／Ｆ１２からアドレスが割り当てられていない旨の応答を取得する場合に、確認信号の送信指示をＵＳＢＩ／Ｆ１２に供給しなくてもよい。この場合、確認信号は送信されない。
【００３２】
Ｓ２６では、ＣＰＵ２２は、対象プリンタから応答信号を受信したのか否かを判断する。ＣＰＵ２２は、応答信号を受信した旨の情報をＵＳＢＩ／Ｆ１２から取得する場合（Ｓ２６でＹＥＳ）に、対象プリンタとの通信を実行可能であると判断して、Ｓ４０に進む。一方、ＣＰＵ２２は、確認信号を送信不可能である旨の情報をＵＳＢＩ／Ｆ１２から取得する場合（Ｓ２６でＮＯ）に、対象プリンタとの通信を実行可能でないと判断し、Ｓ４０を実行せずに（即ち、個別管理プログラム３２０をインストールせずに）、Ｓ３０に進む。
【００３３】
Ｓ４０では、ＣＰＵ２２は、Ｓ１０で受信された個別管理プログラム３２０をメモリ２４内の永続領域に格納することによって、個別管理プログラム３２０をインストールする。なお、変形例では、ＣＰＵ２２は、例えば、Ｓ１０において、判断プログラム３１０のみを受信し、Ｓ４０において、所定の要求をサーバ３００に送信して、サーバ３００から個別管理プログラム３２０を受信して、当該個別管理プログラム３２０をインストールしてもよい。
【００３４】
Ｓ４２では、ＣＰＵ２２は、管理テーブル４０を作成して、対象プリンタのモデル名及びシリアル番号を管理テーブル４０に登録する。管理テーブル４０は、対象プリンタから状態情報を取得するために個別管理プログラム３２０によって利用されるテーブルである。ＣＰＵ２２は、さらに、対象プリンタのモデル名及びシリアル番号に関連付けて、カウント数を管理テーブル４０に登録する。カウント数は、初期値「０」を有し、対象プリンタとの通信が実行可能でないと判断される回数を示す。Ｓ４２が終了すると、図２の処理が終了する。なお、本実施例では、判断プログラム３１０に従ってＳ４２の処理が実行されるが、変形例では、個別管理プログラム３２０に従ってＳ４２の処理が実行されてもよい。
【００３５】
Ｓ３０では、ＣＰＵ２２は、対象プリンタとして選択されていない１個以上のプリンタが登録プリンタリスト２８に存在するのか否かを判断する。ＣＰＵ２２は、未選択の１個以上のプリンタが存在すると判断する場合（Ｓ３０でＹＥＳ）に、Ｓ２０に戻り、未選択の１個以上のプリンタから対象プリンタを選択する。一方、ＣＰＵ２２は、未選択のプリンタが存在しないと判断する場合（Ｓ３０でＮＯ）に、図２の処理を終了する。
【００３６】
（具体的なケース：図３）
図３を参照して、図２の処理によって実現される具体的なケースを説明する。Ｔ１００では、端末装置１０の電源がオンされ、Ｔ１０２において、端末装置１０がサーバ３００にログインする（図２の処理のトリガ）。
【００３７】
端末装置１０は、Ｔ１０４において、サーバ３００から判断プログラム３１０及び個別管理プログラム３２０を受信し（Ｓ１０でＹＥＳ）。Ｔ１１０において、判断プログラム３１０をインストールする（Ｓ１２）。
【００３８】
端末装置１０は、Ｔ１１２において、メモリ２４から登録プリンタリスト２８を取得し（Ｓ１４）、Ｔ１２０において、モデル名ＭＮ０とシリアル番号ＳＮ０とポート情報Ｐ０とを含む組合せによって示されるプリンタを対象プリンタとして選択する（Ｓ２０）。
【００３９】
本ケースでは、Ｔ１２０で選択された対象プリンタのモデル名ＭＮ０は所定文字列を含まない。このため、Ｔ１２２では、端末装置１０は、モデル名ＭＮ０が所定文字列を含まないと判断し（Ｓ２２でＮＯ）、個別管理プログラム３２０をインストールしない。
【００４０】
次いで、Ｔ１２４では、端末装置１０は、モデル名ＭＮ１とシリアル番号ＳＮ１とポート情報Ｐ１とを含む組合せによって示されるプリンタ２００を対象プリンタとして選択する（Ｓ３０でＹＥＳ、Ｓ２０）。
【００４１】
本ケースでは、Ｔ１２２で選択された対象プリンタのモデル名ＭＮ１は所定文字列を含む（Ｓ２２でＹＥＳ）。このため、端末装置１０は、Ｔ１２６において、確認信号を送信し（Ｓ２４）、Ｔ１２８において、対象プリンタから応答信号を受信する（Ｓ２６でＹＥＳ）。
【００４２】
端末装置１０は、Ｔ１３０において、個別管理プログラム３２０をインストールし（Ｓ４０）、Ｔ１３２において、管理テーブル４０を作成して、プリンタ２００の情報を管理テーブル４０に登録する（Ｓ４２）。
【００４３】
Ｔ１４０からＴ１４４の処理は、Ｔ１３０でインストールされた個別管理プログラム３２０に従って、定期的に（例えば２時間毎に）、実行される。Ｔ１４０では、端末装置１０は、管理テーブル４０に含まれるシリアル番号ＳＮ１を利用して、登録プリンタリスト２８からプリンタ２００のポート情報Ｐ１によって示されるポート番号を特定し、特定済みのポート番号を利用して、ＵＳＢＩ／Ｆ１２を介して、情報要求をプリンタ２００に送信する。情報要求は、プリンタ２００から状態情報を取得するための要求である。端末装置１０は、Ｔ１４２において、ＵＳＢＩ／Ｆ１２を介して、プリンタ２００から状態情報を取得し、Ｔ１４４において、当該状態情報を格納する。
【００４４】
なお、図３のケースでは、１個のプリンタ２００の情報が管理テーブル４０に登録されているが、複数個のプリンタの情報が管理テーブル４０に登録され得る（後述の図４参照）。この場合、端末装置１０は、管理テーブル４０内の複数個のプリンタの情報のそれぞれを利用して、Ｔ１４０の情報要求の送信を試行する。端末装置１０は、複数個のプリンタのうちのいずれかのプリンタがＵＳＢＩ／Ｆ１２に接続されている場合には、当該プリンタから状態情報を取得することができ、状態情報を格納する。
【００４５】
Ｔ１５０の処理も、個別管理プログラム３２０に従って、定期的に（例えば１日毎に）、実行される。Ｔ１５０の処理のインターバルは、Ｔ１４０〜Ｔ１４４の処理のインターバルよりも長い。Ｔ１５０では、端末装置１０は、シリアル番号ＳＮ１と格納済みの状態情報とを含む格納要求を管理端末４００に送信する。格納要求は、管理端末４００に状態情報を格納させるための要求である。
【００４６】
Ｔ１５２では、管理端末４００は、格納要求を受信すると、格納要求に含まれるシリアル番号ＳＮ１に関連付けて、格納要求に含まれる状態情報を格納する。
【００４７】
また、端末装置１０とは異なる端末装置１００も、端末装置１０と同様に、図２の処理を実行する。端末装置１００は、電源がオンされ（Ｔ２００）、サーバ３００にログインすると（Ｔ２０２）、Ｔ２０４において、サーバ３００から判断プログラム３１０及び個別管理プログラム３２０を取得する（Ｓ１０でＹＥＳ）。そして、端末装置１００は、Ｔ２１０において、判断プログラム３１０をインストールし（Ｓ１２）、Ｔ２１２において、登録プリンタリスト１２８を取得する（Ｓ１４）。
【００４８】
Ｔ２２０では、端末装置１００は、登録プリンタリスト１２８から対象プリンタを選択する（Ｓ２０）。ただし、本ケースでは、端末装置１００のＵＳＢＩ／Ｆには、対象プリンタが接続されていないので、対象プリンタのポート番号にアドレスが割り当てられていない。このため、Ｔ２２２に示されるように、端末装置１００は、ＵＳＢＩ／Ｆを介して、確認信号を送信しない。この結果、端末装置１００は、応答信号を受信せず（Ｓ２６でＮＯ）、個別管理プログラム３２０をインストールしない。
【００４９】
本実施例では、端末装置（例えば図３のケースの端末装置１０）は、プリンタ２００のポート番号を利用して確認信号の送信を試行し（Ｔ１２６）、応答信号を受信すると（Ｔ１２８）、プリンタ２００との通信を実行可能であると判断する。この場合、端末装置は、個別管理プログラム３２０をインストールする（Ｔ１３０）。従って、プリンタ２００を管理するために必要な個別管理プログラム３２０を適切にインストールすることができる。
【００５０】
一方、端末装置（例えば図３のケースの端末装置１００）は、対象プリンタのポート番号を利用して確認信号の送信を試行しても、応答信号を受信しない場合（Ｔ２２２）には、対象プリンタとの通信が実行可能でないと判断する。この場合、端末装置は、個別管理プログラム３２０をインストールしない。従って、不要なプログラムが端末装置にインストールされるのを抑制することができる。
【００５１】
（登録処理：図４）
図４を参照して、端末装置１０のＣＰＵ２２が実行する登録処理の内容を説明する。登録処理は、個別管理プログラム３２０がインストールされた後に、ＵＳＢＩ／Ｆ１２に新たに接続されるプリンタを管理テーブル４０に登録するための処理である。登録処理は、個別管理プログラム３２０に従って、定期的（例えば、１日毎）に実行される。
【００５２】
Ｓ５４〜Ｓ７０の処理は、図２のＳ１４〜Ｓ３０の処理と、同様である。Ｓ８０では、ＣＰＵ２２は、対象プリンタから応答信号が受信される場合（Ｓ６６でＹＥＳ）に、対象プリンタの情報（即ちモデル名及びシリアル番号）が管理テーブル４０に登録されているのか否かを判断する。ＣＰＵ２２は、対象プリンタの情報が管理テーブル４０に登録されている場合（Ｓ８０でＹＥＳ）に、Ｓ７０に進み、対象プリンタの情報が管理テーブル４０に登録されていない場合（Ｓ８０でＮＯ）に、Ｓ８２に進む。Ｓ８２では、ＣＰＵ２２は、対象プリンタの情報を管理テーブル４０に登録する。ＣＰＵ２２は、Ｓ８２の処理が終了すると、Ｓ７０に進む。
【００５３】
例えば、プリンタ２００がＵＳＢＩ／Ｆ１２に接続されている状態において、図２の判断処理によって個別管理プログラム３２０が端末装置１０にインストールされ、その後、他のプリンタがＵＳＢＩ／Ｆ１２に接続される状況を想定する。この場合、ＣＰＵ２２は、上記の他のプリンタの情報として、モデル名ＭＮ２とシリアル番号ＳＮ２とポート情報Ｐ２とを登録プリンタリスト２８に登録する。この段階では、上記の他のプリンタの情報は、管理テーブル４０に登録されていない。その後、図４の登録処理が実行されると、上記の他のプリンタの情報として、モデル名ＭＮ２及びシリアル番号ＳＮ２が管理テーブル４０に登録される（Ｓ８２）。これにより、端末装置１０は、上記の他のプリンタの情報が登録された管理テーブル４０を利用して、上記の他のプリンタから状態情報を取得することができる。
【００５４】
（アンインストール処理：図５）
図５を参照して、端末装置１０のＣＰＵ２２が実行するアンインストール処理の内容を説明する。アンインストール処理は、個別管理プログラム３２０に従って、定期的（例えば、１日毎）に実行される。
【００５５】
Ｓ１０２では、ＣＰＵ２２は、管理テーブル４０から１個のシリアル番号を選択することによって、当該シリアル番号によって示されるプリンタ（以下では「特定プリンタ」と呼ぶ）を選択する。
【００５６】
Ｓ１０４では、ＣＰＵ２２は、特定プリンタのシリアル番号を利用して、登録プリンタリスト２８から特定プリンタのポート情報を特定する。そして、ＣＰＵ２２は、当該ポート番号を宛先とした確認信号の送信指示をＵＳＢＩ／Ｆ１２に供給する。そして、図２のＳ２６と同様に、ＣＰＵ２２は、応答信号を受信しない場合（Ｓ１０６でＮＯ）に、特定プリンタとの通信を実行可能でないと判断して、Ｓ１０８に進む。一方、ＣＰＵ２２は、応答信号を受信する場合（Ｓ１０６でＹＥＳ）に、特定プリンタとの通信を実行可能であると判断して、Ｓ１１０に進む。
【００５７】
Ｓ１０８では、ＣＰＵ２２は、特定プリンタのシリアル番号に関連付けられているカウント数をインクリメントし（即ち「１」を加算する）、Ｓ１１２に進む。一方、Ｓ１１０では、ＣＰＵ２２は、特定プリンタのシリアル番号に関連付けられているカウント数を「０」に初期化し、Ｓ１１２に進む。即ち、カウント数は、特定プリンタとの通信が実行可能でないと連続して判断された回数を示す。
【００５８】
Ｓ１１２では、ＣＰＵ２２は、特定プリンタとして選択されていない１個以上のプリンタが管理テーブル４０に存在するのか否かを判断する。ＣＰＵ２２は、未選択の１個以上のプリンタが存在する場合（Ｓ１１２でＹＥＳ）に、Ｓ１０２に戻り、未選択のプリンタが存在しない場合（Ｓ１０２でＮＯ）に、Ｓ１２０に進む。
【００５９】
Ｓ１２０では、ＣＰＵ２２は、管理テーブル４０に含まれる全てのプリンタの情報に含まれる全てのカウント数のそれぞれが閾値（例えば１０）より大きいのか否かを判断する。ＣＰＵ２２は、全てのカウント数のそれぞれが閾値より大きい場合（Ｓ１２０でＹＥＳ）に、Ｓ１２２に進み、全てのカウント数のいずれかが閾値以下である場合（Ｓ１２０でＮＯ）に、Ｓ１２２をスキップして、図５の処理を終了する。例えば、アンインストール処理が１日毎に実行され、閾値が１０である場合には、全てのカウント数のそれぞれが閾値より大きいことは、管理テーブル４０に登録されているいずれのプリンタとの通信も実行不可能な期間が１０日間以上であることを意味する。
【００６０】
Ｓ１２２では、ＣＰＵ２２は、端末装置１０にインストールされている個別管理プログラム３２０をアンインストールする。管理テーブル４０に登録されている全てのプリンタとの通信が実行不可能な期間が長いことは、ＵＳＢＩ／Ｆ１２に長期間に亘ってプリンタが接続されていなことを意味する。このような状況では、個別管理プログラム３２０は不要である。従って、個別管理プログラム３２０をアンインストールすることができる。
【００６１】
（対応関係）
端末装置１０、ＵＳＢＩ／Ｆ１２、ネットワークＩ／Ｆ１６が、それぞれ、「端末装置」、「第１のインターフェース」、「第２のインターフェース」の一例である。サーバ３００、判断プログラム、個別管理プログラムが、それぞれ、「サーバ」、「所定プログラム」、「管理プログラム」の一例である。管理端末４００が、「外部装置」の一例である。登録プリンタリスト２８に含まれるモデル名が、「機種情報」の一例である。管理テーブル４０のカウント数が、「結果情報」の一例である。プリンタ２００、図４の管理テーブル４０のシリアル番号ＳＮ１、図４の管理テーブル４０のシリアル番号ＳＮ２によって示されるプリンタ、当該シリアル番号ＳＮ２が、それぞれ、「第１の周辺装置」、「第１の識別情報」、「第２の周辺装置」、「第２の識別情報」の一例である。Ｓ２４における送信指示が、「指示」の一例である。
【００６２】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
【００６３】
（変形例１）
端末装置１０は、図３のＴ１５０において、状態情報を含む格納要求を管理端末４００に送信することに代えて、状態情報が添付された電子メールを送信してもよい。本変形例では、電子メールの送信先の装置が、「外部装置」の一例である。
【００６４】
（変形例２）
図２のＳ２２の処理は、Ｓ１４又はＳ３０の処理の後に実行されず、Ｓ２６で応答信号が受信された場合（Ｓ２６でＹＥＳ）に、実行されてもよい。この場合、ＣＰＵ２２は、応答信号に含まれる対象プリンタのモデル名が所定文字列を含むのか否かを判断してもよい。ＣＰＵ２２は、当該モデル名が所定文字列を含む場合に、Ｓ４０に進み、当該モデル名が所定文字列を含まない場合に、Ｓ３０に進んでもよい。即ち、本変形例では、応答信号に含まれるモデル名が、「機種情報」の一例である。
【００６５】
（変形例３）
管理テーブル４０には、カウント数に代えて、プリンタとの通信が実行可能でない時間を示すタイマの値が登録されてもよい。この場合、ＣＰＵ２２は、Ｓ１０６において、特定プリンタとの通信が実行可能でないと判断された場合に、Ｓ１０８において、特定プリンタに対応するタイマのカウントをスタートさせてもよい。なお、ＣＰＵ２２は、Ｓ１０８において、タイマのカウントが既に動いている場合には、タイマのカウントを継続してもよい。また、ＣＰＵ２２は、Ｓ１０６において、特定プリンタとの通信が実行可能であると判断された場合に、Ｓ１１０において、タイマの値を「０」に初期化して、タイマのカウントを停止してもよい。そして、ＣＰＵ２２は、管理テーブル４０に含まれる全てのプリンタの情報の全てのタイマの値のそれぞれが所定期間より大きいのか否かを判断してもよい。本変形例では、タイマの値が、「結果情報」の一例である。
【００６６】
（変形例４）
「周辺装置」は、ＵＳＢＩ／Ｆ１２に接続可能な装置、例えば、スキャナ、複合機、ＨＤＤ（Hard Disk Driveの略）であってもよい。
【００６７】
（変形例５）
「第１のインターフェース」は、ＵＳＢＩ／Ｆ以外の他のシリアルインターフェース、例えば、シリアルＡＴＡに対応するインターフェースであってもよい。また、「第１のインターフェース」は、パラレルインターフェースであってもよい。また、「第１のインターフェース」は、ＢＴ（Bluetooth（登録商標）の略）通信が可能なＢＴインターフェースであってもよい。
【００６８】
（変形例６）
サーバ３００は、ＬＡＮ４に接続されておらず、ＬＡＮ４が接続されているＷＡＮ（Wide Area Networkの略）上に設置されてもよい。即ち、サーバ３００は、ＬＡＮ４及びＷＡＮを介して、端末装置１０、１００と相互に通信可能であってもよい。
【００６９】
（変形例７）
ＣＰＵ２２は、図２のＳ２２の処理を実行せずに、Ｓ２４の処理を実行してもよい。本変形例では、「取得部」及び「第２の判断部」を省略可能である。
【００７０】
（変形例８）
ＣＰＵ２２は、図２のＳ４２の処理及び図４の登録処理を実行しなくてもよい。本変形例では、ＣＰＵ２２は、図３のＴ１４０において、図２のＳ１４からＳ３０の処理を実行し、Ｓ２６でＹＥＳと判断される場合に、対象プリンタに割り当てられているポート番号を利用して、ＵＳＢＩ／Ｆ１２を介して、情報要求を対象プリンタに送信してもよい。本変形例では、「第１の登録部」、「第３の判断部」及び「第２の登録部」を省略可能である。
【００７１】
（変形例９）
ＣＰＵ２２は、図５のアンインストール処理を実行しなくてもよい。本変形例では、「記憶制御部」及び「アンインストール部」を省略可能である。
【００７２】
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【符号の説明】
【００７３】
２：通信システム、４：ＬＡＮ、１０、１００：端末装置、１２：ＵＳＢＩ／Ｆ、１６：ネットワークＩ／Ｆ：１６、２０：制御部、２２：ＣＰＵ、２４：メモリ、２６：ＯＳプログラム、２８、１２８：登録プリンタリスト、３００：サーバ、３１０：判断プログラム情報、３２０：管理プログラム情報、４００：管理端末
【図１】
2018018453.tif 000003
【図２】
2018018453.tif 000004
【図３】
2018018453.tif 000005
【図４】
2018018453.tif 000006
【図５】
2018018453.tif 000007