(57)【要約】【課題】複数の通信インターフェースを備える構成を用いて通信を効率よく行う。【解決手段】印刷装置１０は、複数の通信インターフェース２１のいずれかを介して通信するホスト装置１００との通信状態を監視する制御部３０を備える。制御部３０は、処理対象のホスト装置１００が通信接続される所定の通信インターフェース２１とホスト装置１００との通信が切断され、再度通信が接続された場合、次の処理を行う。制御部３０は、前記所定の通信インターフェース２１の通信先であるホスト装置１００が、通信切断前と再度の通信接続後とで一致するか否かを判定する。制御部３０は、一致すると判定した場合、前記所定の通信インターフェース２１に対応する受信バッファー２２が記憶するデータを保持する。一方、制御部３０は、一致しないと判定した場合、前記所定の通信インターフェース２１に対応する受信バッファー２２が記憶するデータを消去する。【選択図】図１
2018020493.tif 000002
【特許請求の範囲】
【請求項１】
複数の外部装置と通信可能な複数の通信インターフェースを有する情報処理装置であって、
前記通信インターフェースの各々に対応し、前記外部装置から受信するデータを記憶する受信バッファーと、
前記外部装置との通信状態を監視し、監視結果に応じた制御を行う制御部と、を備え、
前記制御部は、
前記外部装置から所定の前記通信インターフェースを介してデータを受信しているときに、前記所定の通信インターフェースと前記外部装置との通信が切断され、再度通信が接続された場合、
前記所定の通信インターフェースの通信先である前記外部装置が、通信切断前と再度の通信接続後とで、一致するか否かを判定し、一致すると判定した場合、前記所定の通信インターフェースに対応する受信バッファーが記憶するデータを保持し、一致しないと判定した場合、前記所定の通信インターフェースに対応する受信バッファーが記憶するデータを消去する、情報処理装置。
【請求項２】
処理対象の前記受信バッファーが記憶するデータに基づいて処理を実行する処理実行部をさらに備え、
前記制御部は、前記外部装置との通信が切断された通信インターフェースに対応する受信バッファーが、前記処理実行部の処理対象ではない場合、当該受信バッファーが記憶するデータを消去する、請求項１に記載の情報処理装置。
【請求項３】
前記制御部は、
前記外部装置から所定の前記通信インターフェースを介してデータを受信しているときに、前記所定の通信インターフェースと前記外部装置との通信が切断され、再度通信が接続された場合、
前記所定の通信インターフェースに対応する前記受信バッファーが記憶するデータの容量が所定値以下のときは、前記所定の通信インターフェースに対応する受信バッファーが記憶するデータを消去する、請求項１又は２に記載の情報処理装置。
【請求項４】
前記外部装置と前記通信インターフェースとの通信は、無線通信である、請求項１から３のいずれか一項に記載の情報処理装置。
【請求項５】
前記制御部は、
前記所定の通信インターフェースの通信先である前記外部装置が、通信切断前と再度の通信接続後とで一致すると判定した場合、前記外部装置に対し、通信切断前に受信したデータ以降のデータを要求する、請求項１から４のいずれか一項に記載の情報処理装置。
【請求項６】
前記制御部は、
前記外部装置から受信した前記所定の通信インターフェースで規定される識別情報に基づいて、前記所定の通信インターフェースの通信先である前記外部装置が、通信切断前と再度の通信接続後とで一致するか否かを判定する、請求項１から５のいずれか一項に記載の情報処理装置。
【請求項７】
前記制御部は、
前記外部装置から所定の前記通信インターフェースを介してデータを受信しているときに、前記所定の通信インターフェースと前記外部装置との通信が切断され、再度通信が接続された場合、前記外部装置に対し前記識別情報の送信を要求する、請求項６に記載の情報処理装置。
【請求項８】
前記データは、印刷内容を示す印刷データであり、
前記情報処理装置は、前記印刷データに基づく印刷処理を実行する印刷装置である、請求項１から７のいずれか一項に記載の情報処理装置。
【請求項９】
複数の外部装置と通信可能な複数の通信インターフェースを有する情報処理装置の制御方法であって、
前記外部装置から所定の前記通信インターフェースを介してデータを受信しているときに、前記所定の通信インターフェースと前記外部装置との通信が切断され、再度通信が接続された場合、
前記所定の通信インターフェースの通信先である前記外部装置が、通信切断前と再度の通信接続後とで、一致するか否かを判定し、一致すると判定した場合、前記通信インターフェースの各々に対応し、前記外部装置から受信するデータを記憶する受信バッファーのうち、前記所定の通信インターフェースに対応する受信バッファーが記憶するデータを保持し、一致しないと判定した場合、前記所定の通信インターフェースに対応する受信バッファーが記憶するデータを消去する、情報処理装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、及び情報処理装置の制御方法に関する。
【背景技術】
【０００２】
携帯端末と情報処理装置（画像処理装置）との無線通信が切断され、再度接続された場合、接続先が中断前の携帯端末と同一か否かを判定し、同一と判定した場合、データの再送信を携帯端末に要求する情報処理装置が開示されている（例えば、特許文献１参照）。この特許文献１では、情報処理装置が、Ｂｌｕｅｔｏｏｔｈ（登録商標）による近距離無線通信で携帯端末と通信可能な構成であり、携帯端末の電話番号を利用して携帯端末が同一か否かを判定する。そして、同一と判定した場合、情報処理装置は、中断ジョブ再開用のＰＩＮコードを表示し、携帯端末のユーザーからＰＩＮコードが入力されると、データの再送信を要求する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−３１７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ここで、外部装置と通信する情報処理装置について、複数の通信インターフェースを備える情報処理装置が普及してきている。上述した特許文献１では、情報処理装置が複数の通信インターフェースを備える構成を利用して通信を効率よく行う点について開示が無く、この点で改善の余地があった。
そこで、本発明は、複数の通信インターフェースを備える構成を用いて通信を効率よく行うことを目的とする。
【課題を解決するための手段】
【０００５】
上記課題を達成するために、本発明は、複数の外部装置と通信可能な複数の通信インターフェースを有する情報処理装置であって、前記通信インターフェースの各々に対応し、前記外部装置から受信するデータを記憶する受信バッファーと、前記外部装置との通信状態を監視し、監視結果に応じた制御を行う制御部と、を備え、前記制御部は、前記外部装置から所定の前記通信インターフェースを介してデータを受信しているときに、前記所定の通信インターフェースと前記外部装置との通信が切断され、再度通信が接続された場合、前記所定の通信インターフェースの通信先である前記外部装置が、通信切断前と再度の通信接続後とで、一致するか否かを判定し、一致すると判定した場合、前記所定の通信インターフェースに対応する受信バッファーが記憶するデータを保持し、一致しないと判定した場合、前記所定の通信インターフェースに対応する受信バッファーが記憶するデータを消去する。
【０００６】
また、本発明は、処理対象の前記受信バッファーが記憶するデータに基づいて処理を実行する処理実行部をさらに備え、前記制御部は、前記外部装置との通信が切断された通信インターフェースに対応する受信バッファーが、前記処理実行部の処理対象ではない場合、当該受信バッファーが記憶するデータを消去する。
【０００７】
また、本発明は、前記制御部は、前記外部装置から所定の前記通信インターフェースを介してデータを受信しているときに、前記所定の通信インターフェースと前記外部装置との通信が切断され、再度通信が接続された場合、前記所定の通信インターフェースに対応する前記受信バッファーが記憶するデータの容量が所定値以下のときは、前記所定の通信インターフェースに対応する受信バッファーが記憶するデータを消去する。
【０００８】
また、本発明は、前記外部装置と前記通信インターフェースとの通信は、無線通信である。
【０００９】
また、本発明は、前記制御部は、前記所定の通信インターフェースの通信先である前記外部装置が、通信切断前と再度の通信接続後とで一致すると判定した場合、前記外部装置に対し、通信切断前に受信したデータ以降のデータを要求する。
【００１０】
また、本発明は、前記制御部は、前記外部装置から受信した前記所定の通信インターフェースで規定される識別情報に基づいて、前記所定の通信インターフェースの通信先である前記外部装置が、通信切断前と再度の通信接続後とで一致するか否かを判定する。
【００１１】
また、本発明は、前記制御部は、前記外部装置から所定の前記通信インターフェースを介してデータを受信しているときに、前記所定の通信インターフェースと前記外部装置との通信が切断され、再度通信が接続された場合、前記外部装置に対し前記識別情報の送信を要求する。
【００１２】
また、本発明は、前記データは、印刷内容を示す印刷データであり、前記情報処理装置は、前記印刷データに基づく印刷処理を実行する印刷装置である。
【００１３】
また、本発明は、複数の外部装置と通信可能な複数の通信インターフェースを有する情報処理装置の制御方法であって、前記外部装置から所定の前記通信インターフェースを介してデータを受信しているときに、前記所定の通信インターフェースと前記外部装置との通信が切断され、再度通信が接続された場合、前記所定の通信インターフェースの通信先である前記外部装置が、通信切断前と再度の通信接続後とで、一致するか否かを判定し、一致すると判定した場合、前記通信インターフェースの各々に対応し、前記外部装置から受信するデータを記憶する受信バッファーのうち、前記所定の通信インターフェースに対応する受信バッファーが記憶するデータを保持し、一致しないと判定した場合、前記所定の通信インターフェースに対応する受信バッファーが記憶するデータを消去する。
【図面の簡単な説明】
【００１４】
【図１】本発明の第１実施形態に係る印刷装置のブロック図。
【図２】レシートを発行するときのホスト装置及び印刷装置の動作を示すフローチャート。
【図３】ホスト装置と印刷装置との間で通信接続するときのホスト装置及び印刷装置の動作を示すフローチャート。
【図４】ホスト装置及び印刷装置の通信に関する動作を示すフローチャート。
【図５】ホスト装置及び印刷装置の通信に関する動作を示すフローチャート。
【発明を実施するための形態】
【００１５】
以下、図面を参照して本発明の実施形態について説明する。
（第１実施形態）
図１は、本発明の第１実施形態に係る印刷装置１０のブロック図である。
この印刷装置１０は、感熱紙であるロール紙に画像を印刷するサーマルプリンターである。印刷装置１０は、外部装置であるホスト装置１００の制御の下、レシートを発行することが可能である。なお、本実施形態では、印刷装置１０は、サーマル式のプリンターであるが、印刷装置１０の印刷方式は、サーマル式に限らず、インクジェット式等、他の印刷方式でもよい。
ホスト装置１００は、小売店又は飲食店等の店舗のレジカウンター等に設けられ、印刷装置１０に、レシート等を印刷させる印刷データを送信して印刷装置１０を制御するコンピューターである。例えば、ホスト装置１００は、不図示のＰＯＳサーバー等との間でレシート情報を通信するＰＯＳ端末である。レシート情報は、会計に関する会計情報と、店舗ロゴ等の非会計情報とを含んでいる。
【００１６】
図１に示すように、印刷装置１０は、通信部２０と、制御部３０と、記憶部４０と、印刷部５０とを備える。通信部２０は、ホスト装置１００と通信するためのデバイスであり、通信インターフェースとして、Ｂｌｕｅｔｏｏｔｈインターフェース２１Ａと、無線ＬＡＮインターフェース２１Ｂと、有線ＬＡＮインターフェース２１Ｃと、ＵＳＢインターフェース２１Ｄと、シリアルインターフェース２１Ｅ及びパラレルインターフェース２１Ｆとを備える。ここで、Ｂｌｕｅｔｏｏｔｈインターフェース２１Ａ及び無線ＬＡＮインターフェース２１Ｂは無線通信インターフェースであり、残りの通信インターフェースは有線通信インターフェースである。
【００１７】
Ｂｌｕｅｔｏｏｔｈインターフェース２１Ａは、Ｂｌｕｅｔｏｏｔｈ（登録商標）に対応した通信モジュール及び通信アンテナを有し、制御部３０の制御の下、Ｂｌｕｅｔｏｏｔｈの通信プロトコルに従って無線の通信処理を実行する。これによって、Ｂｌｕｅｔｏｏｔｈによる無線通信が可能なホスト装置１００（符号１００Ａを付して示す）と通信可能になる。
【００１８】
無線ＬＡＮインターフェース２１Ｂは、Ｗｉ−Ｆｉ（登録商標）等の無線ＬＡＮに対応した通信モジュール及び通信アンテナを有し、制御部３０の制御の下、無線ＬＡＮの通信プロトコルに従って無線の通信処理を実行する。これによって、無線ＬＡＮによる無線通信が可能なホスト装置１００（符号１００Ｂを付して示す）と通信可能になる。
無線ＬＡＮの場合、通常、不図示のアクセスポイントを介してホスト装置１００Ｂと印刷装置１０との間の通信が行われる。なお、ホスト装置１００Ｂと印刷装置１０の通信モードを、それぞれアクセスポイントを使用しないアドホックモードに設定することで、ホスト装置１００Ｂと印刷装置１０とを直接通信させることも可能である。
【００１９】
有線ＬＡＮインターフェース２１Ｃは、イーサネット（登録商標）等の有線ＬＡＮに対応した通信モジュール及び有線ＬＡＮポートを有する。そして、制御部３０の制御の下、有線ＬＡＮポートに接続されたホスト装置１００（符号１００Ｃを付して示す）との間で、有線ＬＡＮの通信プロトコルに従って通信処理を実行する。これによって、有線ＬＡＮによる通信が可能なホスト装置１００Ｃと通信可能になる。
【００２０】
ＵＳＢインターフェース２１Ｄは、ＵＳＢ（登録商標）に対応した通信モジュール、及びＵＳＢポートを有する。そして、制御部３０の制御の下、ＵＳＢポートに接続されたホスト装置１００（符号１００Ｄを付して示す）との間で、ＵＳＢの通信プロトコルに従って通信処理を実行する。これによって、ＵＳＢによる通信が可能なホスト装置１００Ｄと通信可能になる。
【００２１】
シリアルインターフェース２１Ｅは、ＲＳ−２３２Ｃ等のシリアル通信に対応した通信モジュール及びシリアルポートを有する。そして、制御部３０の制御の下、シリアルポートに接続されたホスト装置１００（符号１００Ｅを付して示す）との間で、シリアル通信の通信プロトコルに従った通信処理を実行する。これによって、シリアル通信が可能なホスト装置１００Ｅと通信可能になる。
【００２２】
パラレルインターフェース２１Ｆは、ＩＥＥＥ１２８４等のパラレル通信用の通信モジュール及びパラレルポートを有する。そして、制御部３０の制御の下、パラレルポートに接続されたホスト装置１００（符号１００Ｆを付して示す）との間で、パラレル通信の通信プロトコルに従った通信処理を実行する。これによって、パラレル通信が可能なホスト装置１００Ｆと通信可能になる。
【００２３】
このようにして印刷装置１０は、通信インターフェース２１Ａ〜２１Ｆのいずれかを利用してホスト装置１００と通信可能である。つまり、印刷装置１０は、通信インターフェース２１Ａ〜２１Ｆの各々の通信規格に規定された通信プロトコルに従ってホスト装置１００と通信可能である。従って、印刷装置１０は、通信可能なホスト装置１００が限定されず、例えば、印刷装置１０を異なる店舗間で移動させて、各店舗のホスト装置１００からの制御でレシートを発行可能になる。
さらに、複数の通信インターフェース２１Ａ〜２１Ｆを利用することで、印刷装置１０に同時に複数のホスト装置１００を通信接続することも可能である。なお、通信インターフェース２１Ａ〜２１Ｆのいずれかを備えないようにしてもよく、通信インターフェースの数は変更してもよい。
【００２４】
通信部２０は、各通信インターフェース２１Ａ〜２１Ｆを介してホスト装置１００から受信するデータを格納（記憶）する受信バッファー２２Ａ〜２２Ｆを有する。受信バッファー２２Ａ〜２２Ｆは、各通信インターフェース２１Ａ〜２１の各々に対応して設けられるメモリーである。この受信バッファー２２Ａ〜２２Ｆは、通信インターフェース２１Ａ〜２１Ｆの各々に設けられた独立したメモリー、又は一つのメモリーの記憶領域を、通信インターフェース２１Ａ〜２１Ｆの各々に割り振った構成のいずれでもよい。また、記憶部４０の一部を、受信バッファー２２Ａ〜２２Ｆの一部又は全てに兼用してもよい。
【００２５】
以下、通信インターフェース２１Ａ〜２１Ｆのそれぞれを特に区別して説明する必要がない場合は、通信インターフェース２１と表記する。また、受信バッファー２２Ａ〜２２Ｆについても、それぞれを特に区別して説明する必要がない場合は、受信バッファー２２と表記する。
【００２６】
制御部３０は、演算処理を行うプロセッサーと周辺回路とで構成され、例えば、マイコン、ＳＯＣ（System-on-a-chip）又はＣＰＵ等で構成される。この制御部３０は、記憶部４０に記憶される制御プログラムを実行することによって印刷装置１０の各部を制御し、また、ホスト装置１００との通信状態を監視し、監視結果に応じた制御を行う。
【００２７】
記憶部４０は、不揮発性メモリーを有し、制御プログラム等の各種のデータを記憶する。なお、記憶部４０は不揮発性メモリー以外の記憶デバイスを用いてもよい。
【００２８】
印刷部５０は、印刷装置１０の筐体に収容されたロール紙を搬送する搬送機構や、サーマルヘッドによってロール紙にドットを形成して画像を印刷する印刷機構、ロール紙を所定の位置で切断する切断機構等を備える。印刷部５０は、制御部３０の制御で、搬送機構によりロール紙を搬送しつつ、印刷機構によりロール紙に画像を印刷し、切断機構により所定の位置でロール紙を切断して、レシートを発行する。
印刷部５０は、制御部３０の制御の下、受信バッファー２２に記憶される印刷データに基づいて印刷処理を実行する処理実行部として機能する。
【００２９】
図２はレシートを発行するときのホスト装置１００及び印刷装置１０の動作を示すフローチャートである。図２のフローチャートＦＡはホスト装置１００の動作を示し、フローチャートＦＢは印刷装置１０の動作を示す。なお、図２は、ホスト装置１００が、印刷装置１０が備えるいずれかの通信インターフェース２１に接続されており、対応するプロトコルに従って印刷装置１０との間で通信が可能な状態であり、通信切断が発生しないものとする。
【００３０】
図２のフローチャートＦＡに示すように、ホスト装置１００は、顧客の会計に応じて会計処理（決済処理）を実行し、会計処理に基づいて印刷データを生成する（ステップＳＡ１）。印刷データは、所定のレイアウトに従ってレシート情報が印刷されたレシートの発行を指示するデータである。印刷データは、印刷装置１０のコマンド体系に従った複数の制御コマンドを含んで構成される。次いで、ホスト装置１００は、生成した印刷データを印刷装置１０に送信する（ステップＳＡ２）。
【００３１】
図２のフローチャートＦＢに示すように、印刷装置１０の制御部３０は、通信部２０を制御して、ステップＳＡ２でホスト装置１００が送信した印刷データを受信し、受信した印刷データに基づいて、印刷部５０を制御してレシートを発行する（ステップＳＢ１）。この場合、受信した印刷データは、制御部３０及び通信部２０が協働して動作することにより、印刷データを受信した通信インターフェース２１に対応する受信バッファー２２に、順次、格納される。そして、制御部３０は、受信バッファー２２に格納された印刷データを読み出し、この印刷データに基づいて印刷部５０を制御することにより、レシートが発行される。
【００３２】
図３はホスト装置１００と印刷装置１０との間で通信接続するときのホスト装置１００及び印刷装置１０の動作を示すフローチャートである。図３のフローチャートＦＣはホスト装置１００の動作を示し、フローチャートＦＤは印刷装置１０の動作を示す。なお、ホスト装置１００と印刷装置１０との間の通信は、印刷装置１０が備えるいずれかの通信インターフェース２１を介して行われる。
【００３３】
図３のフローチャートＦＣに示すように、ホスト装置１００は、印刷装置１０との通信接続を要求する通信接続要求を印刷装置１０に送信する（ステップＳＣ１）。通信接続要求は、ホスト装置１００と印刷装置１０との間で論理的な通信経路を確立し、これら装置１００、１０間で通信インターフェース２１に応じた通信プロトコルに従ってデータの送受信が可能な状態を確立させる要求である。
次いで、ステップＳＣ１の通信接続要求に応じて、ホスト装置１００と印刷装置１０とは、通信接続を確立させる通信接続処理を実行する（ステップＳＣ２、ＳＤ１）。通信接続処理は、ホスト装置１００と印刷装置１０との間でデータの送受信が可能な状態を確立させるための通信処理であり、通信インターフェース２１の通信規格に定められた処理である。これにより、ホスト装置１００と印刷装置１０とが通信可能な状態が確立し、つまり、ホスト装置１００と印刷装置１０とが通信接続する。
【００３４】
図３のフローチャートＦＣに示すように、印刷装置１０の制御部３０は、ホスト装置１００と通信接続すると、通信先であるホスト装置１００に、ホスト装置１００を特定可能な情報である識別情報を要求する（ステップＳＤ２）。
識別情報には、ホスト装置１００を特定可能な任意の情報を適用できる。本構成では、識別情報に、通信インターフェース２１で規定される情報を使用し、例えば、Ｂｌｕｅｔｏｏｔｈアドレス、ＭＡＣアドレス、ＩＰアドレス、ベンダーＩＤ、プロダクトＩＤ及びシリアルＩＤ等を使用している。なお、これらのうちの一つの情報を識別情報に使用する場合に限らず、二つ以上を組み合わせた情報を識別情報として使用してもよい。
【００３５】
ホスト装置１００は、識別情報の要求を受信すると、Ｂｌｕｅｔｏｏｔｈアドレス等の予め定めた情報を読み出し、識別情報として印刷装置１０に送信する（ステップＳＣ３）。印刷装置１０の制御部３０は、受信した識別情報を記憶部４０に記憶する（ステップＳＤ３）。
【００３６】
ここで、Ｂｌｕｅｔｏｏｔｈアドレスは、Ｂｌｕｅｔｏｏｔｈ通信が可能な機器に割り振られる固有のアドレスであり、ＭＡＣアドレス及びＩＰアドレスは、イーサネット等の通信が可能な機器に割り振られたアドレスである。
ベンダーＩＤ及びプロダクトＩＤは、ＵＳＢに対応したデバイスに割り当てられた情報であり、ベンダーＩＤは、ベンダー（企業や会社）毎に発行される情報であり、プロダクトＩＤは、ベンダーが機器に割り振る情報である。なお、ベンダーＩＤ及びプロダクトＩＤの一方だけでは、複数のホスト装置１００で共通のおそれがある。このため、ベンダーＩＤ及びプロダクトＩＤの組み合わせを、ホスト装置１００の識別情報とするか、ベンダーＩＤ及びプロダクトＩＤの少なくとも一方と、他の情報（ＩＰアドレスなど）との組み合わせを、ホスト装置１００の識別情報とすることが好ましい。このように、通信インターフェース２１で規定される情報を識別情報に利用するので、専用の識別情報を別途用意する必要がない。
【００３７】
例えば、Ｂｌｕｅｔｏｏｔｈインターフェース２１Ａを介してホスト装置１００と印刷装置１０が通信接続した場合、印刷装置１０がＢｌｕｅｔｏｏｔｈアドレスを識別情報として要求する。これにより、ホスト装置１００が確実に有する情報を、識別情報として要求でき、専用の識別情報を別途用意する必要がない。
また、シリアルＩＤは、ホスト装置１００に割り振られたシリアルＩＤ、又はホスト装置１００が有するデバイスに割り振られたシリアルＩＤである。このように、ホスト装置１００を特定可能な様々な情報を識別情報に適用可能である。いずれかの情報を識別情報とするかは適宜に設定すればよい。
【００３８】
ところで、印刷装置１０は、複数の通信インターフェース２１を備える。そして、制御部３０は、複数の通信インターフェース２１に、ホスト装置１００が通信可能に接続された状態の場合、複数の通信インターフェース２１のうち、いずれか１つの通信インターフェース２１に接続されたホスト装置１００を処理対象とする。
「１のホスト装置１００を処理対象とする」とは、当該１のホスト装置１００から受信し、受信バッファー２２に格納された印刷データを、占有的に、読み出し及び実行の対象とすることをいう。１のホスト装置１００が処理対象となっている間は、当該１のホスト装置１００以外のホスト装置１００から受信した印刷データは読み出されず、受信バッファー２２に格納された状態が維持される。
【００３９】
制御部３０が、１つの通信インターフェース２１に接続されたホスト装置１００を処理対象とする理由は、以下である。すなわち、複数のホスト装置１００を処理対象とすると、複数のホスト装置１００から受信した印刷データが一貫性なく実行され、正常な処理が行われない事態が生じ得るからである。例えば、１のホスト装置１００から、レシートを発行するための印刷データを受信した場合、レシートを正常に発行するためには、印刷データに含まれる制御コマンドが順番に連続して実行される必要がある。しかしながら、当該１のホスト装置１００とほぼ同時に、当該１のホスト装置１００以外の他のホスト装置１００が処理対象となった場合、当該１のホスト装置１００から受信した印刷データに含まれる制御コマンドの実行中に、当該他のホスト装置１００から受信した印刷データの制御コマンドを実行する可能性がある。
【００４０】
印刷装置１０の制御部３０は、複数の通信インターフェース２１にホスト装置１００が接続されている場合、処理対象とするホスト装置１００を適切に切り替える。例えば、制御部３０は、いずれのホスト装置１００からもデータを受信してない状況で、１のホスト装置１００からデータを受信し、受信したデータが受信バッファー２２に格納された場合、１のホスト装置１００を処理対象とする。当該１のホスト装置１００から受信したデータが受信バッファー２２に最後に格納されてから、予め定められた期間が経過した場合、制御部３０は、当該１のホスト装置１００を処理対象とすることを停止する。
その後、制御部３０は、当該１のホスト装置１００が処理対象となっている間に、他のホスト装置１００からデータを受信してない場合、次にデータを送信したホスト装置１００を処理対象とする。一方、制御部３０は、当該１のホスト装置１００が処理対象となっている間に、１又は複数の他のホスト装置１００からデータを受信している場合、他のホスト装置１００を、データを受信した順番で処理対象としていく。処理対象とするホスト装置１００の切り替えは、上述した方法以外の方法でもよい。
【００４１】
ホスト装置１００と印刷装置１０との間の通信は、ノイズ等の影響で意図せず切断する場合がある。本実施形態では、以下の処理を行うことにより、通信インターフェース２１が複数あることを利用して、ホスト装置１００と印刷装置１０との間で効率の良い通信を行う。
【００４２】
図４はホスト装置１００及び印刷装置１０の通信に関する動作を示すフローチャートである。図４のフローチャートＦＥはホスト装置１００の動作を示し、フローチャートＦＦは印刷装置１０の動作を示す。また、図４のうち、図３に示した処理と同一の処理は同一の符号を付して示し、重複説明を省略する。
ここで、図４のステップＳＣ１〜ＳＣ２、及びＳＤ１に示すように、ホスト装置１００と印刷装置１０とが通信接続した後、ホスト装置１００は、生成した印刷データを印刷装置１０に送信する図１のステップＳＡ２の処理を実行する。これによって、印刷装置１０の制御部３０が、ホスト装置１００から通信インターフェース２１を介してデータ（印刷データ）を受信する。この印刷データを受信開始した後の状態は、印刷データを全て受信していない状態、及び、続きの印刷データが送信されないために印刷データを受信していない状態を含む。この印刷データを受信開始した後の状態を、「ホスト装置１００から通信インターフェース２１を介してデータ（印刷データ）を受信しているとき、」、或いは簡略化して「ホスト装置１００からデータ（印刷データ）を受信中」と表記する。
また、ホスト装置１００及び印刷装置１０は、通信切断が発生したか否かを定期的に監視しているものとする。図４では、通信先のホスト装置１００から受信した識別情報を記憶部４０に記憶した処理（ステップＳＤ３）の後に通信切断が発生した場合を例に示している。
【００４３】
図４のフローチャートＦＦに示すように、印刷装置１０の制御部３０は、通信切断を検知すると（ステップＳＦ４）、ホスト装置１００からデータ（印刷データ）を受信中か否かを判定する（ステップＳＦ５）。データを受信中でない場合（ステップＳＦ５；ＮＯ）、印刷装置１０の制御部３０は、対応する処理を実行する（ステップＳＦ６）。対応する処理は、例えば、次に、ホスト装置１００から通信接続要求があるまで待機する処理である。
データを受信中の場合（ステップＳＦ５；ＮＯ）、つまり、ホスト装置１００から通信インターフェース２１を介してデータ（印刷データ）を受信しているとき、印刷装置１０の制御部３０は、通信切断した通信先であるホスト装置１００が処理対象のホスト装置１００か否かを判定する（ステップＳＦ７）。
通信切断した通信先が処理対象のホスト装置１００でない場合（ステップＳＦ７；ＮＯ）、制御部３０は、ステップＳＦ８の処理を実行する。ステップＳＦ８では、制御部３０は、通信切断した通信インターフェース２１に対応する受信バッファー２２に格納されたデータ（印刷データ）を消去する。この場合、後に説明するステップＳＦ９〜ステップＳＦ１４の処理（以下、「再接続対応処理」という。）は、行われない。
【００４４】
このように、制御部３０は、処理対象でないホスト装置１００との間で、意図しない通信切断が発生すると、再接続対応処理を実行せず、そのホスト装置１００から受信したデータを受信バッファー２２から消去する。これにより、以下の効果を奏する。
すなわち、処理対象のホスト装置１００から受信し、対応する受信バッファー２２に格納されたデータは、当該ホスト装置１００が処理対象の期間は、制御部３０による実行の対象であり、順次、実行される。一方、処理対象でないホスト装置１００から受信し、対応する受信バッファー２２に格納されたデータは、当該ホスト装置１００が処理対象ではない期間は実行されず、当該ホスト装置１００が処理対象となって初めて実行の対象となる。従って、処理対象でないホスト装置１００については、処理対象のホスト装置１００と比較して、全てのデータの受信を完了させ、データに基づく処理を完了させることについて、迅速性が求められない。
これを踏まえ、本構成では、処理対象でないホスト装置１００と印刷装置１０との間で通信切断が発生した場合は、再接続対応処理を行うことなく受信バッファー２２に格納されたデータを消去する。これにより、全てのデータを受信し実行することについての迅速性が求められない状況のときに、再接続対応処理を実行することを防止でき、処理効率を向上できる。また、即座に受信バッファー２２が消去されることにより、受信バッファー２２がオーバーフローすることを効果的に抑制できる。
【００４５】
一方、通信切断した通信先が処理対象のホスト装置１００の場合（ステップＳＦ７；ＹＥＳ）、制御部３０は、通信接続要求があったか否かを判定する（ステップＳＦ９）。
ここで、図４のフローチャートＦＥに示すように、ホスト装置１００は、通信切断を検知すると（ステップＳＥ４）、再接続を要求する連続通信接続要求処理を実行する（ステップＳＥ５）。連続通信接続要求処理は、通信インターフェース２１の通信規格に従って通信接続要求（再接続要求とも言う）を繰り返し要求する処理である。例えば、ホスト装置１００は、通信切断した通信先である印刷装置１０に対し、予め定めた時間間隔及び回数で再接続の要求を送信し、一定期間経過しても印刷装置１０から応答がない場合、通信エラーをユーザーに報知する処理を行う。
【００４６】
この連続通信接続要求処理が実行された場合でも、通信切断の原因が解消されていない場合、例えば、所定の通信を阻害するノイズが発生している場合には、印刷装置１０の制御部３０は通信接続要求を受信できない。この場合、制御部３０は、通信接続要求がないと判定し（ステップＳＦ９；ＮＯ）、所定の待ち時間が経過するまで（ステップＳＦ１０；ＮＯ）、ステップＳＦ９の判定処理を繰り返し実行する。所定の待ち時間が経過すると（ステップＳＦ１０；ＹＥＳ）、制御部３０は、ステップＳＦ８の処理を実行する。
これにより、ホスト装置１００が処理対象か否かに関係なく、通信切断したホスト装置１００からの再接続が所定時間に渡ってなかった場合、そのホスト装置１００から受信したデータが受信バッファー２２から消去される。従って、途中まで受信したデータを実行することで不要な印字処理が実行されてしまう事態を避けることができる。また、受信バッファー２２の空き容量を確保できる、という効果も得られる。
【００４７】
ここで、ホスト装置１００と印刷装置１０との通信切断の原因が解消している場合、印刷装置１０の制御部３０は、ホスト装置１００からの通信接続要求を受信するので、ホスト装置１００と再接続する再接続処理を実行する（ステップＳＦ１１）。この場合、図４のフローチャートＦＥに示すように、ホスト装置１００も再接続処理を実行し（ステップＳＥ６）、ホスト装置１００と印刷装置１０との間で通信規格に従った再接続処理が実行される。ここで、再接続処理は、ホスト装置１００と印刷装置１０とが通信切断前の状態、つまり、通信接続した状態に復帰するための処理である。
ホスト装置１００と印刷装置１０とが再接続（通信接続）すると、図４のフローチャートＦＦに示すように、印刷装置１０の制御部３０は、通信先であるホスト装置１００に識別情報を要求する（ステップＳＦ１２）。この場合、ホスト装置１００は、識別情報の要求に応じて所定の情報を読み出し、識別情報として印刷装置１０に送信する（ステップＳＥ７）。この識別情報は、ステップＳＣ３で送信される識別情報と同じ情報である。
【００４８】
印刷装置１０の制御部３０は、ホスト装置１００から識別情報を受信すると、通信切断前に受信して記憶部４０に記憶された識別情報と、新たに受信した識別情報とが一致するか否かを判定する（ステップＳＦ１３）。つまり、制御部３０は、通信先のホスト装置１００が通信切断前と再度の通信接続後とで一致するか否かを判定する。
一致しない場合（ステップＳＦ１３；ＮＯ）、制御部３０は、ステップＳＦ８の処理を実行する。これにより、再接続した通信インターフェース２１に対応する受信バッファー２２に格納された受信データ（印刷データ）が消去される。例えば、処理対象のホスト装置１００が通信切断前と再度の通信接続後とで変更していた場合に、ステップＳＦ１３が否定結果となり、通信切断前のホスト装置１００から受信したデータが受信バッファー２２から消去される。従って、現時点で処理対象となっているホスト装置１００からの受信したデータを、受信バッファー２２に格納し、そのデータに基づく処理を迅速かつ適切に実行可能になる。また、受信バッファー２２が消去されることにより、受信バッファー２２がオーバーフローすることを効果的に抑制できる。
【００４９】
これに対し、通信先のホスト装置１００が通信切断前と再度の通信接続後とで一致した場合（ステップＳＦ１３；ＹＥＳ）、制御部３０は、ホスト装置１００に対し、通信切断前に送信したデータの続きを要求する処理を行う（ステップＳＦ１４）。このステップＳＦ１４の処理は、通信切断前に送信したデータの続きをホスト装置１００に送信要求する処理であり、例えば、所定のコマンドをホスト装置１００に送信する処理である。
このデータの続きの要求（送信要求）がホスト装置１００に受信されると、ホスト装置１００は、通信切断前に送信したデータの続きがあるか否かを判定する判定処理を行う（ステップＳＥ８）。そして、データの続きがあると判定すると（ステップＳＥ８；ＹＥＳ）、ホスト装置１００は、続きのデータを、印刷装置１０に送信する（ステップＳＥ９）。例えば、ステップＳＥ８、ＳＥ９の処理として、ホスト装置１００が印刷データのうち、どの制御コマンドまで送信済みか否かを特定可能な場合には、送信済みの制御コマンドに基づきデータの続きの有無を判定し、続きがあれば続きのデータを送信する。これに代えて、例えば、ホスト装置１００が通信用のデータを一時的に蓄える不図示の通信バッファーを参照することで未送信のデータを検出可能な場合は、検出した未送信のデータの有無を判定し、未送信のデータを送信する。このステップＳＥ８、ＳＥ９の処理は、上記の処理に限定されず、公知の処理を広く適用可能である。
【００５０】
このようにして続きのデータが印刷装置１０に送信された場合、印刷装置１０においては、通信切断が発生した通信インターフェース２１に対応する受信バッファー２２に、通信切断前の受信データと、再接続後の受信データである続きのデータとが格納される。この場合、印刷装置１０の制御部３０は、処理対象のホスト装置１００からのデータを格納する受信バッファー２２にアクセスし、この受信バッファー２２に格納された通信切断前と再接続後との受信データを順に実行することによりレシートを発行させる。
これにより、通信切断後に、処理対象のホスト装置１００から全データを最初から再送信させる場合と比べて、ホスト装置１００と印刷装置１０との間のトータルの通信量を減らすことができ、通信を効率よく行うことができる。
【００５１】
なお、続きのデータがない場合には、再接続したホスト装置１００から印刷装置１０にデータが送信されない。つまり、通信切断前に印刷データを送信済みの場合は再接続後にデータは送信されない。この場合、印刷装置１０の制御部３０は、受信バッファー２２に格納された受信データに基づく処理を実行する。例えば、制御部３０が、ステップＳＦ１４の処理を行った後、所定の待ち時間が経過した後に受信バッファー２２に格納された通信切断前の受信データに基づき印刷部５０を制御する。これにより、処理対象のホスト装置１００からのデータを迅速に処理できる。
【００５２】
以上説明したように、本実施形態に係る印刷装置１０は、複数の外部装置であるホスト装置１００と通信可能な複数の通信インターフェース２１と、ホスト装置１００との通信状態を監視し、監視結果に応じた制御を行う制御部３０とを備える。制御部３０は、処理対象のホスト装置１００が通信接続される所定の通信インターフェース２１を介してデータの受信中に、所定の通信インターフェース２１と、処理対象のホスト装置１００との通信が切断され、再度通信が接続された場合、次の処理を行う。
制御部３０は、前記所定の通信インターフェース２１の通信先であるホスト装置１００が、通信切断前と再度の通信接続後とで一致するか否かを判定する。制御部３０は、一致すると判定した場合、前記所定の通信インターフェース２１に対応する受信バッファー２２が記憶するデータを保持する。一方、制御部３０は、一致しないと判定した場合、前記所定の通信インターフェース２１に対応する受信バッファー２２が記憶するデータを消去する。
【００５３】
この構成及び制御方法によれば、処理対象のホスト装置１００と通信切断した後に通信再開した場合、その通信に使用した通信インターフェース２１に対応する受信バッファー２２に受信データが残るため、処理対象のホスト装置１００に全データを再送信させる必要がなくなる。一方、通信切断後、異なるホスト装置１００と通信再開すると、以前の通信先から受信したデータが受信バッファー２２から消去される。これにより、複数の通信インターフェース２１を備える構成を用いて、処理対象のホスト装置１００と通信する通信インターフェース２１を介した通信量を減らすことができ、通信を効率よく行うことができる。処理対象のホスト装置１００と通信を効率よく行うことにより、処理対象のホスト装置１００からのデータに基づく処理を迅速に終了させ、次の処理対象への切り替え等を迅速に行うこと等が可能になる。
【００５４】
また、印刷部５０は、処理対象のホスト装置１００から受信したデータに基づいて印刷処理を実行する処理実行部として機能する。また、制御部３０は、ホスト装置１００との通信が切断された通信インターフェース２１に対応する受信バッファー２２が、処理実行部である印刷部５０の処理対象ではない場合、当該受信バッファー２２が記憶するデータを消去する。これにより、相対的に迅速性が求められないデータは受信バッファー２２から消去され、受信バッファー２２がオーバーフローすることを抑制できる。
【００５５】
また、ホスト装置１００と通信インターフェース２１との通信は、無線通信を含んでいる。無線通信は、一般的に有線通信と比べて通信切断が相対的に生じやすい。本構成では、頻繁に通信切断が生じても、処理対象のホスト装置１００と通信する通信インターフェース２１を介した通信量を減らし、通信を効率よく行うことができる。
また、制御部３０は、処理対象のホスト装置１００が通信切断前と再度の通信接続後とで一致すると判定した場合、そのホスト装置１００に対し、通信切断前に受信したデータ以降のデータを要求する。これにより、ホスト装置１００は、要求に対応することによって、通信切断前に受信したデータ以降のデータを特定する処理を開始できる。
【００５６】
また、本構成では、制御部３０は、通信インターフェース２１で規定される識別情報に基づいて、通信インターフェース２１の通信先であるホスト装置１００が、通信切断前と再度の通信接続後とで一致するか否かを判定する。これにより、専用の識別情報を別途用意する必要がない。さらに、各通信インターフェース２１で規定される識別情報のうち、前記所定の通信インターフェース２１で規定される識別情報を、そのホスト装置１００の一致判定に使用するようにすれば、次の効果が得られる。つまり、例えば、無線ＬＡＮによる通信が可能でＢｌｕｅｔｏｏｔｈ通信が不可能なホスト装置１００に対し、このホスト装置１００に割り当てられていないＢｌｕｅｔｏｏｔｈアドレスを識別情報として要求する事態を避けることが可能である。これにより、識別情報をより確実に通信可能になる。
【００５７】
また、ホスト装置１００から受信するデータは、印刷内容を示す印刷データであるので、途中までの印刷データによる不要なデータ処理、つまり、不要な印字処理を回避できる。
【００５８】
（第２実施形態）
図５はホスト装置１００及び印刷装置１０の通信に関する動作を示すフローチャートである。図５のフローチャートＦＧはホスト装置１００の動作を示し、フローチャートＦＨは印刷装置１０の動作を示す。また、第１実施形態と同一の処理は同一の符号を付して示し、重複説明を省略する。
図５に示すように、第２実施形態では、図４に示したステップＳＦ１３の後に、ステップＳＨ２１、ＳＨ２２、ＳＨ２３の処理が追加される点が第１実施形態と異なる。
【００５９】
ステップＳＨ２１では、制御部３０が、処理対象のホスト装置１００からの受信データを記憶する受信バッファー２２にアクセスし、受信バッファー２２が記憶する受信データの容量が所定値以下か否かを判定する。そして、受信データの容量が所定値を超える場合（ステップＳＨ２１；ＮＯ）、制御部３０は、ステップＳＦ１４の処理に移行する。これにより、第１実施形態と同様に、通信切断前に送信したデータの続きを要求する処理が実行される。
【００６０】
これに対し、受信データの容量が所定値以下の場合（ステップＳＨ２１；ＹＥＳ）、制御部３０は、受信バッファー２２が記憶する受信データを消去し（ステップＳＨ２２）、ステップＳＨ２３の処理を実行する。ステップＳＨ２３では、制御部３０が、処理対象のホスト装置１００（再接続したホスト装置１００）に対し、データの再要求を行う。データの再要求は、データの再送信を要求するものであり、例えば、データの再要求を示す所定のコマンドをホスト装置１００に送信する処理である。これにより、データの再要求を受信したホスト装置１００は、印刷装置１０に全データを再送信する。
【００６１】
すなわち、通信切断までに受信したデータの残量が所定値を超える場合はステップＳＦ１４に移行して通信切断前に受信したデータ以降のデータが要求される。一方、通信切断までに受信したデータの残量が所定値以下の場合、受信バッファー２２が記憶するデータが削除されて全データの再送信が要求される。
これにより、データの残量が多い場合にそのデータを利用して全データの取得に要する時間を効率よく短縮し、時間の短縮効果が相対的に小さい場合に限定して全データを再送信させる。このようにして、通信切断が発生した場合に、処理対象のホスト装置１００から全データを取得するまでに要する通信時間を短縮できる。従って、処理対象のホスト装置１００と効率の良い通信を行うことができ、処理対象のホスト装置１００からのデータに基づく処理を迅速に終了させ、次の処理対象への切り替え等を迅速に行うことが可能になる。
【００６２】
上述した各実施の形態は、本発明の一態様を示すものであり、本発明の範囲内で任意に変形、及び応用が可能である。
例えば、上述した各実施の形態では、レシートを発行する印刷装置１０の場合を説明したが、レシート以外を印刷する装置、及び複写機等の印刷機能を有する装置に本発明を適用してもよい。
【００６３】
また、印刷装置１０や印刷機能を有する装置以外の装置に本発明を適用してもよい。つまり、本発明は、複数の通信インターフェース２１を有し、受信バッファー２２が記憶する受信データに基づき処理を実行する処理実行部を有する情報処理装置に広く適用可能である。
一例を挙げると、処理実行部として、通信によって得られた画像データに基づき画像を表示する画像表示部を備え表示装置に本発明を適用可能である。特に、画像データが動画等の大容量データの場合に、大容量データの再送信を要求すると表示の遅延が生じることとなるが、本発明を適用することで再送信を抑制できる等の効果が得られる。
また、図１に示す各ブロックは、ハードウェアとソフトウェアの協働により任意に実現可能であり、特定のハードウェア構成を示唆するものではない。
【符号の説明】
【００６４】
１０…印刷装置（情報処理装置）、２０…通信部、３０…接続部、４０…記憶部、５０…印刷部（処理実行部）、２１、２１Ａ〜２１Ｆ…通信インターフェース、２２、２２Ａ〜２２Ｆ…受信バッファー。
【図１】
2018020493.tif 000003
【図２】
2018020493.tif 000004
【図３】
2018020493.tif 000005
【図４】
2018020493.tif 000006
【図５】
2018020493.tif 000007