JP2016116112A - 情報処理システム、中継装置、中継方法および中継プログラム - Google Patents

情報処理システム、中継装置、中継方法および中継プログラム Download PDF

Info

Publication number
JP2016116112A
JP2016116112A JP2014254086A JP2014254086A JP2016116112A JP 2016116112 A JP2016116112 A JP 2016116112A JP 2014254086 A JP2014254086 A JP 2014254086A JP 2014254086 A JP2014254086 A JP 2014254086A JP 2016116112 A JP2016116112 A JP 2016116112A
Authority
JP
Japan
Prior art keywords
job
information
session
communication session
cloud server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2014254086A
Other languages
English (en)
Inventor
増田 敏
Satoshi Masuda
敏 増田
博一 久保田
Hiroichi Kubota
博一 久保田
和也 姉崎
Kazuya Anezaki
和也 姉崎
松原 賢士
Kenji Matsubara
賢士 松原
崎山 大輔
Daisuke Sakiyama
大輔 崎山
佑樹 浅井
Yuki Asai
佑樹 浅井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Konica Minolta Inc
Original Assignee
Konica Minolta Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Konica Minolta Inc filed Critical Konica Minolta Inc
Priority to JP2014254086A priority Critical patent/JP2016116112A/ja
Publication of JP2016116112A publication Critical patent/JP2016116112A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】 ファイアーウォールの外部から内部にジョブを送信すること。【解決手段】 ゲートウェイ装置は、管理サーバーとの間で常時接続セッションを確立する常時接続セッション確立部251と、管理サーバーがサービスの提供をしない停止期間を取得する停止期間受信部293と、管理サーバーから接続要求を受信する場合、クラウドサーバーとの間で確立した第1通信セッションと制御対象装置との間で確立した第2通信セッションを用いて、クラウドサーバーと制御対象装置との間の通信を中継し、停止期間の間は、クラウドサーバーとの間で確立した第3通信セッションと、制御対象装置との間で確立した第4通信セッションとを用いて、クラウドサーバーと制御対象装置との間の通信を中継する中継部270と、を備える。【選択図】 図7

Description

この発明は、情報処理システム、中継装置、中継方法および中継プログラムに関し、特に、ファイアーウォールの外部のクラウドサーバーからファイアーウォールの内部の装置を制御する情報処理システム、その情報処理システムに含まれる中継装置、その中継装置で実行される中継方法および中継プログラムに関する。
インターネットに接続されたクラウドサーバーが提供するサービスを利用して、ローカルエリアネットワークに接続された複合機(以下「MFP」という)を制御する場合がある。例えば、クラウドサーバーに記憶されたデータを、MFPにプリントさせる場合である。しかしながら、MFPは、ローカルエリアネットワーク(以下「LAN」という)に接続されている場合が多く、そのLANは、インターネットとファイアーウォールを介して接続される。このため、クラウドサーバーからMFPに対するアクセスは、ファイアーウォールによって遮断される場合がある。
特開2006−191659号公報には、第1の情報処理装置と第2の情報処理装置との間におけるトンネル通信に関する情報であるトンネル通信情報を管理するトンネル管理装置が、そのトンネル通信情報に基づいて、トンネル通信の維持に関する情報である維持情報を、第1の情報処理装置に送信すると、第1の情報処理装置は、トンネル管理装置から受け付けた維持情報に基づいて、第2の情報処理装置との間のトンネル通信を制御する情報システムが記載されている。
しかしながら、従来の情報処理システムにおいては、トンネル管理装置が第1の情報処理装置と第2の情報処理装置との間のトンネル通信を制御するので、トンネル管理装置がメンテナンス等で停止する場合に、トンネル通信を制御できない場合があるといった問題がある。
特開2006−191659号公報
この発明は上述した問題点を解決するためになされたもので、この発明の目的の一つは、管理サーバーがサービスを提供しない間にファイアーウォールの外部から内部にジョブを送信することが可能な情報処理システムを提供することである。
この発明の他の目的は、管理サーバーがサービスを提供しない間にファイアーウォールの内部にジョブを送信することが可能な中継装置を提供することである。
この発明のさらに他の目的は、管理サーバーがサービスを提供しない間にファイアーウォールの内部にジョブを送信することが可能な中継方法を提供することである。
この発明のさらに他の目的は、管理サーバーがサービスを提供しない間に、ファイアーウォールの外部から内部にジョブを送信することが可能な中継プログラムを提供することである。
上述した目的を達成するためにこの発明のある局面によれば、情報処理システムは、ファイアーウォールの外部に配置されたクラウドサーバーおよび管理サーバーと、ファイアーウォールの内部に配置され、ファイアーウォールの内部に配置された制御対象装置と接続された中継装置と、を備えた情報処理システムであって、クラウドサーバーは、予約ジョブを識別するためのジョブ識別情報、予約ジョブの出力先である制御対象装置のアドレス情報および予約ジョブの送信時刻を定めた予約処理を設定する予約処理設定手段と、接続先のアドレス情報と、予約処理により予約ジョブの出力先として定められた制御対象装置のアドレス情報を接続元のアドレス情報として含む接続要求を、予約処理により定められた送信時刻に、管理サーバーに送信する接続要求手段と、接続要求が送信された後に、管理サーバーから転送された接続要求を受信する中継装置から接続要求に含まれる接続先のアドレス情報と同じアドレス情報を含む確立要求を受信する場合に第1の通信セッションを確立する確立要求受信手段と、接続要求が送信された後に中継装置との間で第1通信セッションが確立されることに応じて、予約ジョブを、第1の通信セッションを介して送信するジョブ送信手段と、を備え、中継装置は、管理サーバーとの間で常時接続セッションを確立する常時接続セッション確立手段と、管理サーバーがサービスの提供をしない停止期間を取得する停止期間取得手段と、管理サーバーがクラウドサーバーから取得したクラウドサーバーのアドレス情報、予約ジョブのジョブ識別情報、予約ジョブの出力先のアドレス情報および予約ジョブの送信時刻を含むジョブ情報を、常時接続セッションを介して管理サーバーから受信するジョブ情報受信手段と、管理サーバーがクラウドサーバーから受信する接続要求を、管理サーバーから常時接続セッションを介して受信することに応じて、受信された接続要求に含まれる接続先のアドレス情報を用いてクラウドサーバーとの間で第1通信セッションを確立する第1セッション確立手段と、受信された接続要求に含まれる接続元のアドレス情報で特定される制御対象装置との間で第2通信セッションを確立する第2セッション確立手段と、第1通信セッションと第2通信セッションとを用いて、クラウドサーバーと制御対象装置との間の通信を中継する中継手段と、停止期間が開始することに応じて、受信されたジョブ情報のうち送信時刻が現在時刻となるジョブ情報を処理対象情報に特定する処理対象特定手段と、処理対象情報に特定されたジョブ情報に含まれる予約ジョブのジョブ識別情報を含む停止時確立要求を処理対象情報に特定されたジョブ情報に含まれるクラウドサーバーのアドレス情報を用いてクラウドサーバーに送信し、クラウドサーバーとの間で第3通信セッションを確立する第3セッション確立手段と、処理対象情報に特定されたジョブ情報に含まれる予約ジョブの出力先のアドレス情報で特定される制御対象装置との間で第4通信セッションを確立する第4セッション確立手段と、を備え、中継手段は、第3セッション確立手段により第3通信セッションが確立されている間、第3通信セッションと第4通信セッションとを用いて、クラウドサーバーと制御対象装置との間の通信を中継し、クラウドサーバーが備えるジョブ送信手段は、接続要求が送信された後に中継装置との間で第1通信セッションが確立されない場合、中継装置から予約処理により定められた予約ジョブのジョブ識別情報と同じジョブ識別情報を含む停止時確立要求を受信することに応じて、中継装置との間で第3の通信セッションを確立し、第3の通信セッションを介して予約ジョブを送信する停止中送信手段を含む。
この局面に従えば、クラウドサーバーは、予約処理により定められた送信時刻に、接続要求を管理サーバーに送信した後に、中継装置から確立要求を受信する場合に第1の通信セッションを確立し、予約ジョブを第1の通信セッションを介して送信し、接続要求を送信した後に中継装置との間で第1通信セッションが確立されない場合、中継装置から停止時確立要求を受信することに応じて、中継装置との間で第3の通信セッションを確立し、第3の通信セッションを介して予約ジョブを送信する。また、中継装置は、管理サーバーとの間で常時接続セッションを確立し、接続要求を管理サーバーから常時接続セッションを介して受信することに応じて、クラウドサーバーとの間で第1通信セッションを確立するとともに、制御対象装置との間で第2通信セッションを確立し、クラウドサーバーと制御対象装置との間の通信を中継する。また、中継装置は、停止期間を取得し、管理サーバーがクラウドサーバーから取得したジョブ情報を、常時接続セッションを介して管理サーバーから受信しておき、停止期間が開始することに応じて、ジョブ情報のうち送信時刻が現在時刻となるジョブ情報を処理対象情報に特定し、特定されたジョブ情報に含まれる予約ジョブのジョブ識別情報を含む停止時確立要求をクラウドサーバーに送信し、クラウドサーバーとの間で第3通信セッションを確立するとともに、制御対象装置との間で第4通信セッションを確立し、第3通信セッションが確立されている間、クラウドサーバーと制御対象装置との間の通信を中継する。このため、管理サーバーがサービスを提供しない停止期間の間は、第3通信セッションおよび第4通信セッションを用いて、制御対象装置にジョブを送信することができる。その結果、管理サーバーがサービスを提供しない間に、ファイアーウォールの外部から内部にジョブを送信することが可能な情報処理システムを提供することができる。
好ましくは、管理サーバーは、中継装置からの要求に基づいて、中継装置との間で通信するための常時セッションを確立するサーバー側確立手段と、管理サーバーがサービスの提供をしない期間を示す停止期間を設定する停止期間設定手段と、停止期間が開始される前の段階で、停止期間を、常時接続セッションを介して中継装置に送信する停止期間通知手段と、クラウドサーバーからジョブ情報を取得するジョブ情報取得手段と、停止期間が開始される前の段階で、取得されたジョブ情報を、ジョブ情報に含まれる出力先のアドレス情報により特定される中継装置に常時接続セッションを介して送信するジョブ情報送信手段と、クラウドサーバーから接続要求を受信することに応じて、接続要求を中継装置に常時接続セッションを介して送信するトンネル接続要求手段と、を備える。

