[第1実施形態]
まず、第1実施形態について説明する。
図1は、POS(Point of Sales)システム1000の構成を示す図である。
POSシステム1000は、ショッピングセンターや、コンビニエンスストア、車内販売等の小売業や、レストランや、喫茶店、居酒屋等の飲食業等の業務で利用されるシステムである。POSシステム1000は、例えば、店舗における商品の販売状況や、在庫状況、売上状況等を管理する機能や、顧客が購入した商品に応じて会計を行う機能、会計に応じてレシートを発行する機能等を有する。
本実施形態では、会計処理を行うレジカウンターLが1又は複数設けられた店舗Tにおいて、POSシステム1000が適用された場合を例示する。図1では、店舗TにレジカウンターLが複数設けられている場合を例示している。
1つのレジカウンターLには、制御システムの一態様である会計システム2000が適用される。会計システム2000は、POS端末2Aと、表示端末2Bと、印刷装置1とを備える。POS端末2A、及び表示端末2Bは、端末に相当する。
POS端末2Aは、前面に形成された表示領域にPOS端末タッチパネル23Aが設けられ、タッチ操作によって各種入力が可能なタブレット型のコンピューターである。POS端末2Aは、レジカウンターLにおいて会計を担当するレジ担当者が使用する端末であり、レジカウンターLにおける会計に際しレジ担当者にユーザーインターフェースを提供する。
表示端末2Bは、前面に形成された表示領域に表示端末タッチパネル23Bが設けられ、タッチ操作によって各種入力が可能なタブレット型のコンピューターである。表示端末2Bは、レジカウンターLにおいて顧客が表示端末タッチパネル23Bを視認できる位置に配され、会計に関する情報を顧客に対して表示する端末である。
以下では、POS端末2Aと表示端末2Bとを区別しない場合、タブレット端末2と総称する。なお、タブレット端末2も、端末に相当する。
印刷装置1は、印刷媒体の一態様であるロール紙を収容し、収容したロール紙にライン型のサーマル方式の印刷ヘッドでドットを形成して文字や画像等を印刷する装置である。なお、本実施形態に係る印刷装置1の印刷方式はサーマル方式を例示するが、印刷装置1の印刷方式は、サーマル方式に限らずインクジェット方式等の他の印刷方式でもよい。また、印刷装置1の印刷ヘッドは、ライン型に限らず、シリアル型でもよい。
印刷装置1には、バーコードリーダー41、キャッシュチェンジャー42、及びカードリーダー43の少なくとも1つが接続される。バーコードリーダー41、キャッシュチェンジャー42、及びカードリーダー43のそれぞれについては、後述する。バーコードリーダー41、キャッシュチェンジャー42、及びカードリーダー43は、デバイスに相当する。また、バーコードリーダー41、及びカードリーダー43は、入力装置に相当する。また、バーコードリーダー41は、バーコード読取装置に相当する。
以下では、バーコードリーダー41、キャッシュチェンジャー42、及び、カードリーダー43を区別しない場合、デバイス4と総称する。
図2は、POSシステム1000を構成する、POS端末2A、表示端末2B、印刷装置1、及び、POSサーバー3の構成を示す図である。
まず、印刷装置1の構成について説明する。
印刷装置1は、印刷装置制御部10、印刷装置記憶部11、印刷装置通信部12、印刷ユニット13、及び、デバイス通信部14を備える。印刷ユニット13は、印刷部に相当する。印刷装置通信部12は、第1接続部に相当する。デバイス通信部14は、第2接続部に相当する。
印刷装置制御部10は、ハードウェアとして、CPU等のプロセッサー、その他の周辺回路を備える。印刷装置記憶部11は、ファームウェアなどの制御プログラム11Aや各種データを不揮発に記憶するROM、プロセッサーのワークエリアとして機能するRAM、などのメモリーを備える。図2では、これらハードウェアの図示を省略している。印刷装置制御部10は、具備するプロセッサーが印刷装置記憶部11のROMに記憶された制御プログラム11Aを読み出して処理を実行する。このように、ハードウェア及びソフトウェアの協働により処理を実行する。
印刷装置制御部10は、機能ブロックとして、デバイス制御部100を備える。デバイス制御部100は、制御部に相当する。印刷装置制御部10の機能ブロックは、CPU等のプロセッサーが制御プログラム11Aに従って演算処理を実行することで実現される機能をブロックとして便宜的に示したものであり、特定のアプリケーションソフトウェアやハードウェアを示すものではない。デバイス制御部100の詳細については、後述する。
印刷装置記憶部11は、制御プログラム11Aやその他の各種データを不揮発に記憶するメモリーデバイスにより構成される。印刷装置記憶部11は、印刷装置制御部10を構成するROMにより構成されてもよく、ROM以外のメモリーデバイスにより構成されてもよい。また、印刷装置記憶部11は、印刷装置制御部10を構成するRAMを含んでもよい。
印刷装置通信部12は、所定の通信規格に従ったネットワークカード等の無線通信する通信ハードウェア(通信回路、通信ポート、通信基板、通信コネクター)を備え、印刷装置制御部10の制御により、タブレット端末2と無線通信する。印刷装置通信部12が通信に使用する通信規格は、HTTPや、WebSocket等が例として挙げられる。
印刷ユニット13は、ロール紙を搬送する搬送機構、印刷ヘッド等のロール紙に文字や画像等を印刷する印刷機構、ロール紙を切断する切断機構等を備える。印刷ユニット13は、印刷装置制御部10の制御で、レシートに係る画像をロール紙に印刷した後、所定の位置でロール紙を切断することでレシートを発行することが可能である。
デバイス通信部14は、USB等のシリアル通信規格や、パラレル通信規格、イーサネット等の有線LANに係る通信規格、Bluetooth等の無線通信に係る通信規格等に従ったコネクターやインターフェース回路、通信ポート、通信基板等の通信ハードウェアを備える。デバイス通信部14は、印刷装置制御部10の制御で、印刷装置1に接続されたデバイス4と通信する。イーサネットは、登録商標である。また、Bluetoothは、登録商標である。
印刷装置1には、バーコードリーダー41、キャッシュチェンジャー42、及び、カードリーダー43が接続する。
バーコードリーダー41は、商品や、商品の包装等に付されたバーコードを読み取り、読取結果を示すバーコードデータをデバイス通信部14へ入力する。デバイス通信部14は、バーコードリーダー41から入力されたバーコードデータを、印刷装置制御部10に出力する。
キャッシュチェンジャー(キャッシュドロサー)42は、紙幣や、貨幣、金券等を収容して管理(収納箱の開閉、預り金の入金、釣銭の出金)するデバイスである。
カードリーダー43は、クレジットカードや会員カード等の磁気カード型記録媒体に記録された情報を磁気的に読み取り、読取結果を示すカードデータをデバイス通信部14へ入力する。デバイス通信部14は、カードリーダー43から入力されたカードデータを、印刷装置制御部10に出力する。
次に、POS端末2Aの構成を説明する。
POS端末2Aは、POS端末制御部20A、POS端末記憶部21A、POS端末通信部22A、及び、POS端末タッチパネル23Aを備える。
POS端末制御部20Aは、ハードウェアとして、CPU等のプロセッサー、その他の周辺回路を備える。POS端末記憶部21Aは、アプリケーションプログラムなどの制御プログラム210Aや各種データを不揮発に記憶するROM、プロセッサーのワークエリアとして機能するRAM、などのメモリーを備える。図2では、これらハードウェアの図示を省略している。POS端末制御部20Aは、プロセッサーがPOS端末記憶部21AのROMに記憶された制御プログラム210Aや、RAMに記憶したプログラムやデータを読み出して処理を実行する。このように、ハードウェア及びソフトウェアの協働により処理を実行する。
POS端末制御部20Aは、機能ブロックとして、POSブラウザー実行部200Aを備える。POSブラウザー実行部200Aは、POS端末制御部20Aのプロセッサーがブラウザーアプリ(ウェブアプリケーション)211Aを読み出して実行することにより、POS端末制御部20Aがウェブブラウザーの機能を実現する機能部である。
POSブラウザー実行部200Aは、POS端末記憶部21Aに記憶したウェブブラウザーを読み出して実行する。ウェブブラウザーの機能により、HTML等のマークアップ言語やスクリプト言語で記述されたウェブページを、POSサーバー3からPOS端末記憶部21Aにダウンロードする。ダウンロードされたウェブページのデータは、例えば図示しないRAMに記憶される。POSブラウザー実行部200Aは、ダウンロードされたウェブページのデータを読み込み、このウェブページを表示させる表示データを生成して、POS端末タッチパネル23Aに出力する。POS端末タッチパネル23Aは、入力された表示データに係るウェブページの画像を表示する。特に、POS端末タッチパネル23Aは、会計に際しレジ担当者に提供するユーザーインターフェースに係るウェブページの画像を表示する。
また、POSブラウザー実行部200Aは、POS端末タッチパネル23Aがタッチ操作を検出した場合、このタッチ操作に対応したPOS端末タッチパネル23Aの表領域の座標データ、及び、POS端末タッチパネル23Aに出力した表示用のデータに基づき、入力内容を特定する。POSブラウザー実行部200Aは、適宜、特定した入力内容に基づいて、例えばスクリプトの機能によって適切な処理を実行する。
POS端末記憶部21Aは、制御プログラム210Aや、ブラウザーアプリ211A、その他の各種データを不揮発に記憶するメモリーデバイスにより構成される。POS端末記憶部21Aは、POS端末制御部20Aを構成するROMにより構成されてもよく、ROM以外のメモリーデバイスにより構成されてもよい。また、POS端末記憶部21Aは、POS端末制御部20Aを構成するRAMを含んでもよい。ブラウザーアプリ211Aは、POS端末制御部20AがPOSブラウザー実行部200Aとして機能するためのアプリケーションプログラムである。ブラウザーアプリ211Aは、予めPOS端末にインストールされている。
POS端末通信部22Aは、所定の通信規格に従ったネットワークカード等の無線通信する通信ハードウェア(通信回路、通信ポート、通信基板、通信コネクター)を備え、POS端末制御部20Aの制御により、印刷装置1、及びPOSサーバー3と無線通信する。POS端末通信部22Aが通信に使用する通信規格は、HTTPや、WebSocket等が例として挙げられる。
POS端末タッチパネル23Aは、液晶表示パネル等の表示パネルと、表示パネルに重ねて、或いは一体に設けられたタッチセンサーとを備える。表示パネルは、POS端末制御部20Aの制御で、各種画像や、各種画面等を表示する。タッチセンサーは、タッチ操作を検出し、POS端末制御部20Aに出力する。POS端末制御部20Aは、タッチセンサーからの入力に基づいて、タッチ操作に対応する処理を実行する。
次に、表示端末2Bについて説明する。
表示端末2Bは、表示端末制御部20B、表示端末記憶部21B、表示端末通信部22B、及び、表示端末タッチパネル23Bを備える。
表示端末制御部20Bは、POS端末制御部20Aと同様に構成され、具備するプロセッサーが表示端末記憶部21BのROMに記憶された制御プログラム210Bや、RAMに記憶したプログラムやデータを読み出して処理を実行する。このように、ハードウェア及びソフトウェアの協働により処理を実行する。
表示端末制御部20Bは、機能ブロックとして、POSブラウザー実行部200Aと同様の表示ブラウザー実行部200Bを備える。表示ブラウザー実行部200Bは、表示端末制御部20Bのプロセッサーがブラウザーアプリ(ウェブアプリケーション)211Bを読み出して実行することにより、表示端末制御部20Bがウェブブラウザーの機能を実現する機能部である。
表示ブラウザー実行部200Bは、POS端末記憶部21Bに記憶したウェブブラウザーの機能により、POSブラウザー実行部200Aと同様の処理を実行する。つまり、表示ブラウザー実行部200Bは、POS端末記憶部21Bにダウンロードされたウェブページのデータを読み込み、このウェブページを表示させる表示データを生成して、表示端末タッチパネル23Bに出力する。表示端末タッチパネル23Bは、入力された表示データに係るウェブページの画像を表示する。特に、表示端末タッチパネル23Bは、会計に際し顧客に会計に関する情報を提示するウェブページの画像を表示する。
表示端末記憶部21Aは、POS端末記憶部21Aと同様、制御プログラム210Bや、ブラウザーアプリ211B、その他の各種データを不揮発に記憶するメモリーデバイスにより構成される。ブラウザーアプリ211Bは、表示端末制御部20Bが表示ブラウザー実行部200Bとして機能するためのアプリケーションプログラムである。ブラウザーアプリ211Bは、予め表示端末2Bにインストールされている。
表示端末通信部22Bは、POS端末通信部22Aと同様、所定の通信規格に従ったネットワークカード等の無線通信する通信ハードウェア(通信回路、通信ポート、通信基板、通信コネクター)を備え、表示端末制御部20Bの制御により、印刷装置1、及びPOSサーバー3と無線通信する。
表示端末タッチパネル23Bは、POS端末タッチパネル23Aと同様、液晶表示パネル等の表示パネルと、表示パネルに重ねて、或いは一体に設けられたタッチセンサーとを備える。
次に、POSサーバー3について説明する。
POSサーバー3は、商品に関する情報を格納し、売上を管理し、また、在庫を管理するデータベース311等を記憶するサーバー記憶部31を備え、データベース311を利用して、POSシステム1000全体を管理するサーバー装置である。
POSサーバー3は、サーバー制御部30、サーバー記憶部31、及び、サーバー通信部32を備える。
サーバー制御部30は、ハードウェアとして、CPU等のプロセッサー、その他の周辺回路を備える。サーバー記憶部31は、アプリケーションプログラムなどの制御プログラム210Aや各種データを不揮発に記憶するROM、プロセッサーのワークエリアとして機能するRAM、などのメモリーを備える。サーバー制御部30は、プロセッサーがサーバー記憶部31のROMに記憶された制御プログラム310や、RAMに記憶したプログラムやデータを読み出して処理を実行する。このように、ハードウェア及びソフトウェアの協働により処理を実行する。
サーバー記憶部31は、制御プログラム310や、データベース311、POSアプリ(POSアプリケーション)312、その他の各種データを不揮発に記憶するメモリーデバイスにより構成される。POSアプリ312は、POS端末制御部20Aに後述する機能を行わせるためのアプリケーションプログラムである。POSアプリ312は、予め表示端末2Bにインストールされている。
サーバー通信部32は、所定の通信規格に従ったネットワークカード等の無線通信する通信ハードウェア(通信回路、通信ポート、通信基板、通信コネクター)を備え、サーバー制御部30の制御により、タブレット端末2と無線通信する。
前述した通り、POSサーバー3には、POSアプリ312が、予めインストールされている。POSブラウザー実行部200A、及び表示ブラウザー実行200Bは、POSサーバー3にインストールされたPOSアプリ312の機能を利用して、各種処理を実行する。以下の説明では、POSブラウザー実行部200Aと表示ブラウザー実行部200Bとを区別しない場合、ブラウザー実行部200という。
例えば、POSブラウザー実行部200Aは、適宜、POSサーバー3に演算処理を要求し、POSアプリ312の機能によってサーバー制御部30に演算処理を実行させ、演算処理結果を受け取り、適切な処理を行なう。例えば、POSブラウザー実行部200Aは、バーコードリーダー41の読取結果を示すバーコードデータをPOSサーバー3に送信する。サーバー制御部30は、POSアプリ312の機能により、バーコードデータに対応する商品に関する情報をデータベース311から取得し、取得した商品に関する情報をPOS端末2Aに送信する。POSブラウザー実行部200Aは、取得した商品に関する情報をPOS端末タッチパネル23Aに表示させ、レジ担当者(オペレーター)に商品に関する情報を提示する。また、POSブラウザー実行部200Aは、会計の合計金額の算出をPOSサーバー3に要求する。サーバー制御部30は、POSアプリ312の機能により合計金額の算出を行い、算出結果をPOS端末2Aに送信する。POSブラウザー実行部200Aは、算出結果を受信すると、印刷装置1を制御して合計金額を含む情報が印刷されたレシートを発行させる。
また、例えば、表示ブラウザー実行部200Bは、POSブラウザー実行部200Aと同様に、バーコードデータに基づく商品に関する情報を取得し、この情報を表示端末タッチパネル23Bに表示させ、この情報を顧客に提示する。
図3は、POSブラウザー実行部200A、端末ブラウザー実行部200B、及びデバイス制御部100の機能ブロック図をより詳細に示す図である。
図3では、説明の便宜のため、プログラム自体や、ソフトウェア的なオブジェクト、プログラムによって実現される機能を模式的に表わすブロック、デバイス等の物理的な装置等を、同一のレベルで表現している。
なお、本実施形態において、「オブジェクト」とは、オブジェクト指向プログラミングにおけるインスタンス、すなわち、データ、及び、メソッドの集合として定義されたソフトウェア的な対象を意味する。ただし、「オブジェクト」は、オブジェクト指向プログラミングにおけるインスタンスに限らず、何らかの機能を実現できるソフトウェア的な対象であればよい。
図3に示すように、POSブラウザー実行部200Aでは、アプリケーションAP1が動作する。アプリケーションAP1は、POSアプリ312のように他の機器で動作し、又は、他の機器からダウンロードしたアプリケーションや、POSブラウザー実行部200Aが読み出すHTMLファイルに実装されたスクリプト、その他、POSブラウザー実行部200Aが、その機能を利用可能なプログラム、ソフトウェアを含むものである。
POSブラウザー実行部200Aでは、バーコードリーダーI/F(インターフェース)オブジェクト201A、キャッシュチェンジャーI/F(インターフェース)オブジェクト202A、及び、カードリーダーI/F(インターフェース)オブジェクト203Aの少なくとも1つが動作可能である。また、POSブラウザー実行部200Aは、統括制御オブジェクト205A、及び、ブラウザー側WebSocketI/F(インターフェース)206Aが動作可能である。
以下の説明と各図では、バーコードリーダーI/Fオブジェクト201A、201Bを、BRI/Fオブジェクト201A、201Bと略記し、キャッシュチェンジャーI/Fオブジェクト202A、202Bを、CCI/Fオブジェクト202A、202Bと略記し、カードリーダーI/Fオブジェクト203A、203Bを、CRI/Fオブジェクト203A、203Bと略記する。
また、図3に示すように、表示ブラウザー実行部200Bでは、アプリケーションAP2が動作する。アプリケーションAP2は、アプリケーションAP1と同様のものである。
表示ブラウザー実行部200Bでは、BRI/Fオブジェクト201B、CCI/Fオブジェクト202B、及び、CRI/Fオブジェクト203Bの少なくとも1つが動作可能である。また、表示ブラウザー実行部200Bは、統括制御オブジェクト205B、及び、ブラウザー側WebSocketI/F206Bが動作可能である。
以下では、アプリケーションAP1、AP2を区別しない場合、アプリケーションAPと総称する。また、BRI/Fオブジェクト201A、201B、CCI/Fオブジェクト202A、202B、及び、CRI/Fオブジェクト203A、203Bのそれぞれを区別しない場合、I/Fオブジェクト207と総称する。
また、デバイス制御部100では、デバイス側WebSocketI/F(インターフェース)101、管理オブジェクト102、バーコードリーダー制御オブジェクト103、キャッシュチェンジャー制御オブジェクト104、及び、カードリーダー制御オブジェクト105の少なくとも1つが動作可能である。
以下の説明と各図では、バーコードリーダー制御オブジェクト103をBR制御オブジェクト103と略記し、キャッシュチェンジャー制御オブジェクト104をCC制御オブジェクト104と略記し、カードリーダー制御オブジェクト105をCR制御オブジェクト105と略記する。
BR制御オブジェクト103、CC制御オブジェクト104、及び、CR制御オブジェクト105のそれぞれは、制御オブジェクトに相当する。BR制御オブジェクト103、CC制御オブジェクト104、及び、CR制御オブジェクト105のそれぞれを区別しない場合、制御オブジェクト107と総称する。
ここで、図4を参照し、これらオブジェクトやソフトウェア的なインターフェースの生成手順、及び機能について説明する。
図4は、ブラウザー実行部200、及びデバイス制御部100におけるオブジェクトが生成される際の手順を示すフローチャートである。図4に示すフローチャートでは、一例として、POSブラウザー実行部200Aとデバイス制御部100との間でオブジェクトが生成される際の手順を示している。また、図4に示すフローチャートでは、I/Fオブジェクト207としてBRI/Fオブジェクト201Aの生成を例とし、且つ、制御オブジェクト107としてBR制御オブジェクト103を例として、これらオブジェクトが生成される際の手順を示している。
以下の説明において、「アプリケーションは、・・・」のように、アプリケーションを動作の主体として処理を説明する場合、アプリケーションを読み出して実行するPOS端末制御部20Aあるいは表示端末制御部20Bを構成するプロセッサーが、アプリケーションの機能を利用して、処理を実行することを意味する。同様に、「オブジェクトは、・・・」のように、オブジェクトを動作の主体として処理を説明する場合、POS端末制御部20A、表示端末制御部20B、或いは、印刷装置制御部10を構成するプロセッサーが、オブジェクトの機能を利用して、処理を実行することを意味する。
まず、アプリケーションAP1は、統括制御オブジェクト生成処理を実行する(ステップSA1)。統括制御オブジェクト生成処理とは、統括制御オブジェクト205Aを生成する処理である。統括制御オブジェクト205A、205Bは、通信経路の確立や切断処理に係るメソッドや、制御オブジェクト107、及びI/Fオブジェクト207を生成や消去処理に係るメソッド等、POSシステム1000の制御に係る各種メソッドが実装されたオブジェクトである。
ステップSA1の処理により統括制御オブジェクト205Aが生成されると、アプリケーションAP1は、通信経路確立要求を実行する(ステップSA2)。通信経路確立要求とは、POS端末2Aと、印刷装置1との間でWebSocketに係る論理的な通信経路K1を確立し、これら装置間で、WebSocketの規格に準拠したデータの送受信が可能な状態を確立させる要求である。
ステップSA2の通信経路確立要求に応じて、統括制御オブジェクト205A、及び、管理オブジェクト102は、協働して、ブラウザー側WebSocketI/F206Aと、デバイス側WebSocketI/F101との間に、WebSocketの規格に準拠してコネクションを張り、通信経路K1を確立する(ステップSA3)。これにより、POS端末2Aと印刷装置1との間では、非同期で双方向通信可能な状態が確立する。通信経路K1の確立に伴って、統括制御オブジェクト205A、又は、管理オブジェクト102の機能により、通信経路K1には、通信経路K1を識別する情報である通信経路識別情報が付与される。付与された通信経路識別情報は、POS端末2Aにおいて、アプリケーションAP1が参照可能な態様でPOS端末記憶部21Aにおける所定の記憶領域に記憶されると共に、印刷装置1において、管理オブジェクト102が参照可能な態様で印刷装置記憶部11における所定の記憶領域に記憶される。
なお、ブラウザー側WebSocketI/F206Aと、デバイス側WebSocketI/F101のそれぞれは、WebSocketの規格に準拠してデータの送受信を行うソフトウェアのインターフェースに係る機能ブロックである。また、管理オブジェクト102は、上述した通信経路K1の他、通信経路K2の確立処理に係るメソッドのほか、後述する各種処理に係るメソッドが実装されている。通信経路K2は、表示ブラウザー実行部200Bのブラウザー側WebSocketI/F206Bとデバイス側WebSocketI/F101との間における通信経路である。
次いで、アプリケーションAP1は、BR制御オブジェクト生成要求を実行する(ステップSA4)。BR制御オブジェクト生成要求とは、デバイス制御部100上で動作するBR制御オブジェクト103の生成を要求する処理である。ステップSA4において、アプリケーションAP1は、統括制御オブジェクト205により、管理オブジェクト102へBR制御オブジェクト103の生成を要求する生成要求コマンドを送信する。なお、BR制御オブジェクト103を含む制御オブジェクト107の生成により、タブレット端末2による制御オブジェクト107に対応するデバイス4の制御が可能な状態が確立する。そのため、ステップSA4の処理は、「デバイス4に対する要求」する処理に該当する。
ここで、印刷装置1に接続されるデバイス4のそれぞれには、デバイス4の種類ごとに、識別情報が割り振られている。アプリケーションAP1は、BR制御オブジェクト103の生成に際し、対応するデバイス4であるバーコードリーダー41の識別情報を指定する。これにより、管理オブジェクト102は、指定された識別情報をキーとして、生成すべきデバイス4に対応する適切な制御オブジェクト107を生成できる。
ここで、制御オブジェクト107について説明する。
制御オブジェクト107とは、デバイス4の制御に係る各種メソッドが実装されたオブジェクトであり、対応するハンドラーの機能を利用して、対応するデバイス4の制御を行なう。例えば、BR制御オブジェクト103には、バーコードリーダー41の制御に係る処理を実行するメソッドが実装されている。BR制御オブジェクト103は、BRハンドラー108の機能を利用して、バーコードリーダー41の制御を行なう。なお、ハンドラーとは、要求に応じて、対応するデバイス4に係る処理を実行する関数、サブルーチンである。例えば、BR(バーコードリーダー)ハンドラー108は、バーコードリーダー41によるバーコードの読み取りが実行された場合に、デバイス4とのインターフェースであるデバイスI/F(インターフェース)111を介して、読取結果を示すバーコードデータの入力を受ける。そして、BRハンドラー108は、割り込み処理を行なって、バーコードデータをBR制御オブジェクト103に受け渡す。他のCC(キャッシュチェンジャー)ハンドラー108、及び、CR(カードリーダー)ハンドラー109についても同様である。
アプリケーションAP1によるBR制御オブジェクト生成要求に応じて、統括制御オブジェクト205Aは、通信経路K1を介して、管理オブジェクト102に対して、BR制御オブジェクト生成要求を行なう(ステップSA5)。この要求に応じて、管理オブジェクト102は、例えばnewステートメントにより、指定された識別情報に対応するBR制御オブジェクト103を生成する(ステップSA6)。
ステップSA6において、管理オブジェクト102は、生成したBR制御オブジェクト103を、ステップSA3で付与された通信経路識別情報と対応付けて管理する。この管理は、他の制御オブジェクト107が生成された場合も同様である。このように、制御オブジェクト107と、通信経路識別情報との対応付けが管理オブジェクト102によって行なわれるため、管理オブジェクト102は、制御オブジェクト107のそれぞれについて、どのタブレット端末2の管理下にあるのかを把握できる。
BR制御オブジェクト103の生成が完了すると、管理オブジェクト102は、通信経路K1を介して、BR制御オブジェクト103の生成が完了した旨の通知を統括制御オブジェクト205Aに行なう(ステップSA7)。さらに、統括制御オブジェクト205Aは、この通知をアプリケーションAPに行なう(ステップSA8)。なお、ステップSA4のBR制御オブジェクト生成処理の際に、制御オブジェクト107の生成に係る処理の処理結果を受け取るコールバックが指定されており、コールバック関数が実行されることにより、アプリケーションAPに対して、BR制御オブジェクト103の生成が成功した旨の通知が行なわれる。
次いで、統括制御オブジェクト205Aは、生成が完了したBR制御オブジェクト103に対応させて、BRI/Fオブジェクト201Aを生成する(ステップSA9)。
ここで、I/Fオブジェクト207について説明する。
I/Fオブジェクト207とは、アプリケーションAPによるデバイス4の制御に際して、アプリケーションAPに対して、対応するデバイス4に係る制御オブジェクト107に実装されたメソッドを利用させるインターフェースとなる機能を有する。すなわち、アプリケーションAPは、ある1のデバイス4を制御する際に、この1のデバイス4に対応するI/Fオブジェクト207に対して情報を出力すれば、このI/Fオブジェクト207が、この1のデバイス4に対応する制御オブジェクト107と通信し、制御オブジェクト107に実装されたメソッドを実行させ、1のデバイス4の制御を実現できる。
I/Fオブジェクト207の生成により、アプリケーションAPは、I/Fオブジェクト207を介して、制御オブジェクト107のメソッドを利用して、デバイス4の制御が可能となる。すなわち、制御オブジェクト107の生成に伴うI/Fオブジェクト207の生成により、制御オブジェクト107によるタブレット端末2に対する印刷装置1を介したデバイス4の制御の確立が行なわれる。
以上のようにして、BR制御オブジェクト103、及びBRI/Fオブジェクト201Aの生成が完了する。また、他のデバイス4についても、同様の手順にて制御オブジェクト107、及び、I/Fオブジェクト207が生成される。表示端末2Bに対して印刷装置1を介したデバイス4の制御を確立する場合についても、同様の手順にて制御オブジェクト107、及びI/Fオブジェクト207が生成される。
以上のように、本実施形態では、必ず、1つのデバイス4について、対応する制御オブジェクト107と、I/Fオブジェクト207とが生成され、各デバイス4について、タブレット端末2によるデバイス4の制御が可能な状態が確立する。
また、印刷装置1に接続されたデバイス4のそれぞれについて、対応する制御オブジェクト107及びI/Fオブジェクト207が生成される。このような構成のため、アプリケーションAPは、ある1のデバイス4を制御する際に、この1のデバイス4に対応するI/Fオブジェクト207の機能を利用することにより、確実に、この1のデバイス4とデータの送受信を実行できる。
タブレット端末2によるデバイス4の制御としては、以下の処理が例として挙げられる。
すなわち、POS端末2Aに対してBR制御オブジェクト103によるバーコードリーダー41の制御が確立している場合、POS端末2Aが、BR制御オブジェクト103によりバーコードリーダー41からバーコードデータを取得する処理である。この処理の場合、BR制御オブジェクト103は、BRハンドラーから取得したバーコードデータを管理オブジェクト102に出力する。管理オブジェクト102は、BR制御オブジェクト103に対応付く通信経路K1に、取得したバーコードデータを出力する。アプリケーションAP1は、統括制御オブジェクト205Aにより、管理オブジェクト102が出力したバーコードデータを取得する。
図3では、デバイス4を制御する制御オブジェクト107について図示している。しかしながら、例えば、POS端末2Aが印刷ユニット13によりレシートを発行させる際、デバイス制御部100は、印刷ユニット13をデバイスとして扱い、POS端末2Aが印刷ユニット13によりレシートを発行させる構成としてもよい。この構成の場合、デバイス制御部100では、印刷ユニット13を制御するPR(印刷)制御オブジェクトが動作可能である。また、POS端末2Aでは、PR制御オブジェクトに対応するI/FオブジェクトであるPR(印刷)I/F(インターフェース)オブジェクトが動作可能である。
例えば、POS端末2Aが印刷ユニット13にレシートを発行させる場合、アプリケーションAP1は、実装された機能により、レシートに印刷する画像を生成し、生成した画像に基づいて、印刷ユニット13によって発行させるレシートに関する情報が含まれたマークアップ言語で構成されたXMLドキュメントを生成する。このXMLドキュメントは、デバイス制御部100によって印刷ユニット13のコマンド体系に準拠した制御コマンドに変換可能である。アプリケーションAP1は、印刷ユニット13の識別情報、及び印刷ユニット13を制御するPR制御オブジェクトに実行させる関数を指定する情報の生成要求する情報、及び、生成したXMLドキュメント、を少なくとも含むデータを、PRI/Fオブジェクトに出力する。次いで、PRI/Fオブジェクトは、アプリケーションAP1から入力されたデータの、PR制御オブジェクトへの出力要求を統括制御オブジェクト205Aに対して行なう。統括制御オブジェクト205Aは、通信経路K1を介してこのデータを管理オブジェクト102に対して出力し、管理オブジェクト102は、PR制御オブジェクトにこのデータを出力する。PR制御オブジェクトは、入力されたデータにおいて指定された関数を実行することにより、入力されたデータに含まれるXMLファイルを、印刷ユニット13が処理可能なようにデータ整形、データ変換を行なった上で、印刷ユニット13のコマンド体系に準拠した制御コマンドを生成し、印刷ユニット13に出力する。印刷ユニット13は、入力された制御コマンドに基づいて、各種機構を動作させて、レシートを発行する。
次に、図5のフローチャートを参照して、生成した制御オブジェクト107、及び、I/Fオブジェクト207を消去し、確立したデバイス4の制御を解消する際の手順について説明する。
図5に示すフローチャートでは、一例として、POSブラウザー実行部200Aとデバイス制御部100との間で生成されたオブジェクトが消去される際の手順を示している。また、図5に示すフローチャートでは、I/Fオブジェクト207としてBRI/Fオブジェクト201Aを例とし、且つ、制御オブジェクト107としてBR制御オブジェクト103を例として、これらオブジェクトが消去される際の手順を示している。
まず、アプリケーションAP1は、BR制御オブジェクト103の消去要求を実行する(ステップSB1)。ステップSB1において、アプリケーションAP1は、統括制御オブジェクト205Aにより、管理オブジェクト102へBR制御オブジェクト103の消去を要求する消去要求コマンドを送信する。消去要求コマンドは、消去コマンドに相当する。消去要求を実行する際、アプリケーションAP1は、バーコードリーダー41の識別情報を指定する。この制御オブジェクト107の消去要求は、統括制御オブジェクト205Aに実装されたメソッドをアプリケーションAP1が実行することにより実行される。
アプリケーションAP1によるBR制御オブジェクト103の消去要求に応じて、統括制御オブジェクト205Aは、通信経路K1を介して、管理オブジェクト102に対して、BR制御オブジェクト103の消去要求を行なう(ステップSB2)。
消去要求に応じて、管理オブジェクト102は、例えばdelete演算子により、指定されたバーコードリーダー41の識別情報に対応するBR制御オブジェクト103を消去する(ステップSB3)。BR制御オブジェクト103の消去により、印刷装置1におけるバーコードリーダー41の制御の確立が解消される。
BR制御オブジェクト103の消去が完了すると、管理オブジェクト102は、通信経路K1を介して、BR制御オブジェクト103の消去が完了した旨の通知を統括制御オブジェクト205Aに行なう(ステップSB4)。さらに、統括制御オブジェクト205Aは、この通知をアプリケーションAP1に行なう(ステップSB5)。
なお、ステップSB1の処理の際に、BR制御オブジェクト103の消去に係る処理の処理結果を受け取るコールバックが指定されており、コールバック関数の実行されることにより、アプリケーションAP1に対して、BR制御オブジェクト103の消去が成功した旨の通知が行なわれる。
さらに、統括制御オブジェクト205Aは、消去が完了したBR制御オブジェクト103に対応させて、BRI/Fオブジェクト201Aを消去する(ステップSB6)。
次いで、アプリケーションAP1は、印刷装置1との間で確立している通信経路K1の切断を要求する(ステップSB7)。この要求は、統括制御オブジェクト205Aに実装された専用のメソッドをアプリケーションAP1が実行することにより実行される。ステップSB7の要求に応じて、統括制御オブジェクト205A、及び、管理オブジェクト102は、協働して、ブラウザー側WebSocketI/F206Aと、デバイス側WebSocketI/F101との間に確立された通信経路K1を、WebSocketの規格に準拠して切断する(ステップSB8)。
以上のように、制御オブジェクト107、及びI/Fオブジェクト207の生成、及び消去が可能である構成において、本実施形態の印刷装置1は、1のタブレット端末2に対する1のデバイス4の制御が確立している場合、以下の動作を実行する。
図6は、印刷装置1の動作を示すフローチャートである。特に、図6は、印刷装置1で動作する管理オブジェクト102の動作を示している。
図6の動作開始時点では、1のタブレット端末2と印刷装置1とが図4に示す動作を実行し、この1のタブレット端末2に対するバーコードリーダー41の制御が確立しているものする。
以下では、この1のタブレット端末2としてPOS端末2Aを例示しつつ図6について説明する。この例では、タブレット端末2は、1の端末に相当する。
また、図6では、バーコードリーダー41の制御が確立している1のタブレット端末2と異なる他のタブレット端末2のブラウザー実行部200が、BR制御オブジェクト生成要求を実行するものとする。以下では、この他のタブレット端末2として表示端末2Bを例示しつつ図6について説明する。この例では、表示端末2Bは、他の端末に相当する。
管理オブジェクト102は、バーコードリーダー41の制御が確立している1のタブレット端末2で動作するアプリケーションAPから、BR制御オブジェクト103の消去要求があったか否かを判別する(ステップSC1)。つまり、管理オブジェクト102は、POS端末2Aで動作するアプリケーションAP1から、BR制御オブジェクト103の消去要求があったか否かを判別する。なお、ステップSC1の処理は、消去要求コマンドを受信したか否かの判別に相当する。
管理オブジェクト102は、消去要求がないと判別した場合(ステップSC1:NO)、他のタブレット端末2のブラウザー実行部200からBR制御オブジェクト生成要求があったか否かを判別する(ステップSC2)。すなわち、管理オブジェクト102は、表示ブラウザー実行部200BからBR制御オブジェクト生成要求があったか否かを判別する。
管理オブジェクト102は、BR制御オブジェクト生成要求がないと判別した場合(ステップSC2:NO)、処理をステップSC1に戻す。
一方で、管理オブジェクト102は、BR制御オブジェクト生成要求があったと判別した場合(ステップSC2:YES)、BR制御オブジェクトを消去することなく、他のタブレット端末2に対してBR制御オブジェクト103によるバーコードリーダー41の制御を確立する(ステップSC3)。つまり、管理オブジェクト102は、表示端末2に対しても同じBR制御オブジェクト103によるバーコードリーダー41の制御を確立する。ステップSC3において、管理オブジェクト102は、BR制御オブジェクト103に、通信経路K1を識別する通信経路識別情報と、通信経路K2を識別する通信経路識別情報とを対応付けて管理する。これにより、管理オブジェクト102は、BR制御オブジェクト103が、POS端末2Aと表示端末3Bとの管理下であることを把握できる。
このように、管理オブジェクト102は、制御オブジェクト103による1のタブレット端末2に対するデバイス4の制御が確立している場合に、他のタブレット端末2からデバイス4に対する要求を受信すると、制御オブジェクト107を消去することなく、他のタブレット端末2に対しても同じ制御オブジェクト107によるデバイス4の制御を確立するので、処理が少なくて済み、時間が短くて済む。これにより、管理オブジェクト102は、複数のタブレット端末2に対して同じ制御オブジェクト107による1のデバイス4の制御を確立できるため、ウェブブラウザーが動作する複数のタブレット端末2が、時間が掛からず、印刷装置1に接続する1のデバイス4の制御を行えるようになる。
例えば、POS端末2Aと表示端末2Bとは、バーコードリーダー41の制御を行えるようになる。つまり、POS端末2Aと表示端末2Bとは、バーコードリーダー41が読み取ったバーコードデータを共に取得できる。そのため、バーコードリーダー41で読み取りがあった場合、POS端末2Aは、バーコードリーダー41から印刷装置1を介して取得したバーコードデータに基づいて会計処理を実行でき、同時に、表示端末2Bは、印刷装置1を介して取得したバーコードデータに基づいて商品情報を顧客に提示できる。
従来、管理オブジェクト102は、ある1のタブレット端末2に対して制御オブジェクト107よりある1のデバイス4の制御が確立している場合、ある1のタブレット端末2と異なる他のタブレット端末2が、このある1のデバイス4の制御を行えないように排他的な処理を実行する場合があった。これは、例えば、バーコードリーダー41が読み取ったバーコードデータが、バーコードデータの取得に適さないタブレット端末2に不必要に出力されないようにするためである。しかしながら、POSシステム1000や会計システム2000が構築される環境によっては、時間を掛けずに複数のタブレット端末2によって1のデバイス4の制御を行いたいができないという課題がある。例えば、ニーズの一例としては、図1に示すような、バーコードリーダー41が読み取ったバーコードデータをPOS端末2Aと表示端末2Bとで共有したい場合である。そこで、上述したように、1のタブレット端末2に対して制御オブジェクト103による1のデバイス4の制御が確立している場合、他のタブレット端末2から要求があると、他のタブレット端末2に対しても同じ制御オブジェクト103による1のデバイス4の制御を確立する。これにより、時間を掛けずに複数のタブレット端末2によって1のデバイス4の制御を行うことができ、例えば、複数のタブレット端末2で1のデバイス4から入力された入力情報を共有することができる。入力情報としては、バーコードデータやカードデータが例として挙げられる。
図6のフローチャートのステップSC1の説明に戻り、管理オブジェクト102は、消去要求があったと判別した場合(ステップSC1:YES)、印刷装置1の印刷装置通信部12に通信接続するタブレット端末2の数が1かである複数であるか否かを判別する(ステップSC4)。管理オブジェクト102は、消去対象である制御オブジェクト107に対応付く通信経路識別情報の数に基づいて、ステップSC4の判別を行う。図6の説明では、POS端末2Aに対するバーコードリーダー41の制御が確立している場合を例示している。そのため、この例では、管理オブジェクト102は、印刷装置1の印刷装置通信部12に通信接続するタブレット端末2の数が1であると判別する(ステップSC4:「1」)。
管理オブジェクト102は、印刷装置通信部12に通信接続するタブレット端末2の数が1つであると判別した場合(ステップSC4:「1つ」)、図5に示す動作を実行して、BR制御オブジェクト103を消去する(ステップSC5)。
これにより、管理オブジェクト102は、タブレット端末2がデバイス4の制御を行わない状況下において、制御オブジェクト103が不必要に残存することを防止できる。そのため、管理オブジェクト102は、あるタブレット端末2がある制御オブジェクト107によるデバイス4の制御を行う際、あるタブレット端末2に対応付ける制御オブジェクト107を、制御を望むデバイス4以外に対応する制御オブジェクト107に対応させてしまうことを確実に防止できる。したがって、管理オブジェクト102は、制御オブジェクト107とタブレット端末2との対応関係を適切な関係となるように管理できる。
一方で、管理オブジェクト102は、印刷装置通信部12に通信接続するタブレット端末2の数が複数であると判別した場合(ステップSC4:「複数」)、図5に示す動作を実行しないでBR制御オブジェクト103を消去せず(ステップSC6)、処理をステップSC1に戻す。
ここで、仮に管理オブジェクト102が、印刷装置通信部12に通信接続するタブレット端末2の数が複数である場合でも、制御オブジェクト107を消去する構成を想定する。この構成において、例えばPOS端末2Aと複数の表示装置2Bとが印刷装置1に接続しており、1の表示装置2BからBR制御オブジェクト103の消去要求を受けると、管理オブジェクト102は、他の表示端末2B及びPOS端末2Aに対するバーコードリーダー41の制御の確立を解消することになる。これでは、他の表示端末2B及びPOS端末2Aがバーコードリーダー41の制御の確立を継続するためには、再度、図4の処理を行う必要があり、多くの処理と時間が掛かる。そこで、管理オブジェクト102は、印刷装置通信部12に通信接続するタブレット端末2の数が複数である場合、BR制御オブジェクト103を消去しない。これにより、管理オブジェクト102は、消去要求を行ったタブレット端末2と異なる1又は複数の他のタブレット端末2が再度、BR制御オブジェクト103の生成を含む図4の処理を実行せずとも、バーコードリーダー41を制御できる環境を維持でき、処理数と処理に係る時間を減らすことができる。
図6の説明では、デバイス4としてバーコードリーダー41を例として説明したが、他のデバイス4についても同様に、制御オブジェクト107に対する処理を実行する。また、表示端末2Bに対する制御オブジェクト107によるデバイス4の制御が確立していて、POS端末2Aが制御オブジェクト107によるデバイス4の制御を要求する場合でも、同様に処理を実行する。
以上、説明したように、印刷装置1は、印刷ユニット13と、デバイス4が接続可能なデバイス通信部14と、ウェブブラウザーが動作する複数のタブレット端末2が接続可能な印刷装置通信部12と、印刷装置通信部12により1のタブレット端末2からデバイス4に対する要求を受信すると、デバイス4を制御する制御オブジェクト107を生成して、デバイス4の制御を確立するデバイス制御部100と、を備える。デバイス制御部100は、制御オブジェクト107による1のタブレット端末2に対するデバイス4の制御が確立している場合に、印刷装置通信部12により1のタブレット端末2と異なる他のタブレット端末2からデバイス4に対する要求を受信すると、制御オブジェクト107を消去することなく、他のタブレット端末2に対しても制御オブジェクト107によるデバイス4の制御を確立する。
この構成によれば、デバイス制御部100は、複数のタブレット端末2に対して制御オブジェクト107による1のデバイス4の制御を確立できるため、処理が少なくて済み、時間も短くて済む。ウェブブラウザーが動作する複数のタブレット端末2が、時間を掛けずに印刷装置1に接続する1のデバイス4の制御を行えるようになる。
デバイス制御部100は、印刷装置通信部12に接続するタブレット端末2の数が1である場合、印刷装置通信部12によりタブレット端末2から制御オブジェクト107の消去を指示する消去要求コマンドを受信すると、制御オブジェクト107を消去する。また、デバイス制御部100は、印刷装置通信部12に接続するタブレット端末2の数が複数である場合、第2接続部により1のタブレット端末2から消去要求コマンドを受信しても、制御オブジェクト107を消去しない。
この構成によれば、管理オブジェクト102は、タブレット端末2がデバイス4を制御しない状況下において、制御オブジェクト103が不必要に残存することを防止できる。また、管理オブジェクト102は、消去要求を行ったタブレット端末2と異なる1又は複数の他のタブレット端末2が再度、制御オブジェクト107の生成を含む処理を実行せずとも、デバイス4を制御できる環境を維持できる。以上より、デバイス制御部100は、タブレット端末2の数に応じて、制御オブジェクト107によるデバイス4の制御の確立を適切に管理できる。
また、デバイス制御部100は、印刷装置通信部12に複数のタブレット端末2が接続する場合、デバイス通信部14によりデバイス4から受信したデータを、制御オブジェクト107により印刷装置通信部12に接続する複数のタブレット端末2に送信する。
この構成によれば、複数のタブレット端末2が1のデバイス4からのデータを共有できる。例えば、POS端末2Aと表示端末2Bとがバーコードリーダー41が読み取ったバーコードデータを共有できる。また、POS端末2Aと表示端末2Bとがカードリーダー43が読み取ったカードデータを共有できる。
印刷装置通信部12に接続する複数のタブレット端末2は、バーコードリーダー41が読み取ったバーコードデータに基づいて会計処理を実行するPOS端末2Aと、バーコードデータに基づいて表示する表示端末2Bとを少なくとも含む。
この構成によれば、POS端末2Aは、バーコードリーダー41から入力されたバーコードデータに基づいて会計処理を実行でき、同時に、表示端末2Bは、バーコードデータに基づいて商品に関する情報を顧客に提示できる。
[第2実施形態]
次に、第2実施形態について説明する。
第2実施形態は、第1実施形態と比較して印刷装置1の動作が異なる。
図7は、第2実施形態における印刷装置1の動作を示すフローチャートである。図7のフローチャートにおいて、第1実施形態と共通する処理には同じステップ番号を付して説明を省略する。
管理オブジェクト102は、BR制御オブジェクト103の消去要求があったと判別した場合(ステップSC2:YES)、BR制御オブジェクト103を消去せず、消去要求を行ったタブレット端末2に対し、BR制御オブジェクト103によるデバイス4の制御の確立を解消する(ステップSD1)。つまり、管理オブジェクト102は、印刷装置1に通信接続するタブレット端末2の数が1でも、BR制御オブジェクト103の消去を行わない。ステップSD1では、管理オブジェクト102は、図5に示すステップSB3を実行せず、処理をスキップして、SB6移行の処理を実行する。
管理オブジェクト102は、印刷装置1の印刷装置通信部12に通信接続するタブレット端末2の数が0かである1以上であるか否かを判別する(ステップSD2)。管理オブジェクト102は、印刷装置1の印刷装置通信部12に通信接続するタブレット端末2の数が0である場合(ステップSD2:「0」)、本処理を終了する。一方で、管理オブジェクト102は、印刷装置1の印刷装置通信部12に通信接続するタブレット端末2の数が1以上である場合(ステップSD2:「1以上」)、処理をステップSC1に戻す。
例えば、あるデバイス4を制御するあるPOS端末2Aを、このあるPOS端末2Aと異なる他のPOS端末2Aに切り替える場合を想定する。この場合、消去要求を行ってBR制御オブジェクト103を消去してしまうと、他のPOS端末2Aを接続する際に、BR制御オブジェクト103を再度生成する処理を実行する必要があり、他のPOS端末2Aへの切り替えに時間を要してしまう。そこで、第2実施形態では、印刷装置1に接続するタブレット端末2の数が1つでも、BR制御オブジェクト103を消去しない。そのため、管理オブジェクト102は、BR制御オブジェクト103の再生成を行う必要がなく、他のタブレット端末2に対してBR制御オブジェクト103によるバーコードリーダー41の制御の確立を速やかに行うことができる。また、例えば、1のPOS端末2Aと1の表示端末2Bとが制御オブジェクト107により1のバーコードリーダー41の制御が確立している場合に、1のPOS端末2Aを他のPOS端末2Aに切り替える場合でも同様の効果を奏する。
図7の説明では、デバイス4としてバーコードリーダー41を例として説明したが、他のデバイス4についても同様に、制御オブジェクト107に対する処理を実行する。そのため、BR制御オブジェクト103以外の制御オブジェクト107について、図7の処理を実行する場合でも同様の効果を奏する。
以上、説明したように、デバイス制御部100は、第2接続部に接続する1のタブレット端末2から制御オブジェクト107の消去を指示する消去要求コマンドを受信すると、制御オブジェクト107を消去することなく、消去要求コマンドを送信した1のタブレット端末2に対し、制御オブジェクト107によるデバイス4の制御の確立を解消する。デバイス制御部100は、処理が少なくて済み、時間も少なくて済む。
この構成によれば、管理オブジェクト102は、制御オブジェクト107の再生成を行う必要がなく、他のタブレット端末2に対して制御オブジェクト107によるデバイス4の制御の確立を速やかに行うことができる。
なお、上述した各実施形態は、あくまでも本発明の一態様を示すものであり、本発明の範囲内で任意に変形および応用が可能である。
例えば、上述した実施形態では、レジカウンターLを有する店舗Tに、POSシステム1000が適用された場合を例にして、本発明を説明したが、POSシステムの使用の態様はこの例に限らず、例えば、喫茶店や、レストラン等の飲食店に対して適用することも可能である。会計システム2000についても同様である。
また、例えば、端末としてタブレット端末2を例示したが、端末の形態は、タブレット型に限定されず、たとえば、デスクトップ型でもよい。
また、例えば、印刷装置1と、POSサーバー3とは、別個の装置であったが、印刷装置1にPOSサーバー3の機能を持たせてもよい。
また、例えば、上述した印刷装置1の制御方法が、印刷装置1が備えるコンピューター、又は、印刷装置1に接続される外部装置を用いて実現される場合、本発明を、この制御方法を実現するためにコンピューターが実行するプログラム、このプログラムをコンピューターで読み取り可能に記録した記録媒体、或いは、このプログラムを伝送する伝送媒体の態様で構成することも可能である。
また、印刷装置制御部10、POS端末制御部20A、表示端末制御部20B、及び、サーバー制御部30の機能は、複数のプロセッサー、又は、半導体チップにより実現してもよい。
また、図2に示した各部は一例であって、具体的な実装形態は特に限定されない。つまり、必ずしも各部に個別に対応するハードウェアが実装される必要はなく、一つのプロセッサーがプログラムを実行することで各部の機能を実現する構成とすることも勿論可能である。また、上述した実施形態においてソフトウェアで実現される機能の一部をハードウェアとしてもよく、或いは、ハードウェアで実現される機能の一部をソフトウェアで実現してもよい。その他、印刷装置1、タブレット端末2、及び、POSサーバー3の他の各部の具体的な細部構成についても、本発明の趣旨を逸脱しない範囲で任意に変更可能である。
また、例えば、図4、図5、図6、及び図7に示す動作のステップ単位は、会計システム2000の各部の動作の理解を容易にするために、主な処理内容に応じて分割したものであり、処理単位の分割の仕方や名称によって、本発明が限定されることはない。処理内容に応じて、さらに多くのステップ単位に分割してもよい。また、1つのステップ単位がさらに多くの処理を含むように分割してもよい。また、そのステップの順番は、本発明の趣旨に支障のない範囲で適宜に入れ替えてもよい。