(57)【要約】【課題】バッファの設定の切り替えが指示された場合にも、データの消失を防止することを目的とする。【解決手段】バッファのデータを転送する転送手段と、外部装置からバッファの設定を切り替える切り換え要求を受信した場合、転送手段によるデータの転送が終了しているか否かを判定する判定手段と、判定手段によりデータの転送が終了していないと判定された場合、外部装置に対して再送要求を送信する送信手段と、を有することによって課題を解決する。【選択図】図４
2019145119.tif 000002
【特許請求の範囲】
【請求項１】
バッファのデータを転送する転送手段と、
外部装置から前記バッファの設定を切り替える切り換え要求を受信した場合、前記転送手段による前記データの転送が終了しているか否かを判定する判定手段と、
前記判定手段により前記データの転送が終了していないと判定された場合、前記外部装置に対して再送要求を送信する送信手段と、
を有する情報処理装置。
【請求項２】
前記送信手段は、前記判定手段により前記データの転送が終了していると判定された場合、前記外部装置に対して肯定応答を送信する請求項１記載の情報処理装置。
【請求項３】
前記送信手段により前記外部装置に対して肯定応答を送信した後、前記バッファを初期化する初期化手段を更に有する請求項２記載の情報処理装置。
【請求項４】
前記判定手段は、前記バッファに前記データがあるか否かに基づいて、前記データの転送が終了しているか否かを判定する請求項１乃至３何れか１項記載の情報処理装置。
【請求項５】
前記転送手段は、前記外部装置から受信され、前記バッファに一時的に記憶されているデータを内部メモリに転送する請求項１乃至４何れか１項記載の情報処理装置。
【請求項６】
前記外部装置とは、ＵＳＢケーブルを介して接続され、
前記切り替え要求は、Ａｌｔｅｒｎａｔｅ切り替え要求である請求項１乃至５何れか１項記載の情報処理装置。
【請求項７】
前記送信手段は、前記再送要求としてＮＡＣＫ応答を送信する請求項１乃至６何れか１項記載の情報処理装置。
【請求項８】
前記送信手段は、前記肯定応答としてＡＣＫ応答を送信する請求項２又は３記載の情報処理装置。
【請求項９】
前記送信手段は、前記再送要求としてＮＲＤＹ応答を送信する請求項１乃至６何れか１項記載の情報処理装置。
【請求項１０】
情報処理装置が実行する情報処理方法であって、
バッファのデータを転送する転送ステップと、
外部装置から前記バッファの設定を切り替える切り換え要求を受信した場合、前記転送ステップによる前記データの転送が終了しているか否かを判定する判定ステップと、
前記判定ステップにより前記データの転送が終了していないと判定された場合、前記外部装置に対して再送要求を送信する送信ステップと、
を含む情報処理方法。
【請求項１１】
コンピュータを、請求項１乃至９何れか１項記載の情報処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＵＳＢホストからの受信データの消失を防止する情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
ＰＣ等の上位機器と、ＭＦＰやプリンタ等の周辺機器は、各種インターフェース（以下、Ｉ／Ｆという）を介して接続され、印刷データ等のデータ通信を行う。各種Ｉ／Ｆとして、例えば、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）が広く使用されている。
ＵＳＢ規格においては、アプリケーション毎に共通のドライバを使用することを目的として、周辺機器（ＵＳＢ  Ｆｕｎｃｔｉｏｎ）の種類に対応して、ＵＳＢデバイスクラス仕様が規定されている。プリンタクラス仕様においても、必要な転送モードと送受信バッファであるＥｎｄ  Ｐｏｉｎｔの数とが規定されており、この仕様に準拠することによって、ＵＳＢプリンタクラスドライバを使用することができる。
ＰＣからの印刷データは、Ｂｕｌｋ  Ｏｕｔと呼ばれるＵＳＢホストからＵＳＢ  Ｆｕｎｃｔｉｏｎ方向へのデータ転送により、ＭＦＰへ転送される。
ＭＦＰでは、送受信バッファであるＥｎｄ  Ｐｏｉｎｔに格納したデータをＤＭＡＣ（Ｄｙｎａｍｉｃ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌｌｅｒ）を用いて、内部のデータ格納領域であるＲＡＭに転送する。
ＵＳＢ規格も高速なＵＳＢ３．０（データ通信速度が最大５Ｇｂｐｓ）が実用化されている。そのため、送受信バッファであるＥｎｄ  Ｐｏｉｎｔにデータがすべて入っている状態でそれ以上のデータを受信することができないという課題がある。
これに対して、ＵＳＢホストからの指示に基づいて、送受信バッファのバッファサイズを変更するという技術が公開されている（特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−１５８２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ＵＳＢ  Ｆｕｎｃｔｉｏｎには、Ａｌｔｅｒｎａｔｅ  Ｓｅｔｔｉｎｇと呼ばれる代替設定が規定されており、送受信バッファであるＥｎｄ  Ｐｏｉｎｔの設定を複数持つことができる。
特許文献１に記載の通信装置では、送受信バッファにデータが残っている場合に、ＰＣ等からバッファの設定の切り替えが指示された場合、送受信バッファの初期化によってデータが消失する可能性があった。
本発明は、バッファの設定の切り替えが指示された場合にも、データの消失を防止することを目的とする。
【課題を解決するための手段】
【０００５】
そこで、本発明の情報処理装置は、バッファのデータを転送する転送手段と、外部装置から前記バッファの設定を切り替える切り換え要求を受信した場合、前記転送手段による前記データの転送が終了しているか否かを判定する判定手段と、前記判定手段により前記データの転送が終了していないと判定された場合、前記外部装置に対して再送要求を送信する送信手段と、を有する。
【発明の効果】
【０００６】
本発明によれば、バッファの設定の切り替えが指示された場合にも、データの消失を防止することができる。
【図面の簡単な説明】
【０００７】
【図１】ＭＦＰのハードウェア構成等の一例を示す図である。
【図２】ＵＳＢ  Ｉ／Ｆの内部のハードウェア構成の一例を示す図である。
【図３】ＰＣからの印刷データの転送動作を時間軸に沿って説明するための図である。
【図４】ＰＣとＭＦＰとの情報処理の一例を示したシーケンス図である。
【図５】ＭＦＰのＡｌｔｅｒｎａｔｅ切り替え要求への応答動作を示すフローチャートである。
【発明を実施するための形態】
【０００８】
以下、本発明の実施形態について図面に基づいて説明する。
【０００９】
＜実施形態１＞
図１は、画像形成システムのシステム構成及びＭＦＰのハードウェア構成の一例を示す図である。
画像形成システムは、システム構成として、ＭＦＰ１０００とＰＣ２０００とを含む。画像形成システムにおいて、ＭＦＰ１０００とＰＣ２０００とはＵＳＢケーブル３０００を介して接続されている。ここで、ＭＦＰ１０００は、ＵＳＢ  Ｆｕｎｃｔｉｏｎ、又は情報処理装置の一例である。また、ＰＣ２０００は、ＵＳＢ  Ｈｏｓｔ、又は外部装置の一例である。
【００１０】
ＭＦＰ１０００は、コントローラ１００と、操作部１１０と、読取部１２０と、印刷部１３０と、を含む。
コントローラ１００は、ＭＦＰ１０００のＵＳＢ通信及び機器全体の制御を行う。コントローラ１００は、ＣＰＵ１０１、ＲＯＭ１０２、ＲＡＭ１０３、画像処理部１０４、操作部Ｉ／Ｆ１０５、読取部Ｉ／Ｆ１０６、印刷部Ｉ／Ｆ１０７、ＵＳＢ  Ｉ／Ｆ（ＵＳＢ  Ｆｕｎｃｔｉｏｎ）２００を含む。
ＣＰＵ１０１は、コントローラ１００各部の制御を行う。ＲＯＭ１０２は、コントローラ１００の制御プログラムが格納される。ＲＡＭ１０３は、コントローラ１００の制御プログラムの実行領域や画像処理用のワークデータ用領域、及びデータ格納用領域である。画像処理部１０４は、コントローラ１００の画像処理を行う。操作部Ｉ／Ｆ１０５は、操作部１１０とのＩ／Ｆを制御する。読取部Ｉ／Ｆ１０６は、読取部１２０とのＩ／Ｆを制御する。印刷部Ｉ／Ｆ１０７は、印刷部１３０とのＩ／Ｆを制御する。ＵＳＢ  Ｉ／Ｆ２００は、ＰＣ２０００とのＵＳＢ通信を制御する。
ＣＰＵ１０１がＲＯＭ１０２等に記憶されているプログラムに基づき処理を実行することによって、後述するＭＦＰ１０００の機能、シーケンス図におけるＭＦＰの処理、フローチャートの処理が実現される。ＲＡＭ１０３は、内部メモリの一例である。
【００１１】
ＰＣ２０００は、ＵＳＢ  Ｉ／Ｆ（ＵＳＢ  Ｈｏｓｔ）２１００を含む。ＵＳＢ  Ｉ／Ｆ２１００は、ＭＦＰ１０００とのＵＳＢ通信を制御する。
また、ＰＣ２０００は、ハードウェア構成として少なくともＣＰＵとＲＡＭ、ＲＯＭ、ＨＤ等のメモリを有する。ＰＣ２０００のＣＰＵがＰＣ２０００のメモリに記憶されているプログラムに基づき処理を実行することによって後述するＰＣ２０００の機能、シーケンス図におけるＰＣの処理が実現される。
【００１２】
図２は、ＵＳＢ  Ｉ／Ｆ２００の内部のハードウェア構成の一例を示す図である。
図２に示されるように、ＵＳＢ  Ｉ／Ｆ２００は、物理層回路（以下、ＰＨＹという）２１０と、内部バスＩ／Ｆ２２０と、ＵＳＢ制御部２３０と、を含む。
物理層回路（以下、ＰＨＹという）２１０は、ＵＳＢの通信を行う。
ＵＳＢ制御部２３０は、ＵＳＢの通信及びＲＡＭ１０３へのデータ転送を制御する。
内部バスＩ／Ｆ２２０は、ＵＳＢ  Ｉ／Ｆ２００内部のデータの通路であり、Ｅｎｄ  Ｐｏｉｎｔ  ０  ２３１と、Ｉｎｔｅｒｆａｃｅ２３４と、を含む。
Ｅｎｄ  Ｐｏｉｎｔ  ０  ２３１は、制御用データの転送を行う。
Ｉｎｔｅｒｆａｃｅ２３４は、Ｅｎｄ  Ｐｏｉｎｔ  １  ２３２と、Ｅｎｄ  Ｐｏｉｎｔ  ２  ２３３と、を含む。Ｅｎｄ  Ｐｏｉｎｔ  １  ２３２や、Ｅｎｄ  Ｐｏｉｎｔ  ２  ２３３はバッファの一例である。
ＵＳＢ  Ｆｕｎｃｔｉｏｎには、Ａｌｔｅｒｎａｔｅ  Ｓｅｔｔｉｎｇと呼ばれる代替設定が規定されており、前記送受信バッファであるＥｎｄ  Ｐｏｉｎｔの設定を複数持つことができる。
【００１３】
図２（ａ）及び（ｂ）では、それぞれＥｎｄ  Ｐｏｉｎｔ  １及びＥｎｄ  Ｐｏｉｎｔ  ２の設定が異なる。
図２（ａ）では、Ｅｎｄ  Ｐｏｉｎｔ  １は、Ｂｕｌｋ  Ｏｕｔの設定であり、ＵＳＢ  ＨｏｓｔからＵＳＢ  Ｆｕｎｃｔｉｏｎ方向へのデータ転送を行う。
一方、図２（ｂ）では、Ｅｎｄ  Ｐｏｉｎｔ  １は、Ｂｕｌｋ  Ｉｎの設定であり、ＵＳＢ  ＦｕｎｃｔｉｏｎからＵＳＢ  Ｈｏｓｔ方向へのデータ転送を行う。
同様に、図２（ａ）では、Ｅｎｄ  Ｐｏｉｎｔ  ２は、Ｂｕｌｋ  Ｉｎの設定であり、ＵＳＢ  ＦｕｎｃｔｉｏｎからＵＳＢ  Ｈｏｓｔ方向へのデータ転送を行う。
一方、図２（ｂ）では、Ｅｎｄ  Ｐｏｉｎｔ  ２は、Ｂｕｌｋ  Ｏｕｔの設定であり、ＵＳＢ  ＨｏｓｔからＵＳＢ  Ｆｕｎｃｔｉｏｎ方向へのデータ転送を行う。
【００１４】
次に、図３を用いて、ＰＣからの印刷データの転送動作を時間軸に沿って説明する。
ＭＦＰ１０００の設定は図２（ａ）である。即ち、ＰＣから転送される印刷データは、Ｂｕｌｋ  Ｏｕｔに設定されたＥｎｄ  Ｐｏｉｎｔ  １のバッファに格納され、更に、ＤＭＡＣによって、ＲＡＭ１０３に転送される。
Ｅｎｄ  Ｐｏｉｎｔ  １  ２３２は、Ｂｕｌｋ  Ｏｕｔと呼ばれるＵＳＢ  ＨｏｓｔからＵＳＢ  Ｆｕｎｃｔｉｏｎ方向へのデータ転送を行う。
Ｅｎｄ  Ｐｏｉｎｔ  １は、ＵＳＢ上の転送データを一時的に格納するバッファと、ＲＡＭ１０３へのデータ転送を行うＤＭＡＣ（Ｄｙｎａｍｉｃ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌｌｅｒ）とを備える。
Ｅｎｄ  Ｐｏｉｎｔ  ２  ２３３は、Ｂｕｌｋ  Ｉｎと呼ばれるＵＳＢ  ＦｕｎｃｔｉｏｎからＵＳＢ  Ｈｏｓｔ方向へのデータ転送を行う。
【００１５】
図３（ａ）では、Ｅｎｄ  Ｐｏｉｎｔ  １のバッファすべてに印刷データが格納されており、この場合、ＵＳＢ  Ｆｕｎｃｔｉｏｎは、データを受け取れない旨（時間をおいての再送要求）をＵＳＢ  Ｈｏｓｔへ応答する。
図３（ｂ）及び図３（ｃ）では、ＲＡＭ１０３から次の画像処理部１０４へのデータ転送により、Ｅｎｄ  Ｐｏｉｎｔ  １のバッファ及びＲＡＭ１０３のデータが減っていくことがわかる。
図３（ｄ）では、Ｅｎｄ  Ｐｏｉｎｔ  １のバッファにはデータがなく、ＲＡＭ１０３にデータが残っていることがわかる。
【００１６】
次に、図４を用いて、ＰＣ（ＵＳＢ  Ｈｏｓｔ）とＭＦＰ（ＵＳＢ  Ｆｕｎｃｔｉｏｎ）とのシステム全体の動作を説明する。
図４は、ＰＣとＭＦＰとの情報処理の一例を時間軸に沿って示したシーケンス図である。
図４では、時間を縦軸に下方に進むとして、左側にＰＣ２０００の動作を、そして右側にＭＦＰ１０００の動作を示す。
ＵＳＢデータ転送は以下の手順で実行される。
Ｓ３０００において、ＰＣ２０００は、データを送信する。
Ｓ４０００において、ＭＦＰ１０００は、データを受信可能な場合、即ちＥｎｄ  Ｐｏｉｎｔ  １のバッファに空きがある場合、肯定応答（ＡＣＫｎｏｗｌｅｄｇｅ、以下、ＡＣＫという）を返信する。ＡＣＫｎｏｗｌｅｄｇｅは、ＡＣＫ応答の一例である。
Ｓ４０１０において、ＭＦＰ１０００は、受信したデータをデータ格納用領域であるＲＡＭ１０３へ転送する。
【００１７】
Ｓ３０１０において、ＰＣ２０００は、次のデータを送信する。
Ｓ４０２０において、ＭＦＰ１０００は、データを受信可能な場合、即ちＥｎｄ  Ｐｏｉｎｔ  １のバッファにまだ空きがある場合、肯定応答を返信する。
Ｓ４０３０において、ＭＦＰ１０００は、受信したデータをデータ格納用領域であるＲＡＭ１０３へ転送する。
ここで、ＭＦＰ１０００は、ＰＣ２０００からデータを受信すると、予め時間を設定された内部タイマーを起動する。このタイマーは、ＰＣ２０００から次のデータを受信すると、再起動される。
上記動作処理は、送信データがなくなるまで、ＰＣ２０００とＭＦＰ１０００とで繰り返される。
【００１８】
次に、Ｓ３０２０において、ＰＣ２０００は、Ｅｎｄ  Ｐｏｉｎｔの設定を切り替えるためのＡｌｔｅｒｎａｔｅ切り替え要求を送信したとする。
Ｓ４０４０において、ＭＦＰ１０００は、データ格納用領域であるＲＡＭ１０３へのデータ転送が終了しているか、即ち、Ｅｎｄ  Ｐｏｉｎｔ  １のバッファが空であるかを判別する。
Ｓ４０５０において、バッファにデータが残っている場合、ＭＦＰ１０００は、否定応答（Ｎｅｇａｔｉｖｅ  ＡＣＫｎｏｗｌｅｄｇｅ）、即ち再送要求を返信する。Ｎｅｇａｔｉｖｅ  ＡＣＫｎｏｗｌｅｄｇｅは、ＮＡＣＫ応答の一例である。
Ｓ３０３０において、一定時間後、ＰＣ２０００は、Ｅｎｄ  Ｐｏｉｎｔの設定を切り替えるためのＡｌｔｅｒｎａｔｅ切り替え要求を再送する。
Ｓ４０６０において、ＭＦＰ１０００は、データ格納用領域であるＲＡＭ１０３へのデータ転送が終了しているか、即ち、Ｅｎｄ  Ｐｏｉｎｔ  １のバッファが空であるかを再度判別する。
Ｓ４０７０において、ＭＦＰ１０００は、バッファにデータがなくなっている場合、肯定応答（ＡＣＫｎｏｗｌｅｄｇｅ）を返信する。
Ｓ４０８０において、ＭＦＰ１０００は、Ｅｎｄ  Ｐｏｉｎｔを初期化して、設定を切り替える。
【００１９】
次に、図５を用いて、ＭＦＰの動作を説明する。
図５は、ＭＦＰ１０００のＡｌｔｅｒｎａｔｅ切り替え要求への応答動作を示すフローチャートである。
Ｓ５０１において、ＣＰＵ１０１は、ＵＳＢデータの転送が開始された否かを判定する。ＣＰＵ１０１は、ＵＳＢデータの転送が開始されたと判定した場合（Ｓ５０１においてＹＥＳ）、Ｓ５０２に進み、ＵＳＢデータの転送が開始されていないと判定した場合（Ｓ５０１においてＮＯ）、Ｓ５０１の処理を繰り返す。
Ｓ５０２において、ＣＰＵ１０１は、ＵＳＢ  ＨｏｓｔであるＰＣ２０００からデータを受信し、Ｅｎｄ  Ｐｏｉｎｔ  １のバッファに格納する。
次に、Ｓ５０３において、ＣＰＵ１０１は、Ｅｎｄ  Ｐｏｉｎｔ  １のバッファに格納したデータをデータ格納用領域であるＲＡＭ１０３へ転送する。
【００２０】
次に、Ｓ５０４において、ＣＰＵ１０１は、次のＵＳＢデータを受信したか、又はタイムアウトしたか、を判定する。ＣＰＵ１０１は、次のＵＳＢデータを受信した場合（Ｓ５０４においてＵＳＢデータ受信）、Ｓ５０５に進み、タイムアウトした場合（Ｓ５０４においてタイムアウト）、図５に示す処理を終了する。
Ｓ５０５において、ＣＰＵ１０１は、受信したデータがＡｌｔｅｒｎａｔｅ切り替え要求を示すデータであるか否かを判定する。ＣＰＵ１０１は、Ａｌｔｅｒｎａｔｅ切り替え要求を示すデータであると判定した場合（Ｓ５０５においてＹＥＳ）、Ｓ５０６に進み、Ａｌｔｅｒｎａｔｅ切り替え要求を示すデータでないと判定した場合（Ｓ５０５においてＮＯ）、Ｓ５０２に戻る。
【００２１】
Ｓ５０６において、ＣＰＵ１０１は、Ｅｎｄ  Ｐｏｉｎｔ  １のバッファからデータ格納用領域であるＲＡＭ１０３へのデータ転送が終了しているか、即ち、バッファにデータが残っているかを判定する。ＣＰＵ１０１は、データ転送が終了していると判定した場合（Ｓ５０６においてＹＥＳ）、Ｓ５０８に進み、データ転送が終了していないと判定した場合（Ｓ５０６においてＮＯ）、Ｓ５０７に進む。
Ｓ５０７において、ＣＰＵ１０１は、否定応答（Ｎｅｇａｔｉｖｅ  ＡＣＫｎｏｗｌｅｄｇｅ）、即ち再送要求をＰＣ２０００に返信し、Ｓ５０５に戻る。この否定応答を受けて、ＰＣ２０００は、一定時間後にＥｎｄ  Ｐｏｉｎｔの設定を切り替えるためのＡｌｔｅｒｎａｔｅ切り替え要求を再送することになる。
一方、Ｓ５０８において、ＣＰＵ１０１は、肯定応答（ＡＣＫｎｏｗｌｅｄｇｅ）をＰＣ２０００に返信する。
Ｓ５０９において、ＣＰＵ１０１は、Ｅｎｄ  Ｐｏｉｎｔを初期化して、設定を切り替える。
【００２２】
以上、本実施形態の処理によれば、上位装置であるＰＣからのＡｌｔｅｒｎａｔｅ切り替え要求を受信した際に、内部メモリへの転送が終了していない場合、以下のことができる。即ち、ＰＣに再送要求を返信することができる。また、再送要求の返信により、ＵＳＢ上の応答時間内に応答することができる。また、再送要求の返信により、Ａｌｔｅｒｎａｔｅ切り替えを遅延させることができる。また、再送要求の返信により、Ａｌｔｅｒｎａｔｅ切り替えを遅延させ、内部メモリの転送を適切に終了することができる。また、再送要求の返信により、Ａｌｔｅｒｎａｔｅ切り替えによるＥｎｄ  Ｐｏｉｎｔ初期化でのデータ消失を防止することができる。
【００２３】
また、本実施形態においては、ＣＰＵ１０１が、ＵＳＢ２．０規格の肯定応答（ＡＣＫｎｏｗｌｅｄｇｅ）及び否定応答（Ｎｅｇａｔｉｖｅ  ＡＣＫｎｏｗｌｅｄｇｅ）を送信するものとして説明を行った。
しかし、ＵＳＢ３．０規格のＳｕｐｅｒ  Ｓｐｅｅｄの場合、ＣＰＵ１０１が、それに対応する返信（例えば、ＮｏｔＲｅａＤＹ：ＮＲＤＹ）を用いることで、本実施形態と同様な制御を行うことができる。ＮＲＤＹによる返信は、ＮＲＤＹ応答の一例である。
【００２４】
＜その他の実施形態＞
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読み出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００２５】
以上、上述した各実施形態によれば、バッファの設定の切り替えが指示された場合にも、データの消失を防止することができる。
【符号の説明】
【００２６】
１０００  ＭＦＰ、１００  コントローラ、１０１  ＣＰＵ、２００  ＵＳＢＩ／Ｆ（ＵＳＢ  Ｆｕｎｃｔｉｏｎ）
【図１】
2019145119.tif 000003
【図２】
2019145119.tif 000004
【図３】
2019145119.tif 000005
【図４】
2019145119.tif 000006
【図５】
2019145119.tif 000007
【手続補正書】
【提出日】平成31年3月25日(2019.3.25)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
データバッファとして利用可能なエンドポイントを備え、前記エンドポイントの設定を切り替え可能なＵＳＢインタフェースと、
前記エンドポイントのうちの受信バッファから転送されるデータを格納可能なメモリと、
外部装置から送信されるデータを前記受信バッファに蓄積する処理が完了していても前記受信バッファ内のすべてのデータが前記メモリに転送されていなければ、前記エンドポイントの設定切り替え要求を前記外部装置から受信したことに応じて、前記エンドポイントの設定を切り替えることなく前記外部装置に対して再送要求を送信する送信手段と、
を有することを特徴とする情報処理装置。
【請求項２】
前記送信手段は、前記受信バッファ内のすべてのデータが前記メモリに転送された後において、前記ＵＳＢインタフェースのモード切り替え要求を前記外部装置から受信したことに従って前記外部装置に対して肯定応答を送信することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記モードの切り替えにともない前記エンドポイントは初期化されることを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記外部装置との通信はＵＳＢケーブルを介して行われることを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記モード切り替え要求は、Ａｌｔｅｒｎａｔｅ切り替え要求であることを特徴とする請求項２に記載の情報処理装置。
【請求項６】
前記再送要求はＮＡＣＫ応答であることを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
前記再送要求はＮＲＤＹ応答であることを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項８】
前記外部装置から送信されるデータは印刷データであることを特徴とする請求項１乃至７のいずれか１項に記載の情報処理装置。
【請求項９】
前記肯定応答はＡＣＫ応答であることを特徴とする請求項２に記載の情報処理装置。
【請求項１０】
データバッファとして利用可能なエンドポイントを備え、前記エンドポイントの設定を切り替え可能なＵＳＢインタフェースと、前記エンドポイントのうちの受信バッファから転送されるデータを格納可能なメモリと、を有する情報処理装置の制御方法であって、
外部装置から送信されるデータを前記受信バッファに蓄積する処理が完了していても前記受信バッファ内のすべてのデータが前記メモリに転送されていなければ、前記エンドポイントの設定切り替え要求を前記外部装置から受信したことに応じて、前記エンドポイントの設定を切り替えることなく前記外部装置に対して再送要求を送信する工程を含むことを特徴とする制御方法。
【請求項１１】
前記工程では、前記受信バッファ内のすべてのデータが前記メモリに転送された後において、前記ＵＳＢインタフェースのモード切り替え要求を前記外部装置から受信したことに従って前記外部装置に対して肯定応答を送信することを特徴とする請求項１０に記載の制御方法。
【請求項１２】
前記モードの切り替えにともない前記エンドポイントは初期化されることを特徴とする請求項１１に記載の制御方法。
【請求項１３】
前記外部装置との通信はＵＳＢケーブルを介して行われることを特徴とする請求項１０乃至１２のいずれか１項に記載の制御方法。
【請求項１４】
前記モード切り替え要求は、Ａｌｔｅｒｎａｔｅ切り替え要求であることを特徴とする請求項１１に記載の制御方法。
【請求項１５】
前記再送要求はＮＡＣＫ応答であることを特徴とする請求項１０乃至１４のいずれか１項に記載の制御方法。
【請求項１６】
前記再送要求はＮＲＤＹ応答であることを特徴とする請求項１０乃至１４のいずれか１項に記載の制御方法。
【請求項１７】
前記外部装置から送信されるデータは印刷データであることを特徴とする請求項１０乃至１６のいずれか１項に記載の制御方法。
【請求項１８】
前記肯定応答はＡＣＫ応答であることを特徴とする請求項１１に記載の制御方法。
【請求項１９】
データバッファとして利用可能なエンドポイントを備え、前記エンドポイントの設定を切り替え可能なＵＳＢインタフェースと、前記エンドポイントのうちの受信バッファから転送されるデータを格納可能なメモリと、を有するコンピュータに、
外部装置から送信されるデータを前記受信バッファに蓄積する処理が完了していても前記受信バッファ内のすべてのデータが前記メモリに転送されていなければ、前記エンドポイントの設定切り替え要求を前記外部装置から受信したことに応じて、前記エンドポイントの設定を切り替えることなく前記外部装置に対して再送要求を送信するステップを実行させるためのプログラム。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００１
【補正方法】変更
【補正の内容】
【０００１】
本発明は、ＵＳＢホストからの受信データの消失を防止する情報処理装置、制御方法及びプログラムに関する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０００５
【補正方法】変更
【補正の内容】
【０００５】
そこで、本発明の情報処理装置は、データバッファとして利用可能なエンドポイントを備え、前記エンドポイントの設定を切り替え可能なＵＳＢインタフェースと、前記エンドポイントのうちの受信バッファから転送されるデータを格納可能なメモリと、外部装置から送信されるデータを前記受信バッファに蓄積する処理が完了していても前記受信バッファ内のすべてのデータが前記メモリに転送されていなければ、前記エンドポイントの設定切り替え要求を前記外部装置から受信したことに応じて、前記エンドポイントの設定を切り替えることなく前記外部装置に対して再送要求を送信する送信手段と、を有することを特徴とする。