JP3951113B2 - 装置間データ通信の制御装置及び方法 - Google Patents
装置間データ通信の制御装置及び方法 Download PDFInfo
- Publication number
- JP3951113B2 JP3951113B2 JP2002057537A JP2002057537A JP3951113B2 JP 3951113 B2 JP3951113 B2 JP 3951113B2 JP 2002057537 A JP2002057537 A JP 2002057537A JP 2002057537 A JP2002057537 A JP 2002057537A JP 3951113 B2 JP3951113 B2 JP 3951113B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- printer
- print data
- orb
- host
- 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
Links
- 238000004891 communication Methods 0.000 title claims description 71
- 238000000034 method Methods 0.000 title claims description 28
- 230000005540 biological transmission Effects 0.000 claims description 97
- 239000000725 suspension Substances 0.000 claims description 14
- 238000012545 processing Methods 0.000 description 32
- 101000692225 Homo sapiens Selenocysteine insertion sequence-binding protein 2 Proteins 0.000 description 5
- 102100026077 Selenocysteine insertion sequence-binding protein 2 Human genes 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000004140 cleaning Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 235000011962 puddings Nutrition 0.000 description 1
Images
Landscapes
- Accessory Devices And Overall Control Thereof (AREA)
Description
【発明が属する技術分野】
本発明は、例えばホスト装置と電子式プリンタとの間の印刷データや制御データの通信のような、装置間のデータ通信を制御するための装置及び方法に関する。
【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、IEEE1394.3コントローラ50、SBP2コントローラ60、IEEE1394バスドライバ70、IEEE1394コネクタ80及びIEEE1394ケーブル90を通じてプリンタへ送られるようになっている。
【0020】
また、プリンタユーティリティ20は、定期的に又はユーザの要求に応答してプリンタの現在のステータスをプリンタから取得したり、ユーザの要求に応答してプリンタに対してメンテナンスなどのための各種の特別動作(例えば、インクカートリッジ交換、ヘッドクリーニング、テスト印刷、ステータス印刷、給紙/排紙など)を行わせたりするための制御データを出力するものである。プリンタユーティリティ20から出力された制御データは、ポートモニタ40、IEEE1394.3コントローラ50、SBP2コントローラ60、IEEE1394バスドライバ70、IEEE1394コネクタ80及びIEEE1394ケーブル90を通じてプリンタへ送られるようになっている。
【0021】
IEEE1394.3コントローラ50は、規格IEEE1394.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】
ホスト装置において、プリンタドライバ10又はプリンタユーティリティ20からの印刷データ又は制御データの送信要求が発生すると、図2に示すように、ホスト装置は、そのメモリ上に、オペレーション・リクエスト・ブロック(以下、「ORB」という)と呼ばれるデータブロック100と、送信したい印刷データ又は制御データを格納したデータ・バッファ110を構築し、そして、ステップS1に示すように、ORBリード要求をプリンタに送信する。プリンタは、ホスト装置からのORBリード要求に応答して、ステップS2に示すように、ホスト装置からORBを読み込む。
【0025】
ORBには、ホスト装置からプリンタに要求された動作(例えば、データのリード又はライトなど)や、データ・バッファ110の先頭アドレス及びデータサイズなどが記述されている。プリンタは、ステップS3に示すように、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_Ch_ORB」と略す)と、その制御データを格納したデーバッファとが、ホスト装置内に構築される。しかし、その時、D_Chを通じて印刷データが送信中である場合には、ホスト装置は、(IEEE1394の規格によれば、D_ChとC_Chを同時に用いて印刷データと制御データを同時並行的に送信できるのであるが、敢えてそうせずに)ステップS18に示すように、その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_ORBに関連付けられた印刷データ送信要求が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が再びプリンタに読み込まれ(ステップS30)、続いて、その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】
ここで、プリンタがデータの読み込みを行っている最中に、ホスト装置とプリンタが接続されたIEEE1934通信ネットワークの構成が変化した(例えば、通信ネットワークの何処かの通信ケーブルが抜かれた、或いは、その通信ケーブルが再び差し込まれた、など)とする。すると、ネットワークの構成が変化した直後に、ステップ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_ORBに関連付けられたデータ送信要求をD_Ch送信保留キューに入れる(S64)。また、C_Chへのデータ送信要求であれば、そのデータの読み込みをプリンタに要求するためのC_Ch_ORBを構築し(S65)、そして、そのC_Ch_ORBに関連付けられたデータ送信要求をC_Ch送信保留キューに入れる(S66)。
【0052】
図8は、ORBを送信するときのホスト装置の制御手順を示す。
【0053】
図8に示すように、まず、現在他のORBの処理が実行されている最中であるか否かを知るために、ORB処理中フラグをチェックする(S71)。その結果、ORB処理中フラグが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にする(S77)。
【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にする(S83)。
【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であったならば、次に、プリンタが現在エラー状態か正常状態かをチェックする。その結果、エラー状態であれば、ORBにより要求された処理がエラーによる未完了である旨のSBをホスト装置に返送する(S105)。
【0062】
一方、ステップS104のチェックの結果、プリンタが正常状態であれば、上述した上限時間(例えば、5秒)までカウントするタイマを起動し(S105)、そして、今回受信したORBのシグネチャと前回受信したORBのシグネチャとを比較する(S107)。その結果、両シグネチャが一致していれば、今回のORBは前回のORBが再送信されたものであることを意味する。その場合、プリンタは、次に、前回のORBの処理実行時に記憶しておいた残りデータ数がゼロかどうかをチェックする(S107)。(なお、前回のORBの処理実行時に記憶しておいた残りデータ数を用いる代わりに、前回のORBの処理実行時に記憶しておいた処理(読み込み)済データ数と、今回のORBで指定されたデータ・バッファ・サイズとから、残りデー多数を計算してもよい。)その結果、残りデータ数がゼロでなければ、前回のORBの要求処理は未完了であったことを意味するので、プリンタは、今回のORBで指定されたデータバッファの先頭アドレスから、前回のORBに関して記憶しておいた処理済データ数(読み込み済データ数)分だけアドレスをスキップして、その次のアドレスから未処理の残りデータ(例えば、残り印刷データ)の読み込みを開始する(S110)。そして、D_Ch_ORB処理中フラグをONにする(S111)。
【0063】
一方、ステップS109のチェックの結果、残りデータ数がゼロであれば、前回のORBの要求処理は既に完了していることを意味するので、プリンタは、要求処理が完了した旨のSBをホスト装置に返送する(S112)。
【0064】
また、上記ステップS107のシグネチャ比較の結果、前回と今回のシグネチャが違っていれば、今回のORBは前回とは別の新しいORBであることを意味するので、プリンタは、今回のORBで指定されたデータバッファの先頭アドレスから、データ(例えば、印刷データ)の読み込みを開始する(S108)。そして、D_Ch_ORB処理中フラグをONにする(S111)。
【0065】
また、上記のステップS103で、受信したORBがC_Chのものであった場合には、プリンタは、そのC_Ch_ORBで指定されたデータバッファの先頭アドレスから、データ(例えば、制御データ)の読み込みを開始する(S113)。そして、C_Ch_ORB処理中フラグをONにする(S114)。
【0066】
さて、上述した図10のステップS108又はS11で開始されたD_Chによるデータ(例えば、印刷データ)の読み込み処理では、既に述べたように、そのデータは多数のデータブロック(又はパケット)に区分されていて、プリンタは、その多数のデータブロックを1ブロックづつ順番に読み込んでいく。
【0067】
図11は、D_Chで1つのデータブロックの読み込みが完了する都度にプリンタが行う制御手順を示す。
【0068】
図11に示すように、1つのデータブロックの読み込みが完了すると、プリンタは、処理済データ数(読み込み済データ数)を1データブロック分増やし、残りデータ数を1データブロック分減らす(S121)。そして、この更新された処理済データ数又は残りデータ数から、プリンタは、ORBに指定された全データブロックの読み込みが完了したか否かをチェックする(S122)。その結果、まだ全データブロックの読み込みが完了してなければ、次のデータブロックの読み込みを開始する(S123)。一方、全データブロックの読み込みが完了したならば、完了のSBをホスト装置に返送し(S124)、そして、D_Ch_ORB処理中フラグをOFFにする(S125)。
【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をホスト装置に返送し(S133)、そして、D_Ch_ORB処理中フラグをOFFにして、そのD_Chでのデータ読み込みを一時的に中断する(S134)。
【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_Ch)、C_Ch_ORB未完了フラグをOFFにする(S145)。そして、ホスト装置の通信制御は、図8に示したORB送信時の処理に進む。
【0074】
上記ステップS141の完了チェックの結果、ORBの要求処理が未完了である場合には、ホスト装置は、その未完了のORBがD_Chのものであれば(S146でD_Ch)、その未完了の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】 オペレーション・リクエスト・ブロック(ORB)の構成を示す図
【図4】 ステータス・ブロック(SB)の構成を示す図。
【図5】 本発明の原理に従う通信制御の下でホスト装置からプリンタへと印刷データ及び制御データが伝送される手順の一具体例を示す図。
【図6】 本発明の原理に従う通信制御の下で、ホスト装置とプリンタが接続されたIEEE1934通信ネットワークの構成が変化した場合におけるバスリセット前後のデータ通信の手順の一具体例を示す図。
【図7】 印刷データや制御データ等の送信要求が発生したときのホスト装置の制御流れを示すフローチャート。
【図8】 ORBを送信するときのホスト装置の制御手順を示すフローチャート。
【図9】 バスリセット直後のホスト装置の制御手順を示すフローチャート。
【図10】 ORBを受信した時のプリンタの制御手順を示すフローチャート。
【図11】 1ブロックデータ受信完了時のプリンタの制御手順を示すフローチャート。
【図12】 D_Chでデータ受信中にタイムアウトアウトイベントが発生した時のプリンタの制御手順を示すフローチャート。
【図13】 SBを受信した時のホスト装置の制御手順を示すフローチャート。
【符号の説明】
10 プリンタドライバ
20 プリンタユティリティ
50 IEEE1394.3コントローラ
100 オペレーション・リクエスト・ブロック(ORB)
110 データバッファ
120 レジスタ
200 ステータス・ブロック(SB)
Claims (3)
- データチャネルとコントロールチャネルとをもつ通信インタフェースによるホストとプリンタ間のデータ通信を制御するための装置において、
前記ホストにて、印刷データ及び制御データをプリンタへ送信する送信手段と、
前記ホストにて、前記プリンタからの前記印刷データ又は制御データの受信に関する応答を待っている間の経過時間が所定の制限時間を経過したときにホストタイムアウトイベントを発生するホストタイムアウト手段と、
前記プリンタにて、前記ホストから前記印刷データの受信を行っている間の経過時間をカウントするタイマと、
前記プリンタにて、前記印刷データの受信が完了する前に、前記タイマによるカウント値が、前記ホストタイムアウト手段が用いる制限時間よりも短く設定されている所定の上限時間に達したときにプリンタタイムアウトイベントを発生するプリンタタイムアウト手段と、
前記プリンタにて、前記プリンタタイムアウトイベントに応答して、前記印刷データの受信に関する未完了の応答を前記ホストへ返送し、また、前記印刷データの受信が完了したとき、前記印刷データの受信に関する完了の応答を前記ホストへ返送し、さらに、前記制御データの受信が完了したとき、前記制御データの受信に関する完了の応答を前記ホストへ返送する応答手段と、
を備え、
前記ホストにて、前記送信手段が、前記プリンタから前記印刷データの受信に関する未完了の応答を受けた場合、今まで行われていた印刷データの送信要求を送信保留キューに入れて前記印刷データの送信を一時的に中断し、その後、前記制御データを前記プリンタへ送信し、前記プリンタから前記制御データの受信に関する完了の応答を受けた場合、前記送信保留キューから前記印刷データの送信要求を取り出して、前記印刷データの送信を再開する、装置間データ通信制御装置。 - 前記プリンタにて、前記印刷データの送信が完了する前に前記プリンタタイムアウトイベントが発生したときに、受信済データサイズ又は未受信の残りデータサイズを記憶し、そして、前記印刷データの送信が再開されたとき、前記記憶した受信済データサイズ又は残りデータサイズに基づいて、受信済データをスキップして未受信の残りデータを選択的に受信する手段と
を更に備えた請求項1記載の装置間データ通信制御装置。 - データチャネルとコントロールチャネルとをもつ通信インタフェースによるホストとプリンタ間のデータ通信を制御するための方法において、
前記ホストにて、印刷データ又は制御データをプリンタに送信するステップと、
前記ホストにて、前記プリンタからの前記印刷データ又は制御データの受信に関する応答を待っている間の経過時間が所定の制限時間を経過したときにホストタイムアウトイベントを発生するステップと、
前記プリンタにて、前記ホストから前記印刷データの受信を行っている間の経過時間をカウントするステップと、
前記プリンタにて、前記印刷データの受信が完了する前に、前記経過時間のカウント値が、前記ホストタイムアウトイベントのための制限時間よりも短く設定されている所定の上限時間に達したときにプリンタタイムアウトイベントを発生するステップと、
前記プリンタにて、前記プリンタタイムアウトイベントに応答して、前記印刷データの受信に関する未完了の応答を前記ホストへ返送するステップと、
前記プリンタにて、前記印刷データの受信が完了したとき、前記印刷データの受信に関する完了の応答を前記ホストへ返送するステップと、
前記プリンタにて、前記制御データの受信が完了したとき、前記制御データの受信に関する完了の応答を前記ホストへ返送するステップと、
前記ホストにて、前記プリンタから前記印刷データの受信に関する未完了の応答を受けた場合、今まで行われていた印刷データの送信要求を送信保留キューに入れて前記印刷データの送信を一時的に中断し、その後、前記制御データを前記プリンタへ送信し、前記プリンタから前記制御データの受信に関する完了の応答を受けた場合、前記送信保留キューから前記印刷データの送信要求を取り出して、前記印刷データの送信を再開するステップと、
を備えた装置間データ通信制御方法。
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 JP2003256178A (ja) | 2003-09-10 |
JP3951113B2 true 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) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2023077923A (ja) | 2021-11-25 | 2023-06-06 | キヤノン株式会社 | 印刷装置及びその制御方法、並びにプログラム |
-
2002
- 2002-03-04 JP JP2002057537A patent/JP3951113B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003256178A (ja) | 2003-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3711432B2 (ja) | 周辺処理装置およびその制御方法 | |
US10782756B2 (en) | Printing apparatus, method, and non-transitory storage medium for controlling power shifting based on whether search packet is serviceable | |
US8619290B2 (en) | Image forming apparatus, image forming system, and image forming method | |
CN102023826B (zh) | 打印系统、打印设备、程序以及存储介质 | |
JP4259557B2 (ja) | 印刷装置及び論理パケット処理方法 | |
JP2004157966A (ja) | エンドポイント・メモリ制御方法、エンドポイント・メモリ制御装置、usb装置および記憶媒体 | |
US20070073824A1 (en) | Apparatus and method for acquiring identification information when a bus reset occurs | |
US6937355B1 (en) | Data communications apparatus for resuming data transfer after interruption | |
JP2007272832A (ja) | 印刷システム、ホスト装置、印刷装置、印刷制御方法、印刷方法、それらの方法をコンピュータに実行させるプログラム、および記録媒体 | |
US5926650A (en) | Method and system utilizing a negotiation phase to transfer commands and data in separate modes over a host/peripheral interface | |
JP2000227841A (ja) | プリンタの制御装置およびタスク制御方法並びにプログラムを記録した記録媒体 | |
JP3951113B2 (ja) | 装置間データ通信の制御装置及び方法 | |
JP3794480B2 (ja) | 装置間データ通信の制御装置及び方法 | |
US9525757B2 (en) | Information processing apparatus that controls connection of devices, method of controlling the apparatus, and device control system | |
US8270017B2 (en) | Network card device for determining permissibility for processing data from a data source and method of controlling the same | |
JP4572138B2 (ja) | サーバ装置、サーバシステム、及びサーバシステムでの系切り換え方法 | |
JP4306118B2 (ja) | プリンタ及びプリンタの制御方法 | |
JP2000122819A (ja) | ネットワークプリンタ | |
JP2001086132A (ja) | 通信システム、印刷システム、及び通信方法、印刷制御方法 | |
JP2002029118A (ja) | 印刷装置 | |
CN115237836A (zh) | 一种视频转码卡连接方法、装置、设备及介质 | |
CN112925730A (zh) | 一种PCIe设备链路训练控制方法及系统 | |
JP2000341316A (ja) | データ通信装置 | |
JPH11175269A (ja) | ホスト装置 | |
JP2001257703A (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 |