(57)【特許請求の範囲】
【請求項１】
複数の第１の通信装置の各々について、該第１の通信装置が第２の通信装置と通信する際にその通信を仲介させる仲介装置を、所定の複数の仲介装置の中から割り当てる割当装置であって、
前記各仲介装置から、該仲介装置における処理負荷の高さを示す負荷情報を受信する第１の受信手段と、
前記第１の通信装置から、前記第２の通信装置と通信する際に使用する仲介装置の指定を求める指定要求を受信する第２の受信手段と、
前記第２の受信手段が指定要求を受信した場合に、前記第１の受信手段が受信した各仲介装置の負荷情報に基づいて、処理負荷の小さい仲介装置を該指定要求の送信元の第１の通信装置に割り当て、該割り当てた仲介装置にアクセスするための識別情報を、該指定要求の送信元の第１の通信装置に送信する割当手段と、
前記第１の受信手段が受信した負荷情報に基づき、一の仲介装置において処理負荷の高さが所定の閾値を超えたと判断した場合、該一の仲介装置よりも処理負荷の小さい第２の仲介装置を選択し、該一の仲介装置に対し、該一の仲介装置の処理を代替可能な仲介装置の情報として前記第２の仲介装置の情報を通知する第２の通知手段とを備えることを特徴とする割当装置。
【請求項２】
請求項１に記載の割当装置であって、
前記割当手段が前記第１の通信装置に前記仲介装置を割り当てた場合、該第１の通信装置に直近に割り当てた仲介装置を示す情報を取得し、今回割り当てた仲介装置が直近に割り当てた仲介装置と異なる場合、前記直近に割り当てた仲介装置に対し、該第１の通信装置に対する該直近に割り当てた仲介装置の割り当てが解除された旨を通知する第１の通知手段を備えることを特徴とする割当装置。
【請求項３】
請求項１に記載の割当装置であって、
前記第２の通知手段が前記処理を代替可能な仲介装置の情報の通知をした後、前記第１の受信手段が受信した負荷情報に基づき、前記一の仲介装置において処理負荷の高さが所定の閾値を下回ったと判断した場合、前記一の仲介装置に対し、前記処理を代替可能な仲介装置の情報を無効にすべきことを通知する第３の通知手段を備えることを特徴とする割当装置。
【請求項４】
請求項１乃至３のいずれか一項に記載の割当装置であって、
前記第１の受信手段は、前記各仲介装置から、該仲介装置が機能を停止する旨を示す停止情報及び機能を再開する旨を示す再開情報も受信する手段であり、
前記割当手段は、前記停止情報を送信してきた仲介装置を、該仲介装置から前記再開情報を受信するまでは前記第１の通信装置に割り当てないことを特徴とする割当装置。
【請求項５】
複数の第１の通信装置の各々について、該第１の通信装置が第２の通信装置と通信する際にその通信を仲介させる仲介装置を、所定の複数の仲介装置の中から割り当てる割当装置であって、
前記各仲介装置から、該仲介装置における処理負荷の高さを示す負荷情報を受信する第１の受信手段と、
前記第１の通信装置から、前記第２の通信装置と通信する際に使用する仲介装置の指定を求める指定要求を受信する第２の受信手段と、
前記第２の受信手段が指定要求を受信した場合に、前記第１の受信手段が受信した各仲介装置の負荷情報に基づいて、処理負荷の小さい仲介装置を該指定要求の送信元の第１の通信装置に割り当て、該割り当てた仲介装置にアクセスするための識別情報を、該指定要求の送信元の第１の通信装置に送信する割当手段とを備え、
前記第１の受信手段は、前記各仲介装置から、該仲介装置が機能を停止する旨を示す停止情報も受信する手段であり、
前記第１の受信手段が前記停止情報を受信した場合、前記第１の受信手段が受信した各仲介装置の負荷情報に基づいて、該停止情報の送信元である仲介装置の処理を代替可能な仲介装置を選択する代替装置選択手段と、
前記代替装置選択手段が仲介装置を選択した場合に、前記停止情報の送信元である仲介装置の仲介機能を該選択した仲介装置が代替する旨を前記第２の通信装置に通知する第４の通知手段とを備え、
前記割当手段は、前記第１の受信手段が前記停止情報を受信した後で前記第２の受信手段が前記指定要求を受信した場合に、該指定要求の送信元の第１の通信装置に直近に割り当てた仲介装置を示す情報を取得し、該直近に割り当てた仲介装置が前記停止情報の送信元である仲介装置である場合、該指定要求の送信元の第１の通信装置に、前記代替装置選択手段が選択した仲介装置を割り当てることを特徴とする割当装置。
【請求項６】
請求項５に記載の割当装置であって、
前記第１の受信手段は、前記各仲介装置から、該仲介装置が機能を再開する旨を示す再開情報も受信する手段であり、
前記第１の受信手段が前記再開情報を受信した場合に、その旨を前記第２の通信装置に通知する第５の通知手段を備えたことを特徴とする割当装置。
【請求項７】
請求項１乃至６のいずれか一項に記載の割当装置から、前記第２の通信装置と通信する際にアクセスすべき仲介装置の割り当てを受ける通信装置であって、
前記第２の通信装置と通信するためにアクセスすべき仲介装置を示す識別情報を記憶する記憶手段と、
前記第２の通信装置と通信しようとした際に、アクセスすべき仲介装置を示す識別情報を記憶していない場合及び記憶している識別情報に従ってアクセスした仲介装置と通信ができなかった場合に、前記割当装置に対し、前記第２の通信装置と通信する際に使用する仲介装置の指定を求める指定要求を送信する手段と、
前記指定要求の送信に応じて前記割当装置から送信されてくる識別情報を、前記第２の通信装置と通信するためにアクセスすべき仲介装置を示す識別情報として前記記憶手段に記憶させる手段とを備えたことを特徴とする通信装置。
【請求項８】
請求項７に記載の通信装置であって、
前記記憶手段に記憶している識別情報に従ってアクセスした仲介装置から、該仲介装置に代えてアクセスすべき仲介装置を示す識別情報を通知された場合、前記記憶手段に記憶している、前記第２の通信装置と通信するためにアクセスすべき仲介装置を示す識別情報を、該通知された識別情報に更新することを特徴とする通信装置。
【請求項９】
複数の第１の通信装置と第２の通信装置との間の通信を仲介する仲介装置であって、
当該仲介装置を前記第１の通信装置に割り当てるための割当装置に対し、当該仲介装置における処理負荷の高さを示す負荷情報を送信する負荷情報送信手段と、
前記割当装置から、当該仲介装置の処理を代替可能な仲介装置の情報の通知を受信する代替装置情報受信手段と、
前記代替装置情報受信手段が前記仲介装置の情報の通知を受信した後で前記第１の通信装置からアクセスされた場合に、通信の仲介を拒否すると共に、該第１の通信装置に対し、自身に代えてアクセスすべき仲介装置を示す識別情報として、前記代替装置情報手段が受信した通知に係る仲介装置の識別情報を送信する変更手段とを備えることを特徴とする仲介装置。
【請求項１０】
請求項９に記載の仲介装置であって、
前記代替装置情報受信手段が前記仲介装置の情報の通知を受信した場合に、前記第２の通信装置に対し、自身が行っていた通信の仲介機能を、前記代替装置情報受信手段が受信した通知に係る仲介装置に代替させる旨を通知する代替通知手段を設けたことを特徴とする仲介装置。
【請求項１１】
請求項９又は１０に記載の仲介装置であって、
前記割当装置から、前記代替装置情報受信手段が受信した前記仲介装置の情報の通知を無効にすべきことを通知された場合に、前記変更手段の機能を無効にすることを特徴とする仲介装置。
【請求項１２】
請求項９乃至１１のいずれか一項に記載の仲介装置であって、
第１の通信装置と第２の通信装置との間の通信を仲介する機能を停止させる場合に、前記割当装置に対して、その旨を示す停止情報を送信する停止情報送信手段を備えることを特徴とする仲介装置。
【請求項１３】
複数の相手先装置と、該各相手先装置と対応付けた仲介装置をそれぞれ介して通信する通信装置であって、
いずれかの仲介装置を介して前記相手先装置から当該通信装置の通信相手として登録するよう要求する登録要求が送信されてきた場合に、該相手先装置を通信相手として登録すると共に、該登録要求の送信を仲介した仲介装置を、該相手先装置と対応付けて登録する登録手段と、
いずれかの相手先装置に宛てた要求を送信しようとする場合に、その要求を該相手先装置と対応付けた仲介装置に送信する送信手段と、
前記仲介装置から、該相手先装置に宛てた要求に対する前記相手先装置の応答を受信する受信手段と、
前記仲介装置又は、前記仲介装置を前記相手先装置に割り当てるための割当装置から、ある仲介装置が行っていた通信の仲介機能を、別の仲介装置に代替させる旨の通知を受信した場合、該ある仲介装置と対応づけられている相手先装置に宛てて送信した要求であってまだ応答を受信していないものを、前記別の仲介装置に送信する代替手段と、
前記送信手段が送信した要求及び前記代替手段が送信した該要求と対応する要求のうち一方について、前記受信手段が前記相手先装置の応答を受信した場合に、他方をキャンセルするキャンセル手段とを備えたことを特徴とする通信装置。
【請求項１４】
請求項１３に記載の通信装置であって、
前記相手先装置と対応付けた仲介装置と異なる仲介装置を介して、該相手先装置から当該通信装置へ宛てた要求又は該相手先装置に宛てた要求に対する応答を受信した場合に、該相手先装置と対応付ける仲介装置を、該要求の送信を仲介した仲介装置に変更する変更手段を備えたことを特徴とする通信装置。
【請求項１５】
複数の第１の通信装置の各々について、該第１の通信装置が第２の通信装置と通信する際にその通信を仲介させる仲介装置を、所定の複数の仲介装置の中から割り当てる割当装置と、前記複数の仲介装置とを備えた仲介システムであって、
前記各仲介装置にそれぞれ、
前記割当装置に対し、自身における処理負荷の高さを示す負荷情報を送信する負荷情報送信手段を設け、
前記割当装置に、
前記各仲介装置から前記負荷情報を受信する第１の受信手段と、
前記第１の通信装置から、前記第２の通信装置と通信する際に使用する仲介装置の指定を求める指定要求を受信する第２の受信手段と、
前記第２の受信手段が指定要求を受信した場合に、前記第１の受信手段が受信した各仲介装置の負荷情報に基づいて、処理負荷の小さい仲介装置を該指定要求の送信元の第１の通信装置に割り当て、該割り当てた仲介装置にアクセスするための識別情報を、該指定要求の送信元の第１の通信装置に送信する割当手段と、
前記第１の受信手段が受信した負荷情報に基づき、一の仲介装置において処理負荷の高さが所定の閾値を超えたと判断した場合、該一の仲介装置よりも処理負荷の小さい第２の仲介装置を選択し、該一の仲介装置に対し、該一の仲介装置の処理を代替可能な仲介装置の情報として前記第２の仲介装置の情報を通知する第２の通知手段とを備えることを特徴とする仲介システム。
【請求項１６】
複数の第１の通信装置の各々について、該第１の通信装置が第２の通信装置と通信する際にその通信を仲介させる仲介装置を、所定の複数の仲介装置の中から割り当てる割当方法であって、
割当装置が、
前記各仲介装置から、該仲介装置における処理負荷の高さを示す負荷情報を受信する第１の受信手順と、
前記第１の通信装置から、前記第２の通信装置と通信する際に使用する仲介装置の指定を求める指定要求を受信する第２の受信手順と、
前記第２の受信手順で指定要求を受信した場合に、前記第１の受信手順で受信した各仲介装置の負荷情報に基づいて、処理負荷の小さい仲介装置を該指定要求の送信元の第１の通信装置に割り当て、該割り当てた仲介装置にアクセスするための識別情報を、該指定要求の送信元の第１の通信装置に送信する割当手順と、
前記第１の受信手順で受信した負荷情報に基づき、一の仲介装置において処理負荷の高さが所定の閾値を超えたと判断した場合、該一の仲介装置よりも処理負荷の小さい第２の仲介装置を選択し、該一の仲介装置に対し、該一の仲介装置の処理を代替可能な仲介装置の情報として前記第２の仲介装置の情報を通知する第２の通知手順とを実行することを特徴とする割当方法。
【請求項１７】
コンピュータを請求項１乃至６のいずれか一項に記載の割当装置として機能させるためのプログラム。
【請求項１８】
コンピュータを請求項７、８、１３及び１４のいずれか一項に記載の通信装置として機能させるためのプログラム。
【請求項１９】
コンピュータを請求項９乃至１２のいずれか一項に記載の仲介装置として機能させるためのプログラム。
【請求項２０】
請求項１７乃至１９のいずれか一項に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、複数の第１の通信装置の各々について、該第１の通信装置が第２の通信装置と通信する際にその通信を仲介させる仲介装置を、所定の複数の仲介装置の中から割り当てる割当装置、このような割当装置から仲介装置の割当を受ける通信装置、このような割当装置により第１の通信装置に割り当てられる、複数の第１の通信装置と第２の通信装置との間の通信を仲介する仲介装置、複数の相手先装置と該各相手先装置と対応付けた仲介装置をそれぞれ介して通信する通信装置、上記のような割当装置と仲介装置とを備えた仲介システム、複数の第１の通信装置の各々について、該第１の通信装置が第２の通信装置と通信する際にその通信を仲介させる仲介装置を、所定の複数の仲介装置の中から割り当てる割当方法、コンピュータを上記の割当装置、通信装置あるいは仲介装置として機能させるためのプログラム、及びこのようなプログラムを記録したコンピュータ読み取り可能な記録媒体に関する。
【背景技術】
【０００２】
従来から、例えば特許文献１に見られるように、ユーザ環境に配置した複数の画像形成装置と、その画像形成装置を管理する管理装置とがインターネットを介して通信する遠隔管理システムを構成する場合に、ユーザ環境に、画像形成装置と管理装置との通信を仲介する仲介装置を設け、画像形成装置と管理装置とがこの仲介装置を介して通信を行うようにすることが知られている。
【０００３】
ユーザ環境には通常ファイアウォールが設けられており、外部からのアクセスが制限されるが、例えばこの仲介装置が定期的に管理装置にアクセスして、管理装置から複数の画像形成装置へ送信すべきコマンドをまとめて取得し、これを各画像形成装置へ送信する等することにより、ファイアウォールを跨いだコマンドやその応答結果の送受信を効率よく行うことができる。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述のように仲介装置をユーザ環境に配置するとすると、少なくとも仲介装置を物理的にユーザのオフィス等へ配送して設置する手間が必要となる。また、通信を仲介すべき管理対象装置の台数が増えた場合、それに見合った仲介機能を有する仲介装置に交換したり、仲介装置の台数を増やしたりする必要もある。仲介装置のメンテナンスも、仲介装置側からのアクセスをトリガとして仲介装置にアップデート用のファームを転送する等して遠隔で行う必要があり、必ずしも柔軟性の高い対応が可能とは言えなかった。
【０００５】
このような問題を解決するためには、ネットワーク構成上も物理的にも、仲介装置を、遠隔管理サービスの提供者が容易に管理できる場所に置くことが好ましい。すなわち、例えばいわゆるクラウドサービスとして、仲介機能を提供することが考えられる。この場合、仲介装置から管理対象装置へのアクセスは自由に行えなくなるが、管理対象装置が定期的に仲介装置にアクセスして、該仲介装置にプールしておいた、管理装置からその管理対象装置へ送信すべきコマンドを取得するようにすれば、管理対象装置と管理装置との間でのコマンドの送受信は、仲介装置がユーザ環境にある場合と概ね同様に行うことができる。また、管理装置は、複数の管理対象装置に送信するコマンドをまとめて仲介装置にプールさせ、後の処理を委託できるので、管理装置の処理負荷低減も、仲介装置がユーザ環境にある場合と概ね同様に可能である。
【０００６】
しかし、ユーザ環境外に仲介装置を配置した場合、管理対象装置と同じユーザ環境に仲介装置を配置する場合と比べ、管理対象装置と仲介装置との対応関係が明確でないため、どの仲介装置にどの管理対象装置の通信を仲介させればよいのか、また、管理対象装置側から見れば、管理装置と通信するためにどの仲介装置にアクセスすればよいのかを定めづらいという問題があった。管理対象装置あるいはそのユーザが複数の候補の中から任意に仲介装置を選択できるとすると、特定の仲介装置へアクセスが集中し、処理の遅延や通信エラーの発生につながる恐れもある。
【０００７】
このような問題は、遠隔管理システムを構成する場合に限らず、複数の第１の通信装置と、第２の通信装置との間の通信を、複数の仲介装置によって仲介させる場合には、同様に発生するものである。
この発明は、このような問題を解決し、複数の第１の通信装置と、第２の通信装置との間の通信を、複数の仲介装置によって仲介させる通信システムを、円滑に運用できるようにすることを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、この発明の割当装置は、複数の第１の通信装置の各々について、その第１の通信装置が第２の通信装置と通信する際にその通信を仲介させる仲介装置を、所定の複数の仲介装置の中から割り当てる割当装置において、上記各仲介装置から、その仲介装置における処理負荷の高さを示す負荷情報を受信する第１の受信手段と、上記第１の通信装置から、上記第２の通信装置と通信する際に使用する仲介装置の指定を求める指定要求を受信する第２の受信手段と、上記第２の受信手段が指定要求を受信した場合に、上記第１の受信手段が受信した各仲介装置の負荷情報に基づいて、処理負荷の小さい仲介装置をその指定要求の送信元の第１の通信装置に割り当て、その割り当てた仲介装置にアクセスするための識別情報を、その指定要求の送信元の第１の通信装置に送信する割当手段と、上記第１の受信手段が受信した負荷情報に基づき、一の仲介装置において処理負荷の高さが所定の閾値を超えたと判断した場合、その一の仲介装置よりも処理負荷の小さい第２の仲介装置を選択し、その一の仲介装置に対し、その一の仲介装置の処理を代替可能な仲介装置の情報として上記第２の仲介装置の情報を通知する第２の通知手段とを設けたものである。
【０００９】
このような割当装置において、上記割当手段が上記第１の通信装置に上記仲介装置を割り当てた場合、その第１の通信装置に直近に割り当てた仲介装置を示す情報を取得し、今回割り当てた仲介装置が直近に割り当てた仲介装置と異なる場合、上記直近に割り当てた仲介装置に対し、その第１の通信装置に対するその直近に割り当てた仲介装置の割り当てが解除された旨を通知する第１の通知手段を設けるとよい。
【００１０】
さらに、上記第２の通知手段が上記処理を代替可能な仲介装置の情報の通知をした後、上記第１の受信手段が受信した負荷情報に基づき、上記一の仲介装置において処理負荷の高さが所定の閾値を下回ったと判断した場合、上記一の仲介装置に対し、上記処理を代替可能な仲介装置の情報を無効にすべきことを通知する第３の通知手段を設けるとよい。
また、上記のいずれかの割当装置において、上記第１の受信手段を、上記各仲介装置から、その仲介装置が機能を停止する旨を示す停止情報及び機能を再開する旨を示す再開情報も受信する手段とし、上記割当手段が、上記停止情報を送信してきた仲介装置を、その仲介装置から上記再開情報を受信するまでは上記第１の通信装置に割り当てないようにするとよい。
【００１１】
また、この発明の別の割当装置は、複数の第１の通信装置の各々について、その第１の通信装置が第２の通信装置と通信する際にその通信を仲介させる仲介装置を、所定の複数の仲介装置の中から割り当てる割当装置において、上記各仲介装置から、その仲介装置における処理負荷の高さを示す負荷情報を受信する第１の受信手段と、上記第１の通信装置から、上記第２の通信装置と通信する際に使用する仲介装置の指定を求める指定要求を受信する第２の受信手段と、上記第２の受信手段が指定要求を受信した場合に、上記第１の受信手段が受信した各仲介装置の負荷情報に基づいて、処理負荷の小さい仲介装置をその指定要求の送信元の第１の通信装置に割り当て、その割り当てた仲介装置にアクセスするための識別情報を、その指定要求の送信元の第１の通信装置に送信する割当手段とを設け、上記第１の受信手段を、上記各仲介装置から、その仲介装置が機能を停止する旨を示す停止情報も受信する手段とし、上記第１の受信手段が上記停止情報を受信した場合、上記第１の受信手段が受信した各仲介装置の負荷情報に基づいて、その停止情報の送信元である仲介装置の処理を代替可能な仲介装置を選択する代替装置選択手段と、上記代替装置選択手段が仲介装置を選択した場合に、上記停止情報の送信元である仲介装置の仲介機能をその選択した仲介装置が代替する旨を上記第２の通信装置に通知する第４の通知手段とを設け、上記割当手段が、上記第１の受信手段が上記停止情報を受信した後で上記第２の受信手段が上記指定要求を受信した場合に、その指定要求の送信元の第１の通信装置に直近に割り当てた仲介装置を示す情報を取得し、その直近に割り当てた仲介装置が上記停止情報の送信元である仲介装置である場合、その指定要求の送信元の第１の通信装置に、上記代替装置選択手段が選択した仲介装置を割り当てるようにしたものである。
このような割当装置において、上記第１の受信手段を、上記各仲介装置から、その仲介装置が機能を再開する旨を示す再開情報も受信する手段とし、上記第１の受信手段が上記再開情報を受信した場合に、その旨を上記第２の通信装置に通知する第５の通知手段を設けるとよい。
【００１２】
また、この発明の通信装置は、上記のいずれかの割当装置から、上記第２の通信装置と通信する際にアクセスすべき仲介装置の割り当てを受ける通信装置において、上記第２の通信装置と通信するためにアクセスすべき仲介装置を示す識別情報を記憶する記憶手段と、上記第２の通信装置と通信しようとした際に、アクセスすべき仲介装置を示す識別情報を記憶していない場合及び記憶している識別情報に従ってアクセスした仲介装置と通信ができなかった場合に、上記割当装置に対し、上記第２の通信装置と通信する際に使用する仲介装置の指定を求める指定要求を送信する手段と、上記指定要求の送信に応じて上記割当装置から送信されてくる識別情報を、上記第２の通信装置と通信するためにアクセスすべき仲介装置を示す識別情報として上記記憶手段に記憶させる手段とを設けたものである。
【００１３】
このような通信装置において、上記記憶手段に記憶している識別情報に従ってアクセスした仲介装置から、その仲介装置に代えてアクセスすべき仲介装置を示す識別情報を通知された場合、上記記憶手段に記憶している、上記第２の通信装置と通信するためにアクセスすべき仲介装置を示す識別情報を、その通知された識別情報に更新するようにするとよい。
【００１４】
また、この発明の仲介装置は、複数の第１の通信装置と第２の通信装置との間の通信を仲介する仲介装置において、その仲介装置を上記第１の通信装置に割り当てるための割当装置に対し、その仲介装置における処理負荷の高さを示す負荷情報を送信する負荷情報送信手段と、上記割当装置から、その仲介装置の処理を代替可能な仲介装置の情報の通知を受信する代替装置情報受信手段と、上記代替装置情報受信手段が上記仲介装置の情報の通知を受信した後で上記第１の通信装置からアクセスされた場合に、通信の仲介を拒否すると共に、その第１の通信装置に対し、自身に代えてアクセスすべき仲介装置を示す識別情報として、上記代替装置情報受信手段が受信した通知に係る仲介装置の識別情報を送信する変更手段とを設けたものである。
【００１５】
このような仲介装置において、上記代替装置情報受信手段が上記仲介装置の情報の通知を受信した場合に、上記第２の通信装置に対し、自身が行っていた通信の仲介機能を、上記代替装置情報受信手段が受信した通知に係る仲介装置に代替させる旨を通知する代替通知手段を設けるとよい。
さらに、上記割当装置から、上記代替装置情報受信手段が受信した上記仲介装置の情報の通知を無効にすべきことを通知された場合に、上記変更手段の機能を無効にするようにするとよい。
さらにまた、第１の通信装置と第２の通信装置との間の通信を仲介する機能を停止させる場合に、上記割当装置に対して、その旨を示す停止情報を送信する停止情報送信手段を設けるとよい。
【００１６】
また、この発明の別の通信装置は、複数の相手先装置と、その各相手先装置と対応付けた仲介装置をそれぞれ介して通信する通信装置において、いずれかの仲介装置を介して上記相手先装置からその通信装置の通信相手として登録するよう要求する登録要求が送信されてきた場合に、その相手先装置を通信相手として登録すると共に、その登録要求の送信を仲介した仲介装置を、その相手先装置と対応付けて登録する登録手段と、いずれかの相手先装置に宛てた要求を送信しようとする場合に、その要求をその相手先装置と対応付けた仲介装置に送信する送信手段と、上記仲介装置から、その相手先装置に宛てた要求に対する上記相手先装置の応答を受信する受信手段と、上記仲介装置又は、上記仲介装置を上記相手先装置に割り当てるための割当装置から、ある仲介装置が行っていた通信の仲介機能を、別の仲介装置に代替させる旨の通知を受信した場合、そのある仲介装置と対応づけられている相手先装置に宛てて送信した要求であってまだ応答を受信していないものを、上記別の仲介装置に送信する代替手段と、上記送信手段が送信した要求及び上記代替手段が送信したその要求と対応する要求のうち一方について、上記受信手段が上記相手先装置の応答を受信した場合に、他方をキャンセルするキャンセル手段とを設けたものである。
【００１７】
このような通信装置において、上記相手先装置と対応付けた仲介装置と異なる仲介装置を介して、その相手先装置からその通信装置へ宛てた要求又はその相手先装置に宛てた要求に対する応答を受信した場合に、その相手先装置と対応付ける仲介装置を、その要求の送信を仲介した仲介装置に変更する変更手段を設けるとよい。
【００１８】
また、この発明の仲介システムは、複数の第１の通信装置の各々について、その第１の通信装置が第２の通信装置と通信する際にその通信を仲介させる仲介装置を、所定の複数の仲介装置の中から割り当てる割当装置と、上記複数の仲介装置とを備えた仲介システムにおいて、上記各仲介装置にそれぞれ、上記割当装置に対し、自身における処理負荷の高さを示す負荷情報を送信する負荷情報送信手段を設け、上記割当装置に、上記各仲介装置から上記負荷情報を受信する第１の受信手段と、上記第１の通信装置から、上記第２の通信装置と通信する際に使用する仲介装置の指定を求める指定要求を受信する第２の受信手段と、上記第２の受信手段が指定要求を受信した場合に、上記第１の受信手段が受信した各仲介装置の負荷情報に基づいて、処理負荷の小さい仲介装置をその指定要求の送信元の第１の通信装置に割り当て、その割り当てた仲介装置にアクセスするための識別情報を、その指定要求の送信元の第１の通信装置に送信する割当手段と、上記第１の受信手段が受信した負荷情報に基づき、一の仲介装置において処理負荷の高さが所定の閾値を超えたと判断した場合、その一の仲介装置よりも処理負荷の小さい第２の仲介装置を選択し、その一の仲介装置に対し、その一の仲介装置の処理を代替可能な仲介装置の情報として上記第２の仲介装置の情報を通知する第２の通知手段とを設けるとよい。
【００１９】
また、この発明の割当方法は、複数の第１の通信装置の各々について、その第１の通信装置が第２の通信装置と通信する際にその通信を仲介させる仲介装置を、所定の複数の仲介装置の中から割り当てる割当方法において、割当装置が、上記各仲介装置から、その仲介装置における処理負荷の高さを示す負荷情報を受信する第１の受信手順と、上記第１の通信装置から、上記第２の通信装置と通信する際に使用する仲介装置の指定を求める指定要求を受信する第２の受信手順と、上記第２の受信手順で指定要求を受信した場合に、上記第１の受信手順で受信した各仲介装置の負荷情報に基づいて、処理負荷の小さい仲介装置をその指定要求の送信元の第１の通信装置に割り当て、その割り当てた仲介装置にアクセスするための識別情報を、その指定要求の送信元の第１の通信装置に送信する割当手順と、上記第１の受信手順で受信した負荷情報に基づき、一の仲介装置において処理負荷の高さが所定の閾値を超えたと判断した場合、その一の仲介装置よりも処理負荷の小さい第２の仲介装置を選択し、その一の仲介装置に対し、その一の仲介装置の処理を代替可能な仲介装置の情報として上記第２の仲介装置の情報を通知する第２の通知手順とを実行するものである。
【００２０】
また、この発明のプログラムは、コンピュータを、上記のいずれかの割当装置、通信装置あるいは仲介装置として機能させるためのプログラムである。
また、この発明の記録媒体は、上記のいずれかのプログラムを記録したコンピュータ読み取り可能な記録媒体である。
【発明の効果】
【００２１】
以上のようなこの発明による割当装置、通信装置、仲介装置、仲介システム、割当方法、プログラム又は記録媒体によれば、複数の第１の通信装置と、第２の通信装置との間の通信を、複数の仲介装置によって仲介させる通信システムを、円滑に運用することができる。
【図面の簡単な説明】
【００２２】
【図１】この発明の割当装置、仲介装置及び通信装置の実施形態を備える通信システムの概略構成を示す図である。
【図２】図１に示した通信装置１０のハードウェア構成を示す図である。
【図３】同じくそのソフトウェア構成を示す図である。
【図４】図１に示した仲介装置３０のソフトウェア構成を示す図である。
【図５】図１に示した通信システムにおける遠隔管理の動作において通信装置１０とセンター通信装置４０との間で行う典型的な通信の手順を示す図である。
【図６】その別の例を示す図である。
【図７】図１に示した通信システムにおける、通信装置に仲介装置が割り当てられていない状態で仲介装置を割り当てる処理の手順を示す図である。
【図８】図７の処理の後で通信装置が管理装置にカウンタ値を通知する場合の処理手順を示す図である。
【図９】通信装置に既に仲介装置が割り当てられている状態で通信装置が起動された場合の、特にその割り当てを変更する場合の処理手順を示す図である。
【図１０】特定の仲介装置の処理負荷が大きくなった場合の負荷分散の処理手順を示す図である。
【００２３】
【図１１】特定の仲介装置が一時的に仲介機能を停止する場合の処理手順を示す図である。
【図１２】その続きを示す図である。
【図１３】仲介装置を追加する場合の処理手順を示す図である。
【図１４】その続きを示す図である。
【図１５】代替要求による仲介装置の負荷分散を行う場合の、管理装置から通信装置に宛てて送信する要求の取扱いに関する処理手順を示す図である。
【図１６】その続きを示す図である。
【図１７】仲介装置の停止が起こる場合の、管理装置から通信装置に宛てて送信する要求の取扱いに関する処理手順を示す図である。
【図１８】その続きを示す図である。
【発明を実施するための形態】
【００２４】
以下、この発明を実施するための最良の形態を図面に基づいて具体的に説明する。
まず、この発明の割当装置、仲介装置及び通信装置の実施形態を備える通信システムについて説明する。
【００２５】
図１は、その通信システムの概略構成を示す図である。
図１に示す通信システムは、ＬＡＮ（ローカルエリアネットワーク）環境Ａに配置された、この発明の通信装置（第１の通信装置）の実施形態である通信装置１０Ａ，１０Ｂ（個体を区別する必要がない場合には「１０」の符号を用いる）と、この発明の通信装置（第２の通信装置）の実施形態であるセンター通信装置４０と、これらの通信装置１０とセンター通信装置４０との間の通信を仲介する仲介システムＭとを備える。ここでは、この通信システムは遠隔管理システムとして構成し、センター通信装置４０は、複数の通信装置１０を遠隔管理する管理装置として機能する。
【００２６】
また、仲介システムＭは、通信装置１０とセンター通信装置４０との間の通信を仲介する複数の仲介装置３０Ａ，３０Ｂ，３０Ｃ（個体を区別する必要がない場合には「３０」の符号を用いる）と、各通信装置１０に複数の仲介装置３０のいずれかを、センター通信装置４０との間の通信を仲介させる装置として割り当てる割当装置２０とを備える。
【００２７】
これらのうち通信装置１０は、インターネットＮを介していずれかの仲介装置３０と通信し、その仲介装置３０に、センター通信装置４０との間の通信の仲介を受ける。この場合、通信装置１０からセンター通信装置４０に送信すべき情報（通知、コマンド、コマンドの実行結果など）は、通信装置１０から仲介装置３０にアクセスして仲介装置３０へ送信し、仲介装置３０がその情報をセンター通信装置４０に転送することができる。もちろん、仲介装置３０にある程度の数や期間プールしてからこの転送を行うようにしてもよい。
【００２８】
しかし、ＬＡＮ環境Ａには通常はファイアウォールが設けられており、仲介装置３０から通信装置１０にアクセスすることはできない。そこで、センター通信装置４０から通信装置１０に送信すべき情報については、一旦仲介装置３０にプールしておき、通信装置１０が仲介装置３０に定期的なアクセス（ポーリング）を行い、その際にプールされている情報の中から自装置宛の情報を取得する、という手順で伝送を行う。もちろん、通信装置１０からセンター通信装置４０に情報を送信するために仲介装置３０にアクセスした際に、自装置宛ての情報を取得することも可能である。
【００２９】
なお、通信装置１０は、センター通信装置４０との通信に係る機能が有効になった場合（初めにその通信に係る機能を提供するアプリケーションがインストールされた場合や、インターネットＮに接続された状態でそのアプリケーションが起動された場合、そのアプリケーションが起動された状態でインターネットＮに新たに接続された場合等）に、割当装置２０に接続し、センター通信装置４０と通信する際にその仲介を担当する仲介装置３０の割り当てを受ける。このとき、仲介装置３０にアクセスするために必要な識別情報（ＵＲＬ(Uniform Resource Locator)等のアドレスや、必要であればＩＤ、パスワードなど）を割当装置２０から取得し、それに基づいて仲介装置３０にアクセスする。
【００３０】
図１には、通信装置１０Ａに仲介装置３０Ｂが、通信装置１０Ｂに仲介装置３０Ａがそれぞれ割り当てられた状態を示しているが、１台の仲介装置を複数の通信装置に割り当てることももちろん可能である。
割当装置２０は、各仲介装置３０からその仲介装置の処理負荷の情報を収集し、特定の仲介装置に処理負荷が集中しないように、上記の割り当てを行う。また、その割り当ての内容は記憶しておき、必要に応じて仲介装置３０やセンター通信装置４０に通知する。
また、仲介装置３０も、割当装置２０からの通知あるいは通信装置１０からのアクセスに基づき、どの通信装置１０について通信の仲介を行っているかの情報を把握しておくことが好ましい。
【００３１】
さらに、センター通信装置４０は、管理対象（通信相手）となる全ての通信装置１０について、その通信装置１０がどの仲介装置３０に通信の仲介を受けるのかを示す対応関係を管理している。通信装置１０に情報を送信しようとする場合、その通信装置１０の通信を仲介している仲介装置３０に情報を送信してプールさせる必要があるためである。
【００３２】
この対応関係の管理は、割当装置２０からの通知に基づいて行うことも出来るが、実際にどの仲介装置３０を介して通信装置１０から情報が送信されてきたか、に基づいて随時更新することが好ましい。後述するように、通信装置１０に対する仲介装置３０の割り当ては、随時変更されるものだからである。
【００３３】
また、センター通信装置４０において管理対象を信頼性よく管理できるよう、通信装置１０は、初めにセンター通信装置４０と（仲介装置３０を介して）通信を行う際に、センター通信装置４０に管理対象（通信相手）として登録を受ける。また、通信装置１０は、センター通信装置４０との通信に係る機能を無効にして管理対象から離脱する場合には、それに先立って自動的にセンター通信装置４０と通信を行い、自身の登録を削除させる。
【００３４】
以上のような通信に係る通信装置１０の機能は、初めから通信装置１０に組み込んでおいてもよいが、通信装置１０が備えるＯＳ（Operating System）等のプラットフォーム上で動作するソフトウェアを開発するためのＳＤＫ（Software Development Kit）を用いて開発される、ＳＤＫアプリケーションとして提供することが望ましい。このようにすれば、センター通信装置４０や仲介装置３０のメーカーが提供する通信装置１０のみならず、他社が提供する通信装置１０にも、容易にセンター通信装置４０との通信に係る機能を付加し、遠隔管理の対象とすることができる。
【００３５】
なお、以上の通信システムにおいては、仲介装置３０も、システムの動作中に任意に追加及び撤去が可能である。この場合、追加された又は撤去される仲介装置３０がその旨を割当装置２０に通知する。このことにより、割当装置２０は、現在通信装置１０に割り当て可能な仲介装置３０の候補を把握することができる。また、仲介装置３０は、メンテナンス等により一時的に通信の仲介に係る機能を停止することがあるが、この場合にも同様な対応が可能である。また、仲介装置３０はセンター通信装置４０にも同様な情報を通知し、センター通信装置４０においてもシステム中にどのような仲介装置３０が存在するのかを把握できるようにするとよい。
【００３６】
なお、ＬＡＮ環境Ｂに備える通信装置５０、ローカル仲介装置６０及び仲介機能付通信装置７０は、背景技術の項で説明した、ユーザ環境に仲介装置を配置する遠隔管理システムを構成するものである。通信装置５０は、同じＬＡＮ内に配置されたローカル仲介装置６０の仲介によりセンター通信装置４０と通信し、仲介機能付通信装置７０は、自身が備えるローカル仲介装置６０と同等の仲介機能を用いた仲介によりセンター通信装置４０と通信する。そして、通信のシーケンスは異なるものの、ＬＡＮ環境Ａに備える通信装置１０の場合と概ね同様に、センター通信装置４０による遠隔管理を受けることができる。
【００３７】
次に、図１に示した通信システムを構成する装置のハードウェア構成について説明する。
図２に、通信装置１０のハードウェア構成を示す。
図２に示すように、通信装置１０は、少なくともＣＰＵ１１、メモリ１２及び通信インタフェース（Ｉ／Ｆ）１３を備え、これらがシステムバス１７により接続されている。
【００３８】
このうちＣＰＵ１１は、通信装置１０全体を制御する制御手段であり、メモリ１２に記憶された種々のプログラムを実行することにより、種々の機能を実現する。
メモリ１２は、ＣＰＵ１１が実行するプログラムや固定的なパラメータ等を記憶する不揮発性記憶手段、一時的に使用するデータを記憶したり、ＣＰＵ１１のワークメモリとして使用したりする記憶手段、装置の電源がＯＦＦされた後でも保持しておく必要があるパラメータの値等を記憶するフラッシュメモリやＨＤＤ（ハードディスクドライブ）等による書き換え可能な不揮発性記憶手段等により構成される。
【００３９】
通信Ｉ／Ｆ１３は、通信装置１０をネットワークに接続するためのインタフェースであり、例えばイーサネット（登録商標）方式の通信を行うためのネットワークインタフェースとすることができる。なお、通信経路や使用するプロトコルについては、有線無線を問わず任意のものでよい。ただし、暗号化や認証等を利用した安全な通信経路であることが好ましい。
【００４０】
また、通信装置１０は、必要な機能に応じて表示器１４、操作部１５及びエンジン部１６を備える。
表示器１４は、ユーザにメッセージやＧＵＩ(Graphical User Interface)等を表示したり、装置の動作状況を知らせたりするためのディスプレイやランプ等である。
操作部１５は、ユーザからの操作を受け付けるためのスイッチ、タッチパネル、キーボード、ポインティングデバイス等である。
【００４１】
エンジン部１６は、他の各部以外で外部に対して物理的な入出力を行う手段を総称したものであり、例えば通信装置１０がレーザプリンタであれば、電子写真方式で画像形成を行うプリントエンジンがこれに該当する。通信装置１０がスキャナであれば、画像読み取りを行うスキャナエンジンがこれに該当する。
割当装置２０、仲介装置３０及びセンター通信装置４０も、図２に示した範囲でのハードウェア構成は通信装置１０と同様であるので、これらについての説明は省略する。ハードウェアとしては、公知のコンピュータも採用することができる。
【００４２】
次に、図３に、通信装置１０のソフトウェア構成を示す。
図３に示すように、通信装置１０は、通信ライブラリ１０１、セキュリティライブラリ１０２、イベント管理ライブラリ１０３、遠隔管理ＳＤＫアプリ１０４、設定データ１０５、機種依存吸収モジュール１０６、ＳＤＫ＿Ｉ／Ｆ１０７、プラットフォーム１０８を備える。
【００４３】
このうち通信ライブラリ１０１は、インターネットＮを含むネットワークを介した通信に関する機能を実現するためのプログラムを集めたライブラリである。
セキュリティライブラリ１０２は、装置間の認証及び装置を操作するユーザの認証や、通信の暗号化に関する機能を実現するためのプログラムを集めたライブラリである。
イベント管理ライブラリ１０３は、通信装置１０において発生したイベントや、外部から受信したコマンドや通知等のイベントを管理する機能を実現するためのプログラムを集めたライブラリである。
【００４４】
遠隔管理ＳＤＫアプリ１０４は、通信装置１０において発生したイベントをセンター通信装置４０に通知したり、センター通信装置４０から受信したコマンドに従った動作を通信装置１０の各部に実行させたりすることにより、センター通信装置４０による遠隔管理を受ける機能を実現するためのアプリケーションである。この遠隔管理ＳＤＫアプリ１０４は、通信ライブラリ１０１、セキュリティライブラリ１０２及びイベント管理ライブラリ１０３が提供する機能を適宜利用しつつ、上述したような、仲介装置３０を介したセンター通信装置４０との通信を行うことにより、遠隔管理を受ける機能を実現する。
【００４５】
設定データ１０５は、遠隔管理ＳＤＫアプリ１０４が参照する、センター通信装置４０との通信に使用するパラメータである。これには、アクセスすべき仲介装置３０のアドレスや、ポーリングの周期等が含まれる。これらのデータは、通信装置１０に常に保存しておいてもよいが、遠隔管理ＳＤＫアプリ１０４が起動された際に、割当装置２０や仲介装置３０にアクセスしてそこからダウンロードしてもよい。
【００４６】
このようにすれば、遠隔管理ＳＤＫアプリ１０４が起動されていない状態では、通信装置１０側に、遠隔管理ＳＤＫアプリ１０４が使用するデータを記憶するためのメモリを用意する必要がないため、遠隔管理を受ける機能と通信装置１０のその他の機能との独立性を高めることができる。
なお、初めにアクセスすべき割当装置２０のアドレスは、遠隔管理ＳＤＫアプリ１０４のプログラム中に記載したり、通信装置１０全体で使用するパラメータの一部として記憶させる等して、遠隔管理ＳＤＫアプリ１０４が起動時に取得できるようにしておく。
【００４７】
機種依存吸収モジュール（ラッパー）１０６は、データフォーマットやパラメータの項目等に関する通信装置１０の機種による変動を吸収し、遠隔管理ＳＤＫアプリ１０４を、広範な機種の通信装置１０で動作させることができるようにするためのモジュールである。例えば、遠隔管理ＳＤＫアプリ１０４によりセンター通信装置４０に送信する通知には、必ず含まれていなければならない固定のパラメータがあるので、ＳＤＫ＿Ｉ／Ｆ１０７から提供されるパラメータの名称がそれと異なる場合には、機種依存吸収モジュール１０６が、これを遠隔管理ＳＤＫアプリ１０４の要求に合わせて名称変更する処理を行う。
プラットフォーム１０８は、通信装置１０が備えるＯＳ（Operating System）等が提供する、通信装置１０の制御のための環境であり、ＳＤＫ＿Ｉ／Ｆ１０７は、プラットフォーム１０８に対してアクセスするソフトウェアを開発するために提供されたＡＰＩ（Application Program Interface）である。
【００４８】
次に、図４に、仲介装置３０のソフトウェア構成を示す。
図４に示すように、仲介装置３０は、機器通信モジュール３０１、センター通信クライアントモジュール３０２、センター通信サーバモジュール３０３、セキュリティ・認証モジュール３０４、機器管理モジュール３０５、ＷｅｂＵＩ（ウェブユーザインタフェース）３０６、機器管理ＤＢ（データベース）３０７、設定パラメータ３０８、スケジューラ３０９、コマンドプール３１０を備える。
【００４９】
このうち機器通信モジュール３０１は、通信装置１０との間の通信を行うための機能を実現するモジュールである。ここでは、通信装置１０はファイアウォールの内側にあることを前提としており、機器通信モジュール３０１は、通信装置１０からのアクセス（通信要求）を受けて、それに対する応答を返すというサーバの動作を行う。
【００５０】
センター通信クライアントモジュール３０２は、仲介装置３０がクライアントとしてセンター通信装置４０にアクセスしてセンター通信装置４０と通信を行うための機能を実現するモジュールである。同様に、センター通信サーバモジュール３０３は、仲介装置３０がサーバとしてセンター通信装置４０からアクセスを受けてセンター通信装置４０と通信を行うための機能を実現するモジュールである。
【００５１】
ここでは、仲介装置３０とセンター通信装置４０とは、同じ管理者が管理しており、どちらからもアクセスを行うことができることを前提としているため、このような構成としているが、一方からしかアクセスを行えない環境の場合、その方向の通信を行うためのモジュールのみとしてもよい。また、割当装置２０との通信にもこれらのモジュールを用いることができる。
【００５２】
セキュリティ・認証モジュール３０４は、装置間の認証及び装置を操作するユーザの認証や、通信の暗号化に関する機能を実現するためのモジュールである。
機器管理モジュール３０５は、他の各部の機能を利用して、センター通信装置４０と通信装置１０との間の通信を仲介することにより、センター通信装置４０が通信装置１０を管理できるようにするための機能を実現するためのモジュールである。具体的には、センター通信装置４０からファイアウォールの内側の通信装置１０に対して情報を送信できるようにすると共に、通信装置１０からセンター通信装置４０に対する情報の送信も、センター通信装置４０に過度な負荷をかけずに行えるように、通信のタイミングや情報伝送状況の管理を行う。その詳細については、後述する。
【００５３】
ＷｅｂＵＩ３０６は、外部からウェブブラウザにより仲介装置３０にアクセスして、機器管理ＤＢ３０７の情報を参照したり必要な設定を行ったりするためのユーザインタフェースを提供するモジュールである。
機器管理ＤＢ３０７は、仲介装置３０が通信の仲介を行っている通信装置１０の情報を管理するためのデータベースである。
【００５４】
設定パラメータ３０８は、通信装置１０、割当装置２０及びセンター通信装置４０と通信を行う際に使用するパラメータである。例えば、通信装置１０から受信した情報をセンター通信装置４０に転送するタイミングや、仲介装置３０の処理負荷を示す情報を割当装置２０に通知するタイミング等の情報が含まれる。
スケジューラ３０９は、センター通信装置４０や割当装置２０に対して各種通知を行うタイミングや、センター通信装置４０から受信したコマンドのタイムアウト等のタイミング管理を行う機能を提供する。
【００５５】
コマンドプール３１０は、センター通信装置４０から受信した通信装置１０宛の情報（コマンドに限らず通知や応答等も含む）や、通信装置１０から受信したセンター通信装置４０宛の情報を、宛先に転送するまで一時的にメモリに蓄積しておく機能を提供する。
なお、割当装置２０及びセンター通信装置４０の機能については、後にシーケンス図を用いて詳述する。
【００５６】
次に、仲介装置３０が仲介する通信装置１０とセンター通信装置４０との間の通信の手順について説明する。なお、以降の説明では、図１に示した通信システムを、センター通信装置４０が通信装置１０を管理する遠隔管理システムとして構成した場合を例として採り上げ、センター通信装置４０は、「管理装置４０」と呼ぶことにする。また、通信装置１０は、コピー機やプリンタ、ＭＦＰ（デジタル複合機）等の画像形成装置であるとする。
【００５７】
図５及び図６に、遠隔管理の動作において通信装置１０とセンター通信装置４０との間で行う典型的な通信の手順を示す。なお、これらの図には、管理装置４０と連携して通信装置１０のユーザに対するサービスの提供又はその支援を担う他システム８０も示した。例えばメーカーのサービス拠点に備えるシステムがこの他システム８０に該当する。
【００５８】
図５（ａ）は、通信装置１０が管理装置４０に対して行う定期的な通知の例である。
この場合、通信装置１０は、予め指定された時刻になると、印刷枚数を示すカウンタ情報や、ジャム等の異常の発生回数、トナーの消費量等の必要な情報を収集し、管理装置４０宛ての情報通知あるいは状態通知として仲介装置３０に送信する（Ｓ１１）。この収集は、遠隔管理ＳＤＫアプリ１０４が、機種依存吸収モジュール１０６及びＳＤＫ＿Ｉ／Ｆ１０７を介してプラットフォーム１０８に所望のパラメータの値を要求して行うことができる。
【００５９】
そして、仲介装置３０は受信した通知を管理装置４０に転送する（Ｓ１２）。この転送は、直ちに行っても、ある程度の数の通信装置１０からの通知が溜まってからまとめて行ってもよい。
管理装置４０は、この通知を受け取ると、通知された情報を、通信装置１０の動作状況を示す情報として蓄積しておく（Ｓ１３）。そして、他システム８０が適当なタイミングで管理装置４０にアクセスしてこの情報を取得し（Ｓ１４）、顧客に送付する通信装置１０の動作状況レポート作成や、カウント値に基づく課金等に利用する。
【００６０】
なお、ここでは図示を省略したが、通信装置１０からの通知を仲介装置３０が受信した場合に、通信装置１０に対してその旨を示す応答を返すようにしてもよい。また、管理装置４０が通信装置１０からの通知に基づく処理を完了した場合に、その旨を示す応答を仲介装置３０を介して通信装置１０に返すようにしてもよい。
【００６１】
図５（ｂ）は、通信装置１０が管理装置４０に対して行う緊急性のある通知の例である。
この場合、通信装置１０は、管理装置４０に通知する必要のある異常（直ちに装置の修理が必要な異常など）を検出すると、その内容を通知するため管理装置４０宛ての異常通知を仲介装置３０に送信する（Ｓ２１）。そして、仲介装置３０はこの通知をただちに管理装置４０に転送する（Ｓ２２）。そして、管理装置４０はこの通知を受けると、通知された異常の内容を含む修理担当派遣依頼を生成して通信装置１０を担当するサービス拠点の他システム８０に対して送信する（Ｓ２３）。サービス拠点では、この通知に基づき、顧客への連絡や修理担当派遣を行うことができる。
トナー切れ等のサプライエンドの場合にも、同様な手順（Ｓ２４〜Ｓ２６）で、サプライの自動発注を行うことができる。
【００６２】
図５（ｃ）は、管理装置４０から通信装置１０に対してコマンド等を送信する場合の例である。
サービス拠点等において、特定の通信装置１０で故障が頻発している場合や、顧客から修理の依頼があった場合等に、通信装置１０にアクセスしてその動作状況を示すデータを取得したり、通信装置１０の設定を変更したり、通信装置１０に何らかの動作（テストなど）を行わせたい場合がある。このような場合、他システム８０が管理装置４０に対し、通信装置１０にそれらを実行させる要求を送信することを指示する（Ｓ３１）。
【００６３】
管理装置４０は、この指示に応じて通信装置１０宛ての要求を生成し、その通信装置１０の通信を仲介している仲介装置３０に対して送信する（Ｓ３２）。仲介装置３０は、この要求をプールしておき（Ｓ３３）、通信装置１０からポーリングがあった場合（Ｓ３４）に、そのポーリングに対する応答として、プールしておいたその通信装置１０宛の要求を、通信装置１０に転送する（Ｓ３５）。もちろん、ステップＳ１１やＳ２１のような通知送信のためのアクセスがあった際に要求の転送を行ってもよい。
【００６４】
いずれにしろ、管理装置４０からの要求を受信した通信装置１０は、その要求に応じた処理を行って（Ｓ３６）その結果を示す結果通知を生成し、受信した要求に対する（管理装置４０宛ての）応答として、仲介装置３０に送信する（Ｓ３７）。仲介装置３０は、この応答を、ステップＳ１２又はＳ２２の場合と同様、管理装置４０に転送する（Ｓ３８）。
管理装置４０は、受信した応答に基づき、ステップＳ３１の指示元の他システム８０に対して動作の結果を通知する（Ｓ３９）。
以上により、サービス拠点等において通信装置１０の状態を把握することができる。なお、管理装置４０が自律的に通信装置１０に何らかの動作を要求してもよいことはもちろんである。
【００６５】
図６（ａ）は、仲介装置３０のファーム（ファームウェア）を更新する場合の例である。
遠隔管理システムの運用者が仲介装置３０のバージョンアップされたファームを入手すると、他システム８０を通じて管理装置４０に対して仲介装置３０のファーム更新指示を行う（Ｓ５１）。このとき、管理装置４０に更新用のファームを記憶させ、仲介装置３０からダウンロードできるようにする。
【００６６】
管理装置４０は、自身と通信を行う（又はそのうち更新が必要な）全ての仲介装置３０に対し、仲介装置３０宛てのファーム更新要求を送信する（Ｓ５２）。この要求を受信した仲介装置３０は、自身宛の要求であるので自身でその要求に応じた処理を実行し、管理装置４０にアクセスして更新用のファームをダウンロードする（Ｓ５３）と共に、ファームの更新を行う（Ｓ５４）。そして、更新結果を管理装置４０に通知する（Ｓ５５）。管理装置４０は、その結果をまとめて他システム８０に通知するようにしてもよい。
以上の処理は、遠隔管理の機能を提供する側の環境で行われるため、基本的にはポーリングやポーリング待ちのための要求のプールは不要であり、迅速な更新が可能である。
【００６７】
図６（ｂ）は、通信装置１０のファームを更新する場合の例である。
遠隔管理システムの運用者が通信装置１０のバージョンアップされたファームを入手すると、他システム８０を通じて管理装置４０に対して通信装置１０のファーム更新指示を行う（Ｓ６１）。このとき、管理装置４０に更新用のファームを記憶させ、通信装置１０からダウンロードできるようにする。
【００６８】
管理装置４０は、更新が必要な全ての通信装置１０について、その通信装置１０宛てのファーム更新要求を生成し、その通信装置１０の通信を仲介する仲介装置３０に送信する（Ｓ６２）。仲介装置３０は、ステップＳ３３乃至Ｓ３５の場合と同様に、この要求をプールしておき、通信装置１０からのポーリングに応じて通信装置１０に転送する（Ｓ６３〜Ｓ６５）。
【００６９】
この要求を受信した通信装置１０は、要求に応じた処理として、管理装置４０にアクセスして更新用のファームをダウンロードする（Ｓ６６）と共に、ファームの更新を行う（Ｓ６７）。そして、更新結果を仲介装置３０を介して管理装置４０に通知する（Ｓ６８〜Ｓ６９）。なお、ステップＳ６６でのアクセス先は、仲介装置３０であっても、その他の装置であっても、更新用ファームがダウンロード可能な装置であれば構わない。アクセス先は、例えばファーム更新要求により指定すればよい。
以上の処理により、管理装置４０からの要求に従い、ユーザ環境にある通信装置１０のファームを更新することができる。
【００７０】
以上のような通信システムにおいて特徴的な点は、割当装置２０による通信装置１０に対する仲介装置３０の割り当て及びその管理と、その割り当て結果に応じた各装置の動作、及び割り当て内容を適切な状態に維持するための各装置の動作である。以下、これらの動作について説明する。
なお、以降の図において通信装置１０は１台のみ示すが、通信装置１０に対する仲介装置３０の割り当ては、複数の通信装置１０の各々について行うものである。
【００７１】
まず、図７に、通信装置１０に遠隔管理ＳＤＫアプリ１０４がインストールされた時点で、すなわち通信装置１０に仲介装置３０が割り当てられていない状態で仲介装置３０を割り当てる場合の処理シーケンスを示す。
まず、割当装置２０による割り当ての候補となっている各仲介装置３０Ａ〜３０Ｃは、定期的に、自身が実行している通信の仲介処理の処理負荷の高さを示す負荷情報を通知する利用状況通知を、割当装置２０に送信する（Ｓ１０１〜Ｓ１０３）。利用状況通知には、負荷情報以外の、仲介装置３０の利用状況を示す情報が含まれていてもよい。
【００７２】
図７の例では、許容限界に比べ、仲介装置３０Ａが２０％、仲介装置３０Ｂが４０％、仲介装置３０Ｃが３０％の負荷であることを示す情報を通知している。これらの負荷の高さは、各仲介装置の管理台数のキャパシティに対する現在割り当てられている通信装置１０の台数の割合や、ＣＰＵやメモリの利用率等に基づき算出することが考えられる。また、通知するタイミングは、一定時間（例えば１時間）おき、１０％刻みでの閾値を超えて変化した場合など、任意に定めることができる。
割当装置２０は、利用状況通知を受信すると、そこに含まれる負荷情報を仲介装置毎に保持する（Ｓ１０４）。ここまでの処理は、通信装置１０から割当装置２０へのアクセスとは無関係に行う。
【００７３】
一方、通信装置１０は、遠隔管理ＳＤＫアプリ１０４がインストールされ（Ｓ１０５）、割当装置２０のアドレスが設定された後（Ｓ１０６）、管理装置４０による遠隔管理の管理対象となるべきこと、すなわち管理装置４０に自身を管理対象として登録させることを指示されると（Ｓ１０７）、まず、ステップＳ１０６で設定されたアドレスの割当装置２０にアクセスし、管理装置４０と通信する際に使用する仲介装置３０の指定を求める通信先確認通知を送信する（Ｓ１０８）。このとき、通信装置１０のＩＤや遠隔管理契約の契約番号等も通知と共に送信するとよい。
【００７４】
割当装置２０は、この通知を受信すると、ステップＳ１０４で保持した負荷情報に基づいて、通信装置１０に割り当てる仲介装置３０を選定し（Ｓ１０９）、通知送信元の通信装置１０の通信を仲介する仲介装置として、通信装置１０に割り当てる。このとき、処理負荷の小さい仲介装置３０を選定するようにすると、仲介装置３０間での処理負荷を平準化し、特定の装置に負荷が集中してダウンしてしまうような事態を防止できる。このことにより、通信システムの運用を円滑に行うことができる。
【００７５】
次に、割当装置２０は、ステップＳ１０９で選定した仲介装置にアクセスするための識別情報（仲介装置のアドレスや、必要に応じて、認証に必要なＩＤ、パスワードなど）を、通信先確認通知に対する応答として通信装置１０に通知する（Ｓ１１０）。図７には、仲介装置３０Ａを割り当てて、そのＵＲＬとして「ＵＲＬ−Ａ」を通知した例を示している。
【００７６】
この通知を受けた通信装置１０は、通知された識別情報（ここではＵＲＬ）を、管理装置４０と通信するためにアクセスすべき仲介装置を示す識別情報として記憶する（Ｓ１１１）。その後、その識別情報に基づき仲介装置３０Ａにアクセスし、管理装置４０に対して自身を管理対象として登録することを要求する管理装置４０宛ての登録要求を、仲介装置３０Ａに送信する（Ｓ１１２）。
【００７７】
仲介装置３０Ａは、現在仲介対象と認識していない通信装置１０からアクセスされ、所定の認証により仲介対象となり得る装置であることを確認すると、その通信装置１０を仲介対象として登録する（Ｓ１１３）と共に、登録要求を正常に受信したことを示す受領確認の応答を返す（Ｓ１１４）。なお、図に示す「００１」は、通信装置１０を識別するためのＩＤである。
【００７８】
また、仲介装置３０Ａは、新たな通信装置１０を仲介対象としたことに伴い、その旨を通知する仲介開始通知を割当装置２０に送信する（Ｓ１１５）。また、仲介対象が増えたことにより処理負荷が変化することが考えられるため、処理負荷を再計算して、最新の状況を反映した利用状況通知を割当装置２０に送信する（Ｓ１１７）。
また、割当装置２０は、ステップＳ１１５の仲介開始通知を受けると、ステップＳ１０９で行った選定に従った仲介が実際に開始されたことを把握できるため、通信装置１０と、その通信装置１０についての仲介を行う仲介装置３０Ａとを対応付けて登録する（Ｓ１１６）。
【００７９】
さらに、仲介装置３０Ａは、通信装置１０から受信した登録要求を管理装置４０に転送する（Ｓ１１８）。管理装置４０は、この要求に応じて、通信装置１０を管理対象として登録すると共に、送信元の仲介装置３０Ａを、その通信装置１０の通信を仲介する仲介装置として、通信装置１０と対応付けて登録する（Ｓ１１９）。その後その結果を通信装置１０宛ての登録結果応答として仲介装置３０Ａに返す（Ｓ１２０）。
【００８０】
仲介装置３０Ａは、直ちにはこの登録結果応答を通信装置１０に転送できないため、一旦プールしておき（Ｓ１２１）、通信装置１０からポーリングがあった場合に（Ｓ１２２）、これに対する応答として通信装置１０に転送する（Ｓ１２３）。
そして、登録結果応答を受信した通信装置１０は、自身が管理装置４０に登録されたことを確認できるため、登録結果をディスプレイに表示してユーザに通知する（Ｓ１２４）。
【００８１】
以上により、初めて通信システムに接続される通信装置１０に、適当な仲介装置３０を割り当てると共に、その仲介装置３０を介して管理装置４０と通信し、管理装置４０の管理を受けることができる状態にすることができる。
この場合において、割当装置２０が、各仲介装置３０から、その仲介装置における処理負荷の高さを示す負荷情報を受信し、その負荷情報に基づいて、処理負荷の小さい仲介装置を通信装置１０に割り当てるので、特定の仲介装置に仲介処理の負担が集中することを防止し、このことにより、仲介装置の動作が遅くなったりダウンしたりすることを防止し、通信システムを安定して動作させることができる。
なお、図７の処理において、仲介装置３０Ａは、ステップＳ１１４，Ｓ１１５，Ｓ１１７及びＳ１１８を、順番を変えて行ってもよい。すなわち、これらの処理は、どれもステップＳ１１２の登録要求に応じて行う処理であるが、実行順は図示のものに限られない。
【００８２】
次に、図８に、図７の処理の後で通信装置１０が管理装置４０にカウンタ値を通知する場合の処理シーケンスを示す。この処理は、基本的に図５（ａ）に示したものと同じであるが、管理装置４０から通信装置１０の応答送信に係る処理も示した。
図８の処理において、通信装置１０は、所定の通知タイミングになると、カウンタ値の情報を収集し、その値を通知する管理装置４０宛てのカウンタ通知を、図７のステップＳ１１１で記憶した識別情報に基づき仲介装置３０Ａに送信する（Ｓ１３１）。この通知には、通信装置１０のＩＤも含めるとよい。そして、仲介装置３０Ａはこの通知を管理装置４０に転送する（Ｓ１３２）。
【００８３】
管理装置４０は通知されたカウンタ値を通知元の通信装置１０の情報として登録し（Ｓ１３３）、正常に登録できると、その旨を示すカウンタ通知応答を、カウンタ通知を送信してきた仲介装置３０Ａに返す（Ｓ１３４）。なお、通知の処理に時間がかかった場合には、処理中に後述の処理により通信装置１０と仲介装置の対応関係が変更されている可能性も考慮して、応答送信時の対応関係を検索して応答を送信する仲介装置を決定してもよい。
【００８４】
ステップＳ１３４の応答を受信した仲介装置３０Ａは、図７のステップＳ１２１乃至Ｓ１２３の場合と同様、応答を一旦プールし、通信装置１０からのアクセスに応じて通信装置１０へ送信する（Ｓ１３５〜Ｓ１３７）。
以上のように、通信装置１０は、図７の処理で割り当てられた仲介装置を介して管理装置４０に情報を送信することができる。
【００８５】
次に、図９に、通信装置１０に既に仲介装置３０が割り当てられている状態で通信装置が起動された場合の、特にその割り当てを変更する場合の処理シーケンスを示す。なお、図９の例では、通信装置１０には、電源ＯＮ時には（すなわち前回電源ＯＦＦされた際に）仲介装置３０Ｂが割り当てられているとする。
図９の例でも、各仲介装置３０Ａ〜３０Ｃが通信装置１０から割当装置２０へのアクセスとは無関係に利用状況通知を割当装置２０に送信し、割当装置２０が負荷情報を保持する（Ｓ１４１〜Ｓ１４４）ことは、図７の場合と同様である。
【００８６】
そして、通信装置１０の電源がＯＮされ（Ｓ１４５）、遠隔管理ＳＤＫアプリ１０４が起動されると、通信装置１０はまず割当装置２０にアクセスし、図７のステップＳ１０８の場合と同様に通信先確認通知を送信する（Ｓ１４６）。
そして、図７のステップＳ１０９乃至Ｓ１１１の場合と同様に、割当装置２０が通信装置１０に割り当てる仲介装置を選定すると共に、通信装置１０にその仲介装置の識別情報を通知し、通信装置１０もアクセスすべき仲介装置の識別情報を更新する（Ｓ１４７〜Ｓ１４９）。
【００８７】
図９の例では、割当装置は仲介装置３０Ａを割り当て、起動時と割り当て内容を変更している。しかし、通信装置１０側では、割り当て内容が変更されたかどうかを特に意識する必要はなく、新たに通知された識別情報に基づき、仲介装置３０Ａにアクセスして、管理装置４０との通信を行う（Ｓ１５０〜Ｓ１５２）。この部分の処理は、実際には図８のステップＳ１３１乃至Ｓ１３７と同様な手順で行われるが、記載を簡略化している。以後の図においても同様である。
【００８８】
一方、管理装置４０は、ステップＳ１５１の通知を受信した時点では、過去の対応付けを反映して、通信装置１０と仲介装置３０Ｂを対応付けて登録しているが、ステップＳ１５１ではその対応付けと異なる仲介装置３０Ａから、通信装置１０が送信した通知を受信することになる。そして、このことにより対応付けが変更されたことを認識し、変更後の対応付けを反映させるべく、通知の送信元である通信装置１０と、今回通知を送信してきた仲介装置３０Ａとを対応付けて登録する（Ｓ１５３）。
【００８９】
また、仲介装置３０Ａも、ステップＳ１５０の通知を受信すると、それまで仲介対象と認識していなかった通信装置１０が新たに仲介対象となったことを認識できる。従って、通信装置１０を仲介対象として登録し（Ｓ１５４）、図７のステップＳ１１５及びＳ１１７の場合と同様に、割当装置２０に対して仲介開始通知と利用状況通知を行う（Ｓ１５５，Ｓ１５７）。
【００９０】
また、割当装置２０は、ステップＳ１５５の仲介開始通知を受けると、ステップＳ１４７で行った選定に従った仲介が実際に開始されたことを把握できるため、通信装置１０と、その通信装置１０についての仲介を新たに行うこととなった仲介装置３０Ａとを対応付けて登録する（Ｓ１５６）。
【００９１】
また、この登録に際し、それまでに通信装置１０と対応付けられていた仲介装置３０Ｂは、もはや通信装置１０の通信を仲介しなくなったことを把握できる。そこで、仲介装置３０Ｂに対し、通信装置１０の通信を仲介する仲介装置が仲介装置３０Ａになったことを通知する仲介機器変更通知を送信する（Ｓ１５８）。この通知は、通信装置１０及び変更後の仲介装置３０ＡのＩＤを含むものである。
【００９２】
そして、この通知を受けた仲介装置３０Ｂは、通知に係る通信装置を自身の仲介対象から削除する（Ｓ１５９）。また、仲介対象が減ったことにより処理負荷が変化することが考えられるため、処理負荷を再計算して、最新の状況を反映した利用状況通知を割当装置２０に送信する（Ｓ１６０）。
通信装置１０の起動時に以上の処理を行うことにより、通信装置に、処理負荷の小さい仲介装置を随時割り当てることができ、一層の処理負荷の平準化を図ることができる。
【００９３】
また、割当装置２０が通信装置１０に割り当てた仲介装置がその通信装置１０に直近に割り当てた仲介装置と異なる場合、直近に割り当てた仲介装置に対し、その通信装置１０に対するその直近に割り当てた仲介装置の割り当てが解除された旨を通知することにより、仲介装置の割り当て変更に伴う処理負荷の変化を仲介装置に速やかに把握させることができる。
【００９４】
次に、図１０に、特定の仲介装置３０の処理負荷が大きくなった場合の負荷分散の処理シーケンスを示す。
図１０の例でも、各仲介装置３０Ａ〜３０Ｃが利用状況通知を割当装置２０に送信し、割当装置２０が負荷情報を保持する（Ｓ１７１〜Ｓ１７４）ことは、図７の場合と同様である。
【００９５】
そして、割当装置２０が、この利用状況通知に基づいて特定の仲介装置の処理負荷が所定の閾値を超えたと判断すると、その仲介装置の仲介動作を代替させる仲介装置を、処理負荷が比較的小さいものの中から選定する（Ｓ１７５）。図１０の例では、処理負荷の大きい仲介装置３０Ａの代替として、処理負荷の小さい仲介装置３０Ｃを選定している。
そして、代替元の仲介装置３０Ａに、仲介処理を仲介装置３０Ｃに代替することを要求する代替要求を送信する（Ｓ１７６）。この代替要求には、仲介装置３０Ｃに対するアクセスを行わせるために通信装置１０に通知すべき識別情報を含める。
【００９６】
この代替要求を受けた仲介装置３０Ａは、その後通信装置１０からアクセスを受けると（Ｓ１７７）、通信の仲介を拒否すると共に、現在処理負荷が大きい状態であり、代わりにステップＳ１７６で通知された代替先にアクセスすべきことを示す応答を返す（Ｓ１７８）。この応答には、代替先にアクセスするために用いる識別情報を含める。
この応答を受けた通信装置１０は、アクセスすべき仲介装置の識別情報を通知された内容に更新する（Ｓ１７９）と共に、その識別情報に従って代替先の仲介装置３０Ｃにアクセスし、その仲介装置３０Ｃを介して管理装置４０と通信を行う（Ｓ１８０〜Ｓ１８２）。
【００９７】
この動作は、図９のステップＳ１５０乃至Ｓ１５２で変更後の割り当てに従って管理装置４０と通信を行う場合と同様な位置付けとなる。従って、管理装置４０及び仲介装置３０Ｃは、通信装置１０からの通知の受信により、通信装置１０への仲介装置の割り当てが変更されたことを認識し、図９のステップＳ１５３乃至Ｓ１５７と同様に、対応付けの更新や、割当装置２０への通知を行う（Ｓ１８３〜Ｓ１８７）。割当装置２０がステップＳ１８５の通知に従って対応付けの登録を変更すること（Ｓ１８６）も、図９のステップＳ１５６の場合と同様である。
【００９８】
また、割当装置２０が変更元の仲介装置３０Ａに対し仲介機器変更通知を行い（Ｓ１８８）、仲介装置３０Ａが仲介対象の更新（Ｓ１８９）及び利用状況通知（Ｓ１９０）を行うことも、図９のステップＳ１５８乃至Ｓ１６０の場合と同様である。
そして、割当装置２０は、最新の利用状況通知に基づき、代替要求先の仲介装置３０Ａの処理負荷が所定の閾値を下回ったと判断した場合、仲介装置３０Ａに対して代替要求のクリアを通知する（Ｓ１９１）。仲介装置３０Ａは、この通知を受けると、以後は代替要求を受ける前と同様に仲介動作を行う状態に戻る。
【００９９】
以上の処理を行うことにより、割当装置２０が、一の仲介装置において処理負荷の高さが所定の閾値を超えたと判断した場合、その一の仲介装置よりも処理負荷の小さい別の仲介装置を選択し、その一の仲介装置に対し、処理を代替可能な仲介装置の情報として上記別の仲介装置の情報を通知するので、特定の仲介装置の処理負荷が大きくなった場合に、仲介装置の割り当てを適切に変更して処理を他の仲介装置に分散させ、処理負荷の平準化を図ることができる。
【０１００】
また、割当装置２０が、その後上記一の仲介装置において処理負荷の高さが所定の閾値を下回ったと判断した場合、その一の仲介装置に対し、処理を代替可能な仲介装置の情報を無効にすべきことを通知するので、上記特定の仲介装置の処理負荷が小さくなった段階で分散を終了させることができる。このため、代替要求の送信から代替要求クリアの通知までの間に上記特定の仲介装置にアクセスしなかった通信装置については、代替要求により仲介装置の割り当てが変更されることはない。従って、上記特定の仲介装置が担当していた全ての処理を他の仲介装置に割り振ってしまうことはなく、分散により却って処理負荷の分布が偏ってしまうような事態も起こらない。
なお、代替を開始させる基準とする閾値は、代替を終了させる基準とする閾値よりも大きい値とするとよい。
【０１０１】
次に、図１１及び図１２に、特定の仲介装置３０が一時的に仲介機能を停止する場合の処理シーケンスを示す。
図１１の処理においては、仲介装置３０Ａがメンテナンス等の理由により一時的に通信の仲介機能を停止する（Ｓ２０２）。この場合、停止に先立って、割当装置２０に停止通知を行う（Ｓ２０１）。この停止通知には、復帰予定時刻の情報を含めると良い。割当装置２０は、この停止通知を受けると、以後、通知元を通信装置１０に対する割り当ての候補から除外する（Ｓ２０３）。なお、仲介装置が不具合により停止する場合に、停止通知を行えない場合もあるが、このような場合でも、例えばある仲介装置から所定時間利用状況通知がなかった場合にその仲介装置が仲介機能を停止したと判断し、割り当ての対象から除外することも考えられる。
【０１０２】
また、停止しない仲介装置は、図７の場合と同様に利用状況通知を割当装置２０に送信し、割当装置２０が負荷情報を保持する（Ｓ２０４〜Ｓ２０６）。
この状態で通信装置１０が通信を行うために仲介装置３０Ａにアクセスすると（Ｓ２０７）、仲介装置３０Ａは仲介機能を停止しているため、エラー応答を返すか、または何も応答を返さない（Ｓ２０８）。
【０１０３】
通信装置１０は、このことにより自身に割り当てられた仲介装置が機能していないことを把握できるため、他の仲介装置の割り当てを受けるべく、割当装置２０に通信先確認通知を送信する（Ｓ２０９）。そして、図７のステップＳ１０９乃至Ｓ１１１の場合と同様に、割当装置２０が通信装置１０に割り当てる仲介装置（ここでは仲介装置３０Ｃ）を選定すると共に、通信装置１０にその仲介装置の識別情報を通知し、通信装置１０もアクセスすべき仲介装置の識別情報を更新する（Ｓ２１０〜Ｓ２１２）。ただしこのとき、停止した仲介装置３０Ａは割り当ての候補に入らない。
【０１０４】
そして、新たな仲介装置の割り当てを受けた通信装置１０は、通知された識別情報に従って仲介装置３０Ｃにアクセスし、その仲介装置３０Ｃを介して管理装置４０と通信を行う（Ｓ２１３〜Ｓ２１５）。
この動作は、図９のステップＳ１５０乃至Ｓ１５２で変更後の割り当てに従って管理装置４０と通信を行う場合と同様な位置付けとなる。従って、管理装置４０及び仲介装置３０Ｃは、通信装置１０からの通知の受信により、通信装置１０への仲介装置の割り当てが変更されたことを認識し、図９のステップＳ１５３乃至Ｓ１５７と同様に、対応付けの更新や、割当装置２０への通知を行う（Ｓ２１６〜Ｓ２２０）。割当装置２０がステップＳ２１８の通知に従って対応付けの登録を変更すること（Ｓ２１９）も、図９のステップＳ１５６の場合と同様である。ただし、停止中の仲介装置３０Ａから他の仲介装置へ割り当てを変更した通信装置１０を後で抽出できるよう、必要な情報を保持しておく。
【０１０５】
その後、処理は図１２に示す部分に進み、仲介装置３０Ａが仲介機能の動作を再開すると（Ｓ２２１）、割当装置２０に対し、その旨を通知する復帰通知を送信する（Ｓ２２２）。この復帰通知を受けた割当装置２０は、通知の送信元を割り当ての候補に追加する（Ｓ２２３）。
その後、通知の送信元である仲介装置３０Ａが停止していた間にその仲介装置３０Ａから他の仲介装置へ割り当てを変更した通信装置１０を抽出し（Ｓ２２４）、その各通信装置１０について、仲介機器変更通知を仲介装置３０Ａに送信する（Ｓ２２５）。これに応じて仲介装置３０Ａは仲介対象の更新（Ｓ２２６）及び利用状況通知（Ｓ２２７）を行う。これらの処理は、図９のステップＳ１５８乃至Ｓ１６０の場合と概ね同様である。
【０１０６】
以上のような処理を行うことにより、割当装置２０が、仲介装置から受信する情報に基づき、仲介装置が停止してから再開するまでその仲介装置を通信装置１０に割り当てないようにすることができるので、一部の仲介装置が機能を停止する場合でも、その機能を他の仲介装置に容易に代替させ、通信システムの動作を安定して継続させることができる。
【０１０７】
次に、図１３及び図１４に、仲介装置を追加する場合の処理シーケンスを示す。この例は、３０Ａ〜３０Ｃの３台の仲介装置を運用中のシステムに、仲介装置３０Ｄを追加する場合の例である。
図１３の処理において、管理装置４０及び割当装置２０（及び通信装置１０）と通信可能な状態になり、システムに追加された仲介装置３０Ｄは、管理装置４０及び割当装置２０に対し、自身が追加されたことを通知する装置追加通知を送信する（Ｓ２３１，Ｓ２３３）。
【０１０８】
管理装置４０は、ステップＳ２３１の通知を受けると通知元の仲介装置３０Ｄを、管理装置４０に対する通信を仲介する仲介装置として登録する（Ｓ２３２）。この登録は必須ではないが、登録されていない仲介装置による仲介は受け付けないようにすることによりセキュリティの向上を図るといった用途が考えられる。
【０１０９】
また、割当装置２０は、ステップＳ２３３の通知を受けると、送信元の仲介装置３０Ｄを割り当ての候補に追加する（Ｓ２３４）。この処理により、仲介装置３０Ｄが通信システムに組み入れられたことになる。なお、装置追加通知は、初回の利用状況通知を兼ねるようにするとよい。このときの負荷は、まだ仲介を行っていないため通常は０％である。
また、以上とは関係なく、既に通信システムに組み入れられている各仲介装置３０Ａ〜３０Ｃは、図７等の場合と同様、利用状況通知を割当装置２０に送信し、割当装置２０が負荷情報を保持する（Ｓ２３５〜Ｓ２３８）。
【０１１０】
また、仲介装置３０Ｄが新たに追加された場合、明らかに処理負荷の小さい仲介装置が存在することになるため、割当装置２０は、処理負荷を平準化すべく、処理負荷の比較的大きい仲介装置を抽出し（Ｓ２３９）、それらの仲介装置（ここでは３０Ａ及び３０Ｂ）に対し、仲介処理を仲介装置３０Ｄに代替することを要求する代替要求を送信する（Ｓ２４０，Ｓ２４１）。ステップＳ２３９の抽出の基準とする閾値は、ステップＳ１７５で用いる閾値より低い値でよい。あるいは、単純に処理負荷の高い方からいくつかの仲介装置を抽出してもよい。
【０１１１】
ステップＳ２４０及びＳ２４１での代替要求に従った仲介装置の割り当て変更の手順（Ｓ２４２〜Ｓ２５４）は、図１０に示した負荷分散時のものと同様であるので、説明を省略する。図１３には、仲介装置３０Ａから仲介装置３０Ｄへ割り当てを変更する処理を示した。
また、最新の利用状況通知に基づき、代替要求先の仲介装置の処理負荷が所定の閾値を下回ったと判断した場合、その仲介装置に対して代替要求のクリアを通知する（Ｓ２５５〜Ｓ２５８）ことも、図１０の処理と同様である。
以上の処理により、通信システムに任意に仲介装置を追加して、システム全体の仲介処理のキャパシティを高めることができる。なお、ステップＳ２３９以下の処理は、処理負荷が高い仲介装置がなければ、行わなくてもよい。
【０１１２】
次に、仲介装置の割り当て変更があっても管理装置４０から通信装置１０に宛てて送信する要求を確実に通信装置１０に伝送できるようにするための処理について説明する。
まず図１５及び図１６に、図１０を用いて説明したような、代替要求による仲介装置の負荷分散を行う場合の処理シーケンスを示す。
【０１１３】
図１５のステップＳ２６１乃至Ｓ２６５の処理は、管理装置４０が通信装置１０に宛てて機器情報取得要求Ｘを送信し、その要求に対する応答として機器情報取得結果Ｘを受信する処理である。図中の「００１」は、宛先となる通信装置のＩＤである。これらの処理は、基本的に図５（ｃ）のステップＳ３２乃至Ｓ３８の処理と同様な手順で行われるが、記載を簡略化している。以後の図においても同様である。
【０１１４】
また、管理装置４０は、通信装置１０に宛てた要求のステップＳ２６１での送信先を、図７のステップＳ１１９等で行った登録に基づき、宛先の通信装置１０と対応する仲介装置に決定する。また、管理装置４０は、通信装置１０宛ての要求は応答の受信まで多少の時間を要することを前提に、送信した要求を、どの仲介装置３０に送信したかを示す情報と共に記憶しておき、応答を受信するまで、応答未受信の要求として管理する。
【０１１５】
一方、各仲介装置３０Ａ〜３０Ｃは、ステップＳ２６１乃至Ｓ２６５等における要求の処理状況とは関係なく、利用状況通知を割当装置２０に送信し（Ｓ２６６，Ｓ２６７，Ｓ２６９）、割当装置２０が負荷情報を保持する。
従って、仲介装置３０Ａが機器情報取得要求Ｙを受信した後（Ｓ２６８）、これを通信装置に転送する前に、利用状況通知（Ｓ２６９）を行うことになる場合もある。そして、同じく転送前に、図１０のステップＳ１７５及びＳ１７６のように仲介装置３０Ａが代替要求を受ける場合もある（Ｓ２７０）。
【０１１６】
この場合、仲介装置３０Ａは、図１０のステップＳ１７７，Ｓ１７８の場合と同様に、通信装置１０からのアクセスに対して通信の仲介を拒否する（Ｓ２７１，Ｓ２７２）と共に以後のアクセス先を変更させる（Ｓ２７３）。従って、仲介装置３０ＡがステップＳ２６８で受信した機器情報取得要求Ｙは、通信装置１０へ転送されずに仲介装置３０Ａにプールされたままとなってしまう。
そこで、仲介装置３０Ａは、ステップＳ２７０で代替要求を受信すると、自身の仲介機能を代替要求に従って仲介装置３０Ｃに代替させる旨を通知する負荷分散通知を管理装置４０に送信する（Ｓ２７４）。
【０１１７】
管理装置４０は、この通知を受信すると、送信済み要求の管理情報を参照し、分散元装置（ここでは仲介装置３０Ａ）に送信した応答未受信の要求を抽出し（Ｓ２７５）、その要求を、分散先装置（ここでは仲介装置３０Ｃ）に送信する（Ｓ２７６）。それまで仲介装置３０Ａに仲介させて送信していた宛先には、以後仲介装置３０Ｃに仲介させて送信することになると考えられるためである。ただし、この時点では仲介装置の割り当て変更が実際に行われる保証はないため、仲介装置３０Ａに送信した要求もキャンセルしない。なお、ステップＳ２７６で送信した要求も、ステップＳ２６１及びＳ２６８で送信した要求と同様に管理する。
【０１１８】
そして、ステップＳ２７６の後、ステップＳ２７３でのアクセス先変更に伴い、通信装置１０が仲介装置３０Ｃにアクセスすると（Ｓ２７７）、仲介装置３０Ｃから機器情報取得要求Ｙを受信し（Ｓ２７８）、応答として機器情報取得結果Ｙを返すことができる（Ｓ２７９）。この機器情報取得結果は、仲介装置３０Ｃから管理装置４０に転送される（Ｓ２８０）。
【０１１９】
管理装置４０は、これを受信したことにより、通信装置１０の通信を仲介する仲介装置が仲介装置３０Ｃに変更されたことを認識できるので、通信装置と仲介装置の対応付けを更新する（Ｓ２８１）。また、もはや分散元の仲介装置３０Ａに送信した機器情報取得要求Ｙは不要であるので、これが後で重複して転送されることを防止するため、仲介装置３０Ａにそのキャンセルを指示する（Ｓ２８２）。
ステップＳ２８３乃至Ｓ２９０の処理は、図１０のステップＳ１８４乃至Ｓ１９１と同様な処理であり、仲介装置３０Ｃ，３０Ａと、割当装置２０が、割り当て変更の内容を、自身が記憶するデータに反映させる。また、仲介装置３０Ａの負荷が低くなった時点で、代替要求をクリアする。
【０１２０】
仲介装置３０Ａは、代替要求がクリアされると、その旨を管理装置４０に通知する（Ｓ２９１）。管理装置４０は、この通知に応じて、ステップＳ２７６で分散先の仲介装置３０Ｃに送信した要求のうち応答未受信のものを抽出し（Ｓ２９２）、仲介装置３０Ｃにそのキャンセルを指示する（Ｓ２９３）。代替要求がクリアされるまでに仲介装置３０Ｃから通信装置１０に転送されなかった要求は、ステップＳ２７０での代替要求に応じた仲介装置の割り当て変更がなされなかった通信装置に宛てた要求であると考えられ、代替要求がクリアされた後は、仲介装置３０Ａを通して通信装置１０に転送できると考えられるためである。
【０１２１】
以上の処理を行うことにより、管理装置４０が、ある仲介装置が行っていた通信の仲介機能を、別の仲介装置に代替させる旨の通知を受信した場合、該ある仲介装置と対応づけられている相手先装置に宛てて送信した要求であってまだ応答を受信していないものを、上記別の仲介装置に送信することができるので、仲介装置の割り当て変更があった場合でも、変更後の仲介装置を介して要求を目的の装置に送信することができる。従って、管理装置４０からの通信装置１０宛ての要求が仲介装置３０にプールされた後で仲介装置の割り当てが変更される場合であっても、要求が仲介装置３０にプールされたまま放置されてしまう事態を防止し、確実に通信装置１０に伝送することができる。
また、通知前に上記ある仲介装置に送信した要求と、通知に応じて上記別の仲介装置に送信したその要求と対応する要求のうち一方について応答を受信した場合に、他方をキャンセルすることができるので、要求の送信が重複して通信システムの動作に不具合を来すこともない。
【０１２２】
次に、図１７及び図１８に、図１１及び図１２を用いて説明したような、仲介装置の停止が起こる場合の処理シーケンスを示す。
図１７の処理において、ステップＳ３０１乃至Ｓ３０５の処理は、図１５のステップＳ２６１乃至Ｓ２６５と同様である。また、図１７には、管理装置４０が通信装置１０宛ての機器情報取得要求Ｙを仲介装置３０Ａに送信し（Ｓ３０６）、仲介装置３０Ａにプールされている状態で、仲介装置３０Ａが仲介機能を停止する（Ｓ３０８）例を示している。
【０１２３】
この場合、仲介装置３０Ａは、図１１のステップＳ２０１と同様に、停止に先立って割当装置２０に対して停止通知を送信する（Ｓ３０７）。
図１１の例では、割当装置２０は、この停止通知に応じて通知元を割り当ての候補から除外するのみであったが、図１７の処理では、割当装置２０は停止通知に応じて、通知元装置の仲介機能を代替させる仲介装置を、図１０のステップＳ１７５の場合と同様に選定する（ここでは仲介装置３０Ｃを選定する）（Ｓ３０９）。そして、その旨を通知する停止装置代替通知を管理装置４０に送信する（Ｓ３１０）。図１５の場合と異なり割当装置２０がその通知を送信するのは、仲介装置３０Ａが、代替先の装置がどれになるか把握していないためである。
【０１２４】
管理装置４０は、ステップＳ３１０の通知を受信すると、図１５のステップＳ２７５及びＳ２７６の場合と同様に、代替元装置（ここでは仲介装置３０Ａ）に送信した応答未受信の要求を抽出し（Ｓ３１１）、その要求を、代替先装置（ここでは仲介装置３０Ｃ）に送信する（Ｓ３１２）。
【０１２５】
一方、仲介装置３０Ａが割り当てられている通信装置１０は、仲介機能の停止している仲介装置３０Ａにアクセスすると（Ｓ３１３）、エラー応答が返ってくるか、又は応答が返ってこない（Ｓ３１４）。
通信装置１０は、このことにより自身に割り当てられた仲介装置が機能していないことを把握できるため、図１１のステップＳ２０９乃至Ｓ２１２の場合と同様、割当装置２０に通信先確認通知を送信して、代わりにアクセスすべき仲介装置の割り当てを受ける（Ｓ３１５〜Ｓ３１７）。ただし、割当装置２０は、通信先確認通知の送信元が、停止中の仲介装置３０Ａが割り当てられている装置であることを確認すると、その時点で新たな割り当て先を選定するのではなく、ステップＳ３０９で選定した代替先を割り当てる。
【０１２６】
そして、ステップＳ３１７でのアクセス先変更に伴い、通信装置１０が仲介装置３０Ｃにアクセスすると（Ｓ３１８）、仲介装置３０Ｃから機器情報取得要求Ｙを受信し（Ｓ３１９）、応答として機器情報取得結果Ｙを返すことができる（Ｓ３２０）。この機器情報取得結果は、仲介装置３０Ｃから管理装置４０に転送される（Ｓ３２１）。
管理装置４０は、これを受信したことにより、通信装置１０の通信を仲介する仲介装置が仲介装置３０Ｃに変更されたことを認識できるので、通信装置と仲介装置の対応付けを更新する（Ｓ３２２）。
【０１２７】
また、もはや代替元の仲介装置３０Ａに送信した機器情報取得要求Ｙは不要であるので、図１５のステップＳ２８２の場合と同様に、仲介装置３０Ａにそのキャンセルを行わせる必要がある。しかし、仲介装置３０Ａは停止中であって直ちにキャンセルができないため、そのキャンセルを予約する（図１８のＳ３２３）。
【０１２８】
ステップＳ３２４乃至Ｓ３２７の処理は、図１１のステップＳ２１７乃至Ｓ２２０と同様な処理であり、仲介装置３０Ｃ，３０Ａと、割当装置２０が、割り当て変更の内容を、自身が記憶するデータに反映させる。
また、仲介装置３０Ａが仲介機能の動作を再開すると（Ｓ３２８）、図１２のステップＳ２２２乃至Ｓ２２７と同様に、復帰通知（Ｓ３２９）及び、停止中の割り当て変更を仲介装置３０Ａの登録内容に反映させる処理を行う（Ｓ３３４〜Ｓ３３７）。
【０１２９】
また、割当装置２０は、ステップＳ３２９で復帰通知を受信すると、仲介装置３０Ａの停止に伴う仲介装置の代替を終了する旨を通知する仲介装置代替終了通知を管理装置４０に送信する（Ｓ３３０）。管理装置４０は、この通知により、仲介装置３０Ａの動作が復帰し、ステップＳ３２３で予約した、代替元装置に送信した要求のキャンセルが実行できる状態になったことを把握できるため、これを実行する（Ｓ３３１）。
その後、ステップＳ３１２で代替先の仲介装置３０Ｃに送信した要求のうち応答未受信のものを抽出し（Ｓ３３２）、仲介装置３０Ｃにそのキャンセルを指示する（Ｓ３３３）。これらの処理は、図１６のステップＳ２９２，Ｓ２９３と同趣旨である。
【０１３０】
以上の処理を行うことにより、管理装置４０からの通信装置１０宛ての要求が仲介装置３０にプールされた後でその仲介装置が仲介動作を停止する場合であっても、図１５及び図１６の場合と同じように、要求が仲介装置３０にプールされたまま放置されてしまう事態を防止し、確実に通信装置１０に伝送することができる。
なお、仲介装置が停止通知なしで停止し、利用状況通知のないことをトリガに割当装置２０が仲介装置３０の停止を判断した場合であっても、ステップＳ３０９以降については同様な処理が可能である。
【０１３１】
以上で実施形態の説明を終了するが、以上説明してきた実施形態において、装置やシステムの構成や具体的な処理内容、データの形式等が上述の実施形態で説明したものに限られないことはもちろんである。
例えば、通信システム及びこれを構成する通信装置、割当装置、仲介装置及び管理装置を、図７乃至図１８を用いて説明した動作が全て可能なように構成しなくてもよい。これらのうち１以上の任意の組み合わせの動作のみ可能なように構成することもできる。
【０１３２】
また、通信装置１０は、画像形成装置に限らず、任意の電子装置に上述の実施形態で説明した通信機能を設けた装置として構成可能である。例えば、ネットワーク家電、自動販売機、医療機器、電源装置、空調システム、ガス・水道・電気等の計量システム、自動車、航空機あるいは汎用コンピュータ等に適用可能である。
また、この発明が、遠隔管理機能を有さない通信システムにも適用可能であることは、もちろんである。
【０１３３】
また、この発明によるプログラムは、コンピュータを、上述したような通信装置１０、割当装置２０、仲介装置３０あるいはセンター通信装置４０として機能させるためのプログラムであり、このようなプログラムをコンピュータに実行させることにより、上述したような効果を得ることができる。
このようなプログラムは、はじめからコンピュータに備えるＲＯＭあるいはＨＤＤ等の記憶手段に格納しておいてもよいが、記録媒体であるＣＤ−ＲＯＭあるいはフレキシブルディスク，ＳＲＡＭ，ＥＥＰＲＯＭ，メモリカード等の不揮発性記録媒体（メモリ）に記録して提供することもできる。そのメモリに記録されたプログラムをコンピュータにインストールしてＣＰＵに実行させるか、ＣＰＵにそのメモリからこのプログラムを読み出して実行させることにより、上述した各処理を実行させることができる。
さらに、ネットワークに接続され、プログラムを記録した記録媒体を備える外部機器あるいはプログラムを記憶手段に記憶した外部機器からダウンロードして実行させることも可能である。
また、以上説明してきた実施形態の構成は、相互に矛盾しない限り任意に組み合わせて実施可能であることは勿論である。
【産業上の利用可能性】
【０１３４】
以上のようなこの発明による割当装置、通信装置、仲介装置、仲介システム、割当方法、プログラム又は記録媒体によれば、複数の第１の通信装置と、第２の通信装置との間の通信を、複数の仲介装置によって仲介させる通信システムを、円滑に運用することができる。そして、このことにより、柔軟性の高い通信システムを構築可能となる。
【符号の説明】
【０１３５】
１０：通信装置、２０：割当装置、３０Ａ〜３０Ｄ：仲介装置、４０：センター通信装置（管理装置）
【先行技術文献】
【特許文献】
【０１３６】
【特許文献１】特開２００３−３２３３６０号公報
【図１】
0005724498.tif 000002
【図２】
0005724498.tif 000003
【図３】
0005724498.tif 000004
【図４】
0005724498.tif 000005
【図５】
0005724498.tif 000006
【図６】
0005724498.tif 000007
【図７】
0005724498.tif 000008
【図８】
0005724498.tif 000009
【図９】
0005724498.tif 000010
【図１０】
0005724498.tif 000011
【図１１】
0005724498.tif 000012
【図１２】
0005724498.tif 000013
【図１３】
0005724498.tif 000014
【図１４】
0005724498.tif 000015
【図１５】
0005724498.tif 000016
【図１６】
0005724498.tif 000017
【図１７】
0005724498.tif 000018
【図１８】
0005724498.tif 000019