(57)【特許請求の範囲】
【請求項１】
帳票用ヘッダ情報と印字対象となるテキスト形式の複数のページデータとの組から構成される印刷可能な帳票出力用テキストデータから印刷用データファイルを生成する印刷要求発行装置と、
ネットワークを介して前記印刷要求発行装置から転送されてくる印刷用データファイルに基づき帳票出力用テキストデータを生成して帳票出力をする印刷実行制御装置と、
を有し、
前記印刷要求発行装置は、
帳票出力用テキストデータに含まれるいずれかのページデータを基準ページデータとし、その基準ページデータとの差分を取ることによって基準ページデータ以外のページデータを圧縮して差分圧縮データを生成する帳票出力用データ変換処理手段と、
前記基準ページデータと前記差分圧縮データとを印刷用データファイルとして前記印刷実行制御装置へ送信する印刷用データ送信手段と、
を有し、
前記帳票出力用データ変換処理手段は、基準ページデータとの差分を取ることで圧縮して得た差分圧縮データを差分圧縮する前のページデータと比較した結果所定の圧縮効果が得られなかった場合は、当該ページデータを次ページ以降のページデータの基準ページデータと設定変更することを特徴とするネットワークプリントシステム。
【請求項２】
前記帳票出力用データ変換処理手段は、基準ページデータとの差分を取ることで圧縮して得た差分圧縮データを差分する前のページデータと比較した結果所定の圧縮効果が得られた場合は、当該基準ページデータと当該差分圧縮データとの組に基づき前記印刷実行制御装置への送信単位となる伝送ブロックファイルを生成し、
前記印刷用データ送信手段は、前記帳票出力用データ変換処理手段により生成された伝送ブロックファイルを印刷用データファイルとして送信することを特徴とする請求項１記載のネットワークプリントシステム。
【請求項３】
前記印刷要求発行装置は、前記帳票出力用データ変換処理手段が基準ページデータと差分圧縮データとの組に基づくページブロックを生成する度に各ページブロックに対して行う後続の処理を順次開始することによって複数の処理を同時並行して実行することを特徴とする請求項２記載のネットワークプリントシステム。
【請求項４】
前記帳票出力用データ変換処理手段は、
帳票出力用テキストデータに含まれるいずれかのページデータを基準ページデータとし、その基準ページデータとの差分を取ることによって基準ページデータ以外のページデータを圧縮して差分圧縮データを生成するとともに、帳票出力用テキストデータに含まれる全ページデータを、基準ページデータと、当該基準ページデータとの差分を取ることで得た差分圧縮データとの組を含むページブロックに分割するページデータ差分圧縮処理を実行するページデータ差分圧縮処理部と、
各ページブロックに対応させて前記印刷実行制御装置への送信単位となる伝送ブロックファイルを生成する伝送ブロック生成処理を実行する伝送ブロック生成処理部と、
を有し、
前記ページデータ差分圧縮処理部は、ページブロックを分割生成する度に当該ページブロックに対する伝送ブロック生成処理を起動し、
前記伝送ブロック生成処理部は、伝送ブロックファイルを生成する度に前記印刷用データ送信手段へ渡すことによって各ページブロックに対する処理を同時並行して実行することを特徴とする請求項３記載のネットワークプリントシステム。
【請求項５】
前記帳票出力用データ変換処理手段は、帳票出力用テキストデータを複数含む帳票出力用テキストデータファイルを解析して帳票出力用テキストデータ単位に分割するデータファイル解析処理を実行するとともに、帳票出力用テキストデータに分割する度に当該帳票出力用テキストデータに対するページデータ差分圧縮処理を起動するデータファイル解析処理部を有し、各帳票出力用テキストデータに対する処理を同時並行して実行することを特徴とする請求項４記載のネットワークプリントシステム。
【請求項６】
前記帳票出力用データ変換処理手段は、伝送ブロックファイルを生成する処理過程において帳票出力用テキストデータと、当該帳票出力用テキストデータを分割して生成されたページブロック及びそのページブロックに含まれるページ情報と、当該ページブロックに基づき生成された伝送ブロックファイルの識別情報とを関連付けした情報が登録された印刷要求発行装置側帳票出力管理用データベースを生成することを特徴とする請求項２記載のネットワークプリントシステム。
【請求項７】
前記印刷要求発行装置は、前記印刷実行制御装置へ送信済みの伝送ブロックファイルを伝送ブロックファイル保管用データベースで一時保管する印刷用データ情報保管処理手段を有することを特徴とする請求項２又は６いずれかに記載のネットワークプリントシステム。
【請求項８】
帳票用ヘッダ情報と印字対象となるテキスト形式の複数のページデータとの組から構成される印刷可能な帳票出力用テキストデータから印刷用データファイルを生成する印刷要求発行装置と、
ネットワークを介して前記印刷要求発行装置から転送されてくる印刷用データファイルに基づき帳票出力用テキストデータを生成して帳票出力をする印刷実行制御装置と、
を有し、
前記印刷要求発行装置は、
帳票出力用テキストデータに含まれるページデータを複数のページブロックに分割し、各ページブロックを含む前記印刷実行制御装置への送信単位となる伝送ブロックファイルを生成する帳票出力用データ変換処理手段と、
前記帳票出力用データ変換処理手段により生成された伝送ブロックファイルを印刷用データファイルとして送信する印刷用データ送信手段と、
を有し、ページブロックを分割生成する度にページブロックに対して行う後続の処理を順次開始することによって複数の処理を同時並行して実行することを特徴とするネットワークプリントシステム。
【請求項９】
前記印刷実行制御装置は、
前記印刷要求発行装置から転送されてくる印刷用データファイルを伝送ブロックファイルとして受信する印刷用データ受信手段と、
前記印刷用データ受信手段が受信した伝送ブロックファイルに含まれている差分圧縮データを伸長することによって帳票出力用テキストデータを生成する帳票出力用データ解析組立処理を実行する帳票出力用データ解析組立処理手段と、
前記帳票出力用データ解析組立処理手段が生成した帳票出力用テキストデータを帳票出力する印刷実行手段と、
を有し、差分圧縮されたページデータを伸長することで帳票出力用テキストデータを復元して帳票出力を行うことを特徴とする請求項１記載のネットワークプリントシステム。
【請求項１０】
前記帳票出力用データ解析組立処理手段は、
伝送ブロックファイルに含まれているページブロックを読み出してページブロック保存領域に保存するとともに伝送ブロックファイルに帳票用ヘッダ情報が含まれていた場合にはその帳票用ヘッダ情報を帳票用ヘッダ情報保存領域に保存する伝送ブロック解析処理部と、
ページブロック保存領域に保存されたページブロックに含まれている差分圧縮データを同一ページブロックに含まれている基準ページデータに基づき伸長して基準ページデータ及び伸長後のページデータを帳票用ページデータ保存領域に保存する差分圧縮データ伸長処理部と、
帳票用ページデータ保存領域に保存されたページデータ及び帳票用ヘッダ情報保存領域に保存された帳票用ヘッダ情報を組み合わせて帳票用テキストデータを生成するテキストデータ組立処理部と、
を有することを特徴とする請求項９記載のネットワークプリントシステム。
【請求項１１】
前記印刷用データ受信手段は、伝送ブロックファイルを生成する度に当該ページブロックに対する帳票出力用データ解析組立処理を起動することを特徴とする請求項９記載のネットワークプリントシステム。
【請求項１２】
前記帳票出力用データ解析組立処理手段は、帳票用テキストデータを生成する処理過程において伝送ブロックファイルの識別情報と、当該伝送ブロックファイルに含まれているページブロック及びそのページブロックに含まれるページ情報と、当該ページブロックを組み立てることによって生成した帳票出力用テキストデータとを関連付けした情報が登録された印刷実行制御装置側帳票出力管理用データベースを生成することを特徴とする請求項６又は９いずれかに記載のネットワークプリントシステム。
【請求項１３】
前記印刷実行制御装置は、前記テキストデータ組立処理部が生成した帳票用テキストデータを帳票用テキストデータ保管用データベースで一時保管する印刷用データ保管処理手段を有することを特徴とする請求項９記載のネットワークプリントシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はネットワークプリントシステム、特にプリンタへの帳票出力をする印刷実行制御装置へネットワークを介して印刷用データファイルを転送する際のデータ転送量の削減及びシステム全体のスループットの向上を図るネットワークプリントシステムに関する。
【０００２】
【従来の技術】
図１３は、従来のネットワークプリントシステムの一例を示した全体構成図であり、このネットワークプリントシステムを請求書発行システムに適用した場合を例にして説明する。このシステムは、請求書発行システムのホスト計算機に相当し、生成した請求書データを各事業所に配信するクライアント１０１と、各事業所に設置され、広域ネットワーク１０２を介して転送されてきた請求書データを接続したプリンタ１０３から出力するプリントサーバ１０４とで構成される。ここで、請求書が印刷されるまでの処理について説明する。
【０００３】
クライアント１０１において、請求書データに基づき各プリントサーバ１０４へ転送するデータを生成する。図１４は、広域ネットワーク１０２上を転送される従来の転送データのフォーマットを示した図である。基本的にはプリントサーバ１０４においてそのまま解釈されうる印刷データがそのまま転送データとなる。印刷データは、請求書がｎ枚で構成されている場合、印字対象となる請求書の各ページに対応したｎ個のページデータと当該請求書のヘッダ情報とを含んでいる。ヘッダ情報には、用紙サイズ情報、フォームレイアウト情報、オーバーレイ情報、片面／両面印刷情報、拡縮印刷情報等が含まれている。なお、各ページデータにもページ毎の印字制御のための印字情報が付加されている。クライアント１０１は、印刷データを生成すると、そのまま転送データとして該当する事業所に送信する。一事業所に複数種類の請求書を送信する場合には請求書毎に転送データを生成し、順次送信することになる。
【０００４】
プリントサーバ１０４において、クライアント１０１から転送データが送られてくると、その転送データである印刷データに含まれるヘッダ情報を解析してプリンタに対応したフォーマットに変換して各ページデータの印字を行う。印字終了後は、プリントサーバ１０４におけるディスク容量確保のために通常は印刷データを削除する。プリントサーバ１０４は、転送データが送られてくる度に順次印刷し、削除することになる。
【０００５】
以上のように、従来のネットワークプリントシステムにおいては、印刷対象となるデータ（ｎ枚の請求書）は、クライアント１０１側における印刷データ（転送データ）編集、クライアント１０１とプリントサーバ１０４との間でのデータ転送、プリントサーバ１０４側におけるフォーム解析及び印刷という順番でシリアルに処理されることになる。
【０００６】
ところで、データ転送量及びプリントサーバ側の消費ディスク容量を削減する方法として、転送データを帳票単位に、ページ単位にあるいは同じデータの繰り返し部分を圧縮する方式がある。
【０００７】
また、基準となるデータとの差分をとる手法がある。例えば、特開平９−１１５５２号公報には、前ページのイメージデータをキャッシュに保持しておき、当該ページと前ページとの差分を得て、その差分データを当該ページのデータとし、プリントサーバでは前ページのイメージデータと差分データとを合成して当該ページデータの復元を行うようにしたページプリンタが開示されている。すなわち、この先行技術を利用すれば、複数の印刷データ、例えば複数ページから構成される請求書を転送する場合、直前のページを基準ページとみなして直前のページとの差分を当該ページの転送データとする。そして、プリントサーバ側では、直前のページデータと差分データとにより当該ページデータを復元して印刷を行う。このようにすれば、直前のページに類似しているページのデータ量を大幅に削減することができるので、データ転送量及び消費ディスク容量共削減することができる。
【０００８】
【発明が解決しようとする課題】
しかしながら、印刷データをそのまま転送データとして転送することは、確かにプリントサーバ側における処理は容易であるものの、印刷するデータ量が膨大になると、それに伴いデータ転送量が膨大になってしまう。また、プリントサーバ側に十分なディスク容量を確保しておかなければならない。更に、印刷処理において処理時間のネックになるのがデータ転送に要する時間であるため処理時間の点からも効率的なデータ転送であるとは言い難い。このような問題が顕著に現れる例を以下に示す。
【０００９】
請求書は一般に「正本」と「写し」と「控え」の３部で構成される。「写し」や「控え」は、請求金額等の実データや印字レイアウトは「正本」と全く同じで、請求書の一部に「写し」や「控え」のマークを印字するだけの相違だけである。この相違は、ヘッダ情報内のオーバーレイ情報に設定される。しかし、従来においては、オーバーレイ情報のみの相違しかないのにもかかわらず３種類の請求書ということで同一実データを含む印刷データを３回転送しなくてはならない。プリンタによってはコピー機能を有する機種もあるが、このコピー機能は、全く同一の内容を印刷する場合にのみ有効であり、データの一部変更に対応することはできない。つまり、従来のこのような同一データの重複した転送は無駄であり、多大なデータ転送量に伴うネットワーク負荷の増大及び通信コストの増大を招くことになる。
【００１０】
また、プリントサーバ側において圧縮などをせずにページのイメージの印刷データをそのままの形式で蓄積していくと、ディスク容量を無用に消費してしまうので、通常は印刷終了後に印刷データを削除している。しかし、印刷が終了する度に削除してしまうと、例えば、印刷データをレイアウト、片面／両面、縮小など単にフォームのみを変更して印刷したい場合でもクライアント側からのデータの再送が必要となってしまう。また、印刷処理自体は正常に終了した場合でも印字濃度が薄くて印刷物が使用できず早急に印刷をやり直したいという場合でさえクライアント側からのデータの再送が必要となってしまう。このため、クライアント側ではデータの再送処理が発生し、更に再送に伴うネットワーク負荷の増大及び通信コストの増大を招くことになる。
【００１１】
また、圧縮技術を単に利用した場合、例えばページ単位に圧縮した場合、１ページ目と共通する内容の部分が多い２ページ目以降のページに対して１ページ目と同じデータ量が発生するため適切でかつ効率的な圧縮であるとは言い難い。
【００１２】
また、基準データとの差分を利用した手法では、ある特定のページのみを再度印刷したい場合でも常に１ページ目から順に復元をしていかなければならず、その印刷のために多大な処理負荷がかかってしまう。また、転送データの削減の観点からして直前のページを常に基準ページとすることが最適であるかということには疑問がある。
【００１３】
更に、従来においては、印刷データは、クライアント側における転送データ編集、データ転送、フォーム解析及び印刷という手順に沿ってシリアルに処理されるため、全印刷物の印字終了までに要する処理時間が多大となってしまう。また、シリアル処理を回避するためにページ単位等に分割して転送する場合でも、単に分割するだけでは経路の遅延や転送中のエラーなどにより印刷順序（ページの入れ違い）やページ抜けが発生する可能性が生じる。
【００１４】
本発明は以上のような問題を解決するためになされたものであり、第１の目的は、効果的なデータ圧縮方式を提供することによって複数のテキストページから構成される帳票を印刷する際のデータ転送量の削減を図るネットワークプリントシステムを提供することにある。
【００１５】
第２の目的は、複数のテキストページから構成される帳票の印字出力に要する全体時間を短縮することによってシステムとしてのスループットの向上を図ることのできるネットワークプリントシステムを提供することにある。
【００１６】
第３の目的は、帳票の再出力やフォームを変更した帳票出力等にも効率的な帳票出力を可能とするネットワークプリントシステムを提供することにある。
【００１７】
第４の目的は、ネットワーク経路で分割転送した場合の印刷順序、データ送達、帳票出力実行を保証するネットワークプリントシステムを提供することにある。
【００１８】
第５の目的は、転送された帳票出力用テキストデータの内容の信頼性の向上を図るネットワークプリントシステムを提供することにある。
【００１９】
【課題を解決するための手段】
以上のような目的を達成するために、本発明に係るネットワークプリントシステムは、帳票用ヘッダ情報と印字対象となるテキスト形式の複数のページデータとの組から構成される印刷可能な帳票出力用テキストデータから印刷用データファイルを生成する印刷要求発行装置と、ネットワークを介して前記印刷要求発行装置から転送されてくる印刷用データファイルに基づき帳票出力用テキストデータを生成して帳票出力をする印刷実行制御装置とを有し、前記印刷要求発行装置は、帳票出力用テキストデータに含まれるいずれかのページデータを基準ページデータとし、その基準ページデータとの差分を取ることによって基準ページデータ以外のページデータを圧縮して差分圧縮データを生成する帳票出力用データ変換処理手段と、前記基準ページデータと前記差分圧縮データとを印刷用データファイルとして前記印刷実行制御装置へ送信する印刷用データ送信手段とを有し、前記帳票出力用データ変換処理手段は、基準ページデータとの差分を取ることで圧縮して得た差分圧縮データを差分圧縮する前のページデータと比較した結果所定の圧縮効果が得られなかった場合は、当該ページデータを次ページ以降のページデータの基準ページデータと設定変更するものである。
【００２０】
また、前記帳票出力用データ変換処理手段は、基準ページデータとの差分を取ることで圧縮して得た差分圧縮データを差分する前のページデータと比較した結果所定の圧縮効果が得られた場合は、当該基準ページデータと当該差分圧縮データとの組に基づき前記印刷実行制御装置への送信単位となる伝送ブロックファイルを生成し、前記印刷用データ送信手段は、前記帳票出力用データ変換処理手段により生成された伝送ブロックファイルを印刷用データファイルとして送信するものである。
【００２１】
更に、前記印刷要求発行装置は、前記帳票出力用データ変換処理手段が基準ページデータと差分圧縮データとの組に基づくページブロックを生成する度に各ページブロックに対して行う後続の処理を順次開始することによって複数の処理を同時並行して実行するものである。
【００２２】
更にまた、前記帳票出力用データ変換処理手段は、帳票出力用テキストデータに含まれるいずれかのページデータを基準ページデータとし、その基準ページデータとの差分を取ることによって基準ページデータ以外のページデータを圧縮して差分圧縮データを生成するとともに、帳票出力用テキストデータに含まれる全ページデータを、基準ページデータと、当該基準ページデータとの差分を取ることで得た差分圧縮データとの組を含むページブロックに分割するページデータ差分圧縮処理を実行するページデータ差分圧縮処理部と、各ページブロックに対応させて前記印刷実行制御装置への送信単位となる伝送ブロックファイルを生成する伝送ブロック生成処理を実行する伝送ブロック生成処理部とを有し、前記ページデータ差分圧縮処理部は、ページブロックを分割生成する度に当該ページブロックに対する伝送ブロック生成処理を起動し、前記伝送ブロック生成処理部は、伝送ブロックファイルを生成する度に前記印刷用データ送信手段へ渡すことによって各ページブロックに対する処理を同時並行して実行するものである。
【００２３】
更にまた、前記帳票出力用データ変換処理手段は、帳票出力用テキストデータを複数含む帳票出力用テキストデータファイルを解析して帳票出力用テキストデータ単位に分割するデータファイル解析処理を実行するとともに、帳票出力用テキストデータに分割する度に当該帳票出力用テキストデータに対するページデータ差分圧縮処理を起動するデータファイル解析処理部を有し、各帳票出力用テキストデータに対する処理を同時並行して実行するものである。
【００２４】
また、前記帳票出力用データ変換処理手段は、伝送ブロックファイルを生成する処理過程において帳票出力用テキストデータと、当該帳票出力用テキストデータを分割して生成されたページブロック及びそのページブロックに含まれるページ情報と、当該ページブロックに基づき生成された伝送ブロックファイルの識別情報とを関連付けした情報が登録された印刷要求発行装置側帳票出力管理用データベースを生成するものである。
【００２５】
また、前記印刷要求発行装置は、前記印刷実行制御装置へ送信済みの伝送ブロックファイルを伝送ブロックファイル保管用データベースで一時保管する印刷用データ情報保管処理手段を有するものである。
【００２６】
また、帳票用ヘッダ情報と印字対象となるテキスト形式の複数のページデータとの組から構成される印刷可能な帳票出力用テキストデータから印刷用データファイルを生成する印刷要求発行装置と、ネットワークを介して前記印刷要求発行装置から転送されてくる印刷用データファイルに基づき帳票出力用テキストデータを生成して帳票出力をする印刷実行制御装置とを有し、前記印刷要求発行装置は、帳票出力用テキストデータに含まれるページデータを複数のページブロックに分割し、各ページブロックを含む前記印刷実行制御装置への送信単位となる伝送ブロックファイルを生成する帳票出力用データ変換処理手段と、前記帳票出力用データ変換処理手段により生成された伝送ブロックファイルを印刷用データファイルとして送信する印刷用データ送信手段とを有し、ページブロックを分割生成する度にページブロックに対して行う後続の処理を順次開始することによって複数の処理を同時並行して実行するものである。
【００２７】
また、前記印刷実行制御装置は、前記印刷要求発行装置から転送されてくる印刷用データファイルを伝送ブロックファイルとして受信する印刷用データ受信手段と、前記印刷用データ受信手段が受信した伝送ブロックファイルに含まれている差分圧縮データを伸長することによって帳票出力用テキストデータを生成する帳票出力用データ解析組立処理を実行する帳票出力用データ解析組立処理手段と、前記帳票出力用データ解析組立処理手段が生成した帳票出力用テキストデータを帳票出力する印刷実行手段とを有し、差分圧縮されたページデータを伸長することで帳票出力用テキストデータを復元して帳票出力を行うものである。
【００２８】
更に、前記帳票出力用データ解析組立処理手段は、伝送ブロックファイルに含まれているページブロックを読み出してページブロック保存領域に保存するとともに伝送ブロックファイルに帳票用ヘッダ情報が含まれていた場合にはその帳票用ヘッダ情報を帳票用ヘッダ情報保存領域に保存する伝送ブロック解析処理部と、ページブロック保存領域に保存されたページブロックに含まれている差分圧縮データを同一ページブロックに含まれている基準ページデータに基づき伸長して基準ページデータ及び伸長後のページデータを帳票用ページデータ保存領域に保存する差分圧縮データ伸長処理部と、帳票用ページデータ保存領域に保存されたページデータ及び帳票用ヘッダ情報保存領域に保存された帳票用ヘッダ情報を組み合わせて帳票用テキストデータを生成するテキストデータ組立処理部とを有するものである。
【００２９】
また、前記印刷用データ受信手段は、伝送ブロックファイルを生成する度に当該ページブロックに対する帳票出力用データ解析組立処理を起動するものである。
【００３０】
また、前記帳票出力用データ解析組立処理手段は、帳票用テキストデータを生成する処理過程において伝送ブロックファイルの識別情報と、当該伝送ブロックファイルに含まれているページブロック及びそのページブロックに含まれるページ情報と、当該ページブロックを組み立てることによって生成した帳票出力用テキストデータとを関連付けした情報が登録された印刷実行制御装置側帳票出力管理用データベースを生成するものである。
【００３１】
また、前記印刷実行制御装置は、前記テキストデータ組立処理部が生成した帳票用テキストデータを帳票用テキストデータ保管用データベースで一時保管する印刷用データ保管処理手段を有するものである。
【００３２】
【発明の実施の形態】
以下、図面に基づいて、本発明の好適な実施の形態について説明する。
【００３３】
図１は、本発明に係るネットワークプリントシステムの一実施の形態を示したシステム全体構成図である。図１には、広域網１に接続された印刷要求発行装置２と印刷実行制御装置４とが示されている。なお、印刷要求発行装置２及び印刷実行制御装置４は、それぞれ複数台広域網１に接続可能であるが、各装置とも同様に動作するので１台ずつ図示した。
【００３４】
印刷要求発行装置２は、一般にホスト計算機等により実現され、印刷用データファイルを送信することで請求書等の帳票出力要求を印刷実行制御装置４へ発行する。印刷要求発行装置２は、アプリケーション実行部２１、帳票出力用データ解析変換処理部２２及び印刷用データ送信部２３を有している。アプリケーション実行部２１は、請求書発行プログラム等のアプリケーションを実行し、その結果を帳票出力用テキストデータファイル２４に保存する。帳票出力用データ解析変換処理部２２は、帳票出力用テキストデータファイル２４に基づき伝送ブロックファイル２５を生成するための手段であり、データファイル解析処理部２６、テキストデータ分解処理部２７、ページデータ差分圧縮処理部２８、伝送ブロック生成処理部２９及び印刷用データ情報保管処理部３０で構成されている。印刷用データ送信部２３は、帳票出力用データ解析変換処理部２２が印刷用データファイルとして生成した伝送ブロックファイル２５を印刷実行制御装置４へ順次送信する。
【００３５】
印刷実行制御装置４は、一般にワークステーションなどの計算機により実現され、印刷要求発行装置２から送られてきた印刷用データファイルに基づき直接又はネットワークを介して接続されたいずれかのプリンタ５から請求書等の帳票出力を行う。印刷実行制御装置４は、印刷用データ受信部４１、帳票出力用データ解析組立処理部４２及び印刷実行部４３を有している。印刷用データ受信部４１は、印刷要求発行装置２から送られてきた印刷用データを受信して伝送ブロックファイル４４として保存する。帳票出力用データ解析組立処理部４２は、伝送ブロックファイル４４に含まれている差分圧縮データを伸長することによって帳票出力用テキストデータを生成するための手段であり、本実施の形態では、伝送ブロック解析処理部４６、差分圧縮情報伸長処理部４７、テキストデータ組立処理部４８及び印刷用データ保管処理部４９で構成されている。印刷実行部４３は、帳票出力用データ解析組立処理部４２が組み立てた帳票出力用テキストデータファイル４５を読み込んでプリンタ５から出力する。
【００３６】
以上の構成により印刷要求発行装置２から転送するページデータを、設定した基準ページデータとの差分を取りデータ圧縮をすることによってデータ転送量の削減を図るわけであるが、本実施の形態において特徴的なことは、基準ページデータを固定化せずに圧縮率に基づく各ページの類似度によって基準ページデータの設定変更を行うようにしたことである。これにより、データ圧縮の効率性を高めることができるので、データ転送量をより削減することができ、ネットワーク通信のスループットの向上を図ることができる。
【００３７】
また、本実施の形態において更に特徴的なことは、印刷する帳票出力用テキストデータを複数のブロックに分割し、各ブロックに対する処理を同時並行して実行できるようにしたので、印刷に要する時間の短縮化を図ることができる。
【００３８】
図２は、本実施の形態における印刷要求発行装置２の概略的な処理の流れ及び各処理において入出力されるファイル等を示した図である。印刷要求発行装置２において実行される処理は、帳票出力用データ解析変換処理部２２において実行されるデータファイル解析処理、テキストデータ分解処理、ページデータ差分圧縮処理及び伝送ブロック生成処理と、印刷用データ送信部２３において実行されるデータ送信処理に大別される。データファイル解析処理は、帳票出力用テキストデータファイル２４を解析することによって帳票出力用テキストデータ単位に分割する。テキストデータ分解処理は、分割された帳票出力用テキストデータを帳票用ヘッダ情報とページデータとの部分に分割して別個に保存する。ページデータ差分圧縮処理は、帳票出力用テキストデータに含まれるいずれかのページデータを基準ページデータとし、その基準ページデータとの差分を取ることによって基準ページデータ以外のページデータを圧縮して差分圧縮データを生成するとともに、帳票出力用テキストデータに含まれる全ページデータを、基準ページデータと、当該基準ページデータとの差分を取ることで圧縮した結果所定の圧縮率に達した差分圧縮データとの組にブロック分割する。伝送ブロック生成処理は、分割されたブロックに対応させて印刷実行制御装置４への送信単位となる伝送ブロックファイル２５を生成する。
【００３９】
次に、図２に示した各処理の詳細について詳細なフローチャートを用いて説明する。まず、最初にデータファイル解析処理部２６が実行するデータファイル解析処理について図３に示したフローチャートに基づき説明する。
【００４０】
データファイル解析処理では、帳票出力用テキストデータファイル２４を解析することによって帳票出力単位である帳票出力用テキストデータに分割する。帳票出力用テキストデータファイル２４には、アプリケーション実行部２１で実行される各アプリケーションにより生成された複数の帳票出力用テキストデータが保存される。例えば、数ページから構成される１つの請求書の「正本」は１つの帳票出力用テキストデータとして生成され、その請求書の「写し」は別の帳票出力用テキストデータとして生成されるが、それぞれ同じ帳票出力用テキストデータファイル２４に保存される。図４（ａ）に示したように、帳票出力用テキストデータは、帳票用ヘッダ情報と印字対象となるテキスト形式の複数のページデータとの組から構成される。帳票用ヘッダ情報には、用紙サイズ、フォームレイアウト情報、オーバーレイ情報等ページデータを実際に印字する際に必要な情報が設定されている。また、１ページデータは、帳票出力される１ページのデータに相当する。帳票用ヘッダ情報と１ページデータは、帳票出力用テキストデータの１レコードに相当する。なお、図４（ａ）に示した、例えば“ページデータＰ１”というのは、当該帳票出力用テキストデータにおける１ページ目のページデータという意味であり、同一内容を意味するものではない。“ｄ−Ｐｎ”というのは、ｄ番目の帳票出力用テキストデータにおけるｎページ目のページデータということを示している。
【００４１】
図３において、データファイル解析処理部２６は、帳票出力用テキストデータファイル２４をオープンし（ステップ１０１）、先頭から順次レコードを読み込む（ステップ１０２）。読み込むレコードが存在したとき、それが帳票用ヘッダ情報であれば（ステップ１０３，１０４）、その帳票用ヘッダ情報に対してユニークなテキストデータｉｄ（Ｔｉｄ）を付与して、帳票用ヘッダ情報とＴｉｄとを組にして帳票出力管理用データベース３１へ登録する（ステップ１０５）。そして、当該帳票用ヘッダ情報に対応した帳票出力用テキストデータを生成するための帳票用データ保存領域を確保し（ステップ１０６）、そのレコード（帳票用ヘッダ情報）を書き込む（ステップ１０７）。続いて、次のレコードを読み込むと、通常はページデータのレコードなので、そのレコード（ページデータ）を確保済みの帳票用データ保存領域に帳票用ヘッダ情報に続けて書き込む（ステップ１０７）。なお、本実施の形態の場合、各保存領域をディスク装置上すなわちファイルとする。
【００４２】
以上の処理を繰り返し行うことで、帳票出力用テキストデータファイル２４に他と区別なく格納されていた各帳票出力用テキストデータは、帳票用ヘッダ情報とページデータとの組で分割される。全レコードに対してそれぞれの帳票用データ保存領域への書込みが終了し、読み込むレコードが無くなると、帳票出力用テキストデータファイル２４をクローズする（ステップ１０３，１０８）。そして、次の処理すなわちテキストデータ分解処理を起動する（ステップ１０９）。このデータファイル解析処理の結果、生成された帳票出力用テキストデータの例を図４（ｂ）に示す。
【００４３】
本実施の形態では、上記のように１つの帳票出力用テキストデータファイル２４に対するデータファイル解析処理が終了すると、即座に次の実行すべきテキストデータ分解処理を起動している。すなわち、上記データファイル解析処理中に別個の帳票出力用テキストデータファイル２４が新規に生成されていた場合、データファイル解析処理部２６は、処理したばかりの帳票出力用テキストデータファイル２４に基づく印刷用データファイルが印刷実行制御装置４に転送されたかどうかに関係なく新たに生成された帳票出力用テキストデータファイル２４をオープンして上記処理の実行を開始することができる処理機構とした。すなわち、本実施の形態では、帳票出力用テキストデータファイル２４毎に独立してかつ並列に実行できる処理機構としたので、システム全体における印刷に要する全体時間の短縮化を図ることができる。
【００４４】
続いて、データファイル解析処理により起動されるテキストデータ分解処理を実行するテキストデータ分解処理部２７の動作について図５に示したフローチャートを用いて説明する。
【００４５】
ここでは、帳票用データ保存領域に格納された帳票出力用テキストデータを単に帳票用ヘッダ情報とページデータ群とを分けて保存するだけの処理を行う。すなわち、テキストデータ分解処理部２７は、データファイル解析処理により確保された１つの帳票用データ保存領域（ファイル）をオープンし（ステップ２０１）、先頭から順次レコードを読み込む（ステップ２０２）。なお、テキストデータ分解処理部２７は、起動時のパラメータ指定等の方法でどのファイルをオープンするかを知ることができる。読み込むレコードが存在したとき、それが帳票用ヘッダ情報であれば（ステップ２０３，２０４）、その帳票用ヘッダ情報を別途確保した帳票用ヘッダ情報保存領域に格納する（ステップ２０５）。また、読み込んだレコードがページデータであれば、別途確保した帳票用ページデータ保存領域に格納する（ステップ２０４，２０６）。なお、本実施の形態の場合、各保存領域をファイルとする。この処理を繰り返し行い、読み込むレコードが無くなると、帳票用データ保存領域をクローズする（ステップ２０３，２０７）。そして、次の処理すなわちページデータ差分圧縮処理を起動する（ステップ２０８）。
【００４６】
本実施の形態では、上記のように１つの帳票用データ保存領域に対するテキストデータ分解処理が終了すると、その分解した帳票出力用テキストデータに対するページデータ差分圧縮処理を起動することを特徴としている。この起動の後、テキストデータ分解処理部２７は、残りの帳票用データ保存領域に対して上記テキストデータ分解処理を実行することになるため、この処理は起動済みのページデータ差分圧縮処理と並行して実行されることになる。これにより、帳票出力のために１つの帳票出力用テキストデータファイル２４に対して行うべき各処理を同時並行して行うことができるので、帳票出力に要する全体時間を短縮することができることになる。
【００４７】
次に、テキストデータ分解処理により起動されるページデータ差分圧縮処理を実行するページデータ差分圧縮処理部２８の動作について図６に示したフローチャートを用いて説明する。
【００４８】
ページデータ差分圧縮処理部２８は、前段のテキストデータ分解処理において処理された帳票用ページデータ保存領域をオープンする（ステップ３０１）。そして、ワークに使用する予め用意したページデータ長のレコードバッファ領域Ｂ１，Ｂ２を初期化した後（ステップ３０２）、帳票用ページデータ保存領域から１ページデータ分読み込んでレコードバッファ領域Ｂ２に格納する（ステップ３０３）。ここで、最初に読み込んだページデータは、帳票出力用テキストデータにおいて先頭のページデータである。従って、このとき、先頭ページデータを含むことになるページブロックにユニークなページブロックｉｄ（Ｐｉｄ）を付与し、テキストデータｉｄ（Ｔｉｄ）に関連させて帳票出力管理用データベース３１に格納する（ステップ３０４，３０５）。そして、新規にページブロック保存領域を確保し、レコードバッファ領域Ｂ２の内容をその領域に書き込む（ステップ３０６）。なお、本実施の形態の場合、ページブロック保存領域をファイルとする。このファイルが次の処理で生成される伝送ブロックファイル２５の原形となる。更に、レコードバッファ領域Ｂ２の内容をレコードバッファ領域Ｂ１にコピーした後（ステップ３０７）、レコードバッファ領域Ｂ２を初期化する（ステップ３０８）。レコードバッファ領域Ｂ１に保存されたページデータがオープン中のページブロック保存領域に格納されるページデータの基準ページデータとなる。
【００４９】
続いて、帳票用ページデータ保存領域から次のページデータを読み込んでレコードバッファ領域Ｂ２に格納する（ステップ３０３）。ここで、読み込んだページデータが存在し、かつ先頭のページデータでないとする。なお、先頭のページデータというのは、具体的には帳票出力用テキストデータにおける１ページ目のページデータのことである。このとき、レコードバッファ領域Ｂ１に保存されている基準ページデータとレコードバッファ領域Ｂ２に読み込まれた処理対象のページデータとをバイト単位で比較して差分を取り、テンポラリに用意したバッファＢ３に書き込む（ステップ３０９）。差分の取り方に関しては、従来からある手法を用いればよい。そして、比較した結果、一致したバイトをＮｕｌｌで表現したとすると、バッファＢ３に書き込まれた差分情報をＮｕｌｌの連続した数をコード化した圧縮形態で表現し、それをバッファＢ４に書き込む（ステップ３１０）。
【００５０】
ここで、本実施の形態では、レコードバッファ領域Ｂ２に格納されているページデータのデータ量に対する当該ページデータを差分・圧縮してバッファＢ４に書き込まれた差分圧縮データのデータ量の割合（圧縮率）を算出する。圧縮率が高い（算出値としては小さい）ということは、比較するページデータ同士が類似しているということである。ページデータ差分圧縮処理部２８は、求めた圧縮率を予め設定されている閾値と比較し、圧縮率が閾値以下であればデータ圧縮が効率的に行われ、差分圧縮データ量が少ないということがいえる。すなわち、ページデータを差分圧縮してデータ転送を行うことがデータ転送量を削減するうえで効果的であると判断することができる。従って、この場合は、その差分圧縮データを当該ページデータの転送用ページデータとして確保されているページブロック保存領域に書き込む（ステップ３１１，３１２）。その後、レコードバッファ領域Ｂ２を初期化する（ステップ３０７）。レコードバッファ領域Ｂ１に保存した基準ページデータは、そのまま維持する。
【００５１】
一方、ステップ３１１において圧縮率が閾値より大きいということは、比較するページデータ同士が類似していないと判断することができるので、差分圧縮データを転送してもデータ転送量を削減するという効果がそれほど見込めないということができる。この場合は、一連のページデータをブロック分割する。すなわち、現在オープン中のページブロック保存領域をクローズし、レコードバッファ領域Ｂ１に保存しているページデータの絶対ページ番号をページブロックｉｄ（Ｐｉｄ）に対応させて帳票出力管理用データベース３１に格納する（ステップ３１４）。絶対ページ番号というのは、帳票用データ保存領域に格納された帳票出力用テキストデータにおける通しページ番号に相当する。そして、次の処理すなわち伝送ブロック生成処理を起動する（ステップ３１５）。
【００５２】
本実施の形態では、ページブロック保存領域がクローズされ１つのページブロックが生成されると、当該ページブロックに対する伝送ブロック生成処理を起動することを特徴としている。この起動の後、ページデータ差分圧縮処理部２８は、帳票用データ保存領域に未処理のページデータが残されている限り、ステップ３０３以降の処理を繰り返し実行することになるため、未処理のページデータに対して実行されるステップ３０３以降のページデータ差分圧縮処理は、ステップ３１５により起動済みの伝送ブロック生成処理と並行して実行されることになる。これにより、帳票出力に要する全体時間を短縮することができる。
【００５３】
ページデータ差分圧縮処理部２８は、生成した１つのページブロック保存領域に対する伝送ブロック生成処理を起動すると、終了フラグの状態をチェックする（ステップ３１６）。このときには、まだセットされていないので、レコードバッファ領域Ｂ２に残されているページデータを含むことになるページブロックにユニークなページブロックｉｄ（Ｐｉｄ）を付与し、テキストデータｉｄ（Ｔｉｄ）に関連させて帳票出力管理用データベース３１に格納する（ステップ３０４，３０５）。そして、新規にページブロック保存領域を確保し、レコードバッファ領域Ｂ２の内容を格納する（ステップ３０６）。レコードバッファ領域Ｂ２に残されていたのは、前段の処理で差分圧縮データが求められたものの基準ページデータに類似していなかったページデータである。更に、レコードバッファ領域Ｂ２の内容をレコードバッファ領域Ｂ１にコピーした後、レコードバッファ領域Ｂ２を初期化する（ステップ３０７，３０８）。すなわち、以降の処理では、基準ページデータに類似していなかったページデータを新たな基準ページデータとして、この基準ページデータを先頭にしたページブロックが新規に生成されることになる。
【００５４】
続いて、帳票用データ保存領域から更に次のページデータを読み込んで前述した処理を繰り返し行い、各ページデータをページブロック毎にブロック分割していく。そして、最終的に読み込むページデータが無くなったとき、終了フラグをセットし（ステップ３１３）、前述したようにレコードバッファ領域Ｂ１に保存しているページデータの絶対ページ番号をページブロックｉｄ（Ｐｉｄ）に対応させて帳票出力管理用データベース３１に格納した後、伝送ブロック生成処理を起動する（ステップ３１４，３１５）。そして、終了フラグの状態をチェックすると、ステップ３１３によりセットされているので、最初のステップ３０１でオープンした帳票用ページデータ保存領域をクローズする（ステップ３１７）。以上の処理の結果、得られたページブロックの内容例を図４（ｃ）に示す。図４（ｃ）によれば、各ページブロックの先頭には、差分圧縮されていないページデータがそのまま転送用ページデータとして格納されている。そして、それに続く当該ページブロック内における各転送用ページデータは、各ページブロックの先頭のページデータを基準ページデータとしたときの差分圧縮データである。図４（ｃ）では、差分圧縮されていないページデータを“（ｄ−Ｐ１）”のようにダッシュを付けないで表し、差分圧縮データによる転送用ページデータを“（ｄ−Ｐ２）´”のようにダッシュを付けて表している。なお、帳票用ヘッダ情報ｄは、ページブロックに含まれないが、図４（ｃ）に便宜的に図示している。これは、前述した帳票用ヘッダ情報保存領域に相当する。
【００５５】
本実施の形態におけるページデータ差分圧縮処理では、以上のように各ページデータの差分を取った結果、圧縮率が高いときには当該差分圧縮データを当該ページの転送用ページデータとし、圧縮率が低いところでブロック分割するようにして１つの帳票出力用テキストデータから複数の印刷用データファイルを生成するようにしたことを特徴としている。このように、圧縮率を考慮しながら基準ページデータの設定変更を行うようにしたので、データ転送量をより効率的に削減することができる。また、ブロック分割することで他のページブロックに対する処理と同時並行して処理を実行することができるため、印刷に要する全体時間を短縮することができる。
【００５６】
ところで、本実施の形態では、ページデータの圧縮を行い、類似していないページ間、すなわち差分圧縮データ量を元のページデータ量と比較すると圧縮効果が得られないページのところで分割し、類似しているページデータ同士でブロック化するようにした。このように処理することは、次のような場合に極めて効果的となる。
【００５７】
例えば、帳票として請求書を送信する場合、請求書（印刷物）の各ページのヘッダ部分には、送付先や送付元の企業、部署、担当者等を記載するが、同一の送付先であれば、連続した各ページの記載内容は一致する。また、同一送付先に対して使用する請求書のフォームは、種別が異なっても通常はタイトル（種別名）が異なる程度で定型化されているので、この点でも同一送付先への連続した各ページには一致する印字部分が多い。
【００５８】
すなわち、例えば請求書の各ページのヘッダ部分や定型フォーム部分等各ページに共通する部分のデータ量の和に基づき閾値を設定しておけば、複数ページからなる請求書、あるいは同一送付先への請求書により１ページブロックが生成され、この場合の当該ページブロックにおける圧縮率は極めてよくなると考えられる。前述した請求書の「正本」と「写し」等の相違は、帳票用ヘッダ情報内のオーバーレイ情報に設定されるので、この場合のページデータの差分圧縮データの中味は空となる。これにより、データ転送量を大幅に削減することができる。また、帳票出力用テキストデータを異なる送付先のところで分割したとしても何ら不自然はなく、それどころか再送等の処理上好ましく、メンテナンス等にも極めて有利である。
【００５９】
本実施の形態では、ページデータを圧縮し、かつ類似しているか否かのところでブロック分割している。これにより、データ転送量の削減及び処理の並列化を実現している。帳票出力用テキストデータを固定長でブロック分割しても並列処理は実現可能であるものの圧縮率の関係上データ転送量の削減が望めるとは限らない。その一方、ページデータを圧縮すれば、ブロック分割しなくてもデータ転送量を削減することはできるが並列処理は実現できない。また、差分圧縮データを得る際の基準ページデータを固定化したり、あるいは単純に直前のページデータと決めていても転送データ量をある程度削減できるかもしれないが、本実施の形態では、圧縮率が悪くなったところでブロック分割に伴い基準ページデータの設定変更をしているので、各ページブロックのデータ転送量を確実に減少させることができる。このように、本実施の形態によれば、ページデータの差分・圧縮を行い、圧縮が効率的でないところでブロック分割し、処理の並列化を可能としたので、システムの高速化及び転送データ量の削減という双方の効果を確実に奏することができる。
【００６０】
なお、本実施の形態では、所定の圧縮効果が得られたかどうかの判断のために固定的な閾値を予め設定して、算出した圧縮率と閾値とを単に比較するようにしたが、圧縮率の変動量の幅、率等により所定の圧縮効果が得られたかどうかの判断を行うようにしてもよい。また、学習機能を持たせて閾値を変動させるようにしてもよい。所定の圧縮効果が得られたかどうかの判断を行うための条件等の設定は、扱う帳票の種類、対象となる送付先、システム構成等に応じて行えばよい。
【００６１】
また、本実施の形態では、基準ページデータをページブロック毎に設定したが、扱う帳票の種類によっては、基準ページデータを直前のページデータとしても転送データ量を削減することはできる。
【００６２】
次に、ページデータ差分圧縮処理により起動される伝送ブロック生成処理を実行する伝送ブロック生成処理部２９の動作について図７に示したフローチャートを用いて説明するが、その前に本実施の形態における帳票出力管理用データベース３１のデータ構造について図８に基づき説明する。
【００６３】
帳票出力管理用データベース３１は、テキストデータヘッダ情報及びページブロックヘッダ情報のテーブルで構成されている。テキストデータヘッダ情報は、帳票出力用テキストデータ毎に設定され、データファイル解析処理において帳票出力用テキストデータファイル２４に含まれている帳票出力用テキストデータ毎に割り当てられたテキストデータｉｄ（Ｔｉｄ）と、Ｔｉｄと組にして格納された帳票用ヘッダ情報と、印刷用データ送信部２３が後述する処理において設定する送信済情報とで構成されている。ページブロックヘッダ情報テーブルは、各帳票出力用テキストデータに対応させて設けられている。ページブロックヘッダ情報は、ページデータ差分圧縮処理において各ページブロックに割り当てたページブロックｉｄ（Ｐｉｄ）と、ページブロック保存領域のクローズ時点で書き込まれる絶対ページ番号と、ページブロックに基づき生成される伝送ブロックファイルの名称と、ページブロックに基づき帳票出力される出力先プリンタ名（印刷実行制御装置４及びプリンタ５）とで構成される。
【００６４】
伝送ブロック生成処理部２９は、まず、伝送ブロックファイル２５を新規にオープンし（ステップ４０１）、そのファイル名をページブロックヘッダ情報に設定する（ステップ４０２）。更に、ページブロック保存領域をオープンする（ステップ４０３）。そして、帳票出力管理用データベース３１から該当するテキストデータヘッダ情報とページブロックヘッダ情報とを読み出して伝送ブロックヘッダ情報を生成して伝送ブロックファイル２５に格納する（ステップ４０４）。オープンした当該ページブロックが先頭である場合は、テキストデータ分解処理において帳票用ヘッダ情報保存領域に格納しておいた帳票用ヘッダ情報を読み出し、伝送ブロックファイル２５に格納する（ステップ４０５，４０６）。更に、ページブロックを格納した後（ステップ４０７）、伝送ブロックファイル２５をクローズする（ステップ４０８）。このようにして伝送ブロックファイル２５を生成すると、次の処理を行う印刷用データ送信部２３へ伝送ブロックファイル２５を投入する（ステップ４０９）。
【００６５】
この伝送ブロック生成処理においても１つの伝送ブロックファイル２５を生成すると、その伝送ブロックファイル２５を即座に印刷用データ送信部２３へ投入することを特徴としている。これにより、印刷用データ送信部２３における送信処理と後に続くデータブロックに基づく伝送ブロック生成処理とを同時並行して実行させることができるので、帳票出力に要する全体時間を短縮することができることになる。
【００６６】
以上、伝送ブロック生成処理部２９は、前段のページデータ差分圧縮処理によりページブロックが生成される度に伝送ブロック生成処理を実行して伝送ブロックファイル２５を生成することになる。この生成された伝送ブロックファイル２５の内容例を図４（ｄ）に示す。この例から明らかなように同一の帳票出力用テキストデータから生成された伝送ブロックファイル２５には、同一のテキストデータヘッダ情報が設定されているため、印刷実行制御装置４は、どの順番で伝送ブロックファイル２５が到着しようともその組を容易に認識することができる。また、ページブロックヘッダ情報が設定されているため各ページブロックの識別も容易にできる。
【００６７】
なお、上記伝送ブロック生成処理では、説明していないが、伝送ブロックヘッダ情報には、同一の帳票出力用テキストデータから生成された伝送ブロックファイル２５の生成数及び自己の伝送ブロックファイル２５の並び順、伝送ブロックファイル２５に含まれているページデータが帳票出力用テキストデータにおいて何ページ目から何ページ目を構成しているかという情報が含まれており、ページ指定の再送処理や印刷実行制御装置４における帳票出力用テキストデータの組立処理の便宜を図っている。
【００６８】
印刷用データ送信部２３は、上記のように伝送ブロック生成処理部２９から伝送ブロックファイル２５が投入されると、ページブロックヘッダ情報に設定されている出力先プリンタ名を参照することで特定した印刷実行制御装置４へ順次送信する。そして、印刷実行制御装置４から同一の帳票出力用テキストデータを構成する印刷用データファイルを全て正常に受信した旨の通知を受け取ると、その送信時刻及び終了ステータスコードを帳票出力管理用データベース３１の送信済情報として設定する。なお、本実施の形態では、送信済み情報をテキストデータヘッダ情報としてＴｉｄに対応させて設けたが、ページブロックヘッダ情報としてＰｉｄに対応させて設けて、伝送ブロックファイル毎に送信確認を行うようにしてもよい。このように、送信済情報を帳票出力管理用データベース３１に設定するようにしたので、帳票出力が正常に実行されなかったときの障害発生箇所の切り分けを容易に行うことができる。
【００６９】
印刷用データ情報保管処理部３０は、帳票出力管理用データベース３１の送信済情報に送信時刻が書き込まれたことを検知すると、該当する伝送ブロックファイル２５を伝送ブロックファイル保管用データベース３２へ移動し蓄積する。なお、この際、伝送ブロックファイル２５に対応させて指定値若しくはデフォルト値の保管期限等も設定する。印刷用データ情報保管処理部３０は、定期的に動作して保管期限に達した伝送ブロックファイル２５を削除する。このように、正常に送信できた伝送ブロックファイル２５を即座に削除せずに指定期間保管しておくことで印刷実行制御装置４からの再送要求が送られてきたときにも伝送ブロックファイル２５を再度生成する処理を実行しなくてすむので迅速にその再送要求に対応することができる。なお、上記伝送ブロックファイル２５を保管しておく期間は、適用するシステムや扱う帳票によって適宜保管するデフォルト値を設定すればよい。
【００７０】
次に、印刷要求発行装置２から送られてくる印刷用データファイルに基づき帳票出力を行う印刷実行制御装置４における処理について説明する。
【００７１】
図９は、本実施の形態における印刷実行制御装置４の概略的な処理の流れ及び各処理において入出力されるファイル等を示した図である。印刷実行制御装置４では、基本的には印刷要求発行装置２において実行された処理を逆の順番に実行することで帳票出力用テキストデータファイル４５を生成して帳票出力を行う。すなわち、印刷用データ受信部４１おいて実行されるデータ受信処理、帳票出力用データ解析組立処理部４２において実行される伝送ブロック解析処理、差分圧縮データ伸長処理、テキストデータ組立処理、そして、最後に印刷実行部４３において実行される印字出力処理を実行する。更に、上記処理を実行する過程で再送などの処理を考慮して印刷要求発行装置２にある帳票出力管理用データベース３１と同一内容の帳票出力管理用データベース５０及び差分圧縮データを伸長して印刷可能な形式に変換した帳票出力用テキストデータを一時保管した帳票出力用テキストデータ保管用データベース５１を生成する。
【００７２】
次に、図９に示した各処理の詳細について説明すると、まず、印刷用データ受信部４１は、常時印刷用データファイルの受信待ち状態にあり、自己宛の印刷用データファイルが送られてくると、それを受信して伝送ブロックファイル４４として図示しないディスク装置に格納する。この格納する度に伝送ブロック解析処理を起動するとともに同一の帳票出力用テキストデータを構成する印刷用データファイルの全てを正常に受信できたときにはその旨を送信元の印刷要求発行装置２へ通知する。
【００７３】
続いて、伝送ブロック解析処理部４６が実行する伝送ブロック解析処理について図１０に示したフローチャートを用いて説明する。
【００７４】
伝送ブロック解析処理では、図４（ｄ）に示したデータ構造の伝送ブロックファイル４４を図４（ｃ）のデータ構造のページブロックに展開する処理を行う。すなわち、伝送ブロック解析処理部４６は、受信された伝送ブロックファイル４４をオープンし（ステップ５０１）、そのファイルに設定された伝送ブロックヘッダ情報の内容に基づき帳票出力管理用データベース５０を検索する（ステップ５０２）。つまり、受信された伝送ブロックファイル４４と同一のＴｉｄのテキストデータヘッダ情報が帳票出力管理用データベース５０に登録されていなければ、同一の帳票出力用テキストデータを構成するための他の伝送ブロックファイル４４はまだ処理されていないと判断して、当該伝送ブロックファイル４４の伝送ブロックヘッダ情報を構成するテキストデータヘッダ情報及びページブロックヘッダ情報を帳票出力管理用データベース５０に登録する（ステップ５０３〜５０５）。続いて、伝送ブロックファイル４４に含まれているページブロックを予め用意したページブロック保存領域に保存する（ステップ５０６）。一方、ステップ５０２における問合せの結果、受信された伝送ブロックファイル４４と同一のＴｉｄのテキストデータヘッダ情報が帳票出力管理用データベース５０に登録されていれば、同一の帳票出力用テキストデータを構成する他の伝送ブロックファイル４４が既に受信されていると判断できるので、伝送ブロックファイル４４に含まれているページブロックヘッダ情報を帳票出力管理用データベース５０に登録し、また、ページブロックをページブロック保存領域に保存する（ステップ５０３，５０５，５０６）。そして、当該伝送ブロックファイル４４が同一の帳票出力用テキストデータにおいて先頭のものであれば、伝送ブロックファイル４４に帳票用ヘッダ情報が含まれているので、それを予め用意した帳票用ヘッダ情報保存領域に保存する（ステップ５０７，５０８）。その後、次の処理の差分圧縮データ伸長処理を起動する（ステップ５０９）。
【００７５】
以上のようにして受信した伝送ブロックファイル４４に基づき図４（ｃ）に示したデータ構造のページブロック保存領域を生成すると共に帳票出力管理用データベース５０を構築する。
【００７６】
次に、差分圧縮データ伸長処理部４７が実行する差分圧縮データ伸長処理について図１１に示したフローチャートを用いて説明する。
【００７７】
差分圧縮データ伸長処理では、図４（ｃ）に示したデータ構造のページブロックに含まれる差分圧縮データを伸長して帳票用ページデータ保存領域に展開する処理を行う。
【００７８】
差分圧縮データ伸長処理部４７は、まずページブロック保存領域をオープンし（ステップ６０１）、先頭のページデータを読み込んでレコードバッファ領域Ｂ１及び予め用意した帳票用ページデータ保存領域に格納する（ステップ６０２，６０３）。ここで読み込んだデータは、圧縮されていない基準ページデータである。続いて、次のレコード（ページデータ）を読み込んでレコードバッファ領域Ｂ２へ書き込む（ステップ６０４）。このレコードバッファ領域Ｂ２に書き込まれたページデータは、差分圧縮データである。ここで、差分圧縮データ伸長処理部４７は、ページデータ差分圧縮処理部２８における差分圧縮と逆に、レコードバッファ領域Ｂ２の差分圧縮データのコード化されたｎｕｌｌ数を伸長してレコードバッファ領域Ｂ３に格納し、レコードバッファ領域Ｂ１，Ｂ３に格納された各ページデータをバイト単位で比較してその和をレコードバッファ領域Ｂ４へ一時保持する（ステップ６０６）。この伸長処理によりレコードバッファ領域Ｂ４に保持されたページデータを帳票用ページデータ保存領域に格納する（ステップ６０７）。この後、レコードバッファ領域Ｂ２〜Ｂ４を初期化して、ステップ６０４に戻り上記処理を繰り返す。もし、読み込むページデータがなければ、処理を終了する（ステップ６０５）。終了の際、当該ページブロック保存領域をクローズする。また、本実施の形態では、帳票用ページデータ保存領域をファイルで形成するので、このファイルをクローズする。
【００７９】
以上のようにして差分圧縮データの伸長が終了すると、テキストデータ組立処理部４８は、ファイルで形成される図４（ｂ）に示したデータ構造の帳票用データ保存領域を生成する処理を行う。このテキストデータ組立処理部４８が行うテキストデータ組立処理を図１２に示したフローチャートを用いて説明する。
【００８０】
テキストデータ組立処理部４８は、帳票用データ保存領域を新規に生成し（ステップ７０１）、帳票用ヘッダ情報保存領域から読み出した帳票用ヘッダ情報を格納する（ステップ７０２）。続いて、帳票用ページデータ保存領域から読み出したページデータを帳票用データ保存領域に格納する（ステップ７０３）。複数生成された帳票用ページデータ保存領域のうちどの領域から順にページデータを読み出すかは、帳票出力管理用データベース５０のテキストデータヘッダ情報のテキストデータｉｄ（Ｔｉｄ）に関連付けされているページブロックヘッダ情報を参照することによって管理することができる。
【００８１】
このようにして、分割され転送されてきたページデータを帳票用データ保存領域において連結することができるが、帳票用データ保存領域を帳票出力用テキストデータファイル４５として印刷実行部４３へ投入することによって帳票出力用テキストデータを印字出力させることができる（ステップ７０４）。印刷実行部４３への投入が正常にできれば、印刷用データ保管処理を起動し（ステップ７０５，７０６）、帳票出力管理用データベース５０の印刷済情報にその旨のフラグを設定する（ステップ７０７）。帳票出力管理用データベース５０は、帳票出力管理用データベース３１と同一のデータ構造を有しているが、帳票出力管理用データベース３１の送信済情報に相当するフィールドが印刷済情報に割り当てられている。一方、印刷実行部４３への投入が正常にできなければ、その旨のメッセージを出力するなどしてオペレータに通知し、何らかのリカバリ処理が行われるように対処する（ステップ７０８）。
【００８２】
本実施の形態の印刷要求発行装置２においては、印刷要求として複数の帳票出力用テキストデータを含む帳票出力用テキストデータファイル２４が生成されるが、印刷実行制御装置４においては、上記のように帳票出力用テキストデータ個々に対応した帳票出力用テキストデータファイル４５が生成されることになる。もし、元の帳票出力用テキストデータファイル２４の並び順で帳票出力用テキストデータファイル４５を印字出力をさせたいのであれば、帳票出力用テキストデータの並び順をＴｉｄに対応させて帳票出力管理用データベース３１へ登録し、印刷実行制御装置４では、その並び順に基づき印字出力順のプライオリティを設定するなど対処すればよい。また、他の印刷要求発行装置２から同時に印刷用データファイルが送られてきてもＴｉｄにより関連付けしているので印字出力する際に各帳票が混在しないように制御管理することができる。
【００８３】
また、印刷用データ保管処理部４９は、各帳票出力用テキストデータファイル４５すなわち帳票用データ保存領域の内容を帳票出力用テキストデータ保管用データベース５１へ一時保管する。この際、帳票出力管理用データベース５０の伝送ブロックファイル名のフィールドの設定を更新したり、別フィールドを設けたりするなどして帳票出力用テキストデータ保管用データベース５１に保管する帳票出力用テキストデータと、帳票出力管理用データベース５０とＴｉｄとを関連付けしておく。帳票出力用テキストデータを一時保管しておくことで次の効果を奏することができる。
【００８４】
例えば、印刷実行制御装置４としての処理は正常に終了したもののプリンタ５のトナー残量が少なかったため印字文字が薄くトナーカートリッジ交換後に再度印刷をしたいような場合、従来であれば印刷実行部４３における処理の正常終了により帳票出力用テキストデータファイル４５を削除するように処理していたので、印刷実行制御装置４側単独では再度の印字出力をすることができない。
【００８５】
そこで、本実施の形態では、一定期間帳票出力用テキストデータファイル４５を保管しておくようにしたので、印刷実行制御装置４側において正常に印字出力できた帳票を再度印刷することができる。また、ページ指定の再印刷要求にも迅速かつ容易に対応することができる。
【００８６】
また、用紙サイズの変更、フォームのみの変更等印刷要求発行装置２が帳票用ヘッダ情報に設定する情報のみを変更して帳票出力をしたい場合、印刷要求発行装置２は、ページデータを再度転送せずに帳票用ヘッダ情報のみを転送すればよくなる。帳票用ヘッダ情報のみを転送する場合でもその帳票用ヘッダ情報に含まれる識別情報に基づき帳票出力用テキストデータ保管用データベース５１に格納されている帳票用ヘッダ情報を検索することによってページブロックヘッダ情報を特定することができるので、当該帳票用ヘッダ情報を対応したページデータと関連付けすることができる。更に、ページ指定の印刷にも容易に対応することができる。
【００８７】
以上のように、本実施の形態によれば、帳票出力用テキストデータに含まれる印字対象のページデータを基準ページデータとの差分を取ることによって印刷要求発行装置２から印刷実行制御装置４へ転送される印刷用データファイルのサイズを圧縮するようにしたので、データ転送量を削減することができる。特に、本実施の形態においては、ページデータへの差分圧縮処理の結果所定の圧縮効果が得られなかった場合には、基準ページデータを変更するようにしたので、極めて効率的なページデータの差分・圧縮を行うことができるので、データ転送量をより確実に削減することができる。
【００８８】
また、本実施の形態では、１つの帳票出力用テキストデータファイル２４を帳票出力用テキストデータ個々に、また、帳票出力用テキストデータを更に分割するなどしてブロックし、各ブロックを生成する度にブロックに対して行う後続の処理を順次開始するようにしたので、複数の処理を同時並行して実行することができる。これにより、ネットワークプリントシステムとして高速化を実現することができる。このように、ブロック分割することで並列処理による高速化を図れるのみならず再送単位を小さくすることになるので再送時におけるデータ転送量も削減することができる。各ブロックには、基準ページデータが含まれているので差分圧縮データを簡単な処理で容易に伸長することができる。
【００８９】
ところで、本実施の形態においては、データ転送量の削減及びシステムとして帳票出力処理の高速化を図ることができるが、更に、再送処理などの細かな処理にも対応できるようなシステム構成としている。
【００９０】
例えば、帳票出力用テキストデータ保管用データベース５０は、印刷実行制御装置４における独立した帳票出力処理の正常終了の結果、印刷済情報と送信済情報との関係以外、印刷要求発行装置２における帳票出力用テキストデータ保管用データベース３１と同一のデータ構造で生成される。つまり、データベースのレプリカ機能を使用して各帳票出力用テキストデータ保管用データベース３１，５０のつき合わせをすれば、印刷実行制御装置４において発生した異常を容易に検出することができる。仮に、異常なページブロックが検出されれば、当該ページブロックの再送要求を印刷要求発行装置２へ送出すればよい。印刷要求発行装置２では、前述したように伝送ブロックファイル２５を伝送ブロックファイル保管用データベース３２に一時保管しているので、再送要求のあったページブロックを含む伝送ブロックファイル２５を伝送ブロックファイル保管用データベース３２から読み出して印刷実行制御装置４へ送信することで迅速かつ容易に再送要求に応じることができる。また、出力すべき帳票のデータ内容の信頼性を向上させることができる。
【００９１】
なお、本実施の形態では、ページデータ間の差分を取り差分圧縮データを得ることによってデータ転送量を削減することを特徴としているので、各帳票が複数ページから構成されているときに効果を奏するわけであるが、１ページのみの帳票を出力する際にも適用することができることはいうまでもない。
【００９２】
【発明の効果】
本発明によれば、転送するページデータを基準ページデータとの差分を取ることで圧縮した結果得られる差分圧縮データが差分される前のページデータと比較して所定の圧縮効果が得られなかった場合には、当該ページデータを次ページデータ以降のための基準ページデータに設定変更するようにしたので、ページデータを効率的に圧縮することができるので、データ転送量をより確実に削減することができる。このため、ネットワーク通信のスループットを向上させることができる。
【００９３】
また、転送するページデータをブロック分割するとともにページブロックを生成する度に各ページブロックに対して行う後続の処理を順次開始するようにしたので、各ページブロックに対する処理を同時並行して実行することができる。これにより、ネットワークプリントシステムの高速化を実現することができる。
【００９４】
また、伝送ブロックファイルを生成する処理過程において印刷要求発行装置側帳票出力管理用データベースを生成するようにしたので、帳票出力用テキストデータ、ページブロック及び伝送ブロックファイルの関連付けを容易に認識することができるとともに印刷順序、データ送達、印刷実行を保証することができる。
【００９５】
また、印刷用データ情報保管処理手段を設けて送信済みの伝送ブロックファイルを一定期間保管しておくことで印刷実行制御装置から再送要求が送られてきたときにも迅速に対応することができる。
【００９６】
また、印刷実行制御装置を以上の構成としたので、上記印刷要求発行装置から差分圧縮データを含む印刷用データファイルが転送されてきた場合でもその差分圧縮データを伸長し帳票用テキストデータを復元して帳票出力することができる。
【００９７】
また、伝送ブロックファイルを生成する度に後続の帳票出力用データ解析組立処理を起動するようにしたので、各伝送ブロックファイルに基づくページブロックの生成を同時並行して実行することができる。これにより、ネットワークプリントシステムの高速化を実現することができる。
【００９８】
また、帳票出力用テキストデータを生成する処理過程において印刷実行制御装置側帳票出力管理用データベースを生成するようにしたので、伝送ブロックファイル、ページブロック及び帳票出力用テキストデータの関連付けを容易に認識することができる。また、印刷実行制御装置側及び印刷要求発行装置側の各帳票出力管理用データベースの内容を比較することにより帳票出力をする際に発生した障害等を容易に特定することができる。
【００９９】
また、正常に印字出力できた帳票用テキストデータを一定期間保管しておくことで印刷要求発行装置に再送を要求することなく当該帳票の全部又は一部の再度の印字出力を印刷実行制御装置側において容易に行うことができる。
【図面の簡単な説明】
【図１】  本発明に係るネットワークプリントシステムの一実施の形態を示したシステム全体構成図である。
【図２】  本実施の形態における印刷要求発行装置２の概略的な処理の流れ及び各処理において入出力されるファイル等を示した図である。
【図３】  本実施の形態におけるデータファイル解析処理を示したフローチャートである。
【図４】  本実施の形態において帳票出力用テキストデータファイルの内容を転送するまでのデータ構造の変移を示した図である。
【図５】  本実施の形態におけるテキストデータ分解処理を示したフローチャートである。
【図６】  本実施の形態におけるページデータ差分圧縮処理を示したフローチャートである。
【図７】  本実施の形態における伝送ブロック生成処理を示したフローチャートである。
【図８】  本実施の形態における帳票出力管理用データベースのデータ構造を示した図である。
【図９】  本実施の形態における印刷実行制御装置の概略的な処理の流れ及び各処理において入出力されるファイル等を示した図である。
【図１０】  本実施の形態における伝送ブロック解析処理を示したフローチャートである。
【図１１】  本実施の形態における差分圧縮データ伸長処理を示したフローチャートである。
【図１２】  本実施の形態におけるテキストデータ組立処理を示したフローチャートである。
【図１３】  従来のネットワークプリントシステムの一例を示した全体構成図である。
【図１４】  従来の転送データのフォーマットを示した図である。
【符号の説明】
１  広域網、２  印刷要求発行装置、４  印刷実行制御装置、２１  アプリケーション実行部、２２  帳票出力用データ解析変換処理部、２３  印刷用データ送信部、２４，４５  帳票出力用テキストデータファイル、２５，４４  伝送ブロックファイル、２６  データファイル解析処理部、２７  テキストデータ分解処理部、２８  ページデータ差分圧縮処理部、２９  伝送ブロック生成処理部、３０  印刷用データ情報保管処理部、３１，５０  帳票出力管理用データベース、３２  伝送ブロックファイル保管用データベース、４１  印刷用データ受信部、４２  帳票出力用データ解析組立処理部、４３  印刷実行部、４６  伝送ブロック解析処理部、４７  差分圧縮データ伸長処理部、４８  テキストデータ組立処理部、４９  印刷用データ保管処理部、５１  帳票出力用テキストデータ保管用データベース。
【図１】
0003724959.tif 000002
【図２】
0003724959.tif 000003
【図３】
0003724959.tif 000004
【図４】
0003724959.tif 000005
【図５】
0003724959.tif 000006
【図６】
0003724959.tif 000007
【図７】
0003724959.tif 000008
【図８】
0003724959.tif 000009
【図９】
0003724959.tif 000010
【図１０】
0003724959.tif 000011
【図１１】
0003724959.tif 000012
【図１２】
0003724959.tif 000013
【図１３】
0003724959.tif 000014
【図１４】
0003724959.tif 000015