説明

通信システム、通信装置及びプログラム

【課題】複数の第1の通信装置と、第2の通信装置との間の通信を、ユーザ環境外に配置する仲介装置によって仲介させる通信システムを、円滑に運用できるようにする。
【解決手段】 管理装置40との通信に仲介装置30による仲介を受ける通信装置10において、その通信装置10が使用可能な各通信方式について、その通信方式で管理装置40と通信する場合に通信すべき相手の第1のアドレス情報を記憶させておき、管理装置40との通信に用いる通信方式の選択を受け付け(S102)、その選択がされた場合に、選択された通信方式と対応させて記憶している第1のアドレス情報に従って通信先と通信し(S103)、その通信に応じて通信先から送信されてきた第2のアドレス情報を記憶し(S106)、管理装置40と通信する場合に、その第2のアドレス情報が示す仲介装置30Aに仲介を受ける(S107)ようにした。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、複数の第1の通信装置と、第2の通信装置と、上記複数の第1の通信装置と第2の通信装置との間の通信を仲介する複数の仲介装置と、上記第1の通信装置に対し、上記第2の通信装置との間の通信を仲介させる仲介装置を上記複数の仲介装置の中から割り当てる割当装置とを備える通信システム、所定の相手先装置との通信に仲介装置による仲介を受ける通信装置、およびコンピュータをこのような通信装置として機能させるためのプログラムに関する。
【背景技術】
【0002】
従来から、例えば特許文献1に見られるように、ユーザ環境に配置した複数の画像形成装置と、その画像形成装置を管理する管理装置とがインターネットを介して通信する遠隔管理システムを構成する場合に、ユーザ環境に、画像形成装置と管理装置との通信を仲介する仲介装置を設け、画像形成装置と管理装置とがこの仲介装置を介して通信を行うようにすることが知られている。
【0003】
ユーザ環境には通常ファイアウォールが設けられており、外部からのアクセスが制限されるが、例えばこの仲介装置が定期的に管理装置にアクセスして、管理装置から複数の画像形成装置へ送信すべきコマンドをまとめて取得し、これを各画像形成装置へ送信する等することにより、ファイアウォールを跨いだコマンドやその応答結果の送受信を効率よく行うことができる。
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上述のように仲介装置をユーザ環境に配置するとすると、少なくとも仲介装置を物理的にユーザのオフィス等へ配送して設置する手間が必要となる。また、通信を仲介すべき管理対象装置の台数が増えた場合、それに見合った仲介機能を有する仲介装置に交換したり、仲介装置の台数を増やしたりする必要もある。仲介装置のメンテナンスも、仲介装置側からのアクセスをトリガとして仲介装置にアップデート用のファームを転送する等して遠隔で行う必要があり、必ずしも柔軟性の高い対応が可能とは言えなかった。
【0005】
このような問題を解決するためには、ネットワーク構成上も物理的にも、仲介装置を、遠隔管理サービスの提供者が容易に管理できる場所に置くことが好ましい。すなわち、例えばいわゆるクラウドサービスとして、仲介機能を提供することが考えられる。この場合、仲介装置から管理対象装置へのアクセスは自由に行えなくなるが、管理対象装置が定期的に仲介装置にアクセスして、該仲介装置にプールしておいた、管理装置からその管理対象装置へ送信すべきコマンドを取得するようにすれば、管理対象装置と管理装置との間でのコマンドの送受信は、仲介装置がユーザ環境にある場合と概ね同様に行うことができる。また、管理装置は、複数の管理対象装置に送信するコマンドをまとめて仲介装置にプールさせ、後の処理を委託できるので、管理装置の処理負荷低減も、仲介装置がユーザ環境にある場合と概ね同様に可能である。
【0006】
しかし、ユーザ環境外に仲介装置を配置した場合、管理対象装置から見れば、仲介装置へのアクセスは、ユーザ環境の外部へのアクセスに当たる。このため、管理対象装置が配置される環境やセキュリティポリシーによって、仲介装置へのアクセスに使用できる通信方式が制限される場合がある。そして、仲介装置が通信に使用する通信方式がユーザ環境において使用できない場合、遠隔管理サービスを提供できないという問題があった。
また、低コストの管理対象装置の場合、ハードウェアリソースの制約により、負荷の大きい通信方式は使用できないといった制約があることもある。この場合も、仲介装置が通信に使用する通信方式が使用できなければ、同様に遠隔管理サービスを提供できないという問題があった。
【0007】
このような問題は、遠隔管理システムを構成する場合に限らず、複数の第1の通信装置と、第2の通信装置との間の通信を、ユーザ環境外に配置する仲介装置によって仲介させる場合には、同様に発生するものである。
この発明は、このような問題を解決し、複数の第1の通信装置と、第2の通信装置との間の通信を、ユーザ環境外に配置する仲介装置によって仲介させる通信システムを、円滑に運用できるようにすることを目的とする。
【課題を解決するための手段】
【0008】
上記目的を達成するため、この発明の通信システムは、複数の第1の通信装置と、第2の通信装置と、上記複数の第1の通信装置と第2の通信装置との間の通信を仲介する複数の仲介装置と、上記第1の通信装置に対し、上記第2の通信装置との間の通信を仲介させる仲介装置を上記複数の仲介装置の中から割り当てる割当装置とを備える通信システムにおいて、上記複数の第1の通信装置の各々に、上記第2の通信装置と複数の通信方式で通信を行うための通信手段と、上記複数の通信方式のそれぞれについて対応する割当装置の第1のアドレス情報を記憶する第1の記憶手段と、上記複数の通信方式のいずれかを、上記第2の通信装置との通信に用いる通信方式として選択する選択手段と、上記選択手段が通信方式を選択した場合に、その通信方式を用い、上記第1の記憶手段が記憶しているその通信方式と対応する第1のアドレス情報に従って上記割当装置と通信する第1の通信制御手段と、その第1の通信制御手段の通信に応じて上記割当装置から送信されてきた第2のアドレス情報を記憶する第2の記憶手段と、上記選択手段が選択した通信方式により上記第2の通信装置と通信する場合に、上記第2の記憶手段が記憶している第2のアドレス情報が示す上記仲介装置と通信してその仲介を受ける第2の通信制御手段とを設け、上記第2の通信装置に、上記複数の仲介装置のそれぞれと通信を行うための通信手段を設け、上記割当装置に、上記第1の通信装置の上記第1の通信制御手段からの通信を受けた場合に、その通信に用いられた通信方式に基づき、その第1の通信装置の通信を仲介する仲介装置を定め、その仲介装置のアドレス情報を上記第2のアドレス情報としてその第1の通信装置に送信する通信先通知手段を設け、上記複数の仲介装置の各々に、上記第1の通信装置が使用可能な通信方式のいずれかで上記第1の通信装置と通信を行うための第1の通信手段と、上記第2の通信装置と通信を行うための第2の通信手段と、上記第1の通信手段が上記第1の通信装置から受信した上記第2の通信装置宛のデータを、上記第2の通信手段を用いて上記第2の通信装置に送信し、上記第2の通信手段が上記第2の通信装置から受信した上記第1の通信装置宛のデータを、上記第1の通信手段を用いて宛先の上記第1の通信装置に送信する仲介手段とを設けたものである。
【発明の効果】
【0009】
以上のような構成によれば、複数の第1の通信装置と、第2の通信装置との間の通信を、ユーザ環境外に配置する仲介装置によって仲介させる通信システムを、円滑に運用できるようにすることができる。
【図面の簡単な説明】
【0010】
【図1】この発明の通信システムの第1の実施形態の概略構成を示す図である。
【図2】図1に示した通信装置のハードウェア構成を示す図である。
【図3】同じくそのソフトウェア構成を示す図である。
【図4】図1に示した仲介装置のソフトウェア構成を示す図である。
【図5】図1に示した通信システムにおける遠隔管理の動作において通信装置とセンター通信装置との間で行う典型的な通信の手順を示す図である。
【図6】その別の例を示す図である。
【図7】図1に示した通信装置が表示させる設定画面の例を示す図である。
【図8】第1の実施形態の第1の動作例を示すシーケンス図である。
【図9】その別の図である。
【図10】第1の実施形態の第2の動作例を示すシーケンス図である。
【図11】その別の図である。
【図12】そのさらに別の図である。
【図13】第1の実施形態の第3の動作例を示すシーケンス図である。
【図14】その別の図である。
【図15】第1の実施形態の第4の動作例を示すシーケンス図である。
【図16】その別の図である。
【図17】第1の実施形態の第5の動作例を示すシーケンス図である。
【図18】第1の実施形態の第6の動作例を示すシーケンス図である。
【図19】この発明の通信システムの第2の実施形態の概略構成を示す図である。
【図20】第2の実施形態の第1の動作例を示すシーケンス図である。
【図21】第2の実施形態の第2の動作例を示すシーケンス図である。
【図22】第2の実施形態の第3の動作例を示すシーケンス図である。
【図23】第2の実施形態の第4の動作例を示すシーケンス図である。
【図24】その別の図である。
【図25】第2の実施形態の第5の動作例を示すシーケンス図である。
【図26】その別の図である。
【図27】第2の実施形態の第6の動作例を示すシーケンス図である。
【図28】その別の図である。
【図29】第2の実施形態の第7の動作例を示すシーケンス図である。
【図30】その別の図である。
【図31】この発明の通信システムの変形例の概略構成を示す図である。
【発明を実施するための形態】
【0011】
以下、この発明を実施するための最良の形態を図面に基づいて具体的に説明する。
〔第1の実施形態:図1乃至図18〕
まず、この発明の通信システムの第1の実施形態について説明する。
図1は、その通信システムの概略構成を示す図である。
【0012】
図1に示す通信システムは、LAN(ローカルエリアネットワーク)環境Aに配置された、この発明の通信装置の実施形態(通信システムにおける第1の通信装置)である通信装置10A,10B(個体を区別する必要がない場合にはアルファベットを付さない符号を用いる、以下他の符号についても同じ)と、第2の通信装置であるセンター通信装置40と、これらの通信装置10とセンター通信装置40との間の通信を仲介する仲介システムMとを備える。ここでは、この通信システムは遠隔管理システムとして構成し、センター通信装置40は、複数の通信装置10を遠隔管理する管理装置として機能する。
【0013】
また、仲介システムMは、通信装置10とセンター通信装置40との間の通信を仲介する複数の仲介装置30A,30Bを備える。
これらの仲介装置30A,30Bは、それぞれ割当部31A,31B及び仲介部32A,32Bを備える。これらのうち割当部31A,31Bが、各通信装置10に、センター通信装置40との間の通信を仲介させる仲介装置を割り当てる割当装置としての機能を備える。仲介部32A,32Bが、通信装置10とセンター通信装置40との間の通信を仲介する機能を備える。
【0014】
ここでは、説明を簡単にするため、各割当部31A,31Bが通信装置10に割り当てるのは、その割当部を備える仲介装置30A,30B自身のみとしている。しかし、後の第2の実施形態で述べる割当装置20のように、割当部31A,31Bがその割当部を備える仲介装置30A,30B以外の仲介装置30を通信装置10に割り当てるようにすることも、もちろん可能である。
【0015】
また、通信装置10は、インターネットNを介していずれかの仲介装置30と通信し、その仲介装置30に、センター通信装置40との間の通信の仲介を受ける。この場合、通信装置10からセンター通信装置40に送信すべき情報(通知、コマンド、コマンドの実行結果など)は、通信装置10から仲介装置30にアクセスして仲介装置30へ送信し、仲介装置30がその情報をセンター通信装置40に転送することができる。もちろん、仲介装置30にある程度の数や期間プールしてからこの転送を行うようにしてもよい。
【0016】
しかし、LAN環境Aには通常はファイアウォールが設けられており、仲介装置30から通信装置10にアクセスすることはできない。そこで、センター通信装置40から通信装置10に送信すべき情報については、一旦仲介装置30にプールしておき、通信装置10が仲介装置30に定期的なアクセス(ポーリング)を行い、その際にプールされている情報の中から自装置宛の情報を取得する、という手順で伝送を行う。もちろん、通信装置10からセンター通信装置40に情報を送信するために仲介装置30にアクセスした際に、自装置宛ての情報を取得することも可能である。
【0017】
なお、通信装置10は、センター通信装置40との通信に係る機能が有効になった場合(初めにその通信に係る機能を提供するアプリケーションがインストールされた場合や、インターネットNに接続された状態でそのアプリケーションが起動された場合や、そのアプリケーションが起動された状態でインターネットNに新たに接続された場合等)に、いずれかの仲介装置30の割当部31にアクセスし、センター通信装置40と通信する際にその仲介を担当する仲介装置30の割り当てを受ける。
【0018】
この割当部31へのアクセスは、URL(Uniform Resource Locator)やIP(Internet Protocol)アドレス等のアドレス情報(第1のアドレス情報)や、必要であればID、パスワードなどの識別情報に基づき行うが、この情報は予め通信装置10に記憶させておく。なお、通信装置10には、後述のように使用する通信方式が異なる複数の通信手段を導入可能であるが、このアドレス情報や識別情報の記憶は、通信方式毎に行う(ただし複数の通信方式について共通の情報を用いることもあり得る)。
【0019】
また、割当部31へのアクセスに応じて、該割当部31から、仲介を担当する仲介装置30の仲介部32にアクセスするために必要なアドレス情報(第2のアドレス情報)や、必要であれば識別情報を取得し、以後それに基づいて仲介装置30の仲介部32にアクセスする。
【0020】
図1には、通信装置10Aに仲介装置30Aが、通信装置10Bに仲介装置30Bがそれぞれ割り当てられた状態を示しているが、1台の仲介装置を複数の通信装置に割り当てることももちろん可能である。割当部31は、その割り当ての内容を記憶しておき、必要に応じてセンター通信装置40に通知する。
また、仲介部32も、割当部31からの通知あるいは通信装置10からのアクセスに基づき、どの通信装置10について通信の仲介を行っているかの情報を把握しておくことが好ましい。
【0021】
さらに、センター通信装置40は、管理対象(通信相手)となる全ての通信装置10について、その通信装置10がどの仲介装置30に通信の仲介を受けるのかを示す対応関係を管理している。通信装置10に情報を送信しようとする場合、その通信装置10の通信を仲介している仲介装置30に情報を送信してプールさせる必要があるためである。
【0022】
この対応関係の管理は、実際にどの仲介装置30を介して通信装置10から情報が送信されてきたか、に基づいて随時更新することが好ましい。後述するように、通信装置10に対する仲介装置30の割り当ては、随時変更されるものだからである。
【0023】
また、センター通信装置40において管理対象を信頼性よく管理できるよう、通信装置10は、初めにセンター通信装置40と(仲介装置30を介して)通信を行う際に、センター通信装置40に管理対象(通信相手)として登録を受ける。また、通信装置10は、センター通信装置40との通信に係る機能を無効にして管理対象から離脱する場合には、それに先立って自動的にセンター通信装置40と通信を行い、自身の登録を削除させる。
【0024】
以上のような通信に係る通信装置10の機能は、初めから通信装置10に組み込んでおいてもよいが、通信装置10が備えるOS(Operating System)等のプラットフォーム上で動作するソフトウェアを開発するためのSDK(Software Development Kit)を用いて開発される、SDKアプリケーションとして提供することが望ましい。このようにすれば、センター通信装置40や仲介装置30のメーカーが提供する通信装置10のみならず、他社が提供する通信装置10にも、容易にセンター通信装置40との通信に係る機能を付加し、遠隔管理の対象とすることができる。
【0025】
なお、LAN環境Bに備える通信装置50、ローカル仲介装置60及び仲介機能付通信装置70は、背景技術の項で説明した、ユーザ環境に仲介装置を配置する遠隔管理システムを構成するものである。通信装置50は、同じLAN内に配置されたローカル仲介装置60の仲介によりセンター通信装置40と通信し、仲介機能付通信装置70は、自身が備えるローカル仲介装置60と同等の仲介機能を用いた仲介によりセンター通信装置40と通信する。そして、通信のシーケンスは異なるものの、LAN環境Aに備える通信装置10の場合と概ね同様に、センター通信装置40による遠隔管理を受けることができる。
【0026】
次に、図1に示した通信システムを構成する装置のハードウェア構成について説明する。
図2に、通信装置10のハードウェア構成を示す。
図2に示すように、通信装置10は、少なくともCPU11、メモリ12及び通信インタフェース(I/F)13を備え、これらがシステムバス17により接続されている。
【0027】
このうちCPU11は、通信装置10全体を制御する制御手段であり、メモリ12に記憶された種々のプログラムを実行することにより、種々の機能を実現する。
メモリ12は、CPU11が実行するプログラムや固定的なパラメータ等を記憶する不揮発性記憶手段、一時的に使用するデータを記憶したり、CPU11のワークメモリとして使用したりする記憶手段、装置の電源がOFFされた後でも保持しておく必要があるパラメータの値等を記憶するフラッシュメモリやHDD(ハードディスクドライブ)等による書き換え可能な不揮発性記憶手段等により構成される。
【0028】
通信I/F13は、通信装置10をネットワークに接続するためのインタフェースであり、例えばイーサネット(登録商標)方式の通信を行うためのネットワークインタフェースとすることができる。なお、通信経路や使用するプロトコルについては、有線無線を問わず任意のものでよい。ただし、暗号化や認証等を利用した安全な通信経路であることが好ましい。
【0029】
また、通信装置10は、必要な機能に応じて表示器14、操作部15及びエンジン部16を備える。
表示器14は、ユーザにメッセージやGUI(Graphical User Interface)等を表示したり、装置の動作状況を知らせたりするためのディスプレイやランプ等である。
操作部15は、ユーザからの操作を受け付けるためのスイッチ、タッチパネル、キーボード、ポインティングデバイス等である。
【0030】
エンジン部16は、他の各部以外で外部に対して物理的な入出力を行う手段を総称したものであり、例えば通信装置10がレーザプリンタであれば、電子写真方式で画像形成を行うプリントエンジンがこれに該当する。通信装置10がスキャナであれば、画像読み取りを行うスキャナエンジンがこれに該当する。
仲介装置30及びセンター通信装置40も、図2に示した範囲でのハードウェア構成は通信装置10と同様であるので、これらについての説明は省略する。ハードウェアとしては、公知のコンピュータも採用することができる。
【0031】
次に、図3に、通信装置10のソフトウェア構成を示す。
図3に示すように、通信装置10は、通信プロトコルライブラリ101、データ形式ライブラリ102、セキュリティライブラリ103、イベント管理ライブラリ104、遠隔管理SDKアプリ105、設定データ106、機種依存吸収モジュール107、SDK_I/F108、プラットフォーム109、UI(ユーザインタフェース)制御モジュールを備える。
【0032】
このうち通信プロトコルライブラリ101は、インターネットNを含むネットワークを介した通信に関する機能を実現するためのプログラムを集めたライブラリである。図3には、プロトコルA〜Cのそれぞれについて、そのプロトコルを用いた通信機能を実現するためのプログラムが登録された例を示している。このように、通信プロトコルライブラリ101には、特定のプロトコルを用いた通信機能を実現するためのプログラムを、任意の数インストールし、その機能を通信装置10に導入することができる。逆に削除することもできる。なお、ここで利用可能なプロトコルには、例えばHTTPS(HTTP over SSL/TLS)や、電子メール用プロトコル等が考えられる。
【0033】
データ形式ライブラリ102は、インターネットNを含むネットワークを介して相手先装置に送信するデータの記述及び解釈に関する機能を実現するためのプログラムを集めたライブラリである。図3には、データ形式a〜cのそれぞれについて、そのデータ形式のデータを記述及び解釈する機能を実現するためのプログラムが登録された例を示している。このように、データ形式ライブラリ102には、特定の形式のデータの記述及び解釈の機能を実現するためのプログラムを、任意の数インストールし、その機能を通信装置10に導入することができる。逆に削除することもできる。なお、ここで利用可能なデータ形式には、例えばSOAP、XML(Extensible Markup Language)、テキスト等が考えられる。
【0034】
なお、以上のプロトコルとデータ形式は1対1に対応するようなものではなく、例えばHTTPSと電子メールのどちらのプロトコルを用いても、SOAP、XML及びテキストのいずれのデータ形式で記述したデータをも相手先装置に送信することができる。
【0035】
通信装置10は、仲介装置30と通信を行う際には、通信プロトコルライブラリ101及びデータ形式ライブラリ102に登録されているプログラムにより利用可能であるものから、何らかの指示従って又は自動で、通信に使用するプロトコル及びデータ形式を選択する。ここでは、この使用するプロトコルとデータ形式の組み合わせにより、「通信方式」が規定されるとする。なお、通信方式を一旦選択した後は、その選択を変更するまでは、仲介装置30との通信はその通信方式を用いて行う。
【0036】
次に、セキュリティライブラリ103は、装置間の認証及び装置を操作するユーザの認証や、通信の暗号化に関する機能を実現するためのプログラムを集めたライブラリである。
イベント管理ライブラリ104は、通信装置10において発生したイベントや、外部から受信したコマンドや通知等のイベントを管理する機能を実現するためのプログラムを集めたライブラリである。
【0037】
遠隔管理SDKアプリ105は、通信装置10において発生したイベントをセンター通信装置40に通知したり、センター通信装置40から受信したコマンドに従った動作を通信装置10の各部に実行させたりすることにより、センター通信装置40による遠隔管理を受ける機能を実現するためのアプリケーションである。この遠隔管理SDKアプリ104は、通信プロトコルライブラリ101、データ形式ライブラリ102、セキュリティライブラリ103及びイベント管理ライブラリ104が提供する機能を適宜利用しつつ、上述したような、仲介装置30を介してセンター通信装置40との通信を行うことにより遠隔管理を受ける機能を実現する。
【0038】
設定データ106は、遠隔管理SDKアプリ105が参照する、センター通信装置40との通信に使用するパラメータである。これには、アクセスすべき仲介装置30のアドレスや、ポーリングの周期等が含まれる。これらのデータは、通信装置10に常に保存しておいてもよいが、遠隔管理SDKアプリ105が起動された際に、仲介装置30にアクセスしてそこからダウンロードしてもよい。
【0039】
このようにすれば、遠隔管理SDKアプリ105が起動されていない状態では、通信装置10側に、遠隔管理SDKアプリ105が使用するデータを記憶するためのメモリを用意する必要がないため、遠隔管理を受ける機能と通信装置10のその他の機能との独立性を高めることができる。
なお、初めにアクセスすべき仲介装置30の割当部31のアドレスは、遠隔管理SDKアプリ105のプログラム中に記載したり、通信装置10全体で使用するパラメータの一部として記憶させる等して、遠隔管理SDKアプリ105が起動時に取得できるようにしておく。
【0040】
機種依存吸収モジュール(ラッパー)107は、データフォーマットやパラメータの項目等に関する通信装置10の機種による変動を吸収し、遠隔管理SDKアプリ105を、広範な機種の通信装置10で動作させることができるようにするためのモジュールである。例えば、遠隔管理SDKアプリ105によりセンター通信装置40に送信する通知には、必ず含まれていなければならない固定のパラメータがあるので、SDK_I/F108から提供されるパラメータの名称がそれと異なる場合には、機種依存吸収モジュール107が、これを遠隔管理SDKアプリ105の要求に合わせて名称変更する処理を行う。
【0041】
プラットフォーム109は、通信装置10が備えるOS(Operating System)等が提供する、通信装置10の制御のための環境であり、SDK_I/F108は、プラットフォーム109に対してアクセスするソフトウェアを開発するために提供されたAPI(Application Program Interface)である。
UI(ユーザインタフェース)制御モジュール110は、ユーザから各種指示や設定操作を受け付けるためのUIを制御する機能を有する。このUIを介して受け付けた操作に従い、設定データ106を更新することができる。
【0042】
次に、図4に、仲介装置30のソフトウェア構成を示す。
図4に示すように、仲介装置30は、機器通信モジュール301、センター通信クライアントモジュール302、センター通信サーバモジュール303、セキュリティ・認証モジュール304、機器管理・割当モジュール305、WebUI(ウェブユーザインタフェース)306、機器管理DB(データベース)307、設定パラメータ308、スケジューラ309、コマンドプール310を備える。
【0043】
このうち機器通信モジュール301は、通信装置10との間の通信を行うための機能を実現するモジュールである。ここでは、通信装置10はファイアウォールの内側にあることを前提としており、機器通信モジュール301は、通信装置10からのアクセス(通信要求)を受けて、それに対する応答を返すというサーバの動作を行う。
【0044】
また、機器通信モジュール301には、通信装置10にプログラムをインストールして利用させることができる通信方式の少なくとも1つを用いて通信を行う機能を備えている。図4の例では、少なくともプロトコルAとデータ形式aを用いる通信方式に係る機能を備えている。
後述のように、各仲介装置30は、その仲介装置30が対応可能な通信方式を利用する通信装置10に割り当てるようにしているため、通信装置10が利用可能な全ての通信方式に対応する機能を備えている必要はない。
【0045】
センター通信クライアントモジュール302は、仲介装置30がクライアントとしてセンター通信装置40にアクセスしてセンター通信装置40と通信を行うための機能を実現するモジュールである。同様に、センター通信サーバモジュール303は、仲介装置30がサーバとしてセンター通信装置40からアクセスを受けてセンター通信装置40と通信を行うための機能を実現するモジュールである。
【0046】
ここでは、仲介装置30とセンター通信装置40とは、同じ管理者が管理しており、どちらからもアクセスを行うことができることを前提としているため、このような構成としているが、一方からしかアクセスを行えない環境の場合、その方向の通信を行うためのモジュールのみとしてもよい。
【0047】
なお、この実施形態においては、全ての仲介装置30は、センター通信装置40との間の通信を、共通の通信方式により行う。例えば、プロトコルがHTTPSでデータ形式がSOAPの通信形式である。このようにすることにより、センター通信装置40において、どの仲介装置30と通信するかに応じて通信方式の切り換えを行う必要がなくなるため、センター通信装置40の処理負荷を低減することができる。
【0048】
一方、仲介装置30が通信装置10との間の通信に用いる通信方式と、上記共通の通信方式とが異なる場合がある。仲介装置30は、このような場合には、通信装置10から受信したセンター通信装置40宛のデータを、必要に応じて上記共通の通信方式に従った形式のデータに変換してからセンター通信装置40に送信する。逆に、センター通信装置40から受信した通信装置10宛のデータを、必要に応じてその通信装置10との間の通信に用いる通信方式に従った開式のデータに変換してから通信装置10に送信する。
このように仲介装置30が通信方式の違いを吸収することにより、通信装置10側では、ユーザが選択した任意の通信方式を利用可能であり、ユーザ環境に応じて好適な通信方式を自由度高く選択することができる。
【0049】
セキュリティ・認証モジュール304は、装置間の認証及び装置を操作するユーザの認証や、通信の暗号化に関する機能を実現するためのモジュールである。
機器管理・割当モジュール305は、他の各部の機能を利用して、センター通信装置40と通信装置10との間の通信を仲介することにより、センター通信装置40が通信装置10を管理できるようにするための機能を実現するためのモジュールである。具体的には、センター通信装置40からファイアウォールの内側の通信装置10に対して情報を送信できるようにすると共に、通信装置10からセンター通信装置40に対する情報の送信も、センター通信装置40に過度な負荷をかけずに行えるように、通信のタイミングや情報伝送状況の管理を行う。その詳細については、後述する。
【0050】
また、機器管理・割当モジュール305は、各通信装置10に、センター通信装置40との間の通信を仲介させる仲介装置30を割り当てる割当機能も実現する。具体的には、通信装置10からアクセスされ、仲介装置の割り当てを要求された場合に、その通信装置10とセンター通信装置40との間の通信を仲介させる仲介装置30のアドレス情報を、要求元の通信装置10に通知する。その詳細については、後述する。
【0051】
WebUI306は、外部からウェブブラウザにより仲介装置30にアクセスして、機器管理DB307の情報を参照したり必要な設定を行ったりするためのユーザインタフェースを提供するモジュールである。
機器管理DB307は、仲介装置30が通信の仲介を行っている通信装置10の情報を管理するためのデータベースである。
【0052】
設定パラメータ308は、通信装置10及びセンター通信装置40と通信を行う際に使用するパラメータである。例えば、通信装置10から受信した情報をセンター通信装置40に転送するタイミング等の情報が含まれる。
スケジューラ309は、センター通信装置40に対して各種通知を行うタイミングや、センター通信装置40から受信したコマンドのタイムアウト等のタイミング管理を行う機能を提供する。
【0053】
コマンドプール310は、センター通信装置40から受信した通信装置10宛の情報(コマンドに限らず通知や応答等も含む)や、通信装置10から受信したセンター通信装置40宛の情報を、宛先に転送するまで一時的にメモリに蓄積しておく機能を提供する。
なお、センター通信装置40の機能については、後にシーケンス図を用いて詳述する。
【0054】
次に、仲介装置30が仲介する通信装置10とセンター通信装置40との間の通信の手順について説明する。なお、以降の説明では、図1に示した通信システムを、センター通信装置40が通信装置10を管理する遠隔管理システムとして構成した場合を例として採り上げ、センター通信装置40は、「管理装置40」と呼ぶことにする。また、通信装置10は、コピー機やプリンタ、MFP(デジタル複合機)等の画像形成装置であるとする。
【0055】
図5及び図6に、遠隔管理の動作において通信装置10と管理装置40との間で行う典型的な通信の手順を示す。なお、これらの図には、管理装置40と連携して通信装置10のユーザに対するサービスの提供又はその支援を担う他システム80も示した。例えばメーカーのサービス拠点に備えるシステムがこの他システム80に該当する。
【0056】
図5(a)は、通信装置10が管理装置40に対して行う定期的な通知の例である。
この場合、通信装置10は、予め指定された時刻になると、印刷枚数を示すカウンタ情報や、ジャム等の異常の発生回数、トナーの消費量等の必要な情報を収集し、管理装置40宛ての情報通知あるいは状態通知として仲介装置30に送信する(S11)。この収集は、遠隔管理SDKアプリ105が、機種依存吸収モジュール107及びSDK_I/F108を介してプラットフォーム109に所望のパラメータの値を要求して行うことができる。
【0057】
そして、仲介装置30は受信した通知を管理装置40に転送する(S12)。この転送は、直ちに行っても、ある程度の数の通信装置10からの通知が溜まってからまとめて行ってもよい。
管理装置40は、この通知を受け取ると、通知された情報を、通信装置10の動作状況を示す情報として蓄積しておく(S13)。そして、他システム80が適当なタイミングで管理装置40にアクセスしてこの情報を取得し(S14)、顧客に送付する通信装置10の動作状況レポート作成や、カウント値に基づく課金等に利用する。
【0058】
なお、ここでは図示を省略したが、通信装置10からの通知を仲介装置30が受信した場合に、通信装置10に対してその旨を示す応答を返すようにしてもよい。また、管理装置40が通信装置10からの通知に基づく処理を完了した場合に、その旨を示す応答を仲介装置30を介して通信装置10に返すようにしてもよい。
【0059】
図5(b)は、通信装置10が管理装置40に対して行う緊急性のある通知の例である。
この場合、通信装置10は、管理装置40に通知する必要のある異常(直ちに装置の修理が必要な異常など)を検出すると、その内容を通知するため管理装置40宛ての異常通知を仲介装置30に送信する(S21)。そして、仲介装置30はこの通知をただちに管理装置40に転送する(S22)。そして、管理装置40はこの通知を受けると、通知された異常の内容を含む修理担当派遣依頼を生成して通信装置10を担当するサービス拠点の他システム80に対して送信する(S23)。サービス拠点では、この通知に基づき、顧客への連絡や修理担当派遣を行うことができる。
トナー切れ等のサプライエンドの場合にも、同様な手順(S24〜S26)で、サプライの自動発注を行うことができる。
【0060】
図5(c)は、管理装置40から通信装置10に対してコマンド等を送信する場合の例である。
サービス拠点等において、特定の通信装置10で故障が頻発している場合や、顧客から修理の依頼があった場合等に、通信装置10にアクセスしてその動作状況を示すデータを取得したり、通信装置10の設定を変更したり、通信装置10に何らかの動作(テストなど)を行わせたい場合がある。このような場合、他システム80が管理装置40に対し、通信装置10にそれらを実行させる要求を送信することを指示する(S31)。
【0061】
管理装置40は、この指示に応じて通信装置10宛ての要求を生成し、その通信装置10の通信を仲介している仲介装置30に対して送信する(S32)。仲介装置30は、この要求をプールしておき(S33)、通信装置10からポーリングがあった場合(S34)に、そのポーリングに対する応答として、プールしておいたその通信装置10宛の要求を、通信装置10に転送する(S35)。もちろん、ステップS11やS21のような通知送信のためのアクセスがあった際に要求の転送を行ってもよい。
【0062】
いずれにしろ、管理装置40からの要求を受信した通信装置10は、その要求に応じた処理を行って(S36)その結果を示す結果通知を生成し、受信した要求に対する(管理装置40宛ての)応答として、仲介装置30に送信する(S37)。仲介装置30は、この応答を、ステップS12又はS22の場合と同様、管理装置40に転送する(S38)。
管理装置40は、受信した応答に基づき、ステップS31の指示元の他システム80に対して動作の結果を通知する(S39)。
以上により、サービス拠点等において通信装置10の状態を把握することができる。なお、管理装置40が自律的に通信装置10に何らかの動作を要求してもよいことはもちろんである。
【0063】
図6(a)は、仲介装置30のファーム(ファームウェア)を更新する場合の例である。
遠隔管理システムの運用者が仲介装置30のバージョンアップされたファームを入手すると、他システム80を通じて管理装置40に対して仲介装置30のファーム更新指示を行う(S51)。このとき、管理装置40に更新用のファームを記憶させ、仲介装置30からダウンロードできるようにする。
【0064】
管理装置40は、自身と通信を行う(又はそのうち更新が必要な)全ての仲介装置30に対し、仲介装置30宛てのファーム更新要求を送信する(S52)。この要求を受信した仲介装置30は、自身宛の要求であるので自身でその要求に応じた処理を実行し、管理装置40にアクセスして更新用のファームをダウンロードする(S53)と共に、ファームの更新を行う(S54)。そして、更新結果を管理装置40に通知する(S55)。管理装置40は、その結果をまとめて他システム80に通知するようにしてもよい。
以上の処理は、遠隔管理の機能を提供する側の環境で行われるため、基本的にはポーリングやポーリング待ちのための要求のプールは不要であり、迅速な更新が可能である。
【0065】
図6(b)は、通信装置10のファームを更新する場合の例である。
遠隔管理システムの運用者が通信装置10のバージョンアップされたファームを入手すると、他システム80を通じて管理装置40に対して通信装置10のファーム更新指示を行う(S61)。このとき、管理装置40に更新用のファームを記憶させ、通信装置10からダウンロードできるようにする。
【0066】
管理装置40は、更新が必要な全ての通信装置10について、その通信装置10宛てのファーム更新要求を生成し、その通信装置10の通信を仲介する仲介装置30に送信する(S62)。仲介装置30は、ステップS33乃至S35の場合と同様に、この要求をプールしておき、通信装置10からのポーリングに応じて通信装置10に転送する(S63〜S65)。
【0067】
この要求を受信した通信装置10は、要求に応じた処理として、管理装置40にアクセスして更新用のファームをダウンロードする(S66)と共に、ファームの更新を行う(S67)。そして、更新結果を仲介装置30を介して管理装置40に通知する(S68〜S69)。なお、ステップS66でのアクセス先は、仲介装置30であっても、その他の装置であっても、更新用ファームがダウンロード可能な装置であれば構わない。アクセス先は、例えばファーム更新要求により指定すればよい。
以上の処理により、管理装置40からの要求に従い、ユーザ環境にある通信装置10のファームを更新することができる。
【0068】
以上のような通信システムにおいて特徴的な点は、仲介装置30の割当部31による通信装置10に対する仲介装置30の割り当てと、その割り当て結果に応じた各装置の動作、及び割り当て内容を適切な状態に維持するための各装置の動作である。以下、これらの動作について説明する。
なお、以降の図において通信装置10は1台のみ示すが、通信装置10に対する仲介装置30の割り当ては、複数の通信装置10の各々について行うものである。
【0069】
まず、図7に、通信装置10が、仲介装置30との通信に使用する通信方式の選択や、その通信方式で通信を行うための設定を受け付ける画面の例を示す。
図7に示す設定画面500は、通信装置10がUI制御モジュール110の機能により表示器14に表示させるGUI画面である。そして、プロトコル選択部501、データ形式選択部502、自動切換設定部503、通信設定部510、アクセス先設定部520、通信テスト実行ボタン531、登録ボタン532を備えている。
【0070】
これらのうちプロトコル選択部501は、通信プロトコルライブラリ101に用意されているプロトコルの中から、仲介装置30との通信に用いるプロトコルの選択を受け付けるための、プルダウンメニューによる操作部である。
データ形式選択部502は、データ形式ライブラリ102に用意されているデータ形式の中から、仲介装置30との通信に用いるデータ形式の選択を受け付けるための、プルダウンメニューによる操作部である。
【0071】
これらの選択部501,502において、選択肢の中に、通信装置10が備えるハードウェアリソースを考慮すると利用が適切でないプロトコルやデータ形式あるいはその組み合わせによる通信方式がある場合、ユーザが選択できないようにするとよい。図7ではグレーアウトした「データ形式c」がこれに当たる。このようにすることにより、通信装置10における通信処理の負荷が過大になり、通信やその他の動作が不安定になることを防止できる。
【0072】
なお、利用の適否の判断は、通信装置10が自身のハードウェア構成の情報を参照して行ってもよいし、一旦通信装置10が管理装置40と通信可能になった後、管理装置40が通信装置10からハードウェア構成の情報を取得して行ってもよい。また、通信装置10が実際に特定の通信方式による通信のテストを行い、その結果に基づいて行ってもよい。
【0073】
次に、自動切換設定部503は、ユーザが選択した通信方式での通信ができなくなった場合や管理装置40から通信方式の変更を指示された場合に、自動的に通信方式の変更を行ってよいか否かを設定するためのラジオボタンによる操作部である。
【0074】
通信設定部510は、通信装置10がネットワークを介して他の装置(仲介装置30とは限らない)と通信を行うための一般的な設定を受け付ける操作部である。図7の例では、テキストボックス511〜514により、プロキシサーバのアドレス及びポート番号と、SMTPサーバのアドレス及びポート番号の設定を受け付ける欄を設けている。これら以外にも、POP3サーバのアドレス及びポート等の設定を受け付ける欄を設けるとよい。
【0075】
アクセス先設定部520は、プロトコル選択部501及びデータ形式選択部502において選択可能な各通信方式について、その通信方式を用いる場合に仲介装置30の割当を受けるためにアクセスするアクセス先のアドレス情報(第1のアドレス情報)の設定を受け付ける操作部である。この設定は、遠隔管理システムの運営者からの通知等に従って行う。しかし、通信プロトコルライブラリ101やデータ形式ライブラリ102にプログラムを追加する際に、そのプログラムに含まれているデータに基づき、特定の通信方式と対応するアドレス情報を自動で設定できるようにしてもよい。
【0076】
図7の例では、プロトコル毎にアドレス情報(必要に応じてIDやパスワード、電子証明書等の認証情報も含む、以下同じ)の設定を受け付けるためのテキストボックス521,522を用意している。これは、この例では、各仲介装置30を、プロトコルは1つのみ対応するがデータ形式は(想定される)いかなるデータ形式にも対応可能に構成していることに対応したものである。仲介装置30として、プロトコルとデータ形式の特定の組み合わせ、すなわち1つの通信方式にしか対応していないものを用いる場合、通信方式毎にアドレス情報の設定を受け付けることになる。
【0077】
アクセス先設定部520でどのような単位でアドレスの設定を受け付けるかは、管理装置40の提供者が用意する仲介装置30の構成に応じて、提供者側で適宜定め、通信装置10にインストールさせるプログラムにその機能を実現させるためのプログラムを含めておけばよい。
【0078】
通信テスト実行ボタン531は、設定画面500において現在なされている設定に基づく通信テストの実行指示を受け付けるためのボタンである。
登録ボタン532は、設定画面500において現在なされている設定の登録指示を受け付けるためのボタンである。この登録指示に応じて、通信装置10は設定内容を不揮発メモリに登録し、その設定を有効にする。
また、通信装置10は、設定画面500において通信方式の設定が変更されていた場合、この登録指示を、仲介装置30との通信に用いる通信方式の新規選択あるいは変更の指示であると受け取り、以下のシーケンス図に示す動作の実行を開始する。
【0079】
〔第1の実施形態の第1の動作例:図8,図9〕
ここで、以上説明してきた第1の実施形態の第1の動作例について説明する。
まず図8に、通信装置10に遠隔管理SDKアプリ105がインストールされた時点で、すなわち通信装置10に仲介装置30が割り当てられていない状態で仲介装置30を割り当てる場合の処理シーケンスを示す。
【0080】
この図に示す動作では、まず、仲介システムMに配置された各仲介装置30は、対応可能な通信方式の情報を随時交換している(S101)。ここでは、仲介装置30AがプロトコルAを用いる通信方式(データ形式は問わない)に、仲介装置30BがプロトコルBを用いる通信方式(データ形式は問わない)に対応しているとする。
【0081】
そして、通信装置10が上述の設定画面500において通信方式の設定を受け付け(S102)、ここで、プロトコルAとデータ形式aを用いる通信方式(以下、プロトコルの記号「A」とデータ形式「a」の記号を合わせて通信方式「Aa」等と記載する)が選択されたとする。
この選択があると、通信装置10は、選択された通信方式に従い、データ形式aで記述した通信先確認通知を、プロトコルAにより、通信方式Aaについて記憶している上述の第1のアドレス情報(仲介装置30Aのアドレスであるとする)に従い、仲介装置30Aに送信する(S103)。
【0082】
一方、仲介装置30Aは、この通信先確認通知を受信すると、その通知の送信に用いられた通信方式を特定し、その通信方式に対応した仲介装置を、通信装置10に割り当てる仲介装置(通信装置10と管理装置40との間の通信を仲介させる仲介装置)として選定する(S104)。ここでは、仲介装置30A自身が通信方式Aaに対応しているため、自身を選定するとする。なお、使用する通信方式は、通信先確認通知に記載するようにしてもよい。また、図示は省略したが、仲介装置30Aは、ここでどの通信装置にどの仲介装置を割り当てたかを管理しておく。
【0083】
そして、通信先確認通知に対する応答として、ステップS104で選定した仲介装置にアクセスするためのアドレス情報を通信装置10に通知する(S105)。図8には、仲介装置30AのURLとして「URL−A」を通知した例を示している。この通知も、プロトコルAを用い、データ形式aで記述したデータを送信する。
第1の動作例における仲介装置30Aの動作のうち、上述のステップS101及びこれらのステップS104及びS105の動作が、割当部31Aの機能と対応する動作である。後の動作は、仲介部32Aの機能と対応する動作である。
【0084】
一方、ステップS105の通知を受けた通信装置10は、通知されたアドレス情報を、管理装置40と通信するためにアクセスすべき仲介装置のアドレス情報(第2のアドレス情報)として記憶する(S106)。その後、そのアドレス情報に基づき仲介装置30Aにアクセスし、管理装置40に対して自身を管理対象として登録することを要求する管理装置40宛ての登録要求を、仲介装置30Aに送信する(S107)。この要求も、プロトコルAを用い、データ形式aで記述したデータとして送信する。以後、この動作例において、通信装置10と仲介装置30Aとの間のデータ送受信は、特に断らない限り全てこの通信方式で行う。
【0085】
仲介装置30Aは、現在仲介対象と認識していない通信装置10からアクセスされ、所定の認証により仲介対象となり得る装置であることを確認すると、その通信装置10を仲介対象として登録する(S108)と共に、登録要求を正常に受信したことを示す受領確認の応答を返す(S109)。なお、図に示す「001」は、通信装置10を識別するためのIDである。
【0086】
また、仲介装置30Aは、通信装置10から受信した登録要求を管理装置40に転送する(S110)。ここでは、この登録要求のデータは、通信装置10との間の通信に用いるものと同じ、データ形式aで記述するとする。従って、ステップS110の送信に際し、データ形式の変換は不要である。また、仲介装置30Aと管理装置40との間の通信に用いるプロトコルは、上述の通り、仲介装置30Bが用いるものと共通であれば、任意である。通信装置10との間の通信に用い得るものであっても、そうでなくても構わない。そこで、ここではこの通信プロトコルについては、特に明示しないことにする。ただし、以降の説明に登場するプロトコルA,Bとの関係においては、プロトコルの差に起因してデータ形式の変換が必要になることはないものとする。
【0087】
次に、管理装置40は、ステップS110の要求に応じて、通信装置10を管理対象として登録すると共に、送信元の仲介装置30Aを、その通信装置10の通信を仲介する仲介装置として、通信装置10と対応付けて登録する(S111)。ここで、仲介装置30Aが通信装置10との通信に用いる通信方式の情報も管理装置40に通知し、管理装置40がその通信方式の情報も登録するようにするとよい。その用途については他の動作例の説明で後述する。
その後、管理装置40はその結果を通信装置10宛ての登録結果応答として仲介装置30Aに返す(S112)。
【0088】
仲介装置30Aは、直ちにはこの登録結果応答を通信装置10に転送できないため、一旦プールしておき(S113)、通信装置10からポーリングがあった場合に(S114)、これに対する応答として通信装置10に転送する(S115)。なお、ポーリングの際には、空のパケット等を送信すればよい。データ形式を記載していないのはこのためである。
そして、登録結果応答を受信した通信装置10は、自身が管理装置40に登録されたことを確認できるため、登録結果をディスプレイに表示してユーザに通知する(S116)。
【0089】
ここまでの動作により、初めて通信システムに接続される通信装置10に、適当な仲介装置30を割り当てると共に、その通信装置が、その仲介装置30の仲介を受けて管理装置40と通信し、管理装置40の管理を受けることができる状態にすることができる。
この場合において、仲介装置30の割当部31が、通信装置10が通信に使用しようとする通信方式に対応した仲介装置30を割り当てるので、一台一台の仲介装置30は限られた通信方式にしか対応していない場合でも、候補さえあれば、通信装置10のユーザが希望する通信方式での通信が可能な仲介装置30を割り当てることができる。
【0090】
従って、通信装置10のハードウェアリソースが乏しかったり、ユーザ環境において通信方式の制約が大きかったりする場合でも、その範囲で使用可能な通信方式を使用した通信の設定を、容易に行うことができる。このことにより、通信システムの円滑な運用に資する。
【0091】
次に、図9に、図8の処理の後で通信装置10が管理装置40との間でデータを送受信する場合の処理シーケンスを示す。この例では、カウンタ通知及び情報取得要求を例として示している。この処理は、基本的に図5(a)に示したものと同じであるが、管理装置40から通信装置10への応答送信に係る処理も示した。
【0092】
図9の処理において、通信装置10は、所定の通知タイミングになると、カウンタ値の情報を収集し、その値を通知する管理装置40宛てのカウンタ通知を、図8のステップS106で記憶したアドレス情報に基づき仲介装置30Aに送信する(S131)。この通知には、通信装置10のIDも含めるとよい。そして、仲介装置30Aはこの通知を管理装置40に転送する(S132)。
【0093】
管理装置40は通知されたカウンタ値を通知元の通信装置10の情報として登録し(S133)、正常に登録できると、その旨を示すカウンタ通知応答を、カウンタ通知を送信してきた仲介装置30Aに返す(S134)。なお、通知の処理に時間がかかった場合には、処理中に後述の処理により通信装置10と仲介装置の対応関係が変更されている可能性も考慮して、応答送信時の対応関係を検索して応答を送信する仲介装置を決定してもよい。
【0094】
ステップS134の応答を受信した仲介装置30Aは、図8のステップS113乃至S115の場合と同様、応答を一旦プールし、通信装置10からのアクセスに応じて通信装置10へ送信する(S135〜S137)。
以上のように、通信装置10は、図8の処理で割り当てられた仲介装置を介して管理装置40に情報を送信することができる。
【0095】
また、管理装置40において通信装置10が記憶している情報が必要になった場合、管理装置40は、通信装置10に宛てた情報取得要求を生成し、図8のステップS111で登録した情報に基づき、宛先の通信装置10に対応付けられている仲介装置30Aに対して送信する(S140)。
【0096】
その要求を受信した仲介装置30Aは、ステップS135乃至S137の場合と同様、応答を一旦プールし、通信装置10からのアクセスに応じて通信装置10へ送信する(S141〜S143)。なお、通信装置10は、管理装置40から仲介装置30Aへのデータの送信有無に関わらず定期的にポーリングを行う(S138,S139)。しかし、仲介装置30Aのプールに通信装置10宛てのデータがなければ、空の応答(不図示)を受け取るのみである。
【0097】
また、ステップS143の要求を受信した通信装置10は、その要求に応じた処理として、要求された情報を取得し(S144)、その結果を管理装置40に通知すべく、管理装置40に宛てた情報取得応答を仲介装置30Aに送信する(S145)。そして、仲介装置30Aがこの通知を管理装置40に転送する(S146)。このことにより、管理装置40は、ステップS140で要求した情報を取得することができる。
【0098】
〔第1の実施形態の第2の動作例:図10乃至図12〕
次に、第1の実施形態の第2の動作例について説明する。
まず図10及び図11に、通信装置10において通信方式Bbが選択された場合の、図8と対応する処理シーケンスを示す。
この図に示す動作でも、図8の場合と同様、仲介システムMに配置された各仲介装置30は、対応可能な通信方式の情報を随時交換している(S151)。そして、通信装置10が上述の設定画面500において通信方式の設定を受け付け(S152)、ここで、通信方式Bbが選択されたとする。
【0099】
この選択があると、通信装置10は、選択された通信方式に従い、データ形式bで記述した通信先確認通知を、プロトコルBにより、通信方式Bbについて記憶している上述の第1のアドレス情報(仲介装置30Bのアドレスであるとする)に従い、仲介装置30Bに送信する(S153)。
【0100】
一方、仲介装置30Bは、この通信先確認通知を受信すると、図8のステップS104の場合と同様、送信に用いられた通信方式に対応した仲介装置を、通信装置10に割り当てる仲介装置として選定する(S154)。ここでは、仲介装置30B自身が通信方式Bbに対応しているため、自身を選定するとする。また、図示は省略したが、仲介装置30Bは、ここでどの通信装置にどの仲介装置を割り当てたかを管理しておく。
【0101】
そして、通信先確認通知に対する応答として、ステップS154で選定した仲介装置にアクセスするためのアドレス情報を通信装置10に通知する(S155)。図10には、仲介装置30BのURLとして「URL−B」を通知した例を示している。この通知も、プロトコルBを用い、データ形式bで記述したデータを送信する。
仲介装置30Bの動作のうち、上述のステップS151及びこれらのステップS154及びS155の動作が、割当部31Bの機能と対応する動作である。この動作例における後の動作は、仲介部32Bの機能と対応する動作である。
【0102】
一方、ステップS155の通知を受けた通信装置10は、通知されたアドレス情報を、管理装置40と通信するためにアクセスすべき仲介装置のアドレス情報(第2のアドレス情報)として記憶する(S156)。
その後、図11に示す部分に進み、そのアドレス情報に基づき仲介装置30Bにアクセスし、管理装置40に対して自身を管理対象として登録することを要求する管理装置40宛ての登録要求を、仲介装置30Bに送信する(S157)。この要求も、プロトコルBを用い、データ形式bで記述したデータとして送信する。以後、この動作例において、通信装置10と仲介装置30Bとの間のデータ送受信は、特に断らない限り全てこの通信方式で行う。
【0103】
仲介装置30Bは、現在仲介対象と認識していない通信装置10からアクセスされ、所定の認証により仲介対象となり得る装置であることを確認すると、その通信装置10を仲介対象として登録する(S158)と共に、登録要求を正常に受信したことを示す受領確認の応答を返す(S159)。なお、図に示す「001」は、通信装置10を識別するためのIDである。
【0104】
また、仲介装置30Aは、通信装置10から受信した登録要求を管理装置40に転送する(S161)。しかし、仲介装置30Bも、管理装置40との間の通信には、仲介装置30Aと共通のデータ形式aを用いる。そこで、送信に先立って、データ形式bからデータ形式aへのデータ形式変換が必要であるので、これを行う(S160)。
【0105】
次に、管理装置40は、ステップS161の要求に応じて、通信装置10を管理対象として登録すると共に、送信元の仲介装置30Bを、その通信装置10の通信を仲介する仲介装置として、通信装置10と対応付けて登録する(S162)。ここで、仲介装置30Aが通信装置10との通信に用いる通信方式の情報も登録するとよいことは、図8のステップS111の場合と同様である。
その後、管理装置40はその結果を通信装置10宛ての登録結果応答として仲介装置30Bに返す(S163)。
【0106】
仲介装置30Bは、直ちにはこの登録結果応答を通信装置10に転送できないため、一旦プールしておくが(S165)、ここでもデータ形式の変換が必要であるので、プールへの登録前にこれを行う(S164)。
そして、仲介装置30Bは、通信装置10からポーリングがあった場合に(S166)、これに対する応答として登録結果応答を通信装置10に転送する(S167)。
そして、登録結果応答を受信した通信装置10は、自身が管理装置40に登録されたことを確認できるため、登録結果をディスプレイに表示してユーザに通知する(S168)。
【0107】
ここまでの動作により、図8の場合と同様、初めて通信システムに接続される通信装置10に、適当な仲介装置30を割り当てると共に、その仲介装置30を介して管理装置40と通信し、管理装置40の管理を受けることができる状態にすることができる。
また、仲介装置30Bは、通信装置10との通信に用いるデータ形式と、管理装置40との通信に用いるデータ形式とが異なることに対応して、その差を埋めるためのデータ形式変換処理(S160及びS164)を行う。このことにより、各仲介装置30と管理装置40との間の通信方式を共通化する場合であっても、通信装置10が仲介装置30との通信に用いる通信方式の自由度が制約されないようにすることができる。
【0108】
次に、図12に、図11の処理の後で通信装置10が管理装置40との間でデータを送受信する場合の、図9と対応する処理シーケンスを示す。
図12の処理において、ステップS181乃至S189の処理が、図9のステップS131乃至S137の処理と対応する。また、ステップS190乃至S198の処理が、図9のステップS140乃至S146の処理と対応する。
【0109】
そして、対応する処理と異なる点は、以下の点である。まず、通信装置10と管理装置40との間の通信を仲介する装置が仲介装置30Bである点。通信装置10と仲介装置30Bとの間の通信に使用する通信方式が通信方式Bbである点。そして、これに伴い、仲介装置30Bにおいて、通信装置10から受信したデータを管理装置40に送信する場合あるいはその逆の場合について、データ形式の変換(S182,S186,S191,S197)を行う点である。
【0110】
その他の点では、通信プロトコルの相違のため具体的なデータ転送の手順は異なるが、図9の処理と共通であり、同様に、通信装置10と管理装置40との間で通知、要求、応答等の送受信を行うことができる。
【0111】
〔第1の実施形態の第3の動作例:図13及び図14〕
次に、第1の実施形態の第3の動作例について説明する。
まず図13に、通信装置10に既に仲介装置30が割り当てられている状態で別の仲介装置30を割り当てる場合の処理シーケンスを示す。
【0112】
通信装置10においては、図8の処理等によりいずれかの仲介装置30が割り当てられている状態でも、割り当て前の状態と同様に、設定画面500において通信方式の設定を受け付ける(S211)。
図13には、通信装置10において通信方式Aaが選択され、図8に示した動作により仲介装置30Aが割り当てられている状態で通信方式Baが新たに選択された場合の動作を示す。
【0113】
この場合、通信装置10は、選択された通信方式に従い、データ形式aで記述した通信方式変更通知を、プロトコルBにより、通信方式Baについて記憶している上述の第1のアドレス情報(仲介装置30Bのアドレスであるとする)に従い、仲介装置30Bに送信する(S212)。この処理は、図8のステップS103や図10のステップS153の処理と対応するものであるが、既になされている仲介装置30Aの割り当てを変更することになる(結果的には割り当てを変更しないことになる可能性もある)ので、送信するのは通信先確認通知ではなく通信方式変更通知である。また、通信方式変更通知には、少なくとも変更前の通信方式を記述する。図13の例では変更後の通信方式も記載している。
【0114】
一方、仲介装置30Bは、この通信方式変更通知を受信すると、そこに記述された変更後の通信方式に対応した仲介装置を、通信装置10に割り当てる仲介装置として選定する(S213)。ここでは、仲介装置30B自身が通信方式Baに対応しているため、自身を選定するとする。
そして、通信方式変更通知に対する応答として、ステップS213で選定した仲介装置にアクセスするためのアドレス情報を通信装置10に通知する(S214)。図13には、仲介装置30BのURLとして「URL−B」を通知した例を示している。この通知も、プロトコルBを用い、データ形式aで記述したデータを送信する。
【0115】
一方、ステップS214の通知を受けた通信装置10は、通知されたアドレス情報を、管理装置40と通信するためにアクセスすべき仲介装置のアドレス情報(第2のアドレス情報)として記憶する(S215)。
これらのステップS213乃至S215の処理は、図8のステップS104乃至S106等と対応する処理である。
【0116】
また、仲介装置30Bは、それまで通信装置10に割り当てられていた仲介装置30Aに対し、割り当てが解除された(通信装置10はもはや仲介装置30Aに仲介を受けない)ことを通知するための処理を行う。具体的には、通信方式変更通知に含まれていた変更前の通信方式について割り当てを担当する仲介装置(の割当部)に対し、通信方式変更通知を送信する(S216)。この通知には、割り当てを変更した通信装置の識別情報(ここでは「001」)を記述する。また、変更前後の通信方式も記述するとよい。
【0117】
この通知を受けた仲介装置30Aは、自ら管理する、通信装置10と仲介装置30との対応関係の情報に基づき、通知に係る通信装置10に割り当てた仲介装置(ここでは仲介装置30A自身)に対し、その通信装置10を仲介対象から削除するよう要求する。そして、要求された仲介装置30A(の仲介部32A)は、図8のステップS108で仲介対象として登録した通信装置10の情報を、削除する(S217)。もちろん、割当部31Aも、通信装置10に仲介装置30Aを割り当てた旨の情報を削除する。
【0118】
すなわち、図では簡略化したが、ステップS217の処理は、仲介装置30Aの割当部31Aと仲介部32Aとが共同して行う動作である。なお、仲介装置30Bが、通信装置10にどの仲介装置が割り当てられているかまで把握していれば、直接その仲介装置(すなわち仲介部32A)に対して通信方式変更通知を送信することも可能である。この場合、割当部31Aにおける割り当て情報の更新のためには、仲介部32Aから割当部31Aに対して、割り当ての変更を通知すればよい。
【0119】
一方、ステップS215でアドレス情報を記憶した通信装置10は、図11のステップS157乃至S168の場合と同様、そのアドレス情報に基づき仲介装置30Bにアクセスし、管理装置40宛の登録要求を、仲介装置30Bに送信し、仲介装置30B及び管理装置40に、管理対象として登録を受ける(S218〜S227)。
このとき、使用する通信方式Baではデータ形式aを用いるので、仲介装置30Bにおいてデータ形式の変換は不要である。また、管理装置40における登録(S222)は、以前の登録につき、仲介装置及び通信方式の情報を更新するものである。
【0120】
以上の動作により、通信装置10は、任意のタイミングでユーザによる通信方式の選択変更操作を受け付け、変更後の通信方式で通信が可能な仲介装置30の割り当てを受けることができる。
従って、通信装置10において自由に通信方式を選択しつつ、管理装置40との通信が可能な状態を維持することができ、このことにより、通信システムの円滑な運用に資する。
【0121】
次に、図14に、図13の処理の後で通信装置10が管理装置40との間でデータを送受信する場合の、図9と対応する処理シーケンスを示す。
図14の処理において、ステップS241乃至S247の処理が、図9のステップS131乃至S137の処理と対応する。また、ステップS248乃至S254の処理が、図9のステップS140乃至S146の処理と対応する。
【0122】
そして、対応する処理と異なる点は、以下の点である。まず、通信装置10と管理装置40との間の通信を仲介する装置が仲介装置30Bである点。そして、通信装置10と仲介装置30Bとの間の通信に使用する通信方式が通信方式Baである点である。
その他の点では、通信プロトコルの相違のため具体的なデータ転送の手順は異なるが、図9の処理と共通であり、同様に、通信装置10と管理装置40との間で通知、要求、応答等の送受信を行うことができる。
【0123】
〔第1の実施形態の第4の動作例:図15及び図16〕
次に、第1の実施形態の第4の動作例について説明する。
この動作例は、上述した第1乃至第3の動作例の変形例である。
図15に、通信装置10に仲介装置30が割り当てられていない状態で仲介装置30を割り当てる場合の、図8と対応する処理シーケンスを示す。
【0124】
この図に示す動作においても、各仲介装置30が対応可能な通信方式の情報を随時交換している点(S271)及び、通信装置10が設定画面500において通信方式の設定を受け付ける点(S272)は、図8の動作と同様である。またここでも、通信方式Aaが選択されたとする。
【0125】
この選択があると、通信装置10は、選択された通信方式に従い、データ形式aで記述した通信先確認通知を、プロトコルAにより、通信方式Aaについて記憶している上述の第1のアドレス情報に従い、仲介装置30Aに送信する(S273)。またこのとき、通信装置10が利用可能な通信方式を通知する対応通信方式通知も、同様に仲介装置30Aに送信する。ここでは、プロトコルA又はBと、データ形式a又はbとを任意に組み合わせた通信形式が利用可能である旨の情報を通知する例を示している。
【0126】
一方、仲介装置30Aは、これらの通知を受信すると、まず、図8のステップS104の場合と同様に、通信装置10において選択された通信方式に対応した仲介装置を、通信装置10に割り当てる仲介装置として選定する(S275)。ここでは、仲介装置30A自身が通信方式Aaに対応しているため、自身を選定するとする。
そしてさらに、対応通信方式通知で通知された通信方式に対応した仲介装置の中から、ステップS275で割り当てた仲介装置30Aが通信の仲介を行えなくなった場合に代わりに用いるべき仲介装置である代替仲介装置も選定する(S276)。
【0127】
ここで、仲介装置30が仲介を行えなくなる理由としては、まず仲介装置30自体の不具合があり得る。これに対処する場合、初めに割り当てた仲介装置と同じ通信方式に対応している仲介装置を代替仲介装置として選定することが、通信方式の変更が発生しない点で好ましい(このような選定のみを行う場合、対応通信方式通知は不要である)。
【0128】
しかし、通信装置10が使用中の通信方式に係るプロトコルがユーザ環境において遮断されたり、ユーザ環境においてそのプロトコルによる通信を管理する装置に異常が起きたりした場合にも、通信装置10から仲介装置30にアクセスできないために、仲介装置30による仲介が行えなくなる場合があり得る。このような事態に対処するためには、あえて通信方式(特に通信プロトコル)の変更を伴うような代替仲介装置の選定を行うことが好ましいと言える。
【0129】
ここでは、この点を考慮して、代替仲介装置としては、通信方式Baに対応した仲介装置30Bを割り当てるとする。この割り当ては、ステップS271で交換した情報を参照して行うことができる。また、仲介装置30Bは、通信方式Bbにも対応しているが、この例では、データ変換処理が不要である点に優位性を認めてBaを採用する。この判断も、ステップS275の処理に含まれる。
【0130】
以上の処理の後、仲介装置30Aは、通信先確認通知に対する応答として、ステップS274で選定した仲介装置にアクセスするためのアドレス情報と、ステップS275で選定した代替仲介装置にアクセスするためのアドレス情報と、その代替仲介装置に通信を仲介させる際に通信装置10が使用すべき通信方式を示す情報とを、通信装置10に通知する(S276)。
【0131】
図15には、仲介装置30AのURLとして「URL−A」を、代替の仲介装置30BのURLとして「URL−B」を、使用する通信方式としてBaを示す情報を通知した例を示している。この通知も、プロトコルAを用い、データ形式aで記述したデータを送信する。
仲介装置30Aの動作のうち、上述のステップS271及びこれらのステップS274乃至S276の動作が、割当部31Aの機能と対応する動作である。後の動作は、仲介部32Aの機能と対応する動作である。
【0132】
一方、ステップS276の通知を受けた通信装置10は、割り当てられた仲介装置のアドレス情報を、管理装置40と通信するためにアクセスすべき仲介装置のアドレス情報(第2のアドレス情報)として記憶する(S277)。また、代替仲介装置のアドレス情報も、割り当てられた仲介装置による仲介が受けられなくなった場合に管理装置40と通信するためにアクセスすべき仲介装置のアドレス情報(第3のアドレス情報)として記憶する(S278)。通信方式の情報もこれと対応させて記憶する。
【0133】
その後、図示は省略するが、図8のステップS107乃至S116と同様な動作により、初めに用いる仲介装置30A及び管理装置40に、仲介及び管理の対象として登録を受ける。
その後は、図9に示したものと同様な動作により、通信装置10と管理装置40との間で、仲介装置30Aの仲介によりデータの送受信を行うことができる。
【0134】
次に、図16に、図15の処理の後、通信装置10が仲介装置30Aによる仲介を受けられなくなった場合の処理シーケンスを示す。
通信装置10は、仲介装置30Aに仲介を受ける場合、仲介装置30Aに対して定期的にポーリングを行うが(S291,S292)、このポーリングを正常に行えなくなった場合(S293)、もはや仲介装置30Aによる仲介を受けられないと判断することができる。その原因が種々あることは上述の通りであるが、ここではその分析をすることは必須ではない。
【0135】
いずれにせよ、通信装置10は、仲介装置30Aと通信ができなくなった場合、使用する通信方式を、図15のステップS278で記憶した、代替仲介装置との通信に用いる通信方式(ここでは通信方式Ba)に、自動的に切り換える(S294)と共に、表示器14に画面をポップアップ表示する等して、ユーザにその旨を通知する。なお、設定画面500の自動切換設定部503において通信方式の自動変更を行わない設定がなされていた場合、このステップS294及び以降の動作は行わない。しかし、ここではこの設定はなされていないとして説明を進める。
【0136】
通信方式を変更した後、通信装置10は、図15のステップS278で記憶した代替仲介装置のアドレス情報に基づき、仲介装置30Bに、代替登録要求を送信する(S295)。この登録要求は、変更後の通信方式に従い、データ形式aで記述し、プロトコルBを用いて送信する。「代替」登録要求としたのは、割り当て変更を伴う登録要求であることを示すためである。また、通信装置10は、合わせて図13のステップS212の場合と同様な通信方式変更通知も送信する。
【0137】
また、通信装置10は、ここで改めて仲介装置を選定してもらう必要はないため、仲介装置30Bの割当部31Bではなく仲介部32Bにアクセスする。そして、仲介装置30B及び管理装置40は、ステップS296,S297及びS300乃至S306において、図13のステップS219乃至S227と同様な手順により、通信装置10を仲介対象又は管理対象として登録し、その結果を通信装置10に通知する。
【0138】
また、仲介装置30Bは、図13のステップS216の場合と同様な通信方式変更通知を、通信方式変更通知に含まれていた変更前の通信方式について割り当てを担当する仲介装置(の割当部)に対して送信する(S298)。この通知を受けた仲介装置30Aは、図13のステップS217と同様に、通知に係る通信装置10の情報を、仲介対象の情報から削除する(S299)。
【0139】
なお、ステップS293で生じた不具合の原因によっては、ステップS295の通信が行えない場合もあるが、この場合には、通信方式を元に戻してポーリングを続けることが考えられる。また、2つ以上代替仲介装置を選定されている場合、次候補へのアクセスを試みることも考えられる。
また、ステップS293で生じた不具合の原因によっては、ステップS298及びS299の処理ができないことも考えられるが、これらの処理は、後で適当な時期に行えばよい。
【0140】
以上の動作によれば、予め代替仲介装置及びその仲介装置との通信に用いる通信方式を選定してあるため、通信装置10は、仲介装置30との通信ができなくなり、仲介を受けられなくなった場合でも、自動的に別の仲介装置に仲介を受けられる状態に移行することができる。従って、通信システムの動作を安定して継続させることができる。
【0141】
なお、ユーザの見ていないところで通信方式を変更されることが不都合であれば、自動切換設定部503の設定によりそのような事態を防止することができる。
また、図15のステップS275では、単に代替の通信方式を選定するに留めることもできる。この場合、図16のステップS294の後は、変更後の通信方式について記憶している第1のアドレス情報に従い、図13のステップS212と同様に仲介装置30Bの割当部31Bにアクセスして、新たな仲介装置の割り当てを受けるようにすればよい。以後の処理も、図13と同様の手順で進めればよい。このようにしても、通信システムの安定した動作継続という点では同様な効果が得られる。
【0142】
また、以上のように通信の異常発生に応じて代替仲介装置への切り換えを行った場合、時間が経てば異常が解消することも考えられる。そこで、一定時間毎に、切り換え前の通信方式により、切り換え前の仲介装置との通信を試みるようにしてもよい。そして、その結果通信できた場合、通信方式及び使用する仲介装置を、切り換え前のものに戻すようにするとよい。このようにすれば、一時的に通信に異常が発生した場合でも、異常が解消すれば、自動的に、ユーザの要求に合うと考えられる当初の通信方式に復帰できるため、ユーザの要望に合った通信システムの運用が可能となる。
また、切り換え前の仲介装置に異常が発生したことにより通信ができなくなった場合には、切り換え前の仲介装置よりその異常から復帰した旨の通知を受け取った場合に、切り換え前の通信方式により切り換え前の仲介装置へのアクセスを試みるようにしても、同様な効果を得ることができる。
【0143】
〔第1の実施形態の第5の動作例:図17〕
次に、第1の実施形態の第5の動作例について説明する。
図17に、管理装置40からの要求に応じて通信装置10が使用する通信方式を変更する場合の処理シーケンスを示す。
【0144】
この図に示す動作は、管理装置40において、何らかの事情により通信装置10に使用する通信方式を変更させる必要が生じた場合に行うものである。事情の例としては、一部の通信方式と対応する仲介装置に負荷が集中し、それを分散させる必要がある場合や、一部の通信方式と対応する仲介装置を廃止しようとする場合が考えられる。
【0145】
いずれにせよ、通信装置10に使用する通信方式を変更させる場合、管理装置40は、通信装置10に宛てた通信方式切換要求を生成し、通信装置10との通信を仲介する仲介装置(ここでは仲介装置30Aとする)に送信する(S341)。この要求は、今まで述べてきた通り、一旦仲介装置30Aでプールされ(S342)、通信装置10からのポーリングに応じて通信装置10に送信される(S343,S344)。
【0146】
また、通信方式切換要求には、要求する切換の内容を含めるが、ここでは、プロトコルをAからBに切り換え、データ形式は切り換えない旨を要求する例を記載した。管理装置40は、切り換え前の通信方式が何であるかは、図8のステップS111等で通信方式が登録されていれば、それに基づき把握可能である。
【0147】
通信装置10は、通信方式切換要求を受けると、設定画面500の自動切換設定部503において通信方式の自動変更を行わない設定がなされているか否か、および、自身が要求された変更後の通信方式を利用可能であるか否か、等に基づき要求に従った通信方式の変更が可能であるか否か判断する(S345)。そして、その結果を、管理装置40宛の通信方式切換応答として仲介装置30Aに送信する(S346)。仲介装置30Aは、管理装置40へその応答を転送する(S347)。
【0148】
ステップS345の判断結果がNGであれば処理はここで終了であるが、OKであれば、通信装置10は、受信した通信方式切換要求に従って通信方式を切り換える(S348)と共に、その旨をユーザに通知する。
その後、ユーザが手動で通信方式を変更した図13のステップS212乃至S227の場合と同様な手順により、変更後の通信方式に対応した仲介装置30Bの割り当てを受けると共に、その仲介装置30B及び管理装置40に、仲介対象又は管理対象として登録を受ける。図17には図13のステップS212乃至S217と対応するステップS349乃至S354のみ示したが、その後の処理も図13の場合と同様である。
【0149】
以上の動作により、通信装置10は、任意のタイミングで管理装置からの通信方式の変更要求を受け付けて通信方式を変更し、変更後の通信方式で通信が可能な仲介装置30の割り当てを受けることができる。
従って、(変更が許可されていれば)管理装置40から自由に通信装置10の通信方式を選択しつつ、通信装置10と管理装置40との通信が可能な状態を維持することができ、このことにより、通信システムの円滑な運用に資する。
【0150】
〔第1の実施形態の第6の動作例:図18〕
次に、第1の実施形態の第6の動作例について説明する。
上述した各動作例においては、通信プロトコルの違いに基づく通信手順の違いについては考慮せずに説明してきた。しかし、プロトコルによっては、通信手順が大きく変わる場合もある。そこで、この動作例においては、通信装置10と仲介装置30との間の通信に電子メールプロトコルを用いる場合の通信手順について説明する。
【0151】
図18には、通信装置10と仲介装置30との間の通信に電子メールプロトコルを用いる場合の、図16のステップS295乃至S306と対応する処理シーケンスを示した。
電子メールプロトコルを用いる場合、通信装置10から仲介装置30Aへのデータ送信に、メールサーバ80が関与する。図では1つしか示していないが、LANの外部へ電子メールを送信する場合、複数の電子メールサーバが順次電子メールのデータをリレーして目的の電子メールサーバに電子メールのデータを記録させることが通常である。
【0152】
そして、通信装置10から仲介装置30Aへデータを送信する場合、通信装置10は、仲介装置30Aの電子メールアドレスに対し、送信すべきデータを記述した電子メールを送信する。従って、割り当て時に通知される仲介装置のアドレス情報も、電子メールアドレスである。
図18の処理において、通信装置10はまず、図16のステップS295の場合と同じ代替登録要求及び通信方式変更通知を記述した電子メールを、仲介装置30Bのアドレスに宛てて送信する(S371)。この電子メールは、メールサーバ80に保存される。
【0153】
一方、仲介装置30Bは、定期的にメールサーバ80にアクセスして新着電子メールを確認し、ステップS371での電子メールが届くと、これを取得する(S372)。
また、仲介装置30Bと管理装置40あるいは仲介装置30Aとの間の通信方式は、通信装置10と仲介装置30Bとの間の通信方式に影響されない。従って、ステップS373及びS376乃至S380の処理は、それぞれ図16のステップS296及びS298乃至S302の処理と同じである。
【0154】
しかし、仲介装置30Bは、代替登録要求及び通信方式変更通知の受領確認を通信装置10に宛てた電子メールに記述して送信し(S374)、この電子メールは、メールサーバ80に保存される。通信装置10は、定期的にメールサーバ80にアクセスして新着電子メールを確認し、ステップS374での電子メールが届くと、これを取得する(S375)。
【0155】
また、仲介装置30Bは、管理装置40から届いた通信装置10宛の登録結果応答(S380)も、これをプールすることなく、通信装置10に宛てた電子メールに記述して送信することができる(S381)。電子メールであれば、任意のタイミングで送信可能だからである。
【0156】
そして、通信装置10は、メールサーバ80にアクセスした際にステップS381での電子メールが届いていると、これを取得し(S382)、登録結果をユーザに通知する(S383)。
通信システム10と仲介装置30Bとの間の通信に電子メールを用いても、以上の手順により、通信装置10と管理装置40とは、タイミングは異なるものの、図16の場合と同様に仲介装置30Bを介して必要なデータを送受信することができる。
【0157】
〔第2の実施形態:図19乃至図30〕
次に、この発明の通信システムの第2の実施形態について説明する。
図19は、その通信システムの概略構成を示す図である。
この通信システムにおいては、第1の実施形態における仲介装置30の割当部31を、独立した割当装置20A,20Bとして設けている。そして、同じ通信方式に対応した仲介装置30(第1の実施形態における仲介部32の機能と対応)を複数設け、割当装置20が、これらの仲介装置30間での処理負荷のバランスを考慮して、通信装置10に対し、処理負荷の小さい仲介装置30を割り当てるようにしている。
【0158】
仲介システムMAに属する仲介装置30A1〜30A3が、プロトコルAを用いた通信方式に対応した仲介装置であり、仲介システムMBに属する仲介装置30B1〜30B3が、プロトコルBを用いた通信方式に対応した仲介装置である。また、割当装置20Aが、プロトコルAを用いた通信方式を使用する場合のアクセス先となって仲介装置30A1〜30A3の割り当てを担当し、割当装置20Bが、プロトコルBを用いた通信方式を使用する場合のアクセス先となって仲介装置30B1〜30B3の割り当てを担当する。
【0159】
各装置のハードウェア構成及びソフトウェア構成については、第1の実施形態の場合と同様であるので、詳細な説明は省略する。ただし、仲介装置30は、図4に示した機器管理・割当モジュール305に代えて、機器管理の機能に特化した機器管理モジュールを備えていればよい。
【0160】
また、この第2の実施形態においても、通信装置10において選択された通信方式に応じてどの割当装置20にアクセスしてどのような手順で仲介装置の割り当てを受けるかは、基本的には上述した第1の実施形態の場合と同様に制御できる。
そこで、これらのうち通信装置10が割当装置20Aにアクセスした場合を例に取って、割当装置20Aが仲介装置30A1〜30A3の間の負荷分散を考慮して仲介装置の割当を行うための処理について、以下に説明する。なお、第1の実施形態と対応する構成には、同じ符号を用いる。
【0161】
〔第2の実施形態の第1の動作例:図20〕
まず、第2の実施形態の第1の動作例について説明する。
図20に、通信装置10に遠隔管理SDKアプリ105がインストールされた時点で、すなわち通信装置10に仲介装置30が割り当てられていない状態で仲介装置30を割り当てる場合の処理シーケンスを示す。
【0162】
まず、割当装置20Aによる割り当ての候補となっている各仲介装置30A1〜30A3は、定期的に、自身が実行している通信の仲介処理の処理負荷の高さを示す負荷情報を通知する利用状況通知を、割当装置20Aに送信する(S501〜S503)。利用状況通知には、負荷情報以外の、仲介装置30の利用状況を示す情報が含まれていてもよい。
【0163】
図20の例では、許容限界に比べ、仲介装置30A1が20%、仲介装置30A2が40%、仲介装置30A3が30%の負荷であることを示す情報を通知している。これらの負荷の高さは、各仲介装置の管理台数のキャパシティに対する現在割り当てられている通信装置10の台数の割合や、CPUやメモリの利用率等に基づき算出することが考えられる。また、通知するタイミングは、一定時間(例えば1時間)おき、10%刻みでの閾値を超えて変化した場合など、任意に定めることができる。
割当装置20は、利用状況通知を受信すると、そこに含まれる負荷情報を仲介装置毎に保持する(S504)。ここまでの処理は、通信装置10から割当装置20へのアクセスとは無関係に行う。
【0164】
一方、通信装置10は、設定画面500において通信方式Aaが選択されたとすると(S505)、その選択された通信方式に従い、データ形式aで記述した通信先確認通知を、プロトコルAにより、通信方式Aaについて記憶している上述の第1のアドレス情報(割当装置20Aのアドレスであるとする)に従い、割当装置20Aに送信する(S506)。
【0165】
割当装置20Aは、この通知を受信すると、通信装置10が使用した通信方式と、ステップS504で保持した負荷情報とに基づいて、通信装置10に割り当てる仲介装置30を選定し(S507)、通知送信元の通信装置10の通信を仲介する仲介装置として、通信装置10に割り当てる。このとき、通信装置10が使用した通信方式に対応している仲介装置30を選定することはもちろんである。また、処理負荷の小さい仲介装置30を選定するようにすると、仲介装置30間での処理負荷を平準化し、特定の装置に負荷が集中してダウンしてしまうような事態を防止できる。このことにより、通信システムの運用を円滑に行うことができる。
【0166】
次に、割当装置20Aは、ステップS507で選定した仲介装置にアクセスするためのアドレス情報を、通信先確認通知に対する応答として通信装置10に通知する(S508)。図20には、仲介装置30A1を割り当てて、そのURLとして「URL−A1」を通知した例を示している。
【0167】
この通知を受けた通信装置10は、通知されたアドレス情報を、管理装置40と通信するためにアクセスすべき仲介装置のアドレス情報として記憶する(S509)。その後、その識別情報に基づき仲介装置30A1にアクセスし、管理装置40に対して自身を管理対象として登録することを要求する管理装置40宛ての登録要求を、仲介装置30A1に送信する(S510)。
【0168】
仲介装置30A1は、現在仲介対象と認識していない通信装置10からアクセスされ、所定の認証により仲介対象となり得る装置であることを確認すると、その通信装置10を仲介対象として登録する(S511)と共に、登録要求を正常に受信したことを示す受領確認の応答を返す(S512)。なお、図に示す「001」は、通信装置10を識別するためのIDである。
【0169】
また、仲介装置30A1は、新たな通信装置10を仲介対象としたことに伴い、その旨を通知する仲介開始通知を割当装置20Aに送信する(S513)。また、仲介対象が増えたことにより処理負荷が変化することが考えられるため、処理負荷を再計算して、最新の状況を反映した利用状況通知を割当装置20Aに送信する(S515)。
また、割当装置20Aは、ステップS513の仲介開始通知を受けると、ステップS507で行った選定に従った仲介が実際に開始されたことを把握できるため、通信装置10と、その通信装置10についての仲介を行う仲介装置30A1とを対応付けて登録する(S514)。
【0170】
さらに、仲介装置30A1は、通信装置10から受信した登録要求を管理装置40に転送する(S516)。管理装置40は、この要求に応じて、通信装置10を管理対象として登録すると共に、送信元の仲介装置30A1を、その通信装置10の通信を仲介する仲介装置として、通信装置10と対応付けて登録する(S517)。その後その結果を通信装置10宛ての登録結果応答として仲介装置30A1に返す(S518)。
【0171】
仲介装置30A1は、直ちにはこの登録結果応答を通信装置10に転送できないため、一旦プールしておき(S519)、通信装置10からポーリングがあった場合に(S520)、これに対する応答として通信装置10に転送する(S521)。
そして、登録結果応答を受信した通信装置10は、自身が管理装置40に登録されたことを確認できるため、登録結果をディスプレイに表示してユーザに通知する(S522)。
【0172】
以上により、初めて通信システムに接続される通信装置10に、適当な仲介装置30を割り当てると共に、その仲介装置30を介して管理装置40と通信し、管理装置40の管理を受けることができる状態にすることができる。
この場合において、割当装置20Aが、各仲介装置30A1〜30A3から、その仲介装置における処理負荷の高さを示す負荷情報を受信し、その負荷情報に基づいて、処理負荷の小さい仲介装置を通信装置10に割り当てるので、特定の仲介装置に仲介処理の負担が集中することを防止し、このことにより、仲介装置の動作が遅くなったりダウンしたりすることを防止し、通信システムを安定して動作させることができる。
【0173】
なお、図20の処理において、仲介装置30A1は、ステップS512,S513,S515及びS516を、順番を変えて行ってもよい。すなわち、これらの処理は、どれもステップS510の登録要求に応じて行う処理であるが、実行順は図示のものに限られない。
【0174】
〔第2の実施形態の第2の動作例:図21〕
次に、第2の実施形態の第2の動作例について説明する。
図21に、通信装置10に既に仲介装置30が割り当てられている状態で通信装置が起動された場合の、特にその割り当てを変更する場合の処理シーケンスを示す。なお、図21の例では、通信装置10には、電源ON時には(すなわち前回電源OFFされた際に)仲介装置30A2が割り当てられているとする。
図21の例でも、各仲介装置30A1〜30A3が通信装置10から割当装置20Aへのアクセスとは無関係に利用状況通知を割当装置20Aに送信し、割当装置20Aが負荷情報を保持する(S541〜S544)ことは、図20の場合と同様である。
【0175】
そして、通信装置10の電源がONされ(S545)、遠隔管理SDKアプリ105が起動されると、通信装置10はまず割当装置20Aにアクセスし、図20のステップS506の場合と同様に通信先確認通知を送信する(S546)。
そして、図8のステップS507乃至S509の場合と同様に、割当装置20Aが通信装置10に割り当てる仲介装置を選定すると共に、通信装置10にその仲介装置のアドレス情報を通知し、通信装置10もアクセスすべき仲介装置の識別情報を更新する(S547〜S549)。
【0176】
図21の例では、割当装置は仲介装置30A1を割り当て、起動時と割り当て内容を変更している。しかし、通信装置10側では、割り当て内容が変更されたかどうかを特に意識する必要はなく、新たに通知された識別情報に基づき、仲介装置30A1にアクセスして、管理装置40との通信を行う(S550〜S552)。この部分の処理は、実際には図9のステップS131乃至S137と同様な手順で行われるが、記載を簡略化している。以後の図においても同様である。
【0177】
一方、管理装置40は、ステップS551の通知を受信した時点では、過去の対応付けを反映して、通信装置10と仲介装置30A2を対応付けて登録しているが、ステップS551ではその対応付けと異なる仲介装置30A1から、通信装置10が送信した通知を受信することになる。そして、このことにより対応付けが変更されたことを認識し、変更後の対応付けを反映させるべく、通知の送信元である通信装置10と、今回通知を送信してきた仲介装置30A1とを対応付けて登録する(S553)。
【0178】
また、仲介装置30A1も、ステップS550の通知を受信すると、それまで仲介対象と認識していなかった通信装置10が新たに仲介対象となったことを認識できる。従って、通信装置10を仲介対象として登録し(S554)、図20のステップS513及びS515の場合と同様に、割当装置20に対して仲介開始通知と利用状況通知を行う(S555,S557)。
【0179】
また、割当装置20Aは、ステップS555の仲介開始通知を受けると、ステップS547で行った選定に従った仲介が実際に開始されたことを把握できるため、通信装置10と、その通信装置10についての仲介を新たに行うこととなった仲介装置30A1とを対応付けて登録する(S556)。
【0180】
また、この登録に際し、それまでに通信装置10と対応付けられていた仲介装置30A2は、もはや通信装置10の通信を仲介しなくなったことを把握できる。そこで、仲介装置30A2に対し、通信装置10の通信を仲介する仲介装置が仲介装置30A1になったことを通知する仲介機器変更通知を送信する(S558)。この通知は、通信装置10及び変更後の仲介装置30A1のIDを含むものである。
【0181】
そして、この通知を受けた仲介装置30A2は、通知に係る通信装置を自身の仲介対象から削除する(S559)。また、仲介対象が減ったことにより処理負荷が変化することが考えられるため、処理負荷を再計算して、最新の状況を反映した利用状況通知を割当装置20Aに送信する(S560)。
通信装置10の起動時に以上の処理を行うことにより、通信装置に、処理負荷の小さい仲介装置を随時割り当てることができ、一層の処理負荷の平準化を図ることができる。
【0182】
また、割当装置20Aが通信装置10に割り当てた仲介装置がその通信装置10に直近に割り当てた仲介装置と異なる場合、直近に割り当てた仲介装置に対し、その通信装置10に対するその直近に割り当てた仲介装置の割り当てが解除された旨を通知することにより、仲介装置の割り当て変更に伴う処理負荷の変化を仲介装置に速やかに把握させることができる。
【0183】
〔第2の実施形態の第3の動作例:図22〕
次に、第2の実施形態の第3の動作例について説明する。
次に、図22に、特定の仲介装置30の処理負荷が大きくなった場合の負荷分散の処理シーケンスを示す。
図22の例でも、各仲介装置30A1〜30A3が利用状況通知を割当装置20Aに送信し、割当装置20Aが負荷情報を保持する(S571〜S574)ことは、図7の場合と同様である。
【0184】
そして、割当装置20Aが、この利用状況通知に基づいて特定の仲介装置の処理負荷が所定の閾値を超えたと判断すると、その仲介装置の仲介動作を代替させる仲介装置を、閾値を超えた仲介装置と同じ通信方式に対応しており、かつ処理負荷が比較的小さいものの中から選定する(S575)。図10の例では、処理負荷の大きい仲介装置30A1の代替として、処理負荷の小さい仲介装置30A3を選定している。
そして、代替元の仲介装置30A1に、仲介処理を仲介装置30A3に代替することを要求する代替要求を送信する(S576)。この代替要求には、仲介装置30A3に対するアクセスを行わせるために通信装置10に通知すべきアドレス情報を含める。
【0185】
この代替要求を受けた仲介装置30A1は、その後通信装置10からアクセスを受けると(S577)、通信の仲介を拒否すると共に、現在処理負荷が大きい状態であり、代わりにステップS576で通知された代替先にアクセスすべきことを示す応答を返す(S578)。この応答には、代替先にアクセスするために用いるアドレス情報を含める。
この応答を受けた通信装置10は、アクセスすべき仲介装置のアドレス情報を通知された内容に更新する(S579)と共に、その識別情報に従って代替先の仲介装置30A3にアクセスし、その仲介装置30A3を介して管理装置40と通信を行う(S580〜S582)。
【0186】
この動作は、図21のステップS550乃至S552で変更後の割り当てに従って管理装置40と通信を行う場合と同様な位置付けとなる。従って、管理装置40及び仲介装置30A3は、通信装置10からの通知の受信により、通信装置10への仲介装置の割り当てが変更されたことを認識し、図21のステップS553乃至S557と同様に、対応付けの更新や、割当装置20への通知を行う(S583〜S587)。割当装置20AがステップS585の通知に従って対応付けの登録を変更すること(S586)も、図21のステップS556の場合と同様である。
【0187】
また、割当装置20Aが変更元の仲介装置30A1に対し仲介機器変更通知を行い(S588)、仲介装置30A1が仲介対象の更新(S589)及び利用状況通知(S590)を行うことも、図21のステップS558乃至S560の場合と同様である。
そして、割当装置20Aは、最新の利用状況通知に基づき、代替要求先の仲介装置30A1の処理負荷が所定の閾値を下回ったと判断した場合、仲介装置30A1に対して代替要求のクリアを通知する(S591)。仲介装置30A1は、この通知を受けると、以後は代替要求を受ける前と同様に仲介動作を行う状態に戻る。
【0188】
以上の処理を行うことにより、割当装置20Aが、一の仲介装置において処理負荷の高さが所定の閾値を超えたと判断した場合、その一の仲介装置よりも処理負荷の小さい別の仲介装置を選択し、その一の仲介装置に対し、処理を代替可能な仲介装置の情報として上記別の仲介装置の情報を通知するので、特定の仲介装置の処理負荷が大きくなった場合に、仲介装置の割り当てを適切に変更して処理を他の仲介装置に分散させ、処理負荷の平準化を図ることができる。
【0189】
また、割当装置20が、その後上記一の仲介装置において処理負荷の高さが所定の閾値を下回ったと判断した場合、その一の仲介装置に対し、処理を代替可能な仲介装置の情報を無効にすべきことを通知するので、上記特定の仲介装置の処理負荷が小さくなった段階で分散を終了させることができる。このため、代替要求の送信から代替要求クリアの通知までの間に上記特定の仲介装置にアクセスしなかった通信装置については、代替要求により仲介装置の割り当てが変更されることはない。従って、上記特定の仲介装置が担当していた全ての処理を他の仲介装置に割り振ってしまうことはなく、分散により却って処理負荷の分布が偏ってしまうような事態も起こらない。
なお、代替を開始させる基準とする閾値は、代替を終了させる基準とする閾値よりも大きい値とするとよい。
【0190】
〔第2の実施形態の第4の動作例:図23,図24〕
次に、第2の実施形態の第4の動作例について説明する。
図23及び図24に、特定の仲介装置30が一時的に仲介機能を停止する場合の処理シーケンスを示す。
図23の処理においては、仲介装置30A1がメンテナンス等の理由により一時的に通信の仲介機能を停止する(S602)。この場合、停止に先立って、割当装置20に停止通知を行う(S601)。この停止通知には、復帰予定時刻の情報を含めると良い。割当装置20Aは、この停止通知を受けると、以後、通知元を通信装置10に対する割り当ての候補から除外する(S603)。なお、仲介装置が不具合により停止する場合に、停止通知を行えない場合もあるが、このような場合でも、例えばある仲介装置から所定時間利用状況通知がなかった場合にその仲介装置が仲介機能を停止したと判断し、割り当ての対象から除外することも考えられる。
【0191】
また、停止しない仲介装置は、図20の場合と同様に利用状況通知を割当装置20Aに送信し、割当装置20Aが負荷情報を保持する(S604〜S606)。
この状態で通信装置10が通信を行うために仲介装置30A1にアクセスすると(S607)、仲介装置30A1は仲介機能を停止しているため、エラー応答を返すか、または何も応答を返さない(S608)。
【0192】
通信装置10は、このことにより自身に割り当てられた仲介装置が機能していないことを把握できるため、他の仲介装置の割り当てを受けるべく、割当装置20Aに通信先確認通知を送信する(S609)。そして、図20のステップS507乃至S509の場合と同様に、割当装置20Aが通信装置10に割り当てる仲介装置(ここでは仲介装置30A3)を選定すると共に、通信装置10にその仲介装置のアドレス情報を通知し、通信装置10もアクセスすべき仲介装置の識別情報を更新する(S610〜S612)。ただしこのとき、停止した仲介装置30A1は割り当ての候補に入らない。
【0193】
そして、新たな仲介装置の割り当てを受けた通信装置10は、通知された識別情報に従って仲介装置30A3にアクセスし、その仲介装置30A3を介して管理装置40と通信を行う(S613〜S615)。
この動作は、図21のステップS550乃至S552で変更後の割り当てに従って管理装置40と通信を行う場合と同様な位置付けとなる。従って、管理装置40及び仲介装置30A3は、通信装置10からの通知の受信により、通信装置10への仲介装置の割り当てが変更されたことを認識し、図21のステップS553乃至S557と同様に、対応付けの更新や、割当装置20Aへの通知を行う(S616〜S620)。割当装置20AがステップS618の通知に従って対応付けの登録を変更すること(S619)も、図21のステップS556の場合と同様である。ただし、停止中の仲介装置30A1から他の仲介装置へ割り当てを変更した通信装置10を後で抽出できるよう、必要な情報を保持しておく。
【0194】
その後、処理は図24に示す部分に進み、仲介装置30A1が仲介機能の動作を再開すると(S621)、割当装置20Aに対し、その旨を通知する復帰通知を送信する(S622)。この復帰通知を受けた割当装置20Aは、通知の送信元を割り当ての候補に追加する(S623)。
その後、通知の送信元である仲介装置30A1が停止していた間にその仲介装置30A1から他の仲介装置へ割り当てを変更した通信装置10を抽出し(S624)、その各通信装置10について、仲介機器変更通知を仲介装置30A1に送信する(S625)。これに応じて仲介装置30A1は仲介対象の更新(S626)及び利用状況通知(S627)を行う。これらの処理は、図21のステップS558乃至S560の場合と概ね同様である。
【0195】
以上のような処理を行うことにより、割当装置20Aが、仲介装置から受信する情報に基づき、仲介装置が停止してから再開するまでその仲介装置を通信装置10に割り当てないようにすることができるので、一部の仲介装置が機能を停止する場合でも、その機能を他の仲介装置に容易に代替させ、通信システムの動作を安定して継続させることができる。
【0196】
〔第2の実施形態の第5の動作例:図25,図26〕
次に、第2の実施形態の第5の動作例について説明する。
図25及び図26に、仲介装置を追加する場合の処理シーケンスを示す。この例は、30A1〜30A3の3台の仲介装置を運用中のシステムに、仲介装置30A4を追加する場合の例である。
図25の処理において、管理装置40及び割当装置20A(及び通信装置10)と通信可能な状態になり、システムに追加された仲介装置30A4は、管理装置40及び割当装置20Aに対し、自身が追加されたことを通知する装置追加通知を送信する(S631,S633)。
【0197】
管理装置40は、ステップS631の通知を受けると通知元の仲介装置30A4を、管理装置40に対する通信を仲介する仲介装置として登録する(S632)。この登録は必須ではないが、登録されていない仲介装置による仲介は受け付けないようにすることによりセキュリティの向上を図るといった用途が考えられる。
【0198】
また、割当装置20Aは、ステップS633の通知を受けると、送信元の仲介装置30A4を割り当ての候補に追加する(S634)。この処理により、仲介装置30A4が通信システムに組み入れられたことになる。なお、装置追加通知は、初回の利用状況通知を兼ねるようにするとよい。このときの負荷は、まだ仲介を行っていないため通常は0%である。
また、以上とは関係なく、既に通信システムに組み入れられている各仲介装置30A1〜30A3は、図20等の場合と同様、利用状況通知を割当装置20Aに送信し、割当装置20Aが負荷情報を保持する(S635〜S638)。
【0199】
また、仲介装置30A4が新たに追加された場合、明らかに処理負荷の小さい仲介装置が存在することになるため、割当装置20は、処理負荷を平準化すべく、仲介装置30A4と同じ通信方式に対応している仲介装置の中から、処理負荷の比較的大きい仲介装置を抽出し(S639)、それらの仲介装置(ここでは30A1及び30A2)に対し、仲介処理を仲介装置30A4に代替することを要求する代替要求を送信する(S640,S641)。ステップS639の抽出の基準とする閾値は、ステップS575で用いる閾値より低い値でよい。あるいは、単純に処理負荷の高い方からいくつかの仲介装置を抽出してもよい。
【0200】
ステップS640及びS641での代替要求に従った仲介装置の割り当て変更の手順(S642〜S654)は、図22に示した負荷分散時のものと同様であるので、説明を省略する。図15には、仲介装置30A1から仲介装置30A4へ割り当てを変更する処理を示した。
【0201】
また、最新の利用状況通知に基づき、代替要求先の仲介装置の処理負荷が所定の閾値を下回ったと判断した場合、その仲介装置に対して代替要求のクリアを通知する(S655〜S658)ことも、図22の処理と同様である。
以上の処理により、通信システムに任意に仲介装置を追加して、システム全体の仲介処理のキャパシティを高めることができる。なお、ステップS639以下の処理は、処理負荷が高い仲介装置がなければ、行わなくてもよい。
【0202】
〔第2の実施形態の第6の動作例:図27,図28〕
次に、第2の実施形態の第6の動作例について説明する。
この動作例は、仲介装置の割り当て変更があっても管理装置40から通信装置10に宛てて送信する要求を確実に通信装置10に伝送できるようにするための処理を示すものである。
図27及び図28に、図22を用いて説明したような、代替要求による仲介装置の負荷分散を行う場合の処理シーケンスを示す。
【0203】
図27のステップS661乃至S665の処理は、管理装置40が通信装置10に宛てて機器情報取得要求Xを送信し、その要求に対する応答として機器情報取得結果Xを受信する処理である。図中の「001」は、宛先となる通信装置のIDである。これらの処理は、基本的に図5(c)のステップS32乃至S38の処理と同様な手順で行われるが、記載を簡略化している。以後の図においても同様である。
【0204】
また、管理装置40は、通信装置10に宛てた要求のステップS661での送信先を、図20のステップS517等で行った登録に基づき、宛先の通信装置10と対応する仲介装置に決定する。また、管理装置40は、通信装置10宛ての要求は応答の受信まで多少の時間を要することを前提に、送信した要求を、どの仲介装置30に送信したかを示す情報と共に記憶しておき、応答を受信するまで、応答未受信の要求として管理する。
【0205】
一方、各仲介装置30A1〜30A3は、ステップS661乃至S665等における要求の処理状況とは関係なく、利用状況通知を割当装置20Aに送信し(S666,S667,S669)、割当装置20Aが負荷情報を保持する。
従って、仲介装置30A1が機器情報取得要求Yを受信した後(S668)、これを通信装置に転送する前に、利用状況通知(S669)を行うことになる場合もある。そして、同じく転送前に、図22のステップS575及びS576のように仲介装置30A1が代替要求を受ける場合もある(S670)。
【0206】
この場合、仲介装置30A1は、図22のステップS577,S578の場合と同様に、通信装置10からのアクセスに対して通信の仲介を拒否する(S671,S672)と共に以後のアクセス先を変更させる(S673)。従って、仲介装置30A1がステップS668で受信した機器情報取得要求Yは、通信装置10へ転送されずに仲介装置30A1にプールされたままとなってしまう。
そこで、仲介装置30A1は、ステップS670で代替要求を受信すると、自身の仲介機能を代替要求に従って仲介装置30A3に代替させる旨を通知する負荷分散通知を管理装置40に送信する(S674)。
【0207】
管理装置40は、この通知を受信すると、送信済み要求の管理情報を参照し、分散元装置(ここでは仲介装置30A1)に送信した応答未受信の要求を抽出し(S675)、その要求を、分散先装置(ここでは仲介装置30A3)に送信する(S676)。それまで仲介装置30A1に仲介させて送信していた宛先には、以後仲介装置30A3に仲介させて送信することになると考えられるためである。ただし、この時点では仲介装置の割り当て変更が実際に行われる保証はないため、仲介装置30A1に送信した要求もキャンセルしない。なお、ステップS676で送信した要求も、ステップS661及びS668で送信した要求と同様に管理する。
【0208】
そして、ステップS676の後、ステップS673でのアクセス先変更に伴い、通信装置10が仲介装置30A3にアクセスすると(S677)、仲介装置30A3から機器情報取得要求Yを受信し(S678)、応答として機器情報取得結果Yを返すことができる(S679)。この機器情報取得結果は、仲介装置30A3から管理装置40に転送される(S680)。
【0209】
管理装置40は、これを受信したことにより、通信装置10の通信を仲介する仲介装置が仲介装置30A3に変更されたことを認識できるので、通信装置と仲介装置の対応付けを更新する(S681)。また、もはや分散元の仲介装置30A1に送信した機器情報取得要求Yは不要であるので、これが後で重複して転送されることを防止するため、仲介装置30A1にそのキャンセルを指示する(S682)。
ステップS683乃至S690の処理は、図22のステップS584乃至S591と同様な処理であり、仲介装置30A3,30A1と、割当装置20Aが、割り当て変更の内容を、自身が記憶するデータに反映させる。また、仲介装置30A1の負荷が低くなった時点で、代替要求をクリアする。
【0210】
仲介装置30A1は、代替要求がクリアされると、その旨を管理装置40に通知する(S691)。管理装置40は、この通知に応じて、ステップS676で分散先の仲介装置30A3に送信した要求のうち応答未受信のものを抽出し(S692)、仲介装置30A3にそのキャンセルを指示する(S693)。代替要求がクリアされるまでに仲介装置30A3から通信装置10に転送されなかった要求は、ステップS670での代替要求に応じた仲介装置の割り当て変更がなされなかった通信装置に宛てた要求であると考えられ、代替要求がクリアされた後は、仲介装置30A1を通して通信装置10に転送できると考えられるためである。
【0211】
以上の処理を行うことにより、管理装置40が、ある仲介装置が行っていた通信の仲介機能を、別の仲介装置に代替させる旨の通知を受信した場合、該ある仲介装置と対応づけられている相手先装置に宛てて送信した要求であってまだ応答を受信していないものを、上記別の仲介装置に送信することができるので、仲介装置の割り当て変更があった場合でも、変更後の仲介装置を介して要求を目的の装置に送信することができる。従って、管理装置40からの通信装置10宛ての要求が仲介装置30にプールされた後で仲介装置の割り当てが変更される場合であっても、要求が仲介装置30にプールされたまま放置されてしまう事態を防止し、確実に通信装置10に伝送することができる。
【0212】
また、通知前に上記ある仲介装置に送信した要求と、通知に応じて上記別の仲介装置に送信したその要求と対応する要求のうち一方について応答を受信した場合に、他方をキャンセルすることができるので、要求の送信が重複して通信システムの動作に不具合を来すこともない。
【0213】
〔第2の実施形態の第7の動作例:図29,図30〕
次に、第2の実施形態の第7の動作例について説明する。
図29及び図30に、図23及び図24を用いて説明したような、仲介装置の停止が起こる場合の処理シーケンスを示す。
図29の処理において、ステップS701乃至S705の処理は、図27のステップS661乃至S665と同様である。また、図17には、管理装置40が通信装置10宛ての機器情報取得要求Yを仲介装置30A1に送信し(S706)、仲介装置30A1にプールされている状態で、仲介装置30A1が仲介機能を停止する(S708)例を示している。
【0214】
この場合、仲介装置30A1は、図23のステップS601と同様に、停止に先立って割当装置20Aに対して停止通知を送信する(S707)。
図23の例では、割当装置20Aは、この停止通知に応じて通知元を割り当ての候補から除外するのみであったが、図17の処理では、割当装置20Aは停止通知に応じて、通知元装置の仲介機能を代替させる仲介装置を、図22のステップS575の場合と同様に選定する(ここでは仲介装置30A3を選定する)(S709)。そして、その旨を通知する停止装置代替通知を管理装置40に送信する(S710)。図27の場合と異なり割当装置20Aがその通知を送信するのは、仲介装置30A1が、代替先の装置がどれになるか把握していないためである。
【0215】
管理装置40は、ステップS710の通知を受信すると、図15のステップS675及びS676の場合と同様に、代替元装置(ここでは仲介装置30A)に送信した応答未受信の要求を抽出し(S711)、その要求を、代替先装置(ここでは仲介装置30A3)に送信する(S712)。
【0216】
一方、仲介装置30A1が割り当てられている通信装置10は、仲介機能の停止している仲介装置30A1にアクセスすると(S713)、エラー応答が返ってくるか、又は応答が返ってこない(S714)。
通信装置10は、このことにより自身に割り当てられた仲介装置が機能していないことを把握できるため、図23のステップS609乃至S612の場合と同様、割当装置20Aに通信先確認通知を送信して、代わりにアクセスすべき仲介装置の割り当てを受ける(S715〜S717)。ただし、割当装置20Aは、通信先確認通知の送信元が、停止中の仲介装置30A1が割り当てられている装置であることを確認すると、その時点で新たな割り当て先を選定するのではなく、ステップS709で選定した代替先を割り当てる。
【0217】
そして、ステップS717でのアクセス先変更に伴い、通信装置10が仲介装置30A3にアクセスすると(S718)、仲介装置30A3から機器情報取得要求Yを受信し(S719)、応答として機器情報取得結果Yを返すことができる(S720)。この機器情報取得結果は、仲介装置30A3から管理装置40に転送される(S721)。
管理装置40は、これを受信したことにより、通信装置10の通信を仲介する仲介装置が仲介装置30A3に変更されたことを認識できるので、通信装置と仲介装置の対応付けを更新する(S722)。
【0218】
また、もはや代替元の仲介装置30A1に送信した機器情報取得要求Yは不要であるので、図15のステップS682の場合と同様に、仲介装置30A1にそのキャンセルを行わせる必要がある。しかし、仲介装置30A1は停止中であって直ちにキャンセルができないため、そのキャンセルを予約する(図30のS723)。
【0219】
ステップS724乃至S727の処理は、図23のステップS617乃至S620と同様な処理であり、仲介装置30A3,30A1と、割当装置20Aが、割り当て変更の内容を、自身が記憶するデータに反映させる。
また、仲介装置30A1が仲介機能の動作を再開すると(S728)、図24のステップS622乃至S627と同様に、復帰通知(S729)及び、停止中の割り当て変更を仲介装置30A1の登録内容に反映させる処理を行う(S734〜S737)。
【0220】
また、割当装置20Aは、ステップS729で復帰通知を受信すると、仲介装置30A1の停止に伴う仲介装置の代替を終了する旨を通知する仲介装置代替終了通知を管理装置40に送信する(S730)。管理装置40は、この通知により、仲介装置30A1の動作が復帰し、ステップS723で予約した、代替元装置に送信した要求のキャンセルが実行できる状態になったことを把握できるため、これを実行する(S731)。
その後、ステップS712で代替先の仲介装置30A3に送信した要求のうち応答未受信のものを抽出し(S732)、仲介装置30A3にそのキャンセルを指示する(S733)。これらの処理は、図16のステップS692,S693と同趣旨である。
【0221】
以上の処理を行うことにより、管理装置40からの通信装置10宛ての要求が仲介装置30にプールされた後でその仲介装置が仲介動作を停止する場合であっても、図27及び図28の場合と同じように、要求が仲介装置30にプールされたまま放置されてしまう事態を防止し、確実に通信装置10に伝送することができる。
なお、仲介装置が停止通知なしで停止し、利用状況通知のないことをトリガに割当装置20Aが仲介装置30の停止を判断した場合であっても、ステップS709以降については同様な処理が可能である。
なお、以上説明してきた動作例が、割当装置20B及び仲介装置30B1〜30B3についても同様に適用可能であることは、もちろんである。
【0222】
〔変形例:図31〕
以上で実施形態の説明を終了するが、以上説明してきた実施形態において、装置やシステムの構成や具体的な処理内容、データの形式、画面の表示内容等が上述の実施形態で説明したものに限られないことはもちろんである。
【0223】
例えば、通信システム及びこれを構成する通信装置、割当装置、仲介装置及び管理装置を、以上の各シーケンスズを用いて説明した動作が全て可能なように構成しなくてもよい。これらのうち1以上の任意の組み合わせの動作のみ可能なように構成することもできる。
【0224】
また、通信システムの構成につき、図30の構成に代えて、図31の構成を採用することも可能である。この通信システムにおいても、仲介装置30A1〜30A3が、プロトコルAを用いた通信方式に対応した仲介装置であり、仲介装置30B1〜30B3が、プロトコルBを用いた通信方式に対応した仲介装置である点は、図30の場合と同様である。
【0225】
しかし、割当装置20は、1台しか設けておらず、この割当装置が、仲介装置30A1〜30A3及び仲介装置30B1〜30B3の全てについて割り当てを担当する。また、通信装置10も、使用する通信方式によらず、割当装置20にアクセスして仲介装置の割り当てを受けることになる。
【0226】
このようにしても、割当装置20が各仲介装置30から、その仲介装置が対応している通信方式の情報を取得して管理し、通信装置10から割り当てを要求された場合に、通信装置10が使用しようとする通信方式に対応した仲介装置30を割り当てるようにすれば、問題なく、上述した第1及び第2の実施形態と同様な割り当てが可能である。
【0227】
また、通信装置10は、画像形成装置に限らず、任意の電子装置に上述の実施形態で説明した通信機能を設けた装置として構成可能である。例えば、ネットワーク家電、自動販売機、医療機器、電源装置、空調システム、ガス・水道・電気等の計量システム、自動車、航空機あるいは汎用コンピュータ等に適用可能である。
また、この発明が、遠隔管理機能を有さない通信システムにも適用可能であることは、もちろんである。
【0228】
また、この発明によるプログラムは、コンピュータを、上述したような通信装置10、割当装置20、仲介装置30あるいはセンター通信装置40として機能させるためのプログラムであり、このようなプログラムをコンピュータに実行させることにより、上述したような効果を得ることができる。
このようなプログラムは、はじめからコンピュータに備えるROMあるいはHDD等の記憶手段に格納しておいてもよいが、記録媒体であるCD−ROMあるいはフレキシブルディスク,SRAM,EEPROM,メモリカード等の不揮発性記録媒体(メモリ)に記録して提供することもできる。そのメモリに記録されたプログラムをコンピュータにインストールしてCPUに実行させるか、CPUにそのメモリからこのプログラムを読み出して実行させることにより、上述した各処理を実行させることができる。
さらに、ネットワークに接続され、プログラムを記録した記録媒体を備える外部機器あるいはプログラムを記憶手段に記憶した外部機器からダウンロードして実行させることも可能である。
また、以上説明してきた各実施形態、動作例及び変形例の構成は、相互に矛盾しない限り任意に組み合わせて実施可能であることは勿論である。
【符号の説明】
【0229】
10:通信装置、11:CPU、12:メモリ、13:通信I/F、14:表示器、15:操作部、16:エンジン部、17:システムバス、20:割当装置、30:仲介装置、31:割当部、32:仲介部、40:センター通信装置(管理装置)、101:通信プロトコルライブラリ、102:データ形式ライブラリ、103:セキュリティライブラリ、104:イベント管理ライブラリ、105:遠隔管理SDKアプリ、106:設定データ、107:機種依存吸収モジュール、108:SDK_I/F、109:プラットフォーム、110:UI制御モジュール、301:機器通信モジュール、302:センター通信クライアントモジュール、303:センター通信サーバモジュール、304:セキュリティ・認証モジュール、305:機器管理・割当モジュール、306:WebUI、307:機器管理DB、308:設定パラメータ、309:スケジューラ、310:コマンドプール、500:設定画面、501:プロトコル選択部、502:データ形式選択部、503:自動切換設定部、510:通信設定部、520:アクセス先設定部、531:通信テスト実行ボタン、532:登録ボタン、M,MA,MB:仲介システム、N:インターネット
【先行技術文献】
【特許文献】
【0230】
【特許文献1】特開2003−323360号公報

