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