説明

制御装置、制御システム、制御装置の制御方法、及び、プログラム

【課題】外部機器と制御装置のコネクションが正常でない状態である可能性がある場合に、速やかに正常な状態へ移行させる処理を実行可能とする。
【解決手段】ホストコンピューター10は、プリンター12と通信可能に接続されたことを検出する接続検出部21aと、接続検出部21aによりプリンター12と通信可能に接続されたことが検出された場合、接続されたプリンター12に、当該プリンター12において確立されている全てのコネクションの強制的な切断を伴うリセット処理を実行させるリセット指示部21bと、を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、外部機器との間で、コネクション型のプロトコルを用いた通信が可能な制御装置、当該制御装置と外部機器とを備える制御システム、当該制御装置の制御方法、及び、当該制御装置を制御するためのプログラムに関する。
【背景技術】
【0002】
従来、制御装置(ホストコンピューター)と、外部機器(プリンター)との間で、TCP等のコネクション型のプロトコルを用いて通信を行うシステムが知られている(例えば、特許文献1参照)。
この種のシステムでは、LAN等のネットワークを介して、1の外部機器に対し、複数の制御装置が接続され、外部機器と、複数の制御装置のそれぞれとの間でコネクションが確立されて、上記プロトコルを用いた通信が行われる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2011−742号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ここで、上述したシステムのように、外部機器と、複数の制御装置のそれぞれとの間でコネクションが確立されて、プロトコルを用いた通信が行われるものでは、一方の制御装置と外部機器とのコネクションが正常でなく、このことが他方の制御装置と外部機器とのコネクションに悪影響を与えることがある。例えば、何らかのエラーの発生に起因して、一方の制御装置と外部機器とのコネクションの切断が行えない状態となり、そのことに起因して、他方の制御装置と外部機器との間で正常にコネクションが確立できない状態となり、また、正常に通信が行えない状態となることがある。これを踏まえ、外部機器と制御装置のコネクションが正常でない状態である可能性がある場合は、速やかに正常な状態へ移行させる処理を実行したいとするニーズがあった。
本発明は、上述した事情に鑑みてなされたものであり、外部機器と制御装置のコネクションが正常でない状態である可能性がある場合に、速やかに正常な状態へ移行させる処理を実行可能とすることを目的とする。
【課題を解決するための手段】
【0005】
上記目的を達成するために、本発明は、外部機器との間で、コネクション型のプロトコルを用いた通信が可能な制御装置であって、前記外部機器と通信可能に接続されたことを検出する接続検出部と、前記接続検出部により前記外部機器と通信可能に接続されたことが検出された場合、接続された前記外部機器に、当該外部機器との間で確立されているコネクションの強制的な切断を伴うリセット処理を実行させるリセット指示部と、を備えることを特徴とする。
ここで、制御装置と外部機器との間でコネクションが確立されている状態で、例えば、制御装置と外部機器とを接続する通信ケーブルが一時的に外される等されて、一旦、外部機器と制御装置との間での接続が遮断された後、再び、外部機器と制御装置とが接続された場合、一時的な接続の遮断に起因して、コネクションが正常でない状態となっている可能性がある。
これを踏まえ、上記構成によれば、接続検出部により外部機器と通信可能に接続されたことが検出された場合、リセット指示部は、外部機器に、当該外部機器において確立されているコネクションの切断を伴うリセット処理を実行させて、外部機器において確立されているコネクションを切断する。このため、上述したように、コネクションが正常でない状態となっている可能性があることが検出された場合に、速やかに、当該コネクションが切断された正常な状態へ移行させることが可能となる。
【0006】
また、上記発明の制御装置であって、本発明は、前記接続検出部は、前記外部機器との間でコネクションが確立された状態から、前記プロトコルに準拠したコネクションの切断が行われることなく、通信可能な接続が遮断された後、再び、通信可能に接続されたことを検出可能であり、前記リセット指示部は、前記接続検出部により、前記外部機器との間でコネクションが確立された状態から、前記プロトコルに準拠したコネクションの切断が行われることなく、通信可能な接続が遮断された後、再び、通信可能に接続されたことが検出された場合、前記外部機器に前記リセット処理を実行させることを特徴とする。
この構成によれば、外部機器との間でコネクションが確立された状態から、プロトコルに準拠したコネクションの切断が行われることなく、通信可能な接続が遮断された後、再び、外部機器に通信可能に接続され、確立されていたコネクションが正常でない可能性がある場合に、速やかに、当該正常でない可能性があるコネクションを切断し、正常な状態へ移行させることが可能となる。
【0007】
また、上記発明の制御装置であって、本発明は、前記リセット指示部は、前記外部機器にリセット処理を実行させる前に、前記プロトコルに準拠したコネクションの切断を試行し、前記コネクションの切断を実現できなかった場合に、前記外部機器にリセット処理を実行させることを特徴とする。
ここで、リセット処理は、外部機器において確立されているコネクションの切断を伴う処理であるため、プロトコルに準拠してコネクションを切断する場合と比較して、外部機器における通信に対する影響が大きいと言える。
これを踏まえ、上記構成によれば、プロトコルに準拠したコネクションの切断ができない場合に初めて、リセット処理が行われることとなり、外部機器における通信に対する影響が大きいリセット処理が実行されることをできるだけ防止しつつ、正常な状態への確実な移行を実現可能である。
【0008】
また、上記目的を達成するために、本発明は、1つの外部機器と、この外部機器との間でコネクション型のプロトコルを用いた通信が可能な複数の制御装置と、を備えた制御システムであって、複数の前記制御装置のうち、1つの前記制御装置が、排他的に、前記プロトコルを用いた通信により前記外部機器を制御可能であり、前記制御装置のそれぞれは、前記外部機器との間でコネクションが確立された状態から、前記プロトコルに準拠したコネクションの切断が行われることなく、通信可能な接続が遮断された後、再び、通信可能に接続されたことを検出する接続検出部と、前記接続検出部により、前記外部機器との間でコネクションが確立された状態から、前記プロトコルに準拠したコネクションの切断が行われることなく、通信可能な接続が遮断された後、再び、通信可能に接続されたことが検出された場合、接続された前記外部機器に、前記外部機器との間で確立されているコネクションの切断を伴うリセット処理を実行させるリセット指示部と、を備えることを特徴とする。
ここで、制御装置と外部機器との間でコネクションが確立されている状態で、例えば、制御装置と外部機器とを接続する通信ケーブルが一時的に外される等されて、一旦、外部機器と制御装置との間での接続が遮断された後、再び、外部機器と制御装置とが接続された場合、一時的な接続の遮断に起因して、コネクションが正常でない状態となっている可能性がある。
これを踏まえ、上記構成によれば、接続検出部により外部機器と通信可能に接続されたことが検出された場合、リセット指示部は、外部機器に、当該外部機器において確立されているコネクションの切断を伴うリセット処理を実行させて、外部機器において確立されているコネクションを切断する。このため、上述したように、コネクションが正常でない状態となっている可能性があることが検出された場合に、速やかに、当該コネクションが切断された正常な状態へ移行させることが可能となる。
【0009】
また、上記目的を達成するために、本発明は、外部機器との間で、コネクション型のプロトコルを用いた通信が可能な制御装置の制御方法であって、前記外部機器と通信可能に接続されたことを検出し、前記外部機器と通信可能に接続されたことを検出した場合、接続された前記外部機器に、当該外部機器との間で確立されているコネクションの強制的な切断を伴うリセット処理を実行させることを特徴とする。
ここで、制御装置と外部機器との間でコネクションが確立されている状態で、例えば、制御装置と外部機器とを接続する通信ケーブルが一時的に外される等されて、一旦、外部機器と制御装置との間での接続が遮断された後、再び、外部機器と制御装置とが接続された場合、一時的な接続の遮断に起因して、コネクションが正常でない状態となっている可能性がある。
これを踏まえ、上記制御方法によれば、外部機器と通信可能に接続されたことが検出された場合、外部機器に、当該外部機器において確立されているコネクションの切断を伴うリセット処理を実行させて、外部機器において確立されているコネクションを切断する。このため、上述したように、コネクションが正常でない状態となっている可能性があることが検出された場合に、速やかに、当該コネクションが切断された正常な状態へ移行させることが可能となる。
【0010】
また、上記目的を達成するために、本発明は、外部機器との間で、コネクション型のプロトコルを用いた通信が可能な制御装置を制御する制御装置を制御する制御部により実行されるプログラムであって、前記制御部を、前記外部機器と通信可能に接続されたことを検出する接続検出部と、前記接続検出部により前記外部機器と通信可能に接続されたことが検出された場合、接続された前記外部機器に、当該外部機器との間で確立されているネクションの強制的な切断を伴うリセット処理を実行させるリセット指示部と、として機能させることを特徴とする。
ここで、制御装置と外部機器との間でコネクションが確立されている状態で、例えば、制御装置と外部機器とを接続する通信ケーブルが一時的に外される等されて、一旦、外部機器と制御装置との間での接続が遮断された後、再び、外部機器と制御装置とが接続された場合、一時的な接続の遮断に起因して、コネクションが正常でない状態となっている可能性がある。
これを踏まえ、上記プログラムを実行すれば、接続検出部により外部機器と通信可能に接続されたことが検出された場合、リセット指示部は、外部機器に、当該外部機器において確立されているコネクションの切断を伴うリセット処理を実行させて、外部機器において確立されているコネクションを切断する。このため、上述したように、コネクションが正常でない状態となっている可能性があることが検出された場合に、速やかに、当該コネクションが切断された正常な状態へ移行させることが可能となる。
【発明の効果】
【0011】
本発明によれば、外部機器と制御装置のコネクションが正常でない状態である可能性がある場合に、速やかに正常な状態へ移行させる処理を実行可能となる。
【図面の簡単な説明】
【0012】
【図1】本実施形態に係るPOSシステムの機能的構成を示すブロック図である。
【図2】ホストコンピューターの動作を示すフローチャートである。
【図3】図2のフローチャートの説明に用いる図である。
【発明を実施するための形態】
【0013】
以下、図面を参照して本発明の実施形態について説明する。
図1は、本実施形態に係るPOSシステム1(記録システム)の機能的構成を示すブロック図である。
POSシステム1は、スーパーマーケットやコンビニエンスストア等の店舗に適用され、店舗に来店した顧客の代金の支払いに応じてレシートを発行することをその機能の1つとするシステムであり、図1に示すように、複数(2台)のホストコンピューター10a、10b(制御装置)と、POSサーバー11と、1台のプリンター12(外部機器)とを備えており、これら装置が、例えばイーサネット(登録商標)の規格に準拠した通信ケーブルや、ハブ、ルーター、無線通信機器等のネットワーク機器を介して通信可能に接続され、LANが構成されている。なお、ホストコンピューター10a、10bの構成は略同一であり、以下の説明において、これらホストコンピューター10a、10bを特に区別しない場合は、ホストコンピューター10と称する。
【0014】
POSサーバー11は、ネットワークを介してホストコンピューター10に通信可能に接続されており、店舗で販売している商品の商品コードや、名称、金額等のレシートの発行のために必要となる情報を示すデータをデータベースとして記憶する。ホストコンピューター10は、レシートの発行に際し、適宜、POSサーバー11に記憶されたデータベースを参照し、必要な情報を取得する。
【0015】
ホストコンピューター10は、制御部15と、表示部16と、入力部17と、記憶部18と、ネットワーク通信部19と、を備えている。
制御部15は、ホストコンピューター10の各部を中枢的に制御するものであり、演算実行部としてのCPUや、このCPUに実行される基本制御プログラムや、この基本制御プログラムに係るデータ等を不揮発的に記憶するROM、CPUに実行されるプログラムやこのプログラムに係るデータ等を一時的に記憶するRAM、その他の周辺回路等を備えている。
図1に示すように、制御部15は、POSアプリケーション実行部20と、プリンタードライバー実行部21と、を備えているが、これらについては後述する。
【0016】
表示部16は、液晶ディスプレーパネルや、有機ELパネル等の表示パネルを備え、制御部15の制御の下、表示パネルに各種情報を表示する。
入力部17は、キーボードや、マウス、バーコードリーダー、カードリーダー等の入力デバイスに接続され、これら入力デバイスの出力信号を制御部15に出力する。バーコードリーダーは商品の包装紙等に記録されたバーコードの読み取りに利用され、カードリーダーはクレジットカードや、会員カード等に記録された情報の読み取りに利用される。バーコードリーダーやカードリーダー等の入力デバイスを用いて取得した情報は、レシートの発行に係る処理に用いられる。
記憶部18は、ハードディスクや、EEPROM等の記憶媒体を備え、各種データを書き換え可能に記憶する。
ネットワーク通信部19は、ホストコンピューター10に実装されたインターフェイスボードや、ホストコンピューター10に設けられた拡張スロットに接続されたネットワークカードにより構成され、LANを介して他の通信端末との間で所定の規格に準拠した通信を行うものであり、所定の通信規格に準拠して信号処理を行うネットワークコントローラー19aと、有線または無線にてLANに接続される通信インターフェイス19bと、を備えている。本実施形態に係るネットワークコントローラー19aは、少なくとも、TCP/IPに準拠した信号処理を実行可能である。
【0017】
プリンター12は、ロール状に巻かれた感熱ロール紙を、ローラー状のプラテンにより搬送し、この感熱ロール紙の記録面に、発熱素子を備えたラインサーマルヘッドによって熱を与えることにより画像を記録した上で、所定の位置で感熱ロール紙を切断することにより、レシートを発行するサーマルヘッド式プリンターである。
図1に示すように、プリンター12は、プリンター側制御部25と、記録部26と、を備えている。
プリンター側制御部25は、プリンター12の各部を中枢的に制御するものであり、CPUや、ROM、RAM、その他の周辺回路を備えている。
記録部26は、プリンター側制御部25の制御の下、各種センサーの検出値を監視しながら、上述したラインサーマルヘッドのほか、感熱ロール紙を搬送するプラテンローラーを駆動するための搬送モーターや、切断機構が備えるカッターを駆動するためのカッター駆動モーターを動作させて、感熱ロール紙に画像を記録し、画像を記録した感熱ロール紙を切断することによりレシートを発行する。
【0018】
次いで、POSアプリケーション実行部20及びプリンタードライバー実行部21の説明を通して、POSシステム1がレシートを発行する際の基本的な動作について説明する。
POSアプリケーション実行部20は、ホストコンピューター10に予めインストールされたPOSアプリケーションを実行することにより、取引毎に、適宜、POSサーバー11にアクセスした上で、取引において購入された商品を示す情報や、商品の単価を示す情報、購入金額を示す情報等のレシートに記載すべき情報を取得し、取得した情報に基づいて、レシートに記録すべき画像に係る記録データを生成し、プリンタードライバー実行部21に出力する。レシートに記録すべき画像には、商品の名称を示す文字に係る画像や、値段を示す文字に係る画像等の文字に係る画像が含まれている。
プリンタードライバー実行部21は、ホストコンピューター10に予めインストールされたプリンタードライバーを実行することにより、POSアプリケーション実行部20から入力された記録データに基づいて、プリンター12のコマンド仕様に対応した制御コマンドを生成し、プリンター側制御部25に出力する。この制御コマンドには、搬送機構に感熱ロール紙を搬送させるコマンドや、ラインサーマルヘッドを駆動させるコマンド、切断機構に感熱ロール紙を切断させるコマンド等の、プリンター12にレシートを発行させるための各種コマンドが含まれている。
制御コマンドが入力されたプリンター側制御部25は、この制御コマンドに基づいてプリンター12の各部を制御し、レシートを発行する。
【0019】
本実施形態に係るPOSシステム1では、ホストコンピューター10とプリンター12との間で、少なくともTCP、及び、UDPに準拠したデータの送受信が可能である。
ホストコンピューター10とプリンター12との間でTCPに準拠した通信を行う場合、周知のように、まず、スリーウェイハンドシェイクにより、これら装置間でのコネクションが確立され、その後、これら装置間でパケットによる各種データの送受信が行われる。また、コネクションが切断(開放)される際は、ホストコンピューター10とプリンター12との間でコネクションの切断に係る所定の手続きが行われて、コネクションが切断される。切断に係る所定の手続きでは、ホストコンピューター10とプリンター12との間で所定のパケットが所定の手順でやり取りされて、ホストコンピューター10側のコネクションの切断に対する同意、及び、プリンター12側のコネクションの切断に対する同意が確定した後、コネクションの完全な切断が実行される。以下の説明では、TCPの所定の手続きに従ってコネクションが切断されることを「TCPに準拠したコネクションの切断」と言うものとする。
【0020】
本実施形態に係るPOSシステム1では、プリンター12と2つのホストコンピューター10a、10bとの間で同時にコネクションを確立できるものの、コネクションが確立された2つのホストコンピューター10a、10bのうち、プリンター12に対して上述した制御コマンドを出力することによってプリンター12を制御可能なホストコンピューター10は、最初にプリンター12との間でコネクションを確立したホストコンピューター10に限られる構成となっている。これにより、ホストコンピューター10a、10bがプリンター12に出力するジョブの競合が好適に防止されている。
また、プリンター12の制御ができないホストコンピューター10は、プリンター12の制御が可能なホストコンピューター10とプリンター12との間におけるコネクションが切断されて初めて、プリンター12の制御が可能となる。
例えば、プリンター12とホストコンピューター10a、10bとの間でそれぞれコネクションが確立されており、かつ、最初にプリンター12との間でコネクションを確立したホストコンピューター10が、ホストコンピューター10aである場合、ホストコンピューター10aのみがプリンター12を制御可能である。そして、ホストコンピューター10bは、ホストコンピューター10aとプリンター12とのコネクションが切断されて初めてプリンター12を制御可能となる。
【0021】
ここで、ホストコンピューター10aと、プリンター12との間でコネクションが確立しており、かつ、ホストコンピューター10aがプリンター12を制御可能な状態である場合を想定する。
上記の場合、通常は、ホストコンピューター10aがプリンター12に対して所定の制御コマンドを出力し、一連の制御が終了すると、ホストコンピューター10aとプリンター12との間において、TCPに準拠したコネクションの切断が実行され、これら装置間でのコネクションが切断される。これにより、コネクションが開放され、ホストコンピューター10a、10bのいずれもが、プリンター12との間で、新たなコネクションの確立を実行可能な状態となる。
しかしながら、上記の場合において、ホストコンピューター10aと、プリンター12との間における通信ケーブルの抜き差しや、無線通信に係る電波の一時的な不通、遮断、その他通信機器における一時的なエラー等に起因して、ホストコンピューター10aがプリンター12に通信可能に接続されている状態であっても、ホストコンピューター10aとプリンター12とのコネクションの切断が正常に行えない状態となる場合がある。
このような状態となった場合、ホストコンピューター10bがプリンター12との間で新たにコネクションを確立できない状況を招くほか、ホストコンピューター10によるプリンター12の円滑な制御が阻害される結果を招くため、できるだけ早い段階で、当該状態を解消したいとするニーズがある。
以上を踏まえ、本実施形態に係るホストコンピューター10は、以下の動作を実行する。
【0022】
図2は、ホストコンピューター10の動作を示すフローチャートである。
図3は、図2のフローチャートにおけるホストコンピューター10の動作の説明に利用する図である。
以下の説明において、接続検出部21a、及び、リセット指示部21bの機能は、CPUがプリンタードライバーを実行する等、ハードウェアとソフトウェアとの協働により実現される。
また、図2は、ホストコンピューター10a、10bのうち、ホストコンピューター10aの動作を示すフローチャートであるものとする。
まず、ホストコンピューター10aの制御部15のプリンタードライバー実行部21の接続検出部21aは、予め定められた以下の条件が成立したか否かを監視する(ステップSA1)。
条件とは、ホストコンピューター10aと、プリンター12との間でコネクションが確立されており、かつ、ホストコンピューター10aによってプリンター12を制御可能な状態から、TCPに準拠したコネクションの切断を経ることなく、一旦、ホストコンピューター10aとプリンター12との間における通信可能な接続が遮断され、再び、通信可能に接続された状態(以下、「条件成立状態」という)となったこと、である。
「通信可能な接続」とは、ホストコンピューター10aと、プリンター12との間でLANにおけるネットワーク疎通が確立している状態であり、例えば、IPパケットを利用してネットワーク疎通を確認するコマンド(例えばping)が正常に実行できる状態のことを言う。
【0023】
ステップSA1における接続検出部21aの動作について詳述すると、接続検出部21aは、ホストコンピューター10aとプリンター12との間に、プリンター12を制御可能な状態で、コネクションが確立しているか否かを、例えばフラグを利用して、管理する。
さらに、接続検出部21aは、プリンター12の制御が可能な状態でコネクションが確立している状態の場合、ホストコンピューター10aとプリンター12との間における通信可能な接続が遮断されたか否かを監視する。当該監視は例えば以下のようにして実行される。例えば、接続検出部21aは、ネットワーク疎通確認用のコマンドを間欠的に実行し、正常に実行できる状態から、正常に実行できない状態へ移行したことを検出することによって、通信可能な接続が遮断されたことを検出する。また例えば、接続検出部21aは、コネクションレスなプロトコルであるUDPに準拠して、間欠的にプリンター12に対して応答を要求するコマンドを出力し、当該コマンドの応答の状況によって、通信可能な接続が遮断されたことを検出する。
【0024】
ホストコンピューター10aの状態が、条件成立状態となる場合には、以下のような場合がある。
すなわち、ホストコンピューター10aと、プリンター12との間における通信ケーブルの抜き差しや、無線通信に係る電波の一時的な不通、遮断、その他通信機器における一時的なエラー等に起因して、一旦、これら装置間における通信可能な接続が遮断された状態(図3(A)に示す状態)となった後に、当該遮断を起こした原因が解消され、再び、これら装置が通信可能に接続された状態(図3(B)に示す状態)となった場合に、ホストコンピューター10aの状態が、条件成立状態となる。このようにしてホストコンピューター10aが条件成立状態となった場合、一時的な通信の遮断に起因して、ホストコンピューター10aとプリンター12との間でのTCPに準拠した正常な通信が阻害され、TCPに準拠したコネクションの切断が正常に実行できない状態となっている可能性がある。上述したように、TCPに準拠したコネクションの切断が正常に実行できない状態となっている場合は、ホストコンピューター10bがプリンター12との間で新たにコネクションを確立できず、また、ホストコンピューター10によるプリンター12の円滑な制御ができない状況となる可能性がある。
【0025】
さて、前掲図2に戻り、ステップSA1において、ホストコンピューター10aの状態が条件成立状態となったものと判別された場合(ステップSA1:YES)、制御部15は、TCPに準拠したコネクションの切断を試み(ステップSA2)、ステップSA2におけるTCPに準拠したコネクションの切断が成功したか否かを判別する(ステップSA3)。図2に示すように、制御部15は、TCPに準拠したコネクションの切断の試行を、予め定められたn回実行し(図3(C)に示す状態)、n回以内に、切断が成功した場合(ステップSA3:YES)は、その時点で処理を終了し、n回実行しても切断が成功しなかった場合(ステップSA3:NO)は、処理手順をステップSA4へ移行する。
なお、TCPに準拠したコネクションの切断が成功した場合、コネクションが開放され、ホストコンピューター10a、10bによって新たにコネクションを確立することができる状態、換言すれば、異常な状態でコネクションが確立されていない、正常な状態となる。
【0026】
n回実行しても切断が成功しなかった場合(ステップSA3:NO)、制御部15のリセット指示部21bは、プリンター12にリセット処理を実行させる(ステップSA4)。
リセット処理とは、ネットワーク通信部19のネットワークコントローラー19aが備える記憶領域に記憶されたコネクションテーブルや、コネクションの管理に係る各種データの初期化を含む、ネットワーク通信部19のリセットのことである。当該リセット処理が実行された場合、コネクションテーブルの初期化等により、プリンター12に確立されていたコネクションの全てが強制的に切断される。
リセット指示部21bは、例えば、コネクションレスなプロトコルであるUDPに準拠した通信により、リセット処理を実行させるコマンドをプリンター12のプリンター側制御部25に出力し、プリンター側制御部25にリセット処理を実行させる。このほか、いわゆるOSI基本参照モデルにおけるトランスポート層よりも下の層での通信を介して、プリンター側制御部25にリセット処理を実行させる構成であってもよい。また、プリンター側制御部25の機能ではなく、ネットワークコントローラー19aの機能により、リセット処理が実行される構成であってもよい。
【0027】
ステップSA4においてリセット処理が実行されることにより、コネクションが強制的に開放され、ホストコンピューター10a、10bによって新たにコネクションを確立することができる状態(図3(D)に示す状態)となる。
これにより、例えば、ホストコンピューター10bによってプリンター12を制御すべき状況となった場合、ホストコンピューター10bは、スリーウェイハンドシェイクにより、スムーズに、プリンター12との間でコネクションを確立した状態(図3(E)に示す状態)に移行可能である。
以上図2を用いて説明したように、本実施形態では、接続検出部21aにより、ホストコンピューター10aとプリンター12と間における通信の状態が条件成立状態となったことが検出された場合、すなわち、ホストコンピューター10aとプリンター12との間におけるコネクションが異常となっている可能性があり、かつ、TCPに準拠したコネクションの切断によってはコネクションが切断できない状況の場合には、リセット処理が実行され、速やかに、全てのコネクションの切断が実行される。これにより、コネクションが異常となっている状況が長時間継続されることが防止され、例えば、コネクションを確立したいホストコンピューター10bが、不当にコネクションを確立できない、といった状況が現出することが効果的に防止される。
また、図2を用いて説明したように、本実施形態では、制御部15は、プリンター12にリセット処理を実行させる前に、n回、TCPに準拠したコネクションの切断を試みる。ここで、リセット処理は、プリンター12において確立されている全てのコネクションの切断を伴う処理であるため、TCPに準拠してコネクションを切断する場合と比較して、プリンター12における通信に対する影響が大きいと言えるが、リセット処理を実行させる前に、n回、TCPに準拠したコネクションの切断を試みることにより、TCPに準拠したコネクションの切断ができない場合に初めて、リセット処理が行われることとなり、プリンター12における通信に対する影響が大きいリセット処理が実行されることをできるだけ防止しつつ、正常な状態への確実な移行を実現可能である。
【0028】
以上説明したように、本実施形態に係るPOSシステム1(制御システム)におけるホストコンピューター10は、外部機器たるプリンター12と通信可能に接続されたことを検出する接続検出部21aと、この接続検出部21aによりプリンター12と通信可能に接続されたことが検出された場合、接続されたプリンター12に、当該プリンター12において確立されている全てのコネクションの強制的な切断を伴うリセット処理を実行させるリセット指示部21bと、を備えている。
これによれば、接続検出部21aによりプリンター12と通信可能に接続されたことが検出された場合、リセット指示部21bは、プリンター12に、当該プリンター12において確立されているコネクションの切断を伴うリセット処理を実行させて、プリンター12において確立されているコネクションを切断するため、上述したように、コネクションが正常でない状態となっている可能性があることが検出された場合に、速やかに、当該コネクションが切断された正常な状態へ移行させることが可能となる。
【0029】
また、本実施形態に係るPOSシステム1(制御システム)におけるホストコンピューター10の接続検出部21aは、プリンター12との間でコネクションが確立された状態から、TCPに準拠したコネクションの切断が行われることなく、通信可能な接続が遮断された後、再び、通信可能に接続されたことを検出可能であり、リセット指示部21bは、接続検出部21aにより、上記自体が発生したことが検出された場合、プリンター12にリセット処理を実行させる。
これによれば、プリンター12との間でコネクションが確立された状態から、TCPに準拠したコネクションの切断が行われることなく、通信可能な接続が遮断された後、再び、プリンター12に通信可能に接続され、確立されていたコネクションが正常でない可能性がある場合に、速やかに、当該正常でない可能性があるコネクションを切断し、正常な状態へ移行させることが可能となる。
【0030】
また、本実施形態では、リセット指示部21bは、プリンター12にリセット処理を実行させる前に、TCPに準拠したコネクションの切断を試行し、コネクションの切断を実現できなかった場合に、プリンター12にリセット処理を実行させる。
ここで、リセット処理は、プリンター12において確立されている全てのコネクションの切断を伴う処理であるため、TCPに準拠してコネクションを切断する場合と比較して、プリンター12における通信に対する影響が大きいと言える。
これを踏まえ、上記構成によれば、TCPに準拠したコネクションの切断ができない場合に初めて、リセット処理が行われることとなり、プリンター12における通信に対する影響が大きいリセット処理が実行されることをできるだけ防止しつつ、正常な状態への確実な移行を実現可能である。
【0031】
なお、上述した実施の形態は、あくまでも本発明の一態様を示すものであり、本発明の範囲内で任意に変形および応用が可能である。
例えば、上述した実施形態では、制御装置として、プリンター12を制御するホストコンピューター10を例に挙げて発明を説明したが、制御装置はこれに限らない。すなわち、本発明は、外部機器とコネクション型のプロトコルを用いた通信が可能な制御装置に広く適用可能である。
また、コネクション型のプロトコルとして、TCPを例に挙げたが、TCPに限らないことは勿論のことである。
【符号の説明】
【0032】
1…POSシステム(制御システム)、10、10a、10b…ホストコンピューター(制御装置)、12…プリンター(外部機器)、15…制御部、21…プリンタードライバー実行部、21a…接続検出部、21b…リセット指示部。

