(57)【特許請求の範囲】
【請求項１】
特定のネットワークに設けられる第一の装置と、前記ネットワークの外部に設けられる第二の装置と、によって構成される通信システムであって、
前記第二の装置に、
前記ネットワークのゲートウェイと当該第二の装置との間のトンネル以外の、当該ゲートウェイおよび当該第二の装置の少なくとも一方を端とする第二のトンネルの数が所定の数以上になる場合に、当該トンネルを介して、前記第一の装置と当該第二の装置との間のコネクションの確立の要求を当該第一の装置に対して与える要求手段と、
前記コネクションが確立される前は、前記トンネルを介して前記第一の装置へ特定のジョブの実行のために使用するデータの一部分を送信し、当該コネクションが確立された後は、当該コネクションを介して当該第一の装置へ、当該特定のジョブの実行の指令および当該データの残りを送信する指令手段と、
が設けられ、
前記第一の装置に、
前記コネクションを確立する確立手段、
が設けられ、
前記第二の装置に、さらに、
前記要求を与えた後、前記トンネルを切断する切断手段、
が設けられる、
ことを特徴とする通信システム。
【請求項２】
前記指令手段は、前記トンネルが切断されるまでは、前記データを当該トンネルおよび前記コネクションに分けて送信する、
請求項１に記載の通信システム。
【請求項３】
特定のネットワークに設けられる第一の装置と、前記ネットワークの外部に設けられる第二の装置と、によって構成される通信システムであって、
前記第二の装置に、
前記ネットワークのゲートウェイと当該第二の装置との間のトンネルを介して、前記第一の装置と当該第二の装置との間のコネクションの確立の要求を当該第一の装置に対して与える要求手段と、
前記コネクションを介して前記第一の装置へ特定のジョブの実行の指令を送信し、さらに、前記トンネルが切断されるまでは、当該コネクションおよび当該トンネルを介して当該第一の装置へ、当該特定のジョブの実行のために使用するデータを当該トンネルおよび当該コネクションに分けて送信し、当該トンネルが切断された後は、当該コネクションを介して当該第一の装置へ当該データを送信する、指令手段と、
が設けられ、
前記第一の装置に、
前記コネクションを確立する確立手段、
が設けられ、
前記第二の装置に、さらに、
前記要求を与えた後、前記トンネルを切断する切断手段、
が設けられる、
ことを特徴とする通信システム。
【請求項４】
前記ジョブが複数ある場合は、前記トンネルが前記ジョブごとに１つずつ確立され、
前記確立手段は、前記ジョブのうちの優先度の低いジョブから優先的に、当該ジョブのために前記コネクションを確立する、
請求項１ないし請求項３のいずれかに記載の通信システム。
【請求項５】
特定のジョブを実行する、特定のネットワークに設けられる第一の装置と、前記ネットワークの外部に設けられる第二の装置と、によって構成される通信システムであって、
前記第二の装置に、
前記特定のジョブが複数ある場合に前記ネットワークのゲートウェイと当該第二の装置との間に当該特定のジョブごとに１つずつ確立されたトンネルを介して、前記第一の装置と当該第二の装置との間のコネクションの確立の要求を当該第一の装置に対して与える要求手段、
が設けられ、
前記第一の装置に、
前記複数の特定のジョブのうちの優先度の低いジョブから優先的に、当該ジョブのために前記コネクションを確立する確立手段、
が設けられ、
前記第二の装置に、さらに、
前記要求を与えた後、前記トンネルを切断する切断手段、
が設けられる、
ことを特徴とする通信システム。
【請求項６】
前記第二の装置に、
前記コネクションを介して前記第一の装置へ前記特定のジョブの実行の指令を送信する指令手段、
が設けられる、
請求項５に記載の通信システム。
【請求項７】
前記指令手段は、さらに、前記コネクションを介して前記第一の装置へ前記特定のジョブの実行のために使用するデータを送信する、
請求項６に記載の通信システム。
【請求項８】
特定のネットワークに設けられる処理装置に前記ネットワークの外部から処理を実行させるための制御装置であって、
前記ネットワークのゲートウェイと当該制御装置との間のトンネル以外の、当該ゲートウェイおよび当該制御装置の少なくとも一方を端とする第二のトンネルの数が所定の数以上になる場合に、当該トンネルを介して、前記処理装置と当該制御装置との間のコネクションの確立の要求を当該処理装置に対して与える要求手段と、
前記コネクションが確立される前は、前記トンネルを介して前記処理装置へ特定のジョブの実行のために使用するデータの一部分を送信し、当該コネクションが確立された後は、当該コネクションを介して当該処理装置へ、当該特定のジョブの実行の指令および当該データの残りを送信する指令手段と、
前記要求を与えた後、前記トンネルを切断する切断手段と、
を有することを特徴とする制御装置。
【請求項９】
特定のネットワークに設けられる処理装置に前記ネットワークの外部から処理を実行させるための制御装置であって、
前記ネットワークのゲートウェイと当該制御装置との間のトンネルを介して、前記処理装置と当該制御装置との間のコネクションの確立の要求を当該処理装置に対して与える要求手段と、
前記コネクションを介して前記処理装置へ特定のジョブの実行の指令を送信し、さらに、前記トンネルが切断されるまでは、当該コネクションおよび当該トンネルを介して当該処理装置へ、当該特定のジョブの実行のために使用するデータを当該トンネルおよび当該コネクションに分けて送信し、当該トンネルが切断された後は、当該コネクションを介して当該処理装置へ当該データを送信する、指令手段と、
前記要求を与えた後、前記トンネルを切断する切断手段と、
を有することを特徴とする制御装置。
【請求項１０】
特定のネットワークに設けられる第一の装置および前記ネットワークの外部に設けられる第二の装置における通信方法であって、
前記ネットワークのゲートウェイと前記第二の装置との間のトンネル以外の、当該ゲートウェイおよび当該第二の装置の少なくとも一方を端とする第二のトンネルの数が所定の数以上になる場合に、当該トンネルを介して、前記第一の装置と当該第二の装置との間のコネクションの確立を当該第一の装置に対して要求する処理を当該第二の装置に実行させ、
前記コネクションが確立される前は、前記トンネルを介して前記第一の装置へ特定のジョブの実行のために使用するデータの一部分を送信する処理を前記第二の装置に実行させ、
前記コネクションを確立する処理を前記第一の装置に実行させ、
前記コネクションが確立された後は、当該コネクションを介して前記第一の装置へ、前記特定のジョブの実行の指令および前記データの残りを送信する処理を前記第二の装置に実行させ、
前記要求する処理の後、前記トンネルを切断する処理を前記第二の装置に実行させる、
ことを特徴とする通信方法。
【請求項１１】
特定のネットワークに設けられる第一の装置および前記ネットワークの外部に設けられる第二の装置における通信方法であって、
前記ネットワークのゲートウェイと前記第二の装置との間のトンネルを介して、前記第一の装置と当該第二の装置との間のコネクションの確立を当該第一の装置に対して要求する処理を当該第二の装置に実行させ、
前記コネクションを介して前記第一の装置へ特定のジョブの実行の指令を送信する処理を前記第二の装置に実行させ、
前記トンネルが切断されるまでは、前記コネクションおよび当該トンネルを介して前記第一の装置へ、前記特定のジョブの実行のために使用するデータを当該トンネルおよび当該コネクションに分けて送信する処理を前記第二の装置に実行させ、
前記コネクションを確立する処理を前記第一の装置に実行させ、
前記要求する処理の後、前記トンネルを切断する処理を前記第二の装置に実行させ、
前記トンネルが切断された後は、前記コネクションを介して前記第一の装置へ前記データを送信する処理を前記第二の装置に実行させる、
ことを特徴とする通信方法。
【請求項１２】
特定のジョブを実行する、特定のネットワークに設けられる第一の装置、および前記ネットワークの外部に設けられる第二の装置における通信方法であって、
前記特定のジョブが複数ある場合に前記ネットワークのゲートウェイと前記第二の装置との間に当該特定のジョブごとに１つずつ確立されたトンネルを介して、前記第一の装置と当該第二の装置との間のコネクションの確立を当該第一の装置に対して要求する処理を当該第二の装置に実行させ、
前記複数の特定のジョブのうちの優先度の低いジョブから優先的に、当該ジョブのために前記コネクションを確立する処理を前記第一の装置に実行させ、
前記要求する処理の後、前記トンネルを切断する処理を前記第二の装置に実行させる、
ことを特徴とする通信方法。
【請求項１３】
特定のネットワークに設けられる処理装置に前記ネットワークの外部から処理を実行させるためのコンピュータに用いられるコンピュータプログラムであって、
前記コンピュータに、
前記ネットワークのゲートウェイと当該コンピュータとの間のトンネル以外の、当該ゲートウェイおよび当該コンピュータの少なくとも一方を端とする第二のトンネルの数が所定の数以上になる場合に、当該トンネルを介して、前記処理装置と当該コンピュータとの間のコネクションの確立を当該処理装置に対して要求する処理を実行させ、
前記コネクションが確立される前は、前記トンネルを介して前記処理装置へ特定のジョブの実行のために使用するデータの一部分を送信する処理を実行させ、
前記コネクションが確立された後は、当該コネクションを介して前記処理装置へ、前記特定のジョブの実行の指令および前記データの残りを送信する処理を実行させ、
前記要求する処理の後、前記トンネルを切断する処理を実行させる、
ことを特徴とするコンピュータプログラム。
【請求項１４】
特定のネットワークに設けられる処理装置に前記ネットワークの外部から処理を実行させるためのコンピュータに用いられるコンピュータプログラムであって、
前記コンピュータに、
前記ネットワークのゲートウェイと当該コンピュータとの間のトンネルを介して、前記処理装置と当該コンピュータとの間のコネクションの確立を当該処理装置に対して要求する処理を実行させ、
前記コネクションを介して前記処理装置へ特定のジョブの実行の指令を送信する処理を実行させ、
前記トンネルが切断されるまでは、前記コネクションおよび当該トンネルを介して前記処理装置へ、前記特定のジョブの実行のために使用するデータを当該トンネルおよび当該コネクションに分けて送信する処理を実行させ、
前記要求する処理の後、前記トンネルを切断する処理を実行させ、
前記トンネルが切断された後は、前記コネクションを介して前記処理装置へ前記データを送信する処理を実行させる、
ことを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、あるネットワークの中の装置と外の装置との通信の技術に関する。
【背景技術】
【０００２】
近年、ＬＡＮ（Local Area Network）に設けられている画像形成装置およびＮＡＳ（Network Attached Storage）などの装置（以下、「内部装置」と記載する。）を、ＬＡＮの外の装置（以下、「外部装置」と記載する。）から遠隔的に使用する技術が、提案されている。ＬＡＮには、ルータなどの装置がゲートウェイとして設けられている。
【０００３】
外部装置と内部装置とが行う通信を改善する方法として、特許文献１、２に記載されるような方法が提案されている。
【０００４】
特許文献１に記載される方法は、プライベートネットワークと公衆通信ネットワークとの間における通信を効率よく行う方法であって、公衆回線において使用されないことが明確にされたプライベートＩＰアドレス体系を持って構築されたプライベートネットワークと公衆回線との間に、ＮＡＰＴルーターと、プライベートネットワークに接続されたアドレス・ポート管理転送装置とを設け、プライベートネットワークに接続されたコンピュータと公衆回線に接続されたコンピュータや公衆回線に接続されたプライベートネットワークに接続されたコンピュータとの間における公衆回線を使ったデータ通信に際して、双方向で呼び出し及びデータ通信を行うようにする。
【０００５】
特許文献２に記載される方法は、最低保障帯域を確保しつつ、リソースに空きがある場合に最低保障帯域を超えてパケットの送出を可能にするための補正であって、ＩＰＮＷに設定された優先トンネルおよび非優先トンネルを介してデータの送受信を行うゲートウェイ装置は、パケットを受信すると、ポリシング設定部が、そのパケットを優先処理（帯域保障の設定）すべきか否かを判定し、優先処理すべきと判定した場合に、フローごとの上限帯域をポリシング情報を参照して設定する。そして、トンネル選択部は、設定された上限帯域までのパケットは、優先トンネルを用いて送信するように選択し、上限帯域を超えたパケットは、非優先トンネルを用いて送信するように選択する。トンネル選択部が選択したトンネルを用いて、パケット送信部がパケットの転送を行う。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００４−２２８７３６号公報
【特許文献２】特開２０１２−４４３４４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
外部装置と内部装置とが通信を行う際は、物理的には、ゲートウェイを経由する。通信がトンネルを介して行われると、ゲートウェイにおけるパケットのカプセル化、および、カプセル化されたパケットのデコードの負荷が掛かる。したがって、同時期に行われる通信の数が多いほど、ゲートウェイの負荷が大きくなる。
【０００８】
本発明は、このような問題点に鑑み、外部装置と内部装置との通信に伴うゲートウェイの負荷を従来よりも軽減することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の一形態に係る通信システムは、特定のネットワークに設けられる第一の装置と、前記ネットワークの外部に設けられる第二の装置と、によって構成される通信システムであって、前記第二の装置に、前記ネットワークのゲートウェイと当該第二の装置との間のトンネル以外の、当該ゲートウェイおよび当該第二の装置の少なくとも一方を端とする第二のトンネルの数が所定の数以上になる場合に、当該トンネルを介して、前記第一の装置と当該第二の装置との間のコネクションの確立の要求を当該第一の装置に対して与える要求手段と、前記コネクションが確立される前は、前記トンネルを介して前記第一の装置へ特定のジョブの実行のために使用するデータの一部分を送信し、当該コネクションが確立された後は、当該コネクションを介して当該第一の装置へ、当該特定のジョブの実行の指令および当該データの残りを送信する指令手段と、が設けられ、前記第一の装置に、前記コネクションを確立する確立手段、が設けられ、前記第二の装置に、さらに、前記要求を与えた後、前記トンネルを切断する切断手段、が設けられる。
本発明の他の一形態に係る通信システムは、特定のネットワークに設けられる第一の装置と、前記ネットワークの外部に設けられる第二の装置と、によって構成される通信システムであって、前記第二の装置に、前記ネットワークのゲートウェイと当該第二の装置との間のトンネルを介して、前記第一の装置と当該第二の装置との間のコネクションの確立の要求を当該第一の装置に対して与える要求手段と、前記コネクションを介して前記第一の装置へ特定のジョブの実行の指令を送信し、さらに、前記トンネルが切断されるまでは、当該コネクションおよび当該トンネルを介して当該第一の装置へ、当該特定のジョブの実行のために使用するデータを当該トンネルおよび当該コネクションに分けて送信し、当該トンネルが切断された後は、当該コネクションを介して当該第一の装置へ当該データを送信する、指令手段と、が設けられ、前記第一の装置に、前記コネクションを確立する確立手段、が設けられ、前記第二の装置に、さらに、前記要求を与えた後、前記トンネルを切断する切断手段、が設けられる。
本発明の他の一形態に係る通信システムは、特定のジョブを実行する、特定のネットワークに設けられる第一の装置と、前記ネットワークの外部に設けられる第二の装置と、によって構成される通信システムであって、前記第二の装置に、前記特定のジョブが複数ある場合に前記ネットワークのゲートウェイと当該第二の装置との間に当該特定のジョブごとに１つずつ確立されたトンネルを介して、前記第一の装置と当該第二の装置との間のコネクションの確立の要求を当該第一の装置に対して与える要求手段、が設けられ、前記第一の装置に、前記複数の特定のジョブのうちの優先度の低いジョブから優先的に、当該ジョブのために前記コネクションを確立する確立手段、が設けられ、前記第二の装置に、さらに、前記要求を与えた後、前記トンネルを切断する切断手段、が設けられる。
【発明の効果】
【００１５】
本発明によると、ネットワークの中の装置と外の装置との通信に伴うゲートウェイの負荷を従来よりも軽減することができる。
【図面の簡単な説明】
【００１６】
【図１】情報処理システムの全体的な構成の例を示す図である。
【図２】ゲートウェイのハードウェア構成の例を示す図である。
【図３】画像形成装置のハードウェア構成の例を示す図である。
【図４】クラウドサーバおよび管理サーバのハードウェア構成の例を示す図である。
【図５】画像形成装置およびゲートウェイそれぞれの機能的構成の例を示す図である。
【図６】クラウドサーバおよび管理サーバそれぞれの機能的構成の例を示す図である。
【図７】デバイス属性データの例を示す図である。
【図８】印刷ジョブの際のクラウドサーバ、管理サーバ、ゲートウェイ、および画像形成装置それぞれの処理の流れの例を示すシーケンス図である。
【図９】印刷ジョブの際のクラウドサーバ、管理サーバ、ゲートウェイ、および画像形成装置それぞれの処理の流れの例を示すシーケンス図である。
【図１０】セキュア保存ジョブの際のクラウドサーバ、管理サーバ、ゲートウェイ、およびファイルサーバそれぞれの処理の流れの例を示すシーケンス図である。
【図１１】クラウドサーバの全体的な処理の流れの例を説明するフローチャートである。
【図１２】ゲートウェイおよび画像形成装置それぞれの機能的構成の例を示す図である。
【図１３】クラウドサーバおよび管理サーバそれぞれの機能的構成の例を示す図である。
【図１４】印刷ジョブの際のクラウドサーバ、管理サーバ、ゲートウェイ、および画像形成装置それぞれの処理の流れの例を示すシーケンス図である。
【図１５】印刷ジョブの際のクラウドサーバ、管理サーバ、ゲートウェイ、および画像形成装置それぞれの処理の流れの例を示すシーケンス図である。
【図１６】クラウドサーバの全体的な処理の流れの例を説明するフローチャートである。
【図１７】クラウドサーバの全体的な処理の流れの例を説明するフローチャートである。
【図１８】印刷ジョブの際のクラウドサーバ、管理サーバ、ゲートウェイ、および画像形成装置それぞれの処理の流れの変形例を示すシーケンス図である。
【図１９】印刷ジョブの際のクラウドサーバ、管理サーバ、ゲートウェイ、および画像形成装置それぞれの処理の流れの変形例を示すシーケンス図である。
【発明を実施するための形態】
【００１７】
〔第一の実施形態〕
図１は、情報処理システム５の全体的な構成の例を示す図である。図２は、ゲートウェイ１６のハードウェア構成の例を示す図である。図３は、画像形成装置１０のハードウェア構成の例を示す図である。図４は、クラウドサーバ２１および管理サーバ２４のハードウェア構成の例を示す図である。
【００１８】
図１に示すように、情報処理システム５は、ローカルエリアネットワーク１、クラウドサーバ２１、管理サーバ２４、端末装置３、および通信回線４などによって構成される。
【００１９】
ローカルエリアネットワーク１は、役所、企業、または学校などに設けられる。ローカルエリアネットワーク１は、画像形成装置１０、端末装置１４、ファイルサーバ１５、ゲートウェイ１６、および通信回線１７などによって構成される。
【００２０】
ゲートウェイ１６、クラウドサーバ２１、管理サーバ２４、および端末装置３は、通信回線４を介して通信を行うことができる。通信回線４としてインターネット回線が用いられる。
【００２１】
ゲートウェイ１６は、ローカルエリアネットワーク１の各装置とクラウドサーバ２１、管理サーバ２４、および端末装置３との間で行われる通信を中継する。
【００２２】
ただし、ローカルエリアネットワーク１の外の装置（以下、「外部装置」と記載する。）からローカルエリアネットワーク１の中の装置（以下、「内部装置」と記載する。）へのアクセスを厳しく制限する。特に、内部装置から外部装置へアクセスしコネクション（接続）を確立することはできるが、外部装置から内部装置へアクセスしコネクションを確立することはできない。
【００２３】
ゲートウェイ１６は、図２に示すように、ＣＰＵ（Central Processing Unit）１６ａ、ＲＡＭ（Random Access Memory）１６ｂ、ＲＯＭ（Read Only Memory）１６ｃ、フラッシュメモリ１６ｄ、ＷＡＮ（Wide Area Network）ポート１６ｅ、ＬＡＮ（Local Area Network）ポート１６ｆのほか種々の回路によって構成される。ゲートウェイ１６として、例えば、ＳａａＳ（Software as a Service）型ゲートウェイが用いられる。「ＳａａＳ型ゲートウェイ」は、ＳａａＳゲートウェイ機能を持った機器であって、ルーティングの機能、ＨＴＴＰトンネルの機能、ＸＭＰＰ（eXtensible Messaging and Presence Protocol）クライアントの機能、および制御用のソフトウエアなどによって構成される機器である。
【００２４】
ＷＡＮポート１６ｅは、インターネット側の回線すなわち通信回線４が繋がれる。ＬＡＮポート１６ｆは、ローカルエリアネットワーク１側の回線すなわち通信回線１７が繋がれる。
【００２５】
ＲＯＭ１６ｃまたはフラッシュメモリ１６ｄには、データ中継プログラム１６Ｐが記憶されている。データ中継プログラム１６Ｐは、ＲＡＭ１６ｂにロードされ、ＣＰＵ１６ａによって実行される。
【００２６】
通信回線１７は、ツイストペアケーブルおよびハブなどによって構成される。画像形成装置１０、端末装置１４、またはファイルサーバ１５が無線ＬＡＮの機能を有する場合は、さらに通信回線１７に無線基地局を設けてもよい。
【００２７】
画像形成装置１０は、コピー、スキャン、ファックス、またはＰＣプリントなどの機能を備えた画像処理装置である。「複合機」または「ＭＦＰ（Multi Function Peripherals）」などと呼ばれることもある。
【００２８】
画像形成装置１０は、図３に示すように、ＣＰＵ１０ａ、ＲＡＭ１０ｂ、ＲＯＭ１０ｃ、補助記憶装置１０ｄ、タッチパネルディスプレイ１０ｅ、操作キーパネル１０ｆ、ＮＩＣ１０ｇ、モデム１０ｈ、スキャンユニット１０ｉ、画像処理部１０ｊ、およびプリントユニット１０ｋなどによって構成される。
【００２９】
タッチパネルディスプレイ１０ｅは、ユーザに対するメッセージを示す画面、ユーザがコマンドまたは情報を入力するための画面、およびＣＰＵ１０ａなどが実行した処理の結果を示す画面などを表示する。また、タッチパネルディスプレイ１０ｅは、タッチされた位置を示す信号をＣＰＵ１０ａへ送る。
【００３０】
操作キーパネル１０ｆは、いわゆるハードウェアキーボードであって、テンキー、スタートキー、ストップキー、電源キー、および種々のファンクションキーなどのキーによって構成される。
【００３１】
ＮＩＣ１０ｇは、通信回線１７などを介してローカルエリアネットワーク１の内外の装置（端末装置１４およびクラウドサーバ２１など）と通信を行うための装置である。
【００３２】
モデム１０ｈは、ファクシミリ端末との間でＧ３などのプロトコルで画像データをやり取りする。
【００３３】
スキャンユニット１０ｉは、プラテンガラスの上にセットされた用紙に記されている画像を読み取って画像データを生成する。
【００３４】
画像処理部１０ｊは、ＮＩＣ１０ｇ、モデム１０ｈ、またはスキャンユニット１０ｉによって得られた画像データに対して解像度の変換、傾き補正、および天地補正などの処理を行う。
【００３５】
プリントユニット１０ｋは、スキャンユニット１０ｉによって読み取られた画像のほか、他の装置から受信した画像を、画像処理部１０ｊによって処理が必要に応じて施された後、用紙に印刷する。
【００３６】
ＲＯＭ１０ｃまたは補助記憶装置１０ｄには、上述のコピーなどの機能を実現するためのプログラムが記憶されている。さらに、連携プログラム１０Ｐが記憶されている。
【００３７】
これらのプログラムは、必要に応じてＲＡＭ１０ｂにロードされ、ＣＰＵ１０ａによって実行される。補助記憶装置１０ｄとして、ＨＤＤ（Hard Disk Drive）またはＳＳＤ（Solid State Drive）などが用いられる。
【００３８】
端末装置１４は、画像形成装置１０のサービスを使用するためのクライアントである。端末装置１４として、パーソナルコンピュータ、スマートフォン、またはタブレットコンピュータなどが用いられる。
【００３９】
ファイルサーバ１５は、ファイルを記憶し、他の装置からの要求に基づいてファイルを提供する。ファイルサーバ１５として、ＮＡＳ（Network Attached Storage）が用いられる。
【００４０】
クラウドサーバ２１は、いわゆるクラウドサービスを提供するためのサーバである。特に、クラウドサーバ２１のクラウドサービスによると、外部装置から画像形成装置１０へ印刷ジョブを与え、画像形成装置１０に印刷を行わせることができる。また、外部装置からファイルサーバ１５へファイルを保存することができる。クラウドサーバ２１として、いわゆるサーバ機が用いられる。
【００４１】
クラウドサーバ２１は、図４に示すように、ＣＰＵ２０ａ、ＲＡＭ２０ｂ、ＲＯＭ２０ｃ、補助記憶装置２０ｄ、およびＮＩＣ２０ｅなどによって構成される。
【００４２】
ＲＯＭ２０ｃまたは補助記憶装置２０ｄには、上述のクラウドサービスを提供するためのサーバプログラム２１Ｐが記憶されている。サーバプログラム２１Ｐは、ＲＡＭ２０ｂにロードされ、ＣＰＵ２０ａによって実行される。
【００４３】
管理サーバ２４は、ローカルエリアネットワーク１の内部装置に関する情報を管理し、外部装置から内部装置へのアクセスを可能にするための支援を行う。
【００４４】
管理サーバ２４のハードウェアの構成も、クラウドサーバ２１のハードウェアの構成と同様であって、図４に示した通りである。ただし、ＲＯＭ２０ｃまたは補助記憶装置２０ｄには、サーバプログラム２１Ｐの代わりに管理プログラム２４Ｐが記憶されている。
【００４５】
端末装置３は、画像形成装置１０をローカルエリアネットワーク１の外から使用するためのクライアントである。端末装置３として、パーソナルコンピュータ、スマートフォン、またはタブレットコンピュータなどが用いられる。
【００４６】
端末装置３には、クラウドサーバ２１のサービスを使用するためのアプリケーションがインストールされている。
【００４７】
図５は、画像形成装置１０およびゲートウェイ１６それぞれの機能的構成の例を示す図である。図６は、クラウドサーバ２１および管理サーバ２４それぞれの機能的構成の例を示す図である。
【００４８】
連携プログラム１０Ｐ、データ中継プログラム１６Ｐ、サーバプログラム２１Ｐ、および管理プログラム２４Ｐによると、ユーザは、端末装置３を操作して画像形成装置１０に印刷ジョブを実行させたりファイルサーバ１５にファイルを保存させたりすることができる。さらに、これらのプログラムによると、従来よりもゲートウェイ１６の負荷を軽減することができる。以下、これらの仕組みを、図５〜図７などを参照しながら説明する。
【００４９】
データ中継プログラム１６Ｐを実行することによって、図５に示すトンネル確立部１６１、第一の外内中継部１６２、第一の内外中継部１６３、第二の外内中継部１６４、第二の内外中継部１６５、ログデータ書込部１６６、ログデータ保存部１６７、およびトンネル切断部１６８などがゲートウェイ１６に実現される。
【００５０】
なお、トンネル確立部１６１ないしトンネル切断部１６８の全部または一部を、ＦＰＧＡ（Field Programmable Gate Array）またはＡＳＩＣ（Application Specific Integrated Circuit）などの回路によってハードウェアモジュールとして実現してもよい。画像形成装置１０、クラウドサーバ２１、および管理サーバ２４それぞれの後述する各部についても、同様である。
【００５１】
連携プログラム１０Ｐを実行することによって、図５に示すコネクション確立部１０１、ジョブ実行制御部１０２、ジョブ完了通知部１０３、およびログ通知部１０４などが画像形成装置１０に実現される。
【００５２】
サーバプログラム２１Ｐを実行することによって、図６に示すジョブ指令受付部２０１、トンネル要求部２０２、トンネル確立部２０３、機能問合部２０４、直接通信可否判別部２０５、コネクション要求部２０６、コネクション確立部２０７、トンネル切断部２０８、ジョブ付与部２０９、およびコネクション切断部２１０などがクラウドサーバ２１に実現される。
【００５３】
管理プログラム２４Ｐを実行することによって、図６に示す機能記憶部２４１、要求転送部２４２、および機能回答部２４３などが管理サーバ２４に実現される。
【００５４】
〔準備〕
図７は、デバイス属性データ７Ａの例を示す図である。
【００５５】
管理サーバ２４の機能記憶部２４１には、クラウドサーバ２１のクラウドサービスを介して外部装置から使用することができる内部装置ごとの機能に関する情報が、予め、記憶されている。
【００５６】
具体的には、図７に示すように、画像形成装置１０およびファイルサーバ１５などの内部装置それぞれのデバイス属性データ７Ａが記憶されている。以下、画像形成装置１０およびファイルサーバ１５それぞれのデバイス属性データ７Ａを「デバイス属性データ７Ａ１」および「デバイス属性データ７Ａ２」と区別して記載することがある。
【００５７】
デバイス属性データ７Ａにおいて、「デバイスコード」フィールドは、このデバイス属性データ７Ａに係る内部装置の識別子を示す。例えばデバイス属性データ７Ａ１のデバイスコードには、画像形成装置１０の識別子が示される。
【００５８】
「コネクション確立機能有無」フィールドは、このデバイス属性データ７Ａに係る内部装置が外部装置とのコネクションを確立する機能（以下、「コネクション確立機能」と記載する。）を有するか否かを示す。「有」は、コネクション確立機能を有することを意味し、「無」は、コネクション確立機能を有しないことを意味する。
【００５９】
「スペック」フィールドは、このデバイス属性データ７Ａに係る内部装置が有する、コネクション確立機能以外の機能を示す。
【００６０】
デバイス属性データ７Ａの内容は、予め管理者によって入力され、機能記憶部２４１に登録される。
【００６１】
〔ジョブの指令の受付およびトンネルの確立〕
クラウドサーバ２１のジョブ指令受付部２０１は、端末装置３からジョブの指令を受け付ける。以下、特に、画像を用紙に印刷するジョブである印刷ジョブまたはファイルを暗号化して保存するセキュア保存ジョブの指令を受け付ける場合を例に説明する。
【００６２】
また、この際に、ジョブ指令受付部２０１は、ジョブに使用するデータを端末装置３から受信する。例えば、印刷ジョブの場合は、印刷する画像の画像データ７Ｂを受信する。また、セキュア保存ジョブの場合は、保存するファイル７Ｃを受信する。さらに、ジョブを実行させる内部装置の指定を受け付ける。以下、指定された内部装置を「指定装置」と記載する。
【００６３】
トンネル要求部２０２は、ジョブの指令がジョブ指令受付部２０１によって受け付けられると、クラウドサーバ２１とゲートウェイ１６との間のトンネルの確立を管理サーバ２４に対して要求する。この際に、トンネル確立コマンド７Ｄを管理サーバ２４へ送信する。トンネル確立コマンド７Ｄには、クラウドサーバ２１の識別子（例えば、ＩＰ（Internet Protocol）アドレス）が示されている。
【００６４】
すると、管理サーバ２４において、要求転送部２４２は、クラウドサーバ２１からのトンネル確立コマンド７Ｄをゲートウェイ１６へ転送する。
【００６５】
ゲートウェイ１６において、トンネル確立部１６１は、トンネル確立コマンド７Ｄを管理サーバ２４から受信すると、トンネル確立コマンド７Ｄに基づいてクラウドサーバ２１へアクセスする。
【００６６】
そして、トンネル確立部１６１およびクラウドサーバ２１のトンネル確立部２０３は、ゲートウェイ１６とクラウドサーバ２１との間でトンネルを確立する。トンネルの確立は、公知の方法によって行われる。
【００６７】
トンネル要求部２０２は、ジョブの指令が端末装置３から与えられるごとに、トンネルの確立を要求する。よって、ジョブごとにトンネルが確立される。
【００６８】
〔トンネルの削減およびジョブの指令〕
上述の通り、外部装置からジョブの指令があるごとに外部装置とゲートウェイ１６との間にトンネルを確立すると、トンネルの数が増え、ゲートウェイ１６の負荷が増加してしまう。すると、内部装置と外部装置との間の通信が滞ることがある。これを未然に防止するために、同時期に存在させることができるトンネルの数を限定する場合もある。この場合は、外部装置が内部装置に実行させるジョブが制限されることがある。
【００６９】
そこで、ゲートウェイ１６の負荷を軽減するためにトンネルの削減の処理が次のように実行される。
【００７０】
クラウドサーバ２１において、機能問合部２０４は、トンネルが確立されたら、指定装置（端末装置３によって指定された内部装置）がコネクション確立機能を有しているか否かを管理サーバ２４に対して問い合せる。この際に、指定装置のデバイス識別子を示す問合データ７Ｅを管理サーバ２４へ送信する。
【００７１】
すると、管理サーバ２４において、機能回答部２４３は、問合データ７Ｅに示される内部装置のデバイス属性データ７Ａ（図７参照）に基づいて、コネクション確立機能の有無をチェックし、その結果を示す回答データ７Ｆをクラウドサーバ２１へ送信する。例えば、画像形成装置１０が指定された場合は、デバイス属性データ７Ａ１のコネクション確立機能フィールドに「有」が示されるので、機能回答部２４３は、コネクション確立機能を有している旨を示すデータを回答データ７Ｆとしてクラウドサーバ２１へ送信する。
【００７２】
クラウドサーバ２１において、直接通信可否判別部２０５は、回答データ７Ｆが機能問合部２０４によって得られると、これに基づいて、指定装置と直接的に（トンネルを介さずに）通信を行うことができるか否かを判別する。具体的には、コネクション確立機能を有している旨がこの回答データ７Ｆに示されていれば、直接的に通信を行うことができると判別する。コネクション確立機能を有していない旨が示されていれば、直接的に通信を行うことができないと判別する。
【００７３】
コネクション要求部２０６は、指定装置と直接的に通信を行うことができると直接通信可否判別部２０５によって判別されたら、トンネル確立部２０３によって確立されたトンネルを経由して、クラウドサーバ２１と指定装置との間のコネクションを確立するように指定装置に対して要求する。この際に、クラウドサーバ２１の識別子（例えば、ＩＰアドレス）を示すコネクション確立コマンド７Ｇを指定装置へ送信する。
【００７４】
以下、画像形成装置１０がコネクション確立機能を有し、指定装置が画像形成装置１０である場合を例に説明する。
【００７５】
画像形成装置１０において、コネクション確立部１０１は、コネクション確立コマンド７Ｇを受信すると、コネクション確立コマンド７Ｇに基づいてクラウドサーバ２１へアクセスする。
【００７６】
そして、コネクション確立部１０１およびクラウドサーバ２１のコネクション確立部２０７は、画像形成装置１０とクラウドサーバ２１との間でコネクションを確立する。コネクションの確立は、公知の方法によって行われる。
【００７７】
トンネル切断部２０８は、コネクションが確立されたら、このコネクションを確立するために使用したトンネルを切断（開放）する。
【００７８】
ジョブ付与部２０９は、トンネルの切断の処理と前後してまたは並行して、コネクションを介して指定装置へジョブの指令を与える。この際に、ジョブに必要なデータ（画像データ７Ｂまたはファイル７Ｃなど）を指定装置へ送信する。例えば、画像形成装置１０に印刷ジョブの指令を与える場合は、画像データ７Ｂを送信する。
【００７９】
なお、コネクションを介する場合は、ジョブの指令およびデータは、クラウドサーバ２１においてパケット化され、ゲートウェイ１６を介して指定装置へ届けられる。
【００８０】
ジョブ付与部２０９は、コネクション確立機能を有していない旨を示す回答データ７Ｆが機能問合部２０４によって得られた場合は、トンネルを介して指定装置へジョブの指令を与える。この際に、コネクションを介する場合と同様、ジョブに必要なデータを指定装置へ送信する。
【００８１】
また、ジョブ付与部２０９は、ジョブの指令およびデータなどを、コネクションに応じて適宜、暗号化などの処理を施す。例えば、コネクションがＳＳＬ（Secure Sockets Layer）に対応していれば、ＳＳＬに基づいて暗号化し、送信する。ＳＳＬに対応しているか否かは、送信先の内部装置に問い合せてもよい。または、管理サーバ２４から送信先の内部装置のデバイス属性データ７Ａを取得し、これに基づいて判別してもよい。
【００８２】
なお、トンネルを介する場合は、ジョブの指令およびデータは、クラウドサーバ２１において、パケット化され、トンネルのプロトコルに応じてカプセル化される。そして、ゲートウェイ１６を経由して指定装置へ届けられる。
【００８３】
〔ゲートウェイ１６におけるデータの中継〕
上述の通り、外部装置と内部装置とは、トンネルまたはコネクションを介してデータのやり取りを行うが、データは、物理的に必ずゲートウェイ１６を経由する。ゲートウェイ１６において、データは、次のように処理される。
【００８４】
第一の外内中継部１６２は、トンネルのプロトコルのカプセルを外部装置から受信すると、これをパケットに戻して宛先の内部装置へ転送する。
【００８５】
第一の内外中継部１６３は、内部装置からクラウドサーバ２１へ宛てて送信されたデータのパケットをカプセル化してクラウドサーバ２１へ転送する。
【００８６】
第二の外内中継部１６４は、外部装置から送信されてきたパケットを受信すると、これを宛先の内部装置へ転送する。
【００８７】
第二の内外中継部１６５は、内部装置からクラウドサーバ２１へ宛てて送信されたデータのパケットを、クラウドサーバ２１へ転送する。
【００８８】
第一の外内中継部１６２ないし第二の内外中継部１６５による中継は、公知の方法によって行われる。後述する、外部装置と内部装置との間でやり取りされるデータのカプセルまたはパケットも同様に、第一の外内中継部１６２ないし第二の内外中継部１６５の何れかによって中継される。
【００８９】
〔ジョブの実行および後処理〕
画像形成装置１０において、ジョブ実行制御部１０２は、クラウドサーバ２１からジョブの指令および画像データ７Ｂを受信すると、印刷ジョブを実行する。つまり、画像データ７Ｂに基づいて画像が用紙に印刷されるようにプリントユニット１０ｋなどを制御する。
【００９０】
コネクションを介してジョブが付与された場合は、印刷ジョブが完了すると、ジョブ完了通知部１０３およびログ通知部１０４によって次の処理が行われる。
【００９１】
ジョブ完了通知部１０３は、印刷ジョブが完了した旨を示すジョブ完了データ７Ｈを、コネクションを介してクラウドサーバ２１へ送信する。
【００９２】
ログ通知部１０４は、コネクションに関するログ（このコネクションを介して行った通信の概要など）を示すログデータ７Ｊをゲートウェイ１６へ送信する。
【００９３】
クラウドサーバ２１において、コネクション切断部２１０は、コネクションを介してジョブ完了データ７Ｈを受信すると、このコネクションを切断（開放）する。
【００９４】
ゲートウェイ１６において、ログデータ書込部１６６は、ログデータ７Ｊを受信すると、これをログデータ保存部１６７に保存させる。
【００９５】
一方、トンネルを介してジョブが付与された場合は、各装置において、次のように処理が行われる。以下、指定装置がファイルサーバ１５である場合を例に説明する。
【００９６】
ファイルサーバ１５は、ジョブの指令とともにファイル７Ｃを受信すると、これを保存する。
【００９７】
ゲートウェイ１６において、トンネル切断部１６８は、ファイルサーバ１５へのファイル７Ｃの送信が完了したら、ファイル７Ｃの中継に使用したトンネルを切断（開放）する。
【００９８】
ログデータ書込部１６６は、トンネルに関するログ（このトンネルを介して行った通信の概要など）を示すログデータ７Ｋをログデータ保存部１６７に保存させる。
【００９９】
図８および図９は、印刷ジョブの際のクラウドサーバ２１、管理サーバ２４、ゲートウェイ１６、および画像形成装置１０それぞれの処理の流れの例を示すシーケンス図である。
【０１００】
次に、コネクション確立機能を有する内部装置にジョブを実行させる場合の、各装置の処理の流れを、この内部装置が画像形成装置１０である場合を例に、図８〜図９のフローチャートを参照しながら説明する。
【０１０１】
クラウドサーバ２１は、画像形成装置１０に印刷ジョブを実行させる指令および画像データ７Ｂを端末装置３から受け付けると（図８の＃７０１）、管理サーバ２４へトンネル確立コマンド７Ｄを送信することによって、新規のトンネルの確立（作成）を要求する（＃７０２）。
【０１０２】
管理サーバ２４は、トンネル確立コマンド７Ｄを受け付けると（＃７２１）、これをゲートウェイ１６へ転送することによって、新規のトンネルの確立を要求する（＃７２２）。
【０１０３】
ゲートウェイ１６は、トンネル確立コマンド７Ｄを受信すると（＃７３１）、クラウドサーバ２１へアクセスする（＃７３２）。そして、ゲートウェイ１６およびクラウドサーバ２１は、新規のトンネルを確立する（＃７０３、＃７３３）。
【０１０４】
クラウドサーバ２１は、トンネルの確立の処理と前後してまたは並行して、管理サーバ２４へ問合データ７Ｅを送信することによって、画像形成装置１０がコネクション確立機能を有するか否かを問い合せる（＃７０４）。
【０１０５】
管理サーバ２４は、問合データ７Ｅを受信すると（＃７２３）、画像形成装置１０のデバイス属性データ７Ａつまりデバイス属性データ７Ａ１に基づいて回答データ７Ｆを生成しクラウドサーバ２１へ送信する（＃７２４）。これにより、問合せに対する回答がなされる。本例では、回答データ７Ｆには、コネクション確立機能を有する旨が示される。
【０１０６】
クラウドサーバ２１は、回答データ７Ｆを受信すると（＃７０５）、トンネルを介さずに（つまり、直接的に）画像形成装置１０との通信を行うことができるか否かを回答データ７Ｆに基づいて判別する（＃７０６）。本例では、コネクション確立機能を有する旨が回答データ７Ｆに示されるので、トンネルを介さずに通信を行うことができると判別する。
【０１０７】
すると、クラウドサーバ２１は、ステップ＃７０３で確立したトンネルを介してコネクション確立コマンド７Ｇをゲートウェイ１６へ送信することによって、新規のコネクションの確立を要求する（＃７０７）。
【０１０８】
ゲートウェイ１６は、コネクション確立コマンド７Ｇを受け付けると（＃７３４）、コネクション確立コマンド７Ｇを画像形成装置１０へ転送することによって、新規のコネクションの確立を要求する（＃７３５）。
【０１０９】
画像形成装置１０は、コネクション確立コマンド７Ｇを受信すると（＃７４１）、このトンネルを介してクラウドサーバ２１へアクセスする（＃７４２）。そして、画像形成装置１０およびクラウドサーバ２１は、新規のコネクションを確立する（＃７４３、＃７０８）。
【０１１０】
クラウドサーバ２１は、このコネクションが確立したら、このトンネルを切断（開放）する（図９の＃７０９）。
【０１１１】
トンネルの切断の処理と前後してまたは並行して、クラウドサーバ２１は、このコネクションを介して印刷ジョブの指令および画像データ７Ｂを画像形成装置１０へ送信する（＃７１０）。
【０１１２】
画像形成装置１０は、印刷ジョブの指令および画像データ７Ｂを受信すると（＃７４４）、これらに基づいて印刷ジョブを実行する（＃７４５）。そして、このコネクションを介してジョブ完了データ７Ｈをクラウドサーバ２１へ送信するとともに（＃７４６）、ログデータ７Ｊをゲートウェイ１６へ送信する（＃７４７）。
【０１１３】
クラウドサーバ２１は、ジョブ完了データ７Ｈを受信すると（＃７１１）、このコネクションを切断する（＃７１２）。
【０１１４】
ゲートウェイ１６は、ログデータ７Ｊを受信すると（＃７３６）、これを保存する（＃７３７）。
【０１１５】
図１０は、セキュア保存ジョブの際のクラウドサーバ２１、管理サーバ２４、ゲートウェイ１６、およびファイルサーバ１５それぞれの処理の流れの例を示すシーケンス図である。
【０１１６】
次に、コネクション確立機能を有しない内部装置にジョブを実行させる場合の、各装置の処理の流れを、この内部装置がファイルサーバ１５である場合を例に、図１０のフローチャートを参照しながら説明する。
【０１１７】
端末装置３からのジョブの受付の処理、トンネルの確立の処理、コネクション確立機能の有無の問合せの処理、および直接的な通信の可否の判別の処理は、図８のステップ＃７０１〜＃７０６、＃７２１〜７２４、および＃７３１〜＃７３３と同様に行われる（図１０の＃７５１〜＃７５６、＃７６１〜７６４、および＃７７１〜＃７７３）。
【０１１８】
ただし、本例においては、セキュア保存ジョブおよびファイル７Ｃが端末装置３から受け付けられる。また、画像形成装置１０のコネクション確立機能有無についてではなく、ファイルサーバ１５のコネクション確立機能の有無について、問合わせおよび回答がなされる。
【０１１９】
クラウドサーバ２１は、ステップ＃７５６において、問合せの結果に基づいて、ファイルサーバ１５がコネクション確立機能を有しないと判別する。そして、ステップ＃７５３で確立したトンネルを介して、セキュア保存ジョブの指令およびファイル７Ｃをファイルサーバ１５へ宛ててゲートウェイ１６へ送信する（＃７５７）。
【０１２０】
ゲートウェイ１６は、セキュア保存ジョブの指令およびファイル７Ｃを受信すると（＃７７４）、これらをファイルサーバ１５へ転送する（＃７７５）。
【０１２１】
ファイルサーバ１５は、セキュア保存ジョブの指令およびファイル７Ｃを受信すると（＃７８１）、ファイル７Ｃを暗号化して保存する（＃７８２）。
【０１２２】
そして、ゲートウェイ１６は、このトンネルを切断し（＃７７６）、ログデータ７Ｋを保存する（＃７７７）。なお、トンネルの切断は、クラウドサーバ２１が行ってもよい。
【０１２３】
図１１は、クラウドサーバ２１の全体的な処理の流れの例を説明するフローチャートである。
【０１２４】
クラウドサーバ２１は、サーバプログラム２１Ｐに基づいて、図１１に示す手順で処理を実行する。
【０１２５】
クラウドサーバ２１は、端末装置３からジョブの指令、それに用いるデータ、およびジョブを実行させる内部装置の指定などを受け付けると（図１１の＃３１でＹｅｓ）、トンネルを確立するように、管理サーバ２４を介してゲートウェイ１６へ要求する（＃３２）。さらに、指定された内部装置（指定装置）のコネクション確立機能の有無を管理サーバ２４へ問い合せる（＃３３）。
【０１２６】
クラウドサーバ２１とゲートウェイ１６との間でトンネルが確立されたら（＃３４でＹｅｓ）、指定装置がコネクション確立機能を有していれば（＃３５でＹｅｓ）、クラウドサーバ２１は、コネクションの確立を、このトンネルおよびゲートウェイ１６を介して指定装置へ要求する（＃３６）。
【０１２７】
そして、クラウドサーバ２１と画像形成装置１０との間でコネクションが確立したら（＃３７でＹｅｓ）、クラウドサーバ２１は、このトンネルを切断するとともに（＃３８）、このコネクションを介して、ジョブの指令およびそれに用いるデータを指定装置へ送信する（＃３９）。
【０１２８】
その後、画像形成装置１０からジョブ完了データ７Ｈを受信したら、このコネクションを切断する（＃４０）。
【０１２９】
一方、指定装置がコネクション確立機能を有していなければ（＃３５でＮｏ）、クラウドサーバ２１は、このトンネルおよびゲートウェイ１６を介してジョブの指令およびそれに用いるデータを指定装置へ送信する（＃４１）。
【０１３０】
第一の実施形態によると、可能であればトンネルをコネクションに切り換えることにより、外部装置と内部装置との通信に伴うゲートウェイ１６の負荷を従来よりも軽減することができる。
【０１３１】
〔第二の実施形態〕
図１２は、ゲートウェイ１６および画像形成装置１０それぞれの機能的構成の例を示す図である。図１３は、クラウドサーバ２１および管理サーバ２４それぞれの機能的構成の例を示す図である。図１４および図１５は、印刷ジョブの際のクラウドサーバ２１、管理サーバ２４、ゲートウェイ１６、および画像形成装置１０それぞれの処理の流れの例を示すシーケンス図である。
【０１３２】
第一の実施形態では、内部装置がコネクション確立機能を有していれば、クラウドサーバ２１と内部装置との間にコネクションを確立し、このコネクションを介してジョブの指令をクラウドサーバ２１から内部装置へ与えられた。この際に、他のジョブの有無を考慮しなかった。
【０１３３】
第二の実施形態では、他のジョブ、特にコネクション確立機能を有しない内部装置に実行させるジョブが発生するまでは、トンネルを用い、発生した後にコネクションを用いる。
【０１３４】
第二の実施形態において、ローカルエリアネットワーク１の全体的な構成は、第一の実施形態の場合と同様であり、図１に示した通りである。ゲートウェイ１６および画像形成装置１０それぞれのハードウェアの構成も、第一の実施形態の場合と同様であり、図２および図３に示した通りである。クラウドサーバ２１および管理サーバ２４のハードウェアの構成も、第一の実施形態の場合と同様であり、図４に示した通りである。
【０１３５】
ただし、画像形成装置１０のＲＯＭ１０ｃまたは補助記憶装置１０ｄには、連携プログラム１０Ｐ（図５参照）の代わりに連携プログラム１０Ｑが記憶されている。連携プログラム１０Ｐによると、図１２に示すコネクション確立部１７１、ジョブ実行制御部１７２、ジョブ完了通知部１７３、およびログ通知部１７４が画像形成装置１０に実現される。
【０１３６】
また、クラウドサーバ２１のＲＯＭ２０ｃまたは補助記憶装置２０ｄには、サーバプログラム２１Ｐ（図６参照）の代わりにサーバプログラム２１Ｑが記憶されている。サーバプログラム２１Ｑによると、図１３に示すジョブ指令受付部２７１、トンネル要求部２７２、トンネル確立部２７３、機能問合部２７４、直接通信可否判別部２７５、コネクション要求部２７６、コネクション確立部２７７、トンネル切断部２７８、ジョブ付与部２７９、コネクション切断部２８０、切換要否判別部２８１、およびジョブ中断指令部２８２などがクラウドサーバ２１に実現される。
【０１３７】
第一の実施形態の場合と同様、管理サーバ２４は、管理プログラム２４Ｐに基づいて処理を行い、ゲートウェイ１６は、データ中継プログラム１６Ｐに基づいて処理を行う。
【０１３８】
以下、各装置の各部の処理を、画像形成装置１０に印刷ジョブを実行させる場合を例に、図１４〜図１５のシーケンス図を参照しながら説明する。第一の実施形態と重複する点については、説明を省略する。
【０１３９】
クラウドサーバ２１において、ジョブ指令受付部２７１は、第一の実施形態のジョブ指令受付部２０１と同様に、端末装置３から印刷ジョブの指令および画像データ７Ｂなどを受け付ける（図１４の＃８０１）。
【０１４０】
トンネル要求部２７２は、トンネル要求部２０２と同様に、管理サーバ２４を介してゲートウェイ１６へ、クラウドサーバ２１とゲートウェイ１６との間のトンネルの確立を要求する（＃８０２）。この際に、管理サーバ２４およびゲートウェイ１６は、第一の実施形態の場合と同様に処理を行う（＃８２１〜＃８２２、＃８３１〜＃８３２）。
【０１４１】
トンネル確立部２７３は、ゲートウェイ１６からのアクセスがあると、第一の実施形態の場合と同様に、トンネルを確立する（＃８０３、＃８３３）。
【０１４２】
切換要否判別部２８１は、現在の、クラウドサーバ２１とゲートウェイ１６との間のトンネルの数に応じて、ステップ＃８０３で確立したトンネルをコネクションに切り換える必要があるか否かを判別する（＃８０４）。具体的には、現在のトンネルの数（以下、「現トンネル数」と記載する。）が所定の数以上であれば、切り換える必要があると判別し、現トンネル数が所定の数未満であれば、切り換える必要がないと判別する。
【０１４３】
切り換える必要があると判別された場合は、以下、クラウドサーバ２１の機能問合部２７４ないしコネクション切断部２８０、管理サーバ２４の機能回答部２４３、ゲートウェイ１６の第一の外内中継部１６２ないしトンネル切断部１６８、および画像形成装置１０のコネクション確立部１７１ないしログ通知部１７４が、第一の実施形態のステップ＃７０４〜＃７１２、＃７２３〜＃７２４、＃７３４〜＃７３７、＃７４１〜＃７４７と同様の処理を行う（図８および図９参照）。
【０１４４】
一方、切り換える必要がないと判別された場合は、ジョブ付与部２７９が、このトンネルおよびゲートウェイ１６を介して画像形成装置１０へ印刷ジョブの指令および画像データ７Ｂを送信し始める（＃８０５、＃８３４〜＃８３５）。
【０１４５】
そして、画像形成装置１０において、ジョブ実行制御部１７２は、印刷ジョブの指令を受信し、画像データ７Ｂを受信し始めると（＃８５１）、スプールおよび印刷などを開始する（＃８５２）。
【０１４６】
その後、クラウドサーバ２１が他のジョブを受け付けることなく、画像形成装置１０への画像データ７Ｂの送信を完了した場合は、ゲートウェイ１６において、第一の実施形態のステップ＃７７６〜＃７７７と同様に、このトンネルの切断およびログデータ７Ｋの記録が行われる（図１０参照）。
【０１４７】
しかし、画像データ７Ｂの送信を完了するまでに、クラウドサーバ２１が他のジョブを受け付けた場合は（＃８０６）、各装置の各部は、次のように処理を行う。以下、ファイルサーバ１５に対するセキュア保存ジョブが受け付けられた場合を例に説明する。
【０１４８】
機能問合部２７４は、画像形成装置１０およびファイルサーバ１５それぞれがコネクション確立機能を有するか否かを管理サーバ２４へ問い合せる（＃８０７）。管理サーバ２４は、問合せを受け付けると（＃８２３）、画像形成装置１０およびファイルサーバ１５それぞれのデバイス属性データ７Ａに基づいて、回答する（＃８２４）。問合せおよび回答の方法は、第一の実施形態で説明した通りである。
【０１４９】
クラウドサーバ２１において、切換要否判別部２８１は、機能問合部２７４が回答を受け付けると（＃８０８）、このトンネルをコネクションに切り換える必要があるか否かを次のように判別する（＃８０９）。
【０１５０】
ステップ＃８０８において受け付けた回答によって、ファイルサーバ１５がコネクション確立機能を有しないことが分かった場合は、ファイルサーバ１５のためにトンネルを確立しなければならない。そこで、この場合は、新たにトンネルを確立することによって、現トンネル数が所定の数以上になるのであれば、切換要否判別部２８１は、切り換える必要があると判別する。
【０１５１】
直接通信可否判別部２７５は、切り換える必要があると切換要否判別部２８１によって判別されると、ステップ＃８０８において受け付けた回答に基づいて、画像形成装置１０が直接的に（トンネルを介さずに）通信を行うことができるか否かを判別する（＃８１０）。判別の仕方は、第一の実施形態の場合と同様である。本例では、直接的に通信を行うことができると判別される。
【０１５２】
すると、ジョブ中断指令部２８２は、ステップ＃８０３で確立したトンネルおよびゲートウェイ１６を介して、印刷ジョブの中断の指令を示す中断コマンド７Ｌを画像形成装置１０へ指令する（＃８１１、＃８３６〜図１５の＃８３７）。
【０１５３】
画像形成装置１０において、ジョブ実行制御部１７２は、中断コマンド７Ｌを受信すると（＃８５３）、印刷ジョブを中断し（＃８５４）、これまでの処理のデータを保持する（＃８５５）。
【０１５４】
クラウドサーバ２１において、コネクション要求部２７６は、第一の実施形態のコネクション要求部２０６と同様に、このトンネルおよびゲートウェイ１６を介して、新規のコネクションを確立するように画像形成装置１０へ要求する（＃８１３、＃８３８〜＃８３９）。
【０１５５】
画像形成装置１０において、コネクション確立部１７１は、要求を受け付けると（＃８５６）、第一の実施形態のコネクション確立部１０１と同様に、クラウドサーバ２１のコネクション確立部２７７とともに、画像形成装置１０とクラウドサーバ２１との間にコネクションを確立する（＃８５７〜＃８５８、＃８１４）。
【０１５６】
クラウドサーバ２１において、コネクションの確立後、トンネル切断部２７８は、このトンネルを切断する（＃８１５）。
【０１５７】
ジョブ付与部２７９は、このコネクションを介して、画像データ７Ｂの送信を再開する（＃８１６）。つまり、画像データ７Ｂのうち未だ送信していない部分（残りの部分）を送信し始める。
【０１５８】
画像形成装置１０において、ジョブ実行制御部１７２は、画像データ７Ｂの残りの部分を受信し始めると（＃８５９）、残りの部分および保持しておいたデータに基づいて印刷ジョブの実行を再開する（＃８６０）。
【０１５９】
そして、印刷ジョブが完了したら、ジョブ完了通知部１７３およびログ通知部１７４は、それぞれ、第一の実施形態のジョブ完了通知部１０３およびログ通知部１０４と同様に、ジョブ完了データ７Ｈをクラウドサーバ２１へ送信するとともに（＃８６１）、ログデータ７Ｊをゲートウェイ１６へ送信する（＃８６２）。
【０１６０】
画像形成装置１０において、コネクション切断部２８０は、ジョブ完了データ７Ｈを受信すると（＃８１７）、このコネクションを切断する（＃８１８）。
【０１６１】
また、ゲートウェイ１６において、ログデータ７Ｊは、ログデータ保存部１６７に保存（記録）される（＃８４０、＃８４１）。
【０１６２】
なお、画像形成装置１０とクラウドサーバ２１との間のトンネルがステップ＃８１５において切断された後、ステップ＃８０６で受け付けたセキュア保存ジョブのための処理が、各装置において、図１０で説明した手順で実行される。
【０１６３】
図１６および図１７は、クラウドサーバ２１の全体的な処理の流れの例を説明するフローチャートである。
【０１６４】
クラウドサーバ２１は、サーバプログラム２１Ｑに基づいて、図１６〜図１７に示す手順で処理を実行する。
【０１６５】
クラウドサーバ２１は、端末装置３からジョブの指令、それに用いるデータ、およびジョブを実行させる内部装置の指定などを受け付けると（図１６の＃５１）、トンネルを確立するように、管理サーバ２４を介してゲートウェイ１６へ要求し、トンネルを確立させる（＃５２）。
【０１６６】
さらに、クラウドサーバ２１は、このトンネルをコネクションに切り換える必要があるか否かを、現トンネル数に基づいて判別する（＃５３）。
【０１６７】
切り換える必要がない場合は（＃５４でＮｏ）、クラウドサーバ２１は、ステップ＃５２で確立されたトンネルを介して、指定装置へのジョブの指令およびデータの送信などを開始する（図１７の＃５５）。
【０１６８】
そして、データの送信が完了するまで（＃５６でＮｏ）、クラウドサーバ２１は、次の処理を適宜、実行する。
【０１６９】
他のジョブの指令を端末装置３から受け付けた場合は（＃５７でＹｅｓ）、クラウドサーバ２１は、当該他のジョブの指定装置およびステップ＃５１で受け付けたジョブ（以下、「対象ジョブ」と記載する。）の指定装置それぞれのコネクション確立機能の有無を管理サーバ２４へ問い合せる（＃５８）。そして、問合せの結果に応じて、対象ジョブのトンネルをコネクションに切り換える必要があるか否かを判別する（＃５９）。
【０１７０】
切り換える必要がない場合は（＃６０でＮｏ）、クラウドサーバ２１は、引き続き、対象ジョブのデータの送信を継続する。
【０１７１】
一方、切り換える必要がある場合は（＃６０でＹｅｓ）、対象ジョブの指定装置がコネクション確立機能を有していれば（＃６１でＹｅｓ）、クラウドサーバ２１は、ステップ＃５２で確立したトンネルおよびゲートウェイ１６を介して、この指定装置へ、ジョブの中断を指令するとともに（＃６２）、コネクションの確立の処理を行うように要求する（＃６３）。
【０１７２】
コネクションが確立されたら（＃６４でＹｅｓ）、クラウドサーバ２１は、このトンネルを切断し（＃６５）、このコネクションを介して対象ジョブの残りのデータをこの指定装置へ送信する（＃６６）。そして、送信が完了したら、このコネクションを切断する（＃６７）。
【０１７３】
または、ステップ＃５３において、ステップ＃５２で確立したトンネルをコネクションに切り換える必要があると判別された場合は（＃５４でＹｅｓ）、クラウドサーバ２１は、管理サーバ２４への問合せを行う（＃６８）。そして、その結果、このトンネルをコネクションに切り換えることができると判別したら（＃６９でＹｅｓ）、第一の実施形態のステップ＃３６〜＃４０と同様、コネクションを新たに確立し、このコネクションを介してジョブの指令およびデータを指定装置へ送信する処理などを行う（＃７０〜＃７４）。
【０１７４】
一方、切り換えることができないと判別したら（＃６９でＮｏ）、第一の実施形態とステップ＃４１と同様に、このトンネルを介してジョブの指令およびデータを指定装置へ送信する（＃７５）。
【０１７５】
第二の実施形態によると、外部装置と内部装置との通信に伴うゲートウェイ１６の負荷を従来よりも軽減することができる。また、コネクションへの切換えをトンネルの数に応じて行うことにより、無駄な切換えを減らし、資源を効率的に使用することができる。
【０１７６】
なお、クラウドサーバ２１は、トンネルをコネクションに切り換えるべきジョブを、次のように選出してもよい。ジョブの種類ごとに、予め優先度（優先順位）を設定しておく。優先度は、重要性の高さによって決めてもよいし、緊急性の高さによって決めてもよい。例えば、外出先から画像形成装置１０に行わせる印刷ジョブは、ファイルサーバ１５に保存されているファイルを外部装置へ送信するジョブよりも優先度を低く設定しておく。
【０１７７】
現トンネル数が所定の数以上になったら、クラウドサーバ２１は、トンネルを現在使用するジョブの中から、コネクション確立機能を有する内部装置が実行するジョブを抽出する。そして、抽出したジョブの中から、優先度の最も低いジョブを、トンネルをコネクションに切り換えるべきジョブとして選出する。
【０１７８】
第二の実施形態では、コネクションへの切換えを、現トンネル数が所定の数以上になった場合に行ったが、ゲートウェイ１６における通信回線４の速度が所定の速度以下になった場合に行ってもよい。または、ＣＰＵ１６ａの使用率が所定の値以上になった場合に行ってもよい。
【０１７９】
第二の実施形態では、クラウドサーバ２１は、ラウドサーバ２１とゲートウェイ１６との間のトンネルの数に応じて、トンネルをコネクションに切り換えるべきか否かを判別した。しかし、クラウドサーバ２１と任意のゲートウェイとの間のトンネルの数に応じて、つまり、一方の端がクラウドサーバ２１であり他方の端が任意のゲートウェイであるトンネルの数に応じて、判別してもよい。
【０１８０】
または、トンネルをコネクションに切り換えるべきか否かをゲートウェイ１６が判別してもよい。この場合に、ゲートウェイ１６と任意の外部装置との間のトンネルの数に応じて判別してもよい。
【０１８１】
第一の実施形態および第二の実施形態では、ジョブの例として、印刷ジョブおよびセキュア保存ジョブを挙げたが、他のジョブを内部装置に実行させることもできる。例えば、画像形成装置１０に保存されているファイルを外部装置に送信するジョブを実行させることができる。画像形成装置１０は、このジョブが与えられると、コネクションを介してファイルを外部装置へ送信する。
【０１８２】
第一の実施形態および第二の実施形態では、クラウドサーバ２１と内部装置との間にコネクションを確立したが、端末装置３と内部装置との間にコネクションを確立し、その後はクラウドサーバ２１を介さずこのコネクションを介してジョブのデータなどをやり取りしてもよい。
【０１８３】
トンネルの数が少ない場合は、クラウドサーバ２１は、トンネルおよびコネクションを併存させ、データを２つに分割しそれぞれをトンネルおよびコネクションを介して内部装置へ送信してもよい。コネクションが暗号化などのセキュリティの機能を備えない場合も同様に、通信を行ってもよい。
【０１８４】
第一の実施形態および第二の実施形態では、コネクションが確立された後に、トンネルを切断したが、コネクションの確立の要求がクラウドサーバ２１から外部装置に対してなされた後、コネクションが確立される前に、切断してもよい。
【０１８５】
第一の実施形態および第二の実施形態では、クラウドサーバ２１と管理サーバ２４とを別々の装置によって実現したが、１台の装置によって実現してもよい。
【０１８６】
第一の実施形態および第二の実施形態では、ゲートウェイ１６としてＳａａＳ型ゲートウェイを用いることによって、ルーティングの機能とＨＴＴＰトンネルの機能およびＸＭＰＰクライアントの機能と１台の機器で実現したが、別々の装置によって実現してもよい。または、ルーティングの機能をルータによって実現し、ＨＴＴＰトンネルの機能およびＸＭＰＰクライアントの機能を画像形成装置１０に設けてもよい。
【０１８７】
図１８および図１９は、印刷ジョブの際のクラウドサーバ２１、管理サーバ２４、ゲートウェイ１６、および画像形成装置１０それぞれの処理の流れの変形例を示すシーケンス図である。
【０１８８】
第一の実施形態および第二の実施形態では、コネクションの確立後、画像形成装置１０からの要求の有無に関わらず、クラウドサーバ２１が画像形成装置１０へ画像データ７Ｂを送信した。つまり、いわゆるプッシュ型で画像データ７Ｂを送信した。しかし、画像形成装置１０からの要求があった後に、送信してもよい。つまり、いわゆるプル型で送信してもよい。
【０１８９】
例えば、各装置は、図１８に示す手順で処理を行えばよい。図１８に示す手順は、基本的に第一の実施形態と同様である。以下、印刷ジョブを画像形成装置１０に実行させる場合を例に、相違点を中心に説明する。
【０１９０】
端末装置３から印刷ジョブの指令を受け付けてからクラウドサーバ２１と画像形成装置１０との間にコネクションを確立するまでの処理は、基本的に第一の実施形態の場合と同様であり、図８〜図９のステップ＃７０１〜＃７０８、＃７２１〜＃７３５、＃７３１〜＃７３５、＃７４１〜＃７４３で説明した通りである。
【０１９１】
ただし、クラウドサーバ２１は、さらに、トンネルおよびゲートウェイ１６を介して印刷ジョブに関する情報（例えば、画像形成装置１０が行うべき印刷ジョブが生じたこと、その印刷ジョブの識別子、または、その印刷ジョブの内容）を画像形成装置１０へ通知する（図１８の＃６０７、＃６３４〜＃６３５、＃６４１）。
【０１９２】
コネクションの確立後の処理も、基本的に第一の実施形態の場合と同様であり、図８〜図９のステップ＃７０９〜＃７１２、＃７３６〜＃７３７、＃７４４〜＃７４７で説明した通りである。
【０１９３】
ただし、画像形成装置１０は、ステップ＃６４１で受け付けた通知に基づいて、コネクションの確立後、そのコネクションを介してクラウドサーバ２１に対して印刷ジョブのデータ（画像データ７Ｂ）を要求する（＃６４５）。
【０１９４】
クラウドサーバ２１は、画像形成装置１０からの要求に応じて、画像データ７Ｂを画像形成装置１０へそのコネクションを介して送信する（＃６１１、＃６１２）。
【０１９５】
そして、画像形成装置１０は、画像データ７Ｂを受信し（＃６４６）、これに基づいて印刷ジョブを実行する（＃６４７）。
【０１９６】
その他、情報処理システム５、ローカルエリアネットワーク１、画像形成装置１０、ファイルサーバ１５、ゲートウェイ１６、クラウドサーバ２１、管理サーバ２４の全体または各部の構成、処理内容、処理順序、データの構成などは、本発明の趣旨に沿って適宜変更することができる。
【符号の説明】
【０１９７】
５  情報処理システム（通信システム）
１  ローカルエリアネットワーク（特定のネットワーク）
１０  画像形成装置（第一の装置）
１０１、１８１  コネクション確立部（確立手段）
２１  クラウドサーバ（第二の装置、制御装置）
２０６、２７６  コネクション要求部（要求手段）
２０８、２７８  トンネル切断部（切断手段）
２０９、２７９  ジョブ付与部（指令手段）
７Ｂ  画像データ
コネクション確立コマンド７Ｇ
【図１】
0006536050.tif 000002
【図２】
0006536050.tif 000003
【図３】
0006536050.tif 000004
【図４】
0006536050.tif 000005
【図５】
0006536050.tif 000006
【図６】
0006536050.tif 000007
【図７】
0006536050.tif 000008
【図８】
0006536050.tif 000009
【図９】
0006536050.tif 000010
【図１０】
0006536050.tif 000011
【図１１】
0006536050.tif 000012
【図１２】
0006536050.tif 000013
【図１３】
0006536050.tif 000014
【図１４】
0006536050.tif 000015
【図１５】
0006536050.tif 000016
【図１６】
0006536050.tif 000017
【図１７】
0006536050.tif 000018
【図１８】
0006536050.tif 000019
【図１９】
0006536050.tif 000020