JP6747223B2 - サーバー、及び、サーバーの制御方法 - Google Patents

サーバー、及び、サーバーの制御方法 Download PDF

Info

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
Application number
JP2016191721A
Other languages
English (en)
Other versions
JP2018055466A (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.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2016191721A priority Critical patent/JP6747223B2/ja
Priority to CN201710863405.1A priority patent/CN107888648B/zh
Priority to US15/718,718 priority patent/US10489093B2/en
Publication of JP2018055466A publication Critical patent/JP2018055466A/ja
Application granted granted Critical
Publication of JP6747223B2 publication Critical patent/JP6747223B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B41PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
    • B41JTYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
    • B41J29/00Details of, or accessories for, typewriters or selective printing mechanisms not otherwise provided for
    • B41J29/38Drives, motors, controls or automatic cut-off devices for the entire printing mechanism
    • 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/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1224Client or server resources 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/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/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/1231Device related settings, e.g. IP address, Name, Identification
    • 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
    • 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
    • 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/1293Printer information exchange with computer
    • G06F3/1294Status or feedback related to information exchange
    • 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

Description

本発明は、サーバー、及び、サーバーの制御方法関する。
従来、印刷装置(情報処理装置100)と通信して、ファームウェアの書き換え用ファイルを、印刷装置に送信するサーバー(外部サーバー250)が知られている(例えば、特許文献1参照)。
特開2016−24775号公報
上述したサーバーのように、印刷装置と通信してファームウェアの書き換え用ファイルを、印刷装置に送信するサーバーでは、印刷装置と通信することを踏まえた適切な方法で、ファームウェアの書き換え用ファイルを印刷装置に送信できるようにしたいとするニーズがある。
本発明は、上述した事情に鑑みてなされたものであり、印刷装置と通信してファームウェアの書き換え用ファームウェアを印刷装置に送信するサーバー、及び、当該サーバーを含むネットワークシステムについて、印刷装置と通信することを踏まえた適切な方法で、書き換え用ファームウェアを印刷装置に送信できるようにすることを目的とする。
上記課題を解決するため、本発明は、印刷装置と接続可能なサーバーであって、前記印刷装置から印刷装置情報を受信し、所定の条件を満たす場合に、前記印刷装置にファームウェアの書換え用ファームウェアの格納場所を指定するアドレスを送信し、前記印刷装置から前記アドレスに基づいて前記書換え用ファームウェアの送信の要求を受信した場合、前記書換え用ファームウェアを前記印刷装置に送信する。
本発明の構成によれば、サーバーは、所定の条件を満たさない場合に、印刷装置が新ファームウェアのファイルデータの格納場所を指定するアドレスを取得することを防止でき、また、印刷装置のファームウェアの書換えの可否や、書換えに係る処理を実行するタイミングを制御できる。すなわち、本実施形態によれば、印刷装置と通信してファームウェアの書き換え用ファームウェアを印刷装置に送信するサーバーについて、印刷装置と通信することを踏まえた適切な方法で、書き換え用ファームウェアを印刷装置に送信できる。
また、本発明は、前記印刷装置情報は、前記印刷装置の機種を示す機種情報と、前記ファームウェアのバージョンを示すバージョン情報とを含み、前記印刷装置から受信した前記機種情報および前記バージョン情報に基づいて、前記所定の条件を満たすか否かを判別する。
本発明の構成によれば、サーバーは、印刷装置の機種、及び、ファームウェアのバージョンを踏まえて、印刷装置におけるファームウェアの書換えが必要か否かを適切に判別することができる。
また、本発明は、前記印刷装置情報は、前記印刷装置を識別する識別情報を含み、前記印刷装置から受信した前記識別情報に基づいて、前記所定の条件を満たすか否かを判別する。
本発明の構成によれば、サーバーは、印刷装置の識別情報を利用して、印刷装置の固有の事情を踏まえて、印刷装置におけるファームウェアの書換えが必要か否かを適切に判別することができる。
また、本発明は、前記印刷装置が前記ファームウェアの書換えが可能な時間帯か否かによって、前記所定の条件を満たすか否かを判別する。
本発明の構成によれば、サーバーは、印刷装置がファームウェアを書換え可能な時間帯に、当該書換えに係る処理を実行させることができる。
また、本発明は、前記印刷装置が前記ファームウェアの書換えが可能な時間帯は、前記印刷装置が印刷を実行しない時間帯である。
本発明の構成によれば、サーバーは、印刷装置が印刷を実行しない時間帯に、当該書換えに係る処理を実行させることができる。
また、本発明は、前記サーバーは、第1のサーバー、第2のサーバー、及び、第3のサーバーを含んで構成され、前記第1のサーバーは、前記印刷装置からのアクセスに応じて、前記第2のサーバーのアドレスを送信し、前記第2のサーバーは、前記印刷装置からのアクセスに基づいて、所定の条件を満たす場合に前記第3のサーバーにおける前記書換え用ファームウェアの格納場所を指定するアドレスを送信し、前記第3のサーバーは、前記印刷装置からのアクセスに基づいて、前記書換え用ファームウェアを前記印刷装置に送信する。
本発明の構成によれば、サーバーが、第1のサーバー、第2のサーバー、及び、第3のサーバーを含んで構成されることを踏まえて、各サーバーに機能が割り振られることにより、各サーバーの負荷を分散できると共に、各サーバーが記憶するデータのデータ量を低減できる。
また、本発明は、前記第1のサーバーは、前記第2のサーバーのアドレスを送信する際、前記第2のサーバーにアクセスする際に使用するパスワードを生成し、前記印刷装置、及び前記第2のサーバーに送信する。
本発明の構成によれば、サーバーは、第1のサーバーが生成したパスワードに基づいて、印刷装置を認証できる。
また、本発明は、前記第2のサーバーは、前記第3のサーバーにおける前記書換え用ファームウェアの格納場所を指定するアドレスをランダムに生成し、前記印刷装置、及び前記第3のサーバーに送信する。
本発明の構成によれば、ランダムなアドレスを受信した正当な印刷装置以外の装置が、第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は、複数のサーバー装置を含んで構成されたものでもよい。
店舗システム3は、スーパーマーケットや、コンビニエンスストア、デパート、飲食店等の商品や、サービス等を提供し、当該提供に応じて会計が行われる店舗に設けられるシステムである。
図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は、機能に応じた複数の装置を有する構成でもよい。
図1に示すように、ローカルネットワークLNには、ファイアーウォールFWを介して、DMZ(DeMilitarized Zone)セグメントSGに設けられた代理サーバー13が接続される。代理サーバー13は、中継サーバーや、DNSサーバー、Webサーバー等を含んで構成される。ファイアーウォールFW、及び、DMZセグメントSGに設けられた代理サーバー13の機能により、グローバルネットワークGNからローカルネットワークLNと接続する機器への不正なアクセスが防止される。
印刷装置10、及び、ホストコンピューター11は、店舗において顧客が会計を行なうレジカウンターに設けられる。ホストコンピューター11は、レジカウンターで行われる会計に応じて、印刷装置10を制御して、レシートを発行させる。印刷装置10により発行されたレシートは、レジカウンターの担当者により、顧客に引き渡される。
印刷装置10は、グローバルネットワークGNにアクセスし、グローバルネットワークGNに接続された機器(印刷装置制御サーバー2a、管理サーバー2b、及びファイル提供サーバー2cを含む。)と通信する機能を有する。印刷装置10とサーバーユニット2との間では、VPN(Virtual Private Network)等の、暗号化に係る技術や、仮想専用線(物理的な専用線であってもよい。)に係る技術によりセキュアな通信が行われる。
印刷装置10の構成、及び機能については後述する。
図2は、印刷装置10の機能的構成を示すブロック図である。
印刷装置10は、ロール紙(印刷媒体)を収容すると共に、収容したロール紙を搬送し、収容したロール紙に画像を印刷し、ロール紙を切断する機能を有する装置である。印刷装置10の印刷方式は、サーマル方式や、インクジェット方式等、何でもよい。
図2に示すように、印刷装置10は、印刷装置制御部20と、印刷装置記憶部21と、印刷部22と、印刷装置ネットワーク通信部23(印刷装置通信部)と、印刷装置デバイス通信部24とを備える。
印刷装置制御部20は、第1プロセッサー201a、及び第2プロセッサー201bが実装されたSOC(System on a chip)201や、ROM、RAM、ASIC、信号処理回路等を備え、印刷装置10の各部を制御する。
印刷装置記憶部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を制御する。
印刷部22は、印刷機構、搬送機構、及び切断機構を少なくとも有する。印刷機構は、印刷ヘッド、その他の印刷に関する要素を備える。搬送機構は、印刷装置10に収容されたロール紙を所定方向に搬送する搬送ローラー、その他のロール紙の搬送に関する要素を備える。切断機構は、ロール紙を切断するカッター、その他のロール紙の切断に関する要素を備える。印刷部22は、印刷装置制御部20の制御で、搬送機構によりロール紙を所定の方向に搬送し、印刷機構によりロール紙に画像を印刷し、切断機構によりロール紙を所定の位置で切断することによって、画像が印刷された紙片を発行できる。
印刷装置ネットワーク通信部23は、印刷装置制御部20の制御で、グローバルネットワークGNと接続する機器と所定の通信規格に従って通信する。印刷装置10と、グローバルネットワークGNと接続する機器との間での通信で使用される通信規格は何でもよい。印刷装置10がサーバーユニット2の印刷装置制御サーバー2a、管理サーバー2b、及びファイル提供サーバー2cと通信する際に使用する通信規格については後述する。
印刷装置デバイス通信部24は、印刷装置制御部20の制御で、ホストコンピューター11と所定の通信規格に従って通信する。印刷装置10と、ホストコンピューター11との間での通信に使用される通信規格は、有線通信に係る規格であっても、無線通信に係る規格であってもよい。有線通信に係る規格は、例えば、USBや、RS232C等のUSB以外のシリアル通信規格、IEEE1284等のパラレル通信規格、イーサネット(登録商標)である。また、無線通信に係る規格は、例えば、Wi−Fi(登録商標)等の無線LANに係る通信規格、Bluetooth(登録商標)等の近距離無線通信に係る規格である。
図3は、印刷装置制御サーバー2a、管理サーバー2b、及びファイル提供サーバー2cの機能的構成を示すブロック図である。
図3に示すように、印刷装置制御サーバー2aは、第1サーバー制御部30と、第1サーバー通信部31と、第1サーバー記憶部32とを備える。
第1サーバー制御部30は、CPUや、ROM、RAM、ASIC、信号処理回路等を備え、印刷装置制御サーバー2aの各部を制御する。
第1サーバー通信部31は、第1サーバー制御部30の制御で、所定の通信規格に従って、グローバルネットワークGNと接続する機器と通信する。
第1サーバー記憶部32は、不揮発性メモリーを備え、各種データを記憶する。第1サーバー記憶部32が記憶するデータについては後述する。
図3に示すように、管理サーバー2bは、第2サーバー制御部40と、第2サーバー通信部41と、第2サーバー記憶部42とを備える。
第2サーバー制御部40は、CPUや、ROM、RAM、ASIC、信号処理回路等を備え、管理サーバー2bの各部を制御する。
第2サーバー通信部41は、第2サーバー制御部40の制御で、所定の通信規格に従って、グローバルネットワークGNと接続する機器と通信する。
第2サーバー記憶部42は、不揮発性メモリーを備え、各種データを記憶する。第2サーバー記憶部42が記憶するデータについては後述する。
図3に示すように、ファイル提供サーバー2cは、第3サーバー制御部50と、第3サーバー通信部51と、第3サーバー記憶部52とを備える。
第3サーバー制御部50は、CPUや、ROM、RAM、ASIC、信号処理回路等を備え、ファイル提供サーバー2cの各部を制御する。
第3サーバー通信部51は、第3サーバー制御部50の制御で、所定の通信規格に従って、グローバルネットワークGNと接続する機器と通信する。
第3サーバー記憶部52は、不揮発性メモリーを備え、各種データを記憶する。第3サーバー記憶部52が記憶するデータについては後述する。
次に、印刷装置10の電源がオンされた後の、印刷装置10、印刷装置制御サーバー2a、及び管理サーバー2bの動作について説明する。
図4は、印刷装置10の電源がオンされた後の、印刷装置10、印刷装置制御サーバー2a、及び管理サーバー2bの動作を示すフローチャートである。図4のフローチャートFAは印刷装置10の動作を示し、フローチャートFBは印刷装置制御サーバー2aの動作を示し、フローチャートFCは管理サーバー2bの動作を示す。
例えば、印刷装置10は、印刷装置10が設けられた店舗において、店舗の開店前の所定のタイミングで、ユーザーにより電源がオンされる。
図4のフローチャートFAに示すように、印刷装置10の電源がオンされると(ステップS1)、印刷装置10の印刷装置制御部20は、第1サーバーアクセス用アドレス情報J1を取得する(ステップSA1)。第1サーバーアクセス用アドレス情報J1は、印刷装置制御サーバー2aのアドレスを示す情報である。第1サーバーアクセス用アドレス情報J1は、印刷装置10に事前に登録され、印刷装置記憶部21の所定の記憶領域に記憶される。
次いで、印刷装置制御部20は、印刷装置ネットワーク通信部23を制御して、第1サーバーアクセス用アドレス情報J1に基づいてWebSocketに従って印刷装置制御サーバー2aにアクセスし、印刷装置制御サーバー2aとの間でWebSocketコネクションを確立する(ステップSA2)。
WebSocketは、ネットワークを介して接続されたサーバー(本例の場合は、印刷装置制御サーバー2a。)と、クライアント(本例の場合は、印刷装置10。)との間で、非同期な双方向通信を可能とする通信規格の1つである。WebSocketコネクションは、当該コネクションで接続されたサーバー(本例の場合は、印刷装置制御サーバー2a。)と、クライアント(本例の場合は、印刷装置10。)との間で、WebSocketのプロトコル、手続きに従ってデータを送受信する論理的な通信経路のことである。
ステップSA2でWebSocketコネクションを確立した後、印刷装置10と、印刷装置制御サーバー2aとは、WebSocketコネクションを介して、非同期で双方向通信(WebSocket通信)する。
このように、印刷装置10は、電源のオン時に、印刷装置制御サーバー2aにアクセスして、当該サーバーとの間でWebSocketコネクションを確立し、当該サーバーとの間で非同期で双方向通信できる状態を確立する。
なお、詳細な説明は省略するが、WebSocketコネクションの確立に際し、既存の技術により、印刷装置制御サーバー2aによる印刷装置10の認証、及び、印刷装置10による印刷装置制御サーバー2aの認証が適切に行われる。
また、本実施形態では、印刷装置10と、印刷装置制御サーバー2aとの間での通信に使用する通信規格は、WebSocketであるが、これは一例であり、他の通信規格を使用してもよい。
WebSocketコネクションを確立した後、印刷装置制御部20は、起動時印刷装置情報J2を生成する(ステップSA3)。
起動時印刷装置情報J2は、印刷装置識別情報J3と、起動通知情報J4とを少なくとも含む情報である。
印刷装置識別情報J3は、印刷装置10を一意に識別する識別情報であり、印刷装置10ごとに異なる値の印刷装置識別情報J3が割り振られる。印刷装置識別情報J3として、印刷装置10の製造段階で、印刷装置10に割り振られるシリアル番号を用いることができる。印刷装置識別情報J3は、印刷装置10に事前に登録され、印刷装置記憶部21の所定の記憶領域に記憶される。起動通知情報J4は、印刷装置10の電源がオンされ、印刷装置10が起動したことを通知する情報である。
ステップSA3で起動時印刷装置情報J2を生成した後、印刷装置制御部20は、印刷装置ネットワーク通信部23を制御して、WebSocketコネクションを介して、ステップSA3で取得した印刷装置識別情報J3を、印刷装置制御サーバー2aに送信する(ステップSA4)。
図4のフローチャートFBに示すように、印刷装置制御サーバー2aの第1サーバー制御部30は、第1サーバー通信部31を制御して、起動時印刷装置情報J2を受信する(ステップSB1)。
次いで、第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を生成する。
次いで、第1サーバー制御部30は、印刷装置認証情報J6を生成する(ステップSB3)。
印刷装置認証情報J6は、印刷装置識別情報J3、及び、第2サーバーアクセス用パスワード情報J5を少なくとも含む情報である。
次いで、第1サーバー制御部30は、第1サーバー通信部31を制御して、ステップSB3で生成した印刷装置認証情報J6を、管理サーバー2bに送信する(ステップSB4)。
図4のフローチャートFCに示すように、管理サーバー2bの第2サーバー制御部40は、第2サーバー通信部41を制御して、印刷装置認証情報J6を受信する(ステップSC1)。
次いで、第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の値によって更新する。
なお、本実施形態では、印刷装置認証情報管理データベースDB2aを管理サーバー2bが記憶し、当該データベースを管理サーバー2bが更新する。しかしながら、印刷装置認証情報管理データベースDB2aは必ずしも管理サーバー2bが記憶する必要は無い。印刷装置認証情報管理データベースDB2aは、管理サーバー2bが参照可能な場所に存在すればよく、また、当該データベースを更新する主体は印刷装置制御サーバー2aであってもよい。
図4のフローチャートFBに示すように、印刷装置認証情報J6を管理サーバー2bに送信した後、第1サーバー制御部30は、第2サーバーアクセス関連情報J7を生成する(ステップSB5)。
第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の負荷分散を効果的に図ることができる。
第2サーバーアクセス関連情報J7を生成した後、第1サーバー制御部30は、第1サーバー通信部31を制御して、第2サーバーアクセス関連情報J7を印刷装置10に送信する(ステップSB6)。
図4のフローチャートFAに示すように、印刷装置10の印刷装置制御部20は、印刷装置ネットワーク通信部23を制御して、第2サーバーアクセス関連情報J7を受信する(ステップSA5)。
次いで、印刷装置制御部20は、受信した第2サーバーアクセス関連情報J7を印刷装置記憶部21の所定の記憶領域に記憶する(ステップSA6)。印刷装置記憶部21に既に記憶された第2サーバーアクセス関連情報J7が存在する場合、ステップSA6で、印刷装置制御部20は、既存の第2サーバーアクセス関連情報J7に対して、受信した第2サーバーアクセス関連情報J7を上書きして記憶する。
以上のように、印刷装置10は、電源のオン時に、印刷装置制御サーバー2aにアクセスし、印刷装置制御サーバー2aから第2サーバーアクセス関連情報J7を受信し、受信した当該情報を記憶する。
次に、印刷装置10が起動した状態の間における、印刷装置10、管理サーバー2b、及びファイル提供サーバー2cの動作について説明する。
図5は、印刷装置10が起動した状態の間における、印刷装置10、管理サーバー2b、及びファイル提供サーバー2cの動作を示すフローチャートである。図5のフローチャートFDは印刷装置10の動作を示し、フローチャートFEは管理サーバー2bの動作を示し、フローチャートFFはファイル提供サーバー2cの動作を示す。
図5のフローチャートFDに示すように、印刷装置10の印刷装置制御部20は、後述する定期印刷装置情報J9を管理サーバー2bに送信するタイミングが到来したか否かを監視する(ステップSD1)。
ここで、印刷装置10は、印刷装置10が起動した状態の間、所定の間隔(例えば、1時間。)をあけて、定期的に、後述する定期印刷装置情報J9を管理サーバー2bに送信する。ステップSD1において、印刷装置制御部20は、前回、定期印刷装置情報J9を送信した後、当該所定の間隔が経過したことを検出した場合、定期印刷装置情報J9を送信するタイミングが到来したと判別する。なお、印刷装置制御部20は、電源のオンに応じて、印刷装置制御サーバー2aから上述した第2サーバーアクセス関連情報J7を受信した場合、受信したことをトリガーとして、1回目の定期印刷装置情報J9の送信を行う。
印刷装置10が定期印刷装置情報J9を送信する所定の間隔を示す情報は、印刷装置10に事前に登録され、印刷装置記憶部21の所定の記憶領域に記憶される。
ステップSD1において定期印刷装置情報J9を送信するタイミングが到来したと判別した場合(ステップSD1:YES)、印刷装置制御部20は、定期印刷装置情報J9を生成する(ステップSD2)。
定期印刷装置情報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の所定の記憶領域に記憶される。
ステップSD2で定期印刷装置情報J9を生成した後、印刷装置制御部20は、以下の処理を実行する(ステップSD3)。すなわち、印刷装置制御部20は、印刷装置記憶部21の所定の記憶領域に記憶した第2サーバーアクセス関連情報J7を参照し、当該情報に含まれる第2サーバーアクセス用アドレス情報J8を取得する。次いで、印刷装置制御部20は、印刷装置ネットワーク通信部23を制御して、取得した第2サーバーアクセス用アドレス情報J8が示すアドレス(管理サーバー2bのアドレス)を宛先として、生成した定期印刷装置情報J9を送信する。
ステップ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レスポンスとして情報が送信されることによって、これら装置間で情報の送受信が行われる。
図5のフローチャートFEに示すように、管理サーバー2bの第2サーバー制御部40は、第2サーバー通信部41を制御して、定期印刷装置情報J9を受信する(ステップSE1)。
次いで、第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のオペレーター等の正当な権限を有する者に対して、所定の手段で、認証が失敗したことを通知する。
ステップSE2の認証処理で認証が成功したと判別した場合、第2サーバー制御部40は、ファームウェアバージョン管理データベースDB2bを参照する(ステップSE3)。
ファームウェアバージョン管理データベース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の内容は、所定の手段によって、適切なタイミングで更新される。
次いで、第2サーバー制御部40は、第1の条件(所定の条件)が成立するか否かを判別する(ステップSE4)。
第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の条件が成立すると判別する。
ステップSE4において、第1の条件が成立しないと判別した場合(ステップSE4:NO)、第2サーバー制御部40は、ファームウェアの更新を行わないことを指示する情報を含む不実行指示情報J13を生成する(ステップSE5)。
次いで、第2サーバー制御部40は、第2サーバー通信部41を制御して、HTTPレスポンスとして、不実行指示情報J13を印刷装置10に送信する(ステップSE6)。
ステップSE4において、第1の条件が成立すると判別した場合(ステップSE4:YES)、第2サーバー制御部40は、第2サーバー記憶部42が記憶する更新管理データベースDB2cを参照する(ステップSE7)。
更新管理データベースDB2cは、印刷装置10ごとにレコードを有する。更新管理データベースDB2cの1の印刷装置10に対応するレコードは、当該1の印刷装置10の印刷装置識別情報J3と、当該1の印刷装置10についての更新可否情報J14と、当該1の印刷装置10についての更新可能時間帯情報J15と、を有する。
更新可否情報J14は、印刷装置10に現時点でインストールされているファームウェアのバージョンよりも新しいバージョンのファームウェアが存在する場合において、当該新しいバージョンのファームウェアへの更新を許可するか否かを示す情報である。更新可否情報J14は、値として、更新を許可することを示す値と、更新を許可しないことを示す値とのいずれかをとる。
以下の説明では、ステップ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ファームウェアを書換える。
ここで、印刷装置10にインストール可能な新ファームウェアが存在する場合であっても、既存ファームウェアを新ファームウェアにより更新することが許可されない場合がある。例えば、新ファームウェアの動作テストが完了しておらず、又は、動作テストの結果が正常ではなく、既存ファームウェアを新ファームウェアにより更新することが適切でない場合である。また例えば、1の印刷装置10について、ユーザーとの間で、既存ファームウェアを新ファームウェアにより更新することができない旨の契約が存在する場合である。また例えば、既存ファームウェアを新ファームウェアにより更新することについてユーザーが望まない場合である。
そして、1の印刷装置10について、既存ファームウェアを新ファームウェアにより更新することが許可されない場合、当該1の印刷装置10の更新可否情報J14の値は、更新を許可しないことを示す値とされる。一方、1の印刷装置10について、既存ファームウェアを新ファームウェアにより更新することが許可される場合、当該1の印刷装置10の更新可否情報J14の値は、更新を許可することを示す値とされる。
更新可能時間帯情報J15は、印刷装置10が既存ファームウェアを新ファームウェアにより更新する処理を実行可能な時間帯を示す情報である。
ここで、上述したように、印刷装置10は、店舗のレジカウンターに設けられ、レジカウンターで行われる会計に応じてレシートを発行する。従って、店舗が開店してから閉店するまでの時間帯は、店舗で行われる業務に影響を与えるため、印刷装置10は、既存ファームウェアを新ファームウェアにより更新する処理を実行できない。また、店舗によっては、印刷装置10が、レシートの発行以外の別の用途で使用される場合もあり、この場合において、印刷装置10が当該別の用途で使用される時間帯は、印刷装置10は、既存ファームウェアを新ファームウェアにより更新する処理を実行できない。このように、印刷装置10ごとに、印刷装置10が印刷を実行する可能性がある時間帯と、当該時間帯を除く印刷装置10が印刷を実行しない時間帯とが存在する。
そして、1の印刷装置10について、当該1の印刷装置10の更新可能時間帯情報J15は、当該1の印刷装置10が印刷を実行せず、印刷装置10が既存ファームウェアを新ファームウェアにより更新する処理を実行可能な時間帯を示す情報とされる。
なお、本実施形態では、印刷装置10が店舗に設けられ、レシートの発行に用いられる場合を例とするが、印刷装置10が設けられる場所は店舗に限られず、また、印刷装置10の用途もレシートの発行に限られない。これを踏まえ、更新可能時間帯情報J15が示す時間帯は、印刷装置10が設けられた環境、及び、印刷装置10の用途に応じて、適切に定められる。
更新管理データベースDB2cの内容は、所定の手段によって、適切なタイミングで更新される。
ステップSE7で更新管理データベースDB2cを参照した後、第2サーバー制御部40は、第2の条件(所定の条件)が成立するか否かを判別する(ステップSE8)。
第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:NO)、第2サーバー制御部40は、上述したステップSE5の処理、及び、上述したステップSE6の処理を実行する。
一方、ステップ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の条件が成立しないと判別する。
ステップSE9で第3の条件が成立しないと判別した場合(ステップSE9:NO)、第2サーバー制御部40は、上述したステップSE5の処理、及び、上述したステップSE6の処理を実行する。
なお、第1の条件、第2の条件、及び、第3の条件の全てが成立する場合、第2サーバー制御部40は、既存ファームウェアを、新ファームウェアにより更新させると判別する。
ステップSE9で第3の条件が成立すると判別した場合(ステップSE9:YES)、第2サーバー制御部40は、ランダムURL情報J16を生成する(ステップSE10)。
ランダムURL情報J16は、印刷装置10がファイル提供サーバー2cから新ファームウェアをダウンロードする際にアクセスするファイル提供サーバー2cのURL(アドレス)を示す情報である。
ランダムURL情報J16は、「書換え用ファームウェアの格納場所を指定するアドレス」に相当する。
ランダムURL情報J16の値は、固定値ではなく、生成する度に値が変わる可変値とされる。ステップSE10において、第2サーバー制御部40は、例えば、以下の処理を実行する。すなわち、第2サーバー制御部40は、ランダムURL情報J16が示すURLのうち、ホスト名、及び、パス名は、予め定められた値とする。また、第2サーバー制御部40は、ランダムに値を生成し、生成した値を、ランダムURL情報J16が示すURLにパラメーターとして付加する。
次いで、第2サーバー制御部40は、以下の処理を実行する(ステップSE11)。すなわち、第2サーバー制御部40は、ファームウェアバージョン管理データベースDB2bを参照し、新ファームウェアバージョン通知情報J23を生成する。
新ファームウェアバージョン通知情報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に含める。
次いで、第2サーバー制御部40は、更新関連情報J24を生成する(ステップSE12)。
更新関連情報J24は、生成したランダムURL情報J16と、生成した新ファームウェアバージョン通知情報J23とを少なくとも含む情報である。
次いで、第2サーバー制御部40は、第2サーバー通信部41を制御して、更新関連情報J24をファイル提供サーバー2cに送信する(ステップSE13)。
図5のフローチャートFFに示すように、ファイル提供サーバー2cの第3サーバー制御部50は、更新関連情報J24を受信する(ステップSF1)。
次いで、第3サーバー制御部50は、更新関連情報J24を第3サーバー記憶部52の所定の記憶領域に記憶する(ステップSF2)。更新関連情報J24は、第3サーバー記憶部52に累積的に記憶される。
図5のフローチャートFEに示すように、管理サーバー2bの第2サーバー制御部40は、更新指示情報J25を生成する(ステップSE14)。
更新指示情報J25は、ファームウェアの更新を行うことを指示する情報と、生成したランダムURL情報J16とを少なくとも含む情報である。
次いで、第2サーバー制御部40は、第2サーバー通信部41を制御して、生成した更新指示情報J25をHTTPレスポンスとして印刷装置10に送信する。
図5のフローチャートFDに示すように、印刷装置10の印刷装置制御部20は、印刷装置ネットワーク通信部23を制御して、ステップSE6で管理サーバー2bが送信した不実行指示情報J13、又は、ステップSE15で管理サーバー2bが送信した更新指示情報J25を受信する(ステップSD4)。
次いで、印刷装置制御部20は、受信した情報が、不実行指示情報J13であるか否かを判別する(ステップSD5)。
受信した情報が不実行指示情報J13の場合(ステップSD5:YES)、印刷装置制御部20は、処理手順をステップSD1へ移行する。この場合、ファームウェアの更新は行われない。
受信した情報が不実行指示情報J13ではない場合(ステップSD5:NO)、換言すれば、受信した情報が更新指示情報J25の場合、印刷装置制御部20は、ファームウェア更新処理を実行する(ステップSD6)。
以下、ファームウェア更新処理について詳述する。
図6は、印刷装置10がファームウェア更新処理を実行するときの、印刷装置10、管理サーバー2b、及びファイル提供サーバー2cの動作を示すフローチャートである。図6のフローチャートFGは印刷装置10の動作を示し、フローチャートFHは管理サーバー2bの動作を示し、フローチャートFIはファイル提供サーバー2cの動作を示す。
フローチャートFGの処理が、ファームウェア更新処理に相当する。
以下の説明では、既存ファームウェアを新ファームウェアにより更新することを、適宜、「ファームウェアを更新する」と表現する。ファームウェアを更新する処理は、ファームウェアを書換える処理に相当する。
図6のフローチャートFGに示すように、印刷装置10の印刷装置制御部20は、ファームウェアの更新に係る処理を実行可能な状態か否かを判別する(ステップSG1)。例えば、印刷を実行中の場合や、印刷装置10の筐体に設けられたカバーが開状態の場合、印刷装置10にファームウェアの更新に係る処理を実行できないエラーが発生している状態の場合、印刷装置制御部20は、ファームウェアの更新に係る処理を実行できないと判別する。
ファームウェアの更新に係る処理を実行可能な状態ではない場合(ステップSG1:NO)、印刷装置制御部20は、対応する処理を実行する(ステップSG2)。例えば、ステップSG2において、印刷装置制御部20は、待機すれば、ファームウェアの更新に係る処理を実行可能な状態へ移行する状況であれば、ファームウェアの更新に係る処理を実行可能な状態へ移行するまでの間待機し、処理手順をステップSG3へ移行する。また例えば、ステップSG2において、印刷装置制御部20は、待機してもファームウェアの更新に係る処理を実行可能な状態へ移行するか否か不明な状況であれば、管理サーバー2b、その他の装置に通知し、また、所定の手段でユーザーに通知する。
ステップSG1において、ファームウェアの更新に係る処理を実行可能な状態であると判別した場合(ステップSG1:YES)、印刷装置制御部20は、動作モードを、ファームウェア更新モードへ移行する(ステップSG3)。印刷装置制御部20は、動作モードがファームウェア更新モードの間、印刷に係る処理等の、ファームウェアの更新に係る処理に影響を与える可能性のある処理の実行を禁止する。
次いで、印刷装置制御部20は、印刷部22を制御して、ファームウェアの更新を開始する旨の情報をロール紙に印刷する(ステップSG4)。
図7は、ステップSG4でロール紙に印刷される情報の一例を示す図である。
図7に示すように、ロール紙には、ファームウェアの更新を開始する旨、ファームウェアの更新が完了した場合そのことが通知される旨、及びファームウェアの更新が完了するまでは印刷装置10の電源をオフしないようにすべき旨を示す情報が印刷される。ユーザーは、ロール紙に印刷された情報を視認することにより、ファームウェアの更新が開始されること、及び、注意すべき点について、的確に認識できる。
なお、印刷装置10が、液晶表示パネル等の表示パネルを有さず、これにより小型化が図られている場合に、ステップSG4の処理が行われることにより、印刷装置10が印刷する機能を有することを効果的に利用して、ユーザーに必要な情報を通知できる。
また、印刷装置10が、液晶表示パネル等の表示パネルを有する場合、表示パネルに上記情報を表示してもよい。
次いで、印刷装置制御部20は、印刷装置ネットワーク通信部23を制御して、ファームウェアの更新が可能な状態であることを通知する情報を、HTTPリクエストにより、管理サーバー2bに通知する(ステップSG5)。
図6のフローチャートFHに示すように、管理サーバー2bの第2サーバー制御部40は、第2サーバー通信部41を制御して、ステップSG5で印刷装置10が送信した情報を受信する(ステップSH1)。
次いで、第2サーバー制御部40は、第2サーバー記憶部42が記憶するハッシュ値管理データベースDB2dを参照する(ステップSH2)。
ハッシュ値管理データベースDB2dは、ファームウェアごとに、各バージョンのファームウェアのハッシュ値を管理するデータベースである。ファームウェアのハッシュ値とは、ファームウェアのファイルデータから、所定のハッシュ関数を用いて得られるハッシュ値である。ハッシュ値管理データベースDB2dは、1のバージョンの1のファームウェアについて、当該1のバージョンの当該1のファームウェアを識別する識別情報と、当該1のバージョンを識別する識別情報と、当該1のバージョンの当該1のファームウェアのハッシュ値とを対応付けて記憶する。
次いで、第2サーバー制御部40は、ハッシュ値管理データベースDB2dに基づいて、既存ファームウェアを更新する新ファームウェアのハッシュ値を取得する(ステップSH3)。ステップSH3において、第2サーバー制御部40は、既存第1ファームウェアを新第1ファームウェアにより更新させる場合は、新第1ファームウェア識別情報J17及び新第1ファームウェアバージョン情報J18に基づいて、新第1ファームウェアのハッシュ値を取得する。より詳細には、第2サーバー制御部40は、図5のフローチャートFEのステップSE11で生成した新ファームウェアバージョン通知情報J23に含まれる新第1ファームウェアの新ファームウェア識別情報J17を取得すると共に、ファームウェアバージョン管理データベースDB2bに基づいて新第1ファームウェアの新第1ファームウェアバージョン情報J18を取得する。次いで、第2サーバー制御部40は、ハッシュ値管理データベースDB2dにおいて、取得した新ファームウェア識別情報J17の値と同一の値のファームウェアを識別する識別情報と、取得した第1ファームウェアバージョン情報J18の値のバージョンを識別する識別情報との組み合わせと対応付けられたハッシュ値を取得する。
また、第2サーバー制御部40は、既存第2ファームウェアを更新する新第2ファームウェアが存在する場合は、新第2ファームウェア識別情報J20及び新第2ファームウェアバージョン情報J21に基づいて、新第2ファームウェアのハッシュ値を取得する。愛2サーバー制御部40は、新第1ファームウェアのハッシュ値を取得する方法と、同様の方法で新第1ファームウェアのハッシュ値を取得する。
次いで、第2サーバー制御部40は、秘密鍵を取得する(ステップSH4)。
秘密鍵は、公開鍵暗号化方式に対応する暗号化キーである。秘密鍵は、管理サーバー2bに事前に登録され、第2サーバー記憶部42の所定の記憶領域に記憶される。後述するように、印刷装置10には、管理サーバー2bが記憶する秘密鍵に対応する公開鍵が記憶される。
次いで、第2サーバー制御部40は、ステップSH3で取得したハッシュ値を、秘密鍵によって暗号化して署名情報J26を生成する(ステップSH5)。なお、ステップSH3で新第1ファームウェアのハッシュ値、及び、新第2ファームウェアの2つのハッシュ値を取得した場合、ステップSH5において、第2サーバー制御部40は、それぞれのハッシュ値に基づいて、2個の署名情報J26を生成する。
次いで、第2サーバー制御部40は、第2サーバー通信部41を制御して、HTTPレスポンスとして、ステップSH5で生成した1個又は2個の署名情報J26を印刷装置10に送信する(ステップSH6)。
図6のフローチャートFGに示すように、印刷装置10の印刷装置制御部20は、印刷装置ネットワーク通信部23を制御して、署名情報J26を受信する(ステップSG6)。
次いで、印刷装置制御部20は、公開鍵を取得する(ステップSG7)。
公開鍵は、公開鍵暗号化方式に対応する復号化キーである。ここで、第1ファームウェア21aのデータ部には、公開鍵が記述される。ステップSG7において、印刷装置制御部20は、第1ファームウェア21aのデータ部を参照し、公開鍵を取得する。
次いで、印刷装置制御部20は、ステップSG7で取得した公開鍵により、ステップSG6で受信した署名情報J26を復号し、ハッシュ値を生成する(ステップSG8)。ステップSG8において、印刷装置制御部20は、2つの署名情報J26を受信した場合は、2つの署名情報J26のそれぞれを復号し、ハッシュ値を生成する。
次いで、印刷装置制御部20は、ステップSD4で受信した更新指示情報J25に含まれるランダムURL情報J16が示すアドレス(URL)を宛先として、ファームウェアの送信を要求する情報を、HTTPリクエストによりファイル提供サーバー2cに送信する(ステップSG9)。
図6のフローチャートFIに示すように、ファイル提供サーバー2cの第3サーバー制御部50は、第3サーバー通信部51を制御して、ステップSG9で印刷装置10が送信した情報を受信する(ステップSI1)。
次いで、第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の正当性を担保できる。
次いで、第3サーバー制御部50は、第3サーバー記憶部52が記憶するファイル管理データベースDB3a
を参照する(ステップSI3)。
ファイル管理データベースDB3aは、ファームウェアのそれぞれについて、各バージョンのファームウェアのファイルデータを記憶するデータベースである。ファイル管理データベースDB3aは、1のバージョンの1のファームウェアについて、当該1のファームウェアを識別する識別情報と、当該1のバージョンを識別する識別情報と、当該1のバージョンの当該1のファームウェアのファイルデータとを対応付けて記憶する。
次いで、第3サーバー制御部50は、ステップSI2で取得した更新関連情報J24に含まれる新ファームウェアバージョン通知情報J23と、ステップSI3で参照したファイル管理データベースDB3aとに基づいて、新ファームウェアのファイルデータを取得する(ステップSI4)。上述したように、新ファームウェアバージョン通知情報J23は、新ファームウェアについて、新ファームウェアを識別する識別情報と、新ファームウェアのバージョンを示す情報とを含む情報である。すなわち、新ファームウェアバージョン通知情報J23は、印刷装置10における既存ファームウェアの更新に用いる新ファームウェアについて、識別情報と、バージョンを示す情報とを有する。
ステップSI4において、第3サーバー制御部50は、既存第1ファームウェアを更新する場合は、当該ファームウェアの更新に用いる新第1ファームウェアのファイルデータを取得する。また、第3サーバー制御部50は、既存第2ファームウェアを更新する場合は、当該ファームウェアの更新に用いる新第2ファームウェアのファイルデータを取得する。また、第3サーバー制御部50は、既存第1ファームウェア、及び、既存第2ファームウェアの双方を更新する場合は、新第1ファームウェアのファイルデータ、及び、新第2ファームウェアのファイルデータを取得する。
次いで、第3サーバー制御部50は、第3サーバー通信部51を制御して、ステップSI4で取得した新ファームウェアのファイルデータを、印刷装置10に送信する(ステップSI5)。
ステップSI5で送信される新ファームウェアのファイルデータは、「書換え用ファームウェア」に相当する。
図6のフローチャートFGに示すように、印刷装置10の印刷装置制御部20は、印刷装置ネットワーク通信部23を制御して、新ファームウェアのファイルデータを受信する(ステップSG10)。
次いで、印刷装置制御部20は、新ファームウェアのファイルデータから、所定のハッシュ関数を用いてハッシュ値を生成する(ステップSG11)。ステップSG11において、印刷装置制御部20は、ファイルデータが2個ある場合は、2個のファイルデータのそれぞれについて、所定のハッシュ関数を用いてハッシュ値を生成する。
ステップSG11で使用される所定のハッシュ関数は、管理サーバー2bが記憶するハッシュ値を生成するときに用いられたハッシュ関数と同一である。所定のハッシュ関数は、印刷装置10に事前に登録され、印刷装置記憶部21の所定の記憶領域に記憶される。
次いで、印刷装置制御部20は、ステップSG8で公開鍵を用いて生成したハッシュ値と、ステップSG10で所定のハッシュ関数を用いて生成したハッシュ値とを比較する(ステップSG12)。ステップSG8で公開鍵を用いて生成したハッシュ値と、ステップSG10で所定のハッシュ関数を用いて生成したハッシュ値とが同一の場合、印刷装置10がファイル提供サーバー2cから受信した新ファームウェアのファイルデータが改ざんされていない(ファイルデータに正当性がある)、ということである。ステップSG12の処理は、新ファームウェアのファイルデータ(書換え用ファームウェア)の正当性を判別する処理に相当する。
特に、本実施形態では、新ファームウェアのファイルデータの送信元の装置(ファイル提供サーバー2c)と、当該ファイルデータの正当性の判別に用いる署名情報J26の送信元の装置(管理サーバー2b)とが異なる構成である。この構成のため、新ファームウェアのファイルデータと署名情報J26とを同一の装置が印刷装置10に対して送信する構成と比較して、第三者が、当該ファイルデータと署名情報J26との双方を取得する可能性を効果的に低減できる。これにより、当該ファイルデータ及び署名情報J26の双方を用いて、第三者により秘密鍵が解読される可能性を効果的に低減でき、ファイルデータの正当性を的確に判別でき、ファイルデータの改ざんを防止できる。
次いで、印刷装置制御部20は、ステップSG8で公開鍵を用いて生成したハッシュ値と、ステップSG10で所定のハッシュ関数を用いて生成したハッシュ値とが同一か否かを判別する(ステップSG13)。
ハッシュ値が同一ではない場合(ステップ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ファームウェアのファイルデータとのうち、一方のファイルデータを受信した場合は、対応する既存ファームウェアを受信したファイルデータにより更新する。
ここで、本実施形態に係る印刷装置10は、第1ファームウェア21a、及び、第2ファームウェア21bの2つのファームウェアを記憶する。そして、上述したように、一方のファームウェアの更新が必要な状況では、ファイル提供サーバー2cから印刷装置10に対して、当該一方のファームウェアのファイルデータのみが送信される。この構成のため、ファイル提供サーバー2cから印刷装置10に対して送信されるデータのデータ量の低減、データ量の低減に伴う通信効率の向上、及び、印刷装置10においてファームウェアを更新する処理の処理効率の向上を図ることができる。
次いで、印刷装置制御部20は、印刷部22を制御して、ファームウェアの更新が完了した旨の情報をロール紙に印刷する(ステップSG16)。
図8は、ステップSG16でロール紙に印刷される情報の一例を示す図である。
図8に示すように、ロール紙には、ファームウェアの更新が完了した旨を示す情報、再起動を促す情報が印刷される。ユーザーは、ロール紙に印刷された情報を視認することにより、ファームウェアの更新が完了したこと、及び、再起動すべきことについて、的確に認識できる。また、印刷装置10が、液晶表示パネル等の表示パネルを有する場合、表示パネルに上記情報を表示してもよい。
次いで、印刷装置制御部20は、動作モードを、ファームウェア更新モードから通常モードへ移行する(ステップSG17)。
次に、印刷装置10の別の処理について説明する。
上述したように、署名情報J26を復号するときに用いる公開鍵は、第1ファームウェア21aのデータ部に記述される。そして、印刷装置制御部20は、第1ファームウェア21aの更新により公開鍵が改変されることを許可する一方、第1ファームウェア21aの更新以外の方法で公開鍵が改変されることを禁止する。従って、印刷装置10と通信可能な外部の装置から印刷装置10に制御コマンドを送信し、公開鍵を改変することはできない。これにより以下の効果を奏する。すなわち、本実施形態では、ファームウェアの更新に際し、新ファームウェアのファイルデータの正当性が判別され、改ざんされた新ファームウェアのファイルデータにより、既存ファームウェアが更新されることが防止される。従って、ファームウェアの更新により改変された公開鍵は正当性を有する公開鍵であるとみなすことができる。これを踏まえ、第1ファームウェア21aの更新により公開鍵が改変されることを許可する一方、第1ファームウェア21aの更新以外の方法で公開鍵が改変されることを禁止することによって、不正に公開鍵が改変されることを防止できる。
以上説明したように、本実施形態に係る印刷装置10は、サーバーユニット2(サーバー)が有する印刷装置制御サーバー2a、管理サーバー2b、及び、ファイル提供サーバー2cと接続可能である。印刷装置10は、管理サーバー2bに定期印刷装置情報J9(印刷装置情報)を送信し、所定の条件を満たす場合に、管理サーバー2bから新ファームウェアのファイルデータ(書換え用ファームウェア)の格納場所を指定するアドレスを受信する印刷装置ネットワーク通信部23と、印刷装置ネットワーク通信部23で受信したアドレスに基づいて、ファイル提供サーバー2cから新ファームウェアのファイルデータを受信してファームウェアの書換え(更新)を実行する印刷装置制御部20と、を備える。
この構成によれば、印刷装置10は、管理サーバー2bで所定の条件を満たすと判別された場合に、新ファームウェアのファイルデータの格納場所を指定するアドレスを受信し、アドレスに基づいて新ファームウェアのファイルデータを受信し、ファームウェアの書換えを行う。このため、所定の条件を満たさない場合に、印刷装置10が新ファームウェアのファイルデータの格納場所を指定するアドレスを取得することを防止でき、また、管理サーバー2bで、印刷装置10のファームウェアの書換えの可否や、書換えに係る処理を実行するタイミングを制御できる。すなわち、本実施形態によれば、サーバーユニット2と通信してファームウェアを書き換える印刷装置10について、サーバーユニット2と通信することを踏まえた適切な方法でファームウェアの書き換えを実行できる。
また、本実施形態では、定期印刷装置情報J9は、印刷装置機種情報J12(印刷装置本体の機種を示す機種情報)と、第1ファームウェアバージョン情報J10、及び第2ファームウェアバージョン情報J11(ファームウェアのバージョンを示すバージョン情報)とを含む。そして、所定の条件を満たすか否かは、印刷装置10が送信した上記の情報に基づいて管理サーバー2bにより判別される。
この構成によれば、印刷装置10が送信する定期印刷装置情報J9に、印刷装置機種情報J12、第1ファームウェアバージョン情報J10、及び第2ファームウェアバージョン情報J11が含まれるため、管理サーバー2bにおいて、印刷装置10の機種、及び、既存ファームウェアのバージョンを踏まえて、印刷装置10におけるファームウェアの書換えが必要か否かを適切に判別することが可能となる。
また、本実施形態では、定期印刷装置情報J9は、印刷装置識別情報J3(印刷装置本体の識別情報)を含む。そして、所定の条件を満たすか否かは、印刷装置ネットワーク通信部23で送信した印刷装置識別情報J3に基づいて管理サーバー2bにより判別される。
この構成によれば、印刷装置10が送信する定期印刷装置情報J9に、印刷装置識別情報J3が含まれるため、管理サーバー2bにおいて、印刷装置10の印刷装置識別情報J3を利用して、印刷装置10の固有の事情を踏まえて、印刷装置10におけるファームウェアの書換えが必要か否かを適切に判別することが可能となる。
また、本実施形態では、所定の条件を満たすか否かは、印刷装置10によるファームウェアの書換えが許可されているか否かによって、管理サーバー2bにより判別される。
この構成によれば、管理サーバー2bにおいて、印刷装置10によるファームウェアの書換えが許可されているか否かを踏まえて、印刷装置10におけるファームウェアの書換えが必要か否かを適切に判別することが可能となる。
また、本実施形態では、所定の条件を満たすか否かは、ファームウェアの書換えが可能な時間帯か否かによって判別される。
この構成によれば、印刷装置10は、ファームウェアが書換え可能な時間帯に、当該書換えに係る処理を実行できる。
また、本実施形態では、ファームウェアの書換えが可能な時間帯は、印刷部22によるロール紙(印刷媒体)への印刷を実行しない時間帯である。
この構成によれば、印刷装置10は、印刷部22によるロール紙への印刷が行われない時間帯に、ファームウェアの書換えに係る処理を実行できる。
また、本実施形態では、印刷装置制御部20はファイル提供サーバー2cから新ファームウェアのファイルデータを受信してファームウェアの書換えを実行する前に、当該ファイルデータの正当性を判別する。
この構成によれば、新ファームウェアのファイルデータが正当性を有する場合に、ファームウェアの書換えが行われることにより、例えば、改ざんされたファイルデータによってファームウェアの書換えが実行されることを防止できる。
また、本実施形態では、印刷装置制御部20は、新ファームウェアのファイルデータが正当であると判別した場合、当該ファイルデータに基づくファームウェアの書換えを実行する。一方、印刷装置制御部20は、新ファームウェアのファイルデータが正当でないと判別した場合、当該ファイルデータに基づくファームウェアの書換えを実行しない。
この構成によれば、印刷装置10が記憶するファームウェアが、改ざんされた可能性のあるファームウェアに書き換えられることを防止できる。
また、以上説明したように、本実施形態では、ネットワークシステム1は、印刷装置10と、印刷装置10と接続可能なサーバーユニット2(サーバー)とを含んで構成される。サーバーユニット2は、印刷装置制御サーバー2aと、管理サーバー2bと、ファイル提供サーバー2cとを含んで構成される。サーバーユニット2の管理サーバー2bは、印刷装置10から定期印刷装置情報J9(印刷装置情報)を受信し、所定の条件を満たす場合に、印刷装置10に新ファームウェアのファイルデータ(書換え用ファームウェア)の格納場所を指定するアドレスを送信する。サーバーユニット2のファイル提供サーバー2cは、印刷装置10からアドレスに基づいて新ファームウェアのファイルデータの送信の要求を受信した場合、新ファームウェアのファイルデータを印刷装置10に送信する。
この構成によれば、サーバーユニット2は、所定の条件を満たさない場合に、印刷装置10が新ファームウェアのファイルデータの格納場所を指定するアドレスを取得することを防止でき、また、印刷装置10のファームウェアの書換えの可否や、書換えに係る処理を実行するタイミングを制御できる。すなわち、本実施形態によれば、印刷装置10と通信してファームウェアの書き換え用ファームウェアを印刷装置10に送信するサーバーユニット2、及び、ネットワークシステム1について、印刷装置10と通信することを踏まえた適切な方法で、書き換え用ファームウェアを印刷装置10に送信できる。
また、本実施形態では、定期印刷装置情報J9は、印刷装置機種情報J12(印刷装置10の機種を示す機種情報)と、第1ファームウェアバージョン情報J10、及び第2ファームウェアバージョン情報J11(ファームウェアのバージョンを示すバージョン情報)とを含む。サーバーユニット2の管理サーバー2bは、印刷装置10から受信した定期印刷装置情報J9と、記憶するファームウェアバージョン管理データベースDB2bにおいて対応付けて記憶された印刷装置機種情報J12、第1ファームウェアバージョン情報J10、及び第2ファームウェアバージョン情報J11とに基づいて、所定の条件を満たすか否かを判別する。
この構成によれば、管理サーバー2bは、印刷装置10の機種、及び、既存ファームウェアのバージョンを踏まえて、印刷装置10におけるファームウェアの書換えが必要か否かを適切に判別することができる。
また、本実施形態では、定期印刷装置情報J9は、印刷装置識別情報J3(印刷装置10を識別する識別情報)を含む。サーバーユニット2の管理サーバー2bは、印刷装置10から受信した印刷装置識別情報J3に基づいて、所定の条件を満たすか否かを判別する。
この構成によれば、管理サーバー2bは、印刷装置10の印刷装置識別情報J3を利用して、印刷装置10の固有の事情を踏まえて、印刷装置10におけるファームウェアの書換えが必要か否かを適切に判別することができる。
また、本実施形態では、管理サーバー2bは、印刷装置10がファームウェアの書換えが可能な時間帯か否かによって、所定の条件を満たすか否かを判別する。
この構成によれば、管理サーバー2bは、印刷装置10がファームウェアを書換え可能な時間帯に、当該書換えに係る処理を実行させることができる。
また、本実施形態では、印刷装置10がファームウェアの書換えが可能な時間帯は、印刷装置10が印刷を実行しない時間帯である。
この構成によれば、管理サーバー2bは、印刷装置10が印刷を実行しない時間帯に、当該書換えに係る処理を実行させることができる。
また、本実施形態では、サーバーユニット2は、印刷装置制御サーバー2a(第1のサーバー)、管理サーバー2b(第2のサーバー)、及び、ファイル提供サーバー2c(第3のサーバー)を含んで構成される。印刷装置制御サーバー2aは、印刷装置10からのアクセスに応じて、管理サーバー2bのアドレスを送信する。管理サーバー2bは、印刷装置10からのアクセスに基づいて、所定の条件を満たす場合にランダムURL情報J16(ファイル提供サーバー2cにおける書換え用ファームウェアの格納場所を指定するアドレス)を送信する。ファイル提供サーバー2cは、印刷装置10からのアクセスに基づいて、新ファームウェアのファイルデータを印刷装置10に送信する。
この構成によれば、サーバーユニット2が、印刷装置制御サーバー2a、管理サーバー2b、及び、ファイル提供サーバー2cを含んで構成されることを踏まえて、各サーバーに機能が割り振られることにより、各サーバーの負荷を分散できると共に、各サーバーが記憶するデータのデータ量を低減できる。
また、本実施形態では、印刷装置制御サーバー2aは、第2サーバーアクセス用パスワード情報J5(印刷装置10が管理サーバー2bにアクセスする際に使用するパスワード)を生成し、印刷装置10、及び管理サーバー2bに送信する。
この構成によれば、管理サーバー2bは、印刷装置制御サーバー2aが生成した第2サーバーアクセス用パスワード情報J5に基づいて、印刷装置10を認証できる。
また、本実施形態では、管理サーバー2bは、ファイル提供サーバー2cにおけるランダムURL情報J16が示すURL(書換え用ファームウェアの格納場所を指定するアドレスを)ランダムに生成し、印刷装置10、及び、ファイル提供サーバー2cに送信する。
この構成によれば、ランダムURL情報J16を受信した正当な印刷装置10以外の装置が、ファイル提供サーバー2cにアクセスして、新ファームウェアのファイルデータを取得することを防止できる。
また、以上説明したように、本実施形態に係るネットワークシステム1は、印刷装置10と、印刷装置10と通信可能な管理サーバー2bと、印刷装置10と通信可能なファイル提供サーバー2cとを含んで構成される。印刷装置10は、公開鍵暗号化方式に係る情報である公開鍵が付加されたファームウェアを記憶する印刷装置記憶部21を備える。印刷装置10は、管理サーバー2bから新ファームウェアのファイルデータのハッシュ値を公開鍵に対応する秘密鍵により暗号化した署名情報J26を受信し、また、ファイル提供サーバー2cから当該ファイルデータを受信する印刷装置ネットワーク通信部23(印刷装置通信部)を備える。印刷装置10は、印刷装置ネットワーク通信部23で管理サーバー2bから受信した署名情報J26を印刷装置記憶部21が記憶する公開鍵で復号して生成したハッシュ値と、印刷装置ネットワーク通信部23でファイル提供サーバー2cから受信した新ファームウェアのファイルデータのハッシュ値とを比較して、当該ファイルデータの正当性を判別する印刷装置制御部20を備える。
この構成によれば、新ファームウェアのファイルデータの送信元の装置(ファイル提供サーバー2c)と、当該ファイルデータの正当性の判別に用いる署名情報J26の送信元の装置(管理サーバー2b)とが異なる。これにより、第三者が、当該ファイルデータと署名情報J26との双方を取得する可能性を効果的に低減でき、当該ファイルデータ及び署名情報J26の双方を用いて、第三者により秘密鍵が解読される可能性を効果的に低減でき、印刷装置10は、当該ファイルデータの正当性の判別を的確に行える。すなわち、上記構成によれば、サーバーから受信した新ファームウェアのファイルデータに基づいて、ファームウェアの書き換えを実行する印刷装置10、及び、印刷装置10を含むネットワークシステム1について、印刷装置10と通信するサーバーの構成の特徴を利用して、新ファームウェアのファイルデータの正当性の判別を的確に行える。
また、本実施形態では、印刷装置制御部20は、新ファームウェアのファイルデータに正当性があると判別した場合、当該ファイルデータに基づいて、ファームウェアの書き換えを実行し、当該ファイルデータに正当性がないと判別した場合、当該ファイルデータに基づくファームウェアの書き換えを実行しない。
この構成によれば、印刷装置10が記憶するファームウェアが、改ざんされた可能性のあるファームウェアに書き換えられることを防止できる。
また、本実施形態では、印刷装置制御部20は、印刷装置ネットワーク通信部23で管理サーバー2bから受信した署名情報J26を印刷装置記憶部21が記憶する公開鍵で復号して生成したハッシュ値と、印刷装置ネットワーク通信部23でファイル提供サーバー2cから受信した新ファームウェアのファイルデータのハッシュ値とが同一の値である場合に、当該ファイルデータに正当性があると判別する。
この構成によれば、印刷装置10は、的確に新ファームウェアのファイルデータの正当性を判別できる。
また、本実施形態では、印刷装置制御部20は、新ファームウェアのファイルデータに正当性がないと判別した場合、印刷部22を制御して、ロール紙(印刷媒体)に、当該ファイルデータが改ざんされた可能性がある旨の情報を印刷する。
この構成によれば、ユーザーは、ロール紙に印刷された情報を視認することにより、新ファームウェアのファイルデータが改ざんされた可能性があることを的確に認識できる。
また、本実施形態では、印刷装置制御部20は、印刷装置記憶部21が記憶する公開鍵について、ファームウェアの書き換えに伴う改変を許可する一方、他の方法による改変を禁止する。
この構成によれば、不正に公開鍵が改変されることを防止できる。
なお、上述した実施の形態は、あくまでも本発明の一態様を示すものであり、本発明の範囲内で任意に変形および応用が可能である。
例えば、上述した実施形態では、印刷装置10が、店舗に適用される場合を例示して発明を説明したが、店舗システム3が適用される施設は、店舗に限らない。
また、図を用いて説明した各機能ブロックはハードウェアとソフトウェアにより任意に実現可能であり、特定のハードウェア構成を示唆するものではない。
2…サーバーユニット、2a…印刷装置制御サーバー、2b…管理サーバー、2c…ファイル提供サーバー、30…第1サーバー制御部、31…第1サーバー通信部、32…第1サーバー記憶部、40…第2サーバー制御部、41…第2サーバー通信部、42…第2サーバー記憶部、50…第3サーバー制御部、51…第3サーバー通信部、52…第3サーバー記憶部、DB2a…印刷装置認証情報管理データベース、DB2b…ファームウェアバージョン管理データベース、DB2c…更新管理データベース、DB2d…ハッシュ値管理データベース、DB3a…ファイル管理データベース。

Claims (8)

  1. 印刷装置と接続可能なサーバーであって、
    第1のサーバー、第2のサーバー、及び、第3のサーバーを含み、
    前記第1のサーバーは、前記印刷装置から印刷装置情報を受信すると前記第2のサーバーのアドレスを前記印刷装置に送信し、
    前記第2のサーバーは、前記印刷装置からアクセスを受けると、所定の条件を満たす場合に、前記印刷装置にファームウェアの書換え用ファームウェアの格納場所を示す前記第3のサーバーのアドレスを送信し、
    前記第3のサーバーは、前記印刷装置から記書換え用ファームウェアの送信の要求を受信すると前記書換え用ファームウェアを前記印刷装置に送信し、
    前記第1のサーバーは、前記第2のサーバーのアドレスを送信する際、前記第2のサーバーにアクセスする際に使用するパスワードを生成し、前記印刷装置、及び前記第2のサーバーに送信するサーバー。
  2. 前記印刷装置情報は、前記印刷装置の機種を示す機種情報と、前記ファームウェアのバージョンを示すバージョン情報とを含み、
    前記印刷装置から受信した前記機種情報および前記バージョン情報に基づいて、前記所定の条件を満たすか否かを判別する、請求項1に記載のサーバー。
  3. 前記印刷装置情報は、前記印刷装置を識別する識別情報を含み、
    前記印刷装置から受信した前記識別情報に基づいて、前記所定の条件を満たすか否かを判別する、請求項1に記載のサーバー。
  4. 前記印刷装置が前記ファームウェアの書換えが可能な時間帯か否かによって、前記所定の条件を満たすか否かを判別する、請求項1に記載のサーバー。
  5. 前記印刷装置が前記ファームウェアの書換えが可能な時間帯は、前記印刷装置が印刷を実行しない時間帯である、請求項4に記載のサーバー。
  6. 前記第2のサーバーは、前記第3のサーバーにおける前記書換え用ファームウェアの格納場所を指定するアドレスをランダムに生成し、前記印刷装置、及び前記第3のサーバーに送信する請求項1から5のいずれか1項に記載のサーバー。
  7. 印刷装置と接続可能な第1のサーバー、第2のサーバー、及び、第3のサーバーを含むサーバーの制御方法であって、
    記印刷装置から印刷装置情報を受信すると前記第2のサーバーのアドレスを前記印刷装置に送信し、
    前記印刷装置から前記第2のサーバーのアドレスに基づくアクセスを受けると、所定の条件を満たす場合に、前記印刷装置にファームウェアの書換え用ファームウェアの格納場所を示す前記第3のサーバーのアドレスを送信し、
    記印刷装置から前記第3のサーバーのアドレスに基づ前記書換え用ファームウェアの送信の要求を受信すると前記書換え用ファームウェアを前記印刷装置に送信し、
    前記第2のサーバーのアドレスを送信する際、前記第2のサーバーにアクセスする際に使用するパスワードを生成し、前記印刷装置、及び前記第2のサーバーに送信するサーバーの制御方法。
  8. 印刷装置と接続可能なサーバーであって、
    前記印刷装置から第1のアドレスに基づくアクセスを受けると、第2のアドレスと、前記第2のアドレスに基づくアクセスにおいて使用するパスワードとを前記印刷装置に出力し、
    前記印刷装置から前記第2のアドレスおよび前記パスワードに基づくアクセスを受けると、所定の条件を満たす場合に、書き換え用ファームウェアの格納場所を示す第3のアドレスを送信し、
    前記印刷装置から前記第3のアドレスに基づくアクセスを受けると、前記書き換え用ファームウェアを前記印刷装置に送信する、サーバー。
JP2016191721A 2016-09-29 2016-09-29 サーバー、及び、サーバーの制御方法 Active JP6747223B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 苏州工业园区威斯威尔智能科技有限公司 基于多终端个人热点控制的工业设备的控制系统及其控制方法

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