IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ブラザー工業株式会社の特許一覧

<>
  • 特開-印刷装置 図1
  • 特開-印刷装置 図2
  • 特開-印刷装置 図3
  • 特開-印刷装置 図4
  • 特開-印刷装置 図5
  • 特開-印刷装置 図6
  • 特開-印刷装置 図7
  • 特開-印刷装置 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024049512
(43)【公開日】2024-04-10
(54)【発明の名称】印刷装置
(51)【国際特許分類】
   B41J 29/38 20060101AFI20240403BHJP
   B41J 29/00 20060101ALI20240403BHJP
   G06F 3/12 20060101ALI20240403BHJP
   H04N 1/00 20060101ALI20240403BHJP
【FI】
B41J29/38 201
B41J29/38 401
B41J29/00 Z
G06F3/12 338
G06F3/12 322
H04N1/00 838
H04N1/00 127B
H04N1/00 912
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2022155768
(22)【出願日】2022-09-29
(71)【出願人】
【識別番号】000005267
【氏名又は名称】ブラザー工業株式会社
(74)【代理人】
【識別番号】110000992
【氏名又は名称】弁理士法人ネクスト
(72)【発明者】
【氏名】大崎 真幹
【テーマコード(参考)】
2C061
5C062
【Fターム(参考)】
2C061AP01
2C061AQ05
2C061AQ06
2C061BB10
2C061CL10
2C061HJ06
2C061HJ08
2C061HK05
2C061HK11
2C061HN08
2C061HN15
5C062AA05
5C062AA35
5C062AB22
5C062AB38
5C062AB41
5C062AB42
5C062AB53
5C062AC04
5C062AC22
5C062AC23
5C062AC38
5C062AC58
5C062AE15
(57)【要約】
【課題】PJLコマンドに従った処理を実行することが可能な印刷装置のセキュリティを向上させる。
【解決手段】プリンタ10がUSBI/F31を介してPJLファイルを受けた場合には、受け付けたPJLファイルに含まれるPJLコマンドが制限対象コマンドであるか否かかに関わらず、PJLコマンドに従った処理が実行される。一方、プリンタ10がLANI/F30を介してPJLファイルを受けた場合には、受け付けたPJLファイルに含まれるPJLコマンドが制限対象コマンドであれば、PJLコマンドに従った処理が実行されず、PJLコマンドが制限対象コマンド以外のコマンドであれば、PJLコマンドに従った処理が実行される。これにより、正当な目的以外の目的で送信された可能性のある制限対象コマンドに従った処理の実行を防止することが可能となり、印刷装置のセキュリティを向上させることができる。
【選択図】図5
【特許請求の範囲】
【請求項1】
通信インタフェースと、コンピュータとを備え、
前記コンピュータは、
前記通信インタフェースを介して受信したPJLコマンドを解析し、受信したPJLコマンドに従った処理を実行することが可能であり、
前記PJLコマンドを受信した通信インタフェースがLANインタフェースである第1の通信インタフェースである場合に、受信したPJLコマンドが第1種のPJLコマンドであれば、前記第1種のPJLコマンドに従った処理を実行せず、受信したPJLコマンドが第2種のPJLコマンドであれば、前記第2種のPJLコマンドに従った処理を実行し、
前記PJLコマンドを受信した通信インタフェースがLANインタフェースではない第2の通信インタフェースである場合に、受信したPJLコマンドが前記第1種のPJLコマンドと前記第2種のPJLコマンドとの何れであっても、受信したPJLコマンドに従った処理を実行することを特徴とする印刷装置。
【請求項2】
前記コンピュータは、
前記LANインタフェースである第1の通信インタフェースを介してPJLコマンドを第1のプロトコルと第2のプロトコルとの何れで受信した場合にも、受信したPJLコマンドを解析し、受信したPJLコマンドに従った処理を実行することが可能であり、
前記LANインタフェースである第1の通信インタフェースを介して前記第1のプロトコルでPJLコマンドを受信した場合に、受信したPJLコマンドが前記第1種のPJLコマンドと前記第2種のPJLコマンドとの何れであっても、受信したPJLコマンドに従った処理を実行し、
前記LANインタフェースである第1の通信インタフェースを介して前記第2のプロトコルでPJLコマンドを受信した場合に、受信したPJLコマンドが前記第1種のPJLコマンドであれば、前記第1種のPJLコマンドに従った処理を実行せず、受信したPJLコマンドが前記第2種のPJLコマンドであれば、前記第2種のPJLコマンドに従った処理を実行することを特徴とする請求項1に記載の印刷装置。
【請求項3】
通信インタフェースと、コンピュータとを備え、
前記コンピュータは、
前記通信インタフェースを介して受信したPJLコマンドを解析し、受信したPJLコマンドに従った処理を実行することが可能な印刷装置であり、
前記通信インタフェースを介してPJLコマンドを第1のプロトコルで受信した場合に、受信したPJLコマンドが第1種のPJLコマンドと第2種のPJLコマンドとの何れであっても、受信したPJLコマンドに従った処理を実行し、
前記通信インタフェースを介してPJLコマンドを第2のプロトコルで受信した場合に、受信したPJLコマンドが前記第1種のPJLコマンドであれば、前記第1種のPJLコマンドに従った処理を実行せず、受信したPJLコマンドが前記第2種のPJLコマンドであれば、前記第2種のPJLコマンドに従った処理を実行することを特徴とする印刷装置。
【請求項4】
前記第1のプロトコルは、データ送信前にデータ送信デバイスがデータ受信デバイスにパスワードを送信し、データ受信デバイスが、受信したパスワードに応じてデータ送信デバイスにデータ送信を許可する方式のプロトコルであり、
前記印刷装置がデータ受信デバイスとして前記第1のプロトコルでパスワードを受信して、当該パスワードが承認可能なパスワードであった場合に、前記印刷装置が前記第1のプロトコルでデータ送信の許可をパスワード送信元のデータ送信デバイスに返信し、その後に、前記第1のプロトコルで前記パスワード送信元のデータ送信デバイスからPJLコマンドを受信した場合に、
前記コンピュータは、
受信したPJLコマンドが前記第1種のPJLコマンドと前記第2種のPJLコマンドとの何れであっても、受信したPJLコマンドに従った処理を実行することを特徴とする請求項2又は3に記載の印刷装置。
【請求項5】
前記コンピュータは、
PJLコマンドを含む印刷ジョブを受信した場合に、受信した印刷ジョブを、当該印刷ジョブに含まれるPJLコマンドに従って印刷することが可能であり、
PJLコマンドを含む印刷ジョブを受信した場合に、当該印刷ジョブを前記LANインタフェースである第1の通信インタフェースと前記第2の通信インタフェースとの何れを介して受信したかに関わらず、当該印刷ジョブに含まれるPJLコマンドに従って当該印刷ジョブを印刷することを特徴とする請求項1又は2に記載の印刷装置。
【請求項6】
前記コンピュータは、
PJLコマンドを含む印刷ジョブを受信した場合に、受信した印刷ジョブを、当該印刷ジョブに含まれるPJLコマンドに従って印刷することが可能であり、
PJLコマンドを含む印刷ジョブを受信した場合に、当該印刷ジョブを前記第1のプロトコルと前記第2のプロトコルとの何れで受信したかに関わらず、当該印刷ジョブに含まれるPJLコマンドに従って当該印刷ジョブを印刷することを特徴とする請求項2又は3に記載の印刷装置。
【請求項7】
前記印刷装置は、メモリを備えており、
前記コンピュータは、
前記メモリに記憶されているセキュリティモードを示す設定値に従って動作することが可能であり、
前記LANインタフェースである第1の通信インタフェースを介してPJLコマンドを受信した場合であっても、前記メモリに記憶されているセキュリティモードを示す設定値がセキュリティモードの有効を示していなければ、受信したPJLコマンドが前記第1種のPJLコマンドと前記第2種のPJLコマンドとの何れであっても、受信したPJLコマンドに従った処理を実行し、
前記LANインタフェースである第1の通信インタフェースを介してPJLコマンドを受信した場合に、前記メモリに記憶されているセキュリティモードを示す設定値がセキュリティモードの有効を示していれば、受信したPJLコマンドが前記第1種のPJLコマンドであれば、前記第1種のPJLコマンドに従った処理を実行せず、受信したPJLコマンドが前記第2種のPJLコマンドであれば、前記第2種のPJLコマンドに従った処理を実行することを特徴とする請求項1又は2に記載の印刷装置。
【請求項8】
前記印刷装置は、不揮発性メモリを備えており、
前記コンピュータは、
前記不揮発性メモリに記憶されている設定値に従って動作することが可能であり、
前記第1種のPJLコマンドは、設定値の変更を指示するコマンドであり、
前記コンピュータは、
設定値の変更を指示する第1種のPJLコマンドに従った処理を実行するときに、設定値の変更の指示に従って設定値を前記不揮発性メモリに記憶させる処理を実行し、
前記第2種のPJLコマンドに従った処理を実行するときに、設定値を前記不揮発性メモリに記憶させる処理とは異なる処理を実行することを特徴とする請求項1乃至3の何れか1項に記載の印刷装置。
【請求項9】
前記印刷装置は、不揮発性メモリを備えており、
前記コンピュータは、
前記不揮発性メモリに記憶されている設定値に従って動作することが可能であり、
前記第1種のPJLコマンドは、設定値の初期化を指示するコマンドであり、
前記コンピュータは、
設定値の初期化を指示する第1種のPJLコマンドに従った処理を実行するときに、設定値の初期化の指示に従って前記不揮発性メモリに記憶されている設定値を初期化させる処理を実行し、
前記第2種のPJLコマンドに従った処理を実行するときに、前記不揮発性メモリに記憶されている設定値を初期化させる処理とは異なる処理を実行することを特徴とする請求項1乃至3の何れか1項に記載の印刷装置。
【請求項10】
前記第1種のPJLコマンドは、前記印刷装置をオフラインにすることを指示するコマンドであり、
前記コンピュータは、
前記印刷装置をオフラインにすることを指示する第1種のPJLコマンドに従った処理を実行するときに、オフラインの指示に従って前記印刷装置をオフラインにする処理を実行し、
前記第2種のPJLコマンドに従った処理を実行するときに、前記印刷装置をオフラインにする処理とは異なる処理を実行することを特徴とする請求項1乃至3の何れか1項に記載の印刷装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、PJLコマンドに従った処理を実行することが可能な印刷装置に関する。
【背景技術】
【0002】
下記特許文献には、PJLコマンドに従った処理を実行することが可能な印刷装置の一例が記載されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2014-179018号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明は、PJLコマンドに従った処理を実行することが可能な印刷装置のセキュリティを向上させることを課題とする。
【課題を解決するための手段】
【0005】
上記課題を解決するために、実施例に開示する印刷装置は、通信インタフェースと、コンピュータとを備え、前記コンピュータは、前記通信インタフェースを介して受信したPJLコマンドを解析し、受信したPJLコマンドに従った処理を実行することが可能であり、前記PJLコマンドを受信した通信インタフェースがLANインタフェースである第1の通信インタフェースである場合に、受信したPJLコマンドが第1種のPJLコマンドであれば、前記第1種のPJLコマンドに従った処理を実行せず、受信したPJLコマンドが第2種のPJLコマンドであれば、前記第2種のPJLコマンドに従った処理を実行し、前記PJLコマンドを受信した通信インタフェースがLANインタフェースではない第2の通信インタフェースである場合に、受信したPJLコマンドが前記第1種のPJLコマンドと前記第2種のPJLコマンドとの何れであっても、受信したPJLコマンドに従った処理を実行することを特徴とする。
【0006】
また、上記課題を解決するために、実施例に開示する印刷装置は、通信インタフェースと、コンピュータとを備え、前記コンピュータは、前記通信インタフェースを介して受信したPJLコマンドを解析し、受信したPJLコマンドに従った処理を実行することが可能な印刷装置であり、前記通信インタフェースを介してPJLコマンドを第1のプロトコルで受信した場合に、受信したPJLコマンドが第1種のPJLコマンドと第2種のPJLコマンドとの何れであっても、受信したPJLコマンドに従った処理を実行し、前記通信インタフェースを介してPJLコマンドを第2のプロトコルで受信した場合に、受信したPJLコマンドが前記第1種のPJLコマンドであれば、前記第1種のPJLコマンドに従った処理を実行せず、受信したPJLコマンドが前記第2種のPJLコマンドであれば、前記第2種のPJLコマンドに従った処理を実行することを特徴とする。
【発明の効果】
【0007】
実施例に開示する印刷装置では、PJLコマンドの受付経路に応じて、PJLコマンドに従った処理が制限される。これにより、PJLコマンドに従った処理を実行することが可能な印刷装置のセキュリティを向上させることが可能となる。
【図面の簡単な説明】
【0008】
図1】通信システム1のブロック図である。
図2】出力デバイス50とプリンタ10との間での処理を示すシーケンス図である。
図3】出力デバイス50とプリンタ10との間での処理を示すシーケンス図である。
図4】出力デバイス50とプリンタ10との間での処理を示すシーケンス図である。
図5】制御プログラム32のフローチャートを示す図である。
図6】設定画面100を示す図である。
図7】制限対象コマンドのコマンド名と処理内容とを示す図である。
図8】PJLコマンドの環境変数の変数名と説明とを示す図である。
【発明を実施するための形態】
【0009】
以下、適宜図面を参照して本発明の実施形態について説明する。なお、以下に説明する実施形態は、本発明の一例にすぎず、本発明の要旨を変更しない範囲で、本発明の実施形態を適宜変更できることは言うまでもない。例えば、後述する各処理の実行順序は、本発明の要旨を変更しない範囲で、適宜変更できる。
【0010】
図1は、本実施形態に係る通信システム1のブロック図である。図1に示す通信システム1は、プリンタ(印刷装置及びデータ受信デバイスの一例)10、出力デバイス(データ送信デバイスの一例)50を備える。プリンタ10は、印刷処理等の各種処理を実行可能なデバイスであり、出力デバイス50から出力されるPJLコマンドに従って各種処理を実行する。なお、出力デバイス50は、PJLコマンドを出力可能なデバイスであればよく、PC,携帯端末,USBデバイス等の種々のデバイスを採用することが可能である。
【0011】
プリンタ10は、CPU(コンピュータの一例)12、メモリ14、LCD16、入力I/F18、読取部20、記録部22、通信I/F26を主に備えている。I/Fは、インタフェースの略である。これらの構成要素は、バス28を介して互いに通信可能とされている。
【0012】
プリンタ10は、通信I/F26を通じて出力デバイス50と通信可能となっている。通信I/F26は、LANI/F(第1の通信インタフェース及びLANインタフェースの一例)30、USBI/F(第2の通信インタフェースの一例)31を備えている。LANI/F30は、LAN(Local Area Networkの略)及びWAN(Wide Area Networkの略)を介した通信に使用されるインタフェースであり、USBI/F31は、USBデバイスとのデータ入出力に用いられるインタフェースである。USBI/F31は、USBケーブルを接続するためのコネクタと、USBメモリなどのUSBデバイスを接続するためのコネクタと、を備えている。
【0013】
CPU12は、メモリ14内の制御プログラム32に従って処理を実行する。また、メモリ14は、データ記憶領域34を備える。データ記憶領域34は、制御プログラム32等の実行に必要なデータなどを記憶する領域である。なお、メモリ14は、ROM、フラッシュメモリ等の不揮発性メモリ36と、RAM等の揮発性メモリ38とを含む。
【0014】
なお、メモリ14は、コンピュータが読み取り可能なストレージ媒体であってもよい。コンピュータが読み取り可能なストレージ媒体とは、non-transitoryな媒体である。non-transitoryな媒体には、上記の例の他に、CD-ROM、DVD-ROM等の記録媒体も含まれる。また、non-transitoryな媒体は、tangibleな媒体でもある。一方、インターネット上のサーバなどからダウンロードされるプログラムを搬送する電気信号は、コンピュータが読み取り可能な媒体の一種であるコンピュータが読み取り可能な信号媒体であるが、non-transitoryなコンピュータが読み取り可能なストレージ媒体には含まれない。
【0015】
LCD16は、プリンタ10の各種情報を表示する。なお、本願のディスプレイは、液晶ディスプレイに限らず、有機ELディスプレイ等の他の表示方式のディスプレイでも良い。入力I/F18は、例えば、ディスプレイと一体的に構成されているタッチパネルであり、ディスプレイ上に表示されたアイコン,ボタン等へのユーザ操作を受け付ける。また、タッチパネル以外にも、ハードキー等であってもよい。
【0016】
読取部20は、イメージセンサを備え、画像を読み取り、スキャンを実行する部位である。また、記録部22は、例えば電子写真方式の印刷機構である。記録部22は、インクジェット方式の印刷機構でもよい。
【0017】
なお、本明細書では、基本的に、プログラムに記述された命令に従ったCPU12の処理を示す。すなわち、以下の説明における「判断」、「抽出」、「選択」、「算出」、「決定」、「特定」、「取得」、「受付」、「制御」等の処理は、CPU12の処理を表している。CPUによる処理は、OSのAPIを用いたハードウェア制御も含む。本明細書では、OSの記載を省略して各プログラムの動作を説明する。すなわち、以下の説明において、「プログラムBがハードウェアCを制御する」という趣旨の記載は、「プログラムBがOSのAPIを用いてハードウェアCを制御する」ことを指してもよい。また、プログラムに記述された命令に従ったCPU12の処理を、省略した文言で記載することがある。例えば、「CPU12が行う」のように記載することがある。また、プログラムに記述された命令に従ったCPU12の処理を、「プログラムAが行う」のようにCPUを省略した文言で記載することがある。
【0018】
なお、「取得」は要求を必須とはしない概念で用いる。すなわち、CPU12が要求することなくデータを受信するという処理も、「CPUがデータを取得する」という概念に含まれる。また、本明細書中の「データ」とは、コンピュータに読取可能なビット列で表される。そして、実質的な意味内容が同じでフォーマットが異なるデータは、同一のデータとして扱われるものとする。本明細書中の「情報」についても同様である。また、「要求する」、「指示する」とは、要求していることを示す情報や、指示していることを示す情報を相手に出力することを示す概念である。また、要求していることを示す情報や指示していることを示す情報のことを、単に、「要求」、「指示」とも記載する。
【0019】
また、CPU12による、情報Aは事柄Bであることを示しているか否かを判断する処理を、「情報Aから、事柄Bであるか否かを判断する」のように概念的に記載することがある。CPU12による、情報Aが事柄Bであることを示しているか、事柄Cであることを示しているか、を判断する処理を、「情報Aから、事柄Bであるか事柄Cであるかを判断する」のように概念的に記載することがある。
【0020】
出力デバイス50から出力されたPJLファイルをプリンタ10が受け付けると実行される制御プログラム32の処理を、図2乃至図4に示すシーケンス図及び図5に示すフローチャートを用いて、詳しく説明する。
【0021】
まず、出力デバイス50から出力されたPJLファイルをプリンタ10が受け付ける際に、通信I/F26のLANI/F30を介してPJLファイルを受け付ける場合と、通信I/F26のUSBI/F31を介してPJLファイルを受け付ける場合とがある。また、プリンタ10では、プリンタ10が通信I/F26のLANI/F30を介してPJLファイルを受け付ける場合に、HTTPS(第1のプロトコルの一例)でPJLファイルを受けることも可能であり、HTTPS以外の通信プロトコル、例えば、PORT9100(第2のプロトコルの一例)でPJLファイルを受け付けることも可能である。なお、PORT9100とは、TCP/IPの9100番ポートを用いて、LPRプロトコル、または、Rawプロトコルに準じた通信を行うプロトコルである。
【0022】
まず、プリンタ10がHTTPS以外の通信プロトコルでPJLファイルを受ける処理を説明する。HTTPS以外の通信プロトコルとして、PORT9100を用いて、プリンタ10にPJLファイルを送信するクライアントが多く存在する。例えば、Windows(登録商標)の、プリンタと通信を行うための標準TCP/IPポートとしてPORT9100が用いられている。図2に示すように、出力デバイス50が、受信ポート番号として9100を指定してPJLファイルを出力する(S100)。これにより、プリンタ10は、LANI/F30を介して、HTTPS以外の通信プロトコルでPJLファイルを受け付ける(S102)。なお、PJLファイルにはPJLコマンドが含まれている。このように、プリンタ10がPJLファイルを受け付けると、PJL受付処理が実行される(S104)。なお、PJL受付処理は、図5に示す制御プログラム32により実行されるが、PJL受付処理については後述する。また、PORT9100は、後述するHTTPSとは異なり、認証手順を定めていないプロトコルであるため、図2に示すシーケンスチャートには、認証手順が含まれていない。
【0023】
次に、プリンタ10がHTTPSでPJLファイルを受ける処理を説明する。出願人は、セキュリティの観点から、HTTPSを用いてプリンタ10にPJLファイルを送信するクライアントを作成することに想到した。HTTPSでは、TCP/IPポートとして443が用いられている。また、HTTPSは認証手順が定められたプロトコルである。図3に示すように、出力デバイス50が、受信ポート番号として443を指定してHTTPSで定められた手順で、認証要求をプリンタ10に送信する(S110)。これにより、プリンタ10は、LANI/F30を介して、HTTPSで認証要求を受け付ける(S112)。なお、認証要求には、パスワードが含まれている。
【0024】
そして、プリンタ10は、認証要求を受け付けると、認証要求に含まれているパスワードの確認を行う(S114)。つまり、プリンタ10には予め認証パスワードが設定されており、プリンタ10は、認証要求に含まれているパスワードが認証パスワードと一致するか否かの確認を行う。そして、認証要求に含まれているパスワードが認証パスワードと一致する場合に、プリンタ10は認証成功の応答を出力デバイス50に返信する(S116)。続いて、出力デバイス50は、認証成功の応答を受信すると、受信ポート番号として443を指定して、HTTPSでPJLファイルをプリンタ10に送信する(S118)。これにより、プリンタ10は、LANI/F30を介して、HTTPSでPJLファイルを受け付ける(S120)。このように、プリンタ10がPJLファイルを受け付けると、PJL受付処理が実行される(S104)。
【0025】
次に、プリンタ10がUSBI/F31を介してPJLファイルを受け付ける処理を説明する。PJLファイルを出力する出力デバイス50はUSBメモリ等のUSBデバイスである。このため、USBメモリ等のUSBデバイスがプリンタ10に接続されることで、図4に示すように、出力デバイス50がプリンタ10にPJLファイルを出力する(S130)。この際、プリンタ10は、USBI/F31を介してPJLファイルを受け付ける(S132)。このように、プリンタ10がPJLファイルを受け付けると、PJL受付処理が実行される(S104)。
【0026】
PJL受付処理(S104)での処理内容を、図5を用いて説明する。制御プログラム32は、受け付けたPJLファイルに含まれているPJLコマンドを特定する(S200)。次に、制御プログラム32は、メモリ14に記憶されている設定値を参照し、PJLセキュリティ設定が有効に設定されているか否かを判断する(S202)。PJLセキュリティ設定は、PJLコマンドを用いた処理のセキュリティ対策を行うか否かの設定であり、図2図4に示す処理が行われるタイミングとは別のタイミングで、図6に示す設定画面100を用いて設定される。例えば、ユーザI/F18を介した操作に従って、制御プログラム32は、設定画面100を、LCD16に表示させる。設定画面100には、有効を示すラジオボタン102aと無効を示すラジオボタン102bとが含まれる。そして、設定画面100への、入力I/F18を介した操作によって、ラジオボタン102aが選択された場合、制御プログラム32は、PJLセキュリティ設定が有効に設定されたことを示す設定値をメモリ14に記憶させる、ラジオボタン102bが選択された場合、制御プログラム32は、PJLセキュリティ設定が無効に設定されたことを示す設定値をメモリ14に記憶させる。なお、PJLセキュリティ設定は、工場出荷時には、有効に設定されている。PJLセキュリティ設定が有効に設定されている場合(S202:YES)に、制御プログラム32は、プリンタ10がUSBI/F31を介してPJLファイルを受け付けたか否かを判断する(S204)。
【0027】
図2に示した、プリンタ10がHTTPS以外の通信プロトコルでPJLファイルを受けている場合では、制御プログラム32は、プリンタ10がUSBI/F31を介してPJLファイルを受け付けていないと判断する(S204:NO)。そして、制御プログラム32は、プリンタ10がLANI/F30を介してHTTPSでPJLファイルを受け付けたか否かを判断する(S206)。プリンタ10では、上述したように、HTTPSでPJLファイルが送信されてきた場合に、送られてきたファイルに受信ポート番号として443が指定されている。このため、制御プログラム32は、受信ポート番号として443が指定された通信で、PJLファイルを受信している場合にHTTPSでPJLファイルを受け付けたと判断し、受信ポート番号として443以外、例えば、9100が指定された通信で、PJLファイルを受信している場合にHTTPS以外の通信プロトコルでPJLファイルを受け付けたと判断する。
【0028】
プリンタ10がHTTPS以外の通信プロトコルでPJLファイルを受けている場合(S206:NO)、制御プログラム32は、実行制限対象コマンド情報をテーブルから読み出す(S210)。プリンタ10の不揮発性メモリ36には、図7に示すテーブルが記憶されている。このテーブルには、実行制限の対象となるPJLコマンドを示す情報、つまり、実行制限対象コマンド情報が記憶されており、制御プログラム32はそのテーブルから実行制限対象コマンド情報を読み出す。実行制限対象コマンド情報として設定されているPJLコマンド(以下、「制限対象コマンド」と記載する)(第1種のPJLコマンドの一例)は、「DEFAULT」,「INITIALIZE」,「RESET」,「SET」,「RDYMSG」,「OPMSG」,「STMSG」である。それら複数の制限対象コマンドの処理内容は、図7に記載されているため、制限対象コマンドの処理内容の詳細な説明は省略するが、簡略して説明すると、「DEFAULT」,「SET」は不揮発性メモリ36に記憶されている設定値の変更を指示するコマンドであり、「INITIALIZE」,「RESET」は不揮発性メモリ36に記憶されている設定値の初期化を指示するコマンドであり、「OPMSG」,「STMSG」はプリンタ10をオフラインにすることを指示するコマンドである。
【0029】
便宜上、図7に示すテーブルでは、制限対象コマンドのコマンド名と処理内容とが記されているが、制限対象コマンドの処理内容は不揮発性メモリ36内のテーブルに記憶されていない。また、上述したように、「DEFAULT」,「SET」は不揮発性メモリ36に記憶されている設定値の変更を指示するコマンドであり、「DEFAULT」,「SET」のPJLコマンドは、下記に示すように、「変数名」と「設定値」とを含んでいる。
@PJL DEFAULT/SET “変数名” “設定値”
変数名は環境変数を示す名称であり、例えば、図8に示す変数名が「DEFAULT」,「SET」のPJLコマンドに含まれている。このため、「DEFAULT」,「SET」のPJLコマンドによって、そのコマンドに含まれる変数名に応じた設定が、そのコマンドに含まれる設定値に設定される。なお、図8には、変数名に応じた設定内容が記されている。
【0030】
S200で特定したPJLコマンドが制限対象コマンドに含まれていない場合、つまり、プリンタ10が受け付けたPJLファイルに含まれるPJLコマンドが実行制限の対象でない場合(S212:NO)に、制御プログラム32は、S200で特定したPJLコマンドに従って処理を実行し(S208)、PJL受付処理を終了する。一方、S200で特定したPJLコマンドが制限対象コマンドに含まれている場合、つまり、プリンタ10が受け付けたPJLファイルに含まれるPJLコマンドが実行制限の対象である場合(S212:YES)に、制御プログラム32は、S200で特定したPJLコマンドに従って処理を実行せずに、PJL受付処理を終了する。
【0031】
また、PJLコマンドには、画像の印刷を指示するためのコマンド(以下、「印刷指示コマンド」と記載する)があり、印刷指示コマンドは印刷指示の対象となる画像の画像データ(印刷ジョブの一例)とともに出力される。つまり、PJLファイルに印刷指示コマンドと画像データとが含まれている。印刷指示コマンドは、具体的には、画像データを含む印刷データであることを示すコマンド、印刷データのジョブ名を示すコマンド、印刷データのユーザ名を示すコマンド、印刷データの印刷に用いる印刷パラメータを示すコマンド、印刷データを特別な方法で印刷することを示すコマンド、などが含まれる。特別な方法とは、例えば、印刷データをすぐには印刷せずメモリ14に蓄積しておき、入力I/F18を介した指示操作を受け付けたことに応じて印刷する方法である。また、印刷指示コマンドには、印刷データのうち、どこからが画像データであるのかを示すコマンド、画像データの形式を示すコマンドなども含まれる。画像データの形式とは、例えばPCL(PrinterCommandLanguageの略)、PS(PostScriptの略、PostScriptは登録商標)、PDF(PortableDocumentFormatの略)、JPEG、RAWである。また、制限対象コマンドは、図7に示すように、「DEFAULT」,「INITIALIZE」,「RESET」,「SET」,「RDYMSG」,「OPMSG」,「STMSG」であり、制限対象コマンドに印刷指示コマンドは含まれていない。つまり、画像データとともに送信されるPJLコマンドは制限対象コマンドに含まれていない。このため、PJLコマンドが画像データとともに送信された場合に、そのPJLコマンドの出力経路に関わらず、そのPJLコマンドに従った処理は実行され、画像データに基づく画像の印刷処理が実行される。
【0032】
図3に示した、プリンタ10がHTTPSでPJLファイルを受けた場合のPJL受付処理では、PJLセキュリティ設定が有効に設定されている場合(S202:YES)に、制御プログラム32は、プリンタ10がLANI/F30を介してHTTPSでPJLファイルを受け付けていると判断することになる(S206:YES)。そして、制御プログラム32は、S200で特定したPJLコマンドに従って処理を実行し(S208)、PJL受付処理を終了する。
【0033】
図4に示した、プリンタ10がUSBI/F31を介してPJLファイルを受けた場合のPJL受付処理では、PJLセキュリティ設定が有効に設定されている場合(S202:YES)に、制御プログラム32は、プリンタ10がUSBI/F31を介してPJLファイルを受け付けていると判断することになる(S204:YES)。そして、制御プログラム32は、S200で特定したPJLコマンドに従って処理を実行し(S208)、PJL受付処理を終了する。
【0034】
PJL受付処理が終了すると、制御プログラム32が、図2図4に示すように、プリンタ10がS208で実行した処理の実行結果を出力デバイス50に応答する(S106)。なお、S106での応答は、S208で実行された処理に応答が必要である場合にのみ送信される。つまり、S208で実行された処理に応答が必要でない場合には、S106の処理は実行されない。また、プリンタ10がHTTPS以外の通信プロトコルでPJLファイルを受けており、PJLコマンドが実行制限の対象である場合(図5のS212:YES)にはPJLコマンドに従った処理が実行されない。このため、PJLコマンドが実行制限の対象である場合にも、S106の処理は実行されない。
【0035】
上記した実施形態によれば、以下の効果を奏する。
このように、プリンタ10がHTTPS以外の通信プロトコルでPJLファイルを受けた場合には、受け付けたPJLファイルに含まれるPJLコマンドが制限対象コマンドである場合に、PJLコマンドに従った処理は実行されず、受け付けたPJLファイルに含まれるPJLコマンドが制限対象コマンド以外のPJLコマンド(第2種のPJLコマンドの一例)である場合に、PJLコマンドに従った処理が実行される。一方、プリンタ10がHTTPSでPJLファイルを受けた場合に、受け付けたPJLファイルに含まれるPJLコマンドが制限対象コマンドであるか否かかに関わらず、PJLコマンドに従った処理が実行される。これにより、PJLコマンドに従って処理を実行するプリンタ10のセキュリティを向上させることが可能となる。
【0036】
詳しくは、プリンタ10がHTTPSでPJLファイルを受ける場合に、上述したように、HTTPSは通信プロトコルとして認証手順を含んでいる。すなわち、通信システム1の管理者、プリンタ10の管理者、あるいは、プリンタ10のユーザ(以降 管理者等とも記載する)が、プリンタ10のパスワードを正しく設定しておくことで、悪意のあるユーザがHTTPSでPJLファイルをプリンタ10に送信することを防ぐことができる。そのため、プリンタ10は、HTTPSでPJLファイルを受けた場合に、受け付けたPJLファイルに含まれるPJLコマンドが制限対象コマンドであるか否かかに関わらず、PJLコマンドに従った処理を実行する。一方、HTTPS以外の通信プロトコルは認証手順を含んでいないため、悪意のあるユーザがHTTPS以外の通信プロトコルでPJLファイルをプリンタ10に送信すること自体を防ぐことは困難である。そして、悪意のあるユーザが制限対象コマンドをプリンタ10に送信して、制限対象コマンドに従った処理が実行されると、管理者等が意図していないにも関わらず、プリンタ10の設定変更,プリンタ10の設定の初期化,プリンタ10のオフライン等が行われる虞がある。このようなことに鑑みて、プリンタ10は、HTTPS以外の通信プロトコルでPJLファイルを受けた場合には、受け付けたPJLファイルに含まれるPJLコマンドが制限対象コマンドである場合に、PJLコマンドに従った処理を実行しない。一方で、受け付けたPJLファイルに含まれるPJLコマンドが制限対象コマンド以外のPJLコマンドである場合に、PJLコマンドに従った処理を実行する。すなわち、制限対象コマンド以外のPJLコマンドであれば、管理者等が、HTTPS以外の通信プロトコルでプリンタ10にPJLコマンドによる指示をすることができる。これにより、HTTPS以外の通信プロトコルで送信されるPJLファイルを用いてプリンタ10に指示ができる利便性を担保するとともに、HTTPS以外の通信プロトコルで送信されるPJLファイルによるプリンタ10の設定変更,プリンタ10の設定の初期化,プリンタ10のオフライン等を防止することで、プリンタ10のセキュリティを向上させることが可能となる。
【0037】
また、上述したように、PJLコマンドが実行制限の対象である場合(図5のS212:YES)に、S106の処理は実行されない。つまり、出力デバイス50がHTTPS以外の通信プロトコルで制限対象コマンドをプリンタ10に送信した場合に、プリンタ10は出力デバイス50に応答を送信しない。これにより、例えば、悪意のあるユーザへの情報提供を無くすことができる。つまり、例えば、HTTPS以外の通信プロトコルで制限対象コマンドを送信してきた出力デバイス50にエラー情報などを送信すると、送信した情報をユーザが分析してプリンタ10の情報を得る可能性がある。このため、HTTPS以外の通信プロトコルで制限対象コマンドを送信してきた出力デバイス50への応答を返信しないことで、悪意のあるユーザへの情報提供を無くすことができる。
【0038】
また、プリンタ10がUSBI/F31を介してPJLファイルを受けた場合には、受け付けたPJLファイルに含まれるPJLコマンドが制限対象コマンドであるか否かかに関わらず、PJLコマンドに従った処理が実行される。これは、USBI/F31を介してPJLファイルをプリンタ10に出力する出力デバイス50はUSBメモリ等のUSBデバイスであり、USBメモリ等のUSBデバイスがプリンタ10に接続されることで、プリンタ10がUSBI/F31を介してPJLファイルを受けるためである。つまり、プリンタ10にUSBメモリ等のUSBデバイスを接続することができるユーザは、プリンタ10に接近する必要があり、特定のユーザのみがプリンタ10にUSBメモリ等のUSBデバイスを接続することができる。このため、悪意のあるユーザがUSBI/F31を介してPJLファイルをプリンタ10に出力する可能性は低いため、プリンタ10がUSBI/F31を介してPJLファイルを受けた場合に、受け付けたPJLファイルに含まれるPJLコマンドが制限対象コマンドであるか否かかに関わらず、PJLコマンドに従った処理が実行される。
【0039】
なお、USBデバイスとしてUSBメモリではなく、USBI/F31に接続されたUSBケーブルを介して、クライアントからPJLファイルを受信してもよい。USBケーブルは、プリンタ10の近くにクライアントを配置するときに使われるケーブルなので、USBメモリ10と同様に、プリンタ10に接近する必要がある。このことを考慮すると、悪意のあるユーザがUSBケーブルを使う可能性は低いため、USBI/F31に接続されたUSBケーブルを介してPJLファイルを受信した場合においても、受け付けたPJLファイルに含まれるPJLコマンドが制限対象コマンドであるか否かかに関わらず、PJLコマンドに従った処理が実行される。
【0040】
また、PJLセキュリティ設定が無効に設定されている場合には、PJLコマンドが制限対象コマンドであるか否かかに関わらず、PJLコマンドに従った処理が実行される。すなわち、例えば、悪意のあるユーザの脅威が少ない環境などで、管理者等の意図によって、制限対象コマンドであるか否かかに関わらず、PJLコマンドに従った処理を実行できるようにプリンタ10を設定できる。
【0041】
なお、本発明は、上記実施形態に限定されるものではなく、当業者の知識に基づいて種々の変更、改良を施した種々の態様で実施することが可能である。具体的には、例えば、上記実施形態では、制限対象コマンドとして、「DEFAULT」,「INITIALIZE」,「RESET」,「SET」,「RDYMSG」,「OPMSG」,「STMSG」が設定されているが、他の任意のPJLコマンドを制限対象コマンドとして設定してもよい。
【0042】
また、上記実施形態では、制限対象コマンドが設定されており、PJLコマンドが制限対象コマンドであれば、PJLコマンドに従った処理が実行されず、PJLコマンドが制限対象コマンド以外のコマンドであれば、PJLコマンドに従った処理が実行される。一方で、PJLコマンドに従った処理を制限しないPJLコマンド(以下、「非制限対象コマンド」と記載する)が設定され、PJLコマンドが非制限対象コマンドであれば、PJLコマンドに従った処理が実行され、PJLコマンドが非制限対象コマンド以外のコマンドであれば、PJLコマンドに従った処理が実行されなくてもよい。
【0043】
また、上記実施形態では、プリンタ10がHTTPSでPJLコマンドを受信した場合に、PJLコマンドが制限対象コマンドであるか否かに関わらず、PJLコマンドに従った処理が実行されるが、プリンタ10がHTTPS以外の第1のプロトコルでPJLコマンドを受信した場合に、PJLコマンドが制限対象コマンドであるか否かに関わらず、PJLコマンドに従った処理が実行されてもよい。
【0044】
また、上記実施形態では、プリンタ10がUSBI/F31を介してPJLコマンドを受信した場合に、PJLコマンドが制限対象コマンドであるか否かに関わらず、PJLコマンドに従った処理が実行されるが、プリンタ10がUSBI/F31以外の第2の通信インタフェースを介してPJLコマンドを受信した場合に、PJLコマンドが制限対象コマンドであるか否かに関わらず、PJLコマンドに従った処理が実行されてもよい。
【0045】
また、上記実施形態では、ポート番号がPORT443及びPORT9100に限定されているが、種々のポート番号を採用することが可能である。
【0046】
また、上記実施形態では、CPU12によって図2乃至図5に示す処理が実行される例を説明したが、これら処理は、CPU12に限らず、ASICや他の論理集積回路により実行されてもよいし、これら処理が、CPU等やASIC、他の論理集積回路が協働することにより実行されてもよい。
【符号の説明】
【0047】
10:プリンタ、12:CPU、14:メモリ、26:通信I/F、30:LANI/F、31:USBI/F、32:制御プログラム、36:揮発性メモリ、50:出力デバイス
図1
図2
図3
図4
図5
図6
図7
図8