この局面に従えば、クラウドサーバーは、ファイアーウォールの外部の管理サーバーに接続要求を送信すれば、ファイアーウォールの内部の中継装置との間で第1通信セッションを確立し、中継装置は制御対象装置と第2通信セッションを確立し、第1通信セッションと第2通信セッションを用いてクラウドサーバーと制御対象装置との間の通信を中継する。このため、クラウドサーバーは、管理サーバーがサービスを提供している間は、ファイアーウォールの外部の管理サーバーに、ファイアーウォールの内部の制御対象装置のアドレス情報を含む接続要求を送信すれば、ファイアーウォールの内部の制御対象装置にジョブを送信することができる。また、停止期間が開始する前に、クラウドサーバーからジョブ情報を中継装置に送信することができる。
好ましくは、クラウドサーバーは、さらに、予約ジョブが設定される段階で、クラウドサーバーのアドレス情報、予約ジョブのジョブ識別情報、予約ジョブの出力先のアドレス情報および予約ジョブの送信時刻を含むジョブ情報を管理サーバーに送信するジョブ情報送信手段を、備える。
この局面に従えば、予約ジョブが設定される段階で、中継装置にジョブ情報を送信することができる。
この発明の他の局面によれば、中継装置は、ファイアーウォールの内部に配置され、ファイアーウォールの内部に配置された制御対象装置と接続され、ファイアーウォールの外部に配置されたクラウドサーバーおよび管理サーバーと通信可能な中継装置であって、管理サーバーとの間で常時接続セッションを確立する常時接続セッション確立手段と、管理サーバーがサービスの提供をしない停止期間を取得する停止期間取得手段と、管理サーバーがクラウドサーバーから取得したクラウドサーバーのアドレス情報、予約ジョブのジョブ識別情報、予約ジョブの出力先のアドレス情報および予約ジョブの送信時刻を含むジョブ情報を、常時接続セッションを介して管理サーバーから受信するジョブ情報受信手段と、管理サーバーがクラウドサーバーから受信する接続要求を、管理サーバーから常時接続セッションを介して受信することに応じて、受信された接続要求に含まれる接続先のアドレス情報を用いてクラウドサーバーとの間で第1通信セッションを確立する第1セッション確立手段と、受信された接続要求に含まれる接続元のアドレス情報で特定される制御対象装置との間で第2通信セッションを確立する第2セッション確立手段と、第1通信セッションと第2通信セッションとを用いて、クラウドサーバーと制御対象装置との間の通信を中継する中継手段と、停止期間が開始することに応じて、受信されたジョブ情報のうち送信時刻が現在時刻となるジョブ情報を処理対象情報に特定する処理対象特定手段と、処理対象情報に特定されたジョブ情報に含まれる予約ジョブのジョブ識別情報を含む停止時確立要求を処理対象情報に特定されたジョブ情報に含まれるクラウドサーバーのアドレス情報を用いてクラウドサーバーに送信し、クラウドサーバーとの間で第3通信セッションを確立する第3セッション確立手段と、処理対象情報に特定されたジョブ情報に含まれる予約ジョブの出力先のアドレス情報で特定される制御対象装置との間で第4通信セッションを確立する第4セッション確立手段と、を備え、中継手段は、第3セッション確立手段により第3通信セッションが確立されている間、第3通信セッションと第4通信セッションとを用いて、クラウドサーバーと制御対象装置との間の通信を中継する。
この局面に従えば、管理サーバーとの間で常時接続セッションを確立し、管理サーバーの停止期間を取得し、管理サーバーがクラウドサーバーから取得したジョブ情報を、常時接続セッションを介して管理サーバーから受信し、管理サーバーから常時接続セッションを介して接続要求を受信することに応じて、接続要求に含まれる接続先のアドレス情報を用いてクラウドサーバーとの間で第1通信セッションを確立し、接続要求に含まれる接続元のアドレス情報で特定される制御対象装置との間で第2通信セッションを確立し、クラウドサーバーと制御対象装置との間の通信を中継し、停止期間が開始することに応じて、送信時刻が現在時刻となるジョブ情報を処理対象情報に特定し、特定されたジョブ情報に含まれる予約ジョブのジョブ識別情報を含む停止時確立要求をクラウドサーバーに送信し、クラウドサーバーとの間で第3通信セッションを確立するとともに、予約ジョブの出力先のアドレス情報で特定される制御対象装置との間で第4通信セッションを確立し、第3通信セッションが確立されている間、クラウドサーバーと制御対象装置との間の通信を中継する。このため、管理サーバーがサービスを提供しない停止期間の間は、第3通信セッションおよび第4通信セッションを用いて、制御対象装置にジョブを送信することができる。その結果、管理サーバーがサービスを提供しない間に、ファイアーウォールの外部から内部にジョブを送信することが可能な中継装置を提供することができる。
この発明のさらに他の局面によれば、中継方法は、ファイアーウォールの内部に配置され、ファイアーウォールの内部に配置された制御対象装置と接続され、ファイアーウォールの外部に配置されたクラウドサーバーおよび管理サーバーと通信可能な中継装置で実行される中継方法であって、管理サーバーとの間で常時接続セッションを確立する常時接続セッション確立ステップと、管理サーバーがサービスの提供をしない停止期間を取得する停止期間取得ステップと、管理サーバーがクラウドサーバーから取得したクラウドサーバーのアドレス情報、予約ジョブのジョブ識別情報、予約ジョブの出力先のアドレス情報および予約ジョブの送信時刻を含むジョブ情報を、常時接続セッションを介して管理サーバーから受信するジョブ情報受信ステップと、管理サーバーがクラウドサーバーから受信する接続要求を、管理サーバーから常時接続セッションを介して受信することに応じて、受信された接続要求に含まれる接続先のアドレス情報を用いてクラウドサーバーとの間で第1通信セッションを確立する第1セッション確立ステップと、受信された接続要求に含まれる接続元のアドレス情報で特定される制御対象装置との間で第2通信セッションを確立する第2セッション確立ステップと、第1通信セッションと第2通信セッションとを用いて、クラウドサーバーと制御対象装置との間の通信を中継する中継ステップと、停止期間が開始することに応じて、受信されたジョブ情報のうち送信時刻が現在時刻となるジョブ情報を処理対象情報に特定する処理対象特定ステップと、処理対象情報に特定されたジョブ情報に含まれる予約ジョブのジョブ識別情報を含む停止時確立要求を処理対象情報に特定されたジョブ情報に含まれるクラウドサーバーのアドレス情報を用いてクラウドサーバーに送信し、クラウドサーバーとの間で第3通信セッションを確立する第3セッション確立ステップと、処理対象情報に特定されたジョブ情報に含まれる予約ジョブの出力先のアドレス情報で特定される制御対象装置との間で第4通信セッションを確立する第4セッション確立ステップと、を含み、中継ステップは、第3セッション確立ステップにより第3通信セッションが確立されている間、第3通信セッションと第4通信セッションとを用いて、クラウドサーバーと制御対象装置との間の通信を中継するステップを含む。
この局面に従えば、管理サーバーがサービスを提供しない間に、ファイアーウォールの外部から内部にジョブを送信することが可能な中継方法を提供することができる。
この発明のさらに他の局面によれば、中継プログラムは、ファイアーウォールの内部に配置され、ファイアーウォールの内部に配置された制御対象装置と接続され、ファイアーウォールの外部に配置されたクラウドサーバーおよび管理サーバーと通信可能な中継装置を制御するコンピューターで実行される中継プログラムであって、管理サーバーとの間で常時接続セッションを確立する常時接続セッション確立ステップと、管理サーバーがサービスの提供をしない停止期間を取得する停止期間取得ステップと、管理サーバーがクラウドサーバーから取得したクラウドサーバーのアドレス情報、予約ジョブのジョブ識別情報、予約ジョブの出力先のアドレス情報および予約ジョブの送信時刻を含むジョブ情報を、常時接続セッションを介して管理サーバーから受信するジョブ情報受信ステップと、管理サーバーがクラウドサーバーから受信する接続要求を、管理サーバーから常時接続セッションを介して受信することに応じて、受信された接続要求に含まれる接続先のアドレス情報を用いてクラウドサーバーとの間で第1通信セッションを確立する第1セッション確立ステップと、受信された接続要求に含まれる接続元のアドレス情報で特定される制御対象装置との間で第2通信セッションを確立する第2セッション確立ステップと、第1通信セッションと第2通信セッションとを用いて、クラウドサーバーと制御対象装置との間の通信を中継する中継ステップと、停止期間が開始することに応じて、受信されたジョブ情報のうち送信時刻が現在時刻となるジョブ情報を処理対象情報に特定する処理対象特定ステップと、処理対象情報に特定されたジョブ情報に含まれる予約ジョブのジョブ識別情報を含む停止時確立要求を処理対象情報に特定されたジョブ情報に含まれるクラウドサーバーのアドレス情報を用いてクラウドサーバーに送信し、クラウドサーバーとの間で第3通信セッションを確立する第3セッション確立ステップと、処理対象情報に特定されたジョブ情報に含まれる予約ジョブの出力先のアドレス情報で特定される制御対象装置との間で第4通信セッションを確立する第4セッション確立ステップと、をコンピューターに実行させ、中継ステップは、第3セッション確立ステップにより第3通信セッションが確立されている間、第3通信セッションと第4通信セッションとを用いて、クラウドサーバーと制御対象装置との間の通信を中継するステップを含む。
この局面に従えば、管理サーバーがサービスを提供しない間に、ファイアーウォールの外部から内部にジョブを送信することが可能な中継プログラムを提供することができる。
本発明の実施の形態の1つにおける情報処理システムの全体概要の一例を示す図である。 ゲートウェイ装置のハードウェア構成の概要の一例を示すブロック図である。 MFPのハードウェア構成の概要の一例を示すブロック図である。 本実施の形態における管理サーバーのハードウェア構成の概要の一例を示すブロック図である。 本実施の形態におけるクラウドサーバーのハードウェア構成の概要の一例を示すブロック図である。 管理サーバーが備えるCPUの機能の一例を示すブロック図である。 ゲートウェイ装置が備えるCPUの機能の一例を示すブロック図である。 クラウドサーバーが備えるCPUの機能の一例を示すブロック図である。 中継処理の流れの一例を示すフローチャートである。 停止期間中継処理の流れの一例を示すフローチャートである。 トンネル接続支援処理の流れの一例を示すフローチャートである。 装置制御処理の流れの一例を示すフローチャートである。
以下、本発明の実施の形態について図面を参照して説明する。以下の説明では同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがってそれらについての詳細な説明は繰返さない。
図1は、本発明の実施の形態の1つにおける情報処理システムの全体概要の一例を示す図である。図1を参照して、情報処理システム1は、管理サーバー300と、クラウドサーバー400と、中継装置として機能するゲートウェイ(G/W)装置200と、複合機であるMFP(Multi Function Peripheral)100,100A,100Bと、を含む。管理サーバー300、クラウドサーバー400、およびゲートウェイ装置200それぞれは、インターネット5に接続されており、インターネット5を介して互いに通信可能である。さらに、管理サーバー300、クラウドサーバー400、およびゲートウェイ装置200それぞれは、インターネット5に接続された他のコンピューターと通信可能である。
ゲートウェイ装置200は、さらに、ローカルエリアネットワーク(LAN)3と接続されており、そのLAN3に、MFP100,100A,100Bが接続されている。ゲートウェイ装置200は、LAN3に接続されたMFP100,100A,100Bと通信可能である。さらに、ゲートウェイ装置200およびMFP100,100A,100Bそれぞれは、LAN3に接続された他のコンピューターと通信可能である。
ゲートウェイ装置200は、ファイアーウォール機能を有し、ファイアーウォールの内部のLAN3と、ファイアーウォールの外部のインターネット5とを接続する。ゲートウェイ装置200は、インターネット5に接続された管理サーバー300およびクラウドサーバー400から、LAN3に接続されたMFP100,100A,100Bへのアクセスを制限する。ゲートウェイ装置200が有するファイアーウォール機能は、特に限定するものではないが、パケットに含まれるアドレスに基づいて通信の許可または不許可を判定するパケットフィルター型のファイアーウォール機能である。なお、アプリケーション層のプロトコルのレベルで外部との通信を代替し、制御するアプリケーション型のファイアーウォール機能であってもよい。なお、ゲートウェイ装置200が配置される位置は、ファイアーウォールの内部である。
本実施の形態における情報処理システム1においては、ファイアーウォールの外部のインターネット5に接続されたクラウドサーバー400が、ファイアーウォールの内部のLAN3に接続されたMFP100,100A,100Bのいずれかを制御することを可能にする。クラウドサーバー400は、ファイアーウォールの内部のLAN3に接続されたパーソナルコンピューター(以下「PC」という)からアクセスされて、そのPCを操作するユーザーによる指示にしたがってサービスを提供するための処理を実行する場合と、ファイアーウォールの外部のインターネット5に接続されたPCからアクセスされて、そのPCを操作するユーザーによる指示にしたがってサービスを提供するための処理を実行する場合と、がある。ここでは、一例として、クラウドサーバー400に、予め定められた日時に、予め定められた1以上の処理を実行することを定めた予約処理が登録されており、その予約処理により予約ジョブをMFP100,100A,100Bのいずれかに実行させる処理が定められている場合を例に説明する。予約処理は、予約ジョブを識別するためのジョブ識別情報、MFP100,100A,100Bのうち予約ジョブの出力先である装置のアドレス情報および予約ジョブの送信日時を定める。予約処理は、クラウドサーバー400が提供するサービスに基づく処理を含んでもよい。予約ジョブは、ユーザーにより指定されたデータ、または、クラウドサーバー400が、それが提供するサービスに基づく処理を実行した結果得られるデータに対して、MFP100に実行させる処理を定める。予約ジョブは、MFP100に実行させる1以上の処理を定める。予約ジョブにより定められる処理は、例えば、MFP100にデータの画像をプリントさせる処理、MFP100にデータを記憶させる処理、またはMFP100にデータを送信させる処理を含む。この場合、クラウドサーバー400はMFP100に予約ジョブを送信する。
クラウドサーバー400がMFP100に送信する予約ジョブが、ゲートウェイ装置200のファイアーウォールを通過するようにするために、ゲートウェイ装置200は、クラウドサーバー400とMFP100との間でトンネル接続を確立する。トンネル接続を確立する技術は、種々の方法があるが、ここでは、管理サーバー300がトンネル接続を支援する方法を用いる。
ゲートウェイ装置200は、予め記憶された管理サーバー300のネットワークアドレスを用いて管理サーバー300との間で通信セッションの確立を要求する。ゲートウェイ装置200は、ファイアーウォールの内部であり、管理サーバー300は、ファイアーウォールの外部なので、ファイアーウォールを通過する通信セッションが確立される。この通信セッションを、以下、常時接続セッションという。
ゲートウェイ装置200は、管理サーバー300との間で常時接続セッションを確立すると、LAN3に接続されたMFP100,100A,100Bそれぞれを識別するための装置識別情報を管理サーバー300に常時接続セッションを介して送信する。管理サーバー300においては、ゲートウェイ装置200に接続されたMFP100,100A,100Bを認識する。
次に、クラウドサーバー400が管理サーバー300との間で、通信セッションを確立する。ここで、クラウドサーバー400と管理サーバー300との間で確立される通信セッションをグローバルセッションという。管理サーバー300は、ゲートウェイ装置200から受信されたMFP100,100A,100Bそれぞれの装置識別情報を受信しているので、クラウドサーバー400を操作するユーザーに対して、トンネル接続が可能な装置としてMFP100,100A,100Bのうちからいずれかを選択させる。ここでは、クラウドサーバー400を操作するユーザーによって、トンネル接続する装置としてMFP100が選択される場合を例に主に説明する。
クラウドサーバー400は、予約処理において予約ジョブの出力先の装置のアドレス情報にMFP100が設定されている場合、予約処理を実行することにより予約ジョブをMFP100に送信するために、接続要求を管理サーバー300に送信する。接続要求は、接続先のアドレス情報としてクラウドサーバー400の第1のアドレス情報を含み、接続元のアドレス情報としてMFP100のアドレス情報を含む。MFP100のアドレス情報は、ゲートウェイ装置200の装置識別情報とMFP100の装置識別情報とを含む。クラウドサーバー400の第1のアドレス情報は、クラウドサーバー400のネットワークアドレスと、クラウドサーバー400が実行する予約処理の識別子と、を含む。ここでは、クラウドサーバー400のアドレス情報を、MFP100からクラウドサーバー400にアクセスするためのURL(Uniform Resource Locator)としている。URLには、例えば「https://www.example.com/print_service?job_id=j00123:60001」のように、クラウドサーバー400のネットワークアドレス(ドメイン名)、ウェブページの識別子、クラウドサーバー400が実行する予約処理の識別子、および待ち受けポートのポート番号などが含まれる。待ち受けポートとして、所定の範囲のポートのうち未使用のものが用いられる。また、予約処理の識別子として、ユニークなIDを用いることができる。クラウドサーバー400が実行する予約処理は、クラウドサーバー400が提供するサービスのうちクラウドサーバー400を操作するユーザーによって指定されたサービスに対応する処理である。クラウドサーバー400の第1のアドレス情報であるURLが、予約処理の識別子を含むため、そのURLにアクセスしてきた装置を予約処理の識別子により特定される予約処理と対応付けることができる。換言すれば、クラウドサーバー400が実行する予約処理を、接続要求に含まれる接続先のアドレスで特定される装置、ここではMFP100と対応付けることができる。
管理サーバー300は、クラウドサーバー400から接続要求を受信する場合、接続要求に含まれるMFP100のアドレス情報に含まれるゲートウェイ装置200の装置識別情報に基づいてゲートウェイ装置200を特定し、接続要求をゲートウェイ装置200に常時接続セッションを介して転送する。この場合、接続要求を、常時接続セッションに対応するプロトコルに応じてカプセル化して送信する。
ゲートウェイ装置200は、さらに、管理サーバー300から接続要求を受信すると、接続要求に含まれるクラウドサーバー400の第1のアドレス情報に基づいて、クラウドサーバー400との間で通信セッションを確立する。ここで、ゲートウェイ装置200とクラウドサーバー400との間で確立される通信セッションを第1通信セッションという。これにより、ファイアーウォールを通過するトンネル接続が完了する。
ゲートウェイ装置200は、管理サーバー300から接続要求を受信すると、接続要求に含まれるMFP100のアドレス情報に含まれるMFP100の装置識別情報に基づいてMFP100を特定し、MFP100との間で通信セッションを確立する。ここで、ゲートウェイ装置200とMFP100との間で確立される通信セッションを第2通信セッションという。
ゲートウェイ装置200は、クラウドサーバー400との間で確立された第1通信セッションと、MFP100との間で確立された第2通信セッションとを用いて、クラウドサーバー400とMFP100との間の通信を中継する。例えば、第1通信セッションと、第2通信セッションとを接続することによって、クラウドサーバー400とMFP100との間の通信を中継する。
なお、トンネル接続の方法は、これに限定されることなく、他の方法を用いてもよい。
クラウドサーバー400が提供するサービスは、例えば、クラウドサーバー400がMFP100のプログラムのバージョンを管理し、バージョンアップに基づくアップデートを実行するプログラム管理サービス、クラウドサーバー400をファイルサーバーとして機能させるサービス、画像データに対して画像処理を実行するサービスを含む。画像処理は、限定するものではないが、例えば、写真が表された画像データを先鋭化、スムージング等の処理を実行する処理であってもよいし、文字が表された画像データを文字認識する処理であってもよいし、言語を他の言語に翻訳する処理であってもよい。
MFP100,100A,100Bのハードウェア構成および機能は同じなので、ここでは特に言及しない限りMFP100を例に説明する。
図2は、ゲートウェイ装置のハードウェア構成の概要の一例を示すブロック図である。図2を参照して、本実施の形態におけるゲートウェイ装置200は、ゲートウェイ装置200の全体を制御するためのCPU(Central Processing Unit)201と、CPU201が実行するためのプログラム等を記憶するROM(Read Only Memory)202と、CPU201の作業領域として用いられるRAM(Random Access Memory)203と、データを不揮発的に記憶するフラッシュメモリ204と、第1通信部205と、第2通信部206と、外部記憶装置209と、を含む。
第1通信部205は、ゲートウェイ装置200をインターネット5に接続するための通信インターフェース(I/F)である。第2通信部206は、ゲートウェイ装置200をLAN3に接続するための通信インターフェース(I/F)である。
フラッシュメモリ204は、CPU201が実行するプログラム、またはそのプログラムを実行するために必要なデータを記憶する。CPU201は、フラッシュメモリ204に記録されたプログラムを、RAM203にロードして実行する。外部記憶装置209は、ゲートウェイ装置200に着脱自在であり、プログラムを記憶したCD−ROM(Compact Disk ROM)209Aが装着可能である。CPU201は、外部記憶装置209を介してCD−ROM209Aにアクセス可能である。CPU201は、外部記憶装置209に装着されたCD−ROM209Aに記録された中継プログラムを、RAM203にロードして実行することが可能である。
なお、CPU201が実行するプログラムとして、フラッシュメモリ204またはCD−ROM209Aに記録されたプログラムについて説明したが、インターネット5に接続された他のコンピューターが、フラッシュメモリ204に記憶されたプログラムを書換えたプログラム、または、追加して書き込んだ新たなプログラムであってもよい。さらに、ゲートウェイ装置200が、インターネット5に接続された他のコンピューターからダウンロードしたプログラムでもよい。ここでいうプログラムは、CPU201が直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
なお、CPU201が実行するプログラムを記憶する媒体としては、CD−ROM209Aに限られず、光ディスク(MO(Magnetic Optical Disc)/MD(Mini Disc)/DVD(Digital Versatile Disc))、ICカード、光カード、マスクROM、EPROM(Erasable Programmable ROM)、EEPROM(Electrically EPROM)などの半導体メモリであってもよい。
図3は、MFPのハードウェア構成の概要の一例を示すブロック図である。図3を参照して、MFP100は、メイン回路110と、原稿を読み取るための原稿読取部130と、原稿を原稿読取部130に搬送するための自動原稿搬送装置120と、原稿読取部130が原稿を読み取って出力する画像データに基づいて用紙等に画像を形成するための画像形成部140と、画像形成部140に用紙を供給するための給紙部150と、画像が形成された用紙を処理する後処理部155と、ユーザーインターフェースとしての操作パネル160とを含む。
後処理部155は、画像形成部140により画像が形成された1以上の用紙を並び替えて排紙するソート処理、パンチ穴加工するパンチ処理、ステープル針を打ち込むステープル処理を実行する。
メイン回路110は、CPU111と、通信インターフェース(I/F)部112と、ROM113と、RAM114と、大容量記憶装置としてのハードディスクドライブ(HDD)115と、ファクシミリ部116と、CD−ROM118が装着される外部記憶装置117と、を含む。CPU111は、自動原稿搬送装置120、原稿読取部130、画像形成部140、給紙部150、後処理部155および操作パネル160と接続され、MFP100の全体を制御する。
ROM113は、CPU111が実行するプログラム、またはそのプログラムを実行するために必要なデータを記憶する。RAM114は、CPU111がプログラムを実行する際の作業領域として用いられる。また、RAM114は、原稿読取部130から連続的に送られてくる読取データ(画像データ)を一時的に記憶する。
操作パネル160は、MFP100の上面に設けられ、表示部161と操作部163とを含む。表示部161は、液晶表示装置(LCD)、有機ELD(Electro−Luminescence Display)等の表示装置であり、ユーザーに対する指示メニューや取得した画像データに関する情報等を表示する。操作部163は、複数のキーからなるハードキー部167を備え、キーに対応するユーザーの操作による各種の指示、文字、数字などのデータの入力を受け付ける。操作部163は、表示部161上に設けられたタッチパネル165をさらに含む。
通信I/F部112は、MFP100をLAN3に接続するためのインターフェースである。CPU111は、通信I/F部112を介して、LAN3に接続された装置との間で通信し、データを送受信する。さらに、通信I/F部112は、ゲートウェイ装置200を介して、インターネットに接続されたコンピューター、例えば、管理サーバー300、クラウドサーバー400と通信が可能である。
ファクシミリ部116は、公衆交換電話網(PSTN)に接続され、PSTNにファクシミリデータを送信する、またはPSTNからファクシミリデータを受信する。ファクシミリ部116は、受信したファクシミリデータを、HDD115に記憶する、または画像形成部140に出力する。画像形成部140は、ファクシミリ部116により受信されたファクシミリデータを用紙にプリントする。また、ファクシミリ部116は、HDD115に記憶されたデータをファクシミリデータに変換して、PSTNに接続されたファクシミリ装置に送信する。
外部記憶装置117は、CD−ROM118が装着される。CPU111は、外部記憶装置117を介してCD−ROM118にアクセス可能である。CPU111は、外部記憶装置117に装着されたCD−ROM118に記録されたプログラムをRAM114にロードして実行する。なお、CPU111が実行するプログラムを記憶する媒体としては、CD−ROM118に限られず、光ディスク(MO/MD/DVD)、ICカード、光カード、マスクROM、EPROM、EEPROMなどの半導体メモリであってもよい。
また、CPU111は、HDD115に記憶されたプログラムをRAM114にロードして実行するようにしてもよい。この場合、LAN3またはインターネット5に接続された他のコンピューターが、MFP100のHDD115に記憶されたプログラムを書換える、または、新たなプログラムを追加して書き込むようにしてもよい。さらに、MFP100が、LAN3またはインターネット5に接続された他のコンピューターからプログラムをダウンロードして、そのプログラムをHDD115に記憶するようにしてもよい。ここでいうプログラムは、CPU111が直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
図4は、本実施の形態における管理サーバーのハードウェア構成の概要の一例を示すブロック図である。図4を参照して、管理サーバー300は、管理サーバー300の全体を制御するためのCPU301と、CPU301が実行するためのプログラムを記憶するROM302と、CPU301の作業領域として使用されるRAM303と、データを不揮発的に記憶するHDD304と、CPU301をインターネット5に接続する通信部305と、情報を表示する表示部306と、ユーザーの操作の入力を受け付ける操作部307と、外部記憶装置309と、を含む。
外部記憶装置309は、CD−ROM309Aが装着される。CPU301は、外部記憶装置309を介してCD−ROM309Aにアクセス可能である。CPU301は、外部記憶装置309に装着されたCD−ROM309Aに記録されたプログラムをRAM303にロードして実行する。なお、CPU301が実行するプログラムを記憶する媒体としては、CD−ROM309Aに限られず、光ディスク、ICカード、光カード、マスクROM、EPROM、EEPROMなどの半導体メモリであってもよい。
また、CPU301が実行するプログラムは、CD−ROM309Aに記録されたプログラムに限られず、HDD304に記憶されたプログラムをRAM303にロードして実行するようにしてもよい。この場合、インターネット5に接続された他のコンピューターが、管理サーバー300のHDD304に記憶されたプログラムを書換える、または、新たなプログラムを追加して書き込むようにしてもよい。さらに、管理サーバー300が、インターネット5に接続された他のコンピューターからプログラムをダウンロードして、そのプログラムをHDD304に記憶するようにしてもよい。ここでいうプログラムは、CPU301が直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
図5は、本実施の形態におけるクラウドサーバーのハードウェア構成の概要の一例を示すブロック図である。図5を参照して、クラウドサーバー400は、クラウドサーバー400の全体を制御するためのCPU401と、CPU401が実行するためのプログラムを記憶するROM402と、CPU401の作業領域として使用されるRAM403と、データを不揮発的に記憶するHDD404と、CPU401をインターネット5に接続する通信部405と、情報を表示する表示部406と、ユーザーの操作の入力を受け付ける操作部407と、外部記憶装置409と、を含む。
外部記憶装置409は、CD−ROM409Aが装着される。CPU401は、外部記憶装置409を介してCD−ROM409Aにアクセス可能である。CPU401は、外部記憶装置409に装着されたCD−ROM409Aに記録されたプログラムをRAM403にロードして実行する。なお、CPU401が実行するプログラムを記憶する媒体としては、CD−ROM409Aに限られず、光ディスク、ICカード、光カード、マスクROM、EPROM、EEPROMなどの半導体メモリであってもよい。
また、CPU401が実行するプログラムは、CD−ROM409Aに記録されたプログラムに限られず、HDD404に記憶されたプログラムをRAM403にロードして実行するようにしてもよい。この場合、インターネット5に接続された他のコンピューターが、クラウドサーバー400のHDD404に記憶されたプログラムを書換える、または、新たなプログラムを追加して書き込むようにしてもよい。さらに、クラウドサーバー400が、インターネット5に接続された他のコンピューターからプログラムをダウンロードして、そのプログラムをHDD404に記憶するようにしてもよい。ここでいうプログラムは、CPU401が直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
図6は、管理サーバーが備えるCPUの機能の一例を示すブロック図である。図6に示す機能は、管理サーバー300が備えるCPU301が、ROM302、HDD304またはCD−ROM309Aに記憶されたプログラムを実行することにより、CPU301に形成される機能である。図6を参照して、管理サーバー300が備えるCPU301は、サーバー側確立部351と、グローバル確立部353と、停止期間設定部355と、を含む。
サーバー側確立部351は、通信部305を制御して、ゲートウェイ装置200との間で通信セッションを確立する。ここで確立する通信セッションは、常時接続セッションである。サーバー側確立部351は、ゲートウェイ装置200から通信セッションの確立要求を受信することに応じて、通信セッションを確立する。サーバー側確立部351は、装置識別情報受信部371と、トンネル接続要求部373と、接続結果受信部375と、装置情報管理部377と、課金部378と、停止期間通知部379と、ジョブ情報送信部361と、を含む。
装置識別情報受信部371は、ゲートウェイ装置200との間で確立された常時接続セッションを介して、ゲートウェイ装置200からMFP100,100A,100Bそれぞれの装置識別情報を受信し、受信される装置識別情報と、ゲートウェイ装置200の装置識別情報と、をグローバル確立部353に出力する。ゲートウェイ装置200の機能の詳細は後述するが、ゲートウェイ装置200は、管理サーバー300との間で常時接続セッションが確立されると、LAN3に接続された装置、ここでは、MFP100,100A,100Bそれぞれに対応する装置識別情報を送信する。MFP100,100A,100Bそれぞれの装置識別情報は、限定するものではないが、MFP100,100A,100BそれぞれにLAN3において割り当てられたローカルIP(Internet Protocol)アドレスである。ゲートウェイ装置200の装置識別情報は、限定するものではないが、インターネット5においてゲートウェイ装置200に割り当てられたグローバルIPアドレスである。
グローバル確立部353は、通信部305を制御して、ファイアーウォールの外部に位置するコンピューターとの間で通信セッションを確立する。ここでは、クラウドサーバー400との間で通信セッションを確立する場合を説明する。ここで確立される通信セッションは、グローバルセッションである。グローバル確立部353は、通信部305を制御して、クラウドサーバー400から通信セッションの確立要求を受信することに応じて、クラウドサーバー400との間でグローバルセッションを確立する。グローバル確立部353は、装置識別情報通知部381と、接続要求受信部383と、接続確認部385と、ジョブ情報取得部387と、を含む。
装置識別情報通知部381は、装置識別情報受信部371からゲートウェイ装置200の装置識別情報と、MFP100,100A,100Bそれぞれの装置識別情報とが入力される。装置識別情報通知部381は、グローバルセッションを介して、クラウドサーバー400にゲートウェイ装置200の装置識別情報と、MFP100,100A,100Bそれぞれの装置識別情報とを送信する。
接続要求受信部383は、クラウドサーバー400がグローバルセッションを介して送信する接続要求を受信し、受信された接続要求を、サーバー側確立部351に出力する。
接続要求は、接続先のアドレス情報と接続元のアドレス情報とを含む。ここでは、接続要求が、接続元のアドレス情報としてMFP100のアドレス情報を含み、接続先のアドレス情報としてクラウドサーバー400の第1のアドレス情報とを含む場合を例に説明する。MFP100のアドレス情報は、ゲートウェイ装置200の装置識別情報とMFP100の装置識別情報とを含む。クラウドサーバー400の第1のアドレス情報は、MFP100からクラウドサーバー400にアクセスするためのURLである。URLには、クラウドサーバー400のネットワークアドレス(ドメイン名)、ウェブページの識別子、クラウドサーバー400が実行する予約処理の識別子、および待ち受けポートのポート番号が含まれる。
トンネル接続要求部373は、接続要求受信部383から接続要求が入力されることに応じて、接続要求に接続元のアドレス情報として含まれるMFP100のアドレス情報に基づいてゲートウェイ装置200を特定し、常時接続セッションを介して、トンネル接続要求をゲートウェイ装置200に送信する。トンネル接続要求は、常時接続セッションにより定まるプロトコルに適合するように接続要求をカプセル化したパケットとして送信される。トンネル接続要求を受信するゲートウェイ装置200は、MFP100との間で通信セッションを確立し、その結果を示すトンネル接続結果を返信する。
接続結果受信部375は、常時接続セッションを介して、ゲートウェイ装置200が送信するトンネル接続結果を受信する。トンネル接続結果は、接続要求に含まれるMFP100のアドレス情報を含み、トンネル接続に成功したことを示す情報と、トンネル接続に失敗したことを示す情報とのいずれかを含む。トンネル接続に失敗する場合は、例えば、MFP100に電源が投入されていない場合、MFP100が通信できないトラブル状態の場合等である。接続結果受信部375は、トンネル接続結果をグローバル確立部353および装置情報管理部377に出力する。
装置情報管理部377は、MFP100,100A,100Bごとに装置状態情報をHDD304に記憶する。装置状態情報は、MFP100,100A,100Bそれぞれのアドレス情報と、トンネル接続の成功または失敗のいずれかを示す接続可否と、を関連付けたデータである。装置情報管理部377は、接続結果受信部375からトンネル接続結果が入力されることに応じて、HDD304に記憶された装置状態情報を更新する。トンネル接続結果がトンネル接続に成功したことを示す情報を含むならば、HDD304に記憶されている装置状態情報のうち、トンネル接続結果に含まれるアドレス情報と同じアドレス情報を含む装置状態情報の接続可否を、トンネル接続に成功したことを示す情報で更新することにより、装置状態情報を更新する。また、トンネル接続結果がトンネル接続に失敗したことを示す情報を含むならば、HDD304に記憶されている装置状態情報のうち、トンネル接続結果に含まれるアドレス情報と同じアドレス情報を含む装置状態情報の接続可否を、トンネル接続に失敗したことを示す情報で更新する。
課金部378は、常時接続セッションを介して、ゲートウェイ装置200が送信する実績情報を受信する。実績情報は、MFP100,100A,100Bいずれかの装置識別情報と、その装置が実行した処理の処理識別情報と、処理量と、を含む。課金部378は、実績情報を受信すると、実績情報に基づいて課金情報を生成し、生成された課金情報をHDD304に記憶する。課金情報は、MFP100,100A,100Bいずれかの装置識別情報と、その装置が実行した処理に対して課される料金とを含む。例えば、MFP100がプリント処理を実行する場合を例に説明する。この場合の一例として、MFP100がプリント処理を実行する場合における用紙1枚当たりの単価が定められており、実績情報が、MFP100の装置識別情報と、プリント処理の処理識別情報と、処理量としてプリント枚数とを含む場合を例に説明する。課金部378は、実績情報に含まれるプリント枚数に単価を乗算して算出される料金を算出し、MFP100の装置識別情報と、算出された料金とを含む課金情報とを生成し、HDD304に記憶する。
グローバル確立部353の接続確認部385は、接続結果受信部375から入力されるトンネル接続結果がトンネル接続に成功したことを示す情報を含む場合には、グローバルセッションを介してクラウドサーバー400に接続が成功したことを示す信号を送信する。クラウドサーバー400においては、クラウドサーバー400のユーザーに接続が成功したことを示すメッセージを表示するなどして、接続が成功したことを通知することができる。接続確認部385は、接続結果受信部375から入力されるトンネル接続結果がトンネル接続に失敗したことを示す情報を含む場合には、グローバルセッションを介してクラウドサーバー400に接続が失敗したことを示すエラー信号を送信する。クラウドサーバー400においては、クラウドサーバー400のユーザーに接続が失敗したことを示すメッセージを表示するなどして、接続が失敗したことを通知することができる。
停止期間設定部355は、管理サーバー300がサービスの提供を停止する停止期間を設定する。例えば、管理サーバー300を管理するユーザーが、操作部407に、停止期間を入力すれば、操作部407が受け付ける停止期間をHDD404に記憶することにより、停止期間を設定する。停止期間設定部355は、設定した停止期間を、停止期間通知部379およびジョブ情報送信部361に出力する。
停止期間通知部379は、停止期間設定部355から入力される停止期間を、停止期間が開始する前に、ゲートウェイ装置200に通知する。停止期間通知部379は、サーバー側確立部351によってゲートウェイ装置200との間で常時接続セッションが確立された段階で、停止期間をゲートウェイ装置200に送信する。なお、停止期間通知部379は、停止期間が開始する前であれば、任意のタイミングで、例えば、ゲートウェイ装置200からの要求に応じて、停止期間を送信するようにしてもよい。
グローバル確立部353のジョブ情報取得部387は、クラウドサーバー400からジョブ情報を取得し、取得されたジョブ情報をジョブ情報送信部361に出力する。ジョブ情報の詳細は後述するが、ジョブ情報は、接続先のネットワークアドレス、ジョブ識別情報、接続元のアドレス情報および送信日時を含む。ジョブ情報取得部387は、グローバルセッションを介してクラウドサーバー400からジョブ情報を受信する場合、受信されたジョブ情報を取得する。また、クラウドサーバー400を含み、MFP100,100A,100Bへのアクセスが予め許可されたコンピューターを登録しておき、登録されたコンピューターそれぞれにジョブ情報の送信を要求して、ジョブ情報を取得するようにしてもよい。
ジョブ情報送信部361は、ジョブ情報取得部387から入力されるジョブ情報を、ゲートウェイ装置200に送信する。ジョブ情報送信部361は、停止期間設定部355から停止期間が入力される。ジョブ情報送信部361は、ジョブ情報取得部387から入力されるジョブ情報を、停止期間が開始する前に、ゲートウェイ装置200に送信する。ジョブ情報送信部361は、サーバー側確立部351によってゲートウェイ装置200との間で常時接続セッションが確立された段階で、ジョブ情報をゲートウェイ装置200に送信する。なお、ジョブ情報送信部361は、停止期間が開始する前であれば、任意のタイミングで、ジョブ情報をゲートウェイ装置200に送信してもよい。例えば、ジョブ情報取得部387がジョブ情報を取得することに応じて、ジョブ情報をゲートウェイ装置200に送信するようにしてもよい。また、ゲートウェイ装置200からの要求に応じて、ジョブ情報を送信するようにしてもよい。
図7は、ゲートウェイ装置が備えるCPUの機能の一例を示すブロック図である。図7に示す機能は、ゲートウェイ装置200が備えるCPU201が、ROM202、フラッシュメモリ204またはCD−ROM209Aに記憶された中継プログラムを実行することにより、CPU201に形成される機能である。図7を参照して、ゲートウェイ装置200が備えるCPU201は、接続装置情報取得部261と、実績情報収集部262と、常時接続セッション確立部251と、第1セッション確立部259と、第2セッション確立部263と、中継部270と、ジョブ情報記憶部281と、処理対象特定部283と、第3セッション確立部285と、第4セッション確立部287と、を含む。
また、CPU201は、第1通信制御部250と、第2通信制御部260と、を含む。第1通信制御部250は、第1通信部205を制御し、インターネット5に接続されたコンピューターとの間の通信を制御する。第1通信制御部250は、常時接続セッション確立部251と、第1セッション確立部259と、中継部270の一部と、第3セッション確立部285と、を含む。
第2通信制御部260は、第2通信部206を制御し、LAN3に接続されたMFP100,100A,100Bとの間の通信を制御する。第2通信制御部260は、接続装置情報取得部261と、実績情報収集部262と、第2セッション確立部263と、中継部270の一部と、第4セッション確立部287と、を含む。
接続装置情報取得部261は、ファイアーウォールの内側のLAN3に接続された装置の装置識別情報を取得する。接続装置情報取得部261は、所定のタイミングで、LAN3に接続された装置を探索し、検出される装置の装置識別情報を取得する。所定のタイミングは、任意に定めることができるが、例えば、ゲートウェイ装置200に電源が投入された時点、または、予め定められた時とすればよい。ここでは、LAN3に接続された装置としてMFP100,100A,100Bを検出する場合を例に説明する。接続装置情報取得部261は、第2通信部206を制御してLAN3に接続された装置として検出されるMFP100,100A,100Bそれぞれの装置識別情報を取得する。MFP100,100A,100Bそれぞれの装置識別情報は、例えば、ローカルIPアドレスである。接続装置情報取得部261は、取得された装置識別情報を常時接続セッション確立部251に出力する。
実績情報収集部262は、ファイアーウォールの内側のLAN3に接続された装置の実績情報を取得する。実績情報は、MFP100,100A,100Bいずれかの装置識別情報と、その装置が実行した処理の処理識別情報と、処理量と、を含む。実績情報収集部262は、第2通信部206を制御してLAN3に接続された装置として検出されるMFP100,100A,100Bそれぞれから送信される実績情報を受信する場合、実績情報を送信してきた装置に受信確認を返信するとともに、受信された実績情報を常時接続セッション確立部251に出力する。換言すれば、実績情報収集部262は、管理サーバー300に代わって、MFP100,100A,100Bそれぞれから実績情報を受信する。
常時接続セッション確立部251は、接続装置情報取得部261からMFP100,100A,100Bそれぞれの装置識別情報が入力される。常時接続セッション確立部251は、第1通信部205を制御して、管理サーバー300に通信セッションの確立要求を送信し、管理サーバー300との間で通信セッションを確立する。ここで確立される通信セッションは、常時接続される常時接続セッションである。常時接続セッションは、特に限定するものではないが、例えば、XMPP(eXtensible Messaging and Presence Protocol)に基づくメッセージセッションである。フラッシュメモリ204に管理サーバー300のグローバルIPアドレスが予め記憶されており、常時接続セッション確立部251は、フラッシュメモリ204に記憶されているグローバルIPアドレスを用いて管理サーバー300に通信セッションの確立要求を送信し、管理サーバー300と所定のネゴシエーションをすることによって常時接続セッションを確立する。管理サーバー300がサービスを停止する場合、常時接続セッションが切断されるが、常時接続セッション確立部251は、常時接続セッションが切断された後は、管理サーバー300との間で通信セッションを確立されるまで、所定時間間隔で、管理サーバー300に通信セッションの確立要求を送信し、常時接続セッションの確立を試みる。
常時接続セッション確立部251は、装置識別情報送信部253と、実績情報転送部254と、トンネル接続要求受信部255と、接続結果送信部257と、ジョブ情報受信部291と、停止期間受信部293と、を含む。装置識別情報送信部253は、管理サーバー300にファイアーウォール内部のLAN3に接続された装置を通知するために、接続装置情報取得部261から入力されるMFP100,100A,100Bそれぞれの装置識別情報を、常時接続セッションを介して管理サーバー300に送信する。
実績情報転送部254は、実績情報収集部262から実績情報が入力される。実績情報転送部254は、実績情報収集部262から実績情報が入力されることに応じて、実績情報を常時接続セッションを介して管理サーバー300に送信する。実績情報転送部254は、常時接続セッションが確立されていない場合、実績情報収集部262から入力される実績情報を次に常時接続セッションが確立されるまでRAM203に一時記憶し、次に常時接続セッションが確立されることに応じて、RAM203に一時記憶された実績情報を、常時接続セッションを介して管理サーバー300に送信する。
トンネル接続要求受信部255は、常時接続セッションを介して、管理サーバー300からトンネル接続要求を受信する。トンネル接続要求は、管理サーバー300がクラウドサーバー400から受信した接続要求を含む。接続要求は、接続元のアドレス情報と、接続先のアドレス情報とを含む。ここでは、接続元のアドレス情報をMFP100のアドレス情報とし、接続先のアドレス情報をクラウドサーバー400の第1のアドレス情報とする場合を例に説明する。MFP100のアドレス情報は、ゲートウェイ装置200の装置識別情報とMFP100の装置識別情報とを含む。クラウドサーバー400の第1のアドレス情報は、MFP100からクラウドサーバー400にアクセスするためのURLである。
トンネル接続要求受信部255は、トンネル接続要求を受信することに応じて、トンネル接続要求を識別するための接続識別情報とトンネル接続要求に含まれる接続先のアドレス情報とを第1セッション確立部259に出力し、トンネル接続要求を識別するための接続識別情報と接続元のアドレス情報とを第2セッション確立部263に出力し、接続結果の送信指示を接続結果送信部257に出力する。
第1セッション確立部259は、トンネル接続要求受信部255から接続識別情報と接続先のアドレス情報とが入力されることに応じて、第1通信部205を制御して、接続先のアドレス情報を用いて確立要求を送信する。ここでは、接続先のアドレス情報は、クラウドサーバー400の第1のアドレス情報なので、第1セッション確立部259は、確立要求をクラウドサーバー400に送信し、クラウドサーバー400との間で通信セッションを確立する。確立要求は、具体的には、トンネル接続要求受信部255から入力されるクラウドサーバー400の第1のアドレス情報であるURLを含むGETコマンドである。第1セッション確立部259は、クラウドサーバー400の第1のアドレス情報であるURLを含むGETコマンドを送信することによって、URLで特定されるクラウドサーバー400との間で、HTTPトンネルの通信セッションを確立する。ここで確立する通信セッションは、第1通信セッションである。第1セッション確立部259は、第1通信セッションを確立すると、第1通信セッションを識別するためのセッション識別情報と接続識別情報との組を中継部270および接続結果送信部257に出力する。
第2セッション確立部263は、トンネル接続要求受信部255から接続識別情報と接続元のアドレス情報とが入力されることに応じて、第2通信部206を制御して、接続元のアドレス情報を用いて確立要求を送信する。ここでは、接続元のアドレス情報はMFP100のアドレス情報なので、第2セッション確立部263は、MFP100に確立要求を送信し、MFP100との間で通信セッションを確立する。ここで確立される通信セッションは第2通信セッションである。第2通信セッションは、特に限定するものではないが、LAN3において用いられる通信プロトコルに準じた通信セッションであればよい。第2セッション確立部263は、第2通信セッションを識別するためのセッション識別情報と接続識別情報とを中継部270に出力する。
第2セッション確立部263は、第2通信セッションが確立され、MFP100の装置情報を取得する場合、接続要求のMFP100のアドレス情報と、トンネル接続に成功したことを示す情報とを含むトンネル接続結果を、接続結果送信部257に出力する。第2セッション確立部263は、第2通信セッションが確立されない場合、接続要求のMFP100のアドレス情報と、トンネル接続に失敗したことを示す情報とを含むトンネル接続結果を、接続結果送信部257に出力する。第2セッション確立部263によって第2通信セッションが確立されない場合は、MFP100に電源が投入されていない場合、または、MFP100が通信できないトラブルが発生している場合等である。
接続結果送信部257は、トンネル接続要求受信部255から接続結果の送信指示が入力された後に、第1セッション確立部259から第1通信セッションのセッション識別情報が入力され、かつ第2セッション確立部263からトンネル接続結果が入力される場合、トンネル接続結果を管理サーバー300に常時接続セッションを介して送信する。
中継部270は、第1セッション確立部259から第1通信セッションのセッション識別情報と接続識別情報が入力され、第2セッション確立部263から第2通信セッションのセッション識別情報と接続識別情報が入力される。中継部270は、第1セッション確立部259により確立された第1通信セッションと、第2セッション確立部263により確立された第2通信セッションとを用いて、クラウドサーバー400とMFP100との間の通信を中継する。中継部270は、それぞれに対応する接続識別情報が同じ第1通信セッションのセッション識別情報と第2通信セッションのセッション識別情報とを対応付け、対応付けられた2つのセッション識別情報で特定される第1通信セッションと第2通信セッションとを用いて、トンネル接続要求に含まれる接続先のアドレス情報と接続元のアドレス情報でそれぞれ特定される2つの装置間の通信を中継する。これにより、第1セッション確立部259によって複数の第1通信セッションが確立され、第2セッション確立部263により複数の第2通信セッションが確立される場合でも、トンネル接続要求に含まれる接続先のアドレス情報と接続元のアドレス情報でそれぞれ特定される2つの装置間の通信の中継が可能となる。
例えば、トンネル接続要求に含まれる接続先のアドレス情報がクラウドサーバー400のアドレス情報で、接続元のアドレス情報がMFP100のアドレス情報の場合、中継部270は、クラウドサーバー400との間で確立された第1通信セッションと、MFP100とMFP100との間で確立された第2通信セッションを用いて通信を中継するので、クラウドサーバー400とMFP100との間でデータの送受信が可能となる。中継部270は、第1通信セッションと第2通信セッションとを関連付け、第1通信セッションを介してクラウドサーバー400から受信されるデータを、第2通信セッションを介してMFP100に送信し、第2通信セッションを介してMFP100から受信されるデータを、第1通信セッションを介してクラウドサーバー400に送信する。
常時接続セッション確立部251のジョブ情報受信部291は、常時接続セッションを介して、管理サーバー300からジョブ情報を受信する。ジョブ情報受信部291は、受信されたジョブ情報を、ジョブ情報記憶部281に出力する。ジョブ情報記憶部281は、ジョブ情報受信部291からジョブ情報が入力されることに応じて、ジョブ情報をRAM203に記憶することにより、ジョブ情報を処理対象特定部283に出力する。
常時接続セッション確立部251の停止期間受信部293は、常時接続セッションを介して、管理サーバー300から停止期間を受信する。停止期間受信部293は、受信された停止期間受信部293を、処理対象特定部283に出力する。
処理対象特定部283は、停止期間受信部293から停止期間が入力され、ジョブ情報記憶部281から1以上のジョブ情報が入力される。ジョブ情報は、接続先のネットワークアドレス、ジョブ識別情報、接続元のアドレス情報および送信日時を含む。ここでは、ジョブ情報の接続先のネットワークアドレスに、クラウドサーバー400の第2のアドレス情報が設定されている場合を例に説明する。クラウドサーバー400の第2のアドレス情報は、例えば、クラウドサーバー400にインターネット上で割り当てられたネットワークアドレスであり、例えば、IPアドレスを用いることができる。処理対象特定部283は、停止期間が開始すると、1以上のジョブ情報のうちから送信日時が停止期間内となるジョブ情報を処理対象として抽出し、処理対象として抽出されたジョブ情報を、送信日時が早い順に第3セッション確立部285および第4セッション確立部287に出力する。ここでは、ジョブ情報に含まれる予約ジョブの出力先のアドレス情報が、MFP100のアドレス情報の場合を例に説明する。
第3セッション確立部285は、処理対象特定部283からジョブ情報が入力されることに応じて、第1通信部205を制御して、ジョブ情報に含まれる予約ジョブを生成する装置のアドレス情報を用いて確立要求を送信し、予約ジョブを生成する装置との間で通信セッションを確立する。ここでは、クラウドサーバー400との間で通信セッションを確立する。以下、第3セッション確立部285が予約ジョブを生成する装置に送信する確立要求を、停止時確立要求という。停止時確立要求は、ジョブ情報に含まれる予約ジョブのジョブ識別情報を含む。ここで、第3セッション確立部285が予約ジョブを生成する装置のアドレス情報との間で確立する通信セッションを第3通信セッションという。第3セッション確立部285は、第3通信セッションを確立すると、第3通信セッションを識別するためのセッション識別情報とジョブ情報に含まれる予約ジョブを識別するためのジョブ識別情報との組を中継部270に出力する。
第4セッション確立部287は、処理対象特定部283からジョブ情報が入力されることに応じて、第2通信部206を制御して、ジョブ情報に含まれる予約ジョブの出力先のアドレス情報を用いて、予約ジョブの出力先の装置に通信セッションの確立要求を送信し、予約ジョブの出力先の装置との間で通信セッションを確立する。ここで第4セッション確立部263が予約ジョブの出力先の装置との間で確立する通信セッションを第4通信セッションという。ここでは、ジョブ情報に含まれる予約ジョブの出力先のアドレス情報はMFP100のアドレス情報なので、MFP100との間で第4通信セッションを確立する。第4通信セッションは、特に限定するものではないが、LAN3において用いられる通信プロトコルに準じた通信セッションであればよい。第4セッション確立部287は、第4通信セッションを識別するためのセッション識別情報とジョブ情報に含まれる予約ジョブを識別するためのジョブ識別情報との組を中継部270に出力する。
中継部270は、第3セッション確立部285から第3通信セッションのセッション識別情報とジョブ識別情報の組が入力され、第4セッション確立部263から第4通信セッションのセッション識別情報とジョブ識別情報の組が入力される。中継部270は、処理対象特定部283によって複数のジョブ情報が抽出される場合には、第3セッション確立部285から第3通信セッションのセッション識別情報とジョブ識別情報の組が、処理対象に抽出されたジョブ情報の数だけ入力され、第4セッション確立部263から第4通信セッションのセッション識別情報とジョブ識別情報の組が処理対象に抽出されたジョブ情報の数だけ入力される。中継部270は、ジョブ識別情報が同じ第3通信セッションと第4通信セッションとを関連付ける。
例えば、第1のジョブ情報が、クラウドサーバー400の第2のアドレス情報と、予約ジョブの出力先のアドレス情報としてMFP100のアドレス情報とを含む場合、第3セッション確立部285は第1のジョブ情報に基づいてクラウドサーバー400と第3通信セッションを確立し、第4セッション確立部285は第1のジョブ情報に基づいてMFP100と第4通信セッションを確立する。また、第2のジョブ情報が、クラウドサーバー400の第2のアドレス情報と、予約ジョブの出力先のアドレス情報としてMFP100Aのアドレス情報とを含む場合、第3セッション確立部285は第2のジョブ情報に基づいてクラウドサーバー400と第3通信セッションを確立し、第4セッション確立部285は第2のジョブ情報に基づいてMFP100Aと第4通信セッションを確立する。
中継部270は、第1のジョブ情報に基づいてクラウドサーバー400と確立した第3通信セッションと、第1のジョブ情報に基づいてMFP100と確立した第4通信セッションとを用いて、クラウドサーバー400とMFP100との通信を中継する。第1のジョブ情報に基づいてクラウドサーバー400と確立した第3通信セッションを介してクラウドサーバー400から受信されるデータを、第1のジョブ情報に基づいてMFP100と確立した第4通信セッションを介してMFP100に送信し、第1のジョブ情報に基づいてMFP100と確立した第4通信セッションを介してMFP100から受信されるデータを、第1のジョブ情報に基づいてクラウドサーバー400と確立した第3通信セッションを介してクラウドサーバー400に送信する。また、中継部270は、第2のジョブ情報に基づいてクラウドサーバー400と確立した第3通信セッションと、第2のジョブ情報に基づいてMFP100Aと確立した第4通信セッションとを用いて、クラウドサーバー400とMFP100Aとの通信を中継する。第2のジョブ情報に基づいてクラウドサーバー400と確立した第3通信セッションを介してクラウドサーバー400から受信されるデータを、第2のジョブ情報に基づいてMFP100Aと確立した第4通信セッションを介してMFP100Aに送信し、第2のジョブ情報に基づいてMFP100Aと確立した第4通信セッションを介してMFP100Aから受信されるデータを、第2のジョブ情報に基づいてクラウドサーバー400と確立した第3通信セッションを介してクラウドサーバー400に送信する。このように、管理サーバー300が停止する停止期間中に、中継部270が、クラウドサーバー400と、MFP100またはMFP100Aとの間で通信を中継することにより、クラウドサーバー400とMFP100との間、またはクラウドサーバー400とMFP100Aとの間でデータの送受信が可能となる。
図8は、クラウドサーバーが備えるCPUの機能の一例を示すブロック図である。図8に示す機能は、クラウドサーバー400が備えるCPU401が、ROM402、HDD404またはCD−ROM409Aに記憶された制御プログラムを実行することにより、CPU401に形成される機能である。図8を参照して、クラウドサーバー400が備えるCPU401は、予約処理設定部451と、ジョブ情報送信部453と、予約処理実行部455と、ジョブ送信部461と、実行結果受信部463と、クラウド側セッション確立部471と、を含む。
予約処理設定部451は、インターネット5またはLAN3に接続されたPCを操作するユーザーによる操作に基づいて予約処理を設定し、予約処理情報を生成する。予約処理設定部451は、予約処理情報を生成すると、その予約処理情報を予約処理実行部455およびジョブ情報送信部453に出力する。具体的には、予約処理設定部451は、まず、クラウドサーバー400にアクセスするアクセス元を特定する。クラウドサーバー400は、インターネット5またはLAN3に接続されたPCからアクセスを受け付ける。例えば、クラウドサーバー400が提供するサービスに対して、アクセス元としてユーザーを登録する場合、予め登録されたユーザーのユーザー識別情報とパスワードとの組をHDD404に記憶しておく。クラウドサーバー400は、PCからアクセスがあると、ログイン画面をPCに送信し、そのPCから受信されるユーザー識別情報とパスワードとの組がHDD404に記憶されている場合に、アクセス元のユーザーを特定する。また、クラウドサーバー400が提供するサービスに対して、アクセス元として装置を登録する場合、その装置の装置識別情報をHDD404に記憶しておく。クラウドサーバー400は、アクセスしてきた装置の装置識別情報がHDD404に記憶されている場合に、アクセスしてきた装置をアクセス元として特定する。
予約処理設定部451は、アクセス元を特定する場合、そのアクセス元のPCを操作するユーザーが、PCに入力する操作を受け付け、受け付けられた操作に従って予約処理を設定する。予約処理は、予め定められた日時に実行するべき1以上の処理である。したがって、予約処理設定部451は、PCを操作するユーザーによる操作に従って、1以上の処理を実行する開始日時と、1以上の処理それぞれの内容と、1以上の処理を実行する順番と、を決定し、それらを定めた予約処理情報を生成する。ここでは、予約処理情報により定められる1以上の処理が、MFP100,100A,100Bのいずれかに実行させる予約ジョブを生成するジョブ生成処理を含む場合を例に説明する。予約処理情報は、ジョブ生成処理を特定するために、予約ジョブを識別するためのジョブ識別情報と、予約ジョブを実行させる装置のアドレス情報と、予約ジョブの処理内容と、を定める。予約ジョブの処理内容は、処理対象とするデータと、そのデータに対する処理と、を定める。処理対象とするデータは、例えば、ユーザーにより指定されたデータ、または、クラウドサーバー400が、それが提供するサービスに基づく処理を実行した結果得られるデータとを含む。予約ジョブの処理内容として定められるデータに対する処理は、例えば、データの画像をプリントさせる処理、データを記憶させる処理、またはデータを送信させる処理を含む。予約処理設定部451は、PCを操作するユーザーによる操作に従って、予約ジョブを実行させる装置のアドレス情報と、予約ジョブの処理内容と、を決定し、それらを、ジョブ生成処理を特定するための情報として予約処理情報に設定する。
ここで、予約処理設定部451が、ジョブ生成処理を特定する際に、PCを操作するユーザーによる操作に基づいて予約ジョブを実行させる装置を決定する手順の一例を説明する。予約処理設定部451は、まず、通信部405を制御して、管理サーバー300と通信し、ゲートウェイ装置200の装置識別情報と、MFP100,100A,100Bそれぞれの装置識別情報と、を受信する。そして、予約処理設定部451は、ゲートウェイ装置200と、MFP100,100A,100Bのいずれかと、を選択可能な装置選択画面を、通信部405を制御して、PCに送信し、PCからゲートウェイ装置200と、MFP100,100A,100Bのいずれかと、を選択する操作を受信することに応じて、選択された装置を、予約ジョブを実行させる装置として特定する。例えば、PCを操作するユーザーが、装置選択画面に従って、ゲートウェイ装置200とMFP100とを選択する操作をPCに入力すれば、ゲートウェイ装置200の装置識別情報とMFP100の装置識別情報とを選択する操作を受信するので、ゲートウェイ装置200の装置識別情報とMFP100の装置識別情報とで定まるMFP100を予約ジョブを実行させる装置として特定する。予約処理設定部451は、MFP100のアドレス情報を、予約ジョブを実行させる装置のアドレス情報として予約処理情報に設定する。MFP100のアドレス情報は、ゲートウェイ装置200の装置識別情報とMFP100の装置識別情報とを含む。
なお、予約処理設定部451は、ゲートウェイ装置200の装置識別情報と、MFP100,100A,100Bそれぞれの装置識別情報とを、管理サーバー300から予め受信してHDD404に記憶しておくようにしてもよい。また、ゲートウェイ装置200の装置識別情報と、MFP100,100A,100Bそれぞれの装置識別情報とを、クラウドサーバー400を管理する管理者が入力するようにして、それらをHDD404に記憶しておくようにしてもよい。
ジョブ情報送信部453は、予約処理設定部451から予約処理情報が入力されることに応じて、ジョブ情報を生成し、ジョブ情報をジョブ情報で定まる送信先に送信する。ジョブ情報は、接続先のネットワークアドレス、ジョブ識別情報、接続元のアドレス情報および送信日時を含む。具体的には、ジョブ情報送信部453は、予約ジョブを生成する装置のネットワークアドレスをジョブ情報の接続先のネットワークアドレスに設定し、予約ジョブのジョブ識別情報をジョブ情報のジョブ識別情報に設定し、予約ジョブを実行させる装置のアドレス情報をジョブ情報の接続元のアドレス情報に設定し、予約処理を実行する開始日時をジョブ情報の送信日時に設定することにより、ジョブ情報を生成する。ここでは、クラウドサーバー400が予約ジョブを生成するので、ジョブ情報の接続先のネットワークアドレスは、クラウドサーバー400のIPアドレスが設定される。
さらに、ジョブ情報送信部453は、ジョブ情報に設定された接続元のアドレス情報から、ジョブ情報の送信先を特定する。ジョブ情報の接続元のアドレス情報にMFP100のアドレス情報が設定されている場合、MFP100の装置識別情報を送信してきた管理サーバー300を送信先に決定する。そして、ジョブ情報送信部453は、通信部405を制御して、クラウド側セッション確立部471から入力されるセッション識別情報で特定されるグローバルセッションを介して、ジョブ情報を管理サーバー300に送信する。
予約処理実行部455は、予約処理設定部451から予約処理情報が入力される。予約処理設定部451は、現在日時が予約処理情報に設定された予約処理の実行日時になると、予約処理情報に従って予約処理情報で定められた1以上の処理を実行する。予約処理情報がジョブ生成処理を含む場合、ジョブ生成処理を実行する。予約処理実行部455は、ジョブ生成処理を実行する場合、予約ジョブを生成し、生成された予約ジョブと予約ジョブのジョブ識別情報とをジョブ送信部461に出力するとともに、クラウド側セッション確立部471のトンネル接続部473および停止時確立部481に接続指示を出力する。接続指示は、予約ジョブのジョブ識別情報と、予約ジョブを実行させる装置のアドレス情報とを含む。ここでは、予約ジョブを実行させる装置のアドレス情報を、MFP100のアドレス情報が設定されている場合を例に説明する。MFP100のアドレス情報は、ゲートウェイ装置200の装置識別情報とMFP100の装置識別情報とを含む。
クラウド側セッション確立部471は、トンネル接続部473と、停止時確立部481と、クラウド側切断部479と、を含む。トンネル接続部473は、接続要求部475と、確立要求受信部477と、を含む。
接続要求部475は、予約処理実行部455から接続指示が入力されることに応じて、接続指示に含まれるジョブ識別情報に基づいて接続先のアドレス情報を決定し、接続指示に含まれる予約ジョブを実行させる装置のアドレス情報を接続元のアドレス情報に決定し、接続先のアドレス情報と接続元のアドレス情報とを含む接続要求を、通信部405を制御して、管理サーバー300にグローバルセッションを介して送信する。接続元のアドレス情報は、予約ジョブを実行させる装置のアドレス情報であり、ここでは、MFP100のアドレス情報である。MFP100のアドレス情報は、ゲートウェイ装置200の装置識別情報とMFP100の装置識別情報とを含む。接続先のアドレス情報は、クラウドサーバー400の第1のアドレス情報である。クラウドサーバー400の第1のアドレス情報は、MFP100からクラウドサーバー400にアクセスするためのURLである。URLには、クラウドサーバー400のネットワークアドレス(ドメイン名)、ウェブページの識別子、予約処理の識別子、および待ち受けポートのポート番号が含まれる。接続要求部475は、接続要求を送信することに応じて、接続先のアドレス情報および接続元のアドレス情報を、確立要求受信部477に出力する。
接続要求部475は、予約処理実行部455から複数の接続指示が入力される場合、複数の接続指示にそれぞれ対応する複数の接続要求を、グローバルセッションを介して管理サーバー300に送信する。接続要求部475は、予約処理実行部455から複数の接続指示が入力される場合、複数の接続指示にそれぞれ対応する、接続先のアドレス情報および接続元のアドレス情報の組を、確立要求受信部477に出力する。
確立要求受信部477は、接続要求部475から接続先のアドレス情報および接続元のアドレス情報が入力された後に、通信部405を制御して、接続先のアドレス情報に含まれるジョブ識別情報と同じジョブ識別情報を含む確立要求を受信することに応じて、その確立要求を送信してきた装置との間で、通信セッションを確立する。上述したように、確立要求は、管理サーバー300に送信される接続要求を受信するゲートウェイ装置200から送信される。ここでは、接続先のアドレス情報を、クラウドサーバー400の第1のアドレス情報としており、クラウドサーバー400の第1のアドレス情報を、ジョブ識別情報を含むURLとしている。この場合の確立要求は、クラウドサーバー400の第1のアドレス情報であるURLを含むGETコマンドとしている。確立要求受信部477は、確立要求を送信してきたゲートウェイ装置200との間で通信セッションを確立する。ここで、ゲートウェイ装置200との間で確立される通信セッションは第1通信セッションである。また、確立要求であるGETコマンドに含まれるURLは、予約ジョブのジョブ識別情報を含むので、確立要求が予約処理実行部455によって生成された予約ジョブの何れに対応する確立要求であるかを判別することが可能である。確立要求受信部477は、ゲートウェイ装置200との間で確立された第1通信セッションのセッション識別情報と、接続先のアドレス情報に含まれるジョブ識別情報と、接続元のアドレス情報と、の組を、ジョブ送信部461に出力する。
確立要求受信部477は、接続要求部475から接続先のアドレス情報および接続元のアドレス情報が入力された後に、接続先のアドレス情報に含まれるジョブ識別情報と同じジョブ識別情報を含む確立要求を受信しない場合、停止時確立部481に確立指示を出力する。例えば、確立要求受信部477は、接続要求部475からクラウドサーバー400の第1のアドレス情報が入力されてから、クラウドサーバー400の第1のアドレス情報と同じアドレス情報を含む確立要求を受信することなく所定時間経過した場合に、確立要求を受信しないと判断する。
停止時確立部481は、確立要求受信部477から確立指示が入力される前の段階で、予約処理実行部455から接続指示が入力されている。接続指示は、予約ジョブのジョブ識別情報と、予約ジョブを実行させる装置のアドレス情報とを含む。停止時確立部481は、確立指示が入力されることに応じて、通信部405を制御し、通信部405が接続指示に含まれるジョブ識別情報を含む停止時確立要求を受信することに応じて、停止時確立要求を送信してきた装置との間で、通信セッションを確立する。停止時確立要求は、ジョブ情報が管理サーバー300を経由して送信されるゲートウェイ装置200から送信される。このため、停止時確立部481は、ゲートウェイ装置200との間で予約ジョブのジョブ識別情報に対応する通信セッションを確立する。ここで、ゲートウェイ装置200との間で確立される通信セッションは第3通信セッションである。また、停止時確立要求は、ジョブ識別情報を含むので、停止時確立要求が予約処理実行部455によって生成された予約ジョブの何れに対応する停止時確立要求であるかを判別することが可能である。停止時確立部481は、ゲートウェイ装置200との間で確立された第3通信セッションのセッション識別情報と、停止時確立要求に含まれるジョブ識別情報と、の組を、ジョブ送信部461に出力する。
ジョブ識別情報 ジョブ送信部461は、予約処理実行部455から予約ジョブと予約ジョブのジョブ識別情報とが入力される。ジョブ送信部461は、確立要求受信部477から第1通信セッションのセッション識別情報と、ジョブ識別情報と、接続元のアドレス情報との組が入力される場合、確立要求受信部477から入力される第1通信セッションのセッション識別情報と、ジョブ識別情報と、接続元のアドレス情報の組のうちから予約処理実行部455から入力される予約ジョブのジョブ識別情報を含む組を特定し、特定した組に含まれるセッション識別情報を特定する。ジョブ送信部461は、通信部305を制御して、予約処理実行部455から入力される予約ジョブを、特定されたセッション識別情報で特定される第1通信セッションを介して、ゲートウェイ装置200に送信する。ジョブ送信部461は、予約ジョブを送信することに応じて、予約ジョブのジョブ識別情報とセッション識別情報との組を実行結果受信部463に出力する。
ジョブ送信部461によってゲートウェイ装置200に第1通信セッションを介して送信される予約ジョブは、ゲートウェイ装置200によって第1通信セッションを介して受信され、第2通信セッションを介して、MFP100に送信される。MFP100においては、ゲートウェイ装置200から受信される予約ジョブを実行し、実行結果をゲートウェイ装置200に送信する。ゲートウェイ装置200においては、MFP100から第2通信セッションを介して受信される実行結果を、第1通信セッションを介してクラウドサーバー400に送信する。
ジョブ送信部461は、停止時送信部483を含む。停止時送信部483は、停止時確立部481から第3通信セッションのセッション識別情報と、ジョブ識別情報と、の組が入力される場合、停止時確立部481から入力される第3通信セッションのセッション識別情報と、ジョブ識別情報との組のうちから予約処理実行部455から入力される予約ジョブのジョブ識別情報を含む組を特定し、特定した組に含まれるセッション識別情報を特定する。ジョブ送信部461は、通信部305を制御して、予約処理実行部455から入力される予約ジョブを、特定されたセッション識別情報で特定される第3通信セッションを介して、ゲートウェイ装置200に送信する。停止時送信部483は、予約ジョブを送信することに応じて、予約ジョブのジョブ識別情報とセッション識別情報との組を実行結果受信部463に出力する。
停止時送信部483によってゲートウェイ装置200に第3通信セッションを介して送信される予約ジョブは、ゲートウェイ装置200によって第3通信セッションを介して受信され、第4通信セッションを介して、MFP100に送信される。MFP100においては、ゲートウェイ装置200から受信される予約ジョブを実行し、実行結果をゲートウェイ装置200に送信する。ゲートウェイ装置200においては、MFP100から第4通信セッションを介して受信される実行結果を、第3通信セッションを介してクラウドサーバー400に送信する。
実行結果受信部463は、ジョブ送信部461からジョブ識別情報とセッション識別情報との組が入力されることに応じて、通信部405を制御して、セッション識別情報で特定される第1通信セッションまたは第3通信セッションを介して実行結果を受信する。実行結果はジョブ識別情報を含む。実行結果受信部463は、ジョブ送信部461から入力される予約ジョブのジョブ識別情報と同じジョブ識別情報を含む実行結果を受信することに応じて、クラウド側セッション確立部471に切断指示を出力する。切断指示は、実行結果に含まれるジョブ識別情報と組になるセッション識別情報を含む。
クラウド側切断部479は、実行結果受信部463から切断指示が入力されることに応じて、切断指示に含まれるセッション識別情報で特定される第1通信セッションまたは第3通信セッションを切断する。

