JP6747223B2 - サーバー、及び、サーバーの制御方法 - Google Patents
サーバー、及び、サーバーの制御方法 Download PDFInfo
- Publication number
- JP6747223B2 JP6747223B2 JP2016191721A JP2016191721A JP6747223B2 JP 6747223 B2 JP6747223 B2 JP 6747223B2 JP 2016191721 A JP2016191721 A JP 2016191721A JP 2016191721 A JP2016191721 A JP 2016191721A JP 6747223 B2 JP6747223 B2 JP 6747223B2
- Authority
- JP
- Japan
- Prior art keywords
- server
- firmware
- printing device
- information
- printing
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B41—PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
- B41J—TYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
- B41J29/00—Details of, or accessories for, typewriters or selective printing mechanisms not otherwise provided for
- B41J29/38—Drives, motors, controls or automatic cut-off devices for the entire printing mechanism
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/1203—Improving or facilitating administration, e.g. print management
- G06F3/1204—Improving or facilitating administration, e.g. print management resulting in reduced user or operator actions, e.g. presetting, automatic actions, using hardware token storing data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1224—Client or server resources management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1229—Printer resources management or printer maintenance, e.g. device status, power levels
- G06F3/123—Software or firmware update, e.g. device firmware management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1229—Printer resources management or printer maintenance, e.g. device status, power levels
- G06F3/1231—Device related settings, e.g. IP address, Name, Identification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1278—Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
- G06F3/1285—Remote printer device, e.g. being remote from client or server
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1278—Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
- G06F3/1285—Remote printer device, e.g. being remote from client or server
- G06F3/1287—Remote printer device, e.g. being remote from client or server via internet
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1293—Printer information exchange with computer
- G06F3/1294—Status or feedback related to information exchange
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
Description
本発明は、上述した事情に鑑みてなされたものであり、印刷装置と通信してファームウェアの書き換え用ファームウェアを印刷装置に送信するサーバー、及び、当該サーバーを含むネットワークシステムについて、印刷装置と通信することを踏まえた適切な方法で、書き換え用ファームウェアを印刷装置に送信できるようにすることを目的とする。
本発明の構成によれば、サーバーは、所定の条件を満たさない場合に、印刷装置が新ファームウェアのファイルデータの格納場所を指定するアドレスを取得することを防止でき、また、印刷装置のファームウェアの書換えの可否や、書換えに係る処理を実行するタイミングを制御できる。すなわち、本実施形態によれば、印刷装置と通信してファームウェアの書き換え用ファームウェアを印刷装置に送信するサーバーについて、印刷装置と通信することを踏まえた適切な方法で、書き換え用ファームウェアを印刷装置に送信できる。
本発明の構成によれば、サーバーは、印刷装置の機種、及び、ファームウェアのバージョンを踏まえて、印刷装置におけるファームウェアの書換えが必要か否かを適切に判別することができる。
本発明の構成によれば、サーバーは、印刷装置の識別情報を利用して、印刷装置の固有の事情を踏まえて、印刷装置におけるファームウェアの書換えが必要か否かを適切に判別することができる。
本発明の構成によれば、サーバーは、印刷装置がファームウェアを書換え可能な時間帯に、当該書換えに係る処理を実行させることができる。
本発明の構成によれば、サーバーは、印刷装置が印刷を実行しない時間帯に、当該書換えに係る処理を実行させることができる。
本発明の構成によれば、サーバーが、第1のサーバー、第2のサーバー、及び、第3のサーバーを含んで構成されることを踏まえて、各サーバーに機能が割り振られることにより、各サーバーの負荷を分散できると共に、各サーバーが記憶するデータのデータ量を低減できる。
本発明の構成によれば、サーバーは、第1のサーバーが生成したパスワードに基づいて、印刷装置を認証できる。
本発明の構成によれば、ランダムなアドレスを受信した正当な印刷装置以外の装置が、第3のサーバーにアクセスして、書換え用ファームウェアを取得することを防止できる。
本発明の構成によれば、サーバーは、所定の条件を満たさない場合に、印刷装置が新ファームウェアのファイルデータの格納場所を指定するアドレスを取得することを防止でき、また、印刷装置のファームウェアの書換えの可否や、書換えに係る処理を実行するタイミングを制御できる。すなわち、本実施形態によれば、印刷装置と通信してファームウェアの書き換え用ファームウェアを印刷装置に送信するサーバーについて、印刷装置と通信することを踏まえた適切な方法で、書き換え用ファームウェアを印刷装置に送信できる。
本発明の構成によれば、ネットワークシステムにおいて、サーバーは、所定の条件を満たさない場合に、印刷装置が新ファームウェアのファイルデータの格納場所を指定するアドレスを取得することを防止でき、また、印刷装置のファームウェアの書換えの可否や、書換えに係る処理を実行するタイミングを制御できる。すなわち、本実施形態によれば、印刷装置と通信してファームウェアの書き換え用ファームウェアを印刷装置に送信するサーバーを含むネットワークシステムについて、印刷装置と通信することを踏まえた適切な方法で、書き換え用ファームウェアを印刷装置に送信できる。
図1は、本実施形態に係るネットワークシステム1の構成を示す図である。
図1に示すように、ネットワークシステム1は、サーバーユニット2(サーバー)と、複数の店舗システム3とを備える。サーバーユニット2は、印刷装置制御サーバー2a(第1のサーバー)と、管理サーバー2b(第2のサーバー)と、ファイル提供サーバー2c(第3のサーバー)とを含んで構成される。ネットワークシステム1において、サーバーユニット2と、店舗システム3のそれぞれとは、インターネット、その他のネットワークを含んで構成されたグローバルネットワークGNを介して通信可能に接続される。
印刷装置制御サーバー2a、管理サーバー2b、及びファイル提供サーバー2cの構成、及び機能については後述する。
なお、図1では、印刷装置制御サーバー2a、管理サーバー2b、及びファイル提供サーバー2cを、それぞれ、1つのブロックによって表現するが、これは、これらサーバーが、それぞれ、単一のサーバー装置により構成されることを意味するものではない。例えば、印刷装置制御サーバー2aは、複数のサーバー装置を含んで構成されたものでもよい。
図1に示すように、店舗システム3は、ローカルネットワークLNを備える。ローカルネットワークLNには、1又は複数の印刷装置10と、各印刷装置10に対応する1又は複数のホストコンピューター11と、通信装置12とが接続される。
通信装置12は、ローカルネットワークLNと、グローバルネットワークGNとを接続するインターフェース装置である。通信装置12は、モデム(又は、ONU(Optical Network Unit))としての機能、ルーター機能、NAT(Network Address Translation)機能、及び、DHCP(Dynamic Host Configuration Protocol)サーバー機能等を有する。通信装置12は、ローカルネットワークLNに接続された機器と、グローバルネットワークGNに接続された機器との間で行われる通信に際し、機器間で送受信されるデータを転送する。なお、図1では、通信装置12を1つのブロックで表現するが、通信装置12は、機能に応じた複数の装置を有する構成でもよい。
印刷装置10は、グローバルネットワークGNにアクセスし、グローバルネットワークGNに接続された機器(印刷装置制御サーバー2a、管理サーバー2b、及びファイル提供サーバー2cを含む。)と通信する機能を有する。印刷装置10とサーバーユニット2との間では、VPN(Virtual Private Network)等の、暗号化に係る技術や、仮想専用線(物理的な専用線であってもよい。)に係る技術によりセキュアな通信が行われる。
印刷装置10の構成、及び機能については後述する。
印刷装置10は、ロール紙(印刷媒体)を収容すると共に、収容したロール紙を搬送し、収容したロール紙に画像を印刷し、ロール紙を切断する機能を有する装置である。印刷装置10の印刷方式は、サーマル方式や、インクジェット方式等、何でもよい。
図2に示すように、印刷装置10は、印刷装置制御部20と、印刷装置記憶部21と、印刷部22と、印刷装置ネットワーク通信部23(印刷装置通信部)と、印刷装置デバイス通信部24とを備える。
印刷装置記憶部21は、不揮発性メモリーを備え、第1ファームウェア21a、第2ファームウェア21b、その他のデータを記憶する。
第1ファームウェア21aは、後述する印刷部22を制御して印刷を行う機能、及び、後述する印刷装置デバイス通信部24を制御してホストコンピューター11との間で通信を行う機能を少なくとも有するファームウェアである。印刷装置制御部20は、第1プロセッサー201aにより、第1ファームウェア21aを読み出して実行し、第1ファームウェア21aの機能により、印刷部22、及び、印刷装置デバイス通信部24を制御する。
第2ファームウェア21bは、後述する印刷装置ネットワーク通信部23を制御して、グローバルネットワークGNと接続する機器と通信を行う機能を少なくとも有するファームウェアである。印刷装置制御部20は、第2プロセッサー201bにより、第2ファームウェア21bを読み出して実行し、第2ファームウェア21bの機能により、印刷装置ネットワーク通信部23を制御する。
図3に示すように、印刷装置制御サーバー2aは、第1サーバー制御部30と、第1サーバー通信部31と、第1サーバー記憶部32とを備える。
第1サーバー制御部30は、CPUや、ROM、RAM、ASIC、信号処理回路等を備え、印刷装置制御サーバー2aの各部を制御する。
第1サーバー通信部31は、第1サーバー制御部30の制御で、所定の通信規格に従って、グローバルネットワークGNと接続する機器と通信する。
第1サーバー記憶部32は、不揮発性メモリーを備え、各種データを記憶する。第1サーバー記憶部32が記憶するデータについては後述する。
第2サーバー制御部40は、CPUや、ROM、RAM、ASIC、信号処理回路等を備え、管理サーバー2bの各部を制御する。
第2サーバー通信部41は、第2サーバー制御部40の制御で、所定の通信規格に従って、グローバルネットワークGNと接続する機器と通信する。
第2サーバー記憶部42は、不揮発性メモリーを備え、各種データを記憶する。第2サーバー記憶部42が記憶するデータについては後述する。
第3サーバー制御部50は、CPUや、ROM、RAM、ASIC、信号処理回路等を備え、ファイル提供サーバー2cの各部を制御する。
第3サーバー通信部51は、第3サーバー制御部50の制御で、所定の通信規格に従って、グローバルネットワークGNと接続する機器と通信する。
第3サーバー記憶部52は、不揮発性メモリーを備え、各種データを記憶する。第3サーバー記憶部52が記憶するデータについては後述する。
図4は、印刷装置10の電源がオンされた後の、印刷装置10、印刷装置制御サーバー2a、及び管理サーバー2bの動作を示すフローチャートである。図4のフローチャートFAは印刷装置10の動作を示し、フローチャートFBは印刷装置制御サーバー2aの動作を示し、フローチャートFCは管理サーバー2bの動作を示す。
例えば、印刷装置10は、印刷装置10が設けられた店舗において、店舗の開店前の所定のタイミングで、ユーザーにより電源がオンされる。
次いで、印刷装置制御部20は、印刷装置ネットワーク通信部23を制御して、第1サーバーアクセス用アドレス情報J1に基づいてWebSocketに従って印刷装置制御サーバー2aにアクセスし、印刷装置制御サーバー2aとの間でWebSocketコネクションを確立する(ステップSA2)。
ステップSA2でWebSocketコネクションを確立した後、印刷装置10と、印刷装置制御サーバー2aとは、WebSocketコネクションを介して、非同期で双方向通信(WebSocket通信)する。
このように、印刷装置10は、電源のオン時に、印刷装置制御サーバー2aにアクセスして、当該サーバーとの間でWebSocketコネクションを確立し、当該サーバーとの間で非同期で双方向通信できる状態を確立する。
なお、詳細な説明は省略するが、WebSocketコネクションの確立に際し、既存の技術により、印刷装置制御サーバー2aによる印刷装置10の認証、及び、印刷装置10による印刷装置制御サーバー2aの認証が適切に行われる。
また、本実施形態では、印刷装置10と、印刷装置制御サーバー2aとの間での通信に使用する通信規格は、WebSocketであるが、これは一例であり、他の通信規格を使用してもよい。
起動時印刷装置情報J2は、印刷装置識別情報J3と、起動通知情報J4とを少なくとも含む情報である。
印刷装置識別情報J3は、印刷装置10を一意に識別する識別情報であり、印刷装置10ごとに異なる値の印刷装置識別情報J3が割り振られる。印刷装置識別情報J3として、印刷装置10の製造段階で、印刷装置10に割り振られるシリアル番号を用いることができる。印刷装置識別情報J3は、印刷装置10に事前に登録され、印刷装置記憶部21の所定の記憶領域に記憶される。起動通知情報J4は、印刷装置10の電源がオンされ、印刷装置10が起動したことを通知する情報である。
次いで、第1サーバー制御部30は、第2サーバーアクセス用パスワード情報J5を生成する(ステップSB2)。
第2サーバーアクセス用パスワード情報J5は、印刷装置10が、管理サーバー2bにアクセスする際に使用するパスワードを示す情報である。後述するように、印刷装置10は、管理サーバー2bにアクセスする際、第2サーバーアクセス用パスワード情報J5を管理サーバー2bに通知する。管理サーバー2bは、第2サーバーアクセス用パスワード情報J5に基づいてアクセス元の印刷装置10を認証する。
第2サーバーアクセス用パスワード情報J5の値は、固定値ではなく、生成する度に値が変わる可変値とされる。ステップSB2において、第1サーバー制御部30は、所定のアルゴリズムにより、第2サーバーアクセス用パスワード情報J5を生成する。
印刷装置認証情報J6は、印刷装置識別情報J3、及び、第2サーバーアクセス用パスワード情報J5を少なくとも含む情報である。
次いで、第1サーバー制御部30は、第1サーバー通信部31を制御して、ステップSB3で生成した印刷装置認証情報J6を、管理サーバー2bに送信する(ステップSB4)。
次いで、第2サーバー制御部40は、第2サーバー記憶部42が記憶する印刷装置認証情報管理データベースDB2aにおいて、対応するレコードの内容を更新する(ステップSC2)。
印刷装置認証情報管理データベースDB2aは、印刷装置10ごとにレコードを有するデータベースである。印刷装置認証情報管理データベースDB2aの各レコードは、印刷装置識別情報J3と、第2サーバーアクセス用パスワード情報J5とを有する。
ステップSC2において、第2サーバー制御部40は、印刷装置認証情報管理データベースDB2aのレコードのうち、受信した印刷装置認証情報J6に含まれる印刷装置識別情報J3の値と同一の値の印刷装置識別情報J3を有するレコードを特定する。ここで特定されたレコードが「対応するレコード」に相当する。次いで、第2サーバー制御部40は、特定したレコードが有する第2サーバーアクセス用パスワード情報J5の値を、受信した印刷装置認証情報J6に含まれる第2サーバーアクセス用パスワード情報J5の値によって更新する。
第2サーバーアクセス関連情報J7は、第2サーバーアクセス用パスワード情報J5と、第2サーバーアクセス用アドレス情報J8とを少なくとも含む情報である。
第2サーバーアクセス用アドレス情報J8は、管理サーバー2bのアドレスを示す情報である。
第2サーバーアクセス用アドレス情報J8は、印刷装置制御サーバー2aに事前に登録され、第1サーバー記憶部32の所定の記憶領域に記憶される。
また、管理サーバー2bが、アドレスが相互に異なる複数のサーバー装置を含んで構成される場合、第1サーバー制御部30は、ステップSB5で以下の処理を実行する。すなわち、印刷装置制御サーバー2aには、管理サーバー2bを構成する複数のサーバー装置のそれぞれの第2サーバーアクセス用アドレス情報J8が事前に登録され、第1サーバー記憶部32の所定の記憶領域に記憶される。そして、ステップSB5において、第1サーバー制御部30は、特定の管理サーバー2bへのアクセスが集中しないように、第2サーバーアクセス用アドレス情報J8を通知する対象とする1つの管理サーバー2bを選択し、選択した管理サーバー2bに対応する第2サーバーアクセス用アドレス情報J8を、第2サーバーアクセス関連情報J7に含める。このような処理が行われることにより、印刷装置10が電源のオン時に印刷装置制御サーバー2aにアクセスすることを好適に利用して、管理サーバー2bの負荷分散を効果的に図ることができる。
次いで、印刷装置制御部20は、受信した第2サーバーアクセス関連情報J7を印刷装置記憶部21の所定の記憶領域に記憶する(ステップSA6)。印刷装置記憶部21に既に記憶された第2サーバーアクセス関連情報J7が存在する場合、ステップSA6で、印刷装置制御部20は、既存の第2サーバーアクセス関連情報J7に対して、受信した第2サーバーアクセス関連情報J7を上書きして記憶する。
図5は、印刷装置10が起動した状態の間における、印刷装置10、管理サーバー2b、及びファイル提供サーバー2cの動作を示すフローチャートである。図5のフローチャートFDは印刷装置10の動作を示し、フローチャートFEは管理サーバー2bの動作を示し、フローチャートFFはファイル提供サーバー2cの動作を示す。
ここで、印刷装置10は、印刷装置10が起動した状態の間、所定の間隔(例えば、1時間。)をあけて、定期的に、後述する定期印刷装置情報J9を管理サーバー2bに送信する。ステップSD1において、印刷装置制御部20は、前回、定期印刷装置情報J9を送信した後、当該所定の間隔が経過したことを検出した場合、定期印刷装置情報J9を送信するタイミングが到来したと判別する。なお、印刷装置制御部20は、電源のオンに応じて、印刷装置制御サーバー2aから上述した第2サーバーアクセス関連情報J7を受信した場合、受信したことをトリガーとして、1回目の定期印刷装置情報J9の送信を行う。
印刷装置10が定期印刷装置情報J9を送信する所定の間隔を示す情報は、印刷装置10に事前に登録され、印刷装置記憶部21の所定の記憶領域に記憶される。
定期印刷装置情報J9は、印刷装置識別情報J3と、第2サーバーアクセス用パスワード情報J5と、第1ファームウェアバージョン情報J10と、第2ファームウェアバージョン情報J11と、印刷装置機種情報J12とを少なくも含む情報である。定期印刷装置情報J9は、「印刷装置情報」に相当する。
ステップSD2において、印刷装置制御部20は、図4のフローチャートFAのステップSA6で印刷装置記憶部21の所定の記憶領域に記憶した第2サーバーアクセス関連情報J7を参照し、当該情報に含まれる第2サーバーアクセス用パスワード情報J5を取得し、定期印刷装置情報J9に含める。
第1ファームウェアバージョン情報J10は、第1ファームウェア21aのバージョンを示す情報である。第1ファームウェア21aのデータ部には、第1ファームウェアバージョン情報J10が記述される。ステップSD2において、印刷装置制御部20は、第1ファームウェア21aのデータ部を参照し、第1ファームウェアバージョン情報J10を取得し、定期印刷装置情報J9に含める。
第2ファームウェアバージョン情報J11は、第2ファームウェア21bのバージョンを示す情報である。第2ファームウェア21bのデータ部には、第2ファームウェアバージョン情報J11が記述される。ステップSD2において、印刷装置制御部20は、第2ファームウェア21bのデータ部を参照し、第2ファームウェアバージョン情報J11を取得し、定期印刷装置情報J9に含める。
印刷装置機種情報J12は、印刷装置10の機種を示す情報である。印刷装置機種情報J12は、印刷装置10に事前に登録され、印刷装置記憶部21の所定の記憶領域に記憶される。
ステップSD3において、印刷装置制御部20は、HTTP(Hypertext Transfer Protocol)に従って、HTTPリクエストとして、定期印刷装置情報J9を管理サーバー2bに送信する。
ここで、上述したように、店舗システム3では、ファイアーウォールFW、及び、DMZセグメントSGに設けられた代理サーバー13の機能により、ローカルネットワークLNと接続する機器へのグローバルネットワークGNからの不正なアクセスが防止される。このため、管理サーバー2bは、店舗システム3に設けられた特定の印刷装置10との間でコネクションが確立してない状況では、当該特定の印刷装置10に対して、直接、情報を送信することはできない。これを踏まえ、印刷装置10と、管理サーバー2bとの間では、クライアントとして機能する印刷装置10から、サーバーとして機能する管理サーバー2bに対してHTTPリクエストとして情報が送信され、管理サーバー2bから印刷装置10に対して当該HTTPリクエストに対するHTTPレスポンスとして情報が送信されることによって、これら装置間で情報の送受信が行われる。
次いで、第2サーバー制御部40は、受信した定期印刷装置情報J9に含まれる印刷装置識別情報J3と、第2サーバーアクセス用パスワード情報J5とを取得し、これら情報に基づいて認証処理を実行する(ステップSE2)。認証処理は、アクセス元の印刷装置10の認証を試み、認証が成功したか否かを判別する処理である。
詳述すると、ステップSE2において、第2サーバー制御部40は、印刷装置認証情報管理データベースDB2aを参照し、当該データベースのレコードのうち、対応するレコードを特定する。次いで、第2サーバー制御部40は、特定した対応するレコードにおける印刷装置識別情報J3の値と、第2サーバーアクセス用パスワード情報J5の値との組み合わせが、受信した定期印刷装置情報J9に含まれる印刷装置識別情報J3の値と、第2サーバーアクセス用パスワード情報J5の値との組み合わせと一致するか否かを判別する。第2サーバー制御部40は、一致する場合、印刷装置10の認証が成功したと判別し、一致しない場合、印刷装置10の認証が失敗したと判別する。
詳細は省略するが、印刷装置10の認証が失敗した場合、第2サーバー制御部40は、ステップSE3以下の処理を実行せず、認証が失敗したことに対応する処理を実行する。例えば、第2サーバー制御部40は、管理サーバー2bのオペレーター等の正当な権限を有する者に対して、所定の手段で、認証が失敗したことを通知する。
ファームウェアバージョン管理データベースDB2bは、印刷装置10の機種ごとに、第1ファームウェア21a及び第2ファームウェア21bのそれぞれについて、最新のファームウェアのバージョンを管理するデータベースである。ファームウェアバージョン管理データベースDB2bは、印刷装置10の機種ごとにレコードを有する。ファームウェアバージョン管理データベースDB2bの1の機種に対応するレコードは、当該1の機種の印刷装置機種情報J12と、当該1の機種の印刷装置10にインストール可能な「最新」の第1ファームウェア21aのバージョンを示す第1ファームウェアバージョン情報J10と、当該1の機種の印刷装置10にインストール可能な「最新」の第2ファームウェア21bのバージョンを示す第2ファームウェアバージョン情報J11とを有する。
ファームウェアバージョン管理データベースDB2bの内容は、所定の手段によって、適切なタイミングで更新される。
第1の条件は、第1ファームウェア21aと第2ファームウェア21bとのいずれかについて、印刷装置10に現時点でインストールされているファームウェアのバージョンよりも新しいバージョンのファームウェアが存在する、という条件である。「印刷装置10に現時点でインストールされているファームウェアのバージョンよりも新しいバージョンのファームウェアが存在する」とは、ファームウェアバージョン管理データベースDB2bにおいて、印刷装置10にインストール可能なファームウェアのバージョンとして、印刷装置10に現時点でインストールされているファームウェアのバージョンよりも新しいバージョンが管理されていることを意味する。例えば、第1ファームウェア21aについて、1の機種の1の印刷装置10に現時点でインストールされている第1ファームウェア21aのバーションよりも新しいバージョンを示す第1ファームウェアバージョン情報J10が、当該1の機種を示す印刷装置機種情報J12と対応付けてファームウェアバージョン管理データベースDB2bに記憶された状態の場合、当該1の印刷装置10に現時点でインストールされているファームウェアのバージョンよりも新しいバージョンのファームウェアが存在した状態である。 ステップSE4の処理について詳述すると、第2サーバー制御部40は、ステップSE1で受信した定期印刷装置情報J9に含まれる印刷装置機種情報J12を取得する。次いで、第2サーバー制御部40は、取得した印刷装置機種情報J12の値と同一の値の印刷装置機種情報J12を有するレコードを特定する。次いで、第2サーバー制御部40は、特定したレコードが有する第1ファームウェアバージョン情報J10の値と、受信した定期印刷装置情報J9に含まれる第1ファームウェアバージョン情報J10の値とを比較し、比較結果に基づいて、第1ファームウェア21aについて、印刷装置10に現時点でインストールされているファームウェアのバージョンよりも新しいバージョンのファームウェアが存在するか否かを判別する。同様に、第2サーバー制御部40は、特定したレコードが有する第2ファームウェアバージョン情報J11の値と、受信した定期印刷装置情報J9に含まれる第2ファームウェアバージョン情報J11の値とを比較し、比較結果に基づいて、第2ファームウェア21bについて、印刷装置10に現時点でインストールされているファームウェアのバージョンよりも新しいバージョンのファームウェアが存在するか否かを判別する。第2サーバー制御部40は、第1ファームウェア21a及び第2ファームウェア21bの双方について、印刷装置10に現時点でインストールされているファームウェアのバージョンよりも新しいバージョンのファームウェアが存在しない場合、第1の条件が成立しないと判別し、それ以外の場合、第1の条件が成立すると判別する。
次いで、第2サーバー制御部40は、第2サーバー通信部41を制御して、HTTPレスポンスとして、不実行指示情報J13を印刷装置10に送信する(ステップSE6)。
更新管理データベースDB2cは、印刷装置10ごとにレコードを有する。更新管理データベースDB2cの1の印刷装置10に対応するレコードは、当該1の印刷装置10の印刷装置識別情報J3と、当該1の印刷装置10についての更新可否情報J14と、当該1の印刷装置10についての更新可能時間帯情報J15と、を有する。
以下の説明では、ステップSD3で印刷装置制御部20が定期印刷装置情報J9を送信した時点で、印刷装置10にインストールされた状態の第1ファームウェア21aを、適宜、「既存第1ファームウェア」と表現する。また、当該時点で、印刷装置10にインストールされた状態の第2ファームウェア21bを、適宜、「既存第2ファームウェア」と表現する。また、既存第1ファームウェアと既存第2ファームウェアとを区別しない場合は、これらファームウェアを総称して「既存ファームウェア」と表現する。
また、既存第1ファームウェアのバージョンよりも新しいバージョンの第1ファームウェア21aを、適宜、「新第1ファームウェア」と表現する。また、既存第2ファームウェアのバージョンよりも新しいバージョンの第2ファームウェア21bを、適宜、「新第2ファームウェア」と表現する。また、新第1ファームウェアと新第2ファームウェアとを区別しない場合は、これらファームウェアを総称して「新ファームウェア」と表現する。
印刷装置10は、既存第1ファームウェアを更新する場合、新第1ファームウェアにより、既存第1ファームウェアを書換える。同様に、印刷装置10は、既存第2ファームウェアを更新する場合、新第2ファームウェアにより、既存第2ファームウェアを書換える。
そして、1の印刷装置10について、既存ファームウェアを新ファームウェアにより更新することが許可されない場合、当該1の印刷装置10の更新可否情報J14の値は、更新を許可しないことを示す値とされる。一方、1の印刷装置10について、既存ファームウェアを新ファームウェアにより更新することが許可される場合、当該1の印刷装置10の更新可否情報J14の値は、更新を許可することを示す値とされる。
ここで、上述したように、印刷装置10は、店舗のレジカウンターに設けられ、レジカウンターで行われる会計に応じてレシートを発行する。従って、店舗が開店してから閉店するまでの時間帯は、店舗で行われる業務に影響を与えるため、印刷装置10は、既存ファームウェアを新ファームウェアにより更新する処理を実行できない。また、店舗によっては、印刷装置10が、レシートの発行以外の別の用途で使用される場合もあり、この場合において、印刷装置10が当該別の用途で使用される時間帯は、印刷装置10は、既存ファームウェアを新ファームウェアにより更新する処理を実行できない。このように、印刷装置10ごとに、印刷装置10が印刷を実行する可能性がある時間帯と、当該時間帯を除く印刷装置10が印刷を実行しない時間帯とが存在する。
そして、1の印刷装置10について、当該1の印刷装置10の更新可能時間帯情報J15は、当該1の印刷装置10が印刷を実行せず、印刷装置10が既存ファームウェアを新ファームウェアにより更新する処理を実行可能な時間帯を示す情報とされる。
なお、本実施形態では、印刷装置10が店舗に設けられ、レシートの発行に用いられる場合を例とするが、印刷装置10が設けられる場所は店舗に限られず、また、印刷装置10の用途もレシートの発行に限られない。これを踏まえ、更新可能時間帯情報J15が示す時間帯は、印刷装置10が設けられた環境、及び、印刷装置10の用途に応じて、適切に定められる。
更新管理データベースDB2cの内容は、所定の手段によって、適切なタイミングで更新される。
第2の条件は、印刷装置10の既存ファームウェアを新ファームウェアにより更新することが許可されていること、という条件である。
ステップSE8において、第2サーバー制御部40は、ステップSE7で参照した更新管理データベースDB2cのレコードのうち、ステップSE1で受信した定期印刷装置情報J9に含まれる印刷装置識別情報J3の値と同一の値の印刷装置識別情報J3を有するレコードを特定する。次いで、第2サーバー制御部40は、特定したレコードが有する更新可否情報J14を参照する。第2サーバー制御部40は、更新可否情報J14の値が、更新を許可することを示す値の場合、第2の条件が成立すると判別する。一方、第2サーバー制御部40は、更新可否情報J14の値が、更新を許可しないことを示す値の場合、第2の条件が成立しないと判別する。
一方、ステップSE8で第2の条件が成立すると判別した場合(ステップSE8:YES)、第2サーバー制御部40は、第3の条件が成立するか否かを判別する(ステップSE9)。
第3の条件は、現時点が、印刷装置10によって既存ファームウェアを新ファームウェアにより更新する処理を実行可能な時間帯に属すること、という条件である。
ステップSE9において、第2サーバー制御部40は、ステップSE7で参照した更新管理データベースDB2cのレコードのうち、ステップSE1で受信した定期印刷装置情報J9に含まれる印刷装置識別情報J3の値と同一の値の印刷装置識別情報J3を有するレコードを特定する。次いで、第2サーバー制御部40は、特定したレコードが有する更新可能時間帯情報J15を参照する。第2サーバー制御部40は、現時点が、更新可能時間帯情報J15が示す時間帯に属する場合、第3の条件が成立すると判別する。一方、第2サーバー制御部40は、現時点が、更新可能時間帯情報J15が示す時間帯に属しない場合、第3の条件が成立しないと判別する。
ランダムURL情報J16は、印刷装置10がファイル提供サーバー2cから新ファームウェアをダウンロードする際にアクセスするファイル提供サーバー2cのURL(アドレス)を示す情報である。
ランダムURL情報J16は、「書換え用ファームウェアの格納場所を指定するアドレス」に相当する。
ランダムURL情報J16の値は、固定値ではなく、生成する度に値が変わる可変値とされる。ステップSE10において、第2サーバー制御部40は、例えば、以下の処理を実行する。すなわち、第2サーバー制御部40は、ランダムURL情報J16が示すURLのうち、ホスト名、及び、パス名は、予め定められた値とする。また、第2サーバー制御部40は、ランダムに値を生成し、生成した値を、ランダムURL情報J16が示すURLにパラメーターとして付加する。
新ファームウェアバージョン通知情報J23は、新ファームウェアについて、新ファームウェアを識別する識別情報と、新ファームウェアのバージョンを示す情報とを含む情報である。
ステップSE11の処理について詳述すると、第2サーバー制御部40は、ファームウェアバージョン管理データベースDB2bを参照し、既存第1ファームウェアを新第1ファームウェアにより更新させる場合は、新第1ファームウェアを識別する新第1ファームウェア識別情報J17と、新第1ファームウェアのバージョンを示す新第1ファームウェアバージョン情報J18との組み合わせを新ファームウェアバージョン通知情報J23に含める。また、第2サーバー制御部40は、ファームウェアバージョン管理データベースDB2bを参照し、既存第2ファームウェアを新第2ファームウェアにより更新させる場合は、新第2ファームウェアを識別する新第2ファームウェア識別情報J20と、新第2ファームウェアのバージョンを示す新第2ファームウェアバージョン情報J21との組み合わせを新ファームウェアバージョン通知情報J23に含める。
更新関連情報J24は、生成したランダムURL情報J16と、生成した新ファームウェアバージョン通知情報J23とを少なくとも含む情報である。
次いで、第2サーバー制御部40は、第2サーバー通信部41を制御して、更新関連情報J24をファイル提供サーバー2cに送信する(ステップSE13)。
次いで、第3サーバー制御部50は、更新関連情報J24を第3サーバー記憶部52の所定の記憶領域に記憶する(ステップSF2)。更新関連情報J24は、第3サーバー記憶部52に累積的に記憶される。
更新指示情報J25は、ファームウェアの更新を行うことを指示する情報と、生成したランダムURL情報J16とを少なくとも含む情報である。
次いで、第2サーバー制御部40は、第2サーバー通信部41を制御して、生成した更新指示情報J25をHTTPレスポンスとして印刷装置10に送信する。
次いで、印刷装置制御部20は、受信した情報が、不実行指示情報J13であるか否かを判別する(ステップSD5)。
受信した情報が不実行指示情報J13の場合(ステップSD5:YES)、印刷装置制御部20は、処理手順をステップSD1へ移行する。この場合、ファームウェアの更新は行われない。
以下、ファームウェア更新処理について詳述する。
フローチャートFGの処理が、ファームウェア更新処理に相当する。
以下の説明では、既存ファームウェアを新ファームウェアにより更新することを、適宜、「ファームウェアを更新する」と表現する。ファームウェアを更新する処理は、ファームウェアを書換える処理に相当する。
ファームウェアの更新に係る処理を実行可能な状態ではない場合(ステップSG1:NO)、印刷装置制御部20は、対応する処理を実行する(ステップSG2)。例えば、ステップSG2において、印刷装置制御部20は、待機すれば、ファームウェアの更新に係る処理を実行可能な状態へ移行する状況であれば、ファームウェアの更新に係る処理を実行可能な状態へ移行するまでの間待機し、処理手順をステップSG3へ移行する。また例えば、ステップSG2において、印刷装置制御部20は、待機してもファームウェアの更新に係る処理を実行可能な状態へ移行するか否か不明な状況であれば、管理サーバー2b、その他の装置に通知し、また、所定の手段でユーザーに通知する。
次いで、印刷装置制御部20は、印刷部22を制御して、ファームウェアの更新を開始する旨の情報をロール紙に印刷する(ステップSG4)。
図7に示すように、ロール紙には、ファームウェアの更新を開始する旨、ファームウェアの更新が完了した場合そのことが通知される旨、及びファームウェアの更新が完了するまでは印刷装置10の電源をオフしないようにすべき旨を示す情報が印刷される。ユーザーは、ロール紙に印刷された情報を視認することにより、ファームウェアの更新が開始されること、及び、注意すべき点について、的確に認識できる。
なお、印刷装置10が、液晶表示パネル等の表示パネルを有さず、これにより小型化が図られている場合に、ステップSG4の処理が行われることにより、印刷装置10が印刷する機能を有することを効果的に利用して、ユーザーに必要な情報を通知できる。
また、印刷装置10が、液晶表示パネル等の表示パネルを有する場合、表示パネルに上記情報を表示してもよい。
次いで、第2サーバー制御部40は、第2サーバー記憶部42が記憶するハッシュ値管理データベースDB2dを参照する(ステップSH2)。
ハッシュ値管理データベースDB2dは、ファームウェアごとに、各バージョンのファームウェアのハッシュ値を管理するデータベースである。ファームウェアのハッシュ値とは、ファームウェアのファイルデータから、所定のハッシュ関数を用いて得られるハッシュ値である。ハッシュ値管理データベースDB2dは、1のバージョンの1のファームウェアについて、当該1のバージョンの当該1のファームウェアを識別する識別情報と、当該1のバージョンを識別する識別情報と、当該1のバージョンの当該1のファームウェアのハッシュ値とを対応付けて記憶する。
また、第2サーバー制御部40は、既存第2ファームウェアを更新する新第2ファームウェアが存在する場合は、新第2ファームウェア識別情報J20及び新第2ファームウェアバージョン情報J21に基づいて、新第2ファームウェアのハッシュ値を取得する。愛2サーバー制御部40は、新第1ファームウェアのハッシュ値を取得する方法と、同様の方法で新第1ファームウェアのハッシュ値を取得する。
秘密鍵は、公開鍵暗号化方式に対応する暗号化キーである。秘密鍵は、管理サーバー2bに事前に登録され、第2サーバー記憶部42の所定の記憶領域に記憶される。後述するように、印刷装置10には、管理サーバー2bが記憶する秘密鍵に対応する公開鍵が記憶される。
次いで、印刷装置制御部20は、公開鍵を取得する(ステップSG7)。
公開鍵は、公開鍵暗号化方式に対応する復号化キーである。ここで、第1ファームウェア21aのデータ部には、公開鍵が記述される。ステップSG7において、印刷装置制御部20は、第1ファームウェア21aのデータ部を参照し、公開鍵を取得する。
次いで、第3サーバー制御部50は、第3サーバー記憶部52の所定の記憶領域に記憶された更新関連情報J24のうち、印刷装置10によりアクセスされたURLに対応する更新関連情報J24を取得する(ステップSI2)。上述したように、更新関連情報J24は、ランダムURL情報J16と、新ファームウェアバージョン通知情報J23とを含む情報である。ステップSI2において、第3サーバー制御部50は、印刷装置10によりアクセスされたURLの値と同一の値のランダムURL情報J16を有する更新関連情報J24を取得する。
上述したように、ランダムURL情報J16は、固定値ではなく、ランダムに生成される可変値であり、管理サーバー2bにより生成されて、印刷装置10、及び、ファイル提供サーバー2cに通知される。そして、印刷装置10が、ランダムURL情報J16に基づいてファイル提供サーバー2cにアクセスする構成のため、アクセス元の印刷装置10の正当性を担保できる。
を参照する(ステップSI3)。
ファイル管理データベースDB3aは、ファームウェアのそれぞれについて、各バージョンのファームウェアのファイルデータを記憶するデータベースである。ファイル管理データベースDB3aは、1のバージョンの1のファームウェアについて、当該1のファームウェアを識別する識別情報と、当該1のバージョンを識別する識別情報と、当該1のバージョンの当該1のファームウェアのファイルデータとを対応付けて記憶する。
ステップSI4において、第3サーバー制御部50は、既存第1ファームウェアを更新する場合は、当該ファームウェアの更新に用いる新第1ファームウェアのファイルデータを取得する。また、第3サーバー制御部50は、既存第2ファームウェアを更新する場合は、当該ファームウェアの更新に用いる新第2ファームウェアのファイルデータを取得する。また、第3サーバー制御部50は、既存第1ファームウェア、及び、既存第2ファームウェアの双方を更新する場合は、新第1ファームウェアのファイルデータ、及び、新第2ファームウェアのファイルデータを取得する。
ステップSI5で送信される新ファームウェアのファイルデータは、「書換え用ファームウェア」に相当する。
次いで、印刷装置制御部20は、新ファームウェアのファイルデータから、所定のハッシュ関数を用いてハッシュ値を生成する(ステップSG11)。ステップSG11において、印刷装置制御部20は、ファイルデータが2個ある場合は、2個のファイルデータのそれぞれについて、所定のハッシュ関数を用いてハッシュ値を生成する。
ステップSG11で使用される所定のハッシュ関数は、管理サーバー2bが記憶するハッシュ値を生成するときに用いられたハッシュ関数と同一である。所定のハッシュ関数は、印刷装置10に事前に登録され、印刷装置記憶部21の所定の記憶領域に記憶される。
特に、本実施形態では、新ファームウェアのファイルデータの送信元の装置(ファイル提供サーバー2c)と、当該ファイルデータの正当性の判別に用いる署名情報J26の送信元の装置(管理サーバー2b)とが異なる構成である。この構成のため、新ファームウェアのファイルデータと署名情報J26とを同一の装置が印刷装置10に対して送信する構成と比較して、第三者が、当該ファイルデータと署名情報J26との双方を取得する可能性を効果的に低減できる。これにより、当該ファイルデータ及び署名情報J26の双方を用いて、第三者により秘密鍵が解読される可能性を効果的に低減でき、ファイルデータの正当性を的確に判別でき、ファイルデータの改ざんを防止できる。
ハッシュ値が同一ではない場合(ステップSG13:NO)、印刷装置制御部20は、ファームウェアの更新を行わず、対応する処理を実行する(ステップSG14)。ステップSG14の処理において、印刷装置制御部20は、少なくとも、以下の処理を実行する。すなわち、印刷装置制御部20は、印刷部22を制御して、受信した新ファームウェアのファイルデータが改ざんされた可能性がある旨の情報をロール紙に印刷する。ユーザーは、ロール紙に印刷された情報を参照することにより、的確に、新ファームウェアのファイルデータが改ざんされた可能性があることを認識できる。また、印刷装置制御部20は、受信した新ファームウェアのファイルデータが改ざんされた可能性がある旨を、管理サーバー2b、その他の装置に通知してもよい。その他、印刷装置10が、液晶表示パネル等の表示パネルを有する場合、印刷装置制御部20は、表示パネルに受信した新ファームウェアのファイルデータが改ざんされた可能性がある旨を表示してもよい。
一方、ハッシュ値が同一の場合(ステップSG13:YES)、印刷装置制御部20は、ステップSG10で受信した新ファームウェアのファイルデータに基づいて、既存ファームウェアを更新する(ステップSG15)。ステップSG15において、印刷装置制御部20は、新第1ファームウェアのファイルデータ及び新第2ファームウェアのファイルデータを受信した場合は、新第1ファームウェアのファイルデータにより既存第1ファームウェアを更新し、新第2ファームウェアのファイルデータにより既存第2ファームウェアを更新する。また、印刷装置制御部20は、新第1ファームウェアのファイルデータと新第2ファームウェアのファイルデータとのうち、一方のファイルデータを受信した場合は、対応する既存ファームウェアを受信したファイルデータにより更新する。
図8に示すように、ロール紙には、ファームウェアの更新が完了した旨を示す情報、再起動を促す情報が印刷される。ユーザーは、ロール紙に印刷された情報を視認することにより、ファームウェアの更新が完了したこと、及び、再起動すべきことについて、的確に認識できる。また、印刷装置10が、液晶表示パネル等の表示パネルを有する場合、表示パネルに上記情報を表示してもよい。
上述したように、署名情報J26を復号するときに用いる公開鍵は、第1ファームウェア21aのデータ部に記述される。そして、印刷装置制御部20は、第1ファームウェア21aの更新により公開鍵が改変されることを許可する一方、第1ファームウェア21aの更新以外の方法で公開鍵が改変されることを禁止する。従って、印刷装置10と通信可能な外部の装置から印刷装置10に制御コマンドを送信し、公開鍵を改変することはできない。これにより以下の効果を奏する。すなわち、本実施形態では、ファームウェアの更新に際し、新ファームウェアのファイルデータの正当性が判別され、改ざんされた新ファームウェアのファイルデータにより、既存ファームウェアが更新されることが防止される。従って、ファームウェアの更新により改変された公開鍵は正当性を有する公開鍵であるとみなすことができる。これを踏まえ、第1ファームウェア21aの更新により公開鍵が改変されることを許可する一方、第1ファームウェア21aの更新以外の方法で公開鍵が改変されることを禁止することによって、不正に公開鍵が改変されることを防止できる。
この構成によれば、印刷装置10は、管理サーバー2bで所定の条件を満たすと判別された場合に、新ファームウェアのファイルデータの格納場所を指定するアドレスを受信し、アドレスに基づいて新ファームウェアのファイルデータを受信し、ファームウェアの書換えを行う。このため、所定の条件を満たさない場合に、印刷装置10が新ファームウェアのファイルデータの格納場所を指定するアドレスを取得することを防止でき、また、管理サーバー2bで、印刷装置10のファームウェアの書換えの可否や、書換えに係る処理を実行するタイミングを制御できる。すなわち、本実施形態によれば、サーバーユニット2と通信してファームウェアを書き換える印刷装置10について、サーバーユニット2と通信することを踏まえた適切な方法でファームウェアの書き換えを実行できる。
この構成によれば、印刷装置10が送信する定期印刷装置情報J9に、印刷装置機種情報J12、第1ファームウェアバージョン情報J10、及び第2ファームウェアバージョン情報J11が含まれるため、管理サーバー2bにおいて、印刷装置10の機種、及び、既存ファームウェアのバージョンを踏まえて、印刷装置10におけるファームウェアの書換えが必要か否かを適切に判別することが可能となる。
この構成によれば、印刷装置10が送信する定期印刷装置情報J9に、印刷装置識別情報J3が含まれるため、管理サーバー2bにおいて、印刷装置10の印刷装置識別情報J3を利用して、印刷装置10の固有の事情を踏まえて、印刷装置10におけるファームウェアの書換えが必要か否かを適切に判別することが可能となる。
この構成によれば、管理サーバー2bにおいて、印刷装置10によるファームウェアの書換えが許可されているか否かを踏まえて、印刷装置10におけるファームウェアの書換えが必要か否かを適切に判別することが可能となる。
この構成によれば、印刷装置10は、ファームウェアが書換え可能な時間帯に、当該書換えに係る処理を実行できる。
この構成によれば、印刷装置10は、印刷部22によるロール紙への印刷が行われない時間帯に、ファームウェアの書換えに係る処理を実行できる。
この構成によれば、新ファームウェアのファイルデータが正当性を有する場合に、ファームウェアの書換えが行われることにより、例えば、改ざんされたファイルデータによってファームウェアの書換えが実行されることを防止できる。
この構成によれば、印刷装置10が記憶するファームウェアが、改ざんされた可能性のあるファームウェアに書き換えられることを防止できる。
この構成によれば、サーバーユニット2は、所定の条件を満たさない場合に、印刷装置10が新ファームウェアのファイルデータの格納場所を指定するアドレスを取得することを防止でき、また、印刷装置10のファームウェアの書換えの可否や、書換えに係る処理を実行するタイミングを制御できる。すなわち、本実施形態によれば、印刷装置10と通信してファームウェアの書き換え用ファームウェアを印刷装置10に送信するサーバーユニット2、及び、ネットワークシステム1について、印刷装置10と通信することを踏まえた適切な方法で、書き換え用ファームウェアを印刷装置10に送信できる。
この構成によれば、管理サーバー2bは、印刷装置10の機種、及び、既存ファームウェアのバージョンを踏まえて、印刷装置10におけるファームウェアの書換えが必要か否かを適切に判別することができる。
この構成によれば、管理サーバー2bは、印刷装置10の印刷装置識別情報J3を利用して、印刷装置10の固有の事情を踏まえて、印刷装置10におけるファームウェアの書換えが必要か否かを適切に判別することができる。
この構成によれば、管理サーバー2bは、印刷装置10がファームウェアを書換え可能な時間帯に、当該書換えに係る処理を実行させることができる。
この構成によれば、管理サーバー2bは、印刷装置10が印刷を実行しない時間帯に、当該書換えに係る処理を実行させることができる。
この構成によれば、サーバーユニット2が、印刷装置制御サーバー2a、管理サーバー2b、及び、ファイル提供サーバー2cを含んで構成されることを踏まえて、各サーバーに機能が割り振られることにより、各サーバーの負荷を分散できると共に、各サーバーが記憶するデータのデータ量を低減できる。
この構成によれば、管理サーバー2bは、印刷装置制御サーバー2aが生成した第2サーバーアクセス用パスワード情報J5に基づいて、印刷装置10を認証できる。
この構成によれば、ランダムURL情報J16を受信した正当な印刷装置10以外の装置が、ファイル提供サーバー2cにアクセスして、新ファームウェアのファイルデータを取得することを防止できる。
この構成によれば、新ファームウェアのファイルデータの送信元の装置(ファイル提供サーバー2c)と、当該ファイルデータの正当性の判別に用いる署名情報J26の送信元の装置(管理サーバー2b)とが異なる。これにより、第三者が、当該ファイルデータと署名情報J26との双方を取得する可能性を効果的に低減でき、当該ファイルデータ及び署名情報J26の双方を用いて、第三者により秘密鍵が解読される可能性を効果的に低減でき、印刷装置10は、当該ファイルデータの正当性の判別を的確に行える。すなわち、上記構成によれば、サーバーから受信した新ファームウェアのファイルデータに基づいて、ファームウェアの書き換えを実行する印刷装置10、及び、印刷装置10を含むネットワークシステム1について、印刷装置10と通信するサーバーの構成の特徴を利用して、新ファームウェアのファイルデータの正当性の判別を的確に行える。
この構成によれば、印刷装置10が記憶するファームウェアが、改ざんされた可能性のあるファームウェアに書き換えられることを防止できる。
この構成によれば、印刷装置10は、的確に新ファームウェアのファイルデータの正当性を判別できる。
この構成によれば、ユーザーは、ロール紙に印刷された情報を視認することにより、新ファームウェアのファイルデータが改ざんされた可能性があることを的確に認識できる。
この構成によれば、不正に公開鍵が改変されることを防止できる。
例えば、上述した実施形態では、印刷装置10が、店舗に適用される場合を例示して発明を説明したが、店舗システム3が適用される施設は、店舗に限らない。
また、図を用いて説明した各機能ブロックはハードウェアとソフトウェアにより任意に実現可能であり、特定のハードウェア構成を示唆するものではない。
Claims (8)
- 印刷装置と接続可能なサーバーであって、
第1のサーバー、第2のサーバー、及び、第3のサーバーを含み、
前記第1のサーバーは、前記印刷装置から印刷装置情報を受信すると、前記第2のサーバーのアドレスを前記印刷装置に送信し、
前記第2のサーバーは、前記印刷装置からアクセスを受けると、所定の条件を満たす場合に、前記印刷装置にファームウェアの書換え用ファームウェアの格納場所を示す前記第3のサーバーのアドレスを送信し、
前記第3のサーバーは、前記印刷装置から前記書換え用ファームウェアの送信の要求を受信すると、前記書換え用ファームウェアを前記印刷装置に送信し、
前記第1のサーバーは、前記第2のサーバーのアドレスを送信する際、前記第2のサーバーにアクセスする際に使用するパスワードを生成し、前記印刷装置、及び前記第2のサーバーに送信する、サーバー。 - 前記印刷装置情報は、前記印刷装置の機種を示す機種情報と、前記ファームウェアのバージョンを示すバージョン情報とを含み、
前記印刷装置から受信した前記機種情報および前記バージョン情報に基づいて、前記所定の条件を満たすか否かを判別する、請求項1に記載のサーバー。 - 前記印刷装置情報は、前記印刷装置を識別する識別情報を含み、
前記印刷装置から受信した前記識別情報に基づいて、前記所定の条件を満たすか否かを判別する、請求項1に記載のサーバー。 - 前記印刷装置が前記ファームウェアの書換えが可能な時間帯か否かによって、前記所定の条件を満たすか否かを判別する、請求項1に記載のサーバー。
- 前記印刷装置が前記ファームウェアの書換えが可能な時間帯は、前記印刷装置が印刷を実行しない時間帯である、請求項4に記載のサーバー。
- 前記第2のサーバーは、前記第3のサーバーにおける前記書換え用ファームウェアの格納場所を指定するアドレスをランダムに生成し、前記印刷装置、及び前記第3のサーバーに送信する請求項1から5のいずれか1項に記載のサーバー。
- 印刷装置と接続可能な第1のサーバー、第2のサーバー、及び、第3のサーバーを含むサーバーの制御方法であって、
前記印刷装置から印刷装置情報を受信すると、前記第2のサーバーのアドレスを前記印刷装置に送信し、
前記印刷装置から前記第2のサーバーのアドレスに基づくアクセスを受けると、所定の条件を満たす場合に、前記印刷装置にファームウェアの書換え用ファームウェアの格納場所を示す前記第3のサーバーのアドレスを送信し、
前記印刷装置から前記第3のサーバーのアドレスに基づく前記書換え用ファームウェアの送信の要求を受信すると、前記書換え用ファームウェアを前記印刷装置に送信し、
前記第2のサーバーのアドレスを送信する際、前記第2のサーバーにアクセスする際に使用するパスワードを生成し、前記印刷装置、及び前記第2のサーバーに送信する、サーバーの制御方法。 - 印刷装置と接続可能なサーバーであって、
前記印刷装置から第1のアドレスに基づくアクセスを受けると、第2のアドレスと、前記第2のアドレスに基づくアクセスにおいて使用するパスワードとを前記印刷装置に出力し、
前記印刷装置から前記第2のアドレスおよび前記パスワードに基づくアクセスを受けると、所定の条件を満たす場合に、書き換え用ファームウェアの格納場所を示す第3のアドレスを送信し、
前記印刷装置から前記第3のアドレスに基づくアクセスを受けると、前記書き換え用ファームウェアを前記印刷装置に送信する、サーバー。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016191721A JP6747223B2 (ja) | 2016-09-29 | 2016-09-29 | サーバー、及び、サーバーの制御方法 |
CN201710863405.1A CN107888648B (zh) | 2016-09-29 | 2017-09-22 | 服务器、服务器的控制方法以及网络系统 |
US15/718,718 US10489093B2 (en) | 2016-09-29 | 2017-09-28 | Server, control method of server, and network system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016191721A JP6747223B2 (ja) | 2016-09-29 | 2016-09-29 | サーバー、及び、サーバーの制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018055466A JP2018055466A (ja) | 2018-04-05 |
JP6747223B2 true JP6747223B2 (ja) | 2020-08-26 |
Family
ID=61685387
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016191721A Active JP6747223B2 (ja) | 2016-09-29 | 2016-09-29 | サーバー、及び、サーバーの制御方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10489093B2 (ja) |
JP (1) | JP6747223B2 (ja) |
CN (1) | CN107888648B (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10817233B2 (en) * | 2017-12-19 | 2020-10-27 | Kyocera Document Solutions, Inc. | Printing computing device for operating a multi-function printing device |
US10409530B2 (en) | 2017-12-19 | 2019-09-10 | Kyocera Document Solutions, Inc. | Printing computing device for operating a multi-function printing device |
JP6557760B1 (ja) * | 2018-06-19 | 2019-08-07 | Jig−Saw株式会社 | 機器の制御方法、制御装置及びシステム |
JP7180314B2 (ja) * | 2018-11-22 | 2022-11-30 | セイコーエプソン株式会社 | 印刷装置及び印刷処理方法 |
JP7166904B2 (ja) * | 2018-12-19 | 2022-11-08 | キヤノン株式会社 | 情報処理システム及び制御方法 |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4047041B2 (ja) * | 2002-03-19 | 2008-02-13 | キヤノン株式会社 | 情報処理システム及び情報処理装置及び情報処理方法及びそれを実現するプログラム |
JP2005004728A (ja) * | 2003-05-20 | 2005-01-06 | Canon Inc | 情報処理システム及び情報処理装置及び情報処理方法及びそれを実施するプログラムを情報処理装置読み出し可能に記憶した記憶媒体及びそのプログラム |
JP2005055982A (ja) * | 2003-08-06 | 2005-03-03 | Canon Inc | 情報処理方法及び情報処理用プログラム並びにデバイス |
US20060080653A1 (en) * | 2004-10-12 | 2006-04-13 | Microsoft Corporation | Methods and systems for patch distribution |
JP4621196B2 (ja) | 2006-12-06 | 2011-01-26 | 東芝テック株式会社 | 決済システムの端末プログラム更新方法及び決済端末 |
US8266260B2 (en) * | 2007-12-11 | 2012-09-11 | Sharp Laboratories Of America, Inc. | Method and system for updating the software of multiple network nodes |
JP2009217656A (ja) | 2008-03-12 | 2009-09-24 | Hitachi Ltd | 情報機器におけるソフトウェア更新システム |
JP2012014593A (ja) * | 2010-07-02 | 2012-01-19 | Mitsubishi Electric Corp | アクセス管理装置及びアクセス管理方法及びプログラム |
JP5623205B2 (ja) * | 2010-09-09 | 2014-11-12 | キヤノン株式会社 | 画像形成装置、ネットワークシステム、制御方法、およびコンピュータプログラム |
JP5527146B2 (ja) * | 2010-09-30 | 2014-06-18 | ブラザー工業株式会社 | 端末装置及びプログラム |
JP5732889B2 (ja) * | 2011-02-15 | 2015-06-10 | セイコーエプソン株式会社 | プログラム更新管理サーバーおよびプログラム更新管理方法 |
JP5750972B2 (ja) * | 2011-03-25 | 2015-07-22 | 富士ゼロックス株式会社 | 情報処理装置、プログラムおよび情報処理システム |
JP2013207670A (ja) * | 2012-03-29 | 2013-10-07 | Oki Data Corp | 画像処理装置 |
JP5995571B2 (ja) | 2012-07-17 | 2016-09-21 | キヤノン株式会社 | 情報処理装置及びその制御方法 |
CN103942058B (zh) * | 2013-01-17 | 2018-04-27 | 深圳市潮流网络技术有限公司 | 一种嵌入式电子设备软件升级方法及系统 |
JP5939180B2 (ja) * | 2013-03-15 | 2016-06-22 | ブラザー工業株式会社 | 情報処理装置、中継サーバ、情報中継方法、情報中継プログラム及び通信システム |
JP6210789B2 (ja) * | 2013-08-08 | 2017-10-11 | キヤノン株式会社 | ネットワークシステム、配信システム、制御方法、及びプログラム |
JP6000231B2 (ja) * | 2013-11-27 | 2016-09-28 | シャープ株式会社 | ネットワークシステム、常時接続方法、電子機器、常時接続サーバ、アプリケーションサーバ、プログラム |
JP6457756B2 (ja) | 2014-07-24 | 2019-01-23 | キヤノン株式会社 | 情報処理装置、その制御方法、及びプログラム |
JP6655921B2 (ja) * | 2015-09-11 | 2020-03-04 | キヤノン株式会社 | 通信システムとその制御方法、画像形成装置とその制御方法、及びプログラム |
CN105719462A (zh) * | 2016-03-31 | 2016-06-29 | 苏州工业园区威斯威尔智能科技有限公司 | 基于多终端个人热点控制的工业设备的控制系统及其控制方法 |
-
2016
- 2016-09-29 JP JP2016191721A patent/JP6747223B2/ja active Active
-
2017
- 2017-09-22 CN CN201710863405.1A patent/CN107888648B/zh active Active
- 2017-09-28 US US15/718,718 patent/US10489093B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20180088871A1 (en) | 2018-03-29 |
US10489093B2 (en) | 2019-11-26 |
JP2018055466A (ja) | 2018-04-05 |
CN107888648B (zh) | 2020-09-29 |
CN107888648A (zh) | 2018-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6747223B2 (ja) | サーバー、及び、サーバーの制御方法 | |
CN107885466B (zh) | 印刷装置以及印刷装置的控制方法 | |
JP2018056840A (ja) | 印刷装置、印刷装置の制御方法、及びネットワークシステム | |
JP4576210B2 (ja) | 証明書転送装置、証明書転送システム、証明書転送方法、プログラム及び記録媒体 | |
JP4607567B2 (ja) | 証明書転送方法、証明書転送装置、証明書転送システム、プログラム及び記録媒体 | |
JPH10126405A (ja) | 移動計算機装置及びパケット暗号化認証方法 | |
JPH1141230A (ja) | ユーザ認証方法及びユーザ認証システム | |
US10412070B2 (en) | Method and apparatus of implementing a VPN tunnel | |
US10148439B2 (en) | Methods and systems for controlling medical device usage | |
JP6520746B2 (ja) | 情報処理システム、通信中継装置、ライセンスサーバー、プログラム及びデータ復旧方法 | |
CN113630374A (zh) | 实现通过网络与目标装置的安全通信的方法 | |
JP2016051937A (ja) | 情報処理方法、及び、記録システム | |
JP2016051245A (ja) | 記録装置、記録装置の制御方法、及び、記録システム | |
JP2005303676A (ja) | 画像形成装置、鍵ペア生成方法及びコンピュータプログラム | |
JP4005090B2 (ja) | 通信プロファイル自動配布設定システムおよび方法ならびに管理装置、プログラム | |
JP2004062559A (ja) | クライアントサーバシステムおよびその装置 | |
JP2004297292A (ja) | 無線端末、認証サーバ、無線認証情報管理システム、および、無線認証情報管理方法 | |
JP2006323680A (ja) | 機器情報配信システム、機器情報受信装置及び方法 | |
JP2002182923A (ja) | 装置制御システム | |
JP7313232B2 (ja) | 情報処理装置及びその制御方法、並びにプログラム | |
WO2020054140A1 (ja) | プリンタ、通信方法、暗号化方法、および、コンピュータ可読記録媒体 | |
JP7130501B2 (ja) | プリンタ、プリンタにおける暗号化方法、および、プログラム | |
JP2009232092A (ja) | 通信中継装置、通信中継プログラム | |
US20210288796A1 (en) | Configuring Networked Devices Sharing a Common Firmware Key | |
JP2020042586A (ja) | プリンタ、通信方法、および、プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190710 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20191203 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200128 |
|
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: 20200707 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200720 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6747223 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |