JP2015090645A - 印刷制御システム、及び、ゲートサーバー - Google Patents

印刷制御システム、及び、ゲートサーバー Download PDF

Info

Publication number
JP2015090645A
JP2015090645A JP2013230945A JP2013230945A JP2015090645A JP 2015090645 A JP2015090645 A JP 2015090645A JP 2013230945 A JP2013230945 A JP 2013230945A JP 2013230945 A JP2013230945 A JP 2013230945A JP 2015090645 A JP2015090645 A JP 2015090645A
Authority
JP
Japan
Prior art keywords
server
connection
printing
unit
management
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
Application number
JP2013230945A
Other languages
English (en)
Inventor
薫雄 田島
Shigeo Tajima
薫雄 田島
祐一 志藤
Yuichi Shito
祐一 志藤
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 JP2013230945A priority Critical patent/JP2015090645A/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 JP2015090645A publication Critical patent/JP2015090645A/ja
Priority to US14/880,956 priority patent/US9557942B2/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

【課題】印刷装置とサーバーとがネットワークを介して通信する印刷制御システムについて、印刷制御システムを、装置間がネットワークを介して通信する構成に対応させる。【解決手段】制御システム1は、接続要求を送信する通信部16、及び印刷を行う印刷部18を有する印刷装置12と、印刷制御データを送信する第1接続サーバー50Aと、印刷制御データを送信する第2接続サーバー50Bと、第1接続サーバー50A及び第2接続サーバー50Bと接続するゲートサーバー通信I/F83、印刷装置12からの接続要求を受信するゲートサーバーNWI/F84、及びゲートサーバーNWI/F84で受信した接続要求に基づいて、第1接続サーバー50Aもしくは第2接続サーバー50Bと印刷装置12とを接続する制御を行う接続制御部81aを有するゲートサーバー80と、を備える。【選択図】図4

Description

