JP2021109356A - 印刷装置及び通信処理プログラム - Google Patents

印刷装置及び通信処理プログラム Download PDF

Info

Publication number
JP2021109356A
JP2021109356A JP2020001725A JP2020001725A JP2021109356A JP 2021109356 A JP2021109356 A JP 2021109356A JP 2020001725 A JP2020001725 A JP 2020001725A JP 2020001725 A JP2020001725 A JP 2020001725A JP 2021109356 A JP2021109356 A JP 2021109356A
Authority
JP
Japan
Prior art keywords
time information
printer
information
program
external
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.)
Pending
Application number
JP2020001725A
Other languages
English (en)
Inventor
茉也 田渕
Maya Tabuchi
茉也 田渕
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 JP2020001725A priority Critical patent/JP2021109356A/ja
Priority to US17/144,071 priority patent/US11435963B2/en
Publication of JP2021109356A publication Critical patent/JP2021109356A/ja
Pending legal-status Critical Current

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/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1218Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources
    • G06F3/1221Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources with regard to power consumption
    • 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
    • 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/1236Connection 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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • H04L9/3273Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response for mutual authentication
    • 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/00885Power supply means, e.g. arrangements for the control of power supply to the apparatus or components thereof
    • H04N1/00888Control thereof
    • H04N1/00891Switching on or off, e.g. for saving power when not in use
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Facsimiles In General (AREA)

Abstract

【課題】印刷装置と外部仲介装置との通信量の増大、及び、印刷装置のバッテリ消費の増大、を回避する。【解決手段】プリンタ14は、印刷エンジン51と、CPU41と、を有し、第2プログラム34は、暗号化された相互認識通信に必要となる時刻情報の取得を図る時刻取得処理と、時刻情報の取得に成功したか否かを判定する判定処理と、時刻情報の取得に成功したと判定されない場合には相互認識通信による外部仲介装置12との情報送受信を行わず、時刻情報の取得に成功したと判定された場合に相互認識通信により外部仲介装置12と情報送受信を行う、送受信処理と、を実行する。【選択図】図7

Description

