JP2010221476A - ジョブ処理装置 - Google Patents
ジョブ処理装置 Download PDFInfo
- Publication number
- JP2010221476A JP2010221476A JP2009070073A JP2009070073A JP2010221476A JP 2010221476 A JP2010221476 A JP 2010221476A JP 2009070073 A JP2009070073 A JP 2009070073A JP 2009070073 A JP2009070073 A JP 2009070073A JP 2010221476 A JP2010221476 A JP 2010221476A
- Authority
- JP
- Japan
- Prior art keywords
- job data
- data
- received
- storage
- stored
- 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
Links
Images
Landscapes
- Accessory Devices And Overall Control Thereof (AREA)
- Record Information Processing For Printing (AREA)
Abstract
【課題】受信した印刷ジョブデータは、記憶装置に書き込まれる場合に、複数回送信された、同じ内容の印刷ジョブデータ(或いはその一部)が、重複して記憶装置に記憶されるということが起こり得てしまい、このような重複した記憶は、書き込み量を無駄に増やしてしまうことになる。
【解決手段】記憶装置14が搭載されたジョブ処理装置1が、記憶装置14へのジョブデータ3の書き込み量を抑える。ジョブ処理装置1が、ジョブデータ3を受信する受信手段11,131と、受信したジョブデータ3を記憶する記憶手段14と、受信したジョブデータ3の記憶手段14への記憶処理を制御する記憶制御手段132,133と、を備え、記憶制御手段132,133は、受信したジョブデータ3と記憶手段14に記憶済みのジョブデータ3とを比較して一致した場合には、受信したジョブデータ3の記憶手段14への記憶処理を省略する。
【選択図】図1
【解決手段】記憶装置14が搭載されたジョブ処理装置1が、記憶装置14へのジョブデータ3の書き込み量を抑える。ジョブ処理装置1が、ジョブデータ3を受信する受信手段11,131と、受信したジョブデータ3を記憶する記憶手段14と、受信したジョブデータ3の記憶手段14への記憶処理を制御する記憶制御手段132,133と、を備え、記憶制御手段132,133は、受信したジョブデータ3と記憶手段14に記憶済みのジョブデータ3とを比較して一致した場合には、受信したジョブデータ3の記憶手段14への記憶処理を省略する。
【選択図】図1
Description
本発明は、ジョブ処理装置に関し、特に、外部から受信したジョブデータを処理する装置に関する。
ジョブ処理装置の一例として印刷装置をとりあげて説明する。従来、不揮発性の記憶装置(例えば、ハードディスクドライブやフラッシュメモリー等であり、以下、単に「記憶装置」という)が搭載された印刷装置が知られている。この種の印刷装置は、ホスト装置等から受信した印刷ジョブデータを記憶装置に記憶しておくことができる。これにより、印刷装置は、例えば、ホスト装置から再度同一内容の印刷ジョブデータを受信することなくリプリントを行ったり、印刷ジョブデータを受信したタイミングではなくその後にユーザーが指示したタイミング等で印刷を行ったりすることができる。
印刷装置に搭載された記憶装置への記憶の方法として、例えば、ホスト装置から受信した印刷ジョブデータをそのままの形式(例えば、PDL(Page Description Language)形式)で記憶する方法と、ホスト装置から受信した印刷ジョブデータをラスターライズして得られたラスターデータを記憶する方法とがある。PDL形式のデータは、ラスターデータよりもデータサイズが小さいため、PDL形式で記憶したほうが、ラスターデータで記憶するよりも書き込み量を抑えることができる。一方で、ラスターデータで記憶した場合は、印刷する度にPDL形式からラスターデータへの変換処理を行う必要がなくなるので、計算コストを抑えることができる。
印刷装置に搭載された記憶装置への記憶の方法に関する技術としては、例えば、特許文献1、2等が知られている。特許文献1に開示されている技術は、ラスターデータで記憶する方法において、空白のバンドについては保存しないようにすることで、計算コスト及び書き込み量を抑えるというものである。一方、特許文献2に開示されている技術は、リプリントが行われる頻度が高いものについてラスターデータとして記憶しそれ以外はPDL形式で記憶することで、計算コスト及び書き込み量を抑えるというものである。
ところで、上記記憶装置(ハードディスクドライブやフラッシュメモリー)は、その大容量化が進んでいるが、それでもなお記憶装置への書き込み量を抑える技術が求められている。その理由として、より多くの印刷ジョブデータを記憶できるようにすることに加えて、フラッシュメモリーの場合、その書き込み回数に上限があるからである。即ち、書き込み量を抑えることによって、書き込み回数に上限がある記憶装置(例えば、フラッシュメモリー)の延命を図ることが求められている。
この点、上述した特許文献1、2に開示の技術も、書き込み量を抑えることが図られているが、それでも未だ、書き込み量を抑えること(即ち、記憶装置の延命を図ること)を主目的とした場合は、不十分である。理由は以下のとおりである。
即ち、通常、ユーザーは、例えば、印刷命令を送信した後に印刷部数が足りなかったことに気づいて、或いは印刷してみて失敗したので若干設定変更して、同じ内容のデータを再度印刷することがしばしばある。即ち、ある程度時間が経過した後にリプリントするのではなく、連続的に同じ内容のデータを印刷することがしばしばある。このような場合、大抵は、複数回送信された印刷ジョブデータ(或いはその一部)が一致する。上述した特許文献1、2に開示の技術は、受信した印刷ジョブデータを小さいサイズで(PDL形式で或いは不必要な部分は取り除いて)書き込むことにより書き込み量を抑えるといったものであり、原則として、受信した印刷ジョブデータは、記憶装置に書き込まれる。従って、特許文献1、2に開示の技術では、このような場合に、複数回送信された、同じ内容の印刷ジョブデータ(或いはその一部)が、重複して記憶装置に記憶されるということが起こり得てしまう。このような重複した記憶は、書き込み量を無駄に増やしてしまうことになる。
また、上述した特許文献1及び2に開示の技術は、そもそもデータサイズの大きいラスターデータで、記憶対象の印刷データの全部或いは一部を記憶するものであるため、書き込み量を抑えることを主目的とした場合は、あまり効果的ではない。
書き込み量を抑えることは、印刷装置だけに限らず、記憶装置が搭載された装置であって、外部から受信したジョブデータを記憶装置に記憶しつつそのジョブデータを処理するといったジョブ処理装置(例えば、入力されたデータを記憶装置に記憶した後そのデータを発信するファクシミリ、或いは、受信したE-Mailを記憶装置に記憶した後そのE-mailの内容を画面に表示するE-Mail処理装置等)についても、同様に求められる。
従って、本発明の目的は、記憶装置が搭載されたジョブ処理装置において、記憶装置へのジョブデータの書き込み量を抑えることにある。
本発明の一つの実施態様に従うジョブ処理装置は、ジョブデータを受信する受信手段と、受信したジョブデータを記憶する記憶手段と、前記受信したジョブデータの前記記憶手段への記憶処理を制御する記憶制御手段と、を備え、前記記憶制御手段は、受信したジョブデータと前記記憶手段に記憶済みのジョブデータとを比較して一致した場合には、前記受信したジョブデータの前記記憶手段への記憶処理を省略する。
上記構成によれば、受信したジョブデータが記憶済みのジョブデータと一致している場合はその書き込みが省略されるので、記憶手段への書き込み量を抑えることができる。その結果、記憶手段の書き込み回数に制限がある場合には、記憶手段の寿命を延ばすことができるようになる。また、同じ内容のデータについて重複した記憶を回避できるので、より多くのジョブデータを記憶できるようになる。更に、書き込み速度の遅い記憶手段が採用されている場合は、書き込み量が抑えられるので、書き込みに要する計算コストを削減できる。
本発明に係る好適な実施形態では、前記記憶制御手段は、受信したジョブデータの比較部分と前記記憶手段に記憶済みのジョブデータの比較部分とを比較して一致した場合には、前記受信したジョブデータの比較部分の前記記憶手段への記憶処理を省略するようにしてもよい。
例えば、ジョブデータごとに異なる固有データが含まれている場合は、受信したジョブデータと記憶手段に記憶済みのジョブデータとは必ず不一致となってしまい、書き込みを省略することができなくなってしまう。そこで、上記構成のように、比較部分(ジョブデータごとに異なる固有データを除いた部分)を比較するようにすることで、書き込みを省略し、書き込み量を抑えることをより効果的にしている。
本発明に係る好適な実施形態では、前記ジョブデータには、ジョブデータごとに異なる固有データが含まれており、前記ジョブデータの比較部分は、前記ジョブデータから前記固有データを除いた部分であってもよい。
上述したように、ジョブデータごとに異なる固有データが含まれている場合は、受信したジョブデータと記憶手段に記憶済みのジョブデータとは必ず不一致となってしまい、書き込みを省略することができなくなってしまう。そこで、上記構成のように、比較部分(ジョブデータごとに異なる固有データを除いた部分)を比較するようにすることで、書き込みを省略し、書き込み量を抑えることをより効果的にしている。
本発明に係る好適な実施形態では、前記ジョブデータは、印刷ジョブデータであり、前記ジョブデータの比較部分は、描画データであってもよい。
印刷処理においては、例えば、ユーザーは、印刷命令を送信した後に印刷部数が足りなかったことに気づいて、或いは印刷してみて失敗したので若干設定変更して、同じ内容のデータを再度印刷することがしばしばある。このような場合、大抵は、複数回送信された印刷ジョブデータのそれぞれの描画データが一致している。また、描画データは、それ以外の部分(例えば、ヘッダー)に比較してデータサイズが大きい。従って、上記構成のように、ジョブデータが印刷ジョブデータである場合は、比較部分を描画データとすることで、効果的に書き込み量を抑えることが可能となる。
本発明に係る好適な実施形態では、前記記憶制御手段は、前記受信したジョブデータについて、前記受信したジョブデータの比較部分の記憶位置と、前記受信したジョブデータの比較部分以外の部分の記憶位置とを管理する管理データを生成し、前記受信したジョブデータの比較部分と前記記憶手段に記憶済みのジョブデータの比較部分とを比較して一致した場合、前記受信したジョブデータの比較部分以外の部分を記憶手段へ記憶させるとともに、前記記憶させた比較部分以外の部分の記憶位置を、前記生成した管理データに管理させ、前記記憶済みのジョブデータの比較部分の記憶位置を、前記受信したジョブデータの比較部分の記憶位置として、前記生成した管理データに管理させてもよい。
上記構成によれば、受信したジョブデータの比較部分以外の部分(例えば、ヘッダー)の記憶位置と、受信したジョブデータの比較部分(例えば、描画データ)の記憶位置とが、管理データによって管理される。そして、比較部分の記憶位置としては、記憶手段に記憶済みのジョブデータの比較部分(受信ジョブデータの比較部分と一致したもの)の記憶位置が設定される。これにより、受信ジョブデータの比較部分を記憶手段に記憶させることなく、受信ジョブデータの比較部分を管理データに管理させることができ、比較部分の重複記憶を回避することができる。
本発明に係る好適な実施形態では、前記記憶制御手段は、前記受信したジョブデータのハッシュ値と前記記憶済みのジョブデータのハッシュ値とが一致しているか否かにより、前記受信したジョブデータと前記記憶手段に記憶済みのジョブデータとが一致しているか否かを判定してもよい。
上記構成によれば、ハッシュ値が一致しているか否かを見るだけで、受信したジョブデータと記憶済みのジョブデータとが一致しているか否かを判定できるので、ジョブデータ自体が一致しているか否かを判定するよりも、判定処理に要する計算コストを削減することができる。
本発明に係る好適な実施形態では、前記記憶手段には、複数のジョブデータが記憶されており、前記記憶制御手段は、前記記憶手段に記憶済みの複数のジョブデータの中から一以上のジョブデータを選択し、前記受信したジョブデータと前記選択されたジョブデータのそれぞれとを比較し、前記受信したジョブデータと前記選択されたジョブデータのうちのいずれかとが一致した場合には、前記受信したジョブデータの前記記憶手段への記憶処理を省略してもよい。
上記構成によれば、比較の対象となるジョブデータを自由に選択できるようになる。通常、比較の対象となるジョブデータの数が少ないほど、比較処理に要する計算コストが小さくなる。従って、CPUの処理能力に合わせて比較の対象となるジョブデータの数を選択することができ、CPU13に過度の処理負荷をかけないようにすることができる。
以下、図面を参照しながら、本発明の実施形態を詳細に説明する。
図1は、本実施形態に係るジョブ処理装置の一例としての印刷装置1の構成例を示す図である。
印刷装置1は、例えば、入出力I/F(インターフェース)11と、RAM(Random Access Memory)12と、ROM(Read Only Memory)15と、CPU(Central Processing Unit)13と、記憶装置14とを備える。
入出力I/F11は、ホスト装置2とデータ通信を行うためのインターフェース装置である。入出力I/F11は、ホスト装置2から印刷ジョブデータ3を受信し、その受信した印刷ジョブデータ3をCPU13の構造解析部131へ渡す。
ROM15には、例えば、CPU13により実行される各種のコンピュータプログラムが格納される。RAM12は、CPU13が処理するデータ、例えば、出力対象の印刷ジョブデータ3(以下、「出力対象ジョブデータ」)等を、一時的に格納しておくためのバッファとして利用される。
記憶装置14は、不揮発性の記憶装置である。記憶装置14としては、例えば、ハードディスクドライブやフラッシュメモリー等が採用される。記憶装置14には、ホスト装置2から受信した印刷ジョブデータ3(以下、「受信ジョブデータ」)が記憶される。また、記憶装置14には、記憶装置14に記憶されている印刷ジョブデータ3(以下、「記憶ジョブデータ」)を管理するための管理データ4が記憶される。
CPU13は、ROM15に格納されている各種のコンピュータプログラムを実行することにより、例えば、構造解析部131、比較処理部132、保存処理部133、選択部134、画像処理部135と及び画像出力部136として機能する。
構造解析部131は、受信ジョブデータ3(ホスト装置2から受信した印刷ジョブデータ3)の解析を行う処理部である。印刷装置1は、印刷ジョブデータ3を、それを構成するセグメント単位で受信する。構造解析部131は、受信ジョブデータ3を構成するセグメント(以下、「受信データ」)を解析し、受信データが、受信ジョブデータ3のどの部分に相当するものであるか(受信ジョブデータ3のどのデータ要素を構成するものであるか)を特定する。
ここで、図2を参照して、印刷ジョブデータ3の構造を説明する。本実施形態における印刷ジョブデータ3は、例えば、ESC/PageやPCL等のPDL形式のデータである。図2に示されるように、印刷ジョブデータ3には、例えば、ヘッダー31と、描画データ32とが含まれる。ヘッダー31には、この印刷ジョブデータ3が示す印刷ジョブに関する種々のデータ(例えば、ジョブIDやユーザー名や印刷設定に関するデータ(部数や解像度等)等)が含まれる。描画データ32は、この印刷ジョブデータ3が示す印刷ジョブによって出力される画像の基となるデータである。本実施形態において、構造解析部131は、受信データを解析し、受信データが、ヘッダー31を構成するものであるか、描画データ32を構成するものであるか、或いはヘッダー31及び描画データ32の両者を構成するものであるかを特定することになる。
再び図1を参照する。比較処理部132は、受信ジョブデータ3と記憶ジョブデータ3(記憶装置14に記憶されている印刷ジョブデータ3)とを比較し、両印刷ジョブデータ3が一致するか否かを判定する処理部である。以下、この比較処理部132が行う処理を「比較処理」と呼ぶ。比較処理の判定結果を基に、保存処理部133が、受信ジョブデータ3(或いは、受信ジョブデータ3の一部)を記憶装置14に記憶するか否かを決定することになる。
比較処理において、記憶ジョブデータ3が複数ある場合は、複数の記憶ジョブデータ3のうちの全てが比較の対象とされてもよいし、複数の記憶ジョブデータ3のうちの一部が比較の対象とされてもよい。例えば、比較処理部132は、複数の記憶ジョブデータ3の中から、記憶された日時が新しいものを順に所定数だけ選択し、その選択された記憶ジョブデータ3を比較の対象とすることができる。以下、比較の対象とされる記憶ジョブデータ3を「比較対象ジョブデータ」と呼ぶ。
また、比較処理において、印刷ジョブデータ3のデータ全体が比較の対象とされてもよいし、印刷ジョブデータ3の一部分が比較の対象とされてもよい。一般に、印刷ジョブデータ3には、印刷ジョブごとに異なるデータ(例えば、ヘッダー31に含まれるジョブIDやタイムスタンプ等であり、以下、「ジョブ固有データ」)が含まれるので、通常は、印刷ジョブデータ3の一部分(ジョブ固有データを除く部分)が比較の対象とされることになる。
保存処理部133は、受信ジョブデータ3を記憶装置14に記憶する処理部である。具体的には、保存処理部133は、比較処理の判定結果に基づいて受信ジョブデータ3(或いは受信ジョブデータ3の一部)を記憶するか否かを決定し、記憶すると決定された場合にその受信ジョブデータ3を記憶装置14に記憶する。例えば、保存処理部133は、比較処理において、受信ジョブデータ3と比較対象ジョブデータ3とが一致しないとの判定結果が得られた場合(即ち、複数の記憶ジョブデータ3のうちの全てが比較対象ジョブデータ3とされているときは、受信ジョブデータ3と同じ内容の印刷ジョブデータ3が記憶装置14に記憶されていないと判定された場合)に、受信ジョブデータ3を記憶装置14に記憶することができる。
本実施形態では、印刷ジョブデータ3の一部分(具体的には、描画データ32)が、比較処理における比較の対象とされる。従って、本実施形態では、比較処理部132は、受信ジョブデータ3の描画データ32(以下、「受信描画データ」)を、一以上の比較対象ジョブデータ3のそれぞれの描画データ32と比較し、受信描画データ32が、比較対象ジョブデータ3の描画データ32(以下、「比較対象描画データ」)のいずれかと一致するか否かを判定する。そして、保存処理部133は、比較対象描画データ32のいずれとも一致しなかった場合に、受信描画データ32を記憶装置14に記憶する。一方、比較対象描画データ32のいずれかと一致した場合は、受信描画データ32を記憶装置14に記憶しないようにする。即ち、比較処理部132及び保存処理部133は、このように処理することで、同じ内容の描画データ32が重複して記憶装置14に記憶されないようにしている。これにより、重複した記憶がされない分、無駄な書き込みを抑えることができるので、書き込み量を抑えることができるようになる。そして、記憶装置14の書き込み回数に上限がある場合は、記憶装置14の延命を図ることができるようになる。尚、複数の記憶済みの描画データ32のうちの一部が比較対象描画データ3とされた場合は、受信描画データ32が、比較の対象とはされなかった記憶済みの描画データ32と一致する場合があるので、完全に重複した記憶を回避することはできないが、この場合でも、重複して記憶される可能性を減らすことができる。
尚、受信ジョブデータ3のヘッダー31(以下、「受信ヘッダー」)については、本実施形態では、書き込みが省略されることなく記憶装置14に記憶される。上述したように、ヘッダー31には、ジョブ固有データ(印刷ジョブごとに異なるデータ(ジョブIDやタイムスタンプ等))が含まれ、比較対象ジョブデータ3のヘッダー31とは一致しないと考えられるからである。ただし、本実施形態では、受信ヘッダー31を比較の対象とせずに無条件に記憶するようにしているが、次のようにしてもよい。即ち、受信ジョブデータ3のうちのジョブ固有データを除いた部分(即ち、描画データ32及びヘッダー31の一部分)を比較の対象とし、そのジョブ固有データを除いた部分を一単位として記憶するか否かを判定するようにしてもよい。
選択部134は、出力対象の印刷ジョブデータ3(出力対象ジョブデータ)をRAM12へ格納する処理部である。具体的には、選択部134は、記憶ジョブデータ3の中から出力対象ジョブデータ3を選択し、その選択した出力対象ジョブデータ3を記憶装置14から読み出し、その読み出した出力対象ジョブデータ3をRAM12に格納する。
画像処理部135は、出力対象ジョブデータ3に対して画像処理(ラスターライズ)を行い、出力対象ジョブデータ3に対応したラスターデータを生成する処理部である。画像処理部135は、RAM12に格納されている出力対象ジョブデータ3を読み出し、それをラスターライズすることで、出力対象ジョブデータ3に対応したラスターデータを生成する。
画像出力部136は、画像処理部135が生成したラスターデータ(出力対象ジョブデータ3に対応したラスターデータ)に基づく画像を出力する処理部である。以下、選択部134、画像処理部135及び画像出力部136によって行われる、印刷ジョブデータ3の出力(印刷ジョブデータ3に対応したラスターデータの出力)を行う処理を「出力処理」と呼ぶ。
図3は、管理データ4(記憶ジョブデータ3を管理するためのデータ)の構造の一例を示す図である。
上述したように、本実施形態では、受信描画データ32については、比較処理において比較対象描画データ32と一致しなかった場合に記憶され、受信ヘッダー31については無条件に記憶される。従って、本実施形態では、受信ジョブデータ3は、一つの連続したデータとして記憶装置14に記憶されるのではなく、図3に示されるように、そのヘッダー31とその描画データ32とに分けられて別々に記憶装置14に記憶される。
管理データ4は、例えば、記憶ジョブデータ3ごとに生成される。図3に示されるように、管理データ4には、例えば、ヘッダーポインター41と、描画データポインター42とが含まれる。ヘッダーポインター41は、管理データ4が管理対象としている記憶ジョブデータ3のヘッダー31の記憶位置(ヘッダー31が記憶されている記憶領域上の位置)を示すデータである。描画データポインター42は、管理データ4が管理対象としている記憶ジョブデータ3の描画データ32の記憶位置(描画データ32が記憶されている記憶領域上の位置)を示すデータである。即ち、管理データ4は、そのヘッダーポインター41により管理対象の記憶ジョブデータ3のヘッダー32の位置を管理し、その描画データポインター42により管理対象の記憶ジョブデータ3の描画データ32の位置を管理している。
図3の例では、記憶ジョブデータAを管理する管理データ4Aの描画データポインター42と、記憶ジョブデータBを管理する管理データ4Bの描画データポインター42とが、同一の描画データ32(描画データA)を指している。これは、記憶ジョブデータAの描画データ32と記憶ジョブデータBの描画データ32とが同じであることを意味している。このように、本実施形態では、同一の描画データ32を持つ複数の記憶ジョブデータ3間で、記憶装置14に記憶された一つの描画データ32を、共有することができる(言い換えると、同一の描画データ32を持つ複数の記憶ジョブデータ3のそれぞれの管理データ4が、記憶装置14に記憶された一つの描画データ32を、共通して参照することができる)。描画データ32には、図3に示されるように、参照数5が付与される。参照数5は、その描画データ32を参照している管理データ4の数を示している。図3の例では、描画データAの参照数5の値は“2”である。これは、記憶ジョブデータAを管理する管理データ4及び記憶ジョブデータBを管理する管理データ4の二つが、描画データAを参照しているからである。
以上が、本実施形態に係る印刷装置1の構成の説明である。以下、印刷装置1のCPU13によって行われる処理(ホスト装置2から印刷ジョブデータ3を受信した際に行われる処理)の詳細について説明する。
図4は、本実施形態に係る印刷装置1のCPU13が行う処理のフローチャートである。この処理は、CPU13がホスト装置2から受信データ(受信ジョブデータ3を構成するセグメント)を受信したことを契機として開始される。
CPU13が受信データを受信すると(S1)、保存処理部133は、受信ジョブデータ3を管理するための管理データ4を作成する(S2)。以下、ステップS2で作成された管理データ4を「対象管理データ4」と呼ぶ。ここでは、対象管理データ4のヘッダーポインター41及び描画データポインター42のそれぞれには、空の値(例えば、NULL)が設定される。
次に、構造解析部131は、受信データを解析し、受信データが、受信ジョブデータ3のどのデータ要素を構成するものであるかを特定する(S3)。即ち、構造解析部131は、受信データが、ヘッダー31を構成するものであるか、描画データ32を構成するものであるか、或いはヘッダー31及び描画データ32の両者を構成するものであるかを特定する。
ステップS3において、受信データがヘッダー31及び描画データ32の両者を構成するものと判定された場合は(S3:ヘッダー及び描画データ)、保存処理部133は、受信データのうちの描画データ32を構成する部分を、次回の受信データ(後続の受信データ)とし(S4)、受信データのうちのヘッダー31を構成する部分について、ステップS5の処理を行う。
ステップS3において、受信データがヘッダー31を構成するものと判定された場合は(S3:ヘッダー)、保存処理部133は、今回の受信データの記憶が、受信ヘッダー31(受信ジョブデータ3のヘッダー31)の初回の記憶となるか否か(即ち、受信ヘッダー31(受信ヘッダー31の一部)が未だ記憶装置14に記憶されていないかどうか)を判定する(S5)。具体的には、例えば、保存処理部133は、対象管理データ4のヘッダーポインター41がNULLであるか否かを判定することにより、今回の受信データの記憶が、受信ヘッダー31の初回の記憶となるか否かを判定することができる。
受信ヘッダー31の初回の記憶となる場合(即ち、ヘッダーポインター41がNULLである場合)は(S3:YES)、保存処理部133は、受信データを記憶装置14に記憶する(S6)。そして、保存処理部133は、その記憶された受信データを、受信ヘッダー31として、対象管理データ4に関連付ける(S7)。具体的には、保存処理部133は、その記憶された受信データの記憶領域上の位置を、対象管理データ4のヘッダーポインター41に設定する。その後、ステップS17の処理が行われる。
一方、受信ヘッダー31の初回の記憶とはならない場合(即ち、既に受信ヘッダー31(受信ヘッダー31の一部)が記憶済みである場合であり、ヘッダーポインター41がNULLでない場合)は、保存処理部133は、その記憶済みの受信ヘッダー31(受信ヘッダー31の一部)に受信データを追加して記憶する(S8)。このステップS8の処理が、受信ヘッダー31を構成する全ての受信データ(正確には、初回に記憶されたもの(ステップS6で記憶されたもの)を除く)について行われることにより、対象管理データ4のヘッダーポインター41が指しているデータが、受信ヘッダー31として完成する。その後、ステップS17の処理が行われる。
ステップS3において、受信データが描画データ32を構成するものと判定された場合は(S3:描画データ)、比較処理部132は、所定の一致フラグが一致していることを示す値(本実施形態ではON)となっているか否かを判定する(S9)。ここで、一致フラグとは、受信描画データ32(受信ジョブデータ3の描画データ32)と、比較対象描画データ32(比較の対象とされる記憶ジョブデータ3の描画データ32)とが一致しているか否かを示すフラグである。より正確には、一致フラグとは、現時点において両描画データ32が一致していると判定されているか否かを示すフラグである。つまり、本実施形態では、受信描画データ32を構成する受信データごと(即ち、受信描画データ32の一部分ごと)に、比較対象描画データ32との比較が行われる。従って、受信描画データ32のうちの受信済みの部分と、比較対象描画データ32の一部(上記受信済みの部分に対応する部分)とが一致していれば、一致フラグはONとされている。そして、例えば、その後、上記受信済み以外の残りの部分が、上記比較対象描画データ32の一部以外の部分と比較され、その結果一致しなかった場合は、一致フラグはOFFに変更される。従って、受信描画データ32を構成する受信データの全てについて比較処理が行われ、最終的に一致フラグがONである場合に、受信描画データ32は、比較対象描画データ32と一致していると判定されたことになる。
比較対象描画データ32が複数ある場合の一致フラグは、例えば、図5に示されるように、それぞれの比較対象描画データ32について受信描画データ32と一致しているか否か(ONかOFFか)を示すデータとされる。そして、この図5のような一致フラグが採用される場合は、複数の比較対象描画データ32のそれぞれのフラグ6のいずれかがONのときに、ステップS9の判定において“ON”と判定され、複数の比較対象描画データ32のそれぞれのフラグ6の全てがOFFのときに、ステップS9の判定において“OFF”と判定される。尚、本実施形態において、一致フラグの初期値は、ONである。以下の説明においては、説明の簡単のため、比較対象描画データ32は1つであるとする。
ステップS9において、一致フラグがONである場合(即ち、受信描画データ32と比較対象描画データ32とが現時点において一致していると判定されている場合)は(S9:YES)、比較処理部132は、比較対象描画データ32を記憶装置32から読み出す(S10)。
そして、比較処理部132は、受信データと比較対象描画データ32の対応部分とを比較し、それらが一致しているか否かを判定する(S11、S12)。比較対象描画データ32の対応部分は、例えば、これまでの一致部分と、受信データのサイズとに基づいて特定することができる。即ち、比較処理部132は、比較対象描画データ32からこれまでの一致部分を除いたデータのうちの先頭から受信データのサイズ分のデータを、対応部分と特定することができる。
受信データと比較対象描画データ32の対応部分とが一致した場合は(S12:YES)、一致フラグはONのままとされ、ステップS17の処理が行われる。
一方、受信データと比較対象描画データ32の対応部分とが一致しなかった場合は(S12:NO)、保存処理部133は、これまでに受信した、受信描画データ32を構成する受信データを結合し、その結合データを記憶装置14に記憶する(S13)。そして、保存処理部133は、その記憶された結合データを、受信ジョブデータ3の描画データ32として、対象管理データ4に関連付ける(S14)。具体的には、保存処理部133は、その記憶された結合データの記憶領域上の位置を、対象管理データ4の描画データポインター42に設定する。このように、受信データと比較対象描画データ32の対応部分とが一致しなかった場合は、受信描画データ32と比較対象描画データ32とは一致しないことになるので、受信描画データ32が、新規に記憶装置14に記憶される。
その後、比較処理部132は、一致フラグをOFFに変更する(S15)。その後、ステップS17の処理が行われる。
ステップS9において、一致フラグがOFFである場合(即ち、受信描画データ32と比較対象描画データ32とが一致しないと判定されている場合)は(S9:NO)、保存処理部133は、ステップS13で記憶された、記憶済みの受信描画データ32(受信描画データ32の一部)に受信データを追加して記憶する(S16)。
ステップS17では、後続の受信データがあるかどうかが判定される(S17)。
後続の受信データがある場合は(S17:YES)、その後続の受信データが受信され、その受信データについて、再度ステップS3〜S16の処理が行われる。
一方、後続の受信データがない場合(即ち、受信ジョブデータ3を構成する全ての受信データが受信された場合)は(S17:NO)、保存処理部133は、最終的に一致フラグがONとなっているか否かを判定する(S19)。
最終的に一致フラグがONとなっている場合(即ち、受信描画データ32と比較対象描画データ32とが一致すると判定された場合)は(S19:YES)、保存処理部133は、比較対象描画データ32を、受信ジョブデータ3の描画データ32として、対象管理データ4に関連付ける(S20)。具体的には、保存処理部133は、比較対象描画データ32の記憶領域上の位置を、対象管理データ4の描画データポインター42に設定する。その後、保存処理部133は、比較対象描画データ32に付与されている参照数5の値を1増やす。これにより、受信ジョブデータ3と比較対象ジョブデータ3とが、記憶装置14上において、同じ描画データ32(比較対象描画データ32)を共有することになる。その後、受信ジョブデータ3について出力処理が行われる。
一方、最終的に一致フラグがOFFとなっている場合(即ち、受信描画データ32と比較対象描画データ32とが一致しないと判定された場合)は(S19:NO)、受信ジョブデータ3について出力処理が行われる。尚、この場合は、既にステップS13及びステップS16において、受信描画データ32が記憶装置14に記憶されている。
以上説明したように、本実施形態では、受信ジョブデータ3を記憶装置14に記憶する際、受信描画データ32が比較対象描画データ32のいずれかと一致するか否かが判定されて、一致すると判定された場合に受信描画データ32の記憶装置14への記憶が省略される。これにより、記憶装置14への書き込み量が抑えられ、記憶装置14の書き込み回数に上限がある場合は、記憶装置14の延命が図られる。
本実施形態の変形例として、受信描画データ32と比較対象描画データ32とが一致するか否かの判定は、それぞれの描画データ32から生成されたハッシュ値が一致するか否かを判定することにより行われてもよい。このようにすることで、描画データ32自体が一致しているか否かを判定するよりも、比較処理に要する計算コストを削減することができる。
また、上述したように、複数の記憶済みの描画データ32の中から、幾つかの描画データ32を選択し(例えば、記憶された日時が新しいものを順に所定数だけ選択し、或いは、参照数5の値の大きいもの(即ち、一致する頻度が高いもの)を順に所定数だけ選択し)、その選択された描画データ32を比較の対象(比較対象描画データ32)とすることができる。比較の対象数を減らすことにより、比較処理に要する計算コストを削減することができる。従って、CPU13の処理能力に合わせて比較の対象数を減らすことができるので、CPU13に過度の処理負荷をかけないようにすることができる。
また、ヘッダー31の一部をも比較の対象とすることができる。即ち、上述したように、受信ジョブデータ3のうちのジョブ固有データ(ジョブIDやタイムスタンプ等)を除いた部分が比較の対象とされ、そのジョブ固有データを除いた部分を一単位として記憶するか否かが判定されてもよい。このようにすることで、ヘッダー31の一部についても、記憶済みのものと一致する場合は、その書き込みを省略することができるので、描画データ32だけを比較の対象とする場合よりも更に書き込み量を抑えることが可能となる。
図6は、記憶ジョブデータ3を記憶装置14から削除する処理のフローチャートである。この処理は、例えば、保存処理部133によって行われる。保存処理部133は、例えば、受信ジョブデータ3等を記憶装置14に記憶する際に記憶装置14の空き容量をチェックし、データを書き込むだけの空き容量が得られない場合に、この図6の処理を実行することができる。
まず、保存処理部133は、書き込もうとしているデータの量が記憶装置14の空き容量よりも大きいか否かを判定する(S30)。
ステップS30において、書き込もうとしているデータの量が記憶装置14の空き容量よりも大きいと判定された場合は(S30:YES)、保存処理部133は、記憶装置14に記憶された日時が最古の管理データ4を検索する(S31)。
次に、保存処理部133は、ステップS31で検索された管理データ4(最古の管理データ4)が参照しているヘッダー31を、記憶装置14から削除する(S32)。
次に、保存処理部133は、最古の管理データ4が参照している描画データ32(以下、「参照描画データ」)に付与されている参照数5の値を1減らす(S33)。
その後、保存処理部133は、参照描画データ32に付与されている参照数5の値が“0”となっているか否か(即ち、参照描画データ32を参照している管理データ4が存在しなくなったか否か)を判定する(S34)。
参照描画データ32に付与されている参照数5の値が“0”となっていない場合は(S34:NO)、ステップS36の処理が行われる。
一方、参照描画データ32に付与されている参照数5の値が“0”となっている場合は(S34:YES)、保存処理部133は、参照描画データ32を記憶装置14から削除する(S35)。
その後、保存処理部133は、最古の管理データ4を記憶装置14から削除する(S36)。
ステップS30〜ステップS36の処理が、書き込もうとしているデータの量が記憶装置14の空き容量よりも小さくなるまで、繰り返して行われる。
ステップS30において、書き込もうとしているデータの量が記憶装置14の空き容量よりも小さいと判定された場合は(S30:NO)、保存処理部133は、データを記憶装置14に記憶する(S37)。
上述した本発明の実施形態は、本発明の説明のための例示であり、本発明の範囲をそれらの実施形態にのみ限定する趣旨ではない。本発明は、その要旨を逸脱することなく、その他の様々な態様でも実施することができる。
1…印刷装置、11…入出力I/F、12…RAM、13…CPU、131…構造解析部、132…比較処理部、133…保存処理部、134…選択部、135…画像処理部、136…画像出力部、14…記憶装置、15…ROM、2…ホスト装置、3…印刷ジョブデータ、31…ヘッダー、32…描画データ、4…管理データ、41…ヘッダーポインター、42…描画データポインター、5…参照数
Claims (9)
- ジョブデータを受信する受信手段と、
受信したジョブデータを記憶する記憶手段と、
前記受信したジョブデータの前記記憶手段への記憶処理を制御する記憶制御手段と、を備え、
前記記憶制御手段は、受信したジョブデータと前記記憶手段に記憶済みのジョブデータとを比較して一致した場合には、前記受信したジョブデータの前記記憶手段への記憶処理を省略する、
ジョブ処理装置。 - 前記記憶制御手段は、受信したジョブデータの比較部分と前記記憶手段に記憶済みのジョブデータの比較部分とを比較して一致した場合には、前記受信したジョブデータの比較部分の前記記憶手段への記憶処理を省略する、
請求項1記載のジョブ処理装置。 - 前記ジョブデータには、ジョブデータごとに異なる固有データが含まれており、
前記ジョブデータの比較部分は、前記ジョブデータから前記固有データを除いた部分である、
請求項2記載のジョブ処理装置。 - 前記ジョブデータは、印刷ジョブデータであり、
前記ジョブデータの比較部分は、描画データである、
請求項2記載のジョブ処理装置。 - 前記記憶制御手段は、
前記受信したジョブデータについて、前記受信したジョブデータの比較部分の記憶位置と、前記受信したジョブデータの比較部分以外の部分の記憶位置とを管理する管理データを生成し、
前記受信したジョブデータの比較部分と前記記憶手段に記憶済みのジョブデータの比較部分とを比較して一致した場合、
前記受信したジョブデータの比較部分以外の部分を記憶手段へ記憶させるとともに、前記記憶させた比較部分以外の部分の記憶位置を、前記生成した管理データに管理させ、
前記記憶済みのジョブデータの比較部分の記憶位置を、前記受信したジョブデータの比較部分の記憶位置として、前記生成した管理データに管理させる、
請求項2記載のジョブ処理装置。 - 前記記憶制御手段は、前記受信したジョブデータのハッシュ値と前記記憶済みのジョブデータのハッシュ値とが一致しているか否かにより、前記受信したジョブデータと前記記憶手段に記憶済みのジョブデータとが一致しているか否かを判定する、
請求項1〜5のうちのいずれかに記載のジョブ処理装置。 - 前記記憶手段には、複数のジョブデータが記憶されており、
前記記憶制御手段は、前記記憶手段に記憶済みの複数のジョブデータの中から一以上のジョブデータを選択し、前記受信したジョブデータと前記選択されたジョブデータのそれぞれとを比較し、前記受信したジョブデータと前記選択されたジョブデータのうちのいずれかとが一致した場合には、前記受信したジョブデータの前記記憶手段への記憶処理を省略する、
請求項1〜6のうちのいずれかに記載のジョブ処理装置。 - ジョブデータが記憶されている記憶手段を備えたジョブ処理装置が行う記憶制御方法であって、
ジョブデータを受信し、
前記受信したジョブデータと前記記憶手段に記憶済みのジョブデータとを比較し、
前記受信したジョブデータと前記記憶手段に記憶済みのジョブデータとが一致しなかった場合には、前記受信したジョブデータを前記記憶手段へ記憶し、
前記受信したジョブデータと前記記憶手段に記憶済みのジョブデータとが一致した場合には、前記受信したジョブデータの前記記憶手段への記憶処理を省略する、
記憶制御方法。 - ジョブデータが記憶されている記憶手段を備えたジョブ処理装置が行う記憶制御方法を実現するコンピュータプログラムであって、
ジョブデータを受信し、
前記受信したジョブデータと前記記憶手段に記憶済みのジョブデータとを比較し、
前記受信したジョブデータと前記記憶手段に記憶済みのジョブデータとが一致しなかった場合には、前記受信したジョブデータを前記記憶手段へ記憶し、
前記受信したジョブデータと前記記憶手段に記憶済みのジョブデータとが一致した場合には、前記受信したジョブデータの前記記憶手段への記憶処理を省略する、
記憶制御方法を実現するコンピュータプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009070073A JP2010221476A (ja) | 2009-03-23 | 2009-03-23 | ジョブ処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009070073A JP2010221476A (ja) | 2009-03-23 | 2009-03-23 | ジョブ処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010221476A true JP2010221476A (ja) | 2010-10-07 |
Family
ID=43039186
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009070073A Pending JP2010221476A (ja) | 2009-03-23 | 2009-03-23 | ジョブ処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010221476A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015101070A (ja) * | 2013-11-28 | 2015-06-04 | 理想科学工業株式会社 | 画像処理装置 |
-
2009
- 2009-03-23 JP JP2009070073A patent/JP2010221476A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015101070A (ja) * | 2013-11-28 | 2015-06-04 | 理想科学工業株式会社 | 画像処理装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5238526B2 (ja) | 印刷リソース管理のためのシステム及び方法 | |
US9354832B2 (en) | Print system for recovering a print job in a redundant print server, print server and print control method | |
US10558411B2 (en) | Server apparatus, method of controlling the server apparatus, storage medium, and printing system that determine whether to perform, in the server apparatus, rendering processing on a page of a print job | |
JP4497208B2 (ja) | 画像形成装置及び印刷制御方法並びに制御プログラム | |
JP2009107332A (ja) | 印刷の計数のシステム及び方法 | |
JP2009113474A (ja) | 動的なプリンタの構成のためのシステムと方法 | |
US8792124B2 (en) | Print control apparatus, image forming system, and non-transitory computer readable medium | |
US10402131B2 (en) | Image processing apparatus and method to form image on sheet using page image data and object information | |
US20150324161A1 (en) | Image processing apparatus, image processing method, and non-transitory computer-readable storage medium | |
JP2010105388A (ja) | 画像形成装置 | |
JP2003044236A (ja) | 画像処理システムおよび画像処理システムの制御方法 | |
US20100188692A1 (en) | Printing System, Printing Apparatus, and Printing Method | |
JP2010221476A (ja) | ジョブ処理装置 | |
US10048903B2 (en) | Image forming apparatus, method of controlling the same, and storage medium | |
US10235611B2 (en) | Image forming apparatus, image forming method, and non-transitory computer readable medium | |
JP2004188865A (ja) | 画像形成装置およびプログラム | |
JP4775480B2 (ja) | Pdlデータ処理装置とpdlデータ処理プログラム | |
US9811769B2 (en) | Printing apparatus, information processing apparatus and method for controlling the information processing apparatus, and storage medium for spooling data to perform print processing | |
US20120243037A1 (en) | Image processing apparatus, image processing method, and non-transitory computer readable medium storing program | |
US20200341710A1 (en) | Job transmission device, job processing device, program, and job transmission method performed by job transmission device | |
US20170109616A1 (en) | Non-transitory computer readable recording medium and information processing apparatus | |
US10853005B2 (en) | Image processing apparatus and image processing method | |
JP6015478B2 (ja) | 制御装置、制御方法およびプリンタードライバプログラム | |
US10628101B2 (en) | Printing apparatus for reducing the inhibition of printing when a deletion instruction has been issued | |
US10656879B2 (en) | Printing apparatus and printing method |