特許第6229270号(P6229270)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ セイコーエプソン株式会社の特許一覧

特許6229270制御システム、及び、制御システムの制御方法
<>
  • 特許6229270-制御システム、及び、制御システムの制御方法 図000002
  • 特許6229270-制御システム、及び、制御システムの制御方法 図000003
  • 特許6229270-制御システム、及び、制御システムの制御方法 図000004
  • 特許6229270-制御システム、及び、制御システムの制御方法 図000005
  • 特許6229270-制御システム、及び、制御システムの制御方法 図000006
  • 特許6229270-制御システム、及び、制御システムの制御方法 図000007
  • 特許6229270-制御システム、及び、制御システムの制御方法 図000008
  • 特許6229270-制御システム、及び、制御システムの制御方法 図000009
  • 特許6229270-制御システム、及び、制御システムの制御方法 図000010
  • 特許6229270-制御システム、及び、制御システムの制御方法 図000011
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6229270
(24)【登録日】2017年10月27日
(45)【発行日】2017年11月15日
(54)【発明の名称】制御システム、及び、制御システムの制御方法
(51)【国際特許分類】
   G06F 13/00 20060101AFI20171106BHJP
   G07G 1/14 20060101ALI20171106BHJP
   G07G 1/12 20060101ALI20171106BHJP
   G06F 15/00 20060101ALI20171106BHJP
【FI】
   G06F13/00 353C
   G07G1/14
   G07G1/12 331Z
   G06F15/00 420A