本発明は、被印刷媒体に印刷を行う印刷装置、及び、電子機器において実行される通信処理プログラムに関する。
インターネット上の管理サーバが、モバイルデバイスと通信を行ってそのモバイルデバイスを管理する、MDM(Mobile Device Management)システムが知られている(例えば、特許文献1参照)。この従来技術では、プリンタを管理する管理サーバに対し、外部仲介装置(Device Conductor)がインターネットを介して通信可能に接続されている。この外部仲介装置に対し内部仲介装置が通信可能に接続されており、その内部仲介装置に対し、モバイルデバイスであるプリンタがローカルネットワークを通じて通信可能に構成されている。
特開2019−179446号公報
近年、電子機器である印刷装置と外部仲介装置との間の情報伝達に内部仲介装置を介在させる上記従来技術の構成に代え、印刷装置が、外部仲介装置に対し直接接続される構成が提唱されつつある。この場合、印刷装置は、外部仲介装置に対し、暗号化された相互認識無線通信により通信を行うが、この通信を行うためには互いの電子証明書の照合が必要となる。通常、電子証明書には有効期間が定められていることから、印刷装置が上記電子証明書の照合を行うためには時刻情報をあらかじめ取得しておく必要がある。
しかしながら、このようなMDMシステムにおいて使用される印刷装置は、携帯性を重視する観点から、内部に時刻情報を生成する機能(例えばいわゆるリアルタイムクロック等)を持たない場合がある。その場合、何らかの形で時刻情報を取得するまでは、時刻情報を持たない状態のまま上記の電子証明書の照合を行うこととなる結果、照合エラーが続き、印刷装置と外部仲介装置との通信量の増大や印刷装置のバッテリ消費の増大を招く。
本発明の目的は、印刷装置と外部仲介装置との通信量の増大と、印刷装置のバッテリ消費の増大と、を回避できる、印刷装置及び通信処理プログラムを提供することにある。
上記目的を達成するために、本願発明は、被印刷媒体に印刷を行う印刷手段と、制御手段と、を有し、インターネットを通じて管理サーバと通信する外部仲介装置と通信する印刷装置であって、前記制御手段は、暗号化された相互認識通信に必要となる時刻情報の取得を図る時刻取得処理;前記時刻取得処理で前記時刻情報の取得に成功したか否かを判定する判定処理;前記判定処理で前記時刻情報の取得に成功したと判定されない場合には前記相互認識通信による前記外部仲介装置との情報送受信を行わず、前記判定処理で前記時刻情報の取得に成功したと判定された場合に前記相互認識通信により前記外部仲介装置と情報送受信を行う、送受信処理;を実行することを特徴とする。
本願発明の印刷装置は、いわゆるMDM(Mobile Device Management)システムにおいて使用される。すなわち、この印刷装置を管理する管理サーバに対し、外部仲介装置(いわゆるDevice Conductor)がインターネットを介して通信可能に接続されており、さらにその外部仲介装置に対し、当該印刷装置が通信可能に接続されている。このとき、印刷装置は、外部仲介装置に対し、暗号化された相互認識無線通信により通信を行うが、この通信を行うためには互いの電子証明書の照合が必要となる。通常、電子証明書には有効期間が定められていることから、印刷装置が上記電子証明書の照合を行うためには時刻情報をあらかじめ取得しておく必要がある。
本願発明においては、制御手段が、まず時刻取得処理を行って上記時刻情報の取得を図った後、判定処理を行って上記時刻情報の取得に成功したか否かを判定する。そして、時刻情報の取得に成功したと判定された場合にのみ上記相互認識通信(例えばいわゆるHTTPS通信)により外部仲介装置と情報送受信を行い(送受信処理)、時刻情報の取得に成功したと判定されない場合には上記情報送受信を行わないようにする。これにより、必ず、時刻情報が取得された後に外部仲介装置との通信が行われ、時刻情報を持たない状態のまま前述の照合エラーが続くことがなくなる。この結果、前述した、印刷装置と外部仲介装置との通信量の増大や印刷装置のバッテリ消費の増大という弊害を回避することができ、ユーザにとっての利便性を向上することができる。
本発明によれば、印刷装置と外部仲介装置との通信量の増大と、印刷装置のバッテリ消費の増大と、を回避することができる。
本発明の一実施形態に係る管理システムの模式的な構成図である。 対応データベースを表す説明図である。 管理サーバにプリンタを登録する際における、管理サーバ、外部仲介装置、及びプリンタの処理を表す図である。 管理サーバからの指示をプリンタに実行させる際における、管理サーバ、外部仲介装置、及びプリンタの処理を表す図である。 管理サーバからの指示をプリンタに実行させる際における、管理サーバ、外部仲介装置、及びプリンタの処理を表す図である。 管理サーバからの指示なしで定期的にステータスを報告する際における、管理サーバ、外部仲介装置、及びプリンタの処理を表す図である。 プリンタの第2プログラムが外部仲介装置との情報送受信を行うときに実行する、時刻情報取得を含む情報送受信の処理内容を表すフローチャートである。 オートパワーオフ機能を有する変形例における、プリンタの第2プログラムが実行するオートパワーオフ機能の詳細手順を表すフローチャートである。 管理サーバにプリンタを登録する際における、管理サーバ、外部仲介装置、及びプリンタの処理を表す図である。 管理サーバからの指示をプリンタに実行させる際における、管理サーバ、外部仲介装置、及びプリンタの処理を表す図である。 管理サーバからの指示なしで定期的にステータスを報告する際における、管理サーバ、外部仲介装置、及びプリンタの処理を表す図である。 プリンタの第2プログラムが外部仲介装置との情報送受信を行うときに実行する、時刻情報取得を含む情報送受信の処理内容を表すフローチャートである。 内部仲介装置が設けられる変形例における、管理システムの模式的な構成図である。
本発明の一実施形態を図面を参照しつつ説明する。
<システム概要>
図1において、本実施形態に係わる管理システム10は、いわゆるモバイルデバイス管理(Mobile Device Management)システムを利用してプリンタ14の管理を行うシステムである。プリンタ14の管理者は、ブラウザを用いて管理サーバ11に記憶されたプリンタ14の管理情報を閲覧し、あるいは、管理サーバ11を通じて、プリンタ14に対して設定情報の変更等の指示を行う。
また、管理システム10は、管理サーバ11と直接通信を行う機能を有さないプリンタ14の管理を行うシステムである。管理サーバ11と直接通信を行う機能を有さないプリンタ14を管理サーバ11で管理できるように、外部仲介装置12が利用される。プリンタ14は、印刷装置の一例であり、電子機器の一例でもある。
管理システム10は、インターネット15に接続された管理サーバ11及び外部仲介装置12と、ローカルネットワーク16に接続された上記プリンタ14と、NTPサーバ1と、を備える。なお、NTPサーバ1の詳細については後述する。
管理サーバ11は、例えば、モバイルデバイスを管理するサービスを提供する会社が有するサーバである。外部仲介装置12は、例えば、モバイルデバイスを管理するサービスの提供を受ける会社が有するサーバである。ローカルネットワーク16は、例えば、モバイルデバイスを管理するサービスの提供を受ける会社の各支店ごとに構築される。各支店は、1台又は複数台のプリンタ14をそれぞれ有し、各支店のプリンタ14は、各支店のローカルネットワーク16にそれぞれ接続される。
図示例では、3つのローカルネットワーク16が構築され、各ローカルネットワーク16に、2台又は3台のプリンタ14が接続されている。但し、管理システム10が有するローカルネットワーク16の数や、各ローカルネットワーク16にそれぞれ接続されるプリンタ14の台数は、図示例に限られない。
管理サーバ11と外部仲介装置12とは、インターネット15を通じて相互に通信することができる。具体的には、管理サーバ11及び外部仲介装置12は、グローバルIPアドレスをそれぞれ有しており、グローバルIPアドレスを用いたインターネットプロトコルを用いて相互に通信する。
ローカルネットワーク16は、いわゆるイントラネットであり、例えば、有線LAN、無線LAN、WAN、あるいはこれらの組み合わせである。ローカルネットワーク16に接続されたプリンタ14同士は、TCP/IPなどの通信プロトコルを用いて相互に通信可能である。具体的には、プリンタ14同士は、プライベートIPアドレスやMACアドレスを用いて相互に通信する。
ローカルネットワーク16は、ルータなどの不図示の中継装置を有している。中継装置は、グローバルIPアドレスを有しており、インターネット15と接続されている。ローカルネットワーク16に接続されたプリンタ14は、中継装置を介して外部仲介装置12と通信を行う。具体的には、プリンタ14と外部仲介装置12とは、中継装置が構築するファイアウォールを通じて相互に通信を行う。なお、ファイアウォールは必須ではなく、必要性がない又は少ない場合は中継装置がファイアウォールを備えなくてもよい。
管理システム10は、管理サーバ11と直接通信を行う機能を有さないプリンタ14の管理を、上述の構成を有する外部仲介装置12を利用して、管理サーバ11で実現可能とするシステムである。具体的には、外部仲介装置12にインストールされて実行される第1プログラム24と、プリンタ14にインストールされて実行される第2プログラム34とを用いて、管理サーバ11と直接通信を行う機能を有さないプリンタ14の管理が実現される。すなわち、管理サーバ11と直接通信を行う機能を有さないプリンタ14の管理サーバ11による管理は、第1プログラム24及び第2プログラム34によって実現される。以下、外部仲介装置12及びプリンタ14の構成について、詳しく説明する。
<外部仲介装置(その1)>
外部仲介装置12は、CPU21と、メモリ22と、通信インタフェース25(以下適宜、「通信I/F25」と記載)と、ユーザI/F26と、通信バス27とを備える。CPU21、メモリ22、通信I/F25、及びユーザI/F26は、通信バス27と接続されている。
メモリ22は、ROM、RAM、EEPROM、HDD、USBメモリ等の可搬記憶媒体、若しくは、CPU21が備えるバッファ等である。メモリ22は、コンピュータが読み取り可能なストレージ媒体であってもよい。コンピュータが読み取り可能なストレージ媒体とは、non−transitoryな媒体である。non−transitoryな媒体には、上記の例の他に、CD−ROM、DVD−ROM等の記録媒体も含まれる。また、non−transitoryな媒体は、tangibleな媒体でもある。一方、インターネット上のサーバなどからダウンロードされるプログラムを搬送する電気信号は、コンピュータが読み取り可能な媒体の一種であるコンピュータが読み取り可能な信号媒体であるが、non−transitoryなコンピュータが読み取り可能なストレージ媒体には含まれない。後述するプリンタ14のメモリ42についても同様である。
メモリ22は、プログラム記憶領域28及びデータ記憶領域29を有している。プログラム記憶領域28は、OS23や第1プログラム24等のプログラムを記憶している。
OS23は、外部仲介装置12の基本プログラムである。OS23は、例えば、MacOS(登録商標)、Windows(登録商標)、Linux(登録商標)、Android(登録商標)OS等のオペレーティングシステムである。
第1プログラム24は、OS23と協働して、通信I/F25を通じた管理サーバ11及びプリンタ14との通信を制御するプログラムである。第1プログラム24は、単一のプログラムであってもよいし、複数のプログラムの集合体であってもよい。第1プログラム24が実行する処理については後述する。
データ記憶領域29は、プログラムの実行に必要なデータを記憶する。また、データ記憶領域29は、図2に示される対応データベースを記憶する。
<対応データベース>
図2において、対応データベースは、複数の項目と、複数のレコードとを有する。この例では、複数の項目には、項目「デバイスID」、「GUID」、「ロケーション情報」、「ファームバージョン」、「設定情報」、「更新日時」、「状態情報」が含まれる。なお、対応データベースに、前述の項目以外の項目が含まれていてもよい。
項目「デバイスID」は、プリンタ14に付与されたIDである。デバイスIDは、例えば、プリンタ14のMACアドレスやIPアドレスやシリアル番号などである。各レコードは、デバイスIDによって区別される。すなわち、一のプリンタ14に対して一のレコードが生成される。
項目「GUID」は、プリンタ14に備えられる第2プログラム34(後述)に対して付与されたGUIDを示す。なお、GUIDは、数字や文字、その他、第2プログラム34を識別可能なものであれば、どのようなものがGUIDとして用いられてもよい。デバイスIDについても同様である。
項目「ロケーション情報」は、項目「GUID」で示される第2プログラム34を備えたプリンタ14が属するローカルネットワーク16を示す。項目「ロケーション情報」は、例えば、支店名や、支部名などである。
項目「ファームバージョン」は、プリンタ14にインストールされている後述の第2プログラム34のバージョンを示す。なお、項目「ファームバージョン」の数字が大きい方が、より新しいバージョンである。
項目「設定情報」は、項目「フォント」、項目「フォントサイズ」、項目「濃度」などの複数の細分化された項目を有する。項目「フォント」は、プリンタ14が印刷する文字のフォントを意味する。項目「フォントサイズ」は、プリンタ14が印刷する文字のサイズを意味する。項目「濃度」は、プリンタ14が印刷する文字や図形のインクの濃度を意味する。項目「設定情報」は、前記の項目に加え、自動電源オフ機能が有効か無効かを示す項目や、印刷速度を示す項目や、通信の設定パラメータを示す項目などの他の項目を有していてもよい。
項目「更新日時」は、レコードにおける各項目が示す内容が変更された日時を示す。
項目「状態情報」は、各レコードのプリンタ14が、管理システム10による管理の対象であるか否かを示す。「管理中」は、管理システム10による管理の対象であることを意味する。「待機中」は、管理システム10による管理の対象でないことを意味する。
<外部仲介装置(その2)>
図1に戻り、外部仲介装置12の通信I/F25は、管理サーバ11及びプリンタ14と通信可能なインタフェースである。通信I/F25は、LAN I/Fや無線LAN I/Fである。外部仲介装置12とプリンタ14とは、通信I/F25、インターネット15、ファイアウォール(中継装置)、ローカルネットワーク16、通信I/F45を通じて通信する。
ユーザI/F26は、例えばキーボードやマウスなどであり、管理者による入力を受け付ける。
<プリンタ>
プリンタ14は、CPU41と、メモリ42と、通信I/F45と、バッテリ50と、印刷エンジン51と、通信バス47とを備える。なお、印刷エンジンは印刷手段の一例であり、CPU41は、制御手段の一例であり、演算手段の一例でもある。CPU41、メモリ42、通信I/F45、及び通信バス47の構成は、外部仲介装置12のCPU21、メモリ22、通信I/F25、及び通信バス27の構成と同様である。
メモリ42は、プログラム記憶領域48及びデータ記憶領域49を有している。プログラム記憶領域48は、OS43、第2プログラム34等のプログラムを記憶している。データ記憶領域49は、プログラムの実行に必要なデータを記憶する。また、データ記憶領域49は、デバイスID及びGUID(Globally Unique Identifier)を記憶する。デバイスIDは、例えば、プリンタ14のMACアドレスや、プライベートIPアドレスや、シリアル番号などである。
OS43は、プリンタ14の基本プログラムである。第2プログラム34は、OS43と協働して、印刷エンジン51に適宜の被印刷媒体への印刷を実行させるとともに、通信I/F45を通じた外部仲介装置12との通信を制御するプログラムである。第2プログラム34は、単一のプログラムであってもよいし、複数のプログラムの集合体であってもよい。第2プログラム34が実行する処理については後述する。なお、第2プログラム34は通信処理プログラムの一例である。
通信I/F45は、外部仲介装置12と通信可能なインタフェースである。通信I/F45は、外部仲介装置12が送信したコマンドを受信し、当該コマンドに対する応答を外部仲介装置12に送信する。
バッテリ50は、例えば充放電が可能な2次電池である。バッテリ50は、プリンタ14が商用電源と接続されている場合に、商用電源によって充電され、商用電源と接続されていない場合に放電を行って、印刷エンジン51やCPU41に駆動電力を供給する。
<プログラムの処理>
以下、第1プログラム24及び第2プログラム34が実行する処理を説明する。
なお、本明細書では、基本的に、プログラムに記述された命令に従ったCPUの処理を説明する。すなわち、以下の説明における「判断」、「抽出」、「選択」、「算出」、「決定」、「特定」、「取得」、「受付」、「制御」、「設定」等の処理は、CPUの処理を表している。CPUによる処理は、OSなどのコントローラを介したハードウェア制御も含む。なお、「取得」は要求を必須とはしない概念で用いる。すなわち、CPUが要求することなくデータを受信するという処理も、「CPUがデータを取得する」という概念に含まれる。「命令」「応答」「要求」等の処理は、「命令」「応答」「要求」等を示す情報を通信することにより行われる。また、「命令」「応答」「要求」等の文言を、「命令」「応答」「要求」等を示す情報そのものという意味でも記載することがある。
また、プログラムに記述された命令に従ったCPUの処理を、省略した文言で記載することがある。例えば、「CPU21が行う」「プログラム24が行う」「外部仲介装置12が行う」のように記載することがある。CPU41についても同様である。また、通信I/F、ユーザI/Fを通じてプログラムが情報の入出力を行うことを、省略した文言で記載することがある。例えば、「CPU21が受信する」、「プログラム24が送信する」、「外部仲介装置12が取得する」のように記載することがある。
また、本明細書中の「データ」と「情報」とは、コンピュータによって取り扱い可能なビットあるいはビット列である点において共通する。「データ」とは、各ビットが示す意味内容をコンピュータが考慮することなく取り扱えるものを指す。これに対して、「情報」とは、各ビットが示す意味内容によってコンピュータの動作が分岐するものを指す。なお、実質的な意味内容が同じでフォーマットが異なる「データ」は、同一のデータとして扱われるものとする。「情報」についても同様である。さらに、「指示」は、送信先の装置に対して次の動作を促すための制御信号であって、情報を含んでいることもあるし、それ自体が情報としての性質を有していることもある。
また、「データ」及び「情報」は、形式(例えば、テキスト形式、バイナリ形式、フラグ形式等)がコンピュータ毎に変更されたとしても、同一の意味内容と認識される限り、同一のデータ及び情報として取り扱われる。例えば、「2つ」であることを示す情報が、あるコンピュータではASCIIコードで”0x32”というテキスト形式の情報として保持され、別のコンピュータでは二進数表記で”10”というバイナリ形式の情報として保持されてもよい。
但し、上記の「データ」及び「情報」の区別は厳密なものではなく、例外的な取り扱いも許容される。例えば、データが一時的に情報として扱われてもよいし、情報が一時的にデータとして扱われてもよい。また、ある装置ではデータとして扱われるものが、他の装置では情報として扱われてもよい。さらには、データの中から情報が取り出されてもよいし、情報の中からデータが取り出されてもよい。
<プログラムの基本的な処理内容>
以下、図3〜図6を参照して、外部仲介装置12の第1プログラム24、及び、プリンタ14の第2プログラム34が実行する処理について説明する。なお、詳しくは後述するが、外部仲介装置12とプリンタ14との情報送受信においては、外部仲介装置12は、基本的に、指示などの情報を、プリンタ14から受信したHTTPリクエストに対するHTTPレスポンスに含める形で、プリンタ14へと送信する。そのため、プリンタ14は、定期的にHTTPリクエストを外部仲介装置12に送信している。なお、ファイアウォールは、プリンタ14からのHTTPリクエストに対するHTTPレスポンス以外は、外部仲介装置12からプリンタ14への送信を遮断する。
<プリンタの登録>
まず、プリンタ14のデバイスIDを外部仲介装置12のメモリ22に記憶された対応データベースに登録し、管理システム10の管理を開始する処理について、図3を参照して説明する。
まず、プリンタ14の第2プログラム34は、例えば、第2プログラム34が初回起動されて第2プログラム34の初期設定が実行された場合、若しくは、担当者が入力した、管理対象とするプリンタ14を管理システム10に登録することを指示する登録指示にしたがって、若しくは、外部仲介装置12の第1プログラム24から送信された登録指示を受信した場合に、後述の時刻情報が取得できたことを表す時刻情報取得フラグFを0に初期化する(ステップS11)。なお、この図3に示すフローチャートは、プリンタ14の電源が投入されるたびに実行される。したがって、電源が投入されるたびにこのステップS11で時刻情報取得フラグFは0に初期化されることとなる。その後、第2プログラム34は、自己のデバイスID及びメモリ32に記憶された自己のGUIDを含むHTTPリクエストを外部仲介装置12に送信する(ステップS14)。なお、本願明細書において、「担当者」とは、例えば、各支店においてプリンタ14の管理を行う者であって、外部仲介装置12を操作する管理者とは相違する者である。
プリンタ14の第2プログラム34が送信したデバイスID及びGUIDを含むHTTPリクエストは、外部仲介装置12により受信される(ステップS14)。外部仲介装置12の第1プログラム24は、デバイスID及びGUIDを受信すると、受信したデバイスIDが対応データベースに既に登録されているか否かを判断し、登録されていないと判断すると、受信したデバイスID及びGUIDを用いて新たなレコードを対応データベースに登録する(ステップS15)。
なお、このフローチャートでは図示を省略しているが、外部仲介装置12の第1プログラム24は、デバイスIDを受信したことを示す応答を含むHTTPレスポンスを、ステップS14で受信したHTTPリクエストの応答として、プリンタ14に返信する。あるいは、外部仲介装置12の第1プログラム24は、対応データベースに登録したデバイスIDを含むHTTPレスポンスを、ステップS14で受信したHTTPリクエストの応答として、プリンタ14に返信してもよい。
このとき、上記のようにしてデータベースに新たに追加されたレコードにおいては、項目「状態情報」には、初期値の「待機中」が記憶される。図2の例では、デバイスID「009」のプリンタ14を示すレコードが、新たに追加されたレコードである。「待機中」であるレコードが示すプリンタ14は、まだ管理サーバ11には登録されていない。すなわち、管理システム10の管理対象とはなっていない、仮の登録状態であると言える。なお、管理対象となったプリンタ14を示すレコードは、「状態情報」が「待機中」から「管理中」に変更されている。
なお、外部仲介装置12の第1プログラム24は、受信したデバイスIDが既に対応データベースに登録されていると判断すると、受信したデバイスIDが対応データベースに登録済みである旨を示す応答を、プリンタ14に返信する。
図3に戻り、次に、外部仲介装置12の第1プログラム24は、削除指示が入力されたか否かを判断する(ステップS16)。削除指示は、例えば、管理者が外部仲介装置12に入力する指示である。例えば、第1プログラム24は、レコードを生成して対応データベースに登録したことを外部仲介装置12のディスプレイに表示させる。ディスプレイを確認した管理者は、対応データベースを外部仲介装置12のディスプレイに表示させ、「待機中」のデバイスIDが示すプリンタ14が、管理すべき対象のプリンタ14であるか否かを判断する。管理者は、管理システム10によって管理すべき対象でないプリンタ14のデバイスIDを対象に削除指示を入力する。すなわち、対応データベースに登録されるデバイスIDが適正か否かは、外部仲介装置12において管理者によって確認される。
外部仲介装置12の第1プログラム24は、削除指示が入力されたと判断すると(ステップS16:Yes)、削除指示がされたレコードを対応データベースから削除する(ステップS17)。一方、外部仲介装置12の第1プログラム24は、削除指示が入力されていないと判断すると、ステップS17の処理をスキップする。
次に、外部仲介装置12の第1プログラム24は、管理システム10の管理を開始する管理開始指示が入力されるまで待機する(ステップS18:No)。第1プログラム24は、管理開始指示が入力されたと判断すると(ステップS18:Yes)、コマンドを管理サーバ11に送信する(ステップS19)。当該コマンドは、対応データベースに登録されたデバイスIDを付帯情報として含む。また、当該コマンドは、付帯するデバイスIDを管理対象のプリンタ14のデバイスIDとして登録することを管理サーバ11に要求するコマンドである。
なお、外部仲介装置12の第1プログラム24は、ステップS18において、管理の開始を拒否する旨の指示の入力を受け付けてもよい。その場合、第1プログラム24は、ステップS22において、管理の開始を拒否する旨の指示が入力されたことを示すHTTPレスポンスをプリンタ14の第2プログラム34に送信する。第2プログラム34は、当該HTTPレスポンスを受信した場合に、管理の開始を拒否する旨の指示が外部仲介装置12において入力されたことを示す情報を、例えばプリンタ14に設けたディスプレイに表示させる。担当者は、ディスプレイに表示された情報により、管理の開始を拒否する旨の指示が外部仲介装置12において入力されたことを確認することができる。
外部仲介装置12が送信した上記コマンドは、管理サーバ11によって受信される(ステップS19)。コマンドを受信した管理サーバ11は、受信したコマンドに含まれるデバイスIDを不図示のメモリに記憶する。すなわち、管理サーバ11は、受信したコマンドに含まれるデバイスIDを、管理対象のプリンタ14のデバイスIDとして登録する。その後、管理サーバ11は、コマンドに含まれるデバイスIDを登録した旨を示す応答を、インターネット15を通じて外部仲介装置12に返信する(ステップS20)。
管理サーバ11が返信した応答は、外部仲介装置12によって受信される(ステップS20)。外部仲介装置12の第1プログラム24は、管理サーバ11からの応答を受信した場合に、管理システム10の管理を開始する(ステップS21)。具体的には、図2に示されるデータベースの項目「状態情報」を、「待機中」から「管理中」に変更する。
次に、外部仲介装置12の第1プログラム24は、プリンタ14が定期的に送信するHTTPリクエストに対するHTTPレスポンスとして、「管理中」であるデバイスID、すなわち、管理を開始したプリンタ14のデバイスIDを、プリンタ14に送信する(ステップS22)。このとき、S17で削除されたデバイスIDは、送信されない。
なお、外部仲介装置12の第1プログラム24は、ステップS14で受信したHTTPリクエストの応答として、ステップS22のHTTPレスポンスをプリンタ14に送信してもよい。その場合、タイムアウトが生じないように、ステップS16及びステップS17の処理が省略されることが望ましい。
なお、このフローチャートでは図示を省略しているが、プリンタ14の第2プログラム34は、管理を開始したデバイスIDを受信すると(ステップS22)、管理を開始したデバイスIDをメモリ42に記憶する。第2プログラム34は、管理を開始したデバイスIDを受信したことを、例えばプリンタ14に設けたディスプレイに表示させるなどして、担当者に認識させる。担当者は、メモリ42に記憶されたデバイスIDをプリンタ14のディスプレイに表示させ、当該プリンタ14への管理が開始されたこと確認することができる。なお、外部仲介装置12の管理者は、メモリ22に記憶された対応データベースを外部仲介装置12のディスプレイに表示させることにより、管理を開始されたプリンタ14を確認することができる。また、外部仲介装置12の管理者は、ブラウザを用いて、管理サーバ11に記憶されたデータをディスプレイに表示させることにより、管理を開始されたプリンタ14を確認することもできる。
<管理サーバからの指示で実行する処理(ステータス報告以外)>
次に、項目「状態情報」が「管理中」であるレコードのデバイスIDを有するプリンタ14に対しては、管理サーバ11からの指示に応じたコマンドが入力される。すなわち、管理サーバ11によってプリンタ14の管理が行われる。この管理の詳細を、図4及び図5を参照して詳しく説明する。なお、管理サーバ11への指示は、ブラウザを用いて管理者が管理サーバ11に入力する。
まず、管理サーバ11は、インターネット15を通じて、第1指示コマンドを外部仲介装置12に送信する(ステップS31)。第1指示コマンドは、プリンタ14に実行させる指示に応じた指示を外部仲介装置12に実行させるコマンドである。第1指示コマンドは、指示を実行させるプリンタ14を特定するためのデバイスIDを付帯情報として含む。
第1指示コマンドは、例えば、この例では、設定情報(図2)の「フォント」「フォントサイズ」「濃度」などの各項目についてプリンタ14の設定値を変更する旨の指示、プリンタ14の第2プログラム34のファームバージョン(図2)を更新する旨の指示、等の実行を外部仲介装置12に指示するコマンドである。なお、プリンタ14の現在のステータス情報を返信することを要求する指示である場合については、別途後述する。ただし、第1指示コマンドが指示する内容は、これらの例に限られない。
外部仲介装置12の第1プログラム24は、管理サーバ11が送信した第1指示コマンドを受信する(ステップS31)。
外部仲介装置12の第1プログラム24は、第1指示コマンドを受信した場合に(ステップS31)、第1指示コマンドを受信した旨を示す通知を管理サーバ11に送信する(ステップS32)。
外部仲介装置12の第1プログラム24は、第1指示コマンドを受信すると(ステップS31)、第1指示コマンドに含まれるデバイスIDと対応付けられたGUIDを、対応データベースから特定する。すなわち、第1プログラム24は、指示を送信すべきプリンタ14の第2プログラム34をGUIDによって特定する。具体的には、第1プログラム24は、第1指示コマンドに含まれるデバイスIDを有するレコードを対応データベース上で特定し、特定したレコードにおける項目「GUID」のGUIDを、対応するGUIDとして特定する(ステップS33)。
次に、外部仲介装置12の第1プログラム24は、第1指示コマンドの指示に応じた第2指示コマンドを生成する(ステップS34)。第2指示コマンドは、プリンタ14に入力可能なコマンドであって、第1指示コマンドが指示する内容に応じて生成されるコマンドである。第2指示コマンドは、第1指示コマンドに含まれるデバイスIDを付帯情報として含む。
なお、図2では図示省略しているが、外部仲介装置12のメモリ22のデータ記憶領域29は、第1コマンドリストを記憶している。第1コマンドリストは、第1指示コマンドと第2指示コマンドとの対応が示されている。外部仲介装置12の第1プログラム24は、ステップS31で受信した第1指示コマンドに対応する第2指示コマンドを第1コマンドリストから決定し、決定した第2指示コマンドに、第1指示コマンドに含まれるデバイスIDを付帯情報として含ませて、第2指示コマンドを生成する(ステップS34)。
また、上記同様図示省略しているが、外部仲介装置12の第1プログラム24は、第1指示コマンドが示す指示が、プリンタ14へのファイル送信である場合、送信対象のファイルを管理サーバ11に要求する。要求を受信した管理サーバ11は、ファイルを外部仲介装置12に送信する。第1プログラム24は、ファイルを受信し、メモリ22に記憶する。例えば、プリンタ14に設定変更を指示するテキストが含まれるファイル、新しいバージョンの第2プログラム34のプログラムファイル、等が送信対象のファイルの例である。第1プログラム24は、管理サーバ11からファイルを受信した場合、ステップS34にて、フィルのダウンロードをプリンタ14の第2プログラムに指示する第2指示コマンドを生成する。
外部仲介装置12の第1プログラム24は、第2指示コマンドの生成後、プリンタ14からのHTTPリクエストを受信するまで待機する。
一方、プリンタ14の第2プログラム34は、まず、時刻情報取得フラグFを0に初期化する(ステップS29)。但し、図3のフローチャートから連続して実行される場合はこのステップS29はスキップされる。すなわち、この図4に示すフローチャートは、図3のフローチャートから連続して実行される場合を除き、プリンタ14の電源が投入されるたびに実行される。したがって、電源が投入されるたびにこのステップS29で時刻情報取得フラグFは0に初期化されることとなる。その後、プリンタ14の第2プログラム34は、予めメモリ32に記憶された送信タイミングになったか否かを判断する(ステップS35)。送信タイミングは、例えば、10秒間隔や15秒間隔や、20秒間隔など、数秒間隔から数十秒間隔に設定される。
プリンタ14の第2プログラム34は、送信タイミングになったと判断すると(ステップS35:Yes)、自己のGUIDを含むHTTPリクエストを外部仲介装置12に送信する(ステップS36)。
外部仲介装置12の第1プログラム24は、プリンタ14が送信したHTTPリクエストを受信する(ステップS36)。第1プログラム24は、受信したHTTPリクエストに含まれるGUIDが、ステップS3で決定したGUIDと一致するか否かを判断する(ステップS37)。すなわち、第1プログラム24は、HTTPリクエストを送信したプリンタ14が、ステップS34で生成した第2指示コマンドを送信すべきプリンタ14であるか否かを判断する。
外部仲介装置12の第1プログラム24は、ステップS36で受信したHTTPリクエストに含まれるGUIDとステップS33で決定したGUIDとが一致しないと判断すると(ステップS37:No)、第2指示コマンドを含まないHTTPレスポンスを送信する(ステップS38)。このステップS38で送信されるHTTPレスポンスは、ステップS36で送信されたHTTPリクエストを受信できたことのみを示す。
一方、外部仲介装置12の第1プログラム24は、ステップS36で受信したHTTPリクエストに含まれるGUIDとステップS33で決定したGUIDとが一致すると判断すると(ステップS37:Yes)、第2指示コマンドを含むHTTPレスポンスを送信する(ステップS39)。すなわち、外部仲介装置12は、プリンタ14からのHTTPリクエストに対するHTTPレスポンスに上記第2指示コマンドを含ませることにより、ファイアウォールを通じて第2指示コマンドをプリンタ14に送信する。
プリンタ14の第2プログラム34は、外部仲介装置12が送信したHTTPレスポンスを受信する(ステップS38,S39)。第2プログラム34は、受信したHTTPレスポンスに第2指示コマンドが含まれているか否かを判断する(ステップS40)。第2プログラム34は、受信したHTTPレスポンスに第2指示コマンドが含まれていないと判断すると(ステップS40:No)、ステップS35に戻って定期的なHTTPリクエストの送信を継続する。
なお、このフローチャートでは図示を省略しているが、ステップS39で受信した第2指示コマンドがファイルのダウンロードを示すコマンドである場合、プリンタ14の第2プログラム34は、ファイルの送信要求を含むHTTPリクエストを外部仲介装置12に送信する。当該HTTPリクエストを受信した外部仲介装置12の第1プログラム24は、HTTPリクエストに含まれるコマンドに応じて、ファイルを含むHTTPレスポンスをプリンタ14に送信する。プリンタ14の第2プログラム34は、HTTPレスポンスに含まれるファイルを受信する。なお、ファイルは、第2指示コマンドに含めて送信されてもよい。この場合、第2プログラム34から第1プログラム24へ、ファイルの送信要求は送信されない。
なお、プリンタ14の第2プログラム34は、ステップS39で受信した第2指示コマンドが示す指示が、設定情報の変更やファームバージョンの更新であるか、ステータス情報の取得であるか(後述の例の場合)を、第2指示コマンドに付帯されたステータス要求フラグで判断してもよい。例えば、外部仲介装置12の第1プログラム24は、ステップS31で受信した第1指示コマンドがステータス情報を要求する指示である場合、「ON」に設定されたステータス要求フラグを第2指示コマンドに付帯させる。
一方、プリンタ14の第2プログラム34は、受信したHTTPレスポンスに第2指示コマンドが含まれていると判断すると(ステップS40:Yes)、第2指示コマンドを受信したことを示す通知(以下、「受信通知」とも記載する)を含むHTTPリクエストを外部仲介装置12に送信する(ステップS41)。すなわち、第2プログラム34は、第2指示コマンドを受信したことを外部仲介装置12に通知する。この通知の意義は、以下のとおりである。
すなわち、このフローチャートでは図示を省略しているが、第1プログラム24は、受信通知を含むHTTPリクエストを所定の時間内に受信しないと判断すると、プリンタ14から定期的に送信されるHTTPリクエストのHTTPレスポンスとして、第2指示コマンドをプリンタ14に再送する。そして、第1プログラム24は、受信通知を含むHTTPリクエストを受信した場合に、受信通知を受信したことを示すHTTPレスポンスをプリンタ14に返信する。
すなわち、プリンタ14の第2プログラム34は、上記受信通知を受信しなければ、第2指示コマンドに対応する応答(後述のステップS55,S62参照)を受信するまで、プリンタ14が第2指示コマンドを受信できたか否かを判断することができない。その結果、第2指示コマンドに対応する応答を受信するまでの時間が、第2指示コマンドを再送信するまでの時間として決められた所定の時間を超え、プリンタ14が第2指示コマンドを受信しているにも拘わらず、外部仲介装置12が第2指示コマンドを再送してしまうことが生じ得る。そこで、プリンタ14の第2プログラム34は、第2指示コマンドに対応する応答(ステップS55,S62)を送信するより前に、受信通知を外部仲介装置12に送信する(ステップS41)。これにより、プリンタ14が第2指示コマンドを受信しているにも拘わらず、外部仲介装置12が第2指示コマンドを再送してしまうことが防止される。外部仲介装置12の第1プログラム24は、受信通知を含む、上記HTTPリクエストを受信する(ステップS41)。
プリンタ14の第2プログラム34は、ステップS41の処理の実行後、第2指示コマンドが示す指示を実行する(ステップS52)。例えば、第2指示コマンドが設定情報(図2)の「フォント」や「フォントサイズ」や「濃度」などの各項目についてプリンタ14の設定を変更する旨の指示である場合、第2プログラム34は、「フォント」や「フォントサイズ」や「濃度」などの設定値を、第2指示コマンドに含まれる設定値で変更する。また、第2指示コマンドが、ファームバージョンを更新する旨の指示である場合、第2プログラム34は、第2指示コマンドに含まれるプログラムで自己を更新する。
次に、プリンタ14の第2プログラム34は、第2指示コマンドが示す指示を自らが実行できたか否かを判断する(ステップS54)。
第2指示コマンドが示す指示を実行できなかったと判断した場合(ステップS54:No)は、第2プログラム34は、第1エラー情報を含むHTTPリクエストを外部仲介装置12に送信する(ステップS55)。なお、このとき送信されるHTTPリクエストは、プリンタ14が外部仲介装置12に定期的に送信するHTTPリクエストであってもよいし、定期的に送信するHTTPリクエストとは別に送信するHTTPリクエストであってもよい。
なお、前述の図2では図示を省略したが、プリンタ14のメモリ42のデータ記憶領域49は、上記第1エラーコードと、エラーの内容との対応が示された第1エラー対応リストが記憶されている。プリンタ14の第2プログラム34は、エラーの内容と対応する第1エラーコードを第1エラー対応リストから決定し、決定した第1エラーコードと、デバイスIDとを含む第1エラー情報を生成し、生成した第1エラー情報をHTTPリクエストに含めて送信する(ステップS55)。
送信された第1エラー情報は、外部仲介装置12によって受信される(ステップS55)。外部仲介装置12の第1プログラム24は、受信した第1エラー情報に基づいて、第2エラー情報を生成する(ステップS56)。第2エラー情報は、管理サーバ11が認識できる形式の第2エラーコードを含む。前述の図2では図示を省略したが、外部仲介装置12のメモリ22のデータ記憶領域29は、第1エラーコードと、第2エラーコードとの対応を示す第2エラー対応リストを記憶する。第1プログラム24は、第1エラーコードと対応する第2エラーコードを第2エラー対応リストから決定し、決定した第2エラーコードと、第1エラー情報に含まれるデバイスIDとを含む第2エラー情報を生成する(ステップS56)。
外部仲介装置12の第1プログラム24は、ステップS56で生成した第2エラー情報を、受信した第1指示コマンド(ステップS31)の応答として、管理サーバ11に送信する(ステップS57)。送信された第2エラー情報は、管理サーバ11によって受信される(ステップS57)。管理サーバ11は、第2エラー情報を受信すると、第2エラー情報を受信したことを示す受信応答を送信する。送信された受信応答は、外部仲介装置12によって受信される(ステップS58)。
一方、上記ステップS54において、プリンタ14の第2プログラム34が、第2指示コマンドが指示する内容をプリンタ14が実行できたと判断した場合(ステップS54:Yes)は、HTTPリクエストを定期的に送信する送信タイミングになるまで待機する(ステップS61:No)。送信タイミングになったと判断すると(ステップS61:Yes)、第2プログラム34は、第2指示コマンドが指示する内容をステップS52で実行した後の、ステータス情報を含むHTTPリクエストを、ステップS39で受信した第2指示コマンドの応答として、外部仲介装置12に送信する(ステップS62)。なお、このときのステータス情報は、設定情報やファームバージョンなどである。なお、このフローチャートでは図示を省略しているが、外部仲介装置12の第1プログラム24は、ステータス情報を含むHTTPリクエストを受信した後(ステップS62)、当該HTTPリクエストを受信したことを示す旨を、当該HTTPリクエストのHTTPレスポンスとして、プリンタ14に送信する。
上記のようにプリンタ14から外部仲介装置12へ定期的に送信するHTTPリクエストにステータス情報を含ませることにより、定期的に送信するHTTPリクエストとは別にステータス情報を送信する場合に比べ、プリンタ14と外部仲介装置12との間の通信回数を低減することができる。なお、第2プログラム34は、定期的に送信するHTTPリクエストとは別のHTTPリクエストに、変更後のステータス情報を含ませて外部仲介装置12に送信してもよい。その場合、定期的に送信するHTTPリクエストにステータス情報を含ませる場合よりも、ステータス情報を迅速に外部仲介装置12に送信することができる。
外部仲介装置12の第1プログラム24は、変更後のステータス情報を、第2指示コマンドの応答として受信する(ステップS62)。第1プログラム24は、ステータス情報を受信すると、対応データベース(図2)の設定情報やファームバージョンなどの値を、受信したステータス情報で上書きする(ステップS63)。
次に、外部仲介装置12の第1プログラム24は、第1指示コマンドが示す指示をプリンタ14が実行したこと、及び、ステップS62で受信したステータス情報、を含む設定完了情報を生成する。そして、生成した設定完了情報を、ステップS31で受信した第1指示コマンドの応答として、管理サーバ11に送信する(ステップS64)。設定完了情報は、例えば、管理サーバ11に入力可能なコマンドであって、ステータス情報を付帯情報として有するコマンドである。なお、外部仲介装置12の第1プログラム24は、設定完了情報とは別に、S62で受信したステータス情報を管理サーバ11に送信してもよい。すなわち、設定を行った旨と、設定後のステータス情報とが、別個に管理サーバ11に送信されてもよい。
管理サーバ11は、設定完了情報をインターネット15を通じて受信すると(ステップS64)、設定完了情報を受信したことを示す受信応答を外部仲介装置12に送信する(ステップS65)。外部仲介装置12の第1プログラム24は、管理サーバ11が送信した受信応答を受信し(ステップS65)、処理を終了する。
<管理サーバからの指示なしで定期的にステータス報告>
上述では、管理サーバ11からの第1指示コマンドに応じて、外部仲介装置12の第1プログラム24及びプリンタ14の第2プログラム34が実行する処理について説明した。以下では、外部仲介装置12の第1プログラム24及びプリンタ14の第2プログラム34が、管理サーバ11からの指示に拠らず、プリンタ14のステータス情報を定期的に送信する処理について、図6を参照して説明する。
まず、プリンタ14の第2プログラム34は、まず、時刻情報取得フラグFを0に初期化する(ステップS69)。但し、図3又は図4のフローチャートから連続して実行される場合はこのステップS69はスキップされる。すなわち、この図6に示すフローチャートは、図3又は図4のフローチャートから連続して実行される場合を除き、プリンタ14の電源が投入されるたびに実行される。したがって、電源が投入されるたびにこのステップS69で時刻情報取得フラグFは0に初期化されることとなる。その後、プリンタ14の第2プログラム34は、定期のステータス取得タイミングになるまで待機する(ステップS71:No)。定期のステータス取得タイミングは、例えば、1時間ごとや、12時間ごとや、24時間ごとなどである。すなわち、定期のステータスタイミングは、前述した、HTTPリクエストを定期的に送信する送信タイミングよりも、長い期間となっている。この理由は、以下のとおりである。すなわち、プリンタ14にステータス情報を返信させる処理を実行させると、プリンタ14において電力が消費される。したがって、定期のステータス取得タイミングが秒単位や分単位であると、バッテリ50の消耗が増大する。定期のステータス取得タイミングを1時間や12時間や24時間などの時間単位とすることにより、バッテリ50の消耗を抑えることができる。
また、定期のステータス取得タイミングを時間単位とすることは、以下のような別の意義もある。すなわち、前述の図1では図示省略したが、プリンタ14は、印刷エンジン51を駆動し、バッテリ50を充電する電源回路を有している。電源回路は、入力される商用の交流電圧を直流電圧に変換して出力する。プリンタ14の第2プログラム34は、電源回路の駆動を停止させる、いわゆるスリープ処理を実行する機能を有する。定期のステータス取得タイミングを1時間や12時間や24時間などの時間単位とすることにより、スリープ機能で休眠状態になっているプリンタ14が、駆動回路が直流電圧を出力する駆動状態に頻繁に復帰させられることを抑えることができる。その結果、バッテリ50の消耗が抑えられ、プリンタの使用者の違和感を抑制することができる。プリンタ14の使用者の違和感とは、プリンタ14を休眠状態にしてもすぐに駆動状態になってしまうことを意味する。
プリンタ14の第2プログラム34は、定期のステータス取得タイミングになったと判断すると(ステップS71:Yes)、HTTPリクエストを外部仲介装置12に送信する送信タイミングになったか否かを判断する(ステップS74)。第2プログラム34は、送信タイミングになっていないと判断すると(ステップS74:No)、ステップS71の処理を再度実行する。一方、第2プログラム34は、送信タイミングになったと判断すると(ステップS74:Yes)、定期的に取得することを試みるステータス情報を、プリンタ14内の各部から取得できているか否かを判断する(ステップS75)。
プリンタ14の第2プログラム34は、ステータス情報を取得できていないと判断すると(ステップS75:No)、ステータス情報を取得できなかったことを示す第3エラー情報を生成し、生成した第3エラー情報を含むHTTPリクエストを外部仲介装置12に送信する(ステップS76)。なお、第3エラー情報を含むHTTPリクエストは、定期的に送信されるHTTPリクエストとは別のHTTPリクエストに含められてもよい。すなわち、第2プログラム34は、ステータス情報を取得できていないと判断すると、送信タイミングを待たずに、第3エラー情報を含むHTTPリクエストを外部仲介装置12に送信してもよい。なお、第1プログラム24は、第3エラー情報を含むHTTPリクエストを受信すると(ステップS76)、当該HTTPリクエストを受信したことを示す応答をプリンタ14に送信する(ステップS78)。
また、外部仲介装置12の第1プログラム24は、第3エラー情報を含むHTTPリクエストを受信すると(ステップS76)、対応データベースを更新しないことに決定し、また、第3エラー情報に応じた情報を管理サーバ11に送信しないことに決定する(ステップS77)。すなわち、第1プログラム24は、管理サーバ11から入力された第1指示コマンドに応じた指示をプリンタ14が実行しない場合は前述のように第2エラー情報を生成し管理サーバ11に送信する一方で、定期的に取得することを試みるステータス情報を取得できない場合は第3エラー情報を管理サーバ11に送信しない。これにより、エラー情報が管理サーバ11に頻繁に送信されることが抑制される。
一方、上記ステップS75において、プリンタ14の第2プログラム34がステータス情報を取得できていると判断すると(ステップS75:No)、当該ステータス情報を含むHTTPリクエストを外部仲介装置12に送信する(ステップS79)。なお、ステータス情報を含むHTTPリクエストは、定期的に送信されるHTTPリクエストとは別のHTTPリクエストに含められてもよい。すなわち、第2プログラム34は、ステータス情報を受信したと判断すると、送信タイミングを待たずに、ステータス情報を含むHTTPリクエストを外部仲介装置12に送信してもよい。
外部仲介装置12の第1プログラム24は、プリンタ14が送信したステータス情報を含むHTTPリクエストを受信すると(ステップS79)、HTTPリクエストを受信したことを示すHTTPレスポンスをプリンタ14に送信する(ステップS80)。
また、外部仲介装置12の第1プログラム24は、ステータス情報を含むHTTPリクエストを受信すると(ステップS79)、受信したステータス情報で対応データベースの項目を更新する(ステップS81)。また、第1プログラム24は、ステータス情報を含むHTTPリクエストを受信した日時で、対応データベースの項目「更新日時」の日時を更新する。これにより、外部仲介装置12の管理者は、対応データベースを外部仲介装置12のディスプレイに表示させることにより、項目「更新日時」を確認し、ステータス情報が更新された日時、及び、プリンタ14と通信を行えた最新の日時を認識することができる。
そして、外部仲介装置12の第1プログラム24は、更新したステータス情報及び更新日時を付帯情報とするコマンドを管理サーバ11に送信する(ステップS82)。管理サーバ11は、ステータス情報及び更新日時を付帯情報とするコマンドを受信すると(ステップS82)、受信したステータス情報及び更新日時を不図示のメモリに記憶し、ステータス情報及び更新日時を受信したことを示す応答を外部仲介装置12に送信する(ステップS83)。したがって、管理者は、管理サーバ11に記憶された情報をブラウザを用いて外部仲介装置12のディスプレイに表示させることにより、あるいは、外部仲介装置12のメモリ22に記憶された対応データベースをディスプレイに表示させることにより、ステータス情報を受信した最新の日時を確認することができる。
<管理サーバからの指示でステータス報告>
すなわち、管理サーバ11が送信する第1指示コマンドによるプリンタ14への指示が、プリンタ14のステータス情報の送信を要求する指示である場合である。この場合、外部仲介装置12の第1プログラム24は、定期的に取得するステータス情報を、第1指示コマンドに対する応答として管理サーバ11に送信する。このような例を、前述の図4及び図6を参照して説明する。
すなわち、前述した図4において、プリンタ14の第2プログラム34は、プリンタ14のステータス情報を返信することを要求する第2指示コマンドを外部仲介装置12から受信すると(ステップS39)、第2指示コマンドを受信したことを示す通知を含むHTTPリクエストを外部仲介装置12に送信する(ステップS41)。その後、図6に移り、第2プログラム34は、定期のステータス取得タイミングになるまで待機する(ステップS71:No)。
プリンタ14の第2プログラム34は、定期のステータス取得タイミングになったと判断すると(ステップS71:Yes)、前述同様、HTTPリクエストを外部仲介装置12に送信する送信タイミングになったか否かを判断し、送信タイミングになったと判断すると(ステップS74:Yes)、プリンタ14内の各部から取得したステータス情報を含むHTTPリクエストを、第2指示コマンドの応答として外部仲介装置12に送信する(ステップS75,S79)。
外部仲介装置12の第1プログラム24は、ステータス情報を含むHTTPリクエストを受信してHTTPレスポンスを返信(ステップS80)した後、受信したステータス情報で対応データベースを更新するとともに(ステップS81)、第1指示コマンドの応答として、ステータス情報を管理サーバ11に送信する(ステップS82)。
管理サーバ11は、送信した第1指示コマンドの応答として、ステータス情報を受信し(ステップS82)、ステータス情報を受信したことを示す応答をインターネット15を通じて外部仲介装置12に送信する(ステップS83)。
外部仲介装置12の第1プログラム24は、ステータス情報を受信したことを示す応答を受信し(ステップS83)、処理を終了する。
<時刻情報の取得>
以上の基本構成及び動作において、上述したように、プリンタ14と外部仲介装置12との間の通信は、プリンタ14が外部仲介装置12に送信したHTTPリクエストに対し、外部仲介装置12が、そのHTTPリクエストに対するHTTPレスポンスに、指示を含む各種情報を含める形で送信する。この場合、プリンタ14は、外部仲介装置12に対し、暗号化された相互認識無線通信により通信を行うが、この通信を行うためには互いの電子証明書の照合が必要となる。通常、電子証明書には有効期間が定められていることから、プリンタ14は、上記電子証明書の照合を行うためには時刻情報をあらかじめ取得しておく必要がある。
本実施形態においては、上記に対応するために、プリンタ14は、外部仲介装置12との情報送受信の前に、インターネット15を介し、装置外の外部装置であるNTPサーバ1から時刻情報を取得する。NTPサーバ1は時刻情報サーバの一例である。以下、その時刻情報取得を含む情報送受信の処理内容を、図7に示すフローチャートにより説明する。なお、この図7に示す処理は、図4〜図6における外部仲介装置12とプリンタ14との情報送受信の実行の都度、プリンタ14の第2プログラム34によって実行される。すなわち、図7の処理は、例えば、図3のステップS14、ステップS22、図4のステップS36、ステップS38、ステップS39、ステップS41、図5のステップS55、ステップS62、図6のステップS76、ステップS78、ステップS79、ステップS80において、実行されることとなる。
図7において、まず、プリンタ14の第2プログラム34は、前述の時刻情報取得フラグFが1であるか否かを判断する(ステップS200)。時刻情報取得フラグFが0であれば(ステップS220:No)、第2プログラム34は、インターネット15を介しNTPサーバ1から時刻情報の取得を図る(ステップS210)。ステップS210が時刻取得手順の一例であり、ステップS210で実行する処理は時刻取得処理の一例である。
その後、プリンタ14の第2プログラム34は、NTPサーバ1から時刻情報を取得できたか否かを判断する(ステップS220)。ステップS220が判定手順の一例であり、ステップS220で実行する処理が判定処理の一例である。プリンタ14の第2プログラム34は、NTPサーバ1から時刻情報を取得できない間(ステップS220:No)はステップS210を繰り返し、NTPサーバ1から時刻情報を取得したら(ステップS220:Yes)、上記時刻情報取得フラグFを1とする(ステップS230)。
その後、プリンタ14の第2プログラム34は、前述のHTTPリクエスト及びHTTPレスポンスを用いて、外部仲介装置12との情報送受信を行う(ステップS240)。一方、前述のステップS200において時刻情報取得フラグFが1であった場合は(ステップS200:Yes)、プリンタ14の第2プログラム34は、ステップS210、ステップS220、ステップS230を行うことなく、ステップS240において上記外部仲介装置12との情報送受信を行う。
すなわち、ステップS210でNTPサーバ1から時刻情報を取得できない間はステップS240を実行せず、ステップS210でNTPサーバ1から時刻情報を取得したら(ステップS220:Yes)ステップS240が実行されるとともに、及び、過去に時刻情報が取得済であって時刻情報取得フラグFが1である場合にもステップS240が実行される。これらの処理の流れの結果、ステップS240が送受信手順の一例であり、ステップS240で実行する処理は送受信処理の一例となる。その後、プリンタ14の第2プログラム34は、このフローを終了する。
<実施形態の効果>
以上説明したように、本実施形態においては、プリンタ14の第2プログラム34は、まず時刻情報の取得を図った後(ステップS210)、時刻情報の取得に成功したか否かを判定する(ステップS220)。そして、時刻情報の取得に成功したと判定された場合にのみ(ステップS220:Yes)、相互認識通信、上記の例ではHTTPS通信により外部仲介装置12と情報送受信を行い(ステップS240)、時刻情報の取得に成功したと判定されない場合(ステップS220:No)には上記情報送受信を行わない。これにより、必ず、時刻情報が取得された後に外部仲介装置12との通信が行われ、時刻情報を持たない状態のまま前述の照合エラーが続くことがなくなる。この結果、前述した、プリンタ14と外部仲介装置12との通信量の増大やプリンタ14のバッテリ消費の増大という弊害を回避することができ、ユーザにとっての利便性を向上することができる。
また、本実施形態では特に、プリンタ14の外部から時刻情報を取得する。これにより、プリンタ14内に時刻情報を生成する機能を持たなくても、外部から取得した時刻情報を用いて、上記外部仲介装置12との円滑な通信を行うことができる。
また、本実施形態では特に、時刻情報配信サーバ、上記の例ではNTPサーバ1から取得した時刻情報を用いる。これにより、上記外部仲介装置12との円滑な通信を行うことができる。
また、本実施形態では特に、プリンタ14の電源投入がなされる都度、時刻情報が取得される。これにより、プリンタ14の電源がOFFにされ時刻情報が消失した場合であっても、その後の電源投入時に確実に時刻情報を取得し、電子証明書の照合を行うことができる。
なお、本発明は、上記実施形態に限られるものではなく、その趣旨及び技術的思想を逸脱しない範囲内で種々の変形が可能である。以下、そのような変形例を順を追って説明する。上記実施形態と同等の部分には同一の符号を付し、適宜説明を省略又は簡略化する。
(1)時刻情報の手入力
すなわち、上述のようにNTPサーバ1から入力された時刻情報を用いるのに代え、本変形例では、ユーザが、プリンタ14に設けた適宜の操作部を介し手動操作で適宜の時刻を入力する。この場合、図7のステップS210では、その手動操作で入力された時刻に対応した時刻情報の取得が図られ、ステップS220では、その時刻情報の取得に成功したか否かが判断される。なお、上記の操作部が操作手段の一例である。
本変形例においては、上記したように、ユーザが操作部を操作して時刻を入力することで、その時刻に対応した時刻情報が第2プログラム34により取得される。なお、電子証明書の照合エラーを回避するには当該時刻情報の精度は問われず、当該時刻情報の表す時刻が、照合する電子証明書の有効期間内に収まっていればよいため、上記のような操作入力でも問題はない。これにより、上記実施形態と同様、プリンタ14内に時刻情報を生成する機能を持たなくても、上記のように操作入力された時刻に対応した時刻情報を用いて、上記外部仲介装置12との円滑な通信を行うことができる。
(2)他のプリンタから時刻情報を取得する場合
図1に示したように、管理システム10は、複数のローカルネットワーク16を備えており、各ローカルネットワーク16内にそれぞれ複数のプリンタ14が備えられている。そして、ローカルネットワーク16に接続されたプリンタ14同士は、TCP/IPなどの通信プロトコルを用いて相互に通信可能である。したがって、例えば特定のプリンタ14がNTPサーバ1から時刻情報を取得している場合、同一のローカルネットワーク6内の別のプリンタ14がその特定のプリンタ14から上記時刻情報を取得するようにしてもよい。上記特定のプリンタ14が、ユーザの手動操作に基づき時刻情報を既に取得している場合も同様である。なお、この場合、上記別のプリンタ14が印刷装置の一例であり、上記特定のプリンタ14が第1印刷装置の一例である。
本変形例では、上記別のプリンタ14における第2プログラム34が実行する図7のステップS210では、上記特定のプリンタ14から時刻情報の取得が図られ、ステップS220では、その時刻情報の取得に成功したか否かが判断される。
本変形例においては、外部仲介装置12と通信する上記特定のプリンタ14が既に時刻情報を取得していた場合に、上記別のプリンタ14の第2プログラム34が、上記特定のプリンタ14から取得した時刻情報を用いる。これにより、上記別のプリンタ14が別途独自にNTPサーバ1等から時刻情報を取得する場合に比べ、ネットワーク全体の通信量を少なくしつつ簡素な制御で時刻情報を取得することができ、上記外部仲介装置12との円滑な通信を行うことができる。
(3)オートパワーオフ機能がある場合
本変形例においては、プリンタ14はいわゆるオートパワーオフ機能を備えている。すなわち例えば、印刷エンジン51、通信I/F45等の特定の動作機構が非動作状態となった後に所定の基準時間を経過したことを契機に、プリンタ14は電源OFF状態に切り替えられる。第2プログラム34によるこのオートパワーオフ機能の詳細を、図8に示すフローチャートにより説明する。なお、この図8に示す処理は、後述の図9〜図12に示す処理とは別に、同時並行してプリンタ14の第2プログラム34によって実行される。
図8において、まず、プリンタ14の第2プログラム34は、オートパワーオフ機能の実行の有無を表す実行フラグFpを0に初期化する(ステップS100)。その後、第2プログラム34は、プリンタ14に備えられた特定の動作機構の非動作状態が予め定められた基準時間、継続したか否かを判断する(ステップS110)。特定の動作機構は、例えば、印刷エンジン51、通信I/F45等である。またこの例では、上記基準時間は10分となっている。プリンタ14の第2プログラム34は、上記非動作状態が10分継続したら(ステップS110:Yes)、プリンタ14の電源OFF、すなわち電源電圧を供給遮断状態に切り替え(ステップS120)、上記実行フラグFp=1とする(ステップS130)。ステップS120で実行する処理は切替処理の一例である。
その後、プリンタ14の第2プログラム34は、上記電源OFF状態を解除するための所定の復帰操作がなされたか否かを判断する(ステップS140)。復帰操作とは、例えば、プリンタ14に備えられたボタン等、適宜の操作部に対する、予め定められた適宜の操作である。第2プログラム34は、上記復帰操作がなされるまでは電源OFF状態を継続する(ステップS140:No)。第2プログラム34は、復帰操作がなされたら(ステップS140:Yes)プリンタ14の電源をON、すなわち電源電圧を供給状態に復帰させ(ステップS150)、上記実行フラグFp=0に戻した後(ステップS160)、処理を終了する。ステップS150で実行する処理は復帰処理の一例である。
上記図8の処理に対応して本変形例において第1プログラム24及び第2プログラム34が実行する処理を、前述の図3、図4、図6、図7にそれぞれ対応する図9、図10、図11、図12と前述の図5とを用いて説明する。
すなわち、図3で前述した対応データベースへのプリンタ14の登録時には、図9に示すように、第2プログラム34は、時刻情報取得フラグF=0に初期化した後(ステップS11)、実行フラグFpを0に初期化する(ステップS12)。以降の処理は図3と同様である。なお、図9に示すフローチャートは、プリンタ14の電源が投入されるたびに実行される。したがって、電源が投入されるたびにステップS11及びステップS12で時刻情報取得フラグF及び実行フラグFpは0に初期化されることとなる。
また、図4及び図5を用いて前述した、管理サーバ11からの指示に基づき所望の処理が実行される際には、図10に示すように、第2プログラム34は、時刻情報取得フラグF=0に初期化した後(ステップS29)、実行フラグFpを0に初期化する(ステップS30)。なお、図4と同様、図9のフローチャートから連続して実行される場合は図10のステップS29及びステップS30はスキップされる。すなわち、この図10に示すフローチャートは、図9のフローチャートから連続して実行される場合を除き、プリンタ14の電源が投入されるたびに実行される。したがって、電源が投入されるたびにこのステップS29及びステップS30で時刻情報取得フラグF及び実行フラグFpは0に初期化されることとなる。以降の処理は図4及び図5と同様である。
さらに、図6を用いて前述した、管理サーバ11からの指示に拠らず、プリンタ14のステータス情報を定期的に送信する処理が実行される際には、図11に示すように、第2プログラム34は、時刻情報取得フラグF=0に初期化した後(ステップS69)、実行フラグFpを0に初期化する(ステップS70)。なお、図10と同様、図9のフローチャートから連続して実行される場合は図11のステップS69及びステップS70はスキップされる。すなわち、この図11に示すフローチャートは、図9のフローチャートから連続して実行される場合を除き、プリンタ14の電源が投入されるたびに実行される。したがって、電源が投入されるたびにこのステップS69及びステップS70で時刻情報取得フラグF及び実行フラグFpは0に初期化されることとなる。以降の処理は図6と同様である。
本変形例において、時刻情報取得を含む情報送受信の処理内容を、図12に示す。なお、この図12に示す処理は、前述の図7と同様、図10、図5、図11における外部仲介装置12とプリンタ14との情報送受信の実行の都度、プリンタ14の第2プログラム34によって実行される。
図12において、本変形例では、プリンタ14の第2プログラム34は、時刻情報取得フラグFが1であるか否かを判断し(ステップS200)、時刻情報取得フラグFが1であった場合は(ステップS200:Yes)、実行フラグFpが1であるか否かを判断する(ステップS250)。実行フラグFpが0であった場合は(ステップS250:No)、第2プログラム34は、ステップS240において上記外部仲介装置12との情報送受信を行う。一方、実行フラグFpが1であった場合は(ステップS250:Yes)、第2プログラム34は、実行フラグFp=1とした後(ステップS260)、インターネット15を介しNTPサーバ1から時刻情報の取得を図る(ステップS210)。以降のステップS220及びステップS230は図7と同様である。
本変形例においては、プリンタ14においていわゆるオートパワーオフ機能が備わっており、そのオートパワーオフ機能により電源OFFにされ(ステップS120)、時刻情報が消失した場合であっても、その後復帰操作がなされ電源の再投入がなされる時に(ステップS140)、確実に時刻情報を取得し、電子証明書の照合を行うことができる。
(4)内部仲介装置が設けられる場合
<システム構成>
本変形例では、複数備えられているプリンタのうち一部のプリンタ14′については、それらを管理サーバ11で管理するために、外部仲介装置12に加え、内部仲介装置13が利用される。すなわち、図1に対応する図13に示すように、管理システム10は、インターネット15に接続された管理サーバ11及び外部仲介装置12と、上記実施形態及び(1)〜(3)の変形例と同様のローカルネットワーク16に接続されたプリンタ14と、ローカルネットワーク16′に接続されたプリンタ14′及び内部仲介装置13と、を備える。なお、本変形例においては、NTPサーバ1は設けられない。
内部仲介装置13は、例えば、前述の会社の各支店に設置されたサーバやパーソナルコンピュータである。支店に構築されたローカルネットワーク16′を介し、内部仲介装置13と各プリンタ14′とが接続される。ローカルネットワーク16′に接続された内部仲介装置13とプリンタ14′とは、TCP/IPなどの通信プロトコルを用いて相互に通信可能である。具体的には、内部仲介装置13とプリンタ14′とは、プライベートIPアドレスやMACアドレスを用いて相互に通信する。ローカルネットワーク16′に接続された内部仲介装置13は、中継装置を介して外部仲介装置12と通信を行う。具体的には、内部仲介装置13と外部仲介装置12とは、中継装置が構築するファイアウォールを通じて相互に通信を行う。なお、ファイアウォールは必須ではなく、必要性がない又は少ない場合は中継装置がファイアウォールを備えなくてもよい。
管理システム10において、プリンタ14′の管理は、上述の構成を有する外部仲介装置12及び内部仲介装置13を利用して実現される。このとき、内部仲介装置13には、上記実施形態等においてプリンタ14に備えられていた第2プログラム34と同等の機能を備える第2プログラム34′が備えられている。そして、外部仲介装置12にインストールされて実行される第1プログラム24と、内部仲介装置13にインストールされて実行される第2プログラム34′とを用いて、プリンタ14′の管理が実現される。
<内部仲介装置>
内部仲介装置13は、CPU31と、メモリ32と、通信I/F35と、ユーザI/F36と、通信バス37とを備える。CPU31、メモリ32、通信I/F35、ユーザI/F36、及び通信バス37の構成は、外部仲介装置12のCPU21、メモリ22、ユーザI/F26、及び通信バス27の構成と同様である。
メモリ32は、プログラム記憶領域38及びデータ記憶領域39を有している。プログラム記憶領域38は、OS33や第2プログラム34′等のプログラムを記憶している。データ記憶領域39は、プログラムの実行に必要なデータを記憶する。また、データ記憶領域39は、上記GUIDを記憶する。
OS33は、内部仲介装置13の基本プログラムである。第2プログラム34′は、OS33と協働して、通信I/F35を通じた外部仲介装置12及びプリンタ14′との通信を制御するプログラムである。第2プログラム34′は、単一のプログラムであってもよいし、複数のプログラムの集合体であってもよい。
通信I/F35は、外部仲介装置12及びプリンタ14′と通信可能なインタフェースである。通信I/F35は、LAN I/Fや無線LAN I/Fである。
<プリンタ>
本変形例のプリンタ14′は、メモリ42のプログラム記憶領域48に、前述の第2プログラム34に代えて制御プログラム44が記憶されている。制御プログラム44は、OS43と協働して、印刷エンジン51に印刷を実行させ、また、通信I/F45を通じた内部仲介装置13との通信を制御するプログラムである。制御プログラム44は、単一のプログラムであってもよいし、複数のプログラムの集合体であってもよい。制御プログラム44が実行する処理については後述する。
また、通信I/F45は、内部仲介装置13と通信可能なインタフェースである。通信I/F45は、内部仲介装置13が送信したコマンドを受信し、当該コマンドに対する応答を内部仲介装置13に送信する。
<プログラムの処理>
本変形例において、プリンタ14′及び内部仲介装置13を備えたローカルネットワーク16′に関しては、上記実施形態及び(1)〜(3)の変形例においてプリンタ14の第2プログラム34が実行した処理と同等の処理が、内部仲介装置13の第2プログラム34′によって実行される。すなわち、図示及び詳細な説明を省略するが、例えば特開2019−179446号に記載されたものと同様、図3〜図6、図9〜図11等における、ステップS14、ステップS22、ステップS29、ステップS35、ステップS36〜ステップS41、ステップS54、ステップS55、ステップS61、ステップS62、ステップS69〜ステップS75、ステップS78〜ステップS80、ステップS30、ステップS70、と同等の処理が内部仲介装置13の第2プログラム34′の制御に基づき実行される。そしてそれらの各手順の前処理又は後処理に相当する処理若しくは情報送受信が、内部仲介装置13とプリンタ14′との間で行われる。
<時刻情報の取得>
そして、本変形例では、内部仲介装置13は、時刻情報を生成する機能、いわゆるリアルタイムクロック等を内部に備えている。そして、この内部仲介装置13の属するローカルネットワーク16′とは異なる別のローカルネットワーク16に属するプリンタ14が、第2プログラム34により、内部仲介装置13に備えられる上記時刻情報を取得して用いる。以下、その処理内容を前述の図7のフローチャートを参照して説明する。
すなわち、前述した図4において、プリンタ14の第2プログラム34は、
前述の時刻情報取得フラグFが1であるか否かを判断する(ステップS200)。時刻情報取得フラグFが0であれば(ステップS220:No)、第2プログラム34は、プリンタ14が属するローカルネットワーク16とは異なる別のローカルネットワーク16′に属する内部仲介装置13から時刻情報の取得を図る(ステップS210)。前述と同様、ステップS210が時刻取得手順の一例であり、ステップS210で実行する処理は時刻取得処理の一例である。
その後、プリンタ14の第2プログラム34は、内部仲介装置13から時刻情報を取得できたか否かを判断する(ステップS220)。前述と同様、ステップS220が判定手順の一例であり、ステップS220で実行する処理が判定処理の一例である。プリンタ14の第2プログラム34は、内部仲介装置13から時刻情報を取得できない間(ステップS220:No)はステップS210を繰り返し、内部仲介装置13から時刻情報を取得したら(ステップS220:Yes)、上記時刻情報取得フラグFを1とする(ステップS230)。
その後、プリンタ14の第2プログラム34は、前述のHTTPリクエスト及びHTTPレスポンスを用いて、外部仲介装置12との情報送受信を行う(ステップS240)。一方、前述のステップS200において時刻情報取得フラグFが1であった場合は(ステップS200:Yes)、プリンタ14の第2プログラム34は、ステップS210、ステップS220、ステップS230を行うことなく、ステップS240において上記外部仲介装置12との情報送受信を行う。
すなわち、ステップS210で内部仲介装置13から時刻情報を取得できない間はステップS240を実行せず、ステップS210で内部仲介装置13から時刻情報を取得したら(ステップS220:Yes)ステップS240が実行されるとともに、過去に時刻情報が取得済であって時刻情報取得フラグFが1である場合にもステップS240が実行される。これらの処理の流れの結果、ステップS240が送受信手順の一例であり、ステップS240で実行する処理は送受信処理の一例となる。その後、プリンタ14の第2プログラム34は、このフローを終了する。
<変形例の効果>
以上説明したように、本変形例においては、外部仲介装置12と通信可能で、かつ時刻情報を自ら生成可能な内部仲介装置13がローカルネットワーク16′に設けられている。そして、別のローカルネットワーク16に属するプリンタ14′が、内部仲介装置13によって生成された時刻情報を取得して用いる。これにより、プリンタ14′が別途独自に別の外部装置から時刻情報を取得する手法に比べ、ネットワーク全体の通信量を少なくしつつ簡素な制御で時刻情報を取得することができ、外部仲介装置12との円滑な通信を行うことができる。また本変形例においては、前述のNTPサーバ1のように外部機器から取得した時刻情報を用いる場合に比べ、セキュリティをより高めることができる効果もある。
なお、上記に代えて、プリンタ14は、ローカルネットワーク16′内のプリンタ14′が内部仲介装置13から取得済の時刻情報を、当該プリンタ14′からローカルネットワーク16′,16を介し取得して、用いるようにしてもよい。この場合、プリンタ14′が第2印刷装置の一例である。この場合も、プリンタ14が別途独自に別の外部装置から時刻情報を取得する手法に比べ、ネットワーク全体の通信量を少なくしつつ簡素な制御で時刻情報を取得することができ、上記外部仲介装置12との円滑な通信を行うことができる。
(5)その他
なお、以上においては、外部仲介装置12に対してHTTPリクエストが送信され、外部仲介装置12がHTTPレスポンスを返信することにより、外部仲介装置12からファイアウォールを通じて第2指示コマンドが送信される例を説明した。しかしながら、外部仲介装置12からファイアウォールを通じて第2指示コマンドを送信可能であれば、他の通信プロトコルが用いられてもよい。例えば、外部仲介装置12とプリンタ14又は内部仲介装置13との間で、XMPPoverBOSHにしたがった通信プロトコルが用いられてもよい。外部仲介装置12からプリンタ14又は内部仲介装置13へ、XMPPoverBOSHのセッション開始リクエストを送信し、外部仲介装置12がセッション開始レスポンスを返信することで成立したセッション内の通信により、外部仲介装置12からプリンタ14又は内部仲介装置13へファイアウォールを通じて第2指示コマンドを送信することができる。
また、以上においては、管理サーバ11による管理対象の電子機器として、印刷装置であるプリンタ14,14′を例にとって説明したが、これに限られない。すなわち、外部仲介装置12又は内部仲介装置13に対して通信可能な電子機器であれば、例えば、デジタルカメラ、パーソナルコンピュータ、計測機器、時計、バーコードリーダ、スキャナ、ミシン、その他情報機器・通信機器・制御機器・各種機械等、に対しても本発明は適用でき、この場合も同様の効果を得る。
なお、以上において、図3〜図12等に示すシーケンス及びフローチャートは本発明を上記フローに示す手順に限定するものではなく、発明の趣旨及び技術的思想を逸脱しない範囲内で手順の追加・削除又は順番の変更等をしてもよい。
また、以上既に述べた以外にも、上記実施形態や各変形例による手法を適宜組み合わせて利用しても良い。
その他、一々例示はしないが、本発明は、その趣旨を逸脱しない範囲内において、種々の変更が加えられて実施されるものである。
10 管理システム
11 管理サーバ
12 外部仲介装置
13 内部仲介装置
14 プリンタ(印刷装置、第1印刷装置、電子機器の一例)
14′ プリンタ(第2印刷装置の一例)
21 CPU
24 第1プログラム
34 第2プログラム
34′ 第2プログラム
44 制御プログラム
41 CPU(制御手段、演算手段の一例)
51 印刷エンジン(印刷手段の一例)

