JP6221681B2 - 印刷制御システム、及び印刷制御方法 - Google Patents

印刷制御システム、及び印刷制御方法 Download PDF

Info

Publication number
JP6221681B2
JP6221681B2 JP2013241718A JP2013241718A JP6221681B2 JP 6221681 B2 JP6221681 B2 JP 6221681B2 JP 2013241718 A JP2013241718 A JP 2013241718A JP 2013241718 A JP2013241718 A JP 2013241718A JP 6221681 B2 JP6221681 B2 JP 6221681B2
Authority
JP
Japan
Prior art keywords
data
server
connection
management
printing
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.)
Expired - Fee Related
Application number
JP2013241718A
Other languages
English (en)
Other versions
JP2015102939A5 (ja
JP2015102939A (ja
Inventor
薫雄 田島
薫雄 田島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2013241718A priority Critical patent/JP6221681B2/ja
Priority to CN201410610369.4A priority patent/CN104636091B/zh
Priority to CN201810473965.0A priority patent/CN108646992B/zh
Priority to US14/532,655 priority patent/US9195419B2/en
Publication of JP2015102939A publication Critical patent/JP2015102939A/ja
Priority to US14/880,956 priority patent/US9557942B2/en
Publication of JP2015102939A5 publication Critical patent/JP2015102939A5/ja
Application granted granted Critical
Publication of JP6221681B2 publication Critical patent/JP6221681B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)
  • Facsimiles In General (AREA)

Description

本発明は、印刷装置を備える印刷制御システム、及び印刷制御方法に関する。
従来、印刷制御装置の制御に従って、印刷装置によって印刷媒体に印刷し、レシートを発行する印刷制御システムが知られている(例えば、特許文献1参照)。この種の印刷制御システムでは、印刷装置、及び、印刷装置を制御する管理装置が、印刷制御装置としてのサーバーにネットワークを介して接続され、各装置がサーバーとネットワークを介して通信するものがある。
特開2011−108097号公報
上述した印刷制御システムのように、印刷機能を有する印刷装置とサーバーとがネットワークを介して通信し、印刷制御機能を有する管理装置とサーバーとがネットワークを介して通信するシステムを構築する場合、当該システムを、印刷装置及び管理装置がネットワークを介してサーバーと通信する構成に対応させる必要がある。
本発明は、上述した事情に鑑みてなされたものであり、印刷装置及び管理装置がサーバーにネットワークを介して通信する印刷制御システムについて、システムを、各装置がネットワークを介してサーバーと通信する構成に対応させることを目的とする。
上記目的を達成するため、本発明の印刷制御システムは、印刷を行う印刷部、前記印刷部の動作に基づく第1のデータと前記第1のデータと異なる第2のデータとを生成する印刷制御部、及び前記第1のデータ及び前記第2のデータを送信する通信部を有する印刷装置と、記通信部で送信された前記第1のデータ及び前記第2のデータを受信する接続部、印刷を指示する印刷指示データに基づいて前記印刷部を制御する印刷制御データを生成する印刷データ処理部、前記第1のデータの送信と前記印刷指示データの受信を行う第1送受信部、及び前記第2のデータを送信する第2送受信部を有する接続サーバーと、記第1送受信部で送信された前記第1のデータの受信と前記第1送受信部への前記印刷指示データの送信を行う第1通信接続部、及び前記第1のデータの送信と前記印刷指示データの受信を行う第2通信接続部を有する管理サーバーと、前記印刷指示データを生成する制御部、前記第2通信接続部で送信された前記第1のデータの受信と前記第2通信接続部への前記印刷指示データの送信とを行う第1通信インターフェース、及び前記第2送受信部で送信された前記第2のデータを受信する第2通信インターフェースを有する管理装置と、を備えることを特徴とする。
本発明の構成によれば、管理装置が送信した印刷指示データに基づいて生成された印刷制御データによる印刷部の動作に基づく第1のデータについては、印刷装置から接続サーバー、及び管理サーバーを介して、管理装置に送信される。このため、管理装置から管理サーバーに印刷指示データを送信した際にこれら装置間で確立した通信経路を利用して、管理装置に第1のデータを送信することができる。また、第1のデータと異なる第2のデータについては、印刷装置から接続サーバーに対してデータが送信されると、接続サーバーは、管理サーバーを経由させることなく、管理装置に第2のデータを送信する。このため、管理装置と管理サーバーとの間で通信経路が確立していない場合であっても、管理装置に第2のデータを送信することができる。また、管理サーバーを経由しないため、第2のデータの管理装置への送信に際して管理サーバーの処理が必要なく、効率よく、また、より迅速に第2のデータを管理装置に送信することができる。つまり、本発明の構成によれば、印刷装置及び管理装置がサーバーにネットワークを介して通信する印刷制御システムについて、システムを、各装置がネットワークを介してサーバーと通信する構成に対応させることができる。
また、前記第2のデータは、前記印刷装置のステータスを示すステータスデータである。
本発明の構成によれば、印刷装置が生成したステータスデータについて、効率よく、また、より迅速に管理装置に送信できる。
また、前記接続サーバーは、前記印刷装置で送信された前記第2のデータを受信したときに、前記管理装置との間に第1の通信経路を確立する。
本発明の構成によれば、接続サーバーは、印刷装置から第2のデータを受信した場合、第1の通信経路により第2のデータを管理装置に送信できる。
また、前記管理装置は、前記印刷指示データを前記管理サーバーに送信するときに、前記管理サーバーとの間で第2の通信経路を確立する。
本発明の構成によれば、管理装置は、管理サーバーに第2の通信経路により印刷指示データを送信できる。また、印刷装置が送信した第1のデータについて、管理サーバーは、第2の通信経路により管理装置に送信できる。
また、前記印刷装置は、前記接続サーバーと非同期の双方向通信を行う。
本発明の構成によれば、接続サーバーは、任意のタイミングで印刷装置に印刷制御データを送信して、印刷装置に印刷を実行させることができる。
また、前記非同期の双方向通信は、WebSocket通信である。
本発明の構成によれば、接続サーバーと、印刷装置とは、WebSocket通信により、非同期の双方向通信を行える。
また、本発明の印刷制御方法は、印刷装置の印刷部の動作に基づいて第1のデータを生成したときには前記第1のデータを接続サーバーに送信し、前記第1のデータを前記接続サーバーで受信し、前記接続サーバーで、前記印刷部を動作させる印刷指示データを送信した管理サーバーに前記第1のデータを送信し、前記第1のデータを前記管理サーバーで受信し、前記管理サーバーで、前記印刷指示データを送信した管理装置に前記第1のデータを送信し、前記管理装置で前記第1のデータを受信し、前記印刷装置で前記第1のデータと異なる第2のデータを生成したときには前記第2のデータを前記接続サーバーに送信し、前記第2のデータを前記接続サーバーで受信し、前記接続サーバーで、前記第2のデータを前記管理装置に送信し、前記管理装置で前記第2のデータを受信することを特徴とする。
本発明の印刷制御方法によれば、印刷部の動作に基づく第1のデータについては、印刷装置から接続サーバー、及び管理サーバーを介して、管理装置に送信される。このため、管理装置から管理サーバーに印刷指示データを送信した際にこれら装置間で確立した通信経路を利用して、管理装置に第1のデータを送信することができる。また、第1のデータと異なる第2のデータについては、印刷装置から接続サーバーに対してデータが送信されると、接続サーバーは、管理サーバーを経由させることなく、管理装置に第2のデータを送信する。このため、管理装置と管理サーバーとの間で通信経路が確立していない場合であっても、管理装置に第2のデータを送信することができる。また、管理サーバーを経由しないため、第2のデータの管理装置への送信に際して管理サーバーの処理が必要なく、効率よく、また、より迅速に第2のデータを管理装置に送信することができる。つまり、また、本発明の印刷制御方法によれば、印刷装置及び管理装置がサーバーにネットワークを介して通信する印刷制御システムについて、システムを、装置がネットワークを介してサーバーと通信する構成に対応させることができる。
また、前記第2のデータは、前記印刷装置のステータスを示すステータスデータである。
本発明の印刷制御方法によれば、印刷装置が生成したステータスデータについて、効率よく、また、より迅速に管理装置に送信できる。
第1実施形態に係る制御システムの構成を示す図。 制御サーバーと、印刷装置との間に確立された通信経路を示す図。 制御サーバーの構成をより詳細に示す図である。 制御システムが備える各装置の機能的構成を示すブロック図。 印刷装置、ゲートサーバー、及び、印刷装置接続サーバーの動作を示すフローチャート。 印刷装置接続サーバーの動作を示すフローチャート。 制御システムが備える各装置の動作を示すフローチャート。 制御システムが備える各装置の動作を示すフローチャート。 印刷装置、印刷装置接続サーバー、及び、管理装置の動作を示すフローチャート。
以下、図面を参照して本発明の実施形態について説明する。
図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のWebSocketコネクションCTが確立される。
なお、WebSocketとは、ネットワークを介して接続されたサーバーと、クライアントとの間で、非同期な双方向通信を可能とする通信規格の1つである。WebSocketでは、サーバーとクライアントがWebSocketコネクションCTを確立した後は、データの送受信を、当該コネクションによりWebSocketのプロトコルを用いて行う。このため、データの送信が発生する度に、コネクションを確立する必要がない。
また、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で、非同期で双方向通信(WebSocket通信)する。すなわち、制御サーバー10は、クライアントとしての印刷装置12からリクエストを受けることなく、任意のタイミングで、WebSocketコネクションCTで印刷装置12に対してデータをプッシュ送信できる。同様に、印刷装置12は、任意のタイミングで、WebSocketコネクションCTで制御サーバー10に対してデータをプッシュ送信できる。
また、制御サーバー10には、複数の管理装置14が通信可能に接続される。後述するように、管理装置14は、制御サーバー10を介して、所定の印刷装置12に印刷制御データを送信し、当該所定の印刷装置12に印刷を実行させることができる。
本実施形態において、制御サーバー10は、印刷装置12をクライアントとする、いわゆるクラウドシステムにおけるクラウドサーバーである。すなわち、制御サーバー10は、演算処理機能を有し、印刷装置12の要求や、管理装置14の要求等をトリガーとして所定の演算処理を実行し、演算処理の結果に基づくデータを、WebSocketコネクションCTで印刷装置12に送信可能である。
なお、図2では、制御サーバー10を、1つのブロックによって表現しているが、これは、制御サーバー10が単一のサーバー装置により構成されることを意味するものではない。後に詳述するが、本実施形態では、制御サーバー10は、複数のサーバーを含んで構成される。
また、本実施形態では、制御サーバー10と、印刷装置12との間で、WebSocket通信を行う。しかしながら、これら装置が、WebSocket通信に代えて、WebSocket通信と同様な非同期な双方向通信を行う構成であってもよい。
このように、制御システム1は、印刷機能が実装された印刷装置12が、複数台(例えば、1000台)、WebSocketコネクションCTにより、制御サーバー10との間で通信可能に接続される。
このような構成のため、以下の効果を得ることができる。
すなわち、制御サーバー10は、店舗システム11に接続された複数の印刷装置12から受信したデータに基づく情報を収集し、管理、分析できる。このため、制御サーバー10は、複数の印刷装置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は、本実施形態に係る制御システム1の構成をより詳細に示す図である。
図3に示すように、制御サーバー10は、複数の接続サーバー50と、複数の管理サーバー60と、を含んで構成される。制御サーバー10において、複数の接続サーバー50、及び、複数の管理サーバー60は、LAN等を含んで構成されたサーバー間ネットワークSNを介して通信可能に接続される。
図3に示すように、接続サーバー50には、1又は複数の印刷装置12がWebSocketコネクションCTにより接続される。
また、管理サーバー60には、1又は複数の管理装置14がコネクションKK(第2コネクション)により接続される。本実施形態において、管理サーバー60と、管理装置14との間で確立されるアプリケーション層のコネクションKKは、Http(Hypertext Transfer Protocol)である。従って、通信の開始は、クライアントたる管理装置14が行う。より詳細には、管理装置14は、データを送信する場合に、管理サーバー60とハンドシェイクを行い、TCPコネクションに基づくコネクションKKを確立する。そして、管理装置14は、確立したコネクションKKによりデータを送信する。データの送信、及び、データの送信に付随する他のデータの送受信が完了すると、管理装置14は、コネクションKKを切断する。このように、本実施形態では、管理装置14は、データの送信に際し、コネクションKKを確立する。
接続サーバー50は、後述するように、印刷装置12との間での通信に関する処理、印刷装置12の制御に係る処理等、印刷装置12に関する処理を実行する機能を有する。
また、管理サーバー60は、後述するように、管理装置14との間での通信に関する処理等、管理装置14に関する処理を実行する機能を有する。
図3に示すように、サーバー間ネットワークSNには、データベース管理サーバー70が接続される。また、サーバー間ネットワークSNには、ゲートサーバー80が接続される。これらサーバーの機能については後述する。
図3を用いて、複数の管理装置14のうちの1つの管理装置14Aと、複数の印刷装置12のうちの1つの印刷装置12Aとの間で行われる通信について、管理装置14Aから、印刷装置12Aにデータを送信する場合を例にして、簡単に説明する。
なお、本実施形態において、印刷装置12Aは、管理装置14Aが制御対象とする印刷装置12である。つまり、管理装置14Aは、管理装置14Aの制御で、印刷装置12Aに印刷処理を実行させる。従って、印刷装置12Aは、管理装置14Aで管理を行う店舗システム11に含まれる印刷装置12である。
管理装置14Aが、印刷装置12Aに対してデータを送信する場合は、以下の処理が行われる。まず、管理装置14Aは、後述する方法により、複数の管理サーバー60のうちの、所定の管理サーバー60Aに対してデータを送信する。当該データには、印刷装置12Aを指定する情報が含まれる。本実施形態では、制御サーバー10が提供するサービスを受ける場合に、管理装置14がアクセスする管理サーバー60が、管理装置14ごとに予め定められる。
管理サーバー60Aは、後述する方法により、サーバー間ネットワークSNに接続される接続サーバー50のうち、管理装置14Aが制御する印刷装置12Aが接続された接続サーバー50を検索する。本例では、印刷装置12Aが接続された接続サーバー50は、第1接続サーバー50Aである。従って、管理サーバー60Aは、第1接続サーバー50Aを検索する。
次いで、管理サーバー60Aは、検索した第1接続サーバー50Aに、データを送信する。次いで、第1接続サーバー50Aは、後述する方法により、印刷装置12Aに対してデータを送信する。その際、第1接続サーバー50Aは、必要に応じて、受信したデータに基づいて所定の処理を行って新たなデータを生成し、当該新たなデータを送信する。印刷装置12Aは、データを受信し、当該データに基づく処理を実行する。
このように、本実施形態に係る制御サーバー10は複数の接続サーバー50と、複数の管理サーバー60と、を含んで構成される。管理装置14と、印刷装置12とは、制御サーバー10における接続サーバー50、及び、管理サーバー60を介して通信する。特に、管理装置14は、管理サーバー60、及び、接続サーバー50を介して、印刷装置12に印刷を実行させる。
このような構成のため、以下の効果を奏する。
すなわち、管理サーバー60と、接続サーバー50とが独立したサーバーであるため、これらサーバーについて、独立して増設可能である。
例えば、制御サーバー10が提供するサービスを利用すべく、制御サーバー10に接続可能な印刷装置12の台数が増大した場合、第1接続サーバー50Aを増設し、印刷装置12に関する処理に係る処理負荷の分散を図ることが可能である。そしてこの場合において、本実施形態によれば、接続サーバー50を、管理サーバー60とは独立して、増設することが可能である。このような構成のため、接続サーバー50に接続可能な印刷装置12の状況(台数等)、及び、管理サーバー60に接続可能な管理装置14の状況(台数等)に応じて、接続サーバー50及び管理サーバー60の各サーバーの台数を調整できる。これにより、制御サーバー10を、接続可能な印刷装置12、及び、管理装置14の状況に応じたサーバー構成、規模としつつ、サーバーに接続可能な装置の台数に応じた処理負荷の分散を図ることが可能である。
また、上記構成によれば、接続サーバー50は、接続される印刷装置12に関する処理を実行する機能を備えればよく、また、管理サーバー60は、接続される管理装置14に関する処理を実行する機能を備えればよい。
図4は、印刷装置12A、第1接続サーバー50A、管理サーバー60A、管理装置14A、データベース管理サーバー70、及び、ゲートサーバー80の機能的構成を示すブロック図である。
図4に示すように、印刷装置12Aは、通信制御部15と、通信部16と、印刷制御部17と、印刷部18と、印刷装置記憶部19と、を備える。
通信制御部15、通信部16、及び、印刷制御部17の機能については後述する。
印刷部18は、印刷媒体に印刷する印刷機構、印刷媒体を搬送する搬送機構、印刷媒体を切断する切断機構等の印刷に係る機構、及び、各機構の制御に係る制御基板等を備える。
印刷装置記憶部19は、不揮発性メモリーを備え、各種データを記憶する。印刷装置記憶部19には、通信先情報データ19aと、印刷装置識別情報データ19bと、が記憶されるが、これらデータについては後述する。
図4に示すように、制御サーバー10が備える第1接続サーバー50Aは、通信管理部25と、接続部26と、印刷データ処理部27と、接続サーバー記憶部28と、第1送受信部29と、第2送受信部20と、を備える。
通信管理部25、接続部26、印刷データ処理部27、及び、第2送受信部20の機能については、後述する。
接続サーバー記憶部28は、不揮発性メモリーを備え、各種データを記憶する。接続サーバー記憶部28には、コネクション管理データベース28a、及び、管理装置管理データベース28bが記憶されるが、これについては後述する。
第1送受信部29は、通信管理部25の制御に従って、サーバー間ネットワークSNを介して、制御サーバー10が備える他のサーバーと所定の通信規格で通信する。
図4に示すように、制御サーバー10が備える管理サーバー60Aは、管理サーバー制御部61と、第1通信接続部62と、第2通信接続部63と、を備える。
管理サーバー制御部61は、CPU等を備え、管理サーバー60Aを制御する。管理サーバー制御部61は、機能ブロックとして検索部61aを備える。検索部61aの機能については後述する。
第1通信接続部62は、管理サーバー制御部61の制御に従って、サーバー間ネットワークSNを介して、制御サーバー10が備える他のサーバーと所定の通信規格で通信する。
第2通信接続部63は、管理サーバー制御部61の制御で、ネットワークGNを介して、管理装置14(管理装置14Aを含む)と所定の規格で通信する。
図4に示すように、制御サーバー10が備えるデータベース管理サーバー70は、データベース管理サーバー制御部71と、データベース管理サーバー記憶部72と、データベース管理サーバー通信インターフェース73(以下、「データベースI/F73」と表現する。)と、を備える。
データベース管理サーバー制御部71は、CPU等を備え、データベース管理サーバー70を制御する。特に、データベース管理サーバー制御部71は、データベース管理サーバー記憶部72に記憶された各種データベースに読み書きする機能を備える。
データベース管理サーバー記憶部72は、不揮発性メモリーを備え、各種データを記憶する。データベース管理サーバー記憶部72には、接続サーバーアドレス管理データベース72aが記憶されるが、これらについては後述する。
データベースI/F73は、データベース管理サーバー制御部71の制御で、サーバー間ネットワークSNを介して、制御サーバー10が備える他のサーバーと所定の通信規格で通信する。
図4に示すように、制御サーバー10が備えるゲートサーバー80は、ゲートサーバー制御部81と、ゲートサーバー記憶部82と、ゲートサーバー通信インターフェース83(以下、「ゲートサーバーI/F83」と表現する。)と、を備える。
ゲートサーバー制御部81は、CPU等を備え、ゲートサーバー80を制御する。
ゲートサーバー記憶部82は、不揮発性メモリーを備え、各種データを記憶する。ゲートサーバー記憶部82には、接続サーバー管理データベース82aが記憶されるが、これらについては後述する。
ゲートサーバーI/F83は、ゲートサーバー制御部81の制御で、サーバー間ネットワークSNを介して、制御サーバー10が備える他のサーバーと所定の通信規格で通信する。
図4に示すように、管理装置14は、管理装置制御部40(制御部)と、第1通信インターフェース41(以下、「第1通信I/F41」と表現する。)と、第2通信インターフェース42(以下、「第2通信I/F42」と表現する。)と、を備える。
第2通信I/F42の機能については後述する。
管理装置制御部40は、CPU等を備え、管理装置14を制御する。
第1通信I/F41は、管理装置制御部40の制御で、Http通信を行う。
なお、図4では、制御サーバー10と、制御サーバー10に接続された1つの印刷装置12(図4の例では、印刷装置12A)との関係を示す。制御サーバー10に、複数の印刷装置12が接続される場合は、制御サーバー10は、複数の印刷装置12に対応して複数の接続部26(WebSocketインターフェース)を備え、各印刷装置12との間でWebSocketコネクションCTを確立し、各印刷装置12とWebSocketコネクションCTでWebSocket通信する。
次に、印刷装置12Aの電源投入時における、印刷装置12A、ゲートサーバー80、及び、第1接続サーバー50Aの動作について説明する。
図5は、印刷装置12Aに電源が投入された後の印刷装置12A、ゲートサーバー80、及び、第1接続サーバー50Aの動作を示すフローチャートである。図5(A)は印刷装置12Aの動作を、(B)はゲートサーバー80の動作を、(C)は第1接続サーバー50Aの動作を示す。
なお、以下の説明では、説明の便宜を考慮して、制御サーバー10は、接続サーバー50として、第1接続サーバー50Aと、第2接続サーバー50Bの2つのサーバーを備える。
なお、図5のフローチャートの処理のトリガーは、電源投入時に限らない。例えば、印刷装置12がネットワークGNに通信可能に接続された場合や、ユーザーから指示があった場合等であってもよい。
また、以下の説明では、印刷装置12Aは、対応する店舗システム11のローカルエリアネットワークLNに接続され、ネットワークGNにアクセス可能である。
また、以下の説明において、印刷装置12Aが備える通信制御部15、印刷制御部17、及び、第1接続サーバー50Aが備える通信管理部25、印刷データ処理部27、及び、管理サーバー60Aが備える検索部61aの各機能ブロックの機能は、例えば、以下のようにして実現される。
すなわち、例えば、これら機能ブロックは、オブジェクトである。オブジェクトとは、オブジェクト指向プログラミングで生成されるインスタンス、すなわち、データ、及び、メソッドの集合として定義されたソフトウェアの機能ブロックである。そして、これら機能ブロックの機能は、各機能ブロックに実装されたメソッドが呼び出されることによって実現される。
また、これら機能ブロックの機能は、アプリケーションがCPU等のハードウェア資源によって読み出され実行されることによって、実現される。1つのアプリケーションにより1つの機能ブロックの機能が実現される構成であってもよい。また、1つのアプリケーションにより複数の機能ブロックの機能が実現される構成であってもよい。また、複数のアプリケーションにより1つの機能ブロックの機能が実現される構成であってもよい。
すなわち、各機能ブロックは、各機能をブロックとして表現したものであり、特定のアプリケーションや、ハードウェア等を意味するものではない。
図5(A)に示すように、印刷装置12Aの電源が投入されると(ステップSX1)、通信制御部15は、印刷装置記憶部19にアクセスし、印刷装置記憶部19に記憶される通信先情報データ19aを取得する(ステップSA1)。
通信先情報データ19aとは、複数ある接続サーバー50のうちの1つのサーバーとWebSocketコネクションCTを確立する際に、印刷装置12がアクセスするゲートサーバー80のアドレス(ドメイン名、IPアドレス、パス名等)を示すデータである。
ここで、WebSocketでは、WebSocketコネクションCTの確立に当たり、クライアント(本例では、印刷装置12A)は、サーバーに対して、HTTP(Hypertext Transfer Protocol)でハンドシェイクを行う。当該ハンドシェイクにおいて、クライアントは、サーバーのアドレスが記述されたメッセージを送信するが、通信先情報データ19aは、このアドレスを示すデータである。
このように、本実施形態では、印刷装置12は、制御サーバー10との間でのWebSocketコネクションCTの確立にあたり、ゲートサーバー80にアクセスする。すなわち、各印刷装置12には、WebSocketコネクションCTを確立する際にアクセスするゲートサーバー80のアドレス(ドメイン名等)示す情報が、通信先情報データ19aとして記憶される。
次いで、通信制御部15は、通信先情報データ19aが示すドメイン名に基づいて、ゲートサーバー80に対して、いずれかの接続サーバー50との間でのWebSocketコネクションCTの確立を要求する(ステップSA2)。
ステップSA2の要求を受け付けると、ゲートサーバー80のゲートサーバー制御部81は、接続サーバー管理データベース82aを参照する(ステップSB1)。
ここで、ゲートサーバー80のゲートサーバー制御部81は、制御サーバー10が備える各接続サーバー50について、各サーバーとの間でWebSocketコネクションCTを確立している印刷装置12の個数を管理する。そして、接続サーバー管理データベース82aとは、接続サーバー50に、WebSocketコネクションCTにより接続される印刷装置12の個数を示す情報が格納されたデータベースである。従って、ゲートサーバー制御部81は、接続サーバー管理データベース82aを参照することにより、任意の接続サーバー50について、当該サーバーにWebSocketコネクションCTにより接続される印刷装置12の個数を取得できる。
なお、接続サーバー管理データベース82aの更新は、どのような方法で行われてもよい。例えば、ゲートサーバー制御部81が、接続サーバー50に対して、WebSocketコネクションCTにより接続される印刷装置12の個数を定期的に問い合わせ、問い合わせに対応する応答に基づいて、データベースを更新してもよい。また、接続サーバー50が、例えば、新たに印刷装置12が接続された場合や、接続された印刷装置12の接続が切断された場合に、ゲートサーバー制御部81に通知する。そして、ゲートサーバー制御部81は、受けた通知に基づいて、データベースを更新するようにしてもよい。
本例では、接続サーバー管理データベース82aにおいて、第1接続サーバー50Aに接続された印刷装置12の個数と、第2接続サーバー50Bに接続された印刷装置12の個数とが対応付けて記憶される。
ステップSB1において、接続サーバー管理データベース82aを参照した後、ゲートサーバー制御部81は、以下の処理を実行する。すなわち、ゲートサーバー制御部81は、第1接続サーバー50A、及び、第2接続サーバー50Bのうち、WebSocketコネクションCTで接続される印刷装置12の個数が少ない方のサーバーを特定する(ステップSB2)。
ここで、接続される印刷装置12が少ないサーバーは、多いサーバーと比較して、加わっている各種負荷(CPUの負荷、通信の負荷、その他の負荷等)が小さい蓋然性が高い。接続サーバー50は、接続された印刷装置12に対応する処理を実行する必要があるが、接続される印刷装置12の個数が少ない分、実行する処理が少ないからである。このことを踏まえ、ゲートサーバー制御部81は、要求に応じてWebSocketコネクションCTを確立する接続サーバー50を、接続される印刷装置12の個数が少ない方の接続サーバー50と決定する(ステップSB3)。
本例では、第1接続サーバー50Aと、第2接続サーバー50Bのうち、第1接続サーバー50Aの方が、接続される印刷装置12の個数が少ない。従って、ステップSB2において、ゲートサーバー制御部81は、接続される印刷装置12の個数が少ない接続サーバー50として、第1接続サーバー50Aを特定する。また、ステップSB3において、ゲートサーバー制御部81は、要求に応じてWebSocketコネクションCTを確立する接続サーバー50として、第1接続サーバー50Aを決定する。
このように、ゲートサーバー制御部81は、印刷装置12から、接続サーバー50との間でのWebSocketコネクションCTの確立の要求があった場合、処理負荷が小さいと想定される接続サーバー50をWebSocketコネクションCTの確立先として決定する。
なお、WebSocketコネクションCTを確立する接続サーバー50の選択にあたっては、各接続サーバー50のスペックや、現時点での処理負荷の状況、予測される処理負荷の状況、その他の条件を反映してもよいことはもちろんである。
次いで、ゲートサーバー制御部81は、第1接続サーバー50Aに対して、印刷装置12Aとの間でのWebSocketコネクションCTの確立を要求する(ステップSB4)。なお、制御サーバー10が備える接続サーバー50のアドレスを管理する。また、ゲートサーバー制御部81は、WebSocketコネクションCTの確立を要求してきた印刷装置12Aに対して、第1接続サーバー50Aとの間でのWebSocketコネクションCTの確立を要求する(ステップSB5)。なお、ステップSB4、及び、ステップSB5における装置への要求に際し、ゲートサーバー制御部81は、装置のアドレス等、装置間でWebSocketコネクションCTを確立するハンドシェイクに必要な情報を送信する。
次いで、印刷装置12Aの通信制御部15、及び、第1接続サーバー50Aの通信管理部25は、通信部16と接続部26との間に、WebSocketコネクションCTを確立する(ステップSA3、ステップSC1)。つまり、本実施形態に係る印刷装置12Aは、ユーザーによる指示や、制御サーバー10からの要求を受けることなく、電源の投入をトリガーとしてWebSocketコネクションCTを確立する。
なお、通信部16、及び、接続部26は、WebSocketの規格、手続きに従ってデータの送受信を行うWebSocketインターフェースである。これら機能ブロックは、例えば、WebSocketのSocketライブラリーを用いて生成される。
すなわち、通信部16は、通信制御部15から受信したデータについて、WebSocketに従った処理を行って、WebSocketの手続きで、WebSocketコネクションCTでデータを送信する機能を有する。また、通信部16は、WebSocketコネクションCTで受信したデータについて、WebSocketの処理を行って、通信制御部15に送信する機能を有する。接続部26についても同様である。
WebSocketコネクションCTの確立に伴って、印刷装置12A、及び、第1接続サーバー50Aは、非同期で、双方向通信できる。つまり、第1接続サーバー50Aは、クライアントとしての印刷装置12Aからリクエストを受けることなく、WebSocketコネクションCTによりプッシュ送信で印刷装置12Aにデータを送信できる。
次いで、印刷装置12Aの通信制御部15は、印刷装置記憶部19にアクセスし、印刷装置記憶部19に記憶される印刷装置識別情報データ19bを取得する(ステップSA4)。印刷装置識別情報データ19bとは、印刷装置12の識別情報(以下、「印刷装置識別情報」という。)を示すデータである。印刷装置識別情報は、例えば、印刷装置12の製造段階で、印刷装置12に割り当てられるシリアル番号である。
次いで、通信制御部15は、WebSocketコネクションCTにより、印刷装置識別情報データ19bを送信する(ステップSA5)。
図5(C)に示すように、第1接続サーバー50Aの通信管理部25は、印刷装置識別情報データ19bを受信する(ステップSC2)。
次いで、通信管理部25は、接続サーバー記憶部28に記憶されたコネクション管理データベース28aにアクセスする(ステップSC3)。コネクション管理データベース28aとは、確立しているWebSocketコネクションCTについて、WebSocketコネクションCTを示すコネクション識別情報と、上述した印刷装置識別情報とを対応付けて記憶するデータベースである。
次いで、通信管理部25は、コネクション管理データベース28aに1件のレコードを生成する。そして、通信管理部25は、生成したレコードにおいて、ステップSC1で確立したWebSocketコネクションCTのコネクション識別情報と、ステップSC2で受信した印刷装置識別情報データ19bが示す印刷装置識別情報とを対応付けて記憶する(ステップSC4)。なお、通信管理部25は、WebSocketコネクションCTが確立したときに、既に確立しているWebSocketコネクションCTのコネクション識別情報と異なる値のコネクション識別情報を生成する。このステップSC4の処理により、WebSocketコネクションCTと、印刷装置12との対応関係が管理される。
このように、ユーザーによる指示や、制御サーバー10からの要求を受けることなく、電源の投入をトリガーとしてWebSocketコネクションCTを確立する。このような構成のため、ユーザーは、WebSocketコネクションCTを確立するために、煩雑な作業を行う必要がない。また、WebSocketコネクションCTを確立するために、専門的な知識も必要ない。また、電源投入後、印刷装置12を、制御サーバー10の制御で各種処理を実行できる状態とすることができる。
以上のようにして、通信部16と、接続部26との間で、WebSocketコネクションCTが確立する。これに伴って、印刷装置12の印刷制御部17と、制御サーバー10の印刷データ処理部27との間で、WebSocketコネクションCTに基づく機能部間通信経路KTが確立する。印刷制御部17と、印刷データ処理部27とは、機能部間通信経路KTにより、非同期な双方向通信を行える。機能部間通信経路KTにより行われる機能部間の非同期な双方向通信については後述する。
ところで、図3、4に示すように、制御サーバー10は、データベース管理サーバー70を備える。データベース管理サーバー70は、データベース管理サーバー記憶部72を備え、データベース管理サーバー記憶部72には、接続サーバーアドレス管理データベース72aが記憶される。
接続サーバーアドレス管理データベース72aは、制御サーバー10に接続される各印刷装置12について、印刷装置識別情報と、印刷装置12が接続される接続サーバー50のアドレスを示す情報とを対応付けて記憶するデータベースである。以下、接続サーバー50のアドレスを示す情報を、「接続サーバーアドレス情報」という。
上述したように、制御サーバー10は、複数の接続サーバー50を備え、印刷装置12は、ゲートサーバー80によって選択された接続サーバー50にWebSocketコネクションCTにより接続される。
そして、接続サーバーアドレス管理データベース72aでは、制御サーバー10に接続される印刷装置12について、印刷装置12の印刷装置識別情報と、印刷装置12が接続される印刷装置接続サーバーの接続サーバーアドレス情報と、が対応付けて記憶される。
接続サーバーアドレス管理データベース72aは、以下のようにして、随時、更新されることにより、実際の接続サーバー50と印刷装置12との接続状態に対応した状態とされる。以下、詳述する。
図6(A)は、第1接続サーバー50Aについて、印刷装置12との間でWebSocketコネクションCTが確立された場合の、第1接続サーバー50Aの動作を示すフローチャートである。
図6(A)に示すように、第1接続サーバー50Aの通信管理部25は、当該サーバーと、印刷装置12との間でWebSocketコネクションCTが確立されたか否かを監視する(ステップSD1)。
WebSocketコネクションCTが確立された場合(ステップSD1:YES)、通信管理部25は、接続された印刷装置12の印刷装置識別情報と、第1接続サーバー50Aのアドレスを示す接続サーバーアドレス情報と、を対応付けた1件のレコードの生成を要求するコマンドを生成する(ステップSD2)。以下、上記要求に係るコマンドを、「レコード追加要求コマンド」という。レコード追加要求コマンドは、印刷装置識別情報と、接続サーバーアドレス情報と、を含んで構成され、所定のフォーマットのデータである。
次いで、通信管理部25は、第1送受信部29を制御して、生成したレコード追加要求コマンドを、データベース管理サーバー70に送信する(ステップSD3)。
レコード追加要求コマンドを受信したデータベース管理サーバー70のデータベース管理サーバー制御部71は、接続サーバーアドレス管理データベース72aにアクセスする。そして、データベース管理サーバー制御部71は、当該データベースに、接続された印刷装置12の印刷装置識別情報と、第1接続サーバー50Aの接続サーバーアドレス情報とを対応付けて記憶する1件のレコードを生成する。
図6(B)は、第1接続サーバー50Aに接続された印刷装置12との間でのWebSocketコネクションCTが切断された場合の、第1接続サーバー50Aの動作を示すフローチャートである。
図6(B)に示すように、第1接続サーバー50Aの通信管理部25は、印刷装置12との間のWebSocketコネクションCTが切断されたか否かを監視する(ステップSE1)。
WebSocketコネクションCTの切断が生じた場合(ステップSE1:YES)、通信管理部25は、接続が切断された印刷装置12の印刷装置識別情報と、第1接続サーバー50Aのアドレスを示す接続サーバーアドレス情報と、を対応付けた1件のレコードについて、削除を要求するコマンドを生成する(ステップSE2)。以下、上記要求に係るコマンドを、「レコード削除要求コマンド」という。レコード削除要求コマンドは、印刷装置識別情報と、接続サーバーアドレス情報と、を含んで構成され、所定のフォーマットのデータである。
次いで、通信管理部25は、第1送受信部29を制御して、生成したレコード削除要求コマンドを、データベース管理サーバー70に送信する(ステップSE3)。
レコード削除要求コマンドを受信したデータベース管理サーバー70のデータベース管理サーバー制御部71は、接続サーバーアドレス管理データベース72aにアクセスする。そして、データベース管理サーバー制御部71は、当該データベースにおいて、上記コマンドに含まれる印刷装置識別情報と、接続サーバーアドレス情報とが対応付けられたレコードを特定する。次いで、データベース管理サーバー制御部71は、特定したレコードを削除する。
このように、本実施形態では、接続サーバー50に印刷装置12が接続されると、当該サーバーのアドレスと、当該印刷装置12の識別情報を対応付けたレコードが、接続サーバーアドレス管理データベース72aに生成される。
本実施形態では、接続サーバー50に接続された印刷装置12の接続が切断されると、当該サーバーのアドレスと、当該印刷装置12の識別情報とを対応付けたレコードが、接続サーバーアドレス管理データベース72aから削除される。
このような構成のため、接続サーバーアドレス管理データベース72aの内容は、実際の接続サーバー50と印刷装置12との接続状態に対応した状態となる。
次に、管理装置14Aが印刷装置12Aに印刷させる場合における管理装置14A、制御サーバー10が備える各サーバー、及び、印刷装置12Aの動作について説明する。
図7、及び、図8は、管理装置14Aが印刷装置12Aに印刷させる場合の各装置の動作を示すフローチャートである。図7、及び、図8において、(A)は管理装置14Aの動作を、(B)は管理サーバー60Aの動作を、(C)は第1接続サーバー50Aの動作を、(D)は印刷装置12Aの動作を示す。
以下の説明では、フローチャートの動作の開始時点で、印刷装置12Aは、第1接続サーバー50Aとの間でWebSocketコネクションCTを確立している。
図7(A)に示すように、印刷装置12Aによる印刷に際し、ユーザーは、管理装置14Aのアプリケーションを立ち上げる(ステップSY1)。
アプリケーションは、印刷装置12に印刷させる情報、及び、印刷装置12Aを識別する情報を、ユーザーが入力するユーザーインターフェースを提供する機能を有する。また、アプリケーションは、入力された情報に基づいて、印刷指示データを生成し、管理サーバー60Aに送信する機能を有する。
さて、ユーザーによるアプリケーションの立ち上げに応じて、管理装置制御部40は、アプリケーションの機能により、第1ユーザーインターフェース(以下、「第1UI」という。)を表示パネル等の所定の表示手段に表示する(ステップSF1)。第1UIは、印刷装置12に印刷させる情報をユーザーが入力するユーザーインターフェースである。印刷させる情報とは、例えば、印刷する画像データが格納されたファイル名や、印刷媒体における画像の位置に関する情報等のことである。第1UIでは、後に、印刷データ処理部27が印刷制御データの生成に必要な情報を、入力可能である。
ユーザーが、第1UIに対して印刷に関する情報を入力し、入力を確定すると(ステップSX2)、管理装置制御部40は、アプリケーションの機能により、第2ユーザーインターフェース(以下、「第2UI」という。)を表示する(ステップSF2)。
第2UIは、印刷させる印刷装置12(本例では、印刷装置12A)を識別する情報をユーザーが入力するユーザーインターフェースである。
第2UIには、印刷装置識別情報を入力する欄が設けられ、ユーザーは、当該欄に印刷装置識別情報を入力する。
ユーザーが、第2UIに対して印刷装置識別情報を入力し、入力を確定すると(ステップSX3)、管理装置制御部40は、以下の処理を実行する。
すなわち、管理装置制御部40は、アプリケーションの機能により、第1UI、及び、第2UIに入力された情報に基づいて、印刷指示データを生成する(ステップSF3)。印刷指示データには、第1UIに入力された情報に基づく、印刷させる情報が含まれる。また、印刷指示データには、第2UIに入力された情報に基づく、印刷させる印刷装置12の印刷装置識別情報が含まれる。
次いで、管理装置制御部40は、第1通信I/F41と、管理サーバー60Aの第2通信接続部63との間で、Http通信用のコネクションKKを確立する(ステップSF4)。ここで、本実施形態では、管理装置14Aがデータを送信する管理サーバー60が、管理サーバー60Aと予め定められる。アプリケーションの機能を実現するプログラムには、管理サーバー60Aのアドレスが予め定義される。ステップSF4において、管理装置制御部40は、当該アドレスの管理サーバー60Aとの間で、コネクションKKを確立する。
次いで、管理装置制御部40は、第1通信I/F41を制御して、コネクションKKにより、管理サーバー60Aに対して印刷指示データを送信する(ステップSF5)。
次いで、管理装置制御部40は、第1通信I/F41を制御して、コネクションKKにより、管理サーバー60に対して、印刷結果データ(第1のデータ。詳細は後述。)の応答を要求するリクエストを送信する(ステップSF6)。ステップSF6の処理により、管理サーバー60は、管理装置14に対して、リクエストに応答する形で、所定のタイミングで印刷結果データ(後述)を送信できる状態となる。
このように、本実施形態では、管理装置14と、管理サーバー60との間では、コネクションが継続して確立されるのではなく、管理装置14から管理サーバー60に対してデータを送信する場合に、コネクションが確立される。つまり、管理装置14により、制御サーバー10が提供するサービスを利用したい場合、例えば、印刷装置12に印刷を実行させたい場合に、コネクションKKが確立される。このような構成のため、管理装置14と、管理サーバー60との間で、コネクションを継続して確立する場合と比較して、通信の効率化、リソースの有効活用を実現できる。つまり、制御システム1(クラウドシステム)には、管理装置14が、制御サーバー10が提供するサービスを提供したい場合に、これら装置間の通信が行える状態となればよい、という特性がある。そして、このような特性を踏まえて、これら装置間でコネクションを継続して確立する構成ではなく、管理装置14の要求に応じてコネクションを確立する構成とすることにより、通信の効率化、リソースの有効活用を実現できる。
図7(B)に示すように、管理サーバー制御部61は、第2通信接続部63を制御して、印刷指示データを受信する(ステップSG1)。
次いで、管理サーバー制御部61が備える検索部61aは、データベース管理サーバー70の接続サーバーアドレス管理データベース72aにアクセスし、当該データベースを参照する(ステップSG2)。
上述したように、接続サーバーアドレス管理データベース72aは、印刷装置12の印刷装置識別情報と、接続サーバー50の接続サーバーアドレス情報と、を対応付けて記憶するデータベースである。
次いで、検索部61aは、印刷指示データに含まれる印刷装置識別情報をキーとして、接続サーバーアドレス管理データベース72aにおいて、当該識別情報と対応付けられた接続サーバーアドレス情報を取得する(ステップSG3)。本例では、ステップSG3において、検索部61aは、第1接続サーバー50Aの接続サーバーアドレス情報を取得する。
次いで、管理サーバー制御部61は、ステップSG3で取得した接続サーバーアドレス情報が示すアドレスの接続サーバー50(本例では、第1接続サーバー50A)との間でコネクションを確立し、通信可能な状態とする(ステップSG4、ステップSH1)。
次いで、管理サーバー制御部61は、第1通信接続部62を制御して、ステップSG4で確立したコネクションで印刷指示データを第1接続サーバー50Aに送信する(ステップSG5)。
図7(C)に示すように、第1接続サーバー50Aの通信管理部25は、第1送受信部29を制御して、印刷指示データを受信する(ステップSH2)。
次いで、通信管理部25は、受信した印刷指示データを印刷データ処理部27に送信する(ステップSH3)。
次いで、印刷データ処理部27は、受信した印刷指示データに基づいて、印刷装置12Aを制御する印刷制御データを生成し、通信管理部25に送信する(ステップSH4)。印刷制御データは、印刷装置12Aに印刷させる情報が記述されたXML(Extensible Markup Language)ファイルである。印刷制御データには、XMLフォーマットで、印刷装置12Aに印刷させる情報、例えば、印刷する画像データや、画像の位置を示す情報等が記述される。また、印刷制御データには、印刷させる印刷装置12Aの印刷装置識別情報がタグとして記述される。
次いで、通信管理部25は、接続サーバー記憶部28に記憶されたコネクション管理データベース28aにアクセスする(ステップSH5)。次いで、通信管理部25は、受信した印刷制御データに記述された印刷装置識別情報をキーとして、コネクション管理データベース28aにおいて、当該印刷装置識別情報と対応付けられたWebSocketコネクションCTのコネクション識別情報を取得する(ステップSH6)。ここで取得されたコネクション識別情報は、印刷させる印刷装置12Aとの間で確立されたWebSocketコネクションCTのコネクション識別情報である。
次いで、通信管理部25は、ステップSH6で取得したコネクション識別情報に係るWebSocketコネクションCTに対応する接続部26に印刷制御データを送信する(ステップSH7)。
次いで、接続部26は、受信した印刷制御データを、WebSocketコネクションCTで、プッシュ送信する(ステップSH8)。
図7(D)に示すように、通信部16は、WebSocketで、印刷制御データを受信する(ステップSI1)。次いで、通信部16は、受信した印刷制御データを通信制御部15に送信する(ステップSI2)。次いで、通信制御部15は、受信した印刷制御データを、印刷制御部17に送信する(ステップSI3)。次いで、印刷制御部17は、受信した印刷制御データを、印刷部18のコマンド体系の制御コマンドに変換する(ステップSI4)。つまり、印刷制御部17は、XMLファイルである印刷制御データを、印刷部18の制御基板が解釈可能なコマンドに変換する。
次いで、印刷制御部17は、制御コマンドを、印刷部18に送信する(ステップSI5)。次いで、印刷部18は、制御コマンドに基づいて、印刷媒体への印刷を実行する(ステップSI6)。
このように、本実施形態では、管理装置14は、制御サーバー10に記憶される印刷装置12の印刷装置識別情報に基づいて、制御サーバー10の管理サーバー60、及び、接続サーバー50を介して、印刷装置12にデータを送信できる。つまり、管理装置14は、制御サーバー10を介して、制御サーバー10にWebSocketコネクションCTで接続される印刷装置12を制御できる。
また上記のように、本実施形態では、印刷装置12からのリクエストを受けることなく、制御サーバー10は、印刷装置12に印刷を実行させる事象が発生した場合に、印刷装置12に印刷させることができる。印刷装置12に印刷を実行させる事象が発生した場合とは、本例のように、管理装置14からの要求があった場合や、ユーザーからの指示があった場合、予め定義した条件が成立した場合等、である。
このため、印刷装置12から制御サーバー10に対して間欠的にリクエストを送り、印刷装置12に印刷をさせたい場合に、当該リクエストに応じて印刷制御データを送信する構成とした場合と比較して、より迅速に印刷を開始させることができる。
図8(D)に示すように、印刷装置12Aの印刷制御部17は、印刷部18の印刷結果に基づいて印刷結果データ(第1のデータ)を生成する(ステップSI7)。印刷結果データとは、印刷部18による印刷が成功したこと、又は、失敗したこと、失敗した場合はその原因等を示すデータである。次いで、印刷制御部17は、生成した印刷結果データを通信制御部15に送信する(ステップSI8)。
通信制御部15は、受信した印刷結果データを、通信部16に送信する(ステップSI9)。
次いで、通信部16は、受信した印刷結果データを、WebSocketコネクションCTで、第1接続サーバー50Aに送信する(ステップSI10)。
図8(C)に示すように、第1接続サーバー50Aの接続部26は、WebSocketコネクションCTで、印刷結果データを受信する(ステップSH9)。次いで、接続部26は、通信管理部25に受信した印刷結果データを送信する(ステップSH10)。
通信管理部25は、受信した印刷結果データを第1送受信部29に送信する(ステップSH11)。
第1送受信部29は、ステップSH1で確立したコネクションで、印刷結果データを、管理サーバー60Aに送信する(ステップSH12)。
図8(B)に示すように、管理サーバー60Aの第1通信接続部62は、印刷結果データを受信する(ステップSG6)。次いで、第1通信接続部62は、受信した印刷結果データを管理サーバー制御部61に送信する(ステップSG7)。
管理サーバー制御部61は、受信した印刷結果データを第2通信接続部63に送信する(ステップSG8)。
第2通信接続部63は、受信した印刷結果データを、コネクションKKにより、管理装置14に送信する(ステップSG9)。ステップSG9の印刷結果データの送信は、ステップSF6において管理装置14が送信したリクエストに対する応答として、行われる。
図8(A)に示すように、管理装置14の第1通信I/F41は、コネクションKKにより、印刷結果データを受信する(ステップSF7)。
次いで、第1通信I/F41は、受信した印刷結果データを、管理装置制御部40に送信する(ステップSF8)。
次いで、管理装置制御部40は、受信した印刷結果データに基づいて対応する処理を実行する(ステップSF9)。例えば、管理装置制御部40は、受信した印刷結果データが、印刷処理の失敗を示すものである場合、図示せぬ表示パネルにその旨を表示し、管理者に報知する。
このように、本実施形態では、管理装置14から受信したデータについて印刷装置12が応答する場合、印刷装置12は、管理装置14と管理サーバー60との間で確立されているコネクションKKを用いて、管理装置14にデータを送信する。これは、管理装置14から管理サーバー60にデータ(本例では、印刷指示データ)を送信する際に、コネクションKKが確立されていることを効果的に用いるものである。この構成のため、新たにコネクションを確立する処理が発生せず、通信の効率化を実現できる。
次に、印刷装置12Aから管理装置14Aに対して、管理装置14Aから受信したデータに対する応答としてではなく、所定のイベントをトリガーとしてデータを送信する場合の、各装置の処理について説明する。
図9は、印刷装置12Aが、管理装置14Aに対してデータを送信する場合の動作を示すフローチャートであり、(A)は印刷装置12Aの動作を、(B)は第1接続サーバー50Aの動作を、(C)は管理装置14Aの動作を示す。
印刷装置12Aが備える印刷制御部17は、印刷部18の状態を監視し、状態に変化があった場合、その旨を示すデータを生成する機能が実装される。
図9(A)に示すように、印刷装置12Aの印刷制御部17は、印刷部18の状態に変化があったか否かを監視する(ステップSJ1)。
状態に変化があった場合(ステップSJ1)、印刷制御部17は、状態を示すステータスデータ(第2のデータ)を生成し、通信制御部15に送信する(ステップSJ2)。
通信制御部15は、受信したステータスデータを通信部16に送信する(ステップSJ3)。
通信部16は、受信したステータスデータを、WebSocketコネクションCTにより、第1接続サーバー50Aに送信する(ステップSJ4)。
第1接続サーバー50Aの接続部26は、WebSocketコネクションCTにより、ステータスデータを受信する(ステップSK1)。
次いで、接続部26は、受信したステータスデータを通信管理部25に送信する(ステップSK2)。
次いで、通信管理部25は、接続サーバー記憶部28が記憶する管理装置管理データベース28bを参照する(ステップSK3)。
管理装置管理データベース28bは、第1接続サーバー50Aに接続可能な印刷装置12について、印刷装置識別情報と、印刷装置12からデータを受信した場合にデータを送信する管理装置14のアドレスとを対応付けて記憶するデータベースである。
次いで、通信管理部25は、印刷装置12Aの印刷装置識別情報をキーとして、管理装置管理データベース28bにおいて、当該識別情報と対応付けられた管理装置14(本例では、管理装置14A)のアドレスを取得する(ステップSK4)。
次いで、通信管理部25は、ステップSK4で取得したアドレスに基づいて、管理装置14Aにアクセスし、管理装置14Aの管理装置制御部40と共に、第2送受信部20と、管理装置14Aの第2通信I/F42との間に、コネクションLLを確立する(ステップSK5、ステップSL1)。コネクションLLの通信規格は、WebSocketに限らず、第1接続サーバー50Aから管理装置14に対して、データを送信可能なものであればよい。第2送受信部20、及び、第2通信I/F42は、所定の通信規格で処理を行って、コネクションLLによりデータを送受信する機能ブロックである。
次いで、通信管理部25は、ステータスデータを、第2送受信部20に送信する(ステップSK6)。
第2送受信部20は、受信したステータスデータを、コネクションLLにより管理装置14Aに送信する(ステップSK7)。
なお、通信管理部25は、受信したデータについて、当該データのヘッダー等に付加された情報に基づいて、データが、管理装置14Aの送信データに対する応答に係るものであるか否かを判別する機能を有する。そして、通信管理部25は、当該機能により、受信したデータが、管理装置14Aの送信データへの応答に係るものではないと判別した場合に、上記処理を実行する。
図7(C)に示すように、管理装置14Aの第2通信I/F42は、コネクションLLによりステータスデータを受信する(ステップSL2)。
次いで、第2通信I/F42は、受信したステータスデータを管理装置制御部40に送信する(ステップSL3)。
管理装置制御部40は、受信したステータスデータに基づいて対応する処理を実行する(ステップSL4)。
このように、本実施形態では、印刷装置12Aから、管理装置14Aに対してデータを送信する場合(ただし、管理装置14に対して応答する場合を除く)、第1接続サーバー50Aは、管理装置14Aとの間でコネクションLLを確立する。そして、第1接続サーバー50Aは、コネクションLLにより、管理装置14Aにデータを送信する。これは、以下の理由により、以下の効果を奏する。
すなわち、上述したように、管理装置14Aと、管理サーバー60Aとの間では、コネクションKKが継続して確立しているのではなく、必要に応じて確立される。従って、印刷装置12Aから管理装置14Aにデータを送信する場合に、管理装置14Aと、管理サーバー60Aとの間でコネクションKKが確立しているとは限らない。また、コネクションKKが確立している場合であっても、管理装置14から管理サーバー60Aに対して間欠的にリクエスト等を送る等して、管理サーバー60Aから、管理装置14にデータを送信できる状態を構築する必要がある。これを踏まえ、本実施形態によれば、管理装置14Aと、管理サーバー60Aとの間でコネクションを継続して確立する構成とすることなく、印刷装置12Aから管理装置14Aに対してデータを送信することが可能となり、通信の効率化、リソースの有効活用を実現できる。特に、本実施形態では、印刷装置12Aが第1接続サーバー50Aに送信したデータは、第1接続サーバー50Aから管理装置14Aに送信される。従って、印刷装置12Aから管理装置14Aへのデータの送信に際し、管理サーバー60Aによる処理が伴わず、この点からも、通信の効率化を実現できる。
以上説明したように、本実施形態に係る制御システム1(印刷制御システム)は、印刷装置12と、接続サーバー50と、管理サーバー60と、管理装置14と、を備える。
印刷装置12は、印刷を行う印刷部18、印刷部18の動作に基づく印刷結果データ(第1のデータ)と印刷結果データと異なるステータスデータ(第2のデータ)とを生成する印刷制御部17、及び印刷結果データ及びステータスデータを送信する通信部16を有する。
接続サーバー50は、印刷装置12の通信部16で送信された印刷結果データ及びステータスデータを受信する接続部26、印刷を指示する印刷指示データに基づいて印刷装置12の印刷部18を制御する印刷制御データを生成する印刷データ処理部27、印刷結果データの送信と印刷指示データの受信を行う第1送受信部29、及びステータスデータを送信する第2送受信部20を有する。
管理サーバー60は、接続サーバー50の第1送受信部29で送信された印刷結果データの受信と接続サーバー50の第1送受信部29への印刷指示データの送信を行う第1通信接続部62、及び印刷結果データの送信と印刷指示データの受信を行う第2通信接続部63を有する。
管理装置14は、印刷指示データを生成する管理装置制御部40(制御部)、管理サーバー60の第2通信接続部63で送信された印刷結果データの受信と管理サーバー60への印刷指示データの送信とを行う第1通信インターフェース41、及び接続サーバー50で送信されたステータスデータを受信する第2通信インターフェース42を有する。
この構成によれば、管理装置14が送信した印刷指示データに基づいて生成された印刷制御データによる印刷部18の動作に基づく印刷結果データ(第1のデータ)については、印刷装置12から接続サーバー50、及び管理サーバー60を介して、管理装置14に送信される。このため、管理装置14から管理サーバー60に印刷指示データを送信した際にこれら装置間で確立したコネクションKKを利用して、管理装置14に印刷結果データを送信することができる。また、印刷結果データと異なるステータスデータ(第2のデータ)については、印刷装置12から接続サーバー50に対してデータが送信されると、接続サーバー50は、管理サーバー60を経由させることなく、管理装置14にステータスデータを送信する。このため、管理装置14と管理サーバー60との間でコネクションKKが確立していない場合であっても、管理装置14にステータスデータを送信することができる。また、管理サーバー60を経由しないため、ステータスデータの管理装置14への送信に際して管理サーバー60の処理が必要なく、効率よく、また、より迅速にステータスデータを管理装置14に送信することができる。つまり、上記構成によれば、印刷装置12及び管理装置14が制御サーバー10にネットワークGNを介して通信する制御システム1(印刷制御システム)について、システムを、各装置がネットワークGNを介して制御サーバー10と通信する構成に対応させることができる。
また、本実施形態では、接続サーバー50は、印刷装置12で送信されたステータスデータを受信したときに、管理装置14との間にコネクションLLを確立する。
この構成によれば、接続サーバー50は、印刷装置12からステータスデータを受信した場合、コネクションLLによりステータスデータを管理装置14に送信できる。
また、本実施形態では、管理装置14は、印刷指示データを管理サーバー60に送信するときに、管理サーバー60との間でコネクションKKを確立する。
本発明の構成によれば、管理装置14は、管理サーバー60にコネクションKKにより印刷指示データを送信できる。また、印刷装置12が送信した印刷結果データについて、管理サーバー60は、コネクションKKにより管理装置14に送信できる。
なお、上述した実施の形態は、あくまでも本発明の一態様を示すものであり、本発明の範囲内で任意に変形および応用が可能である。
上述した実施形態では、印刷装置12は店舗に構築された店舗システム11に設けられていた。しかしながら、印刷装置12は、必ずしも、店舗システム11に設けられたものでなくてもよい。例えば、他のシステムに設けられたものであってもよい。
また、上述した実施形態では、制御サーバー10から、印刷装置12に対して、XMLファイルの印刷制御データを送信していたが、印刷制御データのデータ形式はXMLでなくともよい。例えば、他のマークアップ言語で生成されたデータであってもよく、また、印刷部18のコマンド体系の制御コマンドであってもよい。
また、図3に示す各機能ブロックはハードウェアとソフトウェアにより任意に実現可能であり、特定のハードウェア構成を示唆するものではない。また、印刷装置12の各機能を、当該装置に外部接続される別の装置に持たせるようにしてもよい。また、印刷装置12は、外部接続される記憶媒体に記憶させたプログラムを実行することにより、各種処理を実行してもよい。
1…制御システム(印刷制御システム)、12…印刷装置、14…管理装置、16…通信部、17…印刷制御部、18…印刷部、26…接続部、29…第1送受信部、20…第2送受信部、40…管理装置制御部(制御部)、41…第1通信インターフェース、42…第2通信インターフェース、50…接続サーバー、60…管理サーバー、62…第1通信接続部、63…第2通信接続部、LL…コネクション(第1の通信経路)、KK…コネクション(第2の通信経路)。

Claims (8)

  1. 印刷を行う印刷部、前記印刷部の動作に基づく第1のデータと前記第1のデータと異なる第2のデータとを生成する印刷制御部、及び前記第1のデータ及び前記第2のデータを送信する通信部を有する印刷装置と、
    記通信部で送信された前記第1のデータ及び前記第2のデータを受信する接続部、印刷を指示する印刷指示データに基づいて前記印刷部を制御する印刷制御データを生成する印刷データ処理部、前記第1のデータの送信と前記印刷指示データの受信を行う第1送受信部、及び前記第2のデータを送信する第2送受信部を有する接続サーバーと、
    記第1送受信部で送信された前記第1のデータの受信と前記第1送受信部への前記印刷指示データの送信を行う第1通信接続部、及び前記第1のデータの送信と前記印刷指示データの受信を行う第2通信接続部を有する管理サーバーと、
    前記印刷指示データを生成する制御部、前記第2通信接続部で送信された前記第1のデータの受信と前記第2通信接続部への前記印刷指示データの送信とを行う第1通信インターフェース、及び前記第2送受信部で送信された前記第2のデータを受信する第2通信インターフェースを有する管理装置と、
    を備えることを特徴とする印刷制御システム。
  2. 前記第2のデータは、前記印刷装置のステータスを示すステータスデータである請求項1に記載の印刷制御システム。
  3. 前記接続サーバーは、前記印刷装置で送信された前記第2のデータを受信したときに、前記管理装置との間に第1の通信経路を確立する請求項1または2に記載の印刷制御システム。
  4. 前記管理装置は、前記印刷指示データを前記管理サーバーに送信するときに、前記管理サーバーとの間で第2の通信経路を確立する請求項1乃至3のいずれか1項に記載の印刷制御システム。
  5. 前記印刷装置は、前記接続サーバーと非同期の双方向通信を行う請求項1乃至4のいずれか1項に記載の印刷制御システム。
  6. 前記非同期の双方向通信は、WebSocket通信である請求項5に記載の印刷制御システム。
  7. 印刷装置の印刷部の動作に基づいて第1のデータを生成したときには前記第1のデータを接続サーバーに送信し、
    前記第1のデータを前記接続サーバーで受信し、
    前記接続サーバーで、前記印刷部を動作させる印刷指示データを送信した管理サーバーに前記第1のデータを送信し、
    前記第1のデータを前記管理サーバーで受信し、
    前記管理サーバーで、前記印刷指示データを送信した管理装置に前記第1のデータを送信し、
    前記管理装置で前記第1のデータを受信し、
    前記印刷装置で前記第1のデータと異なる第2のデータを生成したときには前記第2のデータを前記接続サーバーに送信し、
    前記第2のデータを前記接続サーバーで受信し、
    前記接続サーバーで、前記第2のデータを前記管理装置に送信し、
    前記管理装置で前記第2のデータを受信することを特徴とする印刷制御方法。
  8. 前記第2のデータは、前記印刷装置のステータスを示すステータスデータである請求項7に記載の印刷制御方法。
JP2013241718A 2013-11-07 2013-11-22 印刷制御システム、及び印刷制御方法 Expired - Fee Related JP6221681B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2013241718A JP6221681B2 (ja) 2013-11-22 2013-11-22 印刷制御システム、及び印刷制御方法
CN201410610369.4A CN104636091B (zh) 2013-11-07 2014-11-03 打印控制系统
CN201810473965.0A CN108646992B (zh) 2013-11-07 2014-11-03 打印控制系统
US14/532,655 US9195419B2 (en) 2013-11-07 2014-11-04 Print control system
US14/880,956 US9557942B2 (en) 2013-11-07 2015-10-12 Print control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013241718A JP6221681B2 (ja) 2013-11-22 2013-11-22 印刷制御システム、及び印刷制御方法

Publications (3)

Publication Number Publication Date
JP2015102939A JP2015102939A (ja) 2015-06-04
JP2015102939A5 JP2015102939A5 (ja) 2016-12-28
JP6221681B2 true JP6221681B2 (ja) 2017-11-01

Family

ID=53378610

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013241718A Expired - Fee Related JP6221681B2 (ja) 2013-11-07 2013-11-22 印刷制御システム、及び印刷制御方法

Country Status (1)

Country Link
JP (1) JP6221681B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110851087B (zh) * 2019-10-11 2023-10-31 杭州珐珞斯科技有限公司 打印设备管理系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009093624A (ja) * 2007-07-31 2009-04-30 Seiko Epson Corp ポスティングサーバ、印刷端末及びポスティングサーバ制御方法
JP2010224768A (ja) * 2009-03-23 2010-10-07 Seiko Epson Corp 印刷システム、印刷システムの制御方法、プリントサーバマシン、プリントサーバマシンの制御方法、及びコンピュータプログラム
JP2012118733A (ja) * 2010-11-30 2012-06-21 Canon Inc 印刷システム、印刷方法、およびプログラム

Also Published As

Publication number Publication date
JP2015102939A (ja) 2015-06-04

Similar Documents

Publication Publication Date Title
JP6291846B2 (ja) 印刷制御システム、印刷制御方法、及び、印刷装置
JP2016130970A (ja) 情報処理装置とその制御方法およびプログラム
JP2013014021A (ja) ジョブ処理装置、ジョブ処理装置の制御方法及びプログラム
JP2012208886A (ja) 印刷システム、印刷指示端末、印刷サーバ、方法およびプログラム
JP2016118983A (ja) 情報処理装置、印刷制御方法、およびプログラム
JP6221681B2 (ja) 印刷制御システム、及び印刷制御方法
JP6252114B2 (ja) 印刷制御システム
JPH07281979A (ja) 情報処理方法及び装置
JP2017151878A (ja) レシートサーバー及びそのプログラム
JP2014063386A (ja) 印刷管理サーバ、印刷管理サーバの制御方法、及び、プログラム
JP2014049098A (ja) 画像形成装置、画像形成装置の制御方法およびプログラム
JP2015141569A (ja) 印刷制御システム、及び、印刷制御システムの制御方法
JP4222065B2 (ja) 情報システムにおけるデータアクセス方法および情報システム
JP2015090645A (ja) 印刷制御システム、及び、ゲートサーバー
JP6343931B2 (ja) 印刷制御システム、及び印刷制御方法
JP6252115B2 (ja) 印刷制御システム
JP2015146153A (ja) 印刷制御システム、及び、印刷制御システムの制御方法
JP2015127877A (ja) 印刷制御システム、及び印刷制御方法
JP6268931B2 (ja) 印刷制御装置、及び、印刷制御システム
JP6269055B2 (ja) 印刷制御システムの制御方法、印刷制御システム、及び印刷装置
JP2015148874A (ja) 印刷制御システムの制御方法、及び印刷制御システム
JP6331337B2 (ja) 印刷制御システム、及び、印刷装置
JP2015148873A (ja) 制御システム、及び制御システムの制御方法
JP5800934B2 (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
JP6381190B2 (ja) クライアント装置、システム、情報処理方法及びプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161111

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161111

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170822

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170905

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170918

R150 Certificate of patent or registration of utility model

Ref document number: 6221681

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees