(57)【特許請求の範囲】
【請求項１】
ファイアーウォールの外部に配置され、ファイアーウォールの内部に配置された制御対象装置とファイアーウォールの外部に配置されたクラウドサーバーとの間の通信の接続を支援する管理サーバーであって、
前記ファイアーウォールの内部に配置された中継装置からの要求に基づいて、前記中継装置との間で通信するための通信セッションを確立するサーバー側確立手段と、
前記確立された通信セッションを介して、前記中継装置から前記制御対象装置に関する装置情報を取得する装置情報取得手段と、
前記クラウドサーバーから前記制御対象装置に接続するための接続要求が受信されることに応じて、前記装置情報を更新するか否かを決定する更新決定手段と、を備え、
前記装置情報取得手段は、前記サーバー側確立手段によって前記中継装置との間で通信セッションが確立される際に、前記装置情報を前記中継装置から取得する確立時取得手段と、
前記更新決定手段により更新することが決定された後に、前記装置情報を前記中継装置から取得する要求時取得手段と、を含む、管理サーバー。
【請求項２】
前記更新決定手段は、前記クラウドサーバーから受信される接続要求に含まれ、前記制御対象装置を制御する内容を示す制御情報に基づいて、更新可否を決定する処理基準決定手段を、含む請求項１に記載の管理サーバー。
【請求項３】
前記処理基準決定手段は、前記制御情報が前記制御対象装置に予め定められた第１の種類の処理を実行させる内容を示す場合、前記装置情報を更新することを決定する、請求項２に記載の管理サーバー。
【請求項４】
前記処理基準決定手段は、前記制御情報が前記制御対象装置に予め定められた第２の種類の処理を実行させる内容を示す場合、前記装置情報を更新しないことを決定する、請求項２に記載の管理サーバー。
【請求項５】
前記更新決定手段は、前記装置情報取得手段により前記装置情報が最後に取得されてからの経過時間に基づいて、更新可否を決定する時間基準決定手段を含む、請求項１〜４のいずれかに記載の管理サーバー。
【請求項６】
前記時間基準決定手段は、前記装置情報取得により前記装置情報が最後に取得されてからの経過時間が所定の時間以内の場合、更新しないことを決定する、請求項５に記載の管理サーバー。
【請求項７】
前記更新決定手段により更新しないことが決定される場合、前記装置情報を更新することなく前記制御対象装置にトンネル接続させるための簡易接続要求を前記中継装置に送信する簡易接続要求手段と、
前記更新決定手段により更新することが決定される場合、前記装置情報を更新した後に前記制御対象装置にトンネル接続させるための正規接続要求を前記中継装置に送信する正規接続要求手段と、をさらに備え、
前記要求時取得手段は、前記正規接続要求を受信する前記中継装置が送信する装置情報を取得する、請求項１〜６のいずれかに記載の管理サーバー。
【請求項８】
前記中継装置は、
前記クラウドサーバーとの間で第１通信セッションを確立する第１セッション確立手段と、
前記制御対象装置との間で第２通信セッションを確立する第２セッション確立手段と、
前記第１通信セッションと前記第２通信セッションとを用いて、前記クラウドサーバーと前記制御対象装置との間の通信を中継する中継手段と、
前記管理サーバーとの間で確立された前記第１通信セッションを介して、前記管理サーバーから前記正規接続要求が受信されることに応じて、当該正規接続要求で特定される前記制御対象装置から前記第２通信セッションを介して前記装置情報を取得する装置側取得手段を備える、請求項７に記載の管理サーバー。
【請求項９】
前記第１通信セッション確立手段は、前記管理サーバーから前記簡易接続要求が受信されることに応じて、前記第１通信セッションを確立し、前記管理サーバーから前記正規接続要求が受信される場合、前記装置側取得手段によって前記装置情報が送信された後に前記管理サーバーから接続指示が受信されることを条件に、前記第１通信セッションを確立する、請求項８に記載の管理サーバー。
【請求項１０】
前記装置情報取得手段により取得された前記装置情報に基づいて、前記制御対象装置が前記クラウドサーバーから受信される接続要求に含まれ、前記制御対象装置を制御する内容を示す制御情報で特定される処理の実行が可能か否かを判断する実行可否判断手段を、さらに備え、
前記実行可否判断手段は、前記更新決定手段により更新することが決定される場合は、前記要求時取得手段により取得された前記装置情報に基づいて実行可否を判断し、前記更新決定手段により更新しないことが決定される場合は、前記装置情報取得手段により前記クラウドサーバーから前記接続要求を受信する前に取得された前記装置情報に基づいて実行可否を判断する、請求項１〜９のいずれかに記載の管理サーバー。
【請求項１１】
前記装置情報取得手段により取得された前記装置情報に基づいて、前記制御対象装置が前記クラウドサーバーから受信される接続要求に含まれ、前記制御対象装置を制御する内容を示す制御情報で特定される処理の実行が可能か否かを判断する実行可否判断手段を、さらに備え、
前記実行可否判断手段は、前記更新決定手段により更新することが決定される場合は、前記要求時取得手段により取得された前記装置情報に基づいて実行可否を判断し、前記更新決定手段により更新しないことが決定される場合は、前記装置情報取得手段により前記クラウドサーバーから前記接続要求を受信する前に取得された前記装置情報に基づいて実行可否を判断し、
前記簡易接続要求手段は、前記実行可否判断手段によって実行可能であると判断されることを条件に、前記簡易接続要求を送信する、請求項７〜９のいずれかに記載の管理サーバー。
【請求項１２】
ファイアーウォールの外部に配置され、ファイアーウォールの内部に配置された制御対象装置をファイアーウォールの外部に配置されたクラウドサーバーとの間の通信の接続を支援する管理サーバーであって、
前記ファイアーウォールの内部に配置された中継装置から前記制御対象装置に関する装置情報を取得する装置情報取得手段と、
前記装置情報取得手段により取得された前記装置情報に基づいて、前記クラウドサーバーから受信される接続要求に含まれ、前記制御対象装置を制御する内容を示す制御情報で特定される処理の実行可否を判断する実行可否判断手段と、
前記実行可否判断手段によって実行可否が判断される前の段階で、前記装置情報を更新するか否かを決定する更新決定手段と、を備え、
前記実行可否判断手段は、前記更新決定手段により更新することが決定される場合は、前記装置情報取得手段により前記クラウドサーバーから前記接続要求を受信した後に取得された前記装置情報に基づいて実行可否を判断し、前記更新決定手段により更新しないことが決定される場合は、前記装置情報取得手段により前記クラウドサーバーから前記接続要求を受信する前に取得された前記装置情報に基づいて実行可否を判断する、管理サーバー。
【請求項１３】
ファイアーウォールの外部に配置され、ファイアーウォールの内部に配置された制御対象装置とファイアーウォールの外部に配置されたクラウドサーバーとの間の通信の接続を支援する管理サーバーで実行される接続支援方法であって、
前記ファイアーウォールの内部に配置された中継装置からの要求に基づいて、前記中継装置との間で通信するための通信セッションを確立するサーバー側確立ステップと、
前記確立された通信セッションを介して、前記中継装置から前記制御対象装置に関する装置情報を取得する装置情報取得ステップと、
前記クラウドサーバーから前記制御対象装置に接続するための接続要求が受信されることに応じて、前記装置情報を更新するか否かを決定する更新決定ステップと、を含み、
前記装置情報取得ステップは、前記サーバー側確立ステップにおいて前記中継装置との間で通信セッションが確立される際に、前記装置情報を前記中継装置から取得する確立時取得ステップと、
前記更新決定ステップにおいて更新することが決定された後に、前記装置情報を前記中継装置から取得する要求時取得ステップと、を含む、接続支援方法。
【請求項１４】
ファイアーウォールの外部に配置され、ファイアーウォールの内部に配置された制御対象装置をファイアーウォールの外部に配置されたクラウドサーバーとの間の通信の接続を支援する管理サーバーで実行される接続支援方法であって、
前記ファイアーウォールの内部に配置された中継装置から前記制御対象装置に関する装置情報を取得する装置情報取得ステップと、
前記装置情報取得ステップにおいて取得された前記装置情報に基づいて、前記クラウドサーバーから受信される接続要求に含まれ、前記制御対象装置を制御する内容を示す制御情報で特定される処理の実行可否を判断する実行可否判断ステップと、
前記実行可否判断ステップにおいて実行可否が判断される前の段階で、前記装置情報を更新するか否かを決定する更新決定ステップと、を含み、
前記実行可否判断ステップは、前記更新決定ステップにおいて更新することが決定される場合は、前記装置情報取得ステップにおいて前記クラウドサーバーから前記接続要求を受信した後に取得された前記装置情報に基づいて実行可否を判断し、前記更新決定ステップにおいて更新しないことが決定される場合は、前記装置情報取得ステップにおいて前記クラウドサーバーから前記接続要求を受信する前に取得された前記装置情報に基づいて実行可否を判断する、接続支援方法。
【請求項１５】
ファイアーウォールの外部に配置され、ファイアーウォールの内部に配置された制御対象装置とファイアーウォールの外部に配置されたクラウドサーバーとの間の通信の接続を支援する管理サーバーを制御するコンピューターで実行される接続支援プログラムであって、
前記ファイアーウォールの内部に配置された中継装置からの要求に基づいて、前記中継装置との間で通信するための通信セッションを確立するサーバー側確立ステップと、
前記確立された通信セッションを介して、前記中継装置から前記制御対象装置に関する装置情報を取得する装置情報取得ステップと、
前記クラウドサーバーから前記制御対象装置に接続するための接続要求が受信されることに応じて、前記装置情報を更新するか否かを決定する更新決定ステップと、を前記コンピューターに実行させ、
前記装置情報取得ステップは、前記サーバー側確立ステップにおいて前記中継装置との間で通信セッションが確立される際に、前記装置情報を前記中継装置から取得する確立時取得ステップと、
前記更新決定ステップにおいて更新することが決定された後に、前記装置情報を前記中継装置から取得する要求時取得ステップと、を含む、接続支援プログラム。
【請求項１６】
ファイアーウォールの外部に配置され、ファイアーウォールの内部に配置された制御対象装置をファイアーウォールの外部に配置されたクラウドサーバーとの間の通信の接続を支援する管理サーバーを制御するコンピューターで実行される接続支援プログラムであって、
前記ファイアーウォールの内部に配置された中継装置から前記制御対象装置に関する装置情報を取得する装置情報取得ステップと、
前記装置情報取得ステップにおいて取得された前記装置情報に基づいて、前記クラウドサーバーから受信される接続要求に含まれ、前記制御対象装置を制御する内容を示す制御情報で特定される処理の実行可否を判断する実行可否判断ステップと、
前記実行可否判断ステップにおいて実行可否が判断される前の段階で、前記装置情報を更新するか否かを決定する更新決定ステップと、を前記コンピューターに実行させ、
前記実行可否判断ステップは、前記更新決定ステップにおいて更新することが決定される場合は、前記装置情報取得ステップにおいて前記クラウドサーバーから前記接続要求を受信した後に取得された前記装置情報に基づいて実行可否を判断し、前記更新決定ステップにおいて更新しないことが決定される場合は、前記装置情報取得ステップにおいて前記クラウドサーバーから前記接続要求を受信する前に取得された前記装置情報に基づいて実行可否を判断する、接続支援プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、管理サーバー、接続支援方法および接続支援プログラムに関し、特に、ファイアーウォールの外部の装置と内部の装置との間の通信を支援する管理サーバー、その管理サーバーで実行される接続支援方法および接続支援プログラムに関する。
【背景技術】
【０００２】
インターネットに接続されたクラウドサーバーが提供するサービスを利用して、ローカルエリアネットワークに接続された複合機（以下「ＭＦＰ」という）を制御する場合がある。例えば、クラウドサーバーに記憶されたデータを、ＭＦＰにプリントさせる場合である。しかしながら、ＭＦＰは、ローカルエリアネットワーク（以下「ＬＡＮ」という）に接続されている場合が多く、そのＬＡＮは、インターネットとファイアーウォールを介して接続される。このため、クラウドサーバーからＭＦＰに対するアクセスは、ファイアーウォールによって遮断される場合がある。
【０００３】
特開２０１２−６３９４４号公報には、クライアント端末から、プリンタ一覧要求を受信する一覧要求受信手段と、前記プリンタに印刷可能か否かを示すステータスの取得要求を送信し、取得する取得手段と、前記プリンタ一覧の要求を送信したクライアント端末に対し、前記取得手段にて取得したプリンタのステータスを用いて、前記クライアント端末の前記Ｗｅｂブラウザにて表示するための形式で記述されたプリンタ一覧のデータを送信する送信手段とを有し、前記取得手段にて前記プリンタのステータスが取得できない場合、前記送信手段は、前記プリンタ一覧のデータに、ステータスを取得できないプリンタに対して前記クライアント端末の前記Ｗｅｂブラウザがステータスを問い合わせるためのコマンドを含めて送信するプリントサーバーが記載されている。
【０００４】
しかしながら、従来の印刷システムにおいては、クライアント端末はプリンタが接続されるＬＡＮに接続されていなければならない。また、クライアント端末において、本来はプリントサーバーにおいて実行するべき処理を実行する処理が増加するため、プリンタ一覧のデータを取得するまでに時間がかかる場合があり、レスポンスが遅れるといった問題がある。
【特許文献１】特開２０１２−６３９４４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
この発明は上述した問題点を解決するためになされたもので、この発明の目的の一つは、ファイアーウォールの内部に配置された制御対象装置とファイアーウォールの外部に配置されたクラウドサーバーとの間の通信を接続するまでの時間を短くすることが可能な管理サーバーを提供することである。
【０００６】
この発明の他の目的は、ファイアーウォールの内部に配置された制御対象装置とファイアーウォールの外部に配置されたクラウドサーバーとの間の通信を接続するまでの時間を短くすることが可能な接続支援方法を提供することである。
【０００７】
この発明のさらに他の目的は、ファイアーウォールの内部に配置された制御対象装置とファイアーウォールの外部に配置されたクラウドサーバーとの間の通信を接続するまでの時間を短くすることが可能な接続支援プログラムを提供することである。
【課題を解決するための手段】
【０００８】
上述した目的を達成するためにこの発明のある局面によれば、管理サーバーは、ファイアーウォールの外部に配置され、ファイアーウォールの内部に配置された制御対象装置とファイアーウォールの外部に配置されたクラウドサーバーとの間の通信の接続を支援する管理サーバーであって、ファイアーウォールの内部に配置された中継装置からの要求に基づいて、中継装置との間で通信するための通信セッションを確立するサーバー側確立手段と、確立された通信セッションを介して、中継装置から制御対象装置に関する装置情報を取得する装置情報取得手段と、クラウドサーバーから制御対象装置に接続するための接続要求が受信されることに応じて、装置情報を更新するか否かを決定する更新決定手段と、を備え、装置情報取得手段は、サーバー側確立手段によって中継装置との間で通信セッションが確立される際に、装置情報を中継装置から取得する確立時取得手段と、更新決定手段により更新することが決定された後に、装置情報を中継装置から取得する要求時取得手段と、を含む。
【０００９】
この局面に従えば、中継装置からの要求に基づいて、中継装置との間で通信するための通信セッションを確立し、中継装置との間で通信セッションが確立される際に、装置情報を中継装置から取得し、クラウドサーバーから接続要求が受信されることに応じて、装置情報を更新するか否かを決定し、装置情報を更新することが決定された後に、装置情報を中継装置から取得する。このため、装置情報を更新しないことが決定された場合は、装置情報を中継装置から取得する必要がないので、クラウドサーバーから接続要求が受信されてから制御対象装置をクラウドサーバーと接続するまでの時間を短くすることができる。その結果、ファイアーウォールの内部に配置された制御対象装置とファイアーウォールの外部に配置されたクラウドサーバーとの間の通信を接続するまでの時間を短くすることが可能な管理サーバーを提供することができる。
【００１０】
好ましくは、更新決定手段は、クラウドサーバーから受信される接続要求に含まれ、制御対象装置を制御する内容を示す制御情報に基づいて、更新可否を決定する処理基準決定手段を、含む。
【００１１】
この局面に従えば、接続要求に含まれ、制御対象装置を制御する内容を示す制御情報に基づいて、更新可否を決定するので、制御対象装置に実行させる処理の実行可否を判断するのに必要な最新の装置情報を取得することができる。
【００１２】
好ましくは、処理基準決定手段は、制御情報が制御対象装置に予め定められた第１の種類の処理を実行させる内容を示す場合、装置情報を更新することを決定する。
【００１３】
この局面に従えば、制御対象装置に第１の種類の処理を実行させる場合に限って、最新の装置情報を取得することができる。
【００１４】
好ましくは、処理基準決定手段は、制御情報が制御対象装置に予め定められた第２の種類の処理を実行させる内容を示す場合、装置情報を更新しないことを決定する。
【００１５】
この局面に従えば、制御対象装置に第２の種類の処理を実行させる場合に限って、装置情報を取得しないようにすることができる。
【００１６】
好ましくは、更新決定手段は、装置情報取得手段により装置情報が最後に取得されてからの経過時間に基づいて、更新可否を決定する時間基準決定手段を含む。
【００１７】
この局面に従えば、装置情報が最後に取得されてからの経過時間に基づいて、更新可否を決定するので、時間の経過に伴って変化する装置情報を経過時間の短いものを更新しないようにすることができる。
【００１８】
好ましくは、時間基準決定手段は、装置情報取得手段により装置情報が最後に取得されてからの経過時間が所定の時間以内の場合、更新しないことを決定する。
【００１９】
この局面に従えば、装置情報を所定の時間以降に取得された装置情報を更新しないようにすることができる。
【００２０】
好ましくは、更新決定手段により更新しないことが決定される場合、装置情報を更新することなく制御対象装置にトンネル接続させるための簡易接続要求を中継装置に送信する簡易接続要求手段と、更新決定手段により更新することが決定される場合、装置情報を更新した後に制御対象装置にトンネル接続させるための正規接続要求を中継装置に送信する正規接続要求手段と、をさらに備え、要求時取得手段は、正規接続要求を受信する中継装置が送信する装置情報を取得する。
【００２１】
この局面に従えば、中継装置に装置情報を送信させるか否かを制御することができる。
【００２２】
好ましくは、中継装置は、クラウドサーバーとの間で第１通信セッションを確立する第１セッション確立手段と、制御対象装置との間で第２通信セッションを確立する第２セッション確立手段と、第１通信セッションと第２通信セッションとを用いて、クラウドサーバーと制御対象装置との間の通信を中継する中継手段と、管理サーバーとの間で確立された第１通信セッションを介して、管理サーバーから正規接続要求が受信されることに応じて、当該正規接続要求で特定される制御対象装置から第２通信セッションを介して装置情報を取得する装置側取得手段を備える。
【００２３】
この局面に従えば、中継装置に、最新の装置情報を取得させることができる。
【００２４】
好ましくは、第１通信セッション確立手段は、管理サーバーから簡易接続要求が受信されることに応じて、第１通信セッションを確立し、管理サーバーから正規接続要求が受信される場合、装置側取得手段によって装置情報が送信された後に管理サーバーから接続指示が受信されることを条件に、第１通信セッションを確立する。
【００２５】
この局面に従えば、中継装置は、装置情報を送信した後は、管理サーバーから接続指示が受信されることを条件に、第１通信セッションを確立するので、中継装置が第１通信セッションを確立するタイミングを制御することができる。
【００２６】
好ましくは、装置情報取得手段により取得された装置情報に基づいて、制御対象装置がクラウドサーバーから受信される接続要求に含まれ、制御対象装置を制御する内容を示す制御情報で特定される処理の実行が可能か否かを判断する実行可否判断手段を、さらに備え、実行可否判断手段は、更新決定手段により更新することが決定される場合は、要求時取得手段により取得された装置情報に基づいて実行可否を判断し、更新決定手段により更新しないことが決定される場合は、装置情報取得手段によりクラウドサーバーから接続要求を受信する前に取得された装置情報に基づいて実行可否を判断する。
【００２７】
この局面に従えば、装置情報を更新することが決定される場合は、その後に取得された装置情報に基づいて実行可否を判断し、装置情報を更新しないことが決定される場合は、クラウドサーバーから接続要求を受信する前に取得された装置情報に基づいて実行可否を判断する。このため、制御対象装置が処理を実行可能か否かを適切な装置情報に基づいて判断することができる。
【００２８】
好ましくは、装置情報取得手段により取得された装置情報に基づいて、制御対象装置がクラウドサーバーから受信される接続要求に含まれ、制御対象装置を制御する内容を示す制御情報で特定される処理の実行が可能か否かを判断する実行可否判断手段を、さらに備え、実行可否判断手段は、更新決定手段により更新することが決定される場合は、要求時取得手段により取得された装置情報に基づいて実行可否を判断し、更新決定手段により更新しないことが決定される場合は、装置情報取得手段によりクラウドサーバーから接続要求を受信する前に取得された装置情報に基づいて実行可否を判断し、簡易接続要求手段は、実行可否判断手段によって実行可能であると判断されることを条件に、簡易接続要求を送信する。
【００２９】
この局面に従えば、制御対象装置が制御情報で特定される処理を実行可能な場合に、簡易接続要求を送信するので、制御対象装置とクラウドサーバーとの間の通信を確実に接続することができる。
【００３０】
この発明の他の局面によれば、管理サーバーは、ファイアーウォールの外部に配置され、ファイアーウォールの内部に配置された制御対象装置をファイアーウォールの外部に配置されたクラウドサーバーとの間の通信の接続を支援する管理サーバーであって、ファイアーウォールの内部に配置された中継装置から制御対象装置に関する装置情報を取得する装置情報取得手段と、装置情報取得手段により取得された装置情報に基づいて、クラウドサーバーから受信される接続要求に含まれ、制御対象装置を制御する内容を示す制御情報で特定される処理の実行可否を判断する実行可否判断手段と、実行可否判断手段によって実行可否が判断される前の段階で、装置情報を更新するか否かを決定する更新決定手段と、を備え、実行可否判断手段は、更新決定手段により更新することが決定される場合は、装置情報取得手段によりクラウドサーバーから接続要求を受信した後に取得された装置情報に基づいて実行可否を判断し、更新決定手段により更新しないことが決定される場合は、装置情報取得手段によりクラウドサーバーから接続要求を受信する前に取得された装置情報に基づいて実行可否を判断する。
【００３１】
この局面に従えば、装置情報を更新することが決定される場合は、クラウドサーバーから接続要求を受信した後に取得された装置情報に基づいて実行可否を判断し、更新しないことが決定される場合は、クラウドサーバーから接続要求を受信する前に取得された装置情報に基づいて実行可否を判断する。このため、装置情報を更新しないことが決定された場合は、装置情報を中継装置から取得する必要がないので、クラウドサーバーから接続要求が受信されてから制御対象装置をクラウドサーバーと接続するまでの時間を短くすることができる。その結果、ファイアーウォールの内部に配置された制御対象装置とファイアーウォールの外部に配置されたクラウドサーバーとの間の通信を接続するまでの時間を短くすることが可能な管理サーバーを提供することができる。
【００３２】
この発明のさらに他の局面に従えば、接続支援方法は、ファイアーウォールの外部に配置され、ファイアーウォールの内部に配置された制御対象装置とファイアーウォールの外部に配置されたクラウドサーバーとの間の通信の接続を支援する管理サーバーで実行される接続支援方法であって、ファイアーウォールの内部に配置された中継装置からの要求に基づいて、中継装置との間で通信するための通信セッションを確立するサーバー側確立ステップと、確立された通信セッションを介して、中継装置から制御対象装置に関する装置情報を取得する装置情報取得ステップと、クラウドサーバーから制御対象装置に接続するための接続要求が受信されることに応じて、装置情報を更新するか否かを決定する更新決定ステップと、を含み、装置情報取得ステップは、サーバー側確立ステップにおいて中継装置との間で通信セッションが確立される際に、装置情報を中継装置から取得する確立時取得ステップと、更新決定ステップにおいて更新することが決定された後に、装置情報を中継装置から取得する要求時取得ステップと、を含む。
【００３３】
この局面に従えば、ファイアーウォールの内部に配置された制御対象装置とファイアーウォールの外部に配置されたクラウドサーバーとの間の通信を接続するまでの時間を短くすることが可能な接続支援方法を提供することができる。
【００３４】
この発明のさらに他の局面に従えば、接続支援方法は、ファイアーウォールの外部に配置され、ファイアーウォールの内部に配置された制御対象装置をファイアーウォールの外部に配置されたクラウドサーバーとの間の通信の接続を支援する管理サーバーで実行される接続支援方法であって、ファイアーウォールの内部に配置された中継装置から制御対象装置に関する装置情報を取得する装置情報取得ステップと、装置情報取得ステップにおいて取得された装置情報に基づいて、クラウドサーバーから受信される接続要求に含まれ、制御対象装置を制御する内容を示す制御情報で特定される処理の実行可否を判断する実行可否判断ステップと、実行可否判断ステップにおいて実行可否が判断される前の段階で、装置情報を更新するか否かを決定する更新決定ステップと、を含み、実行可否判断ステップは、更新決定ステップにおいて更新することが決定される場合は、装置情報取得ステップにおいてクラウドサーバーから接続要求を受信した後に取得された装置情報に基づいて実行可否を判断し、更新決定ステップにおいて更新しないことが決定される場合は、装置情報取得ステップにおいてクラウドサーバーから接続要求を受信する前に取得された装置情報に基づいて実行可否を判断する。
【００３５】
この局面に従えば、ファイアーウォールの内部に配置された制御対象装置とファイアーウォールの外部に配置されたクラウドサーバーとの間の通信を接続するまでの時間を短くすることが可能な接続支援方法を提供することができる。
【００３６】
この発明のさらに他の局面に従えば、接続支援プログラムは、ファイアーウォールの外部に配置され、ファイアーウォールの内部に配置された制御対象装置とファイアーウォールの外部に配置されたクラウドサーバーとの間の通信の接続を支援する管理サーバーを制御するコンピューターで実行される接続支援プログラムであって、ファイアーウォールの内部に配置された中継装置からの要求に基づいて、中継装置との間で通信するための通信セッションを確立するサーバー側確立ステップと、確立された通信セッションを介して、中継装置から制御対象装置に関する装置情報を取得する装置情報取得ステップと、クラウドサーバーから制御対象装置に接続するための接続要求が受信されることに応じて、装置情報を更新するか否かを決定する更新決定ステップと、をコンピューターに実行させ、装置情報取得ステップは、サーバー側確立ステップにおいて中継装置との間で通信セッションが確立される際に、装置情報を中継装置から取得する確立時取得ステップと、更新決定ステップにおいて更新することが決定された後に、装置情報を中継装置から取得する要求時取得ステップと、を含む。
【００３７】
この局面に従えば、ファイアーウォールの内部に配置された制御対象装置とファイアーウォールの外部に配置されたクラウドサーバーとの間の通信を接続するまでの時間を短くすることが可能な接続支援プログラムを提供することができる。
【００３８】
この発明のさらに他の局面に従えば、接続支援プログラムは、ファイアーウォールの外部に配置され、ファイアーウォールの内部に配置された制御対象装置をファイアーウォールの外部に配置されたクラウドサーバーとの間の通信の接続を支援する管理サーバーを制御するコンピューターで実行される接続支援プログラムであって、ファイアーウォールの内部に配置された中継装置から制御対象装置に関する装置情報を取得する装置情報取得ステップと、装置情報取得ステップにおいて取得された装置情報に基づいて、クラウドサーバーから受信される接続要求に含まれ、制御対象装置を制御する内容を示す制御情報で特定される処理の実行可否を判断する実行可否判断ステップと、実行可否判断ステップにおいて実行可否が判断される前の段階で、装置情報を更新するか否かを決定する更新決定ステップと、をコンピューターに実行させ、実行可否判断ステップは、更新決定ステップにおいて更新することが決定される場合は、装置情報取得ステップにおいてクラウドサーバーから接続要求を受信した後に取得された装置情報に基づいて実行可否を判断し、更新決定ステップにおいて更新しないことが決定される場合は、装置情報取得ステップにおいてクラウドサーバーから接続要求を受信する前に取得された装置情報に基づいて実行可否を判断する。
【００３９】
この局面に従えば、ファイアーウォールの内部に配置された制御対象装置とファイアーウォールの外部に配置されたクラウドサーバーとの間の通信を接続するまでの時間を短くすることが可能な接続支援プログラムを提供することができる。
【図面の簡単な説明】
【００４０】
【図１】本発明の実施の形態の１つにおける情報処理システムの全体概要の一例を示す図である。
【図２】ゲートウェイ装置のハードウェア構成の概要の一例を示すブロック図である。
【図３】ＭＦＰのハードウェア構成の概要の一例を示すブロック図である。
【図４】本実施の形態における管理サーバーのハードウェア構成の概要の一例を示すブロック図である。
【図５】管理サーバーが備えるＣＰＵの機能の一例を示すブロック図である。
【図６】ゲートウェイ装置が備えるＣＰＵの機能の一例を示すブロック図である。
【図７】中継処理の流れの一例を示すフローチャートである。
【図８】トンネル接続処理の流れの一例を示すフローチャートである。
【図９】接続支援処理の流れの一例を示すフローチャートである。
【図１０】更新可否決定処理の流れの一例を示すフローチャートである。
【図１１】変形例における更新可否決定処理の流れの一例を示すフローチャートである。
【図１２】実行可否判断処理の流れの一例を示すフローチャートである。
【図１３】装置制御処理の流れの一例を示すフローチャートである。
【発明を実施するための形態】
【００４１】
以下、本発明の実施の形態について図面を参照して説明する。以下の説明では同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがってそれらについての詳細な説明は繰返さない。
【００４２】
図１は、本発明の実施の形態の１つにおける情報処理システムの全体概要の一例を示す図である。図１を参照して、情報処理システム１は、管理サーバー３００と、中継装置として機能するゲートウェイ（Ｇ／Ｗ）装置２００と、複合機であるＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）１００，１００Ａ，１００Ｂと、を含む。管理サーバー３００およびゲートウェイ装置２００それぞれは、インターネット５に接続されており、インターネット５を介して互いに通信可能である。さらに、管理サーバー３００およびゲートウェイ装置２００それぞれは、インターネット５に接続された他のコンピューターと通信可能である。ここでは、インターネット５に接続された他のコンピューターの一例としてクラウドサーバー４００を示している。
【００４３】
ゲートウェイ装置２００は、さらに、ローカルエリアネットワーク（ＬＡＮ）３と接続されており、そのＬＡＮ３に、ＭＦＰ１００，１００Ａ，１００Ｂが接続されている。ゲートウェイ装置２００は、ＬＡＮ３に接続されたＭＦＰ１００，１００Ａ，１００Ｂと通信可能である。さらに、ゲートウェイ装置２００およびＭＦＰ１００，１００Ａ，１００Ｂそれぞれは、ＬＡＮ３に接続された他のコンピューターと通信可能である。
【００４４】
ゲートウェイ装置２００は、ファイアーウォール機能を有し、ファイアーウォールの内部のＬＡＮ３と、ファイアーウォールの外部のインターネット５とを接続する。ゲートウェイ装置２００は、インターネット５に接続された管理サーバー３００およびクラウドサーバー４００から、ＬＡＮ３に接続されたＭＦＰ１００，１００Ａ，１００Ｂへのアクセスを制限する。ゲートウェイ装置２００が有するファイアーウォール機能は、特に限定するものではないが、パケットに含まれるアドレスに基づいて通信の許可または不許可を判定するパケットフィルター型のファイアーウォール機能である。なお、アプリケーション層のプロトコルのレベルで外部との通信を代替し、制御するアプリケーション型のファイアーウォール機能であってもよい。なお、ゲートウェイ装置２００が配置される位置は、ファイアーウォールの内部である。
【００４５】
本実施の形態における情報処理システム１においては、ファイアーウォールの外部のインターネット５に接続されたコンピューター、ここではクラウドサーバー４００が、ファイアーウォールの内部のＬＡＮ３に接続されたＭＦＰ１００，１００Ａ，１００Ｂのいずれかを制御することを可能にする。ＭＦＰ１００，１００Ａ，１００Ｂは、クラウドサーバー４００によって制御の対象となる制御対象装置である。クラウドサーバー４００は、ファイアーウォールの内部のＬＡＮ３に接続されたパーソナルコンピューター（以下「ＰＣ」という）からアクセスされて、そのＰＣを操作するユーザーによる指示にしたがってサービスを提供するための処理を実行する場合と、ファイアーウォールの外部のインターネット５に接続されたＰＣからアクセスされて、そのＰＣを操作するユーザーによる指示にしたがってサービスを提供するための処理を実行する場合と、がある。ここでは、一例として、クラウドサーバー４００が、それが提供するサービスに基づく処理を実行し、その結果得られるデータに対してＭＦＰ１００に処理を実行させる場合を例に説明する。この場合、クラウドサーバー４００はＭＦＰ１００に処理を実行させるための制御コマンドを送信する。
【００４６】
クラウドサーバー４００がＭＦＰ１００に送信する制御コマンドが、ゲートウェイ装置２００のファイアーウォールを通過するようにするために、ゲートウェイ装置２００は、クラウドサーバー４００とＭＦＰ１００との間でトンネル接続を確立する。トンネル接続を確立する技術は、種々の方法があるが、ここでは、管理サーバー３００がトンネル接続を支援する方法を例に説明する。
【００４７】
ゲートウェイ装置２００は、予め記憶された管理サーバー３００のネットワークアドレスを用いて管理サーバー３００との間で通信セッションの確立を要求する。ゲートウェイ装置２００は、ファイアーウォールの内部であり、管理サーバー３００は、ファイアーウォールの外部なので、ファイアーウォールを通過する通信セッションが確立される。この通信セッションを、以下、常時接続セッションという。
【００４８】
ゲートウェイ装置２００は、管理サーバー３００との間で常時接続セッションを確立すると、ＬＡＮ３に接続されたＭＦＰ１００，１００Ａ，１００Ｂそれぞれを識別するための装置識別情報を管理サーバー３００に常時接続セッションを介して送信する。管理サーバー３００においては、ゲートウェイ装置２００に接続されたＭＦＰ１００，１００Ａ，１００Ｂを認識する。
【００４９】
次に、クラウドサーバー４００が管理サーバー３００との間で、通信セッションを確立する。ここで、クラウドサーバー４００と管理サーバー３００との間で確立される通信セッションをグローバルセッションという。管理サーバー３００は、ゲートウェイ装置２００から受信されたＭＦＰ１００，１００Ａ，１００Ｂそれぞれの装置識別情報を受信しているので、クラウドサーバー４００を操作するユーザーに対して、トンネル接続が可能な装置としてＭＦＰ１００，１００Ａ，１００Ｂのうちからいずれかを選択させる。ここでは、クラウドサーバー４００を操作するユーザーによって、トンネル接続する装置としてＭＦＰ１００が選択される場合を例に説明する。
【００５０】
クラウドサーバー４００は、クラウドサーバー４００を操作するユーザーによって、トンネル接続する装置としてＭＦＰ１００が選択される場合、ＭＦＰ１００のアドレス情報と、クラウドサーバー４００のアドレス情報と、制御情報と、を含む接続要求を管理サーバー３００に送信する。クラウドサーバー４００を操作するユーザーによって、トンネル接続する装置として選択されるＭＦＰ１００は、クラウドサーバー４００によって制御の対象となる。
【００５１】
ＭＦＰ１００のアドレス情報は、ゲートウェイ装置２００の装置識別情報とＭＦＰ１００の装置識別情報とを含む。クラウドサーバー４００のアドレス情報は、ＭＦＰ１００からクラウドサーバー４００にアクセスするためのＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）である。ＵＲＬには、例えば「ｈｔｔｐｓ://ｗｗｗ.ｅｘａｍｐｌｅ.ｃｏｍ/ｐｒｉｎｔ＿ｓｅｒｖｉｃｅ？ｊｏｂ＿ｉｄ=ｊ００１２３：６０００１」のように、クラウドサーバー４００のアドレス（ドメイン名）、ウェブページの識別子、クラウドサーバー４００が実行するジョブの識別子（ジョブＩＤ）、および待ち受けポートのポート番号などが含まれる。待ち受けポートとして、所定の範囲のポートのうち未使用のものが用いられる。また、ジョブＩＤとして、ユニークなＩＤが発行される。クラウドサーバー４００が実行するジョブは、クラウドサーバー４００が提供するサービスのうちクラウドサーバー４００を操作するユーザーによって指定されたサービスに対応するジョブである。クラウドサーバー４００のアドレス情報であるＵＲＬが、ジョブＩＤを含むため、そのＵＲＬにアクセスしてきた装置をジョブＩＤにより特定されるジョブと対応付けることができる。換言すれば、クラウドサーバー４００を操作するユーザーによって指定されたサービスを提供する処理に対応するジョブを、制御対象装置、ここではＭＦＰ１００と対応付けることができる。制御情報は、ジョブＩＤにより特定されるジョブが制御対象装置であるＭＦＰ１００に実行させる処理の内容を示す。
【００５２】
管理サーバー３００は、クラウドサーバー４００から接続要求を受信する場合、接続要求に含まれるＭＦＰ１００のアドレス情報に含まれるゲートウェイ装置２００の装置識別情報に基づいてゲートウェイ装置２００を特定し、接続要求をゲートウェイ装置２００に常時接続セッションを介して転送する。この場合、接続要求を、常時接続セッションに対応するプロトコルに応じてカプセル化して送信する。
【００５３】
ゲートウェイ装置２００は、さらに、管理サーバー３００から接続要求を受信すると、接続要求に含まれるクラウドサーバー４００のアドレス情報に基づいて、クラウドサーバー４００との間で通信セッションを確立する。ここで、ゲートウェイ装置２００とクラウドサーバー４００との間で確立される通信セッションを第１通信セッションという。これにより、ファイアーウォールを通過するトンネル接続が完了する。
【００５４】
ゲートウェイ装置２００は、管理サーバー３００から接続要求を受信すると、接続要求に含まれるＭＦＰ１００のアドレス情報に含まれるＭＦＰ１００の装置識別情報に基づいてＭＦＰ１００を特定し、ＭＦＰ１００との間で通信セッションを確立する。ここで、ゲートウェイ装置２００とＭＦＰ１００との間で確立される通信セッションを第２通信セッションという。
【００５５】
ゲートウェイ装置２００は、クラウドサーバー４００との間で確立された第１通信セッションと、ＭＦＰ１００との間で確立された第２通信セッションとを接続することによって、クラウドサーバー４００とＭＦＰ１００との間の通信を中継する。
【００５６】
なお、トンネル接続の方法は、これに限定されることなく、他の方法を用いてもよい。例えば、管理サーバー３００がゲートウェイ装置２００と同様に、クラウドサーバー４００とＭＦＰ１００との間の通信を中継するようにしてもよい。例えば、ゲートウェイ装置２００が、ＭＦＰ１００，１００Ａ，１００Ｂそれぞれに対応する常時接続セッションを管理サーバー３００との間で確立し、管理サーバー３００は、クラウドサーバー４００との間で確立したグローバルセッションを、クラウドサーバー４００のユーザーにより指定されたＭＦＰ１００に対応する常時接続セッションとを接続することによって、クラウドサーバー４００とＭＦＰ１００との間の通信を中継する。この場合、クラウドサーバー４００は、ＭＦＰ１００のアドレス情報を送信すればよく、クラウドサーバー４００のアドレス情報を送信する必要はない。ただし、管理サーバー３００が中継のための処理を実行するため、負荷が増大する。
【００５７】
クラウドサーバー４００が提供するサービスは、例えば、クラウドサーバー４００がＭＦＰ１００のプログラムのバージョンを管理し、バージョンアップに基づくアップデートを実行するプログラム管理サービス、クラウドサーバー４００をファイルサーバーとして機能させるサービス、画像データに対して画像処理を実行するサービスを含む。画像処理は、限定するものではないが、例えば、写真が表された画像データを先鋭化、スムージング等の処理を実行する処理であってもよいし、文字が表された画像データを文字認識する処理であってもよいし、言語を他の言語に翻訳する処理であってもよい。
【００５８】
管理サーバー３００、クラウドサーバー４００は、一般的なコンピューターであり、それらのハードウェア構成および機能は周知なので、ここでは説明を繰り返さない。ＭＦＰ１００，１００Ａ，１００Ｂのハードウェア構成および機能は同じなので、ここでは特に言及しない限りＭＦＰ１００を例に説明する。
【００５９】
図２は、ゲートウェイ装置のハードウェア構成の概要の一例を示すブロック図である。図２を参照して、本実施の形態におけるゲートウェイ装置２００は、ゲートウェイ装置２００の全体を制御するためのＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０１と、ＣＰＵ２０１が実行するためのプログラム等を記憶するＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２０２と、ＣＰＵ２０１の作業領域として用いられるＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０３と、データを不揮発的に記憶するフラッシュメモリ２０４と、第１通信部２０５と、第２通信部２０６と、外部記憶装置２０９と、を含む。
【００６０】
第１通信部２０５は、ゲートウェイ装置２００をインターネット５に接続するための通信インターフェース（Ｉ／Ｆ）である。第２通信部２０６は、ゲートウェイ装置２００をＬＡＮ３に接続するための通信インターフェース（Ｉ／Ｆ）である。
【００６１】
フラッシュメモリ２０４は、ＣＰＵ２０１が実行するプログラム、またはそのプログラムを実行するために必要なデータを記憶する。ＣＰＵ２０１は、フラッシュメモリ２０４に記録されたプログラムを、ＲＡＭ２０３にロードして実行する。外部記憶装置２０９は、ゲートウェイ装置２００に着脱自在であり、プログラムを記憶したＣＤ−ＲＯＭ２０９Ａが装着可能である。ＣＰＵ２０１は、外部記憶装置２０９を介してＣＤ−ＲＯＭ２０９Ａにアクセス可能である。ＣＰＵ２０１は、外部記憶装置２０９に装着されたＣＤ−ＲＯＭ２０９Ａに記録された中継プログラムを、ＲＡＭ２０３にロードして実行することが可能である。
【００６２】
なお、ＣＰＵ２０１が実行するプログラムとして、フラッシュメモリ２０４またはＣＤ−ＲＯＭ２０９Ａに記録されたプログラムについて説明したが、インターネット５に接続された他のコンピューターが、フラッシュメモリ２０４に記憶されたプログラムを書換えたプログラム、または、追加して書き込んだ新たなプログラムであってもよい。さらに、ゲートウェイ装置２００が、インターネット５に接続された他のコンピューターからダウンロードしたプログラムでもよい。ここでいうプログラムは、ＣＰＵ２０１が直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
【００６３】
なお、ＣＰＵ２０１が実行するプログラムを記憶する媒体としては、ＣＤ−ＲＯＭ２０９Ａに限られず、光ディスク（ＭＯ（Ｍａｇｎｅｔｉｃ  Ｏｐｔｉｃａｌ  Ｄｉｓｃ）／ＭＤ（Ｍｉｎｉ  Ｄｉｓｃ）／ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ））、ＩＣカード、光カード、マスクＲＯＭ、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  ＥＰＲＯＭ）などの半導体メモリであってもよい。
【００６４】
図３は、ＭＦＰのハードウェア構成の概要の一例を示すブロック図である。図３を参照して、ＭＦＰ１００は、メイン回路１１０と、原稿を読み取るための原稿読取部１３０と、原稿を原稿読取部１３０に搬送するための自動原稿搬送装置１２０と、原稿読取部１３０が原稿を読み取って出力する画像データに基づいて用紙等に画像を形成するための画像形成部１４０と、画像形成部１４０に用紙を供給するための給紙部１５０と、画像が形成された用紙を処理する後処理部１５５と、ユーザーインターフェースとしての操作パネル１６０とを含む。
【００６５】
後処理部１５５は、画像形成部１４０により画像が形成された１以上の用紙を並び替えて排紙するソート処理、パンチ穴加工するパンチ処理、ステップル針を打ち込むステップル処理を実行する。
【００６６】
メイン回路１１０は、ＣＰＵ１１１と、通信インターフェース（Ｉ／Ｆ）部１１２と、ＲＯＭ１１３と、ＲＡＭ１１４と、大容量記憶装置としてのハードディスクドライブ（ＨＤＤ）１１５と、ファクシミリ部１１６と、ＣＤ−ＲＯＭ１１８が装着される外部記憶装置１１７と、を含む。ＣＰＵ１１１は、自動原稿搬送装置１２０、原稿読取部１３０、画像形成部１４０、給紙部１５０、後処理部１５５および操作パネル１６０と接続され、ＭＦＰ１００の全体を制御する。
【００６７】
ＲＯＭ１１３は、ＣＰＵ１１１が実行するプログラム、またはそのプログラムを実行するために必要なデータを記憶する。ＲＡＭ１１４は、ＣＰＵ１１１がプログラムを実行する際の作業領域として用いられる。また、ＲＡＭ１１４は、原稿読取部１３０から連続的に送られてくる読取データ（画像データ）を一時的に記憶する。
【００６８】
操作パネル１６０は、ＭＦＰ１００の上面に設けられ、表示部１６１と操作部１６３とを含む。表示部１６１は、液晶表示装置（ＬＣＤ）、有機ＥＬＤ（Ｅｌｅｃｔｒｏ−Ｌｕｍｉｎｅｓｃｅｎｃｅ  Ｄｉｓｐｌａｙ）等の表示装置であり、ユーザーに対する指示メニューや取得した画像データに関する情報等を表示する。操作部１６３は、複数のキーからなるハードキー部１６７を備え、キーに対応するユーザーの操作による各種の指示、文字、数字などのデータの入力を受け付ける。操作部１６３は、表示部１６１上に設けられたタッチパネルを１６５さらに含む。
【００６９】
通信Ｉ／Ｆ部１１２は、ＭＦＰ１００をＬＡＮ３に接続するためのインターフェースである。ＣＰＵ１１１は、通信Ｉ／Ｆ部１１２を介して、ＬＡＮ３に接続された装置との間で通信し、データを送受信する。さらに、通信Ｉ／Ｆ部１１２は、ゲートウェイ装置２００を介して、インターネットに接続されたコンピューター、例えば、クラウドサーバー４００と通信が可能である。
【００７０】
ファクシミリ部１１６は、公衆交換電話網（ＰＳＴＮ）に接続され、ＰＳＴＮにファクシミリデータを送信する、またはＰＳＴＮからファクシミリデータを受信する。ファクシミリ部１１６は、受信したファクシミリデータを、ＨＤＤ１１５に記憶する、または画像形成部１４０に出力する。画像形成部１４０は、ファクシミリ部１１６により受信されたファクシミリデータを用紙にプリントする。また、ファクシミリ部１１６は、ＨＤＤ１１５に記憶されたデータをファクシミリデータに変換して、ＰＳＴＮに接続されたファクシミリ装置に送信する。
【００７１】
外部記憶装置１１７は、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ  ＲＯＭ）１１８が装着される。ＣＰＵ１１１は、外部記憶装置１１７を介してＣＤ−ＲＯＭ１１８にアクセス可能である。ＣＰＵ１１１は、外部記憶装置１１７に装着されたＣＤ−ＲＯＭ１１８に記録されたプログラムをＲＡＭ１１４にロードして実行する。なお、ＣＰＵ１１１が実行するプログラムを記憶する媒体としては、ＣＤ−ＲＯＭ１１８に限られず、光ディスク（ＭＯ／ＭＤ／ＤＶＤ）、ＩＣカード、光カード、マスクＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭなどの半導体メモリであってもよい。
【００７２】
また、ＣＰＵ１１１は、ＨＤＤ１１５に記憶されたプログラムをＲＡＭ１１４にロードして実行するようにしてもよい。この場合、ＬＡＮ３またはインターネット５に接続された他のコンピューターが、ＭＦＰ１００のＨＤＤ１１５に記憶されたプログラムを書換える、または、新たなプログラムを追加して書き込むようにしてもよい。さらに、ＭＦＰ１００が、ＬＡＮ３またはインターネット５に接続された他のコンピューターからプログラムをダウンロードして、そのプログラムをＨＤＤ１１５に記憶するようにしてもよい。ここでいうプログラムは、ＣＰＵ１１１が直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
【００７３】
図４は、本実施の形態における管理サーバーのハードウェア構成の概要の一例を示すブロック図である。図４を参照して、管理サーバー３００は、管理サーバー３００の全体を制御するためのＣＰＵ３０１と、ＣＰＵ３０１が実行するためのプログラムを記憶するＲＯＭ３０２と、ＣＰＵ３０１の作業領域として使用されるＲＡＭ３０３と、データを不揮発的に記憶するＨＤＤ３０４と、ＣＰＵ３０１をインターネット５に接続する通信部３０５と、情報を表示する表示部３０６と、ユーザーの操作の入力を受け付ける操作部３０７と、外部記憶装置３０９と、を含む。
【００７４】
外部記憶装置３０９は、ＣＤ−ＲＯＭ３０９Ａが装着される。ＣＰＵ３０１は、外部記憶装置３０９を介してＣＤ−ＲＯＭ３０９Ａにアクセス可能である。ＣＰＵ３０１は、外部記憶装置３０９に装着されたＣＤ−ＲＯＭ３０９Ａに記録されたプログラムをＲＡＭ３０３にロードして実行する。なお、ＣＰＵ３０１が実行するプログラムを記憶する媒体としては、ＣＤ−ＲＯＭ３０９に限られず、光ディスク、ＩＣカード、光カード、マスクＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭなどの半導体メモリであってもよい。
【００７５】
また、ＣＰＵ３０１が実行するプログラムは、ＣＤ−ＲＯＭ３０９に記録されたプログラムに限られず、ＨＤＤ３０４に記憶されたプログラムをＲＡＭ３０３にロードして実行するようにしてもよい。この場合、インターネット５に接続された他のコンピューターが、ＰＣ３００のＨＤＤ３０４に記憶されたプログラムを書換える、または、新たなプログラムを追加して書き込むようにしてもよい。さらに、管理サーバー３００が、インターネット５に接続された他のコンピューターからプログラムをダウンロードして、そのプログラムをＨＤＤ３０４に記憶するようにしてもよい。ここでいうプログラムは、ＣＰＵ３０１が直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
【００７６】
図５は、管理サーバーが備えるＣＰＵの機能の一例を示すブロック図である。図５に示す機能は、管理サーバー３００が備えるＣＰＵ３０１が、ＲＯＭ３０２、ＨＤＤ３０４またはＣＤ−ＲＯＭ３０９Ａに記憶された接続支援プログラムを実行することにより、ＣＰＵ３０１に形成される機能である。図５を参照して、管理サーバー３００が備えるＣＰＵ３０１は、グローバル確立部３５１と、サーバー側確立部３５３と、更新決定部３５５と、実行可否判断部３５７と、を含む。
【００７７】
サーバー側確立部３５３は、通信部３０５を制御して、ゲートウェイ装置２００との間で通信セッションを確立する。ここで確立する通信セッションは、常時接続セッションである。サーバー側確立部３５３は、ゲートウェイ装置２００から通信セッションの確立要求を受信することに応じて、通信セッションを確立する。サーバー側確立部３５３は、装置情報取得部３７１と、トンネル接続要求部３７３と、制御不可信号受信部３７５と、を含む。
【００７８】
装置情報取得部３７１は、ゲートウェイ装置２００との間で確立された常時接続セッションを介して、ゲートウェイ装置２００から装置情報を受信する。ゲートウェイ装置２００の機能の詳細は後述するが、ゲートウェイ装置２００は、ＬＡＮ３に接続された装置、ここでは、ＭＦＰ１００，１００Ａ，１００Ｂそれぞれに対応する装置情報を収集し、収集された装置情報を、常時接続セッションを介して管理サーバー３００に送信する。ＭＦＰ１００，１００Ａ，１００Ｂそれぞれの装置情報は、ＭＦＰ１００，１００Ａ，１００Ｂそれぞれを識別するための装置識別情報と、それぞれの状態を示す状態情報とを含む。装置識別情報は、特に限定するものではないが、ＭＦＰ１００，１００Ａ，１００Ｂそれぞれに対してＬＡＮ３において割り当てられたローカルＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレスである。状態情報は、ＭＦＰ１００，１００Ａ，１００Ｂそれぞれにおいて、実行可能な処理を特定する能力情報、処理を実行するために用いられるパラメータの設定値、実行中のジョブに関するジョブ実行情報、操作中の有無を示す操作状態、エラーの発生状態、オプション機器の構成、ファームウェアプログラムのバージョン情報、アプリケーションプログラムのバージョン情報、ＨＤＤ１１６の残容量、プリント枚数のカウンター値、待機ジョブの数、等を含む。
【００７９】
装置情報取得部３７１は、確立時取得部３８１と、要求時取得部３８３と、を含む。確立時取得部３８１は、ゲートウェイ装置２００との間で常時接続セッションが確立された直後に、ゲートウェイ装置２００が送信する装置情報を受信し、受信される装置情報と、ゲートウェイ装置２００の装置識別情報と、をグローバル確立部３５１に出力する。ゲートウェイ装置２００の装置識別情報は、限定するものではないが、インターネット５においてゲートウェイ装置２００に割り当てられたグローバルＩＰアドレスである。要求時取得部３８３については後述する。
【００８０】
グローバル確立部３５１は、通信部３０５を制御して、ファイアーウォールの外部に位置するコンピューターとの間で通信セッションを確立する。ここでは、クラウドサーバー４００との間で通信セッションを確立する場合を説明する。ここで確立される通信セッションは、グローバルセッションである。グローバル確立部３５１は、通信部３０５を制御して、クラウドサーバー４００から通信セッションの確立要求を受信することに応じて、クラウドサーバー４００との間でグローバルセッションを確立する。グローバル確立部３５１は、装置識別情報送信部３６１と、接続要求受信部３６３と、接続結果通知部３６５を含む。
【００８１】
装置識別情報送信部３６１は、確立時取得部３８１からゲートウェイ装置２００の装置識別情報と、ＭＦＰ１００，１００Ａ，１００Ｂそれぞれの装置情報とが入力される。装置識別情報送信部３６１は、グローバルセッションを介して、クラウドサーバー４００にゲートウェイ装置２００の装置識別情報と、ＭＦＰ１００，１００Ａ，１００Ｂそれぞれの装置識別情報とを送信する。例えば、ゲートウェイ装置２００の装置識別情報と、ＭＦＰ１００，１００Ａ，１００Ｂそれぞれの装置識別情報と、を含み、ゲートウェイ装置２００と、ＭＦＰ１００，１００Ａ，１００Ｂのいずれかと、を選択可能な装置選択画面を、クラウドサーバー４００に送信する。ここでは、装置選択画面をクラウドサーバー４００に送信した後に、クラウドサーバー４００において、クラウドサーバー４００を操作するユーザーによって、ゲートウェイ装置２００の装置識別情報と、ＭＦＰ１００の装置識別情報とが選択される場合を例に説明する。この場合、クラウドサーバー４００は、接続要求を管理サーバー３００にグローバルセッションを介して送信する。接続要求を送信するコマンドは、装置選択画面に埋め込んでおけばよい。例えば、装置選択画面を、ＨＴＭＬ（ＨｙｐｅｒＴｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）、ＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）等のマークアップ言語で記述する場合、接続要求を送信するコマンドを、Ｊａｖａ（登録商標）またはＪａｖａＳｃｒｉｐｔ（登録商標）等のプログラミング言語で装置選択画面に埋め込むことができる。これにより、装置選択画面を表示するクラウドサーバー４００において、装置選択画面でＭＦＰ１００の装置識別情報が指示されることに応じて、接続要求を送信する処理をクラウドサーバー４００に実行させることができる。
【００８２】
接続要求は、ＭＦＰ１００のアドレス情報と、クラウドサーバー４００のアドレス情報と、制御情報と、を含む。ＭＦＰ１００のアドレス情報は、ゲートウェイ装置２００の装置識別情報とＭＦＰ１００の装置識別情報とを含む。クラウドサーバー４００のアドレス情報は、ＭＦＰ１００からクラウドサーバー４００にアクセスするためのＵＲＬである。ＵＲＬには、クラウドサーバー４００のアドレス（ドメイン名）、ウェブページの識別子、クラウドサーバー４００が実行するジョブの識別子（ジョブＩＤ）、および待ち受けポートのポート番号が含まれる。制御情報は、ジョブＩＤにより特定されるジョブが制御対象装置であるＭＦＰ１００に実行させる処理の内容を示す。
【００８３】
接続要求受信部３６３は、クラウドサーバー４００がグローバルセッションを介して送信する接続要求を受信し、受信された接続要求を、更新決定部３５５に出力する。
【００８４】
更新決定部３５５は、装置情報取得部３７１からＭＦＰ１００，１００Ａ，１００Ｂそれぞれの装置情報が入力され、接続要求受信部３６３から接続要求が入力される。更新決定部３５５は、接続要求が入力されることに応じて、接続要求で特定される制御対象装置、ここではＭＦＰ１００の装置情報を更新するか否かを決定する。更新決定部３５５は、装置情報を更新することを決定する場合、トンネル接続要求部３７３に正規接続指示を出力する。正規接続指示は、接続要求受信部３６３から入力される接続要求を含む。更新決定部３５５は、装置情報を更新しないことを決定する場合、実行可否判断部３５７に判断指示を出力する。判断指示は、接続要求受信部３６３から入力される接続要求を含む。
【００８５】
なお、図中の矢印は、更新決定部３５５によって更新することが決定された場合の情報の流れを示す矢印を点線で示し、更新決定部３５５によって更新しないことが決定された場合の情報の流れを示す矢印を太線で示している。
【００８６】
更新決定部３５５は、処理基準決定部３６７と、時間基準決定部３６９と、を含む。処理基準決定部３６７は、接続要求に含まれる制御情報に基づいて、制御対象装置の装置情報を更新するか否かを決定する。処理基準決定部３６７は、制御情報が制御対象装置であるＭＦＰ１００に第１の種類の処理を実行させる内容を示す場合、ＭＦＰ１００の装置情報を更新することを決定する。第１の種類の処理は、例えば、ＭＦＰ１００に画像を形成させる処理、および、ＭＦＰ１００に設定されているパラメータを出力する処理を含む。ＭＦＰ１００が、画像を形成する処理を実行する場合、装置情報が取得された後にＭＦＰ１００が１以上の画像を形成する処理を実行している場合に、待ち時間が発生する場合があるからである。また、ＭＦＰ１００が、設定されているパラメータを出力する処理を実行する場合、装置情報が取得された後にパラメータが変更されている場合があるからである。
【００８７】
また、処理基準決定部３６７は、制御情報が、制御対象装置であるＭＦＰ１００に第２の種類の処理を実行させる内容を示す場合、装置情報を更新しないことを決定する。第２の種類の処理は、制御対象装置であるＭＦＰ１００が処理を実行するためのパラメータを設定する処理を、含む。ＭＦＰ１００が、処理を実行するためのパラメータを設定する処理を実行する場合、その処理を実行した後にパラメータが設定され、その処理を実行する前のパラメータによって、処理を実行する結果は変わらないからである。
【００８８】
時間基準決定部３６９は、制御対象装置であるＭＦＰ１００の装置情報が最後に取得されてからの経過時間が所定の時間以内の場合、更新しないことを決定し、経過時間が所定の時間を超える場合、更新することを決定する。所定の時間経過する場合には、装置情報が変更されている場合があるからである。
【００８９】
＜制御情報を更新しない場合＞
更新決定部３５５は、制御情報を更新しないことを決定する場合、実行可否判断部３５７に判断指示を出力する。判断指示は、接続要求受信部３６３から入力される接続要求を含む。
【００９０】
実行可否判断部３５７は、更新決定部３５５から判断指示が入力され、装置情報取得部３７１からＭＦＰ１００，１００Ａ，１００Ｂそれぞれの装置情報が入力される。実行可否判断部３５７に装置情報取得部３７１から入力されるＭＦＰ１００，１００Ａ，１００Ｂいずれかの装置情報は、更新決定部３５５から判断指示が入力されるまでに、複数回入力される場合があるが、最後に入力された装置情報を処理対象とする。例えば、要求時取得部３８３によってＭＦＰ１００の装置情報が取得される前の段階では、確立時取得部３８１によって取得された装置情報が処理対象となり、要求時取得部３８３によってＭＦＰ１００の装置情報が取得された後の段階では、要求時取得部３８３によって最後に取得された装置情報が処理対象となる。
【００９１】
実行可否判断部３５７は、判断指示に含まれる接続要求で特定される制御対象装置であるＭＦＰ１００の装置情報に基づいて、ＭＦＰ１００が接続要求に含まれる制御情報で特定される処理の実行が可能か否かを判断する。例えば、制御情報で特定される処理が、ジョブを実行する処理の場合、ＭＦＰ１００が別のジョブを実行していなければ実行可能と判断するが、ＭＦＰ１００が別のジョブを実行している場合は、別のジョブと並列で実行可能であることを条件に制御情報で特定される処理を実行可能と判断する。したがって、ＭＦＰ１００が、制御情報で特定される処理を別のジョブと並列で実行できない場合には、制御情報で特定される処理を実行不可能と判断する。
【００９２】
また、制御情報で特定される処理が、ＨＤＤ１１５にデータを記憶する処理の場合、ＨＤＤ１１５の残容量がデータを記憶するだけ残っていることを条件にデータを記憶する処理を実行可能と判断するが、残容量が残っていない場合はデータを記憶する処理を実行不可能と判断する。さらに、ＭＦＰ１００が、故障でトラブル中の場合には実行不可能と判断する。さらに、制御情報で特定される処理が、ＭＦＰ１００の状態を出力する処理の場合、ＭＦＰ１００が別のジョブを実行していなければ実行可能と判断するが、ＭＦＰ１００が別のジョブを実行している場合は、実行不可能と判断する。
【００９３】
実行可否判断部３５７は、ＭＦＰ１００が接続要求に含まれる制御情報で特定される処理を実行可能と判断する場合、トンネル接続要求部３７３に簡易接続指示を出力する。簡易接続指示は、接続要求を含む。
【００９４】
トンネル接続要求部３７３は、簡易接続要求部３９５を含む。簡易接続要求部３９５は、実行可否判断部３５７から簡易接続指示が入力されることに応じて、常時接続セッションを介して、簡易接続要求を接続要求で特定されるゲートウェイ装置２００に送信する。簡易接続要求は、簡易接続指示に含まれる接続要求で特定される制御対象装置、ここでは、ＭＦＰ１００の装置識別情報を含む。簡易接続要求は、常時接続セッションにより定まるプロトコルに適合するようにカプセル化したパケットとして送信される。
【００９５】
実行可否判断部３５７は、ＭＦＰ１００が接続要求に含まれる制御情報で特定される処理を実行不可能と判断する場合、接続結果通知部３６５に、実行不可信号を出力する。
【００９６】
簡易接続要求を受信するゲートウェイ装置２００は、ＭＦＰ１００との間で通信セッションを確立するが、ＭＦＰ１００との間で通信セッションを確立できない場合には、ＭＦＰ１００を制御できないことを示す制御不可信号を返信する。ゲートウェイ装置２００がＭＦＰ１００との間で通信セッションを確立できない場合は、例えば、ＭＦＰ１００に電源が投入されていない場合、ＭＦＰ１００が通信できないトラブル状態の場合等である。
【００９７】
制御不可信号受信部３７５は、常時接続セッションを介して、ゲートウェイ装置２００が送信する制御不可信号を受信する。制御不可信号受信部３７５は、制御不可信号をグローバル確立部３５１の接続結果通知部３６５に出力する。
【００９８】
接続結果通知部３６５は、実行可否判断部３５７から実行不可信号が入力される場合、または、制御不可信号受信部３７５から制御不可信号が入力される場合、グローバルセッションを介してクラウドサーバー４００に、制御対象装置であるＭＦＰ１００を制御できないことを示す制御不可信号を送信する。クラウドサーバー４００においては、クラウドサーバー４００のユーザーに制御対象装置であるＭＦＰ１００を制御不可能であることを示すメッセージを表示するなどして、ＭＦＰ１００を制御できないことを通知することができる。
【００９９】
＜制御情報を更新する場合＞
更新決定部３５５は、装置情報を更新することを決定する場合、トンネル接続要求部３７３に正規接続指示を出力する。正規接続指示は、接続要求受信部３６３から入力される接続要求を含む。
【０１００】
トンネル接続要求部３７３は、正規接続要求部３９１と、接続指示送信部３９３と、を含む。正規接続要求部３９１は、更新決定部３５５から正規接続指示が入力されることに応じて、正規接続要求を、正規接続指示に含まれる接続要求で特定されるゲートウェイ装置２００に常時接続セッションを介して送信するとともに、正規接続要求を送信したことを示す信号と接続要求との組を要求時取得部３８３および接続指示送信部３９３に出力する。正規接続要求は、正規接続指示に含まれる接続要求で特定される制御対象装置、ここでは、ＭＦＰ１００の装置識別情報を含む。正規接続要求は、常時接続セッションにより定まるプロトコルに適合するようにカプセル化したパケットとして送信される。正規接続要求を受信するゲートウェイ装置２００の動作の詳細は後述するが、ＭＦＰ１００との間で通信セッションを確立し、ＭＦＰ１００の装置情報を取得し、取得されＭＦＰ１００の装置情報を返信する。
【０１０１】
装置情報取得部３７１の要求時取得部３８３は、正規接続要求部３９１から正規接続要求を送信したことを示す信号と接続要求との組が入力された後に、ゲートウェイ装置２００が送信するＭＦＰ１００の装置情報を、常時接続セッションを介して受信し、受信されるＭＦＰ１００の装置情報と接続要求との組を実行可否判断部３５７に出力する。
【０１０２】
実行可否判断部３５７は、要求時取得部３８３からＭＦＰ１００の装置情報と接続要求との組が入力される場合、ＭＦＰ１００の装置情報に基づいて、接続要求で特定される制御情報で特定される処理の実行が可能か否かを判断する。実行可能か否かの判断は、上述したのでここでは説明を繰り返さない。
【０１０３】
実行可否判断部３５７は、ＭＦＰ１００が接続要求に含まれる制御情報で特定される処理を実行可能と判断する場合、接続指示送信部３９３に送信指示を出力する。
【０１０４】
接続指示送信部３９３は、正規接続要求部３９１から正規接続要求を送信したことを示す信号が入力された後、実行可否判断部３５７から送信指示が入力されることに応じて、接続指示をゲートウェイ装置２００に常時接続セッションを介して送信する。接続指示は、ＭＦＰ１００の装置識別情報を含む。
【０１０５】
実行可否判断部３５７は、ＭＦＰ１００が接続要求に含まれる制御情報で特定される処理を実行不可能と判断する場合、接続結果通知部３６５に、実行不可信号を出力する。
【０１０６】
正規接続要求を受信するゲートウェイ装置２００は、ＭＦＰ１００との間で通信セッションを確立するが、ＭＦＰ１００との間で通信セッションを確立できない場合には、ＭＦＰ１００を制御できないことを示す制御不可信号を返信する。
【０１０７】
制御不可信号受信部３７５、接続結果通知部３６５の機能は、＜制御情報を更新しない場合＞において説明した機能と同じなので、ここでは説明を繰り返さない。
【０１０８】
図６は、ゲートウェイ装置が備えるＣＰＵの機能の一例を示すブロック図である。図６に示す機能は、ゲートウェイ装置２００が備えるＣＰＵ２０１が、ＲＯＭ２０２、フラッシュメモリ２０４またはＣＤ−ＲＯＭ２０９Ａに記憶された中継プログラムを実行することにより、ＣＰＵ２０１に形成される機能である。図６を参照して、ゲートウェイ装置２００が備えるＣＰＵ２０１は、常時接続セッション確立部２５１と、第１セッション確立部２５３と、装置検出部２７１と、第２セッション確立部２７３と、中継部２８１と、を含む。
【０１０９】
中継部２８１は、制御コマンド抽出部２８３と、代理送信部２８５と、代理受信部２８７と、実行結果受信部２９１と、実行結果通知部２９３と、を含む。
【０１１０】
また、ＣＰＵ２０１は、第１通信制御部２５０と、第２通信制御部２６０と、を含む。第１通信制御部２５０は、第１通信部２０５を制御し、インターネット５に接続されたコンピューターとの間の通信を制御する。第１通信制御部２５０は、常時接続セッション確立部２５１と、第１セッション確立部２５３と、中継部２８１に含まれる制御コマンド抽出部２８３、代理受信部２８７および実行結果通知部２９３と、を含む。
【０１１１】
第２通信制御部２６０は、第２通信部２０６を制御し、ＬＡＮ３に接続されたＭＦＰ１００，１００Ａ，１００Ｂとの間の通信を制御する。第２通信制御部２６０は、装置検出部２７１と、第２セッション確立部２７３と、中継部２８１に含まれる代理送信部２８５および実行結果受信部２９１と、を含む。
【０１１２】
装置検出部２７１は、ファイアーウォールの内側のＬＡＮ３に接続された装置の装置情報を取得する。装置検出部２７１は、所定のタイミングで、ＬＡＮ３に接続された装置を探索し、検出される装置の装置情報を取得する。所定のタイミングは、任意に定めることができるが、例えば、ゲートウェイ装置２００に電源が投入された時点、または、予め定められた時とすればよい。ここでは、ＬＡＮ３に接続された装置としてＭＦＰ１００，１００Ａ，１００Ｂを検出する場合を例に説明する。装置検出部２７１は、第２通信部２０６を制御してＬＡＮ３に接続された装置として検出されるＭＦＰ１００，１００Ａ，１００Ｂそれぞれの装置情報を取得する。装置情報は、ＭＦＰ１００，１００Ａ，１００Ｂそれぞれを識別するための装置識別情報と、それぞれの状態を示す状態情報とを含む。装置識別情報は、例えば、ローカルＩＰアドレスである。装置検出部２７１は、取得された装置情報を常時接続セッション確立部２５１に出力する。
【０１１３】
常時接続セッション確立部２５１は、装置検出部２７１からＭＦＰ１００，１００Ａ，１００Ｂそれぞれの装置識別情報が入力される。常時接続セッション確立部２５１は、第１通信部２０５を制御して、管理サーバー３００に通信セッションの確立要求を送信し、管理サーバー３００との間で通信セッションを確立する。ここで確立される通信セッションは、常時接続される常時接続セッションである。常時接続セッションは、特に限定するものではないが、例えば、ＸＭＰＰ（ｅＸｔｅｎｓｉｂｌｅ  Ｍｅｓｓａｇｉｎｇ  ａｎｄ  Ｐｒｅｓｅｎｃｅ  Ｐｒｏｔｏｃｏｌ）に基づくメッセージセッションである。フラッシュメモリ２０４に管理サーバー３００のグローバルＩＰアドレスが予め記憶されており、常時接続セッション確立部２５１は、フラッシュメモリ２０４に記憶されているグローバルＩＰアドレスを用いて管理サーバー３００に通信セッションの確立要求を送信し、管理サーバー３００と所定のネゴシエーションをすることによって常時接続セッションを確立する。
【０１１４】
常時接続セッション確立部２５１は、起動時装置識別情報送信部２５５と、トンネル接続要求受信部２５７と、制御不可通知部２５９と、を含む。起動時装置識別情報送信部２５５は、管理サーバー３００にファイアーウォール内部のＬＡＮ３に接続された装置を通知するために、装置検出部２７１から入力されるＭＦＰ１００，１００Ａ，１００Ｂそれぞれの装置情報を、常時接続セッションを介して管理サーバー３００に送信する。
【０１１５】
トンネル接続要求受信部２５７は、第１通信部２０５を制御して、管理サーバー３００からトンネル接続要求を、常時接続セッションを介して受信する。トンネル接続要求は、管理サーバー３００がクラウドサーバー４００から受信した接続要求を含む。接続要求は、ＭＦＰ１００のアドレス情報と、クラウドサーバー４００のアドレス情報とを含む。ＭＦＰ１００のアドレス情報は、ゲートウェイ装置２００の装置識別情報とＭＦＰ１００の装置識別情報とを含む。クラウドサーバー４００のアドレス情報は、ＭＦＰ１００からクラウドサーバー４００にアクセスするためのＵＲＬである。
【０１１６】
トンネル接続要求は、正規接続要求と、簡易接続要求とを含む。正規接続要求および簡易接続要求それぞれは、ＭＦＰ１００のアドレス情報と、クラウドサーバー４００のアドレス情報とを含む。トンネル接続要求受信部２５７は、簡易接続要求受信部２６１と、正規接続要求受信部２６３と、確立時装置情報送信部２６５と、接続指示受信部２６７と、を含む。なお、図中の矢印は、トンネル接続要求受信部２５７が簡易接続要求を受信する場合の情報の流れを示す矢印を点線で示し、トンネル接続要求受信部２５７が正規接続要求を受信する場合の情報の流れを示す矢印を太線で示している。
【０１１７】
簡易接続要求受信部２６１は、管理サーバー３００から送信される簡易接続要求を受信する。簡易接続要求受信部２６１は、簡易接続要求が受信されることに応じて、簡易接続要求に含まれるＭＦＰ１００のアドレス情報を第1セッション確立部２５３に出力するとともに、簡易接続要求に含まれるクラウドサーバー４００のアドレス情報を第１セッション確立部２５３に出力するとともに、簡易接続要求に含まれるＭＦＰ１００のアドレス情報を第２セッション確立部２７３に出力する。
【０１１８】
第１セッション確立部２５３は、簡易接続要求受信部２６１からクラウドサーバー４００のアドレス情報が入力されることに応じて、第１通信部２０５を制御して、クラウドサーバー４００との間で通信セッションを確立する。ここで確立する通信セッションは、第１通信セッションである。第１セッション確立部２５３は、第１通信セッションを識別するためのセッション識別情報を中継部２８１に出力する。
【０１１９】
第２セッション確立部２７３は、簡易接続要求受信部２６１からＭＦＰ１００のアドレス情報が入力されることに応じて、第２通信部２０６を制御して、ＭＦＰ１００に通信セッションの確立要求を送信し、ＭＦＰ１００との間で通信セッションを確立する。ここで確立される通信セッションは第２通信セッションである。第２通信セッションは、特に限定するものではないが、ＬＡＮ３において用いられる通信プロトコルに準じた通信セッションであればよい。第２セッション確立部２７３は、第２通信セッションの確立に成功する場合、第２通信セッションを識別するためのセッション識別情報を中継部２８１に出力する。
【０１２０】
正規接続要求受信部２６３は、管理サーバー３００から送信される正規接続要求を受信する。正規接続要求受信部２６３は、正規接続要求が受信されることに応じて、正規接続要求に含まれるＭＦＰ１００のアドレス情報を第２セッション確立部２７３に出力し、正規接続要求に含まれるクラウドサーバー４００のアドレス情報を含む受信指示を接続指示受信部２６７に出力する。
【０１２１】
第２セッション確立部２７３は、正規接続要求受信部２６３からＭＦＰ１００のアドレス情報が入力されることに応じて、第２通信部２０６を制御して、ＭＦＰ１００に通信セッションの確立要求を送信し、ＭＦＰ１００との間で第２通信セッションを確立する。第２セッション確立部２７３は、第２通信セッションを識別するためのセッション識別情報を中継部２８１に出力する。
【０１２２】
また、第２セッション確立部２７３は、確立時装置情報取得部２７５を含む。確立時装置情報取得部２７５は、第２通信部２０６を制御して、正規接続要求受信部２６３から入力されるＭＦＰ１００のアドレス情報を用いて、第１通信セッションを介して、ＭＦＰ１００から装置情報を取得する。確立時装置情報取得部２７５は、ＭＦＰ１００から取得された装置情報を確立時装置情報送信部２６５に出力する。
【０１２３】
確立時装置情報送信部２６５は、確立時装置情報取得部２７５からＭＦＰ１００の装置情報が入力されることに応じて、第１通信部２０５を制御して、ＭＦＰ１００の装置情報を管理サーバー３００に常時接続セッションを介して送信する。
【０１２４】
接続指示受信部２６７は、正規接続要求受信部２６３から受信指示が入力された後、第１通信部２０５を制御して、管理サーバー３００から送信される接続指示を常時接続セッションを介して受信する。接続指示受信部２６７は、接続指示を受信することに応じて、受信指示に含まれるクラウドサーバー４００のアドレス情報を第１セッション確立部２５３に出力する
第１セッション確立部２５３は、接続指示受信部２６７からクラウドサーバー４００のアドレス情報が入力されることに応じて、第１通信部２０５を制御して、クラウドサーバー４００との間で第１通信セッションを確立する。第１セッション確立部２５３は、第１通信セッションを識別するためのセッション識別情報を中継部２８１に出力する。
【０１２５】
第２セッション確立部２７３は、簡易接続要求受信部２６１および正規接続要求受信部２６３のいずれかから制御対象装置、ここではＭＦＰ１００のアドレス情報が入力される場合、第２通信セッションの確立を確立するが、第２通信セッションの確立に失敗する場合がある。第２セッション確立部２７３は、第２通信セッションの確立に失敗する場合、制御不可通知部２５９に制御対象装置と通信できないことを通知する。第２通信セッションが確立されなない場合は、ＭＦＰ１００に電源が投入されていない場合、または、ＭＦＰ１００が通信できないトラブルが発生している場合等である。
【０１２６】
制御不可通知部２５９は、第２セッション確立部２７３から制御対象装置と通信できないことを通知される場合、制御対象装置を制御できないことを示す制御不可信号を管理サーバー３００に常時接続セッションを介して送信する。
【０１２７】
中継部２８１は、第１セッション確立部２５３から第１通信セッションのセッション識別情報が入力され、第２セッション確立部２７３から第２通信セッションのセッション識別情報が入力される。中継部２８１は、第１セッション確立部２５３により確立された第１通信セッションと、第２セッション確立部２７３により確立された第２通信セッションとを用いて、クラウドサーバー４００とＭＦＰ１００との間の通信を中継する。中継部２８１が、クラウドサーバー４００とＭＦＰ１００との間で通信を中継することにより、クラウドサーバー４００とＭＦＰ１００との間でデータの送受信が可能となる。中継部２８１は、第１通信セッションと第２通信セッションとを関連付け、第１通信セッションを介してクラウドサーバー４００から受信されるデータを、第２通信セッションを介してＭＦＰ１００に送信し、第２通信セッションを介してＭＦＰ１００から受信されるデータを、第１通信セッションを介してクラウドサーバー４００に送信する。
【０１２８】
制御コマンド抽出部２８３は、第１通信セッションを介してクラウドサーバー４００から受信するパケットのうち、制御コマンドを含むパケットを取得する。制御コマンドは、クラウドサーバー４００がＭＦＰ１００に宛てて送信するコマンドであり、ＭＦＰ１００に処理を実行させるためのコマンドである。制御コマンドは、ＭＦＰ１００に実行させる処理を特定する。制御コマンド抽出部２８３は、制御コマンドを含むパケットを取得することに応じて、制御コマンドを、代理送信部２８５および代理受信部２８７に出力する。制御コマンドで特定される処理は、ジョブを実行する処理、設定値を変更する処理、装置の状態を取得する処理を含む。
【０１２９】
代理受信部２８７は、制御コマンド抽出部２８３から入力される制御コマンドがデータを処理させるコマンドの場合、第１通信セッションを介して制御コマンドとともに受信される処理対象となるデータを取得する。代理受信部２８７は、取得されたデータを代理送信部２８５に出力する。
【０１３０】
代理送信部２８５は、制御コマンド抽出部２８３から入力される制御コマンドを、第２通信セッションを介して、クラウドサーバー４００に代わってＭＦＰ１００に送信する。代理送信部２８５は、制御コマンドの送信元がクラウドサーバー４００であることを示す情報を制御コマンドに付して送信する。
【０１３１】
代理送信部２８５は、代理送信指示に含まれる制御コマンドがデータを処理させるコマンドの場合、代理受信部２８７から入力されるデータを、第２通信セッションを介して、制御コマンドとともにＭＦＰ１００に送信する。代理送信部２８５は、制御コマンドをＭＦＰ１００に送信する場合、制御コマンドをＭＦＰ１００に送信したことを示す信号を実行結果受信部２８９に出力する。
【０１３２】
実行結果受信部２９１は、代理送信部２８５から制御コマンドをＭＦＰ１００に送信したことを示す信号が入力された後、ＭＦＰ１００から第２通信セッションを介して実行結果を受信する。実行結果受信部２９１は、受信された実行結果を実行結果通知部２９３に出力する。
【０１３３】
実行結果通知部２９３は、実行結果受信部２９１から実行結果が入力されることに応じて、第１通信セッションを介して、実行結果を、クラウドサーバー４００にＭＦＰ１０に代わって送信する。実行結果は、送信元がＭＦＰ１００であることを示す情報を含む。
【０１３４】
図７は、中継処理の流れの一例を示すフローチャートである。中継処理は、ゲートウェイ装置２００が備えるＣＰＵ２０１が、ＲＯＭ２０２、フラッシュメモリ２０４またはＣＤ−ＲＯＭ２０９Ａに記憶された中継プログラムを実行することにより、ＣＰＵ２０１により実行される処理である。図７を参照して、ゲートウェイ装置２００が備えるＣＰＵ２０１は、第１通信部２０５を制御して管理サーバー３００との間で常時接続セッションを確立する（ステップＳ０１）。フラッシュメモリ２０４に記憶されている管理サーバー３００のグローバルＩＰアドレスを用いて管理サーバー３００に通信セッションの確立要求を送信し、管理サーバー３００と所定のネゴシエーションをすることによって常時接続セッションを確立する。常時接続セッションは、特に限定するものではないが、例えば、ＸＭＰＰに基づくメッセージセッションである。
【０１３５】
次のステップＳ０２においては、ファイアーウォールの内側のＬＡＮ３に接続された装置を検索する。ＬＡＮ３にブロードキャストで問い合わせを送信し、ＭＦＰ１００，１００Ａ，１００Ｂそれぞれから返信される装置識別情報を取得することによって、ＭＦＰ１００，１００Ａ，１００Ｂを検索する。装置識別情報は、限定するものではないが、ＭＦＰ１００，１００Ａ，１００Ｂそれぞれに対してＬＡＮ３において割り当てられたローカルＩＰアドレスである。
【０１３６】
次のステップＳ０３においては、ステップＳ０２において検出されたＭＦＰ１００，１００Ａ，１００Ｂのうちから処理対象となる1台を選択する。ここではＭＦＰ１００を選択する場合を例に説明する。
【０１３７】
ステップＳ０４においては、処理対象に選択されたＭＦＰ１００から装置情報を取得する。装置情報は、ＭＦＰ１００の状態を示す情報であり、実行中のジョブに関する情報、操作中状態、エラーの発生状態、オプション機器の構成、ファームウェアプログラムのバージョン情報、アプリケーションプログラムのバージョン情報、ＨＤＤ１１６の残容量、プリント枚数のカウンター値、待機ジョブの数、設定値、を含む。
【０１３８】
ステップＳ０５においては、ＭＦＰ１００の装置情報をフラッシュメモリ２０４に記憶し、処理をステップＳ０６に進める。ステップＳ０６においては、処理対象に選択されているＭＦＰ１００についてステップＳ０４において取得された装置情報を、ステップＳ０１において確立された常時接続セッションを介して管理サーバー３００に送信し、処理をステップＳ０７に進める。これにより、管理サーバー３００は、ゲートウェイ装置２００に接続されたＭＦＰ１００を認識することができる。
【０１３９】
ステップＳ０７においては、ステップＳ０２において検出されたＭＦＰ１００，１００Ａ，１００Ｂのうちで、ステップＳ０３において処理対象に未だ選択されていない装置が存在するか否かを判断する。未選択の装置が存在するならば、処理をステップＳ０３に戻すが、そうでなければ処理をステップＳ０８に進める。ステップＳ０８においては、トンネル接続処理を実行し、処理をステップＳ０９に進める。ステップＳ０９においては、電源がＯＦＦになったか否かを判断する。電源がオフになったならば処理を終了するが、そうでなければ処理をステップＳ０８に戻す。
【０１４０】
図８は、トンネル接続処理の流れの一例を示すフローチャートである。トンネル接続処理は、図７のステップＳ０８において、実行される処理である。図８を参照して、ＣＰＵ２０１は、簡易接続要求を受信したか否かを判断する（ステップＳ１０）。常時接続セッションを介して簡易接続要求を受信したならば、処理をステップＳ１１に進めるが、そうでなければ処理をステップＳ２２に進める。
【０１４１】
ステップＳ１１においては、簡易接続要求に含まれる接続要求に基づいて接続元のアドレス情報を抽出する。そして、接続元のアドレス情報に基づいて接続元の装置を特定する（ステップＳ１２）。ここでは、接続要求が、接続元のアドレス情報としてＭＦＰ１００のアドレス情報を含み、接続先を特定するアドレス情報としてクラウドサーバー４００のアドレス情報を含む場合を例に説明する。この場合、ＭＦＰ１００を接続元の装置に特定する。
【０１４２】
次のステップＳ１３においては、第２通信部２０６を制御して、接続元の装置に特定されたＭＦＰ１００との間で第２通信セッションを確立する。ステップＳ１２において、接続元の装置に特定されたＭＦＰ１００に通信セッションの確立要求を送信し、ＭＦＰ１００との間で第２通信セッションを確立する。第２通信セッションを確立したならば、処理をステップＳ１４に進めるが、ＭＦＰ１００との間で第２通信セッションを確立できなければ処理をステップＳ２１に進める。ＭＦＰ１００との間で第２通信セッションを確立できない場合は、例えば、ＭＦＰ１００に電源が投入されていない場合、ＭＦＰ１００が通信できないトラブル状態の場合等である。ステップＳ２１においては、ＭＦＰ１００を制御できないことを示す制御不可信号を、常時接続セッションを介して管理サーバー３００に送信し、処理を中継処理に戻す。
【０１４３】
ステップＳ１４においては、ステップＳ１０において受信された簡易接続要求に含まれる接続要求から接続先のアドレス情報を抽出する。ここでは、接続要求が、接続先を特定するアドレス情報としてクラウドサーバー４００のアドレス情報を含むので、クラウドサーバー４００のアドレス情報を抽出する。次のステップＳ１５においては、第１通信部２０５を制御して、接続先のアドレス情報を用いて、クラウドサーバー４００との間で第１通信セッションを確立する。ステップＳ１４において抽出されたクラウドサーバー４００のアドレス情報にアクセスすることによって、クラウドサーバー４００との間で第１通信セッションを確立する。
【０１４４】
ステップＳ１６においては、制御コマンドを受信したか否かを判断する。制御コマンドを受信するまで待機状態となり（ステップＳ１６でＮＯ）、制御コマンドを受信したならば処理をステップＳ１７に進める。第１通信セッションを介してクラウドサーバー４００から受信するパケットのうち、制御コマンドを含むパケットを取得する。制御コマンドは、クラウドサーバー４００がＭＦＰ１００に宛てて送信するコマンドであり、ＭＦＰ１００に処理を実行させるためのコマンドである。制御コマンドは、ＭＦＰ１００に実行させる処理を特定する。
【０１４５】
ステップＳ１７においては、制御コマンドをクラウドサーバー４００に代わってＭＦＰ１００に第２通信セッションを介して送信し、処理をステップＳ２３に進める。制御コマンドの送信元が、クラウドサーバー４００であることを示す情報を制御コマンドに付して送信する。
【０１４６】
ステップＳ１８においては、第１通信セッションと第２通信セッションとを用いて、クラウドサーバー４００とＭＦＰ１００との間の通信を中継する。例えば、制御コマンドがデータを処理させるコマンドの場合、制御コマンドとともに受信される処理対象となるデータを第１通信セッションを介して受信し、受信されたデータをクラウドサーバー４００に代わってＭＦＰ１００に第２通信セッションを介して送信する。また、ＭＦＰ１００から実行結果を第２通信セッションを介して受信する場合、実行結果を、クラウドサーバー４００にＭＦＰ１０に代わって第１通信セッションを介して送信する。実行結果は、送信元がＭＦＰ１００であることを示す情報を含む。
【０１４７】
次のステップＳ１９においては、通信が終了したか否かを判断する。例えば、第１通信セッションを介して、クラウドサーバー４００から通信終了通知を受信する場合に、通信が終了したと判断する。通信が終了したと判断する場合は（ステップＳ１９でＹＥＳ）、処理をステップＳ２０に進めるが、通信が終了しないと判断する場合（ステップＳ１９でＮＯ）、処理をステップＳ１６に戻す。ステップＳ２０においては、ステップＳ１３において確立した第２通信セッションを切断し、処理を中継処理に戻す。
【０１４８】
ステップＳ２２においては、常時接続セッションを介して正規接続要求を受信したか否かを判断する。正規接続要求を受信したならば、処理をステップＳ２３に進めるが、そうでなければ処理を中継処理に戻す。
【０１４９】
ステップＳ２３においては、正規接続要求に含まれる接続要求に基づいて接続元のアドレス情報を抽出する。そして、接続元のアドレス情報に基づいて接続元の装置を特定する（ステップＳ２４）。ここでは、接続要求が、接続元のアドレス情報としてＭＦＰ１００のアドレス情報を含み、接続先を特定するアドレス情報としてクラウドサーバー４００のアドレス情報を含む場合を例に説明する。この場合、ＭＦＰ１００を接続元の装置に特定する。
【０１５０】
次のステップＳ２５においては、第２通信部２０６を制御して、接続元の装置に特定されたＭＦＰ１００との間で第２通信セッションを確立する。ステップＳ２３において、接続元の装置に特定されたＭＦＰ１００に通信セッションの確立要求を送信し、ＭＦＰ１００との間で第２通信セッションを確立する。第２通信セッションを確立したならば、処理をステップＳ２６に進めるが、ＭＦＰ１００との間で第２通信セッションを確立できなければ処理をステップＳ２９に進める。ステップＳ２９においては、ＭＦＰ１００を制御できないことを示す制御不可信号を、常時接続セッションを介して管理サーバー３００に送信し、処理を中継処理に戻す。
【０１５１】
ステップＳ２６においては、第２通信セッションを介してＭＦＰ１００から装置情報を取得する。次のステップＳ２７においては、ＭＦＰ１００の装置識別情報を、常時接続セッションを介して管理サーバー３００に送信し、処理をステップＳ２８に進める。
【０１５２】
ステップＳ２８においては、接続指示を受信したか否かを判断する。常時接続セッションを介して、管理サーバー３００から接続指示を受信したならば処理をステップＳ１４に進めるが、そうでなければ処理をステップＳ２０に進める。
【０１５３】
図９は、接続支援処理の流れの一例を示すフローチャートである。接続支援処理は、管理サーバー３００が備えるＣＰＵ３０１が、ＲＯＭ３０２、ＨＤＤ３０４またはＣＤ−ＲＯＭ３０９Ａに記憶されたプログラムを実行することにより、ＣＰＵ３０１により実行される処理である。図９を参照して、ＣＰＵ３０１は、常時接続セッションの確立要求を受信したか否かを判断する（ステップＳ１０１）。通信部３０５が、ゲートウェイ装置２００から常時接続のための通信セッションの確立要求を受信したか否かを判断する。常時接続セッションの確立要求を受信したならば処理をステップＳ１０２に進めるが、そうでなければ処理をステップＳ１０４に進める。
【０１５４】
ステップＳ１０２においては、ゲートウェイ装置２００との間で常時接続セッションを確立し、処理をステップＳ１０３に進める。ステップＳ１０３においては、常時接続セッションを介して、ゲートウェイ装置２００から制御対象装置の装置識別情報を取得する。ここでは、ＭＦＰ１００，１００Ａ，１００Ｂそれぞれの装置識別情報を取得する場合を例に説明する。
【０１５５】
ステップＳ１０４においては、グローバルセッションの確立要求を受信したか否かを判断する。通信部３０５が、ファイアーウォールの外部に位置するクラウドサーバー４００からグローバルセッションの確立要求を受信したか否かを判断する。グローバルセッションの確立要求を受信したならば処理をステップＳ１０５に進めるが、そうでなければ処理をステップＳ１０１に戻す。ステップＳ１０５においては、クラウドサーバー４００との間でグローバルセッションを確立し、処理をステップＳ１０６に進める。
【０１５６】
ステップＳ１０６においては、装置選択画面をクラウドサーバー４００にグローバルセッションを介して送信する。装置選択画面は、ゲートウェイ装置２００の装置識別情報と、ＭＦＰ１００，１００Ａ，１００Ｂそれぞれの装置識別情報と、を含み、ゲートウェイ装置２００と、ＭＦＰ１００，１００Ａ，１００Ｂのいずれかと、を選択可能な画面である。
【０１５７】
クラウドサーバー４００においては、装置選択画面を受信することにより、トンネル接続する相手の装置を特定することができる。例えば、クラウドサーバー４００が、装置選択画面をディスプレイに表示し、クラウドサーバー４００を操作するユーザーが、装置選択画面に従って選択した装置を、接続する相手の装置として特定する。ここでは、クラウドサーバー４００を操作するユーザーにより、ゲートウェイ装置２００とＭＦＰ１００とが選択された場合を例に説明する。クラウドサーバー４００においては、接続先の装置として、ゲートウェイ装置２００とＭＦＰ１００とが選択されると、接続要求を管理サーバー３００にグローバルセッションを介して送信する。接続要求は、送信元のアドレス情報としてＭＦＰ１００のアドレス情報と、送信先のアドレス情報としてクラウドサーバー４００のアドレス情報と、制御情報と、を含む。ＭＦＰ１００のアドレス情報は、ゲートウェイ装置２００の装置識別情報とＭＦＰ１００の装置識別情報とを含む。クラウドサーバー４００のアドレス情報は、ＭＦＰ１００からクラウドサーバー４００にアクセスするためのＵＲＬである。ＵＲＬには、クラウドサーバー４００のアドレス（ドメイン名）、ウェブページの識別子、クラウドサーバー４００が実行するジョブの識別子（ジョブＩＤ）、および待ち受けポートのポート番号が含まれる。制御情報は、ジョブＩＤにより特定されるジョブが制御対象装置であるＭＦＰ１００に実行させる処理の内容を示す。
【０１５８】
ステップＳ１０７においては、接続要求をクラウドサーバー４００から受信したか否かを判断する。接続要求を受信したならば（ステップＳ１０７でＹＥＳ）、処理をステップＳ１０８に進めるが、そうでなければ（ステップＳ１０７でＮＯ）、処理をステップＳ１２２に進める。なお、ステップＳ１０７において接続要求を受信しないと判断する場合は、ステップＳ１０５においグローバルセッションが確立されてから予め定められた所定の時間、例えばタイムアウト期間が経過しても接続要求を受信しなかった場合とするのが好ましい。
【０１５９】
ステップＳ１０８においては、接続要求に含まれる制御情報を抽出する。そして、更新可否決定処理を実行する。更新可否決定処理の詳細は後述するが、接続要求に含まれる送信元のアドレス情報で特定されるＭＦＰ１００の装置情報を更新するか否かを決定する処理である。ステップＳ１１０においては、更新可否決定処理の実行結果によって処理を分岐する。実行結果が更新不要ならば処理をステップＳ１１１に進めるが、そうでなければ処理をステップＳ１１４に進める。
【０１６０】
ステップＳ１１１においては、実行可否判断処理を実行する。実行可否判断処理の詳細は後述するが、ステップＳ１０７において受信された接続要求に含まれる送信元のアドレス情報で特定されるＭＦＰ１００が、ステップＳ１０８において抽出された制御情報で特定される処理を、実行可能か否かを判断する処理である。ステップＳ１１２においては、実行可否判断処理の実行結果によって処理を分岐する。実行結果が実行可能ならば処理をステップＳ１１３に進めるが、そうでなければ処理をステップＳ１２１に進める。
【０１６１】
ステップＳ１１３においては、簡易接続要求をゲートウェイ装置２００にステップＳ１０１において確立された常時接続セッションを介して送信し、処理をステップＳ１２０に進める。簡易接続要求は、接続要求を、常時接続セッションにより定まるプロトコルに適合するようにカプセル化したパケットである。簡易接続要求を受信するゲートウェイ装置２００は、ＭＦＰ１００との間で第２通信セッションを確立し、クラウドサーバー４００との間で第１通信セッションを確立し、ＭＦＰ１００とクラウドサーバー４００との間の通信を中継する。
【０１６２】
一方、ステップＳ１１４においては、正規接続要求をゲートウェイ装置２００にステップＳ１０１において確立された常時接続セッションを介して送信し、処理をステップＳ１１５に進める。正規接続要求は、接続要求を、常時接続セッションにより定まるプロトコルに適合するようにカプセル化したパケットである。
【０１６３】
ステップＳ１１５においては、ステップＳ１０１において確立された常時接続セッションを介してゲートウェイ装置２００から制御対象装置であるＭＦＰ１００の装置情報を受信したか否かを判断する。ＭＦＰ１００の装置情報を受信するまで待機状態となり（ステップＳ１１５でＮＯ）、ＭＦＰ１００の装置情報を受信したならば（ステップＳ１１５でＹＥＳ）、処理をステップＳ１１６に進める。ステップＳ１１６においては、ＭＦＰ１００の装置情報を、ステップＳ１１５において受信された装置情報で更新する。
【０１６４】
次のステップＳ１１７において、更新後の装置情報に基づいて実行可否判断処理を実行する。次のステップＳ１１８においては、ステップＳ１１７において実行された実行可否判断処理の実行結果によって処理を分岐する。実行結果が実行可能ならば処理をステップＳ１１９に進めるが、そうでなければ処理をステップＳ１２３に進める。ステップＳ１２３においては、ステップＳ１０５において確立されたグローバルセッションを介して、クラウドサーバー４００に、制御することができないことを通知し、処理をステップＳ１２２に進める。
【０１６５】
ステップＳ１１９においては、ステップＳ１０１において確立された常時接続セッションを介してゲートウェイ装置２００に接続指示を送信し、処理をステップＳ１２０に進める。ゲートウェイ装置２００は、ＭＦＰ１００は、第２通信セッションを確立できない場合に、制御不可信号を送信する。
【０１６６】
ステップＳ１２０においては、ステップＳ１０１において確立された常時接続セッションを介してゲートウェイ装置２００から制御不可信号を受信したか否かを判断する。制御不可信号を受信したならば処理をステップＳ１２１に進めるが、そうでなければ処理をステップＳ１２２に進める。ステップＳ１２１においては、ステップＳ１０５において確立されたグローバルセッションを介して、クラウドサーバー４００に、制御することができないことを通知し、処理をステップＳ１２２に進める。ステップＳ１２２においては、ステップＳ１０５において確立されたグローバルセッションを切断し、処理を終了する。
【０１６７】
図１０は、更新可否決定処理の流れの一例を示すフローチャートである。更新可否決定処理は、図９のステップＳ１１１で実行される処理である。図１０を参照して、制御対象装置であるＭＦＰ１００の装置情報を取得してからの経過時間を算出する（ステップＳ１３１）。そして、経過時間を、しきい値Ｔと比較する(ステップＳ１３２)。経過時間がしきい値Ｔ以上ならば処理をステップＳ１３３に進め、そうでなければ処理をステップＳ１３４に進める。ステップＳ１３３においては、返り値に更新を設定し、処理を接続支援処理に戻す。
【０１６８】
ステップＳ１３４においては、接続要求に含まれる制御情報に基づいて処理を特定する。そして、特定された処理が第１の種類の処理か否かを判断する（ステップＳ１３５）。第１の種類の処理ならば処理をステップＳ１３６に進めるが、そうでなければ処理をステップＳ１３７に進める。第１の種類の処理は、例えば、ＭＦＰ１００に画像を形成させる処理、および、ＭＦＰ１００に設定されているパラメータを出力する処理を含む。ステップＳ１３６においては、返り値に更新を設定し、処理を接続支援処理に戻す。ステップＳ１３７においては、返り値に更新不要を設定し、処理を接続支援処理に戻す。
【０１６９】
＜更新可否決定処理の変形例＞
図１１は、変形例における更新可否決定処理の流れの一例を示すフローチャートである。図１１を参照して、図１０と異なる点は、ステップＳ１３５〜ステップＳ１３７が、ステップＳ１３５Ａ〜ステップＳ１３７Ａに変更された点である。その他の処理は図１０に示した処理と同じなのでここでは説明を繰り返さない。
【０１７０】
ステップＳ１３５Ａにおいては、ステップＳ１３４において特定された処理が第２の種類の処理か否かを判断する。第２の種類の処理ならば処理をステップＳ１３６Ａに進めるが、そうでなければ処理をステップＳ１３７Ａに進める。第２の種類の処理は、制御対象装置であるＭＦＰ１００が処理を実行するためのパラメータを設定する処理を、含む。ステップＳ１３６Ａにおいては、返り値に更新不要を設定し、処理を接続支援処理に戻す。ステップＳ１３７Ａにおいては、返り値に更新を設定し、処理を接続支援処理に戻す。
【０１７１】
図１２は、実行可否判断処理の流れの一例を示すフローチャートである。実行可否判断処理は、図９に示した接続支援処理のステップＳ１１１、およびステップＳ１１７において実行される処理である。実行可否判断処理が実行される前の段階で、制御情報および制御対象装置であるＭＦＰ１００の装置情報が取得されている。
【０１７２】
図１２を参照して、ＣＰＵ３０１は、制御情報に基づいて処理を特定する（ステップＳ１４１）。次のステップＳ１４２においては、ステップＳ１４１において特定された処理がジョブの実行を指示するジョブ実行処理か否かを判断する。ジョブ実行処理ならば処理をステップＳ１４３に進めるが、そうでなければ処理をステップＳ１５０に進める。ステップＳ１４３においては、装置情報がＭＦＰ１００でジョブを実行中であることを示す否かを判断する。装置情報がＭＦＰ１００でジョブを実行中であることを示すならば、処理をステップＳ１４４に進めるが、そうでなければ処理をステップＳ１４５に進める。
【０１７３】
ステップＳ１４４においては、ステップＳ１４１において特定された処理と、装置情報で特定されるＭＦＰ１００で実行中のジョブとを、ＭＦＰ１００が並列で実行可能か否かを判断する。ＭＦＰ１００が２つの処理を並列で実行可能ならば処理をステップＳ１４５に進めるが、そうでなければ処理をステップＳ１４９に進める。例えば、ステップＳ１４１において特定された処理がＨＤＤ１１６にデータを記憶する処理で、ＭＦＰ１００で実行されている処理が画像形成部１４０で画像を形成する処理ならば、並列で実行可能と判断するが、ＭＦＰ１００で実行されている処理が原稿読取部１３０で読み取った原稿をＨＤＤ１１５に記憶する処理ならば並列で実行不可と判断する。並列で実行可能な処理と、並列で実行できない処理とを定めたテーブルを、予めＭＦＰ１００から取得しておけばよい。
【０１７４】
ステップＳ１４５においては、ステップＳ１４１において特定された処理が、データを記憶するデータ記憶処理か否かを判断する。データ記憶処理ならば処理をステップＳ１４６に進めるが、そうでなければステップＳ１４６をスキップして処理をステップＳ１４７に進める。ステップＳ１４６においては、ＭＦＰ１００の装置情報を参照して、ＭＦＰ１００のＨＤＤ１１５がデータを記憶するだけの記憶容量を有するか否かを判断する。データを記憶するだけの記憶容量を有するならば処理をステップＳ１４７に進めるが、そうでなければ処理をステップＳ１４９に進める。
【０１７５】
ステップＳ１４７においては、ＭＦＰ１００の装置情報を参照して、ＭＦＰ１００がトラブル中か否かを判断する。ここでは、ステップＳ１４１において特定された処理を実行することができないトラブルが発生しているか否かを判断する。例えば、ステップＳ１４１において特定された処理が、画像形成処理の場合には、用紙切れ、用紙の詰まり等の状態は、トラブルが発生していると判断する。ＭＦＰ１００がトラブル中の場合には、処理をステップＳ１４８に進めるが、そうでなければ処理をステップＳ１４９に進める。
【０１７６】
ステップＳ１４８においては、返り値に実行可を設定し、処理をステップＳ１５０に進める。一方、ステップＳ１４９においては、返り値に実行不可を設定し、処理をステップＳ１５０に進める。
【０１７７】
ステップＳ１５０においては、ステップＳ１４１において特定された処理がＭＦＰ１００の状態を取得する状態取得処理か否かを判断する。ステップＳ１４１において特定された処理が状態取得処理ならば処理をステップＳ１５１に進めるが、そうでなければ処理を接続支援処理に戻す。ステップＳ１５１においては、装置情報がＭＦＰ１００でジョブを実行中であることを示す否かを判断する。装置情報がＭＦＰ１００でジョブを実行中であることを示すならば、処理をステップＳ１５２に進めるが、そうでなければ処理をステップＳ１５３に進める。ステップＳ１５２においては、返り値に実行可を設定し、処理を接続支援処理に戻す。一方、ステップＳ１５３においては、返り値に実行不可を設定し、処理を接続支援処理に戻す。
【０１７８】
図１３は、装置制御処理の流れの一例を示すフローチャートである。装置制御処理は、クラウドサーバー４００が備えるＣＰＵがサービスを提供するためのプログラムを実行することにより、そのＣＰＵにより実行される処理である。ここでは、クラウドサーバー４００が実行する処理のうち、クラウドサーバー４００がＭＦＰ１００に処理を実行させる処理を主に示している。図１３を参照して、クラウドサーバー４００が備えるＣＰＵは、管理サーバーの指定を受け付ける（ステップＳ２０１）。ユーザーがＭＦＰ１００を指定するために入力する管理サーバー３００のグローバルＩＰアドレスを受け付ける。
【０１７９】
次のステップＳ２０２においては、ステップＳ２０１において指定された管理サーバー３００との間でグローバルセッションの確立要求を送信する。次のステップＳ２０３においては、管理サーバー３００とネゴシエーションすることによって、管理サーバー３００との間の通信セッションとしてグローバルセッションを確立する。なお、この場合、管理サーバー３００は、管理サーバー３００に登録されたユーザーであることを認証するために認証情報を要求し、認証に成功することを条件に、通信セッションであるグローバルセッションを確立するようにしてもよい。これにより、ファイアーウォールの内部のＭＦＰ１００，１００Ａ，１００Ｂに対してアクセス可能なユーザーを、管理サーバー３００に登録されたユーザーに制限することができる。
【０１８０】
次のステップＳ２０４においては、制御対象装置の指定を受け付ける。グローバルセッションを介して管理サーバー３００から受信される装置選択画面を表示し、クラウドサーバー４００を操作するユーザーにより処理を実行させる対象装置として選択された装置の装置識別情報を特定する。装置選択画面は、ゲートウェイ装置２００の装置識別情報と、ＭＦＰ１００，１００Ａ，１００Ｂそれぞれの装置識別情報と、を含み、ゲートウェイ装置２００と、ＭＦＰ１００，１００Ａ，１００Ｂのいずれかと、を選択可能な画面である。ここでは、ＭＦＰ１００が制御対象装置として選択された場合を例に説明する。
【０１８１】
次のステップＳ２０５においては、接続要求を管理サーバー３００に、ステップＳ２０３において確立されたグローバルセッションを介して送信する。接続要求は、送信元のアドレス情報としてＭＦＰ１００のアドレス情報と、送信先のアドレス情報としてＵＲＬを含む。ＵＲＬは、クラウドサーバー４００のアドレス（ドメイン名）、ウェブページの識別子、クラウドサーバー４００が実行するジョブの識別子（ジョブＩＤ）、待ち受けポートのポート番号、および制御情報を含む。
【０１８２】
ステップＳ２０６においては、グローバルセッションを介して管理サーバー３００から制御不可通知を受信したか否かを判断する。制御不可通知を受信したならば処理をステップＳ２１４に進めるが、そうでなければ処理をステップＳ２０７に進める。ステップＳ２１４においては、ステップＳ２０４において制御対象装置に指定されたＭＦＰ１００を制御できないことをユーザーに通知し、処理を終了する。
【０１８３】
ステップＳ２０７においては、通信セッションの確立要求を受信したか否かを判断する。ここでの確立要求は、接続要求に対応する。具体的には、確立要求は、接続要求に含まれるＵＲＬへのアクセスである。通信セッションの確立要求を受信したならば処理をステップＳ２０８に進めるが、そうでなければ処理をステップＳ２１５に進める。ステップＳ２１５においては、タイムアウトエラーをユーザーに通知し、処理を終了する。
【０１８４】
ステップＳ２０８においては、通信セッションの確立要求に対応する第１通信セッションを確立し、処理をステップＳ２０９に進める。ステップＳ２０９においては、制御コマンドを第１通信セッションを介して送信する。制御コマンドの送信先はゲートウェイ装置２００であるが、上述したように第１通信セッションを介して送信されるデータは、ゲートウェイ装置２００とＭＦＰ１００との間で確立された第２通信セッションを介して、ゲートウェイ装置２００によってＭＦＰ１００に送信される。このため、制御コマンドは実際にはＭＦＰ１００に送信される。
【０１８５】
次のステップＳ２１０においては、ＭＦＰ１００に送信するデータが存在するか否かを判断する。例えば、制御コマンドがファームウェアの更新処理を示す場合に、更新プログラムがデータとして存在する。また、制御コマンドからデータを記憶する処理を示す場合に、記憶の対象となるデータが存在する。データが存在するならば処理をステップＳ２１１に進めるが、そうでなければ処理をステップＳ２１２に進める。ステップＳ２１１においては、データを第１通信セッションを介して送信し、処理をステップＳ２１２に進める。データの送信先は、制御コマンドと同様にゲートウェイ装置２００であるが、実際にはＭＦＰ１００に送信される。
【０１８６】
ステップＳ２１２においては、実行結果を第１通信セッションを介して受信したか否かを判断する。実行結果を受信したならば、受信された実行結果を、クラウドサーバー４００に接続されたクライアント端末に表示し、処理をステップＳ２１３に進めるが、そうでなければ処理をステップＳ２０９に戻す。これにより、クラウドサーバー４００を操作するユーザーに、制御コマンドに基づく処理が、ＭＦＰ１００で実行された結果を通知することができる。ステップＳ２１３においては、ステップＳ２０３において確立されたグローバルセッションを切断し、処理を終了する。
【０１８７】
以上説明したように本実施の形態におけるゲートウェイ装置２００は、ファイアーウォールの内部に配置され、ファイアーウォールの内部に配置されたＭＦＰ１００とファイアーウォールの外部のクラウドサーバー４００との間の通信を中継する中継装置として機能する。そして、ゲートウェイ装置２００は、クラウドサーバー４００とＭＦＰ１００との間の通信を中継する際に、ＭＦＰ１００から装置情報を取得し、取得された装置情報に基づいて、クラウドサーバー４００からＭＦＰ１００に宛てて送信される制御コマンドにより特定される処理をＭＦＰ１００が実行可能か否かを判断し、実行不可能と判断される場合、制御コマンドを一時記憶し、制御コマンドが一時記憶された後にＭＦＰ１００から取得された装置情報に基づいて、実行可能と判断されることに応じて、一時記憶された制御コマンドを、クラウドサーバー４００に代わってＭＦＰ１００に送信する。このため、ＭＦＰ１００が、制御コマンドにより特定される処理を実行できない場合に、制御コマンドを送信しないので、ＭＦＰ１００は制御コマンドに対応する処理を実行する必要がなく、いので負荷が増加しないようにすることができる。また、クラウドサーバー４００は、ＭＦＰ１００が処理を実行できるか否かに係わりなく、制御コマンドを送信すればよいので、ＭＦＰ１００の状態を判断するための処理を実行する必要がなく、負荷が増大することがない。その結果、クラウドサーバー４００およびＭＦＰ１００間のファイアーウォールを介した通信の効率を改善することができる。
【０１８８】
以上説明したように本実施の形態における管理サーバー３００は、ファイアーウォールの外部に配置され、ファイアーウォールの内部に配置されたＭＦＰ１００とファイアーウォールの外部に配置されたクラウドサーバー４００との間の通信の接続を支援する管理サーバーである。また、管理サーバー３００は、ゲートウェイ装置２００からの要求に基づいて、ゲートウェイ装置２００との間で通信するための常時接続通信セッションを確立し、ゲートウェイ装置２００との間で常時接続通信セッションが確立される際に、ＭＦＰ１００の装置情報をゲートウェイ装置２００から取得し、クラウドサーバー４００から接続要求が受信されることに応じて、装置情報を更新するか否かを決定し、装置情報を更新することが決定された後に、装置情報をゲートウェイ装置２００から取得する。このため、装置情報を更新しないことが決定された場合は、装置情報をゲートウェイ装置２００から取得する必要がないので、クラウドサーバー４００から接続要求が受信されてからＭＦＰ１００をクラウドサーバー４００と接続するまでの時間を短くすることができる。
【０１８９】
また、管理サーバー３００は、接続要求に含まれ、ＭＦＰ１００を制御する内容を示す制御情報に基づいて、更新可否を決定するので、ＭＦＰ１００に実行させる処理の実行可否を判断するのに必要な最新の装置情報を取得することができる。
【０１９０】
また、管理サーバー３００は、制御情報がＭＦＰ１００に予め定められた第１の種類の処理を実行させる内容を示す場合、装置情報を更新することを決定するので、ＭＦＰ１００に第１の種類の処理を実行させる場合に限って、最新の装置情報を取得することができる。
【０１９１】
また、管理サーバー３００は、制御情報がＭＦＰ１００に予め定められた第２の種類の処理を実行させる内容を示す場合、装置情報を更新しないことを決定するので、ＭＦＰ１００に第２の種類の処理を実行させる場合に限って、装置情報を取得しないようにすることができる。
【０１９２】
また、管理サーバー３００は、装置情報が最後に取得されてからの経過時間に基づいて、更新可否を決定するので、時間の経過に伴って変化する装置情報を経過時間の短いものを更新しないようにすることができる。
【０１９３】
また、管理サーバー３００は、装置情報が最後に取得されてからの経過時間が所定の時間以内の場合、更新しないことを決定するので、装置情報を所定の時間以降に取得された装置情報を更新しないようにすることができる。
【０１９４】
さらに、管理サーバー３００は、制御情報を更新しないことを決定する場合、簡易接続要求をゲートウェイ装置２００に送信し、制御情報を更新することが決定される場合、正規接続要求をゲートウェイ装置２００に送信し、正規接続要求を受信するゲートウェイ装置２００が送信する装置情報を取得する。このため、管理サーバー３００は、ゲートウェイ装置２００に装置情報を送信させるか否かを制御することができる。
【０１９５】
また、ゲートウェイ装置２００は、管理サーバー３００との間で常時接続セッションを確立し、管理サーバー３００がクラウドサーバー４００から受信する接続要求を常時接続セッションを介して受信し、受信された接続要求に含まれる接続先であるクラウドサーバー４００のアドレス情報を用いて第１通信セッションを確立し、受信された接続要求に含まれる接続元であるＭＦＰ１００のアドレス情報で特定されるＭＦＰ１００との間で第２通信セッションを確立する。このため、制御対象装置であるＭＦＰ１００とクラウドサーバー４００との間で、ファイアーウォールを介して通信することができる。
【０１９６】
また、ゲートウェイ装置２００は、管理サーバー３００との間で確立された常時接続セッションを介して、管理サーバー３００から正規接続要求を受信することに応じて、当該正規接続要求で特定されるＭＦＰ１００から第２通信セッションを介して装置情報を取得する。このため、管理サーバー３００は、ゲートウェイ装置２００に、最新の装置情報を取得させることができる。
【０１９７】
また、ゲートウェイ装置２００は、管理サーバー３００から正規接続要求を受信する場合、管理サーバー３００に装置情報を送信した後は、管理サーバー３００から接続指示が受信されることを条件に、第１通信セッションを確立するので、管理サーバー３００は、ゲートウェイ装置２００が第１通信セッションを確立するタイミングを制御することができる。
【０１９８】
また、管理サーバー３００は、装置情報に基づいて、ＭＦＰ１００が制御情報で特定される処理の実行が可能か否かを判断するが、装置情報を更新することが決定される場合は、その後に取得された装置情報に基づいて実行可否を判断し、装置情報を更新しないことが決定される場合は、クラウドサーバー４００から接続要求を受信する前に取得された装置情報に基づいて実行可否を判断する。このため、ＭＦＰ１００が処理を実行可能か否かを適切な装置情報に基づいて判断することができる。
【０１９９】
好ましくは、管理サーバー３００は、ＭＦＰ１００が制御情報で特定される処理を実行可能な場合に、簡易接続要求を送信するので、ＭＦＰ１００とクラウドサーバー４００との間の通信を確実に接続することができる。
【０２００】
また、管理サーバー３００は、装置情報を更新することが決定される場合は、クラウドサーバー４００から接続要求を受信した後に取得された装置情報に基づいて実行可否を判断し、装置情報を更新しないことが決定される場合は、クラウドサーバー４００から接続要求を受信する前に取得された装置情報に基づいて実行可否を判断する。このため、装置情報を更新しないことが決定された場合は、装置情報を中継装置から取得する必要がないので、クラウドサーバーから接続要求が受信されてから制御対象装置をクラウドサーバーと接続するまでの時間を短くすることができる。
【０２０１】
また、管理サーバー３００は、ＭＦＰ１００が制御情報で特定される処理を実行不可能と判断する場合は、実行できないことをクラウドサーバー４００に通知するので、クラウドサーバー４００を操作するユーザーにＭＦＰ１００によって処理が実行されていないことを通知することができる。
【０２０２】
また、ＭＦＰ１００は、ゲートウェイ装置２００を備えた画像形成装置であって、ゲートウェイ装置２００は、ＭＦＰ１００、およびファイアーウォールの内部に配置された他のＭＦＰ１００Ａ，１００Ｂのうちからクラウドサーバー４００を操作するユーザーにより選択された１つとの間で、第２の通信セッションを確立し、選択された１つとクラウドサーバー４００との間の通信を中継する。このため、クラウドサーバー４００およびファイアーウォールの内部に配置されたＭＦＰ１００，１００Ａ，１００Ｂのいずれかとの間の通信の効率を改善することができる。
【０２０３】
なお、上述した実施の形態においては、管理サーバー３００を例に説明したが、図９〜図１２に示した接続支援処理を、管理サーバー３００に実行させる接続支援方法、またはその接続支援方法を管理サーバー３００を制御するＣＰＵ３０１に実行させる接続支援プログラムとして、発明を特定することができるのは言うまでもない。
【０２０４】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【０２０５】
＜付記＞
（１）  第１の種類の処理は、制御対象装置が画像を形成する処理である、請求項３に記載の管理サーバー。
（２）  第１の種類の処理は、制御対象装置の状態を示す値を出力する処理である、請求項３に記載の管理サーバー。
（３）  第２の種類の処理は、制御対象装置が処理を実行するためのパラメータを設定する処理である、請求項４に記載の管理サーバー。
【符号の説明】
【０２０６】
１  情報処理システム、３  ＬＡＮ、５  インターネット、１００，１００Ａ，１００Ｂ  ＭＦＰ、２００  ゲートウェイ装置、３００  管理サーバー、４００  クララウドサーバー、１１０  メイン回路、１１１  ＣＰＵ、１１２  通信Ｉ／Ｆ部、１１３  ＲＯＭ、１１４  ＲＡＭ、１１５  ＨＤＤ、１１６  ファクシミリ部、１１７  外部記憶装置、１１８  ＣＤ−ＲＯＭ、１２０  自動原稿搬送装置、１２０  原稿読取部、１３０  原稿読取部、１４０  画像形成部、１５０  給紙部、１５５  後処理部、１６０  操作パネル、１６１  表示部、１６３  操作部、１６５  タッチパネル、１６７  ハードキー部、２０１  ＣＰＵ、２０２  ＲＯＭ、２０３  ＲＡＭ、２０４  フラッシュメモリ、２０５  第１通信部、２０６  第２通信部、２０９  外部記憶装置、３０１  ＣＰＵ、３０２  ＲＯＭ、３０３  ＲＡＭ、３０４  ＨＤＤ、３０５  通信部、３０６  表示部、３０７  操作部、３０９  外部記憶装置、２５０  第１通信制御部、２５１  常時接続セッション確立部、２５３  セッション確立部、２５５  起動時装置識別情報送信部、２５７  トンネル接続要求受信部、２５９  制御不可通知部、２６１  簡易接続要求受信部、２６３  正規接続要求受信部、２６５  確立時装置情報送信部、２６７  接続指示受信部、２７０  第２通信制御部、２７１  装置情報取得部、２７３  セッション確立部、２７５  確立時装置情報取得部、２８１  中継部、２８３  制御コマンド抽出部、２８５  代理送信部、２８７  代理受信部、２８９  実行結果受信部、２９１  実行結果受信部、２９３  実行結果通知部、３５１  グローバル確立部、３５３  サーバー側確立部、３５５  更新決定部、３５７  実行可否判断部、３６１  装置識別情報送信部、３６３  接続要求受信部、３６５  接続結果通知部、３６７  処理基準決定部、３６９  時間基準決定部、３７１  装置情報取得部、３７３  トンネル接続要求部、３７５  制御不可信号受信部、３８１  確立時取得部、３８３  要求時取得部、３９１  正規接続要求部、３９３  接続指示送信部、３９５  簡易接続要求部。
【図１】
0005962690.tif 000002
【図２】
0005962690.tif 000003
【図３】
0005962690.tif 000004
【図４】
0005962690.tif 000005
【図５】
0005962690.tif 000006
【図６】
0005962690.tif 000007
【図７】
0005962690.tif 000008
【図８】
0005962690.tif 000009
【図９】
0005962690.tif 000010
【図１０】
0005962690.tif 000011
【図１１】
0005962690.tif 000012
【図１２】
0005962690.tif 000013
【図１３】
0005962690.tif 000014