(57)【要約】【課題】ネットワークシステムにおいてダウンタイムの発生を回避すること。【解決手段】ＭＦＰ１００Ａは、ＬＡＮ２００の中継装置として稼働しているときに中継装置の切替を指示する切替指示を受信すると、ＭＦＰ１００Ｂに、中継装置としてサーバーと通信することを指示する。ＭＦＰ１００Ａは、クラウドサーバー４００に向けられたデータをＭＦＰ１００Ｂに送信する。ＭＦＰ１００Ｂは、当該データをクラウドサーバー４００へ送信する。【選択図】図４
2018191151.tif 000002
【特許請求の範囲】
【請求項１】
所定のネットワーク内の第１の通信装置および第２の通信装置と、
前記所定のネットワーク外のサーバーと、
を備えるネットワークシステムであって、
前記第１の通信装置は、
前記第２の通信装置と通信するように構成された第１の通信インターフェースと、
前記第１の通信インターフェースを利用して、前記所定のネットワーク内の機器と前記サーバーとの通信の中継装置としての稼働を実現するように構成された第１のプロセッサーとを含み、
前記第１のプロセッサーは、中継装置として稼働しているときに中継装置の切替を指示する切替指示を受信した場合に、
前記第２の通信装置に、中継装置として前記サーバーと通信するための中継情報と、中継装置として前記サーバーと通信する指示とを送信し、
前記サーバーに向けられたデータを前記第２の通信装置に送信するように構成されており、
前記第２の通信装置は、
前記第１の通信装置と通信するように構成された第２の通信インターフェースと、
前記第２の通信インターフェースを利用して通信するように構成された第２のプロセッサーとを含み、
前記第２のプロセッサーは、前記指示に応じて前記サーバーと前記中継装置としての通信を開始するように構成されている、ネットワークシステム。
【請求項２】
前記第１のプロセッサーは、前記指示の送信前に、前記中継装置として前記第２の通信装置を特定する情報を前記サーバーに送信するように構成されている、請求項１に記載のネットワークシステム。
【請求項３】
前記サーバーは、前記中継装置を特定する装置の情報として、前記第２の通信装置を特定する情報のみを格納するように構成されている、請求項２に記載のネットワークシステム。
【請求項４】
前記サーバーは、前記中継装置を特定する装置の情報として、２以上の装置を特定する情報を格納し、前記第２の通信装置を特定する情報を他の装置を特定する情報とは区別するように格納するように構成されている、請求項２に記載のネットワークシステム。
【請求項５】
前記第１のプロセッサーは、中継装置用ソフトウェアのバージョンに関する条件に従って前記第２の通信装置を選択するように構成されている、請求項１〜請求項４のいずれか１項に記載のネットワークシステム。
【請求項６】
前記第１のプロセッサーは、前記所定のネットワークにおいて前記条件を満足する２以上の装置を検出した場合には、当該２以上の装置のうち使用頻度が最も低い装置を前記第２の通信装置として選択するように構成されている、請求項５に記載のネットワークシステム。
【請求項７】
前記第１のプロセッサーは、前記所定のネットワークにおいて前記条件を満足する装置を検出できなかった場合には、前記所定のネットワークにおいて最も使用頻度が低い装置に対して前記条件において規定されるバージョン以上のバージョンへの中継装置用ソフトウェアのアップデートを指示するように構成されている、請求項５に記載のネットワークシステム。
【請求項８】
前記第１のプロセッサーは、前記所定のネットワークにおいて前記第１の通信装置によって前記サーバーとの通信を中継される装置の中から、前記第２の通信装置を選択するように構成されている、請求項１〜請求項７のいずれか１項に記載のネットワークシステム。
【請求項９】
前記第１の通信装置は、記憶装置をさらに備え、
前記記憶装置には、前記第１の通信装置が中継装置として稼働しているときには、前記所定のネットワーク内の装置から受信したデータの送信先として前記サーバーを特定する情報が登録されており、
前記第１のプロセッサーは、前記切替指示を受信した場合に、前記送信先として前記第２の通信装置を特定する情報を前記記憶装置に登録するように構成されている、請求項１〜請求項８のいずれか１項に記載のネットワークシステム。
【請求項１０】
前記第１のプロセッサーは、前記記憶装置において、前記送信先として前記第２の通信装置を特定する情報のみを登録するように構成されている、請求項９に記載のネットワークシステム。
【請求項１１】
前記第１のプロセッサーは、前記記憶装置において、前記送信先として前記サーバーを特定する情報と前記第２の通信装置を特定する情報とを登録し、前記第２の通信装置を特定する情報を前記サーバーを特定する情報とは区別するように登録するように構成されている、請求項９に記載のネットワークシステム。
【請求項１２】
前記第１の通信装置および前記第２の通信装置の少なくとも一方は画像処理装置と一体的に構成されている、請求項１〜請求項１１のいずれか１項に記載のネットワークシステム。
【請求項１３】
所定のネットワーク内に設けられた通信装置であって、
前記所定のネットワーク内の他の通信装置および前記所定のネットワーク外のサーバーと通信するように構成された通信インターフェースと、
前記通信インターフェースを利用して、前記所定のネットワーク内の機器と前記サーバーとの通信の中継装置としての稼働を実現するように構成されたプロセッサーとを含み、
前記プロセッサーは、前記中継装置として稼働しているときに中継装置の切替を指示する切替情報を受信した場合に、
前記他の通信装置に、中継装置として前記サーバーと通信するための中継情報と、中継装置として前記サーバーと通信する指示とを送信し、
前記サーバーに向けられたデータを前記他の通信装置に送信する、
ように構成されている、通信装置。
【請求項１４】
所定のネットワーク内に設けられた通信装置のプロセッサーによって実行されるコンピュータープログラムであって、
前記コンピュータープログラムは、前記プロセッサーが前記所定のネットワーク内の機器と前記所定のネットワーク外のサーバーとの通信の中継装置として稼働しているときに中継装置の切替を指示する切替指示を受信した場合に、前記プロセッサーに、
前記所定のネットワーク内の他の通信装置に、中継装置として前記サーバーと通信するための中継情報と、中継装置として前記サーバーと通信する指示とを送信するステップと、
前記サーバーに向けられたデータを前記他の通信装置に送信するステップと、
を実行させる、コンピュータープログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、ネットワークシステム、通信装置、およびコンピュータープログラムに関し、特に、所定のネットワーク内外の通信が中継されるネットワークシステム、当該ネットワークシステムにおいて所定のネットワーク内外の通信を中継する通信装置、および当該通信装置において実行されるコンピュータープログラムに関する。
【背景技術】
【０００２】
従来、ネットワーク内のクライアント装置が中継装置を介して外部のサーバーと通信するための技術が種々提供されている。たとえば、特開２０１４−１７５７４７号公報（特許文献１）は、自律分散型ネットワークシステムを開示している。当該ネットワークシステムでは、図５等に記載されるように、通信不能となった第２中継装置５の第２中継装置ネットワーク１２に所属するノードｎ６が、第１中継装置４の第１中継装置ネットワーク１１に所属するノードｎ３から異常情報を含む中継装置情報を受け取る。そして、ノードｎ６は、第１中継装置ネットワーク１１に所属するノードに対して、自立して第１中継装置ネットワーク１１への参入を要求し、第２中継装置ネットワーク１２から、第１中継装置ネットワーク１１に参入する（「要約書」参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−１７５７４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
中継装置に求められるセキュリティレベルが上昇した場合、中継装置にインストールされたソフトウェアのアップデートが必要とされる。このような場合に特許文献１の技術を適用しようとすると、複数の装置が中継装置として稼働している必要がある。１台の装置しか中継装置として稼働していない状況では、当該１台の装置におけるソフトウェアのアップデートが完了するまで、ネットワークにおいて中継装置が不在となり、クライアントが一時的にサーバーと通信できなくなる期間（いわゆるダウンタイム）が発生することになる。このことから、ダウンタイムの発生を回避できるようなネットワークシステムが求められている。
【０００５】
本開示は、係る実情に鑑み考え出されたものであり、その目的は、ネットワークシステムにおいてダウンタイムの発生を回避することである。
【課題を解決するための手段】
【０００６】
本開示のある局面に従うと、所定のネットワーク内の第１の通信装置および第２の通信装置と、所定のネットワーク外のサーバーと、を備えるネットワークシステムが提供される。第１の通信装置は、第２の通信装置と通信するように構成された第１の通信インターフェースと、第１の通信インターフェースを利用して、所定のネットワーク内の機器とサーバーとの通信の中継装置としての稼働を実現するように構成された第１のプロセッサーとを含み、第１のプロセッサーは、中継装置として稼働しているときに中継装置の切替を指示する切替指示を受信した場合に、第２の通信装置に、中継装置としてサーバーと通信するための中継情報と、中継装置としてサーバーと通信する指示とを送信し、サーバーに向けられたデータを第２の通信装置に送信するように構成されており、第２の通信装置は、第１の通信装置と通信するように構成された第２の通信インターフェースと、第２の通信インターフェースを利用して通信するように構成された第２のプロセッサーとを含み、第２のプロセッサーは、指示に応じてサーバーと中継装置としての通信を開始するように構成されている。
【０００７】
第１のプロセッサーは、指示の送信前に、中継装置として第２の通信装置を特定する情報をサーバーに送信するように構成されていてもよい。
【０００８】
サーバーは、中継装置を特定する装置の情報として、第２の通信装置を特定する情報のみを格納するように構成されていてもよい。
【０００９】
サーバーは、中継装置を特定する装置の情報として、２以上の装置を特定する情報を格納するように構成されていてもよい。サーバーは、第２の通信装置を特定する情報を他の装置を特定する情報とは区別するように格納するように構成されていてもよい。
【００１０】
第１のプロセッサーは、中継装置用ソフトウェアのバージョンに関する条件に従って第２の通信装置を選択するように構成されていてもよい。
【００１１】
第１のプロセッサーは、所定のネットワークにおいて条件を満足する２以上の装置を検出した場合には、当該２以上の装置のうち使用頻度が最も低い装置を第２の通信装置として選択するように構成されていてもよい。
【００１２】
第１のプロセッサーは、所定のネットワークにおいて条件を満足する装置を検出できなかった場合には、所定のネットワークにおいて最も使用頻度が低い装置に対して条件において規定されるバージョン以上のバージョンへの中継装置用ソフトウェアのアップデートを指示するように構成されていてもよい。
【００１３】
第１のプロセッサーは、所定のネットワークにおいて第１の通信装置によってサーバーとの通信を中継される装置の中から、第２の通信装置を選択するように構成されていてもよい。
【００１４】
第１の通信装置は、記憶装置をさらに備えていてもよい。記憶装置には、第１の通信装置が中継装置として稼働しているときには、所定のネットワーク内の装置から受信したデータの送信先としてサーバーを特定する情報が登録されていてもよい。第１のプロセッサーは、切替指示を受信した場合に、送信先として第２の通信装置を特定する情報を記憶装置に登録するように構成されていてもよい。
【００１５】
第１のプロセッサーは、記憶装置において、送信先として第２の通信装置を特定する情報のみを登録するように構成されていてもよい。
【００１６】
第１のプロセッサーは、記憶装置において、送信先としてサーバーを特定する情報と第２の通信装置を特定する情報とを登録し、第２の通信装置を特定する情報をサーバーを特定する情報とは区別するように登録するように構成されていてもよい。
【００１７】
第１の通信装置および第２の通信装置の少なくとも一方は画像処理装置と一体的に構成されていてもよい。
【００１８】
本開示の他の局面に従うと、所定のネットワーク内に設けられた通信装置が提供される。通信装置は、所定のネットワーク内の他の通信装置および所定のネットワーク外のサーバーと通信するように構成された通信インターフェースと、通信インターフェースを利用して、所定のネットワーク内の機器とサーバーとの通信の中継装置としての稼働を実現するように構成されたプロセッサーとを含む。プロセッサーは、中継装置として稼働しているときに中継装置の切替を指示する切替情報を受信した場合に、他の通信装置に、中継装置としてサーバーと通信するための中継情報と、中継装置としてサーバーと通信する指示とを送信し、サーバーに向けられたデータを他の通信装置に送信するように構成されている。
【００１９】
本開示のさらに他の局面に従うと、所定のネットワーク内に設けられた通信装置のプロセッサーによって実行されるコンピュータープログラムが提供される。コンピュータープログラムは、プロセッサーが所定のネットワーク内の機器と所定のネットワーク外のサーバーとの通信の中継装置として稼働しているときに中継装置の切替を指示する切替指示を受信した場合に、プロセッサーに、所定のネットワーク内の他の通信装置に、中継装置としてサーバーと通信するための中継情報と、中継装置としてサーバーと通信する指示とを送信するステップと、サーバーに向けられたデータを他の通信装置に送信するステップとを実行させる。
【発明の効果】
【００２０】
本開示によれば、中継装置として稼働している通信装置は、中継装置の切替を指示する切替指示を受信すると、他の通信装置に中継装置としてサーバーと通信することを指示する。これにより、所定のネットワークにおいて１台の通信装置のみが中継装置として稼働している状況下においても、中継装置の不在によるダウンタイムの発生が回避され得る。
【図面の簡単な説明】
【００２１】
【図１】ネットワークシステムの構成の一例を模式的に示す図である。
【図２】ＬＡＮ２００とクラウドネットワーク３００との間のジョブの送受信の態様の一例を模式的に示す図である。
【図３】ＧＷがＭＦＰ１００ＡからＭＦＰ１００Ｂに切り替えられた後のネットワークシステムの構成を模式的に示す図である。
【図４】ＧＷがＭＦＰ１００ＡからＭＦＰ１００Ｂに切り替えられた後の、ＬＡＮ２００とクラウドネットワーク３００との間のジョブの送受信の態様の一例を模式的に示す図である。
【図５】ＭＦＰ１００のハードウェア構成を概略的に示す図である。
【図６】クラウドサーバー４００のハードウェア構成の一例を示す図である。
【図７】ＳａａＳＧＷとして機能するＭＦＰ１００がＬＡＮ２００内のＭＦＰ１００を管理するために利用されるデータの構造の一例を模式的に示す図である。
【図８】ＧＷとして動作するＭＦＰ１００において実行される処理のフローチャートである。
【図９】図８のＧＷ切替処理のサブルーチンのフローチャートである。
【図１０】ＧＷ交代処理のサブルーチンのフローチャートである。
【図１１】クラウドサーバー４００においてＧＷの情報が上書きされるときの、登録される情報の一例を模式的に示す図である。
【図１２】クラウドサーバー４００においてＧＷの情報が追加されるときの、登録される情報の一例を模式的に示す図である。
【図１３】ＭＦＰ１００において送信先の情報が上書きされるときの、登録される情報の一例を模式的に示す図である。
【図１４】ＭＦＰ１００において送信先の情報が追加されるときの、登録される情報の一例を模式的に示す図である。
【発明を実施するための形態】
【００２２】
以下に、図面を参照しつつ、本開示に係るネットワークシステムの実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらの説明は繰り返さない。
【００２３】
［１．ネットワークシステムの構成］
図１は、ネットワークシステムの構成の一例を模式的に示す図である。図１に示されるように、チャットシステムは、ローカルエリアネットワーク（ＬＡＮ）２００と、クラウドネットワーク３００と、リモートマネージメントシステム（ＲＭＳ）６００とを含む。
【００２４】
ＬＡＮ２００は、５台のＭＦＰ１００Ａ〜１００Ｅを含む。クラウドネットワーク３００は、クラウドサーバー４００とクライアント５００とを含む。クライアント５００は、たとえばクラウドネットワーク３００におけるユーザーによって操作されるパーソナルコンピューターである。本開示において、クラウドサーバー４００は、ＳａａＳ（Software  as  a  Service）プラットフォーム（以下、「ＳａａＳＰＦ」とも称する）として機能し、ユーザーに対して、ＬＡＮ２００内のＭＦＰ等を用いてサービスを提供し得る。
【００２５】
図１の例では、ＬＡＮ２００において、５台のＭＦＰ１００Ａ〜１００ＥのうちＭＦＰ１００Ａが、ＳａａＳゲートウェイ（ＳａａＳＧＷ）として機能している。ＧＷは、クラウドサーバー４００との間で、いわゆる「トンネル」（図１中のトンネルＴＮ）と呼ばれる仮想的な通信パスを確立させる。クラウドサーバー４００は、トンネルＴＮを介して、ＭＦＰ１００Ａ〜１００Ｅのそれぞれへジョブ送信の要求およびジョブデータを送信する。また、ＭＦＰ１００Ａ〜１００Ｅのそれぞれは、トンネルＴＮを介して、クラウドサーバー４００へジョブ送信の要求およびジョブデータを送信する。これにより、ＭＦＰ１００Ａ〜１００Ｅを利用したクラウドサービスが提供される。ＭＦＰ１００Ａ〜１００Ｅのそれぞれの構成は等価であってもよい。以下の説明では、ＭＦＰ１００Ａ〜１００Ｅに共通する構成が「ＭＦＰ１００」として称される。
【００２６】
「ジョブ」とは、たとえばユーザーがコンピューターに依頼する仕事の単位である。ジョブの一例は、「印刷ジョブ」である。この場合、ユーザーが所定の文書を用紙上に印刷することを要求し、当該要求に応じて、ＭＦＰ１００は、当該文書を印刷された用紙を出力する。ジョブの他の例は、「スキャンジョブ」である。この場合、ユーザーは所定の原稿のスキャンを要求し、当該要求に応じて、ＭＦＰ１００は、当該原稿の画像データを生成する。
【００２７】
図２は、ＬＡＮ２００とクラウドネットワーク３００との間のジョブの送受信の態様の一例を模式的に示す図である。図２の例は、ＬＡＮ２００内のＭＦＰ１００からクラウドネットワーク３００へのジョブの送信を表わすスキム９００と、クラウドネットワーク３００からＭＦＰ１００へのジョブの送信を表わすスキム９１０とを含む。
【００２８】
スキム９００では、ステップＳＡ１１として示されるように、クラウドサーバー４００がＭＦＰ１００に向けて送信したジョブの要求を、トンネルＴＮ（図１）を介して、ＧＷであるＭＦＰ１００Ａが受信する。そして、ＭＦＰ１００Ａは、ステップＳＡ１２として示されるように、当該ジョブの要求をＭＦＰ１００へ送信する。図２における「ＭＦＰ１００」は、ジョブを実行するＭＦＰを表わし、ジョブにおいて指定されたＭＦＰ１００Ａ〜１００Ｅのいずれかである。
【００２９】
スキム９１０では、ステップＳＢ１１として示されるように、ＭＦＰ１００がクラウドサーバー４００に向けて送信したジョブの要求を、ＧＷであるＭＦＰ１００Ａが受信する。そして、ＭＦＰ１００Ａは、ステップＳＢ１２として示されるように、トンネルＴＮ（図１）を介して、当該ジョブの要求をクラウドサーバー４００へ送信する。
【００３０】
図１に戻って、ＲＭＳ６００は、ＬＡＮ２００をオンラインで管理するシステムである。ＲＭＳ６００は、たとえば、ＭＦＰ１００ＡにインストールされたＧＷソフトウェア（アプリケーションまたはファームウェア）にセキュリティ問題が発覚した場合、ＭＦＰ１００Ａに対してＧＷの切替を指示し、当該ＧＷソフトウェアをアップデートするための処理を実行する。
【００３１】
［２．ＧＷの切替］
図３および図４を参照して、ＬＡＮ２００におけるＧＷの切替について説明する。図３は、ＧＷがＭＦＰ１００ＡからＭＦＰ１００Ｂに切り替えられた後のネットワークシステムの構成を模式的に示す図である。図４は、ＧＷがＭＦＰ１００ＡからＭＦＰ１００Ｂに切り替えられた後の、ＬＡＮ２００とクラウドネットワーク３００との間のジョブの送受信の態様の一例を模式的に示す図である。
【００３２】
ＭＦＰ１００Ａは、ＲＭＳ６００からＧＷ切替の指示を受けると、たとえば後述する条件に従ってＬＡＮ２００内の他のＭＦＰ１００を代行ＧＷとして選択する。図３の例では、ＭＦＰ１００Ａは、ＭＦＰ１００Ｂを代行ＧＷとして選択する。そして、ＭＦＰ１００Ａは、ＭＦＰ１００Ｂに、ＧＷとしてクラウドサーバー４００と通信するために必要な情報を送信し、クラウドサーバー４００とＧＷとして通信することを指示する。クラウドサーバー４００とＧＷとして通信するために必要な情報（中継情報）は、たとえば、クラウドサーバー４００のＩＰ（インターネットプロトコル）アドレス等を含む。ＭＦＰ１００Ａからの指示に応じて、ＭＦＰ１００Ｂは、クラウドサーバー４００とトンネルＴＮを確立させる。
【００３３】
ＬＡＮ２００内においてＧＷが切り替えられても、ＬＡＮ２００内のＭＦＰ１００におけるＧＷの設定は変更されない。すなわち、ＧＷ以外のＭＦＰ１００では、ＧＷとしてＭＦＰ１００Ａが維持される。これにより、図３に示されるように、ＬＡＮ２００内とＬＡＮ２００外の通信は、切替前のＧＷであるＭＦＰ１００Ａと切替後のＧＷであるＭＦＰ１００Ｂとを経由する。
【００３４】
より具体的には、クラウドサーバー４００がＭＦＰ１００に向けて送信したジョブの要求は、たとえば図４のスキム９０１に従ってＭＦＰ１００へと送信される。すなわち、ステップＳＡ２１として示されるように、ＧＷであるＭＦＰ１００Ｂが、クラウドサーバー４００からのジョブの要求をトンネルＴＮ（図３）を介して受信する。ステップＳＡ２２として示されるように、ＭＦＰ１００Ｂは、当該要求をＭＦＰ１００Ａへ送信する。そして、ステップＳＡ２３として示されるように、ＭＦＰ１００Ａは、当該ジョブの要求をＭＦＰ１００へ送信する。
【００３５】
ＭＦＰ１００からクラウドサーバー４００に向けて送信したジョブの要求は、たとえばスキム９１１に従ってクラウドサーバー４００へと送信される。すなわち、ステップＳＢ２１として示されるように、ＭＦＰ１００Ａが、ＭＦＰ１００からクラウドサーバー４００に向けて送信されたジョブの要求を受信する。ステップＳＢ２２として示されるように、ＭＦＰ１００Ａは、当該要求をＧＷであるＭＦＰ１００Ｂへ送信する。ステップＳＢ２３として示されるように、ＭＦＰ１００Ｂが、トンネルＴＮ（図３）を介して、当該要求をクラウドサーバー４００へ送信する。
【００３６】
スキム９０１およびスキム９１１として示されるように、ネットワークシステムでは、ＬＡＮ２００外からＬＡＮ２００内にデータが送信される際、ＭＦＰ１００Ｂがクラウドサーバー４００と通信し、ＭＦＰ１００ＡがＬＡＮ２００内のＭＦＰ１００と通信する。すなわち、ＬＡＮ２００においてＧＷとして稼働していないＭＦＰ１００は、ＧＷを介してクラウドサーバー４００にデータを送信する場合、ＬＡＮ２００内の宛先をＭＦＰ１００Ａから変更する必要がない。
【００３７】
［３．ＭＦＰの構成］
図５は、ＭＦＰ１００のハードウェア構成を概略的に示す図である。図５を参照して、ＭＦＰ１００は、全体を制御するためのＣＰＵ（Central  Processing  Unit）１５０と、プログラムおよびデータを格納するための記憶部１６０と、操作パネル１７０とを含む。
【００３８】
記憶部１６０は、ＣＰＵ１５０により実行されるプログラムおよび各種データを記憶する。操作パネル１７０は、ディスプレイ１７１と、操作部１７２とを含む。ディスプレイ１７１の一例は、液晶表示装置である。ディスプレイ１７１の他の例は、プラズマディスプレイである。操作部１７２は、ＭＦＰ１００に対する操作の入力を受け付ける。
【００３９】
ＭＦＰ１００は、さらに、画像処理部１５１と、画像形成部１５２と、画像読取部１５３と、ファクシミリ通信部１５４と、ネットワーク通信部１５５とを含む。画像処理部１５１は、入力された画像に対して拡大・縮小を含む各種の処理を施す。画像形成部１５２は、感光体等の、記録用紙に画像を形成するための要素を含む。画像読取部１５３は、スキャナー等の原稿の画像データを生成するための要素を含み、原稿のスキャンによりスキャンデータを生成する。ファクシミリ通信部１５４は、モデム等のファクシミリ通信により画像データの送受信するための要素を含む。ネットワーク通信部１５５は、ネットワークカード等の、ネットワークを介してデータ通信をするための要素を含む。画像処理部１５１、画像形成部１５２、画像読取部１５３、ファクシミリ通信部１５４、および、ネットワーク通信部１５５のそれぞれの機能は、画像形成装置においてよく知られたものであるから、ここでは詳細な説明は繰返さない。
【００４０】
図５において「ゲートウェイ機能４０」として示されるように、ＭＦＰ１００のＣＰＵ１５０は、たとえば所定のプログラム（たとえば、コニカミノルタ社製の「PageScope  NDPS  Gateway」等のゲートウェイソフトウェア）を実行することによって、ＧＷとして機能する。ゲートウェイ機能４０は、機能的な構成として、通信制御部４１、速度測定部４５、動作制御部４７、および、プロトコル取得部４９を含む。
【００４１】
通信制御部４１は、ネットワーク通信部１５５および／またはファクシミリ通信部１５４を用いて、他の装置との通信を制御する処理部である。通信制御部４１は、メッセージセッション通信制御部４２とトンネル通信制御部４３とを有する。
【００４２】
メッセージセッション通信制御部４２は、クラウドネットワーク３００内の管理サーバーとの通信をメッセージセッションを用いて実行する処理部である。メッセージセッション通信制御部４２は、管理サーバーとの間にメッセージセッションを確立して、管理サーバーとの通信を実行する。
【００４３】
トンネル通信制御部４３は、ネットワーク通信部１５５を用いて、ＧＷとクラウドサーバー４００との間にトンネル接続を確立して、クラウドサーバー４００と特定のデバイス（たとえば、ＭＦＰ１００Ａ〜１００Ｅのいずれか）との通信を中継する。
【００４４】
速度測定部４５は、ネットワーク通信部１５５および／またはファクシミリ通信部１５４を用いて、データの送信経路の通信速度を表わす値を測定する処理部である。動作制御部４７は、ＧＷおよびＬＡＮ２００内の装置のそれぞれの動作モードを制御する処理部である。動作制御部４７は、たとえばＭＦＰ１００Ａ〜１００ＥにＧＷとして動作するＭＦＰ１００を特定する情報を送信し、当該ＭＦＰ１００をＧＷとして登録することを指示する。プロトコル取得部４９は、クライアント５００および／またはクラウドサーバー４００がデータ送信に利用するプロトコルを取得する。
【００４５】
［４．クラウドサーバーの構成］
図６は、クラウドサーバー４００のハードウェア構成の一例を示す図である。図６に示されるように、クラウドサーバー４００は、主な構成要素として、ＣＰＵ（Central  Processing  Unit）４０１と、ＲＡＭ（Random  Access  Memory）４０２と、記憶装置４０３と、通信インターフェース４０４とを含む。ＣＰＵ４０１と、ＲＡＭ４０２と、記憶装置４０３と、通信インターフェース４０４とは、互いに内部バスで接続されている。
【００４６】
ＣＰＵ４０１は、たとえばプログラムを実行することによりクラウドサーバー４００の全体的な動作を制御するための処理を実行する演算装置の一例である。ＲＡＭ４０２は、ＣＰＵ４０１における処理実行時のワークエリアとして機能する。記憶装置４０３は、たとえばハードウェアディスクによって実現され、ＣＰＵ４０１が実行するプログラム（たとえば、ＳａａＳＰＦとして機能するためのソフトウェア）を格納する。記憶装置４０３は、さらに、当該プログラムの実行に利用されるデータ（たとえば、ＧＷのＩＰアドレス）を格納していてもよい。通信インターフェース４０４は、各種の装置（ＭＦＰ１００等）と通信するための機器であって、たとえば無線通信回路によって実現される。
【００４７】
［５．データ構成］
図７は、ＳａａＳＧＷとして機能するＭＦＰ１００がＬＡＮ２００内のＭＦＰ１００を管理するために利用されるデータの構造の一例を模式的に示す図である。図７に示されたデータは、デバイス名と、ＧＷソフトウェアのバージョンと、各ＭＦＰ１００におけるジョブの実行頻度とを関連付ける。たとえば、図７の表は、「ＭＦＰ１００Ａ」と「Ｖｅｒ．４」と「１０ジョブ／１日」とを関連付ける。このことは、ＭＦＰ１００ＡにインストールされているＧＷソフトウェアのバージョンが「４」であり、かつ、ＭＦＰ１００Ａのジョブの実行頻度が１日あたり１０件であることを意味している。本実施の形態では、バージョンの数が大きいほど、新しくリリースされたＧＷソフトウェアであることを示す。
【００４８】
本実施の形態では、各ＭＦＰ１００は、たとえば当該ＭＦＰ１００におけるジョブの実行ログに従って、当該ＭＦＰ１００のジョブの実行頻度を算出する。ＧＷは、当該ＧＷを介してクラウドサーバー４００と通信するＭＦＰ１００のそれぞれから、各ＭＦＰ１００のジョブの実行頻度を取得してもよい。
【００４９】
［６．処理の流れ］
図８は、ＧＷとして動作するＭＦＰ１００において実行される処理のフローチャートである。図８を参照して、ＧＷの動作を説明する。ＭＦＰ１００のＣＰＵ１５０は、たとえばＧＷソフトウェアを実行することにより図８の処理を実現する。図８の処理は、たとえば、ＧＷソフトウェアの起動時に開始される。
【００５０】
ステップＳ１０にて、ＭＦＰ１００のＣＰＵ１５０は、ＧＷについて設定されている起動フラグの状態を確認する。起動フラグの状態は、「代行」「通常」「交代」が挙げられる。「通常」は、ＧＷとして通常の動作をする状態に相当する。「代行」は、ＬＡＮ２００において「通常」として動作していたＧＷのアップデート中に代行でＧＷとして動作をする状態に相当する。「交代」は、他のＧＷを代行のＧＷとして動作させた後、ＧＷとして復帰する状態を意味する。ＣＰＵ１５０は、起動フラグの状態が「代行」であればステップＳ１２へ、「通常」であればステップＳ２４へ、「交代」であればステップＳ３８へ、それぞれ制御を進める。
【００５１】
図８のステップＳ１０以降の制御は、ステップＳ１２〜ステップＳ２２、ステップＳ２４〜ステップＳ３４、および、ステップＳ３６〜ステップＳ４０に分けられる。まず、ステップＳ２４〜ステップＳ３４について説明する。
【００５２】
（ステップＳ２４〜ステップＳ３４）
ステップＳ２４にて、ＣＰＵ１５０は、登録フラグの状態が「ＯＦＦ」であるか否かを判断する。本実施の形態において、登録フラグは、ＧＷとしての情報のクラウドサーバー４００への登録が完了しているか否かを表わす。登録フラグの状態は「ＯＮ」または「ＯＦＦ」である。「ＯＮ」はＧＷとしての情報の登録が完了していることを表わし、「ＯＦＦ」は未だ当該情報の登録が完了していないことを表わす。ＣＰＵ１５０は、登録フラグの状態が「ＯＦＦ」であると判断すると（ステップＳ２４にてＹＥＳ）、ステップＳ２６へ制御を進め、そうでなければ（ステップＳ２４にてＮＯ）、ステップＳ３０へ制御を進める。
【００５３】
ステップＳ２６にて、ＣＰＵ１５０は、クラウドサーバー４００に、当該ＣＰＵ１５０を搭載しているＭＦＰ１００をＧＷとして認識するために必要な情報を登録する。このような情報として、ＣＰＵ１５０は、たとえばＭＦＰ１００のＩＰアドレスを登録する。これにより、クラウドサーバー４００は、当該ＩＰアドレスを使用してデータを送信した装置がＬＡＮ２００におけるＧＷであることを識別する。ステップＳ２８にて、ＣＰＵ１５０は、登録フラグの状態を「ＯＮ」にする。
【００５４】
ステップＳ３０にて、ＣＰＵ１５０は、ＧＷとして稼働する。これにより、ＣＰＵ１５０がＭＦＰ１００Ａに搭載されていれば、ＭＦＰ１００Ａは図１のスキム９００，９１０として示されたように、ＬＡＮ２００内のＭＦＰ１００とクラウドサーバー４００との間の通信を中継する。
【００５５】
ステップＳ３２にて、ＣＰＵ１５０は、切替指示を入力されたか否かを判断する。切替指示は、ＬＡＮ２００のＧＷを他の装置へと切り替える指示であり、たとえば、ＲＭＳ６００（図１）等からネットワークを介してＭＦＰ１００に入力される。切替指示は、作業員がＭＦＰ１００を直接操作することによって、ＭＦＰ１００に入力されてもよい。ＣＰＵ１５０は、当該指示が入力されていないと判断する（ステップＳ３２にてＮＯ）、ステップＳ３０にてＧＷとしての稼働を継続し、当該指示が入力されていると判断すると（ステップＳ３２にてＹＥＳ）、ステップＳ３４へ制御を進める。
【００５６】
ステップＳ３４にて、ＣＰＵ１５０は、ＧＷ切替処理を実行する。図９は、図８のＧＷ切替処理のサブルーチンのフローチャートである。図９を参照して、ＧＷ切替処理について説明する。
【００５７】
ステップＳ３４００にて、ＣＰＵ１５０は、切替指示（ステップＳ３２）において指定されるＧＷソフトウェアのバージョンを読み出す。ステップＳ３４０２にて、ＣＰＵ１５０は、当該ＣＰＵ１５０によって実現されるＧＷの支配下にあるＭＦＰ１００から、ステップＳ３４００において読み出したバージョン以上のバージョンのＧＷソフトウェアをインストールされているＭＦＰ１００を検索する。
【００５８】
本明細書において「ＧＷの支配下にある」とは、「ＧＷを利用してＬＡＮ２００外の装置と通信する」ことを意味する。たとえば、ＬＡＮ２００においてＭＦＰ１００ＡがＧＷとして稼働している場合、ＬＡＮ２００内のＭＦＰ１００Ｂ，１００Ｃ，１００Ｄ，１００ＥはＭＦＰ１００Ａを介してＬＡＮ２００外の装置（クラウドサーバー４００）と通信する。したがって、ＭＦＰ１００Ｂ，１００Ｃ，１００Ｄ，１００ＥはＭＦＰ１００Ａの支配下にある、と言える。また、ＭＦＰ１００Ａにおいて、ＧＷ以外の機能（画像処理装置としてジョブを実行する機能）は、ＧＷを介してクラウドサーバー４００と通信する。したがって、ＭＦＰ１００ＡのＧＷ以外の機能はＭＦＰ１００ＡのＧＷの支配下にある、と言える。ただし、ステップＳ３４０２では、ＣＰＵ１５０は、ＭＦＰ１００ＡにインストールされたＧＷソフトウェア以外のＧＷソフトウェアのバージョンを検索する。したがって、ＭＦＰ１００Ｂ〜１００ＥのそれぞれにインストールされたＧＷソフトウェアについて検索を実行する。
【００５９】
図７の例では、ＭＦＰ１００Ｂ，１００Ｃ，１００Ｄ，１００ＥのそれぞれのＧＷのバージョンは、「５」，「６」，「２」，「２」である。たとえば、ステップＳ３４００において読み出したバージョンが「５」である場合、ステップＳ３４０２の検索結果はＭＦＰ１００Ｂ，１００Ｃである。ステップＳ３４００において読み出したバージョンが「６」である場合、ステップＳ３４０２の検索結果はＭＦＰ１００Ｃである。
【００６０】
ステップＳ３４０４にて、ＣＰＵ１５０は、ステップＳ３４０２の検索の結果として得られらたＭＦＰ１００の数を確認する。ＣＰＵ１５０は、当該数が「２台以上」であればステップＳ３４０６へ、当該数が「１台」であればステップＳ３４１６へ、当該数が「０台」であればステップＳ３４１０へ、それぞれ制御を進める。
【００６１】
ステップＳ３４０６にて、ＣＰＵ１５０は、検索結果として得られたＭＦＰ１００の全てから使用頻度を取得する。ステップＳ３４０８にて、ＣＰＵ１５０は、ステップＳ３４０６にて取得した使用頻度のうち最も低いものに対応するＧＷ（ＭＦＰ１００）を、代行ＧＷとして指定する。「使用頻度」の一例は、ＭＦＰ１００における画像処理に関するジョブの実行の頻度（図７のジョブ実行頻度）である。
【００６２】
図７の例において、ＭＦＰ１００Ｂのジョブ実行頻度は、１日あたり６ジョブである。ＭＦＰ１００Ｃのジョブ実行頻度は、１日あたり１２０ジョブである。ＭＦＰ１００Ｃの方がＭＦＰ１００Ｂより１日当たり実行されるジョブの数が少ない。したがって、ステップＳ３４０２の検索結果がＭＦＰ１００ＢとＭＦＰ１００Ｃであった場合、ＣＰＵ１５０は、ステップＳ３４０６にてＭＦＰ１００Ｂを代行ＧＷとして指定する。
【００６３】
ステップＳ３４１０にて、ＣＰＵ１５０は、当該ＣＰＵ１５０が搭載されているＭＦＰ１００の支配下にあるすべてのＭＦＰから各ＭＦＰ１００の使用頻度を取得する。ステップＳ３４１２にて、ＣＰＵ１５０は、ステップＳ３４１０において取得した使用頻度のうち最も使用頻度が低いＭＦＰを代行ＧＷとして指定する。ステップＳ３４１４にて、ＣＰＵ１５０は、ステップＳ３４１２にて代行ＧＷとして指定したＭＦＰに対して、切替指示において指定されているバージョン以上のバージョンまでＧＷソフトウェアをアップデートすることを指示する。
【００６４】
たとえば、切替指示においてバージョン「７」が指定された場合、図７の例では、ＬＡＮ２００内に当該バージョンを満足するＭＦＰが存在しない。この場合、ＭＦＰ１００ＡのＣＰＵ１５０は、ＭＦＰ１００Ｂ〜１００Ｅのうち最も使用頻度が低いＭＦＰ１００Ｂに、ＧＷソフトウェアのバージョンを「７」以上にアップデートすることを指示する。
【００６５】
ステップＳ３４１６にて、ＣＰＵ１５０は、クラウドサーバー４００に代行ＧＷの情報を登録する。登録される情報は、代行ＧＷをＬＡＮ２００のＧＷとして認識するために必要な情報であり、たとえば、代行ＧＷとして指定されたＭＦＰのＩＰアドレスである。ステップＳ３４０４にて検索結果として得られたＭＦＰの数が「１台」であった場合には、当該ＭＦＰが代行ＧＷとして指定される。なお、ＣＰＵ１５０は、ステップＳ３４１４において指示したアップデートの完了を待って、ステップＳ３４１６の制御を実行してもよい。
【００６６】
ステップＳ３４１８にて、ＣＰＵ１５０は、代行ＧＷとして指定されたＭＦＰ１００にＧＷソフトウェアの起動を指示する。このとき、ＣＰＵ１５０は、代行ＧＷに対して、ＧＷとして稼働するのに必要な情報（中継情報）を送信してもよい。このような情報は、たとえば、クラウドサーバー４００にＧＷとしてログインするための情報（ＩＰアドレス、ＩＤ、パスワード等）、ＧＷの支配下のＭＦＰ１００を特定する情報、ＧＷ個体情報、および／または、顧客情報を含む。また、ステップＳ３４１８にて、ＣＰＵ１５０は、代行ＧＷにおいて、起動フラグの状態を「代行」とすることを指示する。これに応じて、当該指示を受信したＭＦＰ（代行ＧＷ）は、起動フラグの状態を「代行」に設定してもよい。
【００６７】
図１に示された例では、ＭＦＰ１００ＡがＧＷとして稼働している。代行ＧＷとしてＭＦＰ１００Ｂが指定された場合、ＭＦＰ１００ＡのＣＰＵ１５０は、ＭＦＰ１００ＢにＧＷソフトウェアの起動を指示する。これに応じて、ＭＦＰ１００ＢのＣＰＵ１５０は、ＧＷソフトウェアを起動する。このＧＷソフトウェアの起動は、ステップＳ１２〜ステップＳ２２の制御として後述する。
【００６８】
ステップＳ３４２０にて、ＣＰＵ１５０は、中継モードで稼働する。中継モードとは、ＬＡＮ２００内で、ＭＦＰ１００とＧＷとの通信を中継する動作モードである。なお、ＣＰＵ１５０は、代行ＧＷの稼働のための制御（後述するステップＳ１２，Ｓ１４）の完了を認識したことを条件として、中継モードでの稼働を開始してもよい。すなわち、たとえばＭＦＰ１００ＡからＭＦＰ１００ＢにＧＷが切り替えられる場合、ＭＦＰ１００ＢのＣＰＵ１５０は、ステップＳ１２，Ｓ１４の制御の完了をＭＦＰ１００Ａに通知する。ＭＦＰ１００ＡのＣＰＵ１５０は、当該通知を受けたことを条件として、ＭＦＰ１００Ａの動作モードを、ＧＷから中継モードへと切替える。
【００６９】
その後、ＣＰＵ１５０は、代行ＧＷから中継モードを終了する指示（ステップＳ２２０４）を受信するまで、中継モードで稼働する。
【００７０】
ある実施の形態では、ＧＷとして稼働しているＭＦＰ１００Ａは、ＲＭＳ６００等から切替指示を受けると、ＭＦＰ１００Ｂに対して、当該ＭＦＰ１００ＢにインストールされているＧＷソフトウェアを起動して代行ＧＷとして稼働することを指示する。ＭＦＰ１００Ａは、その後、中継モードで動作することにより、代行ＧＷ（ＭＦＰ１００Ｂ）とＬＡＮ２００内のＭＦＰ１００との通信を中継する。
【００７１】
ＭＦＰ１００Ａは、中継モードで稼働しながら、当該ＭＦＰ１００ＡにインストールされているＧＷソフトウェアをアップデート（バージョンアップ等）してもよい。これにより、ＭＦＰ１００Ａが、当該ＭＦＰ１００ＡのＧＷソフトウェアのアップデート等によりＧＷとして稼働できない期間においても、ＬＡＮ２００においてＧＷが不在になる期間が生じることが回避される。
【００７２】
ＬＡＮ２００において、代行ＧＷとして必要とされるバージョンのＧＷソフトウェアをインストールされているＭＦＰが存在しない場合、ＭＦＰ１００Ａは、ＬＡＮ２００内の１台のＭＦＰを代行ＧＷとして選択し、選択されたＭＦＰに対して、ＧＷソフトウェアのアップデートおよびＧＷソフトウェアの起動を指示してもよい（ステップＳ３４１０〜Ｓ３４１４，Ｓ３４１６，Ｓ３４１８）。ＧＷソフトウェアの起動は、ＧＷソフトウェアのアップデートの完了後に指示されてもよい。
【００７３】
なお、代行ＧＷを特定する情報は切替指示に含まれていてもよい。このような場合、ＧＷとして稼働しているＭＦＰのＣＰＵ１５０は、代行ＧＷを選択（ステップＳ３６０２〜Ｓ３６１４）に関する制御を実行する必要が無い。代わりに、ＣＰＵ１５０は、ステップＳ３６００において読み出したバージョンと切替指示によって特定されたＭＦＰのＧＷのバージョンとを比較する。後者のバージョンが前者のバージョンより低い場合には、切替指示によって特定されたＭＦＰに対してＧＷのアップデート（Ｓ３６１４）を指示する。
【００７４】
（ステップＳ１２〜ステップＳ２２）
図８に戻って、ステップＳ１２〜ステップＳ２２について説明する。ステップＳ１２〜ステップＳ２２は、代行ＧＷとして選択されたＭＦＰによって実行される。ＣＰＵ１５０は、たとえばステップＳ３４１８（図９）の起動指示を受けたときに起動フラグの状態を「代行」に設定する。
【００７５】
ステップＳ１２にて、ＣＰＵ１５０は、設定情報を当該ＣＰＵ１５０が搭載されているＭＦＰ１００のデータベース（ＤＢ）に反映させる。設定情報は、ＧＷとして稼働するのに必要な情報であり、たとえば、ＧＷとして起動しているＭＦＰから代行ＧＷへステップＳ３４１８にて送信される。
【００７６】
ステップＳ１４にて、ＣＰＵ１５０は、ＬＡＮ２００内の通信の転送先として、旧ＧＷを設定する。「旧ＧＷ」とは、現在ＧＷとして稼働しており、これから中継モードに移行する、ＧＷを意味する。たとえば、ＧＷがＭＦＰ１００ＡからＭＦＰ１００Ｂに移行する場合、ＭＦＰ１００ＢのＣＰＵ１５０がステップＳ１４を実行しているとき、ＭＦＰ１００Ａ（のＧＷ）が「旧ＧＷ」に相当する。
【００７７】
ステップＳ１６にて、ＣＰＵ１５０は、登録フラグの状態を「ＯＮ」に設定する。
ステップＳ１８にて、ＣＰＵ１５０は、ＬＡＮ２００内のＧＷとして稼働する。これにより、ＬＡＮ２００内のＧＷがステップＳ１８を実行するＣＰＵ１５０を搭載されているＭＦＰへと切り替わる。ステップＳ１８の状態は、たとえば図４に示される。ステップＳ１８を実行するＣＰＵ１５０を搭載されているＭＦＰは、図４中の「ＭＦＰ１００Ｂ」である。
【００７８】
ステップＳ２０にて、ＣＰＵ１５０は、交代指示を受信したか否かを判断する。交代指示は、ＣＰＵ１５０が搭載されているＭＦＰから別の装置へ、ＧＷの役割を切り替える指示である。交代指示は、ＲＭＳ６００等からネットワークを通じて、または、作業員がＭＦＰ１００を直接操作することにより、ＭＦＰ１００に入力される。ＣＰＵ１５０は、交代指示が入力されるまでステップＳ１８にてＧＷとして稼働し（ステップＳ２０にてＮＯ）、交代指示が入力されるとステップＳ２２へ制御を進める。
【００７９】
ステップＳ２２にて、ＣＰＵ１５０はＧＷ交代処理を実行する。図１０は、ＧＷ交代処理のサブルーチンのフローチャートである。
【００８０】
図１０を参照して、ステップＳ２２００にて、ＣＰＵ１５０は、交代対象のＧＷ（以下、「交代ＧＷ」とも称する）の情報を読み出す。交代ＧＷの情報は、たとえば、交代ＧＷをインストールされているＭＦＰのＩＰアドレスを含む。交代ＧＷの情報は、交代指示に含まれていてもよい。ある実施の形態では、作業員は、どのＭＦＰにＧＷを交代するかを含む交代指示を、代行ＧＷに入力する。なお、代行ＧＷが、使用頻度等に従って代行ＧＷの支配下にあるＭＦＰ１００から交代ＧＷを選択してもよい。
【００８１】
ステップＳ２２０２にて、ＣＰＵ１５０は、クラウドサーバー４００に、交代ＧＷのＭＦＰをＧＷとして認識するために必要な情報を登録する。当該情報の一例は、交代ＧＷをインストールされているＭＦＰのＩＰアドレスである。これにより、クラウドサーバー４００は、当該ＩＰアドレスを使用してデータをした装置がＬＡＮ２００におけるＧＷであることを識別する。
【００８２】
ステップＳ２２０４にて、ＣＰＵ１５０は、交代ＧＷを搭載されたＭＦＰに、ＧＷソフトウェアの起動を指示する。ＣＰＵ１５０は、当該指示とともに、ＧＷとして稼働するために必要な情報を送信してもよい。当該情報は、クラウドサーバー４００にＧＷとしてログインするための情報（ＩＤおよびパスワード）、ＧＷの支配下にあるＭＦＰ１００の情報（ＩＰアドレス等）、ＧＷ個体情報、および／または、顧客情報を含む。ＣＰＵ１５０は、上記指示とともに、起動フラグの状態を「交代」に設定する指示を送信してもよい。
【００８３】
図３に示された例では、ＭＦＰ１００Ｂが代行ＧＷとして稼働している。交代ＧＷがＭＦＰ１００Ａであれば、ＭＦＰ１００ＢのＣＰＵ１５０は、ステップＳ２２０４にて、ＭＦＰ１００ＡにＧＷソフトウェアの起動を指示する。これに応じて、ＭＦＰ１００ＡのＣＰＵ１５０は、ＧＷソフトウェアを起動する。このＧＷソフトウェアの起動は、ステップＳ３６〜ステップＳ４０の制御として後述する。
【００８４】
ステップＳ２２０４にて、ＣＰＵ１５０は、さらに、中継モードで稼働しているＧＷ（ＭＦＰ）に対して、中継モードでの稼働を終了する指示を送信してもよい。これに応じて、中継モードで稼働しているＧＷ（ＭＦＰ）は、中継モードを終了する。中継モードで稼働しているＧＷと交代ＧＷとは、同一のＧＷであってもよい。
【００８５】
ステップＳ２２０６にて、ＣＰＵ１５０は、ＧＷソフトウェアの実行を終了することにより、ＧＷの機能をシャットダウンする。これにより、図１０の処理は終了する。
【００８６】
以上、図１０のＧＷ交代処理として示されたように、代行ＧＷは、交代指示を入力されると、交代ＧＷの情報をクラウドサーバー４００に登録し、交代ＧＷにＧＷソフトウェアの起動を指示した後、当該代行ＧＷにおけるＧＷとしての機能をシャットダウンする。代行ＧＷは、交代ＧＷにおけるＧＷソフトウェアの起動の完了を確認した後、当該代行ＧＷにおけるＧＷ機能をシャットダウンしてもよい。
【００８７】
（ステップＳ３６〜ステップＳ４０）
図８に戻って、ステップＳ３６〜ステップＳ４０について説明する。ステップＳ３６〜ステップＳ４０は、交代ＧＷとして指定されたＭＦＰ１００のＣＰＵ１５０によって実行される。交代ＧＷは、代行ＧＷを選択したＧＷ（図１の例におけるＭＦＰ１００Ａ）であってもよい。
【００８８】
ステップＳ３６にて、ＣＰＵ１５０は、設定情報を当該ＣＰＵ１５０を搭載されているＭＦＰ１００において反映させる。設定情報は、たとえばステップＳ２２０４において送信される、ＧＷとして稼働するために必要な情報である。
【００８９】
ステップＳ３８にて、ＣＰＵ１５０は、登録フラグの状態をＯＮにする。ステップＳ３８の制御は、当該ＣＰＵ１５０が搭載されているＭＦＰ１００の情報を、代行ＧＷがステップＳ２２０２にて登録していることに基づく。
【００９０】
ステップＳ４０にて、ＣＰＵ１５０は、起動フラグの状態を「通常」に設定する。これにより、ＣＰＵ１５０は、ＧＷソフトウェアを再起動した場合、ステップＳ２４〜ステップＳ４０の制御を実行する。
【００９１】
ステップＳ４０の制御の後、ＣＰＵ１５０は、制御をステップＳ３０へ移行させる。これにより、ＣＰＵ１５０が搭載されたＭＦＰ１００は、通常のＧＷとして稼働する。
【００９２】
［７．クラウドサーバーにおいてデータが登録される態様］
この実施の形態のＳ３４１６（図９）およびＳ２２０２（図１０）では、クラウドサーバーにおいてＧＷを特定する情報が登録される。当該情報の登録は、上書きであってもよいし、追加であってもよい。
【００９３】
図１１は、クラウドサーバー４００においてＧＷの情報が上書きされるときの、登録される情報の一例を模式的に示す図である。図１１において、分図（Ａ）は登録前の状態を表わし、分図（Ｂ）は登録後の状態を表わす。
【００９４】
分図（Ａ）に示されるように、クラウドサーバー４００の記憶装置４０３には、ＧＷの情報の一例としてＩＰアドレス（ＸＸＸ．ＸＸＸ．ＸＸＸ．ＸＸＸ）が登録されている。分図（Ｂ）では、記憶装置４０３には、分図（Ａ）のＩＰアドレスとは異なるＩＰアドレスが変更されている（ＸＸＸ．ＸＸＸ．ＸＸＸ．ＹＹＹ）が登録されている。「ＸＸＸ．ＸＸＸ．ＸＸＸ．ＸＸＸ」は、たとえば通常のＧＷとして稼働しているＭＦＰ１００のＩＰアドレスである。「ＸＸＸ．ＸＸＸ．ＸＸＸ．ＹＹＹ」は、たとえば代行ＧＷとして稼働しているＭＦＰ１００のＩＰアドレスである。
【００９５】
図１２は、クラウドサーバー４００においてＧＷの情報が追加されるときの、登録される情報の一例を模式的に示す図である。図１２において、分図（Ａ）は登録前の状態を表わし、分図（Ｂ）は登録後の状態を表わす。
【００９６】
分図（Ａ）に示されるように、クラウドサーバー４００の記憶装置４０３は、２以上のＩＰアドレスと、各ＩＰアドレスに対応した有効フラグの状態とを格納するように構成されている。有効フラグの状態は、ＧＷとして有効なＩＰアドレスか否かを表わす。状態「ＯＮ」は、ＩＰアドレスが有効であることを示す。
【００９７】
分図（Ａ）では、記憶装置４０３において、ＩＰアドレスとして「ＸＸＸ．ＸＸＸ．ＸＸＸ．ＸＸＸ」のみが登録され、当該ＩＰアドレスに対応する有効フラグの状態は「ＯＮ」である。
【００９８】
分図（Ｂ）では、記憶装置４０３において、ＩＰアドレス「ＸＸＸ．ＸＸＸ．ＸＸＸ．ＸＸＸ」に加えて、ＩＰアドレス「ＸＸＸ．ＸＸＸ．ＸＸＸ．ＹＹＹ」が登録されている。ＩＰアドレス「ＸＸＸ．ＸＸＸ．ＸＸＸ．ＸＸＸ」の有効フラグの状態は、「ＯＦＦ」であり、ＩＰアドレス「ＸＸＸ．ＸＸＸ．ＸＸＸ．ＹＹＹ」の有効フラグの状態は、「ＯＮ」である。このことは、「ＸＸＸ．ＸＸＸ．ＸＸＸ．ＸＸＸ」がＧＷのＩＰアドレスとして無効であり、「ＸＸＸ．ＸＸＸ．ＸＸＸ．ＹＹＹ」がＧＷのＩＰアドレスとして有効であることを表わす。
【００９９】
図１１を参照して説明された「上書き」によれば、クラウドサーバー４００において必要とされる記憶容量が最小限に抑えられる。図１２を参照して説明された「追加」によれば、一旦ＧＷとしての機能をシャットダウンされたＭＦＰ１００が再度ＧＷとして復活する場合、再度当該ＭＦＰ１００のＧＷのＩＰアドレスをクラウドサーバー４００へ送信する必要がなくなる。
【０１００】
［８．ＧＷ（ＭＦＰ）においてデータが登録される態様］
この実施の形態において、ＭＦＰ１００は、ＧＷとして稼働することもできるし、中継モードで稼働することもできる。ＭＦＰ１００は、クラウドサーバー４００に向けられたデータを、ＧＷとして稼働しているときにはクラウドサーバー４００に送信し、中継モードで稼働しているときにはＬＡＮ２００内のＧＷに送信する。すなわち、クラウドサーバー４００に向けられたデータの送信先が、状態によって変化する。このような送信先を特定する情報は、ＭＦＰ１００において、上書きで登録されていもよいし、追加で登録されてもよい。
【０１０１】
図１３は、ＭＦＰ１００において送信先の情報が上書きされるときの、登録される情報の一例を模式的に示す図である。図１３において、分図（Ａ）は登録前の状態を表わし、分図（Ｂ）は登録後の状態を表わす。
【０１０２】
分図（Ａ）に示されるように、ＭＦＰ１００の記憶部１６０には、送信先の情報の一例としてＩＰアドレス（ＡＡＡ．ＡＡＡ．ＡＡＡ．ＡＡＡ）が登録されている。分図（Ｂ）では、記憶部１６０には、分図（Ａ）のＩＰアドレスとは異なるＩＰアドレスが変更されている（ＸＸＸ．ＸＸＸ．ＸＸＸ．ＹＹＹ）が登録されている。「ＡＡＡ．ＡＡＡ．ＡＡＡ．ＡＡＡ」は、たとえば、クラウドサーバー４００のＩＰアドレスである。「ＸＸＸ．ＸＸＸ．ＸＸＸ．ＹＹＹ」は、たとえば、代行ＧＷとして稼働しているＭＦＰ１００のＩＰアドレスである。
【０１０３】
図１４は、ＭＦＰ１００において送信先の情報が追加されるときの、登録される情報の一例を模式的に示す図である。図１４において、分図（Ａ）は登録前の状態を表わし、分図（Ｂ）は登録後の状態を表わす。
【０１０４】
分図（Ａ）に示されるように、ＭＦＰ１００の記憶部１６０は、２以上のＩＰアドレスと、各ＩＰアドレスに対応した有効フラグの状態とを格納するように構成されている。有効フラグの状態は、送信先として有効なＩＰアドレスか否かを表わす。状態「ＯＮ」は、ＩＰアドレスが有効であることを示す。
【０１０５】
分図（Ａ）では、記憶部１６０において、ＩＰアドレスとして「ＡＡＡ．ＡＡＡ．ＡＡＡ．ＡＡＡ」のみが登録され、当該ＩＰアドレスに対応する有効フラグの状態は「ＯＮ」である。
【０１０６】
分図（Ｂ）では、記憶部１６０において、ＩＰアドレス「ＡＡＡ．ＡＡＡ．ＡＡＡ．ＡＡＡ」に加えて、ＩＰアドレス「ＸＸＸ．ＸＸＸ．ＸＸＸ．ＹＹＹ」が登録されている。ＩＰアドレス「ＡＡＡ．ＡＡＡ．ＡＡＡ．ＡＡＡ」の有効フラグの状態は、「ＯＦＦ」であり、ＩＰアドレス「ＸＸＸ．ＸＸＸ．ＸＸＸ．ＹＹＹ」の有効フラグの状態は、「ＯＮ」である。このことは、「ＡＡＡ．ＡＡＡ．ＡＡＡ．ＡＡＡ」が送信先のＩＰアドレスとして無効であり、「ＸＸＸ．ＸＸＸ．ＸＸＸ．ＹＹＹ」が送信先のＩＰアドレスとして有効であることを表わす。
【０１０７】
図１３を参照して説明された「上書き」によれば、記憶部１６０において必要とされる記憶容量が最小限に抑えられる。図１４を参照して説明された「追加」によれば、ＧＷとして稼働していたＭＦＰ１００が中継モードで稼働した後、再度ＧＷとして復活する場合でも、記憶部１６０における送信先の情報としてクラウドサーバー４００のＩＰアドレスを登録し直す必要がなくなる。
【０１０８】
［９．開示の要約］
本開示は、以下のように要約され得る。
【０１０９】
＜１＞本開示のある局面に従うと、所定のネットワーク内の第１の通信装置（ＭＦＰ１００Ａ）および第２の通信装置（ＭＦＰ１００Ｂ）と、所定のネットワーク外のサーバー（クラウドサーバー４００）と、を備えるネットワークシステムが提供される。
【０１１０】
第１の通信装置は、第２の通信装置と通信するように構成された第１の通信インターフェース（ネットワーク通信部１５５）と、第１の通信インターフェースを利用して、所定のネットワーク内の機器とサーバーとの通信の中継装置としての稼働を実現するように構成された第１のプロセッサー（ＣＰＵ１５０）とを含む。
【０１１１】
第１のプロセッサーは、中継装置として稼働しているときに中継装置の切替を指示する切替指示を受信した場合に、第２の通信装置に、中継装置としてサーバーと通信するための中継情報（ステップＳ３４１８にて送信される中継情報）と、中継装置としてサーバーと通信する指示（ステップＳ３４１８にて送信されるＧＷソフトウェアの起動指示）とを送信するように構成されている。また、第１のプロセッサーは、サーバーに向けられたデータを第２の通信装置に送信するように構成されている（図４のＳＢ２２）。
【０１１２】
第２の通信装置は、第１の通信装置と通信するように構成された第２の通信インターフェースと、第２の通信インターフェースを利用して通信するように構成された第２のプロセッサーとを含む。第２のプロセッサーは、指示に応じてサーバーと中継装置としての通信を開始するように構成されている（図３等）。
【０１１３】
＜２＞第１のプロセッサーは、指示の送信前に、中継装置として第２の通信装置を特定する情報をサーバーに送信するように構成されていていもよい（ステップＳ３４１８の前にステップＳ３４１６が実行されること）。
【０１１４】
＜３＞サーバーは、中継装置を特定する装置の情報として、第２の通信装置を特定する情報のみを格納するように構成されていてもよい（図１１の分図（Ｂ））。
【０１１５】
＜４＞サーバーは、中継装置を特定する装置の情報として、２以上の装置を特定する情報を格納するように構成されていてもよい（図１２）。サーバーは、第２の通信装置を特定する情報を他の装置を特定する情報とは区別するように格納するように構成されていてもよい（図１２の分図（Ｂ））。
【０１１６】
＜５＞第１のプロセッサーは、中継装置用ソフトウェアのバージョンに関する条件に従って第２の通信装置を選択するように構成されていてもよい（図９のステップＳ３４０２）。
【０１１７】
＜６＞第１のプロセッサーは、所定のネットワークにおいて条件を満足する２以上の装置を検出した場合には、当該２以上の装置のうち使用頻度が最も低い装置を第２の通信装置として選択するように構成されていてもよい（図９のステップＳ３４０４）。
【０１１８】
＜７＞第１のプロセッサーは、所定のネットワークにおいて条件を満足する装置を検出できなかった場合には、所定のネットワークにおいて最も使用頻度が低い装置に対して条件において規定されるバージョン以上のバージョンへの中継装置用ソフトウェアのアップデートを指示するように構成されていてもよい（図９のＳ３４１４）。
【０１１９】
＜８＞第１のプロセッサーは、所定のネットワークにおいて第１の通信装置によってサーバーとの通信を中継される装置の中から、第２の通信装置を選択するように構成されていてもよい（図９のＳ３４０２において、支配下にあるＭＦＰから代行ＧＷを選択）。
【０１２０】
＜９＞第１の通信装置は、記憶装置をさらに備えていてもよい。記憶装置には、第１の通信装置が中継装置として稼働しているときには、所定のネットワーク内の装置から受信したデータの送信先としてサーバーを特定する情報が登録されていてもよい。第１のプロセッサーは、切替指示を受信した場合に、送信先として第２の通信装置を特定する情報を記憶装置に登録するように構成されていてもよい（図１３，図１４）。
【０１２１】
＜１０＞第１のプロセッサーは、記憶装置において、送信先として第２の通信装置を特定する情報のみを登録するように構成されていてもよい（図１３の分図（Ｂ））。
【０１２２】
＜１１＞第１のプロセッサーは、記憶装置において、送信先としてサーバーを特定する情報と第２の通信装置を特定する情報とを登録し、第２の通信装置を特定する情報をサーバーを特定する情報とは区別するように登録するように構成されていてもよい（図１４の分図（Ｂ））。
【０１２３】
＜１２＞第１の通信装置および第２の通信装置の少なくとも一方は画像処理装置と一体的に構成されていてもよい（図５においてＭＦＰ１００がゲートウェイ機能４０を有すること）。
【０１２４】
今回開示された各実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内での全ての変更が含まれることが意図される。また、実施の形態および各変形例において説明された発明は、可能な限り、単独でも、組合わせても、実施することが意図される。
【符号の説明】
【０１２５】
１００，１００Ａ〜１００Ｅ  ＭＦＰ、１５０，４０１  ＣＰＵ、２００  ＬＡＮ、３００  クラウドネットワーク、４００  クラウドサーバー、４０３  記憶装置、４０４  通信インターフェース、５００  クライアント、９００，９０１，９１０，９１１  スキム。
【図１】
2018191151.tif 000003
【図２】
2018191151.tif 000004
【図３】
2018191151.tif 000005
【図４】
2018191151.tif 000006
【図５】
2018191151.tif 000007
【図６】
2018191151.tif 000008
【図７】
2018191151.tif 000009
【図８】
2018191151.tif 000010
【図９】
2018191151.tif 000011
【図１０】
2018191151.tif 000012
【図１１】
2018191151.tif 000013
【図１２】
2018191151.tif 000014
【図１３】
2018191151.tif 000015
【図１４】
2018191151.tif 000016