Claims (10)

  1. 被印刷媒体に印刷を行う印刷手段と、
    制御手段と、
    を有し、
    インターネットを通じて管理サーバと通信する外部仲介装置と通信する印刷装置であって、
    前記制御手段は、
    暗号化された相互認識通信に必要となる時刻情報の取得を図る時刻取得処理;
    前記時刻取得処理で前記時刻情報の取得に成功したか否かを判定する判定処理;
    前記判定処理で前記時刻情報の取得に成功したと判定されない場合には前記相互認識通信による前記外部仲介装置との情報送受信を行わず、前記判定処理で前記時刻情報の取得に成功したと判定された場合に前記相互認識通信により前記外部仲介装置と情報送受信を行う、送受信処理;
    を実行することを特徴とする印刷装置。
  2. 請求項1記載の印刷装置において、
    前記時刻取得処理では、
    前記印刷装置外の外部装置からの前記時刻情報の取得を図り、
    前記送受信処理では、
    前記判定処理で前記外部装置からの前記時刻情報の取得に成功したと判定された場合に、前記外部仲介装置と情報送受信を行う
    ことを特徴とする印刷装置。
  3. 請求項2記載の印刷装置において、
    前記時刻取得処理では、
    前記外部装置として時刻情報配信サーバから前記時刻情報の取得を図り、
    前記送受信処理では、
    前記判定処理で前記時刻情報配信サーバからの前記時刻情報の取得に成功したと判定された場合に、前記外部仲介装置と情報送受信を行う
    ことを特徴とする印刷装置。
  4. 請求項2記載の印刷装置において、
    前記外部仲介装置に対し通信する、前記印刷装置とは異なる第1印刷装置に対し、ローカルネットワークを通じて通信可能に構成されており、
    前記時刻取得処理では、
    前記外部装置として前記第1印刷装置から前記時刻情報の取得を図り、
    前記送受信処理では、
    前記判定処理で前記第1印刷装置からの前記時刻情報の取得に成功したと判定された場合に、前記外部仲介装置と情報送受信を行う
    ことを特徴とする印刷装置。
  5. 請求項2記載の印刷装置において、
    前記外部仲介装置と通信する内部仲介装置に対し、ローカルネットワークを通じて通信可能に構成されており、
    前記時刻取得処理では、
    前記外部装置として前記内部仲介装置から前記時刻情報の取得を図り、
    前記送受信処理では、
    前記判定処理で前記内部仲介装置からの前記時刻情報の取得に成功したと判定された場合に、前記外部仲介装置と情報送受信を行う
    ことを特徴とする印刷装置。
  6. 請求項2記載の印刷装置において、
    前記外部仲介装置と通信する内部仲介装置に対しローカルネットワークを通じて通信する、前記印刷装置とは異なる第2印刷装置に対し、ローカルネットワークを通じて通信可能に構成されており、
    前記時刻取得処理では、
    前記外部装置として前記第2印刷装置から前記時刻情報の取得を図り、
    前記送受信処理では、
    前記判定処理で前記第2印刷装置からの前記時刻情報の取得に成功したと判定された場合に、前記外部仲介装置と情報送受信を行う
    ことを特徴とする印刷装置。
  7. 請求項1記載の印刷装置において、
    操作手段をさらに有し、
    前記時刻取得処理では、
    前記操作手段を介し入力された時刻に対応する前記時刻情報の取得を図り、
    前記送受信処理では、
    前記判定処理で前記操作手段を介し入力された前記時刻に対応する前記時刻情報の取得に成功したと判定された場合に、前記外部仲介装置と情報送受信を行う
    ことを特徴とする印刷装置。
  8. 請求項1乃至請求項7のいずれか1項記載の印刷装置において、
    前記制御手段は、
    前記印刷装置の電源投入がなされる都度、前記時刻取得処理を実行する
    ことを特徴とする印刷装置。
  9. 請求項8記載の印刷装置において、
    前記制御手段は、
    前記印刷手段を含む複数の動作機構のうち特定の動作機構が非動作状態となった後に基準時間を経過したことを契機に、前記印刷装置へ供給される電源電圧を供給遮断状態に切り替える切替処理;
    前記切替処理による前記供給遮断状態への切り替え後に、所定の復帰操作に基づき前記電源電圧を電源供給状態に復帰させる復帰処理;
    を実行するとともに、
    前記復帰処理により電源投入がなされた場合にも、前記時刻取得処理を実行する
    ことを特徴とする印刷装置。
  10. インターネットを通じて管理サーバと通信する外部仲介装置と通信する電子機器に備えられた演算手段に対し、
    暗号化された相互認識通信に必要となる時刻情報の取得を図る時刻取得手順と、
    前記時刻取得手順で前記時刻情報の取得に成功したか否かを判定する判定手順と、
    前記判定手順で前記時刻情報の取得に成功したと判定されない場合には前記相互認識通信による前記外部仲介装置との情報送受信を行わず、前記判定手順で前記時刻情報の取得に成功したと判定された場合に前記相互認識通信により前記外部仲介装置と情報送受信を行う、送受信手順と、
    と、
    を実行させるための、通信処理プログラム。
