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

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

▶ シャープ株式会社の特許一覧

<>
  • 特開-画像形成装置および画像形成方法 図1
  • 特開-画像形成装置および画像形成方法 図2
  • 特開-画像形成装置および画像形成方法 図3
  • 特開-画像形成装置および画像形成方法 図4
  • 特開-画像形成装置および画像形成方法 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023173548
(43)【公開日】2023-12-07
(54)【発明の名称】画像形成装置および画像形成方法
(51)【国際特許分類】
   B41J 29/00 20060101AFI20231130BHJP
   B41J 29/38 20060101ALI20231130BHJP
   G06F 3/12 20060101ALI20231130BHJP
   G06F 21/56 20130101ALI20231130BHJP
   H04N 1/00 20060101ALI20231130BHJP
   H04N 1/21 20060101ALI20231130BHJP
   B41J 5/30 20060101ALN20231130BHJP
【FI】
B41J29/00 Z
B41J29/38 201
G06F3/12 312
G06F3/12 344
G06F21/56
H04N1/00 838
H04N1/21
H04N1/00 127B
B41J5/30 Z
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2022085878
(22)【出願日】2022-05-26
(71)【出願人】
【識別番号】000005049
【氏名又は名称】シャープ株式会社
(74)【代理人】
【識別番号】100103034
【弁理士】
【氏名又は名称】野河 信久
(74)【代理人】
【識別番号】100159385
【弁理士】
【氏名又は名称】甲斐 伸二
(74)【代理人】
【識別番号】100163407
【弁理士】
【氏名又は名称】金子 裕輔
(74)【代理人】
【識別番号】100166936
【弁理士】
【氏名又は名称】稲本 潔
(74)【代理人】
【識別番号】100174883
【弁理士】
【氏名又は名称】冨田 雅己
(74)【代理人】
【識別番号】100189429
【弁理士】
【氏名又は名称】保田 英樹
(74)【代理人】
【識別番号】100213849
【弁理士】
【氏名又は名称】澄川 広司
(72)【発明者】
【氏名】西井 渉
【テーマコード(参考)】
2C061
2C187
5C062
【Fターム(参考)】
2C061AP01
2C061AP07
2C061AQ05
2C061AQ06
2C061CL10
2C061HJ06
2C061HK03
2C061HK11
2C061HN05
2C061HN15
2C187AC06
2C187AC08
2C187BG03
2C187FC02
2C187GD10
5C062AA05
5C062AB20
5C062AB22
5C062AB38
5C062AB40
5C062AB42
5C062AC02
5C062AC04
5C062AC22
5C062AC23
5C062AC38
5C062AE15
(57)【要約】
【課題】ファイルのみがチェックの対象となるウィルスチェックソフトを用いる場合に、できるだけ印刷処理の無駄な遅延を抑える。
【解決手段】印刷ジョブに係るジョブデータを受領するデータ入出力部と、メモリにジョブデータを格納する際に、ウィルスチェックが無効に設定されている場合あるいは不要な場合は受領済みの部分から逐次印刷させるように部分データとして格納するが、有効に設定されている場合はひとまとまりのファイルとして格納するジョブ制御部と、ジョブデータを解析して画像形成用のデータを生成するデータ解析部と、ひとまとまりのファイルとして格納されたジョブデータを対象にウィルスチェックを行うウィルスチェック部とを備え、ジョブ制御部は、ジョブデータにコンピュータウィルスが埋め込まれていないとウィルスチェック部が判定した場合に、印刷部にジョブデータに基づく印刷を行わせる画像形成装置。
【選択図】図1
【特許請求の範囲】
【請求項1】
ウィルスチェックを行うか否かの設定を受け付けるウィルスチェック設定部と、
印刷ジョブに係るジョブデータを受領するデータ入出力部と、
受領したジョブデータを格納するメモリと、
前記メモリにジョブデータを格納する際に、前記ウィルスチェックが無効に設定されている場合あるいは不要な場合は受領済みの部分から逐次印刷させるように部分データとして格納するが、有効に設定されている場合はひとまとまりのファイルとして格納するジョブ制御部と、
前記ジョブデータを解析して画像形成用のデータを生成するデータ解析部と、
そのデータを用いて印刷を行う印刷部と、
前記ひとまとまりのファイルとして格納されたジョブデータを対象にウィルスチェックを行うウィルスチェック部とを備え、
前記ジョブ制御部は、前記ジョブデータにコンピュータウィルスが埋め込まれていないと前記ウィルスチェック部が判定した場合に、前記印刷部に前記ジョブデータに基づく印刷を行わせる画像形成装置。
【請求項2】
前記ジョブ制御部は、ウィルスチェックの結果、コンピュータウィルスのコードが埋め込まれていると判定されたジョブデータは、前記画像形成用のデータを生成せずに削除する請求項1に記載の画像形成装置。
【請求項3】
前記画像形成用のデータは、レンダリング処理のために生成される二次データである請求項1または2に記載の画像形成装置。
【請求項4】
前記データ入出力部は、外部の機器から通信を介してジョブデータが送られてきた場合にそのジョブデータを受領し、同一のセッション内で複数の印刷ジョブを受領する場合は各印刷ジョブの区切りを示すデータ毎に受領した印刷ジョブをファイルとして格納し、
前記ウィルスチェック部は、ファイルごとにウィルスチェックを行い、
前記ジョブ制御部は、ウィルスチェックの結果、コンピュータウィルスのコードが埋め込まれていないと判定されたジョブデータを印刷する請求項1または2に記載の画像形成装置。
【請求項5】
前記データ入出力部は、印刷ジョブの制御に係るコマンドが受領したジョブデータの前後の少なくとも何れかに付加されている場合、付加されたコマンドを無視してウィルスチェックを行うようにする情報を渡すか、または付加されたコマンドを削除してウィルスチェック部に渡すようにする請求項1または2に記載の画像形成装置。
【請求項6】
画像形成装置の印刷ジョブの実行を制御する制御部が、
ウィルスチェックを行うか否かのユーザによる設定を受け付けるステップと、
外部の機器から印刷ジョブに係るジョブデータを受領するステップと、
受領したジョブデータをメモリに格納する際に、前記ウィルスチェックが無効に設定されている場合あるいは不要な場合は受領済みの部分から逐次印刷させるように部分データとして格納するが、有効に設定されている場合はひとまとまりのファイルとして格納するステップと、
前記ジョブデータを解析して画像形成用のデータを生成するステップと、
前記ひとまとまりのファイルとして格納されたジョブデータを対象にウィルスチェックを行うステップと、
前記ジョブデータにコンピュータウィルスが埋め込まれていないと判定した場合に、印刷部を用いて前記ジョブデータに基づく印刷を行うステップと、
を備える画像形成方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、画像形成装置および画像形成方法に関し、より詳細にはウィルスチェック機能を有する画像形成装置および画像形成方法に関する。
【背景技術】
【0002】
画像形成装置では外部の情報処理装置等の機器から受領したジョブデータ(実行すべき印刷ジョブに係るデータ)をメモリバッファに逐次保存しつつ先頭から順にデータ解析を行って、例えばレンダリング用の二次データを生成し、その二次データを用いてレンダリングを行う。そして、レンダリングされたデータ(三次データ)を用いて逐次画像形成(印刷)を行う。即ち、受領したジョブデータが1つのまとまったファイルとして保存される前に、逐次保存された部分のデータ(以下、この明細書で部分データという)を用いて印刷を実行する。このようにして情報処理装置からジョブデータが送信されてから印刷を開始するまで遅延時間を抑えて印刷を行うことが一般的になされている。以下、このようにジョブデータのすべてを受領する前に、受領済みの部分から逐次印刷を行うモードをこの明細書で逐次処理モードとよぶ。
【0003】
一方、多くのウィルスチェックソフトは情報処理機器のオペレーティングシステム(Operating SystemまたはOS)上で管理されるファイルとして所定の形式で保存されたデータに対してのみウィルスチェックが実行可能である。ファイル以外の形式のデータはウィルスチェックの対象として想定されておらず、正しい結果が得られないという制限がある。コンピュータウィルスはプログラムの一種であり、オペレーティングシステム上でコンピュータ(プロセッサともいう)が実行するプログラムコードはファイルとして保存されるからである。
【0004】
コンピュータウィルスは、不正な処理を実行するように作られたコンピュータプログラムである。ウィルスチェックソフトがコンピュータウィルスを検出する一般的な手法は、チェック対象のファイルと、既知のウィルスに含まれる特異な処理に係るプログラムコード(シグネチャコードとも呼ばれる)が登録されたデータベースとを照合するものである。照合に用いられるデータベースは、ウィルスパターンファイルあるいはウィルス定義ファイルとも呼ばれる。ウィルスパターンファイルは、既知のコンピュータウィルスからシグネチャコードの全部または一部を抽出してそれらを登録することにより作成されたデータベースである。ウィルスパターンファイルの作成および更新には専門知識と多大な労力を要する。よって、ウィルスチェックソフトは限られた者によって提供されているのが現状である。
【0005】
ジョブデータは、レンダリング用の二次データ生成やレンダリング処理など、印刷に関して画像形成装置のプロセッサが実行する処理を制御するコードを含む。プロセッサが実行する処理を定めたデータという点においてコンピュータプログラムと共通する側面がある。そのジョブデータは、外部装置でファイルとして保存される場合があり、ファイルである以上、コンピュータウィルスに感染している可能性がある。
即ち、ジョブデータの一部にコンピュータウィルスのプログラムコードが埋め込まれている可能性は否定できない。そのジョブデータを受領し、オペレーティングシステム上でプロセッサがレンダリング処理を実行すると、ジョブデータに埋め込まれたコンピュータウィルスのプログラムコードが実行される可能性がある。ウィルスのプログラムコードが実行されると、コンピュータウィルスが他のファイルに感染したり、データが盗まれたり破壊されたりするなど、本来の意図と異なる不正な処理が実行されるおそれがある。
【0006】
それに関して、セキュリティの観点からウィルスチェック機能を備え、外部から受領したファイルをウィルスチェックする画像形成装置が知られている(例えば、特許文献1参照)。ウィルスチェックの結果ウィルスに感染していると判断した場合は記憶装置に保存されたジョブデータを破棄する。
【0007】
しかし、ファイルサイズ等の条件によっては、ウィルスチェックに長い時間がかかる。一方で、ジョブデータの1枚目の印刷が完了してから2枚目の印刷が開始されるまでのウェイト時間内に2枚目の印刷に係るデータのウィルスチェックを完了させて印刷を開始できなければ、所謂ジャムが発生してしまう。そこで、特許文献1のものは、1ページ毎に、ジョブデータの印刷処理とウィルスチェック処理とを同時に実行できるか否かを判定する。印刷処理中にウィルスチェック処理を完了できると判定した場合は、ジョブデータの印刷処理とウィルスチェック処理とを同時に実行し、印刷処理のパフォーマンスの低下を抑制する。一方、ウィルスチェック処理と印刷処理を同時に実行するとウェイト時間内にウィルスチェック処理を完了させることができないと判定した場合はウィルスチェックの完了を待ってからページの印刷を開始させる。そうすることで、ウィルスチェック処理による印刷処理の停止時間を最小限に抑えるというものである。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2020-203419号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
画像形成装置におけるウィルスチェックは、セキュリティの観点から、外部装置から受領したジョブデータを画像形成装置にファイルとして保存した直後に実行されるべきである。その結果、コンピュータウィルスが埋め込まれていると判定されたジョブデータは、ジョブデータを用いた処理が行われる前に削除するか、そのジョブデータへのアクセスを禁止することでセキュリティが確保される。
しかし、前述のように、多くのウィルスチェックソフトは、それを用いてウィルスチェックを行おうとした場合、受領したジョブデータをファイルとして保存した後にそのファイルを対象にウィルスパターンの照合を行わなければならないという制約がある。
特許文献1は、そのような制限のあるウィルスチェックソフトを画像形成装置において実行する場合については何も述べていない。
【0010】
逐次処理モードは、ジョブデータのすべてを受領する前に、受領済みの部分から逐次印刷を行い、印刷を開始するまでの遅延時間を抑えるものである。ところが、ウィルスチェックを行おうとすると、ジョブデータをすべて受領し終えてファイルに保存してからでなければウィルスチェックを実行できない。
本開示は、以上のような事情を考慮してなされたものであって、ファイルのみがチェックの対象となるウィルスチェックソフトを用いる場合に、できるだけ印刷処理の無駄な遅延を抑える手法を提供するものである。
【課題を解決するための手段】
【0011】
本開示は、ウィルスチェックを行うか否かの設定を受け付けるウィルスチェック設定部と、印刷ジョブに係るジョブデータを受領するデータ入出力部と、受領したジョブデータを格納するメモリと、前記メモリにジョブデータを格納する際に、前記ウィルスチェックが無効に設定されている場合あるいは不要な場合は受領済みの部分から逐次印刷させるように部分データとして格納するが、有効に設定されている場合はひとまとまりのファイルとして格納するジョブ制御部と、前記ジョブデータを解析して画像形成用のデータを生成するデータ解析部と、そのデータを用いて印刷を行う印刷部と、前記ひとまとまりのファイルとして格納されたジョブデータを対象にウィルスチェックを行うウィルスチェック部とを備え、前記ジョブ制御部は、前記ジョブデータにコンピュータウィルスが埋め込まれていないと前記ウィルスチェック部が判定した場合に、前記印刷部に前記ジョブデータに基づく印刷を行わせる画像形成装置を提供する。
【0012】
また、異なる観点から本開示は、画像形成装置の印刷ジョブの実行を制御する制御部が、ウィルスチェックを行うか否かのユーザによる設定を受け付けるステップと、外部の機器から印刷ジョブに係るジョブデータを受領するステップと、受領したジョブデータをメモリに格納する際に、前記ウィルスチェックが無効に設定されている場合あるいは不要な場合は受領済みの部分から逐次印刷させるように部分データとして格納するが、有効に設定されている場合はひとまとまりのファイルとして格納するステップと、前記ジョブデータを解析して画像形成用のデータを生成するステップと、前記ひとまとまりのファイルとして格納されたジョブデータを対象にウィルスチェックを行うステップと、前記ジョブデータにコンピュータウィルスが埋め込まれていないと判定した場合に、印刷部を用いて前記ジョブデータに基づく印刷を行うステップと、を備える画像形成方法を提供する。
【発明の効果】
【0013】
本開示による画像形成装置において、ジョブ制御部は、メモリにジョブデータを格納する際に、ウィルスチェックが無効に設定されている場合あるいは不要な場合は部分データとして格納するが、有効に設定されている場合はファイルとして格納し、ウィルスチェック部がファイルとして格納されたジョブデータを対象にウィルスチェックを行い、ジョブデータにコンピュータウィルスが埋め込まれていないと判定した場合に、印刷部にジョブデータに基づく印刷を行わせるので、ファイルのみがチェックの対象となるウィルスチェックソフトを用いる場合に、できるだけ印刷処理の無駄な遅延を抑えることができる。
本開示による画像形成方法も同様の作用効果を奏する。
【図面の簡単な説明】
【0014】
図1】この実施形態において、画像形成装置の構成例を示すブロック図である。
図2】この実施形態において、画像形成装置が受領するジョブデータのデータパターンの例を示す説明図である。
図3図1に示す画像形成装置のジョブ制御部が実行する印刷データの受領に係る処理の例を示すフローチャートである。
図4図3に示すファイル保存処理の詳細を示すフローチャートである。
図5図3に示すウィルスチェック処理の詳細を示すフローチャートである。
【発明を実施するための形態】
【0015】
以下、図面を用いて本開示をさらに詳述する。なお、以下の説明は、すべての点で例示であって、本開示を限定するものと解されるべきではない。
(実施の形態1)
図1は、この実施形態において、画像形成装置の構成例を示すブロック図である。
図1に示すように、画像形成装置100は、通信を介して外部の機器であるPC(Personal Computer)102と接続されている。そして、外部の機器からジョブデータを受信することができる。画像形成装置100は、制御部19、印刷部30および操作部50を備える。また、原稿読取部40を備えていてもよい。
【0016】
制御部19は、ハードウェア資源としてプロセッサおよびメモリを中心に構成され、データ入出力部11、ジョブ制御部13、ウィルスチェック部17、メモリ21、データ解析部23および画像生成部25を含む。
データ入出力部11は、外部のPC102からジョブデータを受領する通信回路を含む。また、USB(Universal Serial Bus)メモリ(図1に不図示)を装着可能とし、装着されたUSBメモリから転送されるジョブデータを受領するインターフェース回路を含む。さらに、原稿読取部40が読み取った原稿の画像データを受領するインターフェース回路を含んでいてもよい。それに加えて、画像形成装置100は、カウンタデータ、設定値のデータ、ジョブの実行履歴のデータ等の内部データをメモリ21に格納しており、それらの内部データを印刷部30で印刷して出力する際のジョブデータを受領するインターフェース回路を含む。それらに限らず、データ入出力部11は、外部の機器から送られてくるジョブデータを受領し、また任意の原稿読取部40など画像形成装置100で生成される印刷用のデータを受領するインターフェース回路である。
【0017】
ジョブ制御部13は、画像形成装置100を制御して受領したジョブデータの印刷に係る処理を実行する。ジョブ制御部13は、受領データ処理部15を含む。
ウィルスチェック部17は、制御部19に係るプロセッサがプログラムモジュールとして提供されるウィルスチェックソフトの処理を実行することによって実現される機能である。
受領データ処理部15は、受領したジョブデータに係る処理を行う。
【0018】
メモリ21は、複数のメモリデバイスから構成され、バッファメモリ21Bおよびスプールメモリ21Sを含む。
バッファメモリ21Bは高速の読み書きが可能なRAMで構成され、受領したジョブデータを格納する一方で、格納されたジョブデータを先頭から順にデータ解析部23に渡す逐次処理モードの印刷に使用される。
スプールメモリ21Sは、バッファメモリ21Bに比べると読み書きの速度は遅いが大きな記憶容量を有しており、ジョブデータをひとまとまりのファイルとして格納できる。スプールメモリ21Sは、印刷部30が行う印刷の処理速度より速く読み書きをおこなう。この実施形態において、スプールメモリ21Sは、HDD(Hard Disk Drive)で構成されている。
【0019】
スプールメモリ21Sは、PC102から送信されるジョブデータの受信処理と印刷部30による印刷の処理速度の差を吸収するために、受信されたジョブデータをファイルとして一旦格納するメモリである。受領したジョブデータをスプールメモリ21Sにファイルとして格納することによって、スプールメモリ21Sにファイルとして格納されたジョブデータにウィルスチェックを行い、コンピュータウィルスのコードが埋め込まれていないと判定されたジョブデータについては印刷処理を実行できる。一方、コンピュータウィルスのコードが埋め込まれていると判定されたジョブデータは、データ解析を行う前に削除してセキュリティを確保できる。
【0020】
データ解析部23は、受領したジョブデータを解析してレンダリング用の二次データを生成する。ジョブデータの解析は、制御部19に係るプロセッサがプログラムモジュールとして提供されるデータ解析の処理を実行することによって実現される。
画像生成部25は、二次データを用いてレンダリングを行い、Y(イエロー)、M(マゼンタ)、C(シアン)、K(ブラック)各色のビットマップデータ(三次データ)を生成する。レンダリングは、制御部19に係るプロセッサがプログラムモジュールとして提供されるレンダリングの処理を実行することによって実現される。
【0021】
印刷部30は、三次データに基づいて可視画像を作成し、印刷シートに印刷を行うものである。印刷の手法は限定されず、例えば電子写真方式によるものであってもよく、インクジェット方式によるものであってもよく、あるいは昇華型染料インクを用いる方式であってもよい。
任意の原稿読取部40は、イメージセンサを用いて原稿の画像を読み取り、原稿に対応した画像のデータを生成するものである。
操作部50は、ユーザによる設定を受け付けるものである。操作部50は、ウィルスチェック設定部51を備える。ウィルスチェック設定部51は、ジョブデータに対するウィルスチェックを行うか否かのユーザによる設定を受け付ける。
【0022】
逐次処理モードの場合、受領データ処理部15は外部の機器からジョブデータを受領すると、バッファメモリ21Bを介してそのジョブデータをデータ解析部23に渡す。なお、データ解析部23があるジョブデータの解析処理中に新たなジョブデータを受領した場合、以下のようなスプール受信を行う。ただし、画像形成装置100の各種設定のうち「プリントデータのスプール受信」が有効に設定されている場合である。タイムアウトエラーが発生することを防ぐために受領データ処理部15は、新たに受領したジョブデータをバックグラウンドでスプールメモリ21Sにスプール受信させる。
【0023】
ただし、ジョブデータの送信元であるホストに即時の応答が必要な場合は、その通信を優先的に処理するためにスプール受信は行わない。即時の応答が必要な場合の例としては、ネットワーク印刷プロトコルであるRAWポート設定を用い、かつホストとの双方向通信が有効に設定されている場合の印刷や、USBインターフェースを介した印刷などが挙げられる。
スプール受信を行っている途中で、先のジョブデータの解析処理中が完了すると、受領データ処理部15は、スプール受信してスプールメモリ21Sに格納されたジョブデータの解析を始めるようにする。スプール受信が終了していなければ、スプール受信を続けながら、スプールメモリ21Sに格納されたジョブデータの解析を行うようにする。このような処理も、逐次処理モードに含まれる。
【0024】
一方、ジョブデータの種類や設定によっては、スプールメモリ21Sにジョブデータをファイルとして保存してから印刷を行う。ジョブデータをファイルとして保存してから印刷を行う処理を、ファイル保存モードと呼ぶ。ファイル保存モードで動作するジョブデータの例は、PDF(Portable Document Format)の印刷が挙げられる。ウィルスチェック機能を有効とする設定がされている場合は、ジョブデータの種類や設定が何れであっても、ファイル保存モードでの印刷を行う。
なお、画像形成装置内で生成されるデータなど、ウィルスチェックが不要な印刷の場合はジョブデータに対するウィルスチェックを行わない。
【0025】
(実施の形態2)
ネットワーク経由でジョブデータを受信する場合、通常は1つの印刷ジョブが1つのセッションで送られ、セッション終了時にファイル保存が完了する。しかし、1つの印刷ジョブが送られた後もセッションが終了しないことがある。例えば、USBインターフェースを介した印刷の場合は、入出力タイムアウトで強制的にセッションが終了となってファイル保存が完了する。
同一セッション中(タイムアウト時間内)に複数ジョブを受信した場合、全ジョブが単一ファイルとして処理されると印刷開始までに時間がかる。またファイルサイズが巨大化して通信可能なファイルサイズの上限に達し、それ以上のデータ受信あるいはファイル保存ができなくなるおそれがある。
【0026】
また、基幹系サーバーのホストからジョブデータを受領する印刷では、RAWポート設定を用い、かつ双方向通信が有効に設定されている場合、ホスト側が以下のような通信制御を行う場合がある。ジョブデータの送信途中で、ホストは特定の双方向通信コマンドを送ってセッションを保持し、画像形成装置100からReady応答が返るのを待つ。画像形成装置100がReady応答を返すと続きのデータが送られてくるが、Ready応答を返さなければ続きのデータが送られてこない。画像形成装置100をファイル保存モードで動作させると、Ready応答を返さないままタイムアウトになって一方的にファイル保存を完了させる。そうすると、ホストに応答コマンドを返さないために続きのデータが送られてこず、印刷ができない。
【0027】
この実施形態において受領データ処理部15は、受領したジョブデータに双方向通信コマンドや、新たな用紙への印刷(従って、現用紙への印刷終了)を指示するUEL(Universal Exit Language)コマンドが含まれているかを監視する。そして、双方向通信コマンドやUELコマンド等、ジョブの切れ目を示すデータがあった場合は、そこまでをファイルとして分割し保存する。そして、双方向通信コマンドに対してReady応答を返し、保存が完了したファイルから順次処理を行う。そうすることで双方向通信コマンドの応答処理を可能とする。
【0028】
(実施の形態3)
印刷ポートの設定や印刷方法によっては、バナーやジョブ制御コマンドが付加されたジョブデータを受領する場合がある。その一例は、ネットワーク印刷プロトコルであるLPD(Line Printer Daemon Protocol)が設定された印刷で、バナー印刷を行うように設定されている場合である。他の一例は、プリンタドライバを使用せずにファイルを画像形成装置100に送り、画像形成装置100の側でファイル形式に応じた印刷を行うダイレクトプリントのうち特定の種類のものである。
ウィルスチェックの対象であるファイルの前後に余分なデータが付加されていると、ウィルスチェックが正常に機能せず、正しい結果が得られない。
【0029】
この実施形態において受領データ処理部15は、ウィルスチェック部17が想定しているジョブデータのファイル形式の前後に余分なデータが付加されている場合、付加されたデータを無視してウィルスチェックを行えるようにする。ジョブデータの前に付加される序文なデータをヘッダと呼び、ジョブデータの後に付加されるデータをフッタと呼ぶ。ヘッダの一例は、LPD印刷のバナーである。他の一例は、画像形成装置100が実行すべき印刷ジョブについて種々の設定を指示するPJL(Printer Job Language)コマンドである。実施の形態2でUELコマンドについて述べたが、実はUELコマンドは数あるPJLコマンドのうちの1つである。フッタの一例は、UELコマンドである。受領データ処理部15は、ヘッダおよびフッタの少なくとも何れかが付加されている場合、その位置を検出して、ウィルスチェック部17にその位置情報(ウィルスチェックの開始オフセット、終了オフセット)を渡す。
【0030】
あるいは、ウィルスチェック部17が開始オフセット/終了オフセットを無視してウィルスチェックできないと判断した場合は、スプールメモリ21Sに格納されたジョブデータからヘッダおよびフッタを取り除いたウィルスチェック用のファイルを別途作成する。そして、ウィルスチェック部17に渡してウィルスチェックを行わせる。コンピュータウィルスが検知された場合は、ウィルスチェック用のファイルと共に元のジョブデータを削除する。そして、そのジョブデータに係る印刷ジョブをキャンセルする。
【0031】
≪受領するジョブデータのパターン≫
図2は、画像形成装置が受領するジョブデータのデータパターンの例を示す説明図である。(A)~(G)の7つのパターンを図2に示している。ウィルスチェック部17が想定しているファイルのデータ形式と一致する部分が「検出対象」で示す部分である。「検出対象」の左側はジョブデータの前に付加されるヘッダの例を示しており、右側はジョブデータの後ろに付加されるフッタの例を示している。
【0032】
(A)は、ジョブデータにフッタ、ヘッダの何れも付加されずに外部装置からジョブデータが送られてくるパターンを示している。
(B)~(F)は、実施の形態3で述べたヘッダおよびフッタがジョブデータに付加されたパターンを示している。
(B)は、ジョブ制御コマンドがヘッダとしてジョブデータに付加され、外部装置から送られてくるパターンを示している。ジョブ制御コマンドの具体例は、PJLコマンドである。なお、PJLコマンドの開始と終了は、特定の文字コードの羅列により識別され、それによってヘッダと検出対象であるジョブデータ本体とが区別される。フッタについても同様である。
【0033】
(C)は、ヘッダとしてジョブ制御コマンドが、フッタとしてUELコマンドが、ジョブデータにそれぞれ付加されて外部装置から送られてくるパターンを示している。
(D)は、ヘッダとフッタとが多重に付加されて外部装置から送られてくるパターンを示している。
(E)は、バナーがヘッダとしてジョブデータに付加され、外部装置から送られてくるパターンを示している。
(F)は、バナーとジョブ制御コマンドがヘッダとしてジョブデータに付加され、外部装置から送られてくるパターンを示している。
(G)は、実施の形態2で述べた双方向通信コマンドの例を示している。ホストである外部装置から送られてくるジョブ制御コマンドに対して画像形成装置100から応答(ステイタスコマンド)が返るのを待って、ホスト側が続きのデータを送ってくる。画像形成装置100がステイタスコマンドを返さなければ続きのデータが送られてこない。
【0034】
≪フローチャート≫
以上、実施の形態1乃至実施の形態3で述べた内容を、ジョブ制御部が実施する処理の流れの観点からフローチャートを用いて説明する。
図3図5は、図1に示す画像形成装置のジョブ制御部が実行する処理の例を示すフローチャートである。図3は印刷データの受領に係る処理の例を、図4図3に示すファイル保存処理の詳細を、図5図3に示すウィルスチェック処理の詳細をそれぞれ示す。
図3に示すように、受領データ処理部15は、ジョブデータを受領した場合、そのジョブデータが外部の機器から送られてきたものか否かを判定する(ステップS11)。外部の機器から受領した場合は、コンピュータウィルスのコードが埋め込まれている可能性があると判断して以下の処理を行う。
【0035】
まず、受領データ処理部15は、ファイル保存モードで印刷を行うべきジョブデータか否かを判定する(ステップS13)。例えば、PDF印刷の場合は(ステップS13のYes)、ファイル保存モードで印刷を行うべきものである。
ファイル保存モードで印刷を行うべき場合は、受領したジョブデータをファイルとして保存してから印刷に係る処理を行うようにする(ステップS15)。
そして、受領データ処理部15は、受領したジョブデータをスプールメモリにファイルとして格納するためにファイルをオープンする(ステップS17)。そして、ファイル保存モードで印刷を行うか否かを判定し(ステップS19)、ファイル保存モードで印刷に係る処理を行う場合は(ステップS19のYes)、ファイル保存処理を実行し(ステップS21)、処理を終了する。
ファイル保存処理の詳細は、図4に示されている。
【0036】
前述のステップS19の判定で、ファイル保存モードがオフに設定されている場合(ステップS19のNo)、ジョブ制御部13は、バッファメモリ16Bを用いた逐次処理モードで、受領したジョブデータに係る印刷を行うこととする(ステップS31)。
ここで、バッファメモリ16Bを用いた逐次処理モードで受領したジョブデータは、部分データであってそのデータ形式はバッファメモリに逐次保存しつつ先頭から順にデータ解析を行うために適した独自のデータ形式としている。OSのファイルシステムにおいて独立した1つのファイルとして管理できるファイル形式ではない。即ち、ウィルスチェックソフトでウィルスチェックが可能な形式のデータではない。
OSは、制御部19にインストールされていて、制御部19において動作する各種プログラムはそのOSを基盤としている。ウィルスチェックソフトもそのOSを基盤としている。ウィルスチェックソフトは、OSが管理可能なファイル形式のデータをウィルスチェックの対象とするように作られており、独自のデータ形式である部分データはチェック対象として処理することができない。
逐次処理モードでの印刷において、ジョブ制御部13は、バッファメモリに格納されたジョブデータの先頭から逐次、データ解析部23によるデータ解析処理を行って2次データを生成する(ステップS31)。そして、生成された2次データをレンダリングして印刷を行う(ステップS33)。
【0037】
一方、前述のステップS13の判定で、ファイル保存モードで印刷を行うべきジョブでないと判定した場合(ステップS13のNo)、受領データ処理部15は、次の判定を行う。ウィルスチェック設定部51が受け付けた設定が、ジョブデータにウィルスチェックを行うべきとする設定か否かの判定である(ステップS35)。ウィルスチェックを行うように設定されている場合は(ステップS35のYes)、ファイル保存モードで印刷を行うように設定する(ステップS37)。そして、処理を前述のステップS17へ進め、スプールファイルをオープンする。
【0038】
一方、前述のステップS35の判定で、ウィルスチェックを行うように設定されていない場合、受領データ処理部15は処理を後述するステップS23へ進める。
また、前述のステップS11の判定において、受領するジョブデータが外部の機器から受領するものでなく画像形成装置100の内部で生成される場合についても、受領データ処理部15は、処理をステップS23へ進める。
【0039】
ステップS23で、受領データ処理部15は、スプール受信を行うように設定されているか否かを確認する(ステップS23)。スプール受信を行うように設定されている場合は、先に受領したジョブデータに係る印刷ジョブが処理中の状態であり、かつ、受領するジョブデータが即時に応答を返す必要のないものか否かを判定する(ステップS25)。先の印刷ジョブの処理中かつ即時応答が不要なジョブデータを受領する場合(ステップS25のYes)、受領データ処理部15は、ファイル保存モードをオフに設定し、スプールメモリ21Sに受領したデータを格納するように制御する(ステップS27)。そして、処理を前述のステップS17へ進め、スプールファイルをオープンする。
前述のステップS23で、スプール受信を行わないように設定されている場合(ステップS23のNo)、受領データ処理部15は、処理を前述のステップS31へ進めて逐次処理モードで印刷を行う。
また、前述のステップS25で、先の印刷ジョブの処理中でない場合、または即時応答が必要なジョブデータを受領する場合(ステップS25のNo)、受領データ処理部15は、処理を前述のステップS31へ進めて逐次処理モードで印刷を行う。
【0040】
続いて、図3のステップS21に示すファイル保存処理の詳細について述べる。
受領データ処理部15は、送られてくるジョブデータを受領すると、逐次スプールメモリ21Sに受領した分のジョブデータを格納する(図4に示すステップS41)。そして、以下の判定をおこなう。
まず、セッションの終了またはタイムアウトによってジョブデータの受領が終了したかを判定する(ステップS43)。ジョブデータの受領が終了した場合は(ステップS43のYes)、処理を後述するステップS51へ進める。
【0041】
セッション終了またはタイムアウトが発生していない場合(ステップS43のNo)、続いて同一セッション内における印刷ジョブの区切りが検出されたか否かを判定する(ステップS45)。印刷ジョブの区切りを検出した場合は(ステップS45のYes)、処理を後述するステップS51へ進める。
印刷ジョブの区切りを検出していない場合(ステップS45のNo)、続いてバナーやUEL等、ファイル保存のトリガとなるコマンド等が検出されたか否かを判定する(ステップS47)。ファイル保存のトリガとなるコマンド等が検出された場合は(ステップS47のYes)、処理を後述するステップS51へ進める。
【0042】
ファイル保存のトリガとなるコマンド等が検出されない場合(ステップS47のNo)、続いて双方向通信コマンドを受領したか否かを判定する(ステップS49)。双方向通信コマンドを受領していない場合(ステップS49のNo)、処理を前述のステップS41へ戻し、ジョブデータの受領を続ける。
一方、双方向通信コマンドを受領した場合は(ステップS49のYes)、処理をステップS51へ進める。
【0043】
ステップS51で、ジョブ制御部13は、受領したジョブデータのスプールメモリ21Sへの格納が終了したと判断して、ファイルをクローズする(ステップS51)。これは、図3のステップS17に示すファイルオープンと対の処理である。
S51でファイルクローズ処理することで、OSのファイルシステムにおいて独立した1つのファイルとして管理できる形式のひとまとまりのファイルとして保存される。即ちウィルスチェックソフトでチェック処理が可能なファイル形式となる。
続いて、ジョブ制御部13は、受領したジョブデータのウィルスチェックを行うように設定されているか否かを判定する(ステップS53)。ウィルスチェックを行うように設定されている場合(ステップS53のYes)、ウィルスチェック処理を実行して(ステップS55)処理を終了する。ウィルスチェック処理の詳細は後述する。
一方、ウィルスチェックを行うように設定されていない場合(ステップS53のNo)、ジョブ制御部13は、スプールメモリ21Sにファイルとして格納されたジョブデータに対するデータ解析を行って2次データを生成する(ステップS57)。そして、生成された2次データをレンダリングして印刷を行い(ステップS59)、処理を終了する。
【0044】
続いて、図4のステップS55に示すウィルスチェック処理の詳細について述べる。
ジョブ制御部13は、ファイルとしてスプールメモリ21Sに格納されジョブデータに、バナーやジョブ制御コマンドが付加されているか否かを調べる(ステップS61)。
バナーやジョブ制御コマンドが付加されている場合(ステップS63のYes)、付加されたバナーやジョブ制御コマンドを無視してウィルスチェックができるか否かを判定する(ステップS65)。
バナーやジョブ制御コマンドを無視してウィルスチェックができる場合、ジョブ制御部13は、ウィルスチェックの対象となるファイルに加えて、以下の情報をウィルスチェック部17に提供する。ウィルスチェックを開始するオフセット、即ちヘッダの位置を示す情報、およびウィルスチェックを終了するオフセット、即ちフッタの位置を示す情報である(ステップS67)。そして、処理を後述するステップS71へ進める。
【0045】
一方、前記ステップS65の判定で、付加されたバナーやジョブ制御コマンドを無視してウィルスチェックができない場合(ステップS65のNo)、ジョブ制御部13は、付加されているバナーやジョブ制御コマンドを削除したファイルを生成する。そして、生成したウィルスチェック用のファイルをウィルスチェック部17に提供する(ステップS69)。そして、対象のファイルのウィルスチェックを実行するようにウィルスチェック部17に指示を送る(ステップS71)。
その指示に応答してウィルスチェック部17がウィルスチェックを行うと、ジョブ制御部13は、その結果を参照する。
【0046】
その結果が、コンピュータウィルスのコードが埋め込まれているとするものであれば(ステップS73のYes)、ジョブ制御部13は、対象のジョブデータのファイルを削除する。ウィルスチェック用のファイルを生成している場合は、それも削除する。そして、コンピュータウィルスが検出されたため、そのジョブデータについての印刷はできない旨をユーザに知らせる(ステップS75)。そして、処理を終了する。
前記ステップS73の判定の結果が、コンピュータウィルスのコードが埋め込まれていないとするものであれば(ステップS73のNo)、ジョブ制御部13はスプールメモリ21Sにファイルとして格納されたジョブデータに対するデータ解析を行って2次データを生成する(ステップS77)。そして、生成された2次データをレンダリングして印刷を行い(ステップS79)、処理を終了する。
以上が、実施形態においてジョブ制御部13が実行する処理の流れである。
【0047】
以上に述べたように、
(i)本開示による画像形成装置は、ウィルスチェックを行うか否かの設定を受け付けるウィルスチェック設定部と、印刷ジョブに係るジョブデータを受領するデータ入出力部と、受領したジョブデータを格納するメモリと、前記メモリにジョブデータを格納する際に、前記ウィルスチェックが無効に設定されている場合あるいは不要な場合は受領済みの部分から逐次印刷させるように部分データとして格納するが、有効に設定されている場合はひとまとまりのファイルとして格納するジョブ制御部と、前記ジョブデータを解析して画像形成用のデータを生成するデータ解析部と、そのデータを用いて印刷を行う印刷部と、前記ひとまとまりのファイルとして格納されたジョブデータを対象にウィルスチェックを行うウィルスチェック部とを備え、前記ジョブ制御部は、前記ジョブデータにコンピュータウィルスが埋め込まれていないと前記ウィルスチェック部が判定した場合に、前記印刷部に前記ジョブデータに基づく印刷を行わせることを特徴とする。
【0048】
本開示において、ウィルスチェックは、対象のファイルに不正な処理を実行するコンピュータウィルスのプログラムコードが埋め込まれているか否かを判定するものである。その具体的なチェック手法の一つとして、対象のファイルと、既知のウィルスに含まれる特異な処理に係るプログラムコード(シグネチャコード)が登録されたデータベースとを照合するパターンマッチング法が挙げられる。
また、外部の機器は、ファイルとして格納されたジョブデータを提供し得るものである。その具体的な態様として、例えば、PC、スマートフォン、クラウドサーバ、プリントサーバなどの情報処理装置が挙げられる。あるいは、ファイルを格納し転送し得るUSBメモリやNAS(Network Access Drive)等の記憶装置が挙げられる。前述の実施形態におけるPCは、ここにいう外部の機器の一例である。
【0049】
さらにまた、印刷ジョブは、画像形成装置が実行すべき印刷処理を指示するひとまとまりの情報である。
ジョブデータは、その印刷ジョブに係る設定を示す情報と印刷の内容を示す情報(例えば、ページ記述言語)を含む。ジョブデータはファイルであるが、外部の装置から受信するジョブデータは、その前に印刷ジョブに係るコマンドやバナーなどのヘッダが付加されたり、その後に新たな用紙への印刷(従って、現用紙への印刷終了)を指示するUELコマンドなどのフッタが付加されたりする場合がある。
データ入出力部は、外部の機器からジョブデータが送られてきた場合、それを受領するものである。その具体的な態様として、例えば、通信を介して外部の機器からジョブデータを受信する通信回路や、直接接続されたUSBメモリ等の記憶装置からジョブデータを受領する入出力回路が挙げられる。さらに、画像形成装置で読み取られた画像データを受領してもよい。
また、メモリは、ジョブデータを格納するものである。ただし、ジョブデータだけでなく種々のデータ、例えばプログラムデータを格納してもよい。その具体的な態様として、例えば、ジョブデータを一時的に格納するバッファメモリとしてのRAM(Random Access Memory)や、スプールメモリとしてのHDDあるいはSDD(Solid State Disk)などが挙げられる。バッファメモリは、部分データを格納して受領済みの部分から逐次印刷を行う場合にジョブデータの格納に適用され、スプールメモリは、ひとまとまりのファイルとしてジョブデータを格納する場合に適用される。
さらにまた、ジョブ制御部は、印刷ジョブの実行を制御するものである。その具体的な態様として、プロセッサがメモリに格納された制御プログラムを実行することによってジョブ制御部としての機能が実現される構成が挙げられる。
【0050】
データ解析部は、受領したジョブデータを解析して画像形成用のデータを生成するものである。画像形成用のデータの具体的な態様として、例えば、ジョブデータから生成され、レンダリングを行うために用いられる中間的なデータが挙げられる。
また、印刷部は、レンダリングされたデータを用いて画像を形成するものである。その具体的な態様として、例えば、電子写真感光体を用いて画像形成を行うもの、インクジェットノズルを用いて画像形成を行うもの、昇華型染料インクを用いて熱転写により画像を形成するものなどが挙げられる。
【0051】
さらにまた、ウィルスチェック部は、画像形成装置が有するプロセッサにウィルスチェックの処理を行わせるものである。その具体的な態様として、例えば、ウィルスチェックソフトを提供する事業者からウィルスチェックプログラムの提供を受けてプログラムモジュールとして組み込み、プロセッサに実行させるようにした態様が挙げられる。前述の実施形態におけるウィルスチェック部は、この構成に相当するものである。
ウィルスチェックが不要な場合とは、コンピュータウィルスのコードが埋め込まれる可能性がないと考えられる場合である。例えば、画像形成装置内で生成され、ファイルとして格納されることのないデータが挙げられる。外部の機器から受領するジョブデータであっても、ファイルとして格納されることがないと判断されるものについてはウィルスチェックが不要としてもよい。
【0052】
さらに、本開示の好ましい態様について説明する。
(ii)前記ジョブ制御部は、ウィルスチェックの結果、コンピュータウィルスのコードが埋め込まれていると判定されたジョブデータは、前記画像形成用のデータを生成せずに削除してもよい。
この態様によれば、受領したジョブデータにコンピュータウィルスのコードが埋め込まれていると判定された場合、データ解析部23がそのジョブデータに基づく処理を実行する前にそのジョブデータを削除するので、埋め込まれたコンピュータウィルスのコードをプロセッサが実行することがない。このようにして、セキュリティを確保できる。
【0053】
(iii)前記画像形成用のデータは、レンダリング処理のために生成される二次データであってもよい。
この態様によれば、受領したジョブデータからレンダリング処理のための中間的な二次データを生成する前にそのジョブデータを削除するので、ジョブデータに埋め込まれたコンピュータウィルスのコードをプロセッサが実行することがない。
【0054】
(iv)前記データ入出力部は、外部の機器から通信を介してジョブデータが送られてきた場合にそのジョブデータを受領し、同一のセッション内で複数の印刷ジョブを受領する場合は各印刷ジョブの区切りを示すデータ毎に受領した印刷ジョブをファイルとして格納し、前記ウィルスチェック部は、ファイルごとにウィルスチェックを行い、前記ジョブ制御部は、ウィルスチェックの結果、コンピュータウィルスのコードが埋め込まれていないと判定されたジョブデータを印刷してもよい。
この態様によれば、データへのアクセス開始から終了までの一連の通信である一つのセッションが、複数の印刷ジョブを含む場合、印刷ジョブの区切りを示すデータが見出されるとそれまでに受領したジョブデータを一つのファイルとして格納し、ウィルスチェックを行う。よって、セッションが終了するまでウィルスチェックの開始が遅延させる必要がなく、印刷処理の無駄な遅延を抑えることができる。
【0055】
(v)前記データ入出力部は、印刷ジョブの制御に係るコマンドが受領したジョブデータの前後の少なくとも何れかに付加されている場合、付加されたコマンドを無視してウィルスチェックを行うようにする情報を渡すか、または付加されたコマンドを削除してウィルスチェック部に渡すようにしてもよい。
この態様によれば、受領したジョブデータの少なくとも何れかに制御コマンドが付加されていても、ウィルスチェック部が想定しているファイル形式に適合したものとしてウィルスチェックを行うことができる。
【0056】
(vi)本開示の一態様は、画像形成装置の印刷ジョブの実行を制御する制御部が、ウィルスチェックを行うか否かのユーザによる設定を受け付けるステップと、外部の機器から印刷ジョブに係るジョブデータを受領するステップと、受領したジョブデータをメモリに格納する際に、前記ウィルスチェックが無効に設定されている場合あるいは不要な場合は受領済みの部分から逐次印刷させるように部分データとして格納するが、有効に設定されている場合はひとまとまりのファイルとして格納するステップと、前記ジョブデータを解析して画像形成用のデータを生成するステップと、前記ひとまとまりのファイルとして格納されたジョブデータを対象にウィルスチェックを行うステップと、前記ジョブデータにコンピュータウィルスが埋め込まれていないと判定した場合に、印刷部を用いて前記ジョブデータに基づく印刷を行うステップと、を備える画像形成方法を含む。
【0057】
本開示の態様には、上述した複数の態様のうちの何れかを組み合わせたものも含まれる。
前述した実施の形態の他にも、本開示について種々の変形例があり得る。それらの変形例は、本開示の範囲に属さないと解されるべきものではない。本開示には、請求の範囲と均等の意味および前記範囲内でのすべての変形とが含まれるべきである。
【符号の説明】
【0058】
11:データ入出力部、 13:ジョブ制御部、 15:受領データ処理部、 17:ウィルスチェック部、 19:制御部、 21:メモリ、 21B:バッファメモリ、 21S:スプールメモリ、 23:データ解析部、 25:画像生成部、 30:印刷部、 40:原稿読取部、 50:操作部、 51:ウィルスチェック設定部
100:画像形成装置、 102:PC
図1
図2
図3
図4
図5