図9は、中継処理の流れの一例を示すフローチャートである。中継処理は、ゲートウェイ装置200が備えるCPU201が、ROM202、フラッシュメモリ204またはCD−ROM209Aに記憶された中継プログラムを実行することにより、CPU201により実行される処理である。図9を参照して、ゲートウェイ装置200が備えるCPU201は、第1通信部205を制御して管理サーバー300との間で常時接続セッションを確立する(ステップS01)。フラッシュメモリ204に記憶されている管理サーバー300のグローバルIPアドレスを用いて管理サーバー300に通信セッションの確立要求を送信し、管理サーバー300と所定のネゴシエーションをすることによって常時接続セッションを確立する。常時接続セッションは、特に限定するものではないが、例えば、XMPPに基づくメッセージセッションである。
次のステップS02においては、停止期間を取得する。第1通信部205が管理サーバー300から停止期間を受信すると、その停止期間を取得する。次のステップS03においては、ファイアーウォールの内側のLAN3に接続された装置を検索する。LAN3にブロードキャストで問い合わせを送信し、MFP100,100A,100Bそれぞれから返信される装置識別情報を取得することによって、MFP100,100A,100Bを検索する。装置識別情報は、限定するものではないが、MFP100,100A,100Bそれぞれに対してLAN3において割り当てられたローカルIPアドレスである。
次のステップS04においては、ステップS03において検索されたMFP100,100A,100Bそれぞれの装置識別情報を、ステップS01において確立された常時接続セッションを介して管理サーバー300に送信し、処理をステップS05に進める。これにより、管理サーバー300は、ゲートウェイ装置200に接続されたMFP100を認識することができる。
ステップS05においては、常時接続セッションを介して管理サーバー300から、ジョブ情報を受信したか否かを判断する。ジョブ情報を受信したならば、処理をステップS06に進めるが、そうでなければステップS06をスキップして処理をステップS07に進める。ステップS06においては、受信されたジョブ情報をフラッシュメモリ204に記憶し、処理をステップS07に進める。
ステップS07においては、停止期間が開始したか否かを判断する。現在の日時がステップS02において取得された停止期間の開始日時ならば停止期間が開始したと判断する。停止期間が開始したならば処理をステップS20に進めるが、そうでなければ処理をステップS08に進める。
ステップS08においては、常時接続セッションを介して管理サーバー300から、トンネル接続要求を受信したか否かを判断する。トンネル接続要求を受信したならば、処理をステップS09に進めるが、そうでなければ処理をステップS16に進める。
ステップS09においては、トンネル接続要求から接続元のアドレス情報を抽出する。そして、接続元のアドレス情報に基づいて接続元の装置を特定する(ステップS10)。ここでは、トンネル接続要求が、接続元のアドレス情報としてMFP100のアドレス情報を含み、接続のアドレス情報としてクラウドサーバー400の第1のアドレス情報を含む場合を例に説明する。この場合、MFP100を接続元の装置に特定する。
次のステップS11においては、第2通信部206を制御して、接続元の装置に特定されたMFP100との間で第2通信セッションを確立する。ステップS10において、接続元の装置に特定されたMFP100に通信セッションの確立要求を送信し、MFP100との間で第2通信セッションを確立する。第2通信セッションを確立したならば、処理をステップS12に進めるが、MFP100との間で第2通信セッションを確立できなければ処理をステップS18に進める。MFP100との間で第2通信セッションを確立できない場合は、例えば、MFP100に電源が投入されていない場合、MFP100が通信できないトラブル状態の場合等である。ステップS18においては、MFP100の装置識別情報と、トンネル接続に失敗したことを示す情報とを含むトンネル接続結果を、常時接続セッションを介して管理サーバー300に送信し、処理をステップS19に進める。
ステップS12においては、MFP100の装置識別情報と、トンネル接続に成功したことを示す情報とを含むトンネル接続結果を、常時接続セッションを介して管理サーバー300に送信し、処理をステップS13に進める。
ステップS13においては、ステップS08において受信されたトンネル接続要求から接続先のアドレス情報を抽出する。ここでは、トンネル接続要求が、接続先のアドレス情報としてクラウドサーバー400の第1のアドレス情報を含むので、クラウドサーバー400の第1のアドレス情報を抽出する。次のステップS14においては、第1通信部205を制御して、接続先のアドレス情報を用いて、クラウドサーバー400との間で第1通信セッションを確立する。ステップS13において抽出されたクラウドサーバー400の第1のアドレス情報で示されるアドレスにアクセスすることによって、クラウドサーバー400との間で第1通信セッションを確立する。
ステップS15においては、第1通信セッションと第2通信セッションとを用いて、クラウドサーバー400とMFP100との間の通信を中継する。例えば、クラウドサーバー400からMFP100にデータが送信される場合、クラウドサーバー400から第1通信セッションを介してデータを受信し、受信されたデータをクラウドサーバー400に代わってMFP100に第2通信セッションを介して送信する。また、MFP100から実行結果を第2通信セッションを介して受信する場合、実行結果を、クラウドサーバー400にMFP100に代わって第1通信セッションを介して送信する。実行結果は、MFP100のアドレス情報を含む。
一方、ステップS16においては、ステップS14において確立された第1通信セッションが切断されたか否かを判断する。第1通信セッションが切断されたならば処理をステップS17に進めるが、そうでなければ処理をステップS19に進める。ステップS17においては、ステップS16において切断が確認された第1通信セッションと対になる第2通信セッションを切断し、処理をステップS18に進める。切断された第1通信セッションと対になる第2通信セッションは、ステップS15において、切断された第1通信セッションと接続された第2通信セッションである。ステップS19においては、電源がOFFになったか否かを判断する。電源がOFFになったならば処理を終了するが、そうでなければ処理をステップS05に戻す。
処理がステップS20に進む場合は、管理サーバー300がサービスの提供を停止する停止期間の場合である。ステップS20においては、ジョブ情報が存在するか否かを判断する。ステップS06においてフラッシュメモリ204に記憶されたジョブ情報のうち、送信日時が停止期間内に設定されたジョブ情報が存在するか否かを判断する。ジョブ情報が記憶されていれば処理をステップS21に進めるが、そうでなければ処理をステップS19に進める。ステップS21においては、フラッシュメモリ204に記憶されたジョブ情報のうち、送信日時が停止期間内のジョブ情報を、送信日時が早い順に1つずつ選択する。そして、選択したジョブ情報の送信日時になるまで待機状態となり(ステップS22でNO)、送信日時になると(ステップS22でYES)、処理をステップS23に進める。ステップS23においては、停止期間中継処理を実行し、処理をステップS20に戻す。
ステップS20〜ステップS23が実行されることにより、送信日時が停止期間内に設定されたジョブ情報が複数存在する場合には、複数のジョブ情報が送信日時が早いものから順に選択され、複数のジョブ情報ごとに停止期間中継処理が実行される。
図10は、停止期間中継処理の流れの一例を示すフローチャートである。停止期間中継処理は、図9のステップS23において実行される処理である。ステップS23において停止期間中継処理が実行される前の段階で、ジョブ情報が選択されている。ジョブ情報は、接続先のネットワークアドレス、ジョブ識別情報、接続元のアドレス情報および送信日時を含む。図10を参照して、CPU201は、ジョブ情報に設定されている接続先のネットワークアドレスおよびジョブ識別情報に基づいて、停止時確立要求を送信する(ステップS31)。具体的には、ジョブ情報丹設定されているジョブ識別情報を含む停止時確立要求をジョブ情報に設定されている接続先のネットワークアドレス宛に送信する。ここでは、ジョブ情報の接続先のネットワークアドレスに、クラウドサーバー400の第2のアドレス情報が設定されている場合を例に説明する。CPU201は、第1通信部205を制御して、クラウドサーバー400の第2のアドレス情報を用いて停止時確立要求を送信する。
次のステップS32においては、停止時確立要求を送信した装置、ここではクラウドサーバー400との間で第3通信セッションを確立し、処理をステップS33に進める。ステップS33においては、ジョブ情報に設定されている接続元のアドレス情報に基づいて確立要求を送信し、確立要求を送信した装置との間で第4通信セッションを確立する。予約ジョブの接続元のアドレス情報がMFP100のアドレス情報であれば、第2通信部206を制御して、MFP100との間で第4通信セッションを確立する。また、予約ジョブの接続元のアドレス情報がMFP100Aのアドレス情報であれば、第2通信部206を制御して、MFP100Aとの間で第4通信セッションを確立する。
ステップS34においては、第3通信セッションと第4通信セッションとを接続する。具体的には、第3通信セッションと第4通信セッションとを用いて、ジョブ情報に設定されているクラウドサーバー400の第2のアドレス情報で特定されるクラウドサーバー400とジョブ情報の接続元のアドレス情報で特定される装置との間の通信を中継する。例えば、ステップS32において確立された第3通信セッションがクラウドサーバー400との間で確立され、ステップS33において確立された第4通信セッションがMFP100との間で確立された場合、クラウドサーバー400から第3通信セッションを介してデータを受信し、受信されたデータをクラウドサーバー400に代わってMFP100に第4通信セッションを介して送信する。また、MFP100から実行結果を第4通信セッションを介して受信する場合、実行結果を、クラウドサーバー400にMFP100に代わって第3通信セッションを介して送信する。実行結果は、送信元がMFP100であることを示す情報を含む。また、ステップS32において確立された第3通信セッションがクラウドサーバー400との間で確立され、ステップS33において確立された第4通信セッションがMFP100Aとの間で確立された場合、クラウドサーバー400から第3通信セッションを介してデータを受信し、受信されたデータをクラウドサーバー400に代わってMFP100Aに第4通信セッションを介して送信する。また、MFP100Aから実行結果を第4通信セッションを介して受信する場合、実行結果を、クラウドサーバー400にMFP100Aに代わって第3通信セッションを介して送信する。実行結果は、送信元がMFP100Aであることを示す情報を含む。
ステップS35においては、ステップS32において確立した第3通信セッションが切断されたか否かを判断する。第3通信セッションが切断されるまで待機状態となり(ステップS35でNO)、第3通信セッションが切断されたならば処理をステップS36に進める。ステップS36においては、ステップS33において確立した第4通信セッションを切断し、処理を中継処理に戻す。
図11は、トンネル接続支援処理の流れの一例を示すフローチャートである。トンネル接続支援処理は、管理サーバー300が備えるCPU301が、ROM302、HDD304またはCD−ROM309Aに記憶されたプログラムを実行することにより、CPU301により実行される処理である。図10を参照して、CPU301は、停止期間を設定する(ステップS301)。例えば、管理サーバー300の管理者が停止期間を操作部307に入力すれば、操作部407が受け付ける停止期間をHDD404に記憶することにより、停止期間を設定する。次のステップS302においては、常時接続セッションの確立要求を受信したか否かを判断する。通信部305が、ゲートウェイ装置200から常時接続のための通信セッションの確立要求を受信したか否かを判断する。常時接続セッションの確立要求を受信したならば処理をステップS303に進めるが、そうでなければ処理をステップS306に進める。
ステップS303においては、ゲートウェイ装置200との間で常時接続セッションを確立し、処理をステップS304に進める。ステップS304においては、常時接続セッションが確立されたゲートウェイ装置200に停止期間を通知する。常時接続セッションを介して、ゲートウェイ装置200に停止期間を送信することにより、ゲートウェイ装置200に停止期間を通知する。ステップS305においては、常時接続セッションを介して、ゲートウェイ装置200からMFPの装置識別情報を取得し、処理をステップS306に進める。ここでは、MFP100,100A,100Bそれぞれの装置識別情報を取得する場合を例に説明する。
ステップS306においては、グローバルセッションの確立要求を受信したか否かを判断する。通信部305が、ファイアーウォールの外部に位置する装置からグローバルセッションの確立要求を受信したか否かを判断する。ここでは、クラウドサーバー400からグローバルセッションの確立要求を受信する場合を例に説明する。グローバルセッションの確立要求を受信したならば処理をステップS307に進めるが、そうでなければ処理をステップS315に進める。ステップS307においては、グローバルセッションの確立要求を送信してきた装置、ここではクラウドサーバー400との間でグローバルセッションを確立し、処理をステップS308に進める。
ステップS308においては、接続要求をクラウドサーバー400から受信したか否かを判断する。接続要求を受信したならば、処理をステップS309に進めるが、そうでなければ処理をステップS313に進める。ここでは、接続先のアドレス情報としてクラウドサーバー400の第1のアドレス情報を含み、接続元のアドレス情報としてMFP100のアドレス情報を含む接続要求を受信する場合を例に説明する。
ステップS309においては、トンネル接続要求をゲートウェイ装置200にステップS301において確立された常時接続セッションを介して送信する。トンネル接続要求は、接続要求を、常時接続セッションにより定まるプロトコルに適合するようにカプセル化したパケットである。トンネル接続要求を受信するゲートウェイ装置200は、接続要求に含まれる接続元のアドレス情報で特定されるMFP100との間で第2通信セッションの確立を試み、その結果としてトンネル接続結果を返信する。
ステップS310においては、ゲートウェイ装置200からトンネル接続結果を常時接続セッションを介して受信したか否かを判断する。トンネル接続結果を受信するまで待機状態となり(ステップS310でNO)、トンネル接続結果を受信したならば(ステップS310でYES)、処理をステップS311に進める。トンネル接続結果は、トンネル接続に成功したことを示す情報と接続元のアドレス情報とを含むトンネル接続結果と、トンネル接続に失敗したことを示す情報と接続元のアドレス情報とを含むトンネル接続結果とを含む。
ステップS311においては、接続要求を送信してきた装置、ここではクラウドサーバー400にトンネル接続結果を通知する。具体的には、ステップS307において確立されたグローバルセッションを介して、トンネル接続結果を送信する。ステップS312においては、ステップS305において確立されたグローバルセッションを切断し、処理をステップS306に戻す。
ステップS313においては、ステップS307において確立されたグローバルセッションを介して、クラウドサーバー400からジョブ情報を受信したか否かを判断する。ジョブ情報を受信したならば処理をステップS314に進めるが、そうでなければ処理をステップS315に進める。ステップS314においては、ジョブ情報をステップS303において確立した常時接続セッションを介して、ゲートウェイ装置200に送信し、処理をステップS312に進める。
処理がステップS315に進む場合、ステップS315が実行される前にステップS309〜ステップS312が実行される場合がある。この場合には、ステップS309において、接続要求が受信されており、接続要求に含まれる接続元のアドレス情報で特定される装置、例えばMFP100と、接続先のアドレス情報で特定されるクラウドサーバー400との間で、ゲートウェイ装置200によってトンネル接続が確立され、クラウドサーバー400からMFP100に予約ジョブが送信される場合がある。この場合には、ゲートウェイ装置200は、MFP100が予約ジョブを実行した結果を示す実績情報を、MFP100から受信し、管理サーバー300に転送する。このため、通信部305が、ステップS303において確立された常時接続セッションを介して実績情報を受信する場合がある。ステップS315においては、通信部305が、常時接続セッションを介して実績情報を受信したか否かを判断する。実績情報を受信したならば処理をステップS316に進めるが、そうでなければ処理をステップS317に進める。ステップS316においては、実績情報に基づき課金情報を生成し、HDD304に記憶し、処理をステップS308に戻す。
ステップS317においては、ステップS301において設定された停止期間が開始したか否かを判断する。停止期間が開始したならば処理を終了するが、そうでなければ処理をステップS308に戻す。
図12は、装置制御処理の流れの一例を示すフローチャートである。装置制御処理は、クラウドサーバー400が備えるCPU401がサービスを提供するためのプログラムを実行することにより、そのCPU401により実行される処理である。ここでは、クラウドサーバー400が実行する処理のうち、クラウドサーバー400がMFP100に処理を実行させる処理を主に示している。図12を参照して、クラウドサーバー400が備えるCPUは、予約処理が設定されたか否かを判断する(ステップS401)。予約処理情報がHDD404に記憶された場合に予約処理が設定されたと判断する。予約処理が設定されたならば処理をステップS402に進めるが、そうでなければ処理をステップS404に進める。インターネット5またはLAN3に接続されたPCを操作するユーザーがPCを用いてクラウドサーバー400を遠隔操作する場合、クラウドサーバー400はPCによって遠隔操作される。この遠隔操作には、予約処理を設定する操作を含む。遠隔操作するユーザーによって、1以上の処理を実行する開始日時と、1以上の処理それぞれの内容と、1以上の処理を実行する順番と、が定められる場合に、CPU401は、それらを定めた予約処理情報を生成して、HDD404に記憶する。
ステップS402においては、設定された予約処理に含まれる処理のうちにジョブ生成処理が含まれるか否かを判断する。ジョブ生成処理は、MFP100,100A,100Bのいずれかに実行させる予約ジョブを生成する処理である。ジョブ生成処理を含むならば処理をステップS403に進めるが、そうでなければ処理をステップS404に進める。
ステップS403においては、ジョブ情報を送信し、処理をステップS404に進める。接続先のネットワークアドレス、ジョブ識別情報、接続元のアドレス情報および送信日時を含む。接続先のネットワークアドレス情報は、予約ジョブを生成する装置のアドレス情報であり、ここではクラウドサーバー400のIPアドレスである。ジョブ識別情報は、予約ジョブのジョブ識別情報である。接続元のアドレス情報は予約ジョブを実行する装置のアドレス情報である。具体的には、クラウドサーバー400のIPアドレスをジョブ情報の接続先のネットワークアドレスとして設定し、ステップS402において特定されたジョブ生成処理で生成される予約ジョブを識別するためのジョブ識別情報を、ジョブ情報のジョブ識別情報として設定し、予約ジョブを実行させる装置のアドレス情報を、予約ジョブの接続元のアドレス情報として設定し、予約処理情報に設定された予約処理を実行する開始日時を、ジョブ情報の予約ジョブの送信日時として設定することにより、ジョブ情報を生成し、生成されたジョブ情報を送信する。ジョブ情報に設定された接続元のアドレス情報から、ジョブ情報の送信先を特定し、特定された送信先に通信部405を介してジョブ情報を送信する。例えば、ジョブ情報に含まれる接続元のアドレス情報にMFP100のアドレス情報が設定されている場合、MFP100の装置識別情報を送信してきた管理サーバー300を、ジョブ情報の送信先に決定する。
ステップS404においては、予約処理が存在するか否かを判断する。HDD404に予約処理が記憶されていれば予約処理が存在すると判断し、開始日時が最も早い1つを処理対象に選択し、処理をステップS405に進めるが、そうでなければ処理をステップS401に戻す。
ステップS405においては、現在日時が予約処理に設定された開始日時か否かを判断する。現在日時が開始日時ならば処理をステップS406に進めるが、そうでなければ処理をステップS401に戻す。ステップS406においては、予約処理を実行し、処理をステップS407に進める。ステップS407においては、予約処理を実行した結果、予約ジョブが生成されたか否かを判断する。予約処理がジョブ生成処理を実行する場合に予約ジョブが生成される。予約ジョブが生成されたならば処理をステップS408に進めるが、そうでなければ処理をステップS401に戻す。ここでは、ステップS406において開始した予約処理において、ジョブ生成処理が定められており、その予約処理を特定するために、予約ジョブを識別するためのジョブ識別情報と、予約ジョブを実行させる装置のアドレス情報としてMFP100のアドレス情報が定められている場合を例に説明する。
ステップS408においては、出力先を特定する。ステップS406において実行された予約処理に含まれるジョブ生成処理に定められた予約ジョブを実行させる装置のアドレス情報に基づいて、出力先を特定する。例えば、ジョブ生成処理に定められた予約ジョブを実行させる装置のアドレス情報に、MFP100のアドレス情報が設定されている場合、MFP100を出力先に特定する。
次のステップS409においては、ステップS408において出力先に特定された装置を管理する管理サーバー300との間でグローバルセッションを確立するために、確立要求を、通信部305を制御して管理サーバー300に送信する。そして、グローバルセッションが確立されたか否かを判断する(ステップS410)。グローバルセッションを確立したならば処理をステップS411に進めるが、そうでなければ処理をステップS417に進める。管理サーバー300とネゴシエーションすることによって、管理サーバー300との間の通信セッションとしてグローバルセッションを確立する。なお、この場合、管理サーバー300は、管理サーバー300に登録されたユーザーであることを認証するために認証情報を要求し、認証に成功することを条件に、通信セッションであるグローバルセッションを確立するようにしてもよい。これにより、ファイアーウォールの内部のMFP100,100A,100Bに対してアクセス可能なユーザーを、管理サーバー300に登録されたユーザーに制限することができる。
ステップS411においては、接続要求を管理サーバー300に、ステップS410において確立されたグローバルセッションを介して送信する。接続要求は、接続元のアドレス情報としてMFP100のアドレス情報と、接続先のアドレス情報としてクラウドサーバー400の第1のアドレス情報と、を含む。第1のアドレス情報は、URLを含む。URLは、クラウドサーバー400のネットワークアドレス(ドメイン名)、ウェブページの識別子、予約処理の識別子、および待ち受けポートのポート番号を含む。
次のステップS412においては、通信セッションの確立要求を受信したか否かを判断する。ここでの確立要求は、ステップS411において管理サーバー300に送信した接続要求に対応する。ステップS411において管理サーバー300に送信した接続要求は、接続元のアドレス情報と接続先のアドレスとを含む。接続先のアドレス情報は、クラウドサーバー400のアドレス情報であり、URLとしている。また、確立要求は、接続要求に含まれる接続先のアドレス情報を含む。ここでは確立要求は、クラウドサーバー400のURLへのアクセスとしている。このため、ステップS412においては、ステップS411において管理サーバー300に送信した接続要求に対応する確立要求として、ゲートウェイ装置200から受信する通信セッションの確立要求を受信する。通信セッションの確立要求を受信するまで待機状態となり(ステップS412でNO)、通信セッションの確立要求を受信したならば(ステップS412でYES)、処理をステップS413に進める。
ステップS413においては、通信セッションの確立要求に対応する第1通信セッションを確立し、処理をステップS414に進める。通信セッションの確立要求を送信してきた装置、ここではゲートウェイ装置200との間で第1通信セッションを確立する。
ステップS414においては、ステップS407において生成された予約ジョブを第1通信セッションを介して送信する。予約ジョブの送信先はゲートウェイ装置200であるが、上述したように第1通信セッションを介して送信されるジョブは、ゲートウェイ装置200とMFP100との間で確立された第2通信セッションを介して、ゲートウェイ装置200によってMFP100に送信される。このため、ジョブは実際にはMFP100に送信される。
次のステップS415においては、実行結果を第1通信セッションを介して受信したか否かを判断する。実行結果を受信するまで待機状態となり(ステップS415でNO)、実行結果を受信したならば(ステップS415でYES)、処理をステップS416に進める。
ステップS416においては、ステップS413において確立した第1通信セッションを切断し、処理をステップS401に戻す。
処理がステップS417に進む場合、ステップS409においてグローバルセッションの確立要求を送信したにもかかわらず、管理サーバー300との間でグローバルセッションが確立されない場合である。例えば、管理サーバー300がサービスの提供をしない停止期間の間に、処理がステップS417に進む。ステップS417においては、停止時確立要求を受信したか否かを判断する。停止時確立要求は、上述したように、ステップS403において管理サーバー300に送信したジョブ情報を、管理サーバー300を経由して受信するゲートウェイ装置200が、ジョブ情報に基づいて、クラウドサーバー400に送信する通信セッションの確立要求である。停止時確立要求は、ステップS403において管理サーバー300に送信したジョブ情報に含まれるジョブ識別情報を含む。このため、ステップS417においては、ステップS406において実行された予約処理に含まれるジョブ生成処理に定められた予約ジョブのジョブ識別情報と同じジョブ識別情報を含む停止時確立要求を受信したか否かを判断する。ステップS406において開始した予約処理において、予約ジョブを実行させる装置のアドレス情報としてMFP100のアドレス情報が定められている場合、MFP100のアドレス情報により特定されるゲートウェイ装置200から停止時確立要求を受信する。そのような停止時確立要求を受信したならば処理をステップS418に進めるが、そうでなければ処理をステップS422に進める。ステップS422においては、エラー処理を実行し、処理をステップS401に戻す。エラー処理は、ステップS406において開始した予約処理を実行した結果、予約ジョブを送信できなかったことを示す情報を含むエラー情報をHDD304に記憶する処理である。
ステップS418においては、停止時確立要求を送信してきたゲートウェイ装置200との間で、第3通信セッションを確立し、処理をステップS419に進める。ステップS419においては、ステップS407において生成された予約ジョブを第3通信セッションを介して送信する。予約ジョブの送信先はゲートウェイ装置200であるが、上述したように第3通信セッションを介して送信されるジョブは、ゲートウェイ装置200とMFP100との間で確立された第4通信セッションを介して、ゲートウェイ装置200によってMFP100に送信される。このため、ジョブは実際にはMFP100に送信される。
次のステップS420においては、実行結果を第3通信セッションを介して受信したか否かを判断する。実行結果を受信するまで待機状態となり(ステップS420でNO)、実行結果を受信したならば(ステップS420でYES)、処理をステップS421に進める。ステップS421においては、ステップS418において確立した第3通信セッションを切断し、処理をステップS401に戻す。
以上説明したように、本実施の形態における情報処理システム1において、クラウドサーバー400は、予約処理により定められた送信時刻に予約処理を実行し、接続要求を管理サーバー300に送信した後に、ゲートウェイ装置200から接続要求に含まれる接続先のアドレス情報と同じアドレス情報を含む確立要求を受信する場合に第1の通信セッションを確立し、予約ジョブを第1の通信セッションを介して送信し、接続要求を送信した後にゲートウェイ装置200との間で第1通信セッションが確立されない場合、ゲートウェイ装置200から予約ジョブのジョブ識別情報を含む停止時確立要求を受信することに応じて、ゲートウェイ装置200との間で第3の通信セッションを確立し、第3の通信セッションを介して予約ジョブを送信する。また、ゲートウェイ装置200は、管理サーバー300との間で常時接続セッションを確立し、接続要求を管理サーバー300から常時接続セッションを介して受信することに応じて、クラウドサーバー400との間で第1通信セッションを確立するとともに、制御対象装置であるMFP100との間で第2通信セッションを確立し、クラウドサーバー400とMFP100との間の通信を中継する。また、ゲートウェイ装置200は、常時接続セッションを介して管理サーバー300から停止期間を受信し、管理サーバー300がクラウドサーバー400から取得したジョブ情報を、常時接続セッションを介して管理サーバー300から受信しておき、停止期間が開始することに応じて、ジョブ情報のうち送信時刻が現在時刻となるジョブ情報を処理対象情報に特定し、特定されたジョブ情報に含まれる予約ジョブのジョブ識別情報を含む停止時確立要求をクラウドサーバー400に送信し、クラウドサーバー400との間で第3通信セッションを確立するとともに、特定されたジョブ情報に含まれる接続元のアドレス情報で特定されるMFP100との間で第4通信セッションを確立し、第3通信セッションが確立されている間、クラウドサーバー400とMFP100との間の通信を中継する。このため、管理サーバー300がサービスを提供しない停止期間の間は、クラウドサーバー400は、第3通信セッションおよび第4通信セッションを用いて、MFP100に予約ジョブを送信することができる。
また、クラウドサーバー400は、ファイアーウォールの外部の管理サーバー300に接続要求を送信すれば、ファイアーウォールの内部のゲートウェイ装置200との間で第1通信セッションを確立し、ゲートウェイ装置200は接続要求に含まれる接続元のアドレス情報で特定されるMFP100と第2通信セッションを確立し、第1通信セッションと第2通信セッションを用いてクラウドサーバー400とMFP100との間の通信を中継する。このため、クラウドサーバー400は、管理サーバー300がサービスを提供している間は、ファイアーウォールの外部の管理サーバー300に、ファイアーウォールの内部のMFP100のアドレス情報を含む接続要求を送信すれば、ファイアーウォールの内部のMFP100にジョブを送信することができる。また、停止期間が開始する前に、クラウドサーバー400からジョブ情報をゲートウェイ装置200に送信することができる。
また、クラウドサーバー400は、予約処理が設定される段階で、クラウドサーバー400の第2のアドレス情報、予約ジョブのジョブ識別情報、予約ジョブを実行する装置のアドレス情報および予約ジョブの送信時刻を含むジョブ情報を管理サーバー300に送信するので、予約処理が設定される段階で、ゲートウェイ装置200にジョブ情報を送信することができる。
また、ゲートウェイ装置200は、管理サーバー300との間で常時接続セッションを確立し、常時接続セッションを介して管理サーバー300から停止期間を受信し、管理サーバー300がクラウドサーバー400から取得したジョブ情報を、常時接続セッションを介して管理サーバー300から受信しておく。さらに、ゲートウェイ装置200は、管理サーバー300から常時接続セッションを介して接続要求を受信することに応じて、接続要求に含まれる接続先のアドレス情報を用いてクラウドサーバー400との間で第1通信セッションを確立し、接続要求に含まれる接続元のアドレス情報で特定されるMFP100との間で第2通信セッションを確立し、クラウドサーバー400とMFP100との間の通信を中継し、停止期間が開始することに応じて、送信時刻が現在時刻となるジョブ情報を処理対象情報に特定し、特定されたジョブ情報に含まれる予約ジョブのジョブ識別情報を含む停止時確立要求をクラウドサーバー400に送信し、クラウドサーバー400との間で第3通信セッションを確立するとともに、予約ジョブの接続元のアドレス情報で特定されるMFP100との間で第4通信セッションを確立し、第3通信セッションが確立されている間、クラウドサーバー400とMFP100との間の通信を中継する。このため、管理サーバー300がサービスを提供しない停止期間の間は、第3通信セッションおよび第4通信セッションを用いて、クラウドサーバー400から送信される予約ジョブをMFP100に実行させることができる。
なお、本実施の形態においては、ゲートウェイ装置200をMFP100,100A,100Bと別体の装置として説明したが、ゲートウェイ装置200を、MFP100,100A,100Bのいずれか1つ、例えば、MFP100が内蔵する形態としてもよい。
なお、上述した実施の形態においては、情報処理システム1について説明したが、図9に示した中継処理をケートウェイ装置200に実行させる中継方法、または、その中継方法をゲートウェイ装置200が備えるCPU201に実行させる中継プログラムとして捉えることができるのは言うまでもない。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1 情報処理システム、3 LAN、5 インターネット、100,100A,100B MFP、110 メイン回路、111 CPU、112 通信I/F部、113 ROM、114 RAM、115 HDD、116 ファクシミリ部、117 外部記憶装置、118 CD−ROM、120 自動原稿搬送装置、120 原稿読取部、130 原稿読取部、140 画像形成部、150 給紙部、155 後処理部、160 操作パネル、161 表示部、163 操作部、165 タッチパネル、167 ハードキー部、200 ゲートウェイ装置、201 CPU、202 ROM、203 RAM、204 フラッシュメモリ、205 第1通信部、206 第2通信部、209 外部記憶装置、300 管理サーバー、301 CPU、302 ROM、303 RAM、304 HDD、305 通信部、306 表示部、307 操作部、309 外部記憶装置、400 クラウドサーバー、401 CPU、402 ROM、403 RAM、404 HDD、405 通信部、406 表示部、407 操作部、409 外部記憶装置、250 通信制御部、251 常時接続セッション確立部、253 装置識別情報送信部、254 実績情報転送部、255 トンネル接続要求受信部、257 接続結果送信部、259 セッション確立部、260 通信制御部、261 接続装置情報取得部、262 実績情報収集部、263 セッション確立部、265 実績情報収集部、270 中継部、281 ジョブ情報記憶部、283 処理対象特定部、285 第3セッション確立部、287 第4セッション確立部、291 ジョブ情報受信部、293 停止期間受信部、351 サーバー側確立部、353 グローバル確立部、355 停止期間設定部、361 ジョブ情報送信部、371 装置識別情報受信部、373 トンネル接続要求部、375 接続結果受信部、377 装置情報管理部、378 課金部、379 停止期間通知部、381 装置識別情報通知部、383 接続要求受信部、385 接続確認部、387 ジョブ情報取得部、451 予約処理設定部、453 ジョブ情報送信部、455 予約処理実行部、461 ジョブ送信部、463 実行結果受信部、471 クラウド側セッション確立部、473 トンネル接続部、475 接続要求部、477 確立要求受信部、479 クラウド側切断部、481 停止時確立部、483 停止時送信部。