【特許請求の範囲】
【請求項1】
複数の第1の通信装置と、第2の通信装置と、前記複数の第1の通信装置と第2の通信装置との間の通信を仲介する複数の仲介装置と、前記第1の通信装置に対し、前記第2の通信装置との間の通信を仲介させる仲介装置を前記複数の仲介装置の中から割り当てる割当装置とを備える通信システムであって、
前記複数の第1の通信装置の各々が、
前記第2の通信装置と複数の通信方式で通信を行うための通信手段と、
前記複数の通信方式のそれぞれについて対応する割当装置の第1のアドレス情報を記憶する第1の記憶手段と、
前記複数の通信方式のいずれかを、前記第2の通信装置との通信に用いる通信方式として選択する選択手段と、
前記選択手段が通信方式を選択した場合に、該通信方式を用い、前記第1の記憶手段が記憶している該通信方式と対応する第1のアドレス情報に従って前記割当装置と通信する第1の通信制御手段と、
該第1の通信制御手段の通信に応じて前記割当装置から送信されてきた第2のアドレス情報を記憶する第2の記憶手段と、
前記選択手段が選択した通信方式により前記第2の通信装置と通信する場合に、前記第2の記憶手段が記憶している第2のアドレス情報が示す前記仲介装置と通信してその仲介を受ける第2の通信制御手段とを備え、
前記第2の通信装置が、
前記複数の仲介装置のそれぞれと通信を行うための通信手段を備え、
前記割当装置が、
前記第1の通信装置の前記第1の通信制御手段からの通信を受けた場合に、該通信に用いられた通信方式に基づき、該第1の通信装置の通信を仲介する仲介装置を定め、その仲介装置のアドレス情報を前記第2のアドレス情報として該第1の通信装置に送信する通信先通知手段を備え、
前記複数の仲介装置の各々が、
前記第1の通信装置が使用可能な通信方式のいずれかで前記第1の通信装置と通信を行うための第1の通信手段と、
前記第2の通信装置と通信を行うための第2の通信手段と、
前記第1の通信手段が前記第1の通信装置から受信した前記第2の通信装置宛のデータを、前記第2の通信手段を用いて前記第2の通信装置に送信し、前記第2の通信手段が前記第2の通信装置から受信した前記第1の通信装置宛のデータを、前記第1の通信手段を用いて宛先の前記第1の通信装置に送信する仲介手段とを備えることを特徴とする通信システム。
【請求項2】
請求項1に記載の通信システムであって、
前記第2の通信装置の前記通信手段は、前記複数の仲介装置のそれぞれと共通の通信方式で通信を行うための手段であり、
前記複数の仲介装置の各々において、
前記第2の通信手段は、前記共通の通信方式で第2の通信装置と通信を行うための手段であり、
前記仲介手段は、前記第1の通信手段が前記第1の通信装置から受信した前記第2の通信装置宛のデータを、必要に応じて前記共通の通信方式に従った形式のデータに変換して前記第2の通信手段を用いて前記第2の通信装置に送信し、前記第2の通信手段が前記第2の通信装置から受信した前記第1の通信装置宛のデータを、必要に応じて前記第1の通信手段が用いる通信方式に従った形式のデータに変換して前記第1の通信手段を用いて宛先の前記第1の通信装置に送信する手段であることを特徴とする通信システム。
【請求項3】
請求項1又は2に記載の通信システムであって、
前記割当装置の前記通信先通知手段は、前記通信に用いられた通信方式に基づき、前記第2のアドレス情報に従った通信ができない場合に前記第1の通信装置の通信を仲介する代替の仲介装置も定め、前記第2のアドレス情報に加え、その仲介装置のアドレス情報を第3のアドレス情報として該第1の通信装置に返す手段であり、
前記各第1の通信装置の第2の記憶手段は、該第3のアドレス情報も記憶する手段であり、
前記各第1の通信装置の第2の通信制御手段は、前記第2のアドレス情報が示す仲介装置を介した前記第2の通信装置との通信ができない場合に、前記第3のアドレス情報が示す前記代替の仲介装置と通信してその仲介を受ける手段であることを特徴とする通信システム。
【請求項4】
請求項3に記載の通信システムであって、
前記各第1の通信装置の前記第1の通信制御手段は、当該第1の通信装置が前記第2の通信装置との通信に利用可能な通信方式の情報を前記割当装置に通知する手段を備え、
前記割当装置の前記通信先通知手段は、該通知された利用可能な通信方式の情報にも基づいて、前記代替の仲介装置を、前記第2のアドレス情報が示す仲介装置と異なる通信方式により前記第1の通信装置と通信を行う仲介装置に定め、前記第3のアドレス情報に加えて前記代替の仲介装置が通信に用いる通信方式の情報も前記第1の通信装置に返す手段であり、
前記各第1の通信装置の第2の記憶手段は、前記第3のアドレス情報に対応付けて前記代替の仲介装置が通信に用いる通信方式の情報を記憶する手段であり、
前記各第1の通信装置の第2の通信制御手段は、前記第3のアドレス情報が示す前記代替の仲介装置と通信してその仲介を受ける場合に、通信に用いる通信方式を、該第3のアドレス情報と対応付けて前記第2の記憶手段が記憶している通信方式に変更する手段を備えることを特徴とする通信システム。
【請求項5】
請求項3又は4に記載の通信システムであって、
前記各第1の通信装置の第2の通信制御手段に、前記第3のアドレス情報が示す前記代替の仲介装置との通信を開始してから所定時間経過後に、前記第2のアドレス情報が示す仲介装置との通信を試み、該仲介装置に仲介を受けられる場合に、以後の前記第2の通信装置との通信は、該第2のアドレス情報が示す仲介装置に仲介を受ける手段を設けたことを特徴とする通信システム。
【請求項6】
所定の相手先装置との通信に仲介装置による仲介を受ける通信装置であって、
前記相手先装置と複数の通信方式で通信を行うための通信手段と、
前記複数の通信方式のそれぞれについて対応する割当装置の第1のアドレス情報を記憶する第1の記憶手段と、
前記複数の通信方式のいずれかを、前記相手先装置との通信に用いる通信方式として選択する選択手段と、
前記選択手段が通信方式を選択した場合に、該通信方式を用い、前記第1の記憶手段が記憶している該通信方式と対応する第1のアドレス情報に従って前記割当装置と通信する第1の通信制御手段と、
該第1の通信制御手段の通信に応じて前記割当装置から送信されてきた第2のアドレス情報を記憶する第2の記憶手段と、
前記選択手段が選択した通信方式により前記相手先装置と通信する場合に、前記第2の記憶手段が記憶している第2のアドレス情報が示す前記仲介装置と通信してその仲介を受ける第2の通信制御手段とを備えることを特徴とする通信装置。
【請求項7】
請求項6に記載の通信装置であって、
前記割当装置は、前記第1の通信制御手段の通信に応じて、前記第2のアドレス情報に加えて、前記第2のアドレス情報に従った通信ができない場合に当該通信装置の通信を仲介する代替の仲介装置のアドレス情報として第3のアドレス情報も送信してくる装置であり、
前記第2の記憶手段は、該第3のアドレス情報も記憶する手段であり、
前記第2の通信制御手段は、前記第2のアドレス情報が示す仲介装置を介した前記相手先装置との通信ができない場合に、前記第3のアドレス情報が示す前記代替の仲介装置と通信してその仲介を受ける手段であることを特徴とする通信装置。
【請求項8】
請求項7に記載の通信装置であって、
前記第1の通信制御手段は、当該通信装置が前記第2の通信装置との通信に利用可能な通信方式の情報を前記割当装置に通知する手段を備え、
前記割当装置は、前記第3のアドレス情報に加えて、前記代替の仲介装置が通信に用いる、前記割当装置に通知した通知方式のいずれかであって前記第2のアドレスが示す仲介装置との通信に用いるものとは異なる通信方式の情報も送信してくる装置であり、
前記第2の記憶手段は、前記第3のアドレス情報に対応付けて前記代替の仲介装置が通信に用いる通信方式の情報を記憶する手段であり、
前記第2の通信制御手段は、前記第3のアドレス情報が示す前記代替の仲介装置と通信してその仲介を受ける場合に、通信に用いる通信方式を、該第3のアドレス情報と対応付けて前記第2の記憶手段が記憶している通信方式に変更する手段を備えることを特徴とする通信装置。
【請求項9】
請求項7又は8に記載の通信装置であって、
前記第2の通信制御手段に、前記第3のアドレス情報が示す前記代替の仲介装置との通信を開始してから所定時間経過後に、前記第2のアドレス情報が示す仲介装置との通信を試み、該仲介装置に仲介を受けられる場合に、以後の前記相手先装置との通信は、該第2のアドレス情報が示す仲介装置に仲介を受ける手段を設けたことを特徴とする通信装置。
【請求項10】
請求項8に記載の通信装置であって、
前記選択手段による通信方式の選択があった後、前記相手先装置との通信に用いる通信方式を、前記第2の通信制御手段以外によって変更できないようにする設定が可能であることを特徴とする通信装置。
【請求項11】
請求項6乃至10のいずれか一項に記載の通信装置であって、
当該通信装置が備えるハードウェアリソースの情報又は通信のテストの結果に基づき、前記複数の通信方式のうち、前記相手先装置との通信に用いることができる通信方式を判別する判別手段を備え、
前記選択手段は、ユーザが選択した通信方式を、前記相手先装置との通信に用いる通信方式として選択する手段と、前記ユーザから該選択を受け付ける際に、前記判別手段が通信に用いることができるとした通信方式のみを選択可能とすることを特徴とする通信装置。
【請求項12】
コンピュータを、請求項6乃至11のいずれか一項に記載の通信装置として機能させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate


【公開番号】特開2013−65223(P2013−65223A)
【公開日】平成25年4月11日(2013.4.11)
【国際特許分類】
【出願番号】特願2011−203984(P2011−203984)
【出願日】平成23年9月19日(2011.9.19)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】