JP6881241B2 - 通信装置 - Google Patents

通信装置 Download PDF

Info

Publication number
JP6881241B2
JP6881241B2 JP2017212504A JP2017212504A JP6881241B2 JP 6881241 B2 JP6881241 B2 JP 6881241B2 JP 2017212504 A JP2017212504 A JP 2017212504A JP 2017212504 A JP2017212504 A JP 2017212504A JP 6881241 B2 JP6881241 B2 JP 6881241B2
Authority
JP
Japan
Prior art keywords
information
version
update
terminal device
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017212504A
Other languages
English (en)
Other versions
JP2019086874A (ja
Inventor
宗久 松田
宗久 松田
勇勇 任
勇勇 任
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2017212504A priority Critical patent/JP6881241B2/ja
Priority to US16/177,523 priority patent/US11132151B2/en
Publication of JP2019086874A publication Critical patent/JP2019086874A/ja
Application granted granted Critical
Publication of JP6881241B2 publication Critical patent/JP6881241B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • G06F3/123Software or firmware update, e.g. device firmware management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1204Improving or facilitating administration, e.g. print management resulting in reduced user or operator actions, e.g. presetting, automatic actions, using hardware token storing data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • G06F3/1287Remote printer device, e.g. being remote from client or server via internet
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00912Arrangements for controlling a still picture apparatus or components thereof not otherwise provided for
    • H04N1/00938Software related arrangements, e.g. loading applications

Description

本明細書では、通信装置の設定データを更新する技術を開示する。
特許文献1には、PC(Personal Computerの略)のウェブブラウザが、ユーザからの指示に応じて、ファームウェアサーバから更新ファイルをダウンロードすることが開示されている。ウェブブラウザは、更新ファイルを画像処理装置に送信することによって、更新ファイルに従ったファームウェアの更新を画像処理装置に実行させる。
特開2014−35752号公報 特開2010−231387号公報
特許文献1には、PCのウェブブラウザがファームウェアサーバから更新ファイルをダウンロードするために、どのような指示がユーザによってPCに与えられるのかについて、何ら記載されていない。例えば、当該指示が、ファームウェアサーバに記憶されている更新ファイルの記憶位置情報(例えばURL(Uniform Resource Locatorの略))の入力を含む場合には、ユーザは、キーボード等の入力装置を利用して、当該記憶位置情報をPCに入力しなければならない。
本明細書では、通信装置に記憶されている設定データを更新するための更新データがサーバに記憶されている状況において、ユーザが当該更新データの記憶位置情報を端末装置に入力しなくても、端末装置がサーバから更新データを受信して更新データを通信装置に送信することができる技術を提供する。
本明細書によって開示される通信装置は、設定データを記憶するメモリと、前記設定データを更新するための更新データであって、第1のサーバに記憶されている前記更新データの記憶位置を示す記憶位置情報と、端末装置のブラウザプログラムが解釈可能な第1の処理情報と、を前記端末装置に送信する第1の処理情報送信部であって、前記第1の処理情報は、前記ブラウザプログラムによって解釈されることにより、前記記憶位置情報を利用して、前記第1のサーバから前記更新データを受信する更新データ受信処理と、前記第1のサーバから受信された前記更新データを前記通信装置に送信する更新データ送信処理と、を含む第1の処理群を前記端末装置に実行させるための情報である、前記第1の処理情報送信部と、前記記憶位置情報と前記第1の処理情報とを前記端末装置に送信することに応じて、前記端末装置から前記更新データを受信する第1の更新データ受信部と、前記端末装置から受信された前記更新データを利用して、前記メモリに記憶されている前記設定データを更新する第1の更新部と、を備えてもよい。
上記の構成によると、通信装置は、更新データの記憶位置情報と、端末装置のブラウザプログラムが解釈可能な第1の処理情報と、を端末装置に送信する。この結果、端末装置は、ブラウザプログラムによって第1の処理情報が解釈されることにより、記憶位置情報を利用して第1のサーバから更新データを受信し、更新データを通信装置に送信する。従って、ユーザが更新データの記憶位置情報を端末装置に入力しなくても、端末装置は、サーバから更新データを受信して更新データを通信装置に送信することができる。そして、通信装置は、端末装置から更新データを受信して、設定データを更新することができる。
上記の通信装置を実現するためのコンピュータプログラム、及び、当該コンピュータプログラムを格納するコンピュータ読取可能記憶媒体も、新規で有用である。また、上記の通信装置によって実行される方法も、新規で有用である。また、上記の通信装置と、少なくとも1個の他のデバイス(例えば、端末装置、第1のサーバ等)と、を備える通信システムも新規で有用である。
通信システムの構成を示す。 実施例の概要を説明するための説明図を示す。 トップページの要求に応答する処理のフローチャートを示す。 USB通信によってトップページが要求されるケースAを示す。 ネットワーク通信によってトップページが要求されるケースBを示す。 ファームウェアページの要求に応答する処理のフローチャートを示す。 USB通信によってファームウェアページが要求されるケースCを示す。 ネットワーク通信によってファームウェアページが要求されるケースDを示す。 第2実施例のシーケンス図を示す。
(第1実施例)
(通信システム2の構成;図1)
図1に示すように、通信システム2は、プリンタ10と、PC50と、更新管理サーバ100と、記憶サーバ200と、を備える。
プリンタ10は、有線LAN(Local Area Networkの略)又は無線LANであるLAN4に接続され得る。PC50は、LAN4に接続されている。従って、プリンタ10がLAN4に接続されている状況では、プリンタ10及びPC50は、LAN4を介して、相互に通信可能である。以下では、LAN4を介した通信のことを「ネットワーク通信」と呼ぶことがある。
LAN4はインターネット6に接続されており、インターネット6には各サーバ100,200が設置されている。PC50は、インターネット通信を実行するための設定情報(例えばゲートウェイの情報)を記憶している。従って、PC50は、LAN4を介して、インターネット6上の各サーバ100,200と通信可能である。また、プリンタ10が、LAN4に接続されており、かつ、インターネット通信を実行するための設定情報を記憶している状況では、プリンタ10は、LAN4を介して、インターネット6上の各サーバ100,200と通信可能である。
プリンタ10がLAN4に接続されていない状況では、プリンタ10は、USB(Universal Serial Busの略)ケーブルを介して、PC50に接続される。この状況では、プリンタ10及びPC50は、USBケーブルを介して、相互に通信可能である。以下では、USBケーブルを介した通信のことを「USB通信」と呼ぶことがある。なお、プリンタ10がLAN4に接続されていない状況では、プリンタ10は、インターネット6上の各サーバ100,200と通信不可能である。
(プリンタ10の構成)
プリンタ10は、PC50の周辺機器であり、印刷機能を実行可能である。プリンタ10は、モデル名「M1」によって識別されるモデルである。プリンタ10は、操作部12と、表示部14と、印刷実行部16と、ネットワークインターフェース20と、USBインターフェース22と、制御部30と、を備える。各部12〜30は、バス線(符号省略)に接続されている。以下では、インターフェースのことを「I/F」と記載する。
操作部12は、複数のキーを備える。ユーザは、操作部12を操作することによって、様々な指示をプリンタ10に入力することができる。表示部14は、様々な情報を表示するためのディスプレイである。表示部14は、いわゆるタッチパネルとしても機能する。即ち、表示部14は、操作部としても機能する。印刷実行部16は、インクジェット方式又はレーザ方式の印刷機構を備える。ネットワークI/F20は、LAN4に接続するためのI/F、即ち、TCP/IPに従ったネットワーク通信を実行するためのI/Fである。USBI/F22は、USBケーブルの一端が接続されるI/F、即ち、USB通信を実行するためのI/Fである。
制御部30は、CPU32と、メモリ34と、を備える。CPU32は、メモリ34に記憶されている各種のプログラムに従って、様々な処理を実行する。メモリ34は、揮発性メモリ、不揮発性メモリ等によって構成され、具体的には、ROM(Read Only Memoryの略)40と、NVRAM(Non-Volatile Random Access Memoryの略)42と、VRAM(Volatile Random Access Memoryの略)44と、を備える。
ROM40は、プリンタ10の基本的な動作(例えば、表示部14への画面の表示、各I/F20,22を介した通信等)を実現するための基本プログラムを記憶する。基本プログラムは、プリンタ10が、TCP/IPに従ったネットワーク通信又はUSB通信を利用して、HTTP(Hyper Text Transfer Protocolの略)に従ってPC50と通信するウェブサーバとして機能するためのプログラムを含む。ROM40は、さらに、プリンタ10がウェブサーバとして機能してPC50に送信する様々なデータ(例えば、後述のトップページデータ、FWページデータ、FWチェック用スクリプト、FW更新用スクリプト等)を記憶する。
NVRAM42は、プリンタ10の電源がOFFされても記憶内容が消去されないメモリ領域であり、プリンタ10の具体的な動作(例えば、印刷実行部16での印刷等)を実現するためのファームウェアを記憶する。以下では、ファームウェアのことを「FW」と記載する。後で詳しく説明するが、本実施例では、FWを更新する状況に着目する。
VRAM44は、プリンタ10の電源がOFFされると記憶内容が消去されるメモリ領域であり、チェックフラグと、更新フラグと、を記憶する。チェックフラグは、FWチェックを実行済みであることを示すONと、FWチェックを実行済みでないことを示すOFFと、のどちらかの値を示す。FWチェックは、更新管理サーバ100を利用して、プリンタ10の現在のFWよりも新しいFWが記憶サーバ200に記憶されているのか否かをチェックする処理である。更新フラグは、新しいFWが記憶サーバ200に記憶されていることを示すONと、新しいFWが記憶サーバ200に記憶されていないことを示すOFFと、のどちらかの値を示す。プリンタ10の電源がONされる際には、チェックフラグ及び更新フラグのそれぞれはOFFに設定される。
(PC50の構成)
PC50は、デスクトップPC、ノートPC、タブレットPC等の端末装置である。PC50は、公知のOS(Operation Systemの略)プログラム(図示省略)の他に、ブラウザプログラム52を備える。ブラウザプログラム52は、例えば、OSプログラムと同時的にPC50にインストールされる汎用的なプログラムであり、HTTP(Hyper Text Transfer Protocolの略)に従った通信をウェブサーバと実行して、ウェブページをPC50の表示部(図示省略)に表示する。
(更新管理サーバ100の構成)
更新管理サーバ100は、プリンタ10のベンダによってインターネット6上に設置され、インターネット6上の位置を示すURL(Uniform Resource Locatorの略)「server100.com」が割り当てられている。更新管理サーバ100は、上記のベンダによって提供される複数種類のプリンタのそれぞれについて、当該プリンタのモデル名(例えば「M1」)と、当該プリンタのための最新のFWのバージョンを示すバージョン情報(例えば「FWバージョン1.1」)と、記憶サーバ200に記憶されている当該最新のFWのURL(例えば「server200.com/M1/ver1.1」)と、を対応付けて記憶する。本実施例では、FWのバージョンの値が大きい程、FWが新しいことを意味する。
(記憶サーバ200の構成)
記憶サーバ200は、プリンタ10のベンダによってインターネット6上に設置され、インターネット6上の位置を示すURL「server200.com」が割り当てられている。記憶サーバ200は、上記のベンダによって提供される複数種類のプリンタ(例えばモデル名「M1」のプリンタ及びモデル名「M2」のプリンタ)のそれぞれについて、当該プリンタのための最新のFW201,202を記憶する。各FW201,202は、プリンタのモデル名(例えば「M1」)とFWのバージョン(例えば「ver1.1」)とを含むURL(例えば「server200.com/M1/ver1.1」)によって示される位置に記憶される。
ベンダは、あるモデルのプリンタのための新しいFWを開発した際に、当該プリンタのための古いFWに代えて、新しいFWを記憶サーバ200に記憶する。そして、ベンダは、当該プリンタのモデル名に対応付けて、新しいFWのバージョンと、記憶サーバ200内の新しいFWの記憶位置を示すURLと、を更新管理サーバ100に記憶する。
(各デバイス10,50,100,200の動作の概要;図2)
続いて、図2を参照して、プリンタ10のFWを更新するために、各デバイス10,50,100,200によって実行される動作の概要を説明する。ケースXでは、プリンタ10は、LAN4に接続されており、かつ、インターネット通信を実行可能である。プリンタ10は、PC50とのネットワーク通信を実行して、PC50から、プリンタ10のウェブサーバにアクセスするためのHTTP要求を受信する。この場合、(X1)プリンタ10は、更新管理サーバ100と通信してFWチェックを実行する。そして、(X2)プリンタ10は、記憶サーバ200から新しいFWを受信し、古いFWを新しいFWに更新する。
ケースYでは、プリンタ10は、USBケーブルによってPC50に接続されている。プリンタ10は、インターネット通信を実行不可能であるので、更新管理サーバ100と通信してFWチェックを実行することができないし、記憶サーバ200から新しいFWを受信することができない。プリンタ10は、PC50とのUSB通信を実行して、PC50からHTTP要求を受信する。この場合、(Y1)プリンタ10は、更新管理サーバ100のURLを含むFWチェック用スクリプトをPC50に送信する。当該スクリプトは、PC50のブラウザプログラム52が解釈可能な形式を有し、FWチェックをPC50に実行させるためのスクリプトである。従って、(Y2)PC50は、当該スクリプトに従って、更新管理サーバ100と通信してFWチェックを実行する。そして、(Y3)PC50は、当該スクリプトに従って、新しいFWが記憶サーバ200に記憶されていることを示す結果情報をプリンタ10に送信する。当該結果情報は、新しいFWのURLを含む。
次いで、(Y4)プリンタ10は、新しいFWのURLとFW更新用スクリプトとをPC50に送信する。当該スクリプトは、PC50のブラウザプログラム52が解釈可能な形式を有し、記憶サーバ200からの新しいFWの受信と、プリンタ10への新しいFWの送信と、をPC50に実行させるためのスクリプトである。従って、PC50は、(Y5)当該スクリプトに従って、記憶サーバ200から新しいFWを受信し、(Y6)新しいFWをプリンタ10に送信する。これにより、プリンタ10は、古いFWを新しいFWに更新することができる。
上記のケースYに示されるように、プリンタ10は、インターネット通信を実行不可能である状況において、PC50のブラウザプログラム52が解釈可能な各スクリプトをPC50に送信する(上記の(Y1)及び(Y4)参照)。このために、PC50は、上記の(Y2)、(Y3)、(Y5)、及び、(Y6)の各処理を実行するための専用のアプリケーションを記憶していなくても、汎用的なブラウザプログラム52を利用して、上記の各処理を実行することができる。また、上記の(Y1)のFWチェック用スクリプトは、更新管理サーバ100のURLを含む。また、上記の(Y4)では、新しいFWのURLを含む。従って、ユーザがこれらのURLをPC50に入力しなくても、PC50は、これらのURLを利用して、上記の各処理を実行することができる。
なお、本実施例では、プリンタ10がインターネット通信を実行不可能である状況において、上記のケースYの各処理が実行されるが、変形例では、プリンタ10がインターネット通信を実行可能である状況でも、上記のケースYの各処理が実行されてもよい。
(プリンタ10がトップページの要求に応答する処理;図3)
上記の各ケースX及びYを実現するために、プリンタ10のCPU32は、ROM40内の基本プログラムに従って、図3及び図6の処理を実行する。図3は、プリンタ10が提供可能なウェブページ群のうちのトップページが要求される際に、CPU32によって実行される処理のフローチャートを示す。CPU32は、PC50から、ネットワークI/F20又はUSBI/F22を介して、トップページのパスを含むHTTP要求を受信する場合に、図3の処理を開始する。以下では、当該HTTP要求が受信されたI/F20又は22のことを「対象インターフェース」と呼ぶ。
S10では、CPU32は、FWチェックを実行済みであるのか否かを判断する。具体的には、CPU32は、VRAM44内のチェックフラグがONを示す場合に、FWチェックを実行済みであると判断して(S10でYES)、S12に進み、チェックフラグがOFFを示す場合に、FWチェックを実行済みでないと判断して(S10でNO)、S30に進む。
S12では、CPU32は、新しいFWが記憶サーバ200に記憶されているのか否かを判断する。具体的には、CPU32は、VRAM44内の更新フラグがONを示す場合に、新しいFWが記憶サーバ200に記憶されていると判断して(S12でYES)、S20に進み、更新フラグがOFFを示す場合に、新しいFWが記憶サーバ200に記憶されていないと判断して(S12でNO)、S22に進む。
S20では、CPU32は、対象I/Fを介して、更新情報を含むトップページデータをPC50に送信する。トップページデータは、プリンタ10が提供可能なウェブページ群のうちのトップページを表わすデータであり、PC50のブラウザプログラム52が解釈可能なHTML(Hyper Text Markup Languageの略)によって記述されている。更新情報は、新しいFWが存在することを示す文字列(以下では「更新文字列」と呼ぶ)をトップページに記述するための情報である。ここでトップページデータがPC50に送信されると、更新文字列を含むトップページがPC50に表示される。S20が終了すると、図3の処理が終了する。
S22では、CPU32は、対象I/Fを介して、更新情報を含まないトップページデータをPC50に送信する。これにより、更新文字列を含まないトップページがPC50に表示される。S22が終了すると、図3の処理が終了する。
S30では、CPU32は、対象I/FがUSBI/F22であるのか否かを判断する。CPU32は、対象I/FがUSBI/F22であると判断する場合(S30でYES)には、S32に進み、対象I/FがネットワークI/F20であると判断する場合(S30でNO)には、S50に進む。
S32では、CPU32は、対象I/Fを介して、更新情報を含まないトップページデータと、FWチェック用スクリプトのリンク情報と、プリンタ10のモデル名「M1」と、NVRAM42内の現在のFWのバージョンを示すバージョン情報と、をPC50に送信する。ここでトップページデータがPC50に送信されると、更新文字列を含まないトップページがPC50に表示される。リンク情報は、FWチェック用スクリプトをPC50に送信するためのトリガの情報である。モデル名「M1」及びバージョン情報は、PC50がFWチェックを実行する際に利用される。
S34では、CPU32は、PC50から、対象I/Fを介して、S32で送信されたリンク情報を受信する。この場合、S36では、CPU32は、対象I/Fを介して、更新管理サーバ100のURLを含むFWチェック用スクリプトをPC50に送信する(図2の(Y1)参照)。FWチェック用スクリプトは、PC50のブラウザプログラム52が解釈可能なJava(登録商標)スクリプトによって記述されており、FWチェックをPC50に実行させるための情報である(図2の(Y2)参照)。具体的には、FWチェック用スクリプトは、ブラウザプログラム52によって解釈されることにより、(A)プリンタ10の現在のFWのバージョンを示すバージョン情報を更新管理サーバ100に送信すること、(B)記憶サーバ200がプリンタ10のための新しいFWを記憶しているのか否かを示す結果情報を更新管理サーバ100から受信すること、及び、(C)結果情報をプリンタ10に送信すること、をPC50に実行させるための情報である。
S38では、CPU32は、PC50から、対象I/Fを介して、FWチェックの結果を示す結果情報を含むHTTP要求を受信する(図2の(Y3)参照)。プリンタ10のための新しいFWが記憶サーバ200に記憶されている場合には、結果情報は、新しいFWのURLを含む。一方、新しいFWが記憶サーバ200に記憶されていない場合には、結果情報は、新しいFWのURLを含まず、新しいFWが存在しない旨の情報を含む。S38が終了すると、S60に進む。
ここで、S32でトップページデータを送信せずに、PC50から結果情報を含むHTTP要求を受信した後に、結果情報の内容に応じたトップページデータをPC50に送信する比較例の構成を想定する。比較例の構成では、PC50によって実行されるFWチェックにある程度の時間を要するので、CPU32がPC50から結果情報を受信するまでにある程度の時間を要する。よって、CPU32は、ある程度の時間が経過した後に、結果情報を受信してトップページデータをPC50に送信することになる。この結果、PC50において、トップページのパスを含むHTTP要求を送信した後に、トップページが表示されるまでに、ある程度の時間がかかることになる。これに対し、本実施例では、S32において、まず、CPU32は、更新情報を含まないトップページデータを送信しておく。このために、PC50において、トップページのパスを含むHTTP要求を送信した後に、トップページが表示されるまでに、余分な時間がかかることを防止することができる。その後、CPU32は、PC50から、新しいFWが記憶サーバ200に記憶されていることを示す結果情報を受信すると(S38)、更新情報を含むトップページデータをPC50に送信する(後述のS66参照)。これにより、更新文字列を含まないトップページに代えて、更新文字列を含むトップページをPC50に表示させることができる。なお、変形例では、CPU32は、上記の比較例の構成を採用してもよい。
上述したように、対象I/FがネットワークI/F20である場合には、S30でNOと判断されてS50が実行される。S50では、CPU32は、プリンタ10がインターネット通信を実行可能であるのか否かを判断する。具体的には、CPU32は、ネットワークI/F20を介して、更新管理サーバ100のURL「server100.com」を送信先として確認信号を送信する。CPU32は、インターネット通信を実行するための設定情報がメモリ34に記憶されている状況では、更新管理サーバ100から確認信号に対する応答信号を受信し、この結果、インターネット通信を実行可能であると判断して(S50でYES)、S52に進む。一方、CPU32は、当該設定情報がメモリ34に記憶されていない状況では、確認信号に対する応答信号を受信せず、この結果、インターネット通信を実行可能でないと判断して(S50でNO)、S32に進む。
S52では、CPU32は、ネットワークI/F20を介して、更新情報を含まないトップページデータをPC50に送信する。これにより、更新文字列を含まないトップページがPC50に表示される。このように、FWチェック(後述のS54参照)を実行する前に、トップページデータがPC50に送信されるので、PC50において、トップページのパスを含むHTTP要求を送信した後に、トップページが表示されるまでに、余分な時間がかかることを防止することができる。
S54では、CPU32は、FWチェックを実行する(図2の(X1)参照)。具体的には、CPU32は、ネットワークI/F20を介して、更新管理サーバ100のURL「server100.com」と、プリンタ10のモデル名「M1」と、NVRAM42内の現在のFWのバージョンを示すバージョン情報と、を含むHTTP要求を更新管理サーバ100に送信する。そして、CPU32は、ネットワークI/F20を介して、更新管理サーバ100から応答を受信する。更新管理サーバ100において、モデル名「M1」と、現在のFWのバージョンよりも新しいバージョンと、が対応付けられている場合には、上記の応答は、モデル名「M1」に対応付けられているURL(即ち記憶サーバ200内の新しいFWの記憶位置を示すURL)を含む。一方、更新管理サーバ100において、モデル名「M1」と、現在のFWのバージョンに一致するバージョンと、が対応付けられている場合には、上記の応答は、新しいFWのURLを含まない。S54が終了すると、S60に進む。
S60では、CPU32は、VRAM44内のチェックフラグをOFFからONに変更する。これにより、PC50からトップページのパスを含むHTTP要求が再び受信される場合(図3の処理のトリガ)に、S10でYESと判断されてS12〜S22が実行されるので、PC50又はプリンタ10がFWチェックを再び実行せずに済み、PC50又はプリンタ10の処理負荷が高くなるのを抑制できる。なお、S60でONに変更されたチェックフラグは、以下のいずれかのタイミングでOFFに変更されてもよい。第1の例では、プリンタ10の電源がOFFされてVRAM44内の記憶内容が消去されることに伴って、チェックフラグがOFFに変更されてもよい。第2の例では、チェックフラグがONされた後に、プリンタ10の電源がOFFされることなく、所定時間が経過する際に、チェックフラグがOFFに変更されてもよい。
S62では、CPU32は、新しいFWが記憶サーバ200に記憶されているのか否かを判断する。S38を経たS62では、CPU32は、S38でPC50から受信された結果情報が新しいFWのURLを含む場合には、新しいFWが記憶されていると判断して(S62でYES)、S64に進み、当該結果情報が新しいFWのURLを含まない場合には、新しいFWが記憶されていないと判断して(S62でNO)、S64及びS66をスキップして図3の処理を終了する。また、S54を経たS62では、CPU32は、S54で更新管理サーバ100から受信された応答が新しいFWのURLを含む場合には、新しいFWが記憶されていると判断して(S62でYES)、S64に進み、当該応答が新しいFWのURLを含まない場合には、新しいFWが記憶されていないと判断して(S62でNO)、S64及びS66をスキップして図3の処理を終了する。
S64では、CPU32は、VRAM44内の更新フラグをOFFからONに変更する。また、CPU32は、新しいFWのURLをVRAM44に記憶する。
S66では、CPU32は、対象I/Fを介して、更新情報を含むトップページデータをPC50に送信する。これにより、PC50において、更新文字列を含まないトップページが表示されている状態(S32又はS52参照)から、更新文字列を含むトップページが表示されている状態に変更される。S66が終了すると、図3の処理が終了する。
(具体的なケースA及びB;図4及び図5)
続いて、図4及び図5を参照して、図3の処理によって実現されるケースA及びBを説明する。ケースA及びBの初期状態では、プリンタ10の電源がONされてからFWチェックが未だに実行されておらず、チェックフラグ及び更新フラグがOFFを示す。
(ケースA;図4)
図4のケースAでは、プリンタ10及びPC50の間でUSB通信が実行され、プリンタ10は、インターネット通信を実行不可能である。なお、ブラウザプログラム52が起動されている状態におけるPC50によって実行される以下の各処理(例えばT10等)は、図示省略のOSプログラムとブラウザプログラム52とによって実現される。この点は、後述の図5及び図7〜図9でも同様である。
T0では、PC50は、ブラウザプログラム52を起動する操作と、PC50のローカルループバックアドレス「localhost:54678/top」を入力する操作と、をユーザから受け付ける。T10において、PC50は、T0で入力されたローカルループバックアドレス「localhost:54678/top」を含むHTTP要求をプリンタ10に送信する。
プリンタ10は、T10において、PC50からHTTP要求を受信すると(図3の処理のトリガ)、T12において、更新情報を含まないトップページデータと、リンク情報L1と、モデル名「M1」と、現在のFWのバージョン情報と、をPC50に送信する(S10でNO、S30でYES、S32)。
PC50は、T12において、プリンタ10からトップページデータ等を受信すると、T20において、トップページ300を表示する。トップページ300は、プリンタ10のモデル名「M1」を示す情報と、プリンタ10の状態(例えば、スリープ状態、スタンバイ状態、印刷実行中状態等)を示す情報と、プリンタ10の消耗品(例えばトナー又はインク)の残量を示す情報と、FWページへのリンクを示すボタン305と、を含む。次いで、T30において、PC50は、リンク情報L1を含むHTTP要求をプリンタ10に送信する。
プリンタ10は、T30において、PC50からリンク情報L1を受信すると(S34)、T32において、FWチェック用スクリプトSC1をPC50に送信する(S36)。スクリプトSC1は、更新管理サーバ100のURL「server100.com」を含む。
PC50は、T32において、プリンタ10からスクリプトSC1を受信すると、スクリプトSC1に従ってFWチェックを実行する。具体的には、PC50は、T40において、スクリプトSC1内のURL「server100.com」と、T12で受信されたモデル名「M1」と、T12で受信されたバージョン情報と、を含むHTTP要求を更新管理サーバ100に送信する。この場合、プリンタ10の現在のFWのバージョン(即ちT12のバージョン情報)に応じて、以下のケースA1及びケースA2のどちらかが実現される。
ケースA1では、現在のFWのバージョンが「1.0」であり、記憶サーバ200は、より新しいバージョン「1.1」のFWを記憶している(図1参照)。そして、更新管理サーバ100は、モデル名「M1」に対応付けて、新しいFWのバージョン「1.1」を示すバージョン情報と、新しいFWのURL「server200.com/M1/ver1.1」と、を記憶している(図1参照)。更新管理サーバ100は、T40において、PC50からHTTP要求を受信すると、当該HTTP要求に含まれるモデル名「M1」に対応付けて記憶しているバージョン情報「1.1」が、当該HTTP要求に含まれるバージョン情報「1.0」よりも新しいと判断し、T50において、URL「server200.com/M1/ver1.1」を含む応答をPC50に送信する。
PC50は、T50において、更新管理サーバ100から応答を受信すると、T52において、当該応答内のURL「server200.com/M1/ver1.1」を示す結果情報を含むHTTP要求をプリンタ10に送信する。
プリンタ10は、T52において、PC50からHTTP要求を受信すると(S38)、当該HTTP要求内の結果情報が新しいFWのURLを含むと判断し(S62でYES)、更新情報を含むトップページデータをPC50に送信する(S66)。
PC50は、T66において、プリンタ10からトップページデータを受信すると、T60において、トップページ300に代えて、トップページ310を表示する。トップページ310は、更新文字列「New」を示すボタン315を含む点において、トップページ300とは異なる。これにより、ユーザは、プリンタ10のための新しいFWの存在を知ることができる。
一方、ケースA2では、プリンタ10の現在のFWのバージョンが「1.1」である。この場合、更新管理サーバ100は、T40において、PC50からHTTP要求を受信すると、当該HTTP要求に含まれるモデル名「M1」に対応付けて記憶しているバージョン情報「1.1」が、当該HTTP要求に含まれるバージョン情報「1.1」よりも新しくないと判断し、T70において、URL「server200.com/M1/ver1.1」を含まない応答をPC50に送信する。
PC50は、T70において、更新管理サーバ100から応答を受信すると、T72において、新しいFWが存在しない旨を示す結果情報を含むHTTP要求をプリンタ10に送信する。
プリンタ10は、T72において、PC50からHTTP要求を受信すると(S38)、当該HTTP要求内の結果情報が新しいFWのURLを含まないと判断し(S62でNO)、処理を終了する。この場合、PC50において、トップページ300に代えてトップページ310が表示されず、トップページ300が継続して表示される。
(ケースB;図5)
図5のケースBでは、プリンタ10及びPC50の間でネットワーク通信が実行され、プリンタ10は、インターネット通信を実行可能である。
T100は、図4のT0と同様である。T110において、PC50は、T100で入力されたURL「printer.com/top」を含むHTTP要求をプリンタ10に送信する。図4のT10のUSB通信とは異なり、T110のネットワーク通信では、ローカルループバックアドレスが利用されず、URLがそのまま利用される。
プリンタ10は、T110において、PC50からHTTP要求を受信すると(図3の処理のトリガ)、T120において、URL「server100.com」を送信先として確認信号を更新管理サーバ100に送信する(図3のS10でNO、S30でNO、S50)。本ケースでは、プリンタ10は、インターネット通信を実行可能であるので、T122において、更新管理サーバ100から応答信号を受信する(S50でYES)。この場合、T124において、プリンタ10は、更新情報を含まないトップページデータをPC50に送信する(S52)。これにより、T130において、トップページ300がPC50に表示される。
T140では、プリンタ10は、FWチェックを実行する(S54)。具体的には、プリンタ10は、URL「server100.com」と、モデル名「M1」と、現在のFWのバージョンを示すバージョン情報と、を含むHTTP要求を更新管理サーバ100に送信する。当該バージョン情報に応じて、以下のケースB1及びケースB2のどちらかが実現される。
ケースB1では、図4のケースA1と同様に、プリンタ10の現在のFWのバージョンが「1.0」である。このために、T150では、プリンタ10は、更新管理サーバ100から、URL「server200.com/M1/ver1.1」を含む応答を受信する。これにより、プリンタ10は、新しいFWの存在を知ることができる(S62でYES)。
図示省略しているが、プリンタ10は、T124において、所定指示を含むHTTP要求を送信するためのスクリプトをPC50に送信済みである。従って、PC50は、T130でトップページ300を表示した後に、T160において、当該スクリプトに従ったHTTP要求をプリンタ10に送信する。所定指示は、新たなトップページ310を要求するための指示である。
プリンタ10は、T160において、PC50からHTTP要求を受信すると、T162において、更新情報を含むトップページデータをPC50に送信する(S66)。これにより、T170において、トップページ300に代えてトップページ310がPC50に表示される。
ケースB2では、図4のケースA2と同様に、プリンタ10の現在のFWのバージョンが「1.1」である。このために、T180では、プリンタ10は、更新管理サーバ100から、新しいFWのURLを含まない応答を受信する。これにより、プリンタ10は、新しいFWが存在しないことを知ることができる(S62でNO)。この場合、プリンタ10は、T190において、PC50から所定指示を含むHTTP要求を受信しても、更新情報を含むトップページデータをPC50に送信しない。これにより、トップページ300がPC50に継続して表示される。
(プリンタ10がFWページの要求に応答する処理;図6)
続いて、図6を参照して、FWページが要求される際に、CPU32によって実行される処理のフローチャートを示す。図6の処理は、FWページのパスを含むHTTP要求が受信されることをトリガとして開始される。CPU32は、図4及び図5のトップページ300又は310に含まれるボタン305又は315が選択される場合に、PC50から、ネットワークI/F20又はUSBI/F22を介して、FWページのパスを含むHTTP要求を受信し、S100を実行する。以下では、当該HTTP要求が受信されたI/F20又は22のことを「対象インターフェース」と呼ぶ。
S100では、CPU32は、新しいFWが記憶サーバ200に記憶されているのか否かを判断する。上述したように、FWチェックの結果として新しいFWが記憶サーバ200に記憶されていることが確認されると、図3のS64において、VRAM44内の更新フラグがOFFからONに変更される。CPU32は、更新フラグがONを示す場合に、S100でYESと判断してS120に進み、更新フラグがOFFを示す場合に、S100でNOと判断してS110に進む。
S110では、CPU32は、対象I/Fを介して、更新ボタンを含まないFWページデータをPC50に送信する。FWページデータは、プリンタ10が提供可能なウェブページ群のうちのFWページを表わすデータであり、HTMLによって記述されている。ここでFWページデータがPC50に送信されると、更新ボタンを含まないFWページがPC50に表示される。S110が終了すると、図6の処理が終了する。
S120及びS140は、図3のS30及びS50と同様である。S120でYESの場合にはS122に進み、S140でYESの場合にはS142に進み、S140でNOの場合にはS122に進む。
S122では、CPU32は、対象I/Fを介して、更新ボタンを含むFWページデータと、図3のS64で記憶された新しいFWのURLと、FW更新用スクリプトのリンク情報と、をPC50に送信する(図2の(Y4)参照)。ここでFWページデータがPC50に送信されると、更新ボタンを含むFWページがPC50に表示される。リンク情報は、FW更新用スクリプトをPC50に送信するためのトリガの情報である。
S124では、CPU32は、PC50から、対象I/Fを介して、S122で送信されたリンク情報を受信する。この場合、S126では、CPU32は、対象I/Fを介して、FW更新用スクリプトをPC50に送信する(図2の(Y4)参照)。FW更新用スクリプトは、Javaスクリプトによって記述されている。FW更新用スクリプトは、ブラウザプログラム52によって解釈されることにより、(A)FWページ内の更新ボタンが選択されることに応じて、記憶サーバ200から新しいFWを受信すること(図2の(Y5)参照)、及び、(B)当該新しいFWをプリンタ10に送信すること((Y6)参照)、をPC50に実行させるための情報である。
S128では、CPU32は、PC50から、対象I/Fを介して、新しいFWを受信するのか否かを判断する。CPU32は、PC50から新しいFWを受信する場合(図2の(Y6)参照)に、S128でYESと判断してS130に進む。一方、CPU32は、PC50から新しいFWを受信しない場合、例えば、PC50から他のウェブページのパスを含むHTTP要求を受信する場合に、S128でNOと判断して図6の処理を終了する。
上述したように、対象I/FがネットワークI/F20であり、かつ、プリンタ10がインターネット通信を実行可能である場合には、S142が実行される。S142では、CPU32は、ネットワークI/F20を介して、更新ボタンを含むFWページデータをPC50に送信する。この結果、更新ボタンを含むFWページがPC50に表示される。
S144では、CPU32は、PC50から、ネットワークI/F20を介して、更新指示を受信するのか否かを判断する。更新指示は、FWページ内の更新ボタンが選択されると、PC50からプリンタ10に送信される指示である。CPU32は、PC50から更新指示を受信する場合に、S144でYESと判断してS146に進む。一方、CPU32は、PC50から更新指示を受信しない場合、例えば、PC50から他のウェブページのパスを含むHTTP要求を受信する場合に、S144でNOと判断して図6の処理を終了する。
S146では、CPU32は、ネットワークI/F20を介して、図3のS64で記憶された新しいFWのURLを含むHTTP要求を記憶サーバ200に送信する。これにより、S148では、CPU32は、ネットワークI/F20を介して、記憶サーバ200から新しいFWを受信する(図2の(X2)参照)。S148が終了すると、S130に進む。
S130では、CPU32は、NVNAM42内の現在のFWを、S128又はS148で受信された新しいFWに更新する。ここでの更新は、現在のFWを消去した後に新しいFWを書き込むことでもよいし、現在のFWを消去することなく新しいFWを上書きすることででもよい。
S132では、CPU32は、プリンタ10のリブートを実行する。即ち、CPU322は、プリンタ10の電源をOFFして再びONする。これにより、CPU32が新しいFWを利用した処理を適切に実行することができる。ここでプリンタ10の電源がOFFされるので、VRAM44内の記憶内容が消去され、この結果、チェックフラグ及び更新フラグがOFFに初期化される。S132が終了すると、図6の処理が終了する。
(具体的なケースC及びD;図7及び図8)
続いて、図7及び図8を参照して、図6の処理によって実現されるケースC及びDを説明する。図7のケースCは、図4のケースA1又はA2の続きのケースであり、図8のケースDは、図5のケースB1の続きのケースである。
(ケースC;図7)
ケースC1は、図4のケースA2の続きのケース、即ち、FWチェックにおいて新しいFWが存在しないと確認されたケースである。この場合、VRAM44内の更新フラグはOFFを示す。図3のS62でNOと判断され、S64が実行されなかったからである。
T200では、PC50は、図4のT20で表示されたトップページ300に含まれるボタン305を選択する操作をユーザから受け付ける。この場合、T210において、PC50は、ローカルループバックアドレス「localhost:54678」と、FWページのパス「fwpage」と、を含むHTTP要求をプリンタ10に送信する。
プリンタ10は、T210において、PC50からHTTP要求を受信すると(図6の処理のトリガ)、T212において、更新ボタンを含まないFWページデータをPC50に送信する(S100でNO、S110)。
PC50は、T212において、プリンタ10からFWページデータを受信すると、T220において、FWページ400を表示する。FWページ400は、プリンタ10のFWに関する情報を表示するためのページであり、モデル名「M1」を示す情報と、現在のFWのバージョンを示す情報と、新しいFWが存在しないことを示す情報と、を含む。これにより、ユーザは、現在のFWのバージョンを知ることができ、さらに、新しいFWが存在しないこと(即ちFWの更新が不要であること)を知ることができる。
一方、ケースC2は、図4のケースA1の続きのケース、即ち、FWチェックにおいて新しいFWが存在すると確認されたケースである。この場合、プリンタ10の更新フラグはONを示す。図3のS62でYESと判断され、S64が実行されたからである。
T240では、PC50は、図4のT60で表示されたトップページ310に含まれるボタン315を選択する操作をユーザから受け付ける。この場合、T250において、PC50は、上記のT210と同様に、HTTP要求をプリンタ10に送信する。
プリンタ10は、T250において、PC50からHTTP要求を受信すると(図6の処理のトリガ)、T252において、更新ボタンを含むFWページデータと、新しいFWのURL「server200.com/M1/ver1.1」と、リンク情報L2と、をPC50に送信する(S100でYES、S120でYES,S122)。
PC50は、T252において、プリンタ10からFWページデータ等を受信すると、T260において、FWページ410を表示する。FWページ410は、新しいFWが存在することを示す情報と更新ボタン415とを含む点において、FWページ400とは異なる。これにより、ユーザは、新しいFWが存在すること(即ちFWの更新が必要であること)を知ることができる。次いで、T270において、PC50は、リンク情報L2を含むHTTP要求をプリンタ10に送信する。
プリンタ10は、T270において、PC50からリンク情報L2を受信すると(S124)、T272において、FW更新用スクリプトSC2をPC50に送信する(S126)。
T280では、PC50は、FWページ410に含まれる更新ボタン415を選択する操作をユーザから受け付ける。この場合、PC50は、スクリプトSC2に従って、T290において、URL「server200.com/M1/ver1.1」(T252参照)を含むHTTP要求を記憶サーバ200に送信し、T292において、記憶サーバ200から、当該URLによって示される位置に記憶されているFW201を受信し、T294において、FW201をプリンタ10に送信する。
プリンタ10は、T294において、PC50からFW201を受信すると(S128でYES)、T296において、現在のFWをFW201に更新し(S130)、リブートを実行する(S132)。
(ケースD;図8)
続いて、図8を参照して、図5のケースB1の続きを説明する。T300では、PC50は、図5のT170で表示されたトップページ310に含まれるボタン315を選択する操作をユーザから受け付ける。この場合、T310において、PC50は、FWページのURL「printer.com/fwpage」を含むHTTP要求をプリンタ10に送信する。
プリンタ10は、T310において、PC50からHTTP要求を受信すると(図6の処理のトリガ)、T320において、URL「server200.com」を送信先として確認信号を記憶サーバ200に送信する(図6のS100でYES、S120でNO、S140)。本ケースでは、プリンタ10は、インターネット通信を実行可能であるので、T322において、記憶サーバ200から応答信号を受信する(S140でYES)。この場合、T330において、プリンタ10は、更新ボタンを含むFWページデータをPC50に送信する(S142)。これにより、T340において、FWページ410がPC50に表示される。
T350では、PC50は、FWページ410に含まれる更新ボタン415を選択する操作をユーザから受け付ける。この場合、T360において、PC50は、更新指示を含むHTTP要求をプリンタ10に送信する。
プリンタ10は、T360において、PC50からHTTP要求を受信すると(S144でYES)、T370において、新しいFWのURL「server200.com/M1/ver1.1」を含むHTTP要求を記憶サーバ200に送信し(S146)、T372において、記憶サーバ200から、当該URLによって示される位置に記憶されているFW201を受信する(S148)。そして、T374において、プリンタ10は、現在のFWをFW201に更新し(S130)、リブートを実行する(S132)。
(本実施例の効果)
上述したように、図4のケースA及び図7のケースCでは、プリンタ10は、FWチェック用スクリプトSC1をPC50に送信し(図4のT32)、さらに、新しいFWのURLとFW更新用スクリプトSC2とをPC50に送信する(図7のT252、T272)。この結果、プリンタ10は、FWチェックをPC50に実行させて(図4のT40、T50、T70)、PC50から結果情報を受信することができ(T52、T72)、さらに、記憶サーバ200からの新しいFWの受信と、プリンタ10への当該FWの送信と、をPC50に実行させることができる(図7のT290〜T294)。従って、プリンタ10は、FWを更新するために更新管理サーバ100及び記憶サーバ200と通信することなく、FWチェックの結果情報を適切に受信することができ、さらに、新しいFWを適切に受信することができる。
特に、プリンタ10は、PC50のブラウザプログラム52が解釈可能なJavaスクリプトで記述されたスクリプトSC1,SC2をPC50に送信する(図4のT32、図7のT272)。このために、PC50は、FWチェックと、記憶サーバ200からの新しいFWの受信と、プリンタ10への当該FWの送信と、を含む各処理を実行するための専用のアプリケーションを記憶していなくても、汎用的なブラウザプログラム52を利用して、上記の各処理を実行することができる。
また、スクリプトSC1は、更新管理サーバ100のURLを含む(図4のT32参照)。従って、ユーザが当該URLをPC50に入力しなくても、PC50は、スクリプトSC1に含まれる当該URLを利用して、FWチェックを実行することができる。また、プリンタ10は、新しいFWのURLをPC50に送信する(図7のT252)。従って、ユーザが当該URLをPC50に入力しなくても、PC50は、当該URLを利用して、記憶サーバ200から新しいFWを受信することができる。ユーザが更新管理サーバ100のURL及び新しいFWのURLをPC50に入力せずに済むので、ユーザの利便性が向上する。
また、PC50のユーザは、プリンタ10のウェブサーバにアクセスすることを望む際に、通常、トップページに最初にアクセスする。プリンタ10は、最初にアクセスされる可能性が高いトップページのパスを含むHTTP要求を受信する場合に、トップページデータと共にリンク情報L1をPC50に送信することによって(図4のT12)、トップページ300がPC50に表示されている間に、FWチェックをPC50に実行させる。このために、プリンタ10は、FWチェックをPC50に迅速に実行させることができる。特に、プリンタ10は、FWチェックの結果として新しいFWが存在することを知った場合(図4のケースA1参照)には、更新文字列「New」を含むトップページ310をPC50に表示させる。このような情報がトップページ310に表示されるので、新しいFWの存在をユーザに迅速に通知することができる。
また、図4のケースA及び図7のケースCでは、プリンタ10は、USB通信をPC50と実行可能である。このように、プリンタ10がUSB通信を利用してPC50からHTTP要求を受信する状況(図4のT10、図7のT250)では、プリンタ10がLAN4に接続されておらずインターネット通信を実行不可能である可能性が高い。プリンタ10がLAN4に接続されているのであれば、プリンタ10及びPC50がネットワーク通信を実行可能であるので、プリンタ10及びPC50をUSBケーブルで接続する必要がないからである。従って、プリンタ10は、USB通信を利用してPC50からHTTP要求を受信する場合には、FWチェック用スクリプトSC1、新しいFWのURL、及び、FW更新用スクリプトSC2をPC50に送信する(図4のT32、図7のT252、T272)。これにより、プリンタ10は、インターネット通信を実行不可能である状況でも、FWチェックの結果情報及び新しいFWを適切に受信することができる。
一方、図5のケースB及び図8のケースDでは、プリンタ10は、ネットワーク通信をPC50と実行可能である。プリンタ10は、ネットワーク通信を利用してPC50からHTTP要求を受信する場合(図5のT110、図8のT310)には、インターネット通信を実行可能であるのか否かを判断する(図5のT120、T122、図8のT320、T322)。そして、プリンタ10は、インターネット通信を実行可能であると判断する場合には、FWチェックを実行し(図5のT140)、さらに、記憶サーバ200から新しいFWを受信する(図8のT370、T372)。本ケースでは、FWチェックと、記憶サーバ200からの新しいFWの受信と、プリンタ10への当該FWの送信と、をPC50に実行させずに済むので、PC50の処理負荷が高くなるのを抑制することができる。
なお、上記のケースB及びDでは、プリンタ10がインターネット通信を実行可能である状況を想定している。これに代えて、プリンタ10がインターネット通信を実行不可能である状況(例えばインターネット通信を実行するための設定情報を記憶していない状況)では、プリンタ10は、図5のT120又は図8のT320で確認信号を送信しても応答信号を受信しない(図3のS50でNO、図6のS140でNO)。この結果、プリンタ10は、ネットワーク通信を利用して、図4のT12以降の処理及び図7のT252以降の処理を実行する(図3のS32〜S36、S38、S66、図6のS122〜S128)。この場合、上記のケースA及びCと同様の効果を奏することができる。
(対応関係)
プリンタ10、PC50、記憶サーバ200、更新管理サーバ100が、それぞれ、「通信装置」、「端末装置」、「第1のサーバ」、「第2のサーバ」の一例である。ネットワークI/F20、USBI/F22が、それぞれ、「第1の通信インターフェース」、「第2の通信インターフェース」の一例である。NVRAM42、現在のFW、新しいFW、新しいFWのURLが、それぞれ、「メモリ」、「設定データ」、「更新データ」、「記憶位置情報」の一例である。現在のFWのバージョン1.0.新しいFWのバージョン1.1が、それぞれ、「第1のバージョン」、「第2のバージョン」の一例である。FW更新用スクリプトSC2、FWチェック用スクリプトSC1が、それぞれ、「第1の処理情報」、「第2の処理情報」の一例である。図8のT370のHTTP要求が、「第1の要求」の一例である。図7のT210、T250、及び、図8のT310のHTTP要求が、「第2の要求」の一例である。
図6のS122(及びS126)、S128、S128を経たS130、S140、S146、S148、S148を経たS130、それぞれ、「第1の処理情報送信部」、「第1の更新データ受信部」、「第1の更新部」、「判断部」、「要求送信部」、「第2の更新データ受信部」、「第2の更新部」によって実行される処理の一例である。図7のT290(及びT292)、T294が、それぞれ、「更新データ受信処理」、「更新データ送信処理」の一例である。図3のS32(及びS36)、S38が、それぞれ、「第2の処理情報送信部」、「結果情報受信部」によって実行される処理の一例である。図4のT40、T50(又はT70)、T52(又はT72)が、それぞれ、「バージョン情報送信処理」、「結果情報受信処理」、「結果情報送信処理」の一例である。
(第2実施例)
本実施例では、図3のS36で送信されるFWチェック用スクリプトの内容が第1実施例とは異なる。具体的には、FWチェック用スクリプトは、ブラウザプログラム52によって解釈されることにより、(A)現在のFWのバージョンを示すバージョン情報を更新管理サーバ100に送信すること、(B)記憶サーバ200に記憶されている最新のFWのバージョンを示すバージョン情報を更新管理サーバ100から受信すること、(C)最新のFWのバージョンが現在のFWのバージョンよりも新しいのか否かを判断すること、及び、(D)当該判断の結果を示す結果情報をプリンタ10に送信すること、をPC50に実行させるための情報である。即ち、第1実施例では、更新管理サーバ100が新しいFWが存在するのか否かを判断したが、本実施例では、PC50が当該判断を実行する。他の処理は、第1実施例と同様である。
(具体的なケース;図9)
図9を参照して、本実施例の具体的なケースを説明する。図9のケースの初期状態は、図4のケースAの初期状態と同様である。T410〜T432は、図4のT10〜T32と同様である。
T440では、PC50は、FWチェック用スクリプトSC1に従って、当該スクリプト内のURL「server100.com」と、T412で受信されたモデル名「M1」と、を含むHTTP要求を更新管理サーバ100に送信する(図3のS36)。当該HTTP要求は、バージョン情報を含まない点において、図4のT40のHTTP要求とは異なる。そして、T442では、PC50は、更新管理サーバ100から、モデル名「M1」に対応付けられているバージョン情報「ver1.1」及びURL「server200.com/M1/ver1.1」を受信する。次いで、T450において、PC50は、T442で受信されたバージョン情報「ver1.1」が、T412で受信された現在のバージョン情報よりも新しいのか否かを判断する。
PC50は、バージョン情報「ver1.1」が現在のバージョン情報よりも新しいと判断する場合(T450でYES)には、T452において、T442で受信されたURLを示す結果情報を含むHTTP要求をプリンタ10に送信する。その後のT454及びT460は、図4のT54及びT60と同様である。
一方、PC50は、バージョン情報「ver1.1」が現在のバージョン情報よりも新しくないと判断する場合(T450でNO)には、T470において、新しいFWが存在しないことを示す結果情報を含むHTTP要求をプリンタ10に送信する。
本実施例でも、プリンタ10は、第1実施例と同様の効果を奏することができる。本実施例では、T442、T450、T452(又はT470)が、それぞれ、「バージョン情報受信処理」、「判断処理」、「結果情報送信処理」の一例である。
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
(変形例1)NVRAM42は、FWに代えて、例えば、カラープロファイルを記憶していてもよい。この場合、プリンタ10は、カラープロファイルを利用して画像データに対する色変換を実行して、印刷実行部16が解釈可能な印刷データを生成することができる。記憶サーバ200は、最新のカラープロファイルを記憶してもよい。そして、プリンタ10は、記憶サーバ200からの最新のカラープロファイルの受信と、プリンタ10への最新のカラープロファイルの送信と、をPC50に実行させるためのスクリプトをPC50に送信してもよい。この場合、プリンタ10は、NVRAM42内の現在のカラープロファイルを、PC50から受信された最新のカラープロファイルに更新することができる。本変形例では、カラープロファイルが、「設定データ」の一例である。また、別の変形例では、「設定データ」は、デフォルトの印刷設定(例えば、色数、印刷解像度、用紙サイズ等)を示すデフォルト印刷設定データであってもよい。
(変形例2)記憶サーバ200は、FWそのものを記憶する代わりに、FWを更新するためのプログラム(例えば現在のFWに含まれるある値を他の値に変更するための数式を示すプログラム)を記憶していてもよい。この場合、プリンタ10は、図6のS128又はS148で当該プログラムを受信する場合に、S130において、当該プログラムを利用してFWを更新する。本変形例では、当該プログラムが、「更新データ」の一例である。一般的に言うと、「第1(又は第2)の更新部」は、受信された更新データを利用して、設定データを更新すればよい。また、ここで、「受信された更新データを利用して」は、例えば、「受信された更新データを利用した通信を他の装置と実行することなく、受信された更新データを利用して」と表現されてもよい。
(変形例3)各スクリプトSC1,SC2は、ブラウザプログラム52が解釈可能なデータであれば、Javaスクリプトとは異なる種類のスクリプト(例えば、Actionスクリプト、VB(Visual Basicの略)スクリプト、XUL(XML User interface Languageの略)等)によって記述されたデータであってもよい。また、別の変形例では、プリンタ10は、ブラウザプログラム52が解釈可能な情報であって、スクリプトとは異なる種類の情報(例えばJavaアプレット)をPC50に送信してもよい。一般的に言うと、「第1(又は第2)の処理情報」は、ブラウザプログラムが解釈可能な情報であればよい。
(変形例4)更新管理サーバ100及び記憶サーバ200は、一体に構成されていてもよい。本変形例では、「第2のサーバ」は、「第1のサーバ」と同じサーバである。
(変形例5)プリンタ10は、図3のS32において、FWチェック用スクリプトのリンク情報をPC50に送信する代わりに、FWチェック用スクリプトそのものをPC50に送信してもよい。この場合、S34及びS36を省略可能である。また、プリンタ10は、図6のS122において、FW更新用スクリプトのリンク情報をPC50に送信する代わりに、FW更新用スクリプトそのものをPC50に送信してもよい。この場合、S124及びS126を省略可能である。特に、この場合、プリンタ10は、S122において、FW更新用スクリプトと新しいFWのURLとを別々の情報としてPC50に送信しなくてもよく、新しいFWのURLが記述されているFW更新用スクリプトをPC50に送信してもよい。一般的に言うと、「第1の処理情報送信部」は、少なくとも記憶位置情報と第1の処理情報とを端末装置に送信すればよい。
(変形例6)プリンタ10は、USBI/F22を備えていなくてもよい。この場合、図3のS30及び図6のS120を省略可能である。本変形例では、「第2の通信インターフェース」を省略可能である。
(変形例7)図3のS50及びS140において、プリンタ10は、確認信号をサーバ100又は200に送信する代わりに、インターネット通信を実行するための設定情報がメモリ34に記憶されているのか否かを判断し、当該設定情報が記憶されている場合にYESと判断し、当該設定情報が記憶されていない場合にNOと判断してもよい。一般的に言うと、「判断部」は、通信装置が第1のサーバと通信可能であるのか否かを判断すればよい。
(変形例8)プリンタ10がネットワーク通信を実行可能である状態では、プリンタ10がインターネット通信を実行可能であることを前提する場合には、図6のS140を省略可能である。即ち、プリンタ10は、S120でNOの場合に、S140を経ることなく、S142に進んでもよい。本変形例では、「判断部」を省略可能である。
(変形例9)プリンタ10がインターネット通信を実行可能である状況でも、S140〜S148が実行されずに、S122〜S132が実行されてもよい。即ち、プリンタ10は、S100でYESの場合に、S120及びS140を経ることなく、S122に進んでもよい。この場合、図6のS120、S140〜S148を省略可能である。本変形例では、「判断部」、「要求送信部」、「第2の更新データ受信部」、及び、「第2の更新部」を省略可能である。
(変形例10)プリンタ10は、ネットワークI/F20を備えていなくてもよい。この場合、図6のS120、S140〜S148を省略可能である。本変形例では、「第1の通信インターフェース」、「判断部」、「要求送信部」、「第2の更新データ受信部」、及び、「第2の更新部」を省略可能である。
(変形例11)第1の変形例では、「第2の通信インターフェース」は、USBI/F22に代えて、BlueTooth(登録商標)に従った通信を実行するためのI/Fであってもよい。上記の実施例及び第1の変形例では、「第1の通信インターフェース」、「第2の通信インターフェース」は、それぞれ、例えば、「TCP/IPに従った通信を実行可能なI/F」、「TCP/IPに従った通信を実行不可能なI/F」と表現されてもよい。第2の変形例では、「第1の通信インターフェース」は、アクセスポイントを介してPC50との無線通信を実行するための無線I/Fであってもよく、「第2の通信インターフェース」は、アクセスポイントを介さずにPC50との無線通信(例えばWi−Fi Direct又はSoftAPに従った無線通信)を実行するための無線I/Fであってもよい。第2の変形例では、2つの無線I/Fは、1つのチップ内に一体的に構成されていてもよく、この場合、第1の通信インターフェースに割り当てられているMACアドレスと、第2の通信インターフェースに割り当てられているMACアドレスと、が異なる。上記の実施例、第1の変形例、及び、第2の変形例では、「第1の通信インターフェース」、「第2の通信インターフェース」は、それぞれ、例えば、「インターネット通信を実行可能なI/F」、「インターネット通信を実行不可能なI/F」と表現されてもよい。
(変形例12)プリンタ10は、図3のS62でYESと判断する場合に、トップページ300又は310に含まれるボタン305又は315を選択する操作がユーザによって実行されなくても、図6の処理を自動的に実行してもよい。
(変形例13)トップページがPC50に表示されている間にFWチェックが実行されず、FWページがPC50に表示される際にFWチェックが実行されてもよい。この場合、プリンタ10は、トップページのパスを含むHTTP要求を受信する場合に、図3の処理に代えて、更新情報を含まないトップページデータをPC50に送信する。そして、プリンタ10は、FWページのパスを含むHTTP要求を受信する場合(図6の処理のトリガ)に、FWチェック用スクリプトをPC50に送信して(又はFWチェックを実行して)、新しいFWが存在することが確認できた場合に、S100でYESと判断する。
(変形例14)FWチェックが全く実行されなくてもよい。この場合、プリンタ10は、トップページのパスを含むHTTP要求を受信する場合に、図3の処理に代えて、更新情報を含まないトップページデータをPC50に送信する。そして、プリンタ10は、FWページのパスを含むHTTP要求を受信する場合(図6の処理のトリガ)に、S100を実行することなく、S120に進む。プリンタ10は、S128又はS148で受信されたFWが現在のFWよりも新しい場合に、S130及びS132を実行し、S128又はS148で受信されたFWが現在のFWよりも新しくない場合に、S130及びS132を実行しない。本変形例では、「第2の処理情報送信部」及び「結果情報受信部」を省略可能である。
(変形例15)「通信装置」は、プリンタ10でなくてもよく、スキャナ、ファクシミリ、PC、サーバ等の他の種類の装置であってもよい。
(変形例16)上記の実施例では、図2〜図9の各処理がソフトウェア(即ちROM40内の基本プログラム)によって実現されるが、これらの各処理のうちの少なくとも1つが論理回路等のハードウェアによって実現されてもよい。
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
2:通信システム、4:LAN、6:インターネット、10:プリンタ、12:操作部、14:表示部、16:印刷実行部、20:ネットワークインターフェース、22:USBインターフェース、30:制御部、32:CPU、34:メモリ、40:ROM、42:NVRAM、44:VRAM、50:PC、52:ブラウザプログラム、100:更新管理サーバ、200:記憶サーバ、300,310:トップページ、400,410:更新ページ、SC1:FWチェック用スクリプト、SC2:FW更新用スクリプト

Claims (11)

  1. 通信装置であって、
    設定データを記憶するメモリと、
    前記設定データを更新するための更新データであって、第1のサーバに記憶されている前記更新データの記憶位置を示す記憶位置情報と、端末装置のブラウザプログラムが解釈可能な第1の処理情報と、を前記端末装置に送信する第1の処理情報送信部であって、
    前記第1の処理情報は、前記ブラウザプログラムによって解釈されることにより、
    前記記憶位置情報を利用して、前記第1のサーバから前記更新データを受信する更新データ受信処理と、
    前記第1のサーバから受信された前記更新データを前記通信装置に送信する更新データ送信処理と、
    を含む第1の処理群を前記端末装置に実行させるための情報である、前記第1の処理情報送信部と、
    前記記憶位置情報と前記第1の処理情報とを前記端末装置に送信することに応じて、前記端末装置から前記更新データを受信する第1の更新データ受信部と、
    前記端末装置から受信された前記更新データを利用して、前記メモリに記憶されている前記設定データを更新する第1の更新部と、
    を備える通信装置。
  2. 前記通信装置は、さらに、
    前記通信装置が前記第1のサーバと通信可能であるのか否かを判断する判断部と、
    前記通信装置が前記第1のサーバと通信可能であると判断される場合に、前記記憶位置情報を含む第1の要求を前記第1のサーバに送信する要求送信部と、
    前記第1の要求を前記第1のサーバに送信することに応じて、前記第1のサーバから前記更新データを受信する第2の更新データ受信部と、
    前記第1のサーバから受信された前記更新データを利用して、前記メモリに記憶されている前記設定データを更新する第2の更新部と、を備え、
    前記第1の処理情報送信部は、前記通信装置が前記第1のサーバと通信可能でないと判断される場合に、前記記憶位置情報と前記第1の処理情報とを前記端末装置に送信する、
    請求項1に記載の通信装置。
  3. 前記通信装置は、さらに、
    第1の通信インターフェースと、
    前記第1の通信インターフェースとは異なる第2の通信インターフェースと、を備え、
    前記通信装置は、さらに、
    前記第1の通信インターフェースを介して、前記端末装置から第2の要求が受信される場合に、前記第1の通信インターフェースを介して、前記記憶位置情報を含む第1の要求を前記第1のサーバに送信する要求送信部と、
    前記第1の要求を前記第1のサーバに送信することに応じて、前記第1の通信インターフェースを介して、前記第1のサーバから前記更新データを受信する第2の更新データ受信部と、
    前記第1の通信インターフェースを介して前記第1のサーバから受信された前記更新データを利用して、前記メモリに記憶されている前記設定データを更新する第2の更新部と
    、を備え、
    前記第2の通信インターフェースを介して、前記端末装置から前記第2の要求が受信される場合に、
    前記第1の処理情報送信部は、前記第2の通信インターフェースを介して、前記記憶位置情報と前記第1の処理情報とを前記端末装置に送信し、
    前記第1の更新データ受信部は、前記第2の通信インターフェースを介して、前記端末装置から前記更新データを受信し、
    前記第1の更新部は、前記第2の通信インターフェースを介して前記端末装置から受信された前記更新データを利用して、前記メモリに記憶されている前記設定データを更新する、請求項1に記載の通信装置。
  4. 前記通信装置は、さらに、
    前記第1の通信インターフェースを介して、前記端末装置から前記第2の要求が受信される場合に、前記通信装置が前記第1のサーバと通信可能であるのか否かを判断する判断部を備え、
    前記第1の通信インターフェースを介して、前記端末装置から前記第2の要求が受信され、かつ、前記通信装置が前記第1のサーバと通信可能であると判断される場合に、
    前記要求送信部は、前記第1の通信インターフェースを介して、前記記憶位置情報を含む前記第1の要求を前記第1のサーバに送信し、
    前記第2の更新データ受信部は、前記第1の通信インターフェースを介して、前記第1のサーバから前記更新データを受信し、
    前記第2の更新部は、前記第1の通信インターフェースを介して前記第1のサーバから受信された前記更新データを利用して、前記メモリに記憶されている前記設定データを更新し、
    前記第1の通信インターフェースを介して、前記端末装置から前記第2の要求が受信され、かつ、前記通信装置が前記第1のサーバと通信可能でないと判断される場合に、
    前記第1の処理情報送信部は、前記第1の通信インターフェースを介して、前記記憶位置情報と前記第1の処理情報とを前記端末装置に送信し、
    前記第1の更新データ受信部は、前記第1の通信インターフェースを介して、前記端末装置から前記更新データを受信し、
    前記第1の更新部は、前記第1の通信インターフェースを介して前記端末装置から受信された前記更新データを利用して、前記メモリに記憶されている前記設定データを更新する、請求項3に記載の通信装置。
  5. 前記第1の通信インターフェースは、TCP/IPに従った通信を実行するためのインターフェースであり、
    前記第2の通信インターフェースは、USB(Universal Serial Busの略)インターフェースである、請求項3又は4に記載の通信装置。
  6. 前記設定データは、第1のバージョンのプログラムであり、
    前記通信装置は、さらに、
    前記第1のバージョンを示す第1のバージョン情報と、前記ブラウザプログラムが解釈可能な第2の処理情報と、を前記端末装置に送信する第2の処理情報送信部であって、
    前記第2の処理情報は、前記ブラウザプログラムによって解釈されることにより、
    前記第1のバージョン情報を第2のサーバに送信するバージョン情報送信処理であって、前記第2のサーバは、前記プログラムの最新バージョンである第2のバージョンを示す第2のバージョン情報を記憶しており、前記第2のバージョン情報によって示される前記第2のバージョンが、前記第1のバージョン情報によって示される前記第1のバージョンよりも新しいのか否かを判断する、前記バージョン情報送信処理と、
    前記第1のバージョン情報を前記第2のサーバに送信することに応じて、前記第2のサーバから、前記判断の結果を示す結果情報を受信する結果情報受信処理と、
    前記結果情報を前記通信装置に送信する結果情報送信処理と、
    を含む第2の処理群を前記端末装置に実行させるための情報である、前記第2の処理情報送信部と、
    前記第1のバージョン情報と前記第2の処理情報とを前記端末装置に送信することに応じて、前記端末装置から前記結果情報を受信する結果情報受信部と、
    前記結果情報が、前記第2のバージョンが前記第1のバージョンよりも新しいことを示す場合に、
    前記第1の処理情報送信部は、前記記憶位置情報と前記第1の処理情報とを前記端末装置に送信し、
    前記第1の更新データ受信部は、前記端末装置から、前記第1のバージョンの前記プログラムを前記第2のバージョンのプログラムに更新するための前記更新データを受信し、
    前記第1の更新部は、前記端末装置から受信された前記更新データを利用して、前記メモリに記憶されている前記第1のバージョンの前記プログラムを前記第2のバージョンの前記プログラムに更新し、
    前記結果情報が、前記第2のバージョンが前記第1のバージョンよりも新しくないこと
    を示す場合に、
    前記第1の処理情報送信部は、前記記憶位置情報と前記第1の処理情報とを前記端末装置に送信しない、請求項1から5のいずれか一項に記載の通信装置。
  7. 前記設定データは、第1のバージョンのプログラムであり、
    前記通信装置は、さらに、
    前記第1のバージョンを示す第1のバージョン情報と、前記ブラウザプログラムが解釈可能な第2の処理情報と、を前記端末装置に送信する第2の処理情報送信部であって、
    前記第2の処理情報は、前記ブラウザプログラムによって解釈されることにより、
    第2のサーバから、前記プログラムの最新バージョンである第2のバージョンを示す第2のバージョン情報を受信するバージョン情報受信処理と、
    前記第2のバージョン情報によって示される前記第2のバージョンが、前記第1のバージョン情報によって示される前記第1のバージョンよりも新しいのか否かを判断する判断処理と、
    前記判断の結果を示す結果情報を前記通信装置に送信する結果情報送信処理と、
    を含む第2の処理群を前記端末装置に実行させるための情報である、前記第2の処理
    情報送信部と、
    前記第1のバージョン情報と前記第2の処理情報とを前記端末装置に送信することに応じて、前記端末装置から前記結果情報を受信する結果情報受信部と、
    前記結果情報が、前記第2のバージョンが前記第1のバージョンよりも新しいことを示す場合に、
    前記第1の処理情報送信部は、前記記憶位置情報と前記第1の処理情報とを前記端末装置に送信し、
    前記第1の更新データ受信部は、前記端末装置から、前記第1のバージョンのプログラムを前記第2のバージョンのプログラムに更新するための前記更新データを受信し、
    前記第1の更新部は、前記端末装置から受信された前記更新データを利用して、前記メモリに記憶されている前記第1のバージョンの前記プログラムを前記第2のバージョンの前記プログラムに更新し、
    前記結果情報が、前記第2のバージョンが前記第1のバージョンよりも新しくないことを示す場合に、
    前記第1の処理情報送信部は、前記記憶位置情報と前記第1の処理情報とを前記端末装置に送信しない、請求項1から5のいずれか一項に記載の通信装置。
  8. 前記プログラムは、ファームウェアである、請求項6又は7に記載の通信装置。
  9. 前記第2の処理情報送信部は、前記通信装置が提供可能なウェブページ群のうちのトップページを表わすトップページデータと、前記第1のバージョン情報と、前記第2の処理情報と、を前記端末装置に送信し、
    前記第2の処理情報は、前記トップページデータによって表わされる前記トップページが前記端末装置に表示されている間に、前記第2の処理群を前記端末装置に実行させるための情報であり、
    前記第1の処理情報送信部は、前記結果情報が、前記第2のバージョンが前記第1のバージョンよりも新しいことを示す場合に、前記ウェブページ群のうちの更新ページを表わす更新ページデータと、前記記憶位置情報と、前記第1の処理情報と、を前記端末装置に送信し、
    前記更新ページは、前記第1のバージョンの前記プログラムを前記第2のバージョンの前記プログラムに更新するための更新ボタンを含み、
    前記第1の処理情報は、前記更新ページに含まれる前記更新ボタンが操作される場合に、前記第1の処理群を前記端末装置に実行させるための情報である、請求項6から8のいずれか一項に記載の通信装置。
  10. 前記第1の処理情報は、前記ブラウザプログラムが解釈可能なスプリクトで記述されている、請求項1から9のいずれか一項に記載の通信装置。
  11. 設定データを記憶するメモリを備える通信装置のためのコンピュータプログラムであって、
    前記通信装置のコンピュータを、
    前記設定データを更新するための更新データであって、第1のサーバに記憶されている前記更新データの記憶位置を示す記憶位置情報と、端末装置のブラウザプログラムが解釈可能な第1の処理情報と、を前記端末装置に送信する第1の処理情報送信部であって、
    前記第1の処理情報は、前記ブラウザプログラムによって解釈されることにより、
    前記記憶位置情報を利用して、前記第1のサーバから前記更新データを受信する更新データ受信処理と、
    前記第1のサーバから受信された前記更新データを前記通信装置に送信する更新データ送信処理と、
    を含む第1の処理群を前記端末装置に実行させるための情報である、前記第1の処理情報送信部と、
    前記記憶位置情報と前記第1の処理情報とを前記端末装置に送信することに応じて、前記端末装置から前記更新データを受信する第1の更新データ受信部と、
    前記端末装置から受信された前記更新データを利用して、前記メモリに記憶されている前記設定データを更新する第1の更新部と、
    として機能させるコンピュータプログラム。
JP2017212504A 2017-11-02 2017-11-02 通信装置 Active JP6881241B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017212504A JP6881241B2 (ja) 2017-11-02 2017-11-02 通信装置
US16/177,523 US11132151B2 (en) 2017-11-02 2018-11-01 Communication device and non-transitory computer-readable medium for communication device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017212504A JP6881241B2 (ja) 2017-11-02 2017-11-02 通信装置

Publications (2)

Publication Number Publication Date
JP2019086874A JP2019086874A (ja) 2019-06-06
JP6881241B2 true JP6881241B2 (ja) 2021-06-02

Family

ID=66243177

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017212504A Active JP6881241B2 (ja) 2017-11-02 2017-11-02 通信装置

Country Status (2)

Country Link
US (1) US11132151B2 (ja)
JP (1) JP6881241B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6868038B2 (ja) * 2016-04-21 2021-05-12 シグニファイ ホールディング ビー ヴィSignify Holding B.V. 物理的環境を監視及び制御するためのクラウドベースのシステムにおけるシステムデバイスを更新するためのシステム及び方法
JP6557760B1 (ja) * 2018-06-19 2019-08-07 Jig−Saw株式会社 機器の制御方法、制御装置及びシステム
JP7336220B2 (ja) * 2019-03-15 2023-08-31 キヤノン株式会社 情報処理システム、およびその制御方法
KR20220002938A (ko) 2019-04-26 2022-01-07 스미토모 겐키 가부시키가이샤 쇼벨

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11282687A (ja) 1998-03-31 1999-10-15 Hitachi Ltd プログラム自動改版方法
KR100618321B1 (ko) * 2004-11-20 2006-08-31 삼성전자주식회사 이동 단말기를 이용한 화상형성장치의 펌웨어 업그레이드방법
US20070245333A1 (en) * 2006-03-27 2007-10-18 Ferlitsch Andrew R Methods and Systems for Managing Firmware
US20080079286A1 (en) * 2006-09-29 2008-04-03 Sharp Laboratories Of America, Inc. Systems and methods for remotely configuring a remote interface to an imaging device
JP4811486B2 (ja) 2009-03-26 2011-11-09 ブラザー工業株式会社 プログラム、情報処理システムおよび情報処理装置
JP5839650B2 (ja) * 2010-11-19 2016-01-06 ブラザー工業株式会社 印刷装置及び端末装置
JP2013168129A (ja) * 2012-01-18 2013-08-29 Ricoh Co Ltd 情報処理システム、データ提供装置、電子機器、情報処理方法、データ提供方法、データ取得方法、及びプログラム
JP5995602B2 (ja) 2012-08-10 2016-09-21 キヤノン株式会社 画像処理装置、情報処理方法及びプログラム
JP5783161B2 (ja) * 2012-11-28 2015-09-24 コニカミノルタ株式会社 画像形成装置、画像形成システムおよびプログラム
CN105103115B (zh) * 2013-03-29 2019-01-18 精工爱普生株式会社 打印控制装置、打印装置、数据处理方法以及打印控制装置的设定方法
US9830141B2 (en) * 2013-12-23 2017-11-28 Google Llc Providing a software update to computing devices on the same network
JP5939264B2 (ja) * 2014-02-06 2016-06-22 コニカミノルタ株式会社 操作処理装置、情報機器の制御方法およびコンピュータープログラム

Also Published As

Publication number Publication date
US20190129658A1 (en) 2019-05-02
US11132151B2 (en) 2021-09-28
JP2019086874A (ja) 2019-06-06

Similar Documents

Publication Publication Date Title
JP6881241B2 (ja) 通信装置
US9377972B2 (en) Host device, management server, and method of solving error of image forming appartus
US8099486B2 (en) Communication system
JP5434435B2 (ja) インターネットに接続される端末装置
US20140298310A1 (en) Information processing apparatus, firmware renewing method, and computer program
JP2004535618A (ja) プリント・サーバを使用してネットワーク経由で印刷するためのシステムと方法
US20140347696A1 (en) Printer Having Web Server Function
JP7275760B2 (ja) 画像処理システム
JP2008158785A (ja) デバイスの接続方法、情報処理装置、及びデバイス接続用プログラム
CN108696566B (zh) web服务器
US11079980B2 (en) Storage medium storing image processing program and information processing apparatus to install driver associated with user and image processing device identifications
JP2019205059A (ja) 画像処理装置、及び、画像処理装置のためのコンピュータプログラム
JP2007287162A (ja) 情報処理装置、ドライバ処理方法、プログラム
US20130159837A1 (en) Information processing apparatus, method therefor, and computer-readable storage medium
KR101651284B1 (ko) 화상형성장치와 연결되는 호스트장치 및 그 드라이버 설치방법
JP7452198B2 (ja) 機能実行装置、及び、機能実行装置のためのコンピュータプログラム
JP2019036801A (ja) 画像処理装置
JP7172560B2 (ja) 情報処理装置、及び、情報処理装置のためのコンピュータプログラム
JP6965786B2 (ja) 通信装置
JP6123109B2 (ja) 画像形成装置
JP6973056B2 (ja) 通信装置のためのコンピュータプログラムと通信装置
JP4743248B2 (ja) ウェブサーバ機能を有するプリンタ
JP2018163570A (ja) プログラム及び情報処理端末
JP2023073850A (ja) 端末装置のための第1のコンピュータプログラム、端末装置によって実行される方法、及び、端末装置
JP6677046B2 (ja) 端末装置のためのコンピュータプログラム、及び、端末装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200317

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210202

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210329

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210406

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210419

R150 Certificate of patent or registration of utility model

Ref document number: 6881241

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150