Claims (6)

  1. ファイアーウォールの外部に配置されたクラウドサーバーおよび管理サーバーと、ファイアーウォールの内部に配置され、ファイアーウォールの内部に配置された制御対象装置と接続された中継装置と、を備えた情報処理システムであって、
    前記クラウドサーバーは、
    予約ジョブを識別するためのジョブ識別情報、予約ジョブの出力先である前記制御対象装置のアドレス情報および予約ジョブの送信時刻を定めた予約処理を設定する予約処理設定手段と、
    接続先のアドレス情報と、前記予約処理により前記予約ジョブの出力先として定められた前記制御対象装置のアドレス情報を接続元のアドレス情報として含む接続要求を、前記予約処理により定められた送信時刻に、前記管理サーバーに送信する接続要求手段と、
    前記接続要求が送信された後に、前記管理サーバーから転送された前記接続要求を受信する前記中継装置から前記接続要求に含まれる前記接続先のアドレス情報と同じアドレス情報を含む確立要求を受信する場合に第1の通信セッションを確立する確立要求受信手段と、
    前記接続要求が送信された後に前記中継装置との間で前記第1通信セッションが確立されることに応じて、前記予約ジョブを、前記第1の通信セッションを介して送信するジョブ送信手段と、を備え、
    前記中継装置は、前記管理サーバーとの間で常時接続セッションを確立する常時接続セッション確立手段と、
    前記管理サーバーがサービスの提供をしない停止期間を取得する停止期間取得手段と、
    前記管理サーバーが前記クラウドサーバーから取得した前記クラウドサーバーのアドレス情報、前記予約ジョブのジョブ識別情報、前記予約ジョブの出力先のアドレス情報および前記予約ジョブの送信時刻を含むジョブ情報を、前記常時接続セッションを介して前記管理サーバーから受信するジョブ情報受信手段と、
    前記管理サーバーが前記クラウドサーバーから受信する接続要求を、前記管理サーバーから前記常時接続セッションを介して受信することに応じて、前記受信された接続要求に含まれる前記接続先のアドレス情報を用いて前記クラウドサーバーとの間で第1通信セッションを確立する第1セッション確立手段と、
    前記受信された接続要求に含まれる前記接続元のアドレス情報で特定される前記制御対象装置との間で第2通信セッションを確立する第2セッション確立手段と、
    前記第1通信セッションと前記第2通信セッションとを用いて、前記クラウドサーバーと前記制御対象装置との間の通信を中継する中継手段と、
    前記停止期間が開始することに応じて、前記受信されたジョブ情報のうち送信時刻が現在時刻となるジョブ情報を処理対象情報に特定する処理対象特定手段と、
    前記処理対象情報に特定されたジョブ情報に含まれる予約ジョブのジョブ識別情報を含む停止時確立要求を前記処理対象情報に特定されたジョブ情報に含まれるクラウドサーバーのアドレス情報を用いて前記クラウドサーバーに送信し、前記クラウドサーバーとの間で前記第3通信セッションを確立する第3セッション確立手段と、
    前記処理対象情報に特定されたジョブ情報に含まれる前記予約ジョブの出力先のアドレス情報で特定される前記制御対象装置との間で第4通信セッションを確立する第4セッション確立手段と、を備え、
    前記中継手段は、前記第3セッション確立手段により前記第3通信セッションが確立されている間、前記第3通信セッションと前記第4通信セッションとを用いて、前記クラウドサーバーと前記制御対象装置との間の通信を中継し、
    前記クラウドサーバーが備える前記ジョブ送信手段は、前記接続要求が送信された後に前記中継装置との間で前記第1通信セッションが確立されない場合、前記中継装置から前記予約処理により定められた前記予約ジョブのジョブ識別情報と同じジョブ識別情報を含む停止時確立要求を受信することに応じて、前記中継装置との間で第3の通信セッションを確立し、前記第3の通信セッションを介して前記予約ジョブを送信する停止中送信手段を含む、情報処理システム。
  2. 前記管理サーバーは、
    前記中継装置からの要求に基づいて、前記中継装置との間で通信するための常時セッションを確立するサーバー側確立手段と、
    前記管理サーバーがサービスの提供をしない期間を示す停止期間を設定する停止期間設定手段と、
    前記停止期間が開始される前の段階で、前記停止期間を、前記常時接続セッションを介して前記中継装置に送信する停止期間通知手段と、
    前記クラウドサーバーから前記ジョブ情報を取得するジョブ情報取得手段と、
    前記停止期間が開始される前の段階で、前記取得されたジョブ情報を、前記ジョブ情報に含まれる出力先のアドレス情報により特定される前記中継装置に前記常時接続セッションを介して送信するジョブ情報送信手段と、
    前記クラウドサーバーから前記接続要求を受信することに応じて、前記接続要求を前記中継装置に前記常時接続セッションを介して送信するトンネル接続要求手段と、を備える請求項1に記載の情報処理システム。
  3. 前記クラウドサーバーは、さらに、
    前記予約ジョブが設定される段階で、前記クラウドサーバーのアドレス情報、前記予約ジョブのジョブ識別情報、前記予約ジョブの出力先のアドレス情報および前記予約ジョブの送信時刻を含むジョブ情報を前記管理サーバーに送信するジョブ情報送信手段を、備えた請求項2に記載の情報処理システム。
  4. ファイアーウォールの内部に配置され、ファイアーウォールの内部に配置された制御対象装置と接続され、ファイアーウォールの外部に配置されたクラウドサーバーおよび管理サーバーと通信可能な中継装置であって、
    前記管理サーバーとの間で常時接続セッションを確立する常時接続セッション確立手段と、
    前記管理サーバーがサービスの提供をしない停止期間を取得する停止期間取得手段と、
    前記管理サーバーが前記クラウドサーバーから取得した前記クラウドサーバーのアドレス情報、予約ジョブのジョブ識別情報、前記予約ジョブの出力先のアドレス情報および前記予約ジョブの送信時刻を含むジョブ情報を、前記常時接続セッションを介して前記管理サーバーから受信するジョブ情報受信手段と、
    前記管理サーバーが前記クラウドサーバーから受信する接続要求を、前記管理サーバーから前記常時接続セッションを介して受信することに応じて、前記受信された接続要求に含まれる接続先のアドレス情報を用いて前記クラウドサーバーとの間で第1通信セッションを確立する第1セッション確立手段と、
    前記受信された接続要求に含まれる接続元のアドレス情報で特定される前記制御対象装置との間で第2通信セッションを確立する第2セッション確立手段と、
    前記第1通信セッションと前記第2通信セッションとを用いて、前記クラウドサーバーと前記制御対象装置との間の通信を中継する中継手段と、
    前記停止期間が開始することに応じて、前記受信されたジョブ情報のうち送信時刻が現在時刻となるジョブ情報を処理対象情報に特定する処理対象特定手段と、
    前記処理対象情報に特定されたジョブ情報に含まれる前記予約ジョブのジョブ識別情報を含む停止時確立要求を前記処理対象情報に特定されたジョブ情報に含まれる前記クラウドサーバーのアドレス情報を用いて前記クラウドサーバーに送信し、前記クラウドサーバーとの間で第3通信セッションを確立する第3セッション確立手段と、
    前記処理対象情報に特定されたジョブ情報に含まれる前記予約ジョブの出力先のアドレス情報で特定される前記制御対象装置との間で第4通信セッションを確立する第4セッション確立手段と、を備え、
    前記中継手段は、前記第3セッション確立手段により前記第3通信セッションが確立されている間、前記第3通信セッションと前記第4通信セッションとを用いて、前記クラウドサーバーと前記制御対象装置との間の通信を中継する、中継装置。
  5. ファイアーウォールの内部に配置され、ファイアーウォールの内部に配置された制御対象装置と接続され、ファイアーウォールの外部に配置されたクラウドサーバーおよび管理サーバーと通信可能な中継装置で実行される中継方法であって、
    前記管理サーバーとの間で常時接続セッションを確立する常時接続セッション確立ステップと、
    前記管理サーバーがサービスの提供をしない停止期間を取得する停止期間取得ステップと、
    前記管理サーバーが前記クラウドサーバーから取得した前記クラウドサーバーのアドレス情報、予約ジョブのジョブ識別情報、前記予約ジョブの出力先のアドレス情報および前記予約ジョブの送信時刻を含むジョブ情報を、前記常時接続セッションを介して前記管理サーバーから受信するジョブ情報受信ステップと、
    前記管理サーバーが前記クラウドサーバーから受信する接続要求を、前記管理サーバーから前記常時接続セッションを介して受信することに応じて、前記受信された接続要求に含まれる接続先のアドレス情報を用いて前記クラウドサーバーとの間で第1通信セッションを確立する第1セッション確立ステップと、
    前記受信された接続要求に含まれる接続元のアドレス情報で特定される前記制御対象装置との間で第2通信セッションを確立する第2セッション確立ステップと、
    前記第1通信セッションと前記第2通信セッションとを用いて、前記クラウドサーバーと前記制御対象装置との間の通信を中継する中継ステップと、
    前記停止期間が開始することに応じて、前記受信されたジョブ情報のうち送信時刻が現在時刻となるジョブ情報を処理対象情報に特定する処理対象特定ステップと、
    前記処理対象情報に特定されたジョブ情報に含まれる前記予約ジョブのジョブ識別情報を含む停止時確立要求を前記処理対象情報に特定されたジョブ情報に含まれる前記クラウドサーバーのアドレス情報を用いて前記クラウドサーバーに送信し、前記クラウドサーバーとの間で前記第3通信セッションを確立する第3セッション確立ステップと、
    前記処理対象情報に特定されたジョブ情報に含まれる前記予約ジョブの出力先のアドレス情報で特定される前記制御対象装置との間で第4通信セッションを確立する第4セッション確立ステップと、を含み、
    前記中継ステップは、前記第3セッション確立ステップにより前記第3通信セッションが確立されている間、前記第3通信セッションと前記第4通信セッションとを用いて、前記クラウドサーバーと前記制御対象装置との間の通信を中継するステップを含む、中継方法。
  6. ファイアーウォールの内部に配置され、ファイアーウォールの内部に配置された制御対象装置と接続され、ファイアーウォールの外部に配置されたクラウドサーバーおよび管理サーバーと通信可能な中継装置を制御するコンピューターで実行される中継プログラムであって、
    前記管理サーバーとの間で常時接続セッションを確立する常時接続セッション確立ステップと、
    前記管理サーバーがサービスの提供をしない停止期間を取得する停止期間取得ステップと、
    前記管理サーバーが前記クラウドサーバーから取得した前記クラウドサーバーのアドレス情報、予約ジョブのジョブ識別情報、前記予約ジョブの出力先のアドレス情報および前記予約ジョブの送信時刻を含むジョブ情報を、前記常時接続セッションを介して前記管理サーバーから受信するジョブ情報受信ステップと、
    前記管理サーバーが前記クラウドサーバーから受信する接続要求を、前記管理サーバーから前記常時接続セッションを介して受信することに応じて、前記受信された接続要求に含まれる接続先のアドレス情報を用いて前記クラウドサーバーとの間で第1通信セッションを確立する第1セッション確立ステップと、
    前記受信された接続要求に含まれる接続元のアドレス情報で特定される前記制御対象装置との間で第2通信セッションを確立する第2セッション確立ステップと、
    前記第1通信セッションと前記第2通信セッションとを用いて、前記クラウドサーバーと前記制御対象装置との間の通信を中継する中継ステップと、
    前記停止期間が開始することに応じて、前記受信されたジョブ情報のうち送信時刻が現在時刻となるジョブ情報を処理対象情報に特定する処理対象特定ステップと、
    前記処理対象情報に特定されたジョブ情報に含まれる前記予約ジョブのジョブ識別情報を含む停止時確立要求を前記処理対象情報に特定されたジョブ情報に含まれる前記クラウドサーバーのアドレス情報を用いて前記クラウドサーバーに送信し、前記クラウドサーバーとの間で前記第3通信セッションを確立する第3セッション確立ステップと、
    前記処理対象情報に特定されたジョブ情報に含まれる前記予約ジョブの出力先のアドレス情報で特定される前記制御対象装置との間で第4通信セッションを確立する第4セッション確立ステップと、を前記コンピューターに実行させ、
    前記中継ステップは、前記第3セッション確立ステップにより前記第3通信セッションが確立されている間、前記第3通信セッションと前記第4通信セッションとを用いて、前記クラウドサーバーと前記制御対象装置との間の通信を中継するステップを含む、中継プログラム。



