(57)【特許請求の範囲】
【請求項１】
入力に応じてデータを出力する入力機器が接続される中継機器とネットワークを介して接続された機器制御装置が、
前記入力機器が前記中継機器から利用可能であるか否かを示す接続情報を、前記中継機器に対して所定の接続時間間隔で周期的に要求し、
前記入力機器が前記中継機器から利用可能であることを示す接続情報を取得した場合、前記データの受信のための前記中継機器との接続を確立するとともに、前記データの受信を、前記中継機器に対して所定の受信時間間隔で周期的に要求し、
受信した前記データを、前記機器制御装置内のアプリケーションプログラムが認識可能なデータ形式の情報として、前記機器制御装置の動作を制御するオペレーティングシステムに出力する、
ことを含む、機器制御方法。
【請求項２】
前記機器制御装置は、当該機器制御装置が有するドライバソフトウエアが、前記接続情報の要求と、前記データの受信の要求と、受信した前記データの前記オペレーティングシステムへの出力とを担う、請求項１に記載の機器制御方法。
【請求項３】
前記機器制御装置内のアプリケーションプログラムが認識可能なデータ形式の情報とは、前記機器制御装置がキーボードから入力されたと認識可能なテキスト情報を言う、請求項１又は２に記載の機器制御方法。
【請求項４】
前記データの受信の要求に応じて連続してデータを受信しなかった回数が所定の閾値を超えた後に前記データの受信の要求に応じてデータを受信しなかった後の前記受信時間間隔は、前記データの受信の要求に応じて連続してデータを受信しなかった回数が所定の閾値を超える前に前記データの受信の要求に応じてデータを受信しなかった後の前記受信時間間隔よりも大きい、請求項１ないし３のいずれか一項に記載の機器制御方法。
【請求項５】
前記接続時間間隔は、前記受信時間間隔よりも大きい、請求項１ないし４のいずれか一項に記載の機器制御方法。
【請求項６】
前記接続情報の要求において、前記機器制御装置が、ＳＮＭＰ（Simple Network Management Protocol）を用いて前記接続情報を要求する、請求項１ないし５のいずれか一項に記載の機器制御方法。
【請求項７】
入力に応じてデータを出力する入力機器が接続される中継機器とネットワークを介して接続された機器制御装置に、
前記入力機器が前記中継機器から利用可能であるか否かを示す接続情報を、前記中継機器に対して所定の接続時間間隔で周期的に要求し、
前記入力機器が前記中継機器から利用可能であることを示す接続情報を取得した場合、前記データの受信のための前記中継機器との接続を確立するとともに、前記データの受信を、中継機器に対して所定の受信時間間隔で周期的に要求し、
受信した前記データを、前記機器制御装置内のアプリケーションプログラムが認識可能なデータ形式の情報として、前記機器制御装置の動作を制御するオペレーティングシステムに出力する、
ことを実行させる、機器制御プログラム。
【請求項８】
入力に応じてデータを出力する入力機器が接続される中継機器とネットワークを介して接続された機器制御装置であって、
前記入力機器が前記中継機器から利用可能である否かを示す接続情報を、前記中継機器に対して所定の接続時間間隔で周期的に要求する接続情報要求部と、
前記入力機器が前記中継機器から利用可能であることを示す接続情報を取得した場合、前記データの受信のための前記中継機器との接続を確立するとともに、前記データの受信を、前記中継機器に対して所定の受信時間間隔で周期的に要求するデータ要求部と、
受信した前記データを、前記機器制御装置内のアプリケーションプログラムが認識可能なデータ形式の情報として、前記機器制御装置の動作を制御するオペレーティングシステムに出力する内部出力部と、
を備える機器制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機器制御方法、機器制御プログラム、および機器制御装置に関する。
【背景技術】
【０００２】
近年、店舗での会計用端末として、汎用的な機器制御装置であるタブレット端末等を用いるＰＯＳ（Point of Sale）システムが使用されている。このようなＰＯＳシステムでは、会計用端末としての処理機能は、タブレット端末等で実行されるプログラムにより実現される。そのため、汎用的な機器制御装置を用いたＰＯＳシステムでは、専用機器を用いたＰＯＳシステムと比較して低廉なコストで導入可能な場合がある。
【０００３】
店舗での会計には顧客に渡すレシートの発行が必要であるが、汎用的な機器制御装置は通常印刷機能を有していないので、ＰＯＳシステムはレシートを発行可能なプリンタを有して構成される。プリンタと汎用端末とは、有線ＬＡＮ（Local Area Network）、ＵＳＢ（Universal Serial Bus）といった接続インタフェースを介して接続される。
【０００４】
特許文献１には、タブレット端末に設けられたＩＣタグを印刷装置が読み取ることにより、タブレット端末と印刷装置との通信経路を簡易に確立するＰＯＳシステムが記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１６−１７３７０５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
例えば小売店で使用されるＰＯＳレジでは、商品に付されたバーコードを読み取るためのバーコードスキャナが接続される場合がある。また、ＰＯＳレジには、クレジットカード決済のためのクレジットカードリーダおよび非接触型ＩＣカードを読み取るためのＩＣカードリーダといったさまざまな機器が接続され得る。
【０００７】
機器が取得するデータは、情報処理装置に入力され、会計処理に使用される。情報処理装置の接続インタフェースは限られているため、こうした機器は、プリンタに設けられた接続インタフェースを介して情報処理装置に接続されるのが好ましい。しかしながら、このような機器を、プリンタを介して動作させるような情報処理装置の構成に変更し、各機器のデータ形式で情報を取り込むだけではなく、情報処理装置内のＰＯＳレジ用のアプリケーションプログラムも、各機器のデータ形式を認識可能に変更する必要がある。そして、ＰＯＳレジに各機器を追加する際、アプリケーションプログラムも大幅な変更となる。
【０００８】
本発明は、他の機器を介して接続された機器からの入力を、アプリケーションプログラムから容易に利用可能とする、機器制御方法、機器制御プログラム、中継機器および機器制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明にかかる機器制御方法は、入力に応じてデータを出力する入力機器が接続される中継機器とネットワークを介して接続された機器制御装置が、入力機器が中継機器から利用可能であるか否かを示す接続情報を、中継機器に対して所定の接続時間間隔で周期的に要求し、入力機器が中継機器から利用可能であることを示す接続情報を取得した場合、データの受信のための中継機器との接続を確立するとともに、データの受信を、中継機器に対して所定の受信時間間隔で周期的に要求し、受信したデータを、前記機器制御装置内のアプリケーションプログラムが認識可能なデータ形式の情報として、機器制御装置の動作を制御するオペレーティングシステムに出力する、ことを含むことを特徴とする。
【００１０】
また、本発明にかかる機器制御方法において、機器制御装置は、当該機器制御装置が有するドライバソフトウエアが、接続情報の要求と、データの受信の要求と、受信したデータのオペレーティングシステムへの出力とを担うことが好ましい。
【００１１】
また、本発明にかかる機器制御方法において、機器制御装置内のアプリケーションプログラムが認識可能なデータ形式の情報とは、機器制御装置がキーボードから入力されたと認識可能なテキスト情報を言うことが好ましい。
【００１２】
また、本発明にかかる機器制御方法において、データの受信の要求に応じて連続してデータを受信しなかった回数が所定の閾値を超えた後にデータの受信の要求に応じてデータを受信しなかった後の受信時間間隔は、データの受信の要求に応じて連続してデータを受信しなかった回数が所定の閾値を超える前にデータの受信の要求に応じてデータを受信しなかった後の受信時間間隔よりも大きいことが好ましい。
【００１３】
また、本発明にかかる機器制御方法において、接続時間間隔は、受信時間間隔よりも大きいことが好ましい。
【００１４】
また、本発明にかかる機器制御方法では、接続情報の要求において、ＳＮＭＰ（Simple Network Management Protocol）を用いて接続情報を要求することが好ましい。
【００１５】
本発明にかかる機器制御プログラムは、入力に応じてデータを出力する入力機器が接続される中継機器とネットワークを介して接続された機器制御装置に、入力機器が中継機器から利用可能であるか否かを示す接続情報を、中継機器に対して所定の接続時間間隔で周期的に要求し、入力機器が中継機器から利用可能であることを示す接続情報を取得した場合、データの受信のための中継機器との接続を確立するとともに、データの受信を、中継機器に対して所定の受信時間間隔で周期的に要求し、受信したデータを、機器制御装置内のアプリケーションプログラムが認識可能なデータ形式の情報として、機器制御装置の動作を制御するオペレーティングシステムに出力する、ことを実行させることを特徴とする。
【００１６】
本発明にかかる機器制御装置は、入力に応じてデータを出力する入力機器が接続される中継機器とネットワークを介して接続された機器制御装置であって、入力機器が中継機器から利用可能であるか否かを示す接続情報を、中継機器に対して所定の接続時間間隔で周期的に要求する接続情報要求部と、入力機器が中継機器から利用可能であることを示す接続情報を取得した場合、データの受信のための中継機器との接続を確立するとともに、データの受信を、中継機器に対して所定の受信時間間隔で周期的に要求するデータ要求部と、受信したデータを、機器制御装置内のアプリケーションプログラムが認識可能なデータ形式の情報として、機器制御装置の動作を制御するオペレーティングシステムに出力する内部出力部と、を備えることを特徴とする。
【発明の効果】
【００１７】
本発明の機器制御方法、機器制御プログラム、および機器制御装置によれば、中継機器を介しても、アプリケーションプログラムから容易に利用可能で簡単な構成にすることができる。
【００１８】
本発明の機器制御方法、機器制御プログラム、および機器制御装置によれば、他の機器を介して接続された機器からの入力を、アプリケーションプログラムから容易に利用可能とすることができる。
【図面の簡単な説明】
【００１９】
【図１】機器制御装置１の動作概要を説明する図である。
【図２】機器制御装置１の概略構成を示す模式図である。
【図３】プリンタ２の概略構成を示す模式図である。
【図４】機器制御装置１の処理フローチャートである。
【図５】機器制御装置１の他の処理フローチャートである。
【図６】機器制御装置１の他の処理フローチャートである。
【図７】機器制御装置１の受信遅延処理のフローチャートである。
【図８】機器制御装置１００の動作概要を説明する図である。
【図９】機器制御装置１００の概略構成を示す模式図である。
【発明を実施するための形態】
【００２０】
以下、図面を参照して機器制御方法、機器制御プログラム、および機器制御装置について詳細に説明する。ただし、本発明は図面または以下に記載される実施形態に限定されないことを理解されたい。
【００２１】
図１は、機器制御装置１の動作概要を説明する図である。
【００２２】
機器制御装置１は、有線及び／又は無線ネットワーク５を介して中継機器であるプリンタ２と接続される。プリンタ２は、ＵＳＢインタフェースを介して入力機器であるバーコードスキャナ３と接続される。
【００２３】
機器制御装置１は、機器制御装置１のハードウェア資源を抽象化して共通的な手続によるアクセスを可能にするインタフェース（ＡＰＩ：Application Programming Interface）をアプリケーションプログラムに提供する、オペレーティングシステムを有する。
【００２４】
機器制御装置１は、バーコードの読み取りに応じてバーコードスキャナ３が出力するデータ「９８７６５４３２１０９８」を、プリンタ２を介して受信する。機器制御装置１は、受信したデータを、機器制御装置１内のアプリケーションプログラムが認識可能な、例えば、キーボードから入力されたテキスト情報としてオペレーティングシステムに出力する。なお、バーコードスキャナ３は、一次元バーコードのみではなく、２次元バーコード等を読み取れるような機器であっても良い。
【００２５】
すなわち、機器制御装置１で動作するアプリケーションプログラムは、プリンタ２を介して接続されたバーコードスキャナ３の入力情報を、キーボードからの入力情報としてオペレーティングシステムから受け取り、利用することができる。更に、機器制御装置１で動作するアプリケーションプログラムは、バーコードスキャナ３の入力情報を、キーボードからの入力情報であるかのように、受け取ることができる。
【００２６】
これにより、本発明の機器制御装置１は、プリンタ２を介して接続されたバーコードスキャナ３からの入力を、アプリケーションプログラムから容易に利用可能とする。
【００２７】
また、機器制御装置１は、バーコードスキャナ３がプリンタ２に接続されていない場合、バーコードスキャナ３がプリンタ２に接続されたか否かを示す接続情報を、プリンタ２に対して所定の接続時間間隔で周期的に要求する。プリンタ２は、機器制御装置１からの要求に応じて、接続情報を送信する。
【００２８】
バーコードスキャナ３がプリンタ２に接続されたことを示す接続情報をプリンタ２から取得した場合、機器制御装置１は、まず、データの受信のためのプリンタ２との接続を確立する。そして、機器制御装置１は、データの受信をプリンタ２に対して所定の受信時間間隔で周期的に要求する。
【００２９】
図１の例では、機器制御装置１は、時刻t11にデータ要求を行い、データの受信に成功する。その後、機器制御装置１は、時刻t12にデータ要求を行う。このときの受信時間間隔RI1は、t12-t11で表される。
【００３０】
また、機器制御装置１は、時刻t21にデータ要求を行い、データの受信に失敗する。その後、機器制御装置１は、時刻t22にデータ要求を行う。このときの受信時間間隔RI2は、t22-t21で表される。
【００３１】
データの受信に失敗した後の受信時間間隔RI2は、データの受信に成功した後の受信時間間隔RI1よりも大きい。
【００３２】
通常、バーコードスキャナ３を用いたバーコードの読み取りは、断続的に行われる。すなわち、バーコードスキャナ３がバーコードの読み取り行わない時間が継続的に存在する。このような時間に小さい時間間隔でバーコードスキャナ３のデータ要求を行っても、機器制御装置１によるデータ要求の頻度に対してバーコードデータを取得することができる割合が少なくなる場合がある。
【００３３】
したがって、上述のように動作することにより、機器制御装置１は、効率よくデータの読み取りを実行し、消費電力とネットワークのトラフィックを削減することができる。
【００３４】
しかしながら、消費電力とネットワークのトラフィックが、機器制御装置１の仕様や利用環境に応じて無視できる場合には、データの受信に失敗した後の受信時間間隔RI2を、データの受信に成功した後の受信時間間隔RI1と同じ長さとしても良い。逆に、バーコードデータの取得タイミングに遅延を生じさせたくない場合には、データの受信に失敗した直後の受信時間間隔RI2のまま、データ要求を繰り返した方が良い。例えば、機器制御装置１の利用頻度が少ない場合や、機器制御装置１の電源として、大容量の内蔵電池や商用電源が供給されている場合には、消費電力を考慮するまでもない。また、大量のデータを高速で送受信可能なネットワークを利用する場合や、そのネットワークを利用する他の機器が少ない環境であれば、ネットワークのトラフィックに伴う問題は生じない。消費電力及びネットワークのトラフィックには依存せずに、より簡単な構成で、中継機器を介して接続された入力器からの入力を情報処理装置のアプリケーションプログラムから容易に利用可能となることに変わりはない。
【００３５】
図２は、機器制御装置１の概略構成を示す模式図である。
【００３６】
機器制御装置１は、入力に応じてデータを出力するバーコードスキャナ３が接続されるプリンタ２とネットワークを介して接続し、バーコードスキャナ３が出力するデータをプリンタ２から受信する。そのために、機器制御装置１は、制御通信部１１と、制御記憶部１２と、制御操作部１３と、制御表示部１４と、制御処理部１５とを備える。
【００３７】
本実施形態では、機器制御装置１としてタブレット端末を想定するが、本発明の実施形態はこれに限定されない。機器制御装置１は、例えば、パーソナルコンピュータ（Personal Computer, PC）、多機能携帯電話（いわゆる「スマートフォン」）などの情報処理装置であってよい。
【００３８】
制御通信部１１は、通信インタフェース回路を備え、機器制御装置１をネットワーク５に接続する。制御通信部１１は、制御処理部１５から供給されたデータを、ネットワーク５を介してプリンタ２等に送信する。また、制御通信部１１は、ネットワーク５を介してプリンタ２等から受信したデータを制御処理部１５に供給する。
【００３９】
制御通信部１１が機器制御装置１を接続するネットワーク５は、例えばＴＣＰ／ＩＰ（Transport Control Protocol / Internet Protocol）による通信が行われるインターネットである。また、ネットワーク５の他の例として、機器制御装置１が無線ＬＡＮにより所定のアクセスポイントを経由して、当該アクセスポイントとＬＡＮケーブルによってプリンタ２と接続される様にしても良い。この様に、ネットワーク５より通信する機器は、有線または無線によって接続される。
【００４０】
制御記憶部１２は、例えば、半導体メモリ装置を備える。制御記憶部１２は、制御処理部１５での処理に用いられるオペレーティングシステムプログラム、ドライバプログラム、アプリケーションプログラム、データ等を記憶する。例えば、制御記憶部１２は、ドライバプログラムとして、制御操作部１３を制御する入力デバイスドライバプログラムや、制御表示部１４を制御する出力デバイスドライバプログラム等を記憶する。また、制御記憶部１２は、所定の処理にかかる一時的なデータを一時的に記憶してもよい。
【００４１】
制御操作部１３は、機器制御装置１の操作が可能であればどのようなデバイスでもよく、例えば、タッチパネルやキーボタン等である。ユーザは、制御操作部１３を用いて、文字や数字、記号等を入力することができる。制御操作部１３は、ユーザにより操作されると、その操作に対応する信号を発生する。そして、発生した信号は、ユーザの指示として制御処理部１５に供給される。
【００４２】
制御表示部１４は、映像や画像等の表示が可能であればどのようなデバイスでもよく、例えば、液晶ディスプレイや有機ＥＬ（Electro-Luminescence）ディスプレイ等である。制御表示部１４は、制御処理部１５から供給された映像データに応じた映像や、画像データに応じた画像等を表示する。
【００４３】
制御処理部１５は、１以上のプロセッサおよびその周辺回路を備える。制御処理部１５は、機器制御装置１の全体的な動作を統括的に制御するものであり、例えば、ＣＰＵ（Central Processing Unit）である。制御処理部１５は、機器制御装置１の各種処理が制御記憶部１２に記憶されているプログラムや制御操作部１３への操作等に基づいて適切な手段で実行されるように、制御通信部１１や制御表示部１４等の動作を制御する。制御処理部１５は、制御記憶部１２に記憶されているプログラム（オペレーティングシステムプログラム、ドライバプログラム、アプリケーションプログラム等）に基づいて処理を実行する。また、制御処理部１５は、複数のプログラム（アプリケーションプログラム等）を並列に実行することができる。
【００４４】
制御処理部１５は、少なくともオペレーティングシステム部１５１、接続情報要求部１５２、データ要求部１５３、内部出力部１５４等を備える。これらの各部は、制御処理部１５が備えるプロセッサで実行されるプログラムにより実現される機能モジュールである。あるいは、これらの各部は、ファームウェアとして機器制御装置１に実装されてもよい。
【００４５】
図３は、プリンタ２の概略構成を示す模式図である。
【００４６】
プリンタ２は、ネットワークを介して機器制御装置１に接続されている。プリンタ２は、さらにバーコードスキャナ３に接続され、バーコードスキャナ３の出力するデータを機器制御装置１に中継する中継機器として機能する。そのために、プリンタ２は、中継通信部２１と、中継接続部２２と、中継記憶部２３と、プリンタ部２４と、中継処理部２５とを備える。
【００４７】
中継通信部２１は、通信インタフェース回路を備え、プリンタ２をネットワークに接続する。中継通信部２１は、中継処理部２５から供給されたデータを、ネットワークを介して機器制御装置１に送信する。
【００４８】
中継接続部２２は、ＵＳＢインタフェースを備え、バーコードスキャナ３を接続して制御する。中継接続部２２は、バーコードスキャナ３から受信したデータを中継処理部２５に供給する。
【００４９】
中継記憶部２３は、例えば半導体メモリ装置を備える。中継記憶部２３は、中継処理部２５での処理に用いられるオペレーティングシステムプログラム、ドライバプログラム、アプリケーションプログラム、データ等を記憶する。例えば、中継記憶部２３は、ドライバプログラムとして、中継通信部２１を制御する通信デバイスドライバプログラム等を記憶する。また、中継記憶部２３は、所定の処理にかかる一時的なデータを一時的に記憶してもよい。
【００５０】
プリンタ部２４は、所定の用紙への印刷を実行する。プリンタ部２４は、感熱紙である用紙の所定の領域を加熱することにより印刷を行うサーマルプリンタ装置である。また、プリンタ部２４は、用紙の所定の領域にインク滴を射出して印刷を行うインクジェットプリンタ装置等であってもよい。
【００５１】
中継処理部２５は、１以上のプロセッサおよびその周辺回路を備える。中継処理部２５は、プリンタ２の全体的な動作を統括的に制御するものであり、例えば、ＣＰＵである。中継処理部２５は、プリンタ２の各種処理が中継記憶部２３に記憶されているプログラム等に基づいて適切な手段で実行されるように、中継通信部２１等の動作を制御する。中継処理部２５は、中継記憶部２３に記憶されているプログラム（オペレーティングシステムプログラム、ドライバプログラム、アプリケーションプログラム等）に基づいて処理を実行する。
【００５２】
中継処理部２５は、少なくとも接続情報更新部２５１、接続情報応答部２５２、データ取得部２５３、データ送信部２５４等を備える。これらの各部は、中継処理部２５が備えるプロセッサで実行されるプログラムにより実現される機能モジュールである。あるいは、これらの各部は、ファームウェアとして機器制御装置１に実装されてもよい。
【００５３】
接続情報更新部２５１は、バーコードスキャナ３が中継接続部２２に接続されているか否かに応じて、中継記憶部２３に記憶される接続情報を更新する。
【００５４】
接続情報応答部２５２は、機器制御装置１から接続情報の要求を受信した場合、中継記憶部２３に記憶され接続情報更新部２５１に更新された接続情報に基づいて、機器制御装置１に応答する。
【００５５】
データ取得部２５３は、中継接続部２２に接続されたバーコードスキャナ３から出力されたデータを取得し、中継記憶部２３に記憶させる。
【００５６】
データ送信部２５４は、機器制御装置１からデータの要求を受信した場合、データ取得部２５３が取得し中継記憶部２３に記憶されたデータを、機器制御装置１に送信する。
【００５７】
図４は、機器制御装置１の処理フローチャートである。
【００５８】
処理フローチャートに示す各処理は、制御記憶部１２に記憶されたプログラムに従って、制御処理部１５が、制御通信部１１、制御記憶部１２といった機器制御装置１の構成要素と協働しながら実行する。
【００５９】
まず、接続情報要求部１５２は、バーコードスキャナ３がプリンタ２から利用可能であるか否かを示す接続情報を、プリンタ２に対して要求する（ステップＳ１０）。
【００６０】
バーコードスキャナ３がプリンタ２に有線または無線により電気的に接続されていない場合、接続情報は、バーコードスキャナ３がプリンタ２から利用可能でないことを示す。また、バーコードスキャナ３がプリンタ２に有線または無線により電気的に接続されていても、例えばバーコードスキャナ３が他の端末から使用されている場合、プリンタ２からは利用可能ではない。このような場合も接続情報はバーコードスキャナ３がプリンタ２から利用可能でないことを示す。
【００６１】
次に、接続情報要求部１５２は、バーコードスキャナ３がプリンタ２から利用可能であることを示す接続情報を取得したか否かを判定する（ステップＳ１１）。
【００６２】
利用可能であることを示す接続情報を取得したと判定された場合（ステップＳ１１：Ｙ）、データ要求部１５３は、データの受信のためのプリンタ２との接続を確立する（ステップＳ１２）。具体的には、データ要求部１５３は、特定の目的でアプリケーションプログラムが通信を行うときのプログラムインタフェースであるソケットの作成を、オペレーティングシステム部１５１に要求する。
【００６３】
オペレーティングシステム部１５１は、機器制御装置１のハードウェア資源を利用するための共通的なインタフェースを、機器制御装置１で動作するアプリケーションプログラムに提供する。データ要求部１５３の要求に基づいてオペレーティングシステム部１５１がソケットを作成することにより、機器制御装置１とプリンタ２との間の接続が確立され、データ要求部１５３はプリンタ２からのデータを取得可能となる。
【００６４】
利用可能であることを示す接続情報を取得したと判定されない場合（ステップＳ１１：Ｎ）、接続情報要求部１５２は、接続時間間隔が経過したか否かを判定する（ステップＳ１３）。接続時間間隔は予め設定された時間間隔であり、例えばl000ミリ秒である。接続時間間隔は、機器制御装置１のユーザが、所定の範囲（例えば1000ミリ秒〜60000ミリ秒）で設定可能である。
【００６５】
接続情報要求部１５２は、接続時間間隔が経過していないと判定した場合（ステップＳ１３：Ｎ）、ステップＳ１３を繰り返して待機する。接続情報要求部１５２は、接続時間間隔が経過したと判定した場合（ステップＳ１３：Ｙ）、ステップＳ１０に戻り、プリンタ２に接続情報の要求を行う。
【００６６】
なお、図示していないが、ステップＳ１２に続いてプリンタ２との接続の確立に失敗したか否かの判定を実行し、失敗したと判定された場合に、ステップＳ１３に遷移して接続時間経過後にプリンタ２に接続情報の要求を行うなどのリトライ処理を実行してもよい。
【００６７】
データ接続を確立した後、データ要求部１５３は、プリンタ２に対してデータの受信を要求する（ステップＳ１４）。そして、データ要求部１５３は、データの受信の要求に応じてデータを受信したか否かを判定する（ステップＳ１５）。
【００６８】
データを受信したと判定された場合（ステップＳ１５：Ｙ）、内部出力部１５４は、受信したデータを、キーボードから入力されたテキスト情報としてオペレーティングシステム部１５１に出力する（ステップＳ１６）。これにより、機器制御装置１で動作するアプリケーションプログラムは、プリンタ２を介して接続されたバーコードスキャナ３から入力されたデータを、キーボードから入力されたテキスト情報としてオペレーティングシステム部１５１から受け取ることができる。
【００６９】
次に、データ要求部１５３は、受信時間間隔t1が経過したか否かを判定する（ステップＳ１７）。受信時間間隔t1は予め設定された時間間隔であり、例えばl00ミリ秒である。受信時間間隔t1は、機器制御装置１のユーザが、所定の範囲（例えば100ミリ秒〜1000ミリ秒）で設定可能である。
【００７０】
データ要求部１５３は、受信時間間隔t1が経過していないと判定した場合（ステップＳ１７：Ｎ）、ステップＳ１７を繰り返して待機する。データ要求部１５３は、受信時間間隔t1が経過したと判定した場合（ステップＳ１７：Ｙ）、ステップＳ１４に戻り、プリンタ２にデータの受信を要求する。
【００７１】
ステップＳ１５においてデータを受信したと判定されない場合（ステップＳ１５：Ｎ）、データ要求部１５３は、受信時間間隔t2が経過したか否かを判定する（ステップＳ１８）。受信時間間隔t2は、受信時間間隔t1よりも大きい予め設定された時間間隔であり、例えば200ミリ秒である。受信時間間隔t2は、機器制御装置１のユーザが、所定の範囲（例えばt1〜1000ミリ秒）で設定可能である。また、受信時間間隔t2は、設定されたt1との関係式（例えばt2=t1×2）に基づいて設定されてもよい。
【００７２】
データ要求部１５３は、受信時間間隔t2が経過していないと判定した場合（ステップＳ１８：Ｎ）、ステップＳ１８を繰り返して待機する。データ要求部１５３は、受信時間間隔t2が経過したと判定した場合（ステップＳ１８：Ｙ）、ステップＳ１４に戻り、プリンタ２にデータの受信を要求する。
【００７３】
ステップＳ１０からステップＳ１８までの一連の処理が、機器制御装置１の起動中に繰り返し実行される。
【００７４】
このような処理を実行することにより、機器制御装置１は、プリンタ２を介して接続されたバーコードスキャナ３からの入力を、アプリケーションプログラムから容易に利用可能とする。
【００７５】
なお、ステップＳ１０における、接続情報要求部１５２による接続情報の要求は、IPネットワーク上の機器を監視するための通信方法としてRFC 3411等に定義されるＳＮＭＰ（Simple Network Management Protocol）に基づいて行なわれてよい。
【００７６】
すなわち、機器制御装置１はＳＮＭＰにおけるマネージャとなり、ＳＮＭＰにおけるエージェントであるプリンタ２に対してリクエストを送信する。プリンタ２は、リクエストに応じてレスポンスを機器制御装置１に送信する。
【００７７】
プリンタ２は、中継記憶部２３に、管理情報ベース（ＭＩＢ、Management Information Base）を記憶する。管理情報ベースには、プリンタ２へのバーコードスキャナ３の接続の有無を含むさまざまな管理情報がツリー構造で記憶される。
【００７８】
機器制御装置１は、プリンタ２へのバーコードスキャナ３の接続の有無を示す管理情報の管理情報ベースにおける位置を示すオブジェクトＩＤを指定したリクエストを送信する。そして、このリクエストに対するプリンタ２のレスポンスを受信することで、接続情報を取得することができる。
【００７９】
図５は、機器制御装置１の他の処理フローチャートである。
【００８０】
機器制御装置１は、図４に示す処理フローチャートの他に、図５に示す処理フローチャートに従って一連の処理を実行してもよい。
【００８１】
図５に示す処理フローチャートのうち、ステップＳ２０〜Ｓ２５、Ｓ２７〜Ｓ２９は、図４に示す処理フローチャートにおけるステップＳ１０〜Ｓ１５、Ｓ１６〜Ｓ１８と同様である。図４に示す処理フローチャートと同様の処理ステップの説明は省略する。
【００８２】
ステップＳ２５において、データを受信したと判定された場合（ステップＳ２５：Ｙ）、データ要求部１５３は受信したデータがあるか否かを判定する（ステップＳ２６）。受信したデータがあると判定された場合（ステップＳ２６：Ｙ）、ステップＳ２７に遷移し、内部出力部１５４が受信したデータを内部出力する。一方、ステップＳ２６において、受信したデータがあると判定されない場合（ステップＳ２６：Ｎ）、ステップＳ２９に遷移し、データ要求部１５３は受信時間間隔ｔ2の経過後にステップＳ２４に遷移する。
【００８３】
図５に示す処理フローチャートを実行することにより、機器制御装置１は、受信したデータ量がない、すなわちバーコードの読み取りが行われていない状況でのデータ受信間隔を長くする。このため、機器制御装置１は、プリンタ２およびバーコードスキャナ３の消費電力とネットワークのトラフィックを削減することができる。
【００８４】
図６は、機器制御装置１の他の処理フローチャートである。
【００８５】
機器制御装置１は、図４および図５に示す処理フローチャートの他に、図６に示す処理フローチャートに従って一連の処理を実行してもよい。
【００８６】
図６に示す処理フローチャートのうち、ステップＳ３０〜Ｓ３６、Ｓ３８は、図５に示す処理フローチャートにおけるステップＳ２０〜Ｓ２６、Ｓ２８と同様である。図５に示す処理フローチャートと同様の処理ステップの説明は省略する。
【００８７】
ステップＳ３６において受信したデータ量があると判定された場合（ステップＳ３６：Ｙ）、内部出力部１５４は、受信したデータを内部出力するとともに、受信したデータ量がなかった回数の値を初期化する（ステップＳ３７）。受信したデータ量がなかった回数の値については、後述する。
【００８８】
受信したデータ量があると判定されない場合（ステップＳ３６：Ｎ）、データ要求部１５３は、後述する受信遅延処理を実行し（ステップＳ３９）する。そして、データ要求部１５３は、ステップＳ３４に遷移し、プリンタ２にデータの受信を要求する。
【００８９】
図７は、機器制御装置１の受信遅延処理のフローチャートである。
【００９０】
機器制御装置１のデータ要求部１５３は、受信時間間隔t2が経過したか否かを判定する（ステップＳ３９１）。データ要求部１５３は、受信時間間隔t2が経過していないと判定した場合（ステップＳ３９１：Ｎ）、ステップＳ３９１を繰り返して待機する。
【００９１】
受信時間間隔t2が経過したと判定した場合（ステップＳ３９１：Ｙ）、データ要求部１５３は、連続して受信したデータ量がなかった回数が所定の閾値ｎよりも小さいか否かを判定する（ステップＳ３９２）。連続して受信したデータ量がなかった回数は、機器制御装置１の処理開始時に、初期値として０が設定されている。
【００９２】
連続して受信したデータ量がなかった回数がｎよりも小さいと判定された場合（ステップＳ３９２：Ｙ）、データ要求部１５３は、連続して受信したデータ量がなかった回数に１加算し（ステップＳ３９３）、受信遅延処理を終了する。
【００９３】
ステップＳ３９１において連続して受信したデータ量がなかった回数がｎよりも小さいと判定されない場合（ステップＳ３９１：Ｎ）、データ要求部１５３は、受信時間間隔t3が経過したか否かを判定する（ステップＳ３９４）。受信時間間隔t3は、予め設定された時間間隔であり、例えば200ミリ秒である。受信時間間隔t3は、機器制御装置１のユーザが、所定の範囲（例えば0〜1000ミリ秒）で設定可能である。受信時間間隔t3は、受信時間間隔t2と同じ時間間隔であってもよく、異なる時間間隔であってもよい。
【００９４】
データ要求部１５３は、受信時間間隔t3が経過していないと判定した場合（ステップＳ３９４：Ｎ）、ステップＳ３９４を繰り返して待機する。データ要求部１５３は、受信時間間隔t3が経過したと判定した場合（ステップＳ３９４：Ｙ）、受信遅延処理を終了する。
【００９５】
図６および図７に示す処理フローチャートを実行することにより、機器制御装置１は、受信したデータ量がない、すなわちバーコードの読み取りが行われていない状況が連続している場合のデータ受信間隔を長くする。このため、機器制御装置１は、プリンタ２およびバーコードスキャナ３の消費電力とネットワークのトラフィックを削減することができる。
【００９６】
図９は、機器制御装置１００の動作概要を説明するための図である。
【００９７】
機器制御装置１００は、図１に示す機器制御装置１と同様に、有線及び／又は無線ネットワーク５を介して中継機器であるプリンタ２と接続される。プリンタ２は、ＵＳＢインタフェースを介して入力機器であるバーコードスキャナ３と接続される。プリンタ２及びバーコードスキャナ３の構成は、図１等で説明した構成と同様であるので、それらの説明を省略する。
【００９８】
機器制御装置１００は、機器制御装置１００の全体制御を司るオペレーティングシステム（ＯＳ）１０２、ＯＳ１０２上で動作可能なＰＯＳ動作等を可能とするアプリケーションプログラム（ＡＰ）１０１、及び、スキャナドライバ１０３を有する。スキャナドライバ１０３は、機器制御装置１００にインストールされ且つ入力機器であるバーコードスキャナ３との間のデータの送受信の制御を行うドライバソフトウエアである。スキャナドライバ１０３の動作については後述する。なお、スキャナドライバ１０３は、プリンタ２により印刷するためのドライバを兼用してもよいし、または、兼用せずに、プリンタ２に専用のドライバを別途設けても良い。
【００９９】
スキャナドライバ１０３は、バーコードの読み取りに応じてバーコードスキャナ３が出力するデータ「９８７６５４３２１０９８」を、プリンタ２を介して受信する。スキャナドライバ１０３は、受信したデータを、ＡＰ１０１が認識可能なデータ形式の情報としてＯＳ１０２に出力する。ＡＰ１０１が認識可能なデータ形式の情報とは、例えば、キーボードから入力されたテキスト情報である。なお、ＡＰ１０１が認識可能なデータ形式の情報が、バイナリ形式の場合は、スキャナドライバ１０３がＢａｓｅ６４エンコード又はＵＲＬエンコード等を用いてテキスト形式に変換してから、ＯＳ１０２へデータを渡すようにしても良い。
【０１００】
すなわち、機器制御装置１００で動作するＡＰ１０１は、プリンタ２を介して接続されたバーコードスキャナ３の入力情報を、スキャナドライバ３を介してキーボードからの入力情報としてＯＳ１０２から受け取り、利用することができる。その際、ＡＰ１０１及びＯＳ１０２は、スキャナドライバ１０３の存在を気にすることなく動作可能となる。したがって、スキャナドライバ１０３を機器制御装置１００にインストールさえすれば、プリンタ２を介しても、ＡＰ１０１から容易に利用可能で簡単な構成にすることができる。例えば、バーコードスキャナ３を追加する前に、予め、キーボード入力用に対応したＡＰ１０１が機器制御装置１００にインストールされている場合には、スキャナドライバ１０３をインストールするだけでバーコードスキャナ３に対応することができ、バーコードスキャナ３との接続のためにＡＰ１０１を変更する必要がない。
【０１０１】
これにより、本発明の機器制御装置１００では、プリンタ２を介して接続されたバーコードスキャナ３からの入力を、ＡＰ１０１で容易に利用可能である。
【０１０２】
また、スキャナドライバ１０３は、バーコードスキャナ３がプリンタ２に接続されていない場合、バーコードスキャナ３がプリンタ２に接続されたか否かを示す接続情報を、プリンタ２に対して所定の接続時間間隔で周期的に要求する。プリンタ２は、スキャナドライバ１０３からの要求に応じて、接続情報を送信する。
【０１０３】
バーコードスキャナ３がプリンタ２に接続されたことを示す接続情報をプリンタ２から取得した場合、スキャナドライバ１０３は、まず、データの受信のためのプリンタ２との接続を確立する。そして、スキャナドライバ１０３は、データの受信をプリンタ２に対して所定の受信時間間隔で周期的に要求する。
【０１０４】
図８の例では、スキャナドライバ１０３は、時刻t11にデータ要求を行い、データの受信に成功する。その後、スキャナドライバ１０３は、時刻t12にデータ要求を行う。このときの受信時間間隔RI1は、t12-t11で表される。
【０１０５】
また、スキャナドライバ１０３は、時刻t21にデータ要求を行い、データの受信に失敗したとする。その後、スキャナドライバ１０３は、時刻t22にデータ要求を行う。このときの受信時間間隔RI2は、t22-t21で表される。
【０１０６】
データの受信に失敗した後の受信時間間隔RI2は、データの受信に成功した後の受信時間間隔RI1よりも大きい。
【０１０７】
これにより、バーコードデータの取得効率や、消費電力とネットワークのトラフィックの削減の効果が得られるが、あくまでも、機器制御装置１００の仕様や利用環境に応じた、選択的な事項であることは、図１等に示す機器制御装置１と同様である。
【０１０８】
図９は、機器制御装置１００の概略構成を示す模式図である。
【０１０９】
機器制御装置１００は、入力に応じてデータを出力するバーコードスキャナ３が接続されるプリンタ２とネットワークを介して接続し、バーコードスキャナ３が出力するデータをプリンタ２から受信する。そのために、機器制御装置１は、制御通信部１１と、制御記憶部１２と、制御操作部１３と、制御表示部１４と、制御処理部１５とを備える。
【０１１０】
本実施形態では、機器制御装置１００としてタブレット端末を想定するが、本発明の実施形態はこれに限定されない。機器制御装置１００は、例えば、パーソナルコンピュータ（Personal Computer, PC）、多機能携帯電話（いわゆる「スマートフォン」）などの情報処理装置であってよい。
【０１１１】
制御通信部１１は、通信インタフェース回路を備え、機器制御装置１００をネットワーク５に接続する。制御通信部１１は、制御処理部１５から供給されたデータを、ネットワーク５を介してプリンタ２等に送信する。また、制御通信部１１は、ネットワーク５を介してプリンタ２等から受信したデータを制御処理部１５に供給する。
【０１１２】
制御通信部１１が機器制御装置１００を接続するネットワーク５は、例えばＴＣＰ／ＩＰ（Transport Control Protocol / Internet Protocol）による通信が行われるインターネットである。また、ネットワーク５の他の例として、機器制御装置１が無線ＬＡＮにより所定のアクセスポイントを経由して、当該アクセスポイントとＬＡＮケーブルによってプリンタ２と接続される様にしても良い。この様に、ネットワーク５より通信する機器は、有線または無線によって接続される。
【０１１３】
機器制御装置１００が備える制御記憶部１２は、例えば、半導体メモリ装置を備える。制御記憶部１２は、制御処理部１５での処理に用いられる、ＡＰ１０１、ＯＳ１０２、スキャナドライバ１０３、その他のプログラム、及び、データ等を記憶する。例えば、制御記憶部１２は、制御操作部１３を制御する入力デバイスドライバプログラムや、制御表示部１４を制御する出力デバイスドライバプログラム等を記憶する。また、制御記憶部１２は、所定の処理にかかる一時的なデータを一時的に記憶してもよい。
【０１１４】
機器制御装置１００が備える制御操作部１３、及び、制御表示部１４は、図２で説明したものと同様であるので、説明を省略する。
【０１１５】
機器制御装置１００が備える制御処理部１５は、１以上のプロセッサおよびその周辺回路を備える。制御処理部１５は、機器制御装置１の全体的な動作を統括的に制御するものであり、例えば、ＣＰＵ（Central Processing Unit）である。制御処理部１５は、機器制御装置１の各種処理が制御記憶部１２に記憶されているプログラムや制御操作部１３への操作等に基づいて適切な手段で実行されるように、制御通信部１１や制御表示部１４等の動作を制御する。制御処理部１５は、制御記憶部１２に記憶されているプログラム（ＡＰ１０１、ＯＳ１０２、スキャナドライバ１０３、その他のプログラム）に基づいて処理を実行する。また、制御処理部１５は、複数のプログラム（アプリケーションプログラム等）を並列に実行することができる。
【０１１６】
機器制御装置１００との間でデータの送受信を行うプリンタ２は、図３に示したものと同様であるので、その説明を省略する。
【０１１７】
以下、機器制御装置１００の処理フローについて説明する。
【０１１８】
図４〜図７に示す処理フローチャートに示す各処理は、機器制御装置１００においても、そのまま利用することができる。すなわち、図４〜図７に示す処理フローチャートに示す各処理は、制御記憶部１２に記憶されたスキャナドライバ１０３によって、制御処理部１５が、制御通信部１１、制御記憶部１２といった機器制御装置１００の構成要素と協働しながら実行する。
【０１１９】
なお、機器制御装置１００における図４〜図７に示す処理フローチャートに示す各処理では、図４〜図７の説明において、接続情報要求部１５２、データ要求部１５３、及び内部出力部１５４としたものは、全てスキャナドライバ１０３が処理を代行することとなる。更に、機器制御装置１００の処理フローの場合、図４のステップＳ１６、図５のステップＳ２７、図６のステップＳ３７において、内部出力部１５４がデータを出力する先は、ＯＳ１０２となる。これにより、機器制御装置１００で動作するＡＰ１０１は、プリンタ２を介して接続されたバーコードスキャナ３から入力されたデータを、機器制御装置１００が認識可能な、例えばキーボードから入力されたテキスト情報としてＯＳ１０２から受け取ることができる。
【０１２０】
上記の構成により、機器制御装置１００は、プリンタ２を介しても、ＡＰ１０１から容易に利用可能で簡単な構成にすることができる。例えば、バーコードスキャナ３を追加する前に、予め、キーボード入力用に対応したＡＰ１０１が機器制御装置１００にインストールされている場合には、スキャナドライバ１０３をインストールするだけでバーコードスキャナ３に対応することができ、ＡＰ１０１を変更せずに、スキャナドライバ１０３を利用して、プリンタ２を介してバーコードスキャナ３を利用することが可能となる。すなわち、機器制御装置１００自体にバーコードスキャナ３を接続するための新たなポートを必要とせず、ＡＰ１０１を変更しないで、バーコードスキャナ３を利用することか可能となる。なお、機器制御装置１００が無線ＬＡＮを主に利用するような機器である場合、有線で入力機器を接続すると機器制御装置１００の操作性が低下する場合には、特に有用である。
【０１２１】
上記の説明では、中継機器を介して機器制御装置とデータの送受信を行う入力機器としてバーコードスキャナ３を用いて説明したが、入力機器はこれに限定されるものではなく、キーボードやマウスなどの端末の入力装置として利用可能なデバイス、及びＨＩＤ（Human Interface Device）等であっても良い。
【０１２２】
当業者は、本発明の精神および範囲から外れることなく、種々の変更、置換および修正をこれに加えることが可能であることを理解されたい。
【符号の説明】
【０１２３】
１、１００    機器制御装置
１０１    アプリケーションプログラム（ＡＰ）
１０２    オペレーションプログラム（ＯＳ）
１０３    スキャナドライバ
１５２    接続情報要求部
１５３    データ要求部
１５４    内部出力部
２    プリンタ
３    バーコードスキャナ
【要約】
【課題】他の機器を介して接続された機器からの入力を、アプリケーションプログラムから容易に利用可能とする。
【解決手段】入力に応じてデータを出力する入力機器が接続される中継機器とネットワークを介して接続された機器制御装置が、入力機器が中継機器から利用可能であるか否かを示す接続情報を、中継機器に対して所定の接続時間間隔で周期的に要求し、入力機器が中継機器から利用可能であることを示す接続情報を取得した場合、データの受信のための中継機器との接続を確立するとともに、データの受信を、中継機器に対して所定の受信時間間隔で周期的に要求し、受信したデータを、機器制御装置内のアプリケーションプログラムが認識可能なデータ形式の情報として機器制御装置の動作を制御するオペレーティングシステムに出力するよう制御する。
【選択図】図１【図１】
0006732092.tif 000002
【図２】
0006732092.tif 000003
【図３】
0006732092.tif 000004
【図４】
0006732092.tif 000005
【図５】
0006732092.tif 000006
【図６】
0006732092.tif 000007
【図７】
0006732092.tif 000008
【図８】
0006732092.tif 000009
【図９】
0006732092.tif 000010