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