(57)【要約】【課題】対象装置が通信装置に接続された実績がないことを外部装置のユーザに認識させ得る技術を提供すること。【解決手段】通信装置は、外部装置から対象装置の情報の送信を要求する情報要求を受信する場合に、対象装置が第２の通信インターフェースを介して通信装置に接続された実績があるのか否かを判断する。通信装置は、外部装置から前記情報要求が受信されて実績があると判断される場合に、情報要求に対する応答として、第１の情報を外部装置に送信する。また、通信装置は、外部装置から情報要求が受信されて実績がないと判断される場合に、情報要求に対する応答として、対象装置から受信されていない第２の情報を外部装置に送信する。第２の情報は、コンピュータプログラムが通信装置にインストールされる前から通信装置に予め記憶されているデータを用いて得られる情報である。【選択図】図５
2019117541.tif 000002
【特許請求の範囲】
【請求項１】
第１の通信インターフェースと第２の通信インターフェースとを備える通信装置のためのコンピュータプログラムであって、
前記コンピュータプログラムは、前記通信装置のコンピュータを、
前記第１の通信インターフェースを介して、外部装置から、対象装置の情報の送信を要求する情報要求を受信する受信部と、
前記外部装置から前記情報要求が受信される場合に、前記対象装置が前記第２の通信インターフェースを介して前記通信装置に接続された実績があるのか否かを判断する第１の判断部と、
前記外部装置から前記情報要求が受信されて前記実績があると判断される場合に、前記第１の通信インターフェースを介して、前記情報要求に対する応答として、第１の情報を前記外部装置に送信する第１の送信部であって、前記第１の情報は、前記対象装置が前記第２の通信インターフェースを介して前記通信装置に接続された状態で、前記第２の通信インターフェースを介して前記対象装置から受信された情報である、前記第１の送信部と、
前記外部装置から前記情報要求が受信されて前記実績がないと判断される場合に、前記第１の通信インターフェースを介して、前記情報要求に対する応答として、前記対象装置から受信されていない第２の情報を前記外部装置に送信する第２の送信部であって、前記第２の情報は、前記コンピュータプログラムが前記通信装置にインストールされる前から前記通信装置に予め記憶されているデータを用いて得られる情報である、前記第２の送信部と、
として機能させる、コンピュータプログラム。
【請求項２】
前記対象装置は、特定機能を実行可能な機能実行装置であり、
前記第１の判断部は、
前記特定機能を前記対象装置に実行させるための実行プログラムが前記通信装置にインストール済みである場合に、前記実績があると判断し、
前記実行プログラムが前記通信装置にインストール済みでない場合に、前記実績がないと判断する、請求項１に記載のコンピュータプログラム。
【請求項３】
前記受信部は、前記外部装置から、前記対象装置のＭ個（前記Ｍは２以上の整数）の項目に対応するＭ個の情報の送信を要求する前記情報要求を受信し、
前記第１の送信部は、前記情報要求に対する応答として、前記対象装置から受信されたＭ個の前記第１の情報を前記外部装置に送信し、
前記第２の送信部は、前記情報要求に対する応答として、Ｎ（前記Ｎは１以上前記Ｍ以下の整数）個の前記第２の情報を含むＭ個の応答情報であって、前記対象装置から受信されていない前記Ｍ個の応答情報を前記外部装置に送信する、請求項１又は２に記載のコンピュータプログラム。
【請求項４】
前記情報要求によって要求される前記Ｍ個の項目に対応する前記Ｍ個の情報は、モデル名の項目に対応する情報を含み、
前記対象装置から受信されていない前記Ｍ個の応答情報は、前記Ｎ個の第２の情報と、（Ｍ−Ｎ）個の所定情報と、を含み、
前記（Ｍ−Ｎ）個の所定情報は、前記モデル名の前記項目に対応する情報として、前記実績がないことを示す第１の文字列を含む１個の所定情報であって、前記対象装置から受信されていない前記１個の所定情報を含む、請求項３に記載のコンピュータプログラム。
【請求項５】
前記第１の送信部は、
前記外部装置から前記情報要求が受信されて前記実績があると判断され、かつ、前記対象装置が前記第２の通信インターフェースを介して前記通信装置に現在接続されている場合に、前記情報要求に対する応答として、前記対象装置から受信された前記第１の情報を前記外部装置に送信し、
前記外部装置から前記情報要求が受信されて前記実績があると判断され、かつ、前記対象装置が前記第２の通信インターフェースを介して前記通信装置に現在接続されていない場合に、前記情報要求に対する応答として、前記対象装置から受信された前記第１の情報を前記外部装置に送信せずに、前記対象装置が前記通信装置に現在接続されていないことを示す第２の文字列を含む特定情報であって、前記対象装置から受信されていない前記特定情報を前記外部装置に送信する、請求項１から４のいずれか一項に記載のコンピュータプログラム。
【請求項６】
前記コンピュータプログラムは、前記コンピュータを、さらに、
前記外部装置から前記情報要求が受信されるタイミングとは異なる所定タイミングが到来する場合に、前記実績があるのか否かを判断する第２の判断部と、
前記所定タイミングが到来して前記実績があると判断され、かつ、前記対象装置が前記第２の通信インターフェースを介して前記通信装置に現在接続されていない場合に、現在時刻を示す時刻情報を含む前記特定情報を生成する生成部と、として機能させ、
前記第１の送信部は、前記特定情報が生成された後に前記外部装置から前記情報要求が受信されて前記実績があると判断され、かつ、前記対象装置が前記第２の通信インターフェースを介して前記通信装置に現在接続されていない場合に、前記情報要求に対する応答として、前記対象装置から受信された前記第１の情報を前記外部装置に送信せずに、生成済みの前記特定情報を前記外部装置に送信する、請求項５に記載のコンピュータプログラム。
【請求項７】
前記受信部は、前記対象装置のステータスを示す情報の送信を要求する前記情報要求を受信し、
前記第１の送信部は、
前記外部装置から前記情報要求が受信されて前記実績があると判断され、かつ、前記対象装置が前記第２の通信インターフェースを介して前記通信装置に現在接続されている場合に、前記情報要求に対する応答として、前記対象装置のステータスを示す予め決められている複数個の値のうちのいずれか１個の値であって、前記対象装置から受信された前記１個の値を含む前記第１の情報を前記外部装置に送信し、
前記外部装置から前記情報要求が受信されて前記実績があると判断され、かつ、前記対象装置が前記第２の通信インターフェースを介して前記通信装置に現在接続されていない場合に、前記情報要求に対する応答として、前記対象装置から受信された前記１個の値を前記外部装置に送信せずに、前記複数個の値とは異なる値であって、前記対象装置から受信されていない前記異なる値を前記外部装置に送信する、請求項１から６のいずれか一項に記載のコンピュータプログラム。
【請求項８】
前記情報要求は、ＳＮＭＰ（Simple Network Management Protocolの略）に従ったＯＩＤ（Object IDの略）を含むＧｅｔリクエストであり、
前記ＯＩＤは、前記対象装置の前記情報を識別する情報識別子であり、
前記第１の送信部は、前記Ｇｅｔリクエストに対する応答として、前記ＳＮＭＰに従ったＧｅｔレスポンスであって、前記ＯＩＤによって識別される前記対象装置の前記情報として、前記対象装置から受信された前記第１の情報を含む前記Ｇｅｔレスポンスを前記外部装置に送信し、
前記第２の送信部は、前記Ｇｅｔリクエストに対する応答として、前記対象装置から受信されていない前記第２の情報を含む前記Ｇｅｔレスポンスを前記外部装置に送信する、請求項１から７のいずれか一項に記載のコンピュータプログラム。
【請求項９】
前記第１の通信インターフェースは、第１種の通信規格に従った通信を実行するためのインターフェースであり、
前記第２の通信インターフェースは、前記第１種の通信規格とは異なる第２種の通信規格に従った通信を実行するためのインターフェースである、請求項１から８のいずれか一項に記載のコンピュータプログラム。
【請求項１０】
前記第１種の通信規格は、ＩＰ（Internet Protocolの略）であり、
前記第２種の通信規格は、ＵＳＢ（Universal Serial Busの略）である、請求項９に記載のコンピュータプログラム。
【請求項１１】
通信装置であって、
第１の通信インターフェースと、
第２の通信インターフェースと、
制御部と、を備え、
前記制御部は、
前記第１の通信インターフェースを介して、外部装置から、対象装置の情報の送信を要求する情報要求を受信する受信部と、
前記外部装置から前記情報要求が受信される場合に、前記対象装置が前記第２の通信インターフェースを介して前記通信装置に接続された実績があるのか否かを判断する第１の判断部と、
前記外部装置から前記情報要求が受信されて前記実績があると判断される場合に、前記第１の通信インターフェースを介して、前記情報要求に対する応答として、第１の情報を前記外部装置に送信する第１の送信部であって、前記第１の情報は、前記対象装置が前記第２の通信インターフェースを介して前記通信装置に接続された状態で、前記第２の通信インターフェースを介して前記対象装置から受信された情報である、前記第１の送信部と、
前記外部装置から前記情報要求が受信されて前記実績がないと判断される場合に、前記第１の通信インターフェースを介して、前記情報要求に対する応答として、前記対象装置から受信されていない第２の情報を前記外部装置に送信する第２の送信部であって、前記第２の情報は、前記受信部と前記第１の判断部と前記第１の送信部と前記第２の送信部として前記制御部を機能させるためのコンピュータプログラムが前記通信装置にインストールされる前から前記通信装置に予め記憶されているデータを用いて得られる情報である、前記第２の送信部と、
を備える、通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書では、対象装置から情報を受信して外部装置に送信する通信装置に関する技術を開示する。
【背景技術】
【０００２】
特許文献１には、ＳＮＭＰ（Simple Network Management Protocolの略）マネージャ機能を有するデータ処理装置（以下では「マネージャ装置」と呼ぶ）と、ＳＮＭＰエージェント機能を有するデータ処理装置（以下では「エージェント装置」と呼ぶ）と、エージェント装置に接続されているローカルプリンタと、を備える管理システムが開示されている。ローカルプリンタは、エージェント装置と通信可能であるが、マネージャ装置と通信不可能である。エージェント装置は、マネージャ装置からリクエストを受信する場合に、リクエストにより要求された情報をローカルプリンタから取得して、当該情報をマネージャ装置に送信する。これにより、マネージャ装置は、マネージャ装置と通信不可能であるローカルプリンタの状態を示す情報を管理することができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−２９３３２４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１には、ローカルプリンタがエージェント装置に接続される前の状況について何ら考慮されていない。
【０００５】
本明細書では、対象装置が通信装置に接続された実績がないことを外部装置のユーザに認識させ得る技術を開示する。
【課題を解決するための手段】
【０００６】
本明細書は、第１の通信インターフェースと第２の通信インターフェースとを備える通信装置のためのコンピュータプログラムを開示する。前記コンピュータプログラムは、前記通信装置のコンピュータを、前記第１の通信インターフェースを介して、外部装置から、対象装置の情報の送信を要求する情報要求を受信する受信部と、前記外部装置から前記情報要求が受信される場合に、前記対象装置が前記第２の通信インターフェースを介して前記通信装置に接続された実績があるのか否かを判断する第１の判断部と、前記外部装置から前記情報要求が受信されて前記実績があると判断される場合に、前記第１の通信インターフェースを介して、前記情報要求に対する応答として、第１の情報を前記外部装置に送信する第１の送信部であって、前記第１の情報は、前記対象装置が前記第２の通信インターフェースを介して前記通信装置に接続された状態で、前記第２の通信インターフェースを介して前記対象装置から受信された情報である、前記第１の送信部と、前記外部装置から前記情報要求が受信されて前記実績がないと判断される場合に、前記第１の通信インターフェースを介して、前記情報要求に対する応答として、前記対象装置から受信されていない第２の情報を前記外部装置に送信する第２の送信部であって、前記第２の情報は、前記コンピュータプログラムが前記通信装置にインストールされる前から前記通信装置に予め記憶されているデータを用いて得られる情報である、前記第２の送信部と、として機能させてもよい。
【０００７】
上記の構成によると、通信装置は、対象装置が第２の通信インターフェースを介して通信装置に接続された実績がないと判断する場合に、情報要求に対する応答として、コンピュータプログラムが通信装置にインストールされる前から通信装置に予め記憶されているデータを用いて得られる第２の情報を外部装置に送信する。従って、対象装置が通信装置に接続された実績がないことを外部装置のユーザに認識させ得る。
【０００８】
上記の通信装置そのもの、及び、通信装置によって実行される方法も、新規で有用である。また、上記の通信装置と、他の装置（例えば外部装置、対象装置）と、を備える通信システムも、新規で有用である。
【図面の簡単な説明】
【０００９】
【図１】通信システムの構成を示す。
【図２】ＭＩＢ値リストの一例を示す。
【図３】実施例の概略を説明するための説明図を示す。
【図４】ＰＣの取得処理のフローチャートを示す。
【図５】ＰＣの応答処理のフローチャートを示す。
【図６】ＰＣにプリンタドライバがインストールされていない場合の処理のシーケンス図を示す。
【図７】ＰＣにプリンタが接続されている場合の処理のシーケンス図を示す。
【図８】ＰＣにプリンタが接続されていない場合の処理のシーケンス図を示す。
【発明を実施するための形態】
【００１０】
（通信システム２の構成；図１）
図１に示されるように、通信システム２は、ＰＣ（Personal Computerの略）１０と、プリンタ７０と、管理装置６０と、を備える。ＰＣ１０と管理装置６０とプリンタ７０とはＬＡＮ（Local Area Networkの略）４に接続されている。従って、各デバイス１０，６０，７０は、ＬＡＮ４を介して、相互に通信可能である。本実施例では、プリンタ５０とプリンタドライバ（以下では単に「ドライバ」と記載する）４２とを含むプリンタセットが、ＬＡＮ４の管理者によって新たに購入される状況を想定している。プリンタセット内のプリンタ５０は、ＵＳＢ（Universal Serial Busの略）ケーブルを介してＰＣ１０に接続され、ドライバ４２は、ＰＣ１０にインストールされる。プリンタ５０は、ＰＣ１０に接続される場合に、ＵＳＢケーブルを介してＰＣ１０と通信可能となる。
【００１１】
プリンタ５０は、ベンダＶ１によって提供されるプリンタであり、モデル名「Ｌ８９００ＣＤＷ」とシリアル番号「ＸＸＸ１２３４５６７８」とを有する。プリンタ５０は、ＵＳＢインターフェース（図示省略）を備えるが、ＬＡＮ４に接続するためのネットワークインターフェースを備えない。以下では、インターフェースのことを「Ｉ／Ｆ」と記載する。プリンタ５０はネットワークＩ／Ｆを備えないので、その構成を簡易化することができる。
【００１２】
プリンタ７０は、ベンダＶ１とは異なるベンダＶ２によって提供されるプリンタであり、モデル名「Ｌ９０００ＣＤＷ」とシリアル番号「ＹＹＹ１２３４５６７８」とを有する。プリンタ７０は、ＬＡＮ４に接続するためのネットワークＩ／Ｆ（図示省略）を備える。そして、当該ネットワークＩ／Ｆは、ＭＡＣアドレス「ｄｅｆ」を有する。
【００１３】
管理装置６０は、ＰＣ、サーバ等のデバイスであり、各プリンタ５０，７０の情報（例えば、プリンタの現在の動作状態を示す情報）を管理する。具体的には、管理装置６０は、ＬＡＮ４を介して、ＳＮＭＰ（Simple Network Management Protocolの略）に従った通信をプリンタ７０と実行して、プリンタ７０から情報を受信して記憶する。即ち、管理装置６０がＳＮＭＰマネージャとして機能し、プリンタ７０がＳＮＭＰエージェントとして機能する。しかしながら、管理装置６０は、ＬＡＮ４を介してプリンタ５０と通信不可能であるので、プリンタ５０から情報を受信することができない。そこで、本実施例では、ＰＣ１０がプリンタ５０から情報を受信して記憶しておき、管理装置６０は、ＬＡＮ４を介して、ＳＮＭＰに従った通信をＰＣ１０と実行して、ＰＣ１０からプリンタ５０の情報を受信する。
【００１４】
例えば、管理装置６０が、ＳＮＭＰに従った通信ではなく、ベンダＶ１によって開発された独自プロトコルに従った通信をＰＣ１０と実行して、ＰＣ１０からプリンタ５０の情報を受信するという比較例の構成を想定する。この場合、ベンダＶ２によって提供されるプリンタ７０は、ベンダＶ１の独自プロトコルに従った通信を実行することができない。従って、管理装置６０は、独自プロトコルに従った通信をプリンタ７０と実行することができず、この結果、プリンタ７０から情報を受信することができない。これに対し、本実施例では、管理装置６０は、多くのプリンタが利用可能であるＳＮＭＰを利用するので、プリンタ７０から情報を適切に受信して管理することができる。
【００１５】
（ＰＣ１０の構成）
ＰＣ１０は、据置型のＰＣである。ＰＣ１０は、ユーザ名「Ｓｕｚｕｋｉ」を有するユーザによって利用され、デバイス名「ｃｏｍｐｕｔｅｒ１０」を有する。ＰＣ１０は、操作部１２と、表示部１４と、ＵＳＢＩ／Ｆ１６と、ネットワークＩ／Ｆ１８と、制御部３０と、を備える。各部１２〜３０は、バス線（符号省略）に接続されている。なお、変形例では、ＰＣ１０は、携帯電話（例えばスマートフォン）、ＰＤＡ、ノートＰＣ、タブレットＰＣ等の可搬型の端末装置であってもよい。
【００１６】
操作部１２は、複数のキーを備える。ユーザは、操作部１２を操作することによって、様々な指示をＰＣ１０に入力することができる。表示部１４は、様々な情報を表示するためのディスプレイである。ＵＳＢＩ／Ｆ１６は、ＵＳＢケーブルを介して、プリンタ５０に接続するためのＩ／Ｆである。ネットワークＩ／Ｆ１８は、ＩＰ（Internet Protocolの略）に従った通信を実行するためのＩ／Ｆであり、ＬＡＮ４に接続されている。ネットワークＩ／Ｆは、ＭＡＣアドレス「ａｂｃ」を有する。ＬＡＮ４は、有線ＬＡＮでもよいし、無線ＬＡＮでもよい。
【００１７】
制御部３０は、ＣＰＵ３２とメモリ３４とを備える。ＣＰＵ３２は、メモリ３４に格納されているプログラム３６，３８に従って、様々な処理を実行する。メモリ３４は、揮発性メモリ、不揮発性メモリ等によって構成される。
【００１８】
ＯＳ（Operating Systemの略）プログラム３６（以下では「ＯＳ３６」と呼ぶ）は、ＰＣ１０の基本的な動作を実現するためのプログラムであり、印刷スプーラ３７を含む。印刷スプーラ３７は、プリンタ５０が解釈可能な印刷スクリプトであるＰＪＬ（Printer Job Languageの略）によって記述された各コマンドを記憶可能であり、各コマンドを記憶した順に、ＵＳＢＩ／Ｆ１６を介して各コマンドをプリンタ５０に順次送信するために用いられる。
【００１９】
プリンタアプリケーション３８（以下では「アプリ３８」と呼ぶ）は、プリンタ５０のベンダによって提供される。アプリ３８は、例えば、プリンタ５０のベンダによって提供されるインターネット上のサーバからＰＣ１０にインストールされてもよいし、プリンタ５０と共に出荷されるメディアからＰＣ１０にインストールされてもよい。アプリ３８は、プリンタ５０の情報を管理装置６０に送信するための処理を実行するアプリケーションであり、ＰＪＬによって記述されたコマンドを印刷スプーラ３７に記憶する。当該コマンドは、ＰＣ１０へのプリンタ５０の情報の送信をプリンタ５０に要求するコマンドである。以下では、情報の送信をプリンタ５０に要求するコマンドのことを「ＰＪＬコマンド」と呼ぶ。また、アプリ３８は、ＭＩＢ値リスト４０をメモリ３４内に実現する。
【００２０】
また、プリンタセットがＬＡＮ４の管理者によって新たに購入され、プリンタ５０がＵＳＢケーブルを介してＰＣ１０に接続される際に、ドライバ４２がＰＣ１０にインストールされる。この場合、メモリ３４は、ドライバ４２も記憶する。ドライバ４２は、印刷機能をプリンタ５０に実行させるためのプログラムである。
【００２１】
（ＭＩＢ値リスト４０の内容；図２）
続いて、図２を参照して、ＭＩＢ値リスト４０について説明する。ＭＩＢ値リスト４０は、プリンタ５０の情報の名称（即ちＮａｍｅ）と、ＳＮＭＰに従った情報識別子であるＯＩＤ（Object IDの略）と、情報の送信をプリンタ５０に要求するためのＰＪＬコマンドと、ＭＩＢ（Management Information Baseの略）値と、ダミー値と、を対応付けて記憶している。
【００２２】
本実施例では、プリンタ５０の情報として、以下の８個の情報を想定している。モデル名は、プリンタ５０のモデルを示す名称である。ＭＡＣアドレスは、プリンタ５０のＭＡＣアドレスである。連絡先ユーザは、プリンタ５０（即ちＬＡＮ４）の管理者の名称である。設置場所は、プリンタ５０が設置されている場所である。シリアル番号は、プリンタ５０に割り当てられるデバイス番号である。ステータスは、プリンタ５０の現在の動作状態（例えば、印刷実行中状態、アイドル状態等）である。消耗品型番は、プリンタ５０に装着されている消耗品カートリッジの種類を示す番号である。消耗品残量は、プリンタ５０に装着されている消耗品カートリッジ内の消耗品の残量である。
【００２３】
ＯＩＤ及びＭＩＢ値について説明する。各プリンタ５０，７０は、ＭＩＢのツリー構造を利用して、モデル名、シリアル番号、ステータス（例えば印刷実行中、待機中）等の複数個の情報を記憶している。本実施例では、プリンタの各情報を識別する識別子のことを「ＯＩＤ」と呼び、ＯＩＤによって識別される情報を示す値のことを「ＭＩＢ値」と呼ぶ。
【００２４】
ＰＪＬコマンドは、対応するＯＩＤによって識別されるＭＩＢ値の送信をプリンタ５０に要求するコマンドである。例えば、ＯＩＤ「Ｘ１」に対応するＰＪＬコマンド「＠ＰＪＬ  ＭＯＤＥＬＮＡＭＥ」は、プリンタ５０のモデル名を示すＭＩＢ値の送信をプリンタ５０に要求するコマンドである。
【００２５】
ＭＩＢ値リスト４０内の各情報（即ち、Ｎａｍｅ、ＯＩＤ、ＰＪＬコマンド、ダミー値）は、アプリ３８がＰＣ１０にインストールされる際に、メモリ３４に記憶される。ただし、ＭＩＢ値の欄は、アプリ３８がＰＣ１０にインストールされる際には、空の状態であり、プリンタ５０から各ＭＩＢ値が受信される際に、各ＭＩＢ値を記憶する。
【００２６】
ダミー値は、ＭＩＢ値リスト４０内のＭＩＢ値の欄が空である場合に、管理装置６０に送信されるべき情報である。ダミー値の欄は、アプリ３８がＰＣ１０にインストールされる際に、各ダミー値を記憶する。各ダミー値は、アプリ３８がＰＣ１０にインストールされる前からＰＣ１０に予め記憶されているデータ（即ち、ユーザ名「Ｓｕｚｕｋｉ」、デバイス名「ｃｏｍｐｕｔｅｒ１０」、及び、ＭＡＣアドレス「ａｂｃ」）を用いて得られる４個の特有値と、アプリ３８において予め決められている４個の所定値と、を含む。
【００２７】
ＣＰＵ３２は、アプリ３８に従って、４個の特有値を以下のようにしてＭＩＢ値リスト４０に記述する。ＣＰＵ３２は、ＰＣ１０のＭＡＣアドレス「ａｂｃ」を取得し、取得済みの値「ａｂｃ」をＮａｍｅ「ＭＡＣアドレス」に対応するダミー値として記述する。ＣＰＵ３２は、ＰＣ１０のユーザ名「Ｓｕｚｕｋｉ」を取得し、取得済みの値「Ｓｕｚｕｋｉ」をＮａｍｅ「連絡先ユーザ」に対応するダミー値として記述する。ＣＰＵ３２は、ＰＣ１０のデバイス名「Ｃｏｍｐｕｔｅｒ１０」を取得し、取得済みの値「Ｃｏｍｐｕｔｅｒ１０」をＮａｍｅ「設置場所」に対応するダミー値として記述する。また、ＣＰＵ３２は、ＰＣ１０のＭＡＣアドレス「ａｂｃ」を取得し、取得済みの値「ａｂｃ」に所定文字列「ＰＣ」が付加された文字列「ａｂｃＰＣ」を生成し、当該文字列「ａｂｃＰＣ」をＮａｍｅ「シリアル番号」に対応するダミー値として記述する。ＰＣ１０のＭＡＣアドレス「ａｂｃ」はユニークな値であるので、それに所定文字列「ＰＣ」が付加された文字列「ａｂｃＰＣ」もユニークな文字列である。このために、Ｎａｍｅ「シリアル番号」に対応するダミー値としてユニークな文字列を割り当てることができる。上記のように、４個の特有値のそれぞれは、ＰＣ１０に予め記憶されているデータを用いて得られる情報であるので、ＰＣ１０を特定可能な情報である。
【００２８】
続いて、４個の所定値について説明する。４個の所定値は、Ｎａｍｅ「モデル名」に対応するダミー値「Ｄｅｖｉｃｅ  Ｎｏｔ  Ｒｅａｄｙ」と、Ｎａｍｅ「ステータス」に対応するダミー値「０」と、Ｎａｍｅ「消耗品型番」に対応するダミー値「０」と、Ｎａｍｅ「消耗品残量」に対応するダミー値「１００」と、を含む。ダミー値「Ｄｅｖｉｃｅ  Ｎｏｔ  Ｒｅａｄｙ」は、プリンタ５０がまだ準備されていないこと、即ち、プリンタ５０がＵＳＢＩ／Ｆ１６を介してＰＣ１０に接続された実績がないことを示す文字列である。なお、モデル名に対応するダミー値は、文字列「Ｄｅｖｉｃｅ  Ｎｏｔ  Ｒｅａｄｙ」に限られず、プリンタ５０がＰＣ１０に接続された実績がないことを示す他の文字列（例えば「Ｐｒｉｎｔｅｒ  Ｎｏｔ  Ａｖａｉｌａｂｌｅ」等）であってもよい。Ｎａｍｅ「ステータス」に対応するダミー値「０」は、プリンタ５０のステータスを示す予め決められている複数個の値（例えば「１０００」〜「１０１０」の１０個の値）とは異なる値である。Ｎａｍｅ「消耗品型番」に対応するダミー値「０」は、プリンタ５０に装着され得る複数種の消耗品カートリッジを示す予め決められている複数個の値（例えば「１」〜「３」の３個）とは異なる値である。Ｎａｍｅ「消耗品残量」に対応するダミー値「１００」は、消耗品の残量が１００％であることを示す値である。
【００２９】
（本実施例の概要；図３）
続いて、図３を参照して、プリンタ５０がＰＣ１０に接続された状況で実現される本実施例の概略を説明する。（１）ＰＣ１０は、ＭＩＢ値リスト４０内の各ＰＪＬコマンドを含む印刷ジョブを印刷スプーラ３７に記憶する。これにより、（２）印刷スプーラ３７は、ＵＳＢＩ／Ｆ１６を介して、各ＰＪＬコマンドが記憶された順に各ＰＪＬコマンドをプリンタ５０に送信する。（３）ＰＣ１０は、各ＰＪＬコマンドがプリンタ５０に送信されることに応じて、プリンタ５０から、ＵＳＢＩ／Ｆ１６を介して、各ＰＪＬコマンドに対応する各ＭＩＢ値を受信する。そして、ＰＣ１０は、各ＭＩＢ値をＭＩＢ値リスト４０に記憶する。
【００３０】
その後、（４）ＰＣ１０は、管理装置６０から、ネットワークＩ／Ｆ１８を介して、ＳＮＭＰに従ったＧｅｔリクエストを受信する。Ｇｅｔリクエストは、各ＯＩＤを含む。そして、（５）ＰＣ１０は、ＭＩＢ値リスト４０から、Ｇｅｔリクエストに含まれる各ＯＩＤに対応する各ＭＩＢ値を特定し、特定済みの各ＭＩＢ値を含むＧｅｔレスポンスを管理装置６０に送信する。
【００３１】
上述した各処理が実行されるので、管理装置６０は、プリンタ５０との通信を実行不可能であるにも関わらず、ＰＣ１０からプリンタ５０の情報を受信して管理することができる。なお、管理装置６０は、上記の（４）において、各ＯＩＤを含むＧｅｔリクエストをＬＡＮ４内のプリンタ７０にも送信し、上記の（５）において、プリンタ７０からＧｅｔレスポンスを受信する。この結果、管理装置６０において各プリンタ５０，７０の情報が表示されるので、管理装置６０のユーザ（即ちＬＡＮ４の管理者）は、各プリンタ５０，７０の情報を知ることができる。
【００３２】
ここで、プリンタ５０がＰＣ１０に接続される前の状況を想定する。そして、ＰＣ１０のＭＩＢ値リスト４０内に各ダミー値が記憶されていない比較例を想定する。比較例では、ＰＣ１０は、プリンタ５０がＰＣ１０に接続された実績がないので、プリンタ５０から各ＭＩＢ値を受信しない。この場合、ＰＣ１０は、管理装置６０からＧｅｔリクエストを受信すると、各ＭＩＢ値が記憶されていないことを示す文字列「Ｎｏ  Ｓｕｃｈ」を含むＧｅｔレスポンスを管理装置６０に送信する。従って、管理装置６０においてプリンタ７０の情報は表示されるが、他の情報は表示されない。このために、管理装置６０のユーザは、プリンタ５０がＰＣ１０に接続された実績がないことを知ることができない。本実施例では、以下の図４〜図８に示す処理を実行することによって、プリンタ５０がＰＣ１０に接続された実績がないことを管理装置６０のユーザに認識させ、管理装置６０のユーザがプリンタ５０をＰＣ１０に接続させることを実現する。
【００３３】
（ＰＣ１０の取得処理；図４）
続いて、図４を参照して、ＰＣ１０のＣＰＵ３２がアプリ３８に従って実行する取得処理を説明する。取得処理は、ＰＣ１０がプリンタ５０からＭＩＢ値を受信するための処理である。取得処理は、ＰＣ１０においてアプリ３８が起動されると開始される。以下では、ＣＰＵ３２ではなくアプリ３８を主体として図４の各処理の内容を説明する。この点は後述の図５でも同様である。
【００３４】
Ｓ５では、アプリ３８は、所定タイミングが到来することを監視する。所定タイミングは、１日のうちの予め決められている１回又は２回以上の時刻であり、例えば、夜間帯又は早朝帯のようにプリンタ５０が利用される頻度が少ないタイミングに設定されることが好ましい。ＣＰＵ３２は、所定タイミングが到来する場合（Ｓ５でＹＥＳ）に、Ｓ１０に進む。
【００３５】
Ｓ１０では、アプリ３８は、ドライバ４２がＰＣ１０にインストール済みであるのか否かを判断する。具体的には、アプリ３８は、メモリ３４内にドライバ４２が記憶されているのか否かをＯＳ３６に問い合わせる。ＯＳ３６は、アプリ３８から問い合わせを受け付ける場合に、メモリ３４を参照して、ドライバ４２が記憶されているのか否かを示す応答をアプリ３８に供給する。アプリ３８は、当該応答が、ドライバ４２が記憶されていることを示す場合に、Ｓ１０でＹＥＳと判断して、Ｓ１５に進む。一方、アプリ３８は、当該応答が、ドライバ４２が記憶されていないことを示す場合に、Ｓ１０でＮＯと判断して、Ｓ５に進む。
【００３６】
ここで、図示省略しているが、アプリ３８は、プリンタ５０がＰＣ１０に接続されてドライバ４２がＰＣ１０に新たにインストールされる際に、上記の図３の（１）〜（３）の処理を実行して、各ＭＩＢ値をＭＩＢ値リスト４０に記憶する。即ち、Ｓ１０でＹＥＳと判断される場合は、ＭＩＢ値リスト４０に各ＭＩＢ値が記憶されている状態であり、Ｓ１０でＮＯと判断される場合は、ＭＩＢ値リスト４０に各ＭＩＢ値が記憶されていない状態である。
【００３７】
Ｓ１５では、アプリ３８は、プリンタ５０がＵＳＢＩ／Ｆ１６を介してＰＣ１０に現在接続されているのか否かを判断する。具体的には、アプリ３８は、ＵＳＢＩ／Ｆ１６を介して接続確認をプリンタ５０に送信することを試みる。アプリ３８は、プリンタ５０からＵＳＢＩ／Ｆ１６を介して接続応答を受信する場合に、Ｓ１５でＹＥＳと判断してＳ２０に進み、プリンタ５０から接続応答を受信しない場合に、Ｓ１５でＮＯと判断してＳ３５に進む。
【００３８】
Ｓ２０では、アプリ３８は、ＭＩＢ値リスト４０内の全てのＰＪＬコマンドを含む印刷ジョブを生成して、生成済みの印刷ジョブを印刷スプーラ３７に記憶する。この結果、ＯＳ３６は、ＵＳＢＩ／Ｆ１６を介して、印刷スプーラ３７内の各ＰＪＬコマンドを含む印刷ジョブをプリンタ５０に送信する。
【００３９】
Ｓ２５では、アプリ３８は、プリンタ５０からＵＳＢＩ／Ｆ１６を介して各ＰＪＬコマンドに対応する各ＭＩＢ値を受信することを監視する。アプリ３８は、プリンタ５０から各ＭＩＢ値を受信する場合（Ｓ２５でＹＥＳ）に、Ｓ３０に進む。
【００４０】
Ｓ３０では、アプリ３８は、記憶済みの各ＭＩＢ値に代えて、受信済みの各ＭＩＢ値をＭＩＢ値リスト４０に記憶する。これにより、図２内の下の表に示されるように、ＭＩＢ値リスト４０には各ＭＩＢ値が記憶される。なお、Ｎａｍｅ「ＭＡＣアドレス」に対応するＭＩＢ値として「ＮＯＮＥ」が記憶される。プリンタ５０がネットワークＩ／Ｆを備えずＭＡＣアドレスを有さないからである。Ｓ３０が終了すると、Ｓ５に戻る。
【００４１】
Ｓ３５では、アプリ３８は、ＭＩＢ値リスト４０内のＮａｍｅ「モデル名」に対応するＭＩＢ値が、プリンタ５０がＰＣ１０に現在接続されていないことを示す文字列「Ｕｎｃｏｎｎｅｃｔｅｄ」を含むのか否かを判断する。アプリ３８は、Ｎａｍｅ「モデル名」に対応するＭＩＢ値が文字列「Ｕｎｃｏｎｎｅｃｔｅｄ」を含むと判断する場合、即ち、後述のＳ４０が実行された後にプリンタ５０がＰＣ１０に接続されていない状態が継続していることに起因してＳ１５でＮＯと判断される場合には、Ｓ３５でＹＥＳと判断して、Ｓ５に戻る。一方、アプリ３８は、Ｎａｍｅ「モデル名」に対応するＭＩＢ値が文字列「Ｕｎｃｏｎｎｅｃｔｅｄ」を含まないと判断する場合、即ち、Ｓ３０が実行された後にプリンタ５０がＰＣ１０に接続されていない状態に変化したことに起因してＳ１５でＮＯと判断される場合には、Ｓ３５でＮＯと判断して、Ｓ４０に進む。
【００４２】
Ｓ４０では、アプリ３８は、文字列「Ｕｎｃｏｎｎｅｃｔｅｄ」に現在時刻を示す時刻情報（ｔｉｍｅ）を付加することによって、文字列「Ｕｎｃｏｎｎｅｃｔｅｄ＋ｔｉｍｅ」を生成する。そして、アプリ３８は、Ｎａｍｅ「モデル名」に対応するＭＩＢ値として、生成済みの「Ｕｎｃｏｎｎｅｃｔｅｄ＋ｔｉｍｅ」を記憶する。Ｓ４０が終了すると、Ｓ５に戻る。
【００４３】
（ＰＣ１０の応答処理；図５）
続いて、図５を参照して、ＣＰＵ３２がアプリ３８に従って実行する応答処理を説明する。応答処理は、管理装置６０から受信されるＧｅｔリクエストに対する応答を実行する処理であり、ＰＣ１０においてアプリ３８が起動されると開始される。
【００４４】
Ｓ１００では、アプリ３８は、管理装置６０から、ネットワークＩ／Ｆ１８を介して、１個以上のＯＩＤを含むＧｅｔリクエストを受信することを監視する。アプリ３８は、管理装置６０からＧｅｔリクエストを受信する場合（Ｓ１００でＹＥＳ）に、Ｓ１０５に進む。
【００４５】
Ｓ１０５は、図４のＳ１０と同様である。アプリ３８は、ドライバ４２がＰＣ１０にインストール済みである場合、即ち、ＭＩＢ値リスト４０内に各ＭＩＢ値が記憶されている場合に、Ｓ１０５でＹＥＳと判断して、Ｓ１２０に進む。一方、アプリ３８は、ドライバ４２がＰＣ１０にインストール済みでない場合、即ち、ＭＩＢ値リスト４０内に各ＭＩＢ値が記憶されていない場合に、Ｓ１０５でＮＯと判断して、Ｓ１１０に進む。
【００４６】
Ｓ１１０では、アプリ３８は、ＭＩＢ値リスト４０から、Ｇｅｔリクエスト内の１個以上のＯＩＤに対応する１個以上のダミー値、即ち、プリンタ５０から受信されていない１個以上のダミー値を取得する。
【００４７】
Ｓ１１５では、アプリ３８は、ネットワークＩ／Ｆ１８を介して、取得済みの１個以上のダミー値を含むＧｅｔレスポンスを管理装置６０に送信する。Ｓ１１５が終了すると、Ｓ１００に戻る。
【００４８】
Ｓ１２０では、アプリ３８は、ＭＩＢ値リスト４０から、Ｇｅｔリクエスト内の１個以上のＯＩＤに対応する１個以上のＭＩＢ値を特定する。
【００４９】
Ｓ１２５は、図４のＳ１５と同様である。アプリ３８は、プリンタ５０から接続応答が受信される場合（Ｓ１２５でＹＥＳ）に、Ｓ１３０に進み、プリンタ５０から接続応答が受信されない場合（Ｓ１２５でＮＯ）に、Ｓ１４０に進む。
【００５０】
Ｓ１３０では、アプリ３８は、ネットワークＩ／Ｆ１８を介して、取得済みの１個以上のＭＩＢ値を含むＧｅｔレスポンスを管理装置６０に送信する。Ｓ１３０が終了すると、Ｓ１００に戻る。
【００５１】
Ｓ１４０では、アプリ３８は、取得済みの１個以上のＭＩＢ値がＮａｍｅ「ステータス」に対応するＭＩＢ値を含むのか否かを判断する。アプリ３８は、１個以上のＭＩＢ値がＮａｍｅ「ステータス」に対応するＭＩＢ値を含むと判断する場合に、Ｓ１４０でＹＥＳと判断して、Ｓ１４５に進む。一方、アプリ３８は、１個以上のＭＩＢ値がＮａｍｅ「ステータス」に対応するＭＩＢ値を含まないと判断する場合に、Ｓ１４０でＮＯと判断して、Ｓ１５０に進む。
【００５２】
Ｓ１４５では、アプリ３８は、取得済みの１個以上のＭＩＢ値のうち、Ｎａｍｅ「ステータス」に対応するＭＩＢ値を所定値「−１」に変更する。所定値「−１」は、プリンタ５０のステータスを示す予め決められている複数個の値（例えば「１０００」〜「１０１０」の１０個の値）とは異なる値である。また、所定値「−１」は、Ｎａｍｅ「ステータス」に対応するダミー値「０」とは異なる値である。
【００５３】
Ｓ１５０では、アプリ３８は、ネットワークＩ／Ｆ１８を介して、Ｇｅｔレスポンスを管理装置６０に送信する。Ｓ１４０でＮＯを経て実行されるＳ１５０では、アプリ３８は、Ｓ１２０で取得された全てのＭＩＢ値を含むＧｅｔレスポンスを管理装置６０に送信する。また、Ｓ１４０でＹＥＳ及びＳ１４５を経て実行されるＳ１５０では、アプリ３８は、Ｓ１２０で取得されたＮａｍｅ「ステータス」に対応するＭＩＢ値を管理装置６０に送信せずに、Ｓ１２０で取得された他のＭＩＢ値と、Ｓ１４５で変更された所定値「−１」と、を含むＧｅｔレスポンスを管理装置６０に送信する。Ｓ１５０が終了すると、Ｓ１００に戻る。
【００５４】
（具体的なケース；図６〜図８）
続いて、図６〜図８を参照して、図４及び図５の処理によって実現される具体的なケースを説明する。まず、図６を参照して、ＰＣ１０にドライバ４２がインストール済みでない場合、即ち、プリンタ５０がＰＣ１０に接続された実績がない場合の処理を説明する。
【００５５】
Ｔ５では、ＰＣ１０（即ちアプリ３８）は、管理装置６０からＧｅｔリクエストを受信する（図５のＳ１００でＹＥＳ）。当該Ｇｅｔリクエストは、８個のＯＩＤ「Ｘ１」〜「Ｘ８」を含む。ＰＣ１０は、ドライバ４２がインストール済みでないと判断する（Ｓ１０５でＮＯ）。この場合、ＰＣ１０は、Ｔ７において、ＭＩＢ値リスト４０から８個のＯＩＤに関連付けられている８個のダミー値「Ｄｅｖｉｃｅ  Ｎｏｔ  Ｒｅａｄｙ」等を取得し（Ｓ１１０）、Ｔ１０において、取得済みの８個のダミー値を含むＧｅｔレスポンスを管理装置６０に送信する（Ｓ１１５）。
【００５６】
図示省略しているが、管理装置６０は、８個のＯＩＤ「Ｘ１」〜「Ｘ８」を含むＧｅｔリクエストをプリンタ７０に送信して、プリンタ７０から８個のＯＩＤによって識別される８個のＭＩＢ値「Ｌ９０００ＣＤＷ」等を受信している。この結果、Ｔ２０では、管理装置６０において、デバイスリストが表示される。デバイスリストは、ＰＣ１０から送信された８個のダミー値と、プリンタ７０から送信された８個のＭＩＢ値と、を含む。
【００５７】
デバイスリストは、モデル名に対応するダミー値「Ｄｅｖｉｃｅ  Ｎｏｔ  Ｒｅａｄｙ」を含む。このために、管理装置６０のユーザは、あるプリンタ（即ち本実施例ではプリンタ５０）がＰＣ１０に接続された実績がないことを知ることができる。特に、デバイスリストでは、モデル名を示す情報が先頭（即ち最も左側）に記述されるので、ユーザは、デバイスリスト内から「Ｄｅｖｉｃｅ  Ｎｏｔ  Ｒｅａｄｙ」を見つけやすい。このために、ユーザは、プリンタ５０がＰＣ１０に接続された実績がないことを容易に知ることができる。
【００５８】
また、デバイスリストは、ＭＡＣアドレスに対応するダミー値「ａｂｃ」を含む。このために、ユーザは、「ａｂｃ」によって識別されるＰＣ１０にプリンタ５０が接続された実績がないことを知ることができる。デバイスリストは、さらに、連絡先ユーザに対応するダミー値「Ｓｕｚｕｋｉ」を含む。このために、ユーザは、「Ｓｕｚｕｋｉ」によって利用されるＰＣ１０にプリンタ５０が接続された実績がないことを知ることができる。デバイスリストは、さらに、設置場所に対応するダミー値「Ｃｏｍｐｕｔｅｒ１０」を含む。このために、ユーザは、「Ｃｏｍｐｕｔｅｒ１０」によって識別されるＰＣ１０にプリンタ５０が接続された実績がないことを知ることができる。デバイスリストは、さらに、シリアル番号に対応するダミー値「ａｂｃＰＣ」を含む。このために、ユーザは、「ａｂｃＰＣ」を見ることによって、ＭＡＣアドレス「ａｂｃ」を有するＰＣ１０を特定することができ、当該ＰＣ１０にプリンタ５０が接続された実績がないことを知ることができる。
【００５９】
上述したように、ユーザは、デバイスリストを見ることによって、プリンタ５０がＰＣ１０に接続された実績がないことを知ることができる。従って、ユーザは、プリンタ５０をＰＣ１０に接続させるべきであることを知ることができ、プリンタ５０を新たに購入した後に、プリンタ５０をＰＣ１０に適切に接続させることができる。
【００６０】
続いて、図７を参照して、ＰＣ１０にドライバ４２がインストール済みであり、かつ、プリンタ５０がＰＣ１０に接続されている場合の処理を説明する。例えば、図６の処理の後に、プリンタ５０がＰＣ１０に接続されて、ドライバ４２がＰＣ１０にインストールされる場合に、図７の処理が実行される。
【００６１】
ＰＣ１０（即ちアプリ３８）は、Ｔ１００において、所定タイミングが到来することに応じて（図４のＳ５でＹＥＳ）、ドライバ４２がインストール済みであると判断する（Ｓ１０でＹＥＳ）。この場合、ＰＣ１０は、Ｔ１０２において、接続確認をプリンタ５０に送信し、Ｔ１０４において、プリンタ５０から接続応答を受信する（Ｓ１５でＹＥＳ）。そして、ＰＣ１０は、Ｔ１０６において、ＭＩＢ値リスト４０内の８個のＰＪＬコマンド（「＠ＰＪＬ  ＭＯＤＥＬＮＡＭＥ」、「＠ＰＪＬ  ＭＡＣＡＤＤＲＥＳＳ」等）を含む印刷ジョブＪ１を生成して、印刷ジョブＪ１を印刷スプーラ３７に記憶する（Ｓ２０）。
【００６２】
次いで、ＰＣ１０（即ちＯＳ３６）は、印刷ジョブＪ１内の各ＰＪＬコマンドをプリンタ５０に順次送信する。この結果、ＰＣ１０（即ちアプリ３８）は、プリンタ５０から、各ＰＪＬコマンドに対応する各ＭＩＢ値を受信する（Ｓ２５でＹＥＳ）。具体的には、ＰＣ１０は、Ｔ１１０において、ＰＪＬコマンド「＠ＰＪＬ  ＭＯＤＥＬＮＡＭＥ」をプリンタ５０に送信し、Ｔ１１２において、プリンタ５０から、プリンタ５０のモデル名を示すＭＩＢ値「Ｌ８９００ＣＤＷ」を受信する。次いで、ＰＣ１０は、Ｔ１２０において、ＰＪＬコマンド「＠ＰＪＬ  ＭＡＣＡＤＤＲＥＳＳ」をプリンタ５０に送信し、Ｔ１２２において、プリンタ５０から、プリンタ５０がＭＡＣアドレスを有さないことを示すＭＩＢ値「ＮＯＮＥ」を受信する。同様に、ＰＣ１０は、Ｔ１３０〜Ｔ１８２において、他の６個のＰＪＬコマンドをプリンタ５０に順次送信して、プリンタ５０から６個のＭＩＢ値（即ち、「Ｔａｎａｋａ」、「Ｒｏｏｍ１」、「ＸＸＸ１２３４５６７８」、「１００４」、「３」、「８０」）を順次受信する。
【００６３】
Ｔ１９０では、ＰＣ１０は、受信済みの８個のＭＩＢ値「Ｌ８９００ＣＤＷ」等をＭＩＢ値リスト４０に記憶する（Ｓ３０）。その後、ＰＣ１０は、Ｔ２００において、管理装置６０から８個のＯＩＤを含むＧｅｔリクエストを受信し（Ｓ１００でＹＥＳ）、Ｔ２０１において、ＭＩＢ値リスト４０から８個のＯＩＤに対応する８個のＭＩＢ値「Ｌ８９００ＣＤＷ」等を取得する（Ｓ１２０）。Ｔ２０２及びＴ２０４は、Ｔ１０２及びＴ１０４と同様である。Ｔ２１０では、ＰＣ１０は、取得済みの８個のＭＩＢ値を含むＧｅｔレスポンスを管理装置６０に送信する（Ｓ１３０）。
【００６４】
Ｔ２２０では、管理装置６０において、ＰＣ１０から受信された８個のＭＩＢ値と、プリンタ７０から受信された８個のＭＩＢ値と、を含むデバイスリストが表示される。これにより、管理装置６０のユーザは、各プリンタ５０，７０の情報を適切に知ることができる。
【００６５】
続いて、図８を参照して、ＰＣ１０にドライバ４２がインストール済みであり、かつ、プリンタ５０がＰＣ１０に接続されていない場合の処理を説明する。例えば、図７の処理の後に、プリンタ５０からＵＳＢケーブルが外される場合に、図８の処理が実行される。
【００６６】
Ｔ３００は、図７のＴ１００と同様である。本ケースでは、プリンタ５０がＰＣ１０に接続されていないので、ＰＣ１０は、接続確認をプリンタ５０に送信することができない。この場合、ＰＣ１０（即ちアプリ３８）は、プリンタ５０がＰＣ１０に現在接続されておらず（図４のＳ１５でＮＯ）、かつ、ＭＩＢ値リスト４０内のモデル名に対応するＭＩＢ値「Ｌ８９００ＣＤＷ」が、文字列「Ｕｎｃｏｎｎｅｃｔｅｄ」を含まないと判断する（Ｓ３５でＮＯ）。この結果、ＰＣ１０は、Ｔ３０２において、文字列「Ｕｎｃｏｎｎｅｃｔｅｄ」に現在時刻を示す時刻情報（例えば「２０１７１２２８１０２３」）を付加して文字列「Ｕｎｃｏｎｎｅｃｔｅｄ−２０１７１２２８１０２３」を生成し、Ｎａｍｅ「モデル名」に対応するＭＩＢ値「Ｌ８９００ＣＤＷ」に代えて生成済みの文字列「Ｕｎｃｏｎｎｅｃｔｅｄ−２０１７１２２８１０２３」をＭＩＢ値リスト４０に記憶する（Ｓ４０）。
【００６７】
Ｔ３１０及びＴ３１２は、Ｎａｍｅ「モデル名」に対応するＭＩＢ値として「Ｕｎｃｏｎｎｅｃｔｅｄ−２０１７１２２８１０２３」が利用される点を除いて、図７のＴ２００及びＴ２０１と同様である。また、ＰＣ１０は、接続確認をプリンタ５０に送信できないので、プリンタ５０がＰＣ１０に現在接続されていないと判断する（図５のＳ１２５でＮＯ）。また、ＰＣ１０は、Ｔ３１２において、Ｎａｍｅ「ステータス」に対応するＭＩＢ値「１００４」が取得されていると判断し（Ｓ１４０でＹＥＳ）、Ｔ３２０において、Ｎａｍｅ「ステータス」に対応するＭＩＢ値「１００４」を所定値「−１」に変更する。Ｔ３３０は、Ｎａｍｅ「モデル名」に対応するＭＩＢ値として「Ｕｎｃｏｎｎｅｃｔｅｄ−２０１７１２２８１０２３」が利用され、Ｎａｍｅ「ステータス」に対応するＭＩＢ値として「−１」が利用される点を除いて、図７のＴ２１０と同様である。
【００６８】
Ｔ３４０では、管理装置６０では、モデル名の欄に「Ｕｎｃｏｎｎｅｃｔｅｄ−２０１７１２２８１０２３」が記述され、かつ、ステータスの欄に「−１」が記述されたデバイスリストが表示される。これにより、管理装置６０のユーザは、「Ｕｎｃｏｎｎｅｃｔｅｄ」を見ることによって、プリンタ５０がＰＣ１０に接続されていないことを知ることができる。また、ユーザは、「２０１７１２２８１０２３」を見ることによって、プリンタ５０がＰＣ１０に接続されていないことが最初に確認された時刻を知ることができる。また、ユーザは、ステータスの欄において、プリンタ５０のステータスとして予め決められていない所定値「−１」を見ることによって、プリンタ５０がＰＣ１０に現在接続されていないことを知ることができる。これにより、ユーザは、プリンタ５０をＰＣ１０に接続すべきことを知ることができる。
【００６９】
（本実施例の効果）
上記のように、ＰＣ１０は、プリンタ５０がＵＳＢＩ／Ｆ１６を介してＰＣ１０に接続された実績がないと判断する場合に、管理装置６０から受信されたＧｅｔリクエストに対する応答として、アプリ３８がＰＣ１０にインストールされる前からＰＣ１０に予め記憶されているデータ（即ち「ａｂｃ」、「Ｓｕｚｕｋｉ」、「ｃｏｍｐｕｔｅｒ１０」）を用いて得られる４個の特有値（即ち「ａｂｃ」、「Ｓｕｚｕｋｉ」、「ｃｏｍｐｕｔｅｒ１０」、「ａｂｃＰＣ」）を含む８個のダミー値を含むＧｅｔレスポンスを管理装置６０に送信する（図６のＴ１０）。ここで、各特有値は、ＰＣ１０を特定可能な情報（例えばＰＣ１０のＭＡＣアドレス「ａｂｃ」）を含む。従って、プリンタ５０がＰＣ１０に接続された実績がないことを管理装置６０のユーザに認識させ得る。また、換言すれば、プリンタを接続された実績がないＰＣ１０を管理装置６０のユーザに認識させ得る。
【００７０】
（対応関係）
ＰＣ１０、プリンタ５０、管理装置６０が、それぞれ、「通信装置」、「対象装置」、「外部装置」の一例である。アプリ３８が、「コンピュータプログラム」の一例である。ネットワークＩ／Ｆ１８、ＵＳＢＩ／Ｆ１６が、それぞれ、「第１の通信インターフェース」、「第２の通信インターフェース」の一例である。Ｇｅｔリクエストが、「情報要求」の一例である。図７のＴ２１０で送信される８個のＭＩＢ値が、「Ｍ個の第１の情報」の一例である。図６のＴ１０で送信される８個のダミー値が、「Ｍ個の応答情報」の一例である。特に、当該８個のダミー値のうちの４個の特有値（即ち「ａｂｃ」、「Ｓｕｚｕｋｉ」、「ｃｏｍｐｕｔｅｒ１０」、「ａｂｃＰＣ」）、他の４個の値（即ち「Ｄｅｖｉｃｅ  Ｎｏｔ  Ｒｅａｄｙ」、「０」、「０」、「１００」）が、それぞれ、「Ｎ個の第２の情報」、「（Ｍ−Ｎ）個の所定情報」の一例である。ドライバ４２が、「実行プログラム」の一例である。「Ｄｅｖｉｃｅ  Ｎｏｔ  Ｒｅａｄｙ」、「Ｕｎｃｏｎｎｅｃｔｅｄ」、「Ｕｎｃｏｎｎｅｃｔｅｄ−２０１７１２２８１０２３」が、「第１の文字列」、「第２の文字列」、「特定情報」の一例である。
【００７１】
図５のＳ１００の処理、Ｓ１３０の処理、Ｓ１１５の処理が、それぞれ、「受信部」、「第１の送信部」、「第２の送信部」によって実行される処理の一例である。Ｓ１０５の処理、図４のＳ１０の処理が、それぞれ、「第１の判断部」、「第２の判断部」によって実行される処理の一例である。
【００７２】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
【００７３】
（変形例１）ＰＣ１０（即ちアプリ３８）は、プリンタ５０がＵＳＢＩ／Ｆ１６を介してＰＣ１０に初めて接続される際に、接続済みであることを示す接続情報をメモリ３４内に記憶してもよい。この場合、ＰＣ１０は、図４のＳ１０において、当該接続情報がメモリ３４内に記憶されているのか否かを判断することによって、プリンタ５０がＰＣ１０に接続された実績があるのか否かを判断してもよい。
【００７４】
（変形例２）上記の実施例では、例えば、ＭＡＣアドレス、連絡先ユーザ名、設置場所、及び、シリアル番号のうちの少なくとも１個に対応するダミー値は、例えば、ＰＣ１０のＩＰアドレスを用いて得られる情報であってもよい。この場合、当該情報が、「第２の情報」の一例である。
【００７５】
（変形例３）上記の実施例では、プリンタ５０の情報として８個のＭＩＢ値を想定していたが、プリンタ５０の情報は８個に限られず、８個より多くてもよいし、８個未満でもよい。即ち、「Ｍ」は１以上の整数であればよい。また、ＭＩＢ値リスト４０内に記憶される特有値の数は、４個に限られず、４個より多くてもよいし、４個未満でもよい。即ち、「Ｎ」は１以上Ｍ以下の整数であればよい。また、Ｍ＞Ｎでなくてもよく、Ｍ＝Ｎでもよい。
【００７６】
（変形例４）図４のＳ４０において、アプリ３８は、文字列「Ｕｎｃｏｎｎｅｃｔｅｄ」とは異なる文字列（例えば「Ｄｉｓｃｏｎｎｅｃｔｅｄ」）を利用してもよい。即ち、「第２の文字列」は、プリンタ５０がＰＣ１０に現在接続されていないことを示す文字列であればよい。別の変形例では、Ｓ４０において、アプリ３８は、モデル名に対応するＭＩＢ値として「Ｕｎｃｏｎｎｅｃｔｅｄ」のみを記憶してもよい。即ち、「生成部」は省略可能である。また、別の変形例では、Ｓ３５及びＳ４０の処理が省略されてもよい。この場合、アプリ３８は、Ｓ１５でＮＯと判断する場合に、Ｓ５に戻る。即ち、「第１の送信部」は、「特定情報」を送信しなくてもよい。
【００７７】
（変形例５）アプリ３８は、図４の処理を実行しなくてもよい。この場合、アプリ３８は、管理装置６０からＧｅｔリクエストを受信して（図５のＳ１０５でＹＥＳ）、ドライバ４２がインストール済みであると判断する場合（Ｓ１０５でＮＯ）に、図４のＳ２０〜Ｓ３０の処理を実行し、その後、図５のＳ１２０以降の処理が実行される。即ち、「第２の判断部」は省略可能である。
【００７８】
（変形例６）図５のＳ１２５及びＳ１４０〜Ｓ１５０の処理が省略され、Ｓ１２０の後にＳ１３０に進んでもよい。本変形例では、「第１の送信部」は、「複数個の値とは異なる値」を送信しない。
【００７９】
（変形例７）ＰＣ１０（即ちアプリ３８）は、管理装置６０から、ＳＮＭＰとは異なるプロトコル（例えばプリンタ５０のベンダによって開発された独自プロトコル）に従った情報要求を受信してもよい。この場合、情報要求に含まれる情報識別子は、ＯＩＤでなくてもよく、情報を識別するための他の種類の識別子であってもよい。
【００８０】
（変形例８）ＰＣ１０は、ＵＳＢＩ／Ｆ１６及びネットワークＩ／Ｆ１８に代えて、ＷＦＤ（Wi-Fi Directの略）機能をサポートしているＷｉ−ＦｉＩ／Ｆを備えてもよい。この場合、ＰＣ１０は、ＷＦＤに従った通信をプリンタ５０と実行し、ＷＦＤではない通常のＷｉ−Ｆｉに従った通信を管理装置６０と実行してもよい。本変形例では、Ｗｉ−ＦｉＩ／Ｆが「第１の通信インターフェース」及び「第２の通信インターフェース」の一例であり、通常のＷｉ−Ｆｉ、ＷＦＤが、それぞれ、「第１の通信規格」、「第２の通信規格」の一例である。また、別の変形例では、ＰＣ１０は、ＵＳＢＩ／Ｆ１６に代えて、ＢＴ（Bluetooth（登録商標）の略）Ｉ／Ｆを備えてもよく、ＢＴＩ／Ｆを介して、プリンタ５０との通信を実行してもよい。本変形例では、ＢＴＩ／Ｆが、「第２の通信インターフェース」の一例であり、ＢＴが、「第２の通信規格」の一例である。
【００８１】
（変形例９）「対象装置」は、プリンタ５０に限られず、例えば、スキャナ、多機能機であってもよく、「実行プログラム」は、スキャナ又は多機能機に機能を実行させるためのプログラムであってもよい。また、「対象装置」は、ＰＣ、サーバ等であってもよい。
【００８２】
（変形例１０）上記の各実施例では、図４〜図８の各処理がソフトウェア（即ち各プログラム３６、３８）によって実現されるが、これらの各処理のうちの少なくとも１つが論理回路等のハードウェアによって実現されてもよい。
【００８３】
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【符号の説明】
【００８４】
２：通信システム、１０：ＰＣ、１２：操作部、１４：表示部、１６：ＵＳＢＩ／Ｆ、１８：ネットワークＩ／Ｆ、３０：制御部、３２：ＣＰＵ、３４：メモリ、３６：ＯＳプログラム、３７：印刷スプーラ、３８：プリンタアプリケーション、４０：ＭＩＢ値リスト、４２：プリンタドライバ、５０，７０：プリンタ、６０：管理装置
【図１】
2019117541.tif 000003
【図２】
2019117541.tif 000004
【図３】
2019117541.tif 000005
【図４】
2019117541.tif 000006
【図５】
2019117541.tif 000007
【図６】
2019117541.tif 000008
【図７】
2019117541.tif 000009
【図８】
2019117541.tif 000010