(57)【要約】【課題】印刷装置と印刷制御装置とがネットワークを介して通信する印刷制御システムについて、印刷装置、及び、印刷制御システムを、装置間がネットワークを介して通信する構成に対応させる。【解決手段】印刷装置１２は、印刷を行う印刷部１８、印刷制御データに基づいて印刷部１８を制御する印刷制御部１７、印刷制御データとは異なる制御データに基づく処理を行い、制御データを送信できる状態の確立を要求する状態確立要求コマンドを生成するバーコードリーダー制御部２３、及び非同期の双方向通信を行い、バーコードリーダー制御部２３で生成された状態確立要求コマンド及び印刷制御データを通信する通信部１６を有する。【選択図】図３
2015089678.tif 000002
【特許請求の範囲】
【請求項１】
印刷を行う印刷部と、
印刷制御データに基づいて前記印刷部を制御する印刷制御部と、
前記印刷制御データとは異なる制御データに基づく処理を行い、前記制御データを送信できる状態の確立を要求する第１のコマンドを生成する機能部と、
非同期の双方向通信を行い、前記機能部で生成された前記第１のコマンド及び前記印刷制御データを通信する通信部と、
を有することを特徴とする印刷装置。
【請求項２】
前記機能部での前記制御データの処理に基づいて動作する動作部を有し、
前記機能部は、前記動作部が動作可能となったときに、前記第１のコマンドを生成する請求項２に記載の印刷装置。
【請求項３】
前記印刷制御部は、前記印刷制御データを送信できる状態の確立を要求する第２のコマンドを生成し、
前記通信部は、前記印刷制御部で生成された前記第２のコマンドを通信する請求項１又は２に記載の印刷装置。
【請求項４】
前記印刷制御部は、前記印刷部が動作可能となったときに、前記第２のコマンドを生成する請求項１に記載の印刷装置。
【請求項５】
前記非同期の双方向通信は、ＷｅｂＳｏｃｋｅｔ通信である請求項１乃至４のいずれか１項に記載の印刷装置。
【請求項６】
印刷を行う印刷部、印刷制御データに基づいて前記印刷部を制御する印刷制御部、前記印刷制御データとは異なる制御データに基づく処理を行い、前記制御データを送信できる状態の確立を要求する第１のコマンドを生成する機能部、及び非同期の双方向通信を行い、前記機能部で生成された前記第１のコマンド及び前記印刷制御データを通信する通信部を有する印刷装置と、
前記印刷制御データを生成する印刷データ処理部、前記制御データを生成する処理部、前記第１のコマンドに基づいて前記処理部が前記制御データを生成できる状態を確立する通信管理部、及び前記処理部で生成した前記制御データ及び前記第１のコマンドを通信する接続部を有する印刷制御装置と、
を備えることを特徴とする印刷制御システム。
【請求項７】
前記印刷装置の前記印刷制御部は、前記印刷制御データを送信できる状態の確立を要求する第２のコマンドを生成し、
前記印刷装置の前記通信部は、前記印刷制御部で生成された前記第２のコマンドを通信し、
前記印刷制御装置の前記通信管理部は、前記第２のコマンドに基づいて前記印刷データ処理部が前記印刷制御データを生成できる状態を確立する請求項６に記載の印刷制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷装置、及び、印刷制御システムに関する。
【背景技術】
【０００２】
従来、印刷制御装置の制御の下、印刷装置によって印刷媒体に印刷し、レシートを発行する印刷制御システムが知られている（例えば、特許文献１参照）。この種の印刷制御システムでは、印刷装置と、印刷制御装置とがネットワークを介して接続され、当該ネットワークを介して通信する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−１０８０９７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述した印刷制御システムのように、印刷装置と印刷制御装置とがネットワークを介して通信するシステムを構築する場合、印刷装置、及び、システムを、印刷機能を有する印刷装置と印刷制御装置とがネットワークを介して通信する構成に対応させる必要がある。
本発明は、上述した事情に鑑みてなされたものであり、印刷装置と印刷制御装置とがネットワークを介して通信する印刷制御システムについて、印刷装置、及び、印刷制御システムを、装置間がネットワークを介して通信する構成に対応させることを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するために、本発明の印刷装置は、印刷を行う印刷部と、印刷制御データに基づいて前記印刷部を制御する印刷制御部と、前記印刷制御データとは異なる制御データに基づく処理を行い、前記制御データを送信できる状態の確立を要求する第１のコマンドを生成する機能部と、非同期の双方向通信を行い、前記機能部で生成された前記第１のコマンド及び前記印刷制御データを通信する通信部と、を有することを特徴とする。
本発明の構成によれば、印刷装置と、印刷制御装置等の外部装置は、非同期の双方向通信を行う。このため、印刷装置は任意のタイミングで外部装置にデータを送信でき、また、外部装置は任意のタイミングで印刷装置にデータを送信できる。従って、印刷装置は、外部装置にデータに基づく処理を実行させるトリガーが発生したときに、データを送信して外部装置に処理を実行させることができ、また、外部装置は、印刷装置に印刷制御データに基づく処理を実行させるトリガーが発生したときに、印刷制御データを印刷装置に送信し、印刷制御データに基づく処理を印刷装置に実行させることができる。また、本発明の構成によれば、印刷装置は、制御データに基づく処理を行う機能部を有し、外部装置に第１のコマンドを送信することにより、外部装置を、当該外部装置が制御データを印刷装置に送信できる状態とすることができる。従って、印刷装置は、機能部を有することに対応して、外部装置を、当該外部装置が機能部に処理を実行させることができる状態とすることができる。つまり、本発明の構成によれば、印刷装置を、印刷装置が制御データに基づく処理を行う機能部を有する構成、及び、印刷装置と外部装置とがネットワークにより通信する構成に対応させることができる。
【０００６】
また、前記機能部での前記制御データの処理に基づいて動作する動作部を有し、前記機能部は、前記動作部が動作可能となったときに、前記第１のコマンドを生成する。
本発明の構成によれば、動作部が動作可能状態となり、印刷制御装置等の外部装置が機能部を制御する可能性が生じた場合に、外部装置を、当該外部装置が制御データを送信できる状態とすることができる。
【０００７】
また、前記印刷制御部は、前記印刷制御データを送信できる状態の確立を要求する第２のコマンドを生成し、前記通信部は、前記印刷制御部で生成された前記第２のコマンドを通信する。
本発明の構成によれば、印刷装置は、印刷制御データに基づく処理を行う印刷制御部を有し、外部装置に第２のコマンドを送信することにより、外部装置を、当該外部装置が印刷制御データを印刷装置に送信できる状態とすることができる。従って、印刷装置は、印刷制御部を有することに対応して、外部装置を、当該外部装置が印刷制御部に処理を実行させることができる状態とすることができる。
【０００８】
また、前記印刷制御部は、前記印刷部が動作可能となったときに、前記第２のコマンドを生成する。
本発明の構成によれば、印刷部が動作可能となり、印刷制御装置等の外部装置が印刷制御部を制御する可能性が生じた場合に、外部装置を、当該外部装置が印刷制御データを送信できる状態とすることができる。
【０００９】
また、前記非同期の双方向通信は、ＷｅｂＳｏｃｋｅｔ通信である。
本発明の構成によれば、印刷装置は、外部装置と、ＷｅｂＳｏｃｋｅｔ通信により、非道機能双方向通信を行える。
【００１０】
また、本発明の印刷制御システムは、印刷を行う印刷部、印刷制御データに基づいて前記印刷部を制御する印刷制御部、前記印刷制御データとは異なる制御データに基づく処理を行い、前記制御データを送信できる状態の確立を要求する第１のコマンドを生成する機能部、及び非同期の双方向通信を行い、前記機能部で生成された前記第１のコマンド及び前記印刷制御データを通信する通信部を有する印刷装置と、前記印刷制御データを生成する印刷データ処理部、前記制御データを生成する処理部、前記第１のコマンドに基づいて前記処理部が前記制御データを生成できる状態を確立する通信管理部、及び前記処理部で生成した前記制御データ及び前記第１のコマンドを通信する接続部を有する印刷制御装置と、を備えることを特徴とする。
本発明の構成によれば、印刷装置と、印刷制御装置等は、非同期の双方向通信を行う。このため、印刷装置は任意のタイミングで印刷制御装置にデータを送信でき、また、印刷制御装置は任意のタイミングで印刷装置にデータを送信できる。従って、印刷装置は、印刷制御装置にデータに基づく処理を実行させるトリガーが発生したときに、データを送信して印刷制御装置に処理を実行させることができ、また、印刷制御装置は、印刷装置に印刷制御データに基づく処理を実行させるトリガーが発生したときに、印刷制御データを印刷装置に送信し、印刷制御データに基づく処理を印刷装置に実行させることができる。また、本発明の構成によれば、印刷装置は、制御データに基づく処理を行う機能部を有し、印刷制御装置に第１のコマンドを送信することにより、印刷制御装置の処理部について、当該処理部が制御データを生成できる状態とすることができる。従って、印刷装置は、機能部を有することに対応して、印刷制御装置の処理部について、当該処理部が制御データを生成できる状態とすることができる。つまり、本発明の構成によれば、印刷制御システムを、印刷装置が制御データに基づく処理を行う機能部を有する構成、及び、印刷装置と印刷制御装置とがネットワークにより通信する構成に対応させることができる。
【００１１】
また、前記印刷装置の前記印刷制御部は、前記印刷制御データを送信できる状態の確立を要求する第２のコマンドを生成し、前記印刷装置の前記通信部は、前記印刷制御部で生成された前記第２のコマンドを通信し、前記印刷制御装置の前記通信管理部は、前記第２のコマンドに基づいて前記印刷データ処理部が前記印刷制御データを生成できる状態を確立する。
本発明の構成によれば、印刷装置は、印刷制御データに基づく処理を行う印刷制御部を有し、外部装置に第２のコマンドを送信することにより、外部装置を、当該外部装置が印刷制御データを印刷装置に送信できる状態とすることができる。従って、印刷装置は、印刷制御部を有することに対応して、外部装置を、当該外部装置が印刷制御部に処理を実行させることができる状態とすることができる。
【図面の簡単な説明】
【００１２】
【図１】本実施形態に係る制御システムの構成を示す図。
【図２】制御サーバーと、印刷装置との間で確立された通信経路示す図。
【図３】制御サーバー、印刷装置の機能的構成を示すブロック図。
【図４】制御サーバー、印刷装置の動作を示すフローチャート。
【図５】制御サーバー、印刷装置の動作を示すフローチャート。
【図６】制御サーバー、印刷装置の動作を示すフローチャート。
【発明を実施するための形態】
【００１３】
以下、図面を参照して本発明の実施形態について説明する。
図１は、本実施形態に係る制御システム１（印刷制御システム）の構成を示す図である。
図１に示すように、制御システム１は、制御サーバー１０（印刷制御装置）を備え、制御サーバー１０にインターネット等のネットワークＧＮを介して複数の店舗システム１１が接続される。
店舗システム１１は、スーパーマーケットや、コンビニエンスストア、デパート、飲食店等の店舗に適用されたシステムである。店舗システム１１は、少なくとも、店舗に来店した顧客に対してレシートを発行する機能を備える。
店舗システム１１は、印刷媒体に印刷する印刷機能を有し、レシートを発行可能な１又は複数の印刷装置１２を備える。印刷装置１２は、店舗内に構築されたローカルエリアネットワークＬＮに接続される。ローカルエリアネットワークＬＮには、ネットワークルーターや、モデム等の通信機器を含んで構成されたネットワーク通信制御装置１３が接続される。印刷装置１２は、ネットワーク通信制御装置１３を介して、ネットワークＧＮにアクセスする。例えば、店舗システム１１Ａは、スーパーマーケットＳＭに適用されたシステムである。スーパーマーケットＳＭには、複数のレジカウンターＲＣが設けられ、各レジカウンターＲＣには、印刷装置１２が設けられる。店舗システム１１Ａに係る印刷装置１２は、ローカルエリアネットワークＬＮに接続され、ネットワーク通信制御装置１３を介して、ネットワークＧＮにアクセスする。
本実施形態に係る制御システム１では、店舗システム１１の印刷装置１２が、制御サーバー１０との間で通信経路を確立し、制御サーバー１０と通信する。そして、印刷装置１２は、制御サーバー１０の制御に従って、印刷に係る処理を実行する。
【００１４】
図２は、制御システム１における制御サーバー１０と、印刷装置１２との間で確立された通信経路を示す図である。
図２に示すように、制御システム１において、制御サーバー１０と、各店舗システム１１の印刷装置１２との間には、ＷｅｂＳｏｃｋｅｔのＷｅｂＳｏｃｋｅｔコネクションＣＴ（通信経路）が確立される。
なお、ＷｅｂＳｏｃｋｅｔとは、ネットワークを介して接続されたサーバーと、クライアントとの間で、非同期な双方向通信を可能とする通信規格の１つである。ＷｅｂＳｏｃｋｅｔでは、サーバーとクライアントがＷｅｂＳｏｃｋｅｔコネクションＣＴを確立した後は、データの送受信を、当該コネクションによりプロトコルを用いて行う。このため、データの送信が発生する度に、コネクションを確立する必要がない。
また、ＷｅｂＳｏｃｋｅｔコネクションＣＴとは、当該コネクションで接続された印刷装置１２と、制御サーバー１０との間で、ＷｅｂＳｏｃｋｅｔのプロトコル、手続きに従ってデータを送受信する論理的な通信経路のことである。従って、印刷装置１２と、制御サーバー１０との間で、所定のハンドシェイクが行われ、ＷｅｂＳｏｃｋｅｔコネクションＣＴを確立した後は、印刷装置１２と、制御サーバー１０とは、ＷｅｂＳｏｃｋｅｔコネクションＣＴにより、非同期にデータを送受信できる。つまり、制御サーバー１０は、任意のタイミングでＷｅｂＳｏｃｋｅｔコネクションＣＴで印刷装置１２にデータを送信でき、また、印刷装置１２は、ＷｅｂＳｏｃｋｅｔコネクションＣＴで制御サーバー１０にデータを送信できる。
また、ＷｅｂＳｏｃｋｅｔ通信とは、ＷｅｂＳｏｃｋｅｔコネクションＣＴにより印刷装置１２と、制御サーバー１０との間で行われる、ＷｅｂＳｏｃｋｅｔのプロトコル、手続きに従った非同期な双方向通信のことである。
ＷｅｂＳｏｃｋｅｔコネクションＣＴの確立に伴って、印刷装置１２、及び、制御サーバー１０は、非同期で、双方向通信できる。つまり、制御サーバー１０は、クライアントとしての印刷装置１２からリクエストを受けることなく、ＷｅｂＳｏｃｋｅｔコネクションＣＴによりＷｅｂＳｏｃｋｅｔ通信で印刷装置１２にデータをプッシュ送信できる。
制御サーバー１０、及び、印刷装置１２は、ＷｅｂＳｏｃｋｅｔコネクションＣＴで、非同期で双方向通信する。すなわち、制御サーバー１０は、クライアントとしての印刷装置１２からリクエストを受けることなく、任意のタイミングで、ＷｅｂＳｏｃｋｅｔコネクションＣＴで印刷装置１２に対してデータをプッシュ送信できる。従って、制御サーバー１０は、任意のタイミングで、印刷装置１２を制御して、印刷媒体に印刷させることができる。同様に、印刷装置１２は、任意のタイミングで、ＷｅｂＳｏｃｋｅｔコネクションＣＴで制御サーバー１０に対してデータをプッシュ送信できる。
【００１５】
本実施形態において、制御サーバー１０は、いわゆるクラウドシステムにおけるクラウドサーバーである。すなわち、制御サーバー１０は、演算処理機能を有し、印刷装置１２の要求等をトリガーとして所定の演算処理を実行し、演算処理の結果に基づくデータを、ＷｅｂＳｏｃｋｅｔコネクションＣＴで印刷装置１２に送信する。
なお、図２では、制御サーバー１０を、１つのブロックによって表現するが、これは、制御サーバー１０が単一のサーバー装置により構成されることを意味するものではない。例えば、制御サーバー１０は、複数のサーバー装置を含んで構成されたものであってもよく、所定のシステムの一部の機能により実現されるサーバーであってもよい。すなわち、後述する各種処理を実現可能な構成であれば、その形態を問わない。
また、本実施形態では、制御サーバー１０と、印刷装置１２との間で、ＷｅｂＳｏｃｋｅｔ通信を行う。しかしながら、これら装置が、ＷｅｂＳｏｃｋｅｔ通信に代えて、ＷｅｂＳｏｃｋｅｔ通信と同様の非同期な双方向通信を行う構成であってもよい。
【００１６】
このように、制御システム１は、印刷機能が実装された印刷装置１２が、複数台（例えば、１０００台）、ＷｅｂＳｏｃｋｅｔコネクションＣＴにより、制御サーバー１０との間で通信可能に接続される。
このような構成のため、以下の効果を得ることができる。
すなわち、制御サーバー１０は、店舗システム１１に接続された複数の印刷装置１２から受信したデータに基づく情報を収集し、管理、分析できる。このため、有益な情報を蓄積することができる。蓄積した情報は、いわゆるビッグデータとして活用可能である。
また、店舗システム１１の構築の簡易化、及び、低コスト化を図ることが可能となる。すなわち、制御システム１では、印刷装置１２がＷｅｂＳｏｃｋｅｔコネクションＣＴで制御サーバー１０に接続される。このため、制御サーバー１０が提供するサービスを利用して、制御サーバー１０の制御に従って、印刷装置１２に各種処理を実行させることが可能である。従って、店舗システム１１を構築する管理者は、店舗システム１１の構築に際し、印刷装置１２を所望の場所に設置した上で、印刷装置１２をネットワークＧＮに接続する、という簡易な作業を行えばよい。これにより、制御サーバー１０が提供するサービスを利用して、印刷装置１２に所望の処理、例えば、レシートの発行に係る処理を実行させることが可能となる。
また、制御サーバー１０に、異なる店舗システム１１の印刷装置１２がＷｅｂＳｏｃｋｅｔコネクションＣＴで接続されるため、制御サーバー１０は、複数の店舗システム１１の複数の印刷装置１２を管理できる。また、制御サーバー１０は、複数の店舗システム１１の複数の印刷装置１２を動作させることが可能となる。
【００１７】
図３は、本実施形態に係る印刷装置１２、及び、制御サーバー１０の機能的構成を示すブロック図である。
図３に示すように、印刷装置１２は、通信制御部１５と、通信部１６と、印刷制御部１７と、印刷部１８と、バーコードリーダー制御部２３（機能部）と、デバイスインターフェース２４と、デバイスインターフェース２４に接続されるバーコードリーダーＢＲ（動作部）と、印刷装置記憶部１９と、を備える。
通信制御部１５、通信部１６、印刷制御部１７、及び、バーコードリーダー制御部２３の機能については後述する。
印刷部１８は、印刷媒体に印刷する印刷機構、印刷媒体を搬送する搬送機構、印刷媒体を切断する切断機構等の印刷に係る機構、及び、各機構の制御に係る制御基板等を備える。
デバイスインターフェース２４は、バーコードリーダーＢＲが接続され、バーコードリーダー制御部２３の制御に従って、バーコードリーダーＢＲと所定の通信規格で通信を行う。バーコードリーダーＢＲとの接続は、有線接続であっても、無線接続であってもよい。バーコードリーダーＢＲは、バーコードを光学的に読み取る。
印刷装置記憶部１９は、不揮発性メモリーを備え、各種データを記憶する。印刷装置記憶部１９には、通信先情報データ１９ａと、印刷装置識別情報データ１９ｂと、機能部管理データベース１９ｃと、が記憶されるが、これらについては後述する。
印刷装置１２は、印刷制御部１７と、バーコードリーダー制御部２３の２つの機能部を有するが、これら機能部は別の機能を有する機能部である。
【００１８】
一方、図３に示すように、制御サーバー１０は、通信管理部２５と、接続部２６と、印刷データ処理部２７と、バーコードリーダー処理部２９（処理部）と、制御サーバー記憶部２８と、を備える。
通信管理部２５、接続部２６、印刷データ処理部２７、及び、バーコードリーダー処理部２９の機能については後述する。
制御サーバー記憶部２８は、不揮発性メモリーを備え、各種データを記憶する。制御サーバー記憶部２８には、コネクション管理データベース２８ａと、処理部管理データベース２８ｂと、設定情報データベース２８ｃと、が記憶されるが、これらについては後述する。
制御サーバー１０は、印刷データ処理部２７と、バーコードリーダー処理部２９の２つの処理部を有するが、これら処理部は別の機能を有する処理部である。
【００１９】
なお、図３では、制御サーバー１０と、制御サーバー１０に接続された１つの印刷装置１２との関係を示す。制御サーバー１０に、複数の印刷装置１２が接続される場合は、制御サーバー１０は、複数の印刷装置１２に対応して複数のＷｅｂＳｏｃｋｅｔインターフェースを備え、各印刷装置１２との間でＷｅｂＳｏｃｋｅｔコネクションＣＴを確立し、各印刷装置１２とＷｅｂＳｏｃｋｅｔコネクションＣＴでＷｅｂＳｏｃｋｅｔ通信する。
【００２０】
次に、印刷装置１２の電源投入時における、印刷装置１２、及び、制御サーバー１０の動作について説明する。
図４は、印刷装置１２に電源が投入された後の印刷装置１２、及び、制御サーバー１０の動作を示すフローチャートであり、（Ａ）は印刷装置１２の動作を、（Ｂ）は制御サーバー１０の動作を示す。
なお、図４のフローチャートの処理のトリガーは、電源投入時に限らない。例えば、印刷装置１２がネットワークＧＮに通信可能に接続された場合や、ユーザーから指示があった場合等であってもよい。
また、以下の説明では、印刷装置１２は、対応する店舗システム１１のローカルエリアネットワークＬＮに接続され、ネットワークＧＮにアクセス可能である。
【００２１】
また、以下の説明において、印刷装置１２が備える通信制御部１５、印刷制御部１７、バーコードリーダー制御部２３、及び、制御サーバー１０が備える通信管理部２５、印刷データ処理部２７、バーコードリーダー処理部２９の各機能ブロックの機能は、例えば、以下のようにして実現される。
すなわち、例えば、これら機能ブロックは、オブジェクトである。オブジェクトとは、オブジェクト指向プログラミングで生成されるインスタンス、すなわち、データ、及び、メソッドの集合として定義されたソフトウェアの機能ブロックである。そして、これら機能ブロックの機能は、各機能ブロックに実装されたメソッドが呼び出されることによって実現される。
また例えば、これら機能ブロックの機能は、アプリケーションがＣＰＵ等のハードウェア資源によって読み出され実行されることによって、実現される。１つのアプリケーションにより１つの機能ブロックの機能が実現される構成であってもよい。また、１つのアプリケーションにより複数の機能ブロックの機能が実現される構成であってもよい。また、複数のアプリケーションにより１つの機能ブロックの機能が実現される構成であってもよい。
すなわち、各機能ブロックは、各機能をブロックとして表現したものであり、特定のアプリケーションや、ハードウェア等を意味するものではない。
【００２２】
図４（Ａ）に示すように、印刷装置１２の電源が投入されると（ステップＳＸ１）、通信制御部１５は、印刷装置記憶部１９にアクセスし、印刷装置記憶部１９に記憶される通信先情報データ１９ａを取得する（ステップＳＡ１）。
通信先情報データ１９ａとは、ＷｅｂＳｏｃｋｅｔコネクションＣＴの確立する際に、アクセスする制御サーバー１０のアドレス（ドメイン名や、ＩＰアドレス、パス名等）を示すデータである。ここで、ＷｅｂＳｏｃｋｅｔでは、ＷｅｂＳｏｃｋｅｔコネクションＣＴの確立にあたり、クライアント（本例では、印刷装置１２）は、サーバー（本例では、制御サーバー１０）に対して、ＨＴＴＰ（Hypertext Transfer Protocol）でハンドシェイクを行う。通信先情報データ１９ａには、当該ハンドシェイクに際して、メッセージを送信する送信先のアドレスが記述される。
次いで、通信制御部１５は、通信先情報データ１９ａが示すアドレスに基づいて、制御サーバー１０の通信管理部２５と共に、通信部１６と接続部２６との間に、ＷｅｂＳｏｃｋｅｔコネクションＣＴを確立する（ステップＳＡ２、ステップＳＢ１）。つまり、本実施形態に係る印刷装置１２は、ユーザーによる指示や、制御サーバー１０からの要求を受けることなく、電源の投入をトリガーとしてＷｅｂＳｏｃｋｅｔコネクションＣＴを確立する。
【００２３】
なお、通信部１６、及び、接続部２６は、ＷｅｂＳｏｃｋｅｔの規格、手続きに従ってデータの送受信を行うＷｅｂＳｏｃｋｅｔインターフェースである。これら機能ブロックは、例えば、ＷｅｂＳｏｃｋｅｔのＳｏｃｋｅｔライブラリーを用いて生成される。
通信制御部１５は、通信部１６にデータを送信すれば、ＷｅｂＳｏｃｋｅｔコネクションＣＴにより、ＷｅｂＳｏｃｋｅｔに従ってデータを送信できる。
すなわち、通信部１６は、通信制御部１５から受信したデータについて、ＷｅｂＳｏｃｋｅｔに従った処理を行って、ＷｅｂＳｏｃｋｅｔに従った手続きでＷｅｂＳｏｃｋｅｔコネクションＣＴによりデータを送信する機能を有する。また、通信部１６は、ＷｅｂＳｏｃｋｅｔコネクションＣＴにより受信したデータについて、ＷｅｂＳｏｃｋｅｔに従った処理を行って、通信制御部１５に送信する機能を有する。接続部２６についても同様である。
ＷｅｂＳｏｃｋｅｔコネクションＣＴの確立に伴って、印刷装置１２、及び、制御サーバー１０は、非同期で、双方向通信できる。つまり、制御サーバー１０は、クライアントとしての印刷装置１２からリクエストを受けることなく、ＷｅｂＳｏｃｋｅｔコネクションＣＴによりプッシュ送信で印刷装置１２にデータを送信できる。
【００２４】
次いで、印刷装置１２の通信制御部１５は、印刷装置記憶部１９にアクセスし、印刷装置記憶部１９に記憶される印刷装置識別情報データ１９ｂを取得する（ステップＳＡ３）。印刷装置識別情報データ１９ｂとは、印刷装置１２を示す識別情報（以下、「印刷装置識別情報」という。）を示すデータである。印刷装置識別情報は、例えば、印刷装置１２の製造段階で、印刷装置１２に割り当てられるシリアル番号である。
次いで、通信制御部１５は、ＷｅｂＳｏｃｋｅｔコネクションＣＴで、印刷装置識別情報データ１９ｂを送信する（ステップＳＡ４）。
図４（Ｂ）に示すように、制御サーバー１０の通信管理部２５は、印刷装置識別情報データ１９ｂを受信する（ステップＳＢ２）。
次いで、通信管理部２５は、制御サーバー記憶部２８に記憶されたコネクション管理データベース２８ａにアクセスする（ステップＳＢ３）。コネクション管理データベース２８ａとは、確立しているＷｅｂＳｏｃｋｅｔコネクションＣＴについて、ＷｅｂＳｏｃｋｅｔコネクションＣＴを示すコネクション識別情報と、上述した印刷装置識別情報とを対応付けて記憶するデータベースである。
次いで、通信管理部２５は、コネクション管理データベース２８ａに１件のレコードを生成する。そして、通信管理部２５は、生成したレコードにおいて、ステップＳＢ１で確立したＷｅｂＳｏｃｋｅｔコネクションＣＴのコネクション識別情報と、ステップＳＢ２で受信した印刷装置識別情報データ１９ｂが示す印刷装置識別情報とを対応付けて記憶する（ステップＳＢ４）。なお、通信管理部２５は、ＷｅｂＳｏｃｋｅｔコネクションＣＴが確立したときに、既に確立しているＷｅｂＳｏｃｋｅｔコネクションＣＴのコネクション識別情報と異なる値のコネクション識別情報を生成する。ステップＳＢ４の処理により、ＷｅｂＳｏｃｋｅｔコネクションＣＴと、印刷装置１２との対応関係が管理される。
このように、ユーザーによる指示や、制御サーバー１０からの要求を受けることなく、電源の投入をトリガーとしてＷｅｂＳｏｃｋｅｔコネクションＣＴを確立する。このような構成のため、ユーザーは、ＷｅｂＳｏｃｋｅｔコネクションＣＴを確立するために、煩雑な作業を行う必要がない。また、ＷｅｂＳｏｃｋｅｔコネクションＣＴを確立するために、専門的な知識も必要ない。また、電源投入後、すぐに、印刷装置１２を、制御サーバー１０の制御で各種処理を実行できる状態とすることができる。
【００２５】
以上のようにして、通信部１６と、接続部２６との間で、ＷｅｂＳｏｃｋｅｔコネクションＣＴが確立する。これに伴って、印刷装置１２の印刷制御部１７と、制御サーバー１０の印刷データ処理部２７との間で、ＷｅｂＳｏｃｋｅｔコネクションＣＴに基づく第１機能部間通信経路ＫＴ１が確立する。第１機能部間通信経路ＫＴ１とは、印刷制御部１７と印刷データ処理部２７との間で通信するデータを送受信する論理的な通信経路である。印刷制御部１７と、印刷データ処理部２７とは、第１機能部間通信経路ＫＴ１により、非同期な双方向通信を行える。第１機能部間通信経路ＫＴ１により行われる通信については後述する。
また、ＷｅｂＳｏｃｋｅｔコネクションＣＴの確立に伴って、印刷装置１２のバーコードリーダー制御部２３と、制御サーバー１０のバーコードリーダー処理部２９との間で、ＷｅｂＳｏｃｋｅｔコネクションＣＴに基づく第２機能部間通信経路ＫＴ２が確立する。第２機能部間通信経路ＫＴ２とは、バーコードリーダー制御部２３とバーコードリーダー処理部２９との間で通信するデータを送受信する論理的な通信経路である。バーコードリーダー制御部２３と、バーコードリーダー処理部２９とは、第２機能部間通信経路ＫＴ２により、非同期な双方向通信を行える。第２機能部間通信経路ＫＴ２により行われる通信については後述する。
以下の説明では、印刷装置１２の機能部（後述）と、制御サーバー１０の処理部（後述）との間で確立する通信経路のことを総称して「機能部間通信経路ＫＴ」と表現する。
【００２６】
ところで、図３に示すように、制御サーバー１０は、印刷データ処理部２７、及び、バーコードリーダー処理部２９の２つの機能ブロックを備える。印刷データ処理部２７、及び、バーコードリーダー処理部２９を区別せずに表現する場合、これら機能ブロックを総称して「処理部」と表現する。
また、印刷装置１２は、印刷制御部１７、及び、バーコードリーダー制御部２３の２つの機能ブロックを備える。以下、印刷制御部１７、及び、バーコードリーダー制御部２３を区別せずに表現する場合、これら機能ブロックを総称して「機能部」と表現する。
そして、本実施形態に係る制御システム１では、印刷装置１２の印刷制御部１７と、制御サーバー１０の印刷データ処理部２７とが対応する。また、印刷装置１２のバーコードリーダー制御部２３と、制御サーバー１０のバーコードリーダー処理部２９とが対応する。
機能部と、処理部とが対応するとは、処理部が送信したデータを機能部が処理でき、逆に、機能部が送信したデータを処理部が処理できる関係にあることをいう。従って、処理部は、対応関係にある機能部に対してデータを送信して、当該機能部の機能に基づく処理を実行させることができる。また、機能部は、対応関係にある処理部に対してデータを送信して、当該処理部の機能に基づく処理を実行させることができる。
なお、１つの機能部に対して、１つの処理部が対応する構成のほか、複数の機能部に対して、１つの処理部が対応する構成でもよい。この構成の場合において、１の処理部に対応する複数の機能部は、異なる印刷装置１２の機能部であってもよく、また、同一の印刷装置１２の機能部であってもよい。
後に詳述するように、対応する処理部と、機能部とは、ＷｅｂＳｏｃｋｅｔコネクションＣＴに基づく機能部間通信経路ＫＴにより非同期な双方向通信を行うことが可能である。
ここで、本実施形態では、処理部は、動作可能状態を確立することにより、実装された機能に基づく処理を実行できる状態となる。動作可能状態とは、処理部について、実装された機能に基づく処理を実行するのに必要な初期処理が完了し、要求があった場合や、所定の条件が成立した場合等、所定のタイミングで、所定の処理を実行可能な状態のことをいう。
本実施形態では、処理部として、印刷データ処理部２７、及び、バーコードリーダー処理部２９がある。そして、各処理部は、所定のタイミングで、初期処理を行って動作可能となる。
以下、対応する処理部と機能部との間での機能部間通信経路ＫＴによる非同期な双方向通信について説明すると共に、処理部が動作可能状態を確立するタイミングについて説明する。
【００２７】
図５は、印刷データ処理部２７が動作可能状態を確立するときの印刷装置１２、及び、制御サーバー１０の動作を示すフローチャートである。（Ａ）は印刷装置１２の動作を示し、（Ｂ）は制御サーバー１０の動作を示す。
なお、図５のフローチャートの説明では、印刷データ処理部２７の動作可能状態の確立のタイミングを説明すると共に、印刷制御部１７と印刷データ処理部２７との間の第１機能部間通信経路ＫＴ１による非同期な双方向通信について、印刷制御部１７から印刷データ処理部２７へとデータを送信する場合を例として説明する。
なお、図５のフローチャートのスタート時点では、図４のフローチャートで説明した処理が行われ、制御サーバー１０と、印刷装置１２との間でＷｅｂＳｏｃｋｅｔコネクションＣＴが確立している。また、図５のフローチャートのスタート時点では、印刷データ処理部２７は、動作可能状態を確立していない。
【００２８】
図５（Ａ）に示すように、印刷装置１２の印刷制御部１７は、印刷部１８が動作可能となったか否かを監視する（ステップＳＣ１）。ステップＳＣ１の処理は、例えば、以下のようにして実行される。
例えば、印刷部１８への電力供給の電源スイッチが印刷装置１２の主電源スイッチとは独立して設けられる。この場合、ステップＳＣ１において、印刷制御部１７は、印刷部１８の電源スイッチがオンされた場合に、印刷部１８が動作可能となったと判別する。
また例えば、レジ担当者の名札等に付与された認証用のバーコードの読み取り、及び、バーコードの読取結果に基づく認証が行われた後に、印刷部１８による何らかの印刷（例えば、レシートの印刷）が行われるルールの場合、ステップＳＣ１において、印刷制御部１７は、認証用のバーコードの読み取りが実行された場合に、印刷部１８による印刷が動作可能となったと判別する。
以上の例のほか、印刷部１８による印刷が動作可能となったか否かを判別する手段は、どのようなものであってもよい。
【００２９】
印刷部１８が動作可能となった場合（ステップＳＣ１：ＹＥＳ）、印刷制御部１７は、印刷データ処理部２７に対して動作可能状態の確立を要求する状態確立要求コマンド（第２のコマンド）を、予め定められたフォーマットで生成する（ステップＳＣ２）。
次いで、印刷制御部１７は、生成した状態確立要求コマンドを、通信制御部１５に送信する（ステップＳＣ３）。
次いで、通信制御部１５は、受信した状態確立要求コマンドに、印刷装置識別情報、及び、印刷制御部１７の機能部識別情報を付加する（ステップＳＣ４）。各識別情報は、例えば、状態確立要求コマンドのヘッダーの所定の領域に付加される。
機能部識別情報とは、印刷装置１２が備える機能部を識別する識別情報であり、各機能部に対して、異なる値の機能部識別情報が割り当てられる。従って、印刷制御部１７と、バーコードリーダー制御部２３とには、異なる値の機能部識別情報が割り当てられる。
なお、ステップＳＣ４において、通信制御部１５は、印刷装置記憶部１９に記憶された印刷装置識別情報データ１９ｂを参照し、当該データに基づいて、状態確立要求コマンドに印刷装置識別情報を付加する。また、通信制御部１５は、通信制御部１５に対してデータを送信可能な機能部の機能部識別情報を管理し、１の機能部からデータを受信した場合、当該１の機能部の機能部識別情報を取得可能である。
次いで、通信制御部１５は、上記の各識別情報が付加された状態確立要求コマンドを、通信部１６に送信する（ステップＳＣ５）。
次いで、通信部１６は、ＷｅｂＳｏｃｋｅｔコネクションＣＴで、状態確立要求コマンドを制御サーバー１０に送信する（ステップＳＣ６）。
【００３０】
図５（Ｂ）に示すように、接続部２６は、ＷｅｂＳｏｃｋｅｔコネクションＣＴで、状態確立要求コマンドを受信する（ステップＳＤ１）。
次いで、接続部２６は、受信した状態確立要求コマンドを、通信管理部２５に送信する（ステップＳＤ２）。
次いで、通信管理部２５は、状態確立要求コマンドに付加された印刷装置識別情報、及び、機能部識別情報を取得する（ステップＳＤ３）。
次いで、通信管理部２５は、制御サーバー記憶部２８に記憶された処理部管理データベース２８ｂを参照する（ステップＳＤ４）。
処理部管理データベース２８ｂとは、印刷装置識別情報、及び、機能部識別情報の組合せと、処理部識別情報とを対応づけて記憶するデータベースである。
処理部識別情報とは、制御サーバー１０が備える処理部を識別する識別情報であり、各処理部に対して、異なる値の処理部識別情報が割り当てられる。従って、印刷データ処理部２７と、バーコードリーダー処理部２９とには、異なる値の処理部識別情報が割り当てられる。
【００３１】
上述したように、本実施形態に係る制御システム１では、制御サーバー１０に対して、複数の印刷装置１２が接続される。そして、制御サーバー１０は、各印刷装置１２の機能部に対応して、処理部を備える。
そして、処理部管理データベース２８ｂでは、印刷装置識別情報、及び機能部識別情報の組合せに応じて、これら識別情報の組合せに対応する処理部の処理部識別情報が対応付けて記憶される。つまり、処理部管理データベース２８ｂは、各レコードにおいて、所定の印刷装置１２の所定の機能部と、当該所定の機能部に対応する処理部と、を対応付けて管理する。
【００３２】
次いで、通信制御部１５は、ステップＳＤ３で取得した印刷装置識別情報、及び、機能部識別情報の組合せをキーとして、処理部管理データベース２８ｂにおいて、当該識別情報の組合せと対応付けられた処理部識別情報を取得する（ステップＳＤ５）。本例では、通信制御部１５は、印刷データ処理部２７の処理部識別情報を取得する。ステップＳＤ５において通信制御部１５が取得した処理部識別情報は、ＷｅｂＳｏｃｋｅｔコネクションＣＴで受信したデータを送信する処理部の識別情報である。
次いで、通信管理部２５は、ステップＳＤ５で取得した処理部識別情報が示す処理部（本例では、印刷データ処理部２７）に状態確立要求コマンドを送信する（ステップＳＤ６）。なお、通信管理部２５は、データを送信可能な処理部について、処理部識別情報を管理する。
【００３３】
状態確立要求コマンドを受信した印刷データ処理部２７は、設定情報データベース２８ｃを参照する（ステップＳＤ７）。
設定情報データベース２８ｃとは、印刷装置識別情報、及び、処理部識別情報の組合せと、初期処理設定ファイルと、を対応付けて記憶するデータベースである。
初期処理設定ファイルとは、処理部が初期処理を行う際に参照する情報が記述されたファイルである。
ここで、本実施形態では、処理部は、後述する所定のタイミングで初期処理を実行する。そして、印刷装置１２は、初期処理に際し、ＷｅｂＳｏｃｋｅｔコネクションＣＴを確立した印刷装置１２に応じて、異なる初期処理設定ファイルを参照する。なぜなら、印刷装置１２によって、機能、スペック、状態が異なっており、初期処理時は、対応する印刷装置１２の機能等に応じた態様で初期処理を実行する必要があるからである。
そして、設定情報データベース２８ｃでは、印刷装置識別情報、及び、処理部識別情報の組合せに応じて、これら識別情報の組合せに対応する処理部の処理部識別情報が対応付けて記憶される。つまり、設定情報データベース２８ｃは、各レコードにおいて、所定の印刷装置１２に対応する所定の処理部が、初期処理時に参照する初期処理設定ファイルを管理する。
【００３４】
ステップＳＤ７において、設定情報データベース２８ｃを参照した後、印刷データ処理部２７は、以下の処理を行う。すなわち、印刷データ処理部２７は、状態確立要求コマンドに付加された印刷装置識別情報、及び、処理部識別情報をキーとして、設定情報データベース２８ｃにおいて、当該識別情報の組合せと対応付けられた初期処理設定ファイルを取得する（ステップＳＤ８）。
次いで、印刷データ処理部２７は、ステップＳＤ８で取得した初期処理設定ファイルを参照して、初期処理を実行する（ステップＳＤ９）。ステップＳＤ９の初期処理の実行により、印刷データ処理部２７は、動作可能状態を確立し、後述するように、印刷制御データを生成可能な状態となる。
【００３５】
ここで、印刷データ処理部２７の初期処理について、例を挙げて説明する。
例えば、印刷データ処理部２７は、後述するように、印刷装置１２の印刷制御データを生成して、印刷装置１２に送信して、印刷装置１２を制御する。そして、印刷データ処理部２７は、初期処理において、印刷装置１２にセットされる印刷媒体の紙幅や、印刷装置１２に設定可能な印字速度、印字濃度等の印刷装置１２の設定情報を、取得する。また、後述するように、印刷制御データは、ＸＭＬファイルであるが、印刷データ処理部２７は、印刷装置１２が対応するＸＭＬのバージョン等を取得する。すなわち、印刷データ処理部２７は、印刷制御データを生成するときに参照する印刷装置１２に関する設定情報を取得する。取得した印刷装置１２に関する設定情報は、例えば、印刷データ処理部２７の機能を実現するプログラムに定義された変数に格納される。これら印刷装置１２に関する設定情報は、初期処理設定ファイルに所定のフォーマットで記述される。また、印刷データ処理部２７は、印刷装置１２から受信したデータについて、対応する処理を実行する機能を有するが、初期処理では、受信したデータの処理を可能とする事前処理が実行される。
つまり、初期処理では、印刷制御データを生成する機能等、印刷データ処理部２７に実装された各機能に基づく処理を、印刷データ処理部２７が実行するのに必要な事前処理が行われる。印刷データ処理部２７は、対応する初期処理用設定ファイルを参照して、初期処理を実行することにより、動作可能状態を確立し、以後は、任意のタイミングで、任意の機能に基づく処理を実行できる。
【００３６】
このように、本実施形態では、印刷部１８が動作可能となった場合に、印刷制御部１７から印刷データ処理部２７に対して状態確立要求コマンドが送信される。そして、印刷データ処理部２７は、受信した状態確立要求コマンドに基づいて、初期処理を実行し、動作可能状態を確立する。
このような構成のため、以下の効果を奏することができる。
すなわち、印刷部１８による印刷が実行可能となっておらず、従って、印刷データ処理部２７が機能に基づく処理を実行する必要のない状況で、印刷データ処理部２７による初期処理が行われることがない。このため、不必要な処理が実行されることを抑制でき、処理効率が向上し、リソースの効率的な使用を実現できる。
【００３７】
以上、印刷データ処理部２７が初期処理を行うタイミングについてフローチャートを用いて説明した。
次に、バーコードリーダー処理部２９が初期処理を行うタイミングについて、図５のフローチャートを利用して説明する。
図５（Ａ）のフローチャートのステップＳＣ１において、印刷装置１２のバーコードリーダー制御部２３は、以下の処理を行う。すなわち、バーコードリーダー制御部２３は、バーコードリーダーＢＲ（動作部）が動作可能となったか否かを監視する。
バーコードリーダーＢＲが動作可能となる場合とは、例えば、印刷装置１２にバーコードリーダーＢＲが接続された場合である。印刷装置１２にバーコードリーダーＢＲが接続されると、印刷装置１２とバーコードリーダーＢＲとの間で通信可能となり、バーコードリーダー制御部２３の制御によりバーコードリーダーＢＲが動作可能となる。また例えば、バーコードリーダーＢＲが電源を有する場合は、接続されたバーコードリーダーＢＲの電源がオンとなった場合である。
バーコードリーダーＢＲが動作可能となった場合、制御サーバー１０のバーコードリーダー処理部２９が、バーコードリーダーＢＲの制御に係る処理を実行する可能性が生じる。より詳細には、バーコードリーダー処理部２９は、バーコードリーダーＢＲの制御に係る制御データを生成する機能を有する。また、バーコードリーダー制御部２３は、バーコードリーダー処理部２９が生成した制御データに基づいてバーコードリーダーＢＲを制御する機能を有する。そして、バーコードリーダーＢＲが印刷装置１２に接続された場合、バーコードリーダー処理部２９は、制御データを生成する処理を実行する可能性が生じる。
【００３８】
バーコードリーダーＢＲが動作可能となった場合、バーコードリーダー制御部２３（機能部）は、状態確立要求コマンド（第１のコマンド）を生成する（ステップＳＣ２）。通信制御部１５は、状態確立要求コマンドに印刷装置識別情報、及び、バーコードリーダー制御部２３の機能部識別情報を付加する（ステップＳＣ４）。通信部１６は、状態確立要求コマンドを制御サーバー１０に送信する（ステップＳＣ６）。
制御サーバー１０の通信管理部２５は、状態確立要求コマンドに付加された印刷装置識別情報、及び、機能部識別情報を取得する（ステップＳＤ３）。通信管理部２５は、取得した識別情報、及び、処理部管理データベース２８ｂに基づいて、対応する処理部識別情報（本例では、バーコードリーダー処理部２９の処理部識別情報）を取得し、バーコードリーダー処理部２９に状態確立要求コマンドを送信する（ステップＳＤ４〜ステップＳＤ６）。バーコードリーダー処理部２９は、設定情報データベース２８ｃを参照し、対応する初期処理用ファイルに基づいて初期処理を実行し、動作可能状態を確立する。バーコードリーダー処理部２９の動作可能状態の確立により、バーコードリーダー処理部２９は、制御データを生成できる状態となる。
このような動作が行われるため、バーコードリーダー処理部２９について、不必要に初期処理が行われることがない。また、バーコードリーダー処理部２９が処理を行う可能性が生じた場合は、初期処理が実行され、動作可能となる。このため、実際にバーコードリーダー処理部２９が処理を行う際に、当該機能部について動作可能状態を確立した状態とすることができる。
なお、本例では、動作部は、バーコードリーダーＢＲであるが、動作部は、バーコードリーダーＢＲに限らない。動作部は、バーコードリーダーＢＲ以外のデバイス等、各種機構、装置等であってもよい。
【００３９】
次に、ＷｅｂＳｏｃｋｅｔコネクションＣＴの確立後における印刷データ処理部２７と、印刷制御部１７との通信について、印刷データ処理部２７がデータを送信する場合を例にして説明する。
図６は、印刷装置１２により印刷媒体に印刷するときの制御サーバー１０、及び、印刷装置１２の動作を示すフローチャートであり、（Ａ）は制御サーバー１０の動作を、（Ｂ）は印刷装置１２の動作を示す。
図６（Ａ）に示すように、印刷データ処理部２７は、印刷装置１２の印刷部１８を制御する印刷制御データを生成し、通信管理部２５に送信する（ステップＳＥ１）。印刷制御データは、印刷装置１２に印刷させる情報が記述されたＸＭＬ（Extensible Markup Language）ファイルである。印刷制御データには、ＸＭＬに係るフォーマットで、印刷装置１２に印刷させる情報、例えば、画像データや、画像の位置を示す情報等が記述される。
また、印刷制御データには、印刷させる印刷装置１２の印刷装置識別情報が付加される。印刷データ処理部２７は、制御サーバー１０に接続された印刷装置１２の印刷装置識別情報を管理し、印刷制御データに、印刷をさせる印刷装置１２の印刷装置識別情報を付加することができる。
印刷装置識別情報は、印刷制御データのヘッダー等の制御情報が記述される領域における所定の領域に記述されてもよく、また、印刷制御データ内の所定のタグに記述されてもよい。
次いで、通信管理部２５は、制御サーバー記憶部２８に記憶されたコネクション管理データベース２８ａにアクセスする（ステップＳＥ２）。
【００４０】
次いで、通信管理部２５は、受信した印刷制御データに付加された印刷装置識別情報をキーとして、コネクション管理データベース２８ａにおいて、当該識別情報と対応付けられたＷｅｂＳｏｃｋｅｔコネクションＣＴのコネクション識別情報を取得する（ステップＳＥ３）。ここで取得されたコネクション識別情報は、印刷させる印刷装置１２との間で確立されたＷｅｂＳｏｃｋｅｔコネクションＣＴのコネクション識別情報である。
次いで、通信管理部２５は、受信した印刷制御データに、印刷データ処理部２７の処理部識別情報を付加する（ステップＳＥ４）。
通信管理部２５は、通信管理部２５にデータを送信可能な処理部の処理部識別情報を管理する。従って、通信管理部２５は、１の処理部からデータを受信した場合に、当該１の処理部の処理部識別情報を、受信したデータに付加することができる。
次いで、通信管理部２５は、印刷制御データを、ステップＳＥ３で取得したコネクション識別情報に対応する接続部２６に送信する（ステップＳＥ５）。
次いで、接続部２６は、受信した印刷制御データを、ＷｅｂＳｏｃｋｅｔコネクションＣＴにより、ＷｅｂＳｏｃｋｅｔで、プッシュ送信する（ステップＳＥ６）。
【００４１】
図６（Ｂ）に示すように、通信部１６は、ＷｅｂＳｏｃｋｅｔで、印刷制御データを受信する（ステップＳＦ１）。
次いで、通信部１６は、通信制御部１５に、印刷制御データを送信する（ステップＳＦ２）。
次いで、通信制御部１５は、印刷制御データに付加された処理部識別情報を取得する（ステップＳＦ３）。
次いで、通信制御部１５は、機能部管理データベース１９ｃを参照する（ステップＳＦ４）。
機能部管理データベース１９ｃとは、印刷装置１２が備える機能部について、機能部識別情報と、対応する処理部の処理部識別情報と、を対応付けて記憶するデータベースである。つまり、機能部管理データベース１９ｃは、対応関係にある機能部の識別情報と、処理部の識別情報とを管理するデータベースである。
本例では、機能部管理データベース１９ｃにおいて、印刷制御部１７の機能部識別情報と、印刷データ処理部２７の処理部識別情報とが対応付けて記憶される。また、機能部管理データベース１９ｃにおいて、バーコードリーダー制御部２３の機能部識別情報と、バーコードリーダー処理部２９の処理部識別情報とが対応付けて記憶される。
次いで、通信制御部１５は、ステップＳＦ３で取得した処理部識別情報をキーとして、機能部管理データベース１９ｃにおいて、当該識別情報と対応付けられた機能部識別情報を取得する（ステップＳＦ５）。ここで通信制御部１５が取得した機能部識別情報が示す機能部は、通信制御部１５が受信したデータ（本例では、印刷制御データ）の送信元の処理部に対応する機能部である。つまり、ステップＳＦ５で通信制御部１５が取得した機能部識別情報は、データを送信する機能部を示す機能部識別情報である。
【００４２】
次いで、通信制御部１５は、ステップＳＦ５において取得した機能部識別情報が示す機能部（本例では、印刷制御部１７）に、印刷制御データを送信する（ステップＳＦ６）。なお、通信制御部１５は、機能部識別情報と、機能部との関係を管理する。
次いで、印刷制御部１７は、受信した印刷制御データを、印刷部１８のコマンド体系の制御コマンドに変換する（ステップＳＦ７）。つまり、印刷制御部１７は、ＸＭＬファイルである印刷制御データを、印刷部１８の制御基板が解釈可能なコマンドに変換する。
次いで、印刷制御部１７は、制御コマンドを、印刷部１８に送信する（ステップＳＦ８）。
次いで、印刷部１８は、制御コマンドに基づいて、印刷媒体へ印刷を実行する（ステップＳＦ９）。
このように、本実施形態では、印刷装置１２に印刷を実行させる事象が発生した場合に、印刷装置１２からのリクエストを受けることなく、制御サーバー１０は、印刷装置１２に印刷させることができる。印刷装置１２に印刷を実行させる事象が発生した場合とは、例えば、ユーザーからの指示があった場合や、通信可能に接続された外部機器からの要求があった場合、事前に定義した条件が成立した場合等、である。
以上、印刷データ処理部２７から印刷制御部１７に対してデータを送信する場合の処理について説明したが、バーコードリーダー処理部２９からバーコードリーダー制御部２３に対してデータを送信する場合も同様の処理が行われる。
【００４３】
以上説明したように、本実施形態に係る制御システム１（印刷制御システム）は、印刷を行う印刷部１８、印刷制御データに基づいて印刷部１８を制御する印刷制御部１７、印刷制御データとは異なる制御データに基づく処理を行い、制御データを送信できる状態の確立を要求する状態確立要求コマンド（第１のコマンド）を生成するバーコードリーダー制御部２３（機能部）、及び非同期の双方向通信を行い、バーコードリーダー制御部２３で生成された状態確立要求コマンド及び印刷制御データを通信する通信部１６を有する印刷装置１２と、印刷制御データを生成する印刷データ処理部２７、制御データを生成するバーコードリーダー処理部２９（処理部）、状態確立要求コマンドに基づいてバーコードリーダー処理部２９が制御データを生成できる状態を確立する通信管理部２５、及びバーコードリーダー処理部２９で生成した制御データ及び状態確立要求コマンドを通信する接続部２６を有する制御サーバー１０（印刷制御装置）と、を備える。
この構成によれば、印刷装置１２と、制御サーバー１０とは、非同期の双方向通信を行う。このため、印刷装置１２は任意のタイミングで制御サーバー１０にデータを送信でき、また、制御サーバー１０は任意のタイミングで印刷装置１２にデータを送信できる。従って、印刷装置１２は、制御サーバー１０にデータに基づく処理を実行させるトリガーが発生したときに、データを送信して制御サーバー１０に処理を実行させることができ、また、制御サーバー１０は、印刷装置１２に印刷制御データに基づく処理を実行させるトリガーが発生したときに、印刷制御データを印刷装置１２に送信し、印刷制御データに基づく処理を印刷装置１２に実行させることができる。また、上記構成によれば、印刷装置１２は、制御データに基づく処理を行うバーコードリーダー制御部２３を有し、制御サーバー１０に状態確立要求コマンドを送信することにより、制御サーバー１０のバーコードリーダー処理部２９について、制御データを生成できる状態とすることができる。従って、印刷装置１２は、バーコードリーダー制御部２３を有することに対応して、制御サーバー１０のバーコードリーダー処理部２９について、制御データを生成できる状態とすることができる。つまり、本発明の構成によれば、制御システム１を、印刷装置１２が制御データに基づく処理を行うバーコードリーダー制御部２３を有する構成、及び、印刷装置１２と制御サーバー１０とがネットワークＧＮにより通信する構成に対応させることができる。
【００４４】
また、本実施形態に係る印刷装置１２は、バーコードリーダー制御部２３での制御データの処理に基づいて動作するバーコードリーダーＢＲを有し、バーコードリーダー制御部２３は、バーコードリーダーＢＲが動作可能となったときに、状態確立要求コマンドを生成する。
この構成によれば、バーコードリーダーＢＲが動作可能状態となり、制御サーバー１０がバーコードリーダー制御部２３を制御する可能性が生じた場合に、制御サーバー１０のバーコードリーダー処理部２９について、制御データを生成できる状態とすることができる。
【００４５】
また、本実施形態では、印刷制御部１７は、印刷制御データを送信できる状態の確立を要求する状態確立要求コマンド（第２のコマンド）を生成し、通信部１６は、印刷制御部で生成された状態確立要求コマンドを通信する。
この構成によれば、印刷装置１２は、印刷制御データに基づく処理を行う印刷制御部１７を有し、制御サーバー１０に状態確立要求コマンドを送信することにより、制御サーバー１０の印刷データ処理部２７について、印刷制御データを生成できる状態とすることができる。
【００４６】
また、印刷制御部１７は、印刷部１８が動作可能となったときに、状態確立要求コマンドを生成する。
本発明の構成によれば、印刷部１８が動作可能となり、制御サーバー１０の印刷データ処理部２７が印刷制御部１７を制御する可能性が生じた場合に、印刷制御部１７について、印刷制御データを生成できる状態とすることができる。
【００４７】
なお、上述した実施の形態は、あくまでも本発明の一態様を示すものであり、本発明の範囲内で任意に変形および応用が可能である。
上述した実施形態では、印刷装置１２は店舗に構築された店舗システム１１に設けられていた。しかしながら、印刷装置１２は、必ずしも、店舗システム１１に設けられたものでなくてもよい。例えば、他のシステムに設けられたものであってもよい。
また、上述した実施形態では、制御サーバー１０から、印刷装置１２に対して、ＸＭＬファイルの印刷制御データを送信していたが、印刷制御データのデータ形式はＸＭＬでなくともよい。例えば、他のマークアップ言語で生成されたデータであってもよく、また、印刷部１８のコマンド体系の制御コマンドであってもよい。
また、図３に示す各機能ブロックはハードウェアとソフトウェアにより任意に実現可能であり、特定のハードウェア構成を示唆するものではない。また、印刷装置１２の各機能を、当該装置に外部接続される別の装置に持たせるようにしてもよい。また、印刷装置１２は、外部接続される記憶媒体に記憶させたプログラムを実行することにより、各種処理を実行してもよい。
【符号の説明】
【００４８】
１…制御システム（印刷制御システム）、１０…制御サーバー（印刷制御装置）、１２…印刷装置、１６…通信部、１７…印刷制御部、１８…印刷部、２３…バーコードリーダー制御部（機能部）、２５…通信管理部、２６…接続部、２７…印刷データ処理部、２９…バーコードリーダー処理部（処理部）、ＢＲ…バーコードリーダー。
【図１】
2015089678.tif 000003
【図２】
2015089678.tif 000004
【図３】
2015089678.tif 000005
【図４】
2015089678.tif 000006
【図５】
2015089678.tif 000007
【図６】
2015089678.tif 000008