【特許請求の範囲】
【請求項1】
外部機器との間で、コネクション型のプロトコルを用いた通信が可能な制御装置であって、
前記外部機器と通信可能に接続されたことを検出する接続検出部と、
前記接続検出部により前記外部機器と通信可能に接続されたことが検出された場合、接続された前記外部機器に、当該外部機器との間で確立されているコネクションの強制的な切断を伴うリセット処理を実行させるリセット指示部と、を備えることを特徴とする制御装置。
【請求項2】
前記接続検出部は、
前記外部機器との間でコネクションが確立された状態から、前記プロトコルに準拠したコネクションの切断が行われることなく、通信可能な接続が遮断された後、再び、通信可能に接続されたことを検出可能であり、
前記リセット指示部は、
前記接続検出部により、前記外部機器との間でコネクションが確立された状態から、前記プロトコルに準拠したコネクションの切断が行われることなく、通信可能な接続が遮断された後、再び、通信可能に接続されたことが検出された場合、前記外部機器に前記リセット処理を実行させることを特徴とする請求項1に記載の制御装置。
【請求項3】
前記リセット指示部は、
前記外部機器にリセット処理を実行させる前に、前記プロトコルに準拠したコネクションの切断を試行し、前記コネクションの切断を実現できなかった場合に、前記外部機器にリセット処理を実行させることを特徴とする請求項2に記載の制御装置。
【請求項4】
1つの外部機器と、この外部機器との間でコネクション型のプロトコルを用いた通信が可能な複数の制御装置と、を備えた制御システムであって、
複数の前記制御装置のうち、1つの前記制御装置が、排他的に、前記プロトコルを用いた通信により前記外部機器を制御可能であり、
前記制御装置のそれぞれは、
前記外部機器との間でコネクションが確立された状態から、前記プロトコルに準拠したコネクションの切断が行われることなく、通信可能な接続が遮断された後、再び、通信可能に接続されたことを検出する接続検出部と、
前記接続検出部により、前記外部機器との間でコネクションが確立された状態から、前記プロトコルに準拠したコネクションの切断が行われることなく、通信可能な接続が遮断された後、再び、通信可能に接続されたことが検出された場合、接続された前記外部機器に、前記外部機器との間で確立されているコネクションの切断を伴うリセット処理を実行させるリセット指示部と、を備えることを特徴とする制御システム。
【請求項5】
外部機器との間で、コネクション型のプロトコルを用いた通信が可能な制御装置の制御方法であって、
前記外部機器と通信可能に接続されたことを検出し、
前記外部機器と通信可能に接続されたことを検出した場合、接続された前記外部機器に、当該外部機器との間で確立されているコネクションの強制的な切断を伴うリセット処理を実行させることを特徴とする制御装置の制御方法。
【請求項6】
外部機器との間で、コネクション型のプロトコルを用いた通信が可能な制御装置を制御する制御装置を制御する制御部により実行されるプログラムであって、
前記制御部を、
前記外部機器と通信可能に接続されたことを検出する接続検出部と、
前記接続検出部により前記外部機器と通信可能に接続されたことが検出された場合、接続された前記外部機器に、当該外部機器との間で確立されているコネクションの強制的な切断を伴うリセット処理を実行させるリセット指示部と、として機能させることを特徴とするプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate


【公開番号】特開2012−165315(P2012−165315A)
【公開日】平成24年8月30日(2012.8.30)
【国際特許分類】
【出願番号】特願2011−25941(P2011−25941)
【出願日】平成23年2月9日(2011.2.9)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】