JP2020001725A 2020-01-08 2020-01-08 印刷装置及び通信処理プログラム Pending JP2021109356A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2020001725A JP2021109356A (ja) 2020-01-08 2020-01-08 印刷装置及び通信処理プログラム
US17/144,071 US11435963B2 (en) 2020-01-08 2021-01-07 Printing apparatus configured for encrypted mutual recognition communication and non-transitory computer-readable storage medium configured for encrypted mutual recognition communication

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020001725A JP2021109356A (ja) 2020-01-08 2020-01-08 印刷装置及び通信処理プログラム

Publications (1)

Publication Number Publication Date
JP2021109356A true JP2021109356A (ja) 2021-08-02

Family

ID=76655192

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020001725A Pending JP2021109356A (ja) 2020-01-08 2020-01-08 印刷装置及び通信処理プログラム

Country Status (2)

Country Link
US (1) US11435963B2 (ja)
JP (1) JP2021109356A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023046763A (ja) * 2021-09-24 2023-04-05 富士フイルムビジネスイノベーション株式会社 情報処理装置およびプログラム

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005165179A (ja) * 2003-12-05 2005-06-23 Yamaha Corp 電子音楽装置及びプログラム
JP2006155367A (ja) * 2004-11-30 2006-06-15 Canon Inc 画像形成装置、データ処理方法、画像形成方法及びプログラム
JP2012104978A (ja) * 2010-11-08 2012-05-31 Brother Ind Ltd 通信装置システム、通信装置、中継装置、中継装置の制御プログラム、および中継装置の制御方法
JP2014079956A (ja) * 2012-10-17 2014-05-08 Canon Inc 情報処理装置、情報処理装置の制御方法、及びプログラム
JP2014127840A (ja) * 2012-12-26 2014-07-07 Ricoh Co Ltd 代理装置、遠隔管理システム及びアドレス取得方法
JP2016001866A (ja) * 2014-05-19 2016-01-07 セイコーエプソン株式会社 通信装置、通信装置の制御方法、およびプリンター
JP2017156180A (ja) * 2016-03-01 2017-09-07 カシオ計算機株式会社 通信装置、通信方法、通信システム、電子時計及びプログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002215361A (ja) * 2001-01-16 2002-08-02 Canon Inc 情報処理装置及び印刷管理装置及び印刷管理システム及びその方法及びコンピュ―タ読み取り可能なプログラムが格納された記憶媒体及び印刷制御プログラム
JP2005085221A (ja) 2003-09-11 2005-03-31 Canon Inc 通信装置及びその制御方法
JP2005262817A (ja) 2004-03-22 2005-09-29 Seiko Epson Corp 時刻同期をしてから通信を行うデバイス
JP4537133B2 (ja) 2004-07-09 2010-09-01 キヤノン株式会社 プリンタ及び制御方法及びプログラム並びに記憶媒体
JP6056795B2 (ja) * 2014-03-25 2017-01-11 コニカミノルタ株式会社 画像処理システム、ゲートウェイ装置、ゲートウェイ装置の制御方法、ゲートウェイ装置の制御プログラム
JP2018202842A (ja) 2017-06-09 2018-12-27 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム
JP7081273B2 (ja) 2018-03-30 2022-06-07 ブラザー工業株式会社 プログラム及び通信システム

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005165179A (ja) * 2003-12-05 2005-06-23 Yamaha Corp 電子音楽装置及びプログラム
JP2006155367A (ja) * 2004-11-30 2006-06-15 Canon Inc 画像形成装置、データ処理方法、画像形成方法及びプログラム
JP2012104978A (ja) * 2010-11-08 2012-05-31 Brother Ind Ltd 通信装置システム、通信装置、中継装置、中継装置の制御プログラム、および中継装置の制御方法
JP2014079956A (ja) * 2012-10-17 2014-05-08 Canon Inc 情報処理装置、情報処理装置の制御方法、及びプログラム
JP2014127840A (ja) * 2012-12-26 2014-07-07 Ricoh Co Ltd 代理装置、遠隔管理システム及びアドレス取得方法
JP2016001866A (ja) * 2014-05-19 2016-01-07 セイコーエプソン株式会社 通信装置、通信装置の制御方法、およびプリンター
JP2017156180A (ja) * 2016-03-01 2017-09-07 カシオ計算機株式会社 通信装置、通信方法、通信システム、電子時計及びプログラム