本発明は、印刷制御システム、及び、ゲートサーバーに関する。
従来、印刷制御装置の制御の下、印刷装置によって印刷媒体に印刷し、レシートを発行する印刷制御システムが知られている(例えば、特許文献1参照)。この種の印刷制御システムでは、印刷装置と、印刷制御装置としてのサーバーと、がネットワークを介して接続され、これら装置が当該ネットワークを介して通信するものがある。
特開2011−108097号公報
上述した印刷制御システムのように、印刷装置と、サーバーとがネットワークを介して通信するシステムを構築する場合、システムを、印刷機能を有する印刷装置とサーバーとがネットワークを介して通信する構成、及び、サーバーの構成に対応させる必要がある。
本発明は、上述した事情に鑑みてなされたものであり、印刷装置とサーバーとがネットワークを介して通信する印刷制御システムについて、印刷制御システムを、装置間がネットワークを介して通信する構成に対応させることを目的とする。
上記目的を達成するために、本発明の印刷制御システムは、接続要求を送信する通信部、及び印刷を行う印刷部を有する印刷装置と、印刷データを送信する第1の接続サーバーと、印刷データを送信する第2の接続サーバーと、前記第1の接続サーバー及び前記第2の接続サーバーと接続するサーバー接続部、前記接続要求を受信する受信部、及び前記受信部で受信した前記接続要求に基づいて、前記第1の接続サーバーもしくは前記第2の接続サーバーと前記印刷装置とを接続する制御を行う接続制御部を有するゲートサーバーと、を備えることを特徴とする。
本発明の構成によれば、印刷装置からネットワークを介してサーバーに対して接続要求があった場合、ゲートサーバーは、印刷装置を、第1の接続サーバー、もしくは、第2の接続サーバーのいずれかと接続させる。このため、ゲートサーバーの機能により、印刷装置を、第1の接続サーバー、及び、第2の接続サーバーのうち、接続するサーバーとして適したサーバーに切り替えることが可能となる。つまり、本発明の構成によれば、印刷制御システムを、印刷装置を接続可能なサーバーとして第1の接続サーバー、及び、第2の接続サーバーの複数のサーバーがあるというサーバーの構成、及び、印刷装置とサーバーとがネットワークを介して通信するという構成に対応させることができる。
また、前記第1の接続サーバー及び前記第2の接続サーバーと接続して印刷を制御する管理サーバーと、前記管理サーバーと接続して、前記管理サーバーに印刷を指示する印刷指示情報を送信する管理装置と、を備える。
本発明の構成によれば、管理装置は、管理サーバー、及び、第1の接続サーバー又は第2の接続サーバーを介して、印刷装置を制御できる。
また、前記印刷装置の前記接続要求は、前記接続サーバーとの間で非同期の双方向通信を行う通信経路の確立の要求である。
本発明の構成によれば、ゲートサーバーの機能により、印刷装置からの接続要求に応じて、印刷装置と、第1の接続サーバー、及び、第2の接続サーバーのうち、接続するサーバーとして適したサーバーとの間で通信経路を確立することが可能となる。
また、前記第1の接続サーバーは、前記印刷装置と複数接続する第1の接続部を有し、前記第2の接続サーバーは、前記印刷装置と複数接続する第2の接続部を有し、前記ゲートサーバーは、前記第1接続部と接続する前記印刷装置の個数、及び前記第2接続部と接続する前記印刷装置の個数を記憶する記憶部を有する。
本発明の構成によれば、ゲートサーバーは、第1の接続サーバーに接続された印刷装置の個数、及び、第2の接続サーバーに接続された印刷装置の個数を管理でき、当該管理に基づいて対応する処理を実行できる。
また、前記接続制御部は、前記記憶部に記憶される前記第1接続部と接続する前記印刷装置の個数、及び前記第2接続部と接続する前記印刷装置の個数に基づいて、前記印刷装置と接続する接続サーバーを、前記第1の接続サーバーもしくは前記第2の接続サーバーのいずれかに選択する。
ここで、接続される印刷装置が少ない接続サーバーは、多い接続サーバーと比較して、加わる各種負荷(CPUの負荷、通信の負荷、その他の負荷等)が小さい蓋然性が高い。これを踏まえ、本発明の構成によれば、加わる負荷の小さい接続サーバーに、印刷装置を接続することができ、負荷の分散、処理効率の向上を図ることができる。
また、前記印刷装置は、識別情報を有し、前記第1の接続サーバーは、前記ゲートサーバーの制御で前記印刷装置と前記第1の接続サーバーとが接続されたとき、前記印刷装置の識別情報と前記第1の接続サーバーの情報とを関連付けて接続情報記憶部に記憶させる通信管理部を有する。
本発明の構成によれば、管理サーバーは、接続情報記憶部が記憶する情報を参照することにより、印刷装置と、印刷装置が接続される接続サーバーとの関係を認識である。
また、前記印刷指示情報は、前記印刷装置の識別情報を有し、前記管理サーバーは、前記管理装置が送信した前記印刷指示情報を受信した場合、前記印刷指示情報が有する前記印刷装置の識別情報、及び、前記接続情報記憶部に記憶された情報に基づいて、指定された前記印刷装置が接続された前記第1の接続サーバーを検索する検索部を有する。
本発明の構成によれば、検索部は、接続情報記憶部が記憶する情報に基づいて、印刷装置が接続された接続サーバーを検索可能である。
また、本発明のゲートサーバーは、接続サーバーと接続するサーバー接続部と、印刷装置が送信した接続要求を受信する受信部と、前記受信部で受信した前記接続要求に基づいて前記接続サーバーと前記印刷装置を接続する制御を行う接続制御部と、を有する。
本発明の構成によれば、ゲートサーバーは、印刷装置から接続要求があった場合に、接続サーバーと、印刷装置とを接続できる。
本実施形態に係る制御システムの構成を示す図。 制御サーバーと、印刷装置と間に確立された通信経路示す図。 制御サーバーが備える各装置の構成をより詳細に示す図。 制御サーバーが備える各装置の機能的構成を示すブロック図。 印刷装置、ゲートサーバー、印刷装置接続サーバーの動作を示すフローチャート。 印刷装置接続サーバーの動作を示すフローチャート。 制御サーバーが備える各装置の動作を示すフローチャート。
以下、図面を参照して本発明の実施形態について説明する。
<第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コネクション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は、印刷装置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から受信したデータに基づく情報を収集し、管理、分析できる。このため、有益な情報を蓄積することができる。蓄積した情報は、いわゆるビッグデータとして利用できる。
また、店舗システム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で接続される。管理サーバー60と、管理装置14との間で確立されるアプリケーション層のコネクションKKは、Websocketに係るものに限らず、HTTP等であってもよい。
接続サーバー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は、印刷装置12Aを、管理装置14Aの制御の下で印刷を実行させる対象とする。従って、印刷装置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の状況(台数等)に応じて、各サーバーの台数を調整できる。これにより、制御サーバー10のサーバー構成を、接続サーバー50、及び、管理サーバー60の状況に応じた規模としつつ、各サーバーに接続可能な装置の台数に応じた処理負荷の分散を図ることが可能である。
また、上記構成によれば、接続サーバー50は、接続される印刷装置12に関する処理を実行する機能を備えればよく、また、管理サーバー60は、接続される管理装置14に関する処理を実行する機能を備えればよい。このため、1つのサーバーに、異なる種類の装置に関する処理を連携して実行する機能を実装する場合と比較して、1台のサーバーに加わる処理負荷を軽減でき、また、1台のサーバーにおける処理の複雑化を抑制できる。
図4は、印刷装置12A、第1接続サーバー50A、第2接続サーバー50B、管理サーバー60A、管理装置14A、データベース管理サーバー70、及び、ゲートサーバー80の機能的構成を示すブロック図である。
図4に示すように、印刷装置12Aは、通信制御部15と、通信部16と、印刷制御部17と、印刷部18と、印刷装置記憶部19と、を備える。
通信制御部15、通信部16、及び、印刷制御部17の機能については後述する。
印刷部18は、印刷媒体に印刷する印刷機構、印刷媒体を搬送する搬送機構、印刷媒体を切断する切断機構等の印刷に係る機構、及び、各機構の制御に係る制御基板等を備える。
印刷装置記憶部19は、不揮発性メモリーを備え、各種データを記憶する。印刷装置記憶部19には、通信先情報データ19aと、印刷装置識別情報データ19bと、が記憶されるが、これらについては後述する。
図4に示すように、制御サーバー10が備える第1接続サーバー50Aは、通信管理部25と、1又は複数の接続部26と、印刷データ処理部27と、接続サーバー記憶部28と、接続サーバー通信インターフェース29(以下、「接続サーバー通信I/F29」と表現する。)と、を備える。
通信管理部25、接続部26、及び、印刷データ処理部27の機能については、後述する。
接続サーバー記憶部28は、不揮発性メモリーを備え、各種データを記憶する。接続サーバー記憶部28には、コネクション管理データベース28aが記憶されるが、これについては後述する。
接続サーバー通信I/F29は、通信管理部25の制御の下、サーバー間ネットワークSNを介して、制御サーバー10が備える他のサーバーと所定の通信規格に従って通信する。
第1接続サーバー50Aにおいて、1又は複数の接続部26は、印刷装置12と複数接続する第1接続部26A(第1の接続部)として機能する。
図4に示すように、第2接続サーバー50Bは、1又は複数の接続部26を備える。各接続部26には、WebSocketコネクションCTにより印刷装置12が接続される。第2接続サーバー50Bが備える1又は複数の接続部26は、印刷装置12と複数接続する第2接続部26B(第2の接続部)として機能する。
図4に示すように、制御サーバー10が備える管理サーバー60Aは、管理サーバー制御部61と、管理サーバー通信インターフェース62(以下、「管理サーバー通信I/F62」と表現する。)と、管理サーバーネットワークインターフェース63(以下、「管理サーバーNWI/F63」と表現する。)と、を備える。
管理サーバー制御部61は、CPU等を備え、管理サーバー60Aを制御する。管理サーバー制御部61は、機能ブロックとして検索部61aを備える。検索部61aの機能については後述する。
管理サーバー通信I/F62は、管理サーバー制御部61の制御の下、サーバー間ネットワークSNを介して、制御サーバー10が備える他のサーバーと所定の通信規格に従って通信する。
管理サーバーNWI/F63は、管理サーバー制御部61の制御の下、ネットワークGNを介して、管理装置14(管理装置14Aを含む)と所定の規格に従って通信する。
図4に示すように、制御サーバー10が備えるデータベース管理サーバー70は、データベース管理サーバー制御部71と、データベース管理サーバー記憶部72(接続情報記憶部)と、データベース管理サーバー通信インターフェース73(以下、「データベース通信I/F73」と表現する。)と、を備える。
データベース管理サーバー制御部71は、CPU等を備え、データベース管理サーバー70を制御する。データベース管理サーバー制御部71は、データベース管理サーバー記憶部72に記憶された各種データベースに読み書きする機能を備える。
データベース管理サーバー記憶部72は、不揮発性メモリーを備え、各種データを記憶する。データベース管理サーバー記憶部72には、接続サーバーアドレス管理データベース72a(以下、「接続サーバーアドレス管理DB72a」と表現する。)が記憶されるが、これらについては後述する。
データベース通信I/F73は、データベース管理サーバー制御部71の制御の下、サーバー間ネットワークSNを介して、制御サーバー10が備える他のサーバーと所定の通信規格に従って通信する。
図4に示すように、制御サーバー10が備えるゲートサーバー80は、ゲートサーバー制御部81と、ゲートサーバー記憶部82(記憶部)と、ゲートサーバー通信インターフェース83(サーバー接続部。以下、「ゲートサーバー通信I/F83」と表現する。)と、ゲートサーバーネットワークインターフェース84(受信部。以下、「ゲートサーバーNWI/F84」と表現する。)と、を備える。
ゲートサーバー制御部81は、CPU等を備え、ゲートサーバー80を制御する。ゲートサーバー制御部81は、機能ブロックとして、接続制御部81aを備える。接続制御部81aの機能については後述する。
ゲートサーバー記憶部82は、不揮発性メモリーを備え、各種データを記憶する。ゲートサーバー記憶部82には、接続サーバー管理データベース82a(以下、「接続サーバー管理DB82a」と表現する。)が記憶されるが、これについては後述する。
ゲートサーバー通信I/F83は、ゲートサーバー制御部81の制御の下、サーバー間ネットワークSNを介して、制御サーバー10が備える他のサーバーと通信する。
ゲートサーバーNWI/F84は、ゲートサーバー制御部81の制御の下、ネットワークGNを介して、所定の通信規格に従って、他の装置(印刷装置12を含む。)と通信する。
図4に示すように、管理装置14は、管理装置制御部40と、管理装置ネットワークインターフェース41(以下、「管理装置NWI/F41」と表現する。)と、を備える。
管理装置制御部40は、CPU等を備え、管理装置14を制御する。
管理装置NWI/F41は、管理装置制御部40の制御の下、HTTP通信を行う。
次に、印刷装置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、ゲートサーバー80が備える接続制御部81aの各機能ブロックの機能は、例えば、以下のようにして実現される。
すなわち、例えば、これら機能ブロックは、オブジェクトである。オブジェクトとは、オブジェクト指向プログラミングで生成されるインスタンス、すなわち、データ、及び、メソッドの集合として定義されたソフトウェアの機能ブロックである。そして、これら機能ブロックの機能は、各機能ブロックに実装されたメソッドが呼び出されることによって実現される。
また例えば、これら機能ブロックの機能は、アプリケーションがCPU等のハードウェア資源によって読み出され実行されることによって、実現される。1つのアプリケーションにより1つの機能ブロックの機能が実現される構成であってもよい。また、1つのアプリケーションにより複数の機能ブロックの機能が実現される構成であってもよい。また、複数のアプリケーションにより1つの機能ブロックの機能が実現される構成であってもよい。
すなわち、各機能ブロックは、各機能をブロックとして表現したものであり、特定のアプリケーションや、ハードウェア等を意味するものではない。
図5(A)に示すように、印刷装置12Aの電源が投入されると(ステップSX1)、通信制御部15は、印刷装置記憶部19にアクセスし、印刷装置記憶部19に記憶される通信先情報データ19aを取得する(ステップSA1)。
通信先情報データ19aとは、複数ある接続サーバー50のうちの1つのサーバーとWebSocketコネクションCTの確立する際に、アクセスするゲートサーバー80のアドレス(ドメイン名、IPアドレス、パス名等。)を示すデータである。
ここで、WebSocketでは、WebSocketコネクションCTの確立に当たり、クライアント(本例では、印刷装置12A)は、サーバーに対して、HTTP(Hypertext Transfer Protocol)でハンドシェイクを行う。通信先情報データ19aには、当該ハンドシェイクに際して、メッセージを送信する送信先のアドレスが記述される。
このように、本実施形態では、印刷装置12は、制御サーバー10との間でのWebSocketコネクションCTの確立にあたり、ゲートサーバー80にアクセスする。すなわち、印刷装置12には、WebSocketコネクションCTを確立する際にアクセスするゲートサーバー80のドメイン名や、IPアドレス等のアドレスを示す情報が、通信先情報データ19aとして記憶される。
次いで、通信制御部15は、通信先情報データ19aが示すアドレスに基づいて、ゲートサーバー80に対して、いずれかの接続サーバー50との間でのWebSocketコネクションCTの確立を要求する(接続要求を送信する。)(ステップSA2)。
図5(B)に示すように、ゲートサーバー80のゲートサーバー制御部81の接続制御部81aは、ゲートサーバーNWI/F84を介して、接続要求を受信する(WebSocketコネクションCTの確立の要求を受け付ける。)。(ステップSB1)
次いで、接続制御部81aは、接続サーバー管理DB82aを参照する(ステップSB2)。
接続制御部81aは、制御サーバー10が備える1又は複数の接続サーバー50について、接続サーバー50との間でWebSocketコネクションCTを確立している印刷装置12の個数を管理する。そして、接続サーバー管理DB82aとは、接続サーバー50との間でWebSocketコネクションCTを確立している印刷装置12の個数を示す情報が格納されたデータベースである。従って、接続制御部81aは、接続サーバー管理DB82aを参照することにより、制御サーバー10が備える任意の接続サーバー50について、当該接続サーバー50との間でWebSocketコネクションCTを確立している印刷装置12の個数を取得できる。
なお、接続サーバー管理DB82aの更新は、どのような方法で行われてもよい。例えば、接続制御部81aが、各接続サーバー50に対して、WebSocketコネクションCTを確立している印刷装置12の個数を定期的に問い合わせ、問い合わせに対する応答に基づいて、データベースを更新してもよい。また、接続サーバー50が、例えば、新たに印刷装置12が接続された場合や、接続サーバー50に接続された印刷装置12の接続が切断された場合に、接続制御部81aに通知する。そして、接続制御部81aは、受けた通知に基づいて、データベースを更新するようにしてもよい。
本例では、接続サーバー管理DB82aにおいて、第1接続サーバー50Aに接続された印刷装置12の個数と、第2接続サーバー50Bに接続された印刷装置12の個数とが対応付けて記憶される。
ステップSB2において、接続サーバー管理DB82aを参照した後、接続制御部81aは、以下の処理を実行する。すなわち、接続制御部81aは、第1接続サーバー50A、及び、第2接続サーバー50Bのうち、WebSocketコネクションCTにより接続される印刷装置12の個数が少ない方のサーバーを特定する(ステップSB3)。
ここで、接続される印刷装置12の個数が少ないサーバーは、個数が多いサーバーと比較して、加わる各種負荷(CPUの負荷、通信の負荷、その他の負荷等)が小さい蓋然性が高い。接続サーバー50は、接続された印刷装置12に対応する処理を実行する必要があるが、接続される印刷装置12の個数が少ない分、実行する処理が少ないからである。このことを踏まえ、接続制御部81aは、要求に応じてWebSocketコネクションCTを確立する接続サーバー50を、接続される印刷装置12の個数が少ない方の接続サーバー50と選択する(ステップSB4)。
本例では、第1接続サーバー50Aと、第2接続サーバー50Bのうち、第1接続サーバー50Aの方が、接続される印刷装置12の個数が少ないものとする。従って、ステップSB3において、接続制御部81aは、接続される印刷装置12の個数が少ない接続サーバー50として、第1接続サーバー50Aを特定する。また、ステップSB4において、接続制御部81aは、要求に応じてWebSocketコネクションCTを確立する接続サーバー50として、第1接続サーバー50Aを選択する。
このように、接続制御部81aは、印刷装置12から、接続サーバー50との間でのWebSocketコネクションCTの確立の要求があった場合、処理負荷が小さいと想定される接続サーバー50をWebSocketコネクションCTの確立先として決定する。
なお、WebSocketコネクションCTを確立する接続サーバー50の選択にあたっては、各接続サーバー50のスペックや、現時点での処理負荷の状況、予測される処理負荷の状況、その他の条件を反映してもよいことはもちろんである。
次いで、接続制御部81aは、第1接続サーバー50Aに対して、印刷装置12Aとの間でのWebSocketコネクションCTの確立を要求する(ステップSB5)。なお、制御サーバー10が備える接続サーバー50のアドレスを管理する。また、接続制御部81aは、WebSocketコネクションCTの確立を要求してきた印刷装置12Aに対して、第1接続サーバー50Aとの間でのWebSocketコネクションCTの確立を要求する(ステップSB5)。なお、ステップSB4、及び、ステップSB5における装置への要求に際し、接続制御部81aは、装置のアドレス等、WebSocketコネクションCTの確立に用いる情報を送信する。
図5(A)、及び、図5(C)に示すように、印刷装置12Aの通信制御部15、及び、第1接続サーバー50Aの通信管理部25は、通信部16と接続部26との間に、WebSocketコネクションCTを確立する(ステップSA3、ステップSC1)。つまり、本実施形態に係る印刷装置12Aは、ユーザーによる指示や、制御サーバー10からの要求を受けることなく、電源の投入をトリガーとしてWebSocketコネクションCTを確立する。
なお、通信部16、及び、接続部26は、WebSocketの規格、手続きに従ってデータの送受信を行うWebSocketインターフェースである。これら機能ブロックは、例えば、WebSocketのSocketライブラリーを用いて生成される。
通信制御部15は、通信部16にデータを送信すれば、WebSocketコネクションCTにより、WebSocketに従ってデータの送信を実行できる。
すなわち、通信部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が確立する。これに伴って、印刷装置12Aの印刷制御部17と、第1接続サーバー50Aの印刷データ処理部27との間で、WebSocketコネクションCTに基づく機能部間通信経路KTが確立する。印刷制御部17と、印刷データ処理部27とは、機能部間通信経路KTにより、非同期な双方向通信を行える。機能部間通信経路KTにより行われる機能部間の非同期な双方向通信については後述する。
ところで、図3、4に示すように、制御サーバー10は、データベース管理サーバー70を備える。データベース管理サーバー70は、データベース管理サーバー記憶部72を備え、データベース管理サーバー記憶部72には、接続サーバーアドレス管理DB72aが記憶される。
接続サーバーアドレス管理DB72aは、印刷装置識別情報と、印刷装置12が接続される接続サーバー50のアドレスを示す情報(アドレス情報)とを対応付けて記憶するデータベースである。以下、接続サーバー50のアドレスを示す情報を、「接続サーバーアドレス情報」という。
上述したように、制御サーバー10は、複数の接続サーバー50を備え、印刷装置12は、ゲートサーバー80によって選択された接続サーバー50にWebSocketコネクションCTで接続される。
そして、接続サーバーアドレス管理DB72aでは、制御サーバー10に接続される印刷装置12について、印刷装置12の印刷装置識別情報と、印刷装置12が接続される印刷装置接続サーバーの接続サーバーアドレス情報と、が対応付けて記憶される。
接続サーバーアドレス管理DB72aは、以下のようにして、随時、更新され、接続サーバー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は、接続サーバー通信I/F29を介して、生成したレコード追加要求コマンドを、データベース管理サーバー70に送信する(ステップSD3)。
レコード追加要求コマンドを受信したデータベース管理サーバー70のデータベース管理サーバー制御部71は、接続サーバーアドレス管理DB72aにアクセスする。そして、データベース管理サーバー制御部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は、接続サーバー通信I/F29を介して、生成したレコード削除要求コマンドを、データベース管理サーバー70に送信する(ステップSE3)。
レコード削除要求コマンドを受信したデータベース管理サーバー70のデータベース管理サーバー制御部71は、接続サーバーアドレス管理DB72aにアクセスする。そして、データベース管理サーバー制御部71は、当該データベースにおいて、上記コマンドに含まれる印刷装置識別情報と、接続サーバーアドレス情報とが対応付けられたレコードを特定する。次いで、データベース管理サーバー制御部71は、特定したレコードを削除する。
このように、本実施形態では、接続サーバー50に印刷装置12が接続されると、当該サーバーのアドレスと、当該印刷装置12の識別情報を対応付けたレコードが、接続サーバーアドレス管理DB72aに生成される。
また、本実施形態では、接続サーバー50に接続された印刷装置12の接続が切断されると、当該サーバーのアドレスと、当該印刷装置12の識別情報とを対応付けたレコードが、接続サーバーアドレス管理DB72aから削除される。
このような構成のため、接続サーバーアドレス管理DB72aの内容は、実際の接続サーバー50と印刷装置12との接続状態に対応する。
次に、管理装置14Aが印刷装置12Aに印刷させる場合における管理装置14A、制御サーバー10が備える各サーバー、及び、印刷装置12Aの動作について説明する。
図7は、管理装置14Aが印刷装置12Aに印刷させる場合の各装置の動作を示すフローチャートである。図7(A)は管理装置14Aの動作を、(B)は管理サーバー60Aの動作を、(C)は第1接続サーバー50Aの動作を、(D)は印刷装置12Aの動作を示す。
図7では、印刷データ処理部27と印刷制御部17との間で行われる機能部間通信経路KTによる通信について、印刷データ処理部27がデータを送信する場合を例として併せて説明する。
以下の説明では、印刷装置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の印刷装置識別情報(印刷装置12を指定する指定情報)が含まれる。
次いで、管理装置制御部40は、アプリケーションの機能により、管理装置NWI/F41を介して、管理サーバー60Aに印刷情報データを送信する(ステップSF4)。本実施形態では、管理装置14Aがデータを送信する管理サーバー60が、管理サーバー60Aと予め定められる。アプリケーションの機能を実現するプログラムには、管理サーバー60Aのアドレスが予め定義される。ステップSC4において、管理装置制御部40は、当該アドレスの管理サーバー60Aとの間で、コネクションKKを確立した上で、当該コネクションKKにより印刷情報データを送信する。
図7(B)に示すように、管理サーバー制御部61は、管理サーバーNWI/F63を介して、印刷情報データを受信する(ステップSG1)。
次いで、管理サーバー制御部61が備える検索部61aは、データベース管理サーバー70の接続サーバーアドレス管理DB72aにアクセスし、当該データベースを参照する(ステップSG2)。
上述したように、接続サーバーアドレス管理DB72aは、印刷装置12の印刷装置識別情報と、接続サーバー50の接続サーバーアドレス情報と、を対応付けて記憶するデータベースである。
次いで、検索部61aは、印刷情報データに含まれる印刷装置識別情報をキーとして、接続サーバーアドレス管理DB72aにおいて、当該識別情報と対応付けられた接続サーバーアドレス情報を取得する(ステップSG3)。本例では、ステップSG3において、検索部61aは、第1接続サーバー50Aの接続サーバーアドレス情報を取得する。
次いで、管理サーバー制御部61は、ステップSG3で取得した接続サーバーアドレス情報が示すアドレスの接続サーバー50(本例では、第1接続サーバー50A)との間でコネクションを確立し、通信可能とする(ステップSG4、ステップSH1)。
次いで、管理サーバー制御部61は、ステップSG4で確立したコネクションにより、印刷情報データを、管理サーバー通信I/F62を介して、第1接続サーバー50Aに対して送信する(ステップSG5)。
図7(C)に示すように、第1接続サーバー50Aの通信管理部25は、接続サーバー通信I/F29を介して、印刷情報データを受信する(ステップSH2)。
次いで、通信管理部25は、受信した印刷情報データを印刷データ処理部27に送信する(ステップSH3)。
次いで、印刷データ処理部27は、受信した印刷情報データに基づいて、印刷装置12の制御に係る印刷制御データ(印刷データ)を生成し、通信管理部25に送信する(ステップSH4)。印刷制御データは、印刷装置12に印刷情報が記述されたXML(Extensible Markup Language)ファイルである。印刷制御データには、XMLに係るフォーマットで、印刷装置12に印刷情報、例えば、画像データや、画像の位置を示す情報等が記述される。また、印刷制御データには、印刷させる印刷装置12Aの印刷装置識別情報がタグとして記述される。
次いで、通信管理部25は、接続サーバー記憶部28に記憶されたコネクション管理データベース28aにアクセスする(ステップSH5)。次いで、通信管理部25は、受信した印刷制御データに記述された印刷装置識別情報をキーとして、コネクション管理データベース28aにおいて、当該印刷装置識別情報と対応付けられたWebSocketコネクションCTのコネクション識別情報を取得する(ステップSH6)。ここで取得されたコネクション識別情報は、印刷させる印刷装置12Aとの間で確立されたWebSocketコネクションCTのコネクション識別情報である。
次いで、通信管理部25は、ステップSH6で取得したコネクション識別情報に係るWebSocketコネクションCTに対応する接続部26に印刷制御データを送信する(ステップSH7)。
次いで、接続部26は、受信した印刷制御データを、WebSocketコネクションCTで、WebSocketに従って、プッシュ送信する(ステップ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の管理サーバー60、及び、接続サーバー50を介して、印刷装置12にデータを送信できる。つまり、管理装置14は、制御サーバー10を介して、制御サーバー10にWebSocketコネクションCTにより接続される印刷装置12のうちの任意の印刷装置12を制御できる。
また上記のように、本実施形態では、印刷装置12からのリクエストを受けることなく、制御サーバー10は、印刷装置12に印刷を実行させる事象が発生した場合に、印刷装置12に印刷させることができる。印刷装置12に印刷を実行させる事象が発生した場合とは、本例のように、管理装置14からの要求があった場合や、ユーザーからの指示があった場合、事前に定義した条件が成立した場合等、である。このため、印刷装置12から制御サーバー10に対して間欠的にリクエストを送り、印刷装置12に印刷をさせたい場合に、当該リクエストに応じて印刷制御データを送信する構成とした場合と比較して、より迅速に印刷を開始させることができる。また、制御サーバー10がリクエストに対する保留状態を作る構成とした場合と比較して、リソースの消費を抑制できる。
以上説明したように、本実施形態に係る制御システム1(印刷制御システム)は、接続要求を送信する通信部16、及び印刷を行う印刷部18を有する印刷装置12と、印刷制御データ(印刷データ)を送信する第1接続サーバー50A(第1の接続サーバー)と、印刷制御データを送信する第2接続サーバー50B(第2の接続サーバー)と、第1接続サーバー50A及び第2接続サーバー50Bと接続するゲートサーバー通信I/F83(サーバー接続部)、印刷装置12からの接続要求を受信するゲートサーバーNWI/F84(受信部)、及びゲートサーバーNWI/F84で受信した接続要求に基づいて、第1接続サーバー50Aもしくは第2接続サーバー50Bと印刷装置12とを接続する制御を行う接続制御部81aを有するゲートサーバー80と、を備える。
この構成によれば、印刷装置12からネットワークGNを介して制御サーバー10に対して接続要求があった場合、ゲートサーバー80は、印刷装置12を、第1接続サーバー50A、もしくは、第2接続サーバー50Bのいずれかと接続させる。このため、ゲートサーバー80の機能により、印刷装置12を、第1接続サーバー50A、及び、第2接続サーバー50Bのうち、接続するサーバーとして適したサーバーに切り替えることが可能となる。つまり、本発明の構成によれば、制御システム1を、印刷装置12を接続可能なサーバーとして第1接続サーバー50A、及び、第2接続サーバー50Bの複数のサーバーがあるというサーバーの構成、及び、印刷装置12と制御サーバー10とがネットワークGNを介して通信するという構成に対応させることができる。
また、本実施形態に係る制御システム1は、第1接続サーバー50A及び第2接続サーバー50Bと接続して印刷を制御する管理サーバー60と、管理サーバー60と接続して、管理サーバー60に印刷を指示する印刷情報データ(印刷指示情報)を送信する管理装置14と、を備える。
本発明の構成によれば、管理装置14は、管理サーバー60、及び、第1接続サーバー50A又は第2接続サーバー50Bを介して、印刷装置12を制御できる。
また、本実施形態では、印刷装置12の接続要求は、接続サーバー50との間で非同期の双方向通信を行うWebSocketコネクションCTの確立の要求である。
この構成によれば、ゲートサーバー80の機能により、印刷装置12からの接続要求に応じて、印刷装置12と、第1接続サーバー50A、及び、第2接続サーバー50Bのうち、接続するサーバーとして適したサーバーとの間でWebSocketコネクションCTを確立することが可能となる。
また、本実施形態では、第1接続サーバー50Aは、印刷装置12と複数接続する第1接続部26A(第1の接続部)を有し、第2接続サーバー50Bは、印刷装置12と複数接続する第2接続部26B(第2の接続部)を有し、ゲートサーバー80は、第1接続部26Aと接続する印刷装置12の個数、及び第2接続部26Bと接続する印刷装置12の個数を記憶するゲートサーバー記憶部82を有する。
この構成によれば、ゲートサーバー80は、第1接続サーバー50Aに接続された印刷装置12の個数、及び、第2接続サーバー50Bに接続された印刷装置12の個数を管理でき、当該管理に基づいて対応する処理を実行できる。
また、本実施形態では、ゲートサーバー80の接続制御部81aは、ゲートサーバー記憶部82に記憶される第1接続部26Aと接続する印刷装置12の個数、及び第2接続部26Bと接続する印刷装置12の個数に基づいて、印刷装置12と接続する接続サーバー50を、第1接続サーバー50Aもしくは第2接続サーバー50Bのいずれかに選択する。
ここで、接続される印刷装置12が少ない接続サーバー50は、多い接続サーバーと比較して、加わる各種負荷(CPUの負荷、通信の負荷、その他の負荷等)が小さい蓋然性が高い。これを踏まえ、上記構成によれば、加わる負荷の小さい接続サーバー50に、印刷装置12を接続することができ、負荷の分散、処理効率の向上を図ることができる。
また、本実施形態では、印刷装置12は、印刷装置識別情報を有し、第1接続サーバー50Aは、ゲートサーバー80の制御で印刷装置12と第1接続サーバー50Aとが接続されたとき、印刷装置識別情報と、第1接続サーバー50Aのアドレス情報(第1の接続サーバーの情報)とを関連付けてデータベース管理サーバー記憶部72に記憶させる通信管理部25を有する。
この構成によれば、管理サーバー60は、データベース管理サーバー記憶部72が記憶する情報を参照することにより、印刷装置12と、印刷装置12が接続される接続サーバー50との関係を認識である。
また、本実施形態では、印刷情報データ(印刷指示情報)は、印刷装置識別情報を有し、管理サーバー60は、管理装置14が送信した印刷情報データを受信した場合、印刷情報データが有する印刷装置識別情報、及び、データベース管理サーバー記憶部72に記憶された情報に基づいて、印刷装置12が接続された接続サーバー50を検索する検索部61aを有する。
この構成によれば、検索部61aは、データベース管理サーバー記憶部72が記憶する情報に基づいて、印刷装置12が接続された接続サーバー50を検索可能である。
<第2実施形態>
次いで、第2実施形態について説明する。
上述した第1実施形態では、検索部61aは、接続サーバー50を検索する際、データベース管理サーバー70の接続サーバーアドレス管理DB72aにアクセスする。そして、検索部61aは、アクセスした当該データベースを参照し、当該内容に基づいて、検索を実行していた。
一方で、本実施形態では、検索部61aは、管理サーバー60が備えるRAMに形成されたワークエリア(所定の記憶領域)に、データベースの内容と同一性を有する内容のデータを記憶する。
例えば、検索部61aは、データベース管理サーバー70のデータベース管理サーバー制御部71に対して、通信により、定期的に、接続サーバー管理DB82aの内容と同一性を有する内容のデータを要求する。データベース管理サーバー制御部71には、接続サーバー管理DB82aに基づいて、当該データベースの内容と同一性を有する内容のデータを生成する機能が実装される。そして、検索部61aは、上記要求に応じて受信したデータを、ワークエリアに記憶する。この他、データベース管理サーバー70のデータベース管理サーバー制御部71が、定期的に上記データを送信する構成であってもよい。
そして、検索部61aは、接続サーバー50を検索する場合、接続サーバーアドレス管理DB72aにアクセスし、当該データベースを参照するのではなく、ワークエリアに記憶されたデータを参照する。サーバー間ネットワークSNを貸して、データベースにアクセスする処理と比較して、バスで接続されたRAMに形成されたワークエリアにアクセスする処理に要する時間は、短い。このため、本実施形態によれば、検索部61aが、検索に要する時間の短縮化を図ることができる。
なお、上述した実施の形態は、あくまでも本発明の一態様を示すものであり、本発明の範囲内で任意に変形および応用が可能である。
上述した実施形態では、印刷装置12は店舗に構築された店舗システム11に設けられていた。しかしながら、印刷装置12は、必ずしも、店舗システム11に設けられたものでなくてもよい。例えば、他のシステムに設けられたものであってもよい。
また、上述した実施形態では、制御サーバー10から、印刷装置12に対して、XMLファイルの印刷制御データを送信していたが、印刷制御データのデータ形式はXMLでなくともよい。例えば、他のマークアップ言語で生成されたデータであってもよく、また、印刷部18のコマンド体系に従った制御コマンドであってもよい。
また、図3に示す各機能ブロックはハードウェアとソフトウェアより任意に実現可能であり、特定のハードウェア構成を示唆するものではない。また、印刷装置12の各機能を、当該装置に外部接続される別の装置に持たせるようにしてもよい。また、印刷装置12は、外部接続される記憶媒体に記憶させたプログラムを実行することにより、各種処理を実行してもよい。
1…制御システム(印刷制御システム)、10…制御サーバー、12、12A…印刷装置、14、14A…管理装置、16…通信部、18…印刷部、25…通信管理部、26A…第1接続部(第1の接続部)、26B…第2接続部(第2の接続部)、50…接続サーバー、50A…第1接続サーバー(第1の接続サーバー)、50B…第2接続サーバー(第2の接続サーバー)、60、60A…管理サーバー、61a…検索部、72…データベース管理サーバー記憶部(接続情報記憶部)、80…ゲートサーバー、81a…接続制御部、82…ゲートサーバー記憶部(記憶部)、83…ゲートサーバー通信インターフェース(サーバー接続部)、84…ゲートサーバーネットワークインターフェース(受信部)、CT…WebSocketコネクション。

Claims (8)

  1. 接続要求を送信する通信部、及び印刷を行う印刷部を有する印刷装置と、
    印刷データを送信する第1の接続サーバーと、
    印刷データを送信する第2の接続サーバーと、
    前記第1の接続サーバー及び前記第2の接続サーバーと接続するサーバー接続部、前記接続要求を受信する受信部、及び前記受信部で受信した前記接続要求に基づいて、前記第1の接続サーバーもしくは前記第2の接続サーバーと前記印刷装置とを接続する制御を行う接続制御部を有するゲートサーバーと、
    を備えることを特徴とする印刷制御システム。
  2. 前記第1の接続サーバー及び前記第2の接続サーバーと接続して印刷を制御する管理サーバーと、
    前記管理サーバーと接続して、前記管理サーバーに印刷を指示する印刷指示情報を送信する管理装置と、
    を備える請求項1に記載の印刷制御システム。
  3. 前記印刷装置の前記接続要求は、前記接続サーバーとの間で非同期の双方向通信を行う通信経路の確立の要求である請求項1または2に記載の印刷制御システム。
  4. 前記第1の接続サーバーは、前記印刷装置と複数接続する第1の接続部を有し、
    前記第2の接続サーバーは、前記印刷装置と複数接続する第2の接続部を有し、
    前記ゲートサーバーは、前記第1の接続部と接続する前記印刷装置の個数、及び前記第2の接続部と接続する前記印刷装置の個数を記憶する記憶部を有する請求項1乃至3のいずれか1項に記載の印刷制御システム。
  5. 前記接続制御部は、前記記憶部に記憶される前記第1の接続部と接続する前記印刷装置の個数、及び前記第2の接続部と接続する前記印刷装置の個数に基づいて、前記印刷装置と接続する接続サーバーを、前記第1の接続サーバーもしくは前記第2の接続サーバーのいずれかに選択する請求項4に記載の印刷制御システム。
  6. 前記印刷装置は、識別情報を有し、
    前記第1の接続サーバーは、前記ゲートサーバーの制御で前記印刷装置と前記第1の接続サーバーとが接続されたとき、前記印刷装置の識別情報と前記第1の接続サーバーの情報とを関連付けて接続情報記憶部に記憶させる通信管理部を有する請求項1乃至5のいずれか1項に記載の印刷制御システム。
  7. 前記印刷指示情報は、前記印刷装置の識別情報を有し、
    前記管理サーバーは、前記管理装置が送信した前記印刷指示情報を受信した場合、前記印刷指示情報が有する前記印刷装置の識別情報、及び、前記接続情報記憶部に記憶された情報に基づいて、前記印刷装置が接続された前記第1の接続サーバーを検索する検索部を有する請求項6に記載の印刷制御システム。
  8. 接続サーバーと接続するサーバー接続部と、
    印刷装置が送信した接続要求を受信する受信部と、
    前記受信部で受信した前記接続要求に基づいて前記接続サーバーと前記印刷装置を接続する制御を行う接続制御部と、
    を有することを特徴とするゲートサーバー。
JP2013230945A 2013-11-07 2013-11-07 印刷制御システム、及び、ゲートサーバー Pending JP2015090645A (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2013230945A JP2015090645A (ja) 2013-11-07 2013-11-07 印刷制御システム、及び、ゲートサーバー
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
JP2013230945A JP2015090645A (ja) 2013-11-07 2013-11-07 印刷制御システム、及び、ゲートサーバー

Publications (1)

Publication Number Publication Date
JP2015090645A true JP2015090645A (ja) 2015-05-11

Family

ID=53194123

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013230945A Pending JP2015090645A (ja) 2013-11-07 2013-11-07 印刷制御システム、及び、ゲートサーバー

Country Status (1)

Country Link
JP (1) JP2015090645A (ja)

Similar Documents

Publication Publication Date Title
JP5288334B2 (ja) 仮想アプライアンス配備システム
JP6193605B2 (ja) 印刷システムおよびその制御方法、ならびにプログラム
JP2003216368A (ja) サービス提供システム、サービス提供方法、サービス提供装置、その制御方法、制御プログラム、及び、コンピュータ可読メモリ
JP5962698B2 (ja) 画像形成システム、サービス提供サーバー、情報処理端末、画像形成装置及びプログラム
JP2013152666A (ja) 管理システム、画像形成装置、管理システムの制御方法、画像形成装置の制御方法、プログラム
US8689242B2 (en) Information processing apparatus for controlling installation, method for controlling the apparatus and control program for executing the method
JP2012208886A (ja) 印刷システム、印刷指示端末、印刷サーバ、方法およびプログラム
JP2014172394A (ja) 印刷装置、プログラム及び印刷システム
JP2016118983A (ja) 情報処理装置、印刷制御方法、およびプログラム
JP6252114B2 (ja) 印刷制御システム
JP6221681B2 (ja) 印刷制御システム、及び印刷制御方法
US20170090834A1 (en) System and method of connecting a computer to a printer
JP4222065B2 (ja) 情報システムにおけるデータアクセス方法および情報システム
JP2015090645A (ja) 印刷制御システム、及び、ゲートサーバー
JPWO2006006302A1 (ja) 印刷システム、プリンタサーバ、印刷実行プログラムおよび印刷文書の管理システム
JP6252115B2 (ja) 印刷制御システム
JP2015146153A (ja) 印刷制御システム、及び、印刷制御システムの制御方法
JP6343931B2 (ja) 印刷制御システム、及び印刷制御方法
JP6268931B2 (ja) 印刷制御装置、及び、印刷制御システム
JP4893712B2 (ja) ウェブサービスシステム及びウェブサービス提供方法
JP2004094682A (ja) オフライン業務システム、業務端末及び業務サーバ
KR20180094343A (ko) 데이터 처리 중계 장치
JP6331337B2 (ja) 印刷制御システム、及び、印刷装置
JP2011065236A (ja) サービス検索装置、サービス提供装置、サービス検索システム、およびサービス検索方法
JP2015127877A (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