JP2001014118A - 印刷データ送受信のシステム及び方法 - Google Patents

印刷データ送受信のシステム及び方法

Info

Publication number
JP2001014118A
JP2001014118A JP11184406A JP18440699A JP2001014118A JP 2001014118 A JP2001014118 A JP 2001014118A JP 11184406 A JP11184406 A JP 11184406A JP 18440699 A JP18440699 A JP 18440699A JP 2001014118 A JP2001014118 A JP 2001014118A
Authority
JP
Japan
Prior art keywords
print
request
printer
job
print data
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
JP11184406A
Other languages
English (en)
Inventor
Shiro Nakase
史郎 中瀬
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP11184406A priority Critical patent/JP2001014118A/ja
Publication of JP2001014118A publication Critical patent/JP2001014118A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

(57)【要約】 【課題】 複数ホストと単一プリンタの接続時にネット
ワ−ク資源の効率的活用と印刷ジョブ順序逆転の問題解
決を図る印刷デ−タ送受信のシステム及び方法を提供す
ること並びに複数ホストと複数プリンタの接続時のネッ
トワ−ク資源の効率的活用と印刷ジョブ順序逆転の問題
解決を図りホスト間の競合による無駄な待ち時間の問題
を解決する印刷デ−タ送受信のシステム及び方法を提供
すること。 【解決手段】 印刷ジョブの要求元である複数の第1の
装置と前記印刷ジョブを処理する第2の装置とを有し、
前記各第1の装置は、印刷ジョブの予約要求を発生する
手段をそれぞれ有し、前記第2の装置は、前記発生され
た印刷ジョブの予約要求を発生順に登録する手段と、前
記登録の順に印刷ジョブの予約要求元である第1の装置
に印刷デ−タの転送を要求する手段とを有する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、大容量記憶装置を
用いることなく、ネットワ−ク資源を有効に活用して印
刷ジョブを要求発生順かつ効率的に処理することの可能
な、複数のホストコンピュ−タと単一のプリンタとの
間、または、単数または複数のホストコンピュ−タと複
数のプリンタとの間、での印刷デ−タ送受信のシステム
及び方法に関する。
【0002】
【従来の技術】ホストコンピュ−タ(以下、単にホスト
と略称する場合がある。)とプリンタ間の印刷デ−タ送
受信方式には、一般的なものとして、各種のOS(op
erating system)で使われているlpd
方式がある。
【0003】まず、以降の説明の前提としてこのlpd
方式を説明する。最も単純なlpd方式による印刷デー
タ送受信のための構成を図16に示す。ホストコンピュ
−タ161上のアプリケーションソフトウェア(以下、
単にアプリケーションという。)164で発生した印刷
要求は、複数ジョブ要求を管理し一時的に貯蔵された複
数印刷デ−タを順番にひとつずつ実行するスプ−ラ16
5に渡される。
【0004】スプ−ラ165は、プリンタ162にLA
N(local areanetwork)163を介
し印刷要求を出し、その応答としてプリンタ162から
印刷要求受付通知を受け取ったら(すなわち、プリンタ
162が使用可能であったら)印刷デ−タ169をLA
N163を介し送信する。プリンタ162が使用できな
い場合は使用可能になるまで待つ。
【0005】プリンタ162の受信モジュ−ル166
は、ホスト161のスプ−ラ165からの印刷要求があ
ったとき、印刷可能であれば印刷データ169を受信
し、印刷エンジン167に渡す。これにより、印刷エン
ジン167が印刷動作し所望のプリントがなされる。
【0006】プリンタ162が動作可能である場合にお
ける以上の各機器の状態、送受信の方向と内容、時間経
過を示したのが図17である。同図において時間経過は
上方から下方に向かって示される。なお、以下の図にお
いても同種の図の読み方は同様である。
【0007】一方、プリンタ162が他のホストのジョ
ブの処理中や用紙切れ等の原因で印刷不可である場合
は、プリンタの機種や印刷不可原因により異なるが、次
のふたつのうちいずれかの動作を行う。ひとつは、印刷
可能になるまでホスト161を待たせる、すなわち印刷
要求の受付通知を保留しておく(図18)。あるいは、
印刷要求の拒否をホスト161に通知する。この場合
は、通常、拒否理由も同時に通知する。スプ−ラ165
は適当な間隔をおいてリトライするか、ユ−ザからの再
印刷指示を待つ(図19)。
【0008】次に、上記のlpd方式を用いる、LAN
を使用した複数のホストで一台のプリンタを共有する場
合について述べる。
【0009】この場合は、構成として主にふたつの方式
がある。ひとつは、各ホストから直接にプリンタに対し
てデ−タを送信する方式であり、もうひとつは、各ホス
トからの印刷デ−タを一台のホスト(プリンタサ−バ)
に集めてからプリンタに送信する方式である。
【0010】ここで後者の方式では、プリンタ内部にプ
リンタサ−バ機能を持たせて、外見的には直接にプリン
タに対してデ−タを送信するようにみえるものもある
が、ここでは、区別のため、通信バッファなどの必要最
小限の記憶容量した持たないプリンタの場合は前者の方
式として、複数のホストで発生する印刷デ−タをすべて
記憶するに足る記憶容量を有するプリンタの場合(ハ−
ドディスクを内蔵する場合など)を後者の方式に含める
ものとして説明する。
【0011】まず、各ホストから直接にプリンタに対し
てデ−タを送信する方式について、図20を参照して説
明する。
【0012】同図において、LAN163にはホスト1
61A、161B、161Cの3台のホストコンピュ−
タが接続され、これらは1台のプリンタ162を共有す
る。各ホスト161A、161B、161Cの各スプ−
ラ165A、165B、165Cには各ホスト上で発生
した印刷ジョブが貯蔵される。貯蔵された印刷ジョブに
基づき各スプ−ラ165A、165B、165Cは、プ
リンタ162に対し印刷要求をする。ここからの動作に
ついては、印刷デ−タ169をプリンタ162に送信す
ることを含め、印刷要求が時間的に重ならない場合は、
各ホストについて前述の図17に示した動作、印刷要求
が時間的に重なった場合は、各ホストについて前述の図
18あるいは図19に示した動作となる。
【0013】この方式は、プリンタサ−バを用いないた
め、システムを安価に構築でき運用面の利点がある。
【0014】しかしながら、図18に示した方式の場合
では、印刷要求をしてから待ち時間の間ホストとプリン
タの接続が継続しており、その間は双方ともにそのネッ
トワ−クに必要な資源を確保しておく必要があり、特に
印刷要求が多数発生している場合などは上記資源活用の
効率が非常に悪い。また、ひとつのホストスプ−ラに2
以上の印刷ジョブがたまっている場合には、2つ目以降
のジョブは他のホストからの印刷要求に先を越されてし
まうという印刷順序の逆転現象も発生し得る。また、図
19に示した方式の場合では、何度も再送要求が発生す
る可能性があり、ホスト、プリンタ、ネットワークとも
にその負荷が大きくなる。また、最初の印刷要求が拒否
されてから再送を行うまでの間に他のホストからの印刷
要求が発生した場合やはり印刷順序が逆転することがあ
る(図21)。
【0015】次に、各ホストからの印刷デ−タを一台の
ホスト(プリンタサ−バ)に集めてからプリンタに送信
する方式について図22を参照して説明する。
【0016】同図においてLAN163にはホスト16
1A、161B、161Cの3台のホストコンピュ−タ
が接続され、これらは1台のプリンタ162を共有す
る。各ホスト161A、161B、161Cの各スプ−
ラ165A、165B、165Cには各ホスト上で発生
した印刷デ−タが貯蔵される。
【0017】貯蔵された印刷デ−タは各スプ−ラ165
A、165B、165Cから印刷データ169としてL
AN163を介しプリントサ−バ211のスプ−ラ21
2にひとつのプリントキュ−としてスプ−ルされる。こ
こでプリントキュ−とは、到着したジョブからプリント
(印刷)処理される仕組みをいう。スプ−ラ212は順
次プリンタ162に対し印刷データを送信する。これに
より、各ホストの印刷要求に応ずるものである。
【0018】この方式は、ジョブの処理は発生順になさ
れ、また印刷要求受付待ちや印刷要求の再送手続きが発
生しないためネットワ−ク資源を有効に活用できるな
ど、利点は大きいが専用のプリンタサ−バを用意する必
要がありシステムは必然的に高価になる。
【0019】以上、LANを使用した複数のホストで一
台のプリンタを共有する場合について述べた。
【0020】次に、LANを使用してひとつのホストに
対し複数のプリンタを割り当てる場合について述べる。
この場合、ひとつのホスト上のアプリケーションで発生
する複数の印刷ジョブはそのホスト上のスプ−ラに貯蔵
され、ある割振り方により複数プリンタのうちの一台の
プリンタにより印刷処理される。
【0021】ジョブの割振り方を決定する方式として、
すぐに使用できるプリンタを逐次確認する方式と、ジョ
ブの大きさやプリンタの性能を見ながらホストのスプ−
ラ上のプリンタごとに対応するキューに積んでいく方式
とがある。なお、以下では、プリンタごとに対応するす
るキュ−を便宜上サブキューと呼び、サブキューに割り
当て前のキューをメインキューと呼ぶことにする。
【0022】すぐに使用できるプリンタを逐次確認する
方式について、図23を参照して説明する(例として、
プリンタは3台とする)。ホスト161のスプ−ラ16
5はアプリケ−ションから印刷ジョブを受け取ると、L
AN163を介してまずプリンタ162Aに対して印刷
要求を出す。プリンタ162Aが他のジョブ(以前に送
信したジョブ等)の処理中や用紙切れ等で印刷できない
場合(そのようにプリンタ162Aが応答した場合)、
次にプリンタ162Bに印刷要求を出す。以下同様にプ
リンタ162C、162A、162B、162C、・・
・のように順繰りに印刷の可否を調べ、印刷が可能にな
ったプリンタができたところでそのプリンタにLAN1
63を介し印刷データ169を送信する。すなわち、そ
の動作は図24に示すようになる。
【0023】この方式では、すべてのプリンタが印刷不
可(使用中など)であるとき、ひっきりなしに印刷要求
を送信し続ける必要があり、ホスト、ネットワ−クの負
担が大きい。また、ホストが複数ある場合には、たまた
まのプリンタがすぐに使用できる状態を捕らえる印刷要
求タイミングにより印刷順序の逆転も起こり得る。
【0024】次に、ホストのスプ−ラ上のプリンタごと
のサブキューに積んでいく方式について、図25を参照
して説明する(例として、プリンタは3台とする)。ホ
スト161上のアプリケ−ションで発生した印刷要求に
より、まず、ホスト161のスプ−ラ241内にあるメ
インキュー242に印刷デ−タが到着する。スプ−ラ2
41は、各プリンタごとに割り当ててあるサブキュー2
43、244、245内のジョブの残量(未送信のデ−
タのサイズの和)を調べ、空きの多いサブキューに新し
いジョブを積み上げる。各プリンタ162A,162
B,162Cの性能値がわかっている場合などには、ジ
ョブ残量/性能値を用いてスケジュ−リングの工夫を加
える場合もある。
【0025】サブキュー243、244、245に積ま
れたジョブは図16で説明したようにプリンタ162
A、162B、162Cとそれぞれデ−タ送受信をして
LAN163を介し印刷データ169が処理される。
【0026】この方式の場合も、各サブキューとこれに
対応するプリンタとの関係で言えば図16と同じになる
ため、ホストが複数ある場合には、印刷順序の逆転が起
こり得る。
【0027】また、次の意味でも印刷ジョブの配分が非
効率になる。これを図26を参照して説明する。同図の
上図に示すように、3台のプリンタ162A、162
B、162Cのそれぞれに対応する、スプ−ラ241の
サブキュー243、244、245に2つずつのジョブ
a1、a2、b1、b2、c1、c2がメインキュー2
42からの分配により積まれているとする。
【0028】ここで、それぞれ一つ目のジョブa1、b
1、c1がLAN163を介し処理中であるとき、図示
しない他のホストからプリンタ162Aに印刷要求d1
があると、このd1はa1の処理待ちとなり、a2はd
1の処理待ちとなる。このa2がd1の処理待ちとなる
間に、プリンタ162B、162Cの印刷がすべて終了
してもa2は待たされたままになる。この状態を同図の
下図に示す。
【0029】この状態は、印刷開始待ちのデータとデー
タ受信待ちのプリンタが同時に長時間存在するという非
効率的な状態である。
【0030】
【発明が解決しようとする課題】本発明は、上記した従
来技術に鑑み、複数ホストと単一プリンタの接続時に各
ホストから直接にプリンタに対してデ−タを送信する安
価な構成を維持したままでネットワ−ク資源の効率的活
用と印刷ジョブ順序逆転の問題解決を図ることのできる
印刷デ−タ送受信のシステム及び方法を提供することを
目的とする。
【0031】また、本発明は、複数ホストと複数プリン
タの接続時のネットワ−ク資源の効率的活用と印刷ジョ
ブ順序逆転の問題解決を図り、ホスト間の競合による無
駄な待ち時間の問題を解決することのできる印刷デ−タ
送受信のシステム及び方法を提供することを目的とす
る。
【0032】
【課題を解決するための手段】上記課題を解決するた
め、本発明は、印刷ジョブの要求元である複数の第1の
装置と前記印刷ジョブを処理する第2の装置とを有し、
前記各第1の装置は、印刷ジョブの予約要求を発生する
手段をそれぞれ有し、前記第2の装置は、前記発生され
た印刷ジョブの予約要求を発生順に登録する手段と、前
記登録の順に印刷ジョブの予約要求元である第1の装置
に印刷デ−タの転送を要求する手段とを有することを特
徴とする。
【0033】これにより、複数ホストと単一プリンタの
接続時に各ホストから直接にプリンタに対してデ−タを
送信する安価な構成を維持したままでネットワ−ク資源
の効率的活用と印刷ジョブ順序逆転の問題解決を図るこ
とができる。
【0034】また、印刷ジョブの要求元であるひとつ以
上の第1の装置と前記印刷ジョブを処理する複数の第2
の装置とを有し、前記各第1の装置は、印刷ジョブの予
約要求を前記各第2の装置に発行する手段をそれぞれ有
し、前記各第2の装置は、前記発行された印刷ジョブの
予約要求を発行順に登録する手段と、前記登録の順に印
刷ジョブの予約要求元である第1の装置に印刷デ−タの
転送を要求する手段とをそれぞれ有し、前記各第1の装
置は、さらに、前記複数の第2の装置からの各印刷デ−
タ転送要求のうち最初の要求に対してのみ前記印刷デ−
タを転送する手段をそれぞれ有することを特徴とする。
【0035】これにより、複数ホストと複数プリンタの
接続時のネットワ−ク資源の効率的活用と印刷ジョブ順
序逆転の問題解決を図り、ホスト間の競合による無駄な
待ち時間の問題を解決することができる。
【0036】また、印刷ジョブの要求元である複数の第
1の装置と前記印刷ジョブを処理する第2の装置とを有
する印刷データ送受信のシステムにおいて、前記各第1
の装置が、印刷ジョブの予約要求をそれぞれ発生し、前
記第2の装置が、前記発生された印刷ジョブの予約要求
を発生順に登録し、前記登録の順に印刷ジョブの予約要
求元である第1の装置に印刷デ−タの転送を要求するこ
とを特徴とする。
【0037】この方法により、複数ホストと単一プリン
タの接続時に各ホストから直接にプリンタに対してデ−
タを送信する安価な構成を維持したままでネットワ−ク
資源の効率的活用と印刷ジョブ順序逆転の問題解決を図
ることができる。
【0038】また、印刷ジョブの要求元であるひとつ以
上の第1の装置と前記印刷ジョブを処理する複数の第2
の装置とを有する印刷データ送受信のシステムにおい
て、前記各第1の装置が、印刷ジョブの予約要求を前記
各第2の装置にそれぞれ発行し、前記各第2の装置が、
前記発行された印刷ジョブの予約要求を発行順にそれぞ
れ登録し、前記登録の順に印刷ジョブの予約の要求元で
ある第1の装置に印刷デ−タの転送をそれぞれ求め、前
記各第1の装置は、さらに、前記複数の第2の装置から
の各印刷デ−タ転送要求のうち最初の要求に対してのみ
前記印刷デ−タをそれぞれ転送することを特徴とする。
【0039】この方法により、複数ホストと複数プリン
タの接続時のネットワ−ク資源の効率的活用と印刷ジョ
ブ順序逆転の問題解決を図り、ホスト間の競合による無
駄な待ち時間の問題を解決することができる。
【0040】また、さらに、前記各第2の装置は、前記
印刷デ−タ転送要求に前記要求元である第1の装置が一
定時間内に反応しないことを検出する手段と、前記検出
された結果に基づき以降の印刷ジョブの予約の要求元で
ある第1の装置に印刷デ−タの転送を求める手段とをそ
れぞれ有することを特徴とする。
【0041】これにより、さらに、一部のホストに障害
が発生した場合においてもシステム全体として印刷ジョ
ブの処理が停止するのを防止することができる。
【0042】
【発明の実施の形態】以下、本発明の実施形態を図面を
参照しながら説明する。
【0043】図1は、本発明による印刷デ−タ送受信の
システム及び方法を示す構成図であって、例としてまず
ホストコンピュ−タ、プリンタともに単一であり、これ
らがLAN等により接続される実施形態を示したもので
ある。
【0044】同図に示すように、この実施形態はホスト
コンピュ−タ1、プリンタ2、LAN3とからなり、ホ
ストコンピュ−タ1には、アプリケーション4とスプ−
ラ5とが存在する。プリンタ2には、通信モジュ−ル6
と印刷エンジン7とが存在する。スプ−ラ5と通信モジ
ュール6とは、LAN3を介し制御情報8および印刷デ
−タ9とがやり取りされる。
【0045】ホストコンピュ−タ1はOSを備えアプリ
ケ−ション4を実行する。プリンタ2はホストコンピュ
ータ1の印刷要求を受けプリント動作する。LAN3は
ホストコンピュータ1とプリンタ2をデ−タ接続する。
アプリケーション4はホストコンピュ−タ1上で実行さ
れその過程で印刷要求と印刷デ−タをスプ−ラ5に渡
す。スプ−ラ5は、印刷データを受け取りすぐにプリン
タ2の通信モジュ−ル6に印刷予約要求を出し、その応
答の印刷予約受取通知を受取る。その後印刷デ−タ送信
要求があったら印刷データを通信モジュ−ル6に送信す
る。
【0046】通信モジュール6は、スプ−ラ5から印刷
予約要求を受取りすぐに印刷予約受取通知を返信する。
その後実際に印刷可能であれば印刷デ−タ送信要求し、
印刷データを受信し印刷エンジン7に転送する。印刷エ
ンジン7は供給される印刷データによりプリントする。
制御情報8は、印刷予約要求、印刷予約受付通知、印刷
デ−タ送信要求のための情報であり、印刷デ−タ9は、
LAN3上に流れる印刷に供するためのデ−タである。
【0047】この実施形態の動作を説明する。
【0048】ホストコンピュ−タ1上のアプリケ−ショ
ン4で発生した印刷要求はスプ−ラ5に渡される。スプ
−ラ5はこの印刷要求に続きアプリケーション4から印
刷データを受け取ったら、未送信の印刷デ−タが他に存
在するか否かにかかわらず、すぐにプリンタ2の通信モ
ジュール6内の印刷予約処理モジュ−ルに「印刷予約要
求」を送信する。すなわち、通信モジュール6の内部に
は、新たに印刷予約処理モジュ−ルが加わっている。
【0049】プリンタ2の通信モジュール6内の印刷予
約処理モジュ−ルは、スプ−ラ5からの印刷予約要求を
受け取ったら、即印刷可能か否かにかかわらず、「印刷
予約要求の受付通知」をスプ−ラ5に返信する。このと
き、ホストとジョブを識別する情報を通信モジュ−ル6
内に設けられる印刷予約キュ−に積んでおく。
【0050】印刷予約受付通知を受け取ったスプ−ラ5
は、一旦通信を終了して印刷デ−タ送信要求がプリンタ
2の通信モジュ−ル6から送信されるのを待つ。
【0051】プリンタ2の通信モジュ−ル6は、プリン
タ2が印刷可能になった時点で、すなわち、すぐに印刷
可能であればすぐに、他のジョブの処理中等であればそ
れが終了しプリント可能になったとき、ホスト1のスプ
−ラ5に「印刷デ−タ送信要求」を送信する。このと
き、通信モジュ−ル6内の印刷予約キュ−を参照し受付
の古いジョブからホスト1に対し指定する。
【0052】スプ−ラ5は、印刷デ−タ送信要求を受け
取ったらプリンタ2の通信モジュール6に指定の印刷デ
ータを送信する。
【0053】すなわち、プリンタ2内の通信モジュ−ル
6として、データ受信の他に印刷予約を処理するモジュ
ールを設け、また、能動的にデータ送信要求を送信する
機能を追加したものである。これにより、プリンタ2は
まず印刷ジョブの順序だけを記憶し(印刷予約)、実際
の印刷データは印刷処理するときになってから受け取る
ことになる。
【0054】ここで、以上説明した動作における各機器
の状態、送受信の方向と内容、時間経過を示したのが図
2である。
【0055】そして、ここで、プリンタ2が他のホスト
の印刷ジョブ処理中でありすぐに印刷できない場合であ
るとすると図2は図3に示すように変化する。この場合
スプ−ラ5とプリンタ2との通信は、プリンタ2が他の
処理をする間はそのネットワ−クのための資源利用を含
め一切継続する必要がない。したがって、ネットワ−ク
資源の活用効率を従来に比し高めることができることを
示している。
【0056】次に、本発明の別の印刷デ−タ送受信のシ
ステム及び方法の実施形態を図4により説明する。同図
は、ホストコンピュ−タが2台あり、これらが1台のプ
リンタをLAN等を用いて共有する実施形態の構成を示
す図である。
【0057】同図において、すでに説明した図に示した
構成要素と同一のものには同一の符号を付してその構成
説明および動作説明を省略する。また、2台のホストコ
ンピュ−タ1A、1Bそれぞれには、アプリケ−ション
4A、4Bとスプ−ラ5A、5Bとが存在する。通信モ
ジュ−ル6には、印刷予約処理モジュ−ル41と受信モ
ジュ−ル42とが存在する。
【0058】スプ−ラ5A、5Bは、それぞれ図1のス
プ−ラ5と同じように、アプリケーション4A、4Bか
ら受けとった印刷デ−タをプリンタ2に送信する通常の
機能と、印刷予約要求を送信する機能とプリンタ2から
のデ−タ送信要求により印刷デ−タの送信する機能を有
する。
【0059】プリンタ2の通信モジュ−ル6は、ホスト
1A,1Bから受け取ったデ−タを印刷エンジン7に送
る機能のほか、印刷予約を受け付けてホスト識別情報と
ジョブ識別情報を印刷予約キュ−に積む機能(印刷予約
処理モジュ−ル41)と、ひとつのジョブが終了したら
(印刷エンジン7にデ−タを渡し終わったら)次のジョ
ブのデータ送信要求を送り印刷デ−タを受信する機能
(受信モジュ−ル42)を有する。
【0060】この実施形態の動作を図5を参照して説明
する。
【0061】ここでは、例として、ホスト1Aで2つの
ジョブがほぼ同時に発生し、しばらく後にホスト1Bで
ひとつのジョブが発生した場合について説明する。
【0062】まず、ホスト1AでジョブA−1の要求が
発生し、続いてジョブA−2の要求が発生する。なお、
同図において、説明の都合上ホスト1Aを単にホスト
A、ホスト1Bを単にホストBと記してある。
【0063】スプ−ラ5AはジョブA−1にジョブID
(ジョブ識別情報)00001を割り付け、ホスト1A
の識別情報Aとあわせて印刷予約要求を発行する。続い
てジョブA−2にジョブID00002を割り付け、同
様に印刷予約要求を発行するが、ここでジョブID00
001のデ−タ送信要求が到着することになるので、そ
のデ−タの送信を開始する。
【0064】すなわち、印刷予約とデ−タ送信とは、時
間的に独立してなされる。
【0065】プリンタ2はジョブA−1、ジョブA−2
の印刷予約要求を受けて印刷予約キュ−に(A、000
01)と(A、00002)を登録する。ここで、プリ
ンタ2が使用可能であるのでジョブA−1のデ−タ送信
要求はすぐに送信され、デ−タの受信・印刷を開始す
る。
【0066】この印刷の間のジョブB−1の要求はその
発生により、即時、印刷予約キュ−に(B、0000
1)として登録され、ジョブA−1の印刷が終了のあと
発生順に基づき(A、00002)の処理に続き処理さ
れる。
【0067】すなわち、印刷順序は、印刷予約キュ−に
より実際の印刷の処理の進捗とは独立に管理される。
【0068】以上説明のように、この方式によれば、複
数ホストが単一のプリンタを共有する場合の印刷順序の
逆転現象が起こらない。
【0069】次に、スプ−ラ5(またはスプ−ラ5A、
5B)の具体例について図6を用いて説明する。同図
は、スプ−ラ5の構成の具体例を示す図である。
【0070】ここでは、ホストとプリンタとのネットワ
−クプロトコルとしてTCP/IP(transmis
sion control protocol /in
ternet protocol)を用いるものとし、
したがってアプリケーションからOSへのインタフェー
スとしてはソケットインタフェ−スを用いるものとす
る。なお、TCP/IPは、ネットワ−クプロトコル階
層モデルでいうところのネットワ−ク層とトランスポ−
ト層に当たるものであり、本例はこれらより下位層のプ
ロトコル、物理的仕様は問わない。
【0071】同図に示すように、スプ−ラ5は、ジョブ
管理プロセス51、データ管理プロセス52、スプ−ル
エリア53を有する。
【0072】ジョブ管理プロセス51は、印刷要求待ち
メッセージキュー54を有し、予約処理スレッド55を
生成させ、予約処理スレッド55は予約処理ソケット5
6を生成させる。デ−タ管理プロセス52は、送信要求
待ちソケット57、デ−タ送信スレッド58を生成さ
せ、デ−タ送信スレッド58はデータ送信ソケット59
を生成させる。
【0073】ジョブ管理プロセス51は、アプリケーシ
ョンから印刷要求が到着するのを待ち、デ−タが到着し
たらそのデ−タをスプ−ルエリア53に保存し、また印
刷予約要求の発行処理を行う。
【0074】デ−タ送信管理プロセス52は、プリンタ
からのデ−タ送信要求を待ち、デ−タ送信要求が到着し
たら該当するデ−タをスプ−ルエリア53から検索し、
デ−タの送信処理を行う。
【0075】スプ−ルエリア53は、到着順に順序づけ
られた送信すべき印刷データ53−1、53−2、・・
・を一時的に貯蔵するものである。
【0076】印刷要求待ちメッセ−ジキュ−54は、ア
プリケーションからの印刷要求を待つためのものであ
る。
【0077】両プロセス51、52の中の予約処理スレ
ッド55、デ−タ送信スレッド58、予約処理ソケット
56、送信要求待ちソケット57、デ−タ送信ソケット
59は、印刷予約要求やデ−タを送信するときに、通信
のため一時的に生成されるものである。
【0078】なお、一般的に、プロセスとは、マルチタ
スク環境下で実行されるプログラム単位のこと、スレッ
ドとは、ひとつの実行の単位をいう。
【0079】このスプ−ラ5の動作を図7の流れ図を参
照して説明する。
【0080】起動の後、S61でスプ−ルエリア53の
クリア等の一般的な初期処理を行う。 次に、S62で
プロセス分岐、すなわちジョブ管理プロセス51とデ−
タ管理プロセス52に分岐する。なお、必ずしもプロセ
ス分岐を必要とするわけではないが、印刷予約処理とデ
−タ送信とが別々のタイミングになるので処理手順作成
・実行の便宜上分岐させたものである。
【0081】ジョブ管理プロセス51は、次の手順によ
り実行される。
【0082】まず、S63でアプリケ−ションから印刷
ジョブが到着するのを待つ。到着するまで次のステップ
へは進まない。到着している場合は次のステップに進
む。なお、到着を待つには図6で述べた印刷要求待ちメ
ッセ−ジキュ−54を使うが、必ずしもメッセ−ジキュ
−である必要はなく、例えば割り込み待ちとしてもよ
い。 次に、S64でジョブを識別するための情報(I
D)を付加する。例えば起動時からの通し番号などとす
る。
【0083】次に、S65で印刷デ−タをスプ−ルエリ
ア53に保存する。このとき、ファイル名、上記のID
をデ−タヘッダに付け、読み出し時にジョブを識別でき
るようにする。
【0084】次に、S66で印刷予約要求の処理のため
のスレッド(予約処理スレッド55)を生成する。本ル
ーチンはS63に戻り、次のジョブを待つ。スレッド分
岐をしなくても処理することはできるが、プリンタが電
源オフなどで返答しない場合などに本ルーチンのデ−タ
受付の処理が滞るのを避けるためである。これにより本
ルーチンの効率化を図ることができる。スレッド分岐を
用いる場合、図示しないが後から発生したスレッドが前
のスレッドを追い越さないように排他制御する必要があ
る。
【0085】分岐され生成されたスレッドでは、まずS
67でプリンタの印刷予約処理モジュ−ルと論理的接続
を確立する。具体的には、予約処理ソケット56を生成
して、プリンタ側にコネクション要求を出して承認を受
ける。ここでは、TCP/IPを用いているのでSYN
Cパケットの往復させることによる。
【0086】次に、S68でプリンタの印刷予約処理モ
ジュ−ルに対して印刷予約要求を送信する。印刷予約要
求には、S64で発行したジョブIDと、ホストを識別
する情報(ここでは、TCP/IPを用いているのでI
Pアドレス)が含められる。これらは例えば4バイトと
4バイトの計8バイトとすることができる。
【0087】次に、S69で上記の印刷予約要求の承認
がプリンタから到着するのを待つ。スレッドの最後の処
理S70では、S67で確立した接続を切断する。具体
的には、プリンタに対してコネクション切断要求を出し
(ここでは、TCP/IPを用いているのでFINパケ
ットを往復させるかRSTパケットを発行するかによ
る)、予約処理ソケット56を破棄する。
【0088】したがって、このスレッドの処理が終了し
た時点ではジョブ管理プロセス51はネットワ−クに関
する何らの資源も占有していない。
【0089】デ−タ送信管理プロセス52は、次の手順
により実行される。
【0090】まず、S71でプリンタのデータ受信モジ
ュ−ルから印刷デ−タ送信要求が到着するのを待つ。具
体的には、適当な固定ポ−ト番号(プリンタから接続す
るときに接続先を識別するための番号)の送信要求待ち
ソケット57を作成し、外部からの接続待ちの状態(l
isten)にする。デ−タ送信要求が到着するとプリ
ンタとの接続が確立されるので次のステップに進む。
【0091】次に、S72でデータ送信のためのスレッ
ド(データ送信スレッド58)を生成する。上記S71
で接続が確立したソケットはこのスレッドで、データ送
信ソケット59として承継する。本ルーチンはS71に
戻る。このとき、接続待ちのソケットが存在しないので
新たに同じポート番号の接続待ちソケットを送信要求待
ちソケット57として生成する。なお、スレッド分岐は
必須ではないが分岐する方が処理の効率が向上する。
【0092】分岐され生成されたスレッドでは、まずS
73でデータ要求の情報からジョブのIDを取り出し、
対応する印刷デ−タをスプ−ルエリア53の中から検索
する。 次に、S74で検索した印刷デ−タを上記で接
続が確立しているデータ送信ソケット59の接続を使っ
てプリンタに送信する。
【0093】次に、S75でデータ送信ソケット59の
接続を切断する。
【0094】スレッドの最後の処理S76では、送信が
終了した印刷デ−タをスプ−ルエリア53から削除す
る。
【0095】以上説明のようにして、具体例としてのス
プ−ラ5(またはスプ−ラ5A、5B)の動作はなされ
る。次に、通信モジュ−ル6の具体例について図8を用
いて説明する。同図は、通信モジュ−ル6の構成の具体
例を示す図である。ここでも、ホストとプリンタとのネ
ットワ−クプロトコルとしてTCP/IPを用いるもの
とし、したがってアプリケーションからOSへのインタ
フェースとしてはソケットインタフェ−スを用いるもの
とする。
【0096】同図に示すように、通信モジュ−ル6は印
刷予約処理プロセス71、デ−タ受信プロセス72、印
刷予約キュー73を有する。
【0097】印刷予約処理プロセス71は予約処理ソケ
ット74を生成させ、データ受信プロセス72はデータ
送信ソケット75を生成させる。
【0098】印刷予約処理プロセス71は、ホストから
印刷予約要求が到着するのを待ち、印刷予約要求が到着
したらホスト識別情報(IPアドレス)とジョブIDを
取り出して印刷予約キュ−73に登録し、ホストに印刷
予約受付通知を送信する。
【0099】データ送信プロセス72は、印刷予約キュ
−73にジョブが登録されていれば、その情報からホス
ト識別情報とジョブIDを取り出し、そのホストに対し
てそのジョブを送るように要求し(データ送信要求の送
信)、送られた印刷デ−タをそのままエンジン部へ転送
する。
【0100】印刷予約キュ−73は、印刷予約を到着順
に記録しておく領域で、ホスト識別領域とジョブIDと
その順序が識別できるだけの情報を含む。なお、これら
の情報は、印刷データを含まないので小さい記憶領域で
済む。例えば、ホスト識別情報としてIPアドレス4バ
イト、ジョブIDとして4バイト、順序番号として2バ
イトなら1ジョブあたり10バイトであり、1000ジ
ョブ対応としても10キロバイト以下のメモリ領域を要
するのみである。
【0101】両プロセス71、72の中の予約処理ソケ
ット74、データ送信ソケット75は、印刷予約要求や
デ−タを送信するときに、通信のため一時的に生成され
るものである。
【0102】なお、この通信モジュ−ル6の印刷予約処
理プロセス71、データ受信プロセス72は、それぞ
れ、図4で説明した印刷予約処理モジュ−ル41、受信
モジュ−ル42に相当するものであるが、制御情報の出
口が両者で多少異なっている。すなわち、図4で説明し
た通信モジュール6では制御情報8はすべて印刷予約処
理モジュール41で送受信するが、図8の通信モジュ−
ル6では、データ送信要求に限ってデータ受信プロセス
72から送信する。しかし、この違いは本質的なもので
なくどちらでも発明の目的を達する。
【0103】この通信モジュ−ル6の動作を図9の流れ
図を参照して説明する。
【0104】起動の後、S81で印刷予約キュー73の
クリア等の一般的な初期処理を行う。 次に、S82で
プロセス分岐、すなわち印刷予約処理プロセス71とデ
ータ受信プロセス72に分岐する。なお、必ずしもプロ
セス分岐を必要とするわけではないが、印刷予約処理と
デ−タ送信とが別々のタイミングになるので処理手順作
成・実行の便宜上分岐させたものである。
【0105】印刷予約処理プロセス71は、次の手順に
より実行される。
【0106】まず、S83でホストから印刷予約要求が
到着するのを待つ。具体的には、固定ポ−ト番号の予約
処理ソケット74を作成して接続待ちの状態にする。接
続が確立したら新たな接続待ちのため新しい予約処理ソ
ケット74を生成する。
【0107】次に、S84で印刷予約要求到着によりホ
スト識別情報(IPアドレス)とジョブIDを読み出
し、印刷予約キュー73に書き込む。
【0108】次に、S85でホストに印刷予約受付通知
を送信する。このあとホストからこの接続は切断され
る。このルーチンはS83に戻る。
【0109】データ送信プロセス72は、次の手順によ
り実行される。
【0110】まず、S86で印刷予約キュー73にジョ
ブがあるかどうか調べる。
【0111】ジョブがない場合は、次に、S87で適当
な間隔をおいてからS86に戻る。この処理には、印刷
予約要求到着時に発行する印刷予約処理プロセス71か
らのメッセ−ジやシグナルを用いてもよいが、印刷にか
かる時間に比べて間隔が十分小さければこのようなポ−
リング方式でも問題にならない。
【0112】ジョブがある場合は、S88でそのうちの
もっとも古いもののホスト識別情報とジョブIDを読み
出す。読み出し終わったら印刷予約キュ−73から削除
する。 次に、S89でホストのデータ送信モジュ−ル
と論理的な接続を確立する。
【0113】次に、S90で、S88で読み出したホス
トに対し、S88で読み出したジョブIDに対応する実
際のデータを送信するよう要求する。
【0114】次に、S91で送られてくるデ−タを受信
しプリンタのエンジン部へ転送する。 最後に、S92
で、S89で確立した論理的な接続を切断し、S86に
戻る。 以上説明のようにして、具体例としての通信モ
ジュ−ル6の動作はなされる。 次に、本発明のまた別
の印刷デ−タ送受信のシステム及び方法の実施形態を図
10により説明する。同図は、図1、図4に示した実施
形態と異なり、ホストコンピュ−タ1台に対し複数のプ
リンタ(ここでは3台)を割り付け、これらとの接続に
LAN等を用いた実施形態を示す構成図である。
【0115】同図において、すでに説明の図に示した構
成要素と同一のものには同一の番号を付し、その構成お
よび動作説明を省略する。
【0116】同図に示すように、この実施形態はホスト
コンピュ−タ1、プリンタ2A、2B、2C、LAN3
とからなり、ホストコンピュ−タ1には、アプリケーシ
ョン4とスプ−ラ105とが存在する。プリンタ2A、
2B、2Cには、それぞれ、通信モジュ−ル6A、6
B、6Cと印刷エンジン7A、7B、7Cとが存在す
る。スプ−ラ105と通信モジュール6A、6B、6C
とは、LAN3を介し制御情報8および印刷デ−タ9と
がやり取りされる。
【0117】プリンタ2A、2B、2Cはホストコンピ
ュータ1の印刷要求を受けプリント動作する。LAN3
はホストコンピュータ1とプリンタ2A、2B、2Cを
デ−タ接続する。スプ−ラ105は、印刷データを受け
取りすぐにプリンタ2A、2B、2Cの通信モジュ−ル
6A、6B、6Cすべてに印刷予約要求を出し、その応
答の印刷予約受取通知を受取る。その後最初の印刷デ−
タ送信要求があったら、印刷データを、その最初要求の
通信モジュ−ル6A、6B、6Cのいずれかに送信す
る。2番目以降の印刷デ−タ送信要求に対してはキャン
セルを送信する。
【0118】通信モジュール6A、6B、6Cは、スプ
−ラ105から印刷予約要求を受取りすぐに印刷予約受
取通知を返信する。その後実際に印刷可能であれば印刷
デ−タ送信要求し、印刷データを受信したときは印刷エ
ンジン7A、7B、7Cに転送する。キャンセルを受信
したときはこの処理をスキップする。印刷エンジン7
A、7B、7Cは転送される印刷データによりプリント
する。制御情報8は、印刷予約要求、印刷予約受付通
知、印刷デ−タ送信要求、キャンセルのための情報であ
る。
【0119】この実施形態の動作を説明する。
【0120】スプ−ラ105はアプリケーション4から
印刷データを受け取ったら、未送信の印刷デ−タが他に
存在するか否かにかかわらず、すぐにプリンタ2A、2
B、2Cの通信モジュール6A、6B、6C内の印刷予
約処理モジュ−ルすべてに「印刷予約要求」を送信す
る。
【0121】プリンタ2A、2B、2Cの通信モジュー
ル6A、6B、6C内の印刷予約処理モジュ−ルは、ス
プ−ラ105からの印刷予約要求を受け取ったら、即印
刷可能か否かにかかわらず、「印刷予約要求の受付通
知」をスプ−ラ105に返信する。このとき、ホストと
ジョブを識別する情報を通信モジュ−ル6A、6B、6
C内に設けられる印刷予約キュ−に積んでおく。
【0122】印刷予約受付通知を受け取ったスプ−ラ1
05は、一旦通信を終了して印刷デ−タ送信要求がプリ
ンタ2A、2B、2Cの通信モジュ−ル6A、6B、6
Cから送信されるのを待つ。
【0123】プリンタ2A、2B、2Cの通信モジュ−
ル6A、6B、6Cは、印刷可能になった時点で、すな
わち、すぐに印刷可能であればすぐに、他のジョブの処
理中等であればそれが終了しプリント可能になったと
き、ホスト1のスプ−ラ105に「印刷デ−タ送信要
求」を送信する。このとき、通信モジュ−ル6A、6
B、6C内の印刷予約キュ−を参照し受付の古いジョブ
からホスト1に対し指定する。 スプ−ラ105は、最
初に印刷デ−タ送信要求を受け取ったらプリンタ2A、
2B、2Cの通信モジュール6A、6B、6Cのいずれ
かでその最初要求のものに指定の印刷データを送信す
る。2番目以降の印刷データ送信要求に対してはキャン
セルを送信する。
【0124】すなわち、プリンタ2A、2B、2C内の
通信モジュ−ル6A、6B、6Cとして、データ受信の
他に印刷予約を処理するモジュールを設け、また、能動
的にデータ送信要求を送信する機能を追加し、かつキャ
ンセルを受け付けるようにしたものである。これによ
り、プリンタ2A、2B、2Cはまず印刷ジョブの順序
だけを記憶し(印刷予約)、実際の印刷データは印刷処
理するときになってから受け取ることになるとともに、
キャンセルを受け付けることにより最初に印刷可能とな
ったプリンタでのみ印刷するようになるものである。
【0125】ここで、以上説明した動作における各機器
の状態、送受信の方向と内容、時間経過を一例として示
したのが図11である。
【0126】この場合、図1、図4で説明した実施形態
と同様に、スプ−ラ105とプリンタ2A、2B、2C
との通信は、プリンタが他の処理をする間はそのネット
ワ−クのための資源利用を含め一切継続する必要がな
い。したがって、ネットワ−ク資源の活用効率を従来に
比し高めることができる。また、何度も印刷要求を送信
し続けなければならない状況も生じないので、ホストと
ネットワークの負担も減少する。
【0127】次に、本発明のまた別の印刷デ−タ送受信
のシステム及び方法の実施形態を図12により説明す
る。同図は、ホストコンピュ−タが2台あり、これらに
3台のプリンタがLAN等を用いて割り付けられる実施
形態を示す構成図である。
【0128】同図において、すでに説明した図に示した
構成要素と同一のものには同一の符号を付してその構成
説明および動作説明を省略する。また、2台のホストコ
ンピュ−タ1A、1Bそれぞれには、アプリケ−ション
4A、4Bとスプ−ラ105A、105Bとが存在す
る。プリンタ2A、2B、2Cには、それぞれ、通信モ
ジュ−ル6A、6B、6C、印刷エンジン7A、7B、
7Cとが存在する。
【0129】スプ−ラ105A、105Bは、それぞれ
図10のスプ−ラ105と同じように、アプリケーショ
ン4A、4Bから受けとった印刷デ−タをプリンタ2
A、2B、2Cに送信する通常の機能のほか、印刷予約
要求を送信する機能と、プリンタからのデ−タ送信要求
により印刷デ−タまたはキャンセルを送信する機能を有
する。
【0130】プリンタ2A、2B、2Cの通信モジュ−
ル6A、6B、6Cは、ホスト1A,1Bから受け取っ
たデ−タを印刷エンジン7A、7B、7Cに送る機能の
ほか、印刷予約を受け付けてホスト識別情報とジョブ識
別情報を印刷予約キュ−に積む機能と、ひとつのジョブ
が終了したら(印刷エンジン7A、7B、7Cにデ−タ
を渡し終わったら)次のジョブのデータ送信要求を送り
印刷デ−タを受信する機能と、ホスト1A、1Bからの
キャンセルを受け付ける機能を有する。
【0131】この実施形態の動作を図13を参照して説
明する。
【0132】ここでは、例として、まずホスト1Aで2
つのジョブが順を追って発生し、これらに続き後ホスト
1Bでひとつのジョブが発生した場合について説明す
る。また、説明を本質を変えぬまま簡潔にするためプリ
ンタはプリンタ2A、2Bの2台とする。
【0133】まず、ホスト1AでジョブA−1の要求が
発生する。ホスト1AはこのジョブにID00001を
割り当て、プリンタ2A,2Bの両方に印刷予約要求を
送信する。これらが段階141である。なお、同図にお
いて、説明の都合上ホスト1Aを単にホストA、ホスト
1Bを単にホストBと記し、プリンタ2Aを単にプリン
タA、プリンタ2Bを単にプリンタBと記してある。
【0134】次に、プリンタ2A、2Bは即座に印刷予
約受付を通知する。同図の場合は両方ともレディ状態な
のでほとんど間を置かずデータ送信要求も送信する。こ
れらが段階142である。
【0135】次に、ホスト1Aは最初に受けたデータ送
信要求(この例ではプリンタ2Aからの方)に対して印
刷データを送信し、後から到着したデータ送信要求に対
してはキャンセルを送信する。この結果、プリンタ1A
はジョブA−1の印刷を開始し、プリンタ1Bは何も印
刷せずにレディを維持する。これらが段階143であ
る。
【0136】次に、ホスト1Aで次のジョブA−2が発
生する。ホスト1Aは無条件に(ジョブA−1の進行状
態にかかわらず)、プリンタ2A、2Bに対して印刷予
約要求を発行する。印刷予約要求の受付はすぐに両方の
プリンタ2A、2Bから返信される。この例ではプリン
タ2AはまだジョブA−1の印刷中であるため、この時
点では、プリンタ2Bのみからデータ送信要求が送信さ
れ、プリンタ2Bで印刷が開始される。これらが段階1
44である。
【0137】次に、ホスト1BでジョブB−1が発生す
る。両方のプリンタ2A、2Bに印刷予約を送信する。
印刷予約受付通知はすぐに到着するが、両プリンタとも
印刷中のため、デ−タ送信要求はまだ発行されない。こ
れらが段階145である。
【0138】次に、プリンタ2AでジョブA−1の印刷
が終了すると、プリンタ2Aは次の印刷予約があるかど
うかチェックする。この例では、段階144、145で
登録された(A、00002)と(B、00001)が
あるので、順序に従ってホスト1AにジョブA−2のデ
ータ送信要求を送信する。ホスト1Aは、このデータは
すでにプリンタ2Bに送信済みのため、キャンセルを発
行する。プリンタ2Aはキャンセルを受けたら再び印刷
予約の有無をチェックし、(B、00001)があるの
で、ホスト1Bに対してジョブB−1のデ−タ送信要求
を送信し、データを受け取って印刷を開始する。これら
が段階146である。
【0139】なお、この後、図示のように、プリンタ2
Bの印刷ジョブA−2が完了すると、プリンタ2Bはホ
スト1Bにデ−タ送信要求を送信するが、ホスト1Bは
すでにこのデ−タを送信開始済なのでキャンセルを送信
する。
【0140】以上のように、印刷ジョブは発生順に処理
され、ジョブA−1の処理中に発生したジョブB−1
が、先に発生したジョブA−2に先んじて処理される状
況は生じない。すなわち、すべてのホストで発生した印
刷要求は発生順にすべてのプリンタにキューイングさ
れ、印刷が開始できるプリンタで順次処理される。
【0141】次に、図10に示したスプ−ラ105(図
12に示したスプ−ラ105A、105Bも同じであ
る。)の動作の一例を図14の流れ図を参照して説明す
る。
【0142】この場合、図1で説明したスプ−ラ5ある
いは図4で説明したスプ−ラ5A、5Bの動作との違い
は、印刷予約要求の出し方(スプ−ラ105等は複数台
のプリンタに同時に出す。)、データ送信要求の処理の
仕方(スプ−ラ105等は要求があったIDのデータが
ないかすでに送信中の場合キャンセルを送信する。)で
ある。
【0143】起動の後、S131でスプ−ルエリアのク
リア等の一般的な初期処理を行う。次に、S132でプ
ロセス分岐、すなわちジョブ管理プロセスとデ−タ管理
プロセスに分岐する。なお、必ずしもプロセス分岐を必
要とするわけではないが、印刷予約処理とデ−タ送信と
が別々のタイミングになるので処理手順作成・実行の便
宜上分岐させたものである。
【0144】ジョブ管理プロセスは、次の手順により実
行される。
【0145】まず、S133でアプリケ−ションから印
刷ジョブが到着するのを待つ。到着するまで次のステッ
プへは進まない。到着している場合は次のステップに進
む。次に、S134でジョブを識別するための情報(I
D)を付加する。例えば起動時からの通し番号などとす
る。
【0146】次に、S135で印刷デ−タをスプ−ルエ
リアに保存する。このとき、ファイル名、上記のIDを
デ−タヘッダに付け、読み出し時にジョブを識別できる
ようにする。
【0147】次に、S136で印刷予約要求の処理のた
めのスレッドを割り付けられるプリンタの数だけ生成す
る。本ルーチンはS133に戻り、次のジョブを待つ。
スレッド分岐をしなくても処理することはできるが、プ
リンタが電源オフなどで返答しない場合などに本ルーチ
ンのデ−タ受付の処理が滞るのを避けるためである。こ
れにより本ルーチンの効率化を図ることができる。スレ
ッド分岐を用いる場合、図示しないが後から発生したス
レッドが前のスレッドを追い越さないように排他制御す
る必要がある。
【0148】分岐され生成されたスレッドでは、まずS
137でプリンタの印刷予約処理モジュ−ルと論理的接
続を確立する。
【0149】次に、S138でプリンタの印刷予約処理
モジュ−ルに対して印刷予約要求を送信する。印刷予約
要求には、S134で発行したジョブIDと、ホストを
識別する情報が含められる。
【0150】次に、S139で上記の印刷予約要求の承
認がプリンタから到着するのを待つ。 スレッドの最後
の処理S140では、S137で確立した接続を切断す
る。
【0151】したがって、このスレッドの処理が終了し
た時点ではジョブ管理プロセスはネットワ−クに関する
何らの資源も占有していない。
【0152】デ−タ送信管理プロセスは、次の手順によ
り実行される。
【0153】まず、S141でプリンタのデータ受信モ
ジュ−ルから印刷デ−タ送信要求が到着するのを待つ。
デ−タ送信要求が到着するとプリンタとの接続が確立さ
れるので次のステップに進む。
【0154】次に、S142でデータ送信のためのスレ
ッドを生成する。本ルーチンはS141に戻る。なお、
スレッド分岐は必須ではないが分岐する方が処理の効率
が向上する。
【0155】分岐され生成されたスレッドでは、まずS
143でデータ要求の情報からジョブのIDを取り出
し、対応する印刷デ−タをスプ−ルエリアの中から検索
する。次に、S144で送るべき印刷デ−タが存在して
いるか、すでに別のプリンタに対して送信を開始してい
ないかをチェックする。1つのデ−タに対して印刷予約
をプリンタ数分発行しているため、データ送信要求が複
数回到着する可能性があり、このチェックが必要にな
る。データがすでにないか、送信が開始されている場
合、2回目以降のデータ送信要求であると判断できる。
【0156】次に、S145で、S144のチェックで
今回が最初のデ−タ送信要求であると判定されたら印刷
データの送信を開始する。
【0157】また、S146で、S144のチェックで
2回目以降のデ−タ送信要求であると判定されたら、プ
リンタに対して印刷のキャンセルを送信する。
【0158】次に、S147でデータ受信モジュ−ルと
の接続を切断する。
【0159】スレッドの最後の処理S148では、送信
が終了した印刷デ−タをスプ−ルエリアから削除する。
【0160】以上説明のようにして、具体例としてのス
プ−ラ105(またはスプ−ラ105A、105B)の
動作はなされる。
【0161】次に、また別の本発明の実施形態を図15
を参照して説明する。同図は、ホストが2台でプリンタ
1台を共有する場合(図4に示した構成)であって、さ
らに、ホストが印刷予約要求を送信した後でデータ送信
する前等に障害が発生した場合にも対応させた場合の、
各機器の状態、送受信の方向と内容、時間経過を示す図
である。
【0162】この場合の、図4の構成と図4の各機器の
状態等である図5の場合との違いは、ホストAのジョブ
A−1、ジョブA−2発生後にホストAには障害が発生
し、ホストBのジョブB−1が生じているにもかかわら
ず、ジョブB−1がホストAの復旧待ちになるのを防止
できることである。
【0163】すなわち、プリンタからのデ−タ送信要求
に対してホストが一定時間(例えば図15の場合は10
秒)無応答であるときは、そのホスト以外の印刷予約に
対してデ−タ送信要求を発行する。図15の場合、1番
目と2番目の印刷予約が無応答のホストAのジョブであ
るから、3番目の印刷予約(B、00001)に対応す
るデ−タ送信要求を送信する。そして、このジョブが終
わったらはじめに戻って(A、00001)の処理を試
みる。
【0164】このように、この実施形態では、システム
上に障害が起こったホストが存在する場合でも、システ
ム全体の完全な停止を避けることができる。
【0165】なお、このような動作を実現するには、通
信モジュール6の動作フロ−である図9において、S8
8の「キューから削除」をS91以降に移動し、S91
はタイマ−処理を併用すればよい。
【0166】
【発明の効果】以上詳述したように、請求項1、請求項
3記載の本発明によれば、印刷ジョブ要求をその発生順
に登録し印刷デ−タの転送は前記の要求とは独立に行う
ことにしたので、複数ホストと単一プリンタの接続時に
各ホストから直接にプリンタに対してデ−タを送信する
安価な構成を維持したままでネットワ−ク資源の効率的
活用と印刷ジョブ順序逆転の問題解決を図ることができ
る。
【0167】また、請求項2、請求項4記載の本発明に
よれば、印刷ジョブ要求を複数プリンタでその伝達順に
登録し最も早く印刷可能状態になったプリンタが実際に
印刷処理することにしたので、複数ホストと複数プリン
タの接続時のネットワ−ク資源の効率的活用と印刷ジョ
ブ順序逆転の問題解決を図り、ホスト間の競合による無
駄な待ち時間の問題を解決することができる。
【0168】また、請求項5記載の本発明によれば、さ
らに、転送の求めに一定時間内に反応しないことを検出
し、この検出に基づき以降の登録に対応する印刷デ−タ
の転送を求めるので、ホストに障害が発生した場合にお
いてもシステム全体として印刷ジョブの処理が停止する
のを防止することができる。
【図面の簡単な説明】
【図1】本発明の一実施形態を示す構成図。
【図2】図1の実施形態における各機器の状態、送受信
信号の向きと内容、時間経過の一例を説明する説明図。
【図3】図1の実施形態における各機器の状態、送受信
信号の向きと内容、時間経過の他の例を説明する説明
図。
【図4】本発明の他の実施形態を示す構成図。
【図5】図4の実施形態における各機器の状態、送受信
信号の向きと内容、時間経過の一例を説明する説明図。
【図6】本発明で用いられるスプ−ラの具体例を示す構
成図。
【図7】図6のスプ−ラの動作を説明する流れ図。
【図8】本発明で用いられる通信モジュ−ルの具体例を
示す構成図。
【図9】図8の通信モジュ−ルの動作を説明する流れ
図。
【図10】本発明のまた他の実施形態を示す構成図。
【図11】図10の実施形態における各機器の状態、送
受信信号の向きと内容、時間経過の一例を説明する説明
図。
【図12】本発明のまた他の実施形態を示す構成図。
【図13】図12の実施形態における各機器の状態、送
受信信号の向きと内容、時間経過の一例を説明する説明
図。
【図14】図10、図12に示す実施形態で用いるスプ
−ラの動作の一例を説明する流れ図。
【図15】本発明のまた他の実施形態の動作の一例を説
明する説明図。
【図16】従来の印刷データ送受信のシステムの一例を
示す構成図。
【図17】図16に示す構成における各機器の状態、送
受信信号の向きと内容、時間経過の一例を説明する説明
図。
【図18】図16に示す構成における各機器の状態、送
受信信号の向きと内容、時間経過の他の例を説明する説
明図。
【図19】図16に示す構成における各機器の状態、送
受信信号の向きと内容、時間経過のまた他の例を説明す
る説明図。
【図20】従来の印刷データ送受信のシステムの他の例
を示す構成図。
【図21】図20に示す構成における各機器の状態、送
受信信号の向きと内容、時間経過の一例を説明する説明
図。
【図22】従来の印刷データ送受信のシステムのまた他
の例を示す構成図。
【図23】従来の印刷データ送受信のシステムのまた他
の例を示す構成図。
【図24】図22に示す構成における各機器の状態、送
受信信号の向きと内容、時間経過の一例を説明する説明
図。
【図25】従来の印刷データ送受信のシステムのまた他
の例を示す構成図。
【図26】図25に示す構成の状態変化を説明する説明
図。
【符号の説明】
1、1A、1B ホストコンピュータ 2、2A、2B、2C プリンタ 3 LAN 4、4A、4B アプリケーションプログラム 5、5A、5B スプ−ラ 6、6A、6B、6C 通信モジュール 7、7A、7B、7C 印刷エンジン 8 制御情報 9 印刷データ 41 印刷予約処理モジュ−ル 42 受信モジュール 51 ジョブ管理プロセス 52 データ送信管理プロセス 53 スプ−ルエリア 71 印刷予約処理プロセス 72 データ受信プロセス 73 印刷予約キュ− 105、105A、105B、105C スプ−ラ

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 印刷ジョブの要求元である複数の第1の
    装置と前記印刷ジョブを処理する第2の装置とを有し、 前記各第1の装置は、 印刷ジョブの予約要求を発生する手段をそれぞれ有し、 前記第2の装置は、 前記発生された印刷ジョブの予約要求を発生順に登録す
    る手段と、前記登録の順に印刷ジョブの予約要求元であ
    る第1の装置に印刷デ−タの転送を要求する手段とを有
    することを特徴とする印刷データ送受信のシステム。
  2. 【請求項2】 印刷ジョブの要求元であるひとつ以上の
    第1の装置と前記印刷ジョブを処理する複数の第2の装
    置とを有し、 前記各第1の装置は、 印刷ジョブの予約要求を前記各第2の装置に発行する手
    段をそれぞれ有し、 前記各第2の装置は、 前記発行された印刷ジョブの予約要求を発行順に登録す
    る手段と、前記登録の順に印刷ジョブの予約要求元であ
    る第1の装置に印刷デ−タの転送を要求する手段とをそ
    れぞれ有し、 前記各第1の装置は、さらに、前記複数の第2の装置か
    らの各印刷デ−タ転送要求のうち最初の要求に対しての
    み前記印刷デ−タを転送する手段をそれぞれ有すること
    を特徴とする印刷デ−タ送受信のシステム。
  3. 【請求項3】 印刷ジョブの要求元である複数の第1の
    装置と前記印刷ジョブを処理する第2の装置とを有する
    印刷データ送受信のシステムにおいて、 前記各第1の装置が、 印刷ジョブの予約要求をそれぞれ発生し、 前記第2の装置が、 前記発生された印刷ジョブの予約要求を発生順に登録
    し、前記登録の順に印刷ジョブの予約要求元である第1
    の装置に印刷デ−タの転送を要求することを特徴とする
    印刷データ送受信の方法。
  4. 【請求項4】 印刷ジョブの要求元であるひとつ以上の
    第1の装置と前記印刷ジョブを処理する複数の第2の装
    置とを有する印刷データ送受信のシステムにおいて、 前記各第1の装置が、 印刷ジョブの予約要求を前記各第2の装置にそれぞれ発
    行し、 前記各第2の装置が、 前記発行された印刷ジョブの予約要求を発行順にそれぞ
    れ登録し、前記登録の順に印刷ジョブの予約の要求元で
    ある第1の装置に印刷デ−タの転送をそれぞれ求め、 前記各第1の装置は、さらに、 前記複数の第2の装置からの各印刷デ−タ転送要求のう
    ち最初の要求に対してのみ前記印刷デ−タをそれぞれ転
    送することを特徴とする印刷デ−タ送受信の方法。
  5. 【請求項5】 請求項1または2記載の印刷デ−タ送受
    信のシステムにおいて、さらに、 前記各第2の装置は、 前記印刷デ−タ転送要求に前記要求元である第1の装置
    が一定時間内に反応しないことを検出する手段と、 前記検出された結果に基づき以降の印刷ジョブの予約の
    要求元である第1の装置に印刷デ−タの転送を求める手
    段とをそれぞれ有することを特徴とする請求項1または
    2記載の印刷デ−タ送受信のシステム。
JP11184406A 1999-06-29 1999-06-29 印刷データ送受信のシステム及び方法 Withdrawn JP2001014118A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11184406A JP2001014118A (ja) 1999-06-29 1999-06-29 印刷データ送受信のシステム及び方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11184406A JP2001014118A (ja) 1999-06-29 1999-06-29 印刷データ送受信のシステム及び方法

Publications (1)

Publication Number Publication Date
JP2001014118A true JP2001014118A (ja) 2001-01-19

Family

ID=16152622

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11184406A Withdrawn JP2001014118A (ja) 1999-06-29 1999-06-29 印刷データ送受信のシステム及び方法

Country Status (1)

Country Link
JP (1) JP2001014118A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005107641A (ja) * 2003-09-29 2005-04-21 Seiko Epson Corp 印刷装置
EP1710682A2 (en) * 2005-03-31 2006-10-11 Canon Kabushiki Kaisha A print controller with function for guaranteeing the order of print requests received, and a control method therefor
JP2010182242A (ja) * 2009-02-09 2010-08-19 Canon Inc 画像形成装置、その制御方法およびプログラム
JP2011014064A (ja) * 2009-07-06 2011-01-20 Hitachi Icc Co Ltd セキュアプリントシステム
JP2013041551A (ja) * 2011-08-19 2013-02-28 Canon Inc 印刷制御装置、印刷制御方法、およびプログラム
CN104699428A (zh) * 2013-12-04 2015-06-10 佳能株式会社 打印装置及打印控制方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005107641A (ja) * 2003-09-29 2005-04-21 Seiko Epson Corp 印刷装置
EP1710682A2 (en) * 2005-03-31 2006-10-11 Canon Kabushiki Kaisha A print controller with function for guaranteeing the order of print requests received, and a control method therefor
EP1710682A3 (en) * 2005-03-31 2010-03-03 Canon Kabushiki Kaisha A print controller with function for guaranteeing the order of print requests received, and a control method therefor
JP2010182242A (ja) * 2009-02-09 2010-08-19 Canon Inc 画像形成装置、その制御方法およびプログラム
US8665474B2 (en) 2009-02-09 2014-03-04 Canon Kabushiki Kaisha Method, system, apparatus and medium for minimizing unnecessary processing associated with connection/disconnection of a same host
JP2011014064A (ja) * 2009-07-06 2011-01-20 Hitachi Icc Co Ltd セキュアプリントシステム
JP2013041551A (ja) * 2011-08-19 2013-02-28 Canon Inc 印刷制御装置、印刷制御方法、およびプログラム
CN104699428A (zh) * 2013-12-04 2015-06-10 佳能株式会社 打印装置及打印控制方法

Similar Documents

Publication Publication Date Title
US5613155A (en) Bundling client write requests in a server
CA2573162C (en) Apparatus and method for supporting connection establishment in an offload of network protocol processing
JP4886685B2 (ja) ネットワーク・プロトコル処理のオフロードにおいてメモリ管理をサポートする装置および方法
CN106411767B (zh) 通过远程直接存储器访问的传输操作的方法、系统和介质
US20080133654A1 (en) Network block device using network asynchronous i/o
US11068412B2 (en) RDMA transport with hardware integration
US11025564B2 (en) RDMA transport with hardware integration and out of order placement
US8352619B2 (en) Method and system for data processing
JPH1185662A (ja) 通信制御方法及び装置及び通信システム
JPH0816540A (ja) 並列計算機におけるメッセージ通信方式
CN110532106A (zh) 进程间的通讯方法、装置、设备和存储介质
CN115379018A (zh) 使用数据路径状态复制和中间设备映射进行服务分配的方法和系统
JPH11327815A (ja) 通信制御方法及び装置及び通信システム
JP2001014118A (ja) 印刷データ送受信のシステム及び方法
CN110445580B (zh) 数据发送方法及装置、存储介质、电子装置
JP3459165B2 (ja) パケット処理方法とネットワ−クア−キテクチャ
JP5128117B2 (ja) Tcp/ipリンクおよびトラフィックを選択的に起動する方法、コンピュータ・ネットワーク・システム、およびプログラム記憶デバイス
US7839875B1 (en) Method and system for an efficient transport loopback mechanism for TCP/IP sockets
CN115150464A (zh) 应用代理方法、装置、设备及介质
JP2003330833A (ja) 計算機システム
KR101073479B1 (ko) 분할 프로토콜 전송 방법 및 프로세싱 시스템
US20210406013A1 (en) Processing device, information processing device, and information processing method
JP2003317039A (ja) コマンド制御方法及びicカード利用端末装置及びメモリカード
JP2853607B2 (ja) ジョブ間通信システム
JPH11328130A (ja) ネットワークジョブ実行システム

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: 20060905