(57)【特許請求の範囲】
【請求項１】
インターネット上に設けられるアプリケーションサーバーと、
ファイヤウォールを介して前記インターネットに接続されたローカルネットワークに設けられる画像処理装置と、
前記ローカルネットワークに設けられ、前記画像処理装置と前記アプリケーションサーバーとの通信を中継する中継サーバーと、
前記インターネット上に設けられ、前記中継サーバーに対して前記アプリケーションサーバーへの接続要求を送信する接続仲介サーバーと、
を備える画像処理システムであって、
前記接続仲介サーバーは、
前記アプリケーションサーバーからの前記画像処理装置を指定した通信開始要求を受信することに伴い、前記中継サーバーに対して接続要求を送信し、前記画像処理装置と前記アプリケーションサーバーとの通信状態を確立させる接続要求送信手段、
を備え、
前記中継サーバーは、
前記接続仲介サーバーからの前記接続要求に応じて前記アプリケーションサーバーに接続することにより前記通信状態を確立させる通信確立手段と、
前記アプリケーションサーバーから受信したジョブを前記画像処理装置に転送するジョブ転送手段と、
前記ジョブの種類を特定するジョブ特定手段と、
前記ジョブ特定手段により特定された前記ジョブの種類に応じて前記アプリケーションサーバーと前記中継サーバーとの間での送受信がない状態で前記通信状態を終了させる通信終了手段と、
を備え、
前記通信確立手段は、前記通信終了手段が前記通信状態を終了させた後に、前記画像処理装置から前記アプリケーションサーバーに送信するデータを受信した後に前記アプリケーションサーバーに接続することにより前記通信状態を再度確立させて当該データを転送することを特徴とする画像処理システム。
【請求項２】
前記通信終了手段は、前記ジョブを前記画像処理装置に転送してから前記データを受信するまで所定時間以上要すると判断した場合に、前記通信状態を終了することを特徴とする請求項１に記載の画像処理システム。
【請求項３】
前記通信終了手段は、前記アプリケーションサーバーに通知することなく前記通信状態を終了させることを特徴とする請求項１又は２に記載の画像処理システム。
【請求項４】
前記通信確立手段は、前記接続仲介サーバーから前記接続要求を受信することに基づき前記アプリケーションサーバーへの接続のためソケットを生成して前記通信状態を確立させ、
前記通信終了手段は、前記ソケットを破棄することにより前記通信状態を終了させることを特徴とする請求項３に記載の画像処理システム。
【請求項５】
前記通信確立手段は、前記アプリケーションサーバーに通知することなく前記通信状態を再度確立させることを特徴とする請求項３又は４に記載の画像処理システム。
【請求項６】
前記中継サーバーは、
前記接続要求に応じて接続する前記アプリケーションサーバーを特定するサーバー接続情報と、当該アプリケーションサーバーから受信したジョブを転送するために接続する前記画像処理装置を特定するデバイス接続情報とを関連付けて記憶する記憶手段、
を更に備え、
前記通信確立手段は、前記デバイス接続情報により特定される前記画像処理装置より当該ジョブの実行終了の通知を受信した場合に、前記記憶手段により当該デバイス接続情報と関連付けて記憶されている前記サーバー接続情報に基づき前記アプリケーションサーバーに接続することにより前記通信状態を再度確立させることを特徴とする請求項１乃至５のいずれかに記載の画像処理システム。
【請求項７】
ファイヤウォールを介してインターネットに接続されたローカルネットワークに設けられ、インターネット上に設けられる接続仲介サーバーに接続し、前記接続仲介サーバーから受信する接続要求に基づいてインターネット上に設けられるアプリケーションサーバーに接続すると共に、前記ローカルネットワークに設けられる画像処理装置と前記アプリケーションサーバーとの通信を中継する中継サーバーであって、
前記接続仲介サーバーからの前記接続要求に応じて前記アプリケーションサーバーに接続することにより前記画像処理装置と前記アプリケーションサーバーとの通信状態を確立させる通信確立手段と、
前記アプリケーションサーバーから受信したジョブを前記画像処理装置に転送するジョブ転送手段と、
前記ジョブの種類を特定するジョブ特定手段と、
前記ジョブ特定手段により特定された前記ジョブの種類に応じて前記アプリケーションサーバーとの間での送受信がない状態で前記通信状態を終了させる通信終了手段と、
を備え、
前記通信確立手段は、前記通信終了手段が前記通信状態を終了させた後に、前記画像処理装置から前記アプリケーションサーバーに送信するデータを受信した後に前記アプリケーションサーバーに接続することにより前記通信状態を再度確立させて当該データを転送することを特徴とする中継サーバー。
【請求項８】
前記通信終了手段は、前記ジョブを前記画像処理装置に転送してから前記データを受信するまで所定時間以上要すると判断した場合に、前記通信状態を終了することを特徴とする請求項７に記載の中継サーバー。
【請求項９】
前記通信終了手段は、前記アプリケーションサーバーに通知することなく前記通信状態を終了させることを特徴とする請求項７又は８に記載の中継サーバー。
【請求項１０】
前記通信確立手段は、前記接続仲介サーバーから前記接続要求を受信することに基づき前記アプリケーションサーバーへの接続のためソケットを生成して前記通信状態を確立させ、
前記通信終了手段は、前記ソケットを破棄することにより前記通信状態を終了させることを特徴とする請求項９に記載の中継サーバー。
【請求項１１】
前記通信確立手段は、前記アプリケーションサーバーに通知することなく前記通信状態を再度確立させることを特徴とする請求項９又は１０に記載の中継サーバー。
【請求項１２】
前記接続要求に応じて接続する前記アプリケーションサーバーを特定するサーバー接続情報と、当該アプリケーションサーバーから受信したジョブを転送するために接続する前記画像処理装置を特定するデバイス接続情報とを関連付けて記憶する記憶手段、
を更に備え、
前記通信確立手段は、前記デバイス接続情報により特定される前記画像処理装置より当該ジョブの実行終了の通知を受信した場合に、前記記憶手段により当該デバイス接続情報と関連付けて記憶されている前記サーバー接続情報に基づき前記アプリケーションサーバーに接続することにより上記通信状態を再度確立することを特徴とする請求項７乃至１１のいずれかに記載の中継サーバー。
【請求項１３】
ファイヤウォールを介してインターネットに接続されたローカルネットワークに設けられ、インターネット上に設けられる接続仲介サーバーに接続し、前記接続仲介サーバーから受信する接続要求に基づいてインターネット上に設けられるアプリケーションサーバーに接続すると共に、前記ローカルネットワークに設けられる画像処理装置と前記アプリケーションサーバーとの通信を中継する中継サーバーにおいて実行されるプログラムであって、
前記中継サーバーを
前記接続仲介サーバーからの前記接続要求に応じて前記アプリケーションサーバーに接続することにより前記画像処理装置と前記アプリケーションサーバーとの通信状態を確立させる通信確立手段、
前記アプリケーションサーバーから受信したジョブを前記画像処理装置に転送するジョブ転送手段、
前記ジョブの種類を特定するジョブ特定手段、及び
前記ジョブ特定手段により特定された前記ジョブの種類に応じて前記アプリケーションサーバーとの間での送受信がない状態で前記通信状態を終了させる通信終了手段、
として機能させ、
前記通信確立手段は、前記通信終了手段が前記通信状態を終了させた後に、前記画像処理装置から前記アプリケーションサーバーに送信するデータを受信した後に前記アプリケーションサーバーに接続することにより前記通信状態を再度確立させて当該データを転送することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理システム、中継サーバー及びプログラムに関し、特にインターネット上に設けられたサーバーと画像処理装置との通信を中継する技術に関する。
【背景技術】
【０００２】
近年、インターネットのクラウド上にＳａａＳ（Software as a Service）アプリケーションなどの様々なアプリケーションサーバーが設置され、インターネット経由でアプリケーションサーバーによるクラウドサービスが提供されている。クラウドサービスは、インターネットに接続できる環境があれば、いつでもどこからでも利用可能であるため、利便性が高い。クラウドサービスの一つの利用態様として、例えばアプリケーションサーバーに文書などのデータを蓄積しておき、そのデータをアプリケーションサーバーから社内のローカルネットワークに設けられた画像処理装置に転送して印刷出力などを行うことがある。
【０００３】
しかし、ローカルネットワークとインターネットとの間にはファイヤウォールが存在するため、ユーザーがアプリケーションサーバーに対してジョブ実行を指示しても、インターネット上のアプリケーションサーバーからローカルネットワークに設けられた画像処理装置等にデータを転送することができない。そこで、このようなデータ転送を可能にするため、例えば図１１に示すような画像処理システムが提案されている。
【０００４】
図１１に示す従来の画像処理システムは、インターネット１００上にアプリケーションサーバー１１０と、そのアプリケーションサーバー１１０と連携する接続仲介サーバー１１１とを備える。一方、社内ＬＡＮ（Local Area Network）などのローカルネットワーク１０１には、例えば中継サーバー１２０と画像処理装置１３０，１３１が設けられる。ローカルネットワーク１０１における画像処理装置は単数でもよい。中継サーバー１２０は、画像処理装置１３０、１３１とアプリケーションサーバー１１０との通信を中継するサーバーである。この中継サーバー１２０は、電源投入に伴う起動時にインターネット１００に設置されている接続仲介サーバー１１１との接続状態１４０を確立する。これにより、接続仲介サーバー１１１は、ファイヤウォールを越えてローカルネットワーク１０１に設けられた中継サーバー１２０と常時通信可能な状態となる。
【０００５】
この画像処理システムにおいて、例えばアプリケーションサーバー１１０がローカルネットワーク１０１に設けられた画像処理装置１３０に対してジョブ送信を行う場合、アプリケーションサーバー１１０は、まず接続仲介サーバー１１１に対して画像処理装置１３０を指定した通信開始要求Ｄ１０１を送信する。接続仲介サーバー１１１は、通信開始要求Ｄ１０１を受信すると、予め登録された情報に基づき画像処理装置１３０を管理する中継サーバー１２０を特定し、その中継サーバー１２０に対して接続要求Ｄ１０２を送信する。この接続要求Ｄ１０２には、アプリケーションサーバー１１０に接続するためのアドレス情報などが含まれる。中継サーバー１２０は、接続仲介サーバー１１１から接続要求Ｄ１０２を受信すると、それに含まれるアドレス情報などに基づき、アプリケーションサーバー１１０に対して接続開始要求Ｄ１０３を送信する。これにより中継サーバー１２０とアプリケーションサーバー１１０とが接続状態となり、アプリケーションサーバー１１０は、ローカルネットワーク１０１に設けられた中継サーバー１２０に対してジョブ送信を開始することができるようになる。そしてアプリケーションサーバー１１０によるジョブ送信が完了すると、中継サーバー１２０はアプリケーションサーバー１１０から受信したジョブを画像処理装置１３０に転送する。これにより、画像処理装置１３０は、中継サーバー１２０を介してアプリケーションサーバー１１０から送信されるジョブを受信することができ、そのジョブに基づく画像処理を行うことができるようになる。
【０００６】
ところで、上記の画像処理システムでは、ローカルネットワーク外のサーバー等がローカルネットワーク内の画像処理装置等にジョブを送信する際に、全て中継サーバー１２０により中継されることになる。そこで、中継サーバー１２０に一定の処理能力を発揮させるために、中継サーバー１２０がアプリケーションサーバー１１０等ローカルネットワーク外のサーバー等と同時に接続できる数に上限がある。仮に中継サーバー１２０とアプリケーションサーバー１１０との間の接続数が上限値であった場合、ユーザーがアプリケーションサーバー１１０に画像処理装置１３０を指定したジョブ送信を指示したとしても、当該ジョブ送信のため新たにアプリケーションサーバー１１０と中継サーバー１２０とを接続することができない。そうすると、ユーザーは、現在処理中のジョブが終了するなどして中継サーバー１２０が接続可能になるのを待たなければならず、新たなジョブを実行するために時間がかかることがある。しかも、ジョブを画像処理装置１３０に送信してから、画像処理装置１３０にてジョブ実行が終了するまでの間、アプリケーションサーバー１１０と中継サーバー１２０との間でのデータ等の送受信は発生しない場合にまで接続状態を維持することは、通信の有効利用の視点から見ても妥当ではない。
【０００７】
この点に関し、従来よりサーバーにデータを送信してサーバーで処理を行ってもらうサーバー連携機能を備えた画像形成装置において、サーバーへのデータ送信後にサーバーとの接続を一旦切断し、サーバーによる処理完了後にサーバーから画像形成装置に接続要求を行うことでサーバーから画像形成装置にデータを送信することが提案されている（例えば、特許文献１）。しかし、上述したとおり上記画像処理システムではローカルネットワークとインターネットとの間にはファイヤウォールが存在するため、特許文献１におけるサーバーから画像形成装置に対して接続要求を行うことはできないことから、特許文献１における先行技術を上記画像処理システムに適用することはできない。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００９−２９６４７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
本発明は、上記のような従来の問題点を解決課題としており、アプリケーションサーバーからジョブ等の送信を効率的に行うことができ、通信を有効に利用できる画像処理システム、中継サーバー及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するため、請求項１の発明は、インターネット上に設けられるアプリケーションサーバーと、ファイヤウォールを介して前記インターネットに接続されたローカルネットワークに設けられる画像処理装置と、前記ローカルネットワークに設けられ、前記画像処理装置と前記アプリケーションサーバーとの通信を中継する中継サーバーと、
前記インターネット上に設けられ、前記中継サーバーに対して前記アプリケーションサーバーへの接続要求を送信する接続仲介サーバーと、を備える画像処理システムであって、前記接続仲介サーバーは、前記アプリケーションサーバーからの前記画像処理装置を指定した通信開始要求を受信することに伴い、前記中継サーバーに対して接続要求を送信し、前記画像処理装置と前記アプリケーションサーバーとの通信状態を確立させる接続要求送信手段、を備え、前記中継サーバーは、前記接続仲介サーバーからの前記接続要求に応じて前記アプリケーションサーバーに接続することにより前記通信状態を確立させる通信確立手段と、前記アプリケーションサーバーから受信したジョブを前記画像処理装置に転送するジョブ転送手段と、前記ジョブの種類を特定するジョブ特定手段と、前記ジョブ特定手段により特定された前記ジョブの種類に応じて前記アプリケーションサーバーと前記中継サーバーとの間での送受信がない状態で前記通信状態を終了させる通信終了手段と、を備え、前記通信確立手段は、前記通信終了手段が前記通信状態を終了させた後に、前記画像処理装置から前記アプリケーションサーバーに送信するデータを受信した後に前記アプリケーションサーバーに接続することにより前記通信状態を再度確立させて当該データを転送することを特徴としている。
【００１１】
請求項２の発明は、請求項１に記載の画像処理システムにおいて、  前記通信終了手段は、前記ジョブを前記画像処理装置に転送してから前記データを受信するまで所定時間以上要すると判断した場合に、前記通信状態を終了することを特徴としている。
【００１２】
請求項３の発明は、請求項１又は２に記載の画像処理システムにおいて、前記通信終了手段は、前記アプリケーションサーバーに通知することなく前記通信状態を終了させることを特徴としている。
【００１３】
請求項４の発明は、請求項３に記載の画像処理システムにおいて、前記通信確立手段は、前記接続仲介サーバーから前記接続要求を受信することに基づき前記アプリケーションサーバーへの接続のためソケットを生成して前記通信状態を確立させ、前記通信終了手段は、前記ソケットを破棄することにより前記通信状態を終了させることを特徴としている。
【００１４】
請求項５の発明は、請求項３又は４に記載の画像処理システムにおいて、前記通信確立手段は、前記アプリケーションサーバーに通知することなく前記通信状態を再度確立させることを特徴としている。
【００１５】
請求項６の発明は、請求項１乃至５のいずれかに記載の画像処理システムにおいて、前記中継サーバーは、前記接続要求に応じて接続する前記アプリケーションサーバーを特定するサーバー接続情報と、当該アプリケーションサーバーから受信したジョブを転送するために接続する前記画像処理装置を特定するデバイス接続情報とを関連付けて記憶する記憶手段、を更に備え、前記通信確立手段は、前記デバイス接続情報により特定される前記画像処理装置より当該ジョブの実行終了の通知を受信した場合に、前記記憶手段により当該デバイス接続情報と関連付けて記憶されている前記サーバー接続情報に基づき前記アプリケーションサーバーに接続することにより前記通信状態を再度確立させることを特徴としている。
【００１６】
請求項７の発明は、ファイヤウォールを介してインターネットに接続されたローカルネットワークに設けられ、インターネット上に設けられる接続仲介サーバーに接続し、前記接続仲介サーバーから受信する接続要求に基づいてインターネット上に設けられるアプリケーションサーバーに接続すると共に、前記ローカルネットワークに設けられる画像処理装置と前記アプリケーションサーバーとの通信を中継する中継サーバーであって、前記接続仲介サーバーからの前記接続要求に応じて前記アプリケーションサーバーに接続することにより前記画像処理装置と前記アプリケーションサーバーとの通信状態を確立させる通信確立手段と、前記アプリケーションサーバーから受信したジョブを前記画像処理装置に転送するジョブ転送手段と、前記ジョブの種類を特定するジョブ特定手段と、前記ジョブ特定手段により特定された前記ジョブの種類に応じて前記アプリケーションサーバーとの間での送受信がない状態で前記通信状態を終了させる通信終了手段と、を備え、前記通信確立手段は、前記通信終了手段が前記通信状態を終了させた後に、前記画像処理装置から前記アプリケーションサーバーに送信するデータを受信した後に前記アプリケーションサーバーに接続することにより前記通信状態を再度確立させて当該データを転送することを特徴としている。
【００１７】
請求項８の発明は、請求項７に記載の中継サーバーにおいて、  前記通信終了手段は、前記ジョブを前記画像処理装置に転送してから前記データを受信するまで所定時間以上要すると判断した場合に、前記通信状態を終了することを特徴としている。
【００１８】
請求項９の発明は、請求項７又は８に記載の中継サーバーにおいて、前記通信終了手段は、前記アプリケーションサーバーに通知することなく前記通信状態を終了させることを特徴としている。
【００１９】
請求項１０の発明は、請求項９に記載の中継サーバーにおいて、前記通信確立手段は、前記接続仲介サーバーから前記接続要求を受信することに基づき前記アプリケーションサーバーへの接続のためソケットを生成して前記通信状態を確立させ、前記通信終了手段は、前記ソケットを破棄することにより前記通信状態を終了させることを特徴としている。
【００２０】
請求項１１の発明は、請求項７乃至１０のいずれかに記載の中継サーバーにおいて、前記通信確立手段は、前記アプリケーションサーバーに通知することなく前記通信状態を再度確立させることを特徴としている。
【００２１】
請求項１２の発明は、請求項７乃至１１のいずれかに記載の中継サーバーにおいて、前記接続要求に応じて接続する前記アプリケーションサーバーを特定するサーバー接続情報と、当該アプリケーションサーバーから受信したジョブを転送するために接続する前記画像処理装置を特定するデバイス接続情報とを関連付けて記憶する記憶手段、を更に備え、前記通信確立手段は、前記デバイス接続情報により特定される前記画像処理装置より当該ジョブの実行終了の通知を受信した場合に、前記記憶手段により当該デバイス接続情報と関連付けて記憶されている前記サーバー接続情報に基づき前記アプリケーションサーバーに接続することにより上記通信状態を再度確立することを特徴としている。
【００２２】
請求項１３の発明は、ファイヤウォールを介してインターネットに接続されたローカルネットワークに設けられ、インターネット上に設けられる接続仲介サーバーに接続し、前記接続仲介サーバーから受信する接続要求に基づいてインターネット上に設けられるアプリケーションサーバーに接続すると共に、前記ローカルネットワークに設けられる画像処理装置と前記アプリケーションサーバーとの通信を中継する中継サーバーにおいて実行されるプログラムであって、前記中継サーバーを前記接続仲介サーバーからの前記接続要求に応じて前記アプリケーションサーバーに接続することにより前記画像処理装置と前記アプリケーションサーバーとの通信状態を確立させる通信確立手段、前記アプリケーションサーバーから受信したジョブを前記画像処理装置に転送するジョブ転送手段、前記ジョブの種類を特定するジョブ特定手段、及び前記ジョブ特定手段により特定された前記ジョブの種類に応じて前記アプリケーションサーバーとの間での送受信がない状態で前記通信状態を終了させる通信終了手段、として機能させ、前記通信確立手段は、前記通信終了手段が前記通信状態を終了させた後に、前記画像処理装置から前記アプリケーションサーバーに送信するデータを受信した後に前記アプリケーションサーバーに接続することにより前記通信状態を再度確立させて当該データを転送することを特徴としている。
【発明の効果】
【００２３】
本発明によれば、中継サーバーがアプリケーションサーバーからジョブを受信するとジョブの種類に応じてアプリケーションサーバーと中継サーバーとの接続を終了させ、画像処理装置からアプリケーションサーバーに送信するデータを受信した後に中継サーバーがアプリケーションサーバーに再度接続して当該データを転送する。そうすることにより、アプリケーションサーバーと中継サーバーとの接続が終了している間において、新たにジョブを送信するためインターネット上のサーバー等と中継サーバーとの間で新たな通信を確立できることから、効率的にジョブを送信可能となり、また、通信の有効利用を促進することができる。
【図面の簡単な説明】
【００２４】
【図１】画像処理システムの一構成例を示す図である。
【図２】接続仲介サーバーの機能構成の一例を示すブロック図である。
【図３】中継サーバーの機能構成の一例を示すブロック図である。
【図４】中継サーバーに記憶される管理テーブルの一例を示す図である。
【図５】中継サーバーがスキャンジョブを受信して画像処理装置に転送すると共に、アプリケーションサーバーとの接続を終了させる場合の各プロセスの流れの概要を示す図である。
【図６】中継サーバーが印刷ジョブを受信して画像処理装置に転送する際、印刷処理時間を算出した上でアプリケーションサーバーとの接続を維持する場合の各プロセスの流れの概要を示す図である。
【図７】中継サーバーで行われる処理手順の一例を示すフローチャートである。
【図８】サーバー接続一時終了処理の詳細な処理手順の一例を示すフローチャートである。
【図９】サーバー再接続処理の詳細な処理手順の一例を示すフローチャートである。
【図１０】サーバー接続通常終了処理の詳細な処理手順の一例を示すフローチャートである。
【図１１】従来の画像処理システムを示す図である。
【発明を実施するための形態】
【００２５】
以下、本発明に関する好ましい実施形態について図面を参照しつつ詳細に説明する。なお、以下に説明する実施形態において互いに共通する部材には同一符号を付しており、それらについての重複する説明は省略する。
【００２６】
図１は、画像処理システム１の一構成例を示す図である。この画像処理システム１は、インターネット２と、ローカルネットワーク３とがファイヤウォール４を介して接続されたネットワーク環境において、インターネット２にアプリケーションサーバー５と接続仲介サーバー６とが設けられ、ローカルネットワーク３にファイヤウォール４と、中継サーバー７と、画像処理装置８ａ、８ｂとが設けられた構成である。なお、図例では画像処理装置は複数設けられているが、単数であってもよい。
【００２７】
アプリケーションサーバー５は、例えばＳａａＳ（Software as a Service）アプリケーションなどによる様々なアプリケーションサービス（クラウドサービス）を提供するサーバーである。例えば、プリケーションサーバー５は、インターネット２を介してストレージサービスを提供し、文書などの様々なデータを保存しておくことができる。情報処理端末１０は、ローカルネットワーク３を介して、或いは、ローカルネットワーク３とは異なる公衆電話回線などのネットワークを介してアプリケーションサーバー５に接続可能であり、データをアプリケーションサーバー５に保存したり、アプリケーションサーバー５を経由してローカルネットワーク３内に設けられる画像処理装置８ａ，８ｂ等にジョブを送信可能である。
【００２８】
接続仲介サーバー６は、中継サーバー７に対してアプリケーションサーバー５への接続要求を送信するサーバーであり、接続仲介サーバー６はアプリケーションサーバー５から画像処理装置８ａ又は８ｂを指定した通信開始要求を受信することに伴い、中継サーバー７に対して接続要求を送信し、中継サーバー７とアプリケーションサーバー５との通信状態を確立させるものである。
【００２９】
ファイヤウォール４は、ＬＡＮなどのローカルネットワーク３をインターネット２に接続するインタフェースである。ファイヤウォール４は、ローカルネットワーク３に設けられた機器がインターネット２に設けられたサーバーに接続した状態のときには当該機器とサーバーとの相互通信を許容する一方、ローカルネットワーク３に設けられた機器がインターネット２に設けられたサーバーに接続していない状態のときにはそのサーバーからローカルネットワーク３内へのアクセスを遮断する。
【００３０】
中継サーバー７は、ローカルネットワーク３に設けられ、画像処理装置８ａ又は８ｂとアプリケーションサーバー５との通信を中継するゲートウェイサーバーである。画像処理装置８ａ及び８ｂは、例えば複合機やプリンタなどにより構成され、ローカルネットワーク３を介して入力するデータなどに基づき画像処理を行うことのできる装置である。
【００３１】
画像処理システム１において、中継サーバー７は、電源投入に伴う起動時に、ファイヤウォール４を介してインターネット２に設けられた接続仲介サーバー６との常時接続状態を確立する。これにより、接続仲介サーバー６は、アプリケーションサーバー５から通信開始要求を受信した場合に、ファイヤウォール４を越えてローカルネットワーク３に設けられた中継サーバー７に接続要求を送信可能となる。
【００３２】
例えばユーザーがスマートフォンやタブレット端末、パーソナルコンピュータなどの情報処理端末１０を用いてアプリケーションサーバー５に接続し、画像処理装置８ａにおいて書類等のスキャン処理を指定してジョブ実行を指示すると、アプリケーションサーバー５は接続仲介サーバー６に対して画像処理装置８ａを指定した通信開始要求を送信する。接続仲介サーバー６は、アプリケーションサーバー５からの通信開始要求を受信すると、中継サーバー７に対して接続要求を送信する。この接続要求には、アプリケーションサーバー５に接続するためのアドレス情報などが含まれる。例えば、接続仲介サーバー６から接続要求を受信すると、中継サーバー７は、アプリケーションサーバー５に接続するためのソケットを生成し、そのソケットを介してアプリケーションサーバー５にＨＴＴＰ（Hypertext Transfer Protocol）リクエストを送信する。アプリケーションサーバー５は、中継サーバー７から送信されるＨＴＴＰリクエストを受信すると、中継サーバー７と通信を行うためのソケットを生成し、そのソケットを介してＨＴＴＰレスポンスを返す。これにより、中継サーバー７とアプリケーションサーバー５とは、互いにファイヤウォール４を超えてＨＴＴＰセッションを確立した状態となる。このようなＨＴＴＰセッションは、例えばジョブごとに生成される。またＨＴＴＰセッションの確立により、中継サーバー７とアプリケーションサーバー５とが互いに接続した状態となり、相互の通信状態が確立する。これにより、アプリケーションサーバー５は、中継サーバー７との間で確立されたＨＴＴＰセッションをトンネルにして、スキャンジョブなどのジョブを中継サーバー７に送信することができるようになる。尚、ここでは、中継サーバー７とアプリケーションサーバー５との間でＨＴＴＰセッションが確立される場合を例示したが、中継サーバー７とアプリケーションサーバー５との通信状態の確立は必ずしもＨＴＴＰセッションによるものでなくても良い。
【００３３】
中継サーバー７は、アプリケーションサーバー５との通信状態を確立させた後、アプリケーションサーバー５からジョブを受信すると、画像処理装置８ａにそのジョブを転送し、アプリケーションサーバー５と画像処理装置８ａとの通信を中継する。画像処理装置８ａが中継サーバー７から転送されるジョブを受信すると、画像処理装置８ａにてジョブが実行され、スキャン処理が行われる。ここで、中継サーバー７がインターネット２に設けられるアプリケーションサーバー５と同時に接続できる接続数には予め上限値が設定されている。そのため、中継サーバー７は、接続仲介サーバー６から接続要求を受信したとき、インターネット２に設けられるアプリケーションサーバー５との現在の接続数が上限値に達していなければ、アプリケーションサーバー５に接続する。これに対し、既に上限値に達していれば、接続仲介サーバー６からの接続要求を受信しても、中継サーバー７はアプリケーションサーバー５に接続しない。
【００３４】
また、中継サーバー７は、アプリケーションサーバー５から受信したジョブの種類を特定する機能を有している。つまり、アプリケーションサーバー５から画像処理装置８ａに送信されるジョブには様々なジョブがあり、ジョブの種類に応じて、上述のＨＴＴＰセッションをトンネルにして画像処理装置８ａとアプリケーションサーバー５との間で行われるデータ通信の頻度が異なる。そのため、中継サーバー７は、ジョブの種類を特定し、画像処理装置８ａとアプリケーションサーバー５との間でデータ通信が行われない期間が生じるジョブのときには、その期間中、アプリケーションサーバー５と画像処理装置８ａとの通信状態を終了させるものである。例えば、アプリケーションサーバー５から受信したスキャンジョブがＯＣＲ（Optical Character Recognition）処理を含むジョブである場合、画像処理装置８ａは、スキャンで読み取った画像データに含まれる文字を一文字ずつ認識していくＯＣＲ処理が行われるため、ジョブの実行完了までに所定時間以上を要する。このようにジョブ実行に所定時間以上要する場合、中継サーバー７は、アプリケーションサーバー５との接続を一時的に終了させる。ただし、特定したジョブの種類が実行完了までに所定時間以上を要するものであっても、アプリケーションサーバー５と中継サーバー７との間でデータの送受信が行われているときに接続を終了させるとデータを正常に送受信することができずエラーが発生する。そのため、中継サーバー７は、アプリケーションサーバー５との間でデータの送受信が行われていない状態であることを検知した場合に接続を終了させる。ただし、ここでの接続終了は、上述したＨＴＴＰセッションを中継サーバー７とアプリケーションサーバー５との双方で正常に終了させるものではない。すなわち、中継サーバー７は、アプリケーションサーバー５にＨＴＴＰセッションの終了を通知することなく、一方的にアプリケーションサーバー５とのＨＴＴＰセッションを形成しているソケットを破棄することにより、アプリケーションサーバー５との接続を終了させる。
【００３５】
中継サーバー７は、アプリケーションサーバー５との接続を一時的に終了させた場合、その後、画像処理装置８ａからアプリケーションサーバー５に対して送信すべきデータを受信するまではその接続終了状態を継続させる。そして中継サーバー７は、画像処理装置８ａからアプリケーションサーバー５に送信すべきデータを受信した後、アプリケーションサーバー５に再び接続し、これによりアプリケーションサーバー５と画像処理装置８ａとの通信状態を再度確立させて当該データをアプリケーションサーバー５に転送する。このとき、中継サーバー７は、アプリケーションサーバー５に接続するためのソケットを再度生成し、そのソケットを既に形成済みのＨＴＴＰセッションに組み込むことにより、一時的に終了させていたアプリケーションサーバー５との接続状態を復元する。このように中継サーバー７は、通信状態を再度確立させるときには、接続仲介サーバー６から接続要求を受信したときと同様の処理手順で新たなＨＴＴＰセッションを確立するのではなく、一方的に一旦破棄したＨＴＴＰセッションを復活させることによって再度同じ通信状態を確立させる。
【００３６】
例えば、画像処理装置８ａにてスキャン処理が実行された場合、そのスキャン処理により生成されたスキャンデータが中継サーバー７に送信される。スキャンデータは、スキャン対象物の全ページ読み取り終了後にデータが一括して中継サーバー７に送信されることもあるし、また、スキャン対象物の各ページが読み取られる毎にスキャンデータが１ページずつ中継サーバー７に送信されることもある。そして、中継サーバー７は、全ページ分のスキャンデータを受信した後にアプリケーションサーバー５に再度接続し、当該スキャンデータを転送してもよいし、スキャンデータの一部（例えば１ページ目）を受信した後にアプリケーションサーバー５に再度接続し、スキャンデータを受信する毎にアプリケーションサーバー５に転送してもよい。このような処理により、中継サーバー７は、アプリケーションサーバー５よりジョブを受信してから、画像処理装置８ａよりアプリケーションサーバー５に送信すべきデータを受信するまでの間、アプリケーションサーバー５との接続状態を一時的に終了させることにより、アプリケーションサーバー５との接続数を一時的に減少させることができるため、インターネット２に設けられるアプリケーションサーバー５から新たなジョブを受信するための新たな通信状態を確立させることが可能となる。それ故、アプリケーションサーバー５との接続数を上限値以下に抑えつつ、通信効率を向上させることができるようになる。
【００３７】
次に、画像処理システム１を構成する接続仲介サーバー６と中継サーバー７について、それぞれの機能を説明する。図２に示すように、接続仲介サーバーは、ＣＰＵとメモリとにより構成される制御部１４と、アプリケーションサーバー５及び中継サーバー７と通信を行うための通信インタフェース１５とを備える。そして、制御部１４は、ＣＰＵが所定のプログラムを実行することにより、接続要求送信部１６として機能する。接続要求送信部１６は、接続仲介サーバー６がアプリケーションサーバー５から画像処理装置８ａ又は８ｂを指定した通信開始要求を受信することに伴い、中継サーバー７に対して接続要求を送信する処理部であり、これにより、中継サーバー７をアプリケーションサーバー５に接続させて画像処理装置８ａ又は８ｂとアプリケーションサーバー５との通信状態を確立させるものである。この接続要求には、出力先として指定された画像処理装置８ａ又は８ｂに関する情報と、アプリケーションサーバー５に接続するためのアドレス情報とが含まれる。また、接続要求には、アプリケーションサーバー５のアドレス情報に加えて、ジョブに関する通信を制御するアプリケーションを特定するポート番号が含まれていてもよい。接続仲介サーバー６は中継サーバー７と常時接続状態であるため、接続要求送信部１６は、その接続状態を利用して接続要求を中継サーバー７に送信する。そのため、接続要求はファイヤウォール４に遮断されることなく、中継サーバー７により正常に受信される。
【００３８】
次に、中継サーバー７について説明する。図３は、中継サーバー７のハードウェア構成及び機能構成の一例を示すブロック図である。中継サーバー７は、ＣＰＵとメモリとから構成される制御部２０と、ハードディスクドライブ（ＨＤＤ）などで構成される記憶部２１と、ローカルネットワーク３での通信を行うための通信インタフェース２２とを有している。制御部２０は、ＣＰＵが所定のプログラムを実行することにより、通信確立部２５、ジョブ転送部２６、ジョブ特定部２７及び通信終了部２８として機能する。
【００３９】
通信確立部２５は、接続仲介サーバー６から受信する接続要求に応じてアプリケーションサーバー５に接続する処理部であり、アプリケーションサーバー５に接続した後には画像処理装置８ａ又は８ｂとアプリケーションサーバー５との通信を中継するものである。通信確立部２５は、接続要求に含まれるアプリケーションサーバー５のアドレス情報に基づき、アプリケーションサーバー５にＨＴＴＰリクエストなどの接続開始要求を送信し、アプリケーションサーバー５がこの接続開始要求に応じてＨＴＴＰレスポンスなどを返答することにより、中継サーバー７はアプリケーションサーバー５に接続する。なお、接続要求にポート番号も含まれている場合、通信確立部２５はアプリケーションサーバー５における当該ポート番号で特定されるアプリケーションを指定して接続開始要求を送信するようにしてもよい。この場合、アプリケーションサーバー５においてジョブに関する通信を制御するアプリケーションを宛先として接続開始要求を送信することができるため、的確に接続を確立することができる。中継サーバー７がアプリケーションサーバー５に接続すると、アプリケーションサーバー５から中継サーバー７に対して画像処理装置８ａ又は８ｂを出力先として指定したジョブが送信される。アプリケーションサーバー５から受信したジョブは、ジョブ転送部２６により、ジョブの出力先として指定された画像処理装置８ａ又は８ｂに転送される。
【００４０】
通信確立部２５は、後述する通信終了部２８が画像処理装置８ａ又は８ｂとアプリケーションサーバー５との通信状態を一時的に終了させた後、画像処理装置８ａ又は８ｂからアプリケーションサーバー５に送信すべきデータを受信した後にアプリケーションサーバー５に再度接続することにより、画像処理装置８ａ又は８ｂとアプリケーションサーバー５との通信状態を再度確立させ、画像処理装置８ａ又は８ｂから受信したデータをアプリケーションサーバー５へ転送する。例えば、画像処理装置８ａ又は８ｂから印刷ジョブの実行終了の通知を受信すると、通信確立部２５はアプリケーションサーバー５との接続状態を再度確立し、ジョブの実行終了通知をアプリケーションサーバー５へ転送する。また、ジョブがスキャン処理であった場合、中継サーバー７は、スキャン処理により生成されたスキャンデータの全部又は一部を画像処理装置８ａ又は８ｂより受信した後に、アプリケーションサーバー５に再接続してこれを転送する。そして、アプリケーションサーバー５からユーザーに対してジョブが正常に終了したことが通知され、或いはデータがアプリケーションサーバー５に記憶されることにより、当該ジョブに関する処理が完了する。
【００４１】
ジョブ特定部２７は、アプリケーションサーバー５から受信したジョブの種類を特定する処理部である。通信確立部２５によってアプリケーションサーバー５への接続状態が確立され、アプリケーションサーバー５から画像処理装置８ａを指定したジョブが受信された場合、ジョブ転送部２６は、そのジョブを画像処理装置８ａに転送する。これと共に、ジョブ特定部２７は、そのジョブの種類を特定する処理を行う。ジョブ特定部２７は例えばジョブの設定情報を解析することにより、スキャンジョブや印刷ジョブなどのジョブの種類を特定する。またスキャンジョブの場合、ジョブ特定部２７は、そのスキャンジョブに付加されたジョブとして、例えばＯＣＲ処理や画像データの圧縮処理などの処理時間が一定時間以上となるジョブが含まれるか否かについても特定する。また印刷ジョブの場合、ジョブ特定部２７は、ページ数や用紙サイズ、用紙種類、カラー印刷、モノクロ印刷、両面印刷などの印刷設定ついても特定する。
【００４２】
通信終了部２８は、ジョブ特定部２７により特定されたジョブの種類に応じて、アプリケーションサーバー５と中継サーバー７との間でデータの送受信が所定時間以上生じないジョブであるか否かを判断し、そのようなジョブであれば、アプリケーションサーバー５と中継サーバー７との間でデータの送受信が行われていない状態のときに、アプリケーションサーバー５と画像処理装置８ａ又は８ｂとの通信状態を一時終了させる処理部である。例えば、ジョブ特定部２７によって特定されたジョブの種類が、ＯＣＲ処理や画像データの圧縮処理などの処理時間が一定時間以上となるジョブが付加されたスキャンジョブである場合、通信終了部２８は、画像処理装置８ａ又は８ｂにおいてそのようなスキャンジョブが行われている間、アプリケーションサーバー５と中継サーバー７との間でのデータの送受信がない状態のときにアプリケーションサーバー５との接続状態を終了させる。また、ジョブ特定部２７によって特定されたジョブの種類が、印刷ジョブであって、ページ数が所定ページ数以上である場合、用紙サイズが所定サイズ以上である場合、用紙厚が所定厚さ以上である場合、カラー印刷である場合、又は、両面印刷である場合など、印刷設定に所定の設定が含まれる場合、通信終了部２８は、画像処理装置８ａ又は８ｂにおいてそのような印刷ジョブが行われている間、アプリケーションサーバー５と中継サーバー７との間でのデータの送受信がない状態のときにアプリケーションサーバー５との接続状態を終了させる。これにより、画像処理装置８ａ又は８ｂでジョブの実行が開始されてから終了するまでの間に、新たなジョブの送信のために、中継サーバー７は、アプリケーションサーバー５に対して新たな接続状態を確立させることができ、ローカルネットワーク３外のアプリケーションサーバー５から中継サーバー７に対して新たなジョブを送信することが可能となる。また、通信終了部２８は、例えばジョブ特定部２７により特定されるジョブの種類に応じてそのジョブの実行開始から終了するまでに要する時間を演算によって見積もり、その見積もり時間が所定時間以上であると判断した場合に、アプリケーションサーバー５との接続を終了させてもよい。
【００４３】
記憶部２１は、通信確立部２５によって生成及び管理される管理テーブル２９と、画像処理装置８ａ，８ｂに関するデバイス情報３０とを記憶する。管理テーブル２９は、通信確立部２５によってアプリケーションサーバー５との新たな接続状態（例えばＨＴＴＰセッション）が確立されるときにその接続状態が記録される情報であって、通信終了部２８による接続終了後、通信確立部２５が再度アプリケーションサーバー５に接続する際に参照する情報である。この管理テーブル２９は、接続仲介サーバー６から受信した接続要求に応じて接続するアプリケーションサーバー５を特定するサーバー接続情報２９ａと、アプリケーションサーバー５から受信したジョブの転送先となる画像処理装置８ａ又は８ｂを特定するデバイス接続情報２９ｂとを一対一で対応付けたテーブル情報である。デバイス情報３０は、ジョブの転送対象である画像処理装置８ａ、８ｂの機能や処理能力などが予め登録された情報である。
【００４４】
図４は、管理テーブル２９の一例を示す表である。通信確立部２５は、接続要求に含まれるアプリケーションサーバー５に接続するためのアドレス情報等と、出力先として指定された画像処理装置８ａ又は８ｂのアドレス情報等を取得する。そして通信確立部２５は、接続要求に基づいてアプリケーションサーバー５との新たな接続状態を確立した際に、アプリケーションサーバー５に接続するための情報を管理テーブル２９に登録する。また通信確立部２５は、アプリケーションサーバー５との新たな接続状態を確立させた後、アプリケーションサーバー５からジョブを受信すると、そのジョブの出力先を特定し、出力先となる画像処理装置に関する情報を管理テーブル２９に登録する。接続するアプリケーションサーバー５を特定するサーバー接続情報２９ａには、例えば接続ＩＤ、アプリケーションサーバー５のアドレスを示すアプリケーションアドレス、さらにアプリケーションサーバー５における当該ジョブに関する通信を制御するアプリケーションのアプリケーションポート番号が含まれる。また、当該接続の現在の状態を示す接続フラグが含まれる場合もあり、接続フラグがＯＮの場合にはアプリケーションサーバー５と中継サーバー７が接続中であり、接続フラグがＯＦＦの場合にはアプリケーションサーバー５と中継サーバー７の接続が一時終了中であることを示す。
【００４５】
デバイス接続情報２９ｂには、例えば出力先として指定された画像処理装置８ａ又は８ｂのデバイスを特定するデバイスアドレスと、当該デバイスと接続する中継サーバー７におけるポート番号（デバイスポート番号）が含まれる。特定のジョブ送信に関するサーバー接続情報２９ａとデバイス接続情報２９ｂは、互いに一対一で関連付けられた状態で管理テーブル２９に登録される。そして通信確立部２５は、デバイス接続情報２９ｂにより特定される画像処理装置８ａ又は８ｂからアプリケーションサーバー５に送信すべきデータを受信すると、管理テーブル２９において当該デバイス接続情報２９ｂと関連付けて記憶されているサーバー接続情報２９ａに基づき、当該サーバー接続情報２９ａにより特定されるアプリケーションサーバー５との接続状態を復元し、アプリケーションサーバー５と画像処理装置８ａ又は８ｂとの通信状態を再度確立させる。例えば画像処理装置８ａから印刷ジョブの実行終了の通知を受信した場合やスキャンジョブにおける全部又は一部のスキャンデータを受信した場合、通信確立部２５は管理テーブル２９を参照し、画像処理装置８ａのデバイスアドレスと、当該ジョブの実行終了通知やスキャンデータを受信した自機のポート番号（デバイスポート番号）に基づき、これに該当するデバイス接続情報２９ｂを特定する。そして、当該デバイス接続情報２９ｂと関連付けて登録されるサーバー接続情報２９ａを参照し、これに基づき対応するアプリケーションサーバー５との接続状態を接続終了前の状態に復帰させて画像処理装置８ａから受信したデータを転送する。通信確立部２５は、このような管理テーブル２９を参照することにより、一時終了させていたアプリケーションサーバー５との接続状態（例えばＨＴＴＰセッション）を速やかに特定してその接続状態を復元することにより、アプリケーションサーバー５に対する再接続を行うことができる。さらに、サーバー接続情報２９ａには、アプリケーションサーバー５において当該ジョブに関する通信を制御するアプリケーションのアプリケーションポート番号が含まれる。そのため、同一のアプリケーションサーバー５から中継サーバー７に対して複数のジョブが送信され、通信確立部２５がそれら複数のジョブのそれぞれについてアプリケーションサーバー５との接続状態を確立させた後に、通信終了部２８によって一部の接続が一時終了した状態となっている場合であっても、当該ジョブに対応するアプリケーションを特定してアプリケーションサーバー５との再接続を行うことができるため、より効率的に再接続を行うことが可能となる。
【００４６】
図３に戻って、デバイス情報３０は、中継サーバー７がローカルネットワーク３において接続する画像処理装置８ａ、８ｂに関する情報であり、例えば中継サーバー７がこれらの画像処理装置８ａ、８ｂと接続した際に予め取得され、記憶部２１に記憶されるものである。このデバイス情報３０は、通信終了部２８によってジョブの実行開始から終了するまでに要する時間の見積もりが行われるときに参照される情報である。例えば、デバイス情報３０には、上述したように各画像処理装置８ａ、８ｂの機能や処理能力などの情報が予め登録されている。そのため、通信終了部２８は、ジョブ特定部２７によって特定されたジョブの種類に基づいてデバイス情報３０を参照することにより、画像処理装置８ａ，８ｂでジョブの実行が開始されてから終了するまでに要する時間を正確に算出することができる。そして算出された時間が所定時間を超える場合、通信終了部２８はアプリケーションサーバー５との接続を一時終了させる判断を行う。これにより、アプリケーションサーバー５から受信したジョブが処理に時間がかかるジョブである場合に、アプリケーションサーバー５と中継サーバー７との接続を一時終了させることにより、新たなジョブを中継サーバー７に送信するためローカルネットワーク３外のアプリケーションサーバー５と中継サーバー７とを接続することが可能となる。なお、ジョブ特定部２７により特定されたジョブが所定の種類である場合において、デバイス情報３０に基づき算出される処理時間にかかわらず、通信終了部２８はアプリケーションサーバー５との接続を一時終了させるか否か判断してもよい。
【００４７】
図５は、中継サーバーがスキャンジョブを受信して画像処理装置に転送すると共に、アプリケーションサーバーとの接続を終了させる場合の各プロセスの流れの概要を示す図である。まず、中継サーバー７が起動すると（プロセスＰ１）、中継サーバー７は接続仲介サーバー６との常時接続状態を確立する（プロセスＰ２）。これにより、接続仲介サーバー６から中継サーバー７に対していつでも接続要求を送信することができる状態となる。その後、アプリケーションサーバー５において画像処理装置８ａを出力先として指定したスキャンジョブが指定されると（プロセスＰ３）、アプリケーションサーバー５から接続仲介サーバー６に対して通信開始要求を送信する（プロセスＰ４）。この通信開始要求を受信すると、接続仲介サーバー６は中継サーバー７に対して接続要求を送信する（プロセスＰ５）。中継サーバー７は、接続要求を受信すると、接続要求に含まれるアプリケーションサーバー５のアドレス等に基づきアプリケーションサーバー５に接続開始要求を送信し（プロセスＰ６）、アプリケーションサーバー５が当該接続開始要求を承諾することによりアプリケーションサーバー５と接続する。アプリケーションサーバー５に接続すると、中継サーバー７とローカルネットワーク３外のアプリケーションサーバー５との接続本数はｎとなる（プロセスＰ７）。次に、アプリケーションサーバー５から中継サーバー７に対してスキャンジョブが送信されると（プロセスＰ８）、中継サーバー７は出力先として指定された画像処理装置８ａに対して当該スキャンジョブを転送する（プロセスＰ９）。そして当該スキャンジョブを受信した画像処理装置８ａはドキュメント等のスキャンを開始する。
【００４８】
また、中継サーバー７は、スキャンジョブを画像処理装置８ａに転送する（前出プロセスＰ９）と共に、当該スキャンジョブの種類を特定する（プロセスＰ１１）。そして、特定されたジョブの種類に応じて、中継サーバー７はアプリケーションサーバー５との送受信がない状態において接続を一時終了させる（プロセスＰ１２）。例えば、アプリケーションサーバー５との接続を一時終了させるか否かについて、中継サーバー７は、特定されたスキャンジョブがＯＣＲ処理や画像データの圧縮処理等の時間のかかる処理を含むものであることが判明した場合、画像処理装置８ａにてスキャンジョブが実行されている間、アプリケーションサーバー５と中継サーバー７との間にデータの送受信が所定時間以上生じないと判断し、接続を一時終了させる。画像処理装置８ａが当該スキャンジョブを実行することにより生成されるスキャンデータが中継サーバー７に受信されるまでの間、中継サーバー７とアプリケーションサーバー５との間にはデータ等の送受信がないことから、当該スキャンジョブを終了するまでの間、中継サーバー７とアプリケーションサーバー５との接続を一時終了させることにより、中継サーバー７は、ローカルネットワーク３外のサーバー等から新たなジョブを受信するためサーバー等との接続を行うことが可能となり、通信を有効活用できる。
【００４９】
そして、プロセスＰ１２においてアプリケーションサーバー５との接続を一時終了させる際、中継サーバー７は、アプリケーションサーバー５に対してＨＴＴＰセッションの終了を通知することなく一方的にソケットを破棄することにより接続を一時的に終了することがある。この点、中継サーバー７とのＨＴＴＰセッションが終了したことをアプリケーションサーバー５が認識すると、スキャンジョブの終了前にエラーが発生したものとしてエラー処理を行い、ユーザーに対してジョブ終了前にエラーが発生したことを通知する。そこで、中継サーバー７からアプリケーションサーバー５に対してＨＴＴＰセッションを終了させることを通知することなく接続状態を一時的に終了させた場合、アプリケーションサーバー５は中継サーバー７との接続が一時終了したことを認識しないためエラー処理を行わず、ユーザーに対してエラーが発生したことの通知がなされない。
【００５０】
アプリケーションサーバー５との接続を一時終了させると（前出プロセス１２）、中継サーバー７はアプリケーションサーバー５との接続数を１減じる（プロセスＰ１３）。また、管理テーブル２９における対応するサーバー接続情報２９ａの接続フラグをＯＦＦにして登録を更新する。プロセスＰ１２が行われてから後述のプロセスＰ１６においてアプリケーションサーバー５に再度接続するまでの間（ｔ１）、中継サーバー７は、新たなジョブを受信するためアプリケーションサーバー５と新たに接続を確立可能となる。そして、画像処理装置８がスキャン処理を完了させると（プロセスＰ１４）、画像処理装置８は中継サーバー７に対して生成した全ページ分のスキャンデータを送信する。また、これに加えてジョブの実行終了通知を送信してもよい（プロセスＰ１５）。これらを受信した中継サーバー７は、当該スキャンデータを転送するためにアプリケーションサーバー５に再度接続する（プロセスＰ１６）。ここで、中継サーバー７はソケットを再度生成し、一旦形成されたＨＴＴＰセッションに組み込むことにより、一時的に終了していた接続状態を復元する。これにより、中継サーバー７は、アプリケーションサーバー５に接続が一時終了したこと及びその後再接続したことを認識させることなく再接続でき、アプリケーションサーバー５におけるエラー処理が行われることを回避できる。
【００５１】
アプリケーションサーバー５へ再度接続すると、中継サーバー７はアプリケーションサーバー５との現在の接続数をｎに戻す（プロセスＰ１７）。また、管理テーブル２９における対応するサーバー接続情報２９ａの接続フラグをＯＮにして登録を更新する。そして、画像処理装置８から受信したスキャンデータをアプリケーションサーバー５に転送する（プロセスＰ１８）。スキャンデータを受信すると、アプリケーションサーバー５はスキャンジョブが終了したことにより、中継サーバー７との接続を終了させる処理を行うと共に（プロセスＰ１９）、中継サーバー７に対して接続終了要求を送信する（プロセスＰ２０）。接続終了要求を受信すると、中継サーバー７もアプリケーションサーバー５との接続を終了させる処理を行う（プロセスＰ２１）。
【００５２】
図６は、中継サーバーが印刷ジョブを受信して画像処理装置８ａに転送する際、印刷処理時間を算出した上でアプリケーションサーバー５との接続を維持する場合の各プロセスの流れの概要を示す図である。まず、中継サーバー７が起動すると（プロセスＰ１）、接続仲介サーバー６との間で常時接続状態を確立する（プロセスＰ２）。そして、アプリケーションサーバー５が画像処理装置８ａを出力先とする印刷ジョブを指定すると（プロセスＰ３）、アプリケーションサーバー５は、接続仲介サーバー６に対して出力先を画像処理装置８と指定して通信開始要求を送信する（プロセスＰ４）。接続仲介サーバー６は接続開始要求を受信すると、中継サーバー７に対して、接続要求を送信する（プロセスＰ５）。そして、中継サーバー７は接続要求を受信すると、接続要求に含まれるアプリケーションサーバー５のアドレス等に基づき、アプリケーションサーバー５に接続開始要求を送信し（プロセスＰ６）、ＨＴＴＰセッションを確立してアプリケーションサーバー５に接続すると、中継サーバー７とローカルネットワーク３外のサーバー等との接続本数はｎとなる（プロセスＰ７）。次に、アプリケーションサーバー５から印刷ジョブが中継サーバー７に対して送信されると（プロセスＰ８）、中継サーバー７は画像処理装置８ａに当該印刷ジョブを転送する（プロセスＰ９）。そして、当該印刷ジョブを受信した画像処理装置８ａは印刷を開始する（プロセスＰ１０）。他方、中継サーバー７は当該印刷ジョブの種類を特定する（プロセスＰ１１）。中継サーバー７は当該印刷ジョブの設定情報を解析し、例えば印刷ページ数、用紙サイズやカラー印刷設定の有無等を特定する。そして、特定したジョブの内容が特定されると、記憶部２１のデバイス情報３０を参照し、当該印刷ジョブの実行に要する時間を算出する（プロセスＰ１２）。中継サーバー７は、算出されたジョブの実行に要する時間が所定時間以上である場合に、中継サーバー７が画像処理装置８ａからジョブ実行終了の通知を受信するまでアプリケーションサーバー５との接続を一時終了させることが可能である。もっとも図６の例において、当該印刷ジョブ実行に要する時間が所定時間以下であるため、中継サーバー７はアプリケーションサーバー５との接続を一時終了させないこととしている。このように、ジョブ実行に要する時間が所定時間以上でない場合には、アプリケーションサーバー５との接続を一時終了させてもすぐに再接続しなければならず、通信の有効利用という観点からあまり効果は高くない。そこで、アプリケーションサーバー５との接続を一時終了させてすぐに再接続するという煩雑な処理を回避し、アプリケーションサーバー５との接続を維持することができる。
【００５３】
画像処理装置８ａにおいて印刷が終了すると（プロセスＰ１３）、画像処理装置８ａから中継サーバー７に対して印刷終了通知が送信され（プロセスＰ１４）、中継サーバー７は受信した印刷終了通知をアプリケーションサーバー５に転送する（プロセスＰ１５）。これにより、アプリケーションサーバー５は印刷ジョブが正常に終了したことを認識し、ユーザーに対してその旨を通知する。そして、アプリケーションサーバー５は、印刷ジョブが終了したことにより中継サーバー７との接続を終了させる処理を行い（プロセスＰ１６）、中継サーバー７に接続終了要求を送信する（プロセスＰ１７）。中継サーバー７は接続終了要求に基づきアプリケーションサーバー５との接続を終了させる処理を行う（プロセスＰ１８）。
【００５４】
次に、中継サーバー７における具体的な処理手順の一例につき、図７により説明する。図７に示すフローチャートは、インターネット上のサーバー等から中継サーバー７に対して送信される１つのジョブに対応する処理の一例を示すフローチャートであり、例としてアプリケーションサーバー５から中継サーバー７に対してジョブが送信されるケースを想定する。中継サーバー７は、電源が投入されると接続仲介サーバー６との接続状態を確立し、これ以降電源が遮断されるまでその接続状態を保持する（ステップＳ１）。接続仲介サーバー６との接続状態を確立すると、中継サーバー７は接続仲介サーバー６からアプリケーションサーバー５との接続を要求する接続要求を受信したか否かを判断し（ステップＳ２）、接続要求を受信しない場合（ステップＳ２でＮＯ）、接続要求を受信するまで待機する。接続要求を受信したと判断した場合（ステップＳ２でＹＥＳ）、ローカルネットワーク３外のサーバー等との現在の接続数（ｎ）が中継サーバー７が接続可能な上限値（ｎｍａｘ）であるか否かを判断する（ステップＳ３）。中継サーバー７は、ローカルネットワーク３に設けられた画像処理装置８ａ又は８ｂ等のデバイスと、インターネット上のサーバー等との通信を中継するゲートウェイとして機能する。また、アプリケーションサーバー５との接続数には上述のとおり上限値がある。そして、現在の接続数（ｎ）が上限値（ｎｍａｘ）でないと判断した場合（ステップＳ３でＮＯ）、中継サーバー７はアプリケーションサーバー５に接続開始要求を送信し（ステップＳ４）、アプリケーションサーバー５からＨＴＴＰレスポンスを受信することによりアプリケーションサーバー５との接続状態が確立したことを確認すると（ステップＳ５）アプリケーションサーバー５との現在の接続数（ｎ）に１加える（ステップＳ６）。また、中継サーバー７は、管理テーブル２９のサーバー接続情報２９ａにアプリケーションサーバー５と接続するための情報を記録して管理テーブル２９を更新する。他方、現在の接続数（ｎ）が中継サーバー７の接続可能な上限値である（ｎ＝ｎｍａｘ）と判断した場合（ステップＳ３でＹＥＳ）、アプリケーションサーバー５へ接続開始要求を送信することなく、引き続き接続要求を受信するまで待機する。
【００５５】
アプリケーションサーバー５に接続した場合、アプリケーションサーバー５からジョブを受信済みか否か判断し（ステップＳ７）、受信済みであると判断した場合（ステップＳ７でＹＥＳ）、例えば出力先として指定された画像処理装置８ａに対してジョブを転送する（ステップＳ８）。また、ジョブの出力先となる画像処理装置８ａに関する情報を管理テーブル２９のデバイス接続情報２９ｂに記録して管理テーブル２９を更新する。画像処理装置に対してデータを転送した後、アプリケーションサーバー５との接続を一時的に終了させるサーバー接続一時終了処理を行う（ステップＳ１０）。サーバー接続一時終了処理の詳細については後述する。次に、中継サーバー７は、ジョブを転送した画像処理装置８ａからジョブ実行により生成したスキャンデータやジョブ実行終了通知等を受信したか否かを判断する（ステップＳ１１）。画像処理装置８ａからジョブ実行により生成したスキャンデータやジョブ実行終了通知等を受信していないと判断した場合（ステップＳ１１でＮＯ）、これらを受信するまで待機する。これに対して、画像処理装置８ａからスキャンデータやジョブ実行終了通知等を受信したと判断した場合（ステップＳ１１でＹＥＳ）、管理テーブル２９を参照して当該ジョブに対応するデバイス接続情報２９ｂを特定し、当該デバイス接続情報２９ｂと一対一で関連付けて登録されるサーバー接続情報２９ａを参照し、接続フラグがＯＮであるか否かを判断する（ステップＳ１２）。接続フラグがＯＮであると判断した場合（ステップＳ１２でＹＥＳ）、アプリケーションサーバー５と中継サーバー７との接続は維持されていることから、アプリケーションサーバー５に対して、中継サーバー７は画像処理装置８ａから受信したスキャンデータやジョブ実行終了通知を転送する（ステップＳ１３）。これに対して、接続フラグがＯＦＦであると判断した場合（ステップＳ１２でＮＯ）、アプリケーションサーバー５と中継サーバー７との接続は一時終了している。そこで、中継サーバー７は、アプリケーションサーバー５と再接続するためのサーバー再接続処理（ステップＳ１４）を行い、アプリケーションサーバー５に再度接続してから画像処理装置８ａより受信したデータを転送する（ステップＳ１３）。なお、サーバー再接続処理の詳細については後述する。
【００５６】
ステップＳ１３において、画像処理装置８ａから受信したデータやジョブ実行終了通知をアプリケーションサーバー５に転送した後、中継サーバー７は、アプリケーションサーバー５との接続を終了させるサーバー接続通常終了処理を行う（ステップＳ１５）。サーバー接続通常終了処理の詳細については後述する。サーバー接続通常終了処理（ステップＳ１５）を行った後、再び接続仲介サーバー６から接続要求を受信するまで待機する。
【００５７】
なお、ステップＳ７においてアプリケーションサーバー５からジョブの受信済みでないと判断した場合（ステップＳ７でＮＯ）、所定時間が経過したか否かを判断し（ステップＳ９）、所定時間が未経過であると判断した場合（ステップＳ９でＮＯ）には再度ステップＳ７に戻ってアプリケーションサーバー５からジョブを受信済みか判断する。これに対して、アプリケーションサーバー５からジョブを受信することなく所定時間が経過したと判断した場合には（ステップＳ９でＹＥＳ）、ステップＳ８からＳ１３までの処理をスキップして、アプリケーションサーバー５との接続を終了させるサーバー接続通常終了処理（ステップＳ１５）を行う。アプリケーションサーバー５から所定時間以内にジョブを受信しない場合、当該接続を終了させた上で、アプリケーションサーバー５から中継サーバー７に対する新たなジョブを送信するため接続可能とすることにより通信の有効利用を促進する。
【００５８】
図８は、サーバー接続一時終了処理（図７のステップＳ１０）の詳細な処理手順の一例を示すフローチャートである。まず中継サーバー７は、アプリケーションサーバー５から受信したジョブの設定情報を解析する（ステップＳ２１）。ジョブを解析結果を受けて、アプリケーションサーバー５との接続を一時終了させるか否かを判断する（ステップＳ２２）。そして、接続を終了させるか否かの判断基準につき、例えばジョブを画像処理装置８ａに転送してから、画像処理装置８ａが当該ジョブを実行した結果アプリケーションサーバー５に送信するデータを中継サーバー７が受信するまで所定時間以上要すると判断した場合に、アプリケーションサーバー５との接続を一時終了させると判断することが考えられる。なお、当該データを受信するまで所定時間以上要するか否かの具体的な判断方法はジョブ毎で異なってもよい。例えば印刷ジョブの場合、印刷ジョブ終了後にジョブ実行終了通知が画像処理装置８ａから中継サーバー７に送信される。そして、中継サーバー７は出力先となる画像処理装置８ａに関するデバイス情報３０を参照した上で、当該印刷ジョブの実行に要する時間を算出し、算出されたジョブ実行時間が所定時間以上であるか否かにより判断することが考えられる。また、スキャンジョブの場合の一例として、当該スキャンジョブがＯＣＲ処理や画像データの圧縮処理等、時間がかかると考えられる処理を含むものであるか否かにより判断することが考えられる。
【００５９】
そして、アプリケーションサーバー５との接続を一時終了させないと判断した場合（ステップＳ２２でＮＯ）、そのままサーバー接続一時終了処理を終了する。これに対して、アプリケーションサーバー５との接続を一時終了させると判断した場合（ステップＳ２２でＹＥＳ）、中継サーバー７は、アプリケーションサーバー５とのＨＴＴＰセッション確立のために生成したソケットを一方的に破棄する（ステップＳ２３）。これにより、アプリケーションサーバー５とのＨＴＴＰセッションが終了する。アプリケーションサーバー５に通知することなくソケットを一方的に破棄してＨＴＴＰセッションを終了させることにより、アプリケーションサーバー５は中継サーバー７との接続が一時終了したことを認識しないため、アプリケーションサーバー５がエラー処理を行うことを回避できる。ソケットを破棄すると、次に管理テーブル２９のサーバー接続情報２９ａにおいて接続フラグをＯＮからＯＦＦに変更し、サーバー接続情報２９ａを更新する（ステップＳ２４）。そして、中継サーバー７とアプリケーションサーバー５との現在の接続数（ｎ）を１減じて（ステップＳ２５）サーバー接続一時終了処理を終了する。これにより、中継サーバー７とアプリケーションサーバー５との接続が一時終了している間、アプリケーションサーバー５から新たなジョブを中継サーバー７に送信するため新たに接続可能となる。
【００６０】
図９は、サーバー再接続処理（図７のステップＳ１４）の詳細な処理手順の一例を示すフローチャートである。中継サーバー７はまず、中継サーバー７とアプリケーションサーバー５との間の現在の接続数（ｎ）が中継サーバー７の接続可能な上限値（ｎｍａｘ）であるか否かを判断する（ステップＳ３１）。現在の接続数が接続可能な上限値である（ｎ＝ｎｍａｘ）と判断した場合（ステップＳ３１でＹＥＳ）、インターネット上のアプリケーションサーバー５と新たに接続することができないため、現在の接続数が接続可能な上限値を下回るまで待機する。これに対して、現在の接続数が接続可能な上限値でないと判断した場合（ステップＳ３１でＮＯ）、中継サーバー７は、ジョブを受信した画像処理装置８ａと中継サーバー７との接続に関する管理テーブル２９におけるデバイス接続情報２９ｂに一対一で関連付けられるサーバー接続情報２９ａに基づき、アプリケーションサーバー５と接続するためソケットを生成する（ステップＳ３２）。そして、アプリケーションサーバー５との間で形成済みのＨＴＴＰセッションに生成したソケットを組み込むことにより接続状態を復元させ（ステップＳ３３）、中継サーバー７とアプリケーションサーバー５との間の現在の接続数に１加える（ステップＳ３４）。このように管理テーブル２９におけるデバイス接続情報２９ｂ及びこれに関連付けて登録されるサーバー接続情報２９ａを参照することにより、再接続するべきサーバー等を速やかに特定できる。殊に、サーバー接続情報２９ａがアプリケーションサーバー５において当該ジョブに関する通信を制御するアプリケーションを特定するアプリケーションポート番号まで含む場合には、例えばアプリケーションサーバー５と中継サーバー７が複数のジョブの処理を行っており両者の間に複数の接続数が存在する場合、当該ジョブに関する通信を制御するアプリケーションを特定してアプリケーションサーバー５に再接続するため的確に再接続できる。
【００６１】
図１０は、サーバー接続通常終了処理（図７のステップＳ１５）の詳細な処理手順の一例を示すフローチャートである。中継サーバー７は、まずアプリケーションサーバー５から接続終了要求を受信したか否かを判断する（ステップＳ４１）。アプリケーションサーバー５は、中継サーバー７が画像処理装置８ａから受信したデータやジョブ実行終了通知が転送されると（図７のステップＳ１３に対応）、ジョブが正常に終了したと判断し、アプリケーションサーバー５と中継サーバー７との接続を終了させる処理を行い、中継サーバー７に対して接続終了要求を送信する。或いはこれとは異なり、中継サーバー７へのジョブ送信前にアプリケーションサーバー５が終了処理を行った場合（図７のステップＳ９でＹＥＳに対応）、アプリケーションサーバー５から中継サーバー７に対して接続終了要求を送信する。
【００６２】
アプリケーションサーバー５から接続終了要求を受信していないと判断した場合（ステップＳ４１でＮＯ）、接続終了要求を受信するまで待機する。他方、接続終了要求を受信したと判断した場合（ステップＳ４１でＹＥＳ）、中継サーバー７はアプリケーションサーバー５との接続のため生成されたソケットを破棄し（ステップＳ４２）、中継サーバー７とアプリケーションサーバー５との現在の接続数（ｎ）から１減じてサーバー接続通常終了処理を終了する。
【００６３】
以上のように本実施形態の画像処理システム１では、中継サーバー７がアプリケーションサーバー５に接続して受信したジョブの種類に応じて、アプリケーションサーバー５との接続を一時終了させ、画像処理装置８ａからアプリケーションサーバー５に送信するデータを受信した後にアプリケーションサーバー５に再接続することにより、中継サーバー７が画像処理装置８ａからデータを受信するまでの間、中継サーバー７がアプリケーションサーバー５と接続可能な本数を１つ増加させることが可能となり、通信の有効利用を促進することができる。
【００６４】
以上、本発明に関する一実施形態について説明したが、本発明は上記実施形態において説明した内容のものに限られるものではなく、種々の変形例が適用可能である。
【００６５】
例えば、上記実施形態ではローカルネットワーク３上の画像処理装置等とインターネット上のアプリケーションサーバー５との通信を中継する中継サーバー７を例示したが、複合機など画像処理装置が上述した中継サーバー７の機能を内蔵するものであってもよい。
【符号の説明】
【００６６】
１  画像処理システム
２  インターネット
３  ローカルネットワーク
４  ファイヤウォール
５  アプリケーションサーバー
６  接続仲介サーバー
７  中継サーバー
１６  接続要求送信部（接続要求送信手段）
２５  通信確立部（通信確立手段）
２６  ジョブ転送部（ジョブ転送手段）
２７  ジョブ特定部（ジョブ特定手段）
２８  通信終了部（通信終了手段）
２９ａ  サーバー接続情報
２９ｂ  デバイス接続情報
【図１】
0006044597.tif 000002
【図２】
0006044597.tif 000003
【図３】
0006044597.tif 000004
【図４】
0006044597.tif 000005
【図５】
0006044597.tif 000006
【図６】
0006044597.tif 000007
【図７】
0006044597.tif 000008
【図８】
0006044597.tif 000009
【図９】
0006044597.tif 000010
【図１０】
0006044597.tif 000011
【図１１】
0006044597.tif 000012