JP2014254086A 2014-12-16 2014-12-16 情報処理システム、中継装置、中継方法および中継プログラム Pending JP2016116112A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014254086A JP2016116112A (ja) 2014-12-16 2014-12-16 情報処理システム、中継装置、中継方法および中継プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014254086A JP2016116112A (ja) 2014-12-16 2014-12-16 情報処理システム、中継装置、中継方法および中継プログラム

Publications (1)

Publication Number Publication Date
JP2016116112A true JP2016116112A (ja) 2016-06-23

Family

ID=56140141

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014254086A Pending JP2016116112A (ja) 2014-12-16 2014-12-16 情報処理システム、中継装置、中継方法および中継プログラム

Country Status (1)

Country Link
JP (1) JP2016116112A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019505107A (ja) * 2016-02-29 2019-02-21 グーグル エルエルシー 機器状況をブロードキャストする方法
CN111066297A (zh) * 2017-09-25 2020-04-24 株式会社东芝 远程访问控制系统
WO2023223512A1 (ja) * 2022-05-19 2023-11-23 株式会社Nttドコモ ネットワークノード及び通信方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019505107A (ja) * 2016-02-29 2019-02-21 グーグル エルエルシー 機器状況をブロードキャストする方法
US10412570B2 (en) 2016-02-29 2019-09-10 Google Llc Broadcasting device status
CN111066297A (zh) * 2017-09-25 2020-04-24 株式会社东芝 远程访问控制系统
US11397821B2 (en) 2017-09-25 2022-07-26 Kabushiki Kaisha Toshiba Remote access control system
WO2023223512A1 (ja) * 2022-05-19 2023-11-23 株式会社Nttドコモ ネットワークノード及び通信方法

