[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP2004126943A - Printing processor, printing processing method, and printing processing program - Google Patents

Printing processor, printing processing method, and printing processing program Download PDF

Info

Publication number
JP2004126943A
JP2004126943A JP2002290214A JP2002290214A JP2004126943A JP 2004126943 A JP2004126943 A JP 2004126943A JP 2002290214 A JP2002290214 A JP 2002290214A JP 2002290214 A JP2002290214 A JP 2002290214A JP 2004126943 A JP2004126943 A JP 2004126943A
Authority
JP
Japan
Prior art keywords
data
print
print job
job
packet
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.)
Withdrawn
Application number
JP2002290214A
Other languages
Japanese (ja)
Inventor
Naomoto Doi
土樋 直基
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2002290214A priority Critical patent/JP2004126943A/en
Publication of JP2004126943A publication Critical patent/JP2004126943A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)
  • Record Information Processing For Printing (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To enable the parallel input of a plurality of printing job data from a network and their parallel recognition as printing jobs. <P>SOLUTION: This processor has a plurality of receiving means capable of receiving, by use of any one of a plurality of protocols, printing job data in parallel to the other printing job data by a different protocol, and a plurality of recognition means for analyzing the printing job data received through the corresponding receiving means and recognizing them as a printing job. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
本発明は、ホストコンピュータ等の外部装置か送信した印刷ジョブデータを受信して、印刷ジョブデータ中の印刷データに基づいて用紙に印刷を行わせる印刷処理装置に関するものである。
【0002】
【従来の技術】
従来の印刷装置では、印刷データを受信するための物理的なインターフェイスを備え、外部装置から受信した印刷データ、特に、Page Description Languageで記述されたPDLデータに基づいて印刷を行っていた。ここでいう物理的なインターフェイスとは、RS−232CやIEEE1284といったローカルインターフェイスを示しており、これらのローカルインターフェイスでは、外部装置と印刷装置とはピアツーピア(1対1)の関係であった。
【0003】
その後、印刷装置は複数の物理的なインターフェイスを備えるようになった。これらの物理的なインターフェイスには、IEEE1284、USB、IEEE1394、10/100base−T(Ethernet(R))、802.11b無線LANなどがある。
【0004】
また、LANに接続するためのインターフェイスを印刷装置に実装するためには、通信プロトコルによる論理的なインターフェイスも必要である。論理的なインターフェイスには、lpr、Port9100、SMB、IPP、AppleTalk、Netwareなどがある。
【0005】
特に、印刷装置がネットワーク接続することが可能になったことにより、印刷装置は複数のユーザから印刷ジョブを投入されるようになった(例えば、特許文献1参照)。
【0006】
図1は、従来の印刷装置の構成を示す模式図である。図1において、100は印刷装置、110はネットワーク通信部(例えば、ネットワークボード)、120は印刷制御部である。ネットワーク通信部110と印刷制御部120は、物理的に異なる装置であり、それぞれがCPUやメモリを有しおり、お互いは物理的なインターフェイスで接続されて通信をしている。
【0007】
151は、印刷装置100とローカルインターフェイスを介して接続されているホストコンピュータである。ここでいうローカルインターフェイスは、例えばIEEE1284(いわゆるセントロインターフェイス)、USB、IEEE1394などであり、ホストコンピュータと印刷装置がピアツーピアで接続されるものである。162は、ローカルインターフェイスに接続されるケーブルである。
【0008】
152と153は、印刷装置100とネットワークを介して接続されているホストコンピュータである。161は、例えばEthernet(R)、Token−ringなどのネットワークの物理ケーブルである。また、IEEE802.11b(Wi−Fi)やBluetoothなどの無線ネットワークでは物理ケーブルは存在しないが、ネットワークが有線と無線とのどちらで構築されていても良い。
【0009】
ネットワーク通信部110は、ネットワークからの印刷要求を受信し、管理情報の受け渡し要求に対しては応答する。111は、ネットワークからの電気的なやりとりを情報に変換するEthernet(R)コントローラである。112は、ネットワークから伝わる任意のパケットに対して、ネットワーク種別、プロトコル種別、ポート番号を判別し、それぞれに対応するモジュールに情報を転送する転送するディスパッチャである。例えば、パケットがTCP/IPのものであって、パケットが指定するポート番号が515番である場合、そのパケットの情報をlprサーバ113に転送する。
【0010】
113はlprサーバ、114はPort9100サーバ、115はNetwareサーバ、116はAppleTalkサーバであり、それぞれは、それぞれが対応するプロトコルを使用して外部装置と通信する。なお、ここでは4つの代表的なプロトコルを例示したが、それ以外のプロトコルを使用するサーバが存在していても良い。これらのサーバは、ネットワークから送られてきた印刷ジョブデータを受け取るためのアプリケーション層プロトコルを処理し、転送されて来た情報の中から印刷データを抽出する。
【0011】
117は、各種サーバから抽出した印刷ジョブデータを印刷制御部120に渡す印刷データ通信部である。印刷データ通信部117は、同時に1つの印刷ジョブデータだけを受け取り、それ以外の要求に対しては待ち状態を設定する。
【0012】
118は、印刷制御部120に接続する物理的な口を持つプリンタI/Oインターフェイスである。119は、印刷制御部からの管理情報を管理し、ネットワークからの状態獲得要求に対して管理情報を返信したり、あるいはネットワークからの制御要求に対して印刷制御部120を制御する。プリンタI/Oインターフェイス118では同時には1つの印刷ジョブだけが通過する。
【0013】
印刷制御部120内には、以下のようなものが存在する。121は外部装置とピアツーピア接続するためのローカルインターフェイスである。122はネットワーク通信部110と物理的な接続をするための拡張I/Oインターフェイスである。123は、ローカルインターフェイスを介して受信した印刷ジョブデータを印刷ジョブとして認識し、認識した印刷ジョブに関する情報をジョブ属性DB126に登録し、印刷ジョブデータ内に含まれる印刷データ(PDLデータ)を受信バッファ125に蓄えるジョブ認識部である。124は、ネットワークインターフェイスを介して受信した印刷ジョブデータを印刷ジョブとして認識し、認識した印刷ジョブに関する情報をジョブ属性DB126に登録し、印刷ジョブデータ内のPDLデータを受信バッファ125に蓄えるジョブ認識部である。
【0014】
125はPDLデータを一時的に格納しておく受信バッファである。126は印刷ジョブに関する情報を格納するジョブ属性データベース(DB)である。
【0015】
127は、ジョブ属性DB126から印刷ジョブに関する情報を取得してPDLデータを解釈し、イメージデータを生成するジョブ解釈部である。128は、ジョブ解釈部127によって生成されたイメージデータを一時的に格納するイメージデータ格納部である。129は、生成されたイメージデータを取得してラスターデータに変換し、ラスタデータをプリンタエンジン130に出力してプリンタエンジン130における印刷を制御するエンジン制御部である。
【0016】
130は、既知の印刷技術を利用して、エンジン制御部129から受け取ったラスタデータに基づいて用紙に印刷を行うプリンタエンジンである。
【0017】
131は、ホストコンピュータからの要求に従って、ジョブ属性DB126に格納されている印刷ジョブに関する情報やエンジン制御部129またはプリンタエンジン部130の状態情報を監視し或いは制御する状態管理部である。また、必要に応じて、監視している情報を外部装置に出力するための制御を行う。
【0018】
【特許文献1】
特開平05−28644号公報
【0019】
【発明が解決しようとする課題】
しかし、図1の構成では、印刷制御部120がネットワークを用いて送信された印刷ジョブを同時期に1つしか受信できないという問題点があった。その理由は、ネットワーク通信部110と印刷部120とがプリンタI/Oインターフェイス118及び拡張インターフェイス122を介して接続されており、この間の通信では同時に複数の印刷ジョブが転送されないという制限があるからである。
【0020】
すると、複数のユーザが同時に印刷ジョブをネットワークを介して印刷装置100に投入した場合、例えばホストコンピュータ152がlprを用いて印刷ジョブを投入し、ホストコンピュータ153がPort9100を用いて印刷ジョブを投入した場合、先着の印刷ジョブが印刷データ通信部117を占有してしまい、後着の印刷ジョブは排他される。排他された印刷ジョブはフロー制御によって送信が停止される。すると、ホストコンピュータは、処理が進んでいないにもかかわらず、リソース(CPUパワー、メモリ容量、ディスク容量)を消費しつづけてしまう。
【0021】
第2の問題として、ネットワークを介して送信された印刷ジョブを認識するのが遅いという問題がある。印刷装置100において、この印刷ジョブが管理対象として認識されるのはジョブ認識部124においてである。具体的には、ジョブ認識部124において、ネットワークを介して送信された印刷ジョブに関する情報がジョブ属性DB126に登録される。しかし、複数のホストコンピュータが同時に印刷ジョブを印刷装置100に投入しようとした場合、後着の印刷ジョブはサーバ113〜116のいずれかに留まっており、ジョブ認識部124は後着の印刷ジョブを認識することができない。
【0022】
図2は、第1の問題を解決するための一つの方法である。図2においては、印刷制御部とネットワーク通信部が一体化されている。ここでは、受信バッファ208がサーバ204〜207によってアクセスされ、単純なファイルシステムとして、並列的に印刷データの格納が可能である。ジョブ認識部209は、受信バッファ208に格納されて受信完了された印刷ジョブを認識し、印刷ジョブに関する情報をジョブ属性DB210に登録する。
【0023】
図2の構成によって、印刷ジョブは受信バッファ208に並列的に格納されることが可能になった。それにより、ネットワークを介して送信された印刷ジョブを1つしか受信できないという問題を解決することはできる。
【0024】
しかし、ジョブ識別部209は、受信バッファ208に格納された印刷ジョブしか認識できないため、印刷ジョブが認識されるのが遅い。
【0025】
さらに、PDLデータが受信バッファ208に格納され終わるまで、ジョブ解釈部211はPDLデータの解釈処理を開始することができない。そのため、最初のページが出力されるまでの時間が遅くなるという新たな問題が生じる。
【0026】
そこで、本発明は、印刷制御部がネットワークを介して送信された印刷ジョブを同時に1つしか受信できない、印刷ジョブが認識されるのが遅い、印刷ジョブの最初のページが出力されるまでの時間が遅くなる、という問題を解決することを目的とする。
【0027】
【課題を解決するための手段】
(1)上記課題を解決するために、本発明に関わる印刷処理装置は、複数のプロトコルを用いて複数の外部装置と通信可能な印刷処理装置であって、前記複数のプロトコルのうちのいずれかを用いて、異なるプロトコルによる他の印刷ジョブデータの受信と並行に、印刷ジョブデータを受信することができる複数の受信手段と、前記複数の受信手段のいずれかに対応し、対応する受信手段を介して受信された印刷ジョブデータを解析して印刷ジョブとして認識する複数の認識手段と、前記認識手段によって印刷ジョブとして認識された印刷ジョブデータに含まれている印刷データを格納する印刷データ格納手段と、前記印刷データ格納手段に格納されている印刷データを解析して、画像データを生成する解析手段とを有することを特徴とする。
【0028】
また、前記複数の受信手段は、ネットワークを介して外部装置から印刷ジョブデータを受信する受信手段と、ローカルインタフェースを介して外部装置から印刷ジョブデータを受信する受信手段とを含むことを特徴とする。
【0029】
また、印刷ジョブの属性に関する情報を格納する属性格納手段を有し、前記認識手段は、印刷ジョブデータに含まれている印刷データを前記印刷データ格納手段に登録し、印刷ジョブデータに含まれている属性値を前記属性格納手段に登録することを特徴とする。
【0030】
また、印刷ジョブデータは、印刷ジョブの開始を示すデータ、印刷ジョブの属性の属性値、印刷データ、印刷ジョブの終了を示すデータとから構成されており、前記認識手段は、印刷ジョブの開始を示すデータを取得するのに応じて、当該印刷ジョブを認識し、属性値を取得するのに応じて、当該属性値を前記属性格納手段に登録し、印刷データを取得するのに応じて、当該印刷データを前記印刷データ格納手段に登録することを特徴とする。
【0031】
また、前記印刷ジョブデータは、印刷ジョブの開始を示すパケット、印刷ジョブの属性の属性値が格納されたパケット、印刷データが格納されたパケット、印刷ジョブの終了を示すパケットから構成されることを特徴とする。
【0032】
また、前記認識手段は、対応する受信手段を介して受信されたデータの所定部分を解析して、前記パケットであるかどうかを判定することを特徴とする。
【0033】
(2)上記課題を解決するために、複数のプロトコルを用いて複数の外部装置と通信して印刷処理を行う印刷処理方法であって、前記複数のプロトコルのうちのいずれかを用いて、異なるプロトコルによる他の印刷ジョブデータの受信と並行に、印刷ジョブデータを受信することができる複数のサーバを起動する起動ステップと、前記複数のサーバのいずれかに対応し、対応するサーバを介して受信された印刷ジョブデータを解析して印刷ジョブとして認識する複数の認識プロセスを起動する起動ステップと、前記認識プロセスによって印刷ジョブとして認識された印刷ジョブデータに含まれている印刷データを格納部に格納する印刷データ格納ステップと、前記印刷データ格納部に格納されている印刷データを解析して、画像データを生成する解析ステップとを有することを特徴とする。
【0034】
また、印刷ジョブの属性に関する情報を属性格納部に格納する属性格納ステップを有し、前記認識プロセスは、印刷ジョブデータに含まれている印刷データを前記印刷データ格納部に登録し、印刷ジョブデータに含まれている属性値を前記属性格納部に登録することを特徴とする。
【0035】
また、印刷ジョブデータは、印刷ジョブの開始を示すデータ、印刷ジョブの属性の属性値、印刷データ、印刷ジョブの終了を示すデータとから構成されており、前記認識プロセスは、印刷ジョブの開始を示すデータを取得するのに応じて、当該印刷ジョブを認識し、属性値を取得するのに応じて、当該属性値を前記属性格納部に登録し、印刷データを取得するのに応じて、当該印刷データを前記印刷データ格納部に登録することを特徴とする。
【0036】
また、前記印刷ジョブデータは、印刷ジョブの開始を示すパケット、印刷ジョブの属性の属性値が格納されたパケット、印刷データが格納されたパケット、印刷ジョブの終了を示すパケットから構成されることを特徴とする。
【0037】
また、前記認識プロセスは、対応するサーバを介して受信されたデータの所定部分を解析して、前記パケットであるかどうかを判定することを特徴とする。
【0038】
(3)上記課題を解決するために、複数のプロトコルを用いて複数の外部装置と通信して印刷処理を行う印刷処理プログラムであって、前記複数のプロトコルのうちのいずれかを用いて、異なるプロトコルによる他の印刷ジョブデータの受信と並行に、印刷ジョブデータを受信することができる複数のサーバを起動する起動ステップと、前記複数のサーバのいずれかに対応し、対応するサーバを介して受信された印刷ジョブデータを解析して印刷ジョブとして認識する複数の認識プロセスを起動する起動ステップと、前記認識プロセスによって印刷ジョブとして認識された印刷ジョブデータに含まれている印刷データを格納部に格納する印刷データ格納ステップと、前記印刷データ格納部に格納されている印刷データを解析して、画像データを生成する解析ステップとをコンピュータに実行させることを特徴とする。
【0039】
【発明の実施の形態】
図3は、本発明に係る印刷装置の構成を示す模式図である。印刷装置300では、印刷制御部とネットワーク通信部とが一体化されている。351は、ローカルインターフェイスを介して印刷装置300に接続しているホストコンピュータである。352及び353は、ネットワーク、例えばLANやインターネット、を介して印刷装置300に接続しているホストコンピュータである。なお、印刷装置とは、レーザビームプリンタ、インクジェットプリンタ、複写機、複合機などの印刷処理装置である。
【0040】
印刷装置300の内部は以下のものから構成されている。302は、ネットワークからの電気的なやりとりを情報に変換するEthernet(R)コントローラである。303は、ネットワークからの任意のパケットに含まれる情報を、ネットワーク種別、プロトコル種別、ポート番号などに従って、対応するモジュールに転送するディスパッチャである。例えば、ネットワーク通信によって受け取ったパケットがTCP/IPによるものであり、かつパケットで指定されたパート番号が515番の場合には、パケットに含まれる情報をlprサーバに転送する。304はlprサーバ、305はPort9100サーバ、306はNetwareサーバ、307はAppleTalkサーバである。これらのサーバはそれぞれ、対応するプロトコルを使ってネットワークから印刷ジョブデータを受け取るアプリケーション層のモジュールであり、パケットから印刷ジョブデータを切り出して後段の処理に渡す。308は、サーバ304〜307を介して転送されてきた印刷ジョブデータを、あるいはローカルインターフェイス301を介して転送されてきた印刷ジョブデータを印刷ジョブとして認識し、印刷ジョブに関する情報をジョブ属性DB310に登録するジョブ認識部である。また、ジョブ認識部308は、印刷ジョブ内に含まれるPDLデータを受信バッファ309に送る。図中ではジョブ認識部308が複数存在するように記述されているが、これは、ジョブ認識部308がサーバ304〜307からの要求をそれぞれ独立に並行動作して処理可能であるモジュールであることを表現している。
【0041】
309は、PDLデータを一時的に格納しておく受信バッファである。受信バッファ309はHDDなどの2次記憶装置から構成されており、サーバ304〜307に対してファイルシステムとして動作し、これらのサーバからのデータを並列に格納することができる。
【0042】
310は、印刷ジョブデータに含まれる印刷ジョブに関する情報を登録・格納しておくジョブ属性DBである。311は、受信バッファ309からはPDLデータを、ジョブ属性DB310からは印刷ジョブに関する情報を取得し、PDLデータを解釈してイメージデータを生成するジョブ解釈部である。
【0043】
312は、ジョブ解釈部311にいよって生成されたイメージデータを一時的に格納するイメージデータ格納部である。313は、生成されたイメージデータを獲得して、当該イメージデータをラスタデータに変換し、ラスタデータをプリントエンジン送信して印刷を制御するエンジン制御部である。314は、既知の印刷技術を利用して、エンジン制御部313から送信されたラスターデータに基づいて用紙に印刷を行うプリンタエンジンである。プリンタエンジンには、インクジェット方式や電子写真方式などがある。
【0044】
315は、ホストコンピュータからの要求に従って、ジョブ属性DB310にある印刷ジョブに関する情報や、エンジン制御部313またはプリンタエンジン314の状態に関する情報を監視し或いは変更する状態管理部である。また、この状態管理部は必要に応じてそれらの情報をホストコンピュータに転送する処理をも行う。
【0045】
次に、ジョブ認識部308の動作を説明する。図4は、ジョブ認識部308の動作を示すフローチャートである。図3中の複数のジョブ認識部308は、個々に状態を持ち、個々がフローチャートに従って印刷ジョブの認識処理を実行する。なお、複数のジョブ認識部308は、図3のフローチャートが示す1つのプログラムに基づく複数のプロセスによって実現されていても良い。
【0046】
まず、サーバ304〜307のいずれかからの接続を確認する(ステップS401)。次に、接続が確認できたか否かを判定し(ステップS402)、確認できなかった場合にはステップS401に戻る。
【0047】
接続があったと判定された場合には、サーバからのデータを取得し(ステップS403)、データ種別を判定する(ステップS404)。さらに、データ種別の判定結果に基づいて、各データ種別固有のデータ処理を行う(ステップS405)。データがジョブパケットの場合には、1つの印刷ジョブの認識が完了した時点で、ステップS405の処理が終了する。次に、接続が完了したかを判断し(ステップS406)、完了した場合にはステップS401に戻り、完了していない場合には後続のデータの処理を行う。
【0048】
以下、データ種別による固有の処理について説明する。
【0049】
印刷ジョブは、アプリケーション層においてジョブパケットと呼ばれるパケットによって構成されている。これは、ジョブ認識部308が印刷ジョブを認識しやすくするための工夫である。
【0050】
図5はジョブパケットのパケット構想を示す図である。縦軸はバイトを示し、横軸は各バイトごとのビットを示している。図中において、0〜1バイト目は、ジョブパケットであることを識別するためのパケット識別子であり、特定の値、例えば0xcd、0xcaが格納される。
【0051】
2〜3バイト目はオペレーションコードであり、パケットの機能を示すIDである。ジョブパケットにおいては以下の値が用意されている。
0x0201:ジョブ開始を示すオペレーション
0x0202:ジョブ属性の設定を示すオペレーション
0x0204:PDLデータの送信を示すオペレーション
0x0205:ジョブ終了を示すオペレーション
【0052】
4〜5バイト目はブロック番号である。通常、1つの印刷ジョブについて複数のジョブパケットが送信される。そこで、ジョブパケットを送信した側(送信側)が、ジョブパケットを受信した側(受信側)からの返答を要求する場合に、受信側からの返答が、どの返答要求に基づくものであるかを識別するために使用される番号である。例えば、送信側が、ブロック番号が1、2、3であるジョブパケットをそれぞれ送信したときに、ブロック番号=2を示すエラーパケットを受信した場合、送信側は、ブロック番号が2であるジョブパケットにエラーが発生したことを知ることができる。
【0053】
6〜7バイト目は、データ部のバイト長(データサイズ)を示す領域である。0〜64Kバイトを示すことができる。
【0054】
8〜9バイト目は、ジョブパケットの各種フラグを示す領域であり、以下のフラグが設定されうる。
【0055】
エラーフラグ:このフラグの値が1の場合、印刷装置でなんらかのエラーが発生したことを示す。このフラグは、印刷装置からホストコンピュータに送信される返信パケットで使用される。
【0056】
通知フラグ:このフラグの値が1の場合、ホストコンピュータからの要求に対する返答ではなく、印刷装置が何らかの通知事項があることをホストコンピュータに示す。
【0057】
継続フラグ:このフラグの値が1の場合、送信したいデータが1つのジョブパケットのデータ部に収まりきれないために、残りのデータが後続のジョブパケットによっても送信されることを示す。よって、次のジョブパケットのオペレーションコードは、前のパケットのオペレーションコードと同じでなければならない。
【0058】
返答要求:ホストコンピュータが印刷装置に対して返答パケットを要求する場合に、1が設定される。0のときは、パケットが正常に処理されるのに従って返答が行われない。ただし、印刷装置でエラーが発生したときには、返答要求が0であるか1であるかに関わらず、エラーフラグが1である返答パケットが送信される。
【0059】
10〜11バイト目はユーザID、12〜13バイト目はパスワードを格納する領域である。パケットによる操作に制限をかけてセキュリティを向上させるための認証処理に用いられる。
【0060】
14バイト目以降は、オペレーションコードに対応した追加データが格納される。ジョブ開始オペレーションの場合には、ジョブの実行モードが追加データとして格納される。指定可能な実行モードは以下の通りである。
0x01:印刷ジョブの通常実行。当該印刷ジョブは通常ジョブとして扱われ、印刷装置のキューの最後に追加される。キューは、印刷順序をスケジューリングされるためのものであり、順番が回ってきた印刷ジョブが印刷処理される。
0x04:印刷ジョブの割り込み実行。当該印刷ジョブは割り込みジョブとして扱われ、印刷装置は全ての印刷ジョブの処理を停止し、当該印刷ジョブに基づく印刷を優先的に行う。
【0061】
ジョブ属性オペレーションコードの場合には、ジョブ属性IDとジョブ属性値とが追加データとして格納される。ジョブ属性IDとは、ジョブ属性の各項目或いは環境設定情報の各項目に対応した識別子である。以下に、ジョブ属性の代表的なものを挙げる。この他、印刷装置の機能に応じて、印刷部数、モノクロまたはカラーの指定などのジョブ属性があり、それぞれに対応するIDが割り振られている。
0x0101:ジョブ名称
0x0103:ジョブオーナ名
0x016a:ジョブサイズ
0x0002:ジョブ終了の通知先アドレス
【0062】
PDLデータ送信オペレーションの場合には、PDLデータが追加データとして格納される。1つのジョブパケットでは、64Kバイトまでのデータをデータ部に格納することができるが、それ以上のデータは複数のジョブパケットに分割されて送信される。この場合には、継続フラグを1にセットする。
【0063】
ジョブ終了オペレーションの場合には、追加データは存在しない。
【0064】
ジョブ認識部308は、ジョブパケットのオペレーションコードを判断し、ジョブの認識に不必要なジョブパケットはデータ部等を読み飛ばすことによって、印刷ジョブの開始と終了とを効率的にかつ素早く認識することができる。なお、読み飛ばされた部分は、ジョブに関する情報をジョブ属性DB310に登録したり、PDLデータを受信バッファ309に格納したりするのに使用される。
【0065】
以下では、ジョブパケットがジョブ認識部308によってどのように処理されるかを説明する。図6は、ジョブパケットであるかどうかを判定するジョブパケット判定処理のフローチャートである。これは、データ種別の判定(ステップS404)に相当する処理である。
【0066】
ジョブパケットであるかどうかの判定はパケット識別子を利用して行われる。よって、パケット識別子は他のデータ種別と混同しないようなデータであることが望ましい。本件では、ジョブパケットの0バイト目が0xcdであり、1バイト目が0xcaである。
【0067】
まず、データの先頭0バイト目が0xcdであるかどうかを判定する(ステップS601)。つぎに、データの1バイト目が0xcaであるかどうかを判定する(ステップS602)。両方の判定がYesの場合には、ジョブパケットである旨の判定を返し、いずれかの判定がNoの場合にはジョブパケットでない旨の判定を返す。
【0068】
つぎに、受信データがジョブパケットであると判定された場合のジョブパケットの固有処理について説明する。図7は、ジョブパケット固有の処理の動作を示すフローチャートである。図7の処理はジョブ認識部308によって実行され、データ種別固有の処理(ステップS405)に相当する。
【0069】
まず、サーバからのデータを取得する(ステップS701)。次に、取得したデータがあるかどうか、つまりサーバとの接続が完了したかどうかを判断する(ステップS702)。データがなかった場合には、処理を完了する。
【0070】
データがある場合には、データの中からジョブパケットのオペレーションコードを読み込む(ステップS703)。
【0071】
オペレーションコードが0x0201(ジョブ開始オペレーションに相当)の場合には、ジョブ属性DB310に印刷ジョブ生成を指示し、当該印刷ジョブ用のレコードを用意させる(ステップS705)。そのあと、次のジョブパケットの処理を行うべくステップS701に戻る。
【0072】
オペレーションコードが0x0202(ジョブ属性設定オペレーションに相当)の場合には、ジョブ属性DB310に属性値を登録する(ステップS707)。そのあと、次のジョブパケットの処理を行うべくステップS701に戻る。
【0073】
オペレーションコードが0x0204(PDLデータ送信オペレーションに相当)の場合には、PDLデータを受信バッファ309に格納する(ステップS709)。そのあと、次のジョブパケットの処理を行うべくステップS701に戻る。
【0074】
いずれでもない場合には、オペレーションコードが0x0205(ジョブ終了オペレーションに相当)であると判断して、ジョブパケット固有処理を終了する。
【0075】
次に、受信バッファ309の動作を説明する。図8は、受信バッファ309の概念を説明するための図である。801は受信バッファ309であり、lprサーバ802、Port9100サーバ803、Netwareサーバ804にジョブ認識部を介して接続されている。また、ジョブ解釈部808とも接続されている。
【0076】
いま、lprサーバ802、Port9100サーバ、Netwareサーバ804の三者からの印刷ジョブの投入を並行に行いつつ、ジョブ解釈部808によって印刷ジョブ「ジョブ1」のPDLデータが読み出されている。三者からのPDLデータはファイルによって個別に管理されるため、並列に格納されることが可能である。
【0077】
ジョブ1のPDLデータに関しては、受信バッファ801内において、Read位置とWrite位置が管理されている。サーバからのPDLデータはWrite位置に対して追加されていき、追加されたデータサイズ分だけWrite位置がインクリメントされる。ジョブ解釈部808からの読み込み要求に対しては、Read位置からPDLデータを読み出して、それをジョブ解釈部808に渡す。読み出したデータのサイズ分だけRead位置がインクリメントされる。なお、Read位置がWrite位置を追い越さないように調整される。
【0078】
以上説明したことにより、以下の効果がある。
【0079】
ネットワークからの印刷ジョブが同時に1つしか受信できない点に関しては、ジョブ認識部がローカルインターフェイス及び複数のサーバのそれぞれに対して個々に対応することにより、また受信バッファがPDLデータの投入要求ごとにファイルを生成し管理することにより、複数の印刷ジョブが並列に投入されることができる。
【0080】
また、印刷ジョブが認識されるのが遅い点に関しては、ジョブ認識部を受信バッファの前段に配置することにより、受信された印刷ジョブが受信バッファに格納される前にジョブ認識部によって認識されるようになる。
【0081】
また、印刷ジョブの最初のページが出力されるまでの時間が遅い点に関しては、ジョブ認識部が印刷ジョブを認識次第、PDLデータが受信バッファに格納されることにより、また、受信バッファ内のPDLデータがRead位置及びWrite位置によって管理されることにより、ジョブ解釈部は順次受信バッファからPDLデータを読み出して解釈し始めることができる。
【0082】
つぎは、論理インターフェイス内での並列性について説明する。上記の実施の形態では、ローカルインターフェイスとネットワークインターフェイスとの物理的なインターフェイス間での並列性、及びネットワークインターフェイス内のサーバ間での並列性について説明した。しかし、ネットワーク上の複数のホストコンピュータ、例えばホストコンピュータ152と153がlprプロトコルを利用して印刷ジョブを投入した場合でも、lprサーバを複数配置することにより、より並列性を確保することができる。
【0083】
しかし、印刷装置のリソース上、並列性には限度がある。従って、ジョブ認識部308が一定の上限以上の印刷ジョブがあった場合には、サーバとジョブ認識部との接続を一時待ち状態にすることも可能である。
【0084】
本発明に係るプログラム及び関連データは、フロッピー(R)ディスク(FD)やCD−ROM中に記憶され、そこからコンピュータに供給されることが可能である。また、本発明の目的は、前述した実施形態の機能を実現するソフトウエア(例えば図4、図6、図7の動作を制御するための制御プログラム)のプログラムコードを記録した記憶媒体を装置に供給し、その装置のコンピュータ(特に、装置内のCPU)が記憶媒体に格納されたプログラムコードを読出し実行することによって達成される。この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0085】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピー(R)ディスクやハードディスク以外にも、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROM、DVDなどを用いることができる。
【0086】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0087】
【発明の効果】
本発明によれば、ネットワークからの複数の印刷ジョブデータが並行に投入されて、並行に印刷ジョブとして認識されることができる。
【0088】
また、受信された印刷データが格納手段に格納される前に印刷ジョブとして認識されるようになる。
【0089】
また、印刷ジョブとして認識され次第、印刷データが格納手段に格納されることにより、即座に、印刷データを格納手段から読み出して解釈し始めることができる。
【図面の簡単な説明】
【図1】従来の印刷装置の構成を示す模式図である。
【図2】代案の印刷装置の構成を示す模式図である。
【図3】本発明に係る印刷装置の構成を示す模式図である。
【図4】ジョブ認識部308の動作を示すフローチャートである。
【図5】ジョブパケットのパケット構想を示す図である。
【図6】ジョブパケット判定処理のフローチャートである。
【図7】ジョブパケット固有の処理の動作を示すフローチャートである。
【図8】受信バッファ309の概念を説明するための図である。
【符号の説明】
300 印刷装置
301 ローカルインターフェイス
302 Ethernet(R)コントローラ
303 ディスパッチャ
304 lprサーバ
305 Port9100サーバ
306 Netwareサーバ
307 AppleTalkサーバ
308 ジョブ認識部
309 受信バッファ
310 ジョブ属性DB
311 ジョブ解釈部
312 イメージデータ格納部
313 エンジン制御部
314 プリンタエンジン
315 状態管理部
316 操作パネル
351 ホストコンピュータ
352 ホストコンピュータ
353 ホストコンピュータ
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a print processing apparatus that receives print job data transmitted from an external device such as a host computer or the like, and performs printing on paper based on print data in the print job data.
[0002]
[Prior art]
A conventional printing apparatus has a physical interface for receiving print data, and performs printing based on print data received from an external device, particularly, PDL data described in Page Description Language. Here, the physical interface indicates a local interface such as RS-232C or IEEE 1284. In these local interfaces, the external device and the printing device have a peer-to-peer (one-to-one) relationship.
[0003]
Since then, printing devices have provided multiple physical interfaces. These physical interfaces include IEEE1284, USB, IEEE1394, 10 / 100base-T (Ethernet (R)), 802.11b wireless LAN, and the like.
[0004]
In addition, in order to mount an interface for connecting to a LAN on a printing apparatus, a logical interface based on a communication protocol is also required. Logical interfaces include lpr, Port9100, SMB, IPP, AppleTalk, and Network.
[0005]
In particular, since the printing apparatus can be connected to the network, the printing apparatus has come to receive print jobs from a plurality of users (for example, see Patent Document 1).
[0006]
FIG. 1 is a schematic diagram illustrating a configuration of a conventional printing apparatus. In FIG. 1, reference numeral 100 denotes a printing apparatus, 110 denotes a network communication unit (for example, a network board), and 120 denotes a print control unit. The network communication unit 110 and the print control unit 120 are physically different devices, each having a CPU and a memory, and are connected to each other via a physical interface for communication.
[0007]
Reference numeral 151 denotes a host computer connected to the printing apparatus 100 via a local interface. The local interface here is, for example, IEEE 1284 (so-called Centro interface), USB, IEEE 1394, or the like, and connects the host computer and the printing apparatus in a peer-to-peer manner. 162 is a cable connected to the local interface.
[0008]
Reference numerals 152 and 153 denote host computers connected to the printing apparatus 100 via a network. 161 is a physical cable of a network such as, for example, Ethernet (registered trademark) or Token-ring. In a wireless network such as IEEE802.11b (Wi-Fi) or Bluetooth, there is no physical cable, but the network may be constructed by either wired or wireless.
[0009]
The network communication unit 110 receives a print request from the network and responds to a management information transfer request. Reference numeral 111 denotes an Ethernet (R) controller that converts an electrical exchange from the network into information. Reference numeral 112 denotes a dispatcher that determines a network type, a protocol type, and a port number for an arbitrary packet transmitted from the network, and transfers information to a corresponding module. For example, if the packet is TCP / IP and the port number specified by the packet is 515, the information of the packet is transferred to the lpr server 113.
[0010]
113 is an lpr server, 114 is a Port 9100 server, 115 is a Network server, and 116 is an AppleTalk server, each of which communicates with an external device using a corresponding protocol. Here, four typical protocols are illustrated, but a server using other protocols may exist. These servers process an application layer protocol for receiving print job data sent from the network, and extract print data from the transferred information.
[0011]
A print data communication unit 117 transfers print job data extracted from various servers to the print control unit 120. The print data communication unit 117 receives only one print job data at a time, and sets a wait state for other requests.
[0012]
Reference numeral 118 denotes a printer I / O interface having a physical port connected to the print control unit 120. 119 manages management information from the print control unit, returns management information in response to a status acquisition request from the network, or controls the print control unit 120 in response to a control request from the network. At the printer I / O interface 118, only one print job passes at a time.
[0013]
The following are present in the print control unit 120. Reference numeral 121 denotes a local interface for making a peer-to-peer connection with an external device. Reference numeral 122 denotes an extended I / O interface for physically connecting to the network communication unit 110. A print buffer 123 recognizes print job data received via the local interface as a print job, registers information on the recognized print job in the job attribute DB 126, and stores print data (PDL data) included in the print job data in a reception buffer. The job recognition unit 125 stores the job recognition unit. A job recognition unit 124 recognizes print job data received via the network interface as a print job, registers information on the recognized print job in the job attribute DB 126, and stores PDL data in the print job data in the reception buffer 125. It is.
[0014]
Reference numeral 125 denotes a reception buffer for temporarily storing PDL data. Reference numeral 126 denotes a job attribute database (DB) that stores information about a print job.
[0015]
Reference numeral 127 denotes a job interpretation unit that acquires information about a print job from the job attribute DB 126, interprets PDL data, and generates image data. An image data storage unit 128 temporarily stores the image data generated by the job interpretation unit 127. Reference numeral 129 denotes an engine control unit that acquires the generated image data, converts the image data into raster data, outputs the raster data to the printer engine 130, and controls printing in the printer engine 130.
[0016]
Reference numeral 130 denotes a printer engine that prints on paper based on raster data received from the engine control unit 129 using a known printing technique.
[0017]
Reference numeral 131 denotes a status management unit that monitors or controls information on a print job stored in the job attribute DB 126 and status information of the engine control unit 129 or the printer engine unit 130 according to a request from the host computer. In addition, control is performed to output monitored information to an external device as needed.
[0018]
[Patent Document 1]
JP 05-28644 A
[0019]
[Problems to be solved by the invention]
However, the configuration of FIG. 1 has a problem that the print control unit 120 can receive only one print job transmitted over the network at the same time. The reason is that the network communication unit 110 and the printing unit 120 are connected via the printer I / O interface 118 and the extension interface 122, and there is a restriction that a plurality of print jobs are not transferred at the same time in communication therebetween. is there.
[0020]
Then, when a plurality of users simultaneously submit print jobs to the printing apparatus 100 via the network, for example, the host computer 152 submits a print job using lpr, and the host computer 153 submits a print job using the Port 9100. In this case, the first-arrived print job occupies the print data communication unit 117, and the second-arrived print job is excluded. The transmission of the exclusive print job is stopped by the flow control. Then, the host computer continues to consume resources (CPU power, memory capacity, disk capacity) even though the processing is not progressing.
[0021]
A second problem is that it is slow to recognize a print job transmitted via a network. In the printing apparatus 100, it is the job recognition unit 124 that recognizes this print job as a management target. Specifically, in the job recognizing unit 124, information on the print job transmitted via the network is registered in the job attribute DB 126. However, when a plurality of host computers try to submit a print job to the printing apparatus 100 at the same time, the late print job remains in any of the servers 113 to 116, and the job recognizing unit 124 executes the late print job. I can't recognize.
[0022]
FIG. 2 shows one method for solving the first problem. In FIG. 2, the print control unit and the network communication unit are integrated. Here, the reception buffer 208 is accessed by the servers 204 to 207, and print data can be stored in parallel as a simple file system. The job recognizing unit 209 recognizes the print job stored and received in the reception buffer 208 and registers information on the print job in the job attribute DB 210.
[0023]
With the configuration of FIG. 2, the print job can be stored in the reception buffer 208 in parallel. Thereby, the problem that only one print job transmitted via the network can be received can be solved.
[0024]
However, since the job identification unit 209 can only recognize the print job stored in the reception buffer 208, the recognition of the print job is slow.
[0025]
Further, the job interpretation unit 211 cannot start the PDL data interpretation process until the PDL data is stored in the reception buffer 208. Therefore, there is a new problem that the time until the first page is output is delayed.
[0026]
Therefore, the present invention provides a print control unit that can receive only one print job transmitted over a network at the same time, that the print job is slow to be recognized, and that the time until the first page of the print job is output. It is intended to solve the problem of slowing down.
[0027]
[Means for Solving the Problems]
(1) In order to solve the above problem, a print processing apparatus according to the present invention is a print processing apparatus capable of communicating with a plurality of external devices using a plurality of protocols, and includes any one of the plurality of protocols. A plurality of receiving means capable of receiving print job data in parallel with the reception of other print job data using different protocols, and a corresponding receiving means corresponding to one of the plurality of receiving means. A plurality of recognizing means for analyzing print job data received via the printer and recognizing the print job as a print job, and a print data storing means for storing print data included in the print job data recognized as a print job by the recognizing means And analysis means for analyzing the print data stored in the print data storage means to generate image data.
[0028]
Further, the plurality of receiving units include a receiving unit that receives print job data from an external device via a network, and a receiving unit that receives print job data from an external device via a local interface. .
[0029]
An attribute storing unit configured to store information relating to an attribute of the print job, wherein the recognizing unit registers the print data included in the print job data in the print data storing unit, and The registered attribute value is registered in the attribute storage means.
[0030]
The print job data includes data indicating the start of the print job, attribute values of the attributes of the print job, print data, and data indicating the end of the print job. In response to obtaining the indicated data, the print job is recognized, and in response to obtaining the attribute value, the attribute value is registered in the attribute storage unit, and in response to obtaining the print data, The print data is registered in the print data storage means.
[0031]
Further, the print job data includes a packet indicating the start of the print job, a packet storing the attribute value of the attribute of the print job, a packet storing the print data, and a packet indicating the end of the print job. Features.
[0032]
Further, the recognizing unit analyzes a predetermined portion of the data received via the corresponding receiving unit, and determines whether the packet is the packet.
[0033]
(2) A print processing method for performing print processing by communicating with a plurality of external devices using a plurality of protocols in order to solve the above-described problem. In parallel with the reception of other print job data by the protocol, a start step of starting a plurality of servers capable of receiving the print job data, and the reception step corresponding to any of the plurality of servers and receiving via the corresponding server Activating a plurality of recognition processes for analyzing the selected print job data and recognizing the print job as a print job, and storing print data included in the print job data recognized as a print job by the recognition process in a storage unit Print data storing step, and analyzing print data stored in the print data storage unit to generate image data. And having an analysis step that.
[0034]
An attribute storing step of storing information relating to an attribute of the print job in an attribute storage unit, wherein the recognition process registers print data included in the print job data in the print data storage unit; Is registered in the attribute storage unit.
[0035]
The print job data is composed of data indicating the start of the print job, attribute values of the attributes of the print job, print data, and data indicating the end of the print job. In response to acquiring the indicated data, the print job is recognized, and in response to acquiring the attribute value, the attribute value is registered in the attribute storage unit, and in response to acquiring the print data, Print data is registered in the print data storage unit.
[0036]
Further, the print job data includes a packet indicating the start of the print job, a packet storing the attribute value of the attribute of the print job, a packet storing the print data, and a packet indicating the end of the print job. Features.
[0037]
Further, the recognition process analyzes a predetermined portion of data received via a corresponding server to determine whether the packet is the packet.
[0038]
(3) A print processing program for communicating with a plurality of external devices using a plurality of protocols to perform a printing process in order to solve the above problem. In parallel with the reception of other print job data by the protocol, a start step of starting a plurality of servers capable of receiving the print job data, and the reception step corresponding to any of the plurality of servers and receiving via the corresponding server Activating a plurality of recognition processes for analyzing the selected print job data and recognizing the print job as a print job, and storing print data included in the print job data recognized as a print job by the recognition process in a storage unit Analyzing the print data stored in the print data storage unit to obtain image data. Characterized in that to execute an analysis step to be generated in the computer.
[0039]
BEST MODE FOR CARRYING OUT THE INVENTION
FIG. 3 is a schematic diagram showing the configuration of the printing apparatus according to the present invention. In the printing apparatus 300, the print control unit and the network communication unit are integrated. Reference numeral 351 denotes a host computer connected to the printing apparatus 300 via a local interface. 352 and 353 are host computers connected to the printing apparatus 300 via a network, for example, a LAN or the Internet. Note that the printing device is a printing processing device such as a laser beam printer, an ink jet printer, a copying machine, and a multifunction peripheral.
[0040]
The inside of the printing apparatus 300 is composed of the following. Reference numeral 302 denotes an Ethernet (R) controller that converts an electrical exchange from a network into information. Reference numeral 303 denotes a dispatcher that transfers information included in an arbitrary packet from the network to a corresponding module according to a network type, a protocol type, a port number, and the like. For example, if the packet received by the network communication is based on TCP / IP, and the part number specified in the packet is 515, the information contained in the packet is transferred to the lpr server. 304 is an lpr server, 305 is a Port 9100 server, 306 is a Network server, and 307 is an AppleTalk server. Each of these servers is a module of an application layer that receives print job data from a network using a corresponding protocol, and cuts out print job data from a packet and passes it to a subsequent process. A print job data 308 recognizes print job data transferred via the servers 304 to 307 or print job data transferred via the local interface 301 as a print job, and registers information on the print job in the job attribute DB 310. Job recognition unit. Further, the job recognition unit 308 sends the PDL data included in the print job to the reception buffer 309. In the figure, a plurality of job recognition units 308 are described as being present, but this is a module in which the job recognition unit 308 can process requests from the servers 304 to 307 independently and in parallel. Is expressed.
[0041]
A reception buffer 309 temporarily stores PDL data. The reception buffer 309 is composed of a secondary storage device such as an HDD, operates as a file system for the servers 304 to 307, and can store data from these servers in parallel.
[0042]
Reference numeral 310 denotes a job attribute DB for registering and storing information on a print job included in the print job data. A job interpretation unit 311 acquires PDL data from the reception buffer 309 and information about a print job from the job attribute DB 310, and interprets the PDL data to generate image data.
[0043]
An image data storage unit 312 temporarily stores the image data generated by the job interpretation unit 311. An engine control unit 313 acquires the generated image data, converts the image data into raster data, transmits the raster data to a print engine, and controls printing. Reference numeral 314 denotes a printer engine that prints on paper based on raster data transmitted from the engine control unit 313 using a known printing technique. The printer engine includes an inkjet system, an electrophotographic system, and the like.
[0044]
A state management unit 315 monitors or changes information on a print job in the job attribute DB 310 and information on the state of the engine control unit 313 or the printer engine 314 in response to a request from the host computer. The status management unit also performs processing for transferring such information to the host computer as necessary.
[0045]
Next, the operation of the job recognition unit 308 will be described. FIG. 4 is a flowchart illustrating the operation of the job recognition unit 308. A plurality of job recognizing units 308 in FIG. 3 each have a state, and each executes a print job recognition process according to a flowchart. Note that the plurality of job recognition units 308 may be realized by a plurality of processes based on one program shown in the flowchart of FIG.
[0046]
First, the connection from any of the servers 304 to 307 is confirmed (step S401). Next, it is determined whether or not the connection has been confirmed (step S402). If the connection has not been confirmed, the process returns to step S401.
[0047]
If it is determined that there is a connection, data is obtained from the server (step S403), and the data type is determined (step S404). Further, data processing specific to each data type is performed based on the determination result of the data type (step S405). If the data is a job packet, the process of step S405 ends when the recognition of one print job is completed. Next, it is determined whether or not the connection has been completed (step S406). If the connection has been completed, the process returns to step S401. If not, the subsequent data is processed.
[0048]
Hereinafter, the unique processing based on the data type will be described.
[0049]
A print job is configured by a packet called a job packet in the application layer. This is a contrivance for making it easy for the job recognizing unit 308 to recognize the print job.
[0050]
FIG. 5 is a diagram showing a packet concept of a job packet. The vertical axis indicates bytes, and the horizontal axis indicates bits for each byte. In the figure, the 0th to 1st bytes are packet identifiers for identifying a job packet, and store a specific value, for example, 0xcd, 0xca.
[0051]
The second and third bytes are an operation code, which is an ID indicating the function of the packet. The following values are prepared in the job packet.
0x0201: Operation indicating job start
0x0202: Operation indicating job attribute setting
0x0204: Operation indicating transmission of PDL data
0x0205: Operation indicating job end
[0052]
The fourth and fifth bytes are block numbers. Usually, a plurality of job packets are transmitted for one print job. Therefore, when the side that has transmitted the job packet (the transmitting side) requests a response from the side that has received the job packet (the receiving side), it is determined which response request is based on the response from the receiving side. A number used to identify. For example, when the transmitting side transmits the job packets having the block numbers of 1, 2, and 3 and receives the error packet indicating the block number = 2, the transmitting side transmits the job packet having the block number of 2 to the job packet having the block number of 2. You can know that an error has occurred.
[0053]
The sixth and seventh bytes are an area indicating the byte length (data size) of the data part. 0 to 64 Kbytes can be indicated.
[0054]
The 8th to 9th bytes are areas indicating various flags of the job packet, and the following flags can be set.
[0055]
Error flag: When the value of this flag is 1, it indicates that an error has occurred in the printing apparatus. This flag is used in a reply packet transmitted from the printing device to the host computer.
[0056]
Notification flag: When the value of this flag is 1, it indicates to the host computer that the printing apparatus has some notification matter, not a response to a request from the host computer.
[0057]
Continuation flag: When the value of this flag is 1, it indicates that the data to be transmitted cannot be contained in the data portion of one job packet, and thus the remaining data is also transmitted by a subsequent job packet. Therefore, the operation code of the next job packet must be the same as the operation code of the previous packet.
[0058]
Reply request: 1 is set when the host computer requests a reply packet from the printing apparatus. If it is 0, no reply is made as the packet is processed normally. However, when an error occurs in the printing apparatus, a reply packet whose error flag is 1 is transmitted regardless of whether the reply request is 0 or 1.
[0059]
The 10th to 11th bytes are for storing the user ID, and the 12th to 13th bytes are for storing the password. It is used for authentication processing for improving security by restricting operations by packets.
[0060]
After the 14th byte, additional data corresponding to the operation code is stored. In the case of a job start operation, the job execution mode is stored as additional data. The execution modes that can be specified are as follows.
0x01: Normal execution of a print job. The print job is treated as a normal job and added to the end of the queue of the printing device. The queue is for scheduling the printing order, and the print job whose order has been turned is printed.
0x04: Interruption of print job. The print job is treated as an interrupt job, and the printing apparatus stops processing of all print jobs, and preferentially performs printing based on the print job.
[0061]
In the case of a job attribute operation code, a job attribute ID and a job attribute value are stored as additional data. The job attribute ID is an identifier corresponding to each item of the job attribute or each item of the environment setting information. The following are representative job attributes. In addition, there are job attributes such as the number of copies, designation of monochrome or color, and the like corresponding to the function of the printing apparatus, and an ID corresponding to each is assigned.
0x0101: Job name
0x0103: Job owner name
0x016a: Job size
0x0002: Job end notification destination address
[0062]
In the case of a PDL data transmission operation, PDL data is stored as additional data. In one job packet, data of up to 64 Kbytes can be stored in the data section, but data larger than that is divided into a plurality of job packets and transmitted. In this case, the continuation flag is set to 1.
[0063]
In the case of a job end operation, no additional data exists.
[0064]
The job recognizing unit 308 determines the operation code of the job packet, and skips the data part and the like of the job packet unnecessary for job recognition, thereby efficiently and quickly recognizing the start and end of the print job. Can be. The skipped portion is used for registering information about the job in the job attribute DB 310 and storing PDL data in the reception buffer 309.
[0065]
Hereinafter, how a job packet is processed by the job recognition unit 308 will be described. FIG. 6 is a flowchart of a job packet determination process for determining whether the job packet is a job packet. This is a process corresponding to the determination of the data type (step S404).
[0066]
The determination as to whether the packet is a job packet is performed using the packet identifier. Therefore, it is desirable that the packet identifier is data that is not confused with other data types. In this case, the 0th byte of the job packet is 0xcd, and the first byte is 0xca.
[0067]
First, it is determined whether the first 0 byte of the data is 0xcd (step S601). Next, it is determined whether the first byte of the data is 0xca (step S602). If both determinations are Yes, a determination that the packet is a job packet is returned, and if either determination is No, a determination that the packet is not a job packet is returned.
[0068]
Next, the unique processing of a job packet when the received data is determined to be a job packet will be described. FIG. 7 is a flowchart illustrating the operation of the job packet-specific processing. The process in FIG. 7 is executed by the job recognition unit 308, and corresponds to a process unique to the data type (step S405).
[0069]
First, data is obtained from the server (step S701). Next, it is determined whether or not the acquired data exists, that is, whether or not the connection with the server has been completed (step S702). If there is no data, the process is completed.
[0070]
If there is data, the operation code of the job packet is read from the data (step S703).
[0071]
If the operation code is 0x0201 (corresponding to a job start operation), the job attribute DB 310 is instructed to generate a print job, and a record for the print job is prepared (step S705). Then, the process returns to step S701 to process the next job packet.
[0072]
If the operation code is 0x0202 (corresponding to a job attribute setting operation), the attribute value is registered in the job attribute DB 310 (step S707). Then, the process returns to step S701 to process the next job packet.
[0073]
If the operation code is 0x0204 (corresponding to a PDL data transmission operation), the PDL data is stored in the reception buffer 309 (step S709). Then, the process returns to step S701 to process the next job packet.
[0074]
Otherwise, it is determined that the operation code is 0x0205 (corresponding to the job end operation), and the job packet specific processing ends.
[0075]
Next, the operation of the reception buffer 309 will be described. FIG. 8 is a diagram for explaining the concept of the reception buffer 309. Reference numeral 801 denotes a reception buffer 309, which is connected to the lpr server 802, the Port 9100 server 803, and the Network server 804 via a job recognition unit. Further, it is also connected to the job interpreting unit 808.
[0076]
Now, the PDL data of the print job “Job 1” is read by the job interpreting unit 808 while the print job is input in parallel from the lpr server 802, the Port 9100 server, and the Network server 804. Since the PDL data from the three parties is individually managed by a file, it can be stored in parallel.
[0077]
Regarding the PDL data of job 1, a Read position and a Write position are managed in the reception buffer 801. The PDL data from the server is added to the Write position, and the Write position is incremented by the added data size. In response to a read request from the job interpreting unit 808, PDL data is read from the Read position and passed to the job interpreting unit 808. The Read position is incremented by the size of the read data. Note that the Read position is adjusted so as not to pass the Write position.
[0078]
According to the above description, the following effects can be obtained.
[0079]
Regarding the point that only one print job from the network can be received at the same time, the job recognition unit individually handles each of the local interface and the plurality of servers. , A plurality of print jobs can be submitted in parallel.
[0080]
In addition, regarding the point at which the print job is late to be recognized, the job recognizing unit is arranged in the preceding stage of the receiving buffer, so that the received print job is recognized by the job recognizing unit before being stored in the receiving buffer. Become like
[0081]
Regarding the point that the time until the first page of the print job is output is late, the PDL data is stored in the reception buffer as soon as the job recognition unit recognizes the print job, and the PDL in the reception buffer is also stored. Since the data is managed by the Read position and the Write position, the job interpreting unit can sequentially read the PDL data from the reception buffer and start interpreting the data.
[0082]
Next, the parallelism in the logical interface will be described. In the above embodiment, the parallelism between the physical interface of the local interface and the network interface and the parallelism between the servers in the network interface have been described. However, even when a plurality of host computers on the network, for example, the host computers 152 and 153 submit a print job using the lpr protocol, the parallelism can be further secured by arranging a plurality of lpr servers.
[0083]
However, there is a limit to the parallelism due to the resources of the printing device. Therefore, when the job recognition unit 308 has a print job of a certain upper limit or more, the connection between the server and the job recognition unit can be temporarily put into a waiting state.
[0084]
The program and the related data according to the present invention can be stored in a floppy (R) disk (FD) or a CD-ROM, and supplied to the computer therefrom. Further, an object of the present invention is to provide a storage medium storing a program code of software (for example, a control program for controlling the operations of FIGS. 4, 6, and 7) for realizing the functions of the above-described embodiment in an apparatus. This is achieved by the computer of the apparatus supplying the program code (in particular, the CPU in the apparatus) reading and executing the program code stored in the storage medium. In this case, the program code itself read from the storage medium realizes the function of the above-described embodiment, and the storage medium storing the program code constitutes the present invention.
[0085]
As a storage medium for supplying the program code, for example, besides a floppy (R) disk or a hard disk, an optical disk, a magneto-optical disk, a CD-ROM, a CD-R, a magnetic tape, a nonvolatile memory card, a ROM, DVD or the like can be used.
[0086]
When the computer executes the readout program code, not only the functions of the above-described embodiments are realized, but also an OS (Operating System) running on the computer based on the instruction of the program code. It goes without saying that a part or all of the actual processing is performed and the functions of the above-described embodiments are realized by the processing. Further, after the program code read from the storage medium is written into a memory provided in a function expansion board inserted into the computer or a function expansion unit connected to the computer, the function expansion is performed based on the instruction of the program code. It goes without saying that a CPU or the like provided in the board or the function expansion unit performs part or all of the actual processing, and the processing realizes the functions of the above-described embodiments.
[0087]
【The invention's effect】
According to the present invention, a plurality of print job data from the network can be input in parallel and recognized as a print job in parallel.
[0088]
Further, the received print data is recognized as a print job before being stored in the storage unit.
[0089]
In addition, as soon as the print data is recognized as a print job, the print data is stored in the storage means, so that the print data can be immediately read from the storage means and interpreted.
[Brief description of the drawings]
FIG. 1 is a schematic diagram illustrating a configuration of a conventional printing apparatus.
FIG. 2 is a schematic diagram illustrating a configuration of an alternative printing apparatus.
FIG. 3 is a schematic diagram illustrating a configuration of a printing apparatus according to the present invention.
FIG. 4 is a flowchart illustrating an operation of a job recognition unit 308.
FIG. 5 is a diagram illustrating a packet concept of a job packet.
FIG. 6 is a flowchart of a job packet determination process.
FIG. 7 is a flowchart illustrating an operation of a process unique to a job packet.
FIG. 8 is a diagram for explaining the concept of a reception buffer 309.
[Explanation of symbols]
300 printing device
301 Local Interface
302 Ethernet (R) Controller
303 dispatcher
304 lpr server
305 Port9100 server
306 Network Server
307 AppleTalk Server
308 Job Recognition Unit
309 Receive buffer
310 Job attribute DB
311 Job interpreter
312 Image data storage
313 Engine control unit
314 Printer Engine
315 Status management unit
316 Operation panel
351 Host computer
352 Host computer
353 Host computer

Claims (13)

複数のプロトコルを用いて複数の外部装置と通信可能な印刷処理装置であって、
前記複数のプロトコルのうちのいずれかを用いて、異なるプロトコルによる他の印刷ジョブデータの受信と並行に、印刷ジョブデータを受信することができる複数の受信手段と、
前記複数の受信手段のいずれかに対応し、対応する受信手段を介して受信された印刷ジョブデータを解析して印刷ジョブとして認識する複数の認識手段と、
前記認識手段によって印刷ジョブとして認識された印刷ジョブデータに含まれている印刷データを格納する印刷データ格納手段と、
前記印刷データ格納手段に格納されている印刷データを解析して、画像データを生成する解析手段とを有することを特徴とする印刷処理装置。
A print processing device capable of communicating with a plurality of external devices using a plurality of protocols,
Using any of the plurality of protocols, in parallel with the reception of other print job data by a different protocol, a plurality of receiving means that can receive print job data,
A plurality of recognition units corresponding to any of the plurality of reception units, analyzing print job data received via the corresponding reception unit and recognizing the print job data as a print job,
Print data storage means for storing print data included in print job data recognized as a print job by the recognition means,
A print processing apparatus configured to analyze print data stored in the print data storage unit and generate image data.
前記複数の受信手段は、ネットワークを介して外部装置から印刷ジョブデータを受信する受信手段と、ローカルインタフェースを介して外部装置から印刷ジョブデータを受信する受信手段とを含むことを特徴とする請求項1に記載の印刷処理装置。The apparatus according to claim 1, wherein the plurality of receiving units include a receiving unit that receives print job data from an external device via a network, and a receiving unit that receives print job data from an external device via a local interface. The print processing apparatus according to claim 1. 印刷ジョブの属性に関する情報を格納する属性格納手段を有し、
前記認識手段は、印刷ジョブデータに含まれている印刷データを前記印刷データ格納手段に登録し、印刷ジョブデータに含まれている属性値を前記属性格納手段に登録することを特徴とする請求項1或いは2に記載の印刷処理装置。
An attribute storage unit that stores information on an attribute of the print job;
The apparatus according to claim 1, wherein the recognizing unit registers print data included in print job data in the print data storage unit, and registers an attribute value included in print job data in the attribute storage unit. 3. The print processing device according to 1 or 2.
印刷ジョブデータは、印刷ジョブの開始を示すデータ、印刷ジョブの属性の属性値、印刷データ、印刷ジョブの終了を示すデータとから構成されており、
前記認識手段は、印刷ジョブの開始を示すデータを取得するのに応じて、当該印刷ジョブを認識し、属性値を取得するのに応じて、当該属性値を前記属性格納手段に登録し、印刷データを取得するのに応じて、当該印刷データを前記印刷データ格納手段に登録することを特徴とする請求項3に記載の印刷処理装置。
The print job data includes data indicating the start of the print job, attribute values of the attributes of the print job, print data, and data indicating the end of the print job.
The recognizing unit recognizes the print job in response to acquiring data indicating the start of the print job, registers the attribute value in the attribute storage unit in response to acquiring the attribute value, and performs printing. 4. The print processing apparatus according to claim 3, wherein the print data is registered in the print data storage unit in response to acquiring the data.
前記印刷ジョブデータは、印刷ジョブの開始を示すパケット、印刷ジョブの属性の属性値が格納されたパケット、印刷データが格納されたパケット、印刷ジョブの終了を示すパケットから構成されることを特徴とする請求項4に記載の印刷処理装置。The print job data includes a packet indicating the start of a print job, a packet storing attribute values of attributes of the print job, a packet storing print data, and a packet indicating the end of the print job. The print processing apparatus according to claim 4. 前記認識手段は、対応する受信手段を介して受信されたデータの所定部分を解析して、前記パケットであるかどうかを判定することを特徴とする請求項5に記載の印刷処理装置。6. The print processing apparatus according to claim 5, wherein the recognizing unit analyzes a predetermined portion of the data received via the corresponding receiving unit to determine whether the packet is the packet. 複数のプロトコルを用いて複数の外部装置と通信して印刷処理を行う印刷処理方法であって、
前記複数のプロトコルのうちのいずれかを用いて、異なるプロトコルによる他の印刷ジョブデータの受信と並行に、印刷ジョブデータを受信することができる複数のサーバを起動する起動ステップと、
前記複数のサーバのいずれかに対応し、対応するサーバを介して受信された印刷ジョブデータを解析して印刷ジョブとして認識する複数の認識プロセスを起動する起動ステップと、
前記認識プロセスによって印刷ジョブとして認識された印刷ジョブデータに含まれている印刷データを格納部に格納する印刷データ格納ステップと、
前記印刷データ格納部に格納されている印刷データを解析して、画像データを生成する解析ステップとを有することを特徴とする印刷処理方法。
A print processing method for performing print processing by communicating with a plurality of external devices using a plurality of protocols,
An activation step of activating a plurality of servers capable of receiving print job data, in parallel with reception of other print job data according to a different protocol, using any one of the plurality of protocols;
A start step of starting a plurality of recognition processes corresponding to one of the plurality of servers and analyzing print job data received via the corresponding server to recognize the print job data as a print job;
A print data storage step of storing print data included in print job data recognized as a print job by the recognition process in a storage unit;
An analysis step of analyzing print data stored in the print data storage unit to generate image data.
印刷ジョブの属性に関する情報を属性格納部に格納する属性格納ステップを有し、
前記認識プロセスは、印刷ジョブデータに含まれている印刷データを前記印刷データ格納部に登録し、印刷ジョブデータに含まれている属性値を前記属性格納部に登録することを特徴とする請求項7に記載の印刷処理方法。
An attribute storing step of storing information relating to an attribute of the print job in an attribute storing unit;
The method according to claim 1, wherein the recognizing process registers print data included in print job data in the print data storage unit, and registers an attribute value included in print job data in the attribute storage unit. 8. The print processing method according to 7.
印刷ジョブデータは、印刷ジョブの開始を示すデータ、印刷ジョブの属性の属性値、印刷データ、印刷ジョブの終了を示すデータとから構成されており、
前記認識プロセスは、印刷ジョブの開始を示すデータを取得するのに応じて、当該印刷ジョブを認識し、属性値を取得するのに応じて、当該属性値を前記属性格納部に登録し、印刷データを取得するのに応じて、当該印刷データを前記印刷データ格納部に登録することを特徴とする請求項8に記載の印刷処理方法。
The print job data includes data indicating the start of the print job, attribute values of the attributes of the print job, print data, and data indicating the end of the print job.
The recognition process recognizes the print job in response to acquiring data indicating the start of the print job, registers the attribute value in the attribute storage unit in response to acquiring the attribute value, and performs printing. 9. The print processing method according to claim 8, wherein the print data is registered in the print data storage unit as the data is obtained.
前記印刷ジョブデータは、印刷ジョブの開始を示すパケット、印刷ジョブの属性の属性値が格納されたパケット、印刷データが格納されたパケット、印刷ジョブの終了を示すパケットから構成されることを特徴とする請求項9に記載の印刷処理方法。The print job data includes a packet indicating the start of a print job, a packet storing attribute values of attributes of the print job, a packet storing print data, and a packet indicating the end of the print job. The print processing method according to claim 9. 前記認識プロセスは、対応するサーバを介して受信されたデータの所定部分を解析して、前記パケットであるかどうかを判定することを特徴とする請求項10に記載の印刷処理方法。11. The print processing method according to claim 10, wherein the recognition process analyzes a predetermined portion of the data received via the corresponding server to determine whether the packet is the packet. 同一のサーバを複数起動して、同一のプロトコルを用いて複数の印刷ジョブデータを並行に受信できることを特徴とする請求項7乃至11のいずれかに記載の印刷処理方法。12. The print processing method according to claim 7, wherein a plurality of the same servers are started, and a plurality of print job data can be received in parallel using the same protocol. 複数のプロトコルを用いて複数の外部装置と通信して印刷処理を行う印刷処理プログラムであって、
前記複数のプロトコルのうちのいずれかを用いて、異なるプロトコルによる他の印刷ジョブデータの受信と並行に、印刷ジョブデータを受信することができる複数のサーバを起動する起動ステップと、
前記複数のサーバのいずれかに対応し、対応するサーバを介して受信された印刷ジョブデータを解析して印刷ジョブとして認識する複数の認識プロセスを起動する起動ステップと、
前記認識プロセスによって印刷ジョブとして認識された印刷ジョブデータに含まれている印刷データを格納部に格納する印刷データ格納ステップと、
前記印刷データ格納部に格納されている印刷データを解析して、画像データを生成する解析ステップとをコンピュータに実行させることを特徴とする印刷処理プログラム。
A print processing program for performing print processing by communicating with a plurality of external devices using a plurality of protocols,
An activation step of activating a plurality of servers capable of receiving print job data, in parallel with reception of other print job data according to a different protocol, using any one of the plurality of protocols;
A start step of starting a plurality of recognition processes corresponding to one of the plurality of servers and analyzing print job data received via the corresponding server to recognize the print job data as a print job;
A print data storage step of storing print data included in print job data recognized as a print job by the recognition process in a storage unit;
A print processing program for causing a computer to execute print data stored in the print data storage unit and to perform an analysis step of generating image data.
JP2002290214A 2002-10-02 2002-10-02 Printing processor, printing processing method, and printing processing program Withdrawn JP2004126943A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002290214A JP2004126943A (en) 2002-10-02 2002-10-02 Printing processor, printing processing method, and printing processing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002290214A JP2004126943A (en) 2002-10-02 2002-10-02 Printing processor, printing processing method, and printing processing program

Publications (1)

Publication Number Publication Date
JP2004126943A true JP2004126943A (en) 2004-04-22

Family

ID=32282166

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002290214A Withdrawn JP2004126943A (en) 2002-10-02 2002-10-02 Printing processor, printing processing method, and printing processing program

Country Status (1)

Country Link
JP (1) JP2004126943A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009269259A (en) * 2008-05-02 2009-11-19 Canon Inc Printing apparatus and its control method
WO2019077805A1 (en) * 2017-10-19 2019-04-25 株式会社日立産機システム Ink jet recording apparatus

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009269259A (en) * 2008-05-02 2009-11-19 Canon Inc Printing apparatus and its control method
WO2019077805A1 (en) * 2017-10-19 2019-04-25 株式会社日立産機システム Ink jet recording apparatus
US11298962B2 (en) 2017-10-19 2022-04-12 Hitachi Industrial Equipment Systems Co., Ltd. Ink jet recording apparatus

Similar Documents

Publication Publication Date Title
JP3740403B2 (en) Printing system, printing control apparatus, information processing method, control program
US6894800B2 (en) Information processing apparatus and information display method for displaying job information relating to an output job
JP5839845B2 (en) Printing apparatus, printing method, and program
US8154754B2 (en) Apparatus, method, and program for processing job data from a network
JP2010157208A (en) Data processing apparatus, printer network system, data processing method, program, and recording medium
JPH1185662A (en) Method and device for controlling communication and communication system
JPH09146726A (en) Method for controlling printer server system
US8390840B2 (en) Authentication-based printing system and authentication-based printing method for handling print jobs of different formats
JP2004213635A (en) Image processor, image processing method and control program
JP2010009318A (en) Image processing system, its control method, computer program and storage medium
JP2007190839A (en) Authentication printer and method, and authentication printing system
JP4408590B2 (en) Printing system and printing control apparatus and method
JP2004001408A (en) Printing controller, method of controlling printing, and printing system
JP4109821B2 (en) Information processing apparatus and job processing result confirmation method
US20130077130A1 (en) Printing control system, printing control method, and image processor
JP2004341728A (en) Printer, printing system and cancellation method
JP4086770B2 (en) Information processing apparatus and transfer control method thereof
US7768665B2 (en) Printing control device for processing a spool file and printing system, program product, and printing control method associated therewith
JP4194455B2 (en) Information processing apparatus, print job processing method, and storage medium
JP2004126943A (en) Printing processor, printing processing method, and printing processing program
JP4623323B2 (en) Network interface device, print control method, print control program, and image forming apparatus
JP4613855B2 (en) Job management method
JP5884884B2 (en) Data processing apparatus, printing system, data processing method, program, and recording medium
JP2010079385A (en) Printing system, control device, accumulation device, control program, and information processing program
JP4350343B2 (en) PRINT CONTROL DEVICE, PRINT CONTROL METHOD, PROGRAM, AND STORAGE MEDIUM

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20060110