(57)【要約】【課題】ＩＥＥＥ１２８４．４プロトコルに基づくパケット化されたデータを受信した場合と、従来のストリーム方式のデータを受信した場合のいずれも正常な印字をすることを目的とする。【解決手段】ＩＥＥＥ１２８４．４プロトコルによる通信においてインターフェース制御用チャネルに送信されたデータがその先頭の６バイトを解析することによって１２８４．４パケット化されたデータかあるいはパケット化されない画像データコマンド群であるかを判別し、パケット化されていないデータの場合は所定バイト数を後段の処理に疲しながら次のパケットの先頭と検出するまでこれを繰り返す。【選択図】　　　　図１
2004013429.tif 000002
【特許請求の範囲】
【請求項１】
ＵＳＢ，ＩＥＥＥ１２８４等の双方向通信可能な物理インタフェースを有し、ＩＥＥＥ１２８４．４に規定される複数の論理チャネルを制御するプロトコル制御手段と，
論理チャネル上を流れるパケットを解析するパケット解析手段と、
前記複数の論理チャネルのうちの一つをインターフェース制御用チャネルとし，その他に新たなチャネルを確立するインターフェース制御手段と、
その確立されたチャネルが記録データ通信用のチャネルの場合、その通信路で受信したデータパケットのヘッダ部を取り除くデパケット手段と、
デパケットされたデータを保持しておくバッファメモリと、
前記デパケットされたデータをＤＭＡ等のハードウェアによってバッファメモリに書き込むデータ保存手段と、
バッファメモリに保持されたデータから記録画像を生成する記録データ解析手段と、を有し、
正規の手順により記録データ通信用のチャネルが確立され、記録データ通信用チャネルで記録データを受信した場合には前記デパケット手段と、前記データ保存手段により前記バッファメモリに記録データを保持し、前記記録データ解析手段により記録画像を生成するが、記録データ通信用のチャネルが確立されることなくインターフェース制御用のチャネルでＩＥＥＥ１２８４．４のパケット構造を持たないデータを受信した場合には前記パケット解析手段が受信したデータを前記記録データ解析手段に転送し、前記パケット解析手段が新たなパケットヘッダを検出するまでこれを繰り返すこと、
を特徴とするデータ制御方式及び記録装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は記録装置に関し，特にＩＥＥＥ１２８４．４プロトコルに規定されているパケットデータ受信時の記録データの処理と従来の複数の論理チャネルを持たないデータを受信した場合の処理に関する。
【０００２】
【従来の技術】
先ずＩＥＥＥ１２８４．４プロトコルについて述べる。ＩＥＥＥ１２８４．４プロトコルは物理インターフェース層の上でアプリケーション層よりは下になる層に使用されるｐｏｉｎｔ−ｔｏ−ｐｏｉｎｔプロトコルを定めたものである。こうした層はＯＳＩ参照モデルで示されるところのトランスポート層とセッション層の機能と特徴を持っている。このプロトコルはＩＥＥＥ１２８４−１９９４インターフェース上で機能するものとするが，別のｐｏｉｎｔ−ｔｏ−ｐｏｉｎｔインターフェース上でも機能することが出来る。ＩＥＥＥ１２８４．４プロトコルを実装する上で物理インターフェースに要求されている事は双方向通信が可能なことであり，ＩＥＥＥ１２８４．４プロトコルはそのインターフェース上に論理的な通信路（チャネル）を確立し，１つのチャネルに対して双方向の通信を実現するものである。
【０００３】
このＩＥＥＥ１２８４．４プロトコルでは送信側機器，受信側機器それぞれの端をＰｒｉｍａｒｙＳｏｃｋｅｔＩＤ（ＰＳＩＤ），ＳｅｃｏｎｄａｒｙＳｏｅｋｅｔＩＤ（ＳＳＩＤ）と呼んでおり，それぞれのＳｏｃｋｅｔＩＤを接続したデータの流路が通信路（チャネル）である。
【０００４】
ＩＥＥＥ１２８４．４プロトコルではデータ転送方式としてパケット方式を採用している。パケット方式とはデータ長を示すヘッダ部分と，データ自体からなるデータ部分とから構成されたパケットデータを１つのデータ群として送信するものである。ＩＥＥＥ１２８４．４プロトコルではこのパケットヘッダは６バイトと規定されており、データ群としては最大６４ｋ−６ｂｙｔｅのデータを送信することが可能である。
【０００５】
しかしながら，このパケットサイズは転送可能な最大長を定めるものであって，実際に転送するパケットデータはこのサイズを満たしていない場合もある。そのため，パケットヘッダにはそのパケットデータに含まれるデータ長が記述されているので，受信機器側装置はパケットを受信すると，ヘッダ部分に示されたデータ長を基にして，データ部分とパケットデータの切れ目とを認識し，認識されたデータ部分からデータを取り出して，装置内のメモリに格納するなどの処理を行う。
【０００６】
より具体的にはこの通信路（チャネル）上で流通するパケットは図２に示すような構造であり，送信機器及び受信機器はこのヘッダ部に含まれるＰＳＩＤ，ＳＳＩＤによってどの通信路（チャネル）上に送信されたパケットかを判別する。なお，各ＳｏｃｋｅｔＩＤは０×００〜０×ＦＦまでの値が許されているが，ＰＳＩＤ＝０×００，ＳＳｌＤ＝０×００は最初の通信路（チャネル）であってインターフェース制御用チャネルとして予約されている。このインターフェース制御用チャネルは主にインターフェースの管理のために使用されており、その他のチャネルはこのインターフェース制御用チャネル上でパケットサイズの折衝をした後，ＯｐｅｎＣｈａｎｎｅｌ／ＯｐｅｎＣｈａｎｎｅＩＲｅｐｌｙコマンドによって動的に確立される。
【０００７】
このＩＥＥＥ１２８４．４プロトコル上での送信機器側がデータ転送用のチャネルを確立し，そのチャネル上に記録データを送信し，受信機器が画像データを生成するまでを具体的な例をとって説明する。
【０００８】
まず，送信機器側（ホストコンピュータ）の構成としては，図３に示すようにアプリケーション，プリンタドライバメイン，レンダラ，スプーラ，パケット化モジュールが存在するものとする。これらはそれぞれユーザが印字しようとする画像を作成するアプリケーション，ユーザのプリント指示により起動されるプリンタドライバメイン，プリンタドライバメインからの指示によってアプリケーション上の画像データをビットマップデータ化するレンダラ，プリンタドライバからの記録装置制御コマンド及びレンダラからのビットマップデータをコマンドに変換したデータをハードディスク上のファイルにスプールするスプーラ，スプールされたファイルから前述のコマンド群を読み出し，ＩＥＥＥ１２８４．４パケットを生成し適切なチャネルにデータを送信するパケット化モジュールである。パケット化モジュールは必要なチャネルを動的に生成する機能も有する。また，画像データの他にユーザからの指示を元に受信側機器を制御したり，インターフェースを管理したりするのもパケット化モジュールであり，このモジュールがデータ送信用のチャネルを確立する構成となっている。
【０００９】
ＩＥＥＥ１２８４．４プロトコルでは送信機器と受信機器が接続された時点ではその通信路としてインタフェース制御用チャネルのみが利用可能である。従って印字データが生成された時点でパケット化モジュールは動的にデータ通信用のチャネルを確立するのが望ましい。ここで新たなチャネルを確立する前にはインターフェース制御用チャネルを通してＣｏｎｆｉｇＳｏｃｋｅｔコマンドを発行し，このチャネルに対するパケットサイズを指定せねばならない。仮に送信機器側がこのデータチャネルに対するパケットサイズを１ＫＢｙｔｅにしようとする場合，ＣｏｎｆｉｇＳｏｃｋｅｔコマンドに“１ＫＢｙｔｅ”と記述してコマンドを発行する。受信機器側はこのコマンドを受信したときにこのパケットサイズを受け入れることが出来るならば，ＣｏｎｆｉｇＳｏｃｋｅｔＲｅｐｌｙコマンドの中に“１ＫＢｙｔｅ”を記述して送信機器側へコマンドを発行しても良いし，必要ならばより小さい値を記述してコマンドを発行することも可能である。
【００１０】
送信機器側はこのＣｏｎｆｉｇＳｏｃｅｔＲｅｐｌｙコマンドを受信した時点で自分の発行したＣｏｎｆｉｇＳｏｃｋｅｔコマンド内のパケットサイズと受信機器側が発行したＣｏｎｆｉｑＳｏｃｋｅｔＲｅｐｌｙコマンド内のパケットサイズの小さい方をこのデータ送信用チャネルに送信可能な最大パケットサイズとして以後運用することになる。その後，送信機器側はインターフェース制御用チャネルにＯｐｅｎＣｈａｎｎｅｌを発行し，受信機器側からのＯｐｅｎＣｈａｎｎｅｌＲｅｐｌｙコマンドを受信した時点でこのデータ送信用チャネルは確立する。以後はこのデータ送信用チャネルを通して画像データを送信し，記録装置はデータ送信用チャネル上のデータから画像を生成する。
【００１１】
以上述べてきた様にＩＥＥＥ１２８４．４プロトコルではパケット化されたデータを送信することが前提であるが，このパケットは前述の記録装置を制御したり，画像データを送信したりするコマンド群をあらかじめ定められたサイズの範囲内で適当なサイズに分断しパケットヘッダを付けたものであって，連続する複数のパケットのヘッダを取り外し（デパケットし）それを繋ぐと従来のストリーム方式のデータと全く同等のデータ群が得られる。
【００１２】
ところで，ｌＥＥＥ１２８４．４プロトコルのようなパケット方式によるデータ転送を実装する以前の記録装置は従来のセントロニクスインタフェースに代表されるようなストリーム方式のデータ転送が一般的であった。セントロニクスインタフェースではチャネルの概念は無く常に一つの通進路でデータ転送は送信機器側から受信機器側への片方向であった。また，その通信路上に流れるデータはストリームと呼ばれるデータ長に制限の無いデータ列として送信されていた。
【００１３】
このようなセントロニクスインターフェースを使用することを前提に作成された従来の送信機器側（ホストコンピュータ）の構成は図３と基本的には同じであるが，パケット化モジュールが存在せず，スプールされた画像データを他のモジュールによってセントロニクスインターフェース上に送信していた。また，プリンタドライバの機能として，スプールされたデータを「ファイルに保存」することによってその画像データを流用し，ＤＯＳのＣＯＰＹコマンド等によって送信することが可能であった。この場合，ホストコンピュータはＤＯＳ等のＩＥＥＥ１２８４．４プロトコルに対応したドライバが使用されないため，新たにデータ送信用のチャネルを確立すること無く，画像データを送信することになる。この場合，受信機器側ではインターフェース制御用チャネルにパケット化されていないデータが送信されることになるのでそのままではパケットエラーとして扱うことになる。
【００１４】
【発明が解決しようとする課題】
以上述べたように従来の送信機器側の構成はスプーラによってスプールされた記録データはデータ送信用チャネルを確立してそのチャネルにデータを送信するという構成では無かったので，プリンタドライバによって「ファイルに保存」した場合も，ＤＯＳのＣＯＰＹコマンドによって送信した場合も全く同様の印字結果を得ることが可能であった。しかしながら，ＩＥＥＥ１２８４．４プロトコルを実装した場合，記録データはスプールされたデータを更にパケット化モジュールによってパケット化し，データ送信用チャネルに送信しなければ受信機器側はパケットエラーとして，そのデータを破棄してしまう。
【００１５】
本発明は上記問題点を鑑み，ファイルに保存されたパケット化されていない従来互換データをインターフェース制御用チャネルにおいて受信した場合にはこれをデータエラーとはせずに本来記録データ通信用に用意されているバッファメモリにソフトウェア的に書き込むことによってＤＯＳコマンドの一つであるＣＯＰＹコマンドによる印字も可能にするものである。
【００１６】
【課題を解決するための手段】
上記目的を達成するために本発明の記録装置は，ＵＳＢ，ＩＥＥＥＥ１２８４等の双方向通信可能な物理インタフェースを有し、ＩＥＥＥ１２８４．４に規定される複数の論理チャネルを制御するプロトコル制御手段と，その論理チャネルの一つはインターフェース制御用のチャネルとして使用し、そのチャネル上で受信したコントロールパケットを解析するパケット解析手段と、インターフェース制御用チャネルの他に新たなチャネルを確立するインターフェース制御手段と、その確立されたチャネルが記録データ通信用のチャネルの場合、その通信路で受信したデータパケットのヘッダ部を取り除くデパケット手段と、デパケットされたデータを保持しておくバッファメモリと、前記デパケットされたデータをＤＭＡ等のハードウェアによってバッファメモリに書き込むデータ保存手段と、バッファメモリに保持されたデータから記録画像を生成する記録データ解析手段と、を有し、正規の手順により記録データ通信用のチャネルが確立され、記録データ通信用チャネルで記録データを受信した場合には前記デパケット手段と、前記データ保存手段により前記バッファメモリに記録データを保持し、前記記録データ解析手段により記録画像を生成するが、記録データ通信用のチャネルが確立されることなくインターフェース制御用のチャネルでＩＥＥＥ１２８４．４のパケット構造を持たないデータを受信した場合には前記パケット解析手段により受信データを前記バッファメモリにソフトウェア的に書き込み、前記パケット解析手段が新たなパケットヘッダを検出するまでこれを繰り返すこと、を特徴とする。
【００１７】
【発明の実施の形態】
以下に図面に基づいて本発明の実施例を詳細かつ具体的に説明する。
【００１８】
図３は本発明に基づく記録装置と画像データを送信するホストコンピュータを接続した時のインターフェースの概念図である。この実施例の記録装置３０４はホストコンピュータ３０１と物理インターフェース３０２上に確立される複数の論理チャネル３０３によって接続されている。
【００１９】
最初に物理インターフェースが接続された時点では図２（ａ）の様に論理チャネルは一本しか無くこのチャネル上に送信されるデータはプロトコル制御手段４０１によって受信され，パケットとしてパケット解析手段４０３に渡される。パケット解析手段４０３は受信したパケットのコマンドを解析し，必要ならばインターフェース制御手段４０２を利用して物理インターフェース３０２上に新たなデータ送信用の論理チャネル３０５を確立する。
【００２０】
次にホストコンピュータからＩＥＥＥ１２８４．４プロトコルに基づくパケット化された画像データを受信した時の動作を説明する。
【００２１】
図４は本発明に基づく記録装置のブロック図である。特に図４（ａ）はこの実施例の記録装置３０４において，データ送信用の論理チャネルを確立した後にそのデータ送信用チャネル上に送信されたデータについてプロトコル制御手段から不図示である記録手段までの流れを示している。
【００２２】
プロトコル制御手段４０１はその物理インターフェースがＵＳＢの場合にはＵＳＢパケットのヘッダ部を取り除き，データ部のみをパケット解析手段４０３に渡す機能を有する。また，その物理インターフェースがＩＥＥＥ１２８４の場合には規格に定められたハンドシェーク処理を行い１バイトづつパケット解析手段４０３に渡すものである。
【００２３】
前述した手順によりデータ送信用の論理チャネルを確立した後にこのデータ送信用チャネル上に送信されたデータはＩＥＥＥ１２８４．４プロトコルに従って送信されたパケットと看徹され，パケット解析手段４０３によってＰＳＩＤ／ＳＳＩＤからどのチャネル上に送信されたパケットか解析される。パケット解析手段４０３は解析したパケットがデータ送信用チャネル上に送信されたパケットであると認識すると，そのパケットをデパケット手段４０４に渡す機能を有する。
【００２４】
デパケット手段４０４は渡されたパケットからヘッダ部を取り除きデータ部のみを不図示であるＤＭＡ等のハードウェアによってバッファメモリ４０５に保存する機能を有する。
【００２５】
記録データ解析手段４０６は常にバッファメモリ４０５を監視しており，バッファメモリ４０５にデータが保存されると逐次データを読み出してきて不図示である記録手段が記録データを記録するのに最も適したデータ形式に変換してプリントバッファ４０７に保存する。
【００２６】
次にホストコンピュータから新たなデータ送信用のチャネルを確立することなくストリーム方式で画像データを受信しだ時の動作を説明する。
【００２７】
図４（ｂ）はこの実施例の記録装置３０４において，データ送信用の論理チャネルが確立されること無く，従来のストリーム方式のデータとして送信されたデータについてプロトコル制御手段から不図示である記録手段までの流れを示している。
【００２８】
受信機器側ではデータ送信用の論理チャネルが確立される前の状態で受信したデータはインターフェース制御用チャネルに送信されたパケットと看做されるため，パケット解析手段４０３はそのパケットヘッダのＰＳＩＤ／ＳＳＩＤが共に０×００であるかをチェックする。共に０×００であった場合には正常なパケットデータと看做し，対応した処理を実行するが，ＰＳＩＤ／ＳＳＩＤのいずれかが０×００で無かった場合にはそのデータを記録データ解析手段４０６に送り，ストリームデータとして取り扱う。
【００２９】
このようにパケット解析手段４０３が受信したデータを解析し，そのデータがインターフェース制御用コマンドであるか，ストリームデータかを判別することによってＤＯＳのＣＯＰＹコマンド等で送信された画像データをも本記録装置は印字することが可能となるがそのパケット解析手段４０３は図１に示されるステップにおいてこの判別を行う。すなわち，Ｓｔｅｐ１においてパケット解析手段４０３が受信しだデータのヘッダ部と思われる６バイトを解析し，ＰＳＩＤ／ＳＳＩＤからこのデータがインターフェース制御用パケットであるかを判別する（Ｓｔｅｐ２）。これがインターフェース制御用コマンドであれば，コマンドに応じた処理を実行し，再びＳｔｅｐ１に戻る。もし，この８バイトに含まれるＰＳＩＤ／ＳＳＩＤが既にオープンしているチャネルでも無い場合，これを記録データ解析手段４０６へ転送し（Ｓｔｅｐ４），記録データ解析手段４０８がコマンド群ストリームデータとしてデータを解析する。記録データ解析手段４０６はストリームデータを解析し，コマンドの終了を検知するとインターフェース制御手段にイベントを発行し，再びＳｔｅｐ１に戻る。
【００３０】
【発明の効果】
以上の様に本実施例の記録装置はＩＥＥＥ１２８４．４プロトコルに基づく複数の論理チャネルを持つインターフェースにおいて，データ送信用のチャネルを利用しデータ送信をすることが出来，且つ，従来のプリンタドライバ等で作成された複数の論理チャネルを確立すること無くデータを送信するストリーム方式のデータを送信された場合も正常な印字をすることが可能である。
【図面の簡単な説明】
【図１】本発明に基づくデータ制御方式の動作フローチャートである。
【図２】ＩＥＥ１２８４．４に定義されているパケット構造である。
【図３】本発明に基づく記録装置のインターフェースの概念図である。
【図４】本発明に基づく記録装置のブロック図である。
【図５】本発明に基づく記録装置が印字するデータを生成する送信機器の構成図である。
【符号の説明】
３０１　送信機器（ホストコンピュータ）
３０２　物理インターフェース（ＵＳＢ，ｌＥＥＥ１２８４）
３０３　論理チャネル
３０４　記録装置
４０１　プロトコル制御手段
４０２　インターフェース制御手段
４０３　パケット解析手段
４０４　デパケット手段
４０５　バッファメモリ
４０６　記録データ解析手段
４０７　プリントバッファ
【図１】
2004013429.tif 000003
【図２】
2004013429.tif 000004
【図３】
2004013429.tif 000005
【図４】
2004013429.tif 000006
【図５】
2004013429.tif 000007