(57)【特許請求の範囲】
【請求項１】
通信システムであって、
所定のＬＡＮの内部に設けられる複数のデバイスと、
前記所定のＬＡＮの内部に設けられ、前記複数のデバイスと前記所定のＬＡＮの外部に設けられた外部サーバとの通信を中継する複数の通信中継装置と、
を備え、
前記複数の通信中継装置は、第１の通信中継装置と第２の通信中継装置とを有し、
前記第１の通信中継装置は、
前記所定のＬＡＮ内のデバイスを検索するデバイス検索処理を実行する検索手段と、
第２の管理対象デバイスの情報を取得する取得手段と、
前記第２の管理対象デバイスの情報に基づき第１の管理対象デバイスを決定する決定手段と、
を有し、
前記第２の管理対象デバイスは、前記外部サーバとの通信に関する通信中継処理が前記第２の通信中継装置によって管理されるデバイスであり、
前記第１の管理対象デバイスは、前記外部サーバとの通信に関する通信中継処理が前記第１の通信中継装置によって管理されるデバイスであり、
前記決定手段は、前記デバイス検索処理によって検索された２以上のデバイスと前記第２の管理対象デバイスの情報である管理デバイス情報とに基づいて、前記２以上のデバイスから前記第２の管理対象デバイスの少なくとも一部を除外することにより、前記第１の管理対象デバイスと前記第２の管理対象デバイスとの少なくとも一部の重複を排除した上で、前記第１の管理対象デバイスを決定することを特徴とする通信システム。
【請求項２】
請求項１に記載の通信システムにおいて、
前記決定手段は、前記２以上のデバイスから前記第２の管理対象デバイスの全てを少なくとも除外して、前記第１の管理対象デバイスを決定することを特徴とする通信システム。
【請求項３】
請求項１に記載の通信システムにおいて、
前記決定手段は、前記２以上のデバイスから前記第２の管理対象デバイスの一部を少なくとも除外して、前記第１の管理対象デバイスを決定することを特徴とする通信システム。
【請求項４】
請求項３に記載の通信システムにおいて、
前記決定手段は、前記第１の管理対象デバイスの数が所定の上限数以下であることを条件に、前記第１の管理対象デバイスと前記第２の管理対象デバイスとの一部重複を許容しつつ前記２以上のデバイスから前記第２の管理対象デバイスの一部を少なくとも除外することによって、前記第１の管理対象デバイスを決定することを特徴とする通信システム。
【請求項５】
請求項１ないし請求項４のいずれかに記載の通信システムにおいて、
前記決定手段は、前記管理デバイス情報に含まれるデバイスであって前記デバイス検索処理によって検索されなかったデバイスを前記第２の通信中継装置による管理対象デバイスから削除すべき旨を前記第２の通信中継装置に通知することを特徴とする通信システム。
【請求項６】
請求項１ないし請求項５のいずれかに記載の通信システムにおいて、
前記所定のＬＡＮの外部に設けられ、前記複数のデバイスのうちの特定のデバイスに対するアクセス要求を前記外部サーバから受け付ける管理サーバ、
をさらに備え、
前記第１の通信中継装置は、
前記第１の管理対象デバイスの情報を前記管理サーバに送信し、
前記管理サーバは、
前記複数の通信中継装置のそれぞれの管理対象デバイスの登録情報であって前記第１の通信中継装置による管理対象デバイスの情報を含む登録情報を格納する格納手段と、
前記特定のデバイスに対するアクセス要求が前記外部サーバから受け付けられると、前記特定のデバイスに対する通信を中継することが可能な通信中継装置を前記登録情報に基づき決定する中継装置決定手段と、
前記中継装置決定手段によって決定された通信中継装置に対して、前記外部サーバとの間でトンネル接続を確立すべき旨のトンネル接続要求を送信する通信手段と、
を有し、
前記中継装置決定手段によって決定された通信中継装置は、前記トンネル接続要求に応じてトンネル接続を前記外部サーバとの間に確立し、前記トンネル接続を利用して前記外部サーバと前記特定のデバイスとの間の通信を中継することを特徴とする通信システム。
【請求項７】
請求項６に記載の通信システムにおいて、
前記管理サーバの前記通信手段は、
前記第１の通信中継装置との間に通信セッションを予め確立しておき、
前記中継装置決定手段によって前記特定のデバイス向けの通信中継装置として前記第１の通信中継装置が決定される場合には、前記通信セッションを利用して、前記トンネル接続要求を前記第１の通信中継装置に送信することを特徴とする通信システム。
【請求項８】
請求項６または請求項７に記載の通信システムにおいて、
前記第１の通信中継装置は、
前記第１の通信中継装置と前記外部サーバとの通信を第１の通信プロトコルで実行し、
前記第１の通信中継装置と前記特定のデバイスとの通信を第２の通信プロトコルで実行し、
前記外部サーバから前記特定のデバイス宛の第１のデータを受信する場合には、前記第１の通信プロトコルから前記第２の通信プロトコルへの変換に伴って前記第１のデータを第２のデータに変換して前記特定のデバイスに送信することを特徴とする通信システム。
【請求項９】
請求項６ないし請求項８のいずれかに記載の通信システムにおいて、
前記取得手段は、前記管理デバイス情報の送信要求を前記管理サーバに送信し、前記送信要求に応じて前記管理サーバから送信されてきた情報を受信することによって、前記管理デバイス情報を取得することを特徴とする通信システム。
【請求項１０】
請求項６ないし請求項９のいずれかに記載の通信システムにおいて、
前記外部サーバと前記管理サーバとは同一の装置内に設けられることを特徴とする通信システム。
【請求項１１】
請求項１ないし請求項８のいずれかに記載の通信システムにおいて、
前記取得手段は、前記管理デバイス情報の送信要求を前記第２の通信中継装置に送信し、前記送信要求に応じて前記第２の通信中継装置から送信されてきた情報を受信することによって、前記管理デバイス情報を取得することを特徴とする通信システム。
【請求項１２】
所定のＬＡＮの外部に設けられた外部サーバと前記所定のＬＡＮの内部に設けられた複数のデバイスとの間の通信を中継する複数の通信中継装置のうちの一の通信中継装置であって、
前記所定のＬＡＮ内のデバイスを検索するデバイス検索処理を実行する検索手段と、
第２の管理対象デバイスの情報を取得する取得手段と、
前記第２の管理対象デバイスの情報に基づき第１の管理対象デバイスを決定する決定手段と、
を有し、
前記第１の管理対象デバイスは、前記外部サーバとの通信に関する通信中継処理が、前記一の通信中継装置である第１の通信中継装置によって管理されるデバイスであり、
前記第２の管理対象デバイスは、前記外部サーバとの通信に関する通信中継処理が、前記所定のＬＡＮの内部に設けられた前記複数の通信中継装置のうちの前記一の通信中継装置とは別の通信中継装置である第２の通信中継装置によって管理されるデバイスであり、
前記決定手段は、前記デバイス検索処理によって検索された２以上のデバイスと前記第２の管理対象デバイスの情報である管理デバイス情報とに基づいて、前記２以上のデバイスから前記第２の管理対象デバイスの少なくとも一部を除外することにより、前記第１の管理対象デバイスと前記第２の管理対象デバイスとの少なくとも一部の重複を排除した上で、前記第１の管理対象デバイスを決定することを特徴とする通信中継装置。
【請求項１３】
請求項１２に記載の通信中継装置において、
前記決定手段は、前記２以上のデバイスから前記第２の管理対象デバイスの全てを少なくとも除外して、前記第１の管理対象デバイスを決定することを特徴とする通信中継装置。
【請求項１４】
請求項１２に記載の通信中継装置において、
前記決定手段は、前記２以上のデバイスから前記第２の管理対象デバイスの一部を少なくとも除外して、前記第１の管理対象デバイスを決定することを特徴とする通信中継装置。
【請求項１５】
請求項１４に記載の通信中継装置において、
前記決定手段は、前記第１の管理対象デバイスの数が所定の上限数以下であることを条件に、前記第１の管理対象デバイスと前記第２の管理対象デバイスとの一部重複を許容しつつ前記２以上のデバイスから前記第２の管理対象デバイスの一部を少なくとも除外することによって、前記第１の管理対象デバイスを決定することを特徴とする通信中継装置。
【請求項１６】
請求項１２ないし請求項１５のいずれかに記載の通信中継装置において、
前記決定手段は、前記管理デバイス情報に含まれるデバイスであって前記デバイス検索処理によって検索されなかったデバイスを前記第２の通信中継装置による管理対象デバイスから削除すべき旨を前記第２の通信中継装置に通知することを特徴とする通信中継装置。
【請求項１７】
請求項１２ないし請求項１６のいずれかに記載の通信中継装置において、
前記取得手段は、前記管理デバイス情報の送信要求を前記第２の通信中継装置に送信し、前記送信要求に応じて前記第２の通信中継装置から送信されてきた情報を受信することによって、前記管理デバイス情報を取得することを特徴とする通信中継装置。
【請求項１８】
請求項１２ないし請求項１６のいずれかに記載の通信中継装置において、
前記取得手段は、前記所定のＬＡＮの外部に設けられる管理サーバに対して前記管理デバイス情報の送信要求を送信し、前記送信要求に応じて前記管理サーバから送信されてきた情報を受信することによって、前記管理デバイス情報を取得することを特徴とする通信中継装置。
【請求項１９】
請求項１２ないし請求項１８のいずれかに記載の通信中継装置において、
前記第１の通信中継装置は、画像形成装置であることを特徴とする通信中継装置。
【請求項２０】
所定のＬＡＮの外部に設けられた外部サーバと前記所定のＬＡＮの内部に設けられた複数のデバイスとの間の通信を中継する複数の通信中継装置のうちの一の通信中継装置に内蔵されたコンピュータに、
ａ）前記所定のＬＡＮ内のデバイスを検索するデバイス検索処理を実行するステップと、
ｂ）第２の管理対象デバイスの情報を取得するステップと、
ｃ）前記第２の管理対象デバイスの情報に基づき第１の管理対象デバイスを決定するステップと、
を実行させるためのプログラムであって、
前記第１の管理対象デバイスは、前記外部サーバとの通信に関する通信中継処理が、前記一の通信中継装置である第１の通信中継装置によって管理されるデバイスであり、
前記第２の管理対象デバイスは、前記外部サーバとの通信に関する通信中継処理が、前記所定のＬＡＮの内部に設けられた前記複数の通信中継装置のうちの前記一の通信中継装置とは別の通信中継装置である第２の通信中継装置によって管理されるデバイスであり、
前記ステップｃ）においては、前記ステップａ）の前記デバイス検索処理によって検索された２以上のデバイスと前記ステップｂ）にて取得された前記情報である管理デバイス情報とに基づいて、前記２以上のデバイスから前記第２の管理対象デバイスの少なくとも一部を除外することにより、前記第１の管理対象デバイスと前記第２の管理対象デバイスとの少なくとも一部の重複を排除した上で、前記第１の管理対象デバイスが決定されることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＬＡＮ外部のサーバとＬＡＮ内部のデバイスとの間の通信を行う通信システム、およびそれに関連する技術に関する。
【背景技術】
【０００２】
ＬＡＮ外部のサーバ（クラウドサーバ等）とＬＡＮ内部のデバイス（画像形成装置等）との連携を図る技術が存在する。
【０００３】
たとえば、クラウド上のサーバ（クラウドサーバ）に格納された電子文書をローカル側（ＬＡＮ内部）の画像形成装置を用いて印刷出力する技術が存在する（特許文献１参照）。
【０００４】
特許文献１には、画像形成装置（デバイス）とゲートウエイとクラウドサーバとを備える文書出力システム（通信システム）が示されている。このシステムにおいては、クラウドサーバに格納された電子文書がゲートウエイ等を介して画像形成装置に送信され、画像形成装置１０において当該電子文書の印刷出力が行われる。なお、ゲートウエイおよび画像形成装置（デバイス）はＬＡＮの内部に設けられており、クラウドサーバはＬＡＮの外部に設けられている。
【０００５】
ところで、上述のようなシステムにおいては、通常、ＬＡＮの内部の画像形成装置（デバイス）とＬＡＮの外部のクラウドサーバとの間にはファイアウォールが設けられる。
【０００６】
ＬＡＮ内部の画像形成装置からＬＡＮ外部のクラウドサーバへのアクセスは、ファイアウォールを通過し、当該アクセスは許可される。
【０００７】
しかしながら、逆向きのアクセス、すなわち、ＬＡＮ外部のクラウドサーバからＬＡＮ内部の画像形成装置への直接的なアクセスは、ファイアウォールによってブロックされる。すなわち、クラウドサーバから直接、画像形成装置に対するアクセスを行うことはできない。
【０００８】
これに対して、ＬＡＮ外部の管理サーバとＬＡＮ内部のゲートウエイ（通信中継装置）との間に（ファイアフォールの例外として）メッセージセッション（通信セッション）を確立しておき、ＬＡＮ外部のクラウドサーバから、当該管理サーバおよび当該ゲートウエイを経由して、ＬＡＮ内部の画像形成装置にアクセスする技術が考えられる。
【０００９】
図１９および図２０は、そのような技術を示す図である。各ゲートウエイ３０（３０ａ，３０ｂ）は、その起動時等において、予め指定された管理サーバ５０との間にメッセージセッション（５１１，５２１）を確立しておく（図１９の太線参照）。その後、図２０に示すように、クラウドサーバ７０から特定のデバイス１０ｄへのアクセス要求発生時においては、管理サーバ５０と或るゲートウエイ３０（たとえば３０ａ）との間の当該メッセージセッション（たとえば５１１）を利用することにより管理サーバ５０から当該ゲートウエイ３０ａにトンネル接続要求が送信される。当該ゲートウエイ３０ａはトンネル接続要求に基づきクラウドサーバ７０との間にトンネル通信を確立する。そして、当該トンネル通信を用いてクラウドサーバ７０から（ゲートウエイ３０経由で）デバイス（画像形成装置）１０ｄへのアクセスが行われる。このような技術については、後に詳述する。
【００１０】
なお、特許文献２には、同様の技術が示されている。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２０１３−７３５７８号公報
【特許文献２】特開２０１４−２１５８４６号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
ところで、上記システムにおいては複数のゲートウエイがＬＡＮ内に設けられる。当該複数のゲートウエイは、それぞれの管理対象のデバイスとクラウドサーバとの間の通信を中継する。
【００１３】
複数のゲートウエイはそれぞれの管理対象のデバイスをたとえば次のようにして決定することが考えられる。具体的には、同一ネットワークの各ゲートウエイは、それぞれ、当該ネットワーク内の複数のデバイスの中から独自に選定したデバイスを管理対象デバイスとして決定する。
【００１４】
しかしながら、このように各ゲートウエイがそれぞれ独自に管理対象デバイスを決定する場合には、複数のゲートウエイの管理対象デバイスが複数のゲートウエイの相互間で重複して設定されることが生じ得る。たとえば、一のゲートウエイは４台のデバイス２０３，２０４，２０５，２０６を管理対象とし、他のゲートウエイも同じ４台のデバイス２０３，２０４，２０５，２０６を管理対象とすることがある。この場合、当該２つのゲートウエイは、全く同じ４台のデバイスをそれぞれ管理対象としており、大きな重複が生じている。すなわち、大きな無駄が発生している。
【００１５】
そこで、本発明は、複数の通信中継装置によって複数のデバイスをより効率的に管理することが可能な技術を提供することを課題とする。
【課題を解決するための手段】
【００１６】
上記課題を解決すべく、請求項１の発明は、通信システムであって、所定のＬＡＮの内部に設けられる複数のデバイスと、前記所定のＬＡＮの内部に設けられ、前記複数のデバイスと前記所定のＬＡＮの外部に設けられた外部サーバとの通信を中継する複数の通信中継装置と、を備え、前記複数の通信中継装置は、第１の通信中継装置と第２の通信中継装置とを有し、前記第１の通信中継装置は、前記所定のＬＡＮ内のデバイスを検索するデバイス検索処理を実行する検索手段と、第２の管理対象デバイスの情報を取得する取得手段と、前記第２の管理対象デバイスの情報に基づき第１の管理対象デバイスを決定する決定手段と、を有し、前記第２の管理対象デバイスは、前記外部サーバとの通信に関する通信中継処理が前記第２の通信中継装置によって管理されるデバイスであり、前記第１の管理対象デバイスは、前記外部サーバとの通信に関する通信中継処理が前記第１の通信中継装置によって管理されるデバイスであり、前記決定手段は、前記デバイス検索処理によって検索された２以上のデバイスと前記第２の管理対象デバイスの情報である管理デバイス情報とに基づいて、前記２以上のデバイスから前記第２の管理対象デバイスの少なくとも一部を除外することにより、前記第１の管理対象デバイスと前記第２の管理対象デバイスとの少なくとも一部の重複を排除した上で、前記第１の管理対象デバイスを決定することを特徴とする。
【００１７】
請求項２の発明は、請求項１の発明に係る通信システムにおいて、前記決定手段は、前記２以上のデバイスから前記第２の管理対象デバイスの全てを少なくとも除外して、前記第１の管理対象デバイスを決定することを特徴とする。
【００１８】
請求項３の発明は、請求項１の発明に係る通信システムにおいて、前記決定手段は、前記２以上のデバイスから前記第２の管理対象デバイスの一部を少なくとも除外して、前記第１の管理対象デバイスを決定することを特徴とする。
【００１９】
請求項４の発明は、請求項３の発明に係る通信システムにおいて、前記決定手段は、前記第１の管理対象デバイスの数が所定の上限数以下であることを条件に、前記第１の管理対象デバイスと前記第２の管理対象デバイスとの一部重複を許容しつつ前記２以上のデバイスから前記第２の管理対象デバイスの一部を少なくとも除外することによって、前記第１の管理対象デバイスを決定することを特徴とする。
【００２０】
請求項５の発明は、請求項１ないし請求項４のいずれかの発明に係る通信システムにおいて、前記決定手段は、前記管理デバイス情報に含まれるデバイスであって前記デバイス検索処理によって検索されなかったデバイスを前記第２の通信中継装置による管理対象デバイスから削除すべき旨を前記第２の通信中継装置に通知することを特徴とする。
【００２１】
請求項６の発明は、請求項１ないし請求項５のいずれかの発明に係る通信システムにおいて、前記所定のＬＡＮの外部に設けられ、前記複数のデバイスのうちの特定のデバイスに対するアクセス要求を前記外部サーバから受け付ける管理サーバ、をさらに備え、前記第１の通信中継装置は、前記第１の管理対象デバイスの情報を前記管理サーバに送信し、前記管理サーバは、前記複数の通信中継装置のそれぞれの管理対象デバイスの登録情報であって前記第１の通信中継装置による管理対象デバイスの情報を含む登録情報を格納する格納手段と、前記特定のデバイスに対するアクセス要求が前記外部サーバから受け付けられると、前記特定のデバイスに対する通信を中継することが可能な通信中継装置を前記登録情報に基づき決定する中継装置決定手段と、前記中継装置決定手段によって決定された通信中継装置に対して、前記外部サーバとの間でトンネル接続を確立すべき旨のトンネル接続要求を送信する通信手段と、を有し、前記中継装置決定手段によって決定された通信中継装置は、前記トンネル接続要求に応じてトンネル接続を前記外部サーバとの間に確立し、前記トンネル接続を利用して前記外部サーバと前記特定のデバイスとの間の通信を中継することを特徴とする。
【００２２】
請求項７の発明は、請求項６の発明に係る通信システムにおいて、前記管理サーバの前記通信手段は、前記第１の通信中継装置との間に通信セッションを予め確立しておき、前記中継装置決定手段によって前記特定のデバイス向けの通信中継装置として前記第１の通信中継装置が決定される場合には、前記通信セッションを利用して、前記トンネル接続要求を前記第１の通信中継装置に送信することを特徴とする。
【００２３】
請求項８の発明は、請求項６または請求項７の発明に係る通信システムにおいて、前記第１の通信中継装置は、前記第１の通信中継装置と前記外部サーバとの通信を第１の通信プロトコルで実行し、前記第１の通信中継装置と前記特定のデバイスとの通信を第２の通信プロトコルで実行し、前記外部サーバから前記特定のデバイス宛の第１のデータを受信する場合には、前記第１の通信プロトコルから前記第２の通信プロトコルへの変換に伴って前記第１のデータを第２のデータに変換して前記特定のデバイスに送信することを特徴とする。
【００２４】
請求項９の発明は、請求項６ないし請求項８のいずれかの発明に係る通信システムにおいて、前記取得手段は、前記管理デバイス情報の送信要求を前記管理サーバに送信し、前記送信要求に応じて前記管理サーバから送信されてきた情報を受信することによって、前記管理デバイス情報を取得することを特徴とする。
【００２５】
請求項１０の発明は、請求項６ないし請求項９のいずれかの発明に係る通信システムにおいて、前記外部サーバと前記管理サーバとは同一の装置内に設けられることを特徴とする。
【００２６】
請求項１１の発明は、請求項１ないし請求項８のいずれかの発明に係る通信システムにおいて、前記取得手段は、前記管理デバイス情報の送信要求を前記第２の通信中継装置に送信し、前記送信要求に応じて前記第２の通信中継装置から送信されてきた情報を受信することによって、前記管理デバイス情報を取得することを特徴とする。
【００２７】
請求項１２の発明は、所定のＬＡＮの外部に設けられた外部サーバと前記所定のＬＡＮの内部に設けられた複数のデバイスとの間の通信を中継する複数の通信中継装置のうちの一の通信中継装置であって、前記所定のＬＡＮ内のデバイスを検索するデバイス検索処理を実行する検索手段と、第２の管理対象デバイスの情報を取得する取得手段と、前記第２の管理対象デバイスの情報に基づき第１の管理対象デバイスを決定する決定手段と、を有し、前記第１の管理対象デバイスは、前記外部サーバとの通信に関する通信中継処理が、前記一の通信中継装置である第１の通信中継装置によって管理されるデバイスであり、前記第２の管理対象デバイスは、前記外部サーバとの通信に関する通信中継処理が、前記所定のＬＡＮの内部に設けられた前記複数の通信中継装置のうちの前記一の通信中継装置とは別の通信中継装置である第２の通信中継装置によって管理されるデバイスであり、前記決定手段は、前記デバイス検索処理によって検索された２以上のデバイスと前記第２の管理対象デバイスの情報である管理デバイス情報とに基づいて、前記２以上のデバイスから前記第２の管理対象デバイスの少なくとも一部を除外することにより、前記第１の管理対象デバイスと前記第２の管理対象デバイスとの少なくとも一部の重複を排除した上で、前記第１の管理対象デバイスを決定することを特徴とする。
【００２８】
請求項１３の発明は、請求項１２の発明に係る通信中継装置において、前記決定手段は、前記２以上のデバイスから前記第２の管理対象デバイスの全てを少なくとも除外して、前記第１の管理対象デバイスを決定することを特徴とする。
【００２９】
請求項１４の発明は、請求項１２の発明に係る通信中継装置において、前記決定手段は、前記２以上のデバイスから前記第２の管理対象デバイスの一部を少なくとも除外して、前記第１の管理対象デバイスを決定することを特徴とする。
【００３０】
請求項１５の発明は、請求項１４の発明に係る通信中継装置において、前記決定手段は、前記第１の管理対象デバイスの数が所定の上限数以下であることを条件に、前記第１の管理対象デバイスと前記第２の管理対象デバイスとの一部重複を許容しつつ前記２以上のデバイスから前記第２の管理対象デバイスの一部を少なくとも除外することによって、前記第１の管理対象デバイスを決定することを特徴とする。
【００３１】
請求項１６の発明は、請求項１２ないし請求項１５のいずれかの発明に係る通信中継装置において、前記決定手段は、前記管理デバイス情報に含まれるデバイスであって前記デバイス検索処理によって検索されなかったデバイスを前記第２の通信中継装置による管理対象デバイスから削除すべき旨を前記第２の通信中継装置に通知することを特徴とする。
【００３２】
請求項１７の発明は、請求項１２ないし請求項１６のいずれかの発明に係る通信中継装置において、前記取得手段は、前記管理デバイス情報の送信要求を前記第２の通信中継装置に送信し、前記送信要求に応じて前記第２の通信中継装置から送信されてきた情報を受信することによって、前記管理デバイス情報を取得することを特徴とする。
【００３３】
請求項１８の発明は、請求項１２ないし請求項１６のいずれかの発明に係る通信中継装置において、前記取得手段は、前記所定のＬＡＮの外部に設けられる管理サーバに対して前記管理デバイス情報の送信要求を送信し、前記送信要求に応じて前記管理サーバから送信されてきた情報を受信することによって、前記管理デバイス情報を取得することを特徴とする。
【００３４】
請求項１９の発明は、請求項１２ないし請求項１８のいずれかの発明に係る通信中継装置において、前記第１の通信中継装置は、画像形成装置であることを特徴とする。
【００３５】
請求項２０の発明は、所定のＬＡＮの外部に設けられた外部サーバと前記所定のＬＡＮの内部に設けられた複数のデバイスとの間の通信を中継する複数の通信中継装置のうちの一の通信中継装置に内蔵されたコンピュータに、ａ）前記所定のＬＡＮ内のデバイスを検索するデバイス検索処理を実行するステップと、ｂ）第２の管理対象デバイスの情報を取得するステップと、ｃ）前記第２の管理対象デバイスの情報に基づき第１の管理対象デバイスを決定するステップと、を実行させるためのプログラムであって、前記第１の管理対象デバイスは、前記外部サーバとの通信に関する通信中継処理が、前記一の通信中継装置である第１の通信中継装置によって管理されるデバイスであり、前記第２の管理対象デバイスは、前記外部サーバとの通信に関する通信中継処理が、前記所定のＬＡＮの内部に設けられた前記複数の通信中継装置のうちの前記一の通信中継装置とは別の通信中継装置である第２の通信中継装置によって管理されるデバイスであり、前記ステップｃ）においては、前記ステップａ）の前記デバイス検索処理によって検索された２以上のデバイスと前記ステップｂ）にて取得された前記情報である管理デバイス情報とに基づいて、前記２以上のデバイスから前記第２の管理対象デバイスの少なくとも一部を除外することにより、前記第１の管理対象デバイスと前記第２の管理対象デバイスとの少なくとも一部の重複を排除した上で、前記第１の管理対象デバイスが決定されることを特徴とする。
【発明の効果】
【００３６】
請求項１ないし請求項２０に記載の発明によれば、２以上のデバイスから第２の管理対象デバイスの少なくとも一部が除外され、第１の管理対象デバイスと第２の管理対象デバイスとの少なくとも一部の重複が排除された上で、第１の管理対象デバイスが決定されるので、複数の通信中継装置によって複数のデバイスをより効率的に管理することが可能である。
【００３７】
特に、請求項２に記載の発明によれば、２以上のデバイスから第２の管理対象デバイスの全てが少なくとも除外されて第１の管理対象デバイスが決定されるので、第１の管理対象デバイスと第２の管理対象デバイスとの重複が完全に排除され、非常に効率的な管理を行うことが可能である。
【００３８】
また特に、請求項４に記載の発明によれば、第１の管理対象デバイスの数が所定の上限数を超えないようにして第１の通信中継装置の動作の安定化を図りつつ、第１の管理対象デバイスと第２の管理対象デバイスとの一部重複を許容して一定程度の冗長性を確保するような比較的柔軟な管理を行うことが可能である。
【図面の簡単な説明】
【００３９】
【図１】第１実施形態に係る通信システムの概略構成を示す図である。
【図２】ＭＦＰの構成を示す概略図である。
【図３】各装置の概略構成を示す図である。
【図４】ゲートウエイの動作を示すフローチャートである。
【図５】図４の一部の動作の詳細を示すフローチャートである。
【図６】通信システムにおける動作を示す概念図である。
【図７】或るゲートウエイのデバイスリストの生成過程を示す図である。
【図８】他のゲートウエイのデバイスリストを示す図である。
【図９】第２実施形態に係るゲートウエイの動作を示すフローチャートである。
【図１０】図９の一部の動作の詳細を示すフローチャートである。
【図１１】第２実施形態におけるデバイスリストの生成過程を示す図である。
【図１２】他のデバイスリストの生成過程を示す図である。
【図１３】第３実施形態に係るゲートウエイの動作を示すフローチャートである。
【図１４】図１３の一部の動作の詳細を示すフローチャートである。
【図１５】他のゲートウエイのデバイスリストが変更される様子を示す図である。
【図１６】変形例に係るシステムの動作を示す概念図である。
【図１７】管理テーブルを示す図である。
【図１８】別の変形例に係るシステムの動作を示す概念図である。
【図１９】通信システムにおける動作を示す概念図である。
【図２０】通信システムにおける動作を示す概念図である。
【発明を実施するための形態】
【００４０】
以下、本発明の実施形態を図面に基づいて説明する。
【００４１】
＜１．第１実施形態＞
＜１−１．システム構成概要＞
図１は、本発明の実施形態に係る通信システム１の概略構成を示す図である。図１に示すように、通信システム１は、複数のデバイス１０（１０ａ，１０ｂ，１０ｃ，...）と、複数のゲートウエイ３０（３０ａ，３０ｂ）とを備える。また、通信システム１は、管理サーバコンピュータ（以下、単に管理サーバとも称する）５０と、クラウドサーバコンピュータ（以下、単にクラウドサーバとも称する）７０と、クライアントコンピュータ（以下、単にクライアントとも称する）９０とをさらに備える。
【００４２】
各要素１０，３０，５０，７０，９０は、ネットワーク１０８を介して互いに接続されており、ネットワーク通信を実行することが可能である。なお、ネットワーク１０８は、ＬＡＮ（ローカルエリアネットワーク）、ＷＡＮ（ワイドエリアネットワーク）、インターネットなどによって構成される。また、ネットワーク１０８への接続形態は、有線接続であってもよく或いは無線接続であってもよい。
【００４３】
複数のデバイス１０および複数のゲートウエイ３０は、企業内等に構築された或るＬＡＮ１０７の内部に設けられている。一方、管理サーバ５０、クラウドサーバ７０およびクライアント９０は、ＬＡＮ１０７の外部に設けられている。なお、クライアント９０は、ＬＡＮ１０７の内部に設けられていてもよい。
【００４４】
ここでは、デバイス１０として、マルチ・ファンクション・ペリフェラル（Multi-Functional Peripheral）（ＭＦＰとも略称する）を例示する。ＭＦＰは、画像形成装置あるいは通信装置などとも称される。
【００４５】
また、ゲートウエイ３０は、ここではデバイス１０としてのＭＦＰとは別のＭＦＰに構築される。具体的には、ハードウエアとしてのＭＦＰ内に組み込まれたソフトウエア（プログラム）を実行することにより、ゲートウエイ３０が実現される。
【００４６】
一方、管理サーバ５０、クラウドサーバ７０およびクライアント９０は、いわゆるパーソナルコンピュータ等を用いて構築される。
【００４７】
この通信システム１においては、たとえば、クライアント９０からクラウドサーバ７０へと送出された印刷指令が、管理サーバ５０およびゲートウエイ３０を経由してデバイス１０へと送信され、デバイス（ＭＦＰ）１０において印刷出力が行われる。
【００４８】
複数のゲートウエイ３０は、複数のデバイス１０とクラウドサーバ７０との通信を中継する機能を有しており、各ゲートウエイ３０は、通信中継装置とも称される。
【００４９】
管理サーバ５０は、クラウドサーバ７０と複数のゲートウエイ３０との通信等を管理する装置である。管理サーバ５０は、複数のデバイス１０のうちの特定のデバイスに対するアクセス要求をクラウドサーバ７０から受け付けるとともに、当該アクセス要求に応じて、複数のゲートウエイ３０のいずれかに対してクラウドサーバ７０とのトンネル接続要求を送信する。
【００５０】
＜１−２．ＭＦＰの構成概要＞
図２は、ＭＦＰの構成を示す概略図である。ＭＦＰは、スキャナ機能、プリンタ機能、コピー機能およびデータ通信機能などを備える装置（複合機とも称する）である。
【００５１】
ＭＦＰは、印刷出力処理（プリント処理）および画像読取処理（スキャン処理）等を行うことが可能な画像形成装置である。この実施形態では、ＬＡＮ１０７内に複数のＭＦＰ２００（２０１〜２０６）が設けられている。また、当該複数のＭＦＰ２０１〜２０６のうちの一部のＭＦＰ２０１，２０２は、ゲートウエイ３０としても動作する。
【００５２】
図２に示すように、ＭＦＰは、画像読取部２、印刷出力部３、通信部４、格納部５、入出力部６およびコントローラ９等を備えており、これらの各部を複合的に動作させることによって、各種の機能を実現する。
【００５３】
画像読取部２は、ＭＦＰの所定の位置に載置された原稿を光学的に読み取って、当該原稿の画像データ（原稿画像とも称する）を生成する処理部である。
【００５４】
印刷出力部３は、対象画像に関する画像データに基づいて紙などの各種の媒体に画像を印刷出力する出力部である。
【００５５】
通信部４は、公衆回線等を介したファクシミリ通信を行うことが可能な処理部である。さらに、通信部４は、ネットワーク１０８を介したネットワーク通信が可能である。このネットワーク通信では、ＴＣＰ／ＩＰ（Transmission Control Protocol / Internet Protocol）およびＦＴＰ（File Transfer Protocol）等の各種のプロトコルが利用され、当該ネットワーク通信を利用することによって、ＭＦＰは、所望の相手先（管理サーバ５０およびクラウドサーバ７０等）との間で各種のデータを授受することが可能である。
【００５６】
詳細には、ゲートウエイ３０として動作するＭＦＰの通信部４は、ゲートウエイ３０と管理サーバ５０との間に確立されたメッセージセッション（後述）を利用して、管理サーバ５０と通信すること（特に管理サーバ５０からのデータを受信すること）ができる。また、デバイス１０として動作するＭＦＰの通信部４は、ゲートウエイ３０とクラウドサーバ７０との間に確立されたトンネル接続（後述）を利用して、当該ゲートウエイ３０を経由してクラウドサーバ７０と通信すること（特にクラウドサーバ７０からのデータを受信すること）もできる。なお、通信部４は、他の装置に対してデータ等を送信する送信部と、他の装置からデータ等を受信する受信部とを有する。
【００５７】
格納部５は、ハードディスクドライブ（ＨＤＤ）および不揮発性メモリ等の格納装置で構成される。
【００５８】
入出力部６は、ＭＦＰに対する入力を受け付ける操作入力部６ａと、各種情報の表示出力を行う表示部６ｂとを備えている。なお、入出力部６は、操作部とも称される。
【００５９】
コントローラ９は、ＭＦＰを統括的に制御する制御部であり、ＣＰＵと、各種の半導体メモリ（ＲＡＭおよびＲＯＭ等）とを備えて構成される。
【００６０】
コントローラ９は、ＣＰＵにおいて、ＲＯＭ（例えば、ＥＥＰＲＯＭ等）内に格納されている所定のソフトウエアプログラム（単にプログラムとも称する）を実行することによって、各種の処理部（画像形成動作等を制御する動作制御部１６、および後述するゲートウエイ処理部１８等）を実現する。
【００６１】
たとえば、ゲートウエイ３０として動作するＭＦＰのコントローラ９は、ゲートウエイ処理部１８（通信制御部４１、管理情報取得部４５および管理情報生成部４６（図３参照（後述））等を含む）を実現する。また、デバイス１０のみとして動作するＭＦＰのコントローラ９も同様の処理部を有していても良いが、ゲートウエイ３０として機能するための処理部を有していなくてもよい。なお、当該プログラムは、たとえば各種の可搬性の記録媒体（ＵＳＢメモリ等）に記録され、当該記録媒体を介してＭＦＰにインストールされればよい。あるいは当該プログラムは、ネットワーク１０８等を介してダウンロードされてＭＦＰにインストールされるようにしてもよい。
【００６２】
＜１−３．各要素の構成概要＞
図３は、各要素３０，５０，７０等の概略構成を示す図である。図３を参照して、これらの各要素について説明する。
【００６３】
＜クラウドサーバ７０＞
クラウドサーバ７０は、通信制御部８１を備える。通信制御部８１は、管理サーバ５０との通信を実行する。また、通信制御部８１は、各ゲートウエイ３０との通信をトンネル通信（後述）を用いて実行する。
【００６４】
＜管理サーバ５０＞
管理サーバ５０は、通信制御部６１、デバイス情報管理部６５および解析部６７などの各種の処理部を備える。
【００６５】
これら各種の処理部は、管理サーバ５０のＣＰＵにおいて、格納部（ＨＤＤ等）に格納されている所定のソフトウエアプログラム（単にプログラムとも称する）を実行することによって実現される。なお、当該プログラムは、たとえば各種の可搬性の記録媒体（ＤＶＤ−ＲＯＭ等）に記録され、当該記録媒体を介して管理サーバ５０にインストールされればよい。あるいは当該プログラムは、ネットワーク１０８等を介してダウンロードされて管理サーバ５０にインストールされるようにしてもよい。
【００６６】
通信制御部６１は、通信部５４（通信用ハードウエア）と協働して、各種の通信動作を制御する。たとえば、通信制御部６１は、クラウドサーバ７０との通信を実行し、クラウドサーバ７０からのアクセス要求を受信する。また、通信制御部６１は、各ゲートウエイ３０との通信をメッセージセッション（後述）を用いて実行する。なお、通信部５４は、他の装置に対してデータ等を送信する送信部と、他の装置からデータ等を受信する受信部とを有する。
【００６７】
デバイス情報管理部６５は、管理サーバ５０による管理対象の複数のゲートウエイ３０の情報（管理ゲートウエイ情報）、および当該複数のゲートウエイ３０からそれぞれ受信した管理デバイス情報（各ゲートウエイ３０による管理対象のデバイスの情報）等を管理する処理部である。これらの情報（管理ゲートウエイ情報および管理デバイス情報）は、管理サーバ５０の格納部（ＨＤＤ（ハードディスクドライブ）等）５５内に格納された管理テーブル６９に記述されている。管理テーブル６９においては、管理ゲートウエイ情報（各ゲートウエイ３０の識別情報（たとえばＩＰアドレス）等）、および各ゲートウエイ３０と各ゲートウエイ３０の配下のデバイス（管理対象デバイス）との関係を示す管理デバイス情報等が記述されている。
【００６８】
解析部６７は、クラウドサーバ７０から受信したアクセス要求の内容を解析するとともに、当該アクセス要求に応じた接続先デバイス１０に対する通信を中継することが可能なゲートウエイ３０を、管理テーブル６９に基づき決定する処理部である。解析部６７は、利用すべきゲートウエイ３０（通信中継装置）を決定する中継装置決定部とも表現される。
【００６９】
また、通信制御部６１および通信部５４等は、解析部（中継装置決定部）６７によって決定されたゲートウエイ３０（通信中継装置）に対して、クラウドサーバ７０との間でトンネル接続を確立すべき旨のトンネル接続要求を送信する。
【００７０】
なお、解析部（中継装置決定部）６７によって決定されたゲートウエイ３０（通信中継装置）は、当該トンネル接続要求を受信すると、当該トンネル接続要求に応じてトンネル接続をクラウドサーバ７０との間に確立する。そして、当該ゲートウエイ３０は、当該トンネル接続を利用して、クラウドサーバ７０と接続先デバイス１０との間の通信を中継する。
【００７１】
＜ゲートウエイ３０＞
各ゲートウエイ３０は、それぞれ、通信制御部４１、管理情報取得部４５および管理情報生成部４６などの各種の処理部を備える。これら各種の処理部は、ゲートウエイ３０（ＭＦＰ）のコントローラ９において、所定のプログラムを実行することによって実現される。
【００７２】
通信制御部４１は、他の装置との通信を制御する処理部である。通信制御部４１は、メッセージセッション通信制御部４２とトンネル通信制御部４３とＬＡＮ内通信制御部４４とを有する。
【００７３】
ＬＡＮ内通信制御部４４は、ＬＡＮ内の各種装置との通信を実行する処理部である。ＬＡＮ内通信制御部４４は、たとえば、デバイス検索用のブロードキャストパケットを同一ＬＡＮ内の各装置に対して送信（一斉同報）すること等によって、ＬＡＮ１０７内のデバイスを検索するデバイス検索処理を実行する。
【００７４】
一方、メッセージセッション通信制御部４２とトンネル通信制御部４３とは、それぞれ、ＬＡＮ外の各種装置との通信を実行する処理部である。
【００７５】
メッセージセッション通信制御部４２は、管理サーバ５０との通信をメッセージセッション（後述）を用いて実行する処理部である。メッセージセッション通信制御部４２は、管理サーバ５０との間にメッセージセッション（後述）を確立して、管理サーバ５０との通信を実行する。メッセージセッション通信制御部４２は、対管理サーバ通信部（あるいは管理サーバ通信部）とも称される。
【００７６】
トンネル通信制御部４３は、クラウドサーバ７０との通信をトンネル通信（後述）を用いて実行する処理部である。トンネル通信制御部４３は、クラウドサーバ７０との間にトンネル通信を確立して、クラウドサーバ７０と特定のデバイス１０との通信を中継する。トンネル通信制御部４３は、対クラウドサーバ通信部（あるいはクラウドサーバ通信部）とも称される。
【００７７】
後述するように、メッセージセッションを利用することによって、ＬＡＮ１０７の外部の装置（管理サーバ５０）からＬＡＮ１０７の内部の装置（ゲートウエイ３０）に対して、データを送信することが可能である。また、トンネル接続を利用することによって、ＬＡＮ１０７の外部の装置（クラウドサーバ７０）からＬＡＮ１０７の内部の装置（ゲートウエイ３０およびデバイス１０）に対して、データを送信することが可能である。
【００７８】
また、管理情報取得部４５は、同一ＬＡＮ内に存在するデバイスの情報（ひいてはそのゲートウエイ３０の配下に存在するデバイス１０の情報）を収集する処理部である。管理情報取得部４５は、他のゲートウエイ３０の配下に存在するデバイス１０（当該他のゲートウエイ３０による管理対象デバイス（通信中継先デバイス））の情報（管理デバイス情報）をも収集する。
【００７９】
さらに、管理情報生成部４６は、管理情報取得部４５によって取得された管理デバイス情報等に基づいて、本ゲートウエイ３０の管理下に配置するデバイス１０（本ゲートウエイ３０による管理対象デバイス）を決定する処理部である。
【００８０】
＜１−４．動作概要＞
この実施形態においても、図１９および図２０に示すような上述の動作が行われる。具体的には、ＬＡＮ外部の管理サーバ５０とＬＡＮ内部のゲートウエイ３０との間に（ファイアフォールの例外としての）メッセージセッションを確立しておき、ＬＡＮ外部のクラウドサーバ７０から、当該管理サーバ５０および当該ゲートウエイ３０を経由して、ＬＡＮ内部の画像形成装置にアクセスすることが行われ得る。以下では、まず、このような動作について説明する。
【００８１】
上述（図１９参照）のように、ゲートウエイ３０は、その起動時等において、予め指定された管理サーバ５０との間に通信セッション（詳細には、メッセージセッション）（５１１，５１２）を予め確立しておく。その後、図２０に示すように、クラウドサーバ７０から特定のデバイス１０へのアクセス要求発生時において、管理サーバ５０とゲートウエイ３０（３０ａ）との間の当該メッセージセッション（常時接続通信セッション）（５１１）を利用することにより、管理サーバ５０から当該ゲートウエイ３０ａにトンネル接続要求が送信される。当該ゲートウエイ３０ａは、当該トンネル接続要求に基づき、クラウドサーバ７０との間にトンネル通信を確立する。そして、当該トンネル通信を用いてクラウドサーバ７０から（ゲートウエイ３０経由での）デバイス（画像形成装置）１０へのアクセスが行われる。
【００８２】
より詳細には、まず、各ゲートウエイ３０は、それぞれの起動時等において、予め指定された管理サーバ５０に対してメッセージセッションの接続要求（確立要求）を送信する。これに応じて、管理サーバ５０が当該確立要求を承認することによって、各ゲートウエイ３０と管理サーバ５０との間にメッセージセッション（５１１，５２１）がそれぞれ確立される。換言すれば、ＬＡＮ１０７の内部のゲートウエイ３０からＬＡＮ１０７の外部の管理サーバ５０へのアクセスに応じて、メッセージセッションが確立される。なお、このようなメッセージセッション（通信セッション）としては、たとえば、「XMPP:eXtensible Messaging and Presence Protocol」）などのプロトコルを用いたものが例示される。また、後述するように、各ゲートウエイ３０は、各ゲートウエイ３０の管理下のデバイス（管理対象デバイス）の情報（デバイスリスト３００）等を管理サーバ５０へ送信しておく。また、管理サーバ５０は、各ゲートウエイ３０による管理対象デバイスの情報（各デバイスリスト３００に記述された情報）を含む登録情報（管理テーブル６９）を、管理サーバ５０の格納部５５（図３）に格納する。
【００８３】
そして、管理サーバ５０とゲートウエイ３０との間の当該メッセージセッションを利用して、クラウドサーバ７０からデバイス（画像形成装置）１０へのアクセスが行われ得る。
【００８４】
詳細には、クラウドサーバ７０が特定のデバイス１０ｂに対するアクセス（通信）を行いたい場合には、まず特定のデバイス１０ｂ向けのアクセス要求がクラウドサーバ７０から管理サーバ５０に送信される。
【００８５】
管理サーバ５０は、特定のデバイス１０に対応するゲートウエイ３０（特定のデバイス１０ｂをその配下に有する特定のゲートウエイ３０ａ等）を管理情報（管理テーブル６９）に基づいて特定する。換言すれば、アクセスすべきゲートウエイ３０が管理テーブル６９に基づいて特定される。なお、これに限定されず、たとえば、アクセスすべきゲートウエイ３０は、アクセスすべき特定のデバイス１０等とともにユーザ等によって予め指定されていてもよい。そして、アクセスすべきゲートウエイ３０は、当該指定に基づいて特定されるようにしてもよい。
【００８６】
また、管理サーバ５０は、特定されたゲートウエイ３０に対して、トンネル接続要求を送信する。
【００８７】
たとえば、まず、特定のデバイス１０ｄに対するアクセス要求がクラウドサーバ７０から管理サーバ５０に送信された場合において、管理サーバ５０は、特定のデバイス１０ｄに対応するゲートウエイ（３０ａ）を管理情報（管理テーブル６９）に基づいて特定する。なお、特定のデバイス１０ｄに対応するゲートウエイが複数存在する場合には、当該複数のゲートウエイのうちの適宜の一方が選択されればよい。
【００８８】
つぎに、管理サーバ５０と（特定のデバイス１０ｄに対応する）特定のゲートウエイ３０ａとの間にメッセージセッション５１１が確立されているときには、管理サーバ５０は、当該特定されたゲートウエイ３０ａに対してトンネル接続要求を当該メッセージセッション５１１を介して送信する。「トンネル接続要求」は、クラウドサーバ７０との間にトンネル接続を確立すべき旨の接続要求（確立要求）である。このように、管理サーバ５０と特定のゲートウエイ３０ａとの間にメッセージセッション５１１が確立されているときには、当該トンネル接続要求は、管理サーバ５０とゲートウエイ３０ａとの間の当該メッセージセッション５１１を利用して送信される。
【００８９】
トンネル接続要求を受信したゲートウエイ３０は、当該トンネル接続要求に応答して、ＨＴＴＰ（Hypertext Transfer Protocol）セッション（より詳細には、ＨＴＴＰＳ（Hypertext Transfer Protocol Secure）セッション）の確立要求をクラウドサーバ７０に対して送信する。そして、クラウドサーバ７０が当該確立要求を承認することによって、当該ゲートウエイ３０とクラウドサーバ７０との間に当該ＨＴＴＰセッションによるトンネル接続（トンネル通信）が確立される。換言すれば、ＬＡＮ１０７の内部のゲートウエイ３０からＬＡＮ１０７の外部のクラウドサーバ７０へのアクセスに応じて、トンネル接続（トンネル通信）が確立される。そして、このＨＴＴＰセッションによるトンネル通信を用いて、クラウドサーバ７０は、ゲートウエイ３０を経由してデバイス１０（たとえば１０ｄ）へと各種のデータを送信することが可能である。このようなＨＴＴＰ（ＨＴＴＰＳ）セッションの確立要求は、トンネル接続の確立要求とも称される。なお、図２０においては、砂地ハッチング付きの細長い矩形によって「トンネル通信」が模式的に示されている。
【００９０】
ところで、上述のように、ＬＡＮ内に複数のゲートウエイが存在する場合においては、複数のゲートウエイのそれぞれの管理対象デバイスが互いに重複することが生じ得る。
【００９１】
たとえば、一のゲートウエイは４台のデバイス２０３，２０４，２０５，２０６を管理対象とし、他のゲートウエイも同じ４台のデバイス２０３，２０４，２０５，２０６を管理対象とすることがある。この場合、当該２つのゲートウエイは、全く同じ４台のデバイスをそれぞれ管理対象としており、大きな重複が生じている。すなわち、大きな無駄が発生している。
【００９２】
そこで、この実施形態においては、このような重複を回避し、複数のゲートウエイによって複数のデバイスをより効率的に管理することが可能な技術を例示する。具体的には、ゲートウエイ３０ａは、同一ＬＡＮ内の２以上のデバイスの中から、他のゲートウエイ３０ｂによる管理対象デバイスの全てを少なくとも除外して、当該ゲートウエイ３０ａの管理対象デバイスを決定する。これによれば、複数のゲートウエイ３０の相互間における管理対象デバイスの重複を排除して、ゲートウエイ３０ａの管理対象デバイスを適切に決定することが可能である。
【００９３】
＜１−５．管理対象デバイス決定動作＞
図４および図５は、ゲートウエイ３０（詳細には３０ａ）の動作を示すフローチャートである。また、図６は、本システム１における動作を示す概念図である。以下、これらの図を参照しつつ、ゲートウエイ３０ａの管理対象デバイスの決定動作について詳細に説明する。この管理対象デバイス決定動作（図４〜図６等参照）は、或る時刻の到来に応じて実行されればよい。たとえば、毎日、９時００分、１３時００分、１７時００分の各時刻に当該動作がそれぞれ実行されればよい。
【００９４】
まず、ステップＳ１１において、ゲートウエイ３０ａは、デバイス検索用のブロードキャストパケットを同一ＬＡＮ内の各装置に対して送信（一斉同報）する。ゲートウエイ３０ａは、各装置からの返信に基づいて同一ＬＡＮ内の各装置を検出する。ゲートウエイ３０ａは、検出された装置（デバイス）をデバイスリスト３０１にリストアップする。図７の最上段には、この時点におけるデバイスリスト３０１の一例が示されている。図７の最上段のデバイスリストにおいては、同一ＬＡＮ１０７内に存在する複数のデバイスのうち、自装置２０１を除く２以上のデバイス（ここでは合計５台のデバイス（ＭＦＰ）２０２〜２０６）がリストアップされている。このように、デバイス検索処理によってゲートウエイ３０ａの管理対象デバイスの候補デバイスが検索される。
【００９５】
ステップＳ１２においては、検出されたデバイスが１以上であるか否か（換言すれば、１つ以上のデバイスが検出されたか否か）が判定される。デバイスが検出されない場合には、図４の本処理は終了する。一方、少なくとも１つのデバイスが検出される場合には、ステップＳ１３に進む。
【００９６】
ステップＳ１３においては、ゲートウエイ３０ａは、他のゲートウエイの情報を自装置（３０ａ）の格納部５から取得する。なお、この実施形態においては、同一ＬＡＮ内に存在する他のゲートウエイの情報が管理ユーザ等の手動登録操作等によって予めゲートウエイ３０ａの格納部５に格納されているものとする。ここでは、他のゲートウエイ３０ｂ（ＭＦＰ２０２）が存在する旨の情報が格納部５に格納されているものとする。ステップＳ１４において、ゲートウエイ３０ａは、ステップＳ１３で取得された情報に基づき、他のゲートウエイが同一ＬＡＮ内に存在するか否かを判定する。他のゲートウエイが同一ＬＡＮ内に存在すると判定される場合には、ステップＳ１５に進む。一方、他のゲートウエイが同一ＬＡＮ内に存在しないと判定される場合には、ステップＳ２１に進み、その時点でのデバイスリスト３０１がゲートウエイ３０ａから管理サーバ５０に送信される。
【００９７】
たとえば、他のゲートウエイ３０ｂ（ＭＦＰ２０２）が存在する旨の情報が格納部５から取得されている場合には、当該他のゲートウエイ３０ｂが同一ＬＡＮ内に存在する旨が判定され、ステップＳ１５に進む。
【００９８】
他のゲートウエイ３０ｂ（２０２）は、ゲートウエイ３０ａの管理下のデバイスではない。それ故、ステップＳ１５において、ゲートウエイ３０ａは、ステップＳ１１のデバイス検索処理にて検索（検出）された２以上のデバイス（ここでは５つのデバイス２０２〜２０６）のうち、まず、当該他のゲートウエイ３０ｂ（２０２）をデバイスリスト３０１から除外する。この結果、４つのデバイス２０３〜２０６がデバイスリスト３０１に残存する（図７の中段右側参照）。
【００９９】
次のステップＳ１６においては、ゲートウエイ３０ａは、ゲートウエイ３０ｂに対して、当該ゲートウエイ３０ｂ（２０２）のデバイスリスト３０２（ゲートウエイ３０ｂの管理対象デバイスがリストアップされた管理デバイス情報）の送信要求を送信する。ゲートウエイ３０ｂは、当該送信要求に応じて当該デバイスリスト３０２（図８参照）を返信する。ゲートウエイ３０ａは、ステップＳ１７において、他のゲートウエイ３０ｂから返信されてきた３０２を受信する。
【０１００】
図８は、ゲートウエイ３０ｂのデバイスリスト３０２の一例を示す図である。図８のデバイスリスト３０２においては、３台のデバイス２０３，２０４，２０５がゲートウエイ３０ｂの管理対象デバイスである旨が規定されている。
【０１０１】
次のステップＳ３０においては、このようなデバイスリスト３０２に基づき、ゲートウエイ３０ａの管理対象デバイスとゲートウエイ３０ｂの管理対象デバイスとの重複を排除する処理が実行される。より詳細には、デバイスリスト３０１に残存していた４つのデバイス２０３〜２０６（図７の中段右側参照）の中から、デバイスリスト３０２に基づきゲートウエイ３０ｂ（２０２）の管理対象デバイスの全て（２０３，２０４，２０５）（図８参照）が除外されて、ゲートウエイ３０ａの管理対象デバイス（２０６）が決定される（図７最下段参照）。
【０１０２】
図５は、ステップＳ３０の詳細動作を示すフローチャートである。
【０１０３】
ステップＳ３１において、ゲートウエイ３０ａは、本ゲートウエイ３０ａ（２０１）のデバイスリスト３０１に残存している第ｉデバイス（ただし、ｉ＝１，...、ｎ）に着目する。なお、値ｎは、デバイスリスト３０１における残存デバイス数（図７中段では「４」）である。そして、ステップＳ３１とステップＳ３６との間のループ処理（ステップＳ３２〜Ｓ３５を含む）が、値ｉのインクリメントを伴いながら繰り返し実行される。
【０１０４】
また、ステップＳ３２において、ゲートウエイ３０ａは、他のゲートウエイ３０ｂ（２０２）のデバイスリスト３０２内の第ｊデバイス（ただし、ｊ＝１，...、ｍ）に着目する。なお、値ｍは、デバイスリスト３０２に記載された管理対象デバイスの数（図７および図８では「３」）である。そして、ステップＳ３２とステップＳ３４との間のループ処理（ステップＳ３３を含む）が、値ｊのインクリメントを伴いながら繰り返し実行される。ステップＳ３３において、第ｉデバイスと第ｊデバイスとが同一デバイスであることが判定されると、ステップＳ３５に進む。ステップＳ３５においては、本ゲートウエイ３０ａ（２０１）のデバイスリスト３０１から、第ｉデバイスが除外され、ステップＳ３６に進む。たとえば、デバイスリスト３０１に残存している１番目のデバイス２０３が、デバイスリスト３０２の１番目のデバイス２０３と同一のデバイスであると判定され、デバイスリスト３０１から除外される。デバイス２０４，２０５についても同様である。
【０１０５】
このような処理によれば、ステップＳ３０の直前にデバイスリスト３０１に残存していた４つのデバイス２０３〜２０６（図７の中段右側参照）の中から、デバイスリスト３０２に基づきゲートウエイ３０ｂ（２０２）の管理対象デバイスの全て（２０３，２０４，２０５）（図８も参照）が除外される。そして、当該除外処理後にデバイスリスト３０１に残存しているデバイス２０６のみが、ゲートウエイ３０ａの管理対象デバイスとして決定される（図７の最下段参照）。
【０１０６】
その後、ステップＳ１４に戻る。他のゲートウエイ３０（３０ｂ以外）が未だ存在する場合には、ステップＳ１４〜Ｓ１７，Ｓ３０の処理がさらに実行される。一方、他のゲートウエイがもう存在しない場合には、ステップＳ２１に進む。ステップＳ２１では、ステップＳ３０での除外処理後のデバイスリスト（更新後のデバイスリスト）３０１が管理サーバ５０に送信される（ステップＳ２１）。また、管理サーバ５０は、更新後のデバイスリスト３０１に基づき管理テーブル６９を更新する。
【０１０７】
なお、その後、たとえば、デバイス２０６（１０ｄ）に対する印刷出力指令がクラウドサーバ７０を経由して付与される場合には、まず、クラウドサーバ７０から管理サーバ５０にデバイス２０６に対するアクセス指令が付与される。つぎに、管理サーバ５０は、管理テーブル６９を参照して、デバイス２０６を管理するゲートウエイ３０（３０ａ）を特定する。そして、管理サーバ５０は、管理サーバ５０とゲートウエイ３０ａとの間のメッセージセッション５１１を利用することにより、当該ゲートウエイ３０ａにトンネル接続要求を送信する。当該ゲートウエイ３０ａは、当該トンネル接続要求に基づき、クラウドサーバ７０との間にトンネル通信を確立する。そして、当該トンネル通信を用いてクラウドサーバ７０から（ゲートウエイ３０経由での）デバイス（画像形成装置）１０へのアクセスが行われる。具体的には、デバイス２０６に対する印刷出力指令がクラウドサーバ７０からデバイス１０（２０６）へと送出される。
【０１０８】
ここにおいて、クラウドサーバ７０とゲートウエイ３０ａとの間での通信プロトコルは、ゲートウエイ３０ａと特定デバイス１０との間での通信プロトコルと異なるプロトコルである。たとえば、上述のように、クラウドサーバ７０とゲートウエイ３０ａの間での通信プロトコルは、ＨＴＴＰ（詳細にはＨＴＴＰＳ）であり、ゲートウエイ３０ａとデバイス１０との間での通信プロトコルは、ＬＰＤ（Line Printer Daemon）プロトコルである。ゲートウエイ３０ａ（通信制御部４１等）は、クラウドサーバ７０から特定デバイス１０ｄ宛のデータを受信すると、或る通信プロトコル（ＨＴＴＰＳ）から別の通信プロトコル（ＬＰＤ）への変換を行うとともに、当該データ（第１のデータ）を別のデータ（第２のデータ）に変換して特定デバイス１０に送信する。より具体的には、ゲートウエイ３０ａは、或るプロトコル（ＨＴＰＰＳ）でクラウドサーバ７０から印刷出力用データ（ヘッダ部分よびボディ部分を含む）を受信すると、当該印刷出力用データからヘッダ部分を除去してボディ部分（印刷データ本体）を抽出する。このような抽出処理によって元のデータ（ヘッダ部分よびボディ部分を含むデータ）から新たなデータ（ヘッダ部分を含まず且つボディ部分（印刷データ本体）を含むデータ）への変換が行われる。さらに、ゲートウエイ３０ａは、当該印刷データ本体を、別の通信プロトコル（ＬＰＤ）での送信用データに変換して、特定デバイス１０（２０６）へと送信する。
【０１０９】
以上のような動作によれば、デバイスリスト３０２に基づいて、ゲートウエイ３０ａの管理対象デバイスとゲートウエイ３０ｂの管理対象デバイスとの少なくとも一部の重複を排除した上で、ゲートウエイ３０ａの管理対象デバイスが決定される。したがって、複数のゲートウエイによって複数のデバイスをより効率的に管理することが可能である。
【０１１０】
特に、上記においては、複数のデバイス２０３〜２０６のうち、ゲートウエイ３０ｂの管理対象デバイスの全て（２０３〜２０５）を除外して、ゲートウエイ３０ａの管理対象デバイスが決定されている。２つのゲートウエイ３０ａ，３０ｂの各管理対象デバイスの重複が完全に排除されるので、非常に効率的な管理を行うことが可能である。
【０１１１】
また特に、ゲートウエイ３０ａにおいて、比較的少数のデバイス（上記の例では４台のデバイス２０３〜２０６ではなく１台のデバイス２０６）のみを管理すればよいので、ゲートウエイ３０ａのリソースを有効に活用することが可能である。
【０１１２】
＜２．第２実施形態＞
第２実施形態は、第１実施形態の変形例である。以下では、第１実施形態との相違点を中心に説明する。
【０１１３】
上記第１実施形態においては、デバイスリスト３０１にリストアップされている複数のデバイス２０３〜２０６から、他のゲートウエイ３０ｂの管理対象デバイスの全て（２０３〜２０５）が除外されて、本ゲートウエイ３０ａの管理対象デバイス（２０６）が決定される。しかしながら、本発明はこれに限定されない。たとえば、デバイスリスト３０１から、ゲートウエイ３０ｂによる管理対象デバイス２０３〜２０５のうちの一部のみ（たとえば２０３のみ）が少なくとも削除（除外）されて、ゲートウエイ３０ａによる管理対象デバイスが決定されるようにしてもよい。このようにして２つのゲートウエイ３０ａ，３０ｂの管理対象デバイスの少なくとも一部の重複が回避されるようにしてもよい。
【０１１４】
また、上記第１実施形態においては、各ゲートウエイ３０において管理対象デバイスの上限値が設けられていないが、各ゲートウエイ３０において管理対象デバイスの上限値が設けられるようにしてもよい。さらには、当該上限値内にて可能な限り多数のデバイスが各ゲートウエイ３０によって管理されるようにしてもよい。
【０１１５】
第２実施形態においては、このような態様について説明する。
【０１１６】
図９および図１０は、ゲートウエイ３０（３０ａ）の動作を示すフローチャートである。以下、これらの図を参照しつつ、第２実施形態に係るゲートウエイ３０ａの管理対象デバイスの決定動作について詳細に説明する。
【０１１７】
まず、ステップＳ１１においては、第１実施形態と同様、ブロードキャストパケットの送信等に応じて、ＬＡＮ内に存在するデバイスが検出され、検出された装置（デバイス）がデバイスリスト３０１にリストアップされる。図１１の最上段には、この時点におけるデバイスリスト３０１の一例が示されている。図１１の最上段のデバイスリストにおいては、合計５台のデバイス（ＭＦＰ）２０２〜２０６がリストアップされている。
【０１１８】
ステップＳ１２ｂにおいては、検出されたデバイスの数が上限値Ｄmaxより大きいか否かが判定される。検出されたデバイスの数が上限値Ｄmax以下である場合には、図９の本処理は終了する。一方、検出されたデバイスの数が上限値Ｄmaxより大きい場合には、ステップＳ１３に進む。なお、上限値Ｄmaxは、ゲートウエイ３０ａが管理可能なデバイス数の最大値（たとえば、Ｄmax＝３）である。
【０１１９】
ステップＳ１３〜Ｓ１７，Ｓ２１（Ｓ２１ｂ）は、第１実施形態と同様である。たとえば、ステップＳ１５において、ゲートウエイ３０ａは、ステップＳ１１のデバイス検索処理にて検索（検出）された２以上のデバイス（ここでは５つのデバイス２０２〜２０６）のうち、まず、当該他のゲートウエイ３０ｂ（２０２）をデバイスリスト３０１から除外する。この結果、４つのデバイス２０３〜２０６が３０１に残存する（図１１の中段右側参照）。また、ステップＳ２１ｂにおいては、デバイスリスト３０１内に残存するデバイスの数が未だ上限値Ｄmaxより大きい場合、ランダム抽出処理等によって一部のデバイスを削除（除外）して当該残存デバイスの数を上限値Ｄmaxにまで低減する処理（調整処理）が行われる。そして、当該調整処理による低減後の数のデバイスが記述されたデバイスリスト３０１が、ゲートウエイ３０ａから管理サーバ５０に送信される。
【０１２０】
ステップＳ１７の次のステップＳ４０においては、ステップＳ１７で受信したデバイスリスト３０２（図８参照）に基づき、ゲートウエイ３０ａの管理対象デバイスとゲートウエイ３０ｂの管理対象デバイスとの一部の重複を排除する処理が実行される。より詳細には、デバイスリスト３０１における残余のデバイス（候補デバイス）の数が所定の上限数以下になるまで、ゲートウエイ３０ｂの管理対象デバイスをデバイスリスト３０１から１つずつ除外する動作が、繰り返し実行される。換言すれば、ゲートウエイ３０ａの管理対象デバイスの数が所定の上限数以下であることを条件に、ゲートウエイ３０ａの管理対象デバイスとゲートウエイ３０ｂの管理対象デバイスとの一部重複を許容しつつデバイスリスト３０１からゲートウエイ３０ｂの管理対象デバイスの一部が少なくとも除外される。このようにして、デバイスリスト３０１が更新され、ゲートウエイ３０ａの管理対象デバイスが決定される。
【０１２１】
たとえば、デバイスリスト３０１に残存していた４つのデバイス２０３〜２０６（図１１の中段右側参照）の中から、デバイスリスト３０２に基づきゲートウエイ３０ｂ（２０２）の管理対象デバイスの一部（２０３のみ）が除外されて、ゲートウエイ３０ａの管理対象デバイス（２０４〜２０６）が決定される（図１１の最下段参照）。
【０１２２】
図１０は、ステップＳ４０の詳細動作を示すフローチャートである。
【０１２３】
ステップＳ４１において、ゲートウエイ３０ａは、本ゲートウエイ３０ａ（２０１）のデバイスリスト３０１に残存している第ｉデバイス（ただし、ｉ＝１，...、ｎ）に着目する。そして、ステップＳ４１とステップＳ４７との間のループ処理（ステップＳ４２〜Ｓ４６を含む）が、値ｉのインクリメントを伴いながら繰り返し実行される。
【０１２４】
また、ステップＳ４２において、ゲートウエイ３０ａは、他のゲートウエイ３０ｂ（２０２）のデバイスリスト３０２内の第ｊデバイス（ただし、ｊ＝１，...、ｍ）に着目する。そして、ステップＳ４２とステップＳ４４との間のループ処理（ステップＳ４３を含む）が、値ｊのインクリメントを伴いながら繰り返し実行される。ステップＳ４３において、第ｉデバイスと第ｊデバイスとが同一デバイスであることが判定されると、ステップＳ４５に進む。
【０１２５】
ステップＳ４５においては、本ゲートウエイ３０ａ（２０１）のデバイスリスト３０１から、第ｉデバイスが除外され、ステップＳ４６に進む。たとえば、デバイスリスト３０１に残存している１番目のデバイス２０３（図１１の中段右側参照）が、デバイスリスト３０２の１番目のデバイス２０３（図１１の中段左側および図８参照）と同一デバイスであると判定され、デバイスリスト３０１から除外される。
【０１２６】
ステップＳ４６においては、デバイスリスト３０１内の管理対象デバイスの数（残存デバイス数）が上限値Ｄmax以下であるか否かが判定される。当該残存デバイス数が上限値Ｄmaxより大きい場合には、値ｉをインクリメントしてループ処理を継続する（再びステップＳ４１に戻る）。一方、当該残存デバイス数が上限値Ｄmax以下である場合には、デバイスリスト３０１に残存しているデバイスがゲートウエイ３０ａの管理対象デバイスとして決定され、ステップＳ４８に進む。ステップＳ４８では、ステップＳ４０での除外処理後のデバイスリスト（更新後のデバイスリスト）３０１が管理サーバ５０に送信される。また、管理サーバ５０は、更新後のデバイスリスト３０１に基づき管理テーブル６９を更新する。そして、図９および図１０の処理は終了する。
【０１２７】
このような処理においては、たとえば、ステップＳ４０の直前にデバイスリスト３０１に残存していた４つのデバイス２０３〜２０６（図１１の中段右側参照）の中から、デバイスリスト３０２にも存在するデバイスが１つずつ除外（削除）されていく。当該デバイスの削除処理は、デバイスリスト３０１内の残存デバイス数が所定の上限値Ｄmax以下になるまで繰り返される。換言すれば、デバイスリスト３０１内の残存デバイス数が所定の上限値Ｄmax以下であれば、複数のデバイスリスト３０１，３０２の相互間（複数のゲートウエイ３０ａ，３０ｂの相互間）での管理対象デバイスの重複は許容される。そして、当該除外処理後にデバイスリスト３０１に残存している３つのデバイス２０４，２０５，２０６が、ゲートウエイ３０ａの管理対象デバイスとして決定される（図１１の最下段参照）。
【０１２８】
以上のような動作によれば、デバイスリスト３０２に基づいて、デバイス検索処理（ステップＳ１１）によって検索された２以上のデバイスから、ゲートウエイ３０ｂの管理対象デバイスの一部を少なくとも除外することによって、ゲートウエイ３０ａの管理対象デバイスが決定される。換言すれば、ゲートウエイ３０ａの管理対象デバイスとゲートウエイ３０ｂの管理対象デバイスとの少なくとも一部の重複を排除した上で、ゲートウエイ３０ａの管理対象デバイスが決定される。より詳細には、４つのデバイス２０３〜２０６のうち、ゲートウエイ３０ｂの管理対象デバイスの一部（２０３）を除外して、ゲートウエイ３０ａの管理対象デバイス（２０４，２０５，２０６）が決定される。したがって、複数のゲートウエイによって複数のデバイスをより効率的に管理することが可能である。
【０１２９】
また、上記第２実施形態においては、各ゲートウエイ３０において管理対象デバイスの上限値が設けられているので、各ゲートウエイ３０のリソース（特にメモリリソース）の枯渇を防止し、ゲートウエイ３０（画像形成装置としての装置３０）の動作の安定化を図ることができる。
【０１３０】
また、デバイス検索処理によって検索された２以上のデバイスから少なくとも１つのデバイスが除外された後の残余のデバイスの数が所定の上限数以下になるまで、ゲートウエイ３０ｂの管理対象デバイスを当該２以上のデバイスから１つずつ除外する動作が繰り返し実行される。このとき、デバイスリスト３０１の管理デバイスの数が上限値Ｄmax以下にまで低減されることを条件に、複数のデバイスリスト３０１，３０２の相互間（複数のゲートウエイ３０ａ，３０ｂの相互間）での管理対象デバイスの重複は許容される。換言すれば、ゲートウエイ３０ａによる管理対象デバイスの数が所定の上限数以下であることを条件に、ゲートウエイ３０ａによる管理対象デバイスとゲートウエイ３０ｂによる管理対象デバイスとの一部重複を許容しつつ、ゲートウエイ３０ｂによる管理対象デバイスの一部をデバイスリスト３０１から少なくとも除外することによって、ゲートウエイ３０ａの管理対象デバイスが決定される。これによれば、管理デバイスの数が上限値Ｄmaxを超えないようにしてゲートウエイ３０におけるリソースの限界を超えることを回避した上で、一定程度の冗長性を確保して比較的柔軟な管理を行うことが可能である。
【０１３１】
また、ゲートウエイ３０ａは、その管理対象デバイスの数を上限値Ｄmax以下に収めるとの条件の下で、複数のデバイスリスト３０１，３０２の相互間（複数のゲートウエイ３０ａ，３０ｂの相互間）での管理対象デバイスの重複を少なくとも一部排除する。したがって、ゲートウエイ３０ａは、排除されたデバイス（２０３等）の代わりに、他のデバイス（２０６等）を（新たに）管理することが可能である。さらに、ゲートウエイ３０ａは、その管理対象デバイスの数を上限値Ｄmax以下に収めつつ、出来るだけ多数のデバイスをゲートウエイ３０ａの管理下に置くので、比較的多数のデバイスが複数のゲートウエイ３０（３０ａ，３０ｂ）のいずれかによって管理され得る。たとえば、ゲートウエイ３０ｂによって３台のデバイス２０３，２０４，２０５を管理し、ゲートウエイ３０ａによって３台のデバイス２０４，２０５，２０６を管理すること、すなわち２台のゲートウエイ３０（３０ａ，３０ｂ）によって合計４台の異なるデバイスを管理することが可能である。
【０１３２】
なお、ステップＳ４１〜Ｓ４７のループ処理の終了後にはステップＳ４９に進む。詳細には、ステップＳ４１〜Ｓ４７における第ｎデバイスまでのループ処理が終了しても未だデバイスリスト３０１内の残存デバイス数が上限値Ｄmaxより大きい場合には、ステップＳ４９にて調整処理が行われる。この調整処理においては、デバイスリスト３０１内の残存デバイスの中から、所定数（上限値Ｄmax）のデバイスが適宜抽出（たとえば、ランダム抽出）され、最終的なデバイスリスト３０１が完成する（図１２（後述）参照）。
【０１３３】
図１２は、デバイスリスト３０１の他の例を示す図である。図１２は、９台のＭＦＰ（デバイス）２０１〜２０９が同一ＬＡＮ内に存在する場合において、ゲートウエイ３０ａのデバイスリスト３０１が生成される様子を示している。
【０１３４】
図１２においては、まず、その最上段において、ゲートウエイ３０ａ（２０１）のデバイス検索処理（Ｓ１１）によって検出された８台のデバイス２０２〜２０９が当該デバイスリスト３０１に記述されている様子が示されている。
【０１３５】
また、図１２の上から２段目（右側）には、他のゲートウエイ３０ｂ（２０２）がデバイスリスト３０１から除外（ステップＳ１５）された様子が示されている。
【０１３６】
その後、ステップＳ４０（特にＳ４５）において、デバイスリスト３０１から、両デバイスリスト３０１，３０２の相互間で重複する３台のデバイス２０３，２０４，２０５が（１つずつ）除外される。図１２の上から３段目には、両デバイスリスト３０１，３０２の相互間で重複する３台のデバイス２０３，２０４，２０５が除外された様子が示されている。
【０１３７】
さらに、デバイスリスト３０１内の４台の残存デバイス２０６，２０７，２０８，２０９の中から、上限値Ｄmaxの台数のデバイスが残存デバイスとして決定される。たとえば、図１２の最下段（上から４段目）に示すように、ランダム抽出処理等の結果、３台（＝Ｄmax）のデバイス２０７，２０８，２０９が残存デバイスとして決定される。換言すれば、デバイスリスト３０１内の残存デバイス数（「４」）から上限値Ｄmax（「３」）を差し引いた数（「１」）のデバイス（ここでは、デバイス２０６）が、デバイスリスト３０１から除外される。図１２の最下段には、調整処理（ステップＳ４９）の処理結果が示されている。このように、デバイスリスト３０１における残存デバイスの数が未だ上限値Ｄmaxより大きい場合には、ランダム抽出処理等によって一部のデバイス（２０６）を削除（除外）して当該残存デバイスの数を上限値Ｄmaxにまで低減する処理が行われる。
【０１３８】
これによれば、特に、ゲートウエイ３０ａは、その管理対象デバイスの数を上限値Ｄmax以下に収めるとの条件の下で、複数のデバイスリスト３０１，３０２の相互間（複数のゲートウエイ３０ａ，３０ｂの相互間）での管理対象デバイスの重複を少なくとも一部（図１２では全部）排除する。したがって、ゲートウエイ３０ａは、排除された３台のデバイス２０３，２０４，２０５の代わりに、他のデバイス２０７，２０８，２０９を（新たに）管理することが可能である。
【０１３９】
さらに、ゲートウエイ３０ａは、デバイスリスト３０１の管理デバイスの数を上限値Ｄmax以下に収めつつ、出来るだけ多数のデバイスをゲートウエイ３０ａの管理下に置くので、比較的多数のデバイスが複数のゲートウエイ３０のいずれかによって管理され得る。たとえば、ゲートウエイ３０ｂによって３台のデバイス２０３，２０４，２０５を管理し、且つ、ゲートウエイ３０ａによって３台のデバイス２０７，２０８，２０９を管理すること、すなわち２台のゲートウエイ３０によって合計６台の異なるデバイスを管理することが可能である。
【０１４０】
なお、上記第２実施形態のステップＳ１２ｂ（図９）では、検出デバイスの数が上限値Ｄmax以下である旨が判断される場合には、図９の処理が直ちに終了しているが、本発明はこれに限定されない。たとえば、ステップＳ１１における検出デバイスの数が上限値Ｄmax以下である旨がステップＳ１２ｂにて判断される場合には、当該ステップＳ１２ｂの次に、ステップＳ２１と同様の処理が行われるようにしてもよい。この場合、デバイスリスト３０１から他のゲートウエイ３０（３０ｂ）を除外する更新処理が行われた後において、当該更新処理後のデバイスリスト３０１が管理サーバ５０に送信されることが好ましい。
【０１４１】
＜３．第３実施形態＞
第３実施形態は、第１実施形態の変形例である。
【０１４２】
第３実施形態において、ゲートウエイ３０ｂの管理対象デバイスの決定処理（デバイスリスト３０１の生成処理）は、第１実施形態と同様である。
【０１４３】
ただし、第３実施形態においては、或るゲートウエイ３０ａでのデバイス検出処理の処理結果に基づきスリープ中のデバイスを検出し、他のゲートウエイ３０ｂのデバイスリスト３０２から当該スリープ中のデバイスが除外される。より詳細には、デバイスリスト３０２にリストアップされているデバイスのうち、ゲートウエイ３０ａにおけるデバイス検索処理によって検索されなかったデバイスが、ゲートウエイ３０ｂによる管理対象デバイス（デバイスリスト３０２）から削除される。以下、このような態様について説明する。
【０１４４】
図１３および図１４は、ゲートウエイ３０（３０ａ）の動作を示すフローチャートである。以下、これらの図を参照しつつ、第３実施形態に係るゲートウエイ３０ａの管理対象デバイスの決定動作、およびゲートウエイ３０ｂの管理対象デバイスの変更動作について説明する。
【０１４５】
まず、ステップＳ１１〜Ｓ１７，Ｓ２１においては、第１実施形態と同様の処理が実行される。
【０１４６】
ステップＳ１７の次のステップＳ５０においては、ステップＳ１７で受信したデバイスリスト３０２（図８参照）に基づき、ゲートウエイ３０ａの管理対象デバイスとゲートウエイ３０ｂの管理対象デバイスとの少なくとも一部の重複を排除する処理が実行される。
【０１４７】
図１４は、ステップＳ５０の詳細動作を示すフローチャートである。
【０１４８】
このステップＳ５０（特にステップＳ５１，Ｓ５２参照）においては、第１実施形態等とは逆に、ゲートウエイ３０ｂのデバイスリスト３０２に掲載されているデバイスを中心にループ処理が行われる。具体的には、デバイスリスト３０２に掲載されているデバイス（第ｊデバイス）に関するループ処理が外側のループ処理として実行され、デバイスリスト３０１に掲載されているデバイス（第ｉデバイス）に関するループ処理が内側のループ処理として実行される。
【０１４９】
具体的には、ステップＳ５１において、ゲートウエイ３０ａは、他のゲートウエイ３０ｂ（２０２）のデバイスリスト３０２内の第ｊデバイス（ただし、ｊ＝１，...、ｍ）に着目する。そして、ステップＳ５１とステップＳ５７との間のループ処理（ステップＳ５２〜Ｓ５６を含む）が、値ｊのインクリメントを伴いながら繰り返し実行される。
【０１５０】
また、ステップＳ５２において、ゲートウエイ３０ａは、本ゲートウエイ３０ａ（２０１）のデバイスリスト３０１に残存している第ｉデバイス（ただし、ｉ＝１，...、ｎ）に着目する。そして、ステップＳ５２とステップＳ５４との間のループ処理（ステップＳ５３を含む）が、値ｉのインクリメントを伴いながら繰り返し実行される。ステップＳ５３において、第ｉデバイスと第ｊデバイスとが同一デバイスであることが判定されると、ステップＳ５５に進む。
【０１５１】
ステップＳ５５においては、本ゲートウエイ３０ａ（２０１）のデバイスリスト３０１から、第ｉデバイスが除外され、ステップＳ５７に進む。たとえば、第１実施形態と同様に、デバイスリスト３０１に残存している１番目のデバイス２０３が、デバイスリスト３０２の１番目のデバイス２０３とが同一デバイスであると判定され、デバイスリスト３０１から除外される。なお、デバイス２０４，２０５も、第１実施形態と同様に、除外される。
【０１５２】
また、デバイスリスト３０２内の第ｊデバイスがデバイスリスト３０１内のいずれのデバイス（第ｉデバイス）とも合致しない場合には、ゲートウエイ３０ａは、第ｊデバイスを「非稼働中（スリープ中あるいは電源オフ中）のデバイス」（無効デバイス）と判断する。ここにおいて、ステップＳ１１のデバイス検索処理によってデバイスリスト３０１には稼働中のデバイスがリストアップされている。それにもかかわらず、デバイスリスト３０２内の第ｊデバイスがデバイスリスト３０１内のいずれのデバイスとも合致しないことを考慮すると、当該第ｊデバイスは非稼働中であると判断できる。そして、ステップＳ５６において、ゲートウエイ３０ａは、第ｊデバイスを無効デバイスリストに追加する。
【０１５３】
そして、デバイスリスト３０２内の全てのデバイスが無効デバイスであるか否かがそれぞれ判断された後、少なくとも１つの無効デバイスが存在する旨がステップＳ５８にて判定されると、ステップＳ５９に進む。そして、ステップＳ５９において、当該無効デバイスをリストアップした無効デバイスリストが、ゲートウエイ３０ａから他のゲートウエイ３０ｂに送信される。ゲートウエイ３０ｂは、当該無効デバイスリストにリストアップされているデバイス（無効デバイス）を、自装置３０ｂの管理対象デバイスから除外する。たとえば、デバイス２０４が無効デバイスである旨が無効デバイスリストに記述されている場合には、図１５に示すように、ゲートウエイ３０ｂ（２０２）のデバイスリスト３０２から、当該デバイス２０４が除外される。
【０１５４】
このように、ステップＳ５９においては、デバイスリスト３０２に含まれるデバイスであり且つデバイス検索処理（ステップＳ１１）によって検索されなかったデバイスを、ゲートウエイ３０ｂによる管理対象デバイスから削除すべき旨が、ゲートウエイ３０ａからゲートウエイ３０ｂに通知される。
【０１５５】
以上のような動作によれば、デバイス検索処理（ステップＳ１１）で検索されなかった無効デバイスが他のゲートウエイ３０ｂによるデバイスリスト３０２から除外されるので、ゲートウエイ３０ｂのリソースを有効に利用することが可能である。また、第１実施形態と同様の効果を得ることもできる。
【０１５６】
なお、ここでは、第３実施形態に係る思想を第１実施形態に適用する態様を例示したが、これに限定されず、当該第３実施形態に係る思想を第２実施形態に適用するようにしてもよい。
【０１５７】
また、第３実施形態等においては、ゲートウエイ３０ｂは、無効デバイス２０４に代えて、別のデバイス（たとえばデバイス２０７）を管理対象デバイスに追加することが可能である。特に、ゲートウエイ３０ｂの管理対象デバイス数に上限値が存在する場合において、当該ゲートウエイ３０ｂの管理対象デバイスから、無効デバイス（スリープ中の管理対象デバイス等）が除外され、その代わりに他のデバイスがその管理対象デバイスに追加されることが好ましい。これによれば、比較的多数のデバイスが複数のゲートウエイ３０のいずれかによって管理され得る。
【０１５８】
＜４．変形例等＞
以上、この発明の実施の形態について説明したが、この発明は上記説明した内容のものに限定されるものではない。
【０１５９】
たとえば、上記各実施形態においては、ステップＳ１３において、ゲートウエイ３０ａは他のゲートウエイ３０ｂの情報を自装置内の格納部５から取得しているが、これに限定されず、ゲートウエイ３０ａは他のゲートウエイ３０ｂの情報を管理サーバ５０に問い合わせるようにしてもよい。
【０１６０】
より詳細には、ステップＳ１３（Ｓ１３ｄ）において、ゲートウエイ３０ａは、他のゲートウエイ３０の情報の送信要求を管理サーバ５０に対して送信する（図１６）。管理サーバ５０は、当該送信要求に応じて、自装置５０に格納されていた管理テーブル６９（図１７参照）に基づいて、ゲートウエイ３０ａ以外のゲートウエイの情報（デバイス２０２（３０ｂ）がゲートウエイである旨の情報等）を取得し、当該情報をゲートウエイ３０ａに送信する。そして、ゲートウエイ３０ａは、当該送信要求に応じて管理サーバ５０から返信されてきた当該情報を受信することによって、他のゲートウエイ３０ｂの情報（デバイス２０２がゲートウエイである旨の情報）を取得するようにしてもよい。
【０１６１】
また、上記各実施形態においては、ステップＳ１６において、デバイスリスト３０２の送信要求がゲートウエイ３０ａからゲートウエイ３０ｂに送信される。そして、ステップＳ１７において、ゲートウエイ３０ａは、当該送信要求に応じてゲートウエイ３０ｂから送信されてきた情報を受信することによって、ゲートウエイ３０ｂの管理対象デバイスの情報（管理デバイス情報）を取得している。しかしながら、本発明は、これに限定されない。たとえば、ゲートウエイ３０ａは、ステップＳ１３（ステップＳ１３ｅ）（図１８参照）において、管理サーバ５０に対して、他のゲートウエイ３０（３０ｂ等）の各デバイスリスト（３０２等）の送信要求を送信するようにしてもよい。そして、ゲートウエイ３０ａは、当該送信要求に応じて返信されてくる情報を受信することによって、各ゲートウエイ３０のデバイスリスト３００（管理デバイス情報）を取得するようにしてもよい。
【０１６２】
さらに、上記各実施形態においては、各ゲートウエイ３０の管理対象デバイス決定動作は、或る時刻の到来に応じて実行される態様を例示したが、これに限定されない。たとえば、これに代えて、或るいは、これとともに、各ゲートウエイ３０の起動時に実行されるようにしてもよい。
【０１６３】
また、上記各実施形態においては、クラウドサーバ（外部サーバ）７０と管理サーバ５０とが別個の装置として設けられているが、これに限定されない。たとえば、クラウドサーバ（外部サーバ）７０と管理サーバ５０とは同一の装置（筐体）内に設けられるようにしてもよい。
【０１６４】
また、上記各実施形態では、デバイス１０としてＭＦＰを例示したがこれに限定されない。たとえば、印刷出力処理（プリント処理）および画像読取処理（スキャン処理）の少なくとも一方を行う画像形成装置等であってもよい。より詳細には、デバイス１０は、単機能プリンタ、単機能スキャナ等であってもよい。
【０１６５】
さらに、ゲートウエイ３０もＭＦＰに限定されない。たとえば、ＭＦＰ以外の各種デバイスと同様の機能を有する装置であってもよい。また、ゲートウエイは、画像形成装置としての機能を有しない装置であってもよい。
【符号の説明】
【０１６６】
１  通信システム
１０  デバイス
３０，３０ａ，３０ｂ  ゲートウエイ（通信中継装置）
５０  管理サーバ
７０  クラウドサーバ
９０  クライアント
１０７  ＬＡＮ
２００，２０１〜２０９  ＭＦＰ
３０１  （ゲートウエイ３０ａの）デバイスリスト
３０２  （ゲートウエイ３０ｂの）デバイスリスト
【図１】
0006264330.tif 000002
【図２】
0006264330.tif 000003
【図３】
0006264330.tif 000004
【図４】
0006264330.tif 000005
【図５】
0006264330.tif 000006
【図６】
0006264330.tif 000007
【図７】
0006264330.tif 000008
【図８】
0006264330.tif 000009
【図９】
0006264330.tif 000010
【図１０】
0006264330.tif 000011
【図１１】
0006264330.tif 000012
【図１２】
0006264330.tif 000013
【図１３】
0006264330.tif 000014
【図１４】
0006264330.tif 000015
【図１５】
0006264330.tif 000016
【図１６】
0006264330.tif 000017
【図１７】
0006264330.tif 000018
【図１８】
0006264330.tif 000019
【図１９】
0006264330.tif 000020
【図２０】
0006264330.tif 000021