JP4865358B2 - プリント要求の受付順保証機能を備える印刷制御装置、制御方法、記憶媒体及びプログラム - Google Patents

プリント要求の受付順保証機能を備える印刷制御装置、制御方法、記憶媒体及びプログラム Download PDF

Info

Publication number
JP4865358B2
JP4865358B2 JP2006050592A JP2006050592A JP4865358B2 JP 4865358 B2 JP4865358 B2 JP 4865358B2 JP 2006050592 A JP2006050592 A JP 2006050592A JP 2006050592 A JP2006050592 A JP 2006050592A JP 4865358 B2 JP4865358 B2 JP 4865358B2
Authority
JP
Japan
Prior art keywords
printer
request
identifier
occupation
print
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.)
Expired - Fee Related
Application number
JP2006050592A
Other languages
English (en)
Other versions
JP2006309717A (ja
Inventor
隆志 岡澤
綱人 中下
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 JP2006050592A priority Critical patent/JP4865358B2/ja
Priority to EP06251600A priority patent/EP1710682A3/en
Priority to US11/390,930 priority patent/US20060221391A1/en
Publication of JP2006309717A publication Critical patent/JP2006309717A/ja
Application granted granted Critical
Publication of JP4865358B2 publication Critical patent/JP4865358B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1204Improving or facilitating administration, e.g. print management resulting in reduced user or operator actions, e.g. presetting, automatic actions, using hardware token storing data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1211Improving printing performance
    • G06F3/1212Improving printing performance achieving reduced delay between job submission and print start
    • G06F3/1213Improving printing performance achieving reduced delay between job submission and print start at an intermediate node or at the final node
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/126Job scheduling, e.g. queuing, determine appropriate device
    • G06F3/1263Job scheduling, e.g. queuing, determine appropriate device based on job priority, e.g. re-arranging the order of jobs, e.g. the printing sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • G06F3/1286Remote printer device, e.g. being remote from client or server via local network

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Computer And Data Communications (AREA)

Description

本発明は印刷順番を保証する仕組みに関する。
オフィス環境などにおいて、一台のプリンタが複数のクライアントコンピュータによって共有される形態が普及している。
このような共有プリンタの形態をとる場合に、印刷ジョブをクライアントコンピュータからプリンタに送信するためのコネクション数に制限がある為、他のクライアントコンピュータがプリンタを占有しているとコネクションを張ることが出来ないことがある。
その結果、最初にプリンタの占有を試みたクライアントコンピュータが占有を拒否され、次に別のクライアントコンピュータがプリンタの占有を試みた場合に、偶然プリンタの占有が解除されていると、プリンタを占有してしまう。このように、印刷要求順と、印刷データ転送順と、が一致しないという問題があった。
このような問題を鑑みた技術が特許文献1に開示されている。具体的には、まず、共有プリンタが、印刷要求元のクライアントコンピュータに対し、印刷予約コードを含むパケットを応答する。そして、プリンタ側で印刷処理が完了する毎に、次順に予約されているクライアントコンピュータに印刷予約コードを含む印刷データ転送要求を行う。
さらに、上記問題を鑑みた技術が特許文献2も開示されている。具体的には、まず、クライアントコンピュータからの印刷要求に応じて、印刷要求元のクライアントコンピュータIPアドレス及びジョブのジョブIDを組にジョブ予約として登録する。そして、予約がきたクライアントコンピュータ(IPアドレス)に同ジョブ予約に含まれるジョブIDのジョブ転送を要求する。
特開平02−146618号公報 特開2001−014118号公報
しかしながら、上記特許文献1では、クライアントコンピュータからプリンタ側への印刷ジョブ(印刷データ)の出力に際して、プリンタ側が主体となるため処理が複雑化するという問題があるこの問題については、特許文献2についても同様のことがいえる。
本願発明は上記問題点に鑑みてなされたものであり、クライアントコンピュータからプリンタ側への印刷ジョブ(印刷データ)の出力に際しての処理負荷を軽減しつつ、且つ、印刷順番を従来に比べより確実に保証する仕組みを目的とする。
本発明は、情報処理装置と通信可能な印刷制御装置であって、前記情報処理装置から要求される印刷制御装置の占有要求を受信する受信手段と、前記受信手段が前記占有要求を受信したときに、前記印刷制御装置が占有状態であるか否かを判断する判断手段と、前記印刷制御装置が占有状態であると前記判断手段が判断した場合に、当該占有要求の要求元を識別するための識別子を登録する登録手段と、前記印刷制御装置が占有状態でないと前記判断手段が判断した場合に、前記占有要求に対して占有を許可するか否かを前記登録手段による前記識別子の登録順序に基づいて判定する判定手段とを有することを特徴とする。
本発明によれば、従来に比べてクライアントコンピュータからプリンタ側への印刷ジョブ(印刷データ)の出力に際しての処理負荷を軽減し、且つ、印刷順番をより確実に保証することができる。
以下、本発明の発明を実施するための最良の形態について図面を用いて説明する。
[第1実施形態]
図1は本実施形態におけるシステムの概略を示すブロック図である。図中、PC1およびPC11はコンピュータで、CPU、メモリ、ハードディスク、フロッピー(登録商標)ディスクドライブ、キーボード、マウス、モニタ、ネットワークインタフェース等の一般的な情報処理装置におけるハードウェア(不図示)を備える。このコンピュータのことを本実施形態では、以下、クライアントと呼ぶことする。
2および12はオペレーティングシステムである。クライアント1または11が備えるハードウェア、およびアプリケーション3または13、プリンタドライバ4または14、ランゲージモニタ5または15、ネットワークポートドライバ6または16などのソフトウェアを管理する。代表的なオペレーティングシステムとしては、例えばマイクロソフト社のWindows(登録商標)などが挙げられる。
アプリケーション3または13は、例えばワードプロセッサのような文書や図形の作成・編集、写真画像を編集する機能を備える。また、作成・編集したアプリケーションデータに基づく印刷指示を行うこともできる。
4および14はプリンタドライバである。アプリケーション3または13が発行した印刷指令を読み込み(又はオペレーティングシステム2または12を経て受け取り)、該印刷指令をランゲージモニタ5又は15又はプリンタ7が解釈可能なプリンタコマンドに変換する。
5および15はランゲージモニタであり、プリンタドライバ4または14が出力したプリンタコマンドを受け取り、ネットワークポートドライバ6または16を経由してプリンタ7に送信する。クライアントコンピュータベースの印刷システムではこの送信はプリンタの詳細な状態を受信しながらプリンタの印刷状況に合わせて行う必要があり、その処理はランゲージモニタで行われる。PDLタイプの印刷システムにおいては、その処理が多少軽減されているものと考えられる。
6およびはネットワークポートドライバである。ランゲージモニタ5または15が出力したプリンタコマンドをネットワークインタフェースを経てプリンタ7に送信するとともに、プリンタ7からステータスを受信した場合にはランゲージモニタ5または15に出力する。7はプリンタであり、ネットワークポートドライバ6または16から受信したプリンタコマンドに従って印刷に関連する各種処理を行う。
図2の(a)は図1のプリンタ7の構成を更に詳細に示したブロック図である。図中、21はネットワークインタフェースであり、クライアント1または11からプリンタコマンドなどの各種コマンドを受信する。26は所謂プリンタコントローラと呼ばれる部分であり各種機能を備える。
22はFIFO(ファーストインファーストアウト)メモリであり、ネットワークインタフェース21から受信した画像データを格納する。復号回路23はFIFOメモリ22に記憶された画像データを復号し、プリンタエンジン24に出力する。プリンタエンジン24は、レーザビームプリンタエンジンであり、制御回路25の指示により、復号回路23が出力した画像データに従って印刷を行う。25は制御回路であり、例えば1チップCPUで構成され、ネットワークインタフェース21との内部的な通信、FIFOメモリ22、復号回路23およびプリンタエンジン24の制御を行う。
図2の(b)は図2のネットワークインタフェース21又はプリンタコントローラ7に保持される情報を示す。
201は優先度リストの一例である。後述の図9を通してクライアントコンピュータより設定することができる。たとえば、“192.168.0.10:5“は、IPアドレスが192.168.0.10で、優先度が5であることを示す。本実施形態の場合には、数字が小さいほど優先度が高いことを示している。
202は接続拒否情報リストの一例である。リスト中の各々は、接続を拒否されたクライアントを識別する識別子(接続拒否情報と呼ぶこともある)を示す。この接続拒否情報リスト202は後述の図4のS424で作成される情報である。また、リスト上部に示される識別子が時系列的に先に登録されたことを示している。また図中の203はタイマー値を示しており、所定条件が満たされると(例えばタイムアウト発生)該当する識別子が接続拒否情報リストから削除される。詳しい処理は後述の図4で説明する。
なお、202中では、識別子としてIPアドレスが示されているが、これには限定されない。たとえば、クライアントコンピュータ名、ユーザ名、MACアドレス、グループ識別子、その他の識別子などを適用することもできる。
図3は、図2のネットワークインタフェース21における、ネットワークプロトコルの構成を表す図である。
下方のイーサネット(登録商標)ネットワークから各プロトコルによってネットワークインタフェース内へそしてインタフェース内からネットワークへデータが入出力される。上方はプリンタであり、プロトコルにより、プリンタへ到達するものもあれば、ネットワークインタフェース内だけで処理がされるプロトコルも存在する。(A)は印刷用のプロトコルであり、TCPのプロトコルでネットワークインタフェースに到達し、ネットワークインタフェースはその中身をプリンタインタフェースを通して、プリンタへ送信する。プリンタからの応答についてもTCPプロトコルでクライアントコンピュータへ返送する。(B)はリソース制御用のプロトコルであり、これは各種のプリンタに関するログ情報である。この情報は、ネットワークインタフェースとプリンタがプリンタの印刷処理に合わせて通信を非同期に行い、ネットワークインタフェース内にそのリソース情報を持っているものである。よって、ネットワークからのリソース制御用プロトコルに対してはネットワークインタフェースが処理を行い、返信する。(C)のSNMPプロトコルに対しては、プリンタまで処理を行わせる部分とネットワークインタフェースが処理を行う部分もあるということを示している。他の(D)(E)(F)についても同様の動作を表している。
以下、図1乃至図3で説明した印刷システムにおける印刷動作の一例について説明する。
まず、操作者がクライアントコンピュータ1側でアプリケーション3を操作して印刷を指示すると、アプリケーション3からオペレーティングシステム2を経由してプリンタドライバ4に印刷指令が渡される。プリンタドライバ4はアプリケーション3から発行された印刷指令に基づき、画像データに変換して圧縮し、圧縮した画像データを出力する。また、この画像データを、用紙サイズ、ビットマップデータのラインの長さとライン数などを指定するページ開始コマンド、画像データの終了を示す画像データ終了コマンドとともに出力する。
プリンタコマンドが出力されると、オペレーティングシステム2はランゲージモニタ5にジョブ開始を通知した後に、出力されたプリンタコマンドを順次ランゲージモニタに引き渡す。ランゲージモニタ5はジョブが開始されると、ネットワークポートドライバ6を介して占有要求コマンドをプリンタ7に送信する。
ランゲージモニタ5はプリンタの占有に成功すると、受け取ったプリンタコマンドを順次プリンタ7に送信する。なおランゲージモニタ5は画像データコマンドをプリンタ7に送信する前に、ステータス要求コマンドを送信し、プリンタ7のステータスを取得して、画像データコマンドが送信可能であることを確認する。ランゲージモニタ5は、1ページのプリンタコマンドを送信し終えると、印刷要求コマンドを送信する。制御回路25は、印刷要求コマンドを受信すると、プリンタエンジン24に対して印刷開始を指示する。また、ランゲージモニタ5は、取得したプリンタステータスがページの印刷が正常終了したことを示した場合には、該当するページメモリを解放する。一方、ランゲージモニタ5は、取得したプリンタステータスがエラーを示した場合には、印刷が正常終了していないページから再送信を試みる。
そしてジョブの全ページのプリンタコマンドを転送し終えると、ランゲージモニタ5は排紙完了を待たずに占有解除コマンドを送信する。また、ランゲージモニタ5は、占有解除コマンドを送信した後もプリンタ7のステータス取得を続ける。そして、取得したプリンタステータスがページの印刷が正常終了したことを示した場合には、該当するページメモリを解放するとともに、エラーを検出した場合には、再度占有要求コマンドを送信し、エラーページの回復を試みる。
尚、上述の印刷動作の一例の説明ではプリンタドライバが印刷データとしてビットマップ画像データを生成する例について説明したが、本実施形態はこれに限定されない。例えば、キヤノン株式会社のLIPS、AdobeSystems社のPostScript3などの、所謂ページ記述言語にも適用可能であり、プリンタが解釈し最終的に記録媒体への記録を行う為の様々な形式のデータに適用できる。また、尚、適用可能なプリンタとしてはレーザビームプリンタに限らず、インクジェットプリンタやその他のプリント方式のプリンタのものを挙げることが出来る。
次に図4を用いて、図2のネットワークインタフェース21(プリンタ)の処理を詳細に説明する。以下ではまず図4の(a)のS401乃至404について説明し、次に(1)S404でYESと判定した場合の処理、次に(2)S404でNOと判定した場合の処理、最後に図4の(b)について順次説明を行う。
まずS401でセッション処理を行う。より具体的にはTCPプロトコルにおけるSYNに対する処理を行う。TCPプロトコルがトランスポート層であることは図3で説明した通りである。そしてS402で接続拒否情報リストに登録される識別子が最大値を超えているか否かを判定する。
S402でYES、つまり接続拒否情報リスト202へのクライアントコンピュータ識別子の登録数がMAX(最大値)であれば、クライアントコンピュータに対してRESET応答を行う(S428)。このMAX値については0以上の値を想定することができる。クライアントコンピュータ識別子の登録数に制限を施すことによりメモリを節約することが出来る。
尚、S402の判定処理で、プリンタ制御やステータス応答など別の通信ポートを介して接続要求があった場合には、クライアントコンピュータ識別子の登録数に係らず、NOと判定する。
一方、S402でNOと判定されれば、このネットワークインタフェース21は外部から受信した各種コマンドに応じた処理を行う。以下、その説明を詳細に行う。まずS403で、クライアント1やクライアント11などの外部装置から送信されてくるコマンドの受信を行う。S403でYESと判定された場合には、S404以降でコマンドの種類を判定する。一方、S403でNoと判定されると処理をS401に戻しコマンド受信を待機する。
S404では、占有要求コマンドを受信したか否かを判定する。具体的にはコマンド番号を識別し占有要求コマンドを識別する。ここで、占有要求コマンドとは印刷データの通信のための通信ポートの確保と解釈することもできる。結果として印刷データ(印刷ジョブ)のためのポートを確保することにより、印刷出力にかかわるプリンタの機能を占有することができる。この占有した状態を以下占有状態と呼ぶ。尚、プリンタがステータス要求を受け応答するための通信ポートが、印刷データ(印刷ジョブ)を受信する通信ポートとは別の場合には、このステータス応答における占有状態と上記占有状態とは区別することとする。例えば、図5のS501のPC1からの占有要求や、図6のS602のPC2からの占有要求などが、S404でYESと判定されるクライアントコンピュータからの要求に対応する。
以下、クライアントコンピュータから要求されるプリンタの占有要求を受け、その占有の可否がS404でYESと判定され、S422に至るまでの処理について説明をする。
(1)〔S404でYESと判定された場合〕
S404でYESと判定されると、S415では、ネットワークインタフェース21(或いはプリンタ7としても良い)が既に占有状態であるかを判定する。例えば図6のS601で示されるように、PC1からの印刷データ(ジョブ)の送信中の場合に、S415でYESと判定される。
S415でNOと判定されれば処理をS416へ、YESと判定されれば処理をS423へ移行する。まずS416へ移行した場合について説明する。
S416では、ネットワークインタフェース21に接続拒否情報リスト202中に占有要求を行おうとしたクライアントの識別子が登録されているか否かを判定する。
S416でNOと判定すれば、S419に処理を移行する。一方、YESと判定すればS417に移行して、接続拒否情報リスト202中に登録されている単数または複数のクライアント識別子と、占有要求元のクライアント識別子との優先度を比較する。優先度については図2で説明した通りである。
S417での比較結果占有要求元のクライアント識別子が接続拒否情報リスト202中のクライアント識別子の優先度よりも高ければ、要求もとのクライアントコンピュータによるプリンタの占有を行わせるべくS403に移行する。
一方、S417での比較結果占有要求元のクライアント識別子が接続拒否情報リスト202中のクライアント識別子以下であると判定すると処理をS418に移行する。そして、接続拒否情報リスト202中で最も接続優先されるべき(時系列的に一番早く登録されたものに相当)クライアント識別子と占有要求元のクライアント識別子とが一致するか否かを判定する。
S418の判定結果、YESと判定されれば、プリンタの占有を行わせるべく処理をS419に移行し、NOと判定されれば、処理をS423に処理を移行させる。例えば図7におけるS701の占有要求に対応する判定(S702)がS418でNOと判定される場合に対応する。また、例えば図8におけるS802がこのS418でYESと判定される場合に対応する。
S419では、印刷データ用(或は印刷ジョブ用)の通信ポートの確保を行う(図中では、NICの占有処理と記載)。そしてS420で、プリンタコントローラ26に占有要求を通知し、S421では、S420の通知に対するプリンタコントローラ26からの応答を得て、それに応じたクライアントコンピュータに返送すべき値(たとえば後述する図13ではOK)を設定する。
S422では、この場合S421で設定された値に基づく応答を占有要求元のクライアントコンピュータに対して行う。このとき、S404の占有要求(接続要求)を受けたことに応じて、現在占有中の接続(通信)と平行して接続(通信)を行い、一時的に2本のセッションを張ることになる。S422の処理の後に、処理をS401に戻すように示されているが、一旦接続を張った状態において再度S401のセッション処理や、S402の処理を行う必要はない。そして、S409経由でS401に処理を戻した場合には、S401、S402の処理は省略され、S403の処理へ移行するものとする。
一方、S415でYESと判定すると、接続予約を行わせるべく、処理をS423へ移行する。S423では接続拒否情報リスト202中に、占有要求を行ってきたクライアントコンピュータの識別子が既に登録されているか否かを、リストを解析することにより判定する。
S423でYESと判定されると、該当する識別子に対するタイマー値をリセットし、S427へ処理を移行する。S423でNOと判定されると処理をS424へ移行する。
S424では、接続拒否情報リスト202中に新たに占有要求元のクライアントコンピュータ識別子を登録する。このS424での、占有要求元を識別するための識別子を登録することにより、以後印刷制御装置の占有の解放に応じて、登録された識別子を伴う占有要求があれば占有を可と判定する。他方識別子を伴わない占有要求に対しては占有を否と判定でき、印刷順番の正当性をより確実に保証することが可能となる。
また、このときクライアント情報を参照し、優先度を対にしてクライアント識別子を登録する。例えば図6のS604に示される接続拒否情報リストへの識別子の追加、図7の703に示される接続拒否情報リストへの識別子の追加などが、このS424の処理に該当する。
また、占有要求元のクライアント識別子に対する優先度は後述図の図9のGUIを介しての設定に基づく。そして、優先度リストに登録されていないクライアント(例えばIPアドレスをパラメータに特定)については、優先度を最下位(本実形態におていは優先度10)にして登録する。
S425では、新たに登録した識別子に対するタイムアウト判別用のカウンタ開始を行う。このカウンタの監視処理については後述の図4の(b)で詳しく説明する。
S427では、プリンタの占有要求元のクライアントコンピュータに対して現在占有中の接続と平行して接続を行う。そして、プリンタの占有を許可することはできないが、占有する予約を行ったことを示すコマンド(Already Reservedコマンド)を、返送用のコマンドとして設定する。このalready Reserveの応答を行う場合にも、セッション状況を一時的な2本の同時セッションに抑えることができ、ネットワークインタフェース21(プリンタ側)のリソースを軽減することが出来る。
S422では、S427で設定されたコマンドをプリンタから占有要求元のクライアントコンピュータに返送する。この時、Already Reservedコマンドの返送はトランスポート層よりも上の通信階層で行う。Already Reservedコマンドの返送を受けたクライアントコンピュータでは、TCPプロトコル接続の切断が行われ、現在占有中の接続(通信)と平行して接続(通信)を一時的に行えばよく、負荷を軽くすることが出来る。このことは後述の図13で詳しく説明する。
次に、S404でNOと判定され、S405乃至414、421及び422の処理について説明をする。
(2)〔S404でNOと判定された場合〕
S404でNOと判定されると、S405において、受信したコマンドがデータクリア要求コマンドか否かを判定する。ここで、YESと判定されると、S408、409を経由し、ネットワークインタフェース21内のデータバッファクリア処理を行い、且つ、プリンタにコマンドを転送しプリンタ側のデータバッファクリアも行わせる。S421で、プリンタ側のデータバッファクリア処理結果が応答されると、該応答に基づくクライアントコンピュータへの返送をS422で実行する。なお、S422の処理の後に、処理をS401に戻すように示されているが、一旦接続を張った状態において再度S401のセッション処理や、S402の処理を行う必要はない。S421経由でS401に処理を戻した場合には、S401、S402の処理は省略され、S403の処理へ移行するものとする。
一方、S405でNOと判定されると、S406でプリンタ制御のコマンドを受信したか否かを判定する。
S406では、プリンタ制御コマンドを受信したか否かの判定を行う。YESと判定した場合には、受信したプリンタ制御コマンドをネットワークインタフェース21からプリンタに通知し、プリンタにプリンタ制御コマンドに従う処理を行わせる。S406でNOと判定されれば処理をS407へ移行させる。
S407では、ステータス要求コマンドを受信したか否かの判定を行う。YESと判定した場合には、要求されるステータスをプリンタから取得すべくS409でコマンドをプリンタ側に転送し、応答としええられるステータスを応答用のステータスとして設定する(S421)。S422ではS421で設定されたステータスをクライアントコンピュータへ返送する。S407でNOと判定されると処理をS410で移行させる。
S410では、印刷データを受信したか否かを判定する。そして、YESと判定されれば、S412で受信した印刷データに基づくプリントエンジンの記録を行わせるべく、プリンタ側に印刷データのコマンド(ページ記述言語でもビットマップ画像データなどを適用できる)を転送する。一方、S410でNOと判定されると、処理をS411へ移行させる。
S411では、NIC自身の設定等、NIC自身で閉じたNICに対する処理要求コマンドを受信したか否か判定する。S411でYESと判定されれば、処理をNIC内の処理を行った後、その処理結果を応答用のデータとして設定し(S421)、S421で設定されたデータをS422でクライアントコンピュータに応答する。
次に図4の(b)の説明を行う。図4の(b)は接続拒否情報リスト202に登録を行った識別子に対応して占有要求が所定時間無い場合に、対応する識別子を削除する処理を示すものである。これにより、接続拒否情報リスト202に要するメモリ容量を抑えることができる。
S441では、接続拒否情報リスト202中にクライアント識別子(接続拒否情報)があるか否かを判定する。
S441でYESと判定すればS422で最初のクライアント識別子をピックアップし、タイムアウトになったか否かを、S443で判定する。尚、図4の(b)のフローチャートにおいてはタイムアウトになったか否かを判定するようにしているが、これに限定されない。例えば、クロックカウントでも良いし、他のクライアントコンピュータからの占有要求が所定数確認されたなどの所定の条件を採用することが想定される。
S443でYESと判定すればピックアップしているクライアント識別子を接続拒否情報リストから削除する。
続いてS435では次のクライアント識別子(接続拒否情報)があるか否かを判定し、あれば同様にタイムアウトしたか否かを判定し、S444以降の処理を繰り返す。
この図4の(b)のフローチャートにより接続拒否情報が削除された場合には、上に説明したS416で接続拒否情報がないと判定されることになる。
図4のフローチャートによれば以下の効果を得ることが出来る。
本印刷システムによれば、従来に比べてクライアントコンピュータからプリンタ側への印刷ジョブ(印刷データ)の出力に際してのプリンタ側及びクライアント側処理負荷を軽減できる。また従来に比べて簡易な仕組により印刷順番の正当性をより確実に保証することができる。
また、例えばLPR(Line Printer daemon protocol)のように、複数のセッションを保持し、セッションを保持した順番でプリンタ占有要求を各クライアントコンピュータに行わせる形態も想定される。しかし、この形態では、少なくとも、セッションを維持する情報処理装置に対応するIPアドレス、ポート番号、Mac Address、シーケンス番号、タイマー情報、ウィンドウサイズ、送信バイト数などのプロトコルソケットの管理が必要になる。つまりプロトコルソケットの管理および制御用の情報を各セッション毎に確保する必要があり、このためのメモリリソースが多く必要となってしまう。結果としてプリンタ側に管理用のメモリ領域を多く必要とし、引いてはプリンタコストを悪戯に上昇させることになる。
これに対して本印刷システムでは、2本のセッション管理で、複数の情報処理装置に対して、占有順序を保証することができ、プリンタ側のリソースを少なくし、且つ、メモリ使用を抑制し、引いては機能を落とすことなくプリンタコストを削減することができる。
更に、本印刷システムでは、時系列的にみて、2セッションを一時的に管理するというものであり、常時2本のセッションを張りつづける形態よりも、さらにリソース、メモリ、コストの節約を促進することができる。
次に、図4のフローチャートの各ステップを、図5乃至8のブロック図に対応させて説明する。
図5は、プリンタ側(ネットワークインタフェース21)に接続拒否情報リスト202が登録されていない場合を示す。この場合に、プリンタ7の占有要求が行われると、図4の404でYES、S415でNO、S416でNOと判定される。そして、PC1(クライアントコンピュータ)、PC11(クライアントコンピュータ)の何れからでもプリンタを占有しプリンタに印刷出力を行わせることができる。
図6は、PC1によりプリンタ7が占有され印刷データ(印刷ジョブ)用の通信ポートを介してデータ送信を行っている(S601)状態で、PC2からプリンタの占有要求が行われた場合を示す(S602)。
S603では、S602の要求に対して接続拒否が行われAlreadyReservedコマンドがプリンタ7からPC2に返送されている様子を示す。
図7は、図6のPC1からの印刷データ(印刷ジョブ)送信及びそれに基づく印刷出力が行われ占有解放が行われた後に、PC1から占有要求が再度行われた(S701)様子を示している。
しかしながら図7においては既に優先度3のPC2を識別可能な印刷予約が接続拒否情報リスト202に登録されているため、プリンタ7からPC1に対して接続を拒否するAlreadyReservedコマンドが返答されている(S702)。さらに、S703ではS701の占有要求に対応するPC1の識別子を優先度情報(図中では優先度5)と共に接続拒否情報リストに登録する。
そして、Already Reservedコマンドを受信したPC1では、印刷ジョブの送信がまだ終了していないが接続を一旦切断し、再び再接続を行い、S701と同様の占有処理を行なう。
図8は、図7において接続拒否情報リスト202に登録されたPC2の識別子に基づきPC2の占有要求が優先的に行われている様子を示す。
S801でPC2からの占有要求が行われ、図7の接続拒否情報リスト202に登録された識別子に基づき、PC2のプリンタの占有が確保された応答がプリンタ7からPC2に応答される。
S803では、接続拒否情報リストからPC2の識別子が削除される。尚、PC2の接続拒否情報リストの削除はPC2からプリンタ7に対して出力される印刷データ(印刷ジョブ)に基づくプリンタ7の印刷出力(最終ページの排紙)が終了した後に行うようにしても良い。
図9は、本発明のネットワークインタフェースにおける、各クライアントの優先度を設定するためのGUIを示したものである。図9に示されるGUIに対応するアプリケーションはクライアントコンピュータに事前に登録されたユーティリティーによるものであっても良いし、プリンタのWebサーバから取得したHTML情報に基づきWebブラウザにより表示させたものであっても良い。
901は印刷順占有印刷を行うか否かの設定を行うためのものである。ここで901の項目をオンにすることは、先に説明した図4のフローチャートを実行することに対応する。逆にオフすることは図4のフローチャートを実行させず、図12におけるプリンタ占有処理をプリンタに行わせることとなる。
902は優先クライアントを考慮するか否かの設定を行う為の項目であり、この項目をオンにすることにより、図4のフローチャートにおけるS417のステップの判定処理を行わせるか否かを設定できる。902の項目をオフに設定した場合には、図4のS417の判定結果は常に「以下」と判定されることとなる。またS424において、クライアント識別子に優先度を対応付けしないで登録処理を行うこととなる。
903は設定されたクライアント識別子を示し、904は登録された識別子に対する優先度を示す。尚、上にも述べたように優先度は数字が低いほど高くなっている。無論数字を大きくして優先度を高くするようにしても良い。
905は新たに優先度リストにクライアント識別子を登録する際の入力欄であり、906はそれに対応する優先度を設定する入力欄に対応する。
この図9のGUIを介して入力された設定はクライアントコンピュータからプリンタ側に通知され保存される。保存場所としてはネットワークインタフェース21の所定の記憶部に保存するようにしても良いし、プリンタ側に記憶させるようにしても良い。
この図9のGUIを創出することにより、ユーザのプリンタ使用環境に合わせた柔軟な印刷システムを構築することが可能となる。
次に、図10乃至13を用いて、本実施形態における、クライアントコンピュータ、ネットワークインタフェース21、プリンタとの間の情報のやり取りについて更に詳しく説明する。
図10は、本印刷システムにおけるクライアントコンピュータから印刷要求が発行された場合の各種情報の流れを示す。
図中のNetworkClient−1は図1のクライアントコンピュータに対応する。LanguageMonitorは図1のランゲージモニタに対応する。NetworkPortDriverは図1におけるネットワークドライバ16に対応する。NetworkInterfaceCardは図2のネットワークインタフェース21に、Printerは図2のプリンタ7(ネットワークインタフェース21を除く)に夫々対応する。
Language Monitor(以降LM)が印刷データを送信しようとする場合にはまずOpenCon()関数でポートのオープンを行う。これをネットワークのポートモニター(ネットワークポートドライバ)が受け取るとTCPプロトコルでSynをネットワークインタフェースへ送信する。そして該送信対してAckをネットワークインタフェースが返信した場合にはネットワークインタフェースと通信が可能となる(図4の(a)のS404に対応)。AckではなくResetが返された場合には(図4の(a)のS428に対応)、エラーであり、LMは後にリトライを行なうこととなる。OpenCon()関数はSyn送信によるコネクションの確立であり、確立がなされればOKのReplyがLMに返される。
Ackの場合はさらに続いて、プリンタの占有を行うためにWritePort(Reserve)関数で「Reserveコマンド」を送信する。WritePort()は、その関数に渡されるデータの中にコマンドが格納されるのでWritePort(Reserve)と記述している。このコマンドはプリンタ制御コマンドであり、プロトコルのレベルとしてはアプリケーション層(図3を参照)の上位で構成されるものである。このReserveコマンドに対しては、プリンタの占有に合わせてネットワークインタフェース自身の占有処理も並行して行う必要がある。プリンタからのReserveコマンドの応答を待ってネットワークインタフェース内の占有処理も行い、その結果をクライアントコンピュータ側へ返信する。もしプリンタがネットワーククライアントからではなく、USBのようなクライアントから印刷中の場合には、プリンタからの応答がAlreadyReservedが返信される。これにより、ネットワークインタフェースは占有を行わずにそのエラーコードをクライアントコンピュータ側へ返信する。
占有が成功すると、クライアントコンピュータはWritePort(GetStatus)でプリンタステータスの取得を行う。プリンタのステータスはネットワークインタフェース自身がキャッシュしているものについてはネットワークインタフェースのみの処理で返信する。続いてクライアントコンピュータはステータスの状態を判断し、印刷開始できる場合にはGoOnlineコマンドを送信、オンラインに移行させる。その後、ステータスをチェックしながら印刷データの送信が行われる。そして最後には終了処理となる。
図11は、本印刷システムにおけるネットワークインタフェースがクライアントコンピュータからプリンタのカウンタ情報の取得やプリンタのステータス情報の取得要求を受ける場合の各種情報の流れを示す。
図10の印刷時とは異なり、TCPコネクションは必要ではなく、プリンタドライバはネットワークのポートに対してWritePort(GetCounter)関数でGetCounterコマンドを要求する。ネットワークポートモニタはUDPでGetCounterコマンドをネットワークインタフェースに送信する。カウンタ情報はプリンタに問い合わせることが必要なコマンドであり、それはプリンタに転送され、その返信を受けて、さらにUDPでクライアントコンピュータ側へ返信される。プリンタドライバはReadPort()関数で返信された値を読み取り、GetCounterコマンドの結果を受け取る。
GetStatusコマンドが送信された場合でも同様の方法にてクライアントコンピュータはステータス情報を受信する。ただし、ステータス情報はネットワークインタフェースのキャッシュ情報が返される。ネットワークインタフェースは非同期にプリンタのステータスを取得するので、このような処理を行う。この非同期とは、ネットワークインタフェース21からのポーリングであったり、プリンタからのステータス更新情報が知らされた場合などに相当する。
このようにして行われる情報の取得によって、クライアントコンピュータは印刷装置のステータス等の情報を獲得し、表示を行う。
図12は、本印刷システムにおける、複数のネットワーククライアントからの占有要求を受けた時の流れを図示したものである。上に説明した図9の901を介して「印刷順の占有優先印刷を行う」の項目をオフに設定し、該設定をプリンタ側に反映した場合の、各種情報の流れを示す。特に特徴的な部分を抽出し説明を以下行う。
S1201では、Network Client−1の印刷中にNetwork Client−2が印刷を行った場合(OpenCon()関数)、Client−2のTCP上のコネクション要求にてネットワークインタフェースはResetを返送する。この返送は図4の(a)のS428に対応する。
S1203では、Client−2のLanguage Monitorはコネクションが成立しなかったこと(エラー通知)を受けて(S1202)、一旦接続を切断し、再び数秒後に再びOpenCon()関数を送信し再接続を試みる。このように一旦接続を解除するので、プリンタ側の接続処理負荷(同時セッション確立負荷)を軽減することができる。
この動作として、このリトライの間に他のクライアントでコネクションが成立して印刷が開始してしまうとClient−2は結果として再度のコネクション要求でもエラー通知を受け、三度リトライすることとなる。
場合によってはリトライが繰り返され、印刷する順番が著しく遅れる場合も出ることとなる。
図13は、本印刷システムにおける、複数のネットワーククライアントからの占有要求を受けた時の流れを図示したものである。上に説明した図9の901を介して「印刷順の占有優先印刷を行う」の項目をオンに設定し、該設定をプリンタ側に反映した場合の、各種情報の流れを示す。特に特徴的な部分を抽出し以下説明を行う。
S1301では、Client−1の印刷中にClient−2が印刷を行った場合(OpenCon()関数)には、Client−2のTCP上のコネクション要求にてネットワークインタフェースはAckを返信する。クライアントコンピュータはAckを受けることにより、プリンタ7にS423などの判定を行わせるための占有要求を発行することができる。この図12とは異なる。
その後S1304で、Client−2はTCPコネクションが成立したのでReserveコマンドを送信する(図4の(a)のS403でプリンタが受信するコマンドに対応)。しかし、この場合にはS1305でネットワークインタフェースはこのコマンドに対してAlreadyReservedで返信する(図4の(a)のS427、S422に対応)。そして、ネットワークインタフェースはこの占有要求を行ったクライアント情報(クライアントコンピュータの識別子)をリストに保持する(図4の(a)のS424に相当)。
クライアントコンピュータ側はReserveコマンドに対してエラーが返されると、S1307でCloseCon()関数を実行し、まだ印刷データ(印刷ジョブ)の送信が終了していないが、S1308で成立したTCPコネクションを閉じる。その後でリトライをかけることとなる。このように一旦接続を解除するので、結果として、プリンタ側の接続処理負荷(同時セッション確立負荷)を軽減することができる。
S1309では、リトライを行う。Reserveコマンドに対して、ネットワークインタフェースは、ネットワークインタフェース内に保持されたクライアント情報と今回のクライアント情報との比較を行う(図4の(a)のS417、S418に対応)。
同じクライアント情報からの占有要求であるなら(S418でYESと判定される場合に対応)、S1310で占有を許可する(図4の(a)の419、S420、S421に対応)。そして、ネットワークインタフェース内に保持したクライアント情報を削除する(図5のS803に対応)。もし異なるのであれば、AlreadyReservedを返信する。そうすることによって、一度占有を拒否したクライアントに優先して占有させることが可能となり、印刷ジョブ送信に伴うプリンタ占有をジョブの発行順にすることが可能となる。
保持するクライアント情報は待ち行列とすることによって、この待ち行列の数だけ印刷順序を補正することが可能となる。但し、リトライが必ずなされることを前提とすると、もしあるクライアントがジョブの再送を行わなくなった場合には、他のクライアントからの処理が続行できなくなる。これに対して、この待ち行列に入った時間を管理し、あるリトライ間隔までに再送がない場合には、待ち行列から削除することを行う(図4の(b)のS444に対応)。
本実施形態では、印刷時のコネクションの発行や解除は全てクライアントコンピュータクライアントのプリンタモジュールが主導で行っている。一方、印刷終了をネットワークインタフェースが認識し、それによってネットワークインタフェースからネットワークポートモニタに対してTCPコネクションの発行を要求し、それを受けてクライアントコンピュータが印刷を開始する方法が想定できる。しかし、この方法ではネットワークポートモニタがあるTCPのポートに対して、ポーリングを行い、コネクション要求を監視する必要が生じることになる。本印刷システムではその監視の必要がない。
以上のように上記実施形態によれいば、クライアントコンピュータからプリンタ側への印刷ジョブ(印刷データ)の出力に際しての処理負荷を軽減し、且つ、印刷順番をより確実に保証することができる。
[第2実施形態]
上記第1実施形態では、プリンタ側がトランスポート層以下の通信階層(例えばTCP層)でクライアントコンピュータから接続要求を受けたことに応じて、その可否(可の場合はAck)を示す応答を行う。そして、接続が行われた場合に、クライアントコンピュータから占有要求を発行が発行され、プリンタ側ではその占有要求の可否を判定し、占有の可否を示す応答をトランスポート層よりも上の通信階層で行う形態について説明をしてきた。しかしながら、この形態に限定はされない。
S404でトランスポート層よりも上の層で占有要求のコマンドを受信したか否かを判定する必要はなく、トランスポート層以下のアクセスで占有要求があったと判定し、S415以降の処理を行わせても良い。特に通信の上での同時接続が1しか許容されていないシステムにおいては、占有の可否を示す応答を行うSYNに対するACK又はRESETで行うようにしても良い。こうすることにより印刷システムを簡略化できるという効果を得ることが出来る。
より具体的には、図4のS401乃至404をひとまとめにし、クライアントコンピュータ側からのSYNが検出されれば、それを占有要求とみなし(S404でYES)、S415以降の処理を行うようにすればよい。
但し、この場合には、S419乃至S422の処理でプリンタ側からクライアントコンピュータ側に返送されるデータはACKとなり、S427乃至S422で返送されるデータはRESETとなる。また、接続が行われた後に、S405以下の処理を行うようにすれば良い。
このように、トランスポート層以下の通信のやり取りでも第1実施例と同様の効果を得ることが出来る。
[第3実施形態]
次に、上記各実施形態では、プリンタ側主体の印刷順番の正当性を保証する仕組みをについて説明してきた。第3実施形態ではその変形例を説明する。尚、本実施形態でも、印刷装置の占有要求を受信し、占有の可否について許可しないと判定した場合に、優先して接続すべき占有要求元を識別するための識別子を印刷制御装置側で保持する点は上記各実施形態と相違ない。
本実施形態における印刷システムの概略を図14に示す。図2と同じ番号については上述の実施形態と同様の機能を有するものとし詳しい説明は省略する。
整理券発行部27は、印刷ジョブの実行中又は整理券管理モードがイネーブルの時に、占有要求をプリンタを受けると、ジョブ整理券を発行する機能を備える。
整理券発行部27に含まれる整理券番号カウンタは、占有要求があると整理番号カウンタのカウント値を1つカウントアップし、そのカウント値からジョブ整理券を発行し占有要求元のクライアントコンピュータに対して応答を行う。この整理番号カウンタは、プリンタが受信した印刷ジョブの処理中である場合、又は、整理券管理モード時にイネーブルとなり、整理券無しの占有要求を受ける毎に1つカウントアップを行う。
カレントジョブ管理カウンタ28は、初期値を整理番号カウンタの値と同じにし、プリンタが整理券管理モード時にイネーブルとなりジョブの終了毎に1つカウントアップする。また、整理番号カウンタとカレントジョブ管理カウンタの値が一致した時に整理券管理モードはディセーブルとなる。
プリンタから整理券を受け取ったクライアントコンピュータはポーリングにて整理券と共に占有要求をプリンタへ送る。
プリンタ7は整理券付きの占有要求を受け取った時に、前のジョブが終了しており、且つ、カレントジョブ管理カウンタの値と占有要求中に付随する整理券番号が一致した場合に、プリンタの占有を受け付ける。そして、占有要求もとのクライアントコンピュータに印刷データ(印刷ジョブ)のデータ送信を行わせる。
ここでジョブ整理券には、例えば、整理番号カウンタのカウント値とプリンタ固有のユニークな名前(IP Addressや、USB IDや、MAC Addressなど)が含まれる。
次に、図15のフローチャートを用いてプリンタ7の処理を説明する。尚、図14では整理間発行部27、カレントジョブ管理カウンタ28がプリンタコントローラ26の機能の一部として説明を行うが、無論ネットワークインタフェース21側に設けるようにしても良いし、また任意に配置するようにしても良い。
まず、S1501で、PC1、11、12、13の何れかのクライアントコンピュータから占有要求を受信する。この占有要求の受信については、図4のS401乃至404と同様の処理が行われる。但し、図15のフローチャートにおいては、S1502で占有要求にジョブ整理券が付随されているか否かが判定され、この点が異なる。S1502でYESと判定すると処理をS1503へ、NOと判定すると処理をS1510へ進める。
まずS1502でYES、つまり整理券がない占有要求を受信した場合について説明する。
S1503ではプリンタが印刷ジョブの処理中か否かを判定する。
S1503でNOと判定すれば、S1509で整理券管理モードか否かを判定し、Yesと判定すれば、処理をS1506へ移行させる。
一方、S1503でYESと判定されると処理をS1504へ移行させ、S1504Sではモードチェンジを行う。より具体的にはフラグを立てて整理券発行モード移行する。
S1505では整理番号カウンタのFULLフラグがアクティブ(図4のS402で接続拒否情報がMAX値に達している場合に対応)となっているか否かを判定する。アクティブと判定すればS1521に処理を移行させ、アクティブでないと判定すれば処理をS1506へ移行させる。
S1506では、整理番号カウンタを1つカウントアップし、S1507では、S1506でカウントアップしたカウンタの値とプリンタ固有の値(USB ID or MAC Address)からジョブ整理券を生成する。S1508ではS1507で生成したジョブ整理券をクライアントコンピュータへ返信する。
次にS1502でNoと判定された場合、つまり整理券有りの占有要求を受信した場合について説明する。
S1510ではプリンタがスタンバイ状態か否かを判定する。スタンバイ状態と判定すれば処理をS1511へ移行させ、スタンバイ状態ではない、つまり何れかのクライアントコンピュータによりプリンタが占有され印刷ジョブの実行中の場合にはS1521へ処理を移行させる。
S1511では、ジョブ整理券の整理番号カウンタ値とカレントジョブカウンタ値を比較し、S1512でS1511の比較結果を分析する。
ジョブ整理券の整理番号カウンタ値=カレントジョブカウンタ値の場合はS1513へ、それ以外はS1521へ、夫々処理を移行させる。
S1513では、整理券付きの占有要求を送信したクライアントコンピュータに対してプリンタの占有を許可する。これにより、占有の準備が出来たことを、クライアントコンピュータに占有完了通知として通知する(S1310のData Send Reserve(OK)に相当)。
S1515では、占有元のクライアントコンピュータから送信されてくるジョブデータ(印刷データ)を受信する。S1516では受信したジョブデータに基づく印刷出力を行う。S1517で印刷処理が終了したと判定すると、S1518でカレントジョブ管理カウンタを1カウントアップし、S1519で整理番号管理モード終了か否かを判定する。より具体的には、整理番号カウンタ値=カレントジョブ管理カウンタ値で整理番号管理モードがディセーブルの場合は終了、それ以外の場合はS1522へ移行する。
S1522では、クラインコンピュータからの占有要求を受けるまで待機し、S1523でカレントジョブ管理カウンタの更新直後からのタイマーカウント値が予め設定されたタイムアウト値以上になった否かを判定する。S1523でYESと判定すると処理をS1518に移行させ、Noと判定すると、処理をS1501に戻す。
整理券管理モード時に、カレントジョブ管理カウンタがカウントアップして次のジョブの受付可能になってからある一定期間以上該当する整理券付きの占有要求の受信が無い場合はタイムアウトとする。そして、カレントジョブ管理カウンタをカウントアップして次の整理番号のジョブを受け付けるようにする。これによりホスト側のトラブルによるジョブ処理の滞りを回避できる。
S1521では、クラインコンピュータへ占有要求の拒否を示す通知を行う。この拒否を示す通知は、例えば第1実施形態で説明した、S427及びS422、S1305のAlreadyResevedに相当できる。この接続拒否の通知を受けたクライアントコンピュータは、一旦TCPプロトコルの接続を切断し、再度プリンタを占有すべくS1501の占有要求のリトライ送信を行う。
次に図16のフローチャートを用いて図15のフローチャートに対応するクライアントコンピュータ側の動作について説明を行う。まず、S1601では、印刷開始命令を発行する。印刷開始命令はプリンタドライバのユーザインタフェース等を介したユーザの印刷指示に応じて発行される。
S1602では、印刷対象となるデータに基づく印刷データ生成処理を実行する。S1602ではビットマップ画像データ生成処理(以下RIP)を実行する。尚ビットマップ画像データに限定されないことは上述の実施例で述べた通りである。
S1603では、RIPした画像データを含む印刷ジョブを生成し、クライアントコンピュータの印刷データ送信モジュールに引き渡す。
S1604では、印刷ジョブのプリンタへの送信に先立って占有要求をプリンタに送信する。占有要求処理については図4のS401乃至403で述べた通りである。
S1605では、プリンタから占有を許可する通知、すなわち占有完了通知をプリンタ側から受けたか否かを判定する。受けていないと判定すれば処理をS1606へ、受けた場合は処理をS1611へ処理を移行する。S1611では生成した印刷ジョブをネットワークインタフェース21へ送信する。この送信を受けたプリンタ側では図4のS412で説明した同様の処理が行われる。
S1606では、引き続きプリンタよりジョブ整理券を取得する。このジョブ整理券については上述で説明した通りである。
S1607では、S1606でプリンタ側より取得したジョブ整理券を含む占有要求をプリンタに対して行う。
引き続きS1608では、カレントジョブ管理カウンタ28よりカレントジョブ管理カウンタの値を取得する。
S1609では、カレントジョブ管理カウンタの値がプリンタの保有する整理番号の値より大きいか否かを判定する。大きいと判定された場合はS1612へ、そうでなければS1610へ処理を移行させる。
S1610では、占有が確保されたか否かを判定し、占有が確保できればS1611へ、占有要求の却下通知を受ければS1614へ処理を移行させる。
S1614では、S1608で取得したカレントジョブ管理カウンタの値とプリンタが保有するジョブ整理券の番号との差を算出し、差が大きい場合は待機時間を増やし、以降差が減る毎に待機時間を減らす。これにより、さらに無駄なトラフィックの発生を更に減少させることができる。本実施形態では占有要求元を識別するための識別子をジョブ整理券を介してプリンタ側で間接的に管理する為、クライアントコンピュータ側で待機時間の調整という処理を実現できる。
ここで、差分と待機時間の増減の対応はユーザの指示によってプリンタ本体の操作パネル又はクライアントコンピュータの遠隔から設定することができる。
そして、S1613では、S1614で設定された待機時間に基づく待機処理を行い。待機処理が終わればS1607以降の処理を繰り返す。
一方S1609でNOと判定された場合にはS1612では、ジョブ整理券の廃棄を行う。これは、例えば図15のS1523のタイムアウト判定処理により、自クライアントコンピュータの占有要求に対して発行されたジョブ整理券の番号が、無視され、次のジョブのジョブ整理券の番号をプリンタ側で待機するようになった場合に起こり得る。S1612でジョブ整理券の破棄が行われるとクライアントコンピュータは再度S104で占有要求を行うこととなる。
[第4実施形態]
上記各実施形態においては、PC1、11とプリンタ7とが通信可能に接続された印刷システムについて説明を行ってきた。しかし、本発明はこれに限定されない。更なる応用例を想定することができる。
例えば、上記プリンタを複数のプリンタと通信可能なプリントサーバに見立て、上記各シーケンス、及び、フローチャートを適用させることもできる。こすることにより、プリンタサーバの負荷を第1実施形態同様軽くすることができ、結果として、例えば安価なプリントサーバを実現したり、負荷が軽くなった分、他の処理をプリントサーバに行わせることができるなどの効果を得ることが出来る。
更なる応用例とて、クライアントコンピュータとプリントサーバとが接続される印刷システム以外にも、第1実施形態におけるクライアントコンピュータを、複数のクライアントコンピュータ及び複数のプリンタを仲介するプリントサーバに見立てる形態もある。
これにより、上述の各実施形態におけるクライアントコンピュータの処理負荷を軽減し、ソフトウェア構成を簡易化できたように、プリントサーバの処理負荷を軽減すると共に、プリントサーバにおけるソフトウェア構成を簡易化できる。
[第5実施形態]
上述の各実施形態では、「Already Reserved」の情報は、プリンタが他のクライアントに占有されている、又は、占有予約が既に登録されているということを示していた。具体的には、クライアントコンピュータの占有要求に対して占有できない場合の返答として「Already Reservedコマンド」をプリンタ本体から応答するよう説明してきた(図4参照)。
本実施形態では、更なる応用例として、他のクライアントコンピュータの識別子を含む接続拒否情報の登録の有無によりプリンタ本体から異なる応答を行う場合について説明する。以下では、「Already Reserved情報」に加えて、「New Registerd情報」、「Already Resisterd」等を返す具体例を説明する。また、本実施形態では、プリンタ側からの応答情報を受信したクライアントコンピュータが、誰が占有中(印刷中)なのかや、占有しているジョブはどのようなものか等の詳細情報をプリンタ側から取得できる。尚、該取得は、「Already Reserved」の情報等の為の通信ポートとは別の通信ポートを介して行われる。具体的には、まず、S406やS1706でプリンタ制御コマンドと判断される1つである「ジョブ情報取得コマンド」が、クライアントコンピュータより前記別のポートを介してプリンタ側に発行される。そして、S406やS1706で、「ジョブ情報取得コマンド」を受信したNICは、受信したジョブ情報制御コマンドをプリンタへ転送し、プリンタからその返信を受け、該受けた情報をクライアントコンピュータに返信する。クライアントコンピュータに返信される情報には、印刷中のジョブに対するジョブ名やジョブのオーナ名、ジョブを発行したクライアントコンピュータ名等が含まれる。後述する図18、図19は、この印刷中ジョブ情報を基に表示されたものである。
次に、図17のフローチャートを参照しながら、図2のネットワークインタフェース21(プリンタ)の処理を詳細に説明する。なお、ここでは図4との差分について詳しく説明する。
まず、S1701乃至S1721の処理は、基本的に図4での説明と同様なので、詳しい説明は省略する。以下では、S1715でYESと判断した場合、又は、S1718でNOと判断した場合を前提に説明を行う。
S1723でNOと判断した後は、接続拒否情報にクライアントを識別する識別子を追加し登録する。そしてS1724乃至S1725を経由し、S1727で、他のクライアントの占有予約が無く、プリンタ本体にて占有要求元のクライアントの占有予約を行ったことをクライアントコンピュータへの返答値としてセットする。より具体的には、プリンタ本体は、「Already Reserved」に加えて、「New Registerd」をセットする。そしてS1727でセットされた値をS1722で占有要求元のクライアントコンピュータに返送する。
一方、S1723でYESと判断した場合は、他のクライアントが既に接続拒否情報リストに登録されている場合である。この場合には、既に他のクライアントにより占有予約が行われていることを、プリンタ本体から占有要求元クライアントコンピュータへの返送値としてセットする。より具体的には、プリンタ本体によりS1728において、Already Reservedに加えて、Already Registerdをセットする。そして、S1728でセットされた値をS1722で占有要求元のクライアントコンピュータに返送する。
そして、クライアントコンピュータは、上記S1727、S1728でセットされた値(情報)を取得することにより、簡易に、プリンタ占有に係わる情報を取得し表示することができる。例えば、占有要求を行う通信ポートとは別の通信ポートを用いてプリンタ占有に係わる詳細情報をクライアントコンピュータ側が取得する形態も想定される。しかし、上記形態によればそのような処理を行う事無く、ある程度の占有状況、占有予約状況を識別できる。
また、S1727、S1728でセットされた値をプリンタ側からクライアントコンピュータに行った後に、クライアントコンピュータからTCP:Finが出力され、TCPコネクションが閉じられる。この「TCP:Fin」に係わる処理は上述のS1308で説明した通りである。このTCPコネクションを閉じる処理により、「Already Reserved」等のトランスポート層よりも上又は以上の通信階層におけるメッセージを、占有要求を行った複数のクライアントの各々に提供することができる。即ち、有限のコネクション数を、有限数以上のクライアントが利用できるようにし、占有要求に用いる通信ポートを介して、プリンタ側における占有状況、占有予約状況を容易にクライアントコンピュータに通知できる。
図18、図19は、上記図17のS1722における応答処理に応じて、クライアントコンピュータで表示されるメッセージ例を示す。
図18の1801は、S1727でセットされた値を占有要求を行う通信ポートを介してプリンタ側から受信した場合の、クライアントコンピュータにおける表示例を示す。より具体的には、クライアントコンピュータが、「Already Reserved+New Register」を受信し、それに対応する情報を表示した一例である。1801では、印刷装置が他のクライアントコンピュータにより既に占有されており、且つ、占有予約を行えたことが示されている。なお、メッセージ例としては、図18に示される文字列に限らず、別の文字列であっても良い。また、図形、写真等のグラフィカル表示でも良い。
また、1802は、クライアントコンピュータがプリンタ側から取得した「印刷中ジョブ情報」に基づく表示を示す。この「印刷中ジョブ情報」は、上に述べた通り、「Already Reserved」の情報等の為の通信ポートとは別の通信ポートを介して、クライアントコンピュータにより取得される。印刷中ジョブ情報はプリンタで現在処理中の印刷ジョブに関する情報であり、1802中では、印刷ページ数等のジョブ詳細情報が含まれている。
一方、図19中の1901は、S1728でセットされた値を占有要求を行う通信ポートを介してプリンタ側から受信した場合の、クライアントコンピュータにおける表示例を示す。クライアントコンピュータは、「Already Reserved+Already Registerd」を受信し、それに対応する表示である。1901では、印刷装置が他のクライアントコンピュータにより既に占有されており、且つ、占有予約もできないことが示されている。なお、メッセージ例としては、図19に示される文字列に限らず、別の文字列であっても良い。また、図形、写真等のグラフィカル表示でも良い。
1902は「マイジョブ情報」の表示例であり、具体的には、待ち状態(2番目の待ち状態)等を示している。この「マイジョブ情報」は、クライアントコンピュータ自身が送信した若しくは送信する予定のジョブ情報をメモリに保持している為、特にプリンタ側から取得する必要が無い。
このように、図17のフローチャートにより、クライアントコンピュータは、特に印刷中ジョブ情報を、所定のポートを介して取得しなくとも、占有要求処理に連動し、容易にプリンタ側における、占有状況、占有予約状況を取得できる。また、その取得結果をユーザに知らしめることができる。また、図4のフローチャートによっても、同様の効果を得る事が出来ることを付け加え述べておく。
更に、クライアントコンピュータは、印刷中ジョブ情報を取得することにより、必要とあらば、詳細なジョブ情報を取得し、ユーザに知らしめることができる。
一方、上述の各実施形態では、図13のS1308で示した如く、クライアントコンピュータ側から通信セッションを切断するようにしたが、プリンタ側から通信セッションを切断するようにしても良い。
[他の実施形態]
前述した実施形態の機能を実現するべく各種のデバイスを動作させるように、前記各種デバイスと接続された装置あるいはシステム内のコンピュータに対し、前記実施形態の機能を実現するためのソフトウェアのプログラムコードを供給しても良い。そして該供給により、そのシステムあるいは装置のコンピュータ(CPUあるいはMPU)に格納されたプログラムに従って前記各種デバイスを動作させることによって実施したものも、本発明の範疇に含まれる。
また、この場合、前記ソフトウェアのプログラムコード自体が前述した実施形態の機能を実現することになる。つまり、そのプログラムコード自体、およびそのプログラムコードをコンピュータに供給するための手段、例えば、かかるプログラムコードを格納した記録媒体は本発明を構成する。かかるプログラムコードを記録する記録媒体としては、例えばフレキシブルディスク、ハード・ディスク、光ディスク、光磁気ディスク、CD−ROM、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。
また、コンピュータが、供給されたプログラムコードを実行することにより、前述の実施形態の機能が実現されるだけに限定されない。つまりそのプログラムコードがコンピュータにおいて稼働しているOS(オペレーティングシステム)あるいは他のアプリケーションソフト等と共同して前述の実施形態の機能が実現される場合にも、かかるプログラムコードは本発明の実施形態に含まれる。
さらに、供給されたプログラムコードがコンピュータの機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに格納される場合も想定される。つまり、その格納されたプログラムコードの指示に基づいてその機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合にも本発明に含まれる。
印刷システム全体構成の概略の一例を示す図。 実施形態におけるプリンタのブロック図の一例を示す図。 図1のネットワークインタフェースの通信機能を示す図。 本印刷システムにおける処理フローの一例を示す図。 本印刷システムにおける処理シーケンスの一例を示す図。 本印刷システムにおける処理シーケンスの一例を示す図。 本印刷システムにおける処理シーケンスの一例を示す図。 図1のネットワークインタフェース21の処理手順の一例を示す図。 ネットワークインタフェース21のジョブ受付優先度を設定するための設定画面の一例を示す図。 本印刷システムにおける通信手順の一例を示す図。 本印刷システムにおける通信手順の一例を示す図。 本印刷システムにおける通信手順の一例を示す図。 本印刷システムにおける通信手順の一例を示す図。 実施形態におけるプリンタのブロック図の一例を示す図。 本印刷システムにおける通信手順の一例を示す図。 本印刷システムにおける通信手順の一例を示す図。 本印刷システムにおける処理フローの一例を示す図。 クライアントコンピュータにおけるユーザインタフェース例を示す図。 クライアントコンピュータにおけるユーザインタフェース例を示す図。

Claims (8)

  1. 情報処理装置と通信可能な印刷制御装置であって、
    前記情報処理装置から要求される印刷制御装置の占有要求を受信する受信手段と、前記受信手段が前記占有要求を受信したときに、前記印刷制御装置が占有状態であるか否かを判断する判断手段と、
    前記印刷制御装置が占有状態であると前記判断手段が判断した場合に、当該占有要求の要求元を識別するための識別子を登録する登録手段と、
    前記印刷制御装置が占有状態でないと前記判断手段が判断した場合に、前記占有要求に対して占有を許可するか否かを前記登録手段による前記識別子の登録順序に基づいて判定する判定手段とを有することを特徴とする印刷制御装置。
  2. 前記登録手段に登録された識別子を伴う占有要求が所定条件において再受信されない場合に、当該識別子を削除する削除手段を有することを特徴とする請求項1に記載の印刷制御装置。
  3. 前記判定手段は、前記受信手段により受信された占有要求に対応する識別子の優先度と前記登録手段に登録されている識別子の優先度とを比較し、該比較に基づく判定を行うことを特徴とする請求項1に記載の印刷制御装置。
  4. 情報処理装置と通信可能な印刷制御装置の制御方法であって、
    前記情報処理装置から要求される印刷制御装置の占有要求を受信する受信工程と、前記受信工程にて前記占有要求を受信したときに、前記印刷制御装置が占有状態であるか否かを判断する判断工程と、
    前記印刷制御装置が占有状態であると前記判断工程にて判断された場合に、当該占有要求の要求元を識別するための識別子を登録する登録工程と、
    前記印刷制御装置が占有状態でないと前記判断工程にて判断された場合に、前記占有要求に対して占有を許可するか否かを前記登録工程における前記識別子の登録順序に基づいて判定する判定工程とを有することを特徴とする制御方法。
  5. 前記登録工程にて登録された識別子を伴う占有要求が所定条件において再受信されない場合に、当該識別子を削除する削除工程を有することを特徴とする請求項に記載の制御方法。
  6. 前記判定工程は、前記受信手段により受信された占有要求に対応する識別子の優先度と前記登録工程にて登録されている識別子の優先度とを比較し、該比較に基づく判定を行うことを特徴とする請求項に記載の制御方法。
  7. 請求項乃至の何れかに記載の制御方法をコンピュータに実行させるためのプログラムをコンピュータ可読の形態で記憶した記憶媒体。
  8. 請求項乃至の何れかに記載の制御方法をコンピュータに実行させるためのプログラム。
JP2006050592A 2005-03-31 2006-02-27 プリント要求の受付順保証機能を備える印刷制御装置、制御方法、記憶媒体及びプログラム Expired - Fee Related JP4865358B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2006050592A JP4865358B2 (ja) 2005-03-31 2006-02-27 プリント要求の受付順保証機能を備える印刷制御装置、制御方法、記憶媒体及びプログラム
EP06251600A EP1710682A3 (en) 2005-03-31 2006-03-24 A print controller with function for guaranteeing the order of print requests received, and a control method therefor
US11/390,930 US20060221391A1 (en) 2005-03-31 2006-03-28 Print controller with function for guaranteeing the order of print requests received, and a control method, a recoding medium, and a program for the same controller

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2005102594 2005-03-31
JP2005102594 2005-03-31
JP2006050592A JP4865358B2 (ja) 2005-03-31 2006-02-27 プリント要求の受付順保証機能を備える印刷制御装置、制御方法、記憶媒体及びプログラム

Publications (2)

Publication Number Publication Date
JP2006309717A JP2006309717A (ja) 2006-11-09
JP4865358B2 true JP4865358B2 (ja) 2012-02-01

Family

ID=36603034

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006050592A Expired - Fee Related JP4865358B2 (ja) 2005-03-31 2006-02-27 プリント要求の受付順保証機能を備える印刷制御装置、制御方法、記憶媒体及びプログラム

Country Status (3)

Country Link
US (1) US20060221391A1 (ja)
EP (1) EP1710682A3 (ja)
JP (1) JP4865358B2 (ja)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4183717B2 (ja) * 2006-04-06 2008-11-19 シャープ株式会社 画像処理装置
JP4973300B2 (ja) * 2006-05-26 2012-07-11 富士ゼロックス株式会社 印刷プログラムおよび印刷装置
JP4186168B2 (ja) * 2006-06-06 2008-11-26 村田機械株式会社 ファイル送信端末
JP4939175B2 (ja) * 2006-11-08 2012-05-23 株式会社リコー 画像形成装置
JP4547508B2 (ja) * 2006-11-24 2010-09-22 サイレックス・テクノロジー株式会社 印刷ジョブ管理プログラムおよび印刷ジョブ管理システム
JP4353280B2 (ja) * 2007-06-01 2009-10-28 ブラザー工業株式会社 印刷装置
US8214548B2 (en) * 2007-08-29 2012-07-03 Ricoh Company, Ltd. Capability-based control device driver of a computer peripheral device
US20090094539A1 (en) * 2007-08-29 2009-04-09 Yao-Tian Wang Controlling a computer peripheral device using a universal driver and device-generated user interface information
JP2010009213A (ja) * 2008-06-25 2010-01-14 Fujifilm Corp プリント・サービス用中継サーバおよびその制御方法
US8271703B2 (en) * 2008-10-17 2012-09-18 Ricoh Company, Ltd. Providing device defined user interface modifiers to a computer system
US8520225B2 (en) * 2009-03-06 2013-08-27 Ricoh Company, Ltd. Print driver localization support from printing device to support multiple user profiles
US20100225958A1 (en) * 2009-03-06 2010-09-09 Selvaraj Senthil K Approach For Printing To Web Services-Enabled Printing Devices
US8526020B2 (en) * 2009-03-06 2013-09-03 Ricoh Company, Ltd. Paper size support for a print system
US8773687B2 (en) * 2009-03-06 2014-07-08 Ricoh Company, Ltd. Driverless architecture for printing systems
JP5397162B2 (ja) * 2009-10-29 2014-01-22 セイコーエプソン株式会社 プリンタードライバー、及び、posプリンターの制御方法
WO2011062596A1 (en) * 2009-11-23 2011-05-26 Hewlett-Packard Development Company, L.P. Binding resources in a shared computing environment
JP5515759B2 (ja) * 2010-01-18 2014-06-11 セイコーエプソン株式会社 プリンターシステムの制御方法、プリンターシステムおよびプリンター
JP5900081B2 (ja) * 2012-03-23 2016-04-06 富士ゼロックス株式会社 制御装置、画像出力装置、画像出力システム及びプログラム
JP6061902B2 (ja) * 2014-08-07 2017-01-18 キヤノン株式会社 通信装置、通信装置の制御方法およびプログラム
CN105632044B (zh) * 2014-11-20 2018-11-16 精工爱普生株式会社 印刷装置的控制方法、印刷系统的控制方法以及印刷装置
US10353654B1 (en) * 2018-04-30 2019-07-16 Ricoh Company, Ltd. Application integration mechanism
JP7086771B2 (ja) * 2018-07-23 2022-06-20 キヤノン株式会社 印刷装置、印刷装置の制御方法、並びにプログラム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63298430A (ja) * 1987-05-29 1988-12-06 Hitachi Ltd 印刷処理方式
JPH04227537A (ja) * 1990-10-10 1992-08-17 Fuji Xerox Co Ltd プリンタおよびプリントジョブ制御装置
JPH0863311A (ja) * 1994-08-18 1996-03-08 Ricoh Co Ltd プリンタ制御装置
JP3997504B2 (ja) * 1998-05-29 2007-10-24 リコープリンティングシステムズ株式会社 文書印刷方法、文書処理方法及びプリンタ
JP2001014118A (ja) * 1999-06-29 2001-01-19 Toshiba Corp 印刷データ送受信のシステム及び方法
US7170617B1 (en) * 2000-04-17 2007-01-30 International Business Machines Corporation Method and apparatus for determining how to process incoming print jobs
JP2002007092A (ja) * 2000-06-22 2002-01-11 Canon Inc 情報処理装置、印刷装置、印刷制御装置及び印刷システム
US7117247B2 (en) * 2001-04-24 2006-10-03 Ricoh Company, Ltd. System, computer program product and method for storing information in an application service provider via e-mails
JP3906667B2 (ja) * 2001-10-23 2007-04-18 富士ゼロックス株式会社 画像処理装置
US7284061B2 (en) * 2001-11-13 2007-10-16 Canon Kabushiki Kaisha Obtaining temporary exclusive control of a device
JP2005212191A (ja) * 2004-01-28 2005-08-11 Seiko Epson Corp プリンタ装置

Also Published As

Publication number Publication date
US20060221391A1 (en) 2006-10-05
EP1710682A2 (en) 2006-10-11
JP2006309717A (ja) 2006-11-09
EP1710682A3 (en) 2010-03-03

Similar Documents

Publication Publication Date Title
JP4865358B2 (ja) プリント要求の受付順保証機能を備える印刷制御装置、制御方法、記憶媒体及びプログラム
US8717601B2 (en) Server apparatus, and terminal apparatus
JP4086345B2 (ja) 通信制御方法及び装置及び通信システム
US8570574B2 (en) Processing system, control method, and storage medium therefor
JP6202902B2 (ja) システム、情報処理装置とその制御方法及びプログラム
JPH07281848A (ja) リモート印刷システムおよびそのコンピュータ
JP3774702B2 (ja) 印刷制御プログラム及び情報処理装置
JP2000311068A (ja) プリントサーバ装置、クライアントとしての情報処理装置、これら装置の印刷管理方法および記憶媒体
US8629995B2 (en) Peripheral apparatus control
US7359075B2 (en) Connection management system for creating and releasing connections to a print server
JP5281313B2 (ja) 印刷制御装置、印刷制御方法及びプログラム
CN100409170C (zh) 打印控制装置以及控制方法
US8270001B2 (en) Printing apparatus and canceling method
US9917958B2 (en) Printing apparatus and control method of printing apparatus requesting print job from server system based on detected event
JP2012221334A (ja) 画像形成システムとその処理方法、画像形成装置、印刷管理サーバー、プリントサーバ、御方法及びプログラム
JP3927731B2 (ja) 印刷システム、情報処理装置、情報処理方法、印刷ジョブ登録方法及び記録媒体
JP4547508B2 (ja) 印刷ジョブ管理プログラムおよび印刷ジョブ管理システム
JP4404013B2 (ja) 分散印刷を実行する印刷制御装置および印刷装置
JP3262520B2 (ja) ネットワークプリントシステムおよび情報処理装置およびプリントサーバおよび印刷制御装置およびその方法およびその制御プログラムが格納された記憶媒体
JP2000089924A (ja) ネットワークプリントシステム及びその制御方法
JP4164243B2 (ja) 印刷監視システム、印刷監視方法、及びコンピュータプログラム
JPH07152514A (ja) リモート印刷システム
CN116166206A (zh) 打印设备及其控制方法和存储介质
JP2006164159A (ja) プリントサーバ及びシステム
JP2002196899A (ja) 画像処理システム及び画像処理方法並びに記憶媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090226

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20100201

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20100630

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110105

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110307

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110823

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111017

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20111108

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111110

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141118

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141118

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees