JP2003256178A - 装置間データ通信の制御装置及び方法 - Google Patents

装置間データ通信の制御装置及び方法

Info

Publication number
JP2003256178A
JP2003256178A JP2002057537A JP2002057537A JP2003256178A JP 2003256178 A JP2003256178 A JP 2003256178A JP 2002057537 A JP2002057537 A JP 2002057537A JP 2002057537 A JP2002057537 A JP 2002057537A JP 2003256178 A JP2003256178 A JP 2003256178A
Authority
JP
Japan
Prior art keywords
data
time
reception
receiving
channel
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.)
Granted
Application number
JP2002057537A
Other languages
English (en)
Other versions
JP3951113B2 (ja
Inventor
Hiroshi Takeuchi
博 武内
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson 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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2002057537A priority Critical patent/JP3951113B2/ja
Publication of JP2003256178A publication Critical patent/JP2003256178A/ja
Application granted granted Critical
Publication of JP3951113B2 publication Critical patent/JP3951113B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

(57)【要約】 【課題】 データチャネルとコントロールチャネルによ
る装置間データ通信で、受信側装置からの応答が遅れて
送信側装置でタイムアウトが生じることを防止する。 【解決手段】 例えばホストからプリンタへのデータ送
信の場合、プリンタは、ホストからデータチャネルで印
刷データを受信している(S15)間、ホスト側タイムア
ウト制限時間より短い所定の上限時間のカウントを行い
(S16)、印刷データ受信完了前に上限時間をカウント
し終わると(S20)、印刷データ受信未完了の応答をホ
ストに返送する(S21)。ホストは、印刷データ送信最
中に、コントロールチャネルでの制御データ送信要求が
生じても(S17)、その要求を保留し(S18)、プリンタ
から印刷データ受信未完了の応答が来たとき(S21)、
印刷データ送信を中断して(S23)、コントロールチャ
ネルでの制御データ送信を行う(S24)。

Description

【発明の詳細な説明】
【0001】
【発明が属する技術分野】本発明は、例えばホスト装置
と電子式プリンタとの間の印刷データや制御データの通
信のような、装置間のデータ通信を制御するための装置
及び方法に関する。
【0002】
【従来の技術】装置間の通信インタフェースには、多く
の種類のものが知られている。ある種の通信インタフェ
ース、例えばIEEE1394では、アクシデントが発生しても
データを確実に伝送できるように幾つかの方策が採られ
ている。
【0003】例えば、IEEE1394通信インタフェースで一
方の装置から他方の装置へデータを伝送している途中
で、受信側の装置が何らかの原因でデータ受信を進めら
れなくなったとする。この場合、受信側装置から送信側
装置へ、処理未完了の応答を送ることで、そのデータ通
信を一時的に中断し、後に、同じデータの伝送を再度行
うことができる。
【0004】また、一方の装置から他方の装置へデータ
を伝送している途中で、両装置が接続されたIEEE1394の
通信ネットワークの構成が変化する(例えば、その通信
ネットワークの何処かの箇所で通信ケーブルが抜かれた
り、その通信ケーブルが再び接続されたりする、など)
とする。この場合、その通信ネットワークの構成が変化
した直後に両装置にてバスリセットが行われてネットワ
ーク・トポロジが再構築され、その直後に、バスリセッ
ト直前に送信されていたと同じデータが再度伝送される
ようになっている。
【0005】
【発明が解決しようとする課題】説明のための一例とし
て、ホスト装置と電子式プリンタとの間のデータ通信を
取り上げる。ホスト装置からプリンタへ送信されるデー
タの種類には、文書の印刷をプリンタに行わせるための
印刷データや、所定の特別の動作(例えば、プリンタス
テータスの返送、インクカートリッジ交換、テスト印
刷、ヘッドクリーニングなど)をプリンタに行わせるた
めの制御データなどがある。ホスト装置では、印刷デー
タを出力するアプリケーションプログラム(例えば、プ
リンタドライバ)や制御データを出力するアプリケーシ
ョンプログラム(例えば、プリンタユーティリティ)
は、それぞれ、プリンタに対してデータを出力した後、
プリンタでのそのデータの受信状態又は処理状態を知ら
せるプリンタからの応答を待ち、その待ち時間をカウン
トする。もし、応答が来ずに所定の制限時間が経過する
と(タイムアウトイベントの発生)、そのアプリケーシ
ョンプログラムは、プリンタとの通信が不能である(例
えば、プリンタが接続されていないか電源が入っていな
い)とみなし、所定の対処方法を行うことになる。
【0006】ところとで、プリンタとホスト装置間の通
信が可能な場合であっても、上記のタイムアウトイベン
トが発生してしまう場合がある。
【0007】例えば、プリンタが印刷データの受信を開
始した後、その印刷データを全部を受信完了するまでに
長い時間がかかりすぎて、ホスト装置への応答の返送が
長く遅れると、上記のタイムアウトイベントが発生して
しまう。
【0008】また、例えば、IEEE1394のように、データ
チャネルとコントロールチャネルという異なる論理チャ
ネルをもつ通信インタフェースが用いられる場合には、
次のようなトラブルによりタイムアウトイベントが発生
することがある。すなわち、多くのシステムは、印刷デ
ータはデータチャネルで、制御データはコントロールチ
ャネルで送るように設計されている。この場合、通信イ
ンタフェースの規格では、データチャネルとコントロー
ルチャネルを並行的に用いて、印刷データと制御データ
を同時並行的に送ることが可能な筈なのだが、しかし、
現実のある種のパーソナルコンピュータシステムでは、
この2つのチャネルを用いて印刷データと制御データを
同時並行的に送ると、制御データに関して、プリンタか
らの応答がホスト装置内のアプリケーションプログラム
にに正常に認識されない、というトラブルが発生するこ
とがある。その原因はまだ解明されていないが、とにか
く、そのようなトラブルが生じると、制御データに関し
て上記のタイムアウトイベントが発生してしまう。
【0009】上記のように、ホスト装置のアプリケーシ
ョンプログラムでタイムアウトイベントが発生するよう
なシステムでは、上述したIEEE1394のように通信インタ
フェースそれ自体がデータ通信の中断を補償できる方策
を採っていても、ホスト装置とプリンタとの間の確実な
データ通信を保証することができない。
【0010】また、上述したように、IEEE1394の通信ネ
ットワークにおいて、印刷データ伝送の最中にネットワ
ーク構成が変化した場合、バスリセットが行われてネッ
トワーク・トポロジが再構築され、その後に、バスリセ
ット直前と同じ印刷データが再送信されるるようになっ
ている。この場合、プリンタでは、その印刷データのう
ち、バスリセット前に受信し終わった部分については、
再度受信せずに、未だ受信していない残りの部分だけを
選択的に受信することが望ましい。しかし、このような
残りデータの選択的受信を行うことは簡単ではない。す
なわち、バスリセットによってネットワークト・ポロジ
が再構築されるため、ホスト装置とプリンタのネットワ
ーク上でのアドレスや、ホスト装置内のリソースのアド
レスなどが、バスリセット前とは違ったものに変わって
しまうことがある。そうすると、プリンタとしては、ホ
スト装置内の印刷データのどの部分が受信済みでどの部
分が未受信なのか分からなくなってしまう。
【0011】上記のような問題は、ホスト装置とプリン
タとの通信だけに限らず、他の様々な装置間通信でも存
在するであろう。
【0012】本発明は、以上のような事情に鑑みなされ
たもので、その目的は、上記のタイムアウトとネットワ
ークトポロジ再構築の2つの問題のうち、特に前者の問
題を解決することにある。
【0013】すなわち、本発明の目的は、装置間のデー
タ通信において、受信側装置がデータ受信に手間取って
いる場合でも、送信側装置でのタイムアウトイベントの
発生を防止することにある。
【0014】また、本発明の別の目的は、装置間のデー
タ通信において、データチャネルとコントロールチャネ
ルによる同時並行的な通信にトラブルがあっても、送信
側装置でのタイムアウトイベントの発生を防止すること
にある。
【0015】
【課題を解決するための手段】本発明の第1の形態に従
う装置間のデータ通信制御装置は、受信側装置にて、送
信側装置からデータ受信を行っている間の経過時間をカ
ウントするタイマと、前記受信側装置にて、前記データ
受信が完了する前に前記タイマによるカウント値が所定
の上限時間に達したとき受信側タイムアウトイベントを
発生する受信側タイムアウト手段と、前記受信側装置に
て、前記タイムアウトイベントに応答して、前記データ
受信に関する応答を前記送信側装置へ返送する応答手段
と、前記送信装置にて、前記受信側装置からの前記デー
タ受信に関する応答を待っている間に所定の制限時間を
経過したとき、送信側タイムアウトイベントを発生する
送信側タイムアウト手段とを備える。そして、前記受信
側タイムアウト手段が用いる前記上限時間が、前記送信
側タイムアウト手段が用いる前記制限時間よりも短く設
定されている。
【0016】本発明の第2の形態に従う装置間のデータ
通信制御装置は、データチャネルとコントロールチャネ
ルをもつ通信インタフェースによるデータ通信を制御す
るための装置においものである。この制御装置は、受信
側装置にて、送信側装置から前記データチャネルでのデ
ータ受信を行っている間の経過時間をカウントするタイ
マと、前記受信側装置にて、前記データチャネルでのデ
ータ受信が完了する前に前記タイマによるカウント値が
所定の上限時間に達したとき受信側タイムアウトイベン
トを発生する受信側タイムアウト手段と、前記受信側装
置にて、前記受信側タイムアウトイベントに応答して、
前記データチャネルでのデータ受信に関する未完了の応
答を前記送信側装置へ返送し、また、前記データチャネ
ルでのデータ受信が完了したとき、前記データチャネル
でのデータ受信に関する完了の応答を前記送信側装置へ
返送し、さらに、前記コントロールチャネルでのデータ
受信が完了したとき、前記コントロールチャネルでのデ
ータ受信に関する完了の応答を前記送信側装置へ返送す
る応答手段と、前記送信側装置にて、前記受信側装置か
らの前記データチャネルでのデータ受信に関する応答を
待っている間に、前記コントロールチャネルでのデータ
送信の要求が発生した場合、前記コントロールチャネル
でのデータ送信の実行を一時的に保留し、その後、前記
受信側装置から前記データチャネルでのデータ受信に関
する応答を受けた後に、前記コントロールチャネルでの
データ送信を開始する排他制御手段と、前記送信側装置
にて、前記受信側装置からの前記データチャネルでのデ
ータ受信に関する応答を待っている間の経過時間が所定
の第1の制限時間を経過したとき、第1の送信側タイムア
ウトイベントを発生する第1の送信側タイムアウト手段
と、前記送信側装置にて、前記受信側装置からの前記コ
ントロールチャネルでのデータ受信に関する応答を待っ
ている間の経過時間が所定の第2の制限時間を経過した
とき、第2の送信側タイムアウトイベントを発生する第2
の送信側タイムアウト手段とを備える。そして、前記受
信側タイムアウト手段が用いる前記上限時間が、前記第
1及び第2の送信側タイムアウト手段が用いる前記第1及
び第2の制限時間よりも短く設定されている。
【0017】
【発明の実施の形態】以下、説明のための一例として、
パーソナルコンピュータのようなホスト装置と、レーザ
プリンタやインクジェットプリンタのような電子式プリ
ンタとの間のデータ通信を取り上げる。
【0018】図1は、ホスト装置と電子式プリンタ間の
データ通信に適用された本発明の一実施形態における、
データ通信に関わるホスト装置内のプログラム又はハー
ドウェアモジュールの構成を示す。
【0019】プリンタドライバ10は、ユーザの要求に
応答して、ユーザ所望の文書の印刷データを作成して出
力するものである。プリンタドライバ10から出力され
た印刷データは、スプーラ30に一時格納された後、ス
プーラ30から送出されて、ポートモニタ40、IEEE13
94.3コントローラ50、SBP2コントローラ60、IEEE13
94バスドライバ70、IEEE1394コネクタ80及びIEEE13
94ケーブル90を通じてプリンタへ送られるようになっ
ている。
【0020】また、プリンタユーティリティ20は、定
期的に又はユーザの要求に応答してプリンタの現在のス
テータスをプリンタから取得したり、ユーザの要求に応
答してプリンタに対してメンテナンスなどのための各種
の特別動作(例えば、インクカートリッジ交換、ヘッド
クリーニング、テスト印刷、ステータス印刷、給紙/排
紙など)を行わせたりするための制御データを出力する
ものである。プリンタユーティリティ20から出力され
た制御データは、ポートモニタ40、IEEE1394.3コント
ローラ50、SBP2コントローラ60、IEEE1394バスドラ
イバ70、IEEE1394コネクタ80及びIEEE1394ケーブル
90を通じてプリンタへ送られるようになっている。
【0021】IEEE1394.3コントローラ50は、規格IEEE
1394.3に準拠した通信プロトコル制御を行うものであ
り、以下に説明する本発明の原理に従うホスト装置の通
信制御動作は、主として、このIEEE1394.3コントローラ
50によって行われる。SBP2コントローラ60は、規格
SBP2に準拠した通信プロトコル制御を行うものである。
IEEE1394バスドライバ70は、規格IEEE1394に準拠した
特に物理的な通信信号制御を行うものである。IEEE1394
コネクタ80は、IEEE1394ケーブル90が接続される物
理的なコネクタである。
【0022】図示してないが、プリンタ側にも上記と同
様に、ポートモニタ、IEEE1394.3コントローラ、SBP2コ
ントローラ、IEEE1394バスドライバ、IEEE1394コネクタ
がある。そして、ホスト装置からの印刷データや制御デ
ータを解釈してプリンタを制御するプログラム又は回路
が、ポートモニタの上位に存在する。以下に説明する本
発明の原理に従うプリンタの通信制御動作は、主に、プ
リンタ内のIEEE1394.3コントローラによって行われる。
【0023】図2は、IEEE1394に準拠したホスト装置と
プリンタ間のデータ通信の概略手順を示す。
【0024】ホスト装置において、プリンタドライバ1
0又はプリンタユーティリティ20からの印刷データ又
は制御データの送信要求が発生すると、図2に示すよう
に、ホスト装置は、そのメモリ上に、オペレーション・
リクエスト・ブロック(以下、「ORB」という)と呼ば
れるデータブロック100と、送信したい印刷データ又
は制御データを格納したデータ・バッファ110を構築
し、そして、ステップS1に示すように、ORBリード要求
をプリンタに送信する。プリンタは、ホスト装置からの
ORBリード要求に応答して、ステップS2に示すように、
ホスト装置からORBを読み込む。
【0025】ORBには、ホスト装置からプリンタに要求
された動作(例えば、データのリード又はライトなど)
や、データ・バッファ110の先頭アドレス及びデータ
サイズなどが記述されている。プリンタは、ステップS
3に示すように、ORBにより要求された動作を実行す
る。ORBにより要求される動作の典型例は、データ・バ
ッファ110から印刷データ又は制御データを読み込む
こと(つまり、ホスト装置からプリンタへ印刷データ又
は制御データを送信すること)である。また、別のある
種のORBにより要求される動作は、例えば、プリンタ内
の特定のデータ(例えば、プリンタの現在の状態を示す
ステータス・データ)をホスト装置内のデータ・バッフ
ァ110に書き出すことである。いずれにせよ、プリン
タは、ORBにより要求された動作を実行した後、ステッ
プS4に示すように、その実行結果を示すステータス・ブ
ロック(以下、「SB」という)と呼ばれるデータブロッ
クを、ホスト装置内のメモリ上のレジスタ120に書き
込む。SBには、対応のORBのアドレスや、そのORBにより
要求された動作の完了状態(例えば、完了又は未完了)
などが記述されている。SBは、要するに、ホスト装置か
らの処理要求(ORB)に対する、プリンタからの応答で
ある。
【0026】図3は、ORBの構成を示す。
【0027】図3に示すように、ORB100には、ポイ
ンタ、データ・バッファ・アドレス、動作、データ・バ
ッファ・サイズ、キュー番号、シグネチャなどのフィー
ルドが含まれている。
【0028】ここで、ORB100内のポインタ・フィー
ルドには、このORB100に他のORB100−2がリンク
されている場合における、後続のORB100−2へのポ
インタが記述される。図3では1つのORB100に別の
一つのORB100−2がリンクされている例が示されて
いるが、2番目のORBの後に更に別のORBをリンクして、
ORBの連鎖をもっと長くすることができる。このように
複数のORBがシリアルにリンクされている場合、プリン
タは、先のORBを読み、それにより要求された処理を実
行してSBをホスト装置に返した後、引き続き、次のORB
を読んで、それにより要求された処理を実行することに
なる。例えば、プリンタユーティリティ20がプリンタ
のステータスをモニタする場合は、プリンタにステータ
ス・データを用意させるための制御データをホスト装置
から読み込むことをプリンタに要求するORBと、用意さ
れたステータス・データをホスト装置に書き出すことを
プリンタに要求するORBとがリンクされることになる。
この場合、プリンタは、最初のORBを受けて制御データ
を読み、その制御データに従ってステータス・データを
用意し、次に、2番目のORBを受けて、そのステータス・
データをホスト装置に返送する。
【0029】ORB100内のデータ・バッファ・アドレ
ス・フィールドには、ホスト装置内のデータ・バッファ
110の先頭アドレスが記述される。動作フィールドに
は、プリンタに要求される動作の種類、例えば、データ
・バッファ110から印刷データ又は制御データを読み
込むこと、或るいは、データ・バッファ110へステー
タス・データを書き出すこと、などが記述される。デー
タ・バッファ・サイズ・フィールドには、データ・バッ
ファ110のデータサイズが記述される。
【0030】ORB100内のキュー番号フィールドに
は、このORB100で要求された動作を実行するときに
使用する論理チャネルを示すキュー番号が記述される。
IEEE1394の通信インタフェースには、データチャネルと
コントロールチャネルという2つの論理チャネルがあ
る。よって、キュー番号フィールドには、データチャネ
ルとコントロールチャネルのうちの何れかを示すキュー
番号が記述されることになる。例えば、印刷データの読
み込みを要求するORBには、データチャネルを示すキュ
ー番号が書かれている。よって、印刷データはデータチ
ャネルを用いてホスト装置からプリンタへと伝送される
ことになる。また、例えば、制御データの読み込みを要
求するORBには、コントロールチャネルを示すキュー番
号が書かれている。よって、制御データはコントロール
チャネルを用いてホスト装置からプリンタへと伝送され
ることになる。また、例えば、ステータス・データの書
き出しを要求するORBには、コントロールチャネルを示
すキュー番号が書かれている。よって、ステータス・デ
ータはコントロールチャネルを用いてプリンタからホス
ト装置へと伝送されることになる。
【0031】ORB100内のシグネチャ・フィールドに
は、このORB100を他のORBと区別するための識別番号
であるシグネチャが記述される。プリンタは、今受信し
たORBのシグネチャと、それより前に受信したORBのシグ
ネチャとを比較することにより、両シグネチャが違って
いれば今受信したORBは前のORBとは別の新しいORBであ
ると認識することができ、一方、両シグネチャが一致し
ていれば今受信したORBは前のORBと同じORBがホスト装
置から再送信されたものであると認識することができ
る。
【0032】図4は、SBの構成を示す。
【0033】図4に示すように、SB200には、ORBア
ドレス、完了状態/エラー状態及び未処理データサイズ
などのフィールドがある。
【0034】SB200内のORBアドレス・フィールドに
は、このSB200に対応するORBのホスト装置内でのア
ドレスが記述される。ホスト装置は、受信したSB200
内のORBアドレスによって、そのSB200がどのORBに対
する応答なのかを識別することができる。
【0035】SB200内の完了状態/エラー状態フィー
ルドには、対応するORBの要求動作を完了したか未完了
か、未完了の場合にその原因はエラーかタイムアウト
(後述)か、ということが記述される。
【0036】SB200内の未処理データサイズには、対
応するORBの要求動作が未完了である場合に、データバ
ッファ110内の未処理で残っているデータのサイズ
(又は、既に処理済みのデータのサイズ)が記述され
る。
【0037】図5は、本発明の原理に従う通信制御の下
でホスト装置からプリンタへと印刷データ及び制御デー
タが伝送される手順の一具体例を示す。
【0038】図5に示すように、まず、ホスト装置にお
いて、ステップS11で、プリンタドライバが印刷データ
の送信要求を発した(つまり、印刷データを出力した)
とする。すると、ステップS12で、その印刷データをデ
ータチャネル(以下、「D_Ch」と略す)を通じて読み込
むようプリンタに要求するデータチャネルのORB(以
下、「D_Ch_ORB」と略す)と、その印刷データを格納し
たデーバッファとが、ホスト装置内に構築される。ま
た、プリンタドライバは、印刷データの送信要求を発し
た後、ステップ13で、タイムカウントを開始する。
【0039】プリンタは、ステップ14で、ホスト装置
から上記D_Ch_ORBを読み込む。(なお、プリンタによる
ORBの読み込みの前には、前述したように、ホスト装置
からプリンタへORBリード要求が送られるが、このステ
ップについては、説明を以下省略する。)続いて、ステ
ップS15で、プリンタは、上記D_Ch_ORBによって要求さ
れた動作、すなわち、ホスト装置内のデータバッファか
ら印刷データを読み込む動作を開始する。通常、印刷デ
ータのサイズはかなり大きく、そして、印刷データは多
数のデータブロック(パケット)に区分され、最初のデ
ータブロックから最後のデータブロックまで順番にプリ
ンタに読み込まれていく(つまり、データブロック単位
でホスト装置からプリンタへ伝送される)。プリンタ
は、印刷データの読み込みを開始した後、直ちに、ステ
ップS16で、タイムカウントを開始する。
【0040】こうしてホスト装置からプリンタへ印刷デ
ータが送信されている最中に、ホスト装置では、ステッ
プS17に示すように、プリンタユーティリティが制御デ
ータの送信要求を発した(つまり、制御データを出力し
た)とする。実際、プリンタユティリティは定期的にプ
リンタからステータスデータを取得しようとするので、
印刷データの送信中にステータス取得のための制御デー
タが発されることは頻繁にある。制御データ送信要求が
発されると、その制御データをコントロールチャネル
(以下、「C_Ch」と略す)を通じて読み込むようプリン
タに要求するコントロールチャネルのORB(以下、「C_C
h_ORB」と略す)と、その制御データを格納したデーバ
ッファとが、ホスト装置内に構築される。しかし、その
時、D_Chを通じて印刷データが送信中である場合には、
ホスト装置は、(IEEE1394の規格によれば、D_ChとC_Ch
を同時に用いて印刷データと制御データを同時並行的に
送信できるのであるが、敢えてそうせずに)ステップS1
8に示すように、そのC_Ch_ORBに関連付けられた制御デ
ータ送信要求をC_Ch送信保留キューに入れ、それによ
り、制御データの送信を一時的に保留する。また、プリ
ンタユーティリティは、制御データの送信要求を発した
後、ステップS19に示すように、タイムカウントを開始
する。
【0041】さて、ホスト装置内のプリンタドライバ及
びプリンタユーティリティの各々は、上述したステップ
S13及びS19でそれぞれのタイムカウントを開始した後、
プリンタから応答を受けることなしに、そのカウント値
が所定の制限時間(例えば30秒)に達するというタイ
ムアウトイベントが生じると、プリンタとの通信が不能
である(例えば、プリンタがホスト装置に接続されてい
ないか電源が入っていない)と判断して、所定の対処方
法を行うことになる。
【0042】このようなホスト装置でのタイムアウトイ
ベントの発生を防ぐために、プリンタは、次のように動
作する。すなわち、プリンタは、上述したステップS15
で印刷データの読み込みを開始した後、まだ全部の印刷
データの読み込みが終わらないうちに、ステップS20に
示すように、プリンタ内部で何らかのエラー(例えば、
用紙なしエラーなど)が発生して、更なる印刷データの
読み込みを進めることができなくなったならば、直ち
に、ステップS21に示すように、要求処理が未完了であ
る旨のSBをホスト装置に返送する。また、エラーが生じ
なくても、まだ全部の印刷データの読み込みが終わらな
いうちに、ステップS16で開始したタイムカウントのカ
ウント値が所定の上限時間に達するというタイムアウト
イベントが発生した場合(ステップS20)にも、プリン
タは、直ちに、要求処理が未完了である旨のSBをホスト
装置に返送する(ステップS21)。ここで、プリンタで
タイムアウトイベントが生じる上限時間は、ホスト装置
でタイムアウトイベントが生じる制限時間よりも十分に
短い時間に設定されている。例えば、ホスト側のタイム
アウトの制限時間が例えば30秒である場合、プリンタ
側のタイムアウトの上限時間は例えば5秒である。な
お、上述したエラー発生の場合にも、直ちに未完了のSB
を返送する代わりに、エラー発生時点からタイムカウン
トを開始して、そのカウント値が上記上限時間(すなわ
ち、ホスト側のタイムアウト制限時間より十分い短い時
間、例えば5秒)に達した時点で、未完了のSBを返送す
るようにしてもよい。
【0043】上述したステップS21で未完了のSBがホス
ト装置に返送されると、ホスト装置では、ステップS22
に示すように、プリンタから未完了の応答が来たことが
プリンタドライバに知らされる。つまり、プリンタドラ
イバはプリンタからの応答を受ける。この時点では、上
述した上限時間が短いという説明から明らかなように、
プリンタドライバのタイムカウント値は上記制限時間に
は達していないから、プリンタドライバではタイムアウ
トイベントが発生しないことになる。また、上記未完了
のSBの受信と同時に、ステップS23に示すように、今ま
で行われていた印刷データの読み込みを要求したD_Ch_O
RBに関連付けられた印刷データ送信要求がD_Ch送信保留
キーに入れられ、それにより、今まで行われていた印刷
データの送信が一時的に中断される。さらに同時に、ス
テップS24に示すように、今までC_Ch送信保留キュー内
で待っていた制御データ送信要求が送信保留キューから
取り出されて実行される。それにより、C_Ch_ORBがプリ
ンタに読み込まれ(ステップS25)、続いて、そのC_Ch_
ORBによって要求された制御データのプリンタによる読
み込みが実行される(ステップS26)。通常、制御デ
ータのデータサイズは、印刷データに比べて大幅に小さ
い(例えば、1個又は少数のデータブロック又はパケッ
トに収まる)ので、制御データの読み込みは、上述した
タイムアウトの制限時間とは全く比較にならないほどに
極めて短かい時間内に完了する。また、たとえプリンタ
でエラーが発生していたとしても、大抵の場合、プリン
タは、制御データの読み込みは可能であるから、瞬時に
制御データの読み込みが完了する。制御データの読み込
みが完了すると、プリンタは、ステップS27に示すよう
に、制御データの読み込みが完了した旨のSBをホスト装
置に返送する。
【0044】ホスト装置では、プリンタから制御データ
読み込み完了のSBが返送されると、ステップS28に示す
ように、プリンタから応答があったことがプリンタユー
ティリティに通知される。つまり、プリンタユーティリ
ティはプリンタからの応答を受ける。この時点では、前
述の説明から明らかなように、プリンタユーティリティ
のタイムカウント値は上記制限時間に達してはいないか
ら、プリンタユーティリティでもタイムアウトイベント
が発生しないことになる。上記完了のSBの受信と同時
に、ステップS29に示すように、D_Ch送信保留キューに
入っていた印刷データ送信要求が送信保留キューから取
り出されて実行される。それにより、前回のD_Ch_ORBと
同じD_Ch_ORBが再びプリンタに読み込まれ(ステップS3
0)、続いて、そのD_Ch_ORBによって要求された印刷デ
ータのプリンタによる読み込みが実行される(ステップ
S31)。このとき、プリンタは、前回の印刷データ読み
込みのときに既に読み込み終わったデータのサイズとま
だ読み込んでない残りデータのサイズとを記憶してい
て、それを用いて、データバッファから読み込み済のデ
ータを読み飛ばして、その先のまだ読み込んでない残り
データだけを読み込む。(図示してないが、このデータ
読み込みのときも、前述のステップS16と同様にタイム
カウントを行う。)印刷データの全部の読み込みが完了
すると、プリンタは、ステップS32に示すように、印刷
データの読み込みが完了した旨のSBをホスト装置に返送
する。ホスト装置では、プリンタから印刷データ読み込
み完了の応答があったことが、プリンタドライバに知ら
される。
【0045】なお、印刷データのプリンタによる読み込
みがプリンタにて何の問題も無く円滑に実行されるとき
には、上記タイムアウトの制限時間よりもずっと短い時
間で印刷データの読み込みは完了するから、プリンタド
ライバやプリンタユーティリティでタイムアウトイベン
トが生じることはない。
【0046】図6は、本発明の原理に従う通信制御の下
で、ホスト装置とプリンタとが接続されたIEEE1934通信
ネットワークの構成が変化した場合におけるバスリセッ
ト前後のデータ通信の手順の一具体例を示す。
【0047】図6に示すように、プリンタは、ステップ
S41でホスト装置から或るORB(D_ChでもC_Chでもよい
が、この例ではD_Ch_ORBとする)を読み込むと、直ちに
ステップS42でそのORBを記憶する(この記憶内容には、
当然、そのORBのシグネチャも含まれている)。続い
て、プリンタは、ステップS43で、そのORBによる要求さ
れたホスト装置からのデータ読み込みを実行する。デー
タ読み込みを実行している間、プリンタは、処理済み
(読み込み済)のデータ数(又はデータサイズ)と未だ
処理してない(読み込んでない)残りデータ数(又はデ
ータサイズ)とをカウントして記憶する。
【0048】ここで、プリンタがデータの読み込みを行
っている最中に、ホスト装置とプリンタが接続されたIE
EE1934通信ネットワークの構成が変化した(例えば、通
信ネットワークの何処かの通信ケーブルが抜かれた、或
いは、その通信ケーブルが再び差し込まれた、など)と
する。すると、ネットワークの構成が変化した直後に、
ステップS45で、ホスト装置とプリンタでバスリセット
イベントが発生し、ステップS46、S47に示すように、ホ
スト装置とプリンタにてIEEE1934通信ネットワーク・ト
ポロジーの再構築が行われる。ネットワーク・トポロジ
ーの再構築が終わると、直ちにステップS48に示すよう
に、バスリセット直前に送信されていたORBと同じ内容
のORBが、ホスト装置からプリンタへ再度送られる。プ
リンタは、ステップS48でそのORBを読み込むと、ステッ
プS49で、その今回のORBのシグネチャと、ステップS42
で記憶したバスリセット前の前回のORBのシグネチャと
を比較する。その結果、シグネチャが一致したなら、プ
リンタは、今回のORBが前回のORBと同じものであると認
識する。続いて、プリンタは、ステップS50で、ステッ
プS43で記憶した残りデータ数がゼロかどうかをチェッ
クする(又は、前回記憶した処理済みデータ数と今回の
ORBに記述してあるデータサイズとから残りのデータ数
を計算して、それをチェックしてもよい)。その残りデ
ータ数がゼロでなければ、プリンタは、前回のORBで要
求されたデータの読み込みが未完了であったことを認識
し、そして、ステップS51で、ORBにより指定されたデー
タバッファの先頭アドレスから処理済み(読み込み済
み)データ数だけ読み飛ばして、その先のまだ読み込ん
でいない残りデータだけを読み込む。このように、プリ
ンタでは、データバッファ上のアドレスではなく、デー
タ数(データサイズ)を用いて、データバッファ内のデ
ータ読み込みが中断した場所を管理する。そのため、バ
スリセットによってネットワーク・トポロジーが変更さ
れても、データバッファの中から残りデータを正確に見
つけ出して選択的に読み込むことができる。要求された
データ全部の読み込みが終わると、プリンタは、ステッ
プS52で、完了のSBをホスト装置へ返送する。
【0049】図7~図13は、上述したような具体的な
動作を実現するための、ホスト装置とプリンタの通信制
御の詳細な手順を示す。
【0050】図7は、印刷データや制御データ等のデー
タ送信要求が発生したときのホスト装置の制御流れを示
す。
【0051】図7に示すように、データ送信要求が発生
すると、まず、それがD_Chへのデータ送信要求(例え
ば、印刷データの送信要求)なのか、C_Chへのデータ送
信要求(例えば、制御データの送信要求)なのかを判断
する(S61、S62)。その結果、D_Chへのデータ送信要求
であれば、そのデータの読み込みをプリンタに要求する
ためのD_Ch_ORBを構築し(S63)、そして、そのD_Ch_OR
Bに関連付けられたデータ送信要求をD_Ch送信保留キュ
ーに入れる(S64)。また、C_Chへのデータ送信要求で
あれば、そのデータの読み込みをプリンタに要求するた
めのC_Ch_ORBを構築し(S65)、そして、そのC_Ch_ORB
に関連付けられたデータ送信要求をC_Ch送信保留キュー
に入れる(S66)。
【0052】図8は、ORBを送信するときのホスト装置
の制御手順を示す。
【0053】図8に示すように、まず、現在他のORBの
処理が実行されている最中であるか否かを知るために、
ORB処理中フラグをチェックする(S71)。その結果、OR
B処理中フラグがONであれば、現在他のORBの処理が実行
されているので、ORBの送信は行わない。一方、ORB処理
中フラグがOFFであれば、現在他のORBの処理は実行され
ていないので、次に、まず、C_Ch送信保留キュー内にデ
ータ送信要求があるか否かをチェックする(S72)。
【0054】その結果、C_Ch送信保留キュー内にデータ
送信要求が有れば、その送信要求をC_Ch送信保留キュー
から取り出す(S73)。続いて、C_Ch_ORB未完了フラグ
をチェックする(S74)。その結果、C_Ch_ORB未完了フ
ラグがONであれば、C_Ch送信保留キューから取り出した
データ送信要求は、過去に実行されたのであるが未完了
で中断されたものであることを意味するので、その取り
出したデータ送信要求に関連付けられているC_Ch_ORBの
シグネチャは更新せずに前回のままとするが、一方、C_
Ch_ORB未完了フラグがOFFであれば、C_Ch送信保留キュ
ーから取り出したデータ送信要求は、新しいデータの送
信要求であることを意味するので、その取り出したデー
タ送信要求に関連付けられているC_Ch_ORBのシグネチャ
を更新する(S76)。続いて、そのC_Ch_ORBをプリンタ
へ送信する(S76)(すなわち、そのC_Ch_ORBのリード
要求をプリンタへ送って、プリンタにそのC_Ch_ORBを読
み込ませる)。そして、ORB処理中フラグをONにする(S
77)。
【0055】このようにして、ホスト装置は、C_Ch送信
保留キュー内にデータ送信要求が存在すれば、それを優
先的に実行し、そして、C_Ch送信保留キュー内に要求が
無くなったならば、次に、D_Ch送信保留キュー内のデー
タ送信要求をチェックする(S78)。
【0056】その結果、D_Ch送信保留キュー内にデータ
送信要求が有れば、その送信要求をD_Ch送信保留キュー
から取り出す(S79)。続いて、D_Ch_ORB未完了フラグ
をチェックする(S80)。その結果、D_Ch_ORB未完了フ
ラグがONであれば、D_Ch送信保留キューから取り出した
データ送信要求は、過去に実行されたのであるが未完了
で中断されたものであることを意味するので、その取り
出したデータ送信要求に関連付けられているD_Ch_ORBの
シグネチャは更新せずに前回のままとするが、一方、D_
Ch_ORB未完了フラグがOFFであれば、D_Ch送信保留キュ
ーから取り出したデータ送信要求は、新しいデータの送
信要求であることを意味するので、その取り出したデー
タ送信要求に関連付けられているD_Ch_ORBのシグネチャ
を更新する(S81)。続いて、そのD_Ch_ORBのプリンタ
へ送信する(S82)(すなわち、そのD_Ch_ORBのリード
要求をプリンタへ送って、プリンにそのD_Ch_ORBをの読
み込ませる)。そして、ORB処理中フラグをONにする(S
83)。
【0057】また、C_Ch送信保留キューにもD_Ch送信保
留キューにも要求が入ってなければ、ORB処理中フラグ
をOFFにする(S84)。
【0058】図9は、バスリセット直後のホスト装置の
制御手順を示す。
【0059】図9に示すように、バスリセット直後にホ
スト装置は、バスリセット直前に送信していたORBを、
同じシグネチャで再度プリンタへ送信する(S91)。そ
して、ORB処理中フラグをONにする(S92)。
【0060】図10は、プリンタがORBを受信した(す
なわち、ホスト装置からORBを読み込んだ)時のプリン
タの制御手順を示す。
【0061】図10に示すように、プリンタは、ORBを
受信すると、そのORBを記憶し保存する(S101)。この
記憶されたORBに含まれるシグネチャは、前述のよう
に、このORBと前回又は次回に受信したORBとの同一/非
同一を判断するために使用されることになる。続いて、
プリンタは、受信したORBがD_ChのものかC_Chのものか
を判断する(S102、S103)。その結果、D_Ch_ORBであっ
たならば、次に、プリンタが現在エラー状態か正常状態
かをチェックする。その結果、エラー状態であれば、OR
Bにより要求された処理がエラーによる未完了である旨
のSBをホスト装置に返送する(S105)。
【0062】一方、ステップS104のチェックの結果、プ
リンタが正常状態であれば、上述した上限時間(例え
ば、5秒)までカウントするタイマを起動し(S105)、
そして、今回受信したORBのシグネチャと前回受信したO
RBのシグネチャとを比較する(S107)。その結果、両シ
グネチャが一致していれば、今回のORBは前回のORBが再
送信されたものであることを意味する。その場合、プリ
ンタは、次に、前回のORBの処理実行時に記憶しておい
た残りデータ数がゼロかどうかをチェックする(S10
7)。(なお、前回のORBの処理実行時に記憶しておいた
残りデータ数を用いる代わりに、前回のORBの処理実行
時に記憶しておいた処理(読み込み)済データ数と、今
回のORBで指定されたデータ・バッファ・サイズとか
ら、残りデー多数を計算してもよい。)その結果、残り
データ数がゼロでなければ、前回のORBの要求処理は未
完了であったことを意味するので、プリンタは、今回の
ORBで指定されたデータバッファの先頭アドレスから、
前回のORBに関して記憶しておいた処理済データ数(読
み込み済データ数)分だけアドレスをスキップして、そ
の次のアドレスから未処理の残りデータ(例えば、残り
印刷データ)の読み込みを開始する(S110)。そして、
D_Ch_ORB処理中フラグをONにする(S111)。
【0063】一方、ステップS109のチェックの結果、残
りデータ数がゼロであれば、前回のORBの要求処理は既
に完了していることを意味するので、プリンタは、要求
処理が完了した旨のSBをホスト装置に返送する(S11
2)。
【0064】また、上記ステップS107のシグネチャ比較
の結果、前回と今回のシグネチャが違っていれば、今回
のORBは前回とは別の新しいORBであることを意味するの
で、プリンタは、今回のORBで指定されたデータバッフ
ァの先頭アドレスから、データ(例えば、印刷データ)
の読み込みを開始する(S108)。そして、D_Ch_ORB処理
中フラグをONにする(S111)。
【0065】また、上記のステップS103で、受信したOR
BがC_Chのものであった場合には、プリンタは、そのC_C
h_ORBで指定されたデータバッファの先頭アドレスか
ら、データ(例えば、制御データ)の読み込みを開始す
る(S113)。そして、C_Ch_ORB処理中フラグをONにする
(S114)。
【0066】さて、上述した図10のステップS108又は
S11で開始されたD_Chによるデータ(例えば、印刷デー
タ)の読み込み処理では、既に述べたように、そのデー
タは多数のデータブロック(又はパケット)に区分され
ていて、プリンタは、その多数のデータブロックを1ブ
ロックづつ順番に読み込んでいく。
【0067】図11は、D_Chで1つのデータブロックの
読み込みが完了する都度にプリンタが行う制御手順を示
す。
【0068】図11に示すように、1つのデータブロッ
クの読み込みが完了すると、プリンタは、処理済データ
数(読み込み済データ数)を1データブロック分増や
し、残りデータ数を1データブロック分減らす(S12
1)。そして、この更新された処理済データ数又は残り
データ数から、プリンタは、ORBに指定された全データ
ブロックの読み込みが完了したか否かをチェックする
(S122)。その結果、まだ全データブロックの読み込み
が完了してなければ、次のデータブロックの読み込みを
開始する(S123)。一方、全データブロックの読み込み
が完了したならば、完了のSBをホスト装置に返送し(S1
24)、そして、D_Ch_ORB処理中フラグをOFFにする(S12
5)。
【0069】再び図10を参照して、プリンタは、D_Ch
でデータ読み込みを開始する際、ステップS106でタイマ
を起動して、読み込みにかかる時間をカウントする。そ
して、既に説明したように、ORBに要求された全てのデ
ータの読み込みが完了する前に、タイマのカウント値が
所定の上限時間(例えば、5秒)に達すると、タイムア
ウトイベントが発生することになる。
【0070】図12は、D_Chでデータ受信中にタイムア
ウトアウトイベントが発生した時のプリンタの制御手順
を示す。
【0071】図12に示すように、タイムアウトイベン
トが発生すると(S131でYes)、プリンタは、D_Ch_ORB
処理中フラグをチェックする(S132)。その結果、D_Ch
_ORB処理中フラグがONであれば、D_Ch_ORBにより要求さ
れた全データの読み込みが未だ完了していないことを意
味するので、プリンタは、要求された処理がタイムアウ
トにより未完了である旨のSBをホスト装置に返送し(S1
33)、そして、D_Ch_ORB処理中フラグをOFFにして、そ
のD_Chでのデータ読み込みを一時的に中断する(S13
4)。
【0072】図13は、プリンタからSBを受信した時の
ホスト装置の制御手順を示す。
【0073】図13に示すように、プリンタからSBを受
信すると、ホスト装置は、その受信したSBを解釈して、
ORBにより要求された処理が正常に完了したか否かをチ
ェックする(S141)。その結果、完了していれば、その
完了したORBに関するリソースを開放する(S142)。そ
して、その完了したORBがD_Chのものであれば(S143でD
_Ch)、D_Ch_ORB未完了フラグをOFFにし(S144)、一
方、その完了したORBがC_Chのものであれば(S143でC_C
h)、C_Ch_ORB未完了フラグをOFFにする(S145)。そし
て、ホスト装置の通信制御は、図8に示したORB送信時
の処理に進む。
【0074】上記ステップS141の完了チェックの結果、
ORBの要求処理が未完了である場合には、ホスト装置
は、その未完了のORBがD_Chのものであれば(S146でD_C
h)、その未完了のORBに関連付けられた要求をD_Ch送信
保留キューに入れ(S147)、D_Ch_ORB未完了フラグをON
にする(S148)。一方、その未完了のORBがC_Chのもの
であれば(S146でC_Ch)、その未完了のORBに関連付け
られた要求をC_Ch送信保留キューに入れ(S149)、C_Ch
_ORB未完了フラグをONにする(S150)。そして、そし
て、ホスト装置の通信制御は、図8に示したORB送信時
の処理に進む。
【0075】以上、本発明の実施形態を説明したが、こ
れは本発明の説明のための例示であり、この実施形態の
みに本発明の範囲を限定する趣旨ではない。従って、本
発明は、その要旨を逸脱することなく、他の様々な形態
で実施することが可能である。例えば、ホスト装置と電
子式プリンタ間のデータ通信だけでなく、他の様々な装
置間のデータ通信にも本発明は適用可能である。また、
IEEE1394によるデータ通信だけでなく、他の様々な通信
インタフェースいよるデータ通信にも本発明は適用可能
である。
【図面の簡単な説明】
【図1】 ホスト装置と電子式プリンタ間のデータ通信
に適用された本発明の一実施形態における、データ通信
に関わるホスト装置内のプログラム又はハードウェアモ
ジュールの構成を示す
【図2】 IEEE1394に準拠したホスト装置とプリンタ間
のデータ通信の概略手順を示す図。
【図3】 オペレーション・リクエスト・ブロック(OR
B)の構成を示す図
【図4】 ステータス・ブロック(SB)の構成を示す
図。
【図5】 本発明の原理に従う通信制御の下でホスト装
置からプリンタへと印刷データ及び制御データが伝送さ
れる手順の一具体例を示す図。
【図6】 本発明の原理に従う通信制御の下で、ホスト
装置とプリンタが接続されたIEEE1934通信ネットワーク
の構成が変化した場合におけるバスリセット前後のデー
タ通信の手順の一具体例を示す図。
【図7】 印刷データや制御データ等の送信要求が発生
したときのホスト装置の制御流れを示すフローチャー
ト。
【図8】 ORBを送信するときのホスト装置の制御手順
を示すフローチャート。
【図9】 バスリセット直後のホスト装置の制御手順を
示すフローチャート。
【図10】 ORBを受信した時のプリンタの制御手順を
示すフローチャート。
【図11】 1ブロックデータ受信完了時のプリンタの
制御手順を示すフローチャート。
【図12】 D_Chでデータ受信中にタイムアウトアウト
イベントが発生した時のプリンタの制御手順を示すフロ
ーチャート。
【図13】 SBを受信した時のホスト装置の制御手順を
示すフローチャート。
【符号の説明】
10 プリンタドライバ 20 プリンタユティリティ 50 IEEE1394.3コントローラ 100 オペレーション・リクエスト・ブロック(OR
B) 110 データバッファ 120 レジスタ 200 ステータス・ブロック(SB)

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 装置間のデータ通信を制御するための装
    置において、 受信側装置にて、送信側装置からデータ受信を行ってい
    る間の経過時間をカウントするタイマと、 前記受信側装置にて、前記データ受信が完了する前に前
    記タイマによるカウント値が所定の上限時間に達したと
    き受信側タイムアウトイベントを発生する受信側タイム
    アウト手段と、 前記受信側装置にて、前記タイムアウトイベントに応答
    して、前記データ受信に関する応答を前記送信側装置へ
    返送する応答手段と、 前記送信装置にて、前記受信側装置からの前記データ受
    信に関する応答を待っている間に所定の制限時間を経過
    したとき、送信側タイムアウトイベントを発生する送信
    側タイムアウト手段と、を備え、 前記受信側タイムアウト手段が用いる前記上限時間が、
    前記送信側タイムアウト手段が用いる前記制限時間より
    も短く設定されている、装置間データ通信制御装置。
  2. 【請求項2】 データチャネルとコントロールチャネル
    をもつ通信インタフェースによる装置間のデータ通信を
    制御するための装置において、 受信側装置にて、送信側装置から前記データチャネルで
    のデータ受信を行っている間の経過時間をカウントする
    タイマと、 前記受信側装置にて、前記データチャネルでのデータ受
    信が完了する前に前記タイマによるカウント値が所定の
    上限時間に達したとき受信側タイムアウトイベントを発
    生する受信側タイムアウト手段と、 前記受信側装置にて、前記受信側タイムアウトイベント
    に応答して、前記データチャネルでのデータ受信に関す
    る未完了の応答を前記送信側装置へ返送し、また、前記
    データチャネルでのデータ受信が完了したとき、前記デ
    ータチャネルでのデータ受信に関する完了の応答を前記
    送信側装置へ返送し、さらに、前記コントロールチャネ
    ルでのデータ受信が完了したとき、前記コントロールチ
    ャネルでのデータ受信に関する完了の応答を前記送信側
    装置へ返送する応答手段と、 前記送信側装置にて、前記受信側装置からの前記データ
    チャネルでのデータ受信に関する応答を待っている間
    に、前記コントロールチャネルでのデータ送信の要求が
    発生した場合、前記コントロールチャネルでのデータ送
    信の実行を一時的に保留し、その後、前記受信側装置か
    ら前記データチャネルでのデータ受信に関する応答を受
    けた後に、前記コントロールチャネルでのデータ送信を
    開始する排他制御手段と、 前記送信側装置にて、前記受信側装置からの前記データ
    チャネルでのデータ受信に関する応答を待っている間の
    経過時間が所定の第1の制限時間を経過したとき、第1の
    送信側タイムアウトイベントを発生する第1の送信側タ
    イムアウト手段と、 前記送信側装置にて、前記受信側装置からの前記コント
    ロールチャネルでのデータ受信に関する応答を待ってい
    る間の経過時間が所定の第2の制限時間を経過したと
    き、第2の送信側タイムアウトイベントを発生する第2の
    送信側タイムアウト手段と、を備え、 前記受信側タイムアウト手段が用いる前記上限時間が、
    前記第1及び第2の送信側タイムアウト手段が用いる前記
    第1及び第2の制限時間よりも短く設定されている、装置
    間データ通信制御装置。
  3. 【請求項3】 前記送信側装置にて、前記受信側装置か
    ら前記データチャネルでのデータ受信に関する未完了の
    応答を受けた場合、前記データチャネルでのデータ送信
    を一時的に中断し、その後、要求された前記コントロー
    ルチャネルでのデータ送信が完了してから、前記データ
    チャネルでのデータ送信を再開するデータ送信再開手段
    と、 前記受信側装置にて、前記データチャネルでのデータ送
    信が完了する前に前記受信側タイムアウトイベントが発
    生したときに、受信済データサイズ又は未受信の残りデ
    ータサイズを記憶し、そして、前記データチャネルでの
    データ送信が再開されたとき、前記記憶した受信済デー
    タサイズ又は残りデータサイズに基づいて、受信済デー
    タをスキップして未受信の残りデータを選択的に受信す
    る手段とを更に備えた請求項2記載の装置間データ通信
    制御装置。
  4. 【請求項4】 装置間のデータ通信を制御するための方
    法において、 受信側装置にて、送信側装置からデータ受信を行ってい
    る間の経過時間をカウントするステップと、 前記受信側装置にて、前記データ受信が完了する前に前
    記経過時間のカウント値が所定の上限時間に達したとき
    受信側タイムアウトイベントを発生するステップと、 前記受信側装置にて、前記タイムアウトイベントに応答
    して、前記データ受信に関する応答を前記送信側装置へ
    返送するステップと、 前記送信装置にて、前記受信側装置からの前記データ受
    信に関する応答を待っている間に所定の制限時間を経過
    したとき、送信側タイムアウトイベントを発生するステ
    ップと、を備え、 前記受信側タイムアウトイベントのための前記上限時間
    が、前記送信側タイムアウトイベントのための前記制限
    時間よりも短く設定されている、装置間データ通信制御
    方法。
  5. 【請求項5】 データチャネルとコントロールチャネル
    をもつ通信インタフェースによる装置間のデータ通信を
    制御するための方法において、 受信側装置にて、送信側装置から前記データチャネルで
    のデータ受信を行っている間の経過時間をカウントする
    ステップと、 前記受信側装置にて、前記データチャネルでのデータ受
    信が完了する前に前記経過時間のカウント値が所定の上
    限時間に達したとき受信側タイムアウトイベントを発生
    するステップと、 前記受信側装置にて、前記受信側タイムアウトイベント
    に応答して、前記データチャネルでのデータ受信に関す
    る未完了の応答を前記送信側装置へ返送するステップ
    と、 前記受信側装置にて、前記データチャネルでのデータ受
    信が完了したとき、前記データチャネルでのデータ受信
    に関する完了の応答を前記送信側装置へ返送するステッ
    プと、 前記受信側装置にて、前記コントロールチャネルでのデ
    ータ受信が完了したとき、前記コントロールチャネルで
    のデータ受信に関する完了の応答を前記送信側装置へ返
    送するステップと、 前記送信側装置にて、前記受信側装置からの前記データ
    チャネルでのデータ受信に関する応答を待っている間
    に、前記コントロールチャネルでのデータ送信の要求が
    発生した場合、前記コントロールチャネルでのデータ送
    信の実行を一時的に保留し、その後、前記受信側装置か
    ら前記データチャネルでのデータ受信に関する応答を受
    けた後に、前記コントロールチャネルでのデータ送信を
    開始するステップと、 前記送信側装置にて、前記受信側装置からの前記データ
    チャネルでのデータ受信に関する応答を待っている間の
    経過時間が所定の第1の制限時間を経過したとき、第1
    の送信側タイムアウトイベントを発生するステップと、 前記送信側装置にて、前記受信側装置からの前記コント
    ロールチャネルでのデータ受信に関する応答を待ってい
    る間の経過時間が所定の第2の制限時間を経過したと
    き、第2の送信側タイムアウトイベントを発生するステ
    ップと、を備え、 前記受信側タイムアウトイベントのための前記上限時間
    が、前記第1及び第2の送信側タイムアウトイベントのた
    めの前記第1及び第2の制限時間よりも短く設定されてい
    る、装置間データ通信制御方法。
JP2002057537A 2002-03-04 2002-03-04 装置間データ通信の制御装置及び方法 Expired - Fee Related JP3951113B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002057537A JP3951113B2 (ja) 2002-03-04 2002-03-04 装置間データ通信の制御装置及び方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002057537A JP3951113B2 (ja) 2002-03-04 2002-03-04 装置間データ通信の制御装置及び方法

Publications (2)

Publication Number Publication Date
JP2003256178A true JP2003256178A (ja) 2003-09-10
JP3951113B2 JP3951113B2 (ja) 2007-08-01

Family

ID=28667768

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002057537A Expired - Fee Related JP3951113B2 (ja) 2002-03-04 2002-03-04 装置間データ通信の制御装置及び方法

Country Status (1)

Country Link
JP (1) JP3951113B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230161524A1 (en) * 2021-11-25 2023-05-25 Canon Kabushiki Kaisha Printing apparatus, control method thereof, and storage medium

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230161524A1 (en) * 2021-11-25 2023-05-25 Canon Kabushiki Kaisha Printing apparatus, control method thereof, and storage medium
EP4187365A1 (en) 2021-11-25 2023-05-31 Canon Kabushiki Kaisha Printing apparatus, control method thereof, and program

Also Published As

Publication number Publication date
JP3951113B2 (ja) 2007-08-01

Similar Documents

Publication Publication Date Title
JP3711432B2 (ja) 周辺処理装置およびその制御方法
CN102023826B (zh) 打印系统、打印设备、程序以及存储介质
EP2667565B1 (en) Network device, method, and storage medium
JP4594124B2 (ja) 通信システム及び通信方法
JPH11327815A (ja) 通信制御方法及び装置及び通信システム
JPH07168774A (ja) 無接続セッション指向プロトコルの第1メッセージの生成システム及び方法
JP3387466B2 (ja) データ通信装置
JPH10308791A (ja) データ通信方法、データ通信装置、およびデータ通信プログラム記録媒体
US9525757B2 (en) Information processing apparatus that controls connection of devices, method of controlling the apparatus, and device control system
JP2003256178A (ja) 装置間データ通信の制御装置及び方法
JP2000224260A (ja) 通信制御装置
US8266247B2 (en) Relay processing apparatus, control method and program therefor, and terminal control server
JP2003258804A (ja) 装置間データ通信の制御装置及び方法
CN116383116A (zh) 一种基于spi总线的通信方法及装置
JP3750467B2 (ja) Usbシミュレーション装置、及び、記憶媒体
US20070050666A1 (en) Computer Network System and Related Method for Monitoring a Server
JP2005228222A (ja) シリアルデータ転送方法とその装置
CN115525935B (zh) 多安全芯片的并发数据运算方法、装置、设备及存储介质
CN112363962B (zh) 数据通信方法、系统、电子设备及计算机存储介质
WO2009095969A1 (ja) データ転送装置、データ転送システム、及びデータ転送方法
JP3593882B2 (ja) 印刷装置及びインターフェース制御方法
CN115237836A (zh) 一种视频转码卡连接方法、装置、设备及介质
JP2948380B2 (ja) データ通信装置
CN112925730A (zh) 一种PCIe设备链路训练控制方法及系统
JPH1153131A (ja) 印刷装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040407

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060530

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060626

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060821

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20060821

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070410

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110511

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120511

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130511

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20140511

Year of fee payment: 7

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees