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