Also Published As

Publication number Publication date
US20210208826A1 (en) 2021-07-08
US11435963B2 (en) 2022-09-06

Similar Documents

Publication Publication Date Title
EP3547641B1 (en) Communication system
JP2015088019A (ja) 出力システム、出力装置、プログラム及び出力方法
US11847373B2 (en) Server, control method, storage medium, and printing system
US8619288B2 (en) Communication apparatus, image processing apparatus, image processing system, method for controlling the same, and storage medium storing program
JP7131044B2 (ja) プログラム及び通信システム
JP7172108B2 (ja) プログラム及び通信システム
JP2021109356A (ja) 印刷装置及び通信処理プログラム
JP2004188943A (ja) 印刷システム及び印刷制御方法
US10917383B2 (en) Management system including first and second information-processing apparatuses connected to each other via firewall
US9736329B2 (en) Method that performs from scanning to storing scan data using scan job ticket
US11360722B2 (en) Printing apparatus and non-transitory computer-readable storage medium
JP2021120197A (ja) 印刷装置及び通信処理プログラム
US11461062B2 (en) Printing device and server to receive an e-mail including an attached print data and determine whether sender e-mail address is stored in a table in which a user ID and e-mail address are registered in association with each other
JP2021111065A (ja) 印刷装置及び通信処理プログラム
US9207886B2 (en) Relaying device, relaying method, image processing apparatus, and image processing system
JP2021109355A (ja) 印刷装置
JP2013106275A (ja) 画像形成装置、その制御方法、及びプログラム
JP2002297409A (ja) データ通信プログラム、データ通信プログラムを記録したコンピュータ読み取り可能な記録媒体、データ通信装置およびデータ通信方法
JP2002297410A (ja) データ通信プログラム、データ通信プログラムを記録したコンピュータ読み取り可能な記録媒体、データ通信装置およびデータ通信方法
JP2010231284A (ja) 認証システム、認証方法および情報処理装置
JP2016157221A (ja) 印刷システム
JP2016092757A (ja) 画像形成システム、画像処理装置、画像形成装置、画像処理装置の制御プログラム、および画像形成装置の制御プログラム
JP2002297351A (ja) データ通信プログラム、データ通信プログラムを記録したコンピュータ読み取り可能な記録媒体、データ通信装置およびデータ通信方法
JP2017128135A (ja) 画像形成装置および制御プログラム

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20200228

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20200228

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221216

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230704

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230825

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20240301