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