JP2015090644A - 印刷制御装置、及び、印刷制御システム - Google Patents
印刷制御装置、及び、印刷制御システム Download PDFInfo
- Publication number
- JP2015090644A JP2015090644A JP2013230944A JP2013230944A JP2015090644A JP 2015090644 A JP2015090644 A JP 2015090644A JP 2013230944 A JP2013230944 A JP 2013230944A JP 2013230944 A JP2013230944 A JP 2013230944A JP 2015090644 A JP2015090644 A JP 2015090644A
- Authority
- JP
- Japan
- Prior art keywords
- printing
- unit
- communication
- processing unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
【課題】印刷装置と印刷制御装置とがネットワークを介して通信する印刷制御システムについて、印刷制御装置、及び、印刷制御システムを、装置間がネットワークを介して通信する構成に対応させる。【解決手段】制御サーバー10は、WebSocketコネクションCTで印刷制御データの通信を行う第1接続部26と、印刷制御データを処理する印刷データ処理部27と、印刷データ処理部27に初期処理を実行させて印刷制御データの処理を実行可能とする通信管理部25と、を有する。【選択図】図3
Description
本発明は、印刷制御装置、及び、印刷制御システムに関する。
従来、印刷制御装置の制御の下、印刷装置によって印刷媒体に印刷し、レシートを発行する印刷制御システムが知られている(例えば、特許文献1参照)。この種の印刷制御システムでは、印刷装置と、印刷制御装置とがネットワークを介して接続され、当該ネットワークを介して通信する。
上述した印刷制御システムのように、印刷装置と印刷制御装置とがネットワークを介して通信するシステムを構築する場合、印刷制御装置、及び、システムを、印刷機能を有する印刷装置と印刷制御装置とがネットワークを介して通信する構成に対応させる必要がある。
本発明は、上述した事情に鑑みてなされたものであり、印刷装置と印刷制御装置とがネットワークを介して通信する印刷制御システムについて、印刷制御装置、及び、印刷制御システムを、装置間がネットワークを介して通信する構成に対応させることを目的とする。
本発明は、上述した事情に鑑みてなされたものであり、印刷装置と印刷制御装置とがネットワークを介して通信する印刷制御システムについて、印刷制御装置、及び、印刷制御システムを、装置間がネットワークを介して通信する構成に対応させることを目的とする。
上記目的を達成するために、本発明の印刷制御装置は、印刷制御データを処理する印刷データ処理部と、非同期の双方向通信の通信経路で前記印刷制御データの通信を行う接続部と、前記印刷データ処理部に初期処理を実行させて、前記印刷制御データの処理を実行可能とする通信管理部と、を有することを特徴とする。
本発明の構成によれば、印刷制御装置は、印刷装置等の外部装置に対して、非同期の双方向通信で印刷制御データを送信できる。このため、印刷制御装置は、任意のタイミングで通信経路により印刷制御データを印刷装置等の外部装置に送信して、外部装置に印刷制御データに基づく処理を実行させることができる。また、本発明の構成によれば、印刷制御装置は、印刷データ処理部と、印刷データ処理部に初期処理を実行させて、印刷制御データの処理を実行可能とする通信管理部とを備える。このため、印刷制御装置は、印刷データ処理部について、必要に応じて、初期化処理を行わせて、機能に基づく処理を行える状態とすることができる。つまり、上記構成によれば、印刷制御システムに含まれる印刷制御装置を、当該印刷制御装置が印刷データ処理部を有する構成、及び、印刷制御システムにおいて印刷装置等の外部装置と印刷制御装置とがネットワークを介して通信する構成に対応させることができる。
本発明の構成によれば、印刷制御装置は、印刷装置等の外部装置に対して、非同期の双方向通信で印刷制御データを送信できる。このため、印刷制御装置は、任意のタイミングで通信経路により印刷制御データを印刷装置等の外部装置に送信して、外部装置に印刷制御データに基づく処理を実行させることができる。また、本発明の構成によれば、印刷制御装置は、印刷データ処理部と、印刷データ処理部に初期処理を実行させて、印刷制御データの処理を実行可能とする通信管理部とを備える。このため、印刷制御装置は、印刷データ処理部について、必要に応じて、初期化処理を行わせて、機能に基づく処理を行える状態とすることができる。つまり、上記構成によれば、印刷制御システムに含まれる印刷制御装置を、当該印刷制御装置が印刷データ処理部を有する構成、及び、印刷制御システムにおいて印刷装置等の外部装置と印刷制御装置とがネットワークを介して通信する構成に対応させることができる。
また、前記通信管理部は、前記通信経路が確立したときに、前記印刷データ処理部に前記初期処理を実行させる。
本発明の構成によれば、通信経路が確立することによって、印刷データ処理部が、印刷装置等の外部装置に印刷制御データを送信する可能性が生じた場合に、つまり、印刷データ処理部が機能に基づく処理を行う可能性が生じた場合に、印刷データ処理部について、機能に基づく処理を実行可能な状態とすることができる。
本発明の構成によれば、通信経路が確立することによって、印刷データ処理部が、印刷装置等の外部装置に印刷制御データを送信する可能性が生じた場合に、つまり、印刷データ処理部が機能に基づく処理を行う可能性が生じた場合に、印刷データ処理部について、機能に基づく処理を実行可能な状態とすることができる。
また、前記印刷データ処理部に設定する設定情報を記憶する記憶部を有し、前記印刷データ処理部は、前記設定情報に基づいて前記初期処理を実行する。
本発明の構成によれば、設定情報を、接続された外部装置に対応した内容とすることにより、印刷データ処理部は、設定情報に基づいて、接続された外部装置に対応する初期処理を実行可能である。
本発明の構成によれば、設定情報を、接続された外部装置に対応した内容とすることにより、印刷データ処理部は、設定情報に基づいて、接続された外部装置に対応する初期処理を実行可能である。
また、前記非同期の双方向通信は、WebSocket通信である。
本発明の構成によれば、印刷制御装置は、WebSocket通信により、外部装置と非同期の双方向通信を実行できる。
本発明の構成によれば、印刷制御装置は、WebSocket通信により、外部装置と非同期の双方向通信を実行できる。
また、本発明の印刷制御システムは、印刷制御データに基づいて印刷を制御する印刷制御部、及び非同期の双方向通信の通信経路で前記印刷制御データの通信を行う通信部を有する印刷装置と、前記通信経路で前記印刷制御データの通信を行う接続部、前記印刷制御データを処理する印刷データ処理部、及び前記印刷データ処理部に初期処理を実行させて前記印刷制御データの処理を実行可能とする通信管理部を有する印刷制御装置と、を備えることを特徴とする。
本発明の構成によれば、印刷制御システムにおいて、印刷制御装置と、印刷装置とは、非同期の双方向通信を行う。このため、印刷制御装置は、任意のタイミングで通信経路により印刷制御データを印刷装置に送信して、印刷装置に印刷制御データに基づく処理を実行させることができる。また、本発明の構成によれば、印刷制御装置は、印刷データ処理部と、印刷データ処理部に初期処理を実行させて、印刷制御データの処理を実行可能とする通信管理部とを備える。このため、印刷制御装置は、印刷データ処理部について、必要に応じて、初期化処理を行わせて、機能に基づく処理を行える状態とすることができる。つまり、上記構成によれば、印刷制御システムを、印刷制御装置が印刷データ処理部を有する構成、及び、印刷装置と印刷制御装置とがネットワークを介して通信する構成に対応させることができる。
本発明の構成によれば、印刷制御システムにおいて、印刷制御装置と、印刷装置とは、非同期の双方向通信を行う。このため、印刷制御装置は、任意のタイミングで通信経路により印刷制御データを印刷装置に送信して、印刷装置に印刷制御データに基づく処理を実行させることができる。また、本発明の構成によれば、印刷制御装置は、印刷データ処理部と、印刷データ処理部に初期処理を実行させて、印刷制御データの処理を実行可能とする通信管理部とを備える。このため、印刷制御装置は、印刷データ処理部について、必要に応じて、初期化処理を行わせて、機能に基づく処理を行える状態とすることができる。つまり、上記構成によれば、印刷制御システムを、印刷制御装置が印刷データ処理部を有する構成、及び、印刷装置と印刷制御装置とがネットワークを介して通信する構成に対応させることができる。
また、前記印刷制御装置の通信管理部は、前記印刷装置との間での前記通信経路が確立したときに、前記印刷データ処理部に前記初期処理を実行させる。
本発明の構成によれば、通信経路が確立することによって、印刷データ処理部が、印刷装置に印刷制御データを送信する可能性が生じた場合に、つまり、印刷データ処理部が機能に基づく処理を行う可能性が生じた場合に、印刷データ処理部について、機能に基づく処理を実行可能な状態とすることができる。
本発明の構成によれば、通信経路が確立することによって、印刷データ処理部が、印刷装置に印刷制御データを送信する可能性が生じた場合に、つまり、印刷データ処理部が機能に基づく処理を行う可能性が生じた場合に、印刷データ処理部について、機能に基づく処理を実行可能な状態とすることができる。
また、前記印刷制御装置は、前記印刷データ処理部に設定する設定情報を記憶する記憶部を有し、前記印刷制御装置の前記印刷データ処理部は、前記設定情報に基づいて前記初期処理を実行する。
本発明の構成によれば、設定情報を、印刷装置に対応した内容とすることにより、印刷データ処理部は、設定情報に基づいて、接続された印刷装置に対応する初期処理を実行可能である。
本発明の構成によれば、設定情報を、印刷装置に対応した内容とすることにより、印刷データ処理部は、設定情報に基づいて、接続された印刷装置に対応する初期処理を実行可能である。
また、前記非同期の双方向通信は、WebSocket通信である。
本発明の構成によれば、印刷装置と、印刷制御装置とは、WebSocket通信により、非同期の双方向通信を実行できる。
本発明の構成によれば、印刷装置と、印刷制御装置とは、WebSocket通信により、非同期の双方向通信を実行できる。
以下、図面を参照して本発明の実施形態について説明する。
図1は、本実施形態に係る制御システム1(印刷制御システム)の構成を示す図である。
図1に示すように、制御システム1は、制御サーバー10(印刷制御装置)を備え、制御サーバー10にインターネット等のネットワークGNを介して複数の店舗システム11が接続される。また、ネットワークGNには、複数の管理装置14が接続される。
店舗システム11は、スーパーマーケットや、コンビニエンスストア、デパート、飲食店等の店舗に適用されたシステムである。店舗システム11は、少なくとも、店舗に来店した顧客に対してレシートを発行する機能を備える。
店舗システム11は、印刷媒体に印刷する印刷機能を有し、レシートを発行可能な1又は複数の印刷装置12を備える。印刷装置12は、店舗内に構築されたローカルエリアネットワークLNに接続される。ローカルエリアネットワークLNには、ネットワークルーターや、モデム等の通信機器を含んで構成されたネットワーク通信制御装置13が接続される。印刷装置12は、ネットワーク通信制御装置13を介して、ネットワークGNにアクセスする。例えば、店舗システム11Aは、スーパーマーケットSMに適用されたシステムである。スーパーマーケットSMには、複数のレジカウンターRCが設けられ、レジカウンターRCには、印刷装置12が設けられる。店舗システム11Aに係る印刷装置12は、ローカルエリアネットワークLNに接続され、ネットワーク通信制御装置13を介して、ネットワークGNにアクセスする。
本実施形態に係る制御システム1では、店舗システム11の印刷装置12が、制御サーバー10との間で通信経路を確立し、制御サーバー10と、通信する。そして、印刷装置12は、制御サーバー10の制御の下、印刷に係る処理を実行する。
管理装置14は、後述するように1又は複数の店舗システム11を管理する装置である。例えば、管理装置14は、店舗を運営する企業の本社に設けられ、当該企業のグループに属する複数の店舗に設けられた店舗システム11を、管理する。後述するように、管理装置14は、管理下にある店舗システム11の所定の印刷装置12を制御して、当該所定の印刷装置12に印刷を実行させることができる。
図1は、本実施形態に係る制御システム1(印刷制御システム)の構成を示す図である。
図1に示すように、制御システム1は、制御サーバー10(印刷制御装置)を備え、制御サーバー10にインターネット等のネットワークGNを介して複数の店舗システム11が接続される。また、ネットワークGNには、複数の管理装置14が接続される。
店舗システム11は、スーパーマーケットや、コンビニエンスストア、デパート、飲食店等の店舗に適用されたシステムである。店舗システム11は、少なくとも、店舗に来店した顧客に対してレシートを発行する機能を備える。
店舗システム11は、印刷媒体に印刷する印刷機能を有し、レシートを発行可能な1又は複数の印刷装置12を備える。印刷装置12は、店舗内に構築されたローカルエリアネットワークLNに接続される。ローカルエリアネットワークLNには、ネットワークルーターや、モデム等の通信機器を含んで構成されたネットワーク通信制御装置13が接続される。印刷装置12は、ネットワーク通信制御装置13を介して、ネットワークGNにアクセスする。例えば、店舗システム11Aは、スーパーマーケットSMに適用されたシステムである。スーパーマーケットSMには、複数のレジカウンターRCが設けられ、レジカウンターRCには、印刷装置12が設けられる。店舗システム11Aに係る印刷装置12は、ローカルエリアネットワークLNに接続され、ネットワーク通信制御装置13を介して、ネットワークGNにアクセスする。
本実施形態に係る制御システム1では、店舗システム11の印刷装置12が、制御サーバー10との間で通信経路を確立し、制御サーバー10と、通信する。そして、印刷装置12は、制御サーバー10の制御の下、印刷に係る処理を実行する。
管理装置14は、後述するように1又は複数の店舗システム11を管理する装置である。例えば、管理装置14は、店舗を運営する企業の本社に設けられ、当該企業のグループに属する複数の店舗に設けられた店舗システム11を、管理する。後述するように、管理装置14は、管理下にある店舗システム11の所定の印刷装置12を制御して、当該所定の印刷装置12に印刷を実行させることができる。
図2は、制御システム1における制御サーバー10と、印刷装置12と間に確立された通信経路を示す図である。
図2に示すように、制御システム1において、制御サーバー10と、各店舗システム11の印刷装置12との間には、WebSocketコネクションCT(通信経路)が確立される。
なお、WebSocketとは、ネットワークを介して接続されたサーバーと、クライアントとの間で、非同期な双方向通信を可能とする通信規格の1つである。WebSocketでは、サーバーとクライアントがWebSocketコネクションCTを確立した後は、データの送受信を、当該コネクションによりプロトコルを用いて行う。このため、データの送信が発生する度に、コネクションを確立する必要がない。
また、WebSocketコネクションCTとは、当該コネクションで接続された印刷装置12と、制御サーバー10との間で、WebSocketのプロトコル、手続きに従ってデータを送受信する論理的な通信経路のことである。従って、印刷装置12と、制御サーバー10との間で、所定のハンドシェイクが行われ、WebSocketコネクションCTを確立した後は、印刷装置12と、制御サーバー10とは、WebSocketコネクションCTにより、非同期にデータを送受信できる。つまり、制御サーバー10は、任意のタイミングでWebSocketコネクションCTにより印刷装置12にデータを送信でき、また、印刷装置12は、WebSocketコネクションCTにより制御サーバー10にデータを送信できる。
また、WebSocket通信とは、WebSocketコネクションCTにより印刷装置12と、制御サーバー10との間で行われる、WebSocketのプロトコル、手続きに従った非同期な双方向通信のことである。
WebSocketコネクションCTの確立に伴って、印刷装置12、及び、制御サーバー10は、非同期で、双方向通信できる。つまり、制御サーバー10は、クライアントとしての印刷装置12からリクエストを受けることなく、WebSocketコネクションCTによりWebSocket通信で印刷装置12にデータをプッシュ送信できる。
制御サーバー10、及び、印刷装置12は、WebSocketコネクションCTで、非同期で双方向通信する。すなわち、制御サーバー10は、クライアントとしての印刷装置12からリクエストを受けることなく、任意のタイミングで、WebSocketコネクションCTで印刷装置12に対してデータをプッシュ送信できる。同様に、印刷装置12は、任意のタイミングで、WebSocketコネクションCTで制御サーバー10に対してデータをプッシュ送信できる。
また、制御サーバー10には、複数の管理装置14が通信可能に接続される。後述するように、管理装置14は、制御サーバー10を介して、所定の印刷装置12に印刷制御データを送信し、当該所定の印刷装置12に印刷制御データに基づく印刷を実行させることができる。
本実施形態では、制御サーバー10と、管理装置14とは、HTTP(Hypertext Transfer Protocol)で通信を行う。すなわち、管理装置14には、ウェブブラウザーがインストールされる。そして、管理装置14のウェブブラウザーと、サーバーとしての制御サーバー10との間で、HTTPでデータの送受信が行われる。なお、管理装置14と、制御サーバー10との間の通信方式は、何であってもよく、例えば、WebSocketであってもよい。
図2に示すように、制御システム1において、制御サーバー10と、各店舗システム11の印刷装置12との間には、WebSocketコネクションCT(通信経路)が確立される。
なお、WebSocketとは、ネットワークを介して接続されたサーバーと、クライアントとの間で、非同期な双方向通信を可能とする通信規格の1つである。WebSocketでは、サーバーとクライアントがWebSocketコネクションCTを確立した後は、データの送受信を、当該コネクションによりプロトコルを用いて行う。このため、データの送信が発生する度に、コネクションを確立する必要がない。
また、WebSocketコネクションCTとは、当該コネクションで接続された印刷装置12と、制御サーバー10との間で、WebSocketのプロトコル、手続きに従ってデータを送受信する論理的な通信経路のことである。従って、印刷装置12と、制御サーバー10との間で、所定のハンドシェイクが行われ、WebSocketコネクションCTを確立した後は、印刷装置12と、制御サーバー10とは、WebSocketコネクションCTにより、非同期にデータを送受信できる。つまり、制御サーバー10は、任意のタイミングでWebSocketコネクションCTにより印刷装置12にデータを送信でき、また、印刷装置12は、WebSocketコネクションCTにより制御サーバー10にデータを送信できる。
また、WebSocket通信とは、WebSocketコネクションCTにより印刷装置12と、制御サーバー10との間で行われる、WebSocketのプロトコル、手続きに従った非同期な双方向通信のことである。
WebSocketコネクションCTの確立に伴って、印刷装置12、及び、制御サーバー10は、非同期で、双方向通信できる。つまり、制御サーバー10は、クライアントとしての印刷装置12からリクエストを受けることなく、WebSocketコネクションCTによりWebSocket通信で印刷装置12にデータをプッシュ送信できる。
制御サーバー10、及び、印刷装置12は、WebSocketコネクションCTで、非同期で双方向通信する。すなわち、制御サーバー10は、クライアントとしての印刷装置12からリクエストを受けることなく、任意のタイミングで、WebSocketコネクションCTで印刷装置12に対してデータをプッシュ送信できる。同様に、印刷装置12は、任意のタイミングで、WebSocketコネクションCTで制御サーバー10に対してデータをプッシュ送信できる。
また、制御サーバー10には、複数の管理装置14が通信可能に接続される。後述するように、管理装置14は、制御サーバー10を介して、所定の印刷装置12に印刷制御データを送信し、当該所定の印刷装置12に印刷制御データに基づく印刷を実行させることができる。
本実施形態では、制御サーバー10と、管理装置14とは、HTTP(Hypertext Transfer Protocol)で通信を行う。すなわち、管理装置14には、ウェブブラウザーがインストールされる。そして、管理装置14のウェブブラウザーと、サーバーとしての制御サーバー10との間で、HTTPでデータの送受信が行われる。なお、管理装置14と、制御サーバー10との間の通信方式は、何であってもよく、例えば、WebSocketであってもよい。
本実施形態において、制御サーバー10は、印刷装置12をクライアントとする、いわゆるクラウドシステムにおけるクラウドサーバーである。すなわち、制御サーバー10は、演算処理機能を有し、印刷装置12の要求や、管理装置14の要求等をトリガーとして所定の演算処理を実行し、演算処理の結果に基づくデータを、WebSocketコネクションCTで印刷装置12に送信する。
なお、図2では、制御サーバー10を、1つのブロックによって表現しているが、これは、制御サーバー10が単一のサーバー装置により構成されることを意味するものではない。例えば、制御サーバー10は、複数のサーバー装置を含んで構成されたものであってもよく、所定のシステムの一部の機能により実現されるサーバーであってもよい。すなわち、後述する各種処理を実現可能な構成であれば、その形態を問わない。
また、本実施形態では、制御サーバー10と、印刷装置12との間で、WebSocket通信を行う。しかしながら、これら装置が、WebSocket通信に代えて、WebSocket通信と同様な非同期な双方向通信を行う構成であってもよい。
なお、図2では、制御サーバー10を、1つのブロックによって表現しているが、これは、制御サーバー10が単一のサーバー装置により構成されることを意味するものではない。例えば、制御サーバー10は、複数のサーバー装置を含んで構成されたものであってもよく、所定のシステムの一部の機能により実現されるサーバーであってもよい。すなわち、後述する各種処理を実現可能な構成であれば、その形態を問わない。
また、本実施形態では、制御サーバー10と、印刷装置12との間で、WebSocket通信を行う。しかしながら、これら装置が、WebSocket通信に代えて、WebSocket通信と同様な非同期な双方向通信を行う構成であってもよい。
このように、制御システム1は、印刷機能を有する印刷装置12が、複数台(例えば、1000台)、WebSocketコネクションCTで、制御サーバー10との間で通信可能に接続された構成である。
このような構成のため、以下の効果を得ることができる。
すなわち、制御サーバー10は、複数の店舗システム11に接続された複数の印刷装置12から受信したデータに基づく情報を収集し、管理、分析できる。このため、有益な情報を蓄積することができる。蓄積した情報は、いわゆるビッグデータとして活用可能である。
また、店舗システム11の構築の簡易化、及び、低コスト化を図ることが可能となる。すなわち、制御システム1では、印刷装置12がWebSocketコネクションCTで制御サーバー10に接続される。このため、制御サーバー10が提供するサービスを利用して、制御サーバー10の制御の下、印刷装置12に各種処理を実行させることが可能である。従って、店舗システム11を構築する管理者は、店舗システム11の構築に際し、印刷装置12を所望の場所に設置した上で、印刷装置12をネットワークGNに接続する、という簡易な作業を行えばよい。これにより、制御サーバー10が提供するサービスを利用して、印刷装置12に所望の処理、例えば、レシートの発行に係る処理を実行させることが可能となる。
特に、店舗システム11を構築する管理者は、店舗システム11を管理する管理装置14に、印刷装置12を制御する機能を実装する必要がない。すなわち、管理装置14は、制御サーバー10にアクセスし、制御サーバー10が提供するサービスを利用することによって、制御サーバー10に接続された印刷装置12を制御できる。
また、制御サーバー10に、異なる店舗システム11の印刷装置12がWebSocketコネクションCTで接続されるため、制御サーバー10は、複数の店舗システム11の複数の印刷装置12を管理できる。また、制御サーバー10は、複数の店舗システム11の複数の印刷装置12を動作させることが可能となる。
このような構成のため、以下の効果を得ることができる。
すなわち、制御サーバー10は、複数の店舗システム11に接続された複数の印刷装置12から受信したデータに基づく情報を収集し、管理、分析できる。このため、有益な情報を蓄積することができる。蓄積した情報は、いわゆるビッグデータとして活用可能である。
また、店舗システム11の構築の簡易化、及び、低コスト化を図ることが可能となる。すなわち、制御システム1では、印刷装置12がWebSocketコネクションCTで制御サーバー10に接続される。このため、制御サーバー10が提供するサービスを利用して、制御サーバー10の制御の下、印刷装置12に各種処理を実行させることが可能である。従って、店舗システム11を構築する管理者は、店舗システム11の構築に際し、印刷装置12を所望の場所に設置した上で、印刷装置12をネットワークGNに接続する、という簡易な作業を行えばよい。これにより、制御サーバー10が提供するサービスを利用して、印刷装置12に所望の処理、例えば、レシートの発行に係る処理を実行させることが可能となる。
特に、店舗システム11を構築する管理者は、店舗システム11を管理する管理装置14に、印刷装置12を制御する機能を実装する必要がない。すなわち、管理装置14は、制御サーバー10にアクセスし、制御サーバー10が提供するサービスを利用することによって、制御サーバー10に接続された印刷装置12を制御できる。
また、制御サーバー10に、異なる店舗システム11の印刷装置12がWebSocketコネクションCTで接続されるため、制御サーバー10は、複数の店舗システム11の複数の印刷装置12を管理できる。また、制御サーバー10は、複数の店舗システム11の複数の印刷装置12を動作させることが可能となる。
図3は、本実施形態に係る印刷装置12、制御サーバー10、及び、管理装置14の機能的構成を示すブロック図である。
図3に示すように、印刷装置12は、通信制御部15と、通信部16と、印刷制御部17と、印刷部18と、印刷装置記憶部19と、を備える。
通信制御部15、通信部16、及び、印刷制御部17の機能については後述する。
印刷部18は、印刷媒体に印刷する印刷機構、印刷媒体を搬送する搬送機構、印刷媒体を切断する切断機構等の印刷に係る機構、及び、各機構の制御に係る制御基板等を備える。
印刷装置記憶部19は、不揮発性メモリーを備え、各種データを記憶する。印刷装置記憶部19には、通信先情報データ19aと、印刷装置識別情報データ19bと、が記憶されるが、これらデータについては後述する。
図3に示すように、印刷装置12は、通信制御部15と、通信部16と、印刷制御部17と、印刷部18と、印刷装置記憶部19と、を備える。
通信制御部15、通信部16、及び、印刷制御部17の機能については後述する。
印刷部18は、印刷媒体に印刷する印刷機構、印刷媒体を搬送する搬送機構、印刷媒体を切断する切断機構等の印刷に係る機構、及び、各機構の制御に係る制御基板等を備える。
印刷装置記憶部19は、不揮発性メモリーを備え、各種データを記憶する。印刷装置記憶部19には、通信先情報データ19aと、印刷装置識別情報データ19bと、が記憶されるが、これらデータについては後述する。
一方、図3に示すように、制御サーバー10は、通信管理部25と、第1接続部26(接続部)と、印刷データ処理部27と、制御サーバー記憶部28と、第2接続部29と、を備える。
通信管理部25、第1接続部26、及び、印刷データ処理部27の機能については、後述する。
制御サーバー記憶部28は、不揮発性メモリーを備え、各種データを記憶する。制御サーバー記憶部28には、コネクション管理データベース28aと、初期処理実行処理部管理データベース28bと、設定情報データベース28cと、が記憶されるが、これらについては後述する。
第2接続部29は、通信管理部25の制御の下、管理装置14との間で、HTTPで通信を行う。
通信管理部25、第1接続部26、及び、印刷データ処理部27の機能については、後述する。
制御サーバー記憶部28は、不揮発性メモリーを備え、各種データを記憶する。制御サーバー記憶部28には、コネクション管理データベース28aと、初期処理実行処理部管理データベース28bと、設定情報データベース28cと、が記憶されるが、これらについては後述する。
第2接続部29は、通信管理部25の制御の下、管理装置14との間で、HTTPで通信を行う。
また、管理装置14は、管理装置制御部40と、通信インターフェース41と、を備える。
管理装置制御部40は、CPUや、ROM、RAM、その他の周辺回路等を備え、管理装置14を制御する。管理装置制御部40は、機能ブロックとして、ブラウザー実行部40aを備える。ブラウザー実行部40aは、ウェブブラウザーの機能によって実現される機能ブロックである。
通信インターフェース41は、管理装置制御部40の制御の下、HTTPで通信を行う。
管理装置制御部40は、CPUや、ROM、RAM、その他の周辺回路等を備え、管理装置14を制御する。管理装置制御部40は、機能ブロックとして、ブラウザー実行部40aを備える。ブラウザー実行部40aは、ウェブブラウザーの機能によって実現される機能ブロックである。
通信インターフェース41は、管理装置制御部40の制御の下、HTTPで通信を行う。
なお、図3では、制御サーバー10と、制御サーバー10に接続された1つの印刷装置12との関係を示す。制御サーバー10に、複数の印刷装置12が接続される場合は、制御サーバー10は、複数の印刷装置12に対応して複数のWebSocketインターフェースを備え、各印刷装置12との間でWebSocketコネクションCTを確立し、各印刷装置12とWebSocketコネクションCTでWebSocket通信する。
次に、印刷装置12の電源投入時における、印刷装置12、及び、制御サーバー10の動作について説明する。
図4は、印刷装置12に電源が投入された後の印刷装置12、及び、制御サーバー10の動作を示すフローチャートであり、(A)は印刷装置12の動作を、(B)は制御サーバー10の動作を示す。
なお、図4のフローチャートの処理のトリガーは、電源投入時に限らない。例えば、印刷装置12がネットワークGNに通信可能に接続されたことや、ユーザーから指示があったこと等をトリガーとしてもよい。
また、以下の説明では、印刷装置12は、対応する店舗システム11のローカルエリアネットワークLNに接続され、ネットワークGNにアクセス可能である。
図4は、印刷装置12に電源が投入された後の印刷装置12、及び、制御サーバー10の動作を示すフローチャートであり、(A)は印刷装置12の動作を、(B)は制御サーバー10の動作を示す。
なお、図4のフローチャートの処理のトリガーは、電源投入時に限らない。例えば、印刷装置12がネットワークGNに通信可能に接続されたことや、ユーザーから指示があったこと等をトリガーとしてもよい。
また、以下の説明では、印刷装置12は、対応する店舗システム11のローカルエリアネットワークLNに接続され、ネットワークGNにアクセス可能である。
また、以下の説明において、印刷装置12が備える通信制御部15、印刷制御部17、及び、制御サーバー10が備える通信管理部25、印刷データ処理部27の各機能ブロックの機能は、例えば、以下のようにして実現される。
すなわち、例えば、これら機能ブロックは、オブジェクトである。オブジェクトとは、オブジェクト指向プログラミングで生成されるインスタンス、すなわち、データ、及び、メソッドの集合として定義されたソフトウェアの機能ブロックである。そして、これら機能ブロックの機能は、各機能ブロックに実装されたメソッドが呼び出されることによって実現される。
また例えば、これら機能ブロックの機能は、アプリケーションがCPU等のハードウェアによって読み出され実行されることによって、実現される。1つのアプリケーションにより1つの機能ブロックの機能が実現される構成であってもよい。また、1つのアプリケーションにより複数の機能ブロックの機能が実現される構成であってもよい。また、複数のアプリケーションにより1つの機能ブロックの機能が実現される構成であってもよい。
すなわち、各機能ブロックは、各機能をブロックとして表現したものであり、特定のアプリケーションや、ハードウェア等を意味するものではない。
すなわち、例えば、これら機能ブロックは、オブジェクトである。オブジェクトとは、オブジェクト指向プログラミングで生成されるインスタンス、すなわち、データ、及び、メソッドの集合として定義されたソフトウェアの機能ブロックである。そして、これら機能ブロックの機能は、各機能ブロックに実装されたメソッドが呼び出されることによって実現される。
また例えば、これら機能ブロックの機能は、アプリケーションがCPU等のハードウェアによって読み出され実行されることによって、実現される。1つのアプリケーションにより1つの機能ブロックの機能が実現される構成であってもよい。また、1つのアプリケーションにより複数の機能ブロックの機能が実現される構成であってもよい。また、複数のアプリケーションにより1つの機能ブロックの機能が実現される構成であってもよい。
すなわち、各機能ブロックは、各機能をブロックとして表現したものであり、特定のアプリケーションや、ハードウェア等を意味するものではない。
図4(A)に示すように、印刷装置12の電源が投入されると(ステップSX1)、通信制御部15は、印刷装置記憶部19にアクセスし、印刷装置記憶部19に記憶される通信先情報データ19aを取得する(ステップSA1)。
通信先情報データ19aとは、WebSocketコネクションCTを確立する際に、アクセスする制御サーバー10のアドレス(ドメイン名や、IPアドレス、パス名等)をを示すデータである。ここで、WebSocketでは、WebSocketコネクションCTの確立に当たり、クライアント(本例では、印刷装置12)は、サーバー(本例では、制御サーバー10)に対して、HTTP(Hypertext Transfer Protocol)でハンドシェイクを行う。通信先情報データ19aには、当該ハンドシェイクに際して、メッセージを送信する送信先のアドレスが記述される。
次いで、通信制御部15は、通信先情報データ19aが示すアドレスに基づいて、制御サーバー10の通信管理部25と共に、通信部16と第1接続部26との間に、WebSocketコネクションCTを確立する(ステップSA2、ステップSB1)。つまり、本実施形態に係る印刷装置12は、ユーザーによる指示や、制御サーバー10からの要求を受けることなく、電源の投入をトリガーとしてWebSocketコネクションCTを確立する。
なお、通信部16、及び、第1接続部26は、WebSocketの規格、手続きに従ってデータの送受信を行うWebSocketインターフェースである。これら機能ブロックは、例えば、WebSocketのSocketライブラリーを利用して生成される。
通信制御部15は、通信部16にデータを送信すれば、WebSocketコネクションCTにより、データを送信できる。
すなわち、通信部16は、通信制御部15から受信したデータについて、WebSocketに従った処理を行って、WebSocketに従った手続きでWebSocketコネクションCTによりデータを送信する機能を有する。また、通信部16は、WebSocketコネクションCTにより受信したデータについて、WebSocketに従った処理を行って、通信制御部15に送信する機能を有する。第1接続部26についても同様である。
WebSocketコネクションCTの確立に伴って、印刷装置12、及び、制御サーバー10は、非同期の双方向通信を行う。つまり、制御サーバー10は、クライアントとしての印刷装置12からリクエストを受けることなく、WebSocketコネクションCTにより、プッシュ送信で印刷装置12にデータを送信できる。
通信先情報データ19aとは、WebSocketコネクションCTを確立する際に、アクセスする制御サーバー10のアドレス(ドメイン名や、IPアドレス、パス名等)をを示すデータである。ここで、WebSocketでは、WebSocketコネクションCTの確立に当たり、クライアント(本例では、印刷装置12)は、サーバー(本例では、制御サーバー10)に対して、HTTP(Hypertext Transfer Protocol)でハンドシェイクを行う。通信先情報データ19aには、当該ハンドシェイクに際して、メッセージを送信する送信先のアドレスが記述される。
次いで、通信制御部15は、通信先情報データ19aが示すアドレスに基づいて、制御サーバー10の通信管理部25と共に、通信部16と第1接続部26との間に、WebSocketコネクションCTを確立する(ステップSA2、ステップSB1)。つまり、本実施形態に係る印刷装置12は、ユーザーによる指示や、制御サーバー10からの要求を受けることなく、電源の投入をトリガーとしてWebSocketコネクションCTを確立する。
なお、通信部16、及び、第1接続部26は、WebSocketの規格、手続きに従ってデータの送受信を行うWebSocketインターフェースである。これら機能ブロックは、例えば、WebSocketのSocketライブラリーを利用して生成される。
通信制御部15は、通信部16にデータを送信すれば、WebSocketコネクションCTにより、データを送信できる。
すなわち、通信部16は、通信制御部15から受信したデータについて、WebSocketに従った処理を行って、WebSocketに従った手続きでWebSocketコネクションCTによりデータを送信する機能を有する。また、通信部16は、WebSocketコネクションCTにより受信したデータについて、WebSocketに従った処理を行って、通信制御部15に送信する機能を有する。第1接続部26についても同様である。
WebSocketコネクションCTの確立に伴って、印刷装置12、及び、制御サーバー10は、非同期の双方向通信を行う。つまり、制御サーバー10は、クライアントとしての印刷装置12からリクエストを受けることなく、WebSocketコネクションCTにより、プッシュ送信で印刷装置12にデータを送信できる。
次いで、印刷装置12の通信制御部15は、印刷装置記憶部19にアクセスし、印刷装置記憶部19に記憶される印刷装置識別情報データ19bを取得する(ステップSA3)。印刷装置識別情報データ19bとは、印刷装置12を示す識別情報(以下、「印刷装置識別情報」という。)を示すデータである。印刷装置識別情報は、例えば、印刷装置12の製造段階で、印刷装置12に割り当てられるシリアル番号である。
次いで、通信制御部15は、WebSocketコネクションCTで、印刷装置識別情報データ19bを送信する(ステップSA4)。
図4(B)に示すように、制御サーバー10の通信管理部25は、第1接続部26を介して、印刷装置識別情報データ19bを受信する(ステップSB2)。
次いで、通信管理部25は、制御サーバー記憶部28に記憶されたコネクション管理データベース28aにアクセスする(ステップSB3)。コネクション管理データベース28aとは、確立しているWebSocketコネクションCTについて、WebSocketコネクションCTを示すコネクション識別情報と、上述した印刷装置識別情報とを対応付けて記憶するデータベースである。
次いで、通信管理部25は、コネクション管理データベース28aに1件のレコードを生成する。そして、通信管理部25は、生成したレコードにおいて、ステップSB1で確立したWebSocketコネクションCTのコネクション識別情報と、ステップSB2で受信した印刷装置識別情報データ19bが示す印刷装置識別情報とを対応付けて記憶する(ステップSB4)。なお、通信管理部25は、WebSocketコネクションCTが確立したときに、既に確立しているWebSocketコネクションCTのコネクション識別情報と異なる値のコネクション識別情報を生成する。ステップSB4の処理により、WebSocketコネクションCTと、印刷装置12との対応関係が管理される。
次いで、通信制御部15は、WebSocketコネクションCTで、印刷装置識別情報データ19bを送信する(ステップSA4)。
図4(B)に示すように、制御サーバー10の通信管理部25は、第1接続部26を介して、印刷装置識別情報データ19bを受信する(ステップSB2)。
次いで、通信管理部25は、制御サーバー記憶部28に記憶されたコネクション管理データベース28aにアクセスする(ステップSB3)。コネクション管理データベース28aとは、確立しているWebSocketコネクションCTについて、WebSocketコネクションCTを示すコネクション識別情報と、上述した印刷装置識別情報とを対応付けて記憶するデータベースである。
次いで、通信管理部25は、コネクション管理データベース28aに1件のレコードを生成する。そして、通信管理部25は、生成したレコードにおいて、ステップSB1で確立したWebSocketコネクションCTのコネクション識別情報と、ステップSB2で受信した印刷装置識別情報データ19bが示す印刷装置識別情報とを対応付けて記憶する(ステップSB4)。なお、通信管理部25は、WebSocketコネクションCTが確立したときに、既に確立しているWebSocketコネクションCTのコネクション識別情報と異なる値のコネクション識別情報を生成する。ステップSB4の処理により、WebSocketコネクションCTと、印刷装置12との対応関係が管理される。
次いで、通信管理部25は、初期処理実行処理部管理データベース28bを参照する(ステップSB5)。
図5(A)は、初期処理実行処理部管理データベース28bの1件のレコードのデータ構造を示す図である。
初期処理実行処理部管理データベース28bとは、図5(A)に示すように、印刷装置識別情報と、1又は複数の処理部識別情報と、を対応付けて記憶するデータベースである。
処理部識別情報とは、制御サーバー10が備える機能ブロック(本例では、印刷データ処理部27)を識別する識別情報である。以下の説明では、制御サーバー10が備える機能ブロックである印刷データ処理部27を総称して「処理部」と表現する。また、印刷装置12が備える機能ブロックである印刷制御部17を総称して「機能部」と表現する。
制御サーバー10が、複数の処理部を備える場合は、複数の処理部に対して、異なる値の処理部識別情報が割り当てられる。
上述したように、制御サーバー10には、複数の印刷装置12が接続される。そして、制御サーバー10は、各印刷装置12について、1又は複数の対応する処理部を備える。1の印刷装置12に対応する処理部とは、当該1の印刷装置12に関する処理を実行する機能を有する機能ブロックのことをいう。従って、当該1の印刷装置12との間でWebSocketコネクションCT確立し、当該1の印刷装置12と双方向通信可能な状態となった時点で、当該1の印刷装置12に対応する処理部は、所定の処理を実行する可能性が生じる。1の印刷装置12に対応する処理部は、複数存在する場合もある。
そして、初期処理実行処理部管理データベース28bでは、制御サーバー10に接続可能な印刷装置12について、印刷装置識別情報と、印刷装置12に対応する1又は複数の処理部の処理部識別情報とが対応付けて記憶される。
本例に係る印刷装置12に対応する処理部は、印刷データ処理部27である。従って、初期処理実行処理部管理データベース28bが有する、所定の1件のレコードにおいて、本例に係る印刷装置12の印刷装置識別情報と、印刷データ処理部27の処理部識別情報と、が対応付けて記憶される。
図5(A)は、初期処理実行処理部管理データベース28bの1件のレコードのデータ構造を示す図である。
初期処理実行処理部管理データベース28bとは、図5(A)に示すように、印刷装置識別情報と、1又は複数の処理部識別情報と、を対応付けて記憶するデータベースである。
処理部識別情報とは、制御サーバー10が備える機能ブロック(本例では、印刷データ処理部27)を識別する識別情報である。以下の説明では、制御サーバー10が備える機能ブロックである印刷データ処理部27を総称して「処理部」と表現する。また、印刷装置12が備える機能ブロックである印刷制御部17を総称して「機能部」と表現する。
制御サーバー10が、複数の処理部を備える場合は、複数の処理部に対して、異なる値の処理部識別情報が割り当てられる。
上述したように、制御サーバー10には、複数の印刷装置12が接続される。そして、制御サーバー10は、各印刷装置12について、1又は複数の対応する処理部を備える。1の印刷装置12に対応する処理部とは、当該1の印刷装置12に関する処理を実行する機能を有する機能ブロックのことをいう。従って、当該1の印刷装置12との間でWebSocketコネクションCT確立し、当該1の印刷装置12と双方向通信可能な状態となった時点で、当該1の印刷装置12に対応する処理部は、所定の処理を実行する可能性が生じる。1の印刷装置12に対応する処理部は、複数存在する場合もある。
そして、初期処理実行処理部管理データベース28bでは、制御サーバー10に接続可能な印刷装置12について、印刷装置識別情報と、印刷装置12に対応する1又は複数の処理部の処理部識別情報とが対応付けて記憶される。
本例に係る印刷装置12に対応する処理部は、印刷データ処理部27である。従って、初期処理実行処理部管理データベース28bが有する、所定の1件のレコードにおいて、本例に係る印刷装置12の印刷装置識別情報と、印刷データ処理部27の処理部識別情報と、が対応付けて記憶される。
次いで、通信管理部25は、ステップSB2で取得した印刷装置識別情報データ19bが示す印刷装置識別情報をキーとして、初期処理実行処理部管理データベース28bにおいて、当該識別情報と対応付けられた処理部識別情報を取得する(ステップSB6)。本例では、ステップSB6において、通信管理部25は、印刷データ処理部27の処理部識別情報を取得する。
次いで、通信管理部25は、ステップSB6で取得した処理部識別情報に対応する処理部に対して、ステップSB2で取得した印刷装置識別情報、及び、動作可能状態の確立の要求を通知する(ステップSB7)。本例では、ステップSB7において、通信管理部25は、印刷データ処理部27に対して、印刷装置識別情報、及び、動作可能状態の確立の要求を通知する。
なお、通信管理部25は、処理部と、処理部識別情報との関係を管理し、1の処理部識別情報に基づいて、当該1の処理部識別情報に対応する処理部にデータを送信することが可能である。
ここで、動作可能状態とは、処理部が、当該処理部に実装された機能に基づく処理を実行できる状態のことをいう。つまり、動作可能状態とは、処理部について、実装された機能の実行に必要な初期処理が完了し、要求があった場合や、所定の条件が成立した場合等、所定のタイミングで、所定の処理を実行することが可能な状態のことをいう。初期処理については、後述する。
次いで、通信管理部25は、ステップSB6で取得した処理部識別情報に対応する処理部に対して、ステップSB2で取得した印刷装置識別情報、及び、動作可能状態の確立の要求を通知する(ステップSB7)。本例では、ステップSB7において、通信管理部25は、印刷データ処理部27に対して、印刷装置識別情報、及び、動作可能状態の確立の要求を通知する。
なお、通信管理部25は、処理部と、処理部識別情報との関係を管理し、1の処理部識別情報に基づいて、当該1の処理部識別情報に対応する処理部にデータを送信することが可能である。
ここで、動作可能状態とは、処理部が、当該処理部に実装された機能に基づく処理を実行できる状態のことをいう。つまり、動作可能状態とは、処理部について、実装された機能の実行に必要な初期処理が完了し、要求があった場合や、所定の条件が成立した場合等、所定のタイミングで、所定の処理を実行することが可能な状態のことをいう。初期処理については、後述する。
次いで、上記通知を受けた印刷データ処理部27は、設定情報データベース28cを参照する(ステップSB8)。
図5(B)は、設定情報データベース28cの1件のレコードのデータ構造を示す図である。
設定情報データベース28cとは、図5(B)に示すように、印刷装置識別情報、及び、処理部識別情報の組合せと、初期処理設定ファイル(設定情報)と、を対応付けて記憶するデータベースである。
初期処理設定ファイル(設定情報)とは、処理部が初期処理を行う際に、当該処理の実行に必要な情報が記述されたファイルである。
後に明らかとなるとおり、本実施形態では、処理部は、印刷装置12との間でのWebSocketコネクションCTの確立をトリガーとして、初期処理を実行する。そして、印刷装置12は、初期処理に際し、WebSocketコネクションCTを確立した印刷装置12ごとに、異なる初期処理用設定ファイルを参照する。なぜなら、印刷装置12ごとに、機能、スペック、状態が異なっており、初期処理時は、対応する印刷装置12の機能等に応じた態様で初期処理を実行する必要があるからである。
そして、設定情報データベース28cでは、印刷装置識別情報、及び、処理部識別情報の組合せごとに、これら識別情報の組合せに対応する初期処理設定ファイルが対応付けて記憶される。つまり、設定情報データベース28cは、各レコードにおいて、所定の印刷装置12に対応する処理部が、初期処理時に参照する初期処理設定ファイルを管理する。
図5(B)は、設定情報データベース28cの1件のレコードのデータ構造を示す図である。
設定情報データベース28cとは、図5(B)に示すように、印刷装置識別情報、及び、処理部識別情報の組合せと、初期処理設定ファイル(設定情報)と、を対応付けて記憶するデータベースである。
初期処理設定ファイル(設定情報)とは、処理部が初期処理を行う際に、当該処理の実行に必要な情報が記述されたファイルである。
後に明らかとなるとおり、本実施形態では、処理部は、印刷装置12との間でのWebSocketコネクションCTの確立をトリガーとして、初期処理を実行する。そして、印刷装置12は、初期処理に際し、WebSocketコネクションCTを確立した印刷装置12ごとに、異なる初期処理用設定ファイルを参照する。なぜなら、印刷装置12ごとに、機能、スペック、状態が異なっており、初期処理時は、対応する印刷装置12の機能等に応じた態様で初期処理を実行する必要があるからである。
そして、設定情報データベース28cでは、印刷装置識別情報、及び、処理部識別情報の組合せごとに、これら識別情報の組合せに対応する初期処理設定ファイルが対応付けて記憶される。つまり、設定情報データベース28cは、各レコードにおいて、所定の印刷装置12に対応する処理部が、初期処理時に参照する初期処理設定ファイルを管理する。
ステップSB8において、設定情報データベース28cを参照した後、印刷データ処理部27は、以下の処理を行う。すなわち、印刷データ処理部27は、ステップSB7で通信管理部25から受信した印刷装置識別情報、及び、印刷データ処理部27の処理部識別情報の組合せをキーとして、設定情報データベース28cにおいて、当該識別情報の組合せと対応付けられた初期処理設定ファイルを取得する(ステップSB9)。
次いで、印刷データ処理部27は、ステップSB9で取得した初期処理設定ファイルを参照して、初期処理を実行する(ステップSB10)。ステップSB10の初期処理の実行により、印刷データ処理部27は、動作可能状態となる。
ここで、印刷データ処理部27の初期処理について、例を挙げて説明する。
例えば、印刷データ処理部27は、後述するように、印刷装置12の制御に係る印刷制御データを生成して、印刷装置12に送信することにより、印刷装置12を制御する。そして、印刷データ処理部27は、初期処理において、印刷装置12にセットされる印刷媒体の紙幅や、印刷装置12に設定可能な印字速度、印字濃度等の印刷装置12の設定情報を、取得する。また、後述するように、印刷制御データは、XMLファイルであるが、印刷データ処理部27は、印刷装置12が対応するXMLのバージョン等を取得する。すなわち、印刷装置12は、印刷制御データの生成に必要な印刷装置12に関する設定情報を取得する。取得した印刷装置12に関する設定情報は、例えば、印刷データ処理部27の機能を実現するプログラムに定義された変数等に格納される。これら印刷装置12に関する設定情報は、初期処理設定ファイルに所定のフォーマットで記述される。また、印刷データ処理部27は、印刷装置12から受信したデータについて、対応する処理を実行する機能を有するが、初期処理では、受信したデータの処理に必要な事前処理が実行される。
つまり、初期処理では、印刷制御データを生成する機能等、印刷データ処理部27に実装された各機能の実行に必要な事前処理が行われる。印刷データ処理部27は、対応する初期処理設定ファイルを参照して、初期処理を実行することにより、動作可能状態を確立し、任意のタイミングで、任意の機能に基づく処理を実行できる状態となる。
次いで、印刷データ処理部27は、ステップSB9で取得した初期処理設定ファイルを参照して、初期処理を実行する(ステップSB10)。ステップSB10の初期処理の実行により、印刷データ処理部27は、動作可能状態となる。
ここで、印刷データ処理部27の初期処理について、例を挙げて説明する。
例えば、印刷データ処理部27は、後述するように、印刷装置12の制御に係る印刷制御データを生成して、印刷装置12に送信することにより、印刷装置12を制御する。そして、印刷データ処理部27は、初期処理において、印刷装置12にセットされる印刷媒体の紙幅や、印刷装置12に設定可能な印字速度、印字濃度等の印刷装置12の設定情報を、取得する。また、後述するように、印刷制御データは、XMLファイルであるが、印刷データ処理部27は、印刷装置12が対応するXMLのバージョン等を取得する。すなわち、印刷装置12は、印刷制御データの生成に必要な印刷装置12に関する設定情報を取得する。取得した印刷装置12に関する設定情報は、例えば、印刷データ処理部27の機能を実現するプログラムに定義された変数等に格納される。これら印刷装置12に関する設定情報は、初期処理設定ファイルに所定のフォーマットで記述される。また、印刷データ処理部27は、印刷装置12から受信したデータについて、対応する処理を実行する機能を有するが、初期処理では、受信したデータの処理に必要な事前処理が実行される。
つまり、初期処理では、印刷制御データを生成する機能等、印刷データ処理部27に実装された各機能の実行に必要な事前処理が行われる。印刷データ処理部27は、対応する初期処理設定ファイルを参照して、初期処理を実行することにより、動作可能状態を確立し、任意のタイミングで、任意の機能に基づく処理を実行できる状態となる。
このように、本実施形態では、印刷装置12との間でのWebSocketコネクションCTの確立をトリガーとして、当該印刷装置12に対応する処理部が動作可能状態となる。このため、印刷装置12とWebSocketコネクションCTが確立し、印刷装置12との間で双方向通信が可能となり、処理部が印刷装置12に関する処理を実行する可能性が生じた時点で、処理部を動作可能状態とすることができる。このため、制御サーバー10の起動に応じて、各処理部が初期処理を実行し、制御サーバー10が起動している間、各処理部が動作可能状態となる場合と比較して、不必要な初期処理を抑制でき、また、各処理部が動作可能状態となる期間を短縮でき、リソースの効率的な使用を実現できる。
また、本実施形態では、ユーザーによる指示や、制御サーバー10からの要求を受けることなく、電源の投入をトリガーとしてWebSocketコネクションCTを確立する。このような構成のため、ユーザーは、WebSocketコネクションCTを確立するために、煩雑な作業を行う必要がない。また、WebSocketコネクションCTを確立するために、専門的な知識も必要ない。また、電源投入後、印刷装置12を、制御サーバー10の制御の下で各種処理を実行する状態とすることができる。
なお、上記の説明では、通信管理部25は、動作可能状態を確立する処理部に対して所定の通知を行い、処理部は、当該通知をトリガーとして、初期処理を実行していた。しかしながら、以下の構成であってもよい。すなわち、処理部がオブジェクトである場合は、通信管理部25は、印刷装置12との間でのWebSocketコネクションCTの確立をトリガーとして、印刷装置12に対応するオブジェクトとしての処理部を生成する。次いで、処理部は、所定のメソッドの呼び出しにより、初期処理を実行する。
また、本実施形態では、ユーザーによる指示や、制御サーバー10からの要求を受けることなく、電源の投入をトリガーとしてWebSocketコネクションCTを確立する。このような構成のため、ユーザーは、WebSocketコネクションCTを確立するために、煩雑な作業を行う必要がない。また、WebSocketコネクションCTを確立するために、専門的な知識も必要ない。また、電源投入後、印刷装置12を、制御サーバー10の制御の下で各種処理を実行する状態とすることができる。
なお、上記の説明では、通信管理部25は、動作可能状態を確立する処理部に対して所定の通知を行い、処理部は、当該通知をトリガーとして、初期処理を実行していた。しかしながら、以下の構成であってもよい。すなわち、処理部がオブジェクトである場合は、通信管理部25は、印刷装置12との間でのWebSocketコネクションCTの確立をトリガーとして、印刷装置12に対応するオブジェクトとしての処理部を生成する。次いで、処理部は、所定のメソッドの呼び出しにより、初期処理を実行する。
以上のようにして、通信部16と、第1接続部26との間で、WebSocketコネクションCTが確立する。これに伴って、印刷装置12の印刷制御部17と、制御サーバー10の印刷データ処理部27との間で、WebSocketコネクションCTに基づく機能部間通信経路KTが確立する。機能部間通信経路KTは、処理部と機能部との間で通信するデータを送受信する論理的な通信経路である。印刷制御部17と、印刷データ処理部27とは、機能部間通信経路KTにより、非同期な双方向通信を行える。機能部間通信経路KTにより行われる機能部と処理部との間の非同期な双方向通信については後述する。
次に、管理装置14と、制御サーバー10と、印刷装置12とが、印刷媒体に印刷するときの、これら装置の動作について説明する。
図6は、印刷媒体に印刷するときの管理装置14、制御サーバー10、及び、印刷装置12の動作を示すフローチャートであり、(A)は管理装置14の動作を、(B)は制御サーバー10の動作を、(C)は印刷装置12の動作を示す。
特に、図6では、制御サーバー10の印刷データ処理部27と、印刷装置12の印刷制御部17との間で行われる通信について、印刷データ処理部27が、機能部間通信経路KTによりデータを送信する場合を例にして説明する。
図6(A)に示すように、印刷装置12による印刷に際し、ユーザーは、管理装置14のブラウザーを立ち上げ、所定のURLへのアクセスを指示する(ステップSY1)。当該所定のURLは、制御サーバー10上のURLであって、後述する印刷情報入力ユーザーインターフェース(以下、「印刷UI」と表現する。)を、ブラウザーウィンドウに表示する場合にアクセスするURLである。当該所定のURLは、制御サーバー10を管理する管理者等により、ユーザーに対して事前に通知される。
ステップSY1の指示に応じて、管理装置14のブラウザー実行部40aは、当該所定のURLへアクセスし、制御サーバー10に対して、印刷UIの表示に係る描画ファイルを要求する(ステップSC1)。描画ファイルとは、HTML(HyperText Markup Language)等の言語で記述されたファイルであって、管理装置14のブラウザーウィンドウに、UIを表示させるファイルである。
図6は、印刷媒体に印刷するときの管理装置14、制御サーバー10、及び、印刷装置12の動作を示すフローチャートであり、(A)は管理装置14の動作を、(B)は制御サーバー10の動作を、(C)は印刷装置12の動作を示す。
特に、図6では、制御サーバー10の印刷データ処理部27と、印刷装置12の印刷制御部17との間で行われる通信について、印刷データ処理部27が、機能部間通信経路KTによりデータを送信する場合を例にして説明する。
図6(A)に示すように、印刷装置12による印刷に際し、ユーザーは、管理装置14のブラウザーを立ち上げ、所定のURLへのアクセスを指示する(ステップSY1)。当該所定のURLは、制御サーバー10上のURLであって、後述する印刷情報入力ユーザーインターフェース(以下、「印刷UI」と表現する。)を、ブラウザーウィンドウに表示する場合にアクセスするURLである。当該所定のURLは、制御サーバー10を管理する管理者等により、ユーザーに対して事前に通知される。
ステップSY1の指示に応じて、管理装置14のブラウザー実行部40aは、当該所定のURLへアクセスし、制御サーバー10に対して、印刷UIの表示に係る描画ファイルを要求する(ステップSC1)。描画ファイルとは、HTML(HyperText Markup Language)等の言語で記述されたファイルであって、管理装置14のブラウザーウィンドウに、UIを表示させるファイルである。
ここで、制御サーバー10には、所定のウェブサーバーソフトウェアがインストールされる。制御サーバー10は、クライアントとしての管理装置14からの要求に応じて、所定のユーザーインターフェースの表示に係る描画ファイルを生成し、送信するウェブサーバーとしての機能を備える。
図6(B)に示すように、ステップSC1における管理装置14の要求に応じて、制御サーバー10は、印刷UIに係る描画ファイルを生成し、管理装置14に送信する(ステップSD1)。
管理装置14のブラウザー実行部40aは、受信した描画ファイルに基づいて、ブラウザーウィンドウに、印刷UIを表示する(ステップSC2)。
印刷UIとは、印刷装置12に印刷させる場合に、ユーザーが、必要な情報を入力するユーザーインターフェースである。必要な情報とは、画像データが格納されたファイル名や、印刷媒体における画像の位置に関する情報等のことである。印刷UIでは、印刷装置12に印刷させる際に必要な情報が、入力可能な構成である。
特に、印刷UIには、印刷させる印刷装置12の印刷装置識別情報を入力可能である。ユーザーは、複数の印刷装置12に印刷させる場合は、印刷UIに、複数の印刷装置識別情報を入力することもできる。
ユーザーは、印刷UIに対して、印刷装置識別情報、その他の必要な情報を入力した上で、入力を確定する(ステップSY2)。
ブラウザー実行部40aは、印刷UIに入力された情報に基づいて、入力された情報が含まれた印刷情報データを生成する(ステップSC3)。印刷情報データには、印刷装置識別情報が含まれる。
次いで、ブラウザー実行部40aは、通信インターフェース41を制御して、印刷情報データを制御サーバー10に送信する(ステップSC4)。
図6(B)に示すように、ステップSC1における管理装置14の要求に応じて、制御サーバー10は、印刷UIに係る描画ファイルを生成し、管理装置14に送信する(ステップSD1)。
管理装置14のブラウザー実行部40aは、受信した描画ファイルに基づいて、ブラウザーウィンドウに、印刷UIを表示する(ステップSC2)。
印刷UIとは、印刷装置12に印刷させる場合に、ユーザーが、必要な情報を入力するユーザーインターフェースである。必要な情報とは、画像データが格納されたファイル名や、印刷媒体における画像の位置に関する情報等のことである。印刷UIでは、印刷装置12に印刷させる際に必要な情報が、入力可能な構成である。
特に、印刷UIには、印刷させる印刷装置12の印刷装置識別情報を入力可能である。ユーザーは、複数の印刷装置12に印刷させる場合は、印刷UIに、複数の印刷装置識別情報を入力することもできる。
ユーザーは、印刷UIに対して、印刷装置識別情報、その他の必要な情報を入力した上で、入力を確定する(ステップSY2)。
ブラウザー実行部40aは、印刷UIに入力された情報に基づいて、入力された情報が含まれた印刷情報データを生成する(ステップSC3)。印刷情報データには、印刷装置識別情報が含まれる。
次いで、ブラウザー実行部40aは、通信インターフェース41を制御して、印刷情報データを制御サーバー10に送信する(ステップSC4)。
図6(B)に示すように、制御サーバー10の通信管理部25は、第2接続部29を介して、印刷情報データを受信する(ステップSD2)。
次いで、通信管理部25は、受信した印刷情報データを印刷データ処理部27に送信する(ステップSD3)。
次いで、印刷データ処理部27は、受信した印刷情報データに基づいて、印刷装置12の制御に係る印刷制御データを生成し、通信管理部25に送信する(ステップSD4)。印刷制御データは、印刷装置12に印刷させる情報が記述されたXML(Extensible Markup Language)ファイルである。印刷制御データには、XMLフォーマットで、印刷装置12に印刷させる情報、例えば、画像データや、画像の位置を示す情報等が記述される。また、印刷制御データには、印刷させる印刷装置12の印刷装置識別情報がタグとして記述される。
上述したように、本実施形態では、印刷装置12との間におけるWebSocketコネクションCTの確立をトリガーとして、印刷データ処理部27は、動作可能状態を確立する。従って、印刷データ処理部27は、ステップSD3において通信管理部25から印刷情報データを受信した時点では、動作可能状態であり、受信した印刷情報データに基づいて、印刷制御データの生成に係る処理を実行できる。このため、印刷データ処理部27は、印刷情報データを受信したことをトリガーとして初期処理を実行し、初期処理の完了後に印刷制御データの生成を開始する場合と比較して、印刷情報データを受信してから印刷制御データを生成するまでに要する時間の短縮化を実現できる。すなわち、本実施形態では、印刷装置12との間でのWebSocketコネクションCTの確立をトリガーとして、印刷装置12に対応する処理部が動作可能状態を確立する構成のため、処理の迅速化を図ることができる。
次いで、通信管理部25は、受信した印刷情報データを印刷データ処理部27に送信する(ステップSD3)。
次いで、印刷データ処理部27は、受信した印刷情報データに基づいて、印刷装置12の制御に係る印刷制御データを生成し、通信管理部25に送信する(ステップSD4)。印刷制御データは、印刷装置12に印刷させる情報が記述されたXML(Extensible Markup Language)ファイルである。印刷制御データには、XMLフォーマットで、印刷装置12に印刷させる情報、例えば、画像データや、画像の位置を示す情報等が記述される。また、印刷制御データには、印刷させる印刷装置12の印刷装置識別情報がタグとして記述される。
上述したように、本実施形態では、印刷装置12との間におけるWebSocketコネクションCTの確立をトリガーとして、印刷データ処理部27は、動作可能状態を確立する。従って、印刷データ処理部27は、ステップSD3において通信管理部25から印刷情報データを受信した時点では、動作可能状態であり、受信した印刷情報データに基づいて、印刷制御データの生成に係る処理を実行できる。このため、印刷データ処理部27は、印刷情報データを受信したことをトリガーとして初期処理を実行し、初期処理の完了後に印刷制御データの生成を開始する場合と比較して、印刷情報データを受信してから印刷制御データを生成するまでに要する時間の短縮化を実現できる。すなわち、本実施形態では、印刷装置12との間でのWebSocketコネクションCTの確立をトリガーとして、印刷装置12に対応する処理部が動作可能状態を確立する構成のため、処理の迅速化を図ることができる。
次いで、通信管理部25は、制御サーバー記憶部28に記憶されたコネクション管理データベース28aにアクセスする(ステップSD5)。次いで、通信管理部25は、受信した印刷制御データに記述された印刷装置識別情報をキーとして、コネクション管理データベース28aから、当該印刷装置識別情報と対応付けられたWebSocketコネクションCTのコネクション識別情報を取得する(ステップSD6)。ここで取得されたコネクション識別情報は、印刷させる印刷装置12との間で確立されたWebSocketコネクションCTのコネクション識別情報である。
次いで、通信管理部25は、ステップSD6で取得したコネクション識別情報のWebSocketコネクションCTに対応する第1接続部26に印刷制御データを送信する(ステップSD7)。
次いで、第1接続部26は、受信した印刷制御データを、WebSocketコネクションCTでプッシュ送信する(ステップSD8)。
次いで、通信管理部25は、ステップSD6で取得したコネクション識別情報のWebSocketコネクションCTに対応する第1接続部26に印刷制御データを送信する(ステップSD7)。
次いで、第1接続部26は、受信した印刷制御データを、WebSocketコネクションCTでプッシュ送信する(ステップSD8)。
図6(C)に示すように、通信部16は、WebSocketで、印刷制御データを受信する(ステップSE1)。次いで、通信部16は、受信した印刷制御データを通信制御部15に送信する(ステップSE2)。次いで、通信制御部15は、受信した印刷制御データを、印刷制御部17に送信する(ステップSE3)。次いで、印刷制御部17は、受信した印刷制御データを、印刷部18のコマンド体系の制御コマンドに変換する(ステップSE4)。つまり、印刷制御部17は、XMLファイルである印刷制御データを、印刷部18の制御基板が解釈可能なコマンドに変換する。
次いで、印刷制御部17は、制御コマンドを、印刷部18に送信する(ステップSE5)。次いで、印刷部18は、制御コマンドに基づいて、印刷媒体への印刷を実行する(ステップSE6)。
次いで、印刷制御部17は、制御コマンドを、印刷部18に送信する(ステップSE5)。次いで、印刷部18は、制御コマンドに基づいて、印刷媒体への印刷を実行する(ステップSE6)。
このように、本実施形態では、制御サーバー10の印刷データ処理部27は、機能部間通信経路KTにより、印刷装置12の印刷制御部17にデータ(本例では印刷制御データ)を送信可能である。また、図6のフローチャートで説明した処理に準じた処理を実行することにより、印刷装置12の印刷制御部17は、機能部間通信経路KTにより、制御サーバー10の印刷データ処理部27にデータを送信できる。印刷制御部17が送信するデータは、例えば、印刷部18による印刷後、その印刷の結果を示すデータである。つまり、制御サーバー10の印刷データ処理部27と、印刷装置12の印刷制御部17は、WebSocketコネクションCTに基づく機能部間通信経路KTにより、非同期な双方向通信を行う。
また、このように、本実施形態では、管理装置14は、制御サーバー10に記憶される印刷装置12の印刷装置識別情報に基づいて、制御サーバー10を介して、印刷装置12にデータを送信できる。つまり、管理装置14は、制御サーバー10を介して、制御サーバー10にWebSocketコネクションCTで接続される印刷装置12のうちの印刷装置12を制御できる。
また上記のように、本実施形態では、印刷装置12からのリクエストを受けることなく、制御サーバー10は、印刷装置12に印刷を実行させる事象が発生した場合に、印刷装置12に印刷させることができる。印刷装置12に印刷を実行させる事象が発生した場合とは、例えば、ユーザーからの指示があった場合や、通信可能に接続された外部機器からの要求があった場合、事前に定義した条件が成立した場合等、である。
このため、印刷装置12から制御サーバー10に対して間欠的にリクエストを送り、印刷装置12に印刷をさせたい場合に、当該リクエストに応じて印刷制御データを送信する構成とした場合と比較して、より迅速に印刷を開始させることができる。また、制御サーバー10がリクエストに対する保留状態を作る構成とした場合と比較して、リソースの消費を抑制できる。
また、このように、本実施形態では、管理装置14は、制御サーバー10に記憶される印刷装置12の印刷装置識別情報に基づいて、制御サーバー10を介して、印刷装置12にデータを送信できる。つまり、管理装置14は、制御サーバー10を介して、制御サーバー10にWebSocketコネクションCTで接続される印刷装置12のうちの印刷装置12を制御できる。
また上記のように、本実施形態では、印刷装置12からのリクエストを受けることなく、制御サーバー10は、印刷装置12に印刷を実行させる事象が発生した場合に、印刷装置12に印刷させることができる。印刷装置12に印刷を実行させる事象が発生した場合とは、例えば、ユーザーからの指示があった場合や、通信可能に接続された外部機器からの要求があった場合、事前に定義した条件が成立した場合等、である。
このため、印刷装置12から制御サーバー10に対して間欠的にリクエストを送り、印刷装置12に印刷をさせたい場合に、当該リクエストに応じて印刷制御データを送信する構成とした場合と比較して、より迅速に印刷を開始させることができる。また、制御サーバー10がリクエストに対する保留状態を作る構成とした場合と比較して、リソースの消費を抑制できる。
本実施形態に係る制御サーバー10は、印刷装置12との間でWebSocketコネクションCTが確立した後、WebSocketコネクションCTの状態を監視し、状態に応じた処理を実行する。以下、詳述する。
図7は、WebSocketコネクションCTの確立後における制御サーバー10の動作を示すフローチャートである。
WebSocketコネクションCTの確立後、制御サーバー10の通信管理部25は、WebSocketコネクションCTが非通常切断したか否かを監視する(ステップSF1)。非通常切断とは、WebSocketの切断方法によることなくWebSocketコネクションCTが切れることをいう。非通常切断は、通信に関するエラー、その他の原因によりに発生する。
WebSocketコネクションCTが非通常切断した場合(ステップSF1:YES)、通信管理部25は、切断したWebSocketコネクションCTを確立した印刷装置12に対応する処理部に対して、WebSocketコネクションCTが切断した旨、通知する(ステップSF2)。本実施形態では、通信管理部25は、印刷データ処理部27に対して、WebSocketコネクションCTが切断した旨、通知する。
上記通知を受けた処理部(本例では、印刷データ処理部27)は、リセット処理等を行わず、動作可能状態を維持する。換言すれば、WebSocketコネクションCTが再確立した場合に、その機能に基づく処理を実行できる状態を維持する。
図7は、WebSocketコネクションCTの確立後における制御サーバー10の動作を示すフローチャートである。
WebSocketコネクションCTの確立後、制御サーバー10の通信管理部25は、WebSocketコネクションCTが非通常切断したか否かを監視する(ステップSF1)。非通常切断とは、WebSocketの切断方法によることなくWebSocketコネクションCTが切れることをいう。非通常切断は、通信に関するエラー、その他の原因によりに発生する。
WebSocketコネクションCTが非通常切断した場合(ステップSF1:YES)、通信管理部25は、切断したWebSocketコネクションCTを確立した印刷装置12に対応する処理部に対して、WebSocketコネクションCTが切断した旨、通知する(ステップSF2)。本実施形態では、通信管理部25は、印刷データ処理部27に対して、WebSocketコネクションCTが切断した旨、通知する。
上記通知を受けた処理部(本例では、印刷データ処理部27)は、リセット処理等を行わず、動作可能状態を維持する。換言すれば、WebSocketコネクションCTが再確立した場合に、その機能に基づく処理を実行できる状態を維持する。
次いで、通信管理部25は、非通常切断後、所定の期間が経過したか否かを監視しつつ(ステップSF3)、WebSocketコネクションCTを確立していた印刷装置12(以下、「切断前接続印刷装置」という。)との間で、再びWebSocketコネクションCTを確立したか否かを判別する(ステップSF4)。
非通常切断から所定の期間が経過した場合というのは、WebSocketコネクションCTの切断後、所定の時間が経過する間に、切断前接続印刷装置との間でWebSocketコネクションCTを再確立されない場合である。所定の期間の値は、予め定められる。非通常切断後、所定の期間が経過した場合は(ステップSF3:YES)、通信管理部25は、切断前接続印刷装置に対応する処理部のリセット等、WebSocketコネクションCTを正常に切断した場合に行う処理と同様の処理を実行する(ステップSF5)。
非通常切断から所定の期間が経過した場合というのは、WebSocketコネクションCTの切断後、所定の時間が経過する間に、切断前接続印刷装置との間でWebSocketコネクションCTを再確立されない場合である。所定の期間の値は、予め定められる。非通常切断後、所定の期間が経過した場合は(ステップSF3:YES)、通信管理部25は、切断前接続印刷装置に対応する処理部のリセット等、WebSocketコネクションCTを正常に切断した場合に行う処理と同様の処理を実行する(ステップSF5)。
一方、非通常切断後、所定の期間が経過する前に、切断前接続印刷装置との間でWebSocketコネクションCTが再確立した場合(ステップSF4:YES)、通信管理部25は、処理手順をステップSF6へ移行し、以下の処理を実行する。
なお、切断前接続印刷装置との間でWebSocketコネクションCTが再確立したか否かを、通信管理部25は、例えば、以下のようにして判別する。すなわち、通信管理部25は、WebSocketコネクションCTが切断したときに、印刷装置12の印刷装置識別情報を所定の記憶領域に記憶する。次いで、通信管理部25は、WebSocketコネクションCTの接続があった場合に、当該WebSocketコネクションCTで印刷装置12から印刷装置識別情報を取得する。そして、所定の記憶領域に記憶した印刷装置識別情報と、取得した印刷装置識別情報とが一致する場合、通信管理部25は、切断前接続印刷装置との間でコネクションが再確立したと判別する。
ステップSF6において、通信管理部25は、切断前接続印刷装置に対応する処理部に対して、切断前接続印刷装置の印刷装置識別情報、及び、切断前接続印刷装置との間でWebSocketコネクションCTが再確立した旨の通知を送信する(ステップSF6)。次いで、通信管理部25は、処理手順をステップSF1へ移行する。
このように、切断前接続印刷装置との間でWebSocketコネクションCTが再確立した場合、当該切断前接続印刷装置に対応する処理部は、その旨の通知と、印刷装置識別情報とを受信する。このため、処理部は、印刷装置識別情報に基づいて、どの印刷装置12との間でWebSocketコネクションCTが再確立したのかを認識できる。また、処理部は、WebSocketコネクションCTの非通常切断に起因してデータの受信が中断した場合に、WebSocketコネクションCTの再確立後に受信したデータが、当該WebSocketコネクションCTの切断前に受信していたデータの続きの可能性があることを認識できる。従って、例えば、処理部に、コネクションの切断前に受信したデータと、切断後に受信したデータとが、ひと続きのデータであることを確認する機能を付加すれば、全てのデータの再送信が必要なくなり、処理効率の向上、及び、通信に関する負荷の低減を実現できる。
なお、切断前接続印刷装置との間でWebSocketコネクションCTが再確立したか否かを、通信管理部25は、例えば、以下のようにして判別する。すなわち、通信管理部25は、WebSocketコネクションCTが切断したときに、印刷装置12の印刷装置識別情報を所定の記憶領域に記憶する。次いで、通信管理部25は、WebSocketコネクションCTの接続があった場合に、当該WebSocketコネクションCTで印刷装置12から印刷装置識別情報を取得する。そして、所定の記憶領域に記憶した印刷装置識別情報と、取得した印刷装置識別情報とが一致する場合、通信管理部25は、切断前接続印刷装置との間でコネクションが再確立したと判別する。
ステップSF6において、通信管理部25は、切断前接続印刷装置に対応する処理部に対して、切断前接続印刷装置の印刷装置識別情報、及び、切断前接続印刷装置との間でWebSocketコネクションCTが再確立した旨の通知を送信する(ステップSF6)。次いで、通信管理部25は、処理手順をステップSF1へ移行する。
このように、切断前接続印刷装置との間でWebSocketコネクションCTが再確立した場合、当該切断前接続印刷装置に対応する処理部は、その旨の通知と、印刷装置識別情報とを受信する。このため、処理部は、印刷装置識別情報に基づいて、どの印刷装置12との間でWebSocketコネクションCTが再確立したのかを認識できる。また、処理部は、WebSocketコネクションCTの非通常切断に起因してデータの受信が中断した場合に、WebSocketコネクションCTの再確立後に受信したデータが、当該WebSocketコネクションCTの切断前に受信していたデータの続きの可能性があることを認識できる。従って、例えば、処理部に、コネクションの切断前に受信したデータと、切断後に受信したデータとが、ひと続きのデータであることを確認する機能を付加すれば、全てのデータの再送信が必要なくなり、処理効率の向上、及び、通信に関する負荷の低減を実現できる。
以上説明したように、本実施形態に係る制御システム1(印刷制御システム)は、印刷装置12と、制御サーバー10(印刷制御装置)と、を備える。印刷装置12は、印刷制御データに基づいて印刷を制御する印刷制御部17と、非同期の双方向通信の通信経路であるWebSocketコネクションCTで印刷制御データの通信を行う通信部16と、を有する。制御サーバー10は、WebSocketコネクションCTで印刷制御データの通信を行う第1接続部26(接続部)と、印刷制御データを処理する印刷データ処理部27と、印刷データ処理部27に初期処理を実行させて印刷制御データの処理を実行可能とする通信管理部25と、を有する。
この構成によれば、制御システム1において、制御サーバー10と、印刷装置12とは、非同期の双方向通信を行う。このため、制御サーバー10は、任意のタイミングでWebSocketコネクションCTにより印刷制御データを印刷装置12に送信して、印刷装置12に印刷制御データに基づく処理を実行させることができる。また、上記構成によれば、制御サーバー10は、印刷データ処理部27と、印刷データ処理部27に初期処理を実行させて、印刷制御データの処理を実行可能とする通信管理部25とを備える。このため、制御サーバー10は、印刷データ処理部27について、必要に応じて、初期処理を行わせて、機能に基づく処理を行える状態とすることができる。つまり、上記構成によれば、制御システム1、及び、制御サーバー10を、制御サーバー10が印刷データ処理部27を有する構成、及び、印刷装置12と制御サーバー10とがネットワークを介して通信する構成に対応させることができる。
この構成によれば、制御システム1において、制御サーバー10と、印刷装置12とは、非同期の双方向通信を行う。このため、制御サーバー10は、任意のタイミングでWebSocketコネクションCTにより印刷制御データを印刷装置12に送信して、印刷装置12に印刷制御データに基づく処理を実行させることができる。また、上記構成によれば、制御サーバー10は、印刷データ処理部27と、印刷データ処理部27に初期処理を実行させて、印刷制御データの処理を実行可能とする通信管理部25とを備える。このため、制御サーバー10は、印刷データ処理部27について、必要に応じて、初期処理を行わせて、機能に基づく処理を行える状態とすることができる。つまり、上記構成によれば、制御システム1、及び、制御サーバー10を、制御サーバー10が印刷データ処理部27を有する構成、及び、印刷装置12と制御サーバー10とがネットワークを介して通信する構成に対応させることができる。
また、本実施形態によれば、制御サーバー10の通信管理部25は、印刷装置12との間でのWebSocketコネクションCTが確立したときに、印刷データ処理部27に初期処理を実行させる。
この構成によれば、WebSocketコネクションCTが確立することによって、印刷データ処理部27が、印刷装置12に印刷制御データを送信する可能性が生じた場合に、つまり、印刷データ処理部27が機能に基づく処理を行う可能性が生じた場合に、印刷データ処理部27について、機能に基づく処理を実行可能な状態とすることができる。
この構成によれば、WebSocketコネクションCTが確立することによって、印刷データ処理部27が、印刷装置12に印刷制御データを送信する可能性が生じた場合に、つまり、印刷データ処理部27が機能に基づく処理を行う可能性が生じた場合に、印刷データ処理部27について、機能に基づく処理を実行可能な状態とすることができる。
また、本実施形態によれば、制御サーバー10は、印刷データ処理部27に設定する初期処理設定ファイルを記憶する制御サーバー記憶部28(記憶部)を有し、制御サーバー10の印刷データ処理部27は、初期処理設定ファイルに基づいて初期処理を実行する。
この構成によれば、印刷データ処理部27は、初期処理設定ファイルに基づいて、印刷装置12に対応する初期処理を実行可能である。
この構成によれば、印刷データ処理部27は、初期処理設定ファイルに基づいて、印刷装置12に対応する初期処理を実行可能である。
なお、上述した実施の形態は、あくまでも本発明の一態様を示すものであり、本発明の範囲内で任意に変形および応用が可能である。
上述した実施形態では、印刷装置12は店舗に構築された店舗システム11に設けられていた。しかしながら、印刷装置12は、必ずしも、店舗システム11に設けられたものでなくてもよい。例えば、他のシステムに設けられたものであってもよい。
また、上述した実施形態では、制御サーバー10から、印刷装置12に対して、XMLファイルの印刷制御データを送信していたが、印刷制御データのデータ形式はXMLでなくともよい。例えば、他のマークアップ言語で生成されたデータであってもよく、また、印刷部18のコマンド体系の制御コマンドであってもよい。
また、図3に示す各機能ブロックはハードウェアとソフトウェアにより任意に実現可能であり、特定のハードウェア構成を示唆するものではない。また、印刷装置12の各機能を、当該装置に外部接続される別の装置に持たせるようにしてもよい。また、印刷装置12は、外部接続される記憶媒体に記憶させたプログラムを実行することにより、各種処理を実行してもよい。
上述した実施形態では、印刷装置12は店舗に構築された店舗システム11に設けられていた。しかしながら、印刷装置12は、必ずしも、店舗システム11に設けられたものでなくてもよい。例えば、他のシステムに設けられたものであってもよい。
また、上述した実施形態では、制御サーバー10から、印刷装置12に対して、XMLファイルの印刷制御データを送信していたが、印刷制御データのデータ形式はXMLでなくともよい。例えば、他のマークアップ言語で生成されたデータであってもよく、また、印刷部18のコマンド体系の制御コマンドであってもよい。
また、図3に示す各機能ブロックはハードウェアとソフトウェアにより任意に実現可能であり、特定のハードウェア構成を示唆するものではない。また、印刷装置12の各機能を、当該装置に外部接続される別の装置に持たせるようにしてもよい。また、印刷装置12は、外部接続される記憶媒体に記憶させたプログラムを実行することにより、各種処理を実行してもよい。
1…制御システム(印刷制御システム)、10…制御サーバー(印刷制御装置)、12…印刷装置、16…通信部、17…印刷制御部、25…通信管理部、26…第1接続部(接続部)、27…印刷データ処理部、28…制御サーバー記憶部(記憶部)、28c…設定情報データベース(設定情報)、CT…WebSocketコネクション。
Claims (8)
- 印刷制御データを処理する印刷データ処理部と、
非同期の双方向通信の通信経路で前記印刷制御データの通信を行う接続部と、
前記印刷データ処理部に初期処理を実行させて、前記印刷制御データの処理を実行可能とする通信管理部と、
を有することを特徴とする印刷制御装置。 - 前記通信管理部は、
前記通信経路が確立したときに、前記印刷データ処理部に前記初期処理を実行させる請求項1に記載の印刷制御装置。 - 前記印刷データ処理部に設定する設定情報を記憶する記憶部を有し、
前記印刷データ処理部は、前記設定情報に基づいて前記初期処理を実行する請求項1又は2に記載の印刷制御装置。 - 前記非同期の双方向通信は、WebSocket通信である請求項1乃至3のいずれか1項に記載の印刷制御装置。
- 印刷制御データに基づいて印刷を制御する印刷制御部、及び非同期の双方向通信の通信経路で前記印刷制御データの通信を行う通信部を有する印刷装置と、
前記通信経路で前記印刷制御データの通信を行う接続部、前記印刷制御データを処理する印刷データ処理部、及び前記印刷データ処理部に初期処理を実行させて前記印刷制御データの処理を実行可能とする通信管理部を有する印刷制御装置と、
を備えることを特徴とする印刷制御システム。 - 前記印刷制御装置の通信管理部は、前記印刷装置との間での前記通信経路が確立したときに、前記印刷データ処理部に前記初期処理を実行させる請求項5に記載の印刷制御システム。
- 前記印刷制御装置は、前記印刷データ処理部に設定する設定情報を記憶する記憶部を有し、
前記印刷制御装置の前記印刷データ処理部は、前記設定情報に基づいて前記初期処理を実行する請求項5又は6に記載の印刷制御システム。 - 前記非同期の双方向通信は、WebSocket通信である請求項5乃至7のいずれか1項に記載の印刷制御システム。
Priority Applications (11)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013230944A JP2015090644A (ja) | 2013-11-07 | 2013-11-07 | 印刷制御装置、及び、印刷制御システム |
IN2931DE2014 IN2014DE02931A (ja) | 2013-11-01 | 2014-10-13 | |
CA2868692A CA2868692C (en) | 2013-11-01 | 2014-10-24 | Print control system and print control method |
CN201410589906.1A CN104615389B (zh) | 2013-11-01 | 2014-10-28 | 打印控制系统以及打印控制方法 |
TW103137481A TWI569981B (zh) | 2013-11-01 | 2014-10-29 | 印刷控制系統、印刷控制方法及印刷裝置 |
US14/527,614 US9195418B2 (en) | 2013-11-01 | 2014-10-29 | Print control system and print control method |
EP14190997.8A EP2869187B1 (en) | 2013-11-01 | 2014-10-30 | Print control system and print control method |
KR1020140149340A KR101630280B1 (ko) | 2013-11-01 | 2014-10-30 | 인쇄 제어 시스템, 인쇄 제어 방법 및 인쇄 장치 |
BR102014027344A BR102014027344A2 (pt) | 2013-11-01 | 2014-10-31 | sistema de controle de impressão e método de controle de impressão |
US14/885,658 US9542133B2 (en) | 2013-11-01 | 2015-10-16 | Print control system and print control method |
US15/363,457 US10091388B2 (en) | 2013-11-01 | 2016-11-29 | Print control system and print control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013230944A JP2015090644A (ja) | 2013-11-07 | 2013-11-07 | 印刷制御装置、及び、印刷制御システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015090644A true JP2015090644A (ja) | 2015-05-11 |
Family
ID=53194122
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013230944A Pending JP2015090644A (ja) | 2013-11-01 | 2013-11-07 | 印刷制御装置、及び、印刷制御システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2015090644A (ja) |
-
2013
- 2013-11-07 JP JP2013230944A patent/JP2015090644A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10091388B2 (en) | Print control system and print control method | |
JP6291846B2 (ja) | 印刷制御システム、印刷制御方法、及び、印刷装置 | |
EP2953033B1 (en) | Control system and control method for the control system | |
JP2015090644A (ja) | 印刷制御装置、及び、印刷制御システム | |
JP6268931B2 (ja) | 印刷制御装置、及び、印刷制御システム | |
JP6281248B2 (ja) | 印刷装置、印刷装置の制御方法、及び、印刷制御システム | |
JP6331337B2 (ja) | 印刷制御システム、及び、印刷装置 | |
JP2015130087A (ja) | Pos制御システム、及び、pos制御システムの制御方法 | |
JP6269055B2 (ja) | 印刷制御システムの制御方法、印刷制御システム、及び印刷装置 | |
JP6287215B2 (ja) | Pos制御システム、印刷装置、及びpos制御システムの制御方法 | |
JP6343931B2 (ja) | 印刷制御システム、及び印刷制御方法 | |
JP6221681B2 (ja) | 印刷制御システム、及び印刷制御方法 | |
JP6260231B2 (ja) | 印刷制御システム、及び、印刷制御方法 | |
JP2015146153A (ja) | 印刷制御システム、及び、印刷制御システムの制御方法 | |
JP6252115B2 (ja) | 印刷制御システム | |
JP2015088105A (ja) | 印刷装置、及び、印刷制御システム | |
JP2015090646A (ja) | 印刷制御装置、及び、印刷制御システム | |
JP2015090643A (ja) | 印刷制御装置、及び印刷制御システム | |
JP6252114B2 (ja) | 印刷制御システム | |
JP2015148874A (ja) | 印刷制御システムの制御方法、及び印刷制御システム | |
JP2015106366A (ja) | 印刷制御システム、及び、印刷制御装置 | |
JP2015089678A (ja) | 印刷装置、及び、印刷制御システム | |
JP2015141569A (ja) | 印刷制御システム、及び、印刷制御システムの制御方法 | |
JP2015127877A (ja) | 印刷制御システム、及び印刷制御方法 | |
JP2015148873A (ja) | 制御システム、及び制御システムの制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20160617 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20160627 |