(57)【要約】【課題】  通信装置に記憶されている設定データを更新するための更新データがサーバに記憶されている状況において、ユーザが当該更新データの記憶位置情報を端末装置に入力しなくても、端末装置がサーバから更新データを受信して当該更新データを通信装置に送信することができる技術を提供すること。【解決手段】  通信装置は、第１のサーバに記憶されている更新データの記憶位置を示す記憶位置情報と、端末装置のブラウザプログラムが解釈可能な第１の処理情報と、を端末装置に送信する。第１の処理情報は、ブラウザプログラムによって解釈されることにより、記憶位置情報を利用して第１のサーバから更新データを受信する処理と、更新データを通信装置に送信する処理と、端末装置に実行させるための情報である。通信装置は、端末装置から更新データを受信し、更新データを利用して設定データを更新する。【選択図】図２
2019086874.tif 000002
【特許請求の範囲】
【請求項１】
通信装置であって、
設定データを記憶するメモリと、
前記設定データを更新するための更新データであって、第１のサーバに記憶されている前記更新データの記憶位置を示す記憶位置情報と、端末装置のブラウザプログラムが解釈可能な第１の処理情報と、を前記端末装置に送信する第１の処理情報送信部であって、
前記第１の処理情報は、前記ブラウザプログラムによって解釈されることにより、
前記記憶位置情報を利用して、前記第１のサーバから前記更新データを受信する更新データ受信処理と、
前記第１のサーバから受信された前記更新データを前記通信装置に送信する更新データ送信処理と、
を含む第１の処理群を前記端末装置に実行させるための情報である、前記第１の処理情報送信部と、
前記記憶位置情報と前記第１の処理情報とを前記端末装置に送信することに応じて、前記端末装置から前記更新データを受信する第１の更新データ受信部と、
前記端末装置から受信された前記更新データを利用して、前記メモリに記憶されている前記設定データを更新する第１の更新部と、
を備える通信装置。
【請求項２】
前記通信装置は、さらに、
前記通信装置が前記第１のサーバと通信可能であるのか否かを判断する判断部と、
前記通信装置が前記第１のサーバと通信可能であると判断される場合に、前記記憶位置情報を含む第１の要求を前記第１のサーバに送信する要求送信部と、
前記第１の要求を前記第１のサーバに送信することに応じて、前記第１のサーバから前記更新データを受信する第２の更新データ受信部と、
前記第１のサーバから受信された前記更新データを利用して、前記メモリに記憶されている前記設定データを更新する第２の更新部と、を備え、
前記第１の処理情報送信部は、前記通信装置が前記第１のサーバと通信可能でないと判断される場合に、前記記憶位置情報と前記第１の処理情報とを前記端末装置に送信する、請求項１に記載の通信装置。
【請求項３】
前記通信装置は、さらに、
第１の通信インターフェースと、
前記第１の通信インターフェースとは異なる第２の通信インターフェースと、を備え、
前記通信装置は、さらに、
前記第１の通信インターフェースを介して、前記端末装置から第２の要求が受信される場合に、前記第１の通信インターフェースを介して、前記記憶位置情報を含む第１の要求を前記第１のサーバに送信する要求送信部と、
前記第１の要求を前記第１のサーバに送信することに応じて、前記第１の通信インターフェースを介して、前記第１のサーバから前記更新データを受信する第２の更新データ受信部と、
前記第１の通信インターフェースを介して前記第１のサーバから受信された前記更新データを利用して、前記メモリに記憶されている前記設定データを更新する第２の更新部と、を備え、
前記第２の通信インターフェースを介して、前記端末装置から前記第２の要求が受信される場合に、
前記第１の処理情報送信部は、前記第２の通信インターフェースを介して、前記記憶位置情報と前記第１の処理情報とを前記端末装置に送信し、
前記第１の更新データ受信部は、前記第２の通信インターフェースを介して、前記端末装置から前記更新データを受信し、
前記第１の更新部は、前記第２の通信インターフェースを介して前記端末装置から受信された前記更新データを利用して、前記メモリに記憶されている前記設定データを更新する、請求項１に記載の通信装置。
【請求項４】
前記通信装置は、さらに、
前記第１の通信インターフェースを介して、前記端末装置から前記第２の要求が受信される場合に、前記通信装置が前記第１のサーバと通信可能であるのか否かを判断する判断部を備え、
前記第１の通信インターフェースを介して、前記端末装置から前記第２の要求が受信され、かつ、前記通信装置が前記第１のサーバと通信可能であると判断される場合に、
前記要求送信部は、前記第１の通信インターフェースを介して、前記記憶位置情報を含む前記第１の要求を前記第１のサーバに送信し、
前記第２の更新データ受信部は、前記第１の通信インターフェースを介して、前記サーバから前記更新データを受信し、
前記第２の更新部は、前記第１の通信インターフェースを介して前記第１のサーバから受信された前記更新データを利用して、前記メモリに記憶されている前記設定データを更新し、
前記第１の通信インターフェースを介して、前記端末装置から前記第２の要求が受信され、かつ、前記通信装置が前記第１のサーバと通信可能でないと判断される場合に、
前記第１の処理情報送信部は、前記第１の通信インターフェースを介して、前記記憶位置情報と前記第１の処理情報とを前記端末装置に送信し、
前記第１の更新データ受信部は、前記第１の通信インターフェースを介して、前記端末装置から前記更新データを受信し、
前記第１の更新部は、前記第１の通信インターフェースを介して前記端末装置から受信された前記更新データを利用して、前記メモリに記憶されている前記設定データを更新する、請求項３に記載の通信装置。
【請求項５】
前記第１の通信インターフェースは、ＴＣＰ／ＩＰに従った通信を実行するためのインターフェースであり、
前記第２の通信インターフェースは、ＵＳＢ（Universal Serial Busの略）インターフェースである、請求項３又は４に記載の通信装置。
【請求項６】
前記設定データは、第１のバージョンのプログラムであり、
前記通信装置は、さらに、
前記第１のバージョンを示す第１のバージョン情報と、前記ブラウザプログラムが解釈可能な第２の処理情報と、を前記端末装置に送信する第２の処理情報送信部であって、
前記第２の処理情報は、前記ブラウザプログラムによって解釈されることにより、
前記第１のバージョン情報を第２のサーバに送信するバージョン情報送信処理であって、前記第２のサーバは、前記プログラムの最新バージョンである第２のバージョンを示す第２のバージョン情報を記憶しており、前記第２のバージョン情報によって示される前記第２のバージョンが、前記第１のバージョン情報によって示される前記第１のバージョンよりも新しいのか否かを判断する、前記バージョン情報送信処理と、
前記バージョン情報を前記第２のサーバに送信することに応じて、前記第２のサーバから、前記判断の結果を示す結果情報を受信する結果情報受信処理と、
前記結果情報を前記通信装置に送信する結果情報送信処理と、
を含む第２の処理群を前記端末装置に実行させるための情報である、前記第２の処理情報送信部と、
前記第１のバージョン情報と前記第２の処理情報とを前記端末装置に送信することに応じて、前記端末装置から前記結果情報を受信する結果情報受信部と、
前記結果情報が、前記第２のバージョンが前記第１のバージョンよりも新しいことを示す場合に、
前記第１の処理情報送信部は、前記記憶位置情報と前記第１の処理情報とを前記端末装置に送信し、
前記第１の更新データ受信部は、前記端末装置から、前記第１のバージョンの前記プログラムを前記第２のバージョンのプログラムに更新するための前記更新データを受信し、
前記第１の更新部は、前記端末装置から受信された前記更新データを利用して、前記メモリに記憶されている前記第１のバージョンの前記プログラムを前記第２のバージョンの前記プログラムに更新し、
前記結果情報が、前記第２のバージョンが前記第１のバージョンよりも新しくないことを示す場合に、
前記第１の処理情報送信部は、前記記憶位置情報と前記第１の処理情報とを前記端末装置に送信しない、請求項１から５のいずれか一項に記載の通信装置。
【請求項７】
前記設定データは、第１のバージョンのプログラムであり、
前記通信装置は、さらに、
前記第１のバージョンを示す第１のバージョン情報と、前記ブラウザプログラムが解釈可能な第２の処理情報と、を前記端末装置に送信する第２の処理情報送信部であって、
前記第２の処理情報は、前記ブラウザプログラムによって解釈されることにより、
第２のサーバから、前記プログラムの最新バージョンである第２のバージョンを示す第２のバージョン情報を受信するバージョン情報受信処理と、
前記第２のバージョン情報によって示される前記第２のバージョンが、前記第１のバージョン情報によって示される前記第１のバージョンよりも新しいのか否かを判断する判断処理と、
前記判断の結果を示す結果情報を前記通信装置に送信する結果情報送信処理と、
を含む第２の処理群を前記端末装置に実行させるための情報である、前記第２の処理情報送信部と、
前記第１のバージョン情報と前記第２の処理情報とを前記端末装置に送信することに応じて、前記端末装置から前記結果情報を受信する結果情報受信部と、
前記結果情報が、前記第２のバージョンが前記第１のバージョンよりも新しいことを示す場合に、
前記第１の処理情報送信部は、前記記憶位置情報と前記第１の処理情報とを前記端末装置に送信し、
前記第１の更新データ受信部は、前記端末装置から、前記第１のバージョンのプログラムを前記第２のバージョンのプログラムに更新するための前記更新データを受信し、
前記第１の更新部は、前記端末装置から受信された前記更新データを利用して、前記メモリに記憶されている前記第１のバージョンの前記プログラムを前記第２のバージョンの前記プログラムに更新し、
前記結果情報が、前記第２のバージョンが前記第１のバージョンよりも新しくないことを示す場合に、
前記第１の処理情報送信部は、前記記憶位置情報と前記第１の処理情報とを前記端末装置に送信しない、請求項１から５のいずれか一項に記載の通信装置。
【請求項８】
前記プログラムは、ファームウェアである、請求項６又は７に記載の通信装置。
【請求項９】
前記第２の処理情報送信部は、前記通信装置が提供可能なウェブページ群のうちのトップページを表わすトップページデータと、前記第１のバージョン情報と、前記第２の処理情報と、を前記端末装置に送信し、
前記第２の処理情報は、前記トップページデータによって表わされる前記トップウェブページが前記端末装置に表示されている間に、前記第２の処理群を前記端末装置に実行させるための情報であり、
前記第１の処理情報送信部は、前記結果情報が、前記第２のバージョンが前記第１のバージョンよりも新しいことを示す場合に、前記ウェブページ群のうちの更新ページを表わす更新ページデータと、前記記憶位置情報と、前記第１の処理情報と、を前記端末装置に送信し、
前記更新ページは、前記第１のバージョンの前記プログラムを前記第２のバージョンの前記プログラムに更新するための更新ボタンを含み、
前記第１の処理情報は、前記更新ページに含まれる前記更新ボタンが操作される場合に、前記第１の処理群を前記端末装置に実行させるための情報である、請求項６から８のいずれか一項に記載の通信装置。
【請求項１０】
前記第１の処理情報は、前記ブラウザプログラムが解釈可能なスプリクトで記述されている、請求項１から９のいずれか一項に記載の通信装置。
【請求項１１】
設定データを記憶するメモリを備える通信装置のためのコンピュータプログラムであって、
前記通信装置のコンピュータを、
前記設定データを更新するための更新データであって、第１のサーバに記憶されている前記更新データの記憶位置を示す記憶位置情報と、端末装置のブラウザプログラムが解釈可能な第１の処理情報と、を前記端末装置に送信する第１の処理情報送信部であって、
前記第１の処理情報は、前記ブラウザプログラムによって解釈されることにより、
前記記憶位置情報を利用して、前記第１のサーバから前記更新データを受信する更新データ受信処理と、
前記第１のサーバから受信された前記更新データを前記通信装置に送信する更新データ送信処理と、
を含む第１の処理群を前記端末装置に実行させるための情報である、前記第１の処理情報送信部と、
前記記憶位置情報と前記第１の処理情報とを前記端末装置に送信することに応じて、前記端末装置から前記更新データを受信する第１の更新データ受信部と、
前記端末装置から受信された前記更新データを利用して、前記メモリに記憶されている前記設定データを更新する第１の更新部と、
として機能させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書では、通信装置の設定データを更新する技術を開示する。
【背景技術】
【０００２】
特許文献１には、ＰＣ（Personal Computerの略）のウェブブラウザが、ユーザからの指示に応じて、ファームウェアサーバから更新ファイルをダウンロードすることが開示されている。ウェブブラウザは、更新ファイルを画像処理装置に送信することによって、更新ファイルに従ったファームウェアの更新を画像処理装置に実行させる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−３５７５２号公報
【特許文献２】特開２０１０−２３１３８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１には、ＰＣのウェブブラウザがファームウェアサーバから更新ファイルをダウンロードするために、どのような指示がユーザによってＰＣに与えられるのかについて、何ら記載されていない。例えば、当該指示が、ファームウェアサーバに記憶されている更新ファイルの記憶位置情報（例えばＵＲＬ（Uniform Resource Locatorの略））の入力を含む場合には、ユーザは、キーボード等の入力装置を利用して、当該記憶位置情報をＰＣに入力しなければならない。
【０００５】
本明細書では、通信装置に記憶されている設定データを更新するための更新データがサーバに記憶されている状況において、ユーザが当該更新データの記憶位置情報を端末装置に入力しなくても、端末装置がサーバから更新データを受信して更新データを通信装置に送信することができる技術を提供する。
【課題を解決するための手段】
【０００６】
本明細書によって開示される通信装置は、設定データを記憶するメモリと、前記設定データを更新するための更新データであって、第１のサーバに記憶されている前記更新データの記憶位置を示す記憶位置情報と、端末装置のブラウザプログラムが解釈可能な第１の処理情報と、を前記端末装置に送信する第１の処理情報送信部であって、前記第１の処理情報は、前記ブラウザプログラムによって解釈されることにより、前記記憶位置情報を利用して、前記第１のサーバから前記更新データを受信する更新データ受信処理と、前記第１のサーバから受信された前記更新データを前記通信装置に送信する更新データ送信処理と、を含む第１の処理群を前記端末装置に実行させるための情報である、前記第１の処理情報送信部と、前記記憶位置情報と前記第１の処理情報とを前記端末装置に送信することに応じて、前記端末装置から前記更新データを受信する第１の更新データ受信部と、前記端末装置から受信された前記更新データを利用して、前記メモリに記憶されている前記設定データを更新する第１の更新部と、を備えてもよい。
【０００７】
上記の構成によると、通信装置は、更新データの記憶位置情報と、端末装置のブラウザプログラムが解釈可能な第１の処理情報と、を端末装置に送信する。この結果、端末装置は、ブラウザプログラムによって第１の処理情報が解釈されることにより、記憶位置情報を利用して第１のサーバから更新データを受信し、更新データを通信装置に送信する。従って、ユーザが更新データの記憶位置情報を端末装置に入力しなくても、端末装置は、サーバから更新データを受信して更新データを通信装置に送信することができる。そして、通信装置は、端末装置から更新データを受信して、設定データを更新することができる。
【０００８】
上記の通信装置を実現するためのコンピュータプログラム、及び、当該コンピュータプログラムを格納するコンピュータ読取可能記憶媒体も、新規で有用である。また、上記の通信装置によって実行される方法も、新規で有用である。また、上記の通信装置と、少なくとも１個の他のデバイス（例えば、端末装置、第１のサーバ等）と、を備える通信システムも新規で有用である。
【図面の簡単な説明】
【０００９】
【図１】通信システムの構成を示す。
【図２】実施例の概要を説明するための説明図を示す。
【図３】トップページの要求に応答する処理のフローチャートを示す。
【図４】ＵＳＢ通信によってトップページが要求されるケースＡを示す。
【図５】ネットワーク通信によってトップページが要求されるケースＢを示す。
【図６】ファームウェアページの要求に応答する処理のフローチャートを示す。
【図７】ＵＳＢ通信によってファームウェアページが要求されるケースＣを示す。
【図８】ネットワーク通信によってファームウェアページが要求されるケースＤを示す。
【図９】第２実施例のシーケンス図を示す。
【発明を実施するための形態】
【００１０】
（第１実施例）
（通信システム２の構成；図１）
図１に示すように、通信システム２は、プリンタ１０と、ＰＣ５０と、更新管理サーバ１００と、記憶サーバ２００と、を備える。
【００１１】
プリンタ１０は、有線ＬＡＮ（Local Area Networkの略）又は無線ＬＡＮであるＬＡＮ４に接続され得る。ＰＣ５０は、ＬＡＮ４に接続されている。従って、プリンタ１０がＬＡＮ４に接続されている状況では、プリンタ１０及びＰＣ５０は、ＬＡＮ４を介して、相互に通信可能である。以下では、ＬＡＮ４を介した通信のことを「ネットワーク通信」と呼ぶことがある。
【００１２】
ＬＡＮ４はインターネット６に接続されており、インターネット６には各サーバ１００，２００が設置されている。ＰＣ５０は、インターネット通信を実行するための設定情報（例えばゲートウェイの情報）を記憶している。従って、ＰＣ５０は、ＬＡＮ４を介して、インターネット６上の各サーバ１００，２００と通信可能である。また、プリンタ１０が、ＬＡＮ４に接続されており、かつ、インターネット通信を実行するための設定情報を記憶している状況では、プリンタ１０は、ＬＡＮ４を介して、インターネット６上の各サーバ１００，２００と通信可能である。
【００１３】
プリンタ１０がＬＡＮ４に接続されていない状況では、プリンタ１０は、ＵＳＢ（Universal Serial Busの略）ケーブルを介して、ＰＣ５０に接続される。この状況では、プリンタ１０及びＰＣ５０は、ＵＳＢケーブルを介して、相互に通信可能である。以下では、ＵＳＢケーブルを介した通信のことを「ＵＳＢ通信」と呼ぶことがある。なお、プリンタ１０がＬＡＮ４に接続されていない状況では、プリンタ１０は、インターネット６上の各サーバ１００，２００と通信不可能である。
【００１４】
（プリンタ１０の構成）
プリンタ１０は、ＰＣ５０の周辺機器であり、印刷機能を実行可能である。プリンタ１０は、モデル名「Ｍ１」によって識別されるモデルである。プリンタ１０は、操作部１２と、表示部１４と、印刷実行部１６と、ネットワークインターフェース２０と、ＵＳＢインターフェース２２と、制御部３０と、を備える。各部１２〜３０は、バス線（符号省略）に接続されている。以下では、インターフェースのことを「Ｉ／Ｆ」と記載する。
【００１５】
操作部１２は、複数のキーを備える。ユーザは、操作部１２を操作することによって、様々な指示をプリンタ１０に入力することができる。表示部１４は、様々な情報を表示するためのディスプレイである。表示部１４は、いわゆるタッチパネルとしても機能する。即ち、表示部１４は、操作部としても機能する。印刷実行部１６は、インクジェット方式又はレーザ方式の印刷機構を備える。ネットワークＩ／Ｆ２０は、ＬＡＮ４に接続するためのＩ／Ｆ、即ち、ＴＣＰ／ＩＰに従ったネットワーク通信を実行するためのＩ／Ｆである。ＵＳＢＩ／Ｆ２２は、ＵＳＢケーブルの一端が接続されるＩ／Ｆ、即ち、ＵＳＢ通信を実行するためのＩ／Ｆである。
【００１６】
制御部３０は、ＣＰＵ３２と、メモリ３４と、を備える。ＣＰＵ３２は、メモリ３４に記憶されている各種のプログラムに従って、様々な処理を実行する。メモリ３４は、揮発性メモリ、不揮発性メモリ等によって構成され、具体的には、ＲＯＭ（Read Only Memoryの略）４０と、ＮＶＲＡＭ（Non-Volatile Random Access Memoryの略）４２と、ＶＲＡＭ（Volatile Random Access Memoryの略）４４と、を備える。
【００１７】
ＲＯＭ４０は、プリンタ１０の基本的な動作（例えば、表示部１４への画面の表示、各Ｉ／Ｆ２０，２２を介した通信等）を実現するための基本プログラムを記憶する。基本プログラムは、プリンタ１０が、ＴＣＰ／ＩＰに従ったネットワーク通信又はＵＳＢ通信を利用して、ＨＴＴＰ（Hyper Text Transfer Protocolの略）に従ってＰＣ５０と通信するウェブサーバとして機能するためのプログラムを含む。ＲＯＭ４０は、さらに、プリンタ１０がウェブサーバとして機能してＰＣ５０に送信する様々なデータ（例えば、後述のトップページデータ、ＦＷページデータ、ＦＷチェック用スクリプト、ＦＷ更新用スクリプト等）を記憶する。
【００１８】
ＮＶＲＡＭ４２は、プリンタ１０の電源がＯＦＦされても記憶内容が消去されないメモリ領域であり、プリンタ１０の具体的な動作（例えば、印刷実行部１６での印刷等）を実現するためのファームウェアを記憶する。以下では、ファームウェアのことを「ＦＷ」と記載する。後で詳しく説明するが、本実施例では、ＦＷを更新する状況に着目する。
【００１９】
ＶＲＡＭ４４は、プリンタ１０の電源がＯＦＦされると記憶内容が消去されるメモリ領域であり、チェックフラグと、更新フラグと、を記憶する。チェックフラグは、ＦＷチェックを実行済みであることを示すＯＮと、ＦＷチェックを実行済みでないことを示すＯＦＦと、のどちらかの値を示す。ＦＷチェックは、更新管理サーバ１００を利用して、プリンタ１０の現在のＦＷよりも新しいＦＷが記憶サーバ２００に記憶されているのか否かをチェックする処理である。更新フラグは、新しいＦＷが記憶サーバ２００に記憶されていることを示すＯＮと、新しいＦＷが記憶サーバ２００に記憶されていないことを示すＯＦＦと、のどちらかの値を示す。プリンタ１０の電源がＯＮされる際には、チェックフラグ及び更新フラグのそれぞれはＯＦＦに設定される。
【００２０】
（ＰＣ５０の構成）
ＰＣ５０は、デスクトップＰＣ、ノートＰＣ、タブレットＰＣ等の端末装置である。ＰＣ５０は、公知のＯＳ（Operation Systemの略）プログラム（図示省略）の他に、ブラウザプログラム５２を備える。ブラウザプログラム５２は、例えば、ＯＳプログラムと同時的にＰＣ５０にインストールされる汎用的なプログラムであり、ＨＴＴＰ（Hyper Text Transfer Protocolの略）に従った通信をウェブサーバと実行して、ウェブページをＰＣ５０の表示部（図示省略）に表示する。
【００２１】
（更新管理サーバ１００の構成）
更新管理サーバ１００は、プリンタ１０のベンダによってインターネット６上に設置され、インターネット６上の位置を示すＵＲＬ（Uniform Resource Locatorの略）「server100.com」が割り当てられている。更新管理サーバ１００は、上記のベンダによって提供される複数種類のプリンタのそれぞれについて、当該プリンタのモデル名（例えば「Ｍ１」）と、当該プリンタのための最新のＦＷのバージョンを示すバージョン情報（例えば「ＦＷバージョン１．１」）と、記憶サーバ２００に記憶されている当該最新のＦＷのＵＲＬ（例えば「server200.com/M1/ver1.1」）と、を対応付けて記憶する。本実施例では、ＦＷのバージョンの値が大きい程、ＦＷが新しいことを意味する。
【００２２】
（記憶サーバ２００の構成）
記憶サーバ２００は、プリンタ１０のベンダによってインターネット６上に設置され、インターネット６上の位置を示すＵＲＬ「server200.com」が割り当てられている。記憶サーバ２００は、上記のベンダによって提供される複数種類のプリンタ（例えばモデル名「Ｍ１」のプリンタ及びモデル名「Ｍ２」のプリンタ）のそれぞれについて、当該プリンタのための最新のＦＷ２０１，２０２を記憶する。各ＦＷ２０１，２０２は、プリンタのモデル名（例えば「Ｍ１」）とＦＷのバージョン（例えば「ｖｅｒ１．１」）とを含むＵＲＬ（例えば「server200.com/M1/ver1.1」）によって示される位置に記憶される。
【００２３】
ベンダは、あるモデルのプリンタのための新しいＦＷを開発した際に、当該プリンタのための古いＦＷに代えて、新しいＦＷを記憶サーバ２００に記憶する。そして、ベンダは、当該プリンタのモデル名に対応付けて、新しいＦＷのバージョンと、記憶サーバ２００内の新しいＦＷの記憶位置を示すＵＲＬと、を更新管理サーバ１００に記憶する。
【００２４】
（各デバイス１０，５０，１００，２００の動作の概要；図２）
続いて、図２を参照して、プリンタ１０のＦＷを更新するために、各デバイス１０，５０，１００，２００によって実行される動作の概要を説明する。ケースＸでは、プリンタ１０は、ＬＡＮ４に接続されており、かつ、インターネット通信を実行可能である。プリンタ１０は、ＰＣ５０とのネットワーク通信を実行して、ＰＣ５０から、プリンタ１０のウェブサーバにアクセスするためのＨＴＴＰ要求を受信する。この場合、（Ｘ１）プリンタ１０は、更新管理サーバ１００と通信してＦＷチェックを実行する。そして、（Ｘ２）プリンタ１０は、記憶サーバ２００から新しいＦＷを受信し、古いＦＷを新しいＦＷに更新する。
【００２５】
ケースＹでは、プリンタ１０は、ＵＳＢケーブルによってＰＣ５０に接続されている。プリンタ１０は、インターネット通信を実行不可能であるので、更新管理サーバ１００と通信してＦＷチェックを実行することができないし、記憶サーバ２００から新しいＦＷを受信することができない。プリンタ１０は、ＰＣ５０とのＵＳＢ通信を実行して、ＰＣ５０からＨＴＴＰ要求を受信する。この場合、（Ｙ１）プリンタ１０は、更新管理サーバ１００のＵＲＬを含むＦＷチェック用スクリプトをＰＣ５０に送信する。当該スクリプトは、ＰＣ５０のブラウザプログラム５２が解釈可能な形式を有し、ＦＷチェックをＰＣ５０に実行させるためのスクリプトである。従って、（Ｙ２）ＰＣ５０は、当該スクリプトに従って、更新管理サーバ１００と通信してＦＷチェックを実行する。そして、（Ｙ３）ＰＣ５０は、当該スクリプトに従って、新しいＦＷが記憶サーバ２００に記憶されていることを示す結果情報をプリンタ１０に送信する。当該結果情報は、新しいＦＷのＵＲＬを含む。
【００２６】
次いで、（Ｙ４）プリンタ１０は、新しいＦＷのＵＲＬとＦＷ更新用スクリプトとをＰＣ５０に送信する。当該スクリプトは、ＰＣ５０のブラウザプログラム５２が解釈可能な形式を有し、記憶サーバ２００からの新しいＦＷの受信と、プリンタ１０への新しいＦＷの送信と、をＰＣ５０に実行させるためのスクリプトである。従って、ＰＣ５０は、（Ｙ５）当該スクリプトに従って、記憶サーバ２００から新しいＦＷを受信し、（Ｙ６）新しいＦＷをプリンタ１０に送信する。これにより、プリンタ１０は、古いＦＷを新しいＦＷに更新することができる。
【００２７】
上記のケースＹに示されるように、プリンタ１０は、インターネット通信を実行不可能である状況において、ＰＣ５０のブラウザプログラム５２が解釈可能な各スクリプトをＰＣ５０に送信する（上記の（Ｙ１）及び（Ｙ４）参照）。このために、ＰＣ５０は、上記の（Ｙ２）、（Ｙ３）、（Ｙ５）、及び、（Ｙ６）の各処理を実行するための専用のアプリケーションを記憶していなくても、汎用的なブラウザプログラム５２を利用して、上記の各処理を実行することができる。また、上記の（Ｙ１）のＦＷチェック用スクリプトは、更新管理サーバ１００のＵＲＬを含む。また、上記の（Ｙ４）では、新しいＦＷのＵＲＬを含む。従って、ユーザがこれらのＵＲＬをＰＣ５０に入力しなくても、ＰＣ５０は、これらのＵＲＬを利用して、上記の各処理を実行することができる。
【００２８】
なお、本実施例では、プリンタ１０がインターネット通信を実行不可能である状況において、上記のケースＹの各処理が実行されるが、変形例では、プリンタ１０がインターネット通信を実行可能である状況でも、上記のケースＹの各処理が実行されてもよい。
【００２９】
（プリンタ１０がトップページの要求に応答する処理；図３）
上記の各ケースＸ及びＹを実現するために、プリンタ１０のＣＰＵ３２は、ＲＯＭ４０内の基本プログラムに従って、図３及び図６の処理を実行する。図３は、プリンタ１０が提供可能なウェブページ群のうちのトップページが要求される際に、ＣＰＵ３２によって実行される処理のフローチャートを示す。ＣＰＵ３２は、ＰＣ５０から、ネットワークＩ／Ｆ２０又はＵＳＢＩ／Ｆ２２を介して、トップページのパスを含むＨＴＴＰ要求を受信する場合に、図３の処理を開始する。以下では、当該ＨＴＴＰ要求が受信されたＩ／Ｆ２０又は２２のことを「対象インターフェース」と呼ぶ。
【００３０】
Ｓ１０では、ＣＰＵ３２は、ＦＷチェックを実行済みであるのか否かを判断する。具体的には、ＣＰＵ３２は、ＶＲＡＭ４４内のチェックフラグがＯＮを示す場合に、ＦＷチェックを実行済みであると判断して（Ｓ１０でＹＥＳ）、Ｓ１２に進み、チェックフラグがＯＦＦを示す場合に、ＦＷチェックを実行済みでないと判断して（Ｓ１０でＮＯ）、Ｓ３０に進む。
【００３１】
Ｓ１２では、ＣＰＵ３２は、新しいＦＷが記憶サーバ２００に記憶されているのか否かを判断する。具体的には、ＣＰＵ３２は、ＶＲＡＭ４４内の更新フラグがＯＮを示す場合に、新しいＦＷが記憶サーバ２００に記憶されていると判断して（Ｓ１２でＹＥＳ）、Ｓ２０に進み、更新フラグがＯＦＦを示す場合に、新しいＦＷが記憶サーバ２００に記憶されていないと判断して（Ｓ１２でＮＯ）、Ｓ２２に進む。
【００３２】
Ｓ２０では、ＣＰＵ３２は、対象Ｉ／Ｆを介して、更新情報を含むトップページデータをＰＣ５０に送信する。トップページデータは、プリンタ１０が提供可能なウェブページ群のうちのトップページを表わすデータであり、ＰＣ５０のブラウザプログラム５２が解釈可能なＨＴＭＬ（Hyper Text Markup Languageの略）によって記述されている。更新情報は、新しいＦＷが存在することを示す文字列（以下では「更新文字列」と呼ぶ）をトップページに記述するための情報である。ここでトップページデータがＰＣ５０に送信されると、更新文字列を含むトップページがＰＣ５０に表示される。Ｓ２０が終了すると、図３の処理が終了する。
【００３３】
Ｓ２２では、ＣＰＵ３２は、対象Ｉ／Ｆを介して、更新情報を含まないトップページデータをＰＣ５０に送信する。これにより、更新文字列を含まないトップページがＰＣ５０に表示される。Ｓ２２が終了すると、図３の処理が終了する。
【００３４】
Ｓ３０では、ＣＰＵ３２は、対象Ｉ／ＦがＵＳＢＩ／Ｆ２２であるのか否かを判断する。ＣＰＵ３２は、対象Ｉ／ＦがＵＳＢＩ／Ｆ２２であると判断する場合（Ｓ３０でＹＥＳ）には、Ｓ３２に進み、対象Ｉ／ＦがネットワークＩ／Ｆ２０であると判断する場合（Ｓ３０でＮＯ）には、Ｓ５０に進む。
【００３５】
Ｓ３２では、ＣＰＵ３２は、対象Ｉ／Ｆを介して、更新情報を含まないトップページデータと、ＦＷチェック用スクリプトのリンク情報と、プリンタ１０のモデル名「Ｍ１」と、ＮＶＲＡＭ４２内の現在のＦＷのバージョンを示すバージョン情報と、をＰＣ５０に送信する。ここでトップページデータがＰＣ５０に送信されると、更新文字列を含まないトップページがＰＣ５０に表示される。リンク情報は、ＦＷチェック用スクリプトをＰＣ５０に送信するためのトリガの情報である。モデル名「Ｍ１」及びバージョン情報は、ＰＣ５０がＦＷチェックを実行する際に利用される。
【００３６】
Ｓ３４では、ＣＰＵ３２は、ＰＣ５０から、対象Ｉ／Ｆを介して、Ｓ３２で送信されたリンク情報を受信する。この場合、Ｓ３６では、ＣＰＵ３２は、対象Ｉ／Ｆを介して、更新管理サーバ１００のＵＲＬを含むＦＷチェック用スクリプトをＰＣ５０に送信する（図２の（Ｙ１）参照）。ＦＷチェック用スクリプトは、ＰＣ５０のブラウザプログラム５２が解釈可能なＪａｖａ（登録商標）スクリプトによって記述されており、ＦＷチェックをＰＣ５０に実行させるための情報である（図２の（Ｙ２）参照）。具体的には、ＦＷチェック用スクリプトは、ブラウザプログラム５２によって解釈されることにより、（Ａ）プリンタ１０の現在のＦＷのバージョンを示すバージョン情報を更新管理サーバ１００に送信すること、（Ｂ）記憶サーバ２００がプリンタ１０のための新しいＦＷを記憶しているのか否かを示す結果情報を更新管理サーバ１００から受信すること、及び、（Ｃ）結果情報をプリンタ１０に送信すること、をＰＣ５０に実行させるための情報である。
【００３７】
Ｓ３８では、ＣＰＵ３２は、ＰＣ５０から、対象Ｉ／Ｆを介して、ＦＷチェックの結果を示す結果情報を含むＨＴＴＰ要求を受信する（図２の（Ｙ３）参照）。プリンタ１０のための新しいＦＷが記憶サーバ２００に記憶されている場合には、結果情報は、新しいＦＷのＵＲＬを含む。一方、新しいＦＷが記憶サーバ２００に記憶されていない場合には、結果情報は、新しいＦＷのＵＲＬを含まず、新しいＦＷが存在しない旨の情報を含む。Ｓ３８が終了すると、Ｓ６０に進む。
【００３８】
ここで、Ｓ３２でトップページデータを送信せずに、ＰＣ５０から結果情報を含むＨＴＴＰ要求を受信した後に、結果情報の内容に応じたトップページデータをＰＣ５０に送信する比較例の構成を想定する。比較例の構成では、ＰＣ５０によって実行されるＦＷチェックにある程度の時間を要するので、ＣＰＵ３２がＰＣ５０から結果情報を受信するまでにある程度の時間を要する。よって、ＣＰＵ３２は、ある程度の時間が経過した後に、結果情報を受信してトップページデータをＰＣ５０に送信することになる。この結果、ＰＣ５０において、トップページのパスを含むＨＴＴＰ要求を送信した後に、トップページが表示されるまでに、ある程度の時間がかかることになる。これに対し、本実施例では、Ｓ３２において、まず、ＣＰＵ３２は、更新情報を含まないトップページデータを送信しておく。このために、ＰＣ５０において、トップページのパスを含むＨＴＴＰ要求を送信した後に、トップページが表示されるまでに、余分な時間がかかることを防止することができる。その後、ＣＰＵ３２は、ＰＣ５０から、新しいＦＷが記憶サーバ２００に記憶されていることを示す結果情報を受信すると（Ｓ３８）、更新情報を含むトップページデータをＰＣ５０に送信する（後述のＳ６６参照）。これにより、更新文字列を含まないトップページに代えて、更新文字列を含むトップページをＰＣ５０に表示させることができる。なお、変形例では、ＣＰＵ３２は、上記の比較例の構成を採用してもよい。
【００３９】
上述したように、対象Ｉ／ＦがネットワークＩ／Ｆ２０である場合には、Ｓ３０でＮＯと判断されてＳ５０が実行される。Ｓ５０では、ＣＰＵ３２は、プリンタ１０がインターネット通信を実行可能であるのか否かを判断する。具体的には、ＣＰＵ３２は、ネットワークＩ／Ｆ２０を介して、更新管理サーバ１００のＵＲＬ「server100.com」を送信先として確認信号を送信する。ＣＰＵ３２は、インターネット通信を実行するための設定情報がメモリ３４に記憶されている状況では、更新管理サーバ１００から確認信号に対する応答信号を受信し、この結果、インターネット通信を実行可能であると判断して（Ｓ５０でＹＥＳ）、Ｓ５２に進む。一方、ＣＰＵ３２は、当該設定情報がメモリ３４に記憶されていない状況では、確認信号に対する応答信号を受信せず、この結果、インターネット通信を実行可能でないと判断して（Ｓ５０でＮＯ）、Ｓ３２に進む。
【００４０】
Ｓ５２では、ＣＰＵ３２は、ネットワークＩ／Ｆ２０を介して、更新情報を含まないトップページデータをＰＣ５０に送信する。これにより、更新文字列を含まないトップページがＰＣ５０に表示される。このように、ＦＷチェック（後述のＳ５４参照）を実行する前に、トップページデータがＰＣ５０に送信されるので、ＰＣ５０において、トップページのパスを含むＨＴＴＰ要求を送信した後に、トップページが表示されるまでに、余分な時間がかかることを防止することができる。
【００４１】
Ｓ５４では、ＣＰＵ３２は、ＦＷチェックを実行する（図２の（Ｘ１）参照）。具体的には、ＣＰＵ３２は、ネットワークＩ／Ｆ２０を介して、更新管理サーバ１００のＵＲＬ「server100.com」と、プリンタ１０のモデル名「Ｍ１」と、ＮＶＲＡＭ４２内の現在のＦＷのバージョンを示すバージョン情報と、を含むＨＴＴＰ要求を更新管理サーバ１００に送信する。そして、ＣＰＵ３２は、ネットワークＩ／Ｆ２０を介して、更新管理サーバ１００から応答を受信する。更新管理サーバ１００において、モデル名「Ｍ１」と、現在のＦＷのバージョンよりも新しいバージョンと、が対応付けられている場合には、上記の応答は、モデル名「Ｍ１」に対応付けられているＵＲＬ（即ち記憶サーバ２００内の新しいＦＷの記憶位置を示すＵＲＬ）を含む。一方、更新管理サーバ１００において、モデル名「Ｍ１」と、現在のＦＷのバージョンに一致するバージョンと、が対応付けられている場合には、上記の応答は、新しいＦＷのＵＲＬを含まない。Ｓ５４が終了すると、Ｓ６０に進む。
【００４２】
Ｓ６０では、ＣＰＵ３２は、ＶＲＡＭ４４内のチェックフラグをＯＦＦからＯＮに変更する。これにより、ＰＣ５０からトップページのパスを含むＨＴＴＰ要求が再び受信される場合（図３の処理のトリガ）に、Ｓ１０でＹＥＳと判断されてＳ１２〜Ｓ２２が実行されるので、ＰＣ５０又はプリンタ１０がＦＷチェックを再び実行せずに済み、ＰＣ５０又はプリンタ１０の処理負荷が高くなるのを抑制できる。なお、Ｓ６０でＯＮに変更されたチェックフラグは、以下のいずれかのタイミングでＯＦＦに変更されてもよい。第１の例では、プリンタ１０の電源がＯＦＦされてＶＲＡＭ４４内の記憶内容が消去されることに伴って、チェックフラグがＯＦＦに変更されてもよい。第２の例では、チェックフラグがＯＮされた後に、プリンタ１０の電源がＯＦＦされることなく、所定時間が経過する際に、チェックフラグがＯＦＦに変更されてもよい。
【００４３】
Ｓ６２では、ＣＰＵ３２は、新しいＦＷが記憶サーバ２００に記憶されているのか否かを判断する。Ｓ３８を経たＳ６２では、ＣＰＵ３２は、Ｓ３８でＰＣ５０から受信された結果情報が新しいＦＷのＵＲＬを含む場合には、新しいＦＷが記憶されていると判断して（Ｓ６２でＹＥＳ）、Ｓ６４に進み、当該結果情報が新しいＦＷのＵＲＬを含まない場合には、新しいＦＷが記憶されていないと判断して（Ｓ６２でＮＯ）、Ｓ６４及びＳ６６をスキップして図３の処理を終了する。また、Ｓ５４を経たＳ６２では、ＣＰＵ３２は、Ｓ５４で更新管理サーバ１００から受信された応答が新しいＦＷのＵＲＬを含む場合には、新しいＦＷが記憶されていると判断して（Ｓ６２でＹＥＳ）、Ｓ６４に進み、当該応答が新しいＦＷのＵＲＬを含まない場合には、新しいＦＷが記憶されていないと判断して（Ｓ６２でＮＯ）、Ｓ６４及びＳ６６をスキップして図３の処理を終了する。
【００４４】
Ｓ６４では、ＣＰＵ３２は、ＶＲＡＭ４４内の更新フラグをＯＦＦからＯＮに変更する。また、ＣＰＵ３２は、新しいＦＷのＵＲＬをＶＲＡＭ４４に記憶する。
【００４５】
Ｓ６６では、ＣＰＵ３２は、対象Ｉ／Ｆを介して、更新情報を含むトップページデータをＰＣ５０に送信する。これにより、ＰＣ５０において、更新文字列を含まないトップページが表示されている状態（Ｓ３２又はＳ５２参照）から、更新文字列を含むトップページが表示されている状態に変更される。Ｓ６６が終了すると、図３の処理が終了する。
【００４６】
（具体的なケースＡ及びＢ；図４及び図５）
続いて、図４及び図５を参照して、図３の処理によって実現されるケースＡ及びＢを説明する。ケースＡ及びＢの初期状態では、プリンタ１０の電源がＯＮされてからＦＷチェックが未だに実行されておらず、チェックフラグ及び更新フラグがＯＦＦを示す。
【００４７】
（ケースＡ；図４）
図４のケースＡでは、プリンタ１０及びＰＣ５０の間でＵＳＢ通信が実行され、プリンタ１０は、インターネット通信を実行不可能である。なお、ブラウザプログラム５２が起動されている状態におけるＰＣ５０によって実行される以下の各処理（例えばＴ１０等）は、図示省略のＯＳプログラムとブラウザプログラム５２とによって実現される。この点は、後述の図５及び図７〜図９でも同様である。
【００４８】
Ｔ０では、ＰＣ５０は、ブラウザプログラム５２を起動する操作と、ＰＣ５０のローカルループバックアドレス「localhost:54678/top」を入力する操作と、をユーザから受け付ける。Ｔ１０において、ＰＣ５０は、Ｔ０で入力されたローカルループバックアドレス「localhost:54678/top」を含むＨＴＴＰ要求をプリンタ１０に送信する。
【００４９】
プリンタ１０は、Ｔ１０において、ＰＣ５０からＨＴＴＰ要求を受信すると（図３の処理のトリガ）、Ｔ１２において、更新情報を含まないトップページデータと、リンク情報Ｌ１と、モデル名「Ｍ１」と、現在のＦＷのバージョン情報と、をＰＣ５０に送信する（Ｓ１０でＮＯ、Ｓ３０でＹＥＳ、Ｓ３２）。
【００５０】
ＰＣ５０は、Ｔ１２において、プリンタ１０からトップページデータ等を受信すると、Ｔ２０において、トップページ３００を表示する。トップページ３００は、プリンタ１０のモデル名「Ｍ１」を示す情報と、プリンタ１０の状態（例えば、スリープ状態、スタンバイ状態、印刷実行中状態等）を示す情報と、プリンタ１０の消耗品（例えばトナー又はインク）の残量を示す情報と、ＦＷページへのリンクを示すボタン３０５と、を含む。次いで、Ｔ３０において、ＰＣ５０は、リンク情報Ｌ１を含むＨＴＴＰ要求をプリンタ１０に送信する。
【００５１】
プリンタ１０は、Ｔ３０において、ＰＣ５０からリンク情報Ｌ１を受信すると（Ｓ３４）、Ｔ３２において、ＦＷチェック用スクリプトＳＣ１をＰＣ５０に送信する（Ｓ３６）。スクリプトＳＣ１は、更新管理サーバ１００のＵＲＬ「server100.com」を含む。
【００５２】
ＰＣ５０は、Ｔ３２において、プリンタ１０からスクリプトＳＣ１を受信すると、スクリプトＳＣ１に従ってＦＷチェックを実行する。具体的には、ＰＣ５０は、Ｔ４０において、スクリプトＳＣ１内のＵＲＬ「server100.com」と、Ｔ１２で受信されたモデル名「Ｍ１」と、Ｔ１２で受信されたバージョン情報と、を含むＨＴＴＰ要求を更新管理サーバ１００に送信する。この場合、プリンタ１０の現在のＦＷのバージョン（即ちＴ１２のバージョン情報）に応じて、以下のケースＡ１及びケースＡ２のどちらかが実現される。
【００５３】
ケースＡ１では、現在のＦＷのバージョンが「１．０」であり、記憶サーバ２００は、より新しいバージョン「１．１」のＦＷを記憶している（図１参照）。そして、更新管理サーバ１００は、モデル名「Ｍ１」に対応付けて、新しいＦＷのバージョン「１．１」を示すバージョン情報と、新しいＦＷのＵＲＬ「server200.com/M1/ver1.1」と、を記憶している（図１参照）。更新管理サーバ１００は、Ｔ４０において、ＰＣ５０からＨＴＴＰ要求を受信すると、当該ＨＴＴＰ要求に含まれるモデル名「Ｍ１」に対応付けて記憶しているバージョン情報「１．１」が、当該ＨＴＴＰ要求に含まれるバージョン情報「１．０」よりも新しいと判断し、Ｔ５０において、ＵＲＬ「server200.com/M1/ver1.1」を含む応答をＰＣ５０に送信する。
【００５４】
ＰＣ５０は、Ｔ５０において、更新管理サーバ１００から応答を受信すると、Ｔ５２において、当該応答内のＵＲＬ「server200.com/M1/ver1.1」を示す結果情報を含むＨＴＴＰ要求をプリンタ１０に送信する。
【００５５】
プリンタ１０は、Ｔ５２において、ＰＣ５０からＨＴＴＰ要求を受信すると（Ｓ３８）、当該ＨＴＴＰ要求内の結果情報が新しいＦＷのＵＲＬを含むと判断し（Ｓ６２でＹＥＳ）、更新情報を含むトップページデータをＰＣ５０に送信する（Ｓ６６）。
【００５６】
ＰＣ５０は、Ｔ６６において、プリンタ１０からトップページデータを受信すると、Ｔ６０において、トップページ３００に代えて、トップページ３１０を表示する。トップページ３１０は、更新文字列「Ｎｅｗ」を示すボタン３１５を含む点において、トップページ３００とは異なる。これにより、ユーザは、プリンタ１０のための新しいＦＷの存在を知ることができる。
【００５７】
一方、ケースＡ２では、プリンタ１０の現在のＦＷのバージョンが「１．１」である。この場合、更新管理サーバ１００は、Ｔ４０において、ＰＣ５０からＨＴＴＰ要求を受信すると、当該ＨＴＴＰ要求に含まれるモデル名「Ｍ１」に対応付けて記憶しているバージョン情報「１．１」が、当該ＨＴＴＰ要求に含まれるバージョン情報「１．１」よりも新しくないと判断し、Ｔ７０において、ＵＲＬ「server200.com/M1/ver1.1」を含まない応答をＰＣ５０に送信する。
【００５８】
ＰＣ５０は、Ｔ７０において、更新管理サーバ１００から応答を受信すると、Ｔ７２において、新しいＦＷが存在しない旨を示す結果情報を含むＨＴＴＰ要求をプリンタ１０に送信する。
【００５９】
プリンタ１０は、Ｔ７２において、ＰＣ５０からＨＴＴＰ要求を受信すると（Ｓ３８）、当該ＨＴＴＰ要求内の結果情報が新しいＦＷのＵＲＬを含まないと判断し（Ｓ６２でＮＯ）、処理を終了する。この場合、ＰＣ５０において、トップページ３００に代えてトップページ３１０が表示されず、トップページ３００が継続して表示される。
【００６０】
（ケースＢ；図５）
図５のケースＢでは、プリンタ１０及びＰＣ５０の間でネットワーク通信が実行され、プリンタ１０は、インターネット通信を実行可能である。
【００６１】
Ｔ１００は、図４のＴ０と同様である。Ｔ１１０において、ＰＣ５０は、Ｔ１００で入力されたＵＲＬ「printer.com/top」を含むＨＴＴＰ要求をプリンタ１０に送信する。図４のＴ１０のＵＳＢ通信とは異なり、Ｔ１１０のネットワーク通信では、ローカルループバックアドレスが利用されず、ＵＲＬがそのまま利用される。
【００６２】
プリンタ１０は、Ｔ１１０において、ＰＣ５０からＨＴＴＰ要求を受信すると（図３の処理のトリガ）、Ｔ１２０において、ＵＲＬ「server100.com」を送信先として確認信号を更新管理サーバ１００に送信する（図３のＳ１０でＮＯ、Ｓ３０でＮＯ、Ｓ５０）。本ケースでは、プリンタ１０は、インターネット通信を実行可能であるので、Ｔ１２２において、更新管理サーバ１００から応答信号を受信する（Ｓ５０でＹＥＳ）。この場合、Ｔ１２４において、プリンタ１０は、更新情報を含まないトップページデータをＰＣ５０に送信する（Ｓ５２）。これにより、Ｔ１３０において、トップページ３００がＰＣ５０に表示される。
【００６３】
Ｔ１４０では、プリンタ１０は、ＦＷチェックを実行する（Ｓ５４）。具体的には、プリンタ１０は、ＵＲＬ「server100.com」と、モデル名「Ｍ１」と、現在のＦＷのバージョンを示すバージョン情報と、を含むＨＴＴＰ要求を更新管理サーバ１００に送信する。当該バージョン情報に応じて、以下のケースＢ１及びケースＢ２のどちらかが実現される。
【００６４】
ケースＢ１では、図４のケースＡ１と同様に、プリンタ１０の現在のＦＷのバージョンが「１．０」である。このために、Ｔ１５０では、プリンタ１０は、更新管理サーバ１００から、ＵＲＬ「server200.com/M1/ver1.1」を含む応答を受信する。これにより、プリンタ１０は、新しいＦＷの存在を知ることができる（Ｓ６２でＹＥＳ）。
【００６５】
図示省略しているが、プリンタ１０は、Ｔ１２４において、所定指示を含むＨＴＴＰ要求を送信するためのスクリプトをＰＣ５０に送信済みである。従って、ＰＣ５０は、Ｔ１３０でトップページ３００を表示した後に、Ｔ１６０において、当該スクリプトに従ったＨＴＴＰ要求をプリンタ１０に送信する。所定指示は、新たなトップページ３１０を要求するための指示である。
【００６６】
プリンタ１０は、Ｔ１６０において、ＰＣ５０からＨＴＴＰ要求を受信すると、Ｔ１６２において、更新情報を含むトップページデータをＰＣ５０に送信する（Ｓ６６）。これにより、Ｔ１７０において、トップページ３００に代えてトップページ３１０がＰＣ５０に表示される。
【００６７】
ケースＢ２では、図４のケースＡ２と同様に、プリンタ１０の現在のＦＷのバージョンが「１．１」である。このために、Ｔ１８０では、プリンタ１０は、更新管理サーバ１００から、新しいＦＷのＵＲＬを含まない応答を受信する。これにより、プリンタ１０は、新しいＦＷが存在しないことを知ることができる（Ｓ６２でＮＯ）。この場合、プリンタ１０は、Ｔ１９０において、ＰＣ５０から所定指示を含むＨＴＴＰ要求を受信しても、更新情報を含むトップページデータをＰＣ５０に送信しない。これにより、トップページ３００がＰＣ５０に継続して表示される。
【００６８】
（プリンタ１０がＦＷページの要求に応答する処理；図６）
続いて、図６を参照して、ＦＷページが要求される際に、ＣＰＵ３２によって実行される処理のフローチャートを示す。図６の処理は、ＦＷページのパスを含むＨＴＴＰ要求が受信されることをトリガとして開始される。ＣＰＵ３２は、図４及び図５のトップページ３００又は３１０に含まれるボタン３０５又は３１５が選択される場合に、ＰＣ５０から、ネットワークＩ／Ｆ２０又はＵＳＢＩ／Ｆ２２を介して、ＦＷページのパスを含むＨＴＴＰ要求を受信し、Ｓ１００を実行する。以下では、当該ＨＴＴＰ要求が受信されたＩ／Ｆ２０又は２２のことを「対象インターフェース」と呼ぶ。
【００６９】
Ｓ１００では、ＣＰＵ３２は、新しいＦＷが記憶サーバ２００に記憶されているのか否かを判断する。上述したように、ＦＷチェックの結果として新しいＦＷが記憶サーバ２００に記憶されていることが確認されると、図３のＳ６４において、ＶＲＡＭ４４内の更新フラグがＯＦＦからＯＮに変更される。ＣＰＵ３２は、更新フラグがＯＮを示す場合に、Ｓ１００でＹＥＳと判断してＳ１２０に進み、更新フラグがＯＦＦを示す場合に、Ｓ１００でＮＯと判断してＳ１１０に進む。
【００７０】
Ｓ１１０では、ＣＰＵ３２は、対象Ｉ／Ｆを介して、更新ボタンを含まないＦＷページデータをＰＣ５０に送信する。ＦＷページデータは、プリンタ１０が提供可能なウェブページ群のうちのＦＷページを表わすデータであり、ＨＴＭＬによって記述されている。ここでＦＷページデータがＰＣ５０に送信されると、更新ボタンを含まないＦＷページがＰＣ５０に表示される。Ｓ１１０が終了すると、図６の処理が終了する。
【００７１】
Ｓ１２０及びＳ１４０は、図３のＳ３０及びＳ５０と同様である。Ｓ１２０でＹＥＳの場合にはＳ１２２に進み、Ｓ１４０でＹＥＳの場合にはＳ１４２に進み、Ｓ１４０でＮＯの場合にはＳ１２２に進む。
【００７２】
Ｓ１２２では、ＣＰＵ３２は、対象Ｉ／Ｆを介して、更新ボタンを含むＦＷページデータと、図３のＳ６４で記憶された新しいＦＷのＵＲＬと、ＦＷ更新用スクリプトのリンク情報と、をＰＣ５０に送信する（図２の（Ｙ４）参照）。ここでＦＷページデータがＰＣ５０に送信されると、更新ボタンを含むＦＷページがＰＣ５０に表示される。リンク情報は、ＦＷ更新用スクリプトをＰＣ５０に送信するためのトリガの情報である。
【００７３】
Ｓ１２４では、ＣＰＵ３２は、ＰＣ５０から、対象Ｉ／Ｆを介して、Ｓ１２２で送信されたリンク情報を受信する。この場合、Ｓ１２６では、ＣＰＵ３２は、対象Ｉ／Ｆを介して、ＦＷ更新用スクリプトをＰＣ５０に送信する（図２の（Ｙ４）参照）。ＦＷ更新用スクリプトは、Ｊａｖａスクリプトによって記述されている。ＦＷ更新用スクリプトは、ブラウザプログラム５２によって解釈されることにより、（Ａ）ＦＷページ内の更新ボタンが選択されることに応じて、記憶サーバ２００から新しいＦＷを受信すること（図２の（Ｙ５）参照）、及び、（Ｂ）当該新しいＦＷをプリンタ１０に送信すること（（Ｙ６）参照）、をＰＣ５０に実行させるための情報である。
【００７４】
Ｓ１２８では、ＣＰＵ３２は、ＰＣ５０から、対象Ｉ／Ｆを介して、新しいＦＷを受信するのか否かを判断する。ＣＰＵ３２は、ＰＣ５０から新しいＦＷを受信する場合（図２の（Ｙ６）参照）に、Ｓ１２８でＹＥＳと判断してＳ１３０に進む。一方、ＣＰＵ３２は、ＰＣ５０から新しいＦＷを受信しない場合、例えば、ＰＣ５０から他のウェブページのパスを含むＨＴＴＰ要求を受信する場合に、Ｓ１２８でＮＯと判断して図６の処理を終了する。
【００７５】
上述したように、対象Ｉ／ＦがネットワークＩ／Ｆ２０であり、かつ、プリンタ１０がインターネット通信を実行可能である場合には、Ｓ１４２が実行される。Ｓ１４２では、ＣＰＵ３２は、ネットワークＩ／Ｆ２０を介して、更新ボタンを含むＦＷページデータをＰＣ５０に送信する。この結果、更新ボタンを含むＦＷページがＰＣ５０に表示される。
【００７６】
Ｓ１４４では、ＣＰＵ３２は、ＰＣ５０から、ネットワークＩ／Ｆ２０を介して、更新指示を受信するのか否かを判断する。更新指示は、ＦＷページ内の更新ボタンが選択されると、ＰＣ５０からプリンタ１０に送信される指示である。ＣＰＵ３２は、ＰＣ５０から更新指示を受信する場合に、Ｓ１４４でＹＥＳと判断してＳ１４６に進む。一方、ＣＰＵ３２は、ＰＣ５０から更新指示を受信しない場合、例えば、ＰＣ５０から他のウェブページのパスを含むＨＴＴＰ要求を受信する場合に、Ｓ１４４でＮＯと判断して図６の処理を終了する。
【００７７】
Ｓ１４６では、ＣＰＵ３２は、ネットワークＩ／Ｆ２０を介して、図３のＳ６４で記憶された新しいＦＷのＵＲＬを含むＨＴＴＰ要求を記憶サーバ２００に送信する。これにより、Ｓ１４８では、ＣＰＵ３２は、ネットワークＩ／Ｆ２０を介して、記憶サーバ２００から新しいＦＷを受信する（図２の（Ｘ２）参照）。Ｓ１４８が終了すると、Ｓ１３０に進む。
【００７８】
Ｓ１３０では、ＣＰＵ３２は、ＮＶＮＡＭ４２内の現在のＦＷを、Ｓ１２８又はＳ１４８で受信された新しいＦＷに更新する。ここでの更新は、現在のＦＷを消去した後に新しいＦＷを書き込むことでもよいし、現在のＦＷを消去することなく新しいＦＷを上書きすることででもよい。
【００７９】
Ｓ１３２では、ＣＰＵ３２は、プリンタ１０のリブートを実行する。即ち、ＣＰＵ３２２は、プリンタ１０の電源をＯＦＦして再びＯＮする。これにより、ＣＰＵ３２が新しいＦＷを利用した処理を適切に実行することができる。ここでプリンタ１０の電源がＯＦＦされるので、ＶＲＡＭ４４内の記憶内容が消去され、この結果、チェックフラグ及び更新フラグがＯＦＦに初期化される。Ｓ１３２が終了すると、図６の処理が終了する。
【００８０】
（具体的なケースＣ及びＤ；図７及び図８）
続いて、図７及び図８を参照して、図６の処理によって実現されるケースＣ及びＤを説明する。図７のケースＣは、図４のケースＡ１又はＡ２の続きのケースであり、図８のケースＤは、図５のケースＢ１の続きのケースである。
【００８１】
（ケースＣ；図７）
ケースＣ１は、図４のケースＡ２の続きのケース、即ち、ＦＷチェックにおいて新しいＦＷが存在しないと確認されたケースである。この場合、ＶＲＡＭ４４内の更新フラグはＯＦＦを示す。図３のＳ６２でＮＯと判断され、Ｓ６４が実行されなかったからである。
【００８２】
Ｔ２００では、ＰＣ５０は、図４のＴ２０で表示されたトップページ３００に含まれるボタン３０５を選択する操作をユーザから受け付ける。この場合、Ｔ２１０において、ＰＣ５０は、ローカルループバックアドレス「localhost:54678」と、ＦＷページのパス「fwpage」と、を含むＨＴＴＰ要求をプリンタ１０に送信する。
【００８３】
プリンタ１０は、Ｔ２１０において、ＰＣ５０からＨＴＴＰ要求を受信すると（図６の処理のトリガ）、Ｔ２１２において、更新ボタンを含まないＦＷページデータをＰＣ５０に送信する（Ｓ１００でＮＯ、Ｓ１１０）。
【００８４】
ＰＣ５０は、Ｔ２１２において、プリンタ１０からＦＷページデータを受信すると、Ｔ２２０において、ＦＷページ４００を表示する。ＦＷページ４００は、プリンタ１０のＦＷに関する情報を表示するためのページであり、モデル名「Ｍ１」を示す情報と、現在のＦＷのバージョンを示す情報と、新しいＦＷが存在しないことを示す情報と、を含む。これにより、ユーザは、現在のＦＷのバージョンを知ることができ、さらに、新しいＦＷが存在しないこと（即ちＦＷの更新が不要であること）を知ることができる。
【００８５】
一方、ケースＣ２は、図４のケースＡ１の続きのケース、即ち、ＦＷチェックにおいて新しいＦＷが存在すると確認されたケースである。この場合、プリンタ１０の更新フラグはＯＮを示す。図３のＳ６２でＹＥＳと判断され、Ｓ６４が実行されたからである。
【００８６】
Ｔ２４０では、ＰＣ５０は、図４のＴ６０で表示されたトップページ３１０に含まれるボタン３１５を選択する操作をユーザから受け付ける。この場合、Ｔ２５０において、ＰＣ５０は、上記のＴ２１０と同様に、ＨＴＴＰ要求をプリンタ１０に送信する。
【００８７】
プリンタ１０は、Ｔ２５０において、ＰＣ５０からＨＴＴＰ要求を受信すると（図６の処理のトリガ）、Ｔ２５２において、更新ボタンを含むＦＷページデータと、新しいＦＷのＵＲＬ「server200.com/M1/ver1.1」と、リンク情報Ｌ２と、をＰＣ５０に送信する（Ｓ１００でＹＥＳ、Ｓ１２０でＹＥＳ，Ｓ１２２）。
【００８８】
ＰＣ５０は、Ｔ２５２において、プリンタ１０からＦＷページデータ等を受信すると、Ｔ２６０において、ＦＷページ４１０を表示する。ＦＷページ４１０は、新しいＦＷが存在することを示す情報と更新ボタン４１５とを含む点において、ＦＷページ４００とは異なる。これにより、ユーザは、新しいＦＷが存在すること（即ちＦＷの更新が必要であること）を知ることができる。次いで、Ｔ２７０において、ＰＣ５０は、リンク情報Ｌ２を含むＨＴＴＰ要求をプリンタ１０に送信する。
【００８９】
プリンタ１０は、Ｔ２７０において、ＰＣ５０からリンク情報Ｌ２を受信すると（Ｓ１２４）、Ｔ２７２において、ＦＷ更新用スクリプトＳＣ２をＰＣ５０に送信する（Ｓ１２６）。
【００９０】
Ｔ２８０では、ＰＣ５０は、ＦＷページ４１０に含まれる更新ボタン４１５を選択する操作をユーザから受け付ける。この場合、ＰＣ５０は、スクリプトＳＣ２に従って、Ｔ２９０において、ＵＲＬ「server200.com/M1/ver1.1」（Ｔ２５２参照）を含むＨＴＴＰ要求を記憶サーバ２００に送信し、Ｔ２９２において、記憶サーバ２００から、当該ＵＲＬによって示される位置に記憶されているＦＷ２０１を受信し、Ｔ２９４において、ＦＷ２０１をプリンタ１０に送信する。
【００９１】
プリンタ１０は、Ｔ２９４において、ＰＣ５０からＦＷ２０１を受信すると（Ｓ１２８でＹＥＳ）、Ｔ２９６において、現在のＦＷをＦＷ２０１に更新し（Ｓ１３０）、リブートを実行する（Ｓ１３２）。
【００９２】
（ケースＤ；図８）
続いて、図８を参照して、図５のケースＢ１の続きを説明する。Ｔ３００では、ＰＣ５０は、図５のＴ１７０で表示されたトップページ３１０に含まれるボタン３１５を選択する操作をユーザから受け付ける。この場合、Ｔ３１０において、ＰＣ５０は、ＦＷページのＵＲＬ「printer.com/fwpage」を含むＨＴＴＰ要求をプリンタ１０に送信する。
【００９３】
プリンタ１０は、Ｔ３１０において、ＰＣ５０からＨＴＴＰ要求を受信すると（図６の処理のトリガ）、Ｔ３２０において、ＵＲＬ「server200.com」を送信先として確認信号を記憶サーバ２００に送信する（図６のＳ１００でＹＥＳ、Ｓ１２０でＮＯ、Ｓ１４０）。本ケースでは、プリンタ１０は、インターネット通信を実行可能であるので、Ｔ３２２において、記憶サーバ２００から応答信号を受信する（Ｓ１４０でＹＥＳ）。この場合、Ｔ３３０において、プリンタ１０は、更新ボタンを含むＦＷページデータをＰＣ５０に送信する（Ｓ１４２）。これにより、Ｔ３４０において、ＦＷページ４１０がＰＣ５０に表示される。
【００９４】
Ｔ３５０では、ＰＣ５０は、ＦＷページ４１０に含まれる更新ボタン４１５を選択する操作をユーザから受け付ける。この場合、Ｔ３６０において、ＰＣ５０は、更新指示を含むＨＴＴＰ要求をプリンタ１０に送信する。
【００９５】
プリンタ１０は、Ｔ３６０において、ＰＣ５０からＨＴＴＰ要求を受信すると（Ｓ１４４でＹＥＳ）、Ｔ３７０において、新しいＦＷのＵＲＬ「server200.com/M1/ver1.1」を含むＨＴＴＰ要求を記憶サーバ２００に送信し（Ｓ１４６）、Ｔ３７２において、記憶サーバ２００から、当該ＵＲＬによって示される位置に記憶されているＦＷ２０１を受信する（Ｓ１４８）。そして、Ｔ３７４において、プリンタ１０は、現在のＦＷをＦＷ２０１に更新し（Ｓ１３０）、リブートを実行する（Ｓ１３２）。
【００９６】
（本実施例の効果）
上述したように、図４のケースＡ及び図７のケースＣでは、プリンタ１０は、ＦＷチェック用スクリプトＳＣ１をＰＣ５０に送信し（図４のＴ３２）、さらに、新しいＦＷのＵＲＬとＦＷ更新用スクリプトＳＣ２とをＰＣ５０に送信する（図７のＴ２５２、Ｔ２７２）。この結果、プリンタ１０は、ＦＷチェックをＰＣ５０に実行させて（図４のＴ４０、Ｔ５０、Ｔ７０）、ＰＣ５０から結果情報を受信することができ（Ｔ５２、Ｔ７２）、さらに、記憶サーバ２００からの新しいＦＷの受信と、プリンタ１０への当該ＦＷの送信と、をＰＣ５０に実行させることができる（図７のＴ２９０〜Ｔ２９４）。従って、プリンタ１０は、ＦＷを更新するために更新管理サーバ１００及び記憶サーバ２００と通信することなく、ＦＷチェックの結果情報を適切に受信することができ、さらに、新しいＦＷを適切に受信することができる。
【００９７】
特に、プリンタ１０は、ＰＣ５０のブラウザプログラム５２が解釈可能なＪａｖａスクリプトで記述されたスクリプトＳＣ１，ＳＣ２をＰＣ５０に送信する（図４のＴ３２、図７のＴ２７２）。このために、ＰＣ５０は、ＦＷチェックと、記憶サーバ２００からの新しいＦＷの受信と、プリンタ１０への当該ＦＷの送信と、を含む各処理を実行するための専用のアプリケーションを記憶していなくても、汎用的なブラウザプログラム５２を利用して、上記の各処理を実行することができる。
【００９８】
また、スクリプトＳＣ１は、更新管理サーバ１００のＵＲＬを含む（図４のＴ３２参照）。従って、ユーザが当該ＵＲＬをＰＣ５０に入力しなくても、ＰＣ５０は、スクリプトＳＣ１に含まれる当該ＵＲＬを利用して、ＦＷチェックを実行することができる。また、プリンタ１０は、新しいＦＷのＵＲＬをＰＣ５０に送信する（図７のＴ２５２）。従って、ユーザが当該ＵＲＬをＰＣ５０に入力しなくても、ＰＣ５０は、当該ＵＲＬを利用して、記憶サーバ２００から新しいＦＷを受信することができる。ユーザが更新管理サーバ１００のＵＲＬ及び新しいＦＷのＵＲＬをＰＣ５０に入力せずに済むので、ユーザの利便性が向上する。
【００９９】
また、ＰＣ５０のユーザは、プリンタ１０のウェブサーバにアクセスすることを望む際に、通常、トップページに最初にアクセスする。プリンタ１０は、最初にアクセスされる可能性が高いトップページのパスを含むＨＴＴＰ要求を受信する場合に、トップページデータと共にリンク情報Ｌ１をＰＣ５０に送信することによって（図４のＴ１２）、トップページ３００がＰＣ５０に表示されている間に、ＦＷチェックをＰＣ５０に実行させる。このために、プリンタ１０は、ＦＷチェックをＰＣ５０に迅速に実行させることができる。特に、プリンタ１０は、ＦＷチェックの結果として新しいＦＷが存在することを知った場合（図４のケースＡ１参照）には、更新文字列「Ｎｅｗ」を含むトップページ３１０をＰＣ５０に表示させる。このような情報がトップページ３１０に表示されるので、新しいＦＷの存在をユーザに迅速に通知することができる。
【０１００】
また、図４のケースＡ及び図７のケースＣでは、プリンタ１０は、ＵＳＢ通信をＰＣ５０と実行可能である。このように、プリンタ１０がＵＳＢ通信を利用してＰＣ５０からＨＴＴＰ要求を受信する状況（図４のＴ１０、図７のＴ２５０）では、プリンタ１０がＬＡＮ４に接続されておらずインターネット通信を実行不可能である可能性が高い。プリンタ１０がＬＡＮ４に接続されているのであれば、プリンタ１０及びＰＣ５０がネットワーク通信を実行可能であるので、プリンタ１０及びＰＣ５０をＵＳＢケーブルで接続する必要がないからである。従って、プリンタ１０は、ＵＳＢ通信を利用してＰＣ５０からＨＴＴＰ要求を受信する場合には、ＦＷチェック用スクリプトＳＣ１、新しいＦＷのＵＲＬ、及び、ＦＷ更新用スクリプトＳＣ２をＰＣ５０に送信する（図４のＴ３２、図７のＴ２５２、Ｔ２７２）。これにより、プリンタ１０は、インターネット通信を実行不可能である状況でも、ＦＷチェックの結果情報及び新しいＦＷを適切に受信することができる。
【０１０１】
一方、図５のケースＢ及び図８のケースＤでは、プリンタ１０は、ネットワーク通信をＰＣ５０と実行可能である。プリンタ１０は、ネットワーク通信を利用してＰＣ５０からＨＴＴＰ要求を受信する場合（図５のＴ１１０、図８のＴ３１０）には、インターネット通信を実行可能であるのか否かを判断する（図５のＴ１２０、Ｔ１２２、図８のＴ３２０、Ｔ３２２）。そして、プリンタ１０は、インターネット通信を実行可能であると判断する場合には、ＦＷチェックを実行し（図５のＴ１４０）、さらに、記憶サーバ２００から新しいＦＷを受信する（図８のＴ３７０、Ｔ３７２）。本ケースでは、ＦＷチェックと、記憶サーバ２００からの新しいＦＷの受信と、プリンタ１０への当該ＦＷの送信と、をＰＣ５０に実行させずに済むので、ＰＣ５０の処理負荷が高くなるのを抑制することができる。
【０１０２】
なお、上記のケースＢ及びＤでは、プリンタ１０がインターネット通信を実行可能である状況を想定している。これに代えて、プリンタ１０がインターネット通信を実行不可能である状況（例えばインターネット通信を実行するための設定情報を記憶していない状況）では、プリンタ１０は、図５のＴ１２０又は図８のＴ３２０で確認信号を送信しても応答信号を受信しない（図３のＳ５０でＮＯ、図６のＳ１４０でＮＯ）。この結果、プリンタ１０は、ネットワーク通信を利用して、図４のＴ１２以降の処理及び図７のＴ２５２以降の処理を実行する（図３のＳ３２〜Ｓ３６、Ｓ３８、Ｓ６６、図６のＳ１２２〜Ｓ１２８）。この場合、上記のケースＡ及びＣと同様の効果を奏することができる。
【０１０３】
（対応関係）
プリンタ１０、ＰＣ５０、記憶サーバ２００、更新管理サーバ１００が、それぞれ、「通信装置」、「端末装置」、「第１のサーバ」、「第２のサーバ」の一例である。ネットワークＩ／Ｆ２０、ＵＳＢＩ／Ｆ２２が、それぞれ、「第１の通信インターフェース」、「第２の通信インターフェース」の一例である。ＮＶＲＡＭ４２、現在のＦＷ、新しいＦＷ、新しいＦＷのＵＲＬが、それぞれ、「メモリ」、「設定データ」、「更新データ」、「記憶位置情報」の一例である。現在のＦＷのバージョン１．０．新しいＦＷのバージョン１．１が、それぞれ、「第１のバージョン」、「第２のバージョン」の一例である。ＦＷ更新用スクリプトＳＣ２、ＦＷチェック用スクリプトＳＣ１が、それぞれ、「第１の処理情報」、「第２の処理情報」の一例である。図８のＴ３７０のＨＴＴＰ要求が、「第１の要求」の一例である。図７のＴ２１０、Ｔ２５０、及び、図８のＴ３１０のＨＴＴＰ要求が、「第２の要求」の一例である。
【０１０４】
図６のＳ１２２（及びＳ１２６）、Ｓ１２８、Ｓ１２８を経たＳ１３０、Ｓ１４０、Ｓ１４６、Ｓ１４８、Ｓ１４８を経たＳ１３０、それぞれ、「第１の処理情報送信部」、「第１の更新データ受信部」、「第１の更新部」、「判断部」、「要求送信部」、「第２の更新データ受信部」、「第２の更新部」によって実行される処理の一例である。図７のＴ２９０（及びＴ２９２）、Ｔ２９４が、それぞれ、「更新データ受信処理」、「更新データ送信処理」の一例である。図３のＳ３２（及びＳ３６）、Ｓ３８が、それぞれ、「第２の処理情報送信部」、「結果情報受信部」によって実行される処理の一例である。図４のＴ４０、Ｔ５０（又はＴ７０）、Ｔ５２（又はＴ７２）が、それぞれ、「バージョン情報送信処理」、「結果情報受信処理」、「結果情報送信処理」の一例である。
【０１０５】
（第２実施例）
本実施例では、図３のＳ３６で送信されるＦＷチェック用スクリプトの内容が第１実施例とは異なる。具体的には、ＦＷチェック用スクリプトは、ブラウザプログラム５２によって解釈されることにより、（Ａ）現在のＦＷのバージョンを示すバージョン情報を更新管理サーバ１００に送信すること、（Ｂ）記憶サーバ２００に記憶されている最新のＦＷのバージョンを示すバージョン情報を更新管理サーバ１００から受信すること、（Ｃ）最新のＦＷのバージョンが現在のＦＷのバージョンよりも新しいのか否かを判断すること、及び、（Ｄ）当該判断の結果を示す結果情報をプリンタ１０に送信すること、をＰＣ５０に実行させるための情報である。即ち、第１実施例では、更新管理サーバ１００が新しいＦＷが存在するのか否かを判断したが、本実施例では、ＰＣ５０が当該判断を実行する。他の処理は、第１実施例と同様である。
【０１０６】
（具体的なケース；図９）
図９を参照して、本実施例の具体的なケースを説明する。図９のケースの初期状態は、図４のケースＡの初期状態と同様である。Ｔ４１０〜Ｔ４３２は、図４のＴ１０〜Ｔ３２と同様である。
【０１０７】
Ｔ４４０では、ＰＣ５０は、ＦＷチェック用スクリプトＳＣ１に従って、当該スクリプト内のＵＲＬ「server100.com」と、Ｔ４１２で受信されたモデル名「Ｍ１」と、を含むＨＴＴＰ要求を更新管理サーバ１００に送信する（図３のＳ３６）。当該ＨＴＴＰ要求は、バージョン情報を含まない点において、図４のＴ４０のＨＴＴＰ要求とは異なる。そして、Ｔ４４２では、ＰＣ５０は、更新管理サーバ１００から、モデル名「Ｍ１」に対応付けられているバージョン情報「ｖｅｒ１．１」及びＵＲＬ「server200.com/M1/ver1.1」を受信する。次いで、Ｔ４５０において、ＰＣ５０は、Ｔ４４２で受信されたバージョン情報「ｖｅｒ１．１」が、Ｔ４１２で受信された現在のバージョン情報よりも新しいのか否かを判断する。
【０１０８】
ＰＣ５０は、バージョン情報「ｖｅｒ１．１」が現在のバージョン情報よりも新しいと判断する場合（Ｔ４５０でＹＥＳ）には、Ｔ４５２において、Ｔ４４２で受信されたＵＲＬを示す結果情報を含むＨＴＴＰ要求をプリンタ１０に送信する。その後のＴ４５４及びＴ４６０は、図４のＴ５４及びＴ６０と同様である。
【０１０９】
一方、ＰＣ５０は、バージョン情報「ｖｅｒ１．１」が現在のバージョン情報よりも新しくないと判断する場合（Ｔ４５０でＮＯ）には、Ｔ４７０において、新しいＦＷが存在しないことを示す結果情報を含むＨＴＴＰ要求をプリンタ１０に送信する。
【０１１０】
本実施例でも、プリンタ１０は、第１実施例と同様の効果を奏することができる。本実施例では、Ｔ４４２、Ｔ４５０、Ｔ４５２（又はＴ４７０）が、それぞれ、「バージョン情報受信処理」、「判断処理」、「結果情報送信処理」の一例である。
【０１１１】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
【０１１２】
（変形例１）ＮＶＲＡＭ４２は、ＦＷに代えて、例えば、カラープロファイルを記憶していてもよい。この場合、プリンタ１０は、カラープロファイルを利用して画像データに対する色変換を実行して、印刷実行部１６が解釈可能な印刷データを生成することができる。記憶サーバ２００は、最新のカラープロファイルを記憶してもよい。そして、プリンタ１０は、記憶サーバ２００からの最新のカラープロファイルの受信と、プリンタ１０への最新のカラープロファイルの送信と、をＰＣ５０に実行させるためのスクリプトをＰＣ５０に送信してもよい。この場合、プリンタ１０は、ＮＶＲＡＭ４２内の現在のカラープロファイルを、ＰＣ５０から受信された最新のカラープロファイルに更新することができる。本変形例では、カラープロファイルが、「設定データ」の一例である。また、別の変形例では、「設定データ」は、デフォルトの印刷設定（例えば、色数、印刷解像度、用紙サイズ等）を示すデフォルト印刷設定データであってもよい。
【０１１３】
（変形例２）記憶サーバ２００は、ＦＷそのものを記憶する代わりに、ＦＷを更新するためのプログラム（例えば現在のＦＷに含まれるある値を他の値に変更するための数式を示すプログラム）を記憶していてもよい。この場合、プリンタ１０は、図６のＳ１２８又はＳ１４８で当該プログラムを受信する場合に、Ｓ１３０において、当該プログラムを利用してＦＷを更新する。本変形例では、当該プログラムが、「更新データ」の一例である。一般的に言うと、「第１（又は第２）の更新部」は、受信された更新データを利用して、設定データを更新すればよい。また、ここで、「受信された更新データを利用して」は、例えば、「受信された更新データを利用した通信を他の装置と実行することなく、受信された更新データを利用して」と表現されてもよい。
【０１１４】
（変形例３）各スクリプトＳＣ１，ＳＣ２は、ブラウザプログラム５２が解釈可能なデータであれば、Ｊａｖａスクリプトとは異なる種類のスクリプト（例えば、Ａｃｔｉｏｎスクリプト、ＶＢ（Visual Basicの略）スクリプト、ＸＵＬ（XML User interface Languageの略）等）によって記述されたデータであってもよい。また、別の変形例では、プリンタ１０は、ブラウザプログラム５２が解釈可能な情報であって、スクリプトとは異なる種類の情報（例えばＪａｖａアプレット）をＰＣ５０に送信してもよい。一般的に言うと、「第１（又は第２）の処理情報」は、ブラウザプログラムが解釈可能な情報であればよい。
【０１１５】
（変形例４）更新管理サーバ１００及び記憶サーバ２００は、一体に構成されていてもよい。本変形例では、「第２のサーバ」は、「第１のサーバ」と同じサーバである。
【０１１６】
（変形例５）プリンタ１０は、図３のＳ３２において、ＦＷチェック用スクリプトのリンク情報をＰＣ５０に送信する代わりに、ＦＷチェック用スクリプトそのものをＰＣ５０に送信してもよい。この場合、Ｓ３４及びＳ３６を省略可能である。また、プリンタ１０は、図６のＳ１２２において、ＦＷ更新用スクリプトのリンク情報をＰＣ５０に送信する代わりに、ＦＷ更新用スクリプトそのものをＰＣ５０に送信してもよい。この場合、Ｓ１２４及びＳ１２６を省略可能である。特に、この場合、プリンタ１０は、Ｓ１２２において、ＦＷ更新用スクリプトと新しいＦＷのＵＲＬとを別々の情報としてＰＣ５０に送信しなくてもよく、新しいＦＷのＵＲＬが記述されているＦＷ更新用スクリプトをＰＣ５０に送信してもよい。一般的に言うと、「第１の処理情報送信部」は、少なくとも記憶位置情報と第１の処理情報とを端末装置に送信すればよい。
【０１１７】
（変形例６）プリンタ１０は、ＵＳＢＩ／Ｆ２２を備えていなくてもよい。この場合、図３のＳ３０及び図６のＳ１２０を省略可能である。本変形例では、「第２の通信インターフェース」を省略可能である。
【０１１８】
（変形例７）図３のＳ５０及びＳ１４０において、プリンタ１０は、確認信号をサーバ１００又は２００に送信する代わりに、インターネット通信を実行するための設定情報がメモリ３４に記憶されているのか否かを判断し、当該設定情報が記憶されている場合にＹＥＳと判断し、当該設定情報が記憶されていない場合にＮＯと判断してもよい。一般的に言うと、「判断部」は、通信装置が第１のサーバと通信可能であるのか否かを判断すればよい。
【０１１９】
（変形例８）プリンタ１０がネットワーク通信を実行可能である状態では、プリンタ１０がインターネット通信を実行可能であることを前提する場合には、図６のＳ１４０を省略可能である。即ち、プリンタ１０は、Ｓ１２０でＮＯの場合に、Ｓ１４０を経ることなく、Ｓ１４２に進んでもよい。本変形例では、「判断部」を省略可能である。
【０１２０】
（変形例９）プリンタ１０がインターネット通信を実行可能である状況でも、Ｓ１４０〜Ｓ１４８が実行されずに、Ｓ１２２〜Ｓ１３２が実行されてもよい。即ち、プリンタ１０は、Ｓ１００でＹＥＳの場合に、Ｓ１２０及びＳ１４０を経ることなく、Ｓ１２２に進んでもよい。この場合、図６のＳ１２０、Ｓ１４０〜Ｓ１４８を省略可能である。本変形例では、「判断部」、「要求送信部」、「第２の更新データ受信部」、及び、「第２の更新部」を省略可能である。
【０１２１】
（変形例１０）プリンタ１０は、ネットワークＩ／Ｆ２０を備えていなくてもよい。この場合、図６のＳ１２０、Ｓ１４０〜Ｓ１４８を省略可能である。本変形例では、「第１の通信インターフェース」、「判断部」、「要求送信部」、「第２の更新データ受信部」、及び、「第２の更新部」を省略可能である。
【０１２２】
（変形例１１）第１の変形例では、「第２の通信インターフェース」は、ＵＳＢＩ／Ｆ２２に代えて、ＢｌｕｅＴｏｏｔｈ（登録商標）に従った通信を実行するためのＩ／Ｆであってもよい。上記の実施例及び第１の変形例では、「第１の通信インターフェース」、「第２の通信インターフェース」は、それぞれ、例えば、「ＴＣＰ／ＩＰに従った通信を実行可能なＩ／Ｆ」、「ＴＣＰ／ＩＰに従った通信を実行不可能なＩ／Ｆ」と表現されてもよい。第２の変形例では、「第１の通信インターフェース」は、アクセスポイントを介してＰＣ５０との無線通信を実行するための無線Ｉ／Ｆであってもよく、「第２の通信インターフェース」は、アクセスポイントを介さずにＰＣ５０との無線通信（例えばＷｉ−Ｆｉ  Ｄｉｒｅｃｔ又はＳｏｆｔＡＰに従った無線通信）を実行するための無線Ｉ／Ｆであってもよい。第２の変形例では、２つの無線Ｉ／Ｆは、１つのチップ内に一体的に構成されていてもよく、この場合、第１の通信インターフェースに割り当てられているＭＡＣアドレスと、第２の通信インターフェースに割り当てられているＭＡＣアドレスと、が異なる。上記の実施例、第１の変形例、及び、第２の変形例では、「第１の通信インターフェース」、「第２の通信インターフェース」は、それぞれ、例えば、「インターネット通信を実行可能なＩ／Ｆ」、「インターネット通信を実行不可能なＩ／Ｆ」と表現されてもよい。
【０１２３】
（変形例１２）プリンタ１０は、図３のＳ６２でＹＥＳと判断する場合に、トップページ３００又は３１０に含まれるボタン３０５又は３１５を選択する操作がユーザによって実行されなくても、図６の処理を自動的に実行してもよい。
【０１２４】
（変形例１３）トップページがＰＣ５０に表示されている間にＦＷチェックが実行されず、ＦＷページがＰＣ５０に表示される際にＦＷチェックが実行されてもよい。この場合、プリンタ１０は、トップページのパスを含むＨＴＴＰ要求を受信する場合に、図３の処理に代えて、更新情報を含まないトップページデータをＰＣ５０に送信する。そして、プリンタ１０は、ＦＷページのパスを含むＨＴＴＰ要求を受信する場合（図６の処理のトリガ）に、ＦＷチェック用スクリプトをＰＣ５０に送信して（又はＦＷチェックを実行して）、新しいＦＷが存在することが確認できた場合に、Ｓ１００でＹＥＳと判断する。
【０１２５】
（変形例１４）ＦＷチェックが全く実行されなくてもよい。この場合、プリンタ１０は、トップページのパスを含むＨＴＴＰ要求を受信する場合に、図３の処理に代えて、更新情報を含まないトップページデータをＰＣ５０に送信する。そして、プリンタ１０は、ＦＷページのパスを含むＨＴＴＰ要求を受信する場合（図６の処理のトリガ）に、Ｓ１００を実行することなく、Ｓ１２０に進む。プリンタ１０は、Ｓ１２８又はＳ１４８で受信されたＦＷが現在のＦＷよりも新しい場合に、Ｓ１３０及びＳ１３２を実行し、Ｓ１２８又はＳ１４８で受信されたＦＷが現在のＦＷよりも新しくない場合に、Ｓ１３０及びＳ１３２を実行しない。本変形例では、「第２の処理情報送信部」及び「結果情報受信部」を省略可能である。
【０１２６】
（変形例１５）「通信装置」は、プリンタ１０でなくてもよく、スキャナ、ファクシミリ、ＰＣ、サーバ等の他の種類の装置であってもよい。
【０１２７】
（変形例１６）上記の実施例では、図２〜図９の各処理がソフトウェア（即ちＲＯＭ４０内の基本プログラム）によって実現されるが、これらの各処理のうちの少なくとも１つが論理回路等のハードウェアによって実現されてもよい。
【０１２８】
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【符号の説明】
【０１２９】
２：通信システム、４：ＬＡＮ、６：インターネット、１０：プリンタ、１２：操作部、１４：表示部、１６：印刷実行部、２０：ネットワークインターフェース、２２：ＵＳＢインターフェース、３０：制御部、３２：ＣＰＵ、３４：メモリ、４０：ＲＯＭ、４２：ＮＶＲＡＭ、４４：ＶＲＡＭ、５０：ＰＣ、５２：ブラウザプログラム、１００：更新管理サーバ、２００：記憶サーバ、３００，３１０：トップページ、４００，４１０：更新ページ、ＳＣ１：ＦＷチェック用スクリプト、ＳＣ２：ＦＷ更新用スクリプト
【図１】
2019086874.tif 000003
【図２】
2019086874.tif 000004
【図３】
2019086874.tif 000005
【図４】
2019086874.tif 000006
【図５】
2019086874.tif 000007
【図６】
2019086874.tif 000008
【図７】
2019086874.tif 000009
【図８】
2019086874.tif 000010
【図９】
2019086874.tif 000011