JP2014146294A - 制御システム、及び、制御システムの制御方法 - Google Patents
制御システム、及び、制御システムの制御方法 Download PDFInfo
- Publication number
- JP2014146294A JP2014146294A JP2013016058A JP2013016058A JP2014146294A JP 2014146294 A JP2014146294 A JP 2014146294A JP 2013016058 A JP2013016058 A JP 2013016058A JP 2013016058 A JP2013016058 A JP 2013016058A JP 2014146294 A JP2014146294 A JP 2014146294A
- Authority
- JP
- Japan
- Prior art keywords
- control
- data
- terminal
- communication
- application
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Cash Registers Or Receiving Machines (AREA)
- Computer And Data Communications (AREA)
Abstract
【解決手段】POSシステム1において、タブレット端末10と制御装置11との間での接続の確立に応じて、接続に対応する識別情報をこれら装置のそれぞれが記憶し、接続の切断後における再接続の際に、これら装置のそれぞれに記憶された識別情報に基づいて、再接続を行なう。
【選択図】図3
Description
本発明は、上述した事情に鑑みてなされたものであり、ブラウザーが動作する端末と、制御装置とが通信可能に接続された制御システムについて、通信の切断に応じた適切な処理を実行することを目的とする。
本発明の構成によれば、端末と、制御装置との間での接続の確立に応じて、接続に対応する識別情報をこれら装置が記憶し、接続の切断後における再接続の際に、識別情報に基づいて、再接続が行なわれる。このため、再接続に際し、必要に応じて、識別情報を利用して、切断前の接続に対応する態様で、再接続を行なうことが可能となる。
本発明の構成によれば、端末と、制御装置との間で通信経路を確立することを利用して、通信経路の識別情報を効果的に利用して、再接続を行なうことができる。
本発明の構成によれば、各デバイスを、識別情報と対応付けて適切に管理可能である。
本発明の構成によれば、接続の切断後、所定期間内に再接続が行なわれるような一時的な切断があった場合に、切断前の接続時に使用していた制御オブジェクトが消去されることを防止しつつ、再接続後に、改めて制御オブジェクトを生成することなく、制御オブジェクトを利用可能である。また、不必要に長時間、制御オブジェクトが消去されず、これに伴って、デバイスの制御が開放されないといったことが効果的に防止される。
この構成によれば、一時的な切断による再接続後、識別情報をキーとして、切断前の接続時に使用していた制御オブジェクトを適切に判別でき、かつ、利用可能である。
本発明の構成によれば、接続の切断後、所定期間内に再接続が行なわれるような一時的な切断があった場合に、切断前の接続時に使用していた制御オブジェクトが消去されることを防止しつつ、再接続後に、改めて制御オブジェクトを生成することなく、制御オブジェクトを利用可能である。
本発明の構成によれば、端末と、制御装置との間での接続の確立に応じて、接続に対応する識別情報をこれら装置が記憶し、接続の切断後における再接続の際に、識別情報に基づいて、再接続が行なわれる。このため、再接続に際し、必要に応じて、識別情報を利用して、切断前の接続に対応する態様で、再接続を行なうことが可能となる。
本発明の構成によれば、瞬断等の一時的な通信の切断があった場合であっても、識別情報を利用した適切な態様で再接続を実行できる。
図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つが接続されている。
制御部20は、制御装置11の各部を制御するものであり、CPUや、ROM、RAM、その他の周辺回路等を備えている。制御部20は、デバイス制御部20aを備えているが、この機能ブロックについては後述する。
プリンターユニット21は、ロール紙を搬送する搬送機構、サーマルヘッドによってロール紙に文字や画像を印刷する印刷機構、ロール紙を切断する切断機構等を備えており、レシートに係る画像をロール紙に印刷した後、所定の位置でロール紙を切断することによりレシートを発行することが可能である。
記憶部22は、EEPROM等の不揮発性メモリーを備え、各種データを書き換え可能に、不揮発的に記憶する。
通信モジュール23は、所定の通信規格に準拠したネットワークカード等のタブレット端末10との間で無線通信するモジュール、回路等を備え、制御部20の制御の下、タブレット端末10との間で所定の通信規格に準拠した無線通信を実現する。
端末記憶部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との間で所定の通信規格に準拠した無線通信を実現する。
ブラウザー実行部26aは、ウェブブラウザーの機能により、HTML等のマークアップ言語やスクリプト言語で記述されたウェブページ(HTMLファイル等)を、POSサーバー17からダウンロードする。ダウンロードされたウェブページのデータは、例えば図示しないRAMに記憶される。ブラウザー実行部26aは、ダウンロードされたウェブページのデータを読み込み、このウェブページを表示させる表示データを生成して、表示制御部28に出力する。表示制御部28は、入力された表示データに基づいて、表示パネル30aに表示データに係るウェブページの画像を表示する。
また、ブラウザー実行部26aは、入力検出部29によってタッチセンサー30bへのタッチ操作が検出された場合、このタッチ操作に対応して入力検出部29から入力される座標データ、及び、表示制御部28に出力した表示用のデータに基づき、入力内容を特定する。ブラウザー実行部26aは、適宜、特定した入力内容に基づいて、例えばスクリプトの機能によって適切な処理を実行する。
POSサーバー17は、サーバー制御部37と、サーバー記憶部36と、通信モジュール38と、を備えている。
サーバー制御部37は、POSサーバー17の各部を制御するものであり、CPUや、ROM、RAM、その他の周辺回路等を備えている。サーバー記憶部31は、ハードディスクや、EEPROM等の不揮発性メモリーを備え、各種データを書き換え可能に不揮発に記憶する。
通信モジュール38は、所定の通信規格に準拠したネットワークカード等のタブレット端末10との間で無線通信するモジュール、回路等を備え、サーバー制御部37の制御の下、タブレット端末10との間で所定の通信規格に準拠した無線通信を実現する。
タブレット端末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がその機能を利用可能なプログラム、ソフトウェアを含む概念である。
図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のフローチャートを用いて、これらオブジェクトや、ソフトウェア的なインターフェースの生成手順や、機能について説明する。
以下の説明において、「アプリケーション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との間で、通信可能な状態が確立する。
ここで、制御装置11に接続されるデバイスのそれぞれには、デバイスの種類ごとに、識別情報(以下、「デバイスID」という。)が割り振られている。以下の説明では、バーコードスキャナー12には、デバイスIDとして「scanner」が割り振られているものとする。
そして、アプリケーションAPは、バーコードスキャナー制御オブジェクト54の生成に際し、対応するデバイスであるバーコードスキャナー12のデバイスIDを指定する。後に明らかとなるとおり、中継オブジェクト51は、指定されたデバイスIDをキーとして、生成すべきデバイスに対応する適切な制御オブジェクトを生成する。
ここで、制御オブジェクトについて説明する。
制御オブジェクトとは、デバイスの制御に係る各種メソッドが実装されたオブジェクトであり、対応するハンドラーの機能を利用して、対応するデバイスの制御を行なう。例えば、キャッシュチェンジャー制御オブジェクト53には、キャッシュチェンジャー13の制御に係る処理を実行するメソッドが実装されており、当該オブジェクトは、キャッシュチェンジャーハンドラー61の機能を利用して、キャッシュチェンジャー13の制御を行なう。なお、ハンドラーとは、要求に応じて、対応するデバイスに係る処理を実行する関数、サブルーチンである。例えば、バーコードスキャナーハンドラー60は、バーコードスキャナー12によるバーコードの読み取りが実行された場合に、読み取り結果の入力を受けると共に、割り込み処理を行なって、読み取り結果(例えば、数字の文字列からなるデータ)をバーコードスキャナー制御オブジェクト54に受け渡す。他のハンドラー(キャッシュチェンジャーハンドラー61、ディスプレーハンドラー62、及び、プリンターハンドラー63)についても同様である。
また、デバイスとのインターフェースであるデバイスインターフェース71と、各ハンドラーとが協働して、「デバイスと通信する通信部、又は、デバイスと通信する第1通信部」として機能する。
上述したとおり、制御オブジェクトの生成により、制御装置11によるデバイスの制御が確立する。
当該要求に応じて、中継オブジェクト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と対応付けて管理することにより、複数のタブレット端末が接続され、従って、複数の通信経路が確立されている場合であっても、各制御オブジェクトが誤った通信経路を介して通信することがない。
なお、ステップSA4のバーコードスキャナー制御オブジェクト生成処理の際に、制御オブジェクトの生成に係る処理の処理結果を受け取るコールバックが指定されており、コールバック関数が実行されることにより、アプリケーションAPに対して、バーコードスキャナー制御オブジェクト54の生成が成功した旨の通知が行なわれる。
さらに、統括制御オブジェクト44は、生成が完了したバーコードスキャナー制御オブジェクト54に対応させて、バーコードスキャナーI/Fオブジェクト41を生成する(ステップSA9)。
ここで、インターフェースオブジェクトについて説明する。
インターフェースオブジェクトとは、アプリケーションAPによるデバイスの制御に際して、アプリケーションAPに対して、対応するデバイスに係る制御オブジェクトに実装されたメソッドを利用させるインターフェースとなる機能を有している。すなわち、アプリケーションAPは、ある1のデバイスを制御する際に、当該1のデバイスに対応するインターフェースオブジェクトに対して情報を出力すれば、当該インターフェースオブジェクトが、当該1のデバイスに対応する制御オブジェクトと通信し、制御オブジェクトに実装されたメソッドを実行させ、当該1のデバイスの制御を実現できる。
このインターフェースオブジェクトの生成により、アプリケーションAPは、インターフェースオブジェクトを介して、制御オブジェクトのメソッドを利用して、デバイスの制御が可能となる。すなわち、制御オブジェクトの生成に伴うインターフェースオブジェクトの生成により、「アプリケーションAPによる制御装置11を介したデバイスの制御の確立」が行なわれる。
このように、本実施形態では、制御装置11に制御オブジェクトの生成が完了した後、対応するインターフェースオブジェクトが生成される。このような構成のため、必ず、1つのデバイスについて、一対の制御オブジェクトと、インターフェースオブジェクトとが生成され、各デバイスについて、アプリケーションAPによるデバイスの制御が可能な状態が確立する。
また、本実施形態では、制御装置11に接続されたデバイスのそれぞれについて、一対のインターフェースオブジェクト、及び、制御オブジェクトが生成される。このような構成のため、アプリケーションAPは、ある1のデバイスを制御する際に、当該1のデバイスに対応するインターフェースオブジェクトの機能を利用することにより、確実に、当該1のデバイスを制御でき、また、当該1のデバイスとデータの送受信を実行できる。
また、アプリケーションAPの開発(プログラミング)に際し、デバイスの制御に関するソフトウェア的なインターフェースに係るプログラムについては、各デバイスのインターフェースオブジェクトとの関係を考慮すればよく、開発が容易になる。例えば、アプリケーションAPにおけるキャッシュチェンジャー13の制御に係るプログラムに関しては、キャッシュチェンジャーI/Fオブジェクト40との関係で、情報(データ)の入出力を考慮して開発すればよく、開発が容易になる。
まず、アプリケーション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は、特定のデバイスを使用しない状態となった場合、当該特定のデバイスの制御オブジェクトを消去することにより当該デバイスを開放することが可能であり、不必要にデバイスの占有が行なわれることを防止可能である。
なお、ステップ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が、デバイスを制御不可能な状態が不必要に続くことを効果的に防止可能である。
ここで、会計に係る処理が行われる前に、タブレット端末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が表示されている。
図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)。
次いで、中継オブジェクト51は、データIDが付与されたバーコード情報(データ)を、記憶部22における所定の記憶領域に記憶する(ステップSC6)。この結果、アプリケーションAPに対して出力されるデータID付きのデバイスに係るデータ(デバイスに関する情報)は、記憶部22に累積的に記憶される。
次いで、中継オブジェクト51は、バーコードスキャナー12のデバイスID(本例では、「scanner」)、コールバック名(本例では、「ondata」)、及び、データID付きのバーコード情報(データ)を含むデータを所定のデータ形式で、統括制御オブジェクト44に出力する(ステップSC7)。その際、中継オブジェクト51は、バーコードスキャナー制御オブジェクト54と対応付けられた通信経路IDに係る通信経路K1を介して、データの出力を行なう。
バーコードスキャナー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の使用方法については後述する。
図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は、制御コマンドに基づいて表示データの表示を行なう。
特に、本実施形態では、タブレット端末10と、制御装置11とは、WebSocketの規格に準拠した通信を行なう。すなわち、タブレット端末10に係るブラウザーからサーバーとして機能する制御装置11に対してデータの送信要求を出すことなく、いずれの装置も、他方の装置に対してデータを送信することができる。換言すれば、インターフェースオブジェクトと、対応する制御オブジェクトとは、双方向通信可能である。このため、図7のフローチャートを用いて説明したように、デバイス側のイベントをトリガーとして、デバイスからアプリケーションAPへ、制御オブジェクト及びインターフェースオブジェクトを介したスムーズなデータの出力が可能である。かつ、図8のフローチャートを用いて説明したように、アプリケーション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の生成により実現される。
このような場合に、タブレット端末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)。この再接続の試行は、予め定められた期間の間、行なわれる。
通信の切断があった場合(ステップ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によってデバイスが制御できない時間が、不必要に長時間継続することが防止される。
図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)。
図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に出力することが可能である。
この構成によれば、タブレット端末10のブラウザーで動作するアプリケーションAPは、制御オブジェクト、及び、インターフェースオブジェクトの機能により、デバイスに関する情報を取得し、処理することが可能となり、タブレット端末10のブラウザーで動作するアプリケーションAPによるデバイスの制御が可能となる。
この構成によれば、制御装置11に接続される第2のデバイスについて、対応する制御オブジェクト、及び、インターフェースオブジェクトが生成される。すなわち、制御装置11に接続されるデバイスのそれぞれについて、対応する制御オブジェクト、及び、インターフェースオブジェクトが生成され、これらオブジェクトの機能を利用して、タブレット端末10のブラウザーで動作するアプリケーションAPは、デバイスのそれぞれを制御可能となる。
この構成によれば、制御オブジェクトと、対応するインターフェースオブジェクトとは、通信経路K1を介して双方向通信可能であるため、タブレット端末10側のイベントをトリガーとするインターフェースオブジェクトから制御オブジェクトに対するデータの出力、及び、制御装置11側のイベントをトリガーとする制御オブジェクトからインターフェースオブジェクトに対するデータの出力を的確に実行することができる。
この構成によれば、制御オブジェクトが生成された場合に、対応するインターフェースオブジェクトが確実に生成される。
この構成によれば、タブレット端末10のブラウザーで動作するアプリケーションAPは、制御オブジェクト、及び、インターフェースオブジェクトの機能により、デバイスとしてのプリンターユニット21に関する情報を取得し、処理することが可能となり、タブレット端末10のブラウザーで動作するアプリケーションAPによって、印刷を実行できる。
この構成によれば、アプリケーションAPの要求に応じて、デバイスの制御の確立、及び、アプリケーションAPによる制御装置11を介したデバイスの制御の確立が順次行なわれ、タブレット端末10のブラウザーで動作するアプリケーションAPによるデバイスの制御が可能となる。
この構成によれば、制御オブジェクトの生成という手段によって、デバイスの制御を確立できる。
この構成によれば、制御オブジェクトの生成、及び、当該制御オブジェクトと通信する機能を有するインターフェースオブジェクトの生成という手段によって、アプリケーションAPによる制御装置11を介したデバイスの制御を確立できる。
この構成によれば、タブレット端末10による通信要求、及び、デバイス制御要求に応じて、通信の確立、及び、デバイスの制御の確立が順次行なわれ、ブラウザーの機能を利用したタブレット端末10によるデバイスの制御が可能となる。
この構成によれば、タブレット端末10からのデバイス制御解除要求により、デバイスの制御の確立を解除でき、デバイスが端末の制御下におかれた状態が不必要に継続することを防止可能である。
この構成によれば、タブレット端末10からの通信解除要求により、確立した通信を的確に解除可能である。
この構成によれば、タブレット端末10による通信要求、及び、デバイス制御要求に応じて、通信の確立、及び、デバイスとしてのプリンターユニット21の制御の確立が順次行なわれ、タブレット端末10は、ブラウザーの機能を利用して、プリンターユニット21に印刷を行なわせることが可能となる。
この構成によれば、通信の切断に応じて、すぐに制御オブジェクトが消去されるのではなく、期間T1保持された後、消去される。このため、意図しない一時的な通信の切断があった場合であっても、すぐに制御オブジェクトが消去されず、一時的な通信の切断が回復したときに、消去されずに保持された制御オブジェクトによってデバイスの制御を迅速に開始することが可能である。また、制御オブジェクトが期間T1保持された後は、消去されるため、不必要に長期間制御オブジェクトが消去されず、これに伴って、デバイスの制御権が開放されないといったことが効果的に防止される。
これにより、通信の切断後、所定期間内に再接続が行なわれず、これに伴って、制御オブジェクトが消去された場合であっても、迅速にデバイスの制御を可能な状態とすることができる。
本発明の構成によれば、通信の切断後、期間T1内に再接続が行なわれた場合、制御オブジェクトの消去が解除されるため、通信の切断後、期間T1内に再接続が行なわれるような一時的な切断があった場合に、制御オブジェクトが消去されることを防止できる。
この構成によれば、再接続に際し、必要に応じて、各装置に記憶された識別情報(通信経路ID)を利用して、切断前の接続に対応する態様で、再接続を行なうことが可能となる。
この構成によれば、接続の切断後、期間T1内に再接続が行なわれるような一時的な切断があった場合に、切断前の接続時に使用していた制御オブジェクトが消去されることを防止しつつ、再接続後に、改めて制御オブジェクトを生成することなく、制御オブジェクトを利用可能である。
この構成によれば、制御装置11からタブレット端末10に出力されるデータに識別情報(データID)が付与されると共に、制御装置11は、出力データを記憶し、タブレット端末10は、入力データに係る識別情報を記憶する。このため、接続の切断があった場合、識別情報(データID)をキーとして、接続の切断に起因してタブレット端末10に入力されていないデータを特定でき、かつ、特定したデータを再出力することが可能となる。
この構成によれば、接続の切断後における再接続に際し、識別情報(データID)を利用して的確にタブレット端末10に入力されていないデータの特定が可能である。
この構成によれば、例えば、タブレット端末10が制御装置11に対して、一定期間に入力されたデータの全てについて識別情報(データID)を送信する。制御装置11は受信した識別情報(データID)と、記憶したデータID付きのデータにおけるデータIDとの比較により、タブレット端末10に入力されていないデータを特定する、といった処理をすることなく、識別情報(データID)の規則性を利用した簡易な手段で、制御装置11は、タブレット端末10に入力されていないデータを特定可能である。
例えば、上述した実施形態では、レジカウンターLを有する店舗に、POSシステム1が適用された場合を例にして、本発明を説明したが、POSシステムの使用の態様はこの例に限らず、例えば、喫茶店や、レストラン等の飲食店に対して適用することも可能である。また例えば、制御装置11と、POSサーバー17とは、別個の装置であったが、制御装置11にPOSサーバー17の機能を持たせてもよい。また例えば、制御装置11はサーマルプリンターであったが、記録形式は何であってもよい。
また例えば、図2、3に示す各機能ブロックはハードウェアとソフトウェアの協働により任意に実現可能であり、特定のハードウェア構成を示唆するものではない。また、各機器は、外部接続される記憶媒体に記憶させたプログラムを実行することにより、各種動作を実行してもよい。
Claims (7)
- ブラウザーが動作する端末と、
前記端末と通信接続し、前記端末とデータの送受信を行う制御装置と、有し、
前記端末及び前記制御装置は、通信接続がされたときに通信接続に係る識別情報を記憶し、
通信接続が切断された後に再度通信接続がなされる時、前記端末及び前記制御装置が記憶する前記通信接続に係る識別情報に基づいて通信接続を行うことを特徴とする制御システム。 - 前記通信接続に係わる識別情報は、前記端末と前記制御装置との通信経路に付与される識別情報である請求項1に記載の制御システム。
- 前記制御装置に接続されるデバイスを有し、
前記制御装置は、前記デバイスを制御する制御オブジェクトを生成するデバイス制御部、及び、前記デバイス制御部で生成された前記制御オブジェクトと前記通信接続に係わる識別情報とを対応付けて記憶する記憶部を有する請求項1または2に記載の制御システム。 - 前記デバイス制御部は、前記端末と前記制御装置との通信接続が切断された後、予め定められた期間内に再度通信接続がなされなかった時、前記制御オブジェクトを消去する請求項3に記載の制御システム。
- 前記デバイス制御部は、前記端末と前記制御装置との通信接続が切断された後、予め定められた期間内に再度通信接続がなされたとき、再度通信接続がなされたときの識別情報と前記記憶部に記憶された前記制御オブジェクトに対応付けられた識別情報とに基づいて、前記制御オブジェクトの生成を制御する請求項3または4に記載の制御システム。
- ブラウザーが動作する端末と前記端末にデータの送受信を行う制御装置との通信接続を確立し、
確立された通信接続に係わる識別情報を生成し、
生成された前記識別情報を前記端末及び前記制御装置に記憶し、
前記端末と前記制御装置との通信接続が切断されたのち、再度通信接続がさなされるとき、前記前記端末及び前記制御装置が記憶する前記通信接続に係わる識別情報に基づいて通信接続を行うことを特徴とする制御システムの制御方法。 - 前記通信接続に係わる識別情報に基づく通信接続は、前記端末と前記制御装置との通信接続が切断された後、予め定められた期間内で再度通信接続を行うときに実行する請求項6に記載の制御システムの制御方法。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013016058A JP6229270B2 (ja) | 2013-01-30 | 2013-01-30 | 制御システム、及び、制御システムの制御方法 |
EP14745737.8A EP2953033B1 (en) | 2013-01-30 | 2014-01-28 | Control system and control method for the control system |
US14/763,041 US10491457B2 (en) | 2013-01-30 | 2014-01-28 | Control system, control method of a control system, and control device |
PCT/JP2014/000433 WO2014119290A1 (ja) | 2013-01-30 | 2014-01-28 | 制御システム、制御システムの制御方法、及び、制御装置 |
KR1020157023299A KR101772781B1 (ko) | 2013-01-30 | 2014-01-28 | Pos 제어 시스템, pos 제어 시스템의 제어 방법, 및, 제어 장치 |
CN201480004391.2A CN104919435B (zh) | 2013-01-30 | 2014-01-28 | 控制***、控制***的控制方法以及控制装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013016058A JP6229270B2 (ja) | 2013-01-30 | 2013-01-30 | 制御システム、及び、制御システムの制御方法 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2014146294A true JP2014146294A (ja) | 2014-08-14 |
JP2014146294A5 JP2014146294A5 (ja) | 2016-01-07 |
JP6229270B2 JP6229270B2 (ja) | 2017-11-15 |
Family
ID=51426475
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013016058A Expired - Fee Related JP6229270B2 (ja) | 2013-01-30 | 2013-01-30 | 制御システム、及び、制御システムの制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6229270B2 (ja) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002351759A (ja) * | 2001-05-23 | 2002-12-06 | Sony Corp | 機器制御装置、機器情報登録装置、情報端末装置および機器制御システム |
JP2005020180A (ja) * | 2003-06-24 | 2005-01-20 | Sony Corp | 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム |
US20050080906A1 (en) * | 2003-10-10 | 2005-04-14 | Pedersen Bradley J. | Methods and apparatus for providing access to persistent application sessions |
JP2005108121A (ja) * | 2003-10-01 | 2005-04-21 | Canon Sales Co Inc | 情報処理装置、情報処理システム、情報処理方法およびそのプログラム |
JP2010273045A (ja) * | 2009-05-20 | 2010-12-02 | Hitachi Software Eng Co Ltd | サーバ装置 |
-
2013
- 2013-01-30 JP JP2013016058A patent/JP6229270B2/ja not_active Expired - Fee Related
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002351759A (ja) * | 2001-05-23 | 2002-12-06 | Sony Corp | 機器制御装置、機器情報登録装置、情報端末装置および機器制御システム |
JP2005020180A (ja) * | 2003-06-24 | 2005-01-20 | Sony Corp | 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム |
JP2005108121A (ja) * | 2003-10-01 | 2005-04-21 | Canon Sales Co Inc | 情報処理装置、情報処理システム、情報処理方法およびそのプログラム |
US20050080906A1 (en) * | 2003-10-10 | 2005-04-14 | Pedersen Bradley J. | Methods and apparatus for providing access to persistent application sessions |
KR20060131739A (ko) * | 2003-10-10 | 2006-12-20 | 사이트릭스 시스템스, 인크. | 영속적 어플리케이션 세션에 대한 엑세스를 제공하기 위한방법 및 장치 |
JP2007508617A (ja) * | 2003-10-10 | 2007-04-05 | サイトリックス システムズ, インコーポレイテッド | 持続的なアプリケーションセッションにアクセスを提供する方法および装置 |
JP2010273045A (ja) * | 2009-05-20 | 2010-12-02 | Hitachi Software Eng Co Ltd | サーバ装置 |
Also Published As
Publication number | Publication date |
---|---|
JP6229270B2 (ja) | 2017-11-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6060708B2 (ja) | 制御システムの制御方法、及び、制御装置の制御方法 | |
WO2014119290A1 (ja) | 制御システム、制御システムの制御方法、及び、制御装置 | |
JP6182880B2 (ja) | 制御システム、及び、制御システムの制御方法 | |
JP6365648B2 (ja) | 端末、及び端末の制御方法 | |
JP6149864B2 (ja) | 制御システム、及び、情報処理装置 | |
WO2016136110A1 (ja) | 情報処理装置、精算装置、情報処理方法、およびプログラム | |
KR20130101468A (ko) | Pos 시스템, 제어 시스템, 및 제어 시스템의 제어 방법 | |
US20140211255A1 (en) | Control system and control method of a control system | |
JP2015035153A (ja) | 商品販売データ処理装置、情報端末、及び制御プログラム | |
JP2014147045A (ja) | 制御システム、及び、制御システムの制御方法 | |
JP6331608B2 (ja) | Posシステム、及び、印刷制御装置 | |
JP6229270B2 (ja) | 制御システム、及び、制御システムの制御方法 | |
JP6229269B2 (ja) | 制御装置、及び、制御装置の制御方法 | |
JP6229268B2 (ja) | 制御装置、及び、制御装置の制御方法 | |
JP2016049723A (ja) | 記録装置、記録装置の制御方法、及び、記録システム | |
RU2575420C2 (ru) | Способ управления системы управления и сама система управления | |
JP6160437B2 (ja) | Posシステム、ホスト装置、及び、ホスト装置の制御方法 | |
JP6171837B2 (ja) | 送信システム、送信装置、及び、データ送信方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20151113 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20151113 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170124 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170310 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20170919 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20171002 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6229270 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |