(57)【特許請求の範囲】
【請求項１】
IEEE1394規格に適合又は準拠するシリアルバスを介して、ホストデバイスとターゲットデバイスとの間でデータ通信を行うデータ通信方法において、
前記ターゲットデバイスが処理すべきデータ用のジョブチャネル、前記ターゲットデバイスの状態を要求する情報用の管理チャネル、及び拡張情報用の拡張チャネルのいずれか一つを介してデータ通信を行うことを特徴とするデータ通信方法。
【請求項２】
前記データは、使用するチャネルの種類を示す識別情報を少なくとも含むことを特徴とする請求項１記載のデータ通信方法。
【請求項３】
前記チャネルの種類は、アシンクロナス・データ転送において、任意のタイミングで転送されるデータパケットに対して設定されることを特徴とする請求項１又は２記載のデータ通信方法。
【請求項４】
前記拡張情報は、前記ホストデバイスに関する情報であることを特徴とする請求項１乃至３のいずれか１項に記載のデータ通信方法。
【請求項５】
前記拡張情報は、前記ターゲットデバイスが処理すべきデータの送信状態に関する情報であることを特徴とする請求項１乃至４のいずれか１項に記載のデータ通信方法。
【請求項６】
前記ホストデバイスから前記ターゲットデバイスに複数のデータを転送する場合、前記複数のデータの各々は、前記転送されるデータの順番に関する情報を含むことを特徴とする請求項１乃至５のいずれか１項に記載のデータ通信方法。
【請求項７】
前記ホストデバイスは複数のホストデバイスから成ることを特徴とする請求項１乃至６のいずれか１項に記載のデータ通信方法。
【請求項８】
前記拡張情報は、前記複数のホストデバイスのうちログイン中の他のホストデバイスに関する情報を要求する情報であることを特徴とする請求項７記載のデータ通信方法。
【請求項９】
前記ホストデバイスに関する情報は、前記複数のホストデバイスのうちログイン中のホストデバイス毎に独立して分類されることを特徴とする請求項７又は８記載のデータ通信方法。
【請求項１０】
前記ターゲットデバイスは複数のターゲットデバイスから成ることを特徴とする請求項１乃至９のいずれか１項に記載のデータ通信方法。
【請求項１１】
IEEE1394規格上のSBP−２（ANSI NCITS 325−1998）規格に適合又は準拠することを特徴とする請求項１乃至１０のいずれか１項に記載のデータ通信方法。
【請求項１２】
IEEE1394規格に適合又は準拠するシリアルバスを介して、ホストデバイスとターゲットデバイスとの間でデータ通信を行うデータ通信装置であって、
前記ターゲットデバイスが処理すべきデータ用のジョブチャネル、前記ターゲットデバイスの状態を要求する情報用の管理チャネル、及び拡張情報用の拡張チャネルのいずれか一つを介してデータ通信を行うことを特徴とするデータ通信装置。
【請求項１３】
前記データは、使用するチャネルの種類を示す識別情報を少なくとも含むことを特徴とする請求項１２記載のデータ通信装置。
【請求項１４】
前記チャネルの種類は、アシンクロナス・データ転送において、任意のタイミングで転送されるデータパケットに対して設定されることを特徴とする請求項１２又は１３記載のデータ通信装置。
【請求項１５】
前記拡張情報は、前記ホストデバイスに関する情報であることを特徴とする請求項１２乃至１４のいずれか１項に記載のデータ通信装置。
【請求項１６】
前記拡張情報は、前記ターゲットデバイスが処理すべきデータの送信状態に関する情報であることを特徴とする請求項１２乃至１５のいずれか１項に記載のデータ通信装置。
【請求項１７】
前記データを複数転送する場合、前記データは、前記転送されるデータの順番に関する情報を夫々含むことを特徴とする請求項１２乃至１６のいずれか１項に記載のデータ通信装置。
【請求項１８】
前記ホストデバイスは複数のホストデバイスから成ることを特徴とする請求項１２乃至１７のいずれか１項に記載のデータ通信装置。
【請求項１９】
前記拡張情報は、前記複数のホストデバイスのうちログイン中の他のホストデバイスに関する情報を要求する情報であることを特徴とする請求項１８記載のデータ通信装置。
【請求項２０】
前記ホストデバイスに関する情報は、前記複数のホストデバイスのうちログイン中のホストデバイス毎に独立して分類されることを特徴とする請求項１８又は１９記載のデータ通信装置。
【請求項２１】
前記ターゲットデバイスは複数のターゲットデバイスから成ることを特徴とする請求項１２乃至２０のいずれか１項に記載のデータ通信装置。
【請求項２２】
IEEE1394規格上のSBP−２（ANSI NCITS 325−1998）規格に適合又は準拠することを特徴とする請求項１２乃至２１のいずれか１項に記載のデータ通信装置。
【請求項２３】
前記ホストデバイスは、前記ターゲットデバイスが処理すべきデータ、又は前記ターゲットデバイスの状態を要求する情報を生成する生成手段を備えることを特徴とする請求項１２乃至２２のいずれか１項に記載のデータ通信装置。
【請求項２４】
前記ターゲットデバイスは、前記ターゲットデバイスが処理すべきデータ、又は前記ターゲットデバイスの状態を要求する情報を解析する解析手段を備えることを特徴とする請求項１２乃至２３のいずれか１項に記載のデータ通信装置。
【請求項２５】
IEEE1394規格に適合又は準拠するシリアルバスを介して接続された複数のコンピュータの夫々と、１回のログインプロセス中において少なくともジョブチャネルと拡張チャネルからなる複数のチャネルを切替えることによってデータの通信を行うプリンタであって、
前記複数のコンピュータのうち第１のコンピュータから前記ジョブチャネルを介して印刷データを受信中に、前記複数のコンピュータのうち第２のコンピュータから前記拡張チャネルを介して印刷データ転送開始の要求を受信した場合は、前記第２のコンピュータに対して、前記拡張チャネルを介して前記印刷データ転送開始の失敗と、前記第１のコンピュータからの印刷データを受信中であることとを通知する手段を有することを特徴とするプリンタ。
【請求項２６】
前記第２のコンピュータから前記拡張チャネルを介して印刷データ転送開始の要求をさらに受信した場合において、前記第１のコンピュータからの印刷データの受信が終了していたときは、前記第２のコンピュータに前記拡張チャネルを介して前記印刷データ転送開始の成功を送信する手段を有することを特徴とする請求項２５記載のプリンタ。
【請求項２７】
IEEE1394規格に適合又は準拠するシリアルバスを介して接続された複数のコンピュータの夫々と、１回のログインプロセス中において少なくともジョブチャネルと拡張チャネルからなる複数のチャネルを切替えることによってデータの通信を行うプリンタの制御方法であって、
前記複数のコンピュータのうち第１のコンピュータから前記ジョブチャネルを介して印刷データを受信中に、前記複数のコンピュータのうち第２のコンピュータから前記拡張チャネルを介して印刷データ転送開始の要求を受信した場合は、前記第２のコンピュータに対して、前記拡張チャネルを介して前記印刷データ転送開始の失敗と、前記第１のコンピュータからの印刷データを受信中であることとを通知することを特徴とするプリンタの制御方法。
【請求項２８】
前記第２のコンピュータから前記拡張チャネルを介して印刷データ転送開始の要求をさらに受信した場合において、前記第１のコンピュータからの印刷データの受信が終了していたときは、前記第２のコンピュータに前記拡張チャネルを介して前記印刷データ転送開始の成功を送信することを特徴とする請求項２７記載のプリンタの制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データ通信方法及び装置、並びにプリンタ及びその制御方法に関し、IEEE1394規格に適合又は準拠したシリアルバスを介してホストデバイスとターゲットデバイスとの間でデータを転送するデータ通信方法及び装置、並びにプリンタ及びその制御方法に関する。
【０００２】
【従来の技術】
近年、コンピュータの周辺機器において、プリンタの高解像度化やハードディスクの大容量化で大量のデータを処理することが可能になるにつれ、より高速なデータ通信を可能とするデータ通信装置としてのシリアルバスが利用されるようになってきた。
【０００３】
各種のシリアルバスの中でも、ホストデバイスとターゲットデバイスとの間で１対１の接続のみならず複数対複数の接続を許可するＩＥＥＥ１３９４シリアルバス（以下、「１３９４シリアルバス」という）は、高速という点で優れており、プリンタ又はハードディスクとコンピュータとを接続するものが提案されている。
【０００４】
図１２は、従来のデータ通信装置により接続されたホストデバイス及びターゲットデバイスの構成を示すブロック図である。
【０００５】
図１２において、コンピュータ１００（ホストデバイス）は、ＭＰＵ等の演算処理部１０１、デコーダ１０２、ディスプレイ等の表示部１０３、ハードディスク装置（ＨＤ）１０４、キーボードやマウス等の操作部１０５、ＲＡＭ等のメモリ１０６を有する。これらの構成要素は、ＰＣＩ等の内部バス１０７を介して１３９４シリアルバス用の１３９４インターフェース（Ｉ／Ｆ）部１０８に接続されている。
【０００６】
また、プリンタ１１０（ターゲットデバイス）は、ボタン等の操作部１１２、紙送り等を制御するドライバ１１３、画像処理部１１６、デコーダ１１７、及び印刷用紙等の記録媒体に印字を行うプリンタヘッド１１４を有する。これらの構成要素は、プリンタコントローラ１１１及びデータセレクタ１１８を介して１３９４シリアルバス用の１３９４インターフェース（Ｉ／Ｆ）部１１９に接続されている。画像処理部１１６とデコーダ１１７は互いに接続され、プリンタヘッド１１４及び画像処理部１１６には、イメージ等を一時記憶するメモリ１１５が接続されている。
【０００７】
コンピュータ１００の１３９４Ｉ／Ｆ部１０８と、プリンタ１１０の１３９４Ｉ／Ｆ部１１９とは、１３９４シリアルバスを介して接続され、夫々１３９４シリアルバスのノードとして認識され、データの転送を行うことができる。
【０００８】
図１３は、図１２におけるコンピュータ１００及びプリンタ１１０間の印刷フローを示す図である。
【０００９】
図１３において、まず、コンピュータ１００からプリンタ１１０に対してログインを要求したときに、プリンタ１１０は、既に他のコンピュータからログインされていなければ、コンピュータ１００にログインの成功を返す。コンピュータ１００は、ログインが成功すると、用紙切れ等のエラーが生じているか否かのような現在のプリンタ１１０の状態を要求する状態要求コマンドをプリンタ１１０に送信し、プリンタ１１０の状態要求コマンドのリプライとして状態コマンドを受信する。プリンタ１１０の状態コマンドにより用紙切れ等のエラーが生じていない場合は、プリンタ１１０への印刷データの送信を開始し、印刷データの送信終了後、プリンタ１１０のログアウトを要求すると共に、プリンタ１１０のログアウトの成功を受信する。
【００１０】
コンピュータ１００から送信されるデータは、プリンタ１１０が印刷する際の用紙サイズ等の印刷条件や印字すべきイメージを含む印刷データと、装着可能用紙等のプリンタ１１０の構成や用紙切れ等のプリンタ１１０の稼動状況に関する情報を請求する状態要求コマンドとに大別される。プリンタ１１０は、状態要求コマンドを受信した場合、リプライである状態コマンドをコンピュータ１００に返送する。
【００１１】
図１４に、従来の１３９４シリアルバスで使用される１３９４コマンドパケットＯＲＢ（Operation Request Block）の説明図であり、（ａ）は、SBP-２ （ANSI NCITS 325-1998）（シリアルバスプロトコル-２）のコマンドパケットのフォーマットを示し、（ｂ）は、主にMicrosoft社のWindows（登録商標） OSにて利用されるSCSIコマンド部を定義したコマンドパケットのフォーマットを示す。
【００１２】
本パケットは、非同期（Ａｓｙｎｃｈｒｏｎｏｕｓ）パケットであり、４ｂｙｔｅｓ（３２ｂｉｔｓ，以下「クアッドレット」という）を単位とするコマンドパケットである。図１４（ａ）及び図１４（ｂ）共に最初の５クアッドレットまでの定義は同様である。
【００１３】
最初の２クアッドレットのｎｅｘｔ  ＯＲＢは次のＯＲＢへのポインタであり、次のＯＲＢがない場合はＮＵＬＬが設定される。次の２クアッドレットのｄａｔａ＿ｄｅｓｃｒｉｐｔｏｒはデータバッファ又はページテーブルのアドレスを示している。ｎｏｔｉｆｙ＿ｂｉｔは、完了時にノーティフィケーションが必要か否かを示している。さらに、ｒｑ＿ｆｍｔは該ＯＲＢのフォーマット、ｒ  ｂｉｔはリプライ（ｒｅｐｌｙ）、ｄ  ｂｉｔはデータ転送方向、ｓｐｄはデータ転送速度、ｍａｘ＿ｐａｙｌｏａｄは最大転送データ長、ｐはＰａｇｅＴａｂｌｅの有無、ｐａｇｅ＿ｓｉｚｅはＰａｇｅＴａｂｌｅのＢｕｆｆｅｒのサイズを示すビットである。
【００１４】
図１４（ａ）においては、６クアッドレット番目からターゲットデバイスと転送を行うコマンドが設定される。一方、図１４（ｂ）では、６クアッドレット番目からSCSI CDB （Command Descriptor Blocks）が設定される。CDB（図１４（ｂ）のcdb）は、６、１０又は１２BytesのSCSIコマンドであり、データの転送等を命令する各種のコマンドが設定される。
【００１５】
上記のようにSBP-２パケット（図１４（ａ））においては、プリンタ１１０の印刷データと状態要求コマンドを区別することができないため、プリンタ１１０内のデータセレクタ１１８はコンピュータ１００から転送されたコマンドを全て解析することによって、印刷データと状態要求コマンドを分別し、プリンタコントローラ１１１に転送している。そのため、プリンタ１１０での負荷が大きく、処理が重たくなるという問題があった。
【００１６】
一方、プリンタ１１０やスキャナ等の周辺機器（ターゲットデバイス）を複数のユーザ間で共有して使用する場合に、ターゲットデバイスの状態情報を取得したいという要請がある。また、ターゲットデバイスが処理すべきデータが複数のコンピュータ（ホストデバイス）から同時に送信された場合に、ターゲットデバイスの状態をユーザに通知し、中止又は続行等の適切な処理ができることが求められている。
【００１７】
また、ターゲットデバイスは、複数のデータを同時に受信した場合、受信したパケットがどのホストデバイスから送信されたかを管理し、適切に分類する必要がある。
【００１８】
図１５は、従来の１３９４シリアルバスで接続されたホストデバイス及びターゲットデバイスによる画像通信方法の説明図である。
【００１９】
図１５において、ホストデバイス１２０１は、データ１２０４を生成するデータ生成部１２０２と、ホストデバイス１２０１固有の情報を付加した１３９４パケット１２０５を生成するドライバ１２０３とを有し、ホストデバイス１２１１は、データ１２１４を生成するデータ生成部１２１２と、ホストデバイス１２１１固有の情報を付加した１３９４パケット１２１５を生成するドライバ１２１３とを有する。１３９４パケット１２０５，１２１５は、１３９４シリアルバスで使用されるパケットであり、データ１２０４，１２１４に付加されるホストデバイス固有の情報は、例えば、後述するターゲットデバイス１２２１にログインした際のログインＩＤ等の情報がある。
【００２０】
一方、ターゲットデバイス１２２１は、１３９４パケット受信部１２２２と、ホストデバイス１２０１用のバッファ１２２３と、ホストデバイス１２１１用のバッファ１２２４とを有する。１３９４パケット受信部１２２２は、１３９４パケット１２０５，  １２１５を夫々受信し、各ホストデバイス固有の情報を解析し、その解析された結果に応じて、データ１２０４に相当するデータ１２２５をバッファ１２２３に、データ１２１４に相当するデータ１２２６をバッファ１２２４に夫々格納する。１３９４パケット受信部１２２２は、具体的には、図１２における１３９４Ｉ／Ｆ部１１９及びデータセレクタ１１８から成る。
【００２１】
上記構成によれば、ホストデバイス１２０１，１２１１で１３９４パケット１２０５，１２１５にホストデバイス固有の情報を付加することによって、ターゲットデバイス１２２１は、受信した１３９４パケット１２０５，１２１５を発信したホストデバイス１２０１，１２１１を識別することができる（例えば、非特許文献１参照）。
【非特許文献１】
“Working Draft Revision 4 「Information technology -Serial Bus Protocol 2 (SBP-2)」”、〔online〕、１９９８年５月１９日、インターネット＜ＵＲＬ：http://www.t10.org/ftp/t10/drafts/sbp2/sbp2r04.pdf＞
【００２２】
【発明が解決しようとする課題】
しかしながら、上記従来のデータ通信方法には、ホストデバイス１２０１，１２１１のドライバ１２０３，１２１３、及びターゲットデバイス１２２１の１３９４パケット受信部１２２２での処理が複雑になるという問題がある。即ちホストデバイス１２０１，１２１１は、ホストデバイス固有の情報を付加する機能を必要とし、ターゲットデバイス１２２１は、受信されたデータを解析、分別するための機能を必要として、データ解析が複雑になりデータセレクタの負荷が大きいという問題があった。このため、複数のホストデバイスからのログインを制限しており、複数のホストデバイスとの同時通信を行うことができなかった。
【００２３】
本発明の目的は、前記問題点を解決するためになされたもので、ターゲットデバイスのデータセレクタの負荷を低減することができるデータ通信方法及び装置、並びにプリンタ及びその制御方法を提供することにある。
【００２４】
【課題を解決するための手段】
上記目的を達成するために、請求項１記載のデータ通信方法は、IEEE1394規格に適合又は準拠するシリアルバスを介して、ホストデバイスとターゲットデバイスとの間でデータ通信を行うデータ通信方法において、前記ターゲットデバイスが処理すべきデータ用のジョブチャネル、前記ターゲットデバイスの状態を要求する情報用の管理チャネル、及び拡張情報用の拡張チャネルのいずれか一つを介してデータ通信を行うことを特徴とする。
請求項２記載のデータ通信方法は、請求項１記載のデータ通信方法において、前記データは、使用するチャネルの種類を示す識別情報を少なくとも含むことを特徴とする。
【００２５】
請求項３記載のデータ通信方法は、請求項１又は２記載のデータ通信方法において、前記チャネルの種類は、アシンクロナス・データ転送において、任意のタイミングで転送されるデータパケットに対して設定されることを特徴とする。
請求項４記載のデータ通信方法は、請求項１乃至３のいずれか１項に記載のデータ通信方法において、前記拡張情報は、前記ホストデバイスに関する情報であることを特徴とする。
【００２６】
請求項５記載のデータ通信方法は、請求項１乃至４のいずれか１項に記載のデータ通信方法において、前記拡張情報は、前記ターゲットデバイスが処理すべきデータの送信状態に関する情報であることを特徴とする。
【００２７】
請求項６記載のデータ通信方法は、請求項１乃至５のいずれか１項に記載のデータ通信方法において、前記ホストデバイスから前記ターゲットデバイスに複数のデータを転送する場合、前記複数のデータの各々は、前記転送されるデータの順番に関する情報を含むことを特徴とする。
【００２８】
請求項７記載のデータ通信方法は、請求項１乃至６のいずれか１項に記載のデータ通信方法において、前記ホストデバイスは複数のホストデバイスから成ることを特徴とする。
【００２９】
請求項８記載のデータ通信方法は、請求項７記載のデータ通信方法において、前記拡張情報は、前記複数のホストデバイスのうちログイン中の他のホストデバイスに関する情報を要求する情報であることを特徴とする。
【００３０】
請求項９記載のデータ通信方法は、請求項７又は８記載のデータ通信方法において、前記ホストデバイスに関する情報は、前記複数のホストデバイスのうちログイン中のホストデバイス毎に独立して分類されることを特徴とする。
【００３１】
請求項１０記載のデータ通信方法は、請求項１乃至９のいずれか１項に記載のデータ通信方法において、前記ターゲットデバイスは複数のターゲットデバイスから成ることを特徴とする。
【００３２】
請求項１１記載のデータ通信方法は、請求項１乃至１０のいずれか１項に記載のデータ通信方法において、IEEE1394規格上のSBP−２（ANSI NCITS 325−1998）規格に適合又は準拠することを特徴とする。
【００４２】
上記目的を達成するために、請求項１２記載のデータ通信装置は、IEEE1394規格に適合又は準拠するシリアルバスを介して、ホストデバイスとターゲットデバイスとの間でデータ通信を行うデータ通信装置であって、前記ターゲットデバイスが処理すべきデータ用のジョブチャネル、前記ターゲットデバイスの状態を要求する情報用の管理チャネル、及び拡張情報用の拡張チャネルのいずれか一つを介してデータ通信を行うことを特徴とする。
請求項１３記載のデータ通信装置は、請求項１２記載のデータ通信装置において、前記データは、使用するチャネルの種類を示す識別情報を少なくとも含むことを特徴とする。
【００４３】
請求項１４記載のデータ通信装置は、請求項１２又は１３記載のデータ通信装置において、前記チャネルの種類は、アシンクロナス・データ転送において、任意のタイミングで転送されるデータパケットに対して設定されることを特徴とする。
請求項１５記載のデータ通信装置は、請求項１２乃至１４のいずれか１項に記載のデータ通信装置において、前記拡張情報は、前記ホストデバイスに関する情報であることを特徴とする。
【００４４】
請求項１６記載のデータ通信装置は、請求項１２乃至１５のいずれか１項に記載のデータ通信装置において、前記拡張情報は、前記ターゲットデバイスが処理すべきデータの送信状態に関する情報であることを特徴とする。
【００４５】
請求項１７記載のデータ通信装置は、請求項１２乃至１６のいずれか１項に記載のデータ通信装置において、前記データを複数転送する場合、前記データは、前記転送されるデータの順番に関する情報を夫々含むことを特徴とする。
【００４６】
請求項１８記載のデータ通信装置は、請求項１２乃至１７のいずれか１項に記載のデータ通信装置において、前記ホストデバイスは複数のホストデバイスから成ることを特徴とする。
【００４７】
請求項１９記載のデータ通信装置は、請求項１８記載のデータ通信装置において、前記拡張情報は、前記複数のホストデバイスのうちログイン中の他のホストデバイスに関する情報を要求する情報であることを特徴とする。
【００４８】
請求項２０記載のデータ通信装置は、請求項１８又は１９記載のデータ通信装置において、前記ホストデバイスに関する情報は、前記複数のホストデバイスのうちログイン中のホストデバイス毎に独立して分類されることを特徴とする。
【００４９】
請求項２１記載のデータ通信装置は、請求項１２乃至２０のいずれか１項に記載のデータ通信装置において、前記ターゲットデバイスは複数のターゲットデバイスから成ることを特徴とする。
【００５０】
請求項２２記載のデータ通信装置は、請求項１２乃至２１のいずれか１項に記載のデータ通信装置において、IEEE1394規格上のSBP−２（ANSI NCITS 325−1998）規格に適合又は準拠することを特徴とする。
【００５１】
請求項２３記載のデータ通信装置は、請求項１２乃至２２のいずれか１項に記載のデータ通信装置において、前記ホストデバイスは、前記ターゲットデバイスが処理すべきデータ、又は前記ターゲットデバイスの状態を要求する情報とを生成する生成手段を備えることを特徴とする。
請求項２４記載のデータ通信装置は、請求項１２乃至２３のいずれか１項に記載のデータ通信装置において、前記ターゲットデバイスは、前記ターゲットデバイスが処理すべきデータ、又は前記ターゲットデバイスの状態を要求する情報を解析する解析手段を備えることを特徴とする。
上記目的を達成するために、請求項２５記載のプリンタは、IEEE1394規格に適合又は準拠するシリアルバスを介して接続された複数のコンピュータの夫々と、１回のログインプロセス中において少なくともジョブチャネルと拡張チャネルからなる複数のチャネルを切替えることによってデータの通信を行うプリンタであって、前記複数のコンピュータのうち第１のコンピュータから前記ジョブチャネルを介して印刷データを受信中に、前記複数のコンピュータのうち第２のコンピュータから前記拡張チャネルを介して印刷データ転送開始の要求を受信した場合は、前記第２のコンピュータに対して、前記拡張チャネルを介して前記印刷データ転送開始の失敗と、前記第１のコンピュータからの印刷データを受信中であることとを通知する手段を有することを特徴とする。
請求項２６記載のプリンタは、請求項２５記載のプリンタにおいて、前記第２のコンピュータから前記拡張チャネルを介して印刷データ転送開始の要求をさらに受信した場合において、前記第１のコンピュータからの印刷データの受信が終了していたときは、前記第２のコンピュータに前記拡張チャネルを介して前記印刷データ転送開始の成功を送信する手段を有することを特徴とする。
上記目的を達成するために、請求項２７記載のプリンタの制御方法は、IEEE1394規格に適合又は準拠するシリアルバスを介して接続された複数のコンピュータの夫々と、１回のログインプロセス中において少なくともジョブチャネルと拡張チャネルからなる複数のチャネルを切替えることによってデータの通信を行うプリンタの制御方法であって、前記複数のコンピュータのうち第１のコンピュータから前記ジョブチャネルを介して印刷データを受信中に、前記複数のコンピュータのうち第２のコンピュータから前記拡張チャネルを介して印刷データ転送開始の要求を受信した場合は、前記第２のコンピュータに対して、前記拡張チャネルを介して前記印刷データ転送開始の失敗と、前記第１のコンピュータからの印刷データを受信中であることとを通知することを特徴とする。
請求項２８記載のプリンタの制御方法は、請求項２７記載のプリンタの制御方法において、前記第２のコンピュータから前記拡張チャネルを介して印刷データ転送開始の要求をさらに受信した場合において、前記第１のコンピュータからの印刷データの受信が終了していたときは、前記第２のコンピュータに前記拡張チャネルを介して前記印刷データ転送開始の成功を送信することを特徴とする。
【００５２】
【発明の実施の形態】
以下、本発明の実施の形態に係るデータ通信装置で接続されたホストデバイス及びターゲットデバイスの構成を図面を参照しながら説明する。
【００５３】
図１は、本発明の実施の形態に係るデータ通信装置で接続されたホストデバイス及びターゲットデバイスの構成を示すブロック図である。
【００５４】
図１において、コンピュータ４００（ホストデバイス）は、ＭＰＵ等の演算処理部４０１、デコーダ４０２、ＣＲＴディスプレイ等の表示部４０３、ハードディスク装置（ＨＤ）４０４、キーボードやマウス等の操作部４０５、ＲＡＭ等のメモリ４０６、１３９４パケットを生成するドライバ４０９を有する。これらの構成要素は、ＰＣＩ等の内部バス４０７を介してＩＥＥＥ１３９４シリアルバス用の１３９４インターフェース（Ｉ／Ｆ）部４０８に接続されている。１３９４パケットは、１３９４シリアルバスで使用されるパケットである。
【００５５】
また、プリンタ４２０（ターゲットデバイス）は、ボタン等の操作部４２２、紙送り等を制御するドライバ４２３、画像処理部４２６、デコーダ４２７、及び印刷用紙等の記録媒体に印字を行うプリンタヘッド４２４を有する。これらの構成要素は、プリンタコントローラ４２１及びデータセレクタ４２８を介して１３９４シリアルバス用の１３９４インターフェース（Ｉ／Ｆ）部４２９に接続されている。画像処理部４２６とデコーダ４２７は互いに接続され、プリンタヘッド４２４及び画像処理部４２６には、イメージ等を一時記憶するメモリ４２５が接続されている。また、１３９４Ｉ／Ｆ部４２９には、１３９４シリアルバス用の１３９４デコーダ４３０が接続されている。
【００５６】
コンピュータ４００の１３９４Ｉ／Ｆ部４２８とプリンタ４２０の１３９４Ｉ／Ｆ部４２９は、１３９４シリアルバスを介して接続され、夫々１３９４シリアルバスのノードとして認識され、データの転送を行うことができる。
【００５７】
コンピュータ４００の１３９４Ｉ／Ｆ部４０８とプリンタ４２０の１３９４Ｉ／Ｆ部４２９との間では、仮想的な３つのチャネル、即ち印刷データ用のジョブチャネル４４０、状態要求コマンド用の管理チャネル４４１、及び拡張チャネル４４２によってデータが転送される。
【００５８】
ジョブチャネル４４０は、コンピュータ４００からプリンタ４２０への送信用のコマンドパケットとその内容を示すデータパケットの片方向転送路であり、印刷データをデータセレクタ４２８に転送する。
【００５９】
管理チャネル４４１は、コンピュータ４００とプリンタ４２０との間の１３９４パケットの双方向転送路であり、状態要求コマンドをデータセレクタ４２８を介してプリンタコントローラ４２１に送信し、プリンタ４２０からのリプライである状態コマンドをコンピュータ４００に返送する。
【００６０】
拡張チャネル４４２は、コンピュータ４００とプリンタ４２０との間の１３９４パケット及びデータパケットの双方向転送路であり、ジョブチャネル４４０に関する情報や各種の制御情報等の拡張コマンドをコンピュータ４００とプリンタ４２０との間で転送する。
【００６１】
コンピュータ４００において、演算処理部４０１は、操作者による操作部４０５の操作に応じてハードディスク４０４に記録されているソフトウェアを実行すると共に、様々なデータをメモリ４０６に移動させたり、コンピュータ４００の内部バス４０７に接続された各構成要素の調停動作を行う。また、ハードディスク４０４に記録されているソフトウェア等の情報は、表示部４０３に表示され、操作者に示される。
【００６２】
デコーダ４０２は、上記ソフトウェアを通じて、印刷データ及び状態要求コマンドを生成し、ドライバ４０９に書きこむ。ドライバ４０９は、生成された印刷データと状態要求コマンドとを分別する機能を有すると共に、１３９４パケットを生成し、１３９４Ｉ／Ｆ部４０８に書きこむ。ドライバ４０９は、本実施の形態では、内部バス４０７に接続されるハードウェアであるが、コンピュータ内部のソフトウェアであってもよい。
【００６３】
一方、プリンタ４２０において、１３９４Ｉ／Ｆ部４２９は、コンピュータ４００の１３９４Ｉ／Ｆ部４０８から、ジョブチャネル４４０を介して印刷データを、管理チャネル４４１を介して状態要求コマンドを、拡張チャネル４４２を介してジョブチャネル４４０に関する情報等を受信する。
【００６４】
各チャネル４４０，４４１，４４２のデータ、コマンド情報等は、１３９４デコーダ４３０にて分別される。１３９４デコーダ４３０は、入力された状態要求コマンドを後述するＫｉｎｄ情報に基づいてデコードすることにより印刷データと状態要求コマンドとを分別し、データセレクタ４２８に状態要求コマンドを転送する。
【００６５】
受信された印刷データは、データセレクタ４２８を介してデコーダ４２７に入力され、デコーダ４２７は、入力された印刷データをデコードして画像処理部４２６に出力し、画像処理部４２６は、生成された画像データをメモリ４２５に一次的に記憶する。
【００６６】
操作部４２２等による設定やプリンタコントローラ４２１が受信した印刷条件に関する設定コマンド等に応じて、各種の印刷条件が決定される。ドライバ４２３は、印刷条件やメモリ４２５に一次的に記憶された画像データに基づいてプリンタヘッド４２４の制御や紙送り制御等様々な印刷に関する制御を行う。
【００６７】
上記構成によれば、１３９４デコーダ４３０は、状態要求コマンドをデータセレクタ４２８に転送する際に、印刷データと状態要求コマンドとを分別するので、データセレクタ４２８の処理の負荷を低減することができる。
【００６８】
拡張チャネル４４２を介して受信された情報は、データセレクタ４２８には転送されず、１３９４デコーダ内で処理される。拡張チャネル４４２の情報は、現在のジョブチャネルの状態やジョブチャネルを利用する利用者名の登録等の各種制御を行う。
【００６９】
また、ドライバ４０９が、コンピュータ４００で稼動しているＯＳ又は他のアプリケーションソフト等と共同して前述の実施形態の機能を実現する場合も、本発明に含まれることは言うまでもない。
【００７０】
更に、ドライバ４０９に関連するプログラムコードがコンピュータの機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに格納された後、そのプログラムコードの指示に基づいてその機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能を実現する場合も本発明に含まれることは言うまでもない。
【００７１】
図２は、図１のデータ通信装置で使用されるパケットのフォーマットの説明図である。
【００７２】
図２のパケットは、非同期（Ａｓｙｎｃｈｒｏｎｏｕｓ）であり、８クアッドレットから構成される。１クアッドレットから５クアッドレットまでは、図１４（ａ）及び図１４（ｂ）のＯＲＢと同様に定義される。
【００７３】
６クアッドレットと７クアッドレットは、将来の拡張のためリザーブされたものである。また、８クアッドレットにおいて、各種のパラメータが設定され、具体的には、ｋｉｎｄ  ｂｙｔｅ（Ｋｉｎｄ情報）で利用するチャネルの種類（ジョブチャネル４４０、管理チャネル４４１、拡張チャネル４４２）を、ｏｐｔｉｏｎ  ｂｙｔｅで受信データ等等に関する各種オプション機能を、ｃｏｍｍａｎｄ  ｂｙｔｅで拡張チャネル４４２においての各種機能を、ｓｅｑ．ｎｏ  ｂｙｔｅでＯＲＢのシーケンシャル番号を設定する。
【００７４】
上記パケットのフォーマットは、本発明の目的を達成するための一例であり、その詳細な定義は本例に限るものではない。
【００７５】
また、本パケットは、Ｍａｃｉｎｔｏｓｈ  ＯＳ及びＷｉｎｄｏｗｓ  ＯＳ等のＯＳに依存していないという特徴を有しており、ホストコンピュータの搭載ＯＳを制限するものではない。
【００７６】
図３は、図１におけるコンピュータ４００及びプリンタ４２０間の印刷フローの説明図である。
【００７７】
コンピュータ４００とプリンタ４２０が１３９４シリアルバスのノードとして認識された後、コンピュータ４００からプリンタ４２０へログインを要求し、ログイン成功が返される。ログイン成功の場合は、拡張チャネル４４２を介してログインしたコンピュータ４００の名称を登録する。
【００７８】
コンピュータ４００は、管理チャネル４４１を介して状態要求コマンドをプリンタ４２０に送信し、プリンタ４２０からリプライされた状態コマンドを受信する。現在の状態が印字可能状態であれば、印刷データの転送を開始する。具体的には、まず、コンピュータ４００は、拡張チャネル４４２を介して印刷データの転送開始要求をプリンタ４２０に送信する。この要求に際し、他のコンピュータからの印刷データの転送中でなければ、印刷データの転送開始成功が拡張チャネル４４２を介してコンピュータ４００にリプライされる。
【００７９】
コンピュータ４００は、印刷データの転送開始成功の場合、ジョブチャネル４４０を介して、印刷データを送信する。印刷データのサイズによっては、複数パケットに分割して、転送することになる。
【００８０】
コンピュータ４００は、全ての印刷データを送信すると、拡張チャネル４４２を介して印刷データの転送終了をプリンタ４２０に通知する。最後にログアウトを要求し、プリンタ４２０からログアウトする。
【００８１】
状態要求コマンドの送信及びリプライの状態コマンドの受信の回数は、プリンタ４２０の機種やコンピュータ４００の種類等に依存し、前記フローの回数とは限らない。また、場合によっては、印刷データの転送の途中や印刷データ転送終了後においても、状態要求コマンドの送信及びリプライの状態コマンドの受信が行われることがある。
【００８２】
図４は、本発明の第２の実施の形態に係るデータ通信装置に接続されたホストデバイス及びターゲットデバイスの構成を示すブロック図である。
本実施の形態では、２台のコンピュータ７００，７２０（ホストデバイス）がプリンタ７４０（ターゲットデバイス）にデータ通信装置を介して接続されている。
【００８３】
図４において、コンピュータ７００は、ＭＰＵ等の演算処理部７０１、デコーダ７０２、ＣＲＴディスプレイ等の表示部７０３、ハードディスク装置（ＨＤ）７０４、キーボードやマウス等の操作部７０５、ＲＡＭ等のメモリ７０６、１３９４パケットを生成するドライバ７０９を有する。これらの構成要素は、ＰＣＩ等の内部バス７０７を介して１３９４シリアルバス用の１３９４インターフェース（Ｉ／Ｆ）部７０８に接続されている。
【００８４】
コンピュータ７２０は、ＭＰＵ等の演算処理部７２１、デコーダ７２２、ＣＲＴディスプレイ等の表示部７２３、ハードディスク装置（ＨＤ）７２４、キーボードやマウス等の操作部７２５、ＲＡＭ等のメモリ７２６、１３９４パケットを生成するドライバ７２９を有する。これらの構成要素は、ＰＣＩ等の内部バス７２７を介して１３９４シリアルバス用の１３９４インターフェース（Ｉ／Ｆ）部７２８に接続されている。
【００８５】
また、プリンタ７４０は、ボタン等の操作部７４２、紙送り等を制御するドライバ７４３、画像処理部７４６、デコーダ７４７、及び印刷用紙等の記録媒体に印字を行うプリンタヘッド７４４を有する。これらの構成要素は、プリンタコントローラ７４１及びデータセレクタ７４８を介して１３９４シリアルバス用の１３９４インターフェース（Ｉ／Ｆ）部７４９に接続されている。画像処理部７４６とデコーダ７４７は互いに接続され、プリンタヘッド７４４及び画像処理部７４６には、イメージ等を一時記憶するメモリ７４５が接続されている。また、１３９４Ｉ／Ｆ部４４９には、１３９４シリアルバス用の１３９４デコーダ７５０が接続されている。
【００８６】
コンピュータ７００の１３９４Ｉ／Ｆ部７０８とプリンタ７４０の１３９４Ｉ／Ｆ部７４９は、１３９４シリアルバスを介して接続され、夫々１３９４シリアルバスのノードとして認識され、データの転送を行うことができる。
【００８７】
コンピュータ７００の１３９４Ｉ／Ｆ部７０８とプリンタ７４０の１３９４Ｉ／Ｆ部７４９との間では、仮想的な３つのチャネル、即ち印刷データ用のジョブチャネル７６０、状態要求コマンド用の管理チャネル７６１、及び拡張チャネル７６２によってデータが転送される。
【００８８】
ジョブチャネル７６０は、コンピュータ７００からプリンタ７４０への送信用のコマンドパケットとその内容を示すデータパケットの片方向転送路であり、印刷データをデータセレクタ４２８に転送する。
【００８９】
管理チャネル７６１は、コンピュータ７００とプリンタ７４０との間の１３９４パケットの双方向転送路であり、状態要求コマンドをデータセレクタ７４８を介してプリンタコントローラ７４１に転送し、プリンタ７４０からのリプライである状態コマンドをコンピュータ７００に返送する。
【００９０】
拡張チャネル７６２は、コンピュータ７００とプリンタ７４０との間の１３９４パケット及びデータパケットの双方向転送路であり、ジョブチャネル７６０に関する情報や各種の制御情報等の拡張コマンドをコンピュータ７００とプリンタ７４０との間で転送する。
【００９１】
コンピュータ７２０の１３９４Ｉ／Ｆ部７２８とプリンタ７４０の１３９４Ｉ／Ｆ部７４９は、１３９４シリアルバスを介して接続され、夫々１３９４シリアルバスのノードとして認識され、データの転送を行うことができる。
【００９２】
コンピュータ７２０の１３９４Ｉ／Ｆ部７２８とプリンタ７４０の１３９４Ｉ／Ｆ部７４９との間では、仮想的な２つのチャネル、即ち状態要求コマンド用の管理チャネル７６３、及び拡張チャネル７６４によってデータが転送される。
【００９３】
管理チャネル７６３は、コンピュータ７２０とプリンタ７４０との間の１３９４パケットの双方向転送路であり、状態要求コマンドをデータセレクタ７４８を介してプリンタコントローラ７４１に転送し、プリンタ７４０からのリプライである状態コマンドをコンピュータ７２０に返送する。
【００９４】
拡張チャネル７６４は、コンピュータ７２０とプリンタ７４０との間の１３９４パケットの双方向転送路であり、各種の制御情報等の拡張コマンドをコンピュータ７００とプリンタ７４０との間で転送する。
【００９５】
プリンタ７４０の１３９４デコーダ７５０は、１３９４Ｉ／Ｆ７４９で受信したデータを、ログイン中のコンピュータ毎に分別し、夫々独立に処理し、更に、管理チャネル７６１，７６３又は拡張チャネル７６２，７６４のリプライは、夫々対応するコンピュータ７００，７２０に対して返送される。
【００９６】
コンピュータ７００がログインしている場合においても、コンピュータ７２０は、ログインが可能である。コンピータ７００の動作は、コンピュータ７００とプリンタ７４０を１対１で接続した場合と同じである。一方、コンピュータ７２０は、コンピュータ７００がジョブチャネル７６０を現在接続しているため、プリンタ７４０にジョブチャネルを接続することができないが、管理チャネル７６３と拡張チャネル７６４は利用でき、状態要求コマンド、各種の拡張コマンドやそれらのリプライを転送することができる。コンピュータ７００とコンピュータ７２０は独立に動作することができ、他方に対して影響を与えることはない。
【００９７】
このように、本実施の形態では、データ通信装置は、２台のコンピュータ７００，７２０と１台のプリンタ７４０の接続構成を対象としているが、３台以上のコンピュータと１台のプリンタとの接続構成であってもよい。
【００９８】
また、プリンタ７４０の１３９４Ｉ／Ｆ７４９は、１３９４シリアルバス内に他のプリンタが存在していても、互いに影響を及ぼすものではないため、本発明は、複数台のコンピュータと複数台のプリンタとの接続構成であっても有効である。
【００９９】
図５及び図６は、図４におけるコンピュータ７００，７２０及びプリンタ７４０間の印刷フローの説明図であり、図５は、コンピュータ７２０からプリンタ７４０の印刷中止処理がなされた場合を示し、図６は、コンピュータ７２０から印刷データの転送をリトライする場合を示す。
【０１００】
図５において、コンピータ７００は，ログイン成功の後、ログイン名称を登録し、状態要求コマンド（ターゲットデバイスの状態を要求する情報）の送信とそのリプライを受信する。プリンタが印刷可能状態であれば、拡張チャネルで印刷データ（ターゲットデバイスの処理すべきデータ）の転送開始要求を送信し、プリンタ７４０の１３９４デコーダ７５０から印刷データの転送開始要求成功（送信状態）がリプライされると、印刷データの送信を開始する。
【０１０１】
コンピュータ７２０は、コンピュータ７００と同様に、ログイン後、ログイン名称の登録、状態要求コマンドの送信とそのリプライを受信する。印刷データの転送開始要求に対して、既にジョブチャネルが利用されているため、プリンタ７４０から印刷データの転送開始失敗（送信状態）がリプライされる。コンピュータ７２０は、ジョブチャネルのホスト情報（ホストデバイスに関する情報）の要求を拡張チャネル７６４を利用して送信する。
【０１０２】
プリンタ７４０の１３９４デコーダ７５０は、ログインされたコンピュータから送信されたログイン名称情報を各コンピュータ毎に保持している。現在のジョブチャネル７６０がコンピュータ７００から転送されていることから、前記ホスト情報の要求に対しては、コンピュータ７００のログイン名称を拡張チャネル７６２でリプライする。
【０１０３】
コンピュータ７２０では、表示部等で他のコンピュータから印刷データが送信されていることをコンピュータ７２０の操作者に通知する。通知方法は、コンピュータの種類や搭載されているＯＳや印刷環境によって異なり、エラーダイアログ、アイコンの表示やビープ音等のサウンドの再生等様々な形態が利用される。
【０１０４】
またホスト情報の表示等が可能ならば、コンピュータ７００のログイン名称を操作者に通知し、続行又は中止等の判断を促す。
【０１０５】
次いで、コンピュータ７２０から印刷処理中止が指令されると、コンピュータ７２０は、ログアウトを要求し、印刷処理を中止する。
【０１０６】
図６は、コンピュータ７２０から印刷処理続行が指令された場合であり、コンピュータ７２０から印刷処理続行が指令されるまでは、図５の印刷フローと同様である。
【０１０７】
コンピュータ７２０が印刷処理続行を指令すると、コンピュータ７２０は、印刷データの転送開始要求を再度送信し、そのリプライを受信する。再び失敗でリプライされた場合は、一定周期後に再度印刷データの転送開始要求を送信する。
【０１０８】
プリンタ７４０は、コンピュータ７００の印刷データの送信が終了し、印刷データの転送終了コマンドが送信されると、ジョブチャネルが終了したと判断する。すると、コンピュータ７２０の印刷データの転送開始要求に対して、成功を返す。
【０１０９】
コンピュータ７２０は、印刷データの転送開始成功を受信すると、印刷データを送信し始める。印刷データの送信終了後、印刷データの転送終了コマンドを送信し、ログアウトする。
【０１１０】
コンピュータ７２０の印刷データの転送開始コマンドの再送周期は、コンピュータ７２０の種類、搭載ＯＳや印刷環境に応じて異なる。また、再送は、一定時間内又は一定回数までを制限として、処理を繰り返してもよい。
【０１１１】
図５及び図６の処理によれば、コンピュータ７００とコンピュータ７２０において、印刷データを混在させることなく、印刷処理を行うことができる。また、図５及び図６のフローは、２台のコンピュータ７００，７２０間ではなく、複数台のコンピュータ間においても同様の効果を得られる。
【０１１２】
図７は、図４における２台のコンピュータ７００，７２０からの指令によるプリンタ７４０の印刷処理のフローチャートである。
【０１１３】
まず、ステップＳ１において、受信データが終了イベントであるか否かを判別し、終了イベントでなければ、ステップＳ３に進み、受信データが印刷データであるか否かを判別する。ステップＳ３の判別の結果、印刷データであるときは、印刷データを処理した（ステップＳ４）後、ステップＳ１以降の処理を実行する一方、印刷データでない場合は、ステップＳ５に進み、受信データが管理チャネルデータであるか否かを判別する。
【０１１４】
ステップＳ５の判別の結果、受信データが管理チャネルデータであるときは、管理チャネルデータの処理を行った（ステップＳ６）後、ステップＳ１以降の処理を実行する一方、管理チャネルデータでないときは、ステップＳ７に進んで、受信データが拡張チャネルデータであるか否かを判別する。ステップＳ７の判別の結果、拡張チャネルのデータでなければ、ステップＳ１以降の処理を実行する一方、拡張チャネルデータを受信したときは、ステップＳ８に進んで、受信データがジョブチャネルのログイン要求であるか否かを判別する。
【０１１５】
ステップＳ８の判別の結果、ジョブチャネルのログイン要求以外の拡張チャネルデータならば、当該拡張チャネルデータの処理を行って（ステップＳ９）、ステップＳ１以降の処理を実行する一方、ジョブチャネルのログイン要求ならば、既にログインしているか否かを判別する（ステップＳ１０）。
【０１１６】
ステップＳ１０の判別の結果、既にログインしていれば、失敗を返送し（ステップＳ１１）、既にログインしていないならば、成功を返送して（ステップＳ１２）、ステップＳ１以降の処理を実行する。ステップＳ１の判別の結果、終了イベントであるときは、終了処理を行って（ステップＳ２）、本処理を終了する。
【０１１７】
上述したパケット及びフロー等は、ホストデバイスがコンピュータの場合だけではなく、他のホストデバイスでも同様の機能を発揮することができ、ターゲットデバイスがプリンタの場合だけはなく、他のターゲットデバイスでも同様の機能を発揮することができる。
【０１１８】
拡張チャネルのデータは、上述のようにコマンドパケットとデータパケットから成り、このデータパケットは非同期（Asynchronous）パケットである。
【０１１９】
図８は、非同期（Asynchronous）パケットの説明図である。
【０１２０】
図８において、Ｄｅｓｔｉｎａｔｉｏｎ  ＩＤは着信先の機器、ｔＬａｂｅｌは一連のデータ転送を示すラベル、ｒｔは再送ステータス、ｔｃｏｄｅはパケット種別、Ｐｒｉは優先順位を示す。また、Ｓｏｕｒｃｅ  ＩＤは送信元の機器、Ｄｅｓｔｉｎａｔｉｏｎ  Ｏｆｆｓｅｔは着信先機器のアドレスを示す。Ｄａｔａ  Ｌｅｎｇｔｈはデータ長、Ｅｘｔｅｎｄｅｄ  ｔｃｏｄｅは拡張パケット種別を示す。Ｈｅａｄｅｒ  ＣＲＣは、Ｈｅａｄｅｒ部のＣＲＣ、Ｄａｔａはデータ部、Ｄａｔａ  ＣＲＣはデータ部のＣＲＣを示す。
【０１２１】
コンピュータがプリンタにログインする場合、プリンタにログイン要求を行い、ＩＥＥＥ１２１２で規定されたアドレスを割振る。以降、コンピュータはそのアドレスに対してデータ転送を行う。
【０１２２】
図９は、ホストコンピュータからプリンタに複数の１３９４パケットでデータを同期して転送する場合のフローの説明図である。
【０１２３】
図９において、ホストコンピュータ１００１からプリンタ１０００に複数の１３９４パケットでデータを同期して転送する場合、ホストコンピュータ１００１が転送データを準備すると、プリンタ１０００からＡｓｙｎｃｈｏｒｏｎｏｕｓ  ＲｅｑｕｅｓｔパケットをｔＬａｂｅｌ＝０で発行する。ホストコンピュータ１００１は、データを含めたＡｓｙｎｃｈｏｒｏｎｏｕｓ  ＲｅｓｐｏｎｓｅパケットをｔＬａｂｅｌ＝０で送信する。受信したプリンタ１０００は、データを抽出し、第１番目のデータＤａｔａ０として処理する。
【０１２４】
ホストコンピュータ１００１が次の転送データが準備されると、プリンタ１０００からＡｓｙｎｃｈｏｒｏｎｏｕｓ  ＲｅｑｕｅｓｔパケットをｔＬａｂｅｌ＝１で発行する。ホストコンピュータ１００１は、データを含めたＡｓｙｎｃｈｏｒｏｎｏｕｓ  ＲｅｓｐｏｎｓｅパケットをｔＬａｂｅｌ＝１で送信する。受信したプリンタ１０００は、データを抽出し、第２番目のデータＤａｔａ１として処理する。
【０１２５】
以降のデータは、同様に、ｔＬａｂｅｌを増やしていくことによって、受信データの順番を容易に知ることができる。
【０１２６】
上記プリンタ及びホストコンピュータ間のＡｓｙｎｃｈｏｎｏｕｓ  ＲｅｑｕｅｓｔとＲｅｓｐｏｎｓｅは、同期的である必要はなく、プリンタ１０００とホストコンピュータ１００１の各送受信バッファが十分ならば、非同期的に転送しても問題ない。
【０１２７】
図１０は、ホストコンピュータからプリンタに複数の１３９４パケットでデータを非同期で転送する場合のフローの説明図である。
【０１２８】
図１０において、プリンタ１５００は、Ａｓｙｃｈｒｏｎｏｕｓ  ＲｅｑｕｅｓｔをｔＬａｂｅｌの値を更新しながら、複数回続けて行い、それぞれのＲｅｑｕｅｓｔに対するＲｅｓｐｏｎｓｅを受信する。受信したＲｅｓｐｏｎｓｅのｔＬａｂｅｌは、ＲｅｑｕｅｓｔのｔＬａｂｅｌと同値である、ｔＬａｂｅｌの順番で受信したデータが、処理するべきデータの順番である。
【０１２９】
前記のような非同期的なデータ転送においては、プリンタ１５００はコンピュータ１５０１のＲｅｓｐｏｎｓｅパケットを待つことなく、Ｒｅｑｕｅｓｔパケットを発行することができ、処理速度を向上させることができる。
【０１３０】
図１１は、複数のコンピュータ及び１台のプリンタ間のデータ転送の説明図である。
【０１３１】
図１１において、１台のプリンタ１４１０と複数のコンピュータ１４１１，  １４１２間のデータ転送において、個々のコンピュータとのデータ転送は、異なるノードとして管理する。コンピュータ１４１１及びプリンタ１４１０間のデータ転送をノード１、コンピュータ１４１２及びプリンタ１４１０間のデータ転送をノード２とする。
【０１３２】
各ノードにおけるデータ転送は、全く独立であり、ノード１とノード２のデータ転送は、一方の状態によって他方が依存することはない。またノード内におけるデータ転送は、前記説明したとおりRequestとResponseパケットは非同期であり、tLabelに設定された順番に応じて、受信したデータを順番を識別することが可能である。
【０１３３】
複数コンピュータ間でのデータ転送は、コンピュータの台数が２台ではなく、IEEE1394が規定する最大の複数台であっても、動作することは言うまででもない。また、IEEE1394規格上の、特にSBP−２（ANSI NCITS 325−1998）（シリアルバスプロトコル-２）規格に適合又は準拠することが好ましい。
【０１３４】
このようなｔＬａｂｅｌにパケットの順番に関する情報を設定したデータ転送方法では、処理が簡易であり、複数台のコンピュータと接続し、複数のノードを保持している場合に特に有効である。
【０１３５】
ｔＬａｂｅｌを用いた複数デバイス間のデータ転送の管理方法は、ホストデバイスがコンピュータでない場合やターゲットデバイスがプリンタでない場合でも適用することができる。
【０１３６】
上記実施の形態では、ホストデバイスとターゲットデバイスとの間でデータを転送するデータ通信処理を説明したが、この処理をプログラムして記憶媒体に書き込み、公知の装置で該記憶媒体から上記プログラムを読み出して実行しても、上述した処理を実行することができる。
【０１３７】
また、記憶媒体は、フロッピーディスク、ハードディスク、ＣＤ−ＲＯＭ、ＭＯ等の様々なものが考えられるが、特定のものに限定する必要はなく、上記プログラムを記憶できるものであればよい。
【０１３８】
【発明の効果】
以上詳細に説明したように、請求項１記載のデータ通信方法、及び請求項１２記載のデータ通信装置によれば、ターゲットデバイスが処理すべきデータ用のジョブチャネル、ターゲットデバイスの状態を要求する情報用の管理チャネル、及び拡張情報用の拡張チャネルのいずれか一つを介してデータ通信を行うので、ターゲットデバイスのデータセレクタの負荷を低減することができる。
【０１３９】
請求項４記載のデータ通信方法、及び請求項１５記載のデータ通信装置によれば、拡張情報がホストデバイスに関する情報であるので、ターゲットデバイスは、データを送信したホストデバイスを特定することができる。
【０１４０】
請求項５記載のデータ通信方法、及び請求項１６記載のデータ通信装置によれば、拡張情報が、ターゲットデバイスが処理すべきデータの送信状態に関する情報であるので、ホストデバイスは、ターゲットデバイスへのデータの送信状態を認識することができる。
【０１４１】
請求項６記載のデータ通信方法、及び請求項１７記載のデータ通信装置によれば、ホストデバイスからターゲットデバイスに転送される複数のデータの各々が転送されるデータの順番に関する情報を含むので、データの転送を効率よく行うことができる。
【０１４２】
請求項２５記載のプリンタ、及び請求項２７のプリンタの制御方法によれば、複数のコンピュータのうち第１のコンピュータからジョブチャネルを介して印刷データを受信中に、複数のコンピュータのうち第２のコンピュータから拡張チャネルを介して印刷データ転送開始の要求を受信した場合は、第２のコンピュータに対して、拡張チャネルを介して印刷データ転送開始の失敗と、第１のコンピュータからの印刷データを受信中であることとを通知するので、プリンタのデータセレクタの負荷を低減することができる。
【図面の簡単な説明】
【図１】本発明の実施の形態に係るデータ通信装置で接続されたホストデバイス及びターゲットデバイスの構成を示すブロック図である。
【図２】図１のデータ通信装置で使用されるパケットのフォーマットの説明図である。
【図３】図１におけるコンピュータ４００及びプリンタ４２０間の印刷フローの説明図である。
【図４】本発明の第２の実施の形態に係るデータ通信装置で接続されるホストデバイス及びターゲットデバイスの構成を示すブロック図である。
【図５】図４におけるコンピュータ７００，７２０及びプリンタ７４０間の印刷フローの説明図であり、コンピュータ７２０からプリンタ７４０の印刷中止処理がなされた場合を示す。
【図６】図４におけるコンピュータ７００，７２０及びプリンタ７４０間の印刷フローの説明図であり、コンピュータ７２０から印刷データの転送をリトライする場合を示す。
【図７】図４における２台のコンピュータ７００，７２０からの指令によるプリンタ７４０の印刷処理のフローチャートである。
【図８】非同期（Ａｓｙｎｃｈｒｏｎｏｕｓ）パケットを示す図である。
【図９】ホストコンピュータからプリンタに複数の１３９４コマンドパケットでデータを転送する場合のフローの説明図である。
【図１０】ホストコンピュータからプリンタに複数の１３９４コマンドパケットでデータを非同期で転送する場合のフローの説明図である。
【図１１】複数のコンピュータ及び１台のプリンタ間のデータ転送の説明図である。
【図１２】従来のデータ通信装置の構成を示すのブロック図である。
【図１３】図１２におけるコンピュータ１００とプリンタ１１０間のデータのフローを示す図である。
【図１４】従来の１３９４シリアルバスで使用される１３９４コマンドパケットＯＲＢ（Ｏｐｅｒａｔｉｏｎ  Ｒｅｑｕｅｓｔ  Ｂｌｏｃｋ）の説明図であり、（ａ）は、ＳＢＰ−２  （シリアルバスプロとコール−２）のコマンドパケットのフォーマットを示し、（ｂ）、主にＭｉｃｒｏｓｏｆｔ社のＷｉｎｄｏｗｓ  ＯＳにて利用されるＳＣＳＩコマンド部を定義したコマンドパケットのフォーマットを示す。
【図１５】従来の１３９４シリアルバスで接続されたプリンタとコンピュータによる画像通信方法の説明図である。
【符号の説明】
４００，７００，７２０  コンピュータ
４２０，７２０，７４０  プリンタ
４０８，４２９，７２８７４９  １３９４インターフェース部
４２８，７４８  データセレクタ
４３０，７５０  １３９４デコーダ
４４０，７６０  ジョブチャネル
４４１，７６１，７６３  管理チャネル
４４２，７６２，７６４  拡張チャネル
【図１】
0003579884.tif 000002
【図２】
0003579884.tif 000003
【図３】
0003579884.tif 000004
【図４】
0003579884.tif 000005
【図５】
0003579884.tif 000006
【図６】
0003579884.tif 000007
【図７】
0003579884.tif 000008
【図８】
0003579884.tif 000009
【図９】
0003579884.tif 000010
【図１０】
0003579884.tif 000011
【図１１】
0003579884.tif 000012
【図１２】
0003579884.tif 000013
【図１３】
0003579884.tif 000014
【図１４】
0003579884.tif 000015
【図１５】
0003579884.tif 000016