Similar Documents

Publication Publication Date Title
JP5870990B2 (ja) 中継装置、画像形成装置、中継方法および中継プログラム
KR102077823B1 (ko) 엔에프씨를 이용한 모바일 프린팅 시스템 및 방법
JP6137149B2 (ja) 情報処理システム、クラウドサーバー、装置制御方法および装置制御プログラム
KR102077821B1 (ko) 엔에프씨를 이용한 모바일 프린팅 시스템 및 방법
JP6102845B2 (ja) 接続制御システム、管理サーバー、接続支援方法および接続支援プログラム
JP6299488B2 (ja) 情報処理装置、連携システム、及びプログラム
JP6056811B2 (ja) ワークフローシステム、ワークフロー実行装置、ワークフロー実行方法およびワークフロー実行プログラム
JP6575214B2 (ja) 情報処理装置、端末装置及びプログラム
JP5962690B2 (ja) 管理サーバー、接続支援方法および接続支援プログラム
JP6172074B2 (ja) プリントシステム、プリントサーバー、プリント制御方法およびプリント制御プログラム
US20120307277A1 (en) Information processing apparatus for transferring image data, server apparatus for receiving transferred image data, and control methods and storage media therefor
JP6387740B2 (ja) サーバ装置、画像形成装置、プログラム、及び通信システム
JP2016015580A (ja) 連携処理システム、及び連携処理方法
JP2016116112A (ja) 情報処理システム、中継装置、中継方法および中継プログラム
JP7172108B2 (ja) プログラム及び通信システム
JP7131044B2 (ja) プログラム及び通信システム
JP2015211407A (ja) 記録システム及びプログラム
JP2010074302A (ja) 画像形成装置、情報処理装置、情報処理システム、情報処理方法、及びプログラム
US9736329B2 (en) Method that performs from scanning to storing scan data using scan job ticket
JP7131045B2 (ja) プログラム及び通信システム
JP7095258B2 (ja) 電子ファイル共有システム、情報処理装置、情報処理装置の制御方法、およびプログラム
JP2018148419A (ja) 情報処理システムおよびデータ送受信方法
US11290603B2 (en) Assistance server, tunnel connection assistance method and non-transitory computer-readable recording medium encoded with tunnel connection assistance program
JP6369220B2 (ja) 中継装置、画像形成装置、プログラム、及び通信システム
US9667834B1 (en) Method that performs from scanning to storing scan data using scan send ticket