(57)【要約】【課題】  機器制御部から受信した電子機器の情報を記憶部を介して情報処理部で処理するシステムにおいて、情報処理部からの制御コマンドを適切に機器制御部に送信する処理システム、制御システム、中継装置及び通信方法等の提供。【解決手段】  処理システム２００は、機器制御部３００から電子機器４００の情報を受信して記憶する記憶部２１０と、記憶部２１０に記憶された情報に基づく処理を行う情報処理部１００から制御コマンドを受信するコマンド中継部２２０を含む。コマンド中継部２２０は、記憶部２１０を介した情報処理部１００と機器制御部３００との通信経路である第１の通信経路とは異なる第２の通信経路で制御コマンドを送信することにより、情報処理部１００と機器制御部３００との間の制御コマンドの中継を行う。【選択図】      図３
2020030626.tif 000002
【特許請求の範囲】
【請求項１】
制御対象である電子機器を制御する機器制御部が含まれるネットワークの外部に設けられる処理システムであって、
前記機器制御部から前記電子機器の情報を受信し、受信した前記電子機器の前記情報を記憶する記憶部と、
前記記憶部に記憶された前記情報に基づく処理を行う情報処理部から前記電子機器の制御を前記機器制御部に実行させるための制御コマンドを受信し、前記記憶部を介した前記情報処理部と前記機器制御部との通信経路である第１の通信経路とは異なる第２の通信経路で前記制御コマンドを送信することにより、前記情報処理部と前記機器制御部との間の前記制御コマンドの中継を行うコマンド中継部と、
を含むことを特徴とする処理システム。
【請求項２】
請求項１に記載の処理システムにおいて、
前記コマンド中継部は、
前記情報処理部から受信した前記制御コマンドを蓄積する処理を行い、前記制御コマンドの対象である前記電子機器がコマンド実行可能な状態であると判定された場合に、前記制御コマンドを前記機器制御部に送信する処理を行うことを特徴とする処理システム。
【請求項３】
請求項１又は２に記載の処理システムにおいて、
前記コマンド中継部は、
前記制御コマンドを受信したことを通知する通知処理を行うことを特徴とする処理システム。
【請求項４】
請求項１乃至３のいずれか一項に記載の処理システムにおいて、
前記第１の通信経路は、ファイアーウォールで前記情報処理部から前記機器制御部へのアクセスが制限されており、
前記第２の通信経路は、前記ファイアーウォールで前記情報処理部から前記機器制御部へのアクセスが制限されていないことを特徴とする処理システム。
【請求項５】
請求項１乃至４のいずれか一項に記載の処理システムにおいて、
前記第２の通信経路は、チャットサーバーによる通信経路であることを特徴とする処理システム。
【請求項６】
請求項１乃至４のいずれか一項に記載の処理システムにおいて、
前記第２の通信経路は、メールサーバーによる通信経路であることを特徴とする処理システム。
【請求項７】
請求項１乃至４のいずれか一項に記載の処理システムにおいて、
前記第２の通信経路は、ＭＱＴＴ（Message Queuing Telemetry Transport）又はＷｅｂＳｏｃｋｅｔに従った通信を行う通信経路であることを特徴とする処理システム。
【請求項８】
請求項１乃至７のいずれか一項に記載の処理システムにおいて、
前記制御コマンドは、前記電子機器の設定コマンドであることを特徴とする処理システム。
【請求項９】
請求項１乃至７のいずれか一項に記載の処理システムにおいて、
前記制御コマンドは、前記電子機器の前記情報を収集する情報収集コマンドであり、
前記記憶部は、
前記情報収集コマンドに基づいて前記機器制御部が収集した前記情報を記憶し、記憶した前記情報を前記情報処理部に送信することによって、前記第１の通信経路による前記機器制御部と前記情報処理部との間の前記情報の中継を行うことを特徴とする処理システム。
【請求項１０】
請求項１乃至９のいずれか一項に記載の処理システムと、
前記電子機器と、
を含むことを特徴とする制御システム。
【請求項１１】
制御対象である電子機器を制御する機器制御部、及び、前記機器制御部から前記電子機器の情報を受信し、受信した前記電子機器の前記情報を記憶する記憶部に記憶された前記情報に基づく処理を行う情報処理部との通信を行う通信部と、
前記通信部を制御する処理部と、
を含み、
前記記憶部は、前記機器制御部が含まれるネットワークの外部に設けられ、
前記通信部は、
前記電子機器の制御を前記機器制御部に実行させるための制御コマンドを前記情報処理部から受信し、前記記憶部を介した前記情報処理部と前記機器制御部との通信経路である第１の通信経路とは異なる第２の通信経路で前記制御コマンドを送信することにより、前記情報処理部と前記機器制御部との間の前記制御コマンドの中継を行うことを特徴とする中継装置。
【請求項１２】
制御対象である電子機器を制御する機器制御部が含まれるネットワークの外部に設けられる処理システムにおける通信方法であって、
前記機器制御部から前記電子機器の情報を受信し、受信した前記電子機器の前記情報を記憶する記憶部を介した第１の通信経路で、前記情報に基づく処理を行う情報処理部に前記情報を送信し、
前記電子機器の制御を前記機器制御部に実行させるための制御コマンドを前記情報処理部から受信し、前記第１の通信経路とは異なる第２の通信経路で前記制御コマンドを送信することにより、前記情報処理部と前記機器制御部との間の前記制御コマンドの中継を行う、
ことを特徴とする通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、処理システム、制御システム、中継装置及び通信方法等に関する。
【背景技術】
【０００２】
従来、プリンター等の電子機器の情報を収集したり、当該電子機器に対して設定等の制御を行う管理ツールが知られている。例えば特許文献１には、第１のデバイスの能力情報に基づいて生成した設定情報を、当該第１のデバイスと同一機種の他のデバイスに流用することによって、複数のデバイスの動作設定を効率的に行う管理装置が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−２１１９０１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１の手法では、電子機器を制御する管理装置が、制御対象である電子機器と同一ネットワークに接続される。そのため、管理装置が電子機器の制御を行うことが特に問題とならない。
【０００５】
電子機器から収集した情報を、ネットワークを介して接続される記憶部に蓄積する構成が考えられる。記憶部とは、例えばインターネット上のデータベースサーバーである。端末装置等の機器から当該記憶部にアクセスして、収集した情報を閲覧することによって、リモートで電子機器の監視を行うこと等が可能になる。ただしこのような構成を用いた場合、端末装置から電子機器の制御を行うことは困難であった。なぜなら、端末装置は電子機器と直接通信する経路を有さず、また記憶部を介した通信経路はファイアーウォール等によって遮断されるおそれがあるためである。
【課題を解決するための手段】
【０００６】
本発明の一態様は、制御対象である電子機器を制御する機器制御部が含まれるネットワークの外部に設けられる処理システムであって、前記機器制御部から前記電子機器の情報を受信し、受信した前記電子機器の前記情報を記憶する記憶部と、前記記憶部に記憶された前記情報に基づく処理を行う情報処理部から前記電子機器の制御を前記機器制御部に実行させるための制御コマンドを受信し、前記記憶部を介した前記情報処理部と前記機器制御部との通信経路である第１の通信経路とは異なる第２の通信経路で前記制御コマンドを送信することにより、前記情報処理部と前記機器制御部との間の前記制御コマンドの中継を行うコマンド中継部と、を含む処理システムに関係する。
【図面の簡単な説明】
【０００７】
【図１】従来手法を説明する図。
【図２】ネットワークを介した構成を用いる場合の課題を説明する図。
【図３】処理システムの構成例。
【図４】具体的な機器構成例。
【図５】本実施形態の処理シーケンスを説明する図。
【図６】処理システムの他の構成例。
【図７】本実施形態の処理シーケンスを説明する他の図。
【図８】中継装置の構成例。
【発明を実施するための形態】
【０００８】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【０００９】
１．概要
図１は特許文献１等の従来手法を説明する図である。図１に示すシステムは、複数の電子機器４００と、当該電子機器４００の挙動や設定を制御するための管理装置３１を含む。なお、電子機器４００については本実施形態の手法における電子機器と同様であるため、後述する図３等と同様の符号を付して説明する。
【００１０】
電子機器４００は、例えばプリンターである。或いは電子機器４００は、スキャナー、ファクシミリ装置又はコピー機であってもよい。電子機器４００は、複数の機能を有する複合機（ＭＦＰ：Multifunction Peripheral）であってもよく、印刷機能を有する複合機もプリンターの一例である。電子機器４００は、プロジェクター、頭部装着型表示装置、ウェアラブル機器、脈拍計や活動量計等の生体情報測定機器、ロボット、カメラ等の映像機器、スマートフォン等の携帯情報端末、又は物理量計測機器等であってもよい。
【００１１】
管理装置３１は、情報の収集、収集した情報の記憶、記憶した情報の利用を行う。例えば管理装置３１は、ポーリングを行い、同一のネットワークに接続される電子機器４００の情報を取得する。管理装置３１と各電子機器４００との通信は、例えば、ＳＮＭＰ（Simple Network Management Protocol）に則って実行される。この場合、管理装置３１が通信のマネージャー、各電子機器４００が通信のエージェントとなる。また、ＳＮＭＰに則った通信では、ＭＩＢ（Management Information Base）情報をやり取りする。情報の取得間隔は種々の設定が可能であるが、例えば１日に１回〜数回程度である。
【００１２】
収集される情報は、電子機器４００の稼動状態を表す情報である。電子機器４００がプリンターである場合、所定期間内での印刷枚数やインクの消費量等の情報が収集される。ポーリングが１日１回行われる例であれば、ここでの所定期間とは２４時間である。
【００１３】
また管理装置３１は、電子機器４００の設定情報を収集する。設定情報は、設定項目と設定値の組み合わせにより表現される情報である。設定項目とは、例えば、セキュリティーに関する設定項目、無線ＬＡＮに関する設定項目、ファクシミリ通信に関する設定項目、印刷用紙の供給元に関する設定項目、デバイスの使用権限に関する設定項目、ネットワーク上のディレクトリサービスへ接続するための所定の通信プロトコルに関する設定項目等である。設定値とは、各設定項目における現在の設定の状態を表す情報である。
【００１４】
また管理装置３１は、収集した情報を記憶する。例えば管理装置３１は、ポーリング間隔に比べて長い期間の情報を記憶する。ここでの期間は例えば１ヶ月〜数ヶ月等であるが、より長い期間を設定してもよい。また、管理装置３１は複数の電子機器４００から収集される情報を記憶する。
【００１５】
さらに管理装置３１は、記憶した情報の処理、利用を行う。ここでの利用は、例えば電子機器４００の稼動状態をユーザーに提示する画面の表示処理である。例えば管理装置３１は、１ヶ月等の比較的長い期間を用いて収集した情報に基づいて、平均値や合計値等の統計量を算出し、当該統計量を表示する処理を行う。このようにすれば、電子機器４００の稼動履歴をわかりやすい態様でユーザーに提示できる。或いは管理装置３１は、複数の電子機器４００の稼動履歴を比較可能な態様で表示してもよい。この場合、機器ごとの状態をわかりやすい態様でユーザーに提示することや、複数の電子機器４００を効率的に動作させるための稼動計画の作成等を補助すること等が可能になる。
【００１６】
また管理装置３１は、電子機器４００の設定情報を表示してもよい。例えば管理装置３１は、設定項目と現在の設定値とを対応付けた情報を表示する。ここで、管理装置３１は、電子機器４００の設定を行う制御、狭義には設定値を変更する制御を実行可能である。例えば、管理装置３１は、設定情報の表示画面において、設定値を変更するユーザー操作を受け付け可能であってもよい。そして管理装置３１は、変更後の設定値を電子機器４００に送信し、電子機器４００の設定を変更する処理を行う。例えば特許文献１の手法を用いることによって、複数の電子機器４００を対象とした設定変更を効率的に実行可能である。
【００１７】
以上では、管理装置３１において、情報の収集、記憶、利用の全ての機能が実現される例を示した。管理装置３１は、電子機器４００と同じネットワークに接続されるため、双方向での通信が容易である。例えば、図１に示した管理装置３１及び電子機器４００は、同一の社内イントラネットに接続される。なお、管理装置３１と電子機器４００は、ネットワークを介して接続されるものに限定されず、ＵＳＢ（Universal Serial Bus）等のインターフェースを用いて直接的に接続されてもよい。
【００１８】
図２は、図１に示した管理装置３１の機能を、インターネット等の外部ネットワークを介した複数の装置により実現する場合の構成例である。図２の例では、管理装置３０は、電子機器４００から稼動情報や設定情報を収集し、ネットワークを介してデータベースサーバー２１に送信する。即ち、管理装置３０は情報の収集及び送信までを行い、収集した情報の記憶は、データベースサーバー２１で行われる。
【００１９】
また、情報の利用も管理装置３０とは異なる機器で行われる。図２の例であれば、情報を利用するユーザーは、端末装置１０を用いてネットワークを介してデータベースサーバー２１に接続する。例えば端末装置１０は、スマートフォンやタブレット端末等の携帯端末装置であってもよいし、ＰＣ（Personal Computer）等の他の装置であってもよい。端末装置１０とデータベースサーバー２１の接続は、専用のアプリケーションが用いられてもよいし、端末装置１０で動作するＷｅｂブラウザーを介して行われてもよい。Ｗｅｂブラウザーを用いる場合、例えばデータベースサーバー２１がＷｅｂアプリケーションサーバーの機能を有してもよいし、データベースサーバー２１と通信可能なＷｅｂアプリケーションサーバーが別途設けられてもよい。
【００２０】
端末装置１０は、データベースサーバー２１から取得した稼動情報や設定情報を表示する。このようにすれば、電子機器４００が設けられるネットワークの外部から、リモートで電子機器４００の状態を確認できる。例えばユーザーは、外出先から電子機器４００の稼動状態を監視することが可能である。或いは、複数の事業所を有する企業において、当該複数の事業所のそれぞれに設けられる電子機器４００の状態を一元管理すること等も可能になる。
【００２１】
ただし図２の構成において、情報を利用する層である端末装置１０から、電子機器４００の制御を行う場合に問題が生じる可能性がある。電子機器４００の制御とは、例えば上述した電子機器４００の設定である。
【００２２】
企業においては、外部からのネットワーク経由での攻撃による機密情報や個人情報の漏えいを防ぐため、ファイアーウォールを設置していることが多い。ファイアーウォールは、社内イントラネットへの社外インターネットからのアクセスを制御する。例えば、社内イントラネットから社外インターネットへのアクセスはＨＴＴＰ（Hypertext Transfer Protocol）とＨＴＴＰＳ（Hypertext Transfer Protocol Secure）のみを許可し、社外インターネットから社内イントラネットへは全アクセスをブロックする。ＨＴＴＰによるアクセスとは、具体的には８０番ポートを利用したアクセスであり、ＨＴＴＰＳによるアクセスとは、４４３番ポートを用いたアクセスである。つまり、イントラネット内のＰＣからインターネット上のサーバーへアクセスすることは出来るが、インターネット上のサーバーによるイントラネット内のＰＣや機器へのアクセスはファイアーウォールにより遮断されている。
【００２３】
図２の例に拡張して考えた場合、管理装置３０が収集した情報をデータベースサーバー２１へ送信するアクセスＡ１は許容されるが、データベースサーバー２１から管理装置３０へのアクセスＡ２はファイアーウォールＦＷにより遮断されてしまう。データベースサーバー２１は、データの保存に用いられるものであるため、クライアント装置によるデータベースサーバー２１へのデータの書き込み、及びデータの読み出しは許容される。しかし、データベースサーバー２１側からクライアント装置の制御を行うことは想定されず、当該データベースサーバー２１から内部ネットワークへのアクセスは遮断しても問題は生じにくい。このため、セキュリティーを考慮して、データベースサーバー２１から内部ネットワークへのアクセスは、ファイアーウォールによって遮断されていることが多い。結果として、端末装置１０からデータベースサーバー２１を経由する通信経路によって電子機器４００の制御を行うことが難しい。また、端末装置１０から管理装置３０に直接アクセスして制御することも難しい。
【００２４】
図３は、本実施形態の処理システム２００の構成を説明する図である。処理システム２００は、制御対象である電子機器４００を制御する機器制御部３００が含まれるネットワークの外部に設けられる処理システムであって、記憶部２１０と、コマンド中継部２２０とを含む。記憶部２１０は、機器制御部３００から電子機器４００の情報を受信し、受信した電子機器４００の情報を記憶する。コマンド中継部２２０は、記憶部２１０に記憶された情報に基づく処理を行う情報処理部１００から、電子機器４００の制御を機器制御部３００に実行させるための制御コマンドを受信する。そしてコマンド中継部２２０は、第１の通信経路ＣＲ１とは異なる第２の通信経路ＣＲ２で制御コマンドを送信することにより、情報処理部１００と機器制御部３００との間の制御コマンドの中継を行う。第１の通信経路ＣＲ１とは、記憶部２１０を介した情報処理部１００と機器制御部３００との通信経路である。第２の通信経路ＣＲ２とは、コマンド中継部２２０を介した情報処理部１００と機器制御部３００との通信経路である。また、電子機器４００が含まれるネットワークとは、例えば社内のイントラネットであり図２のＮＷ１に対応する。処理システム２００は図２のＮＷ２に対応するインターネットを介して、イントラネット内部の機器と接続されるシステムである。
【００２５】
本実施形態の手法によれば、情報処理部１００から機器制御部３００への通信経路として、図２では設けられていなかった第２の通信経路ＣＲ２を設けている。通信が遮断される蓋然性が高い第１の通信経路ＣＲ１とは異なり、第２の通信経路ＣＲ２を、双方向で通信可能な蓋然性が高い通信方式とすることにより、情報処理部１００から機器制御部３００へ適切に制御コマンドを送信する。換言すれば、情報処理部１００から電子機器４００を適切に制御することが可能になる。なお、本実施形態における中継とは、狭義には受信した制御コマンドと同じ内容の制御コマンドを送信する処理である。ただしこれに限定されず、コマンド中継部２２０は、受信した制御コマンドの加工処理を行い、加工後の制御コマンドを送信してもよい。
【００２６】
より具体的には、第１の通信経路ＣＲ１は、ファイアーウォールで情報処理部１００から機器制御部３００へのアクセスが制限されており、第２の通信経路ＣＲ２は、ファイアーウォールで情報処理部１００から機器制御部３００へのアクセスが制限されていない。これによって、記憶部２１０と電子機器４００が同一ネットワークに接続されない場合であっても、ファイアーウォールによる影響を抑制し、情報処理部１００から電子機器４００を制御することが可能になる。
【００２７】
なお、図３では機器制御部３００と電子機器４００を異なる構成として示した。即ち、図２の例と同様に、電子機器４００と同一のネットワークに接続される管理装置３０が設けられ、当該管理装置３０が機器制御部３００を含む。管理装置３０と電子機器４００との接続は、ネットワークを介したものに限定されず、ＵＳＢ等のインターフェースが用いられてもよい。ただし機器制御部３００は電子機器４００に含まれてもよい。換言すれば、電子機器４００が管理装置３０を含む構成となってもよい。この場合、各電子機器４００は自身の稼動情報や設定情報等を収集し、収集した情報を記憶部２１０に直接送信する処理を行う。いずれの構成であっても、機器制御部３００は電子機器４００の制御を実行可能であり、制御コマンドが機器制御部３００に送信されることによって、当該制御コマンドに従った電子機器４００の制御が実行される。
【００２８】
図４は、処理システム２００を含むシステムを実現する具体的な機器構成例である。情報処理部１００は、例えば端末装置１０に含まれる。端末装置１０は、携帯端末装置やＰＣ等である。記憶部２１０は、例えばデータベースサーバー２１であり、コマンド中継部２２０は、例えばコマンドサーバー２２である。機器制御部３００は、例えばＰＣ等の管理装置３０であり、電子機器４００は、例えばプリンター４０である。なお上述したように、管理装置３０が省略され、電子機器４００が機器制御部３００を含んでもよい。
【００２９】
データベースサーバー２１及びコマンドサーバー２２は、インターネット等のネットワークを介して端末装置１０と接続される。またデータベースサーバー２１及びコマンドサーバー２２は、インターネット等のネットワークを介して管理装置３０と接続される。管理装置３０とプリンター４０は、イントラネット等の同一のネットワークに設けられる。ただし、図４は機器の一例を示すものであり、本実施形態に係る各部は、図４に示した例とは異なる機器により実現されてもよい。
【００３０】
２．処理の流れ
コマンド中継部２２０は、情報処理部１００と機器制御部３００の両方からアクセス可能である必要がある。また、コマンド中継部２２０から機器制御部３００への制御コマンドの送信は、機器制御部３００からのポーリングを受け付けるプル式であってもよい。ただしコマンド中継部２２０は、機器制御部３００にプッシュ通知を行う機能を有することが望ましい。このようにすれば、コマンド中継部２２０側から能動的に制御コマンドを送信することが可能になる。
【００３１】
また必須の構成ではないが、コマンド中継部２２０は、ユーザー単位又はグループ単位でアクセス制限を行う機能、及び制御コマンドの改ざんを抑制する機能を有することが望ましい。このようにすれば、権限を持たないユーザーや、悪意を持つユーザーによって、電子機器４００が制御されることを抑制できる。また、コマンド中継部２２０は制御コマンドを記憶できることが望ましいが、記憶部２１０が制御コマンドを記憶することも可能である。
【００３２】
以上、コマンド中継部２２０に求められる要件を考慮すると、第２の通信経路ＣＲ２としては、例えば、ＭＱＴＴ（Message Queuing Telemetry Transport）の通信プロトコルに従った通信を行うことが望ましい。換言すれば、コマンド中継部２２０を含むコマンドサーバー２２は、ＭＱＴＴに準拠した通信を行う機器であることが望ましい。
【００３３】
例えばコマンドサーバー２２は、ＭＱＴＴにおけるサーバーに相当するブローカーである。ここでのブローカーは、メッセージブローカーとも表記される。そして情報処理部１００及び機器制御部３００は、ＭＱＴＴに準拠した通信を行うクライアントである。より具体的には、端末装置１０及び管理装置３０は、ＭＱＴＴクライアントとして動作を行う機器である。
【００３４】
ＭＱＴＴのブローカーは、クライアントからのメッセージを受信し、受信したメッセージを該当する宛先クライアントに送信する。クライアントは、事前にどのようなメッセージが欲しいかをブローカーに登録しておく。より具体的には、ＭＱＴＴのメッセージは、トピックとデータで構成される。受信クライアントは欲しいメッセージのトピックをブローカーに登録する。送信クライアントはトピックを指定してブローカーにデータを送信し、ブローカーはクライアントが登録したトピックとメッセージのトピックが一致すると、該当クライアントにメッセージを送信する。
【００３５】
ＭＱＴＴにおいて、各クライアントは送信クライアントと受信クライアントのいずれとしても動作可能である。即ち、情報処理部１００が送信クライアントとなって機器制御部３００へメッセージを送信することと、機器制御部３００が送信クライアントとなって情報処理部１００へメッセージを送信することのいずれも実現可能である。
【００３６】
図５は、ＭＱＴＴを用いた通信経路により、情報処理部１００から機器制御部３００へ制御コマンドを送信する処理シーケンスを説明する図である。まず事前の登録処理が行われる。具体的には、情報処理部１００は、機器制御部３００が送信するトピックをメッセージブローカーに登録する（Ｓ１０１）。以下、機器制御部３００が送信するトピックをトピックＡと表記する。Ｓ１０１の登録により、情報処理部１００は、機器制御部３００からのメッセージを受信できるようになる。同様に、機器制御部３００は、情報処理部１００が送信するトピックをメッセージブローカーに登録する（Ｓ１０２）。以下、情報処理部１００が送信するトピックをトピックＢと表記する。Ｓ１０２の登録により、機器制御部３００は、情報処理部１００からのメッセージを受信できるようになる。なお、Ｓ１０１とＳ１０２の処理はいずれが先に実行されてもよい。また登録処理はＳ１０３以降の処理よりも前に実行されていればよく、具体的な処理タイミングは問わない。
【００３７】
登録処理の後、制御コマンドの送信が行われる。情報処理部１００は、トピックＢを指定して、制御コマンドを含むメッセージをブローカーであるコマンド中継部２２０に送信する（Ｓ１０３）。制御コマンドには、すくなくとも制御対象となる電子機器４００を特定する情報、及び制御内容を特定する情報が含まれる。制御コマンドは、例えば電子機器４００の設定コマンドである。この場合、制御内容を特定する情報とは、設定項目及び設定値を含む情報である。なお、ＭＱＴＴのブローカーはメッセージの記憶機能がないため、ブローカーがメッセージを受信するたびに、データベースサーバー２１である記憶部２１０にメッセージを記憶するようにしてもよい。
【００３８】
ブローカーであるコマンド中継部２２０は、トピックの内容に応じて、クライアントにメッセージを送信する。ここでは、情報処理部１００がトピックＢを設定しているため、コマンド中継部２２０は、Ｓ１０２での登録に従って機器制御部３００にメッセージを送信する（Ｓ１０４）。
【００３９】
機器制御部３００は、制御コマンドを受信すると、制御コマンドの内容に従った電子機器４００の制御を実行する（Ｓ１０５）。以上の処理により、情報処理部１００から機器制御部３００への制御コマンドの送信、及び当該制御コマンドに基づく電子機器４００の制御が可能になる。例えば制御コマンドが電子機器４００の設定コマンドである場合、情報処理部１００から電子機器４００の設定を行うことが可能になる。
【００４０】
第２の通信経路ＣＲ２は、ＭＱＴＴを用いた通信経路であるため、情報処理部１００による制御コマンドメッセージの送信が行われた場合、コマンド中継部２２０の管理により当該メッセージが機器制御部３００へ送信される。即ち、ＭＱＴＴを用いることで、情報処理部１００を起点とした電子機器４００の制御を実現できる。なお、図２に示したファイアーウォールＦＷを考慮すれば、機器制御部３００は、ＭＱＴＴで使用するポートを開放する処理を行う、又は、後述するMQTT over WebSocketを利用することが望ましい。
【００４１】
またコマンド中継部２２０は、機器制御部３００から制御結果を表すログ情報を受信し、当該ログ情報を情報処理部１００に送信する処理を行ってもよい。情報処理部１００においてログ情報を表示することによって、制御コマンドを送信したユーザーに制御結果を通知することが可能になる。
【００４２】
例えば図５に示したように、機器制御部３００は、トピックＡを指定して、制御結果ログを含むメッセージをブローカーであるコマンド中継部２２０に送信する（Ｓ１０６）。コマンド中継部２２０は、トピックの内容に応じて、クライアントにメッセージを送信する。ここでは、機器制御部３００がトピックＡを設定しているため、コマンド中継部２２０は、Ｓ１０１での登録に従って情報処理部１００にメッセージを送信する（Ｓ１０７）。情報処理部１００は、制御結果ログを表示部に表示することでユーザーに提示する（Ｓ１０８）。
【００４３】
なお、以上では第２の通信経路ＣＲ２がＭＱＴＴに従った通信を行う通信経路である例を説明した。ただし、第２の通信経路ＣＲ２は、情報処理部１００と機器制御部３００とが双方向で通信可能な経路であればよく、用いられる通信方式はＭＱＴＴに限定されない。例えば、第２の通信経路ＣＲ２は、ＷｅｂＳｏｃｋｅｔに従った通信を行う通信経路であってもよい。
【００４４】
ＷｅｂＳｏｃｋｅｔは、ウェブアプリケーションにおいて、双方向通信を実現するための通信規格である。ＷｅｂＳｏｃｋｅｔにおいては、サーバーとクライアントが一度コネクションを行った後は、当該コネクション上で情報の送受信が行われる。そのため、新たなコネクションを確立することなく、サーバー側からクライアントへのプッシュ通信が可能になる。
【００４５】
本実施形態に係るコマンド中継部２２０は、ＷｅｂＳｏｃｋｅｔの規格に対応したＷｅｂサーバーであり、情報処理部１００及び機器制御部３００は、ＷｅｂＳｏｃｋｅｔの規格に対応したＷｅｂクライアントである。広く用いられるＷｅｂブラウザーの多くがＷｅｂＳｏｃｋｅｔに対応しており、情報処理部１００及び機器制御部３００は、専用のソフトウェアを追加することなく、ＷｅｂＳｏｃｋｅｔの規格に対応したＷｅｂクライアントとして動作することが可能である。
【００４６】
またＷｅｂＳｏｃｋｅｔにおける通信では、ＨＴＴＰに対応する８０番ポート、或いはＨＴＴＰＳに対応する４４３番ポートが用いられる。これらのポートは、一般的なＷｅｂサーバーとの通信に用いられるため、多くのファイアーウォールにおいて使用が許可されているポートである。即ち、第２の通信経路ＣＲ２をＷｅｂＳｏｃｋｅｔに従った通信を行う通信経路とすることによって、ファイアーウォールによる通信遮断を抑制することが可能になる。
【００４７】
また、ＭＱＴＴとＷｅｂＳｏｃｋｅｔを相互通信する規格であるMQTT over WebSocketが知られている。MQTT over WebSocketでは、ＷｅｂＳｏｃｋｅｔプロトコルを介してＭＱＴＴメッセージが送信される。例えば図５ではＭＱＴＴプロトコルのみを用いる例を示したが、図５の手法においてMQTT over WebSocketプロトコルを用いる変形実施が可能である。この場合、８０番ポート或いは４４３番ポートが用いられるため、ＭＱＴＴ用のポートを開放しなくても、ファイアーウォールによる通信遮断を抑制することが可能である。
【００４８】
３．変形例
以下、いくつかの変形例について説明する。
【００４９】
３．１  電子機器の状態確認
特許文献１等の従来手法では、制御コマンドを送信する際に、制御対象である電子機器４００の状態を十分考慮していない。そのため、電子機器４００の状態によっては、制御を実行することで電子機器４００の動作が妨げられるおそれがあった。例えば、プリンター４０である電子機器４００が印刷中に設定コマンドを送信してしまった場合、印刷が途中で中止されてしまう。
【００５０】
そこで本実施形態のコマンド中継部２２０は、情報処理部１００から受信した制御コマンドを蓄積する処理を行い、制御コマンドの対象である電子機器４００がコマンド実行可能な状態であると判定された場合に、制御コマンドを機器制御部３００に送信する処理を行う。
【００５１】
図６は、処理システム２００を含むシステムの他の構成例を説明する図である。処理システム２００は、記憶部２１０とコマンド中継部２２０に加えて、コマンド蓄積部２３０と、状態確認部２４０を含む。なお、コマンド蓄積部２３０及び状態確認部２４０は、図４のデータベースサーバー２１に含まれてもよいし、コマンドサーバー２２に含まれてもよいし、図４に不図示の他の機器に含まれてもよい。またコマンド蓄積部２３０と状態確認部２４０は、同一の機器に設けられてもよいし、異なる機器に設けられてもよい。
【００５２】
コマンド蓄積部２３０は、制御コマンドの蓄積を行う。コマンド蓄積部２３０は、例えば待ち行列を用いて制御コマンドの蓄積を行う。コマンド中継部２２０は、情報処理部１００からの制御コマンドを受信した場合に、コマンド蓄積部２３０に通知を行うとともに、コマンド蓄積部２３０に制御コマンドを蓄積する処理を行う。またコマンド中継部２２０は、コマンド蓄積部２３０が制御コマンドを蓄積した場合に、状態確認部２４０に電子機器４００の状態を確認させる。
【００５３】
電子機器４００の状態確認は種々の手法により実現できる。例えば機器制御部３００は、電子機器４００の状態情報を収集する。ここでの状態は、例えば「アイドル状態」、「印刷中」、「エラー状態」等の種々の状態を含む。アイドル状態とは、印刷実行可能であるが、印刷ジョブが投入されていない状態である。エラー状態とは、エラーが発生しており、印刷ジョブを実行できない状態である。状態確認部２４０は、電子機器４００の状態情報を取得し、当該状態情報により特定される状態が、コマンド実行可能な状態であるか否かを判定する。例えば、アイドル状態はコマンド実行可能な状態であり、印刷中及びエラー状態はコマンド実行不能な状態と判定される。状態確認部２４０は、コマンド中継部２２０を介した通信により状態情報を取得することが想定されるが、記憶部２１０を介した通信により状態情報を取得することも妨げられない。
【００５４】
そしてコマンド中継部２２０は、状態確認部２４０により電子機器４００がコマンド実行可能な状態であると判定された場合に、制御コマンドを機器制御部３００に送信する。またコマンド中継部２２０は、状態確認部２４０により電子機器４００がコマンド実行不能な状態であると判定された場合、制御コマンドを機器制御部３００に送信せずに所定時間待機し、待機後に、再度状態確認部２４０に電子機器４００の状態を確認させる。
【００５５】
このようにすれば、制御コマンドの送信によって電子機器４００の動作が妨げられることを抑制できる。
【００５６】
図５に示したＭＱＴＴを用いる手法であれば、例えばコマンド蓄積部２３０及び状態確認部２４０は、ＭＱＴＴクライアントとして動作する。そして各クライアントは、メッセージが（１）情報処理部１００（２）コマンド蓄積部２３０（３）状態確認部２４０（４）機器制御部３００、という順序で送信されるように、ブローカーにトピックを登録すればよい。
【００５７】
例えば、情報処理部１００はトピックＡを登録し、機器制御部３００はトピックＢを登録し、コマンド蓄積部２３０はトピックＣを登録し、状態確認部２４０はトピックＤを登録する。
【００５８】
まず情報処理部１００は、トピックＣを指定して制御コマンドを含むメッセージを送信する。コマンド中継部２２０は、トピックに従って当該メッセージをコマンド蓄積部２３０に送信する。コマンド蓄積部２３０は、受信したメッセージに含まれる制御コマンドを蓄積する。
【００５９】
制御コマンドを蓄積したら、コマンド蓄積部２３０は、トピックＤを指定してメッセージを送信する。ここでのメッセージは、制御対象である電子機器４００の状態確認を指示するためのメッセージである。メッセージは、状態確認の対象である電子機器４００を特定する情報を含む。コマンド中継部２２０は、トピックに従って当該メッセージを状態確認部２４０に送信する。このようにすれば、制御コマンドの蓄積をトリガーとして、電子機器４００の状態確認処理が開始される。
【００６０】
状態確認部２４０は、メッセージの受信に基づいて、対象である電子機器４００の状態確認処理を行う。例えば状態確認部２４０は、トピックＢを指定してメッセージを送信する。ここでのメッセージは、制御対象である電子機器４００の状態情報の送信を指示するためのメッセージであり、状態確認の対象である電子機器４００を特定する情報を含む。コマンド中継部２２０は、トピックに従って当該メッセージを機器制御部３００に送信する。機器制御部３００は、メッセージの受信に基づいて、対象である電子機器４００の状態情報を取得、送信する。機器制御部３００は、トピックＤを指定して状態情報を含むメッセージを送信することによって、状態情報を状態確認部２４０へ送信してもよい。或いは機器制御部３００は、状態情報を記憶部２１０に書き込む処理を行い、状態確認部２４０は、記憶部２１０の所定領域を参照することによって状態情報を取得してもよい。
【００６１】
状態確認部２４０は、電子機器４００がコマンド実行可能な状態であると判定した場合、制御コマンドをコマンド蓄積部２３０から読み出し、トピックＢを指定して制御コマンドを含むメッセージを送信する。コマンド中継部２２０は、機器制御部３００にメッセージを送信する。
【００６２】
以上のように、コマンド中継部２２０は、所定の条件が満たされた場合に、その旨を表す通知を行う。上述の例であれば、コマンド中継部２２０は、制御コマンドを受信した場合のコマンド蓄積部２３０への通知、制御コマンドが待ち行列に蓄積された場合の状態確認部２４０への通知、電子機器４００がコマンド実行可能であると判定された場合の機器制御部３００への通知、等の通知を行う。なお、ここでの通知には、機器制御部３００に対して制御コマンドを送信する処理も含まれる。
【００６３】
具体的には、コマンド中継部２２０は、制御コマンドを受信したことを通知する通知処理を行う。通知対象は、図５の例のように機器制御部３００であってもよいし、変形例として上述したようにコマンド蓄積部２３０であってもよい。いずれにせよ、コマンド中継部２２０は、情報処理部１００による制御コマンドの送信をトリガーとして種々の処理を実行できる。これにより、情報処理部１００を起点とする電子機器４００の制御を、適切に実行することが可能になる。
【００６４】
３．２  コマンドサーバーに関する変形例
また以上では、第２の通信経路ＣＲ２が、ＭＱＴＴ又はＷｅｂＳｏｃｋｅｔに従った通信を行う通信経路である例を説明した。具体的には、コマンド中継部２２０を含むコマンドサーバー２２は、ＭＱＴＴのメッセージブローカー又は、ＷｅｂＳｏｃｋｅｔに対応するＷｅｂサーバーである例を説明した。ただし、本実施形態のコマンド中継部２２０は、情報処理部１００と機器制御部３００の双方向での通信や、適切な通知処理を実行可能であればよく、上記の例に限定されない。
【００６５】
例えば、第２の通信経路ＣＲ２は、チャットサーバーによる通信経路である。換言すれば、コマンド中継部２２０を含むコマンドサーバー２２は、チャットサーバーであってもよい。この場合、コマンド中継部２２０の通知処理は、チャットサーバーの通知機能により実現されてもよい。或いは、チャットサーバーのＷｅｂＨｏｏｋ機能を利用し、特定のキーワードが入力されたら事前に指定したＷｅｂＡＰＩ（Web Application Programming Interface）を呼ぶことによって、通知処理が実現されてもよい。
【００６６】
図７は、チャットサーバーを用いる場合の処理シーケンスを説明する図である。まず、情報処理部１００、記憶部２１０、機器制御部３００は、チャットの参加者としてチャットサーバーに登録を行う。なおここでは、データベースサーバー２１が、記憶部２１０とコマンド蓄積部２３０と状態確認部２４０を含む例を説明するが、種々の変形実施が可能である点は上述した通りである。
【００６７】
情報処理部１００は、制御コマンドをチャットサーバーであるコマンド中継部２２０に書き込む（Ｓ２０１）。コマンド中継部２２０は、チャットサーバーの機能を利用して、制御コマンドの書き込みがあったことを参加者に通知する。具体的には、コマンド中継部２２０は、記憶部２１０等を含むデータベースサーバー２１と、機器制御部３００に通知を行う（Ｓ２０２，Ｓ２０３）。
【００６８】
データベースサーバー２１のコマンド蓄積部２３０は、Ｓ２０２の通知に基づいて、制御コマンドを書き込んだのが情報処理部１００だと認識した場合、当該制御コマンドを待ち行列に蓄積する（Ｓ２０４）。ここでは電子機器４００の状態確認を行うことを想定しているため、機器制御部３００は、Ｓ２０３の通知を受けても、情報処理部１００からの制御コマンドの書込みには応答しない。
【００６９】
次にデータベースサーバー２１の状態確認部２４０は、制御コマンドの対象となる電子機器４００がコマンド実行可能な状態か否か確認する。具体的には、状態確認部２４０から機器制御部３００への状態情報の要求（Ｓ２０５）、機器制御部３００から電子機器４００への状態情報の要求（Ｓ２０６）、電子機器４００から機器制御部３００への状態情報の送信（Ｓ２０７）、機器制御部３００から状態確認部２４０への状態情報の送信（Ｓ２０８）、が行われる。Ｓ２０５及びＳ２０８の処理は、コマンド中継部２２０を介して行われてもよいし、データベースサーバー２１と機器制御部３００との間で直接行われてもよい。
【００７０】
状態確認部２４０は状態情報に基づく判定を行い（Ｓ２０９）、制御対象の電子機器４００がコマンド実行可能な場合、コマンド蓄積部２３０に蓄積した制御コマンドをチャットサーバーに書き込む（Ｓ２１０）。図７には不図示であるが、制御対象の電子機器４００がコマンド実行不能な場合、状態確認部２４０は所与の時間待機し、その後、再度状態確認を行う。
【００７１】
コマンド中継部２２０は、チャットサーバーの機能を利用して、制御コマンドの書き込みがあったことを参加者に通知する。具体的には、コマンド中継部２２０は、情報処理部１００と、機器制御部３００に通知を行う（Ｓ２１１，Ｓ２１２）。
【００７２】
機器制御部３００は、Ｓ２１２の通知に基づいて、制御コマンドを書き込んだのがデータベースサーバー２１だと認識した場合、制御コマンドを電子機器４００に送信し、電子機器４００の制御を実行する（Ｓ２１３）。一方、情報処理部１００は、Ｓ２１１の通知を受けても、データベースサーバー２１からの制御コマンドの書込みには応答しない。
【００７３】
なお、以上ではＳ２１０において制御コマンドそのものが書き込まれる例を示したがこれには限定されない。例えば状態確認部２４０は、Ｓ２０１で書き込まれた制御コマンドの参照情報を、Ｓ２１０において書き込んでもよい。ここでの参照情報は、制御コマンドを含む書き込みを特定する情報であってもよいし、書き込み内の制御コマンドそのものを特定する情報であってもよい。この場合、機器制御部３００は、Ｓ２１０で書き込まれた参照情報に基づいて制御コマンドを特定し、特定された制御コマンドの実行処理を行う。図７では、参加者全員が参照可能な形式でチャットサーバーへの書き込みが行われる例を想定しており、機器制御部３００もＳ２０１の制御コマンド書き込みを参照可能であるため、このような変形実施が可能である。
【００７４】
また図５の例と同様に、コマンド中継部２２０は、制御コマンドの実行結果ログを情報処理部１００に送信してもよい。具体的には、機器制御部３００は、制御結果ログをチャットサーバーに書き込む（Ｓ２１４）。コマンド中継部２２０は、チャットサーバーの機能を利用して、制御結果ログの書き込みがあったことを参加者に通知する。具体的には、コマンド中継部２２０は、情報処理部１００と、データベースサーバー２１に通知を行う（Ｓ２１５，Ｓ２１６）。
【００７５】
情報処理部１００は、Ｓ２１６の通知に基づいて、制御結果ログを書き込んだのが機器制御部３００だと認識した場合、制御結果ログを表示部に表示する処理を行う（Ｓ２１７）。一方、データベースサーバー２１は、Ｓ２１５の通知を受けても、機器制御部３００からの制御結果ログの書込みには応答しない。
【００７６】
なお、図７では、チャットサーバーへの書き込みが、参加者全員が参照可能な形式で行われる例を示したが、宛先指定のダイレクトメッセージの形式で書き込みが行われてもよい。また図５を用いて上述したＭＱＴＴやＷｅｂＳｏｃｋｅｔなどを用いる実施形態において、宛先を指定してメッセージを送信する例を説明した、チャットサーバー同様、参加者全員が参照可能な形態でメッセージが送信されてもよい。
【００７７】
また、第２の通信経路ＣＲ２は、メールサーバーによる通信経路であってもよい。換言すれば、コマンド中継部２２０を含むコマンドサーバー２２は、メールサーバーであってもよい。この場合、コマンド中継部２２０の通知処理は、メールサーバーのプッシュ機能により実現されてもよい。
【００７８】
またコマンドサーバー２２としてメールサーバーを用いる場合、宛先アドレスを指定することによって特定の相手に制御コマンド等のメッセージを送信してもよいし、参加者全員のアドレスを指定してもよい。即ち、メールサーバーを用いる場合にも、ＭＱＴＴ／ＷｅｂＳｏｃｋｅｔ、チャットサーバーの例と同様に、通知対象は種々の変形実施が可能である。
【００７９】
なお、図４では記憶部２１０がデータベースサーバー２１により実現され、コマンド中継部２２０がコマンドサーバー２２により実現される例を示した。この際、データベースサーバー２１は、１つのサーバー装置により実現されるものに限定されず、複数のサーバー装置を含むサーバーシステムであってもよい。同様に、コマンドサーバー２２も、１つのサーバー装置であってもよいし、複数のサーバー装置を含むサーバーシステムであってもよい。
【００８０】
また、データベースサーバー２１及びコマンドサーバー２２は、仮想化されたサーバーである仮想サーバーであってもよい。この場合、各仮想サーバーは、同一の物理サーバー上で動作してもよいし、異なる物理サーバー上で動作してもよい。また各サーバーは、通信負荷等をモニタリングすることで動的なスケーリングが行われてもよい。例えば、仮想サーバーの数が動的に変更されてもよい。
【００８１】
即ち、本実施形態の処理システム２００を構成するサーバーは、物理サーバーの数、サーバーを仮想化する場合の仮想サーバーの数、或いは仮想サーバーと物理サーバーとの対応関係に関して、種々の変形実施が可能である。
【００８２】
３．３  制御コマンドに関する変形例
また以上では、制御コマンドが電子機器４００の設定を行う設定コマンドである例を示した。ただし制御コマンドはこれに限定されない。
【００８３】
例えば制御コマンドは、電子機器４００の情報を収集する情報収集コマンドであってもよい。情報収集コマンドとは、狭義には、通常の情報収集タイミングとは異なるタイミングでの情報の収集を機器制御部３００に指示するコマンドである。或いは、通常の情報収集タイミングでは収集対象とならない情報の収集を機器制御部３００に指示するコマンドである。このようにすれば、情報処理部１００は、電子機器４００に関する特定の情報が必要になった場合に、１日１回等の定期的な情報収集タイミングを待たずに、情報を取得することが可能になる。例えば、ユーザーの望む情報をリアルタイムに表示すること等が可能になる。
【００８４】
なお、情報収集コマンドにより収集された情報は、上記の制御結果ログと同様に、コマンド中継部２２０を介した通信経路により情報処理部１００に送信されてもよい。ただし、情報処理部１００と記憶部２１０との間の通信にファイアーウォールが影響することは想定されないため、記憶部２１０に記憶された情報を情報処理部１００が閲覧することは容易である。
【００８５】
よって記憶部２１０は、情報収集コマンドに基づいて機器制御部３００が収集した情報を記憶し、記憶した情報を情報処理部１００に送信してもよい。即ち記憶部２１０は、第１の通信経路ＣＲ１による機器制御部３００と情報処理部１００との間の情報の中継を行ってもよい。
【００８６】
このようにすれば、情報収集コマンドの通信と、当該コマンドに基づく情報の通信を異なる通信経路を用いて実現することが可能になる。特に情報収集コマンドで収集される情報は、定期的に収集される情報と重複するものが多いと考えられる。そのため、第１の通信経路ＣＲ１を用いて当該情報を記憶部２１０に記憶することによって、処理システム２００における情報の記憶を効率的に実現することが可能になる。例えば、定期的に収集される第１情報と同じ種類の情報である第２情報が、情報収集コマンドにより収集された場合に、第２情報を第１情報の記憶領域に上書きすることによって、記憶領域の有効活用が可能である。
【００８７】
３．４  システム、中継装置
また本実施形態の手法の適用対象は上述してきた処理システム２００に限定されない。
【００８８】
例えば本実施形態の手法は、上述してきた処理システム２００と、電子機器４００と、を含むシステムに適用できる。或いは、本実施形態に係るシステムは、処理システム２００と情報処理部１００を含むシステムであってもよいし、処理システム２００と機器制御部３００を含むシステムであってもよい。また、本実施形態に係るシステムは、情報処理部１００、機器制御部３００及び電子機器４００のうちの２以上と、処理システム２００とを含むシステムであってもよい。
【００８９】
図８に示すように、本実施形態の手法は通信部５１と処理部５２を含む中継装置５０に適用できる。通信部５１は、制御対象である電子機器４００の情報を収集する機器制御部３００、及び、機器制御部３００からの情報を記憶する記憶部２１０に記憶された情報に基づく処理を行う情報処理部１００との通信を行う。処理部５２は、通信部５１を制御する。通信部５１は、例えば通信インターフェースであり、処理部５２は、例えばプロセッサーである。
【００９０】
中継装置５０の通信部５１は、情報処理部１００から電子機器４００の制御コマンドを受信する。そして通信部５１は、記憶部２１０を介した情報処理部１００と機器制御部３００との通信経路である第１の通信経路ＣＲ１とは異なる第２の通信経路ＣＲ２で、情報処理部１００と機器制御部３００との間の制御コマンドの中継を行う。
【００９１】
中継装置５０は、例えばコマンドサーバー２２に対応する。上述したように、中継装置５０は、ＭＱＴＴのメッセージブローカーであってもよいし、ＷｅｂＳｏｃｋｅｔに対応するＷｅｂサーバーであってもよいし、チャットサーバーであってもよいし、メールサーバーであってもよい。
【００９２】
なお、本実施形態の処理部５２は、下記のハードウェアにより構成される。ハードウェアは、デジタル信号を処理する回路及びアナログ信号を処理する回路の少なくとも一方を含むことができる。例えば、ハードウェアは、回路基板に実装された１又は複数の回路装置や、１又は複数の回路素子で構成することができる。１又は複数の回路装置は例えばＩＣ等である。１又は複数の回路素子は例えば抵抗、キャパシター等である。
【００９３】
また処理部５２は、下記のプロセッサーにより実現されてもよい。本実施形態の中継装置５０は、情報を記憶するメモリーと、メモリーに記憶された情報に基づいて動作するプロセッサーと、を含む。情報は、例えばプログラムと各種のデータ等である。プロセッサーは、ハードウェアを含む。プロセッサーは、ＣＰＵ（Central Processing Unit）、ＧＰＵ（Graphics Processing Unit）、ＤＳＰ（Digital Signal Processor）等、各種のプロセッサーを用いることが可能である。メモリーは、ＳＲＡＭ（Static Random Access Memory）、ＤＲＡＭ（Dynamic Random Access Memory）などの半導体メモリーであってもよいし、レジスターであってもよいし、ハードディスク装置等の磁気記憶装置であってもよいし、光学ディスク装置等の光学式記憶装置であってもよい。例えば、メモリーはコンピューターにより読み取り可能な命令を格納しており、当該命令がプロセッサーにより実行されることで、中継装置５０の各部の機能が処理として実現されることになる。ここでの命令は、プログラムを構成する命令セットの命令でもよいし、プロセッサーのハードウェア回路に対して動作を指示する命令であってもよい。
【００９４】
以上のように、本実施形態の処理システムは、制御対象である電子機器を制御する機器制御部が含まれるネットワークの外部に設けられる処理システムであって、機器制御部から電子機器の情報を受信し、受信した電子機器の情報を記憶する記憶部と、コマンド中継部を含む。コマンド中継部は、記憶部に記憶された情報に基づく処理を行う情報処理部から電子機器の制御を機器制御部に実行させるための制御コマンドを受信する。コマンド中継部は、記憶部を介した情報処理部と機器制御部との通信経路である第１の通信経路とは異なる第２の通信経路で制御コマンドを送信することにより、情報処理部と機器制御部との間の制御コマンドの中継を行う。
【００９５】
本実施形態では、機器制御部が収集し、記憶部が記憶した情報を、情報処理部において処理するというシステムにおいて、コマンド中継部を設けることによって、情報処理部と機器制御部との間に新たな通信経路を設ける。これにより、情報処理部からの制御コマンドを、適切に機器制御部に送信することが可能になる。
【００９６】
また本実施形態では、コマンド中継部は、情報処理部から受信した制御コマンドを蓄積する処理を行い、制御コマンドの対象である電子機器がコマンド実行可能な状態であると判定された場合に、制御コマンドを機器制御部に送信する処理を行ってもよい。
【００９７】
このようにすれば、電子機器の状態を考慮した制御コマンドの送信が可能になる。例えば、制御コマンドの送信により電子機器の動作が妨げられることを抑制できる。
【００９８】
また本実施形態では、コマンド中継部は、制御コマンドを受信したことを通知する通知処理を行ってもよい。
【００９９】
このようにすれば、制御コマンドの受信をトリガーとして、電子機器を制御するための適切な処理を開始することが可能になる。
【０１００】
また本実施形態では、第１の通信経路は、ファイアーウォールで情報処理部から機器制御部へのアクセスが制限されており、第２の通信経路は、ファイアーウォールで情報処理部から機器制御部へのアクセスが制限されていなくてもよい。
【０１０１】
このようにすれば、通常の通信において機器制御部への不適切なアクセスを抑制するとともに、制御コマンドを適切に機器制御部に送信することが可能になる。
【０１０２】
また本実施形態では、第２の通信経路は、チャットサーバーによる通信経路であってもよい。
【０１０３】
このようにすれば、コマンド中継部をチャットサーバーにより実現できる。既存の構成を利用可能であるため、処理システムの実現が容易である。
【０１０４】
また本実施形態では、第２の通信経路は、メールサーバーによる通信経路であってもよい。
【０１０５】
このようにすれば、コマンド中継部をメールサーバーにより実現できる。既存の構成を利用可能であるため、処理システムの実現が容易である。
【０１０６】
また本実施形態では、第２の通信経路は、ＭＱＴＴ又はＷｅｂＳｏｃｋｅｔに従った通信を行う通信経路であってもよい。
【０１０７】
このようにすれば、コマンド中継部を適切な通信方式を用いて実現できる。
【０１０８】
また本実施形態では、制御コマンドは、電子機器の設定コマンドであってもよい。
【０１０９】
このようにすれば、情報処理部から電子機器の設定を行うことが可能になる。例えば、リモートの情報処理部から電子機器の設定を行うことが可能になる。
【０１１０】
また本実施形態では、制御コマンドは、電子機器の情報を収集する情報収集コマンドであり、記憶部は、情報収集コマンドに基づいて機器制御部が収集した情報を記憶し、記憶した情報を情報処理部に送信することによって、第１の通信経路による機器制御部と情報処理部との間の情報の中継を行ってもよい。
【０１１１】
このようにすれば、情報処理部を起点として電子機器の情報を取得することが可能になる。例えば情報処理部は、特定の情報を任意のタイミングで取得することが可能である。その際、情報収集コマンドと、収集された情報とで通信経路を変えることで、効率的な情報の中継が可能になる。
【０１１２】
また本実施形態は、上記のいずれか一項に記載の処理システムと、電子機器と、を含む制御システムに関係する。
【０１１３】
また本実施形態の中継装置は、制御対象である電子機器を制御する機器制御部、及び、機器制御部から電子機器の情報を受信し、受信した電子機器の情報を記憶する記憶部に記憶された情報に基づく処理を行う情報処理部との通信を行う通信部と、通信部を制御する処理部と、を含む。記憶部は、機器制御部が含まれるネットワークの外部に設けられる。通信部は、電子機器の制御を機器制御部に実行させるための制御コマンドを情報処理部から受信し、記憶部を介した情報処理部と機器制御部との通信経路である第１の通信経路とは異なる第２の通信経路で制御コマンドを送信することにより、情報処理部と機器制御部との間の制御コマンドの中継を行う。
【０１１４】
また本実施形態の通信方法は、制御対象である電子機器を制御する機器制御部が含まれるネットワークの外部に設けられる処理システムにおける通信方法であって、機器制御部から電子機器の情報を受信し、受信した電子機器の情報を記憶する記憶部を介した第１の通信経路で、情報に基づく処理を行う情報処理部に情報を送信する。また、通信方法は、電子機器の制御を機器制御部に実行させるための制御コマンドを情報処理部から受信し、第１の通信経路とは異なる第２の通信経路で制御コマンドを送信することにより、情報処理部と機器制御部との間の制御コマンドの中継を行う。
【０１１５】
なお、上記のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語と共に記載された用語は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。また本実施形態及び変形例の全ての組み合わせも、本発明の範囲に含まれる。また処理システム、データベースサーバー、コマンドサーバー、管理装置等の構成・動作も本実施形態で説明したものに限定されず、種々の変形実施が可能である。
【符号の説明】
【０１１６】
１０…端末装置、２１…データベースサーバー、２２…コマンドサーバー、３０…管理装置、３１…管理装置（比較例）、４０…プリンター、５０…中継装置、５１…通信部、５２…処理部、１００…情報処理部、２００…処理システム、２１０…記憶部、２２０…コマンド中継部、２３０…コマンド蓄積部、２４０…状態確認部、３００…機器制御部、４００…電子機器、ＣＲ１…第１の通信経路、ＣＲ２…第２の通信経路、ＦＷ…ファイアーウォール
【図１】
2020030626.tif 000003
【図２】
2020030626.tif 000004
【図３】
2020030626.tif 000005
【図４】
2020030626.tif 000006
【図５】
2020030626.tif 000007
【図６】
2020030626.tif 000008
【図７】
2020030626.tif 000009
【図８】
2020030626.tif 000010