(57)【要約】【課題】ＰＯＳ端末から印刷装置に印刷制御データを送信し、印刷装置及び管理装置がネットワークを介して制御装置と通信するＰＯＳ制御システムについて、印刷装置及び管理装置が印刷制御データに基づく処理をできるようにし、また、ＰＯＳ制御システムを、印刷装置及び管理装置がネットワークを介して制御装置と通信する構成に対応させる。【解決手段】ＰＯＳ制御システム１は、印刷制御データを送信するＰＯＳ端末８と、ＰＯＳ端末８から受信した印刷制御データをＷｅｂＳｏｃｋｅｔコネクションＣＴ１で送信する印刷装置１２と、印刷制御データに基づく処理を行って抽出文字列データを生成し、送信する制御サーバー１０と、抽出文字列データを処理し、処理結果を制御サーバー１０に送信する管理装置１４とを備える。【選択図】図３
2015130087.tif 000002
【特許請求の範囲】
【請求項１】
決済処理に基づいて印刷制御データを生成する制御部、及び前記印刷制御データを送信する通信部を有するＰＯＳ端末と、
印刷を行う印刷部、前記印刷制御データに基づいて前記印刷部を制御する印刷制御部、前記ＰＯＳ端末と接続して前記印刷制御データを受信する通信接続部、及び通信経路を確立して前記印刷制御データを非同期の双方向通信で送信する印刷データ通信部を有する印刷装置と、
前記印刷装置の前記印刷データ通信部で送信された前記印刷制御データを前記通信経路で受信して前記印刷制御データに基づく処理を行ってデータを生成する印刷データ処理部、及び前記印刷データ処理部で生成された前記データを送信する通信管理部を有する制御装置と、
前記制御装置の前記通信管理部で送信された前記データを処理し、処理結果を前記制御装置に送信する装置制御部を有する管理装置と、
を備えることを特徴とするＰＯＳ制御システム。
【請求項２】
前記印刷制御データは、バイナリーデータであり、
前記制御装置の前記印刷データ処理部で生成される前記データは、前記印刷制御データから抽出された文字列を含むテキストデータである請求項１に記載のＰＯＳ制御システム。
【請求項３】
前記管理装置の前記装置制御部は、受信した前記テキストデータに基づいて、前記印刷装置を制御する第２の印刷制御データを生成して前記制御装置に送信し、
前記制御装置の前記印刷データ処理部は、受信した前記第２の印刷制御データを、前記通信経路で前記印刷装置に送信する請求項２に記載のＰＯＳ制御システム。
【請求項４】
前記印刷制御データは、レシートの発行を指示するレシートデータであり、
前記テキストデータは、前記レシートに印刷される文字列を含むデータであり、
前記第２の印刷制御データは、受信した前記テキストデータに基づいてクーポンを発行するか否かを判別して前記クーポンを発行することを決定した場合に生成される前記クーポンの発行を指示するデータである請求項３に記載のＰＯＳ制御システム。
【請求項５】
前記制御装置は、前記印刷制御データと前記データとを記憶する記憶部を有する請求項１乃至４のいずれか１項に記載のＰＯＳ制御システム。
【請求項６】
前記非同期の双方向通信は、ＷｅｂＳｏｃｋｅｔ通信である請求項１乃至５のいずれか１項に記載のＰＯＳ制御システム。
【請求項７】
決済処理に基づく印刷制御データをＰＯＳ端末で生成し、
生成された前記印刷制御データを印刷装置に送信し、
受信した前記印刷制御データの制御装置への送信と前記印刷制御データに基づく印刷とを前記印刷装置で実行し、
送信された前記印刷制御データを前記制御装置で処理してデータを生成し、
生成された前記データを管理装置に送信し、
前記データを受信した前記管理装置で前記データに基づく処理を行うことを特徴とするＰＯＳ制御システムの制御方法。
【請求項８】
前記印刷制御データは、バイナリーデータであり、
前記制御装置で生成される前記データは、前記印刷制御データから抽出された文字列を含むテキストデータである請求項７に記載のＰＯＳ制御システムの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷装置を有するＰＯＳ制御システム、及び、ＰＯＳ制御システムの制御方法に関する。
【背景技術】
【０００２】
従来、ＰＯＳ端末と、印刷装置とが通信可能に接続され、印刷装置が、ＰＯＳ端末の制御に従って、印刷を実行するシステムが知られている（例えば、特許文献１参照）。この種のシステムでは、通常、ＰＯＳ端末が印刷装置に印刷制御データを送信し、印刷装置は、印刷制御データに基づいて印刷を実行する。また、印刷装置を、ネットワークを介してサーバー等の制御装置に接続し、印刷装置が制御装置とネットワークを介して通信するシステムが知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−１０８０９７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述したシステムのように、ＰＯＳ端末から印刷装置に印刷制御データを送信するシステムについて、印刷装置をサーバー等の制御装置にネットワークを介して接続し、当該制御装置にネットワークを介して管理装置を接続する場合、ＰＯＳ端末が印刷装置に送信する印刷制御データを利用して、制御装置、及び、管理装置による処理を実行できるようにしたいとするニーズがある。また、この場合、システムを、印刷装置及び管理装置がネットワークを介して制御装置と通信する構成に対応させる必要がある。
本発明は、上述した事情に鑑みてなされたものであり、端末から印刷装置に印刷制御データを送信し、印刷装置及び管理装置がネットワークを介して制御装置と通信するＰＯＳ制御システムについて、印刷装置及び管理装置が印刷制御データに基づく処理をできるようにし、また、ＰＯＳ制御システムを、印刷装置及び管理装置がネットワークを介して制御装置と通信する構成に対応させることを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するために、本発明のＰＯＳ制御システムは、決済処理に基づいて印刷制御データを生成する制御部、及び前記印刷制御データを送信する通信部を有するＰＯＳ端末と、印刷を行う印刷部、前記印刷制御データに基づいて前記印刷部を制御する印刷制御部、前記ＰＯＳ端末と接続して前記印刷制御データを受信する通信接続部、及び通信経路を確立して前記印刷制御データを非同期の双方向通信で送信する印刷データ通信部を有する印刷装置と、前記印刷装置の前記印刷データ通信部で送信された前記印刷制御データを前記通信経路で受信して前記印刷制御データに基づく処理を行ってデータを生成する印刷データ処理部、及び前記印刷データ処理部で生成された前記データを送信する通信管理部を有する制御装置と、前記制御装置の前記通信管理部で送信された前記データを処理し、処理結果を前記制御装置に送信する装置制御部を有する管理装置と、を備えることを特徴とする。
本発明の構成によれば、ＰＯＳ端末から印刷装置に対して送信された印刷制御データは、印刷データ通信部の機能によって、非同期の双方向通信を行う通信経路により、制御装置に送信され、制御装置により処理される。また、制御装置の処理により生成されたデータは、管理装置に送信され、管理装置で処理されて処理結果が制御装置に送信される。このため、制御装置、及び、管理装置は、ＰＯＳ端末が印刷装置に送信した印刷制御データに基づいて、対応する処理を実行できる。また、印刷装置は、非同期の双方向通信により、印刷制御データを制御装置に送信する。従って、印刷装置は、端末から印刷制御データを受信した場合、制御装置との間でリクエスト等の送受信を行うことなく、制御装置に印刷制御データを送信できる。つまり、本発明の構成によれば、ＰＯＳ端末から印刷装置に印刷制御データを送信し、印刷装置及び管理装置がネットワークを介して制御装置と通信するＰＯＳ制御システムについて、印刷装置及び管理装置が印刷制御データに基づく処理をできるようにし、また、ＰＯＳ制御システムを、印刷装置及び管理装置がネットワークを介して制御装置と通信する構成に対応させることができる。
【０００６】
また、前記印刷制御データは、バイナリーデータであり、前記制御装置の前記印刷データ処理部で生成される前記データは、前記印刷制御データから抽出された文字列を含むテキストデータである。
ここで、テキストデータは、文字列検索によるデータ分析が可能なデータであり、データの利用性が高い。そして、本発明の構成によれば、制御装置は、受信した印刷制御データを、利用性の高いデータに変換できる。
【０００７】
また、前記管理装置の前記装置制御部は、受信した前記テキストデータに基づいて、前記印刷装置を制御する第２の印刷制御データを生成して前記制御装置に送信し、前記制御装置の前記印刷データ処理部は、受信した前記第２の印刷制御データを、前記通信経路で前記印刷装置に送信する。
本発明の構成によれば、管理装置の処理結果に基づく印刷を、印刷装置に実行させることができる。
【０００８】
また、前記印刷制御データは、レシートの発行を指示するレシートデータであり、前記テキストデータは、前記レシートに印刷される文字列を含むデータであり、前記第２の印刷制御データは、受信した前記テキストデータに基づいてクーポンを発行するか否かを判別して前記クーポンを発行することを決定した場合に生成される前記クーポンの発行を指示するデータである。
本発明の構成によれば、管理装置の機能により、印刷装置に、レシートに対応するクーポンを発行させることができる。
【０００９】
また、前記制御装置は、前記印刷制御データと前記データとを記憶する記憶部を有する。
本発明の構成によれば、制御装置は、印刷制御データと、印刷制御データに基づくデータを記憶するため、後に、いずれかのデータを分析し、有益な情報を得ることが可能である。また、印刷制御データを記憶することにより、印刷制御データに基づいてデータを生成する際に欠落する情報も、記憶できる。また、印刷制御データを記憶するため、印刷制御データを利用した再印刷を行える。
【００１０】
また、前記非同期の双方向通信は、ＷｅｂＳｏｃｋｅｔ通信である。
本発明の構成によれば、印刷装置と、制御装置は、ＷｅｂＳｏｃｋｅｔ通信により非同期の双方向通信を行える。
【００１１】
また、本発明のＰＯＳ制御システムの制御方法は、決済処理に基づく印刷制御データをＰＯＳ端末で生成し、生成された前記印刷制御データを印刷装置に送信し、受信した前記印刷制御データの制御装置への送信と前記印刷制御データに基づく印刷とを前記印刷装置で実行し、送信された前記印刷制御データを前記制御装置で処理してデータを生成し、生成された前記データを管理装置に送信し、前記データを受信した前記管理装置で前記データに基づく処理を行うことを特徴とする。
本発明の制御方法によれば、ＰＯＳ端末から印刷装置に対して送信された印刷制御データは、制御装置に送信され、制御装置により処理される。また、制御装置の処理により生成されたデータは、管理装置に送信され、管理装置で処理される。このため、制御装置、及び、管理装置は、ＰＯＳ端末が印刷装置に送信した印刷制御データに基づいて、対応する処理を実行できる。
【００１２】
また、前記印刷制御データは、バイナリーデータであり、前記制御装置で生成される前記データは、前記印刷制御データから抽出された文字列を含むテキストデータである。
ここで、テキストデータは、文字列検索によるデータ分析が可能なデータであり、データの利用性が高い。そして、本発明の構成によれば、制御装置は、受信した印刷制御データを、利用性の高いデータに変換できる。
【図面の簡単な説明】
【００１３】
【図１】本実施形態に係るＰＯＳ制御システムの構成を示す図。
【図２】制御サーバーと印刷装置との間で確立される通信経路を示す図。
【図３】ＰＯＳ制御システムの各装置の機能的構成を示すブロック図。
【図４】印刷装置と制御サーバーとの動作を示すフローチャート。
【図５】レシート、及び、印刷制御データを示す図。
【図６】ＰＯＳ制御システムの各装置の動作を示すフローチャート。
【図７】ＰＯＳ制御システムの各装置の動作を示すフローチャート。
【図８】抽出文字列データを示す図。
【図９】制御サーバーが備えるデータベースのレコードのデータ構造を示す図。
【図１０】印刷装置の動作を示すフローチャート。
【図１１】印刷装置と制御サーバーとの動作を示すフローチャート。
【発明を実施するための形態】
【００１４】
以下、図面を参照して本発明の実施形態について説明する。
図１は、本実施形態に係るＰＯＳ制御システム１の構成を示す図である。
図１に示すように、ＰＯＳ制御システム１は、制御サーバー１０を備え、制御サーバー１０にインターネット等のネットワークＧＮを介して複数の店舗システム１１を接続する。また、ネットワークＧＮは、複数の管理装置１４を接続する。
店舗システム１１は、スーパーマーケットや、コンビニエンスストア、デパート、飲食店等の店舗に用いられるシステムである。店舗システム１１は、店舗に来店した顧客に対してレシートを発行する機能を備える。
店舗システム１１は、印刷媒体に印刷を行う印刷機能を有し、レシートを発行可能な１又は複数の印刷装置１２を備える。印刷装置１２は、店舗内に構築されたローカルエリアネットワークＬＮに接続される。ローカルエリアネットワークＬＮは、ネットワークルーターや、モデム等の通信機器を含んで構成されたネットワーク通信制御装置１３を接続する。印刷装置１２は、ネットワーク通信制御装置１３を介して、ネットワークＧＮにアクセスする。
店舗システム１１において、印刷装置１２は、ＰＯＳ端末８と接続する。ＰＯＳ端末８は、ＰＯＳアプリケーション及びプリンタードライバーがインストールされ、これらプログラムの機能により、印刷装置１２を制御する。後述するように、プリンタードライバーは、印刷装置１２のコマンド体系に従った印刷制御データを生成する機能を有する。ＰＯＳ端末８は、プリンタードライバーの機能により、印刷装置１２にレシートを発行させる印刷制御データを生成し、送信して、印刷装置１２を制御する。図示は省略するが、ＰＯＳ端末８には、商品や商品の包装に付されたバーコードを読み取るバーコードリーダーや、顧客の会員カード等のカードを読み取るカードリーダーが接続される。また、ＰＯＳ端末８は、図示しないＰＯＳサーバーにアクセスし、ＰＯＳサーバーが記憶する商品マスター、顧客マスターから所定の情報を取得可能である。ＰＯＳ端末８は、店舗に来店した顧客の会計に際し、バーコードリーダーや、カードリーダーからの入力、また、テンキー等の入力手段に対するレジ担当者の入力に基づいて、商品マスターや顧客マスターから情報を取得して、印刷制御データを生成する。
図１において、店舗システム１１Ａは、スーパーマーケットＳＭに用いるシステムである。スーパーマーケットＳＭには、複数のレジカウンターＲＣが設けられ、レジカウンターＲＣには、印刷装置１２、及び、ＰＯＳ端末８が設けられる。レジカウンターＲＣで、ＰＯＳ端末８は、会計に応じて、印刷装置１２に印刷制御データを送信し、印刷装置１２にレシートを発行させる。店舗システム１１Ａの印刷装置１２は、ローカルエリアネットワークＬＮに接続され、ネットワーク通信制御装置１３を介して、ネットワークＧＮにアクセスする。
本実施形態に係るＰＯＳ制御システム１で、店舗システム１１の印刷装置１２は、制御サーバー１０との間で通信経路を確立し、制御サーバー１０と通信する。詳細は後述するが、制御サーバー１０は、印刷装置１２との間で確立された通信経路により、ＰＯＳ端末８が印刷装置１２に対して送信したデータを取得し、取得したデータに基づいて対応する処理を実行する。
管理装置１４は、１又は複数の店舗システム１１を管理する装置である。例えば、管理装置１４は、店舗を運営する企業の本社に設けられ、当該店舗を運営する企業のグループの複数の店舗に設けられた店舗システム１１を管理する。詳細は後述するが、管理装置１４は、ＰＯＳ端末８から印刷装置１２に送信されたデータに基づくデータを取得し、取得したデータに基づいて対応する処理を実行する。
【００１５】
図２は、ＰＯＳ制御システム１における制御サーバー１０と、印刷装置１２との間に確立される通信経路を示す図である。
図２に示すように、ＰＯＳ制御システム１において、制御サーバー１０と、店舗システム１１の印刷装置１２との間には、ＷｅｂＳｏｃｋｅｔ通信を行うＷｅｂＳｏｃｋｅｔコネクションＣＴが確立される。
なお、ＷｅｂＳｏｃｋｅｔは、非同期な双方向通信を可能とする通信規格の１つである。ＷｅｂＳｏｃｋｅｔでは、サーバーとクライアントがＷｅｂＳｏｃｋｅｔコネクションＣＴを確立した後は、データの送受信を、当該コネクションによりＷｅｂＳｏｃｋｅｔのプロトコルを用いて行う。このため、データの送信が発生する度に、コネクションを確立する必要がない。
また、ＷｅｂＳｏｃｋｅｔコネクションＣＴは、当該コネクションで接続された印刷装置１２と、制御サーバー１０との間で、ＷｅｂＳｏｃｋｅｔの規格、手続きに従ってデータを送受信する論理的な通信経路である。従って、印刷装置１２と、制御サーバー１０との間で、所定のハンドシェイクが行われ、ＷｅｂＳｏｃｋｅｔコネクションＣＴを確立した後は、印刷装置１２と制御サーバー１０とは、ＷｅｂＳｏｃｋｅｔコネクションＣＴにより、非同期にデータを送受信できる。制御サーバー１０は、任意のタイミングでＷｅｂＳｏｃｋｅｔコネクションＣＴにより印刷装置１２にデータを送信でき、印刷装置１２は、任意のタイミングでＷｅｂＳｏｃｋｅｔコネクションＣＴにより制御サーバー１０にデータを送信できる。
また、ＷｅｂＳｏｃｋｅｔ通信は、ＷｅｂＳｏｃｋｅｔコネクションＣＴにより印刷装置１２と制御サーバー１０との間で行われる、ＷｅｂＳｏｃｋｅｔのプロトコル、手続きに従った非同期な双方向通信である。
ＷｅｂＳｏｃｋｅｔコネクションＣＴの確立で、印刷装置１２、及び、制御サーバー１０は、非同期で、双方向通信できる。制御サーバー１０は、クライアントとしての印刷装置１２からリクエストを受けることなく、任意のタイミングで、ＷｅｂＳｏｃｋｅｔコネクションＣＴによりＷｅｂＳｏｃｋｅｔ通信で印刷装置１２にデータをプッシュ送信できる。同様に、印刷装置１２は、任意のタイミングで、ＷｅｂＳｏｃｋｅｔコネクションＣＴで制御サーバー１０に対してデータをプッシュ送信できる。
本実施形態では、後述するように、印刷装置１２が複数の機能部（後述）を有し、複数の機能部に応じて、制御サーバー１０との間でＷｅｂＳｏｃｋｅｔコネクションＣＴが確立される。従って、１台の印刷装置１２と制御サーバー１０との間で、複数のＷｅｂＳｏｃｋｅｔコネクションＣＴが確立される。
また、図２に示すように、制御サーバー１０は、複数の管理装置１４を通信可能に接続する。
【００１６】
本実施形態において、制御サーバー１０は、印刷装置１２、及び、管理装置１４をクライアントとする、いわゆるクラウドシステムにおけるクラウドサーバーである。制御サーバー１０は、演算処理機能を有し、印刷装置１２の要求や、管理装置１４の要求、所定の条件の成立等をトリガーとして所定の演算処理を実行し、演算処理の結果に基づくデータをＷｅｂＳｏｃｋｅｔコネクションＣＴで印刷装置１２や、管理装置１４に送信する。
なお、図２では、制御サーバー１０を、１つのブロックによって表現するが、これは、制御サーバー１０が単一のサーバー装置により構成されることを意味するものではない。例えば、制御サーバー１０は、複数のサーバー装置を含んで構成されたものであってもよく、所定のシステムの一部の機能により実現されるサーバーであってもよい。後述する各種処理を実現可能な構成であれば、その形態を問わない。
また、本実施形態では、制御サーバー１０と印刷装置１２との間で、ＷｅｂＳｏｃｋｅｔ通信を行う。しかしながら、これら装置が、ＷｅｂＳｏｃｋｅｔ通信に代えて、ＷｅｂＳｏｃｋｅｔ通信と同様な非同期な双方向通信を行う構成であってもよい。
【００１７】
このように、ＰＯＳ制御システム１で、印刷機能を有する印刷装置１２が、複数台（例えば、１０００台）、ＷｅｂＳｏｃｋｅｔコネクションＣＴにより、制御サーバー１０と通信可能に接続される。
このような構成のため、以下の効果を得ることができる。
制御サーバー１０は、複数の店舗システム１１に接続された複数の印刷装置１２から受信したデータを収集し、収集したデータに基づく情報を管理、分析できる。このため、制御サーバー１０は、情報を蓄積することができる。蓄積した情報は、いわゆるビッグデータとして活用可能である。また、制御サーバー１０は、印刷装置１２から受信したデータについて、ネットワークＧＮを介して管理装置１４を含む外部機器に送信できる。
また、印刷装置１２に、制御サーバー１０の機能により、ＰＯＳ端末８の制御に基づく印刷処理以外の処理を実行させることができる。特に、本実施形態に係るＰＯＳ制御システム１の構成で、印刷装置１２をネットワークＧＮに接続するという簡易な作業により、制御サーバー１０の機能によって印刷装置１２に各種処理を実行させることができる。また、後述するように、本実施形態では、印刷装置１２とＰＯＳ端末８とが接続された既存のシステムに改変を加えず、または、既存のシステムに影響を与えることなく、印刷装置１２が制御サーバー１０の機能を用いて各種処理を実行する。
また、制御サーバー１０に、異なる店舗システム１１の印刷装置１２がＷｅｂＳｏｃｋｅｔコネクションＣＴで接続されるため、制御サーバー１０は、複数の店舗システム１１に接続された複数の印刷装置１２を管理できる。また、制御サーバー１０は、複数の店舗システム１１に接続された複数の印刷装置１２を動作させることが可能となる。
【００１８】
図３は、本実施形態に係る印刷装置１２、ＰＯＳ端末８、制御サーバー１０、及び、管理装置１４の機能的構成を示すブロック図である。
なお、図３では、印刷装置１２を示すブロック内で、基板（インターフェース基板２０、及び、プリンター基板２１）を示すブロック内に、機能ブロックを表示する。これは、１の機能ブロックの機能が、当該１の機能ブロックに対応する基板に実装されたハードウェア（ＣＰＵ等）と、所定のソフトウェアとにより実現されることを意味する。
図３に示すように、印刷装置１２は、インターフェース基板２０と、プリンター基板２１とを備え、これら基板が、インターフェース基板２０に設けられた第１コネクター２２と、プリンター基板２１に設けられた第２コネクター２３により接続される。
印刷装置１２のインターフェース基板２０は、通信制御部２５と、印刷データ通信部２６と、バーコードリーダーデータ通信部２７と、カードリーダーデータ通信部２８と、印刷制御部２９と、第１通信部３０と、第２通信部３１と、第３通信部３２と、ＵＳＢ通信接続部３４（通信接続部）と、ＬＡＮ通信接続部３５（通信接続部）と、シリアル通信接続部３６（通信接続部）と、バーコードリーダー送受信部３７と、カードリーダー送受信部３８と、印刷装置記憶部３９と、を備える。
通信制御部２５、印刷データ通信部２６、バーコードリーダーデータ通信部２７、カードリーダーデータ通信部２８、印刷制御部２９、第１通信部３０、第２通信部３１、及び、第３通信部３２の機能については後述する。
【００１９】
ここで、ＰＯＳ端末８は、ＵＳＢ、イーサネット（登録商標）、又は、ＲＳ２３２Ｃ等のシリアル通信規格のいずれかの通信規格に従って印刷装置１２と通信可能である。
ＵＳＢ通信接続部３４は、図示しないＵＳＢポートに接続され、ＵＳＢケーブルを介して接続されたＰＯＳ端末８とＵＳＢの規格で通信する。
また、ＬＡＮ通信接続部３５は、図示しないＬＡＮポートに接続され、ＬＡＮケーブルを介して接続されたＰＯＳ端末８とイーサネットの規格で通信する。
また、シリアル通信接続部３６は、図示しないシリアルポートに接続され、シリアルケーブルを介して接続されたＰＯＳ端末８とシリアル通信規格で通信する。
バーコードリーダー送受信部３７は、バーコードリーダーデータ通信部２７の制御で、所定の規格のポートに接続されたバーコードリーダーＢＲと、所定の規格で通信する。バーコードリーダーＢＲは、バーコードを光学的に読み取る装置である。
カードリーダー送受信部３８は、カードリーダーデータ通信部２８の制御で、所定の規格のポートに接続されたカードリーダーＣＲと、所定の規格で通信する。カードリーダーＣＲは、カードに記録された情報を読み取る装置である。
印刷装置記憶部３９は、各種データを記憶する。印刷装置記憶部３９は、第１通信先情報データ３９１ａ、第２通信先情報データ３９２ａ、第３通信先情報データ３９３ａ、及び、印刷装置識別情報データ３９ｂを記憶するが、これらデータについては後述する。
印刷装置１２のプリンター基板２１は、プリンター制御部４０を備える。プリンター制御部４０の機能については、後述する。
また、印刷装置１２は、印刷部４１を備える。印刷装置１２は、印刷媒体のロール紙がセットされる。印刷部４１は、ロール紙に印刷する印刷機構、ロール紙を搬送する搬送機構、ロール紙を切断する切断機構等のレシートを発行する各種機構、装置を備える。
以下の説明では、印刷データ通信部２６、バーコードリーダーデータ通信部２７、及び、カードリーダーデータ通信部２８を区別せずに表現する場合、これら機能ブロックを総称して「機能部」と表現する。
【００２０】
図３に示すように、ＰＯＳ端末８は、ＰＯＳ端末制御部４５（制御部）と、端末通信インターフェース４６（通信部。以下、「端末通信Ｉ／Ｆ４６」と表現する。）と、を備える。
ＰＯＳ端末制御部４５は、ＣＰＵや、ＲＯＭ、ＲＡＭ、その他の回路等を備え、ＰＯＳ端末８を制御する。ＰＯＳ端末制御部４５は、機能ブロックとして、ＰＯＳアプリケーション実行部４５ａ、及び、プリンタードライバー実行部４５ｂを備える。
ＰＯＳアプリケーション実行部４５ａの機能は、ＰＯＳ端末８にインストールされたＰＯＳアプリケーションにより実行される。ＰＯＳアプリケーション実行部４５ａは、レジカウンターＲＣで行われた会計に応じて、上述したバーコードリーダーや、カードリーダーからの入力、テンキー等の入力手段に対するレジ担当者の入力に基づいて、商品マスターや顧客マスターから情報を取得して、印刷に関する情報を含む印刷情報データを生成し、プリンタードライバー実行部４５ｂに送信する。
プリンタードライバー実行部４５ｂは、ＰＯＳ端末８にインストールされたプリンタードライバーの機能により実行される。プリンタードライバー実行部４５ｂは、ＰＯＳアプリケーション実行部４５ａから受信した印刷情報データに基づいて、印刷装置１２の印刷部４１のコマンド体系に従って印刷制御データを生成し、送信する。
端末通信Ｉ／Ｆ４６は、ＰＯＳ端末制御部４５の制御で、印刷装置１２と所定の通信規格で通信する。
本実施形態では、ＰＯＳ端末制御部４５と、印刷装置１２とは、ＵＳＢケーブルで接続され、ＵＳＢの規格で通信する。
【００２１】
図３に示すように、制御サーバー１０は、通信管理部５０と、印刷データ処理部５１と、バーコードリーダー処理部５２と、カードリーダー処理部５３と、第１接続部５４と、第２接続部５５と、第３接続部５６と、制御サーバー記憶部５７（記憶部）と、制御サーバー通信インターフェース５８（以下、「制御サーバー通信Ｉ／Ｆ５８」と表現する。）と、を備える。
通信管理部５０、印刷データ処理部５１、バーコードリーダー処理部５２、カードリーダー処理部５３、第１接続部５４、第２接続部５５、及び、第３接続部５６の機能については後述する。
制御サーバー記憶部５７は、各種データを記憶する。制御サーバー記憶部５７は、コネクション管理データベース５７ａ、印刷制御データデータベース５７ｂ（以下、「印刷制御データＤＢ５７ｂ」と表現する。）、管理装置管理データベース５７ｃ（以下、「管理装置管理ＤＢ５７ｃ」と表現する。）、会員番号データデータベース５７ｄ（以下、「会員番号データＤＢ５７ｄ」と表現する。）、及び、店舗情報管理データベース５７ｅ（以下、「店舗情報管理ＤＢ５７ｅ」と表現する。）を記憶する。これらデータについては後述する。
制御サーバー通信Ｉ／Ｆ５８は、ネットワークＧＮを介して、管理装置１４を含む外部機器と所定の通信規格で通信する。
【００２２】
図３に示すように、管理装置１４は、管理装置制御部７０（装置制御部）と、管理装置通信インターフェース７１（以下、「管理装置通信Ｉ／Ｆ７１」と表現する。）と、管理装置記憶部７２と、を備える。
管理装置制御部７０は、ＣＰＵや、ＲＯＭ、ＲＡＭ、その他の周辺回路等を備え、管理装置１４を制御する。
管理装置通信Ｉ／Ｆ７１は、ネットワークＧＮを介して、制御サーバー１０と通信する。
管理装置記憶部７２は、各種データを記憶する。管理装置記憶部７２は、条件データベース７２ａを記憶するが、これについては後述する。
【００２３】
なお、図３では、制御サーバー１０と、制御サーバー１０に接続された１つの印刷装置１２との関係を示す。制御サーバー１０に、複数の印刷装置１２が接続される場合は、制御サーバー１０は、複数の印刷装置１２との間でＷｅｂＳｏｃｋｅｔコネクションＣＴを確立し、印刷装置１２とＷｅｂＳｏｃｋｅｔコネクションＣＴでＷｅｂＳｏｃｋｅｔ通信する。
【００２４】
図３に示すように、印刷装置１２は、印刷データ通信部２６、バーコードリーダーデータ通信部２７、及び、カードリーダーデータ通信部２８の３つの機能部を備える。そして、印刷装置１２と制御サーバー１０との間では、３つの機能部に応じて、３つのＷｅｂＳｏｃｋｅｔコネクションＣＴが確立される。具体的には、印刷データ通信部２６に対応する第１ＷｅｂＳｏｃｋｅｔコネクションＣＴ１、カードリーダーデータ通信部２８に対応する第２ＷｅｂＳｏｃｋｅｔコネクションＣＴ２、及び、バーコードリーダーデータ通信部２７に対応する第３ＷｅｂＳｏｃｋｅｔコネクションＣＴ３が確立される。
以下、ＷｅｂＳｏｃｋｅｔコネクションＣＴの確立時の印刷装置１２、及び、制御サーバー１０の動作について、第３ＷｅｂＳｏｃｋｅｔコネクションＣＴ３を確立する場合を例にして説明する。
図４は、第３ＷｅｂＳｏｃｋｅｔコネクションＣＴ３の確立時の印刷装置１２、及び、制御サーバー１０の動作を示すフローチャートである。（Ａ）は印刷装置１２の動作を示し、（Ｂ）は制御サーバー１０の動作を示す。
以下の説明では、フローチャートの開始時点で、印刷装置１２は、対応する店舗システム１１のローカルエリアネットワークＬＮに接続され、ネットワークＧＮにアクセス可能である。
また、図４に示すフローチャートが示す動作は、印刷装置１２の電源がオンされた場合や、印刷装置１２がネットワークＧＮに通信可能に接続された場合、ユーザーから指示があった場合等に実行される。
【００２５】
また、以下の説明において、印刷装置１２が備える通信制御部２５、印刷データ通信部２６、バーコードリーダーデータ通信部２７、カードリーダーデータ通信部２８、印刷制御部２９、及び、制御サーバー１０が備える印刷データ処理部５１、バーコードリーダー処理部５２、カードリーダー処理部５３の機能は、以下のようにして実現される。
例えば、これら機能ブロックは、オブジェクトである。オブジェクトとは、オブジェクト指向プログラミングで生成されるインスタンス、すなわち、データ及びメソッドの集合として定義された機能ブロックである。そして、これら機能ブロックの機能は、機能ブロックに実装されたメソッドが呼び出されることによって実行される。
また、これら機能ブロックの機能は、アプリケーションがＣＰＵ等のハードウェアによって読み出され実行されることによって、実行される。１つのアプリケーションにより１つの機能ブロックの機能が実行される構成であってもよい。また、１つのアプリケーションにより複数の機能ブロックの機能が実行される構成であってもよい。また、複数のアプリケーションにより１つの機能ブロックの機能が実行される構成であってもよい。
機能ブロックは、機能をブロックとして表現したものであり、特定のアプリケーションや、ハードウェア等を意味するものではない。
【００２６】
図４（Ａ）に示すように、印刷装置１２のバーコードリーダーデータ通信部２７は、バーコードリーダーＢＲと通信可能となったか否かを監視する（ステップＳＡ１）。
バーコードリーダーデータ通信部２７とバーコードリーダーＢＲとが通信可能となる場合とは、印刷装置１２にバーコードリーダーＢＲが接続された場合である。また、バーコードリーダーＢＲが電源を有する場合は、接続されたバーコードリーダーＢＲの電源がオンとなった場合である。
バーコードリーダーＢＲと通信可能となった場合（ステップＳＡ１）、バーコードリーダーデータ通信部２７は、印刷装置記憶部３９にアクセスし、印刷装置記憶部３９が記憶する第３通信先情報データ３９３ａを取得する（ステップＳＡ２）。
第３通信先情報データ３９３ａは、第３ＷｅｂＳｏｃｋｅｔコネクションＣＴ３を確立する際に、アクセスする制御サーバー１０のアドレス（ドメイン名、ＩＰアドレス、パス名等。）を示すデータである。ここで、ＷｅｂＳｏｃｋｅｔで、ＷｅｂＳｏｃｋｅｔコネクションＣＴの確立時に、クライアント（本例では、印刷装置１２）は、サーバー（本例では、制御サーバー１０）に対して、ＨＴＴＰ（Hypertext Transfer Protocol）に基づくハンドシェイクを行う。ハンドシェイクで、クライアントは、サーバーのアドレスが含まれるメッセージ等のメッセージを送信するが、第３通信先情報データ３９３ａは、アクセス先のアドレスが含まれる。
印刷装置１２の機能部に応じて、ＷｅｂＳｏｃｋｅｔコネクションＣＴを確立するときのアクセス先のアドレスが異なる。本例では、印刷制御部１７と、バーコードリーダーデータ通信部２７と、カードリーダーデータ通信部２８とは、種類が異なる機能部である。そして、印刷データ通信部２６が第１ＷｅｂＳｏｃｋｅｔコネクションＣＴ１を確立するときにアクセスするアドレスと、カードリーダーデータ通信部２８が第２ＷｅｂＳｏｃｋｅｔコネクションＣＴ２を確立するときにアクセスするアドレスと、バーコードリーダーデータ通信部２７が第３ＷｅｂＳｏｃｋｅｔコネクションＣＴ３を確立するときにアクセスするアドレスは異なる。印刷装置記憶部３９は、第１通信先情報データ３９１ａ、第２通信先情報データ３９２ａ、及び、第３通信先情報データ３９３ａを記憶する。第１通信先情報データ３９１ａは印刷データ通信部２６が第１ＷｅｂＳｏｃｋｅｔコネクションＣＴ１を確立するときにアクセスするアドレスを含む。第２通信先情報データ３９２ａはカードリーダーデータ通信部２８が第２ＷｅｂＳｏｃｋｅｔコネクションＣＴ２を確立するときにアクセスするアドレスを含む。第３通信先情報データ３９３ａはバーコードリーダーデータ通信部２７が第３ＷｅｂＳｏｃｋｅｔコネクションＣＴ３を確立するときにアクセスするアドレスを含む。
【００２７】
次いで、バーコードリーダーデータ通信部２７は、第３通信先情報データ３９３ａが示すアドレスに基づいて制御サーバー１０にアクセスする。そして、バーコードリーダーデータ通信部２７は、制御サーバー１０のバーコードリーダー処理部５２と、第３通信部３２と第３接続部５６との間に、第３ＷｅｂＳｏｃｋｅｔコネクションＣＴ３を確立する（ステップＳＡ３、ステップＳＢ１）。印刷装置１２のバーコードリーダーデータ通信部２７は、制御サーバー１０からの要求を受けることなく、バーコードリーダーＢＲと通信可能となったことをトリガーとして第３ＷｅｂＳｏｃｋｅｔコネクションＣＴ３を確立する。
第３通信部３２、及び、第３接続部５６は、ＷｅｂＳｏｃｋｅｔの規格、手続きに従ってデータの送受信を行うＷｅｂＳｏｃｋｅｔインターフェースである。これら機能ブロックは、例えば、ＷｅｂＳｏｃｋｅｔのＳｏｃｋｅｔライブラリーを用いて生成される。
第３通信部３２は、バーコードリーダーデータ通信部２７から受信したデータについて、ＷｅｂＳｏｃｋｅｔの規格に従って処理を行い、ＷｅｂＳｏｃｋｅｔの手続きで第３ＷｅｂＳｏｃｋｅｔコネクションＣＴ３によりデータを送信する機能を有する。また、第３通信部３２は、第３ＷｅｂＳｏｃｋｅｔコネクションＣＴ３により受信したデータについて、ＷｅｂＳｏｃｋｅｔに従った処理を行って、バーコードリーダーデータ通信部２７に送信する機能を有する。第１通信部３０、第２通信部３１、第１接続部５４、第２接続部５５、及び、第３接続部５６についても同様である。
【００２８】
次いで、バーコードリーダーデータ通信部２７は、印刷装置記憶部３９にアクセスし、印刷装置記憶部３９が記憶する印刷装置識別情報データ３９ｂを取得する（ステップＳＡ４）。印刷装置識別情報データ３９ｂは、印刷装置１２の識別情報（以下、「印刷装置識別情報」という。）を示すデータである。印刷装置識別情報は、例えば、印刷装置１２の製造段階で、印刷装置１２に割り当てられるシリアル番号である。
次いで、バーコードリーダーデータ通信部２７は、印刷装置識別情報データ３９ｂを第３通信部３２に送信する（ステップＳＡ５）。
第３通信部３２は、受信した印刷装置識別情報データ３９ｂを、第３ＷｅｂＳｏｃｋｅｔコネクションＣＴ３で、制御サーバー１０に送信する（ステップＳＡ６）。
【００２９】
図４（Ｂ）に示すように、制御サーバー１０の第３接続部５６は、第３ＷｅｂＳｏｃｋｅｔコネクションＣＴ３で、印刷装置識別情報データ３９ｂを受信する（ステップＳＢ２）。次いで、第３接続部５６は、受信した印刷装置識別情報データ３９ｂを通信管理部５０に送信する（ステップＳＢ３）。
通信管理部５０は、制御サーバー記憶部５７が記憶するコネクション管理データベース５７ａにアクセスする（ステップＳＢ４）。コネクション管理データベース５７ａは、印刷装置１２との間で確立しているＷｅｂＳｏｃｋｅｔコネクションＣＴについて、ＷｅｂＳｏｃｋｅｔコネクションＣＴの識別情報であるコネクション識別情報と、印刷装置１２の印刷装置識別情報とを対応付けて記憶するデータベースである。次いで、通信管理部５０は、コネクション管理データベース５７ａに１件のレコードを生成する。そして、通信管理部５０は、生成したレコードにおいて、ステップＳＢ１で確立したＷｅｂＳｏｃｋｅｔコネクションＣＴ（本例では、第３ＷｅｂＳｏｃｋｅｔコネクションＣＴ３）のコネクション識別情報と、受信した印刷装置識別情報データ３９ｂが示す印刷装置識別情報とを対応付けて記憶する（ステップＳＢ５）。通信管理部５０は、ＷｅｂＳｏｃｋｅｔコネクションＣＴが確立したときに、既に確立しているＷｅｂＳｏｃｋｅｔコネクションＣＴのコネクション識別情報と異なる値のコネクション識別情報を生成する。ステップＳＢ５の処理により、ＷｅｂＳｏｃｋｅｔコネクションＣＴと、印刷装置１２との対応関係が管理される。
このように、印刷装置１２のバーコードリーダーデータ通信部２７は、制御サーバー１０からの要求を受けることなく、バーコードリーダーＢＲと通信可能となったことをトリガーとして第３ＷｅｂＳｏｃｋｅｔコネクションＣＴ３を確立する。このような構成のため、ユーザーは、第３ＷｅｂＳｏｃｋｅｔコネクションＣＴ３を確立するために、煩雑な作業を行う必要がない。また、ユーザーは、ＷｅｂＳｏｃｋｅｔコネクションＣＴを確立するために、専門的な知識も必要ない。
また、バーコードリーダーＢＲが通信可能となり、バーコードリーダーＢＲからバーコードリーダーデータ通信部２７に対してデータが送信される可能性が生じた後に、第３ＷｅｂＳｏｃｋｅｔコネクションＣＴ３が確立される。このため、不必要に第３ＷｅｂＳｏｃｋｅｔコネクションＣＴ３を確立する処理が行われず、また、不必要に第３ＷｅｂＳｏｃｋｅｔコネクションＣＴ３が確立された状態が維持されず、リソースの有効活用を実現できる。
【００３０】
以上、第３ＷｅｂＳｏｃｋｅｔコネクションＣＴ３確立時の印刷装置１２及び制御サーバー１０の動作を説明したが、第１ＷｅｂＳｏｃｋｅｔコネクションＣＴ１、及び、第２ＷｅｂＳｏｃｋｅｔコネクションＣＴ２の確立時も同様の処理が行われる。
以下、第１ＷｅｂＳｏｃｋｅｔコネクションＣＴ１の確立時の処理について説明する。
印刷装置１２の電源がオンされると、印刷データ通信部２６は、通信制御部２５からデータを受信したか否かを監視する。通信制御部２５が印刷データ通信部２６にデータを送信する処理については後に詳述する。
印刷装置１２の電源のオン後に、通信制御部２５から印刷制御データを受信した場合、印刷データ通信部２６は、制御サーバー１０の印刷データ処理部５１と、第１通信部３０と第１接続部５４との間に第１ＷｅｂＳｏｃｋｅｔコネクションＣＴ１を確立する。当該コネクションの確立に応じて、通信管理部５０は、コネクション管理データベース５７ａに、当該コネクションのコネクション識別情報と、印刷装置１２の印刷装置識別情報とを対応付けて記憶する。
このように、印刷装置１２の印刷データ通信部２６は、電源のオン後に通信制御部２５からデータを受信したことをトリガーとして、第１ＷｅｂＳｏｃｋｅｔコネクションＣＴ１を確立する。当該コネクションの確立後は、印刷データ通信部２６は、当該コネクションにより、データの送受信を行う。
次に、第２ＷｅｂＳｏｃｋｅｔコネクションＣＴ２の確立時の処理について、図４のフローチャートを援用して説明する。
図４（Ａ）のステップＳＡ１において、印刷装置１２のカードリーダーデータ通信部２８は、カードリーダーＣＲと通信可能となったか否かを監視する。カードリーダーデータ通信部２８とカードリーダーＣＲとが通信可能となる場合とは、例えば、印刷装置１２にカードリーダーＣＲが接続された場合である。また、カードリーダーＣＲが電源を有する場合は、接続されたカードリーダーＣＲの電源がオンとなった場合である。
カードリーダーＣＲが通信可能となった場合（ステップＳＡ１：ＹＥＳ）、カードリーダーデータ通信部２８は、上記で説明した方法と同様の方法で、第２ＷｅｂＳｏｃｋｅｔコネクションＣＴ２を確立する。制御サーバー１０の通信管理部５０は、コネクション管理データベース５７ａに、第２ＷｅｂＳｏｃｋｅｔコネクションＣＴ２のコネクション識別情報と印刷装置１２の印刷装置識別情報とを対応付けて記憶する。
【００３１】
このように、印刷装置１２と制御サーバー１０との間で、機能部ごとにＷｅｂＳｏｃｋｅｔコネクションＣＴが確立される。このため、１の機能部は、制御サーバー１０の対応する処理部との間でのデータの送受信を、他の機能部とは独立して、当該他の処理部の通信に影響を受けることなく、また、影響を与えることなく実行できる。
【００３２】
以上のようにして、第１通信部３０と、第１接続部５４との間で、第１ＷｅｂＳｏｃｋｅｔコネクションＣＴ１が確立する。
これに伴って、印刷装置１２の印刷データ通信部２６と制御サーバー１０の印刷データ処理部５１との間で、第１ＷｅｂＳｏｃｋｅｔコネクションＣＴ１に基づく第１機能部間通信経路ＫＴ１が確立する。第１機能部間通信経路ＫＴ１は、印刷データ通信部２６と印刷データ処理部５１との間で通信するデータを送受信する論理的な通信経路である。印刷データ通信部２６と印刷データ処理部５１とは、第１機能部間通信経路ＫＴ１により、非同期な双方向通信を行う。第１機能部間通信経路ＫＴ１により行われる非同期な双方向通信については後述する。
同様に、第２ＷｅｂＳｏｃｋｅｔコネクションＣＴ２の確立で、印刷装置１２のカードリーダーデータ通信部２８と制御サーバー１０のカードリーダー処理部５３との間で、第２機能部間通信経路ＫＴ２が確立する。カードリーダーデータ通信部２８とカードリーダー処理部５３とは、第２機能部間通信経路ＫＴ２により、非同期な双方向通信を行う。
また同様に、第３ＷｅｂＳｏｃｋｅｔコネクションＣＴ３の確立で、印刷装置１２のバーコードリーダーデータ通信部２７と制御サーバー１０のバーコードリーダー処理部５２との間で、第３機能部間通信経路ＫＴ３が確立する。バーコードリーダーデータ通信部２７とバーコードリーダー処理部５２とは、第３機能部間通信経路ＫＴ３により、非同期な双方向通信を行う。
【００３３】
ＰＯＳ制御システム１は、印刷装置１２、及び、ＰＯＳ端末８により構成された既存のシステムを用いて構築される。既存のシステムでは、ＰＯＳ端末８は、ＰＯＳアプリケーション、及び、プリンタードライバーの機能により、印刷制御データを生成し、印刷装置１２に送信する。印刷装置１２は、印刷制御データに基づいて、印刷部４１により印刷を実行する。
そして、ＰＯＳ制御システム１は、ＰＯＳ端末８に改変（例えば、ＰＯＳアプリケーションのプログラム修正）を加えることなく、ＰＯＳ端末８が印刷装置１２に送信する印刷制御データを用いることを目的の１つとする。
より詳細には、ＰＯＳ制御システム１で、印刷装置１２にインターフェース基板２０が搭載されることにより、印刷装置１２に拡張機能を有する。印刷装置１２は、拡張機能により、ネットワークＧＮを介して印刷制御データを制御サーバー１０に送信する。また、制御サーバー１０は、受信した印刷制御データに基づいて、後述する各種処理を実行する。
以下、ＰＯＳ端末８が送信する印刷制御データの内容について例を挙げて説明し、次に、制御サーバー１０が備える各装置の印刷制御データに基づく処理について説明する。
【００３４】
図５（Ａ）は、印刷装置１２によって発行されるレシートの一例を示す図である。また、図５（Ｂ）は、（Ａ）が示すレシートを発行させる印刷制御データの内容を示す図である。
図５（Ａ）に示すように、レシートの先頭に、トップロゴを示すトップロゴ画像Ｒ１が印刷される。
トップロゴ画像Ｒ１の下方に、レシートが発行された日時（日付、及び、時刻）を示す発行日時画像Ｒ２が印刷される。発行日時画像Ｒ２が示す文字列（日時を示す文字列）は、右寄せで印刷される。
発行日時画像Ｒ２の下方に、購入商品関連画像Ｒ３が印刷される。購入商品関連画像Ｒ３は、顧客が購入した商品について、顧客が購入した商品の名称、商品の単価、商品の購入数量、および、商品の購入金額（商品の単価×商品の購入数量によって算出される金額）を一覧表示する画像である。購入商品関連画像Ｒ３において、１行の文字列は、左寄せで印刷される。
購入商品関連画像Ｒ３の下方に、購入商品の合計金額を示す合計金額画像Ｒ４が印刷される。合計金額画像Ｒ４に係る文字列は、左寄せで、太字で印刷される。
合計金額画像Ｒ４の下方に、レシートの識別番号のバーコードを示すバーコード画像Ｒ５が印刷される。
バーコード画像Ｒ５の下方に、顧客の会員番号を示す会員番号画像Ｒ６が印刷される。会員番号画像Ｒ６が示す文字列は、左寄せで印刷される。ここで、上述したように、ＰＯＳ端末８に、顧客が所有する会員カードを読み取るカードリーダーが接続される。そして、レジカウンターＲＣにおける会計に際し、顧客が会員カードを提示した場合、当該会員カードがカードリーダーによって読み取られる。カードリーダーによって読み取られた会員番号が、ＰＯＳ端末８の所定の記憶領域に記憶される。
会員番号画像Ｒ６の下方に、レシートの末端に定型的に記録される文字列を示す末端画像Ｒ７が印刷される。本例では、末端画像Ｒ７が示す文字列は、「Ｔｈａｎｋ△Ｙｏｕ」（△は、スペースを表わす。以下同じ。）である。末端画像Ｒ７が示す文字列は、中央寄せで印刷される。
なお、図５（Ａ）では、レシートのレイアウトを単純化している。通常、レシートには、税に関する情報や、おつりに関する情報等、上記で示した以外の情報が印刷される。
【００３５】
図５（Ｂ）に示すように、印刷制御データは、複数のコマンドを含んで構成される。
図５（Ｂ）に示すように、印刷制御データは、トップロゴ印刷指示コマンドＣ１を含む。このトップロゴ印刷指示コマンドＣ１は、トップロゴ画像Ｒ１の印刷を指示するコマンドである。トップロゴ印刷指示コマンドＣ１は、グラフィック画像印刷指示コマンドＧＣを含んで構成される。グラフィック画像印刷指示コマンドＧＣは、グラフィック画像の印刷を指示する命令コードと、印刷するグラフィック画像の画像データと、を含んで構成される。画像データは、ビットマップデータ等の、画素ごとに、色の情報を階調値として保持するデータである。グラフィック画像印刷指示コマンドＧＣは、「ＸＸＸ“画像データ”」（ただし、「ＸＸＸ」は、画像データに基づく画像の印刷を指示する命令コード。）という構成である。本例のトップロゴ印刷指示コマンドＣ１に係るグラフィック画像印刷指示コマンドＧＣは、「ＸＸＸ“トップロゴ画像Ｒ１の画像データ”」という構成である。
【００３６】
印刷制御データにおいて、トップロゴ印刷指示コマンドＣ１の次には、発行日時印刷指示コマンドＣ２が設けられる。発行日時印刷指示コマンドＣ２は、発行日時画像Ｒ２の印刷を指示するコマンドであり、文字列装飾コマンドＳＣ、文字列印刷指示コマンドＭＣ、及び、改行コマンドＬＦを含んで構成される。
文字列装飾コマンドＳＣは、文字列印刷指示コマンドＭＣが指定する文字列に付加する装飾を指定するコマンドである。装飾は、印刷する文字列に対して描画に関する何らかの処理を行うことを意味する。装飾としては、例えば、文字列の位置の移動（左寄せや、中央寄せ、右寄せ等）、文字列の拡大、縮小、回転、強調、太字化、装飾文字又は装飾記号の付加等がある。本例の発行日時印刷指示コマンドＣ２に係る文字列装飾コマンドＳＣは、印刷する文字列について、右寄せの装飾を行うことを指示する。
文字列印刷指示コマンドＭＣは、文字列を指定し、指定した文字列の印刷を指示するコマンドである。文字列印刷指示コマンドＭＣは、文字列の印刷を指示する命令コードと、文字列を指定するデータ部と、を含んで構成される。データ部は、所定の文字コード（例えば、Ｕｎｉｃｏｄｅや、アスキーコード）によって表現された文字の組み合わせが含まれる。本例の発行日時印刷指示コマンドＣ２に係る文字列印刷指示コマンドＭＣは、「ＹＹＹ“２０１３／１／１／１２：００”」（ただし、「ＹＹＹ」は、文字列の記録を指示する命令コードである。ダブルクォーテーション内は、データ部であり、印刷する文字列が指定される。）という構成である。印刷装置１２によって印刷可能な文字について、各文字のフォントデータが印刷装置１２に登録される。印刷装置１２のプリンター制御部４０は、文字列印刷指示コマンドＭＣに基づいて、印刷する各文字をフォントデータに変換し、変換したフォントデータに基づいて印刷を行う。
改行コマンドＬＦは、改行を指示するコマンドである。
【００３７】
印刷制御データにおいて、発行日時印刷指示コマンドＣ２の次には、明細印刷指示コマンドＣ３が設けられる。明細印刷指示コマンドＣ３は、購入商品に対して存在する。
明細印刷指示コマンドＣ３は、左寄せの装飾を指示する文字列装飾コマンドＳＣを含む。また、明細印刷指示コマンドＣ３は、商品の名称、商品の単価、購入数量、および、購入金額を表わす文字列を指定して、当該文字列の印刷を指示する文字列印刷指示コマンドＭＣと、改行コマンドＬＦとを含む。
印刷制御データにおいて、明細印刷指示コマンドＣ３の次には、合計金額印刷指示コマンドＣ４が設けられる。合計金額印刷指示コマンドＣ４は、太字化、および、左寄せの装飾を指示する文字列装飾コマンドＳＣを含む。また、合計金額印刷指示コマンドＣ４は、文字列「Ｔｏｔａｌ」、及び、合計金額を示す文字列を指定して、当該文字列の印刷を指示する文字列印刷指示コマンドＭＣと、改行コマンドＬＦとを含む。
印刷制御データにおいて、合計金額印刷指示コマンドＣ４の次には、バーコード印刷指示コマンドＣ５が設けられる。バーコード印刷指示コマンドＣ５は、コードを指定し、指定したコードを示すバーコード画像Ｒ５を印刷することを指示するコマンドである。印刷装置１２には、バーコード印刷指示コマンドＣ５が指定するコードに基づいて、バーコードの画像データを生成し、生成した画像データに基づいて、バーコード画像Ｒ５を印刷する機能を含む。
印刷制御データにおいて、バーコード印刷指示コマンドＣ５の次には、会員番号印刷指示コマンドＣ６が含まれる。会員番号印刷指示コマンドＣ６は、左寄せの装飾を指示する文字列装飾コマンドＳＣを含む。また、会員番号印刷指示コマンドＣ６は、「ｍｅｍｂｅｒｓｈｉｐ△ＮＯ．」という文字列、および、会員番号を示す文字列を指定して、当該文字列の印刷を指示する文字列印刷指示コマンドＭＣと、改行コマンドＬＦとを含む。
印刷制御データにおいて、会員番号印刷指示コマンドＣ６の次には、末端画像印刷指示コマンドＣ７を含む。末端画像印刷指示コマンドＣ７は、中央寄せの装飾を指示する文字列装飾コマンドＳＣを含む。また、末端画像印刷指示コマンドＣ７は、「Ｔｈａｎｋ△Ｙｏｕ」という文字列を指定して、当該文字列の印刷を指示する文字列印刷指示コマンドＭＣと、改行コマンドＬＦとを含む。
印刷制御データにおいて、末端画像印刷指示コマンドＣ７の次には、切断指示コマンドＳＳが含まれる。切断指示コマンドＳＳは、ロール紙の切断を指示するコマンドである。レシートの発行を指示する印刷制御データにおいて、切断指示コマンドＳＳが最後のコマンドとなる。
【００３８】
次に、ＰＯＳ端末８が印刷装置１２に印刷制御データを送信したときのＰＯＳ制御システム１の各装置の動作について説明する。
図６、図７は、ＰＯＳ端末８が印刷装置１２印刷制御データを送信したときのＰＯＳ制御システム１の各装置の動作を示すフローチャートである。図６（Ａ）はＰＯＳ端末８の動作を、（Ｂ）は印刷装置１２の動作を、（Ｃ）は制御サーバー１０の動作を、（Ｄ）は管理装置１４の動作を示す。
以下の説明では、第１機能部間通信経路ＫＴ１による印刷データ通信部２６と、印刷データ処理部５１との非同期な双方向通信についても説明する。
図６（Ａ）に示すように、レジカウンターＲＣでの決済処理に基づいて、ＰＯＳ端末８のＰＯＳ端末制御部４５のＰＯＳアプリケーション実行部４５ａ、及び、プリンタードライバー実行部４５ｂは、印刷制御データを生成する（ステップＳＣ１）。印刷制御データは、レジカウンターＲＣでの決済処理に基づくレシートの発行を指示するデータである。ステップＳＣ１で生成された印刷制御データは、バイナリーデータである。また、以下の説明では、ステップＳＣ１で生成された印刷制御データの内容は、図５（Ｂ）で例示した印刷制御データの内容である。
次いで、ＰＯＳ端末制御部４５は、端末通信Ｉ／Ｆ４６を制御して、印刷装置１２に印刷制御データを送信する（ステップＳＣ２）。
【００３９】
図６（Ｂ）に示すように、ＵＳＢ通信接続部３４は、ＰＯＳ端末８から送信された印刷制御データを受信する（ステップＳＤ１）。上述したように、本例では、ＰＯＳ端末８と印刷装置１２とはＵＳＢで接続される。次いで、ＵＳＢ通信接続部３４は、受信した印刷制御データを、通信制御部２５に送信する（ステップＳＤ２）。
通信制御部２５は、受信した印刷制御データを、ＲＡＭ等に形成されたワークエリアに記憶する。通信制御部２５は、印刷制御データを印刷制御部２９に送信する（ステップＳＤ３）。
印刷制御部２９は、プリンター制御部４０との間での通信を確立し、印刷制御データをプリンター制御部４０に送信する（ステップＳＤ４）。印刷制御部２９とプリンター制御部４０とは、ＵＳＢで通信する。ステップＳＤ４で、印刷制御部２９は、ＵＳＢで、印刷制御データを、プリンター制御部４０に送信する。インターフェース基板２０とプリンター基板２１とを接続する第１コネクター２２、及び、第２コネクター２３は、ＵＳＢの規格のコネクターである。
なお、印刷制御部２９と、プリンター制御部４０の通信の通信規格は、ＵＳＢに限らない。ＳＰＩ（Serial Peripheral Interface）に対応する通信規格等、他の通信規格であってもよい。
プリンター制御部４０は、印刷制御データに基づいて印刷部４１を制御して、印刷部４１を動作させる制御回路である。印刷制御データを受信したプリンター制御部４０は、印刷制御データに基づいて、印刷部４１を制御して、図５（Ａ）で例示したレシートを発行する（ステップＳＤ５）。
【００４０】
ステップＳＤ５の処理について詳述すると、プリンター制御部４０は、トップロゴ印刷指示コマンドＣ１に基づいてトップロゴ画像Ｒ１を印刷する。トップロゴ画像Ｒ１の印刷時、プリンター制御部４０は、グラフィック画像印刷指示コマンドＧＣに含まれるトップロゴ画像Ｒ１の画像データを図示せぬ画像バッファーに展開する。次いで、プリンター制御部４０は、画像バッファーに展開した画像データに基づいて、印刷部４１の印刷機構、搬送機構、その他の機構を制御して、トップロゴ画像Ｒ１を印刷する。
次いで、プリンター制御部４０は、発行日時印刷指示コマンドＣ２に基づいて発行日時画像Ｒ２を印刷する。発行日時画像Ｒ２の印刷時、プリンター制御部４０は、文字列印刷指示コマンドＭＣが指定する文字列をフォントデータに変換し、文字列装飾コマンドが指定する装飾を反映して、フォントデータを画像バッファーに展開する。次いで、プリンター制御部４０は、画像バッファーに展開した画像データに基づいて、印刷部４１の印刷機構、搬送機構、その他の機構を制御して、発行日時画像Ｒ２を印刷する。
同様にして、プリンター制御部４０は、明細印刷指示コマンドＣ３、合計金額印刷指示コマンドＣ４に基づいて、購入商品関連画像Ｒ３、合計金額画像Ｒ４を印刷する。
次いで、プリンター制御部４０は、バーコード印刷指示コマンドＣ５に基づいて、バーコード画像Ｒ５を印刷する。バーコード画像Ｒ５の印刷時、プリンター制御部４０は、バーコード印刷指示コマンドＣ５が指定するコードに基づいて、バーコード画像Ｒ５の画像データを生成する。次いで、プリンター制御部４０は、バーコード画像Ｒ５の画像データを画像バッファーに展開し、印刷部４１の印刷機構、搬送機構、その他の機構を制御して、バーコード画像Ｒ５を印刷する。
次いで、プリンター制御部４０は、会員番号印刷指示コマンドＣ６、末端画像印刷指示コマンドＣ７に基づいて、会員番号画像Ｒ６、末端画像Ｒ７を印刷する。
次いで、プリンター制御部４０は、切断指示コマンドＳＳに基づいて、切断機構、搬送機構、その他の機構を制御して、ロール紙を切断する。
以上により、図５（Ｂ）で例示した印刷制御データに基づいて、図５（Ａ）で例示したレシートが発行される。
【００４１】
印刷制御データに基づくレシートの発行が完了すると、プリンター制御部４０は、処理結果を示す処理結果通知データを生成し、印刷制御部２９に送信する（ステップＳＤ６）。処理結果通知データは、レシートの発行が正常に終了した場合はその旨を示し、レシートの発行が失敗した場合はその旨、及び、原因を示すデータである。本例では、ステップＳＤ５でレシートの発行が正常に終了し、ステップＳＤ６で、プリンター制御部４０は、正常終了を示す処理結果通知データを送信する。
印刷制御部２９は、受信した処理結果通知データを、通信制御部２５に送信する（ステップＳＤ７）。
通信制御部２５は、受信した処理結果通知データの内容が、レシートの発行が正常に終了したことを示すものであるか否かを判別する（ステップＳＤ８）。
処理結果通知データの内容が、レシートの発行が正常に終了したことを示すものではない場合（ステップＳＤ８：ＮＯ）、通信制御部２５は、対応する処理を実行する（ステップＳＤ９）。例えば、通信制御部２５は、ＰＯＳ端末８に、処理結果通知データを送信する。ＰＯＳ端末８は、処理結果通知データに基づいて、レシートの発行が失敗したことのユーザーへの報知等を実行する。また例えば、通信制御部２５は、印刷装置１２に配設されたＬＥＤ等の報知手段を制御して、レシートの発行が失敗したことをユーザーに報知する。
一方、ステップＳＤ８において、処理結果通知データの内容が、レシートの発行が正常に終了したことを示すものである場合（ステップＳＤ８：ＹＥＳ）、通信制御部２５は、ワークエリアに記憶した印刷制御データを、印刷データ通信部２６に送信する（ステップＳＤ１０）。
ステップＳＤ１０の処理を詳述する。
上述したように、通信制御部２５は、受信した印刷制御データを、ワークエリアに記憶する。ワークエリアは、受信バッファーとして機能する。ワークエリアへの記憶に際して、通信制御部２５は、ワークエリアに印刷制御データに含まれる各コマンドを順番に格納していく。印刷制御データに含まれる各コマンドのワークエリアへの記憶中、通信制御部２５は、ワークエリアに記憶したコマンドが、切断指示コマンドＳＳであるか否かを監視する。切断指示コマンドＳＳである場合、図示しないＲＴＣ（real time clock）の出力に基づいて、通信制御部２５は、現在の日時（日付＋時刻）を示すデータ（以下、「発行日時データ」という。）を取得する。現在の発行日時データの取得方法は、上記方法に限らず、どのような方法であってもよい。発行日時データが示す日時は、レシートを発行した日時に対応する。
ステップＳＤ１０で、通信制御部２５は、印刷制御データの先頭に、時刻データを付加して、印刷データ通信部２６に送信する。時刻データの利用方法については、後述する。
【００４２】
このように、本実施形態では、通信制御部２５は、印刷部４１によるレシートの発行が正常に終了した場合に、印刷制御データを印刷データ通信部２６に送信する。このため、以下の効果を奏する。すなわち、後に明らかとなるとおり、印刷データ通信部２６に送信された印刷制御データは、制御サーバー１０に送信される。制御サーバー１０は、印刷制御データ、及び、印刷制御データに基づくデータを記憶する。そして、レシートの発行が正常に終了した場合に、通信制御部２５から印刷データ通信部２６に対して印刷制御データが送信される構成のため、実際に発行されたレシートに対応する印刷制御データが、制御サーバー１０に送信され、制御サーバー１０で記憶される。処理が失敗し、発行されなかったレシートに対応する印刷制御データは、制御サーバー１０に送信されず、制御サーバー１０で記憶されない。従って、制御サーバー１０は、発行されたレシートに対応する印刷制御データ、及び、印刷制御データに基づくデータを記憶することができる。
【００４３】
印刷データ通信部２６は、受信した印刷制御データを、第１通信部３０に送信する（ステップＳＤ１１）。
以下、ステップＳＤ１１の処理について詳述する。
図５（Ｂ）を用いて説明したとおり、印刷制御データは、画像の印刷を指示する複数のコマンドを備え、最後のコマンドとして、切断指示コマンドＳＳを備える。
そして、印刷データ通信部２６は、通信制御部２５から、印刷制御データに含まれるコマンドを、受信し、切断指示コマンドＳＳを受信した場合に、１つのレシートに対応する印刷制御データの受信が完了したと判断する。そして、ステップＳＤ１１において、印刷データ通信部２６は、１つ前の切断指示コマンドＳＳを受信してから、新たに切断指示コマンドＳＳを受信するまでに受信したコマンド（新たに受信した切断指示コマンドＳＳを含む。）を、１つのレシートに対応する印刷制御データとして、第１通信部３０に送信する。
このような構成のため、通信制御部２５から印刷データ通信部２６に対して、複数のレシートに対応する印刷制御データが送信された場合であっても、印刷データ通信部２６は、１のレシートに対応する印刷制御データを、異なるレシートに対応する印刷制御データとして、第１通信部３０に送信できる。
第１通信部３０は、受信した印刷制御データを、第１ＷｅｂＳｏｃｋｅｔコネクションＣＴ１により、制御サーバー１０に送信する（ステップＳＤ１２）。ステップＳＤ１２で第１通信部３０が送信した印刷制御データの先頭には、発行日時データが付加されている。
【００４４】
図６（Ｃ）に示すように、制御サーバー１０の第１接続部５４は、第１ＷｅｂＳｏｃｋｅｔコネクションＣＴ１により、印刷制御データを受信する（ステップＳＥ１）。次いで、第１接続部５４は、受信した印刷制御データを、印刷データ処理部５１に送信する（ステップＳＥ２）。
印刷データ処理部５１は、受信した印刷制御データを、ＲＡＭ等に形成されたワークエリアに記憶する。次いで、印刷データ処理部５１は、受信した印刷制御データに基づいて、印刷制御データに基づいて発行されるレシートに印刷される文字列を抽出し、抽出した文字列を含むテキストファイルである抽出文字列データを生成する（ステップＳＥ３）。
【００４５】
以下、ステップＳＥ３の処理について、図５（Ｂ）に例示する印刷制御データを用いて詳述する。
まず、印刷データ処理部５１は、テキストファイルである抽出文字列データを生成する。
次いで、印刷データ処理部５１は、トップロゴ印刷指示コマンドＣ１を処理対象とする。印刷データ処理部５１は、トップロゴ印刷指示コマンドＣ１のグラフィック画像印刷指示コマンドを読み出し、当該コマンドは、文字列の印刷を指示するコマンドでないと判断する。当該判断は、例えば、命令コードを識別することによって行われる。印刷データ処理部５１は、トップロゴ印刷指示コマンドＣ１からの文字列の抽出を行わない。
次いで、印刷データ処理部５１は、発行日時印刷指示コマンドＣ２を処理対象とする。印刷データ処理部５１は、発行日時印刷指示コマンドＣ２の文字列印刷指示コマンドＭＣを読み出し、当該コマンドは、文字列の印刷を指示するコマンドであると判断する。当該判断は、例えば、命令コードを識別することによって行われる。印刷データ処理部５１は、文字列印刷指示コマンドＭＣのデータ部を参照し、データ部が指定する文字列をテキスト化する。次いで、印刷データ処理部５１は、テキスト化した文字列（本例では、文字列「２０１３／１／１／１２：００」。）を抽出文字列データに記述し、改行する。
以上のようにして、印刷データ処理部５１は、印刷制御データに含まれるコマンドを順番に処理対象とし、処理対象のコマンドが文字列の印刷を指示するコマンドである場合は、文字列を抽出してテキスト化し、テキスト化した文字列を抽出文字列データにし、改行する。
図８は、図５（Ｂ）の印刷制御データに基づいて生成される抽出文字列データの内容を示す図である。
図８に示すように、抽出文字列データには、レシート（図５（Ａ）参照。）に印刷される文字列が、テキストとして、含まれる。
【００４６】
次いで、印刷データ処理部５１は、制御サーバー記憶部５７が記憶する印刷制御データＤＢ５７ｂにアクセスする（ステップＳＥ４）。
図９（Ａ）は、印刷制御データＤＢ５７ｂの１件のレコードのデータ構造を示す図である。
図９（Ａ）に示すように、印刷制御データＤＢ５７ｂの１件のレコードは、印刷装置識別情報と、レコード作成日時と、抽出文字列データと、印刷制御データと、発行日時データと、を対応付けて記憶する。なお、レコード作成日時とは、レコードを作成した日時を示す情報である。
次いで、印刷データ処理部５１は、印刷制御データＤＢ５７ｂに１件のレコードを作成する。印刷データ処理部５１は、当該レコードで、印刷制御データの送信元の印刷装置１２の印刷装置識別情報と、当該レコードを作成したときの日時を示すレコード作成日時と、受信した印刷制御データに基づいて生成した抽出文字列データと、受信した印刷制御データと、受信した印刷制御データに付加された発行日時データと、を対応付けて記憶する（ステップＳＥ５）。
ステップＳＥ５において、印刷データ処理部５１は、印刷装置識別情報を以下のようにして取得する。すなわち、まず、印刷データ処理部５１は、印刷制御データの受信に用いたＷｅｂＳｏｃｋｅｔコネクションＣＴ（本例では、第１ＷｅｂＳｏｃｋｅｔコネクションＣＴ１）のコネクション識別情報を取得する。次いで、印刷データ処理部５１は、制御サーバー記憶部５７が記憶するコネクション管理データベース５７ａを参照する。上述したように、コネクション管理データベース５７ａでは、確立しているＷｅｂＳｏｃｋｅｔコネクションＣＴについて、コネクション識別情報と、印刷装置識別情報とを対応付けて記憶する。次いで、印刷データ処理部５１は、取得したコネクション識別情報をキーとして、コネクション管理データベース５７ａで当該識別情報と対応付けられた印刷装置識別情報を取得する。
なお、上述したように、抽出文字列データはレシートに印刷される文字列が含まれるテキストファイルであり、印刷制御データはバイナリーデータである。
また、レコードに含まれる印刷装置識別情報や、レコード作成日時は、印刷制御データＤＢ５７ｂの所望のレコードを検索するときの検索キーとして利用可能である。
【００４７】
このように、本実施形態に係る制御サーバー１０は、印刷装置１２から印刷制御データを受信した場合、印刷制御データと、印刷制御データに基づく抽出文字列データとを対応付けて記憶する。このため、以下の効果を奏する。
すなわち、後述するように、抽出文字列データは、管理装置１４に送信され、管理装置１４は、抽出文字列データに基づいて、各種処理を実行する。ここで、レシートに印刷される情報には、文字列以外でも、後に利用可能な情報がある。例えば、トップロゴ印刷指示コマンドＣ１は、レシートに印刷されたトップロゴを知る際に用いることができる。また、バーコード印刷指示コマンドＣ５は、レシートの識別情報を知る際に用いることができる。従って、印刷制御データを記憶することにより、文字列以外の情報を後に用いることが可能となる。
また、印刷制御データを記憶することにより、印刷制御データを用いて、レシートを再発行できる。
【００４８】
次いで、印刷データ処理部５１は、抽出文字列データ、印刷制御データの送信元の印刷装置１２の印刷装置識別情報を示すデータ、及び、店舗情報（後述）を示すデータを、通信管理部５０に送信する（ステップＳＥ６）。
以下、ステップＳＥ６の処理について詳述する。
制御サーバー記憶部５７は、店舗情報管理ＤＢ５７ｅを記憶する。
店舗情報管理ＤＢ５７ｅは、印刷装置識別情報と、対応付けて店舗情報を記憶するデータベースである。店舗情報は、対応する印刷装置１２が設定されている店舗の名称、店舗の識別情報を含む情報である。店舗情報に、店舗の住所や、電話番号等の他の情報を含んでいてもよい。
ステップＳＥ６で、印刷データ処理部５１は、店舗情報管理ＤＢ５７ｅを参照する。次いで、印刷データ処理部５１は、印刷装置識別情報をキーとして、店舗情報管理ＤＢ５７ｅｄ、当該識別情報と対応付けられた店舗情報を取得する。次いで、印刷データ処理部５１は、抽出文字列データ、及び、印刷装置識別情報を示すデータと共に、店舗情報を示すデータを通信管理部５０に送信する。
通信管理部５０は、制御サーバー記憶部５７が記憶する管理装置管理ＤＢ５７ｃを参照する（ステップＳＥ７）。
管理装置管理ＤＢ５７ｃは、制御サーバー１０に接続された印刷装置１２について、印刷装置１２の印刷装置識別情報と、印刷装置１２に対応する管理装置１４のアドレスとを対応付けて記憶するデータベースである。１の印刷装置１２と、１の管理装置１４とが対応するとは、当該１の印刷装置１２が、当該１の管理装置１４が管理する店舗システム１１に設けられ、当該１の印刷装置１２が、当該１の管理装置１４の制御対象であることを示す。
次いで、通信管理部５０は、印刷データ処理部５１から受信したデータが示す印刷装置識別情報をキーとして、管理装置管理ＤＢ５７ｃで当該識別情報と対応付けられた管理装置１４のアドレスを取得する（ステップＳＥ８）。
次いで、通信管理部５０は、制御サーバー通信Ｉ／Ｆ５８を制御して、ステップＳＥ８で取得したアドレスの管理装置１４に、抽出文字列データ、及び、店舗情報を示すデータを送信する（ステップＳＥ９）。
【００４９】
図６（Ｄ）に示すように、管理装置制御部７０は、管理装置通信Ｉ／Ｆ７１を制御して、抽出文字列データ、及び、店舗情報を示すデータを受信する（ステップＳＦ１）。
次いで、管理装置制御部７０は、管理装置記憶部７２が記憶する条件データベース７２ａを参照し、抽出文字列分析処理を実行する（ステップＳＦ２）。
以下、抽出文字列分析処理について詳述する。
抽出文字列分析処理は、管理装置制御部７０が、抽出文字列データに含まれる文字列を分析してクーポンを発行するか否かを判別し、クーポンを発行する場合は、発行するクーポンの内容を示すクーポン内容情報を取得する処理である。
条件データベース７２ａは、クーポンを発行する条件と、条件が成立した場合に発行するクーポンの内容を示す情報であるクーポン内容情報と、を対応付けて記憶するデータベースである。条件は、複数存在してもよい。
例えば、クーポンを発行する条件は、会計を行った顧客の会員番号が、特定の番号であること、である。この場合、管理装置制御部７０は、以下の処理を実行する。すなわち、管理装置制御部７０は、抽出文字列データについて、文字列「ｍｅｍｂｅｒｓｈｉｐ△ＮＯ．」をキーとして文字列検索を行い、当該文字列と同一行に記述された文字列を、顧客の会員番号として取得する。次いで、管理装置制御部７０は、取得した顧客の会員番号が、特定の番号であるか否かを判別する。管理装置制御部７０は、取得した顧客の会員番号が、特定の番号である場合、条件が成立したとして、クーポンを発行すると判別する。次いで、管理装置制御部７０は、条件データベース７２ａを参照し、成立した条件と対応付けられたクーポン内容情報を取得する。
また、クーポンを発行する条件は、所定の商品名の商品が購入されていること、である。この場合、管理装置制御部７０は、以下の処理を実行する。すなわち、管理装置制御部７０は、抽出文字列データについて、所定の商品名をキーとして文字列検索を行う。次いで、管理装置制御部７０は、検索が成立した場合、条件が成立したとして、クーポンを発行すると判別する。次いで、管理装置制御部７０は、条件データベース７２ａを参照し、成立した条件と対応付けられたクーポン内容情報を取得する。
また例えば、クーポンを発行する条件は、購入商品の合計金額が、所定の金額を上回ったこと、である。この場合、管理装置制御部７０は、以下の処理を実行する。すなわち、管理装置制御部７０は、抽出文字列データについて、文字列「Ｔｏｔａｌ」をキーとして文字列検索を行い、当該文字列と同一行に含まれる文字列が示す値を、購入商品の合計金額として取得する。次いで、管理装置制御部７０は、取得した購入商品の合計金額が、所定の金額を上回ったか否かを判別する。管理装置制御部７０は、取得した購入商品の合計金額が、所定の金額を上回った場合、条件が成立したとして、クーポンを発行すると判別する。次いで、管理装置制御部７０は、条件データベース７２ａを参照し、成立した条件と対応付けられたクーポン内容情報を取得する。
条件は、時間帯や、会員によって動的に変更する構成であってもよい。すなわち、条件とは、抽出文字列データに含まれる情報、及び、他の情報に基づいて、その成否が決定するものであれば、どのようなものであってもよい。
例えば、ステップＳＦ１で、管理装置制御部７０は、抽出文字列データと共に、店舗情報を示すデータを受信する。そして、条件に、店舗情報を利用してもよい。例えば、条件に、特定の店舗であること、を含めもよい。これにより、店舗によって、クーポンの内容を変更することができる。また、これにより、クーポンに、店舗の名称を印刷することができる。
本例では、ステップＳＦ２の抽出文字列分析処理で、管理装置制御部７０は、所定の条件が成立したため、クーポンを発行すると判別し、対応するクーポン内容情報を取得する。
【００５０】
ステップＳＦ２の抽出文字列分析処理の実行後、管理装置制御部７０は、クーポン発行制御データ（第２の印刷制御データ）を生成する（ステップＳＦ３）。
クーポン発行制御データは、クーポンの発行に際し、印刷装置１２に印刷させる情報が含まれるＸＭＬ（Extensible Markup Language）ファイルである。クーポン発行制御データには、ＸＭＬフォーマットに従って、印刷装置１２に印刷させる情報、例えば、画像データや、画像の位置を示す情報等が含まれる。また、クーポン発行制御データは、印刷させる印刷装置１２の印刷装置識別情報がタグとして含む。
管理装置制御部７０は、ステップＳＦ２の抽出文字列分析処理により取得したクーポン内容情報に基づいて、当該情報が示す内容のクーポンを発行させるクーポン発行制御データを生成する機能を有する。
図７（Ｄ）に示すように、管理装置制御部７０は、管理装置通信Ｉ／Ｆ７１を制御して、生成したクーポン発行制御データを、制御サーバー１０に送信する（ステップＳＦ４）。
【００５１】
図７（Ｃ）に示すように、制御サーバー１０の通信管理部５０は、制御サーバー通信Ｉ／Ｆ５８を制御して、クーポン発行制御データを受信する（ステップＳＥ１０）。次いで、通信管理部５０は、受信したクーポン発行制御データを、印刷データ処理部５１に送信する（ステップＳＥ１１）。
印刷データ処理部５１は、受信したクーポン発行制御データを、第１接続部５４に送信する（ステップＳＥ１２）。
第１接続部５４は、受信したクーポン発行制御データを、第１ＷｅｂＳｏｃｋｅｔコネクションＣＴ１により、印刷装置１２に送信する（ステップＳＥ１３）。
【００５２】
図７（Ｂ）に示すように、印刷装置１２の第１通信部３０は、第１ＷｅｂＳｏｃｋｅｔコネクションＣＴ１により、クーポン発行制御データを受信する（ステップＳＤ１３）。次いで、第１通信部３０は、受信したクーポン発行制御データを、印刷データ通信部２６に送信する（ステップＳＤ１４）。
印刷データ通信部２６は、受信したクーポン発行制御データを、印刷部１８のコマンド体系のコマンドであるクーポン発行制御コマンドに変換する（ステップＳＤ１５）。印刷データ通信部２６は、ＸＭＬファイルであるクーポン発行制御データを、印刷部４１の制御回路であるプリンター制御部４０が解釈可能なコマンドに変換する。
次いで、印刷制御部１７は、クーポン発行制御コマンドを、印刷制御部２９に送信する（ステップＳＤ１６）。
印刷制御部２９は、プリンター制御部４０との間での通信を確立し、クーポン発行制御コマンドをプリンター制御部４０に送信する（ステップＳＤ１７）。
プリンター制御部４０は、受信したクーポン発行制御コマンドに基づいて、印刷部４１を制御して、クーポンを発行する（ステップＳＤ１８）。
【００５３】
クーポンの発行後は、印刷装置１２、制御サーバー１０、及び、管理装置１４は、以下の処理を行う。
印刷装置１２のプリンター制御部４０は、クーポンの発行処理の結果を示すクーポン発行結果通知データを生成する。クーポン発行結果通知データは、クーポンの発行が正常に完了したか否かを示す情報、及び、失敗した場合はその原因を示す情報を含むデータである。
プリンター制御部４０は、生成したクーポン発行結果通知データを印刷制御部２９に送信する。印刷制御部２９は、受信したクーポン発行結果通知データを、印刷データ通信部２６に送信する。印刷データ通信部２６は、受信したクーポン発行結果通知データを、第１ＷｅｂＳｏｃｋｅｔコネクションＣＴ１で、制御サーバー１０の印刷データ処理部５１に送信する。印刷データ処理部５１は、受信したクーポン発行結果通知データを、通信管理部５０に送信する。通信管理部５０は、制御サーバー通信インターフェース５８を制御して、受信したクーポン発行結果通知データを、管理装置１４の管理装置制御部７０に送信する。管理装置制御部７０は、クーポン発行結果通知データに基づいて、管理装置１４が備える表示パネルに、クーポンの発行処理の結果を表示する。
以上の処理が行われるため、管理装置１４の管理者は、表示パネルを参照することにより、クーポンの発行が正常に行われたか否かを認識でき、失敗した場合は、その原因九名等の処理を行える。
【００５４】
このように、印刷装置１２は、インターフェース基板２０に実装された拡張機能、すなわち、通信制御部２５及び印刷データ通信部２６の機能により、ＰＯＳ端末８から送信された印刷制御データを制御サーバー１０に送信できる。その際、印刷装置１２は、第１ＷｅｂＳｏｃｋｅｔコネクションＣＴ１を用いて印刷制御データを送信するため、ＰＯＳ端末８から印刷制御データを受信した場合、新たにコネクションを確立する等の処理をすることなく、印刷制御データを送信できる。
また、本実施形態では、制御サーバー１０は、印刷装置１２から受信した印刷制御データ、及び、印刷制御データに基づく抽出文字列データを記憶する。これらデータは、店舗ごとの、また、印刷装置１２の商品の販売の状況、売り上げの状況、顧客の来店の状況等の分析に利用可能な有益なデータである。つまり、本実施形態に係る制御サーバー１０は、ＰＯＳ端末８から印刷装置１２に対して送信される印刷制御データを用いて、情報を記憶する。
また、本実施形態では、制御サーバー１０から、管理装置１４に対して、抽出文字列データが送信される。管理装置１４は、抽出文字列データに基づいて、顧客に対してクーポンを発行するか否かを判別する。このため、管理装置１４は、顧客、顧客が購入した商品顧客の会計の内容等に応じて、クーポンを発行するか否かを判別できる。また、管理装置１４は、クーポンを発行する場合は、成立した条件に対応する内容のクーポンを発行する。このため、管理装置１４は、顧客、顧客が購入した商品、顧客の会計の内容等に応じた内容のクーポンを発行できる。管理装置１４は、ＰＯＳ端末８から印刷装置１２に対して送信される印刷制御データを用いて、対応するクーポンの発行等、各種処理を実行できる。また、管理装置１４から制御サーバー１０に対してクーポンの発行の指示（クーポン発行制御データの送信）があった場合、制御サーバー１０は、第１ＷｅｂＳｏｃｋｅｔコネクションＣＴ１を用いてクーポン発行制御データを送信する。このため、制御サーバー１０は、新たにコネクションを確立する等の処理をすることなく、印刷装置１２にクーポン発行制御データを送信できる。従って、印刷装置１２によってレシートが発行された後、同じ印刷装置１２によってレシートに対応するクーポンを発行できる。  また、本実施形態では、ＰＯＳ端末８から印刷装置１２に対して送信する印刷制御データの内容を変更することなく、制御サーバー１０、及び、管理装置１４は、上述した各種処理を実行できる。つまり、本実施形態によれば、ＰＯＳ端末８に対する改変（ＰＯＳアプリケーションのプログラム修正等）を行うことなく、制御サーバー１０、管理装置１４は、上述した各種処理を実行できる。従って、ＰＯＳ端末８と、印刷装置１２とで構成された既存のシステムに対して変更をほとんど加えることなく、ＰＯＳ制御システム１を構築でき、ＰＯＳ制御システム１の構築を簡易にできる。
【００５５】
上述したように、通信制御部２５は、発行日時データを印刷制御データに付加し、印刷データ通信部２６に送信する（ステップＳＤ１０）。印刷データ通信部２６は、発行日時データが付加された印刷制御データを制御サーバー１０に送信する（ステップＳＤ１１、１２）。
以下、発行日時データの利用方法について、説明する。
ステップＳＤ１１で、印刷データ通信部２６は、印刷制御データを送信する前に、第１ＷｅｂＳｏｃｋｅｔコネクションＣＴ１でのデータの送受信を正常に行える状態か否かを確認する。確認は、例えば、以下のようにして行われる。印刷データ通信部２６は、ＷｅｂＳｏｃｋｅｔコネクションＣＴ１で、印刷データ処理部５１に応答要求コマンドを送信する。印刷データ処理部５１は、応答要求コマンドを受信した場合に、応答コマンドを送信する機能を有している。印刷データ処理部５１は、応答要求コマンドの送信に応じて、所定の期間内に、応答コマンドを受信した場合、ＷｅｂＳｏｃｋｅｔコネクションＣＴ１でデータの送受信ができる状態であると判別する。一方、印刷データ処理部５１は、応答要求コマンドの送信に応じて、所定の期間内に、応答コマンドを受信した場合、ＷｅｂＳｏｃｋｅｔコネクションＣＴ１で正常にデータの送受信ができない状態であると判別する。確認方法は、上述した方法に限らない。
通信に関するエラー等に起因して、ＷｅｂＳｏｃｋｅｔコネクションＣＴ１でのデータの送受信ができない場合が生じ得る。
ＷｅｂＳｏｃｋｅｔコネクションＣＴ１でデータの正常な送受信ができる状態である場合、上述のフローチャートで説明した処理が、行われる。
一方、ＷｅｂＳｏｃｋｅｔコネクションＣＴ１でデータの正常な送受信ができない状態である場合、印刷データ通信部２６は、以下の処理を行う。
印刷データ通信部２６は、印刷制御データを印刷装置記憶部３９の所定の記憶領域に記憶する。このほか、印刷装置１２が、ＳＤメモリーカード等の外付けの記憶媒体のスロットを有している場合は、当該記憶媒体に記憶する構成であってもよい。
【００５６】
印刷制御データの記憶領域への記憶後、印刷データ通信部２６は、ＷｅｂＳｏｃｋｅｔコネクションＣＴ１で正常にデータの送受信ができる状態となったか否かを監視する。印刷データ通信部２６は、例えば以下のようにして、監視を実行する。印刷データ通信部２６は、定期的に、第１ＷｅｂＳｏｃｋｅｔコネクションＣＴ１での応答要求コマンドを送信する。印刷データ通信部２６は、応答要求コマンドに対する応答があった場合に、ＷｅｂＳｏｃｋｅｔコネクションＣＴ１で正常にデータの送受信ができる状態となったと判別する。
ＷｅｂＳｏｃｋｅｔコネクションＣＴ１で正常にデータの送受信ができる状態となった場合、印刷データ通信部２６は、印刷装置記憶部３９にアクセスして、当該記憶部に記憶した印刷制御データを、ＷｅｂＳｏｃｋｅｔコネクションＣＴ１で送信する。印刷制御データには、発行日時データが付加されている。
印刷制御データを受信した制御サーバー１０の印刷データ処理部５１は、印刷制御データＤＢ５７ｂに１件のレコードを作成する。印刷データ処理部５１は、当該レコードで、印刷制御データの送信元の印刷装置１２の印刷装置識別情報と、当該レコードを作成したときの日時を示すレコード作成日時と、受信した印刷制御データに基づいて生成した抽出文字列データと、受信した印刷制御データと、受信した印刷制御データに付加された発行日時データと、を対応付けて記憶する（ステップＳＥ５）。
ステップＳＥ５で印刷データ処理部５１が生成したレコードには、発行日時データが格納されている。発行日時データは、レシートが発行された日時に対応する日時を示すデータである。
このように、受信した印刷制御データに対応するレコードで、発行日時データが格納されているため、以下の効果を奏する。第１ＷｅｂＳｏｃｋｅｔコネクションＣＴ１でデータの送受信が正常に行えなかったことに起因して、レシートを発行した日時と、対応する印刷制御データが制御サーバー１０に送信された日時とが乖離した場合であっても、対応するレコードの発行日時データを取得することにより、レシートの発行日時を取得できる。このため、例えば、印刷制御データＤＢ５７ｂに基づいて、時間帯ごとのレシート発行枚数を調査することができる。
また、１のレコードのレコード作成日時と、発行日時データが示す日時との乖離状況を分析することにより、第１ＷｅｂＳｏｃｋｅｔコネクションＣＴ１での通信の遅延状況を把握することが可能である。
【００５７】
以上のように、印刷装置１２は、ＰＯＳ端末８から送信された印刷制御データに基づくレシートの発行、及び、管理装置１４から制御サーバー１０を介して送信されたクーポン発行制御データに基づくクーポンの発行を行う。
従って、印刷装置１２に対して、印刷制御データとクーポン発行制御データとが、重なった時間に送信される可能性がある。本実施形態に係る印刷装置１２は、このような場合であっても、各データに基づく処理を実行する。以下、詳述する。
図１０は、印刷装置１２の動作を示すフローチャートである。
図１０に示すフローチャートの説明では、通信制御部２５、及び、印刷データ通信部２６を区別せずに表現する場合、「制御機能部」と表現する。
印刷装置１２の印刷制御部２９は、通信制御部２５から印刷制御データを受信したか、又は、印刷データ通信部２６からクーポン発行制御データを受信したかを監視する（ステップＳＧ１）。
ステップＳＧ１の監視は、例えば、以下の方法で行われる。
例えば、印刷制御部２９は、通信制御部２５が受信したデータを一時記憶する受信バッファーの状態と、印刷データ通信部２６が受信したデータを一時記憶する受信バッファーの状態とを監視する。そして、いずれかの受信バッファーにデータの書き込みがあった場合、対応する制御機能部がデータを受信したと判別する。
【００５８】
いずれかの制御機能部からデータを受信した場合（ステップＳＧ１：ＹＥＳ）、印刷制御部２９は、印刷制御部２９に対してデータを送信していない制御機能部による印刷制御部２９へのデータの送信を禁止する（ステップＳＧ２）。以下の説明では、印刷制御部２９に対してデータを送信した制御機能部を「対象制御機能部」と表現し、印刷制御部２９に対してデータを送信していない方の制御機能部を、「非対象制御機能部」と表現する。
ステップＳＧ２では、印刷制御部２９は、通信制御部２５から印刷制御データを受信した場合、印刷データ通信部２６がクーポン発行制御コマンドを印刷制御部２９へ送信することを禁止する。一方、印刷制御部２９は、印刷データ通信部２６からクーポン発行制御データを受信した場合、通信制御部２５が印刷制御データを印刷制御部２９へ送信することを禁止する。
ステップＳＧ２において、印刷制御部２９は、非対象制御機能部に対して、印刷制御部２９へのデータの送信を禁止する旨の送信禁止通知を行う。制御機能部は、当該通知を受けた場合、データの送信の禁止を解除する旨の送信禁止解除通知（後述）を受信するまでは、外部装置（ＰＯＳ端末８、又は、制御サーバー１０）からデータを受信した場合であっても、印刷制御部２９に対してデータを送信せず、外部装置から受信したデータを受信バッファーに記憶した状態を維持する。
次いで、印刷制御部２９は、対象制御機能部からデータを受信し、受信したデータをプリンター制御部４０に送信して、印刷部４１による処理を開始する（ステップＳＧ３）。対象制御機能部が通信制御部２５である場合、印刷制御部２９は、通信制御部２５から印刷制御データを受信し、受信した印刷制御データをプリンター制御部４０に送信して、印刷部４１によるレシートの発行の処理を開始する。また、対象制御機能部が印刷データ通信部２６である場合、印刷制御部２９は、印刷データ通信部２６からクーポン発行制御コマンドを受信し、受信したクーポン発行制御コマンドをプリンター制御部４０に送信して、印刷部４１によるクーポンの発行の処理を開始する。
【００５９】
次いで、印刷制御部２９は、印刷部４１による処理（レシートの発行、又は、クーポンの発行）が完了したか否かを監視する（ステップＳＧ４）。例えば、印刷制御部２９は、上述した処理結果通知データを受信した場合、印刷部４１による処理が完了したと判別する。
次いで、印刷制御部２９は、期間Ｔ１の計時を開始する（ステップＳＧ５）。期間Ｔ１は、例えば、１秒である。
次いで、印刷制御部２９は、期間Ｔ１が経過する前に対象制御機能部からデータを受信したか否かを監視し（ステップＳＧ６）、また、対象制御機能部からデータを受信することなく期間Ｔ１が経過したか否かを監視する（ステップＳＧ７）。
期間Ｔ１が経過する前に、対象制御機能部からデータを受信した場合（ステップＳＧ６：ＹＥＳ）、印刷制御部２９は、処理手順をステップＳＧ３へ戻し、受信したデータをプリンター制御部４０に送信して、印刷部４１による処理を開始する。
対象制御機能部からデータを受信することなく期間Ｔ１が経過した場合（ステップＳＧ７：ＹＥＳ）、印刷制御部２９は、非対称制御機能部について、印刷制御部２９に対するデータの送信の禁止を解除する（ステップＳＧ８）。
本例では、ステップＳＧ８において、印刷制御部２９は、非対象制御機能部に対して、印刷制御部２９へのデータの送信の禁止を解除する旨の送信禁止解除通知を行う。制御機能部は、当該通知を受けた場合、印刷制御部２９に対してデータを送信可能となる。その後、印刷制御部２９は、処理手順をステップＳＧ１へ戻す。
【００６０】
以上説明したように、印刷制御部２９は、印刷制御データに基づく印刷部４１の制御、及び、クーポン発行制御コマンド（クーポン発行制御データ）に基づく印刷部４１の制御を切り替えて実行する。
このような構成のため、ＰＯＳ端末８から印刷装置１２に対する印刷制御データの送信、及び、制御サーバー１０から印刷装置１２に対するクーポン発行制御データの送信が同時に行われた場合であっても、印刷制御部２９は、一方のデータに基づく処理が完了した後、他方のデータに基づく処理が実行する。従って、このような場合であっても、印刷装置１２が受信したデータが混合する等、印刷制御部２９に対して同時にデータが送信されることに起因したエラーが発生することがない。
【００６１】
次に、印刷装置１２が備えるデバイス（本例では、カードリーダーＣＲ、及び、バーコードリーダーＢＲ）が印刷装置１２に対してデータを送信した場合の各装置の動作について説明する。
図１１は、カードリーダーＣＲによって顧客の会員カードが読み取られた場合の印刷装置１２、制御サーバー１０、及び、管理装置１４の動作を示すフローチャートである。図１１（Ａ）は印刷装置１２の動作を、（Ｂ）は制御サーバー１０の動作を、（Ｃ）は管理装置１４の動作を示す。
図１１（Ａ）に示すように、カードリーダーＣＲによる会員カードが読み取られると（ステップＳＨ１）、カードリーダーＣＲからカードリーダーデータ通信部２８に対して読み取り結果を示す読取結果データが送信される（ステップＳＨ２）。読取結果データは、バイナリーデータである。読取結果データには、顧客の会員番号を示す情報が含まれる。
以下の説明では、第２機能部間通信経路ＫＴ２によりカードリーダーデータ通信部２８と、カードリーダー処理部５３との通信についても併せて説明する。
カードリーダーデータ通信部２８は、受信した読取結果データに、現在日時を示す情報（以下、「読取日時情報」という。）を含め、読取結果データ、及び、カードリーダー識別情報データ（後述）を、第２通信部３１に送信する（ステップＳＨ３）。読取日時情報は、カードリーダーＣＲによる読み取りが行われた日時を示す情報である。
ステップＳＨ３の処理について詳述する。
カードリーダー識別情報データは、カードリーダー識別情報を示すデータである。カードリーダー識別情報は、カードリーダーＣＲを識別するデバイス識別情報である。デバイス識別情報は、デバイス（本例では、カードリーダーＣＲ、バーコードリーダーＢＲ）に対して、割り振られた識別情報であり、デバイスごとに、その値が異なっている。デバイス識別情報は、例えば、プロダクトＩＤと、ベンダーＩＤの組合せである。
カードリーダーＣＲが印刷装置１２に接続されたときに、カードリーダーＣＲからカードリーダーデータ通信部２８に対して、所定のプロトコルに従ってカードリーダー識別情報が通知される。カードリーダーデータ通信部２８は、受信したカードリーダー識別情報を示すカードリーダー識別情報データを所定の記憶領域に記憶する。
ステップＳＨ３で、カードリーダーデータ通信部２８は、読取結果データと共に、所定の記憶領域に記憶したカードリーダー識別情報データを、第２通信部３１に送信する。
第２通信部３１は、受信した読取結果データ、及び、カードリーダー識別情報データを、第２ＷｅｂＳｏｃｋｅｔコネクションＣＴ２により、制御サーバー１０に送信する（ステップＳＨ４）。
【００６２】
第２接続部５５は、第２ＷｅｂＳｏｃｋｅｔコネクションＣＴ２により、読取結果データ、及び、カードリーダー識別情報データを受信する（ステップＳＩ１）。
第２接続部５５は、受信した読取結果データ、及び、カードリーダー識別情報データを、カードリーダー処理部５３に送信する（ステップＳＩ２）。
カードリーダー処理部５３は、受信した読取結果データを、ＲＡＭ等に形成されたワークエリアに記憶する。次いで、カードリーダー処理部５３は、読取結果データに含まれる顧客の会員番号を示す文字列を抽出し、抽出した会員番号を示す文字列のテキスト（文字データ）を含むテキストファイルである会員番号データ（デバイスデータ）を生成する（ステップＳＩ３）。
次いで、カードリーダー処理部５３は、制御サーバー記憶部５７が記憶する会員番号データＤＢ５７ｄにアクセスする（ステップＳＩ４）。
図９（Ｂ）は、会員番号データＤＢ５７ｄの１件のレコードのデータ構造を示す図である。
図９（Ｂ）に示すように、会員番号データＤＢ５７ｄの１件のレコードは、印刷装置識別情報と、レコード作成日時と、会員番号データと、読取結果データと、読取日時データと、デバイス識別情報データと、を対応付けて記憶する。なお、レコード作成日時とは、レコードを作成した日時を示す情報である。
次いで、カードリーダー処理部５３は、会員番号データＤＢ５７ｄに１件のレコードを作成し、当該レコードの対応するフィールドに、印刷制御データの送信元の印刷装置１２の印刷装置識別情報を格納する。また、カードリーダー処理部５３は、当該レコードの対応するフィールドに、当該レコードを作成したときの日時を示すレコード作成日時を格納する。また、カードリーダー処理部５３は、当該レコードの対応するフィールドに、受信した読取結果データに基づいて生成した会員番号データを格納する。また、カードリーダー処理部５３は、当該レコードの対応するフィールドに、受信した読取結果データを格納する。また、カードリーダー処理部５３は、当該レコードの対応するフィールドに、読取結果データに含まれる読取日時情報を示すデータである読取日時データを格納する。また、カードリーダー処理部５３は、当該レコードの対応するフィールドに、デバイス識別情報データ（本例では、カードリーダー識別情報データ）を格納する（ステップＳＩ５）。
【００６３】
次いで、カードリーダー処理部５３は、会員番号データ、及び、読取結果データの送信元の印刷装置１２の印刷装置識別情報を示すデータを、通信管理部５０に送信する（ステップＳＩ６）。
通信管理部５０は、制御サーバー記憶部５７が記憶する管理装置管理ＤＢ５７ｃを参照する（ステップＳＩ７）。
次いで、通信管理部５０は、カードリーダー処理部５３から受信したデータが示す印刷装置識別情報をキーとして、管理装置管理ＤＢ５７ｃで当該識別情報と対応付けられた管理装置１４のアドレスを取得する（ステップＳＩ８）。
次いで、通信管理部５０は、制御サーバー通信Ｉ／Ｆ５８を制御して、ステップＳＩ８で取得したアドレスの管理装置１４に会員番号データ、及び、カードリーダー識別情報データを送信する（ステップＳＩ９）。
【００６４】
図１１（Ｃ）に示すように、管理装置制御部７０は、管理装置通信Ｉ／Ｆ７１を制御して、会員番号データ、及び、カードリーダー識別情報データを受信する（ステップＳＪ１）。
次いで、管理装置制御部７０は、会員番号データ、及び、カードリーダー識別情報データに基づいて、対応する処理を実行する（ステップＳＪ２）。
例えば、ステップＳＪ２で、管理装置制御部７０は、会員番号データが示す会員番号と、カードリーダー識別情報データが示すデバイス識別情報と、現在日時を示す情報とを対応付けて記憶する。記憶した情報は、会員の来店履歴として用いることができ、店舗に来店する顧客の傾向等の分析に用いることができる。また、記憶したデバイス識別情報に基づいて、会員番号が、カードリーダーＣＲの読み取りに結果に基づくものであることを把握できる。
管理装置制御部７０は、会員番号データが示す会員番号に応じたクーポンの発行を指示する。
会員番号データが示す会員番号の顧客に対して、店舗に関する情報や、クーポンが記載されたメールを送信したり、ポイントシステムが存在する場合は、顧客に対してポイントを付与したりする。
なお、カードリーダー処理部５３は、会員番号データ及びカードリーダー識別情報データと共に、上述した店舗情報を送信する構成であってもよい。この構成によれば、管理装置制御部７０は、例えば、店舗に応じた来店履歴を管理でき、また、店舗に応じて、来店顧客の傾向等を分析できる。
以上、カードリーダーＣＲによるカードの読み取りが行われた後の各装置の動作を説明したが、バーコードリーダーＢＲによってバーコードが読み取られた場合も、読み取り結果に基づくデータが、印刷装置１２により制御サーバー１０に送信され、制御サーバー１０で対応する処理が実行される。また、制御サーバー１０から管理装置１４にデータが素心去れ、管理装置１４で対応する処理が実行される。
【００６５】
このように、本実施形態では、印刷装置１２は、インターフェース基板２０に配設された拡張機能、すなわち、カードリーダー処理部５３、及び、バーコードリーダーデータ通信部２７の機能により、デバイスから送信されたデータを制御サーバー１０に送信できる。その際、印刷装置１２は、第１ＷｅｂＳｏｃｋｅｔコネクションＣＴ１を用いて印刷制御データを送信するため、デバイスからデータを受信した場合、新たにコネクションを確立する等の処理をすることなく、データを送信できる。
また、本実施形態では、制御サーバー１０は、印刷装置１２から受信した読取結果データ、及び、読取結果データに基づく会員番号データを記憶する。これらデータは、店舗の、または、印刷装置１２の顧客の来店の状況等の分析に用いることが可能なデータである。制御サーバー１０は、印刷装置１２にデバイスが接続されることを用いて、情報を記憶する。
また、本実施形態では、制御サーバー１０から、管理装置１４に対して、会員番号データが送信される。管理装置１４は、会員番号データに基づいて、対応する処理を実行する。つまり、本実施形態に係る管理装置１４は、印刷装置１２にデバイスが接続されることを用いて、対応する処理を実行できる。
【００６６】
以上説明したように、本実施形態に係るＰＯＳ制御システム１は、ＰＯＳ端末８と、印刷装置１２と、制御サーバー１０（制御装置）と、管理装置１４を備える。
ＰＯＳ端末８は、決済処理に基づいて印刷制御データを生成するＰＯＳ端末制御部４５（制御部）、及び印刷制御データを送信する端末通信インターフェース４６（通信部）を有する。
印刷装置１２は、印刷を行う印刷部４１、印刷制御データに基づいて印刷部４１を制御する印刷制御部２９、ＰＯＳ端末８と接続して印刷制御データを受信するＵＳＢ通信接続部３４、及びＷｅｂＳｏｃｋｅｔコネクションＣＴ１を確立して印刷制御データを非同期の双方向通信で送信する印刷データ通信部２６を有する。
制御サーバー１０は、印刷装置１２の印刷データ通信部２６で送信された印刷制御データをＷｅｂＳｏｃｋｅｔコネクションＣＴ１で受信して印刷制御データに基づく処理を行って抽出文字列データ（データ）を生成する印刷データ処理部５１、及び印刷データ処理部５１で生成された抽出文字列データを送信する通信管理部５０を有する。
管理装置１４は、制御サーバー１０の通信管理部５０で送信された抽出文字列データを処理し、処理結果を制御サーバー１０に送信する管理装置制御部７０（装置制御部）を有する。
この構成によれば、制御サーバー１０、及び、管理装置１４は、ＰＯＳ端末８が印刷装置１２に送信した印刷制御データに基づいて、対応する処理を実行できる。また、印刷装置１２は、非同期の双方向通信により、印刷制御データを制御サーバー１０に送信する。従って、印刷装置１２は、ＰＯＳ端末８から印刷制御データを受信した場合、制御サーバー１０との間でリクエスト等の送受信を行うことなく、制御サーバー１０に印刷制御データを送信できる。つまり、上記構成によれば、ＰＯＳ端末８から印刷装置１２に印刷制御データを送信し、印刷装置１２及び管理装置１４がネットワークＧＮを介して制御サーバー１０と通信する制御システムについて、印刷装置１２及び管理装置１４が印刷制御データに基づく処理をできるようにし、また、ＰＯＳ制御システム１を、印刷装置１２及び管理装置１４がネットワークＧＮを介して制御サーバー１０と通信する構成に対応させることができる。
【００６７】
また、本実施形態では、印刷制御データは、バイナリーデータであり、制御サーバー１０の印刷データ処理部５１で生成される抽出文字列データは、印刷制御データから抽出された文字列を含むテキストデータである。
ここで、テキストデータは、文字列検索によるデータ分析が可能なデータであり、データの利用性が高い。そして、本発明の構成によれば、制御サーバー１０は、受信した印刷制御データを、利用性の高いデータに変換できる。
【００６８】
また、本実施形態では、管理装置１４の管理装置制御部７０は、受信した抽出文字列データに基づいて、印刷装置１２を制御するクーポン発行制御データ（第２の印刷制御データ）を生成して制御サーバー１０に送信する。制御サーバー１０の印刷データ処理部５１は、受信したクーポン発行制御データを、第１ＷｅｂＳｏｃｋｅｔコネクションＣＴ１で印刷装置１２に送信する。
本発明の構成によれば、管理装置１４の処理結果に基づく印刷を、印刷装置１２に実行させることができる。
【００６９】
また、本実施形態では、印刷制御データは、レシートの発行を指示するレシートデータであり、抽出文字列データは、レシートに印刷される文字列を含むデータであり、クーポン発行制御データは、受信した抽出文字列データに基づいてーポンを発行するか否かを判別してクーポンを発行することを決定した場合に生成されるクーポンの発行を指示するデータである。
この構成によれば、管理装置１４の機能により、印刷装置１２に、レシートに対応するクーポンを発行させることができる。
【００７０】
また、本実施形態では、制御サーバー１０は、印刷制御データと、抽出文字列データとを記憶する制御サーバー記憶部５７を有する。
この構成によれば、制御サーバー１０は、印刷制御データと、抽出文字列データを記憶するため、後に、いずれかのデータを分析し、情報を得ることが可能である。また、印刷制御データを記憶することにより、印刷制御データに基づいて抽出文字列データを生成する際に欠落する情報も、記憶できる。また、印刷制御データを記憶するため、印刷制御データを利用した再印刷を行える。
【００７１】
なお、上述した実施の形態は、あくまでも本発明の一態様を示すものであり、本発明の範囲内で任意に変形および応用が可能である。
例えば、上述した実施形態では、デバイスの例として、カードリーダーＣＲや、バーコードリーダーＢＲを挙げたが、印刷装置１２に接続されるデバイスは例示したものに限らない。例えば、デバイスとしては、キャッシュレジスター、表示パネル、タッチパネル等がある。
また、抽出文字列データに基づいて管理装置１４が行う処理は、クーポンの発行に限らない。例えば、抽出文字列データの一部又は全部を記憶する処理を行ってもよい。また、抽出文字列データに基づいて、顧客マスターを参照して、顧客のメールアドレスを取得し、顧客にメールする処理を行ってもよい。
また、上述した実施形態では、印刷装置１２は店舗に用いられる店舗システム１１に設けられていた。しかしながら、印刷装置１２は、必ずしも、店舗システム１１に設けられたものでなくてもよい。例えば、他のシステムに設けられたものであってもよい。
また、図３に示す各機能ブロックはハードウェアとソフトウェアにより実現可能であり、特定のハードウェア構成を示唆するものではない。また、印刷装置１２の機能を、当該装置に外部接続される別の装置に持たせるようにしてもよい。また、印刷装置１２は、外部接続される記憶媒体に記憶させたプログラムを実行することにより、各種処理を実行しても良い。
【符号の説明】
【００７２】
１…ＰＯＳ制御システム、８…ＰＯＳ端末、１０…制御サーバー（制御装置）、１４…管理装置、２９…印刷制御部、２６…印刷データ通信部、３４…ＵＳＢ通信接続部（通信接続部）、３５…ＬＡＮ通信接続部（通信接続部）、３６…シリアル通信接続部（通信接続部）、４０…端末通信インターフェース（通信部）、４１…印刷部、４５…ＰＯＳ端末制御部（制御部）、５０…通信管理部、５１…印刷データ処理部、５７…制御サーバー記憶部（記憶部）、７０…管理装置制御部（装置制御部）。
【図１】
2015130087.tif 000003
【図２】
2015130087.tif 000004
【図３】
2015130087.tif 000005
【図４】
2015130087.tif 000006
【図５】
2015130087.tif 000007
【図６】
2015130087.tif 000008
【図７】
2015130087.tif 000009
【図８】
2015130087.tif 000010
【図９】
2015130087.tif 000011
【図１０】
2015130087.tif 000012
【図１１】
2015130087.tif 000013