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