(57)【特許請求の範囲】
【請求項１】
通信インターフェースを介して周辺装置と通信可能であり、前記通信インターフェースを使用したデータ通信を単一の通信チャネルを介して行う第１の通信手段と前記通信インターフェースを使用したデータ通信を複数の通信チャネルを介して行う第２の通信手段とを備える情報処理装置であって、
前記周辺装置の情報を表示するためのアプリケーションが印刷時に起動され、かつ、ユーザにより双方向通信が指定されているか否かを判定する判定手段と、
前記アプリケーションが印刷時に起動され、かつ、前記双方向通信が指定されていると判定された場合、前記第２の通信手段を選択し、前記アプリケーションが印刷時に起動され、かつ、前記双方向通信が指定されていると判定されなかった場合、前記第１の通信手段を選択する選択手段とを有することを特徴とする情報処理装置。
【請求項２】
前記選択手段は、前記第１の通信手段によるデータ通信中、所定時間データ通信が中断された場合、前記第２の通信手段を選択することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記選択手段は、前記第１の通信手段によるデータ通信後、前記第２の通信手段を選択することを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記第１の通信手段は、印刷データの送信に使用され、
前記第２の通信手段は、印刷データの送信と前記周辺装置のステータスを取得するために使用されることを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
通信インターフェースを介して周辺装置と通信可能であり、前記通信インターフェースを使用したデータ通信を単一の通信チャネルを介して行う第１の通信手段と前記通信インターフェースを使用したデータ通信を複数の通信チャネルを介して行う第２の通信手段とを備える情報処理装置の制御方法であって、
前記周辺装置の情報を表示するためのアプリケーションが印刷時に起動され、かつ、ユーザにより双方向通信が指定されているか否かを判定する判定工程と、
前記アプリケーションが印刷時に起動され、かつ、前記双方向通信が指定されていると判定された場合、前記第２の通信手段を選択し、前記アプリケーションが印刷時に起動され、かつ、前記双方向通信が指定されていると判定されなかった場合、前記第１の通信手段を選択することを特徴とする情報処理装置の制御方法。
【請求項６】
請求項５に記載の情報処理装置の制御方法をコンピュータにより実現することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、周辺装置と接続可能な情報処理装置、その制御方法及びプログラムに関する。
【背景技術】
【０００２】
従来、情報処理装置と周辺装置とをＵＳＢ等の通信インターフェースを介して接続し、複数の情報の通信を行うものが知られている（特許文献１参照）。特許文献１では、ＵＳＢ通信においてエンドポイントを複数設定し、エンドポイント毎に独立した通信を行うものである。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−１３０８５０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１では常に複数のエンドポイントを使用して通信するため、通信の際の負荷が高いものであった。
【０００５】
本発明は、上述の問題点に鑑みなされたもので、周辺装置と種々の情報を通信する情報処理装置における通信効率の低下を防止できる情報処理装置、その制御方法及びプログラムを提供するものである。
【課題を解決するための手段】
【０００６】
上記課題を解決するため、本発明の情報処理装置は、通信インターフェースを介して周辺装置と通信可能であり、前記通信インターフェースを使用したデータ通信を単一の通信チャネルを介して行う第１の通信手段と前記通信インターフェースを使用したデータ通信を複数の通信チャネルを介して行う第２の通信手段とを備える情報処理装置であって、前記周辺装置の情報を表示するためのアプリケーションが印刷時に起動され、かつ、ユーザにより双方向通信が指定されているか否かを判定する判定手段と、前記アプリケーションが印刷時に起動され、かつ、前記双方向通信が指定されていると判定された場合、前記第２の通信手段を選択し、前記アプリケーションが印刷時に起動され、かつ、前記双方向通信が指定されていると判定されなかった場合、前記第１の通信手段を選択する選択手段とを有することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、通信内容に応じて単一チャネルでの通信または複数チャネルでの通信のいずれかを選択し、効率的な通信を行うことができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施形態の一例である印刷システムのソフトウェア構成を示す図である。
【図２】図１の印刷システムのハードウェア構成を示すブロック図である。
【図３】ホスト装置１において表示される表示画面の例を示す図である。
【図４】実施形態の処理の流れを示すフローチャートである。
【図５】実施形態の処理の流れを示すフローチャートである。
【図６】実施形態の処理の流れを示すフローチャートである。
【図７】ホスト装置１のソフトウェア構成の他の例を示す図である。
【図８】実施形態の処理の流れを示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下、図面を参照して本発明の実施形態の一例について説明する。
【００１０】
図１は、情報処理装置の一例であるホスト装置１と周辺装置の一例であるである印刷装置（プリンタ）２とを含む印刷システムのソフトウェア構成を示すブロック図である。ホスト装置１としては汎用的なパーソナルコンピュータ（ＰＣ）を用いることができる。
【００１１】
ホスト装置１には、ＯＳ１０１と、プリンタ２を制御するソフトウェアであるプリンタドライバ１０６と、プリンタとの通信を行うプリンタ通信部１１１、様々なアプリケーション１０２とがインストールされている。
【００１２】
ホスト装置１では、印刷アプリケーション１０３によって作成される各種のドキュメントを印刷するため、ＯＳ１０１とプリンタドライバ１０５とプリンタ通信部１０９が動作する。ログ情報表示アプリケーション１０４はログ情報保存エリア１１０を参照して各種ログ情報を表示する。ログ情報保存エリア１１０にはＯＳ１０１やプリンタドライバ１０６から各種ステータス情報が任意のタイミングで書き込まれる。さらにプリンタ情報表示アプリケーション１０５はプリンタの各種ステータスを表示するために、プリンタ通信部１１１を使用する。ユーザは印刷に際しては、アプリケーション１０３にて任意のドキュメントを作成し、アプリケーション１０３の持つメニュー等から印刷指示を行い、印刷ダイアログを起動する。一般的に、アプリケーション１０３の持つ印刷ダイアログからは、プロパティボタン等を押下することにより、選択しているプリンタドライバの設定を確認、または変更を行うことができる。
【００１３】
また、プリンタドライバ１０６は、以下の３つの機能部を含む。即ち、ユーザからの入力を受け付けるユーザインタフェース部１０７、プリンタ２に送信する印刷データを生成するグラフィックス処理部１０８である。さらに、これらに加えて、プリンタ通信部１１１におけるデータの送受信を制御するＩＯ制御部１０９がある。
【００１４】
さらに、プリンタ通信部１１１は、以下の機能部を含む。即ち、ＯＳにより提供されるモジュールで、プリンタドライバ１０６から送信されてくるデータを適切なポートに対して送信、及びプリンタからのデータをクラスドライバ１１４経由で受信する処理を行うＩＯモジュールＡ１１２。ＩＯモジュールＡ１１２経由で行うＵＳＢ通信においては、論理的な多重の通信チャンネルを実現する付加的な機能は実装されていないため使用できない。ＩＯモジュールＡ１１２の機能に、ＵＳＢ通信において論理的な多重の通信チャンネルでの通信を実現するためＩＥＥＥ１２８４．４等のプロトコルを追加したＩＯモジュールＢ１１３がある。
【００１５】
プリンタ２においてＵＳＢデータの送受信を行うＵＳＢデータ送受信部１２０は以下で構成される。ホスト装置１とのＵＳＢデータの送受信を担当するＵＳＢインターフェース１２１。ここでは受信データがＩＥＥＥ１２８４．４データかどうかの判別も実施する。データ解析作成部１２２は受信したＩＥＥＥ１２８４．４データの振り分け及びホスト装置に送信するＩＥＥＥ１２８４．４データの作成作業を行う。データバッファＡ１２３は印刷に使用するデータを、データバッファＢ１２４はホスト装置１と送受信するコマンド類を一時的に保存するものである。
【００１６】
図２は、ホスト装置１及びプリンタ２の主要構成を示すブロック図である。図２において、ＣＰＵ２０１はホスト装置全体の各種制御を行う。ＲＯＭ２０２にはホスト装置の起動時にＣＰＵ２０１が実行する初期化プログラムや各種データが格納されている。ＲＡＭ２０３はＣＰＵ２０１に対するメインメモリや作業領域として用いられる。外部記憶装置２０５は、例えば、ハードディスク（ＨＤＤ）等で構成され、各種プログラムが格納される。外部記憶装置２０３に記憶されるプログラムには図１で示したものが含まれる。そして、ＲＡＭ２０３には後述するフローチャートで示される処理を実現するためのプログラムがＨａｒｄＤｉｓｋ等の外部記憶装置２０５よりロードされる。入力部２０６はキーボードやマウス等で構成され、ＣＰＵ２０１に対して、各種指示入力を行う。ＬＣＤやＣＲＴなどで構成される表示部２０７は、ＣＰＵ２０１の制御によって各種表示を行う。通信インターフェース２０４によりプリンタ２等の周辺装置との通信を行う。通信インターフェース２０４としてはＵＳＢなどがある。
【００１７】
通信Ｉ／Ｆ２０８はＵＳＢ等を介してホスト装置１と接続される。ＣＰＵ２０９はＲＯＭ２１１、外部記憶装置２１２に記憶されているプログラムをＲＡＭ２１０にロードし、それを実行することによりプリンタ全体の動作を制御する。センサ２１３はプリンタ２の各種状態を検知する。各種状態には用紙に関する情報や、プリンタ２の動作状況等が含まれる。パネル２１４はユーザによる操作を受け付けたり、プリンタ２の各種情報を表示する。プリンタエンジン２１５は用紙上に記録剤を付与することにより画像を印刷する。
【００１８】
図３は、ユーザインタフェース部１０７によって提供される表示画面の１つを示す。図３に示す画面３０１は、ＵＳＢ通信方法を切り替えるための表示画面である。通信方法設定ラジオボタン３０２を選択した場合、ＵＳＢの通信は複数の通信チャネルを使用して行われる。通信方法設定ラジオボタン３０３を選択した場合、ＵＳＢの通信は単一の通信チャネルを使用して行われる。キャンセルボタン３０４を押すことにより、操作内容を反映せずにＵＳＢ通信方法切り替えダイアログ３０１を閉じる。ＯＫボタン３０５を押すことにより、操作内容を反映してＵＳＢ通信方法切り替えダイアログ３０１を閉じる。
【００１９】
次にホスト装置１がプリンタ２と通信を行う際の処理の流れについて説明する。図４はこの場合の処理の流れを示すフローチャートである。このフローチャートはＣＰＵ２０１が外部記憶装置２０５に記憶されているプログラム（図１に示したソフトウェア）を実行することによりなされる処理の流れを示す。
【００２０】
まず、Ｓ１０１において印刷データの送受信を制御するＩＯ制御部１０９はプリンタ２の情報を表示する情報表示アプリケーション１０５が印刷時に起動するかどうかとＵＳＢ通信方法切り替えダイアログ３０１で双方向通信ラジオボタン３０２が選択されていたかどうかを判断する。情報表示アプリケーションを起動する場合と双方向通信ラジオボタン３０２が選択されていた場合にはプリンタからの情報取得と印刷データの送信を並行して行う必要があるためＳ１０９に進む。そうでない場合にはＳ１０２に進む。
【００２１】
Ｓ１０３ではＩＯ制御部１０９からＩＯモジュールＡ１１２に対して印刷データを送信する。プリンタ２のＵＳＢデータ送受信部１２０で受信したデータはＵＳＢインターフェース１２１で論理的な多重の通信チャンネルを実現するための識別情報の判定が行われた後に、データバッファＡ１２３に格納され印刷に使用される。
【００２２】
Ｓ１０４ではＩＯ制御部１０９からの印刷データ送信が行われているかどうかを判断する。一定時間データ送信が中断している場合にはプリンタでなんらかのエラーが発生していると考えられるので、Ｓ１０８に進んでデータ送信中断時の印刷データ送信処理を行う。ここでは、データ送信だけでなくプリンタステータスの取得を行うため、通信モジュールをＩＯモジュールＡ１１２からＩＯモジュールＢ１１３への切り替え処理を実施する。データ送信が続行している場合にはＳ１０５に進む。
【００２３】
Ｓ１０５ではＩＯ制御部１０９からの印刷データ送信が終了したかどうかを判断する。終了した場合にはＳ１０６へ、終了していない場合にはＳ１０３に戻り印刷データの送信を継続する。
【００２４】
Ｓ１０６ではＩＯ制御部１０９から印刷データの送信終了後、プリンタのステータスを確認するために、ＩＯモジュールＢ１１３経由でステータス取得コマンドを発行する。例えば、プリンタ本体にＨＤＤを実装するプリンタではプリンタでエラーが発生し、印刷が中断していても印刷データの受信は行うため、この通信形態においてはエラーの発生をホスト装置が認識できないためである。ＩＯモジュールＢ１１３ではコマンド情報に論理的な多重の通信を表す識別情報を付加してプリンタに送信する。プリンタ２のＵＳＢデータ送受信部１２０で受信したデータはＵＳＢインターフェース１２１で識別情報の判定が行われた後に、データ解析作成部１２２で識別情報が取り除かれ、データバッファＢ１２４に格納された後コマンドとして認識する。これらの通信は印刷データ送信終了後に行われるため、印刷時の通信パフォーマンスが劣化することはない。
【００２５】
ここで、プリンタ２は返却用のデータを作成し、データ解析作成部１２２で論理的な多重の通信を表す識別情報を付加して送信する。そしてＳ１０７においてこのステータス情報をホスト装置１で受信し、ＩＯモジュールＢ１１３で論理的な多重の通信を表す識別情報が取り除かれた後にＩＯ制御部１０９でステータスを認識する。取得したステータス情報はログ情報保存エリア１１０に書き込みが行われる。ログ情報表示アプリケーション１０４が起動している場合には、ログ情報保存エリア１１０に書き込まれた情報を表示しユーザに通知する。
【００２６】
図５はＳ１０８のデータ送信中断時の印刷データ送信処理の詳細を説明するフローチャートである。ここでは、データ送信だけでなくプリンタステータスの取得を行うため、通信モジュールを単一の通信チャネルを使用するＩＯモジュールＡ１１２から複数の通信チャネルが使用可能なＩＯモジュールＢ１１３への切り替え処理を実施する。
【００２７】
通常クラスドライバの上位モジュールで通信経路を切り替える場合、クラスドライバに対してインターフェースのクローズ処理が行われた後に、改めてインターフェースのオープン処理が行われる。ＵＳＢのクローズ処理においてはインターフェースやパイプ等がクローズされるため、データ送信中に通信経路を切り替えた場合には通信は継続できない。そのため、クラスドライバのオープンクローズ処理に以下の機能を追加する。
【００２８】
まず、クラスドライバがクローズ処理を指示された場合に、クラスドライバはクローズ処理を保留する。クローズを指示したモジュールに対してはクローズ処理終了を通知する。
クラスドライバがオープン処理を指示された場合に、クラスドライバはクローズ処理が保留されているかどうかを判断して、保留されている場合にはクローズ処理を実施後、オープン処理を実施する。
【００２９】
さらに、クラスドライバに通信継続を行うためのオープン処理機能を追加する。クラスドライバが通信継続を行うためのオープン処理を指示された場合に、クローズ処理が保留されているかどうかを判断して、保留されている場合には、保留中の処理で使用していた通信に必要なパラメータを返却する。
【００３０】
Ｓ２０１において、ＩＯ制御部１０９はＩＯモジュールＡ１１２に対してデータ送信の終了を指示する。この時クラスドライバに対してクローズ処理が行われるが、この指示はクラスドライバ内で保留される。
【００３１】
Ｓ２０２において、ＩＯ制御部１０９はＩＯモジュールＢ１１３に対して、データ送信の開始を指示する。この時、クラスドライバに対しては通信継続を行うためのオープン処理が指示され、保留していた通信を継続するための処理が実施される。
【００３２】
Ｓ２０３ではＩＯ制御部１０９が、プリンタのステータスを確認するために、ＩＯモジュールＢ１１３経由でステータス取得コマンドを発行する。ＩＯモジュールＢ１１３ではコマンド情報に論理的な多重の通信を表す識別情報を付加してプリンタに送信する。プリンタ２のＵＳＢデータ送受信部１２０で受信したデータはＵＳＢインターフェース１２１で識別情報の判定が行われた後に、データ解析作成部１２２で識別情報が取り除かれ、データバッファＢ１２４に格納された後コマンドとして認識する。
【００３３】
これはデータ送信中断時のコマンド送信であり、プリンタのデータバッファＡ１２３は追加のデータを受信できない状態になっているが、プリンタがステータス取得コマンドと認識したデータは受信バッファに余裕のあるデータバッファＢ１２４で処理される。
【００３４】
プリンタ２は返却用のデータを作成し、データ解析作成部１２２で論理的な多重の通信を表す識別情報を付加する。このステータス情報をホスト装置１で受信し、ＩＯモジュールＢ１１３で論理的な多重の通信を表す識別情報が取り除かれた後にＩＯ制御部１０９でステータスを認識する。取得したステー―タス情報はログ情報保存エリア１１０に書き込みが行われる。
【００３５】
ログ情報表示アプリケーション１０４が起動している場合には、ログ情報保存エリア１１０に書き込まれた情報を表示しユーザに通知する。
【００３６】
Ｓ２０４ではＩＯ制御部１０９からＩＯモジュールＢ１１３に対して印刷データを送信する。プリンタ２のＵＳＢデータ送受信部１２０で受信したデータはＵＳＢインターフェース１２１で論理的な多重の通信チャンネルを実現するための識別情報の判定が行われた後に、データ解析作成部１２２で識別情報が取り除かれた後に、データバッファＡ１２３に格納される。
【００３７】
Ｓ２０５ではＩＯ制御部１０９からの印刷データ送信が終了したかどうかを判断する。終了した場合にはＳ２０６へ、終了していない場合にはＳ２０４に戻り印刷データの送信を継続する。
【００３８】
Ｓ２０６ではＩＯ制御部１０９から印刷データの送信終了後、プリンタのステータスを確認するために、ＩＯモジュールＢ１１３経由でステータス取得コマンドを発行する。ＩＯモジュールＢ１１３ではコマンド情報に論理的な多重の通信を表す識別情報を付加してプリンタに送信する。プリンタ２のＵＳＢデータ送受信部１２０で受信したデータはＵＳＢインターフェース１２１で識別情報の判定が行われた後に、データ解析作成部１２２で識別情報が取り除かれ、データバッファＢ１２４に格納された後コマンドとして認識する。さらに、プリンタ２は返却用のデータを作成し、データ解析作成部１２２で論理的な多重の通信を表す識別情報を付加する。このステータス情報をホスト装置１で受信し、ＩＯモジュールＢ１１３で論理的な多重の通信を表す識別情報が取り除かれた後にＩＯ制御部１０９でステータスを認識する。取得したステー―タス情報はログ情報保存エリア１１０に書き込みが行われる。
【００３９】
ログ情報表示アプリケーション１０４が起動している場合には、ログ情報保存エリア１１０に書き込まれた情報を表示しユーザに通知する。
【００４０】
図６はＳ１０９の情報取得と印刷データ送信の並行処理の詳細を説明するフローチャートである。
【００４１】
ここでは、データ送信だけでなくプリンタステータスの取得を行うため、Ｓ３０１で通信モジュールを複数の通信チャネルが使用可能なＩＯモジュールＢ１１３を使用する。
【００４２】
ＩＯ制御部１０９から送信される印刷データ及びステータスコマンドはプリンタ通信部１１１におけるＩＯモジュールＢ１１３とクラスドライバ１１４を経由してプリンタと送受信が行われる。
【００４３】
Ｓ３０２ではＩＯ制御部１０９からＩＯモジュールＢ１１３に対して印刷データを送信する。プリンタ２のＵＳＢデータ送受信部１２０で受信したデータはＵＳＢインターフェース１２１で論理的な多重の通信チャンネルを実現するための識別情報の判定が行われた後に、データ解析作成部１２２で識別情報が取り除かれた後に、データバッファＡ１２３に格納される。
【００４４】
Ｓ３０３ではプリンタ情報表示アプリケーション１０６がプリンタのステータスを確認するために、ＩＯモジュールＢ１１３経由でステータス取得コマンドを発行する。ＩＯモジュールＢ１１３ではコマンド情報に論理的な多重の通信を表す識別情報を付加してプリンタに送信する。プリンタ２のＵＳＢデータ送受信部１２０で受信したデータはＵＳＢインターフェース１２１で識別情報の判定が行われた後に、データ解析作成部１２２で識別情報が取り除かれ、データバッファＢ１２４に格納された後コマンドとして認識する。さらに、プリンタ２は返却用のデータを作成し、データ解析作成部１２２で論理的な多重の通信を表す識別情報を付加する。このステータス情報はホスト装置１で受信する。ＩＯモジュールＢ１１３で論理的な多重の通信を表す識別情報が取り除かれた後にＩＯ制御部１０９を経由して情報表示アプリケーション１０６で表示する。また、取得したステー―タス情報はログ情報保存エリア１１０に書き込みが行われる。ログ情報表示アプリケーション１０４が起動している場合には、ログ情報保存エリア１１０に書き込まれた情報を表示しユーザに通知する。
【００４５】
Ｓ３０４ではＩＯ制御部１０９からの印刷データ送信が終了したかどうかを判断する。終了した場合にはＳ３０５へ、終了していない場合にはＳ３０２に戻り印刷データの送信を継続する。
【００４６】
Ｓ３０５ではＩＯ制御部１０９から印刷データの送信終了後、プリンタのステータスを確認するために、ＩＯモジュールＢ１１３経由でステータス取得コマンドを発行し、ステータスを取得する。取得したステータス情報はログ情報保存エリア１１０に書き込みが行われる。ログ情報表示アプリケーション１０４が起動している場合には、ログ情報保存エリア１１０に書き込まれた情報を表示しユーザに通知する。
【００４７】
次に図１に示したホスト装置１のソフトウェア構成とは異なるものによる処理の例について説明する。図７はこの場合のソフトウェア構成を示す図である。図１に示したものと同一の符号を付したものは図１のものと同様である。
【００４８】
図７において、プリンタ通信部１１１は以下の機能部を含む。プリンタドライバ１０６から送信されてくるデータを適切なポートに対して送信、及びプリンタからのデータをクラスドライバ１１４経由で受信する処理を行うＩＯモジュールＣ１１５。ＩＯモジュールＣ１１５経由で行うＵＳＢ通信においては、単一の通信チャネルを使用する通信と、ＵＳＢ通信において論理的な多重の通信チャンネルでの通信を実現するためＩＥＥＥ１２８４．４等のプロトコルを使用する通信を選択して使用することが可能になっている。
【００４９】
図８は図７のホスト装置における処理の流れを示すフローチャートである。このフローチャートはＣＰＵ２０１が外部記憶装置２０５に記憶されているプログラム（図７に示したソフトウェア）を実行することによりなされる処理の流れを示す。
【００５０】
Ｓ４０１では以降のプリンタとの通信において、印刷データ送信だけでなくプリンタステータスの取得を行うため、ＩＯ制御部１０９が印刷データ送信時に使用するＩＯモジュールＣ１１５での通信経路を、単一の通信チャネルを使用する経路から複数の通信チャネルが使用可能な経路への切り替え処理を実施する。この場合、クラスドライバを使用するモジュールは変わらないため、クラスドライバのクローズ処理、オープン処理は必要なく、データ送信の継続が可能である。
【００５１】
Ｓ４０２ではＩＯ制御部１０９が、プリンタのステータスを確認するために、ＩＯモジュールＣ１１５における論理的な多重通信を使用するインターフェース経由でステータス取得コマンドを発行する。ＩＯモジュールＣ１１５ではコマンド情報に論理的な多重の通信を表す識別情報を付加してプリンタに送信する。プリンタ２のＵＳＢデータ送受信部１２０で受信したデータはＵＳＢインターフェース１２１で識別情報の判定が行われた後に、データ解析作成部１２２で識別情報が取り除かれ、データバッファＢ１２４に格納された後コマンドとして認識する。
【００５２】
これはデータ送信中断時のコマンド送信であり、プリンタのデータバッファＡ１２３は追加のデータを受信できない状態になっているが、プリンタがステータス取得コマンドと認識したデータは受信バッファに余裕のあるデータバッファＢ１２４で処理される。
【００５３】
プリンタ２は返却用のデータを作成し、データ解析作成部１２２で論理的な多重の通信を表す識別情報を付加する。このステータス情報をホスト装置１で受信し、ＩＯモジュールＣ１１５で論理的な多重の通信を表す識別情報が取り除かれた後にＩＯ制御部１０９でステータスを認識する。
【００５４】
Ｓ４０３ではＩＯ制御部１０９からＩＯモジュールＣ１１５に対して印刷データを送信する。プリンタ２のＵＳＢデータ送受信部１２０で受信したデータはＵＳＢインターフェース１２１で論理的な多重の通信チャンネルを実現するための識別情報の判定が行われた後に、データ解析作成部１２２で識別情報が取り除かれた後に、データバッファＡ１２３に格納される。
【００５５】
Ｓ４０４ではＩＯ制御部１０９からの印刷データ送信が終了したかどうかを判断する。終了した場合にはＳ４０５へ、終了していない場合にはＳ４０３に戻り印刷データの送信を継続する。
【００５６】
Ｓ４０５ではＩＯ制御部１０９から印刷データの送信終了後、プリンタのステータスを確認するために、ＩＯモジュールＣ１１５経由でステータス取得コマンドを発行する。ＩＯモジュールＣ１１５ではコマンド情報に論理的な多重の通信を表す識別情報を付加してプリンタに送信する。プリンタ２のＵＳＢデータ送受信部１２０で受信したデータはＵＳＢインターフェース１２１で識別情報の判定が行われた後に、データ解析作成部１２２で識別情報が取り除かれ、データバッファＢ１２４に格納された後コマンドとして認識する。さらに、プリンタ２は返却用のデータを作成し、データ解析作成部１２２で論理的な多重の通信を表す識別情報を付加する。このステータス情報をホスト装置１で受信し、ＩＯモジュールＣ１１５で論理的な多重の通信を表す識別情報が取り除かれた後にＩＯ制御部１０９でステータスを認識する。
【００５７】
以上のように印刷データの通信は単一の通信チャネルを使用して行うので、大容量のデータを高速にやり取りできる。そして印刷データとプリンタのステータスの両方の通信を行う場合には、印刷データの通信のためのパフォーマンスは下がるが、複数種類のデータを並行してやり取りできる。
【００５８】
なお、以上では周辺装置としてプリンタを例に説明したが、プリンタ以外の周辺装置にも適用可能である。以上の例のようにやり取りするデータの種類やその数に応じて使用する通信チャネルを１つとするか複数とするかを選択すればよい。
【００５９】
以上のように本実施形態によれば、プリンタ等の周辺装置との通信において、通信する情報の内容に応じて通信方式を切り替えるため、情報の内容に応じた適切な通信方法を選択的に使用できる。そして複数の論理チャネルによる通信は必要な時にしか行わないため、効率的な通信環境を構築できる。
【００６０】
また、ＯＳの仕様変更があっても通信プログラムをそのまま使用することができ、ＯＳの仕様変更に容易に対応可能となる。即ち、複数の論理チャネルを使用した通信機能は独自のものを使用し、これとＯＳが提供する通信プログラムとを上記のように切り替えるようにすればよい。
【００６１】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施例の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。また、プログラムは、１つのコンピュータで実行させても、複数のコンピュータが連動して実行するようにしてもよい。また、上記した処理の全てをソフトウェアで実現する必要はなく、一部または全部をハードウェアによって実現するようにしてもよい。
【００６２】
また、本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形（他の実施形態への応用、他の実施形態との組合せ等を含む）も可能である。
【図１】
0005792962.tif 000002
【図２】
0005792962.tif 000003
【図３】
0005792962.tif 000004
【図４】
0005792962.tif 000005
【図５】
0005792962.tif 000006
【図６】
0005792962.tif 000007
【図７】
0005792962.tif 000008
【図８】
0005792962.tif 000009