【請求項の数】4
【全頁数】27
(21)【出願番号】特願2013-16058(P2013-16058)
(22)【出願日】2013年1月30日
(65)【公開番号】特開2014-146294(P2014-146294A)
(43)【公開日】2014年8月14日
【審査請求日】2015年11月13日
(73)【特許権者】
【識別番号】000002369
【氏名又は名称】セイコーエプソン株式会社
(74)【代理人】
【識別番号】110001081
【氏名又は名称】特許業務法人クシブチ国際特許事務所
(72)【発明者】
【氏名】堤 浩一郎
(72)【発明者】
【氏名】▲高▼栖 和弘
【審査官】 小林 義晴
(56)【参考文献】
【文献】 特開2010−273045(JP,A)
【文献】 特開2005−108121(JP,A)
【文献】 特表2007−508617(JP,A)
【文献】 特開2005−20180(JP,A)
【文献】 特開2002−351759(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 13/00
G06F 15/00
G07G 1/12
G07G 1/14
(57)【特許請求の範囲】
【請求項1】
ブラウザーで動作するアプリケーションを実行する端末と、
前記端末と通信接続し、前記端末とデータの送受信を行うとともに、デバイスが接続される制御装置と、有し、
前記端末は、
前記制御装置との間で通信経路を確立し、確立した前記通信経路を介して、前記制御装置に前記デバイスを制御する制御オブジェクトの生成を要求し、
前記制御装置は、
前記端末からの要求に基づいて前記制御オブジェクトを生成し、生成した前記制御オブジェクトと確立した前記通信経路の識別情報とを対応付けて記憶し、
前記端末は、
前記アプリケーションとの間の入出力、及び、前記制御オブジェクトとの間の入出力を行う機能を有するインターフェイスオブジェクトを生成し、生成した前記インターフェイスオブジェクトと確立した前記通信経路の識別情報とを対応付けて記憶し、
前記端末及び前記制御装置は
信接続が切断された後に再接続がなされる時、前記端末及び前記制御装置が記憶する前記通信経路の識別情報に基づいて通信接続を行うことを特徴とする制御システム。
【請求項2】
前記端末は、
通信接続が切断された場合、所定の期間、再接続を試み、再接続が成功した場合、切断された通信に係る前記通信経路の識別情報を前記制御装置に送信し、
前記制御装置は、
通信接続が切断された後、予め定められた期間内に再接続された場合は、再接続に応じて前記端末から受信した前記通信経路の識別情報と対応付けられた前記制御オブジェクトを保持し、
通信接続が切断された後、再接続されることなく予め定められた期間が経過した場合は、切断された通信に係る前記通信経路の識別情報と対応付けられた前記制御オブジェクトを消去する請求項1に記載の制御システム。
【請求項3】
ブラウザーで動作するアプリケーションを実行する端末と、前記端末と通信接続し、前記端末とデータの送受信を行うとともに、デバイスが接続される制御装置と、を有する制御装置の制御方法であって、
前記端末は、
前記制御装置との間で通信経路を確立し、確立した前記通信経路を介して、前記制御装置に前記デバイスを制御する制御オブジェクトの生成を要求し、
前記制御装置は、
前記端末からの要求に基づいて前記制御オブジェクトを生成し、生成した前記制御オブジェクトと確立した前記通信経路の識別情報とを対応付けて記憶し、
前記端末は、
前記アプリケーションとの間の入出力、及び、前記制御オブジェクトとの間の入出力を行う機能を有するインターフェイスオブジェクトを生成し、生成した前記インターフェイスオブジェクトと確立した前記通信経路の識別情報とを対応付けて記憶し、
前記端末及び前記制御装置は、
通信接続が切断された後に再接続がなされる時、前記端末及び前記制御装置が記憶する前記通信経路の識別情報に基づいて通信接続を行うことを特徴とする制御システムの制御方法。
【請求項4】
前記端末は、
通信接続が切断された場合、所定の期間、再接続を試み、再接続が成功した場合、切断された通信に係る前記通信経路の識別情報を前記制御装置に送信し、
前記制御装置は、
通信接続が切断された後、予め定められた期間内に再接続された場合は、再接続に応じて前記端末から受信した前記通信経路の識別情報と対応付けられた前記制御オブジェクトを保持し、
通信接続が切断された後、再接続されることなく予め定められた期間が経過した場合は、切断された通信に係る前記通信経路の識別情報と対応付けられた前記制御オブジェクトを消去する請求項3に記載の制御システムの制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ブラウザーが動作する端末と、デバイスが接続された制御装置を備える制御システム、及び、当該制御システムの制御方法に関する。
【背景技術】
【0002】
従来、POS端末と、このPOS端末に接続されたPOSコントローラーとを備え、これら装置が協働して、画像の記録等の各種処理を実行する制御システム(POSシステム)が知られている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平5−73769号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ここで、上記のような制御システムにおいて、端末たるPOSコントローラーが、ブラウザーの機能を利用して、制御装置たるPOS端末を制御することを想定する。このような制御システムでは、意図的な通信の切断のほか、無線通信においては電波障害等、また、有線通信においてはケーブルの抜け等により一時的な通信の切断が発生する場合があるが、通信の切断に応じて適切な処理を実行する必要がある。
本発明は、上述した事情に鑑みてなされたものであり、ブラウザーが動作する端末と、制御装置とが通信可能に接続された制御システムについて、通信の切断に応じた適切な処理を実行することを目的とする。
【課題を解決するための手段】
【0005】
上記目的を達成するために、本発明は、ブラウザーが動作する端末と、前記端末と通信接続し、前記端末とデータの送受信を行う制御装置と、有し、前記端末及び前記制御装置は、通信接続がされたときに通信接続に係る識別情報を記憶し、通信接続が切断された後に再度通信接続がなされる時、前記端末及び前記制御装置が記憶する前記通信接続に係る識別情報に基づいて通信接続を行うことを特徴とする。
本発明の構成によれば、端末と、制御装置との間での接続の確立に応じて、接続に対応する識別情報をこれら装置が記憶し、接続の切断後における再接続の際に、識別情報に基づいて、再接続が行なわれる。このため、再接続に際し、必要に応じて、識別情報を利用して、切断前の接続に対応する態様で、再接続を行なうことが可能となる。
【0006】
また、本発明は、前記通信接続に係わる識別情報は、前記端末と前記制御装置との通信経路に付与される識別情報である。
本発明の構成によれば、端末と、制御装置との間で通信経路を確立することを利用して、通信経路の識別情報を効果的に利用して、再接続を行なうことができる。
【0007】
また、本発明は、前記制御装置に接続されるデバイスを有し、前記制御装置は、前記デバイスを制御する制御オブジェクトを生成するデバイス制御部、及び、前記デバイス制御部で生成された前記制御オブジェクトと前記通信接続に係わる識別情報とを対応付けて記憶する記憶部を有する。
本発明の構成によれば、各デバイスを、識別情報と対応付けて適切に管理可能である。
【0008】
また、本発明は、前記デバイス制御部は、前記端末と前記制御装置との通信接続が切断された後、予め定められた期間内に再度通信接続がなされなかった時、前記制御オブジェクトを消去する。
本発明の構成によれば、接続の切断後、所定期間内に再接続が行なわれるような一時的な切断があった場合に、切断前の接続時に使用していた制御オブジェクトが消去されることを防止しつつ、再接続後に、改めて制御オブジェクトを生成することなく、制御オブジェクトを利用可能である。また、不必要に長時間、制御オブジェクトが消去されず、これに伴って、デバイスの制御が開放されないといったことが効果的に防止される。
【0009】
また、本発明は、前記デバイス制御部は、前記端末と前記制御装置との通信接続が切断された後、予め定められた期間内に再度通信接続がなされたとき、再度通信接続がなされたときの識別情報と前記記憶部に記憶された前記制御オブジェクトに対応付けられた識別情報とに基づいて、前記制御オブジェクトの生成を制御する。
この構成によれば、一時的な切断による再接続後、識別情報をキーとして、切断前の接続時に使用していた制御オブジェクトを適切に判別でき、かつ、利用可能である。
【0010】
また、本発明は、前記制御装置には、接続された前記デバイスごとに、前記デバイスの制御に係る制御オブジェクトが生成され、前記制御装置は、識別情報を、前記制御オブジェクトと対応付けて記憶すると共に、前記端末との接続の切断後、所定期間内に前記端末との間での再接続が行なわれなかった場合、前記制御オブジェクトを消去し、接続の切断後における再接続の際に、前記端末に記憶された識別情報と同一性を有する識別情報と対応付けられた前記制御オブジェクトが存在するか否か判別し、存在する場合、前記所定期間経過後の前記制御オブジェクトの消去を解除することを特徴とする。
本発明の構成によれば、接続の切断後、所定期間内に再接続が行なわれるような一時的な切断があった場合に、切断前の接続時に使用していた制御オブジェクトが消去されることを防止しつつ、再接続後に、改めて制御オブジェクトを生成することなく、制御オブジェクトを利用可能である。
【0011】
また、上記目的を達成するために、本発明は、ブラウザーが動作する端末と前記端末にデータの送受信を行う制御装置との通信接続を確立し、確立された通信接続に係わる識別情報を生成し、生成された前記識別情報を前記端末及び前記制御装置に記憶し、前記端末と前記制御装置との通信接続が切断されたのち、再度通信接続がさなされるとき、前記前記端末及び前記制御装置が記憶する前記通信接続に係わる識別情報に基づいて通信接続を行うことを特徴とする。
本発明の構成によれば、端末と、制御装置との間での接続の確立に応じて、接続に対応する識別情報をこれら装置が記憶し、接続の切断後における再接続の際に、識別情報に基づいて、再接続が行なわれる。このため、再接続に際し、必要に応じて、識別情報を利用して、切断前の接続に対応する態様で、再接続を行なうことが可能となる。
【0012】
また、本発明は、前記通信接続に係わる識別情報に基づく通信接続は、前記端末と前記制御装置との通信接続が切断された後、予め定められた期間内で再度通信接続を行うときに実行する。
本発明の構成によれば、瞬断等の一時的な通信の切断があった場合であっても、識別情報を利用した適切な態様で再接続を実行できる。
【図面の簡単な説明】
【0013】
図1】本実施形態に係るPOSシステムの構成を示す図である。
図2】POSシステムを構成する各機器の機能的構成を示すブロック図。
図3】ブラウザー実行部、及び、デバイス制御部の機能ブロック図である。
図4】制御、インターフェースオブジェクトが生成される際の処理フロー。
図5】制御、インターフェースオブジェクトが消去される際の処理フロー。
図6】ユーザーインターフェースの一例を示す図である。
図7】バーコードスキャナーによりバーコードが読み取られた後の処理フロー。
図8】プリンターユニットによる印刷が行われる際の処理フロー。
図9】タブレット端末及び制御装置の動作を示すフローチャート。
図10】タブレット端末及び制御装置の動作を示すフローチャート。
【発明を実施するための形態】
【0014】
以下、図面を参照して本発明の実施形態について説明する。
図1は、本実施形態に係るPOS(Point of Sales)システム1(制御システム)の概略構成ブロック図である。また、図2は、POSシステム1を構成するタブレット端末10(端末)、制御装置11、及び、POSサーバー17の機能的構成を示すブロック図である。
POSシステム1は、ショッピングセンターや、百貨店、コンビニエンスストア等の小売店、レストランや、喫茶店、居酒屋等の飲食店、その他の店舗、施設に適用されるシステムである。POSシステム1は、機能として、店舗における商品の販売状況、商品の在庫の状況、売上の状況等を管理する機能や、店舗に設けられたレジカウンターLにおいて、顧客が購入した商品に応じた会計を行う機能、顧客による代金の支払いに応じてレシートを発行する機能、顧客に対し会計に関する情報を提供する機能等を有している。
本実施形態に係るPOSシステム1が適用される店舗には、会計処理を行なうレジカウンターLが設けられている。そして、1つのレジカウンターLには、1台の制御装置11と、制御装置11と無線通信可能に接続されたタブレット端末10とが設けられている。
タブレット端末10は、タブレット型(板状)のコンピューターであり、特に、本実施形態では、図6を用いて後述するように、前面に形成された表示領域にタッチパネル30が設けられ、タッチ操作によって各種入力が可能なタイプのコンピューターである。
タブレット端末10は、レジカウンターLにおいて、会計を担当するレジ担当者が使用する端末であり、後述するように、レジカウンターLにおける会計に際し、レジ担当者にユーザーインターフェースを提供する。
制御装置11は、デバイス制御装置としての機能を有する装置である。図2に示すように、制御装置11には、デバイスとして、商品又は商品の包装に付されたバーコードを読み取るバーコードスキャナー12(デバイス)、紙幣や、貨幣、金券等を収容し、管理するキャッシュチェンジャー13(デバイス)、会計に関する情報を顧客に対して表示するディスプレー14(デバイス)の少なくとも1つが接続されている。
【0015】
図2に示すように、制御装置11は、制御部20と、プリンターユニット21(プリンター、印刷部、デバイス)と、記憶部22と、通信モジュール23と、を備えている。
制御部20は、制御装置11の各部を制御するものであり、CPUや、ROM、RAM、その他の周辺回路等を備えている。制御部20は、デバイス制御部20aを備えているが、この機能ブロックについては後述する。
プリンターユニット21は、ロール紙を搬送する搬送機構、サーマルヘッドによってロール紙に文字や画像を印刷する印刷機構、ロール紙を切断する切断機構等を備えており、レシートに係る画像をロール紙に印刷した後、所定の位置でロール紙を切断することによりレシートを発行することが可能である。
記憶部22は、EEPROM等の不揮発性メモリーを備え、各種データを書き換え可能に、不揮発的に記憶する。
通信モジュール23は、所定の通信規格に準拠したネットワークカード等のタブレット端末10との間で無線通信するモジュール、回路等を備え、制御部20の制御の下、タブレット端末10との間で所定の通信規格に準拠した無線通信を実現する。
【0016】
また、タブレット端末10は、端末記憶部25と、端末制御部26と、通信モジュール27と、入力検出部29と、タッチパネル30と、を備えている。また、端末制御部26は表示制御部28を備えている。
端末記憶部25は、EEPROM等の不揮発性メモリーを備え、各種データを書き換え可能に不揮発的に記憶する。
タッチパネル30は、タブレット端末10の前面に配置された表示パネル30aと、表示パネル30aに重ねて配置されたタッチセンサー30bとが一体となって構成されている。表示パネル30aは、液晶表示パネル、有機ELパネル、電子ペーパー等のディスプレーであり、表示制御部28によって駆動される。タッチセンサー30bは、表示パネル30aに重ねて配置された静電容量式もしくは感圧式のセンサーであり、ユーザーの手指やペン型操作デバイスによるタッチ操作を検出して、タッチ操作を検出した位置を示す信号を入力検出部29に出力する。このタッチパネル30は、「ブラウザーを表示する表示部」に該当する。
表示制御部28は、後述するブラウザー実行部26aから入力される表示用のデータに基づいて、表示パネル30aを駆動し、表示パネル30aに文字や画像等を含む画面を表示する。
入力検出部29は、タッチセンサー30bが出力する信号に基づいて、タッチパネル30に対するタッチ操作を検出する。このタッチ操作を検出した場合、入力検出部29は、操作位置を表示パネル30aの表示位置に対応する座標によって示す座標データを生成し、端末制御部26に出力する。
通信モジュール27は、所定の通信規格に準拠したネットワークカード等の制御装置11、及び、POSサーバー17との間で無線通信するモジュール、回路等を備え、端末制御部26の制御の下、制御装置11、及び、POSサーバー17との間で所定の通信規格に準拠した無線通信を実現する。
【0017】
端末制御部26は、タブレット端末10の各部を制御するものであり、CPUや、ROM、RAM、その他の周辺回路等を備えている。端末制御部26は、ブラウザープログラムを実行することにより、ブラウザーの機能を実現するブラウザー実行部26aを備えている。
ブラウザー実行部26aは、ウェブブラウザーの機能により、HTML等のマークアップ言語やスクリプト言語で記述されたウェブページ(HTMLファイル等)を、POSサーバー17からダウンロードする。ダウンロードされたウェブページのデータは、例えば図示しないRAMに記憶される。ブラウザー実行部26aは、ダウンロードされたウェブページのデータを読み込み、このウェブページを表示させる表示データを生成して、表示制御部28に出力する。表示制御部28は、入力された表示データに基づいて、表示パネル30aに表示データに係るウェブページの画像を表示する。
また、ブラウザー実行部26aは、入力検出部29によってタッチセンサー30bへのタッチ操作が検出された場合、このタッチ操作に対応して入力検出部29から入力される座標データ、及び、表示制御部28に出力した表示用のデータに基づき、入力内容を特定する。ブラウザー実行部26aは、適宜、特定した入力内容に基づいて、例えばスクリプトの機能によって適切な処理を実行する。
【0018】
POSサーバー17は、商品に関する情報を格納したデータベース、売上を管理するデータベース、在庫を管理するデータベース等を記憶するサーバー記憶部36を備え、これらデータベースを利用して、POSシステム1全体を管理する。
POSサーバー17は、サーバー制御部37と、サーバー記憶部36と、通信モジュール38と、を備えている。
サーバー制御部37は、POSサーバー17の各部を制御するものであり、CPUや、ROM、RAM、その他の周辺回路等を備えている。サーバー記憶部31は、ハードディスクや、EEPROM等の不揮発性メモリーを備え、各種データを書き換え可能に不揮発に記憶する。
通信モジュール38は、所定の通信規格に準拠したネットワークカード等のタブレット端末10との間で無線通信するモジュール、回路等を備え、サーバー制御部37の制御の下、タブレット端末10との間で所定の通信規格に準拠した無線通信を実現する。
【0019】
POSサーバー17には、POSアプリケーション35が、インストールされている。
タブレット端末10のブラウザー実行部26aは、このPOSサーバー17上のPOSアプリケーション35の機能を利用して、各種処理を実行する。
具体例を挙げて詳述すると、ブラウザー実行部26aは、適宜、POSサーバー17に演算処理の要求を行なって、POSアプリケーション35の機能によって演算処理を実行させ、処理結果を受け取り、適切な処理を行なう。例えば、ブラウザー実行部26aは、バーコードスキャナー12の読み取り結果をPOSサーバー17に出力して、POSアプリケーション35の機能により商品検索を実行させて、検索結果を受け取った上で、制御装置11を制御して商品情報をディスプレー14に表示させる。また、会計の合計金額の算出を要求して、POSアプリケーション35の機能により合計金額の算出を行なわせ、算出結果を受け取った上で、制御装置11を制御して合計金額を含む情報が印刷されたレシートを発行させたりする。
ここで、「ブラウザーで動作するアプリケーション」とは、ブラウザー実行部26aが、POSアプリケーション35等、通信可能な他の機器にインストールされたアプリケーションであって、ブラウザー実行部26aが、その機能を利用可能なアプリケーションを含む概念である。この場合のアプリケーションは、通信可能な他の機器上で実行され動作するものであってもよく、当該他の機器からダウンロードして、タブレット端末10上で実行され動作するものであってもよい。さらに、「ブラウザーで動作するアプリケーション」は、ブラウザー実行部26aが読み出すウェブページ(HTMLファイル)に実装されたスクリプト等、ブラウザー実行部26aがその機能を利用可能なプログラム、ソフトウェアを含む概念である。
【0020】
図3は、タブレット端末10のブラウザー実行部26a(「端末制御部」に対応する機能ブロック)、及び、制御装置11のデバイス制御部20aの機能ブロック図をより詳細に示す図である。
図3では、説明の便宜のため、プログラム自体や、ソフトウェア的なオブジェクト、プログラムによって実現される機能を概念的に表わすブロック、デバイス等の物理的な装置等を、同一のレベルで表現している。
なお、本実施形態では、「オブジェクト」とは、オブジェクト指向プログラミングにおけるインスタンス、すなわち、データ、及び、メソッドの集合として定義されたソフトウェア的な対象を意味する。ただし、「オブジェクト」は、オブジェクト指向プログラミングにおけるインスタンスに限らず、何らかの機能を実現できるソフトウェア的な対象であればよい。
図3に示すように、タブレット端末10のブラウザー実行部26aでは、アプリケーションAPが動作する。アプリケーションAPは、上述したように、POSアプリケーション35のように他の機器で動作し、又は、他の機器からダウンロードしたアプリケーションや、ブラウザー実行部26aが読み出すHTMLファイルに実装されたスクリプト、その他、ブラウザー実行部26aが、その機能を利用可能なプログラム、ソフトウェアを含む概念である。
ブラウザー実行部26aでは、キャッシュチェンジャーI/Fオブジェクト40(インターフェースオブジェクト)、バーコードスキャナーI/Fオブジェクト41(インターフェースオブジェクト)、ディスプレーI/Fオブジェクト42(インターフェースオブジェクト)、プリンターI/Fオブジェクト43(インターフェースオブジェクト)の少なくとも1つ、統括制御オブジェクト44、及び、ブラウザー側WebSocketI/F45が動作可能である。また、デバイス制御部20aでは、デバイス側WebSocketI/F50、中継オブジェクト51、キャッシュチェンジャー制御オブジェクト53(制御オブジェクト)、バーコードスキャナー制御オブジェクト54(制御オブジェクト)、ディスプレー制御オブジェクト55(制御オブジェクト)、及び、プリンター制御オブジェクト56(制御オブジェクト)のすくなくとも1つが動作可能である。
まず、図4のフローチャートを用いて、これらオブジェクトや、ソフトウェア的なインターフェースの生成手順や、機能について説明する。
【0021】
図4は、ブラウザー実行部26a、及び、デバイス制御部20aにおけるオブジェクトが生成される際の手順を示すフローチャートである。特に、図4のフローチャートは、一例として、インターフェースオブジェクトとしてバーコードスキャナーI/Fオブジェクト41の生成を例とし、かつ、制御オブジェクトとしてバーコードスキャナー制御オブジェクト54を例として、これらオブジェクトが生成される際の手順を表わしている。
以下の説明において、「アプリケーションAPは、・・・」のように、アプリケーションAPを動作の主体として処理を説明する場合、アプリケーションAPを読み出して実行するCPU(端末制御部26、ブラウザー実行部26a)が、アプリケーションAPの機能を利用して、処理を実行することを意味する。同様に、「オブジェクトは、・・・」のように、オブジェクトを動作の主体として処理を説明する場合、CPU(対応する制御部)が、オブジェクトの機能を利用して、処理を実行することを意味する。
まず、アプリケーションAPは、統括制御オブジェクト生成処理を実行する(ステップSA1)。統括制御オブジェクト生成処理とは、統括制御オブジェクト44を生成する処理である。統括制御オブジェクト44は、詳細は後述するが、通信経路の確立や切断処理に係るメソッドや、制御オブジェクト及びインターフェースオブジェクトを生成や消去処理に係るメソッド等、POSシステム1の制御に係る各種メソッドが実装されたオブジェクトである。
ステップSA1における統括制御オブジェクト生成処理は、例えば、制御装置11のメーカーにより、専用のAPI(Application Program Interface)が提供され、アプリケーションAPが当該APIの機能を利用することにより実行される。
ステップSA1の処理により統括制御オブジェクト44が生成されると、アプリケーションAPは、通信経路確立要求(通信要求)を実行する(ステップSA2)。通信経路確立要求(通信要求)とは、タブレット端末10と、制御装置11との間でWebSocketに係る論理的な通信経路K1(双方向通信用の通信規格に準拠した通信経路)を確立し、これら装置間で、WebSocketの規格に準拠したデータの送受信が可能な状態を確立させる要求のことをいう。この通信経路確立要求(通信要求)は、統括制御オブジェクト44に実装された専用のメソッドをアプリケーションAPが実行することにより実行される。
ステップSA2の通信経路確立要求に応じて、統括制御オブジェクト44、及び、中継オブジェクト51は、協働して、ブラウザー側WebSocketI/F45と、デバイス側WebSocketI/F50との間に、WebSocketの規格に準拠してコネクションを張り、通信経路K1を確立する(ステップSA3)。
なお、ブラウザー側WebSocketI/F45と、デバイス側WebSocketI/F50のそれぞれは、WebSocketの規格に準拠してデータの送受信を行うソフトウェアのインターフェースに係る機能ブロックである。また、中継オブジェクト51は、デバイス制御部20a上で動作するオブジェクトであって、上述した通信経路K1の確立処理に係るメソッドのほか、後述する各種処理に係るメソッドが実装されている。
ブラウザー側WebSocketI/F45及び統括制御オブジェクト44が協働して、「制御装置から出力された識別情報が付与されたデータを受信する受信部」として機能し、デバイス側WebSocketI/F50及び中継オブジェクト51が協働して、「ブラウザーが動作する端末との間で通信する第2通信部」、「端末から送信された通信要求とデバイス制御要求とを受信する第2通信部」、又は、「ブラウザーが動作する端末と接続されて端末からの要求を受信する第2通信部」として機能する。
通信経路K1の確立に伴って、統括制御オブジェクト44、又は、中継オブジェクト51の機能により、通信経路K1に、当該通信経路K1を識別する情報である通信経路ID(通信経路の識別情報、通信接続に係る識別情報)が付与される。付与された通信経路IDは、タブレット端末10において、アプリケーションAPが参照可能な態様で端末記憶部25における所定の記憶領域に記憶されると共に、制御装置11において、中継オブジェクト51が参照可能な態様で記憶部22における所定の記憶領域に記憶される。
なお、通信経路K1の確立により、タブレット端末10(端末)と、制御装置11との間で、通信可能な状態が確立する。
【0022】
次いで、アプリケーションAPは、バーコードスキャナー制御オブジェクト生成要求(デバイス制御要求)を実行する(ステップSA4)。バーコードスキャナー制御オブジェクト生成要求とは、デバイス制御部20a上で動作するバーコードスキャナー制御オブジェクト54の生成を要求する処理である。なお、後に明らかとなるとおり、デバイス制御オブジェクトの生成により、対応するデバイスの制御が可能な状態が確立(デバイスの制御が確立)するため、ステップSA4の処理は、「アプリケーション(又は、端末)が、デバイスの制御を要求」する処理に該当する。
ここで、制御装置11に接続されるデバイスのそれぞれには、デバイスの種類ごとに、識別情報(以下、「デバイスID」という。)が割り振られている。以下の説明では、バーコードスキャナー12には、デバイスIDとして「scanner」が割り振られているものとする。
そして、アプリケーションAPは、バーコードスキャナー制御オブジェクト54の生成に際し、対応するデバイスであるバーコードスキャナー12のデバイスIDを指定する。後に明らかとなるとおり、中継オブジェクト51は、指定されたデバイスIDをキーとして、生成すべきデバイスに対応する適切な制御オブジェクトを生成する。
ここで、制御オブジェクトについて説明する。
制御オブジェクトとは、デバイスの制御に係る各種メソッドが実装されたオブジェクトであり、対応するハンドラーの機能を利用して、対応するデバイスの制御を行なう。例えば、キャッシュチェンジャー制御オブジェクト53には、キャッシュチェンジャー13の制御に係る処理を実行するメソッドが実装されており、当該オブジェクトは、キャッシュチェンジャーハンドラー61の機能を利用して、キャッシュチェンジャー13の制御を行なう。なお、ハンドラーとは、要求に応じて、対応するデバイスに係る処理を実行する関数、サブルーチンである。例えば、バーコードスキャナーハンドラー60は、バーコードスキャナー12によるバーコードの読み取りが実行された場合に、読み取り結果の入力を受けると共に、割り込み処理を行なって、読み取り結果(例えば、数字の文字列からなるデータ)をバーコードスキャナー制御オブジェクト54に受け渡す。他のハンドラー(キャッシュチェンジャーハンドラー61、ディスプレーハンドラー62、及び、プリンターハンドラー63)についても同様である。
また、デバイスとのインターフェースであるデバイスインターフェース71と、各ハンドラーとが協働して、「デバイスと通信する通信部、又は、デバイスと通信する第1通信部」として機能する。
上述したとおり、制御オブジェクトの生成により、制御装置11によるデバイスの制御が確立する。
【0023】
アプリケーションAPによるバーコードスキャナー制御オブジェクト生成要求に応じて、統括制御オブジェクト44は、通信経路K1を介して、中継オブジェクト51に対して、バーコードスキャナー制御オブジェクト生成要求を行なう(ステップSA5)。
当該要求に応じて、中継オブジェクト51は、例えばnewステートメントにより、指定されたデバイスID(本例では、バーコードスキャナー12のデバイスID「scanner」)に対応する制御オブジェクト(本例では、バーコードスキャナー制御オブジェクト54)を生成する(ステップSA6)。すなわち、デバイス制御部20aは、制御オブジェクトを生成し、生成された制御オブジェクトは、デバイス制御部20aで動作する。
ここで、ステップSA6において、中継オブジェクト51は、生成したバーコードスキャナー制御オブジェクト54を、ステップSA3で付与された通信経路IDと対応づけて管理する。このことは、他の制御オブジェクトが生成された場合も同様である。このように、制御オブジェクトと、通信経路IDとの対応付けが中継オブジェクト51によって行なわれるため、中継オブジェクト51は、制御オブジェクトのそれぞれについて、どのアプリケーションAPの管理下にあるのかを把握可能である。
より具体的に説明する。1台の制御装置11に対して、第1タブレット端末と、第2タブレット端末との2台のタブレット端末が接続される場合を想定する。このような場合、タブレット端末のそれぞれは、制御装置11との間で、WebSocketに係る通信経路を確立し、通信経路のそれぞれに対して、一意な通信経路IDが付与される。そして、第1タブレット端末は、バーコードスキャナー12を自身で動作するアプリケーションAPの管理下に置くべく、バーコードスキャナー制御オブジェクト54を生成したとする。この場合、中継オブジェクト51は、バーコードスキャナー制御オブジェクト54を、第1タブレット端末に係る通信経路の通信経路IDと対応付けて管理する。また、第2タブレット端末は、キャッシュチェンジャー13を自身で動作するアプリケーションAPの管理下に置くべく、キャッシュチェンジャー制御オブジェクト53を生成したとする。この場合、中継オブジェクト51は、キャッシュチェンジャー制御オブジェクト53を、第2タブレット端末に係る通信経路の通信経路IDと対応付けて管理する。これにより、中継オブジェクト51は、バーコードスキャナー12の読み取り結果に基づいて、バーコードスキャナー制御オブジェクト54が第1タブレット端末に対して出力するデータについて、対応する通信経路IDの通信経路、すなわち、第1タブレット端末に係る通信経路を介して、第1タブレット端末に出力する。同様に、第2タブレット端末で動作するアプリケーションAPがキャッシュチェンジャー13を制御する場合において、第2タブレット端末に係る通信経路を介した通信があった場合には、当該通信経路の通信経路IDに対応付けられたキャッシュチェンジャー制御オブジェクト53に適切にデータ等を出力する。このように、中継オブジェクト51が、制御オブジェクトのそれぞれについて、通信経路IDと対応付けて管理することにより、複数のタブレット端末が接続され、従って、複数の通信経路が確立されている場合であっても、各制御オブジェクトが誤った通信経路を介して通信することがない。
【0024】
バーコードスキャナー制御オブジェクト54の生成が完了すると、中継オブジェクト51は、通信経路K1を介して、当該オブジェクトの生成が完了した旨の通知を統括制御オブジェクト44に行ない(ステップSA7)、さらに、統括制御オブジェクト44は、当該通知をアプリケーションAPに行なう(ステップSA8)。
なお、ステップSA4のバーコードスキャナー制御オブジェクト生成処理の際に、制御オブジェクトの生成に係る処理の処理結果を受け取るコールバックが指定されており、コールバック関数が実行されることにより、アプリケーションAPに対して、バーコードスキャナー制御オブジェクト54の生成が成功した旨の通知が行なわれる。
さらに、統括制御オブジェクト44は、生成が完了したバーコードスキャナー制御オブジェクト54に対応させて、バーコードスキャナーI/Fオブジェクト41を生成する(ステップSA9)。
ここで、インターフェースオブジェクトについて説明する。
インターフェースオブジェクトとは、アプリケーションAPによるデバイスの制御に際して、アプリケーションAPに対して、対応するデバイスに係る制御オブジェクトに実装されたメソッドを利用させるインターフェースとなる機能を有している。すなわち、アプリケーションAPは、ある1のデバイスを制御する際に、当該1のデバイスに対応するインターフェースオブジェクトに対して情報を出力すれば、当該インターフェースオブジェクトが、当該1のデバイスに対応する制御オブジェクトと通信し、制御オブジェクトに実装されたメソッドを実行させ、当該1のデバイスの制御を実現できる。
このインターフェースオブジェクトの生成により、アプリケーションAPは、インターフェースオブジェクトを介して、制御オブジェクトのメソッドを利用して、デバイスの制御が可能となる。すなわち、制御オブジェクトの生成に伴うインターフェースオブジェクトの生成により、「アプリケーションAPによる制御装置11を介したデバイスの制御の確立」が行なわれる。
【0025】
以上のようにして、バーコードスキャナー制御オブジェクト54、及び、バーコードスキャナーI/Fオブジェクト41の生成が完了する。他のデバイスについても、同様の手順にて制御オブジェクト、及び、インターフェースオブジェクトが生成される。
このように、本実施形態では、制御装置11に制御オブジェクトの生成が完了した後、対応するインターフェースオブジェクトが生成される。このような構成のため、必ず、1つのデバイスについて、一対の制御オブジェクトと、インターフェースオブジェクトとが生成され、各デバイスについて、アプリケーションAPによるデバイスの制御が可能な状態が確立する。
また、本実施形態では、制御装置11に接続されたデバイスのそれぞれについて、一対のインターフェースオブジェクト、及び、制御オブジェクトが生成される。このような構成のため、アプリケーションAPは、ある1のデバイスを制御する際に、当該1のデバイスに対応するインターフェースオブジェクトの機能を利用することにより、確実に、当該1のデバイスを制御でき、また、当該1のデバイスとデータの送受信を実行できる。
また、アプリケーションAPの開発(プログラミング)に際し、デバイスの制御に関するソフトウェア的なインターフェースに係るプログラムについては、各デバイスのインターフェースオブジェクトとの関係を考慮すればよく、開発が容易になる。例えば、アプリケーションAPにおけるキャッシュチェンジャー13の制御に係るプログラムに関しては、キャッシュチェンジャーI/Fオブジェクト40との関係で、情報(データ)の入出力を考慮して開発すればよく、開発が容易になる。
【0026】
次に、図5のフローチャートを用いて、生成した制御オブジェクト、及び、インターフェースオブジェクトを消去し、確立した通信を解除する際の手順について説明する。図5のフローチャートでは、バーコードスキャナー12に係る制御オブジェクト、及び、インターフェースオブジェクトを消去する場合を例としている。
まず、アプリケーションAPは、バーコードスキャナー制御オブジェクト54の消去要求(デバイス制御解除要求)を実行する(ステップSB1)。その際、アプリケーションAPは、バーコードスキャナー12のデバイスIDを指定する。当該制御オブジェクトの消去要求は、統括制御オブジェクト44に実装されたメソッドをアプリケーションAPが実行することにより実行される。
アプリケーションAPによるバーコードスキャナー制御オブジェクト54の消去要求に応じて、統括制御オブジェクト44は、通信経路K1を介して、中継オブジェクト51に対して、バーコードスキャナー制御オブジェクト54の消去要求を行なう(ステップSB2)。
消去要求に応じて、中継オブジェクト51は、例えばdelete演算子により、指定されたデバイスID(本例では、バーコードスキャナー12のデバイスID「scanner」)に対応する制御オブジェクト(本例では、バーコードスキャナー制御オブジェクト54)を消去する(ステップSB3)。当該制御オブジェクトの消去により、制御装置11におけるバーコードスキャナー12の制御の確立が解除される。
このように、本実施形態では、アプリケーションAPによる制御オブジェクトの制御要求により、特定の制御オブジェクトを消去することが可能である。そして、特定のデバイスの制御オブジェクトを消去することにより、1のタブレット端末で動作するアプリケーションAPによる当該特定のデバイスの制御の占有が解除され、他のタブレットで動作するアプリケーションAPが、当該特定のデバイスを制御可能な状態となる。このため、アプリケーションAPは、特定のデバイスを使用しない状態となった場合、当該特定のデバイスの制御オブジェクトを消去することにより当該デバイスを開放することが可能であり、不必要にデバイスの占有が行なわれることを防止可能である。
【0027】
バーコードスキャナー制御オブジェクト54の消去が完了すると、中継オブジェクト51は、通信経路K1を介して、当該オブジェクトの消去が完了した旨の通知を統括制御オブジェクト44に行ない(ステップSB4)、さらに、統括制御オブジェクト44は、当該通知をアプリケーションAPに行なう(ステップSB5)。
なお、ステップSB1の処理の際に、制御オブジェクトの消去に係る処理の処理結果を受け取るコールバックが指定されており、コールバック関数の実行されることにより、アプリケーションAPに対して、バーコードスキャナー制御オブジェクト54の消去が成功した旨の通知が行なわれる。
さらに、統括制御オブジェクト44は、消去が完了したバーコードスキャナー制御オブジェクト54に対応させて、バーコードスキャナーI/Fオブジェクト41を消去する(ステップSB6)。
次いで、アプリケーションAPは、制御装置11との間で確立している通信経路K1の切断を要求(通信解除要求)する(ステップSB7)。当該要求は、統括制御オブジェクト44に実装された専用のメソッドをアプリケーションAPが実行することにより実行される。
ステップSA7の要求に応じて、統括制御オブジェクト44、及び、中継オブジェクト51は、協働して、ブラウザー側WebSocketI/F45と、デバイス側WebSocketI/F50との間に確立された通信経路K1を、WebSocketの規格に準拠して切断する(ステップSB8)。
以上のようにして、生成した制御オブジェクト、及び、インターフェースオブジェクトの消去、確立した通信の解除が行なわれる。
このように、生成した制御オブジェクトは、アプリケーションAPの要求により、任意のタイミングで、消去可能である。すなわち、アプリケーションAPは、ある1のデバイスについて、自身の制御下におく必要がなくなった場合、速やかに、当該1のデバイスに係る制御オブジェクトを消去し、当該1のデバイスの制御を開放することが可能である。このため、制御オブジェクトが不必要に残存し、他のタブレット端末のアプリケーションAPが、デバイスを制御不可能な状態が不必要に続くことを効果的に防止可能である。
【0028】
次に、会計処理における処理の流れについて、具体例を挙げて説明する。
ここで、会計に係る処理が行われる前に、タブレット端末10は、それぞれ、以下の処理を実行する。
すなわち、レジの担当者、その他の作業に従事する者は、タブレット端末10のブラウザーを立ち上げ、タッチパネル30へのユーザーインターフェースUI(図6(A)参照)の表示を指示する。当該指示に応じて、端末制御部26のブラウザー実行部26aは、POSサーバー17上の所定のアドレスにアクセスし、HTMLファイル等のウェブページのデータを取得し、当該データに基づいてユーザーインターフェースUIをタッチパネル30に表示する。
図6(A)は、タッチパネル30に表示されたユーザーインターフェースUIの一例を示す図である。
図6(A)のユーザーインターフェースUIにおいて、左上部には、顧客が購入した商品の名称、商品の単価、及び、商品の数量が一覧表示される一覧表示エリア65が表示されている。この一覧表示エリア65の右方には、顧客が購入した商品の合計金額、会計に際して顧客から預かった金銭の金額、及び、顧客に渡すべきお釣りの金額が表示される金額表示エリア66が表示される。
また、一覧表示エリア65の下方には、バーコードスキャナー12によって読み取られたバーコードが表す情報(以下、「バーコード情報」という。)が入力され表示される入力フィールドであるバーコード情報入力フィールド67が形成されている。バーコード情報は、基本的には、商品の種類毎に一意に割り当てられた識別情報である。バーコード情報入力フィールド67の右方には、ソフトウェアテンキー68が表示される。ユーザーインターフェースUIに形成された入力フィールドのそれぞれに対しては、このソフトウェアテンキー68を介して情報を入力することが可能となっており、ソフトウェアテンキー68は、情報を入力するキーを有している。
また、ユーザーインターフェースUIの上端部には、アクセス先のアドレスが表示されるアドレス入力フィールド69が表示されている。
【0029】
まず、バーコードスキャナー12によるバーコードの読み取りが実行された後、読み取られたバーコードが表わす情報(以下、「バーコード情報」という。)がユーザーインターフェースUIのバーコード情報入力フィールド67に表示されるまでの処理の手順を説明する。
図7は、上記処理の手順を説明するためのフローチャートである。
まず、バーコードの読み取り結果をアプリケーションAPが取得できるようにするために、事前に、アプリケーションAPにより、バーコードスキャナーI/Fオブジェクト41に対してコールバック名の登録が行なわれる(ステップSC1)。コールバック名とは、イベント(例えば、バーコードスキャナー12によるバーコードの読み取り、というイベント)ごとに付与された識別名称である。インターフェースオブジェクトに対して、当該コールバック名と対応づけてデータが入力された場合、所定のコールバック関数が実行されて、アプリケーションAPへの当該データの入力が実行される。本例では、「バーコードスキャナー12によるバーコードの読み取り」のコールバック名は、「ondata」であるものとする。
さて、レジカウンターLにおいて、レジの担当者は、バーコードスキャナー12によって、顧客が購入した1の商品に付されたバーコードを読み取る(ステップSX1)。
次に、バーコードスキャナーハンドラー60に読み取り結果が入力される(ステップSC2)。バーコードスキャナーハンドラー60は、割り込み処理を行なって、読み取り結果であるバーコード情報を、バーコードスキャナー制御オブジェクト54に出力する(ステップSC3)。
次いで、バーコードスキャナー制御オブジェクト54は、少なくとも、バーコードスキャナー12のデバイスID(本例では、「scanner」)、コールバック名(本例では、「ondata」)、バーコード情報(データ)を含むデータを、所定のデータ形式で中継オブジェクト51に出力する(ステップSC4)。
【0030】
中継オブジェクト51は、データID(識別情報)を生成し、入力されたデータに含まれるバーコード情報に、予め定められた態様で付与する(ステップSC5)。データIDは、アプリケーションAPに受け渡すデータ(本例では、バーコード情報)を識別するために一意に付与される識別情報である。本実施形態では、データIDは、数字であり、中継オブジェクト51は、統括制御オブジェクト44へのデータの出力が時間的に遅いものほど、その値が大きくなるようにデータIDを生成し、付与する。例えば、入力されたバーコード情報について、値「1」のデータIDを生成、付与し、統括制御オブジェクト44に出力した場合、次に入力されたバーコード情報については、値「2」(「1」より大きな値であれば、「2」以外でもよい。)のデータIDを生成、付与し、統括制御オブジェクト44に対して出力する。付与されたデータIDの使用方法については、後に詳述する。
次いで、中継オブジェクト51は、データIDが付与されたバーコード情報(データ)を、記憶部22における所定の記憶領域に記憶する(ステップSC6)。この結果、アプリケーションAPに対して出力されるデータID付きのデバイスに係るデータ(デバイスに関する情報)は、記憶部22に累積的に記憶される。
次いで、中継オブジェクト51は、バーコードスキャナー12のデバイスID(本例では、「scanner」)、コールバック名(本例では、「ondata」)、及び、データID付きのバーコード情報(データ)を含むデータを所定のデータ形式で、統括制御オブジェクト44に出力する(ステップSC7)。その際、中継オブジェクト51は、バーコードスキャナー制御オブジェクト54と対応付けられた通信経路IDに係る通信経路K1を介して、データの出力を行なう。
【0031】
次いで、統括制御オブジェクト44は、入力されたデータに含まれるデバイスIDをキーとして、所定のインターフェースオブジェクト(本例では、バーコードスキャナーI/Fオブジェクト41)に対して、データを出力する(ステップSC8)。
バーコードスキャナーI/Fオブジェクト41は、コールバック名(本例では、「ondata」)に基づいて、所定のコールバック関数を実行して、データID付きのバーコード情報をアプリケーションAPに出力する(ステップSC9)。
アプリケーションAPは、入力されたバーコード情報に基づいて、表示処理を実行し、バーコード情報を、バーコード情報入力フィールド67に表示する(ステップSC10)。これにより、図6(B)に示すように、バーコード情報入力フィールド67に、バーコード情報が表示された状態となる。
次いで、アプリケーションAPは、入力されたデータID付きのバーコード情報からデータIDを抽出し、端末記憶部25の所定の記憶領域に、データIDを記憶する(ステップSC11)。このステップSC11の処理により、端末記憶部25には、デバイスの出力データ(本例では、バーコード情報)のうち、アプリケーションAPに対して入力されたデータのデータIDが累積的に記憶された状態となる。端末記憶部25に記憶されたデータIDの使用方法については後述する。
【0032】
次に、アプリケーションAPがプリンターユニット21にレシートを発行させる場合の処理の手順を説明する。
図8は、上記処理の手順を説明するためのフローチャートである。
まず、アプリケーションAPは、実装された機能により、レシートに印刷する画像を生成し、生成した画像に基づいて、プリンターユニット21によって発行させるレシートに関する情報が含まれたXMLドキュメント(データ)を生成する(ステップSD1)。当該XMLドキュメントには、XMLに係るフォーマットに準拠して、レシートに印刷する文字や画像の情報等、レシートを発行する情報が所定の形式で含まれており、後述するように、プリンター制御部80は、当該XMLドキュメントをプリンターユニット21のコマンド体系に準拠した制御コマンドに変換可能である。
次いで、アプリケーションAPは、プリンターユニット21のデバイスID、及び、プリンター制御オブジェクト56に実行させる関数を指定する情報、及び、生成したXMLドキュメント、を少なくとも含むデータを、プリンターI/Fオブジェクト43に出力する(ステップSD2)。本例では、プリンター制御オブジェクト56に実行される関数とは、XMLドキュメントを、プリンター・ディスプレーI/F81を介してプリンター制御部80に出力させる処理を行なわせる関数である。
次いで、プリンターI/Fオブジェクト43は、アプリケーションAPから入力されたデータの、プリンター制御オブジェクト56への出力要求を統括制御オブジェクト44に対して行なう。(ステップSD3)統括制御オブジェクト44は、通信経路K1を介して当該データを中継オブジェクト51に対して出力し(ステップSD4)、中継オブジェクト51は、プリンター制御オブジェクト56に当該データを出力する(ステップSD5)。
プリンター制御オブジェクト56は、入力されたデータにおいて指定された関数を実行することにより、入力されたデータに含まれるXMLファイルを、プリンター・ディスプレーI/F81を介して、プリンター制御部80に出力する(ステップSD6)。その際、プリンター制御オブジェクト56は、XMLファイルについて、プリンター制御部80が処理可能なようにデータ整形、データ変換を行なった上で、プリンター制御部80に出力する。
プリンター制御部80は、いわゆるプリンタードライバーの機能により実現される機能ブロックであり、入力されたXMLファイルに基づいて、プリンターユニット21のコマンド体系に準拠した制御コマンドを生成し、プリンターハンドラー63を介して、プリンターユニット21に出力する(ステップSD7)。プリンターユニット21は、入力された制御コマンドに基づいて、各種機構を動作させて、レシートを発行する(ステップSD8)。
なお、ディスプレー14に表示をさせる場合も、図8で説明した手順と同様の手順で処理が行なわれる。
すなわち、アプリケーションAPは、ディスプレーI/Fオブジェクト42を介して、ディスプレー制御オブジェクト55に、表示データを出力する。ディスプレー制御オブジェクト55は、プリンター・ディスプレーI/F81を介して、ディスプレー制御部82に表示データを出力する。ディスプレー制御部82は、入力された表示データをディスプレー14のコマンド体系に準拠した制御コマンド体系に変換して、ディスプレーハンドラー62の機能を利用して、ディスプレー14に出力する。ディスプレー14は、制御コマンドに基づいて表示データの表示を行なう。
【0033】
以上のように、各デバイスについて、デバイスに対応するインターフェースオブジェクトと、制御オブジェクトとの通信により、アプリケーションAPによるデバイスの制御、及び、アプリケーションAPとデバイスとの間でのデータの送受信が適宜行なわれる。
特に、本実施形態では、タブレット端末10と、制御装置11とは、WebSocketの規格に準拠した通信を行なう。すなわち、タブレット端末10に係るブラウザーからサーバーとして機能する制御装置11に対してデータの送信要求を出すことなく、いずれの装置も、他方の装置に対してデータを送信することができる。換言すれば、インターフェースオブジェクトと、対応する制御オブジェクトとは、双方向通信可能である。このため、図7のフローチャートを用いて説明したように、デバイス側のイベントをトリガーとして、デバイスからアプリケーションAPへ、制御オブジェクト及びインターフェースオブジェクトを介したスムーズなデータの出力が可能である。かつ、図8のフローチャートを用いて説明したように、アプリケーションAP側のイベントをトリガーとして、アプリケーションAPは、インターフェースオブジェクト及び制御オブジェクトを介して、デバイスを制御可能である。
【0034】
また、以上説明したように、各デバイスの制御オブジェクトの生成により、対応するデバイスの制御が確立する。つまり、制御オブジェクトの生成により、対応する制御オブジェクトとの間でのデータの入力が可能な状態が確立し、これにより、アプリケーションAPによって対応するデバイスに各種処理を実行させることが可能となり、また、対応するデバイスからアプリケーションAPに対してデータの出力を行なうことが可能となる。なお、後述するように、制御オブジェクトは、アプリケーションAPが出力するデータをデバイス(又は、デバイスの制御部)に出力することにより、デバイスに特定の処理を行なわせる場合もあり、また、アプリケーションAPの要求に従って、デバイスに制御コマンドを出力して、デバイスに特定の処理を行なわせる場合もある。
より詳細に説明すると、上述のとおり、バーコードスキャナー制御オブジェクト54は、その機能(メソッド)として、対応するバーコードスキャナー12でバーコードの読み取りが実行された場合に、割り込み処理によって読み取り結果を取得し、取得した読み取り結果をバーコードスキャナーI/Fオブジェクト41を介して、アプリケーションAPに出力する、という機能(メソッド)を有している。すなわち、バーコードスキャナー制御オブジェクト54は、対応するバーコードスキャナー12でのバーコードの読み取りに応じて、読み取られた読み取り結果のタブレット端末10への送信を可能とする。従って、ここでのデバイス制御の確立は、対応するバーコードスキャナー12の読取結果をタブレット端末10への送信が可能な状態の確立を表す。これらの機能はバーコード制御オブジェクト54の生成により実行可能となる。
また、上述のとおり、プリンター制御オブジェクト56は、アプリケーションAPが生成したXMLドキュメントを、プリンター制御部80が処理可能なようにデータ整形、データ変換を行なった上で、プリンター制御部80に出力する。プリンター制御部80は、処理可能な態様で出力されたデータに基づいて、制御コマンドを生成して出力し、プリンターユニット21にレシートを発行させる(印刷を実行させる)。また、プリンター制御オブジェクト56は、プリンターユニット21が出力したデータ(例えば、プリンターユニット21のステータス(紙切れや、エラー等)を表わすデータ)を、プリンター制御部80を介して取得する。そして、プリンター制御オブジェクト56は、取得したデータをプリンターI/Fオブジェクト43を介して、アプリケーションAPへ出力する。すなわち、ここでのデバイスの制御の確立は、タブレット端末10(アプリケーションAP)から対応するプリンターユニット21にデータの出力が可能な状態、及び、タブレット端末10(アプリケーションAP)によってプリンターユニット21に印刷を含む各種処理を実行させることが可能な状態の確立を表す。また、対応するプリンターユニット21からタブレット端末10(アプリケーションAP)に対して適宜のタイミングでデータの送信が可能な状態の確立を表す。これらの機能はプリンター制御オブジェクト56の生成により実現される。
ディスプレー制御オブジェクト55についても、プリンター制御オブジェクト56と同様の態様で、デバイスの制御の確立が行なわれる。すなわち、ディスプレー制御オブジェクト55の生成により、タブレット端末10(アプリケーションAP)から対応するディスプレーにデータの出力が可能な状態、及び、タブレット端末10(アプリケーションAP)によってディスプレー14に各種情報を表示させることが可能な状態が確立する。また、ディスプレー制御オブジェクト55の生成により、ディスプレー14からタブレット端末10(アプリケーションAP)に対して適宜のタイミングでデータの送信が可能な状態が確立する。
また、キャッシュチェンジャー制御オブジェクト53は、アプリケーションAPの要求に基づいて、実行させるべき処理に対応する制御コマンドを生成してキャッシュチェンジャー13に出力し、キャッシュチェンジャー13に入金処理や、出金処理等の各種処理を実行させる。この制御コマンドの生成、及び、出力は、アプリケーションAPにより指示されたメソッドの実行によって行なわれる。換言すれば、タブレット端末10(アプリケーションAP)は、キャッシュチェンジャーI/Fオブジェクト40を介して、キャッシュチェンジャー制御オブジェクト53に実装されたメソッドを指定することによって、キャッシュチェンジャー13に任意の処理を実行させることができる。
また、キャッシュチェンジャー制御オブジェクト53は、キャッシュチェンジャー13により計数が行なわれた場合や、キャッシュチェンジャー13に対して入出金があった場合、割り込み処理によってその処理結果を取得し、取得した処理結果をキャッシュチェンジャーI/Fオブジェクト40を介して、アプリケーションAPに出力する。
すなわち、ここでのデバイスの制御の確立は、タブレット端末10(アプリケーションAP)から対応するキャッシュチェンジャー13にデータの出力が可能な状態、及び、タブレット端末10(アプリケーションAP)によってキャッシュチェンジャー13に入金処理等の各種処理を実行させることが可能な状態の確立を表す。また、対応するキャッシュチェンジャー13からタブレット端末10(アプリケーションAP)に対して適宜のタイミングでデータの送信が可能な状態の確立を表す。これらの機能はキャッシュチェンジャー制御オブジェクト53の生成により実現される。
【0035】
ところで、タブレット端末10と、制御装置11とは、イーサネット(登録商標)等の所定の規格に準拠して、無線通信可能に接続されているが、電波障害、その他の原因により、意図せずに一時的に、通信が切断(いわゆる瞬断)される場合がある。なお、無線通信でない場合であっても、例えば、通信ケーブルの外れ、接触不良等により、一時的に通信が切断される場合がある。
このような場合に、タブレット端末10、及び、制御装置11は、以下説明するように、制御オブジェクトの存在を踏まえた処理を行なう。
【0036】
図9は、通信が切断した場合のタブレット端末10、及び、制御装置11の動作を示すフローチャートである。
図9(A)は、タブレット端末10で動作するアプリケーションAPの処理手順を示し、図9(B)は、制御装置11で動作する中継オブジェクト51の処理手順を示している。
図9のフローチャートの前提として、タブレット端末10と、制御装置11との間には通信経路K1が確立されており、かつ、制御装置11には、キャッシュチェンジャー13、バーコードスキャナー12、ディスプレー14、及び、プリンターユニット21のそれぞれの制御オブジェクトが生成されている状態であるものとする。
図9(A)に示すように、アプリケーションAPは、通信の切断があったか否かを監視する(ステップSE1)。なお、ブラウザー側WebSocketI/F45が、WebSocketの規格に準拠した手段により、通信の切断の有無を監視し、通信の切断が発生した場合、ブラウザー側WebSocketI/F45からアプリケーションAPに対してその旨出力する構成となっている。
通信の切断があった場合(ステップSE1:YES)、アプリケーションAPは、統括制御オブジェクト44の機能により、再接続を試み、再接続が成功したか否かを判別する(ステップSE2)。この再接続の試行は、予め定められた期間の間、行なわれる。
【0037】
同様に、図9(B)に示すように、中継オブジェクト51は、通信の切断があったか否かを監視する(ステップSF1)。なお、デバイス側WebSocketI/F50が、WebSocketの規格に準拠した手段により、通信の切断の有無を監視し、通信の切断が発生した場合、デバイス側WebSocketI/F50からアプリケーションAPに対してその旨出力する構成となっている。
通信の切断があった場合(ステップSF1:YES)、中継オブジェクト51は、通信の切断があってからの経過時間の計測を開始する(ステップSF2)。後に明らかとなるとおり、中継オブジェクト51は、通信の切断があってからの経過時間が、期間T1を超えた場合、切断された通信に係る通信経路IDと対応付けられた制御オブジェクトを消去する構成となっている。この期間T1は、通信の切断が、意図した切断であるのか、意図しない瞬断であるのかを判別する基準値となるよう、その値が定められる。
経過時間の計測の開始後、中継オブジェクト51は、経過時間が期間T1に至ったか否かを監視しつつ(ステップSF4)、経過時間が期間T1に至る前に、通信の再接続が行なわれたか否かを判別する(ステップSF3)。
通信の再接続が行なわれることなく、経過時間が期間T1に至った場合(ステップSF4:YES)、通信の切断は、瞬断ではなく、意図的な切断であるとみなすことができる。中継オブジェクト51は、切断された通信に係る通信経路IDと対応付けられた制御オブジェクト(本例では、キャッシュチェンジャー13、バーコードスキャナー12、ディスプレー14、及び、プリンターユニット21の制御オブジェクト)を消去する(ステップSF5)。上述したとおり、制御オブジェクトが消去されることにより、各デバイスについて、他のタブレット端末で動作するアプリケーションAPに開放され、他のアプリケーションAPが、新たに制御オブジェクトを生成して、制御可能な状態となる。
なお、制御オブジェクトが消去された後に、再び、制御装置11と、タブレット端末10(通信の切断前と同一の端末であってもよく、異なる端末であってもよい。)との間で通信が確立した場合、図4で説明した手順に従って、タブレット端末10の要求に基づいて、デバイス制御部20aは、制御オブジェクトを生成し、動作させる。これにより、通信の切断後、所定期間内に再接続が行なわれず、これに伴って、制御オブジェクトが消去された場合であっても、迅速にデバイスの制御を可能な状態とすることができる。
このように、本実施形態では、通信の再接続が行なわれることなく、経過時間が期間T1に至った場合は、通信の切断が意図的な切断であるとみなし、制御オブジェクトの消去(制御オブジェクトの開放)を行なう。このような構成のため、他のアプリケーションAPによってデバイスが制御できない時間が、不必要に長時間継続することが防止される。
【0038】
さて、図9(A)を参照し、ステップSE2における再接続の試行の結果、再接続に成功した場合(ステップSE2:YES)、アプリケーションAPは、切断された通信に係る通信経路K1の通信経路IDを、中継オブジェクト51に送信する(ステップSE3)。図4のステップSA3で説明したとおり、通信経路K1の確立に伴って通信経路IDが付与され、アプリケーションAPが参照可能な態様で端末記憶部25における所定の記憶領域に記憶されている。
図9(B)を参照し、通信の再接続が成功した場合、ステップSF3の判別において、「YES」と判別され、さらに、アプリケーションAPによるステップSE3の処理により、切断された通信に係る通信経路K1の通信経路IDが送信されてくるため、中継オブジェクト51は、通信経路IDを受信する(ステップSF6)。
通信経路IDを受信すると、中継オブジェクト51は、受信した通信経路IDに対応付けられた制御オブジェクトが存在するか否かを判別する(ステップSF7)。存在しない場合は(ステップSF7:NO)、中継オブジェクト51は、処理を終了する。
一方、通信した通信経路IDに対応付けられた制御オブジェクトが存在する場合(ステップSF7:YES)、中継オブジェクト51は、これら制御オブジェクトについて、期間T1後の消去を解除し、制御オブジェクトを消去することなく、存続させる(制御オブジェクトの生成を制御する。)(ステップSF8)。
このように本実施形態では、通信の切断後、期間T1内に通信の再接続が成功した場合、当該通信の切断は、意図せぬ瞬断である蓋然性が高いものとして、切断された通信に係る通信経路K1の通信経路IDと対応付けられた制御オブジェクトについては、存続させる。このような構成のため、アプリケーションAPは、デバイスの制御に際し、新たに制御オブジェクトを生成させることなく、迅速、かつ、効率よく、デバイスの制御を行なうことができる。さらに、1のアプリケーションAPがデバイスを制御している場合に、瞬断に起因してデバイスの制御が他のアプリケーションAPに開放され(対応する制御オブジェクトが消去され)、当該他のアプリケーションAPによって制御を獲得される、ということがない。
さて、ステップSF8における制御オブジェクトの消去の解除(制御オブジェクトの生成の制御)後、アプリケーションAPと、中継オブジェクト51とは、協働して、データ再送処理を実行する(ステップSE4、ステップSF9)。
【0039】
図10は、データ再処理におけるアプリケーションAP、及び、中継オブジェクト51の処理を示すフローチャートであり、(A)はアプリケーションAPの処理を、(B)は中継オブジェクト51の処理をそれぞれ示している。
図10(A)を参照し、アプリケーションAPは、端末記憶部25に記憶したデータIDのうち、直近で受信したデータのデータIDを、中継オブジェクト51に出力する(ステップSG1)。図7のステップSC11で説明したとおり、アプリケーションAPに入力されるデバイスに係るデータ(デバイスに関する情報)にはデータIDが付与されており、当該データが入力された場合、アプリケーションAPは、入力されたデータID付きのバーコード情報からデータIDを抽出し、端末記憶部25の所定の記憶領域に、データIDを記憶している。
アプリケーションAPからデータIDが入力されると、中継オブジェクト51は、記憶部22に累積的に記憶したデータID付きのデータにおけるデータIDと、アプリケーションAPから入力したデータIDとを突き合わせ、瞬断に起因して、アプリケーションAPに出力すべきデータであって、アプリケーションAPへの入力が行なわれていないデータを特定(判別)する(ステップSH1)。詳述すると、中継オブジェクト51は、データIDの生成に際し、アプリケーションAPへのデータの出力が時間的に遅いものほど、その値が大きくなるようにする、という規則性を持ってデータIDを生成する。これを踏まえ、中継オブジェクト51は、アプリケーションAPから受信したデータIDと、同一の値に係るデータIDが付与されたデータは、データの出力が正常に終了している。一方、受信したデータIDよりも、大きい値に係るデータIDが付与されたデータは、瞬断に起因してアプリケーションAPへのデータの入力が行なわれていないものとして、これらデータを、アプリケーションAPへのデータの入力が行なわれていないデータとして特定する。つまり、ステップSH1では、中継オブジェクト51は、タブレット端末10に、送信したデータに付与されたデータIDのうち、タブレット端末10に記憶されていないデータIDを判別することにより、タブレット端末10に正常に入力されていないデータのデータIDを特定している。
次いで、中継オブジェクト51は、データの入力が行なわれていないデータ(デバイスに関する情報)をアプリケーションAPへ出力する(ステップSH2)。アプリケーションAPは、中継オブジェクト51が出力したデータを取得し、適宜、処理を実行する(ステップSG2)。
以上のようなデータ再送処理が行なわれることにより、通信の瞬断があった場合であっても、データを欠損させることなく、アプリケーションAPに出力すべきデータの全てについて、アプリケーションAPに出力することが可能である。
【0040】
以上説明したように、本実施形態に係るPOSシステム1(制御システム)は、デバイス(バーコードスキャナー12等)と、デバイスインターフェース71及び各ハンドラーとの協働によってデバイスと通信する通信部と、デバイスを制御する制御オブジェクトを生成するデバイス制御部20aと、を有する制御装置11を備えている。また、POSシステム1は、ブラウザーを表示するタッチパネル30(表示部)と、制御オブジェクトとの間でデバイスに関する情報を通信するインターフェースオブジェクトを生成すると共に、ブラウザーで動作するアプリケーションAPによってデバイスに関する情報を処理する端末制御部26(ブラウザー実行部26a)と、を有するタブレット端末10(端末)を備えている。
この構成によれば、タブレット端末10のブラウザーで動作するアプリケーションAPは、制御オブジェクト、及び、インターフェースオブジェクトの機能により、デバイスに関する情報を取得し、処理することが可能となり、タブレット端末10のブラウザーで動作するアプリケーションAPによるデバイスの制御が可能となる。
【0041】
また、本実施形態では、制御装置11には、複数のデバイスが接続される。そして、第1のデバイス(例えば、バーコードスキャナー12)が接続されている状況下で、第2のデバイス(例えば、キャッシュチェンジャー13)が接続された場合、制御装置11のデバイス制御部20aは、第2のデバイスを制御する第2の制御オブジェクト(例えば、キャッシュチェンジャー制御オブジェクト53)を生成する。さらに、タブレット端末10の端末制御部26(ブラウザー実行部26a)は、第2のデバイスに関する情報を第2の制御オブジェクトの間で通信する第2のインターフェースオブジェクト(例えば、キャッシュチェンジャーI/Fオブジェクト40)を生成する。
この構成によれば、制御装置11に接続される第2のデバイスについて、対応する制御オブジェクト、及び、インターフェースオブジェクトが生成される。すなわち、制御装置11に接続されるデバイスのそれぞれについて、対応する制御オブジェクト、及び、インターフェースオブジェクトが生成され、これらオブジェクトの機能を利用して、タブレット端末10のブラウザーで動作するアプリケーションAPは、デバイスのそれぞれを制御可能となる。
【0042】
また、本実施形態では、タブレット端末10と、制御装置11との間で、双方向通信用の通信規格たるWebSocketの規格に準拠した通信経路K1が確立され、制御オブジェクトと、対応するインターフェースオブジェクトとは、通信経路K1を介して双方向通信可能である。
この構成によれば、制御オブジェクトと、対応するインターフェースオブジェクトとは、通信経路K1を介して双方向通信可能であるため、タブレット端末10側のイベントをトリガーとするインターフェースオブジェクトから制御オブジェクトに対するデータの出力、及び、制御装置11側のイベントをトリガーとする制御オブジェクトからインターフェースオブジェクトに対するデータの出力を的確に実行することができる。
【0043】
また、本実施形態では、制御オブジェクトの生成が完了した後、制御オブジェクトに対応するインターフェースオブジェクトが生成される。
この構成によれば、制御オブジェクトが生成された場合に、対応するインターフェースオブジェクトが確実に生成される。
【0044】
また、本実施形態では、制御装置11には、デバイスとしてのプリンターユニット21(印刷部)が接続され、デバイス制御部20aは、プリンターユニット21を制御するプリンター制御オブジェクト56を生成する。
この構成によれば、タブレット端末10のブラウザーで動作するアプリケーションAPは、制御オブジェクト、及び、インターフェースオブジェクトの機能により、デバイスとしてのプリンターユニット21に関する情報を取得し、処理することが可能となり、タブレット端末10のブラウザーで動作するアプリケーションAPによって、印刷を実行できる。
【0045】
また、本実施形態では、タブレット端末10のブラウザーで動作するアプリケーションAPから、制御装置11に、接続されたデバイスの制御オブジェクトの生成を要求し(デバイスの制御を要求し)、デバイスの制御オブジェクトの生成を要求された(デバイスの制御を要求された)制御装置11は、制御オブジェクトを生成することによりデバイスの制御を確立する。そして、制御装置11が制御オブジェクトを生成することによってデバイスの制御を確立した後、タブレット端末10は、制御オブジェクトに対応するインターフェースオブジェクトを生成することにより、アプリケーションAPによる制御装置11を介したデバイスの制御を確立する。
この構成によれば、アプリケーションAPの要求に応じて、デバイスの制御の確立、及び、アプリケーションAPによる制御装置11を介したデバイスの制御の確立が順次行なわれ、タブレット端末10のブラウザーで動作するアプリケーションAPによるデバイスの制御が可能となる。
【0046】
また、本実施形態では、制御装置11は、デバイスを制御する制御オブジェクトの生成によって、デバイスの制御を確立する。
この構成によれば、制御オブジェクトの生成という手段によって、デバイスの制御を確立できる。
【0047】
また、本実施形態では、タブレット端末10は、制御オブジェクトと通信する機能を有するインターフェースオブジェクトの生成によって、アプリケーションAPによる制御装置11を介したデバイスの制御を確立する。
この構成によれば、制御オブジェクトの生成、及び、当該制御オブジェクトと通信する機能を有するインターフェースオブジェクトの生成という手段によって、アプリケーションAPによる制御装置11を介したデバイスの制御を確立できる。
【0048】
また、本実施形態に係るPOSシステム1(制御システム)は、ブラウザーを表示するタッチパネル30(表示部)、及び、通信接続を要求する通信要求(通信経路確立要求)及び制御オブジェクトの生成を要求する(デバイスの制御を要求する)デバイス制御要求を出力する端末制御部26(ブラウザー実行部26a)を有するタブレット端末10を備えている。また、POSシステム1は、デバイスと通信する通信部、及び、タブレット端末10から送信された通信要求に基づいてタブレット端末10との通信を確立すると共に、タブレット端末10との通信が確立した後にデバイス制御要求に基づいて、制御オブジェクトを生成することにより、デバイスの制御を確立するデバイス制御部20aを有する制御装置11を備えている。
この構成によれば、タブレット端末10による通信要求、及び、デバイス制御要求に応じて、通信の確立、及び、デバイスの制御の確立が順次行なわれ、ブラウザーの機能を利用したタブレット端末10によるデバイスの制御が可能となる。
【0049】
また、タブレット端末10の端末制御部26(ブラウザー実行部26a)は、制御オブジェクトの消去を要求する(デバイスの制御の確立の解除を要求する)デバイス制御解除要求を出力し、制御装置11のデバイス制御部20aは、デバイス制御解除要求に基づいて、制御オブジェクトを消去してデバイスの制御の確立を解除する。
この構成によれば、タブレット端末10からのデバイス制御解除要求により、デバイスの制御の確立を解除でき、デバイスが端末の制御下におかれた状態が不必要に継続することを防止可能である。
【0050】
また、本実施形態では、タブレット端末10のアプリケーションAPは、制御装置11との間で確立している通信経路K1の切断の要求(通信解除要求)を出力し、制御装置11のデバイス制御部20aは、通信解除要求に基づいて、通信の確立を解除する。
この構成によれば、タブレット端末10からの通信解除要求により、確立した通信を的確に解除可能である。
【0051】
また、本実施形態では、タブレット端末10(アプリケーションAP)は、通信接続を要求する通信要求、及び、デバイスとしてのプリンターユニット21の制御オブジェクトの生成を要求(印刷部の制御を要求)するデバイス制御要求を出力する。制御装置11のデバイス制御部20aは、通信要求に基づいてタブレット端末10との通信を確立すると共に、タブレット端末10との通信が確立した後にデバイス制御要求に基づいて、プリンター制御オブジェクト56を生成して、プリンターユニット21の制御を確立する。
この構成によれば、タブレット端末10による通信要求、及び、デバイス制御要求に応じて、通信の確立、及び、デバイスとしてのプリンターユニット21の制御の確立が順次行なわれ、タブレット端末10は、ブラウザーの機能を利用して、プリンターユニット21に印刷を行なわせることが可能となる。
【0052】
また、本実施形態に係る制御装置11は、デバイスインターフェース71及び各ハンドラーとの協働によってデバイスと通信する第1通信部と、デバイスを制御する制御オブジェクトが動作するデバイス制御部20aと、デバイス側WebSocketI/F50及び中継オブジェクト51の協働によってタブレット端末10との間で通信する第2通信部と、を有し、タブレット端末10との接続が切断されたとき、デバイス制御部20aは、制御オブジェクトを期間T1保持した後に消去する。
この構成によれば、通信の切断に応じて、すぐに制御オブジェクトが消去されるのではなく、期間T1保持された後、消去される。このため、意図しない一時的な通信の切断があった場合であっても、すぐに制御オブジェクトが消去されず、一時的な通信の切断が回復したときに、消去されずに保持された制御オブジェクトによってデバイスの制御を迅速に開始することが可能である。また、制御オブジェクトが期間T1保持された後は、消去されるため、不必要に長期間制御オブジェクトが消去されず、これに伴って、デバイスの制御権が開放されないといったことが効果的に防止される。
【0053】
また、本実施形態では、タブレット端末10と制御装置11との間で通信の切断があり、期間T1内に再接続が行なわれず、制御オブジェクトが消去された後に、再び、制御装置11と、タブレット端末10(通信の切断前と同一の端末であってもよく、異なる端末であってもよい。)との間で通信が確立した場合、図4で説明した手順に従って、タブレット端末10の要求に基づいて、デバイス制御部20aは、制御オブジェクトを生成し、動作させる。
これにより、通信の切断後、所定期間内に再接続が行なわれず、これに伴って、制御オブジェクトが消去された場合であっても、迅速にデバイスの制御を可能な状態とすることができる。
【0054】
また、本実施形態では、期間T1内にタブレット端末10との間で接続が行なわれた場合、保持した制御オブジェクトの消去を解除する(制御オブジェクトの生成を制御する)。
本発明の構成によれば、通信の切断後、期間T1内に再接続が行なわれた場合、制御オブジェクトの消去が解除されるため、通信の切断後、期間T1内に再接続が行なわれるような一時的な切断があった場合に、制御オブジェクトが消去されることを防止できる。
【0055】
また、本実施形態では、タブレット端末10と制御装置11との間での接続の確立に応じて、接続に対応する識別情報(通信経路ID)をこれら装置のそれぞれが記憶し、接続の切断後における再接続の際に、これら装置のそれぞれに記憶された識別情報に基づいて、再接続を行なう。
この構成によれば、再接続に際し、必要に応じて、各装置に記憶された識別情報(通信経路ID)を利用して、切断前の接続に対応する態様で、再接続を行なうことが可能となる。
【0056】
また、本実施形態では、制御装置11には、接続されたデバイスごとに、デバイスの制御に係る制御オブジェクトが生成される。そして、制御装置11(中継オブジェクト51)は、識別情報(通信経路ID)を、制御オブジェクトと対応付けて記憶すると共に、タブレット端末10との接続の切断後、期間T1内にタブレット端末10との間での再接続が行なわれなかった場合、制御オブジェクトを消去する。一方、制御装置11は、接続の切断後における再接続の際に、タブレット端末10に記憶された識別情報と同一の識別情報と対応付けられた制御オブジェクトが存在するか否か判別し、存在する場合、所定期間経過後の制御オブジェクトの消去を解除する。
この構成によれば、接続の切断後、期間T1内に再接続が行なわれるような一時的な切断があった場合に、切断前の接続時に使用していた制御オブジェクトが消去されることを防止しつつ、再接続後に、改めて制御オブジェクトを生成することなく、制御オブジェクトを利用可能である。
【0057】
また、本実施形態に係るPOSシステム1(制御システム)は、デバイスインターフェース71及び各ハンドラーとの協働によってデバイスと通信して、デバイスが出力したデータを取得する第1通信部と、第1通信部で取得されたデータ(例えば、バーコード情報)に識別情報(データID)を付与するデバイス制御部20aと、データID付きのデータを記憶する記憶部22と、デバイス側WebSocketI/F50及び中継オブジェクト51の協働によってデータID付きのデータを出力する第2通信部と、を有する制御装置を備えている。また、POSシステム1は、ブラウザー側WebSocketI/F45及び統括制御オブジェクト44の協働により制御装置11から出力されたデータID付きのデータを受信する受信部と、受信部で受信されたデータに付与された識別情報を記憶する端末記憶部25と、データを処理するアプリケーションを動作させる端末制御部26を有するタブレット端末10を備えている。
この構成によれば、制御装置11からタブレット端末10に出力されるデータに識別情報(データID)が付与されると共に、制御装置11は、出力データを記憶し、タブレット端末10は、入力データに係る識別情報を記憶する。このため、接続の切断があった場合、識別情報(データID)をキーとして、接続の切断に起因してタブレット端末10に入力されていないデータを特定でき、かつ、特定したデータを再出力することが可能となる。
【0058】
また、本実施形態では、タブレット端末10と、制御装置11との接続の切断後における再接続に際し、タブレット端末10は、記憶した識別情報(データID)を制御装置11に送信し、制御装置11は、タブレット端末10から受信した識別情報(データID)と、記憶したデータID付きのデータにおけるデータIDとの比較に基づいて、タブレット端末10に入力されていないデータを特定し、再送信する。
この構成によれば、接続の切断後における再接続に際し、識別情報(データID)を利用して的確にタブレット端末10に入力されていないデータの特定が可能である。
【0059】
また、本実施形態では、制御装置11は、デバイスからの入力に基づくデータに、規則性を有するデータIDを付与してタブレット端末10に送信すると共に、送信したデータID付きのデータを記憶する。そして、タブレット端末10と、制御装置11との接続の切断後における再接続に際し、タブレット端末10は、直近で受信したデータに係る識別情報(データID)を制御装置11に送信する。制御装置11は、タブレット端末10から受信した識別情報(データID)と、記憶したデータID付きのデータにおけるデータIDとの比較、及び、識別情報(データID)の規則性に基づいて、タブレット端末10に入力されていないデータを特定し、再送信する。
この構成によれば、例えば、タブレット端末10が制御装置11に対して、一定期間に入力されたデータの全てについて識別情報(データID)を送信する。制御装置11は受信した識別情報(データID)と、記憶したデータID付きのデータにおけるデータIDとの比較により、タブレット端末10に入力されていないデータを特定する、といった処理をすることなく、識別情報(データID)の規則性を利用した簡易な手段で、制御装置11は、タブレット端末10に入力されていないデータを特定可能である。
【0060】
なお、上述した実施の形態は、あくまでも本発明の一態様を示すものであり、本発明の範囲内で任意に変形および応用が可能である。
例えば、上述した実施形態では、レジカウンターLを有する店舗に、POSシステム1が適用された場合を例にして、本発明を説明したが、POSシステムの使用の態様はこの例に限らず、例えば、喫茶店や、レストラン等の飲食店に対して適用することも可能である。また例えば、制御装置11と、POSサーバー17とは、別個の装置であったが、制御装置11にPOSサーバー17の機能を持たせてもよい。また例えば、制御装置11はサーマルプリンターであったが、記録形式は何であってもよい。
また例えば、図2、3に示す各機能ブロックはハードウェアとソフトウェアの協働により任意に実現可能であり、特定のハードウェア構成を示唆するものではない。また、各機器は、外部接続される記憶媒体に記憶させたプログラムを実行することにより、各種動作を実行してもよい。
【符号の説明】
【0061】
1…POSシステム(制御システム)、10…タブレット端末(端末)、11…制御装置、12…バーコードスキャナー(デバイス)、13…キャッシュチェンジャー(デバイス)、14…ディスプレー(デバイス)、21…プリンターユニット(デバイス)、K1…通信経路。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10