以下、本発明に関する好ましい実施形態について、図面を参照しつつ詳細に説明する。なお、以下に説明する実施形態において互いに共通する部材には同一符号を付しており、それらにつき重複する説明は省略する。
(第1実施形態)
図1は、画像処理システム1の構成例を示す図である。この画像処理システム1は、インターネット2と、社内LANなどのローカルネットワーク3とがファイヤウォール4を介して接続されたネットワーク環境において、インターネット2にアプリケーションサーバー5が設けられ、ローカルネットワーク3に、ファイヤウォール4と、中継サーバー6の機能を備える画像処理装置7と、画像処理装置8と、情報処理装置9、10とを備える構成である。なお、本実施形態では、アプリケーションサーバー5がインターネット2に設けられる場合を例示するが、ローカルネットワーク3とは異なるネットワーク上に設けられるものであれば良く、必ずしもインターネット2に設けられるものには限られない。
アプリケーションサーバー5は、例えばSaaS(Software as a Service)アプリケーションなどによる様々なアプリケーションサービス(クラウドサービス)を提供するサーバーである。例えば、アプリケーションサーバー5は、インターネット2を介してストレージサービスを提供し、文書などの様々なデータを保存しておくことができる。アプリケーションサーバー5は、ローカルネットワーク3の情報処理装置9,10からの要求に基づき、情報処理装置9,10と連携してジョブを実行することにより、アプリケーションサービスを提供する。例えば、ローカルネットワーク3の情報処理装置9,10からインターネット2を介してデータのアップロード要求を受信した場合、アプリケーションサーバー5は、情報処理装置9,10からアップロードされるデータを受信し、その受信したデータを情報処理装置9,10から指定された記憶領域に保存するジョブを実行する。またアプリケーションサーバー5は、予め記憶しているデータを情報処理装置9,10から指定された送信先に送信するジョブなどを実行することもできる。このようなアプリケーションサーバー5は、ローカルネットワーク3以外のからの要求も受け付ける。例えば、図1に示すようにユーザーがスマートフォンやタブレット端末、パーソナルコンピュータなどの情報処理装置11を持参して外出しているとき、情報処理装置11を操作してアプリケーションサーバー5にアクセスすると、アプリケーションサーバー5は、そのようなアクセスを正常に受け付け、情報処理装置11からの要求に応じたジョブを実行し、上記と同様の処理を行う。そのため、ユーザーは、ローカルネットワーク3とは異なる環境下にあっても、アプリケーションサーバー5によって提供されるアプリケーションサービスを利用することができる。
情報処理装置9,10は、例えばローカルネットワーク3内に設けられた一般的なパーソナルコンピュータなどで構成される。ただし、それに限られるものではなく、情報処理装置9,10は、アプリケーションサーバー5及び画像処理装置7との間で通信を行う機能を備えた複合機などであってもよい。情報処理装置9、10は、ローカルネットワーク3からファイヤウォール4を超えてアプリケーションサーバー5に接続可能であり、データをアプリケーションサーバー5に保存したり、アプリケーションサーバー5に保存されているデータなどを指定してローカルネットワーク3内に設けられる画像処理装置7、8等にジョブを送信させることが可能である。
ファイヤウォール4は、社内LANなどのローカルネットワーク3をインターネット2に接続するインタフェースである。このファイヤウォール4は、ローカルネットワーク3内に設けられた機器がインターネット2に設けられたサーバーに接続した状態のときには、それらの機器とサーバーとの相互通信を許容する一方、ローカルネットワーク3に設けられた機器がインターネット2に設けられたサーバーに接続していない状態のときには、そのサーバーからローカルネットワーク3内の機器へのアクセスを遮断する。
画像処理装置7及び8は、例えば複合機やプリンタなどにより構成され、ローカルネットワーク3を介して入力するデータなどに基づき画像処理を行うことができる装置である。そして本実施形態では、画像処理装置7が中継サーバー6の機能を備える。この中継サーバー6は、画像処理装置7、8とアプリケーションサーバー5との通信を中継するゲートウェイサーバーとして機能する。中継サーバー6は、電源投入に伴う起動時にローカルネットワーク3からインターネット2に設けられたアプリケーションサーバー5へアクセスし、アプリケーションサーバー5との間にHTTP(Hypertext Transfer Protocol)セッションを確立させ、そのHTTPセッションを保持する。このHTTPセッションの確立により、中継サーバー6及びアプリケーションサーバー5はそのHTTPセッションをトンネルにして双方向通信を行うことができる状態となる。つまり、中継サーバー6は、起動時にアプリケーションサーバー5と双方通信が可能な接続状態を確立する。尚、本実施形態では画像処理装置8にはそのような中継サーバー6の機能は設けられていない。
画像処理装置7は、ユーザーが操作パネルを操作しておらず、又、ローカルネットワーク3を介してデータの送受信が行われていない待機状態、すなわち、画像処理装置7において何ら入出力がない状態が所定時間以上継続すると、消費電力を低減させるために、一部を除いて各部への電力供給を停止し、低電力で動作する省電力状態へ遷移させる機能を備える。画像処理装置7が省電力状態へ移行することにより、例えばプリンタ機能やスキャン機能がオフになると共に、中継サーバー6の機能もオフになる。このとき、中継サーバー6がアプリケーションサーバー5と確立した接続状態は切断される。
このような画像処理システム1では、上述したように中継サーバー6が、電源投入に伴う起動時に、ファイヤウォール4を介してアプリケーションサーバー5との接続状態を確立する。そしてそのような接続状態が確立されているとき、アプリケーションサーバー5は、ファイヤウォール4を越えてローカルネットワーク3に設けられた中継サーバー6にジョブを送信することにより、中継サーバー6を介してローカルネットワーク3内の画像処理装置7,8にジョブを送信することが可能となる。例えば、ユーザーが情報処理装置11を用いてローカルネットワーク3の外部からアプリケーションサーバー5に接続し、ローカルネットワーク3内の画像処理装置8でドキュメントの印刷処理を行うことを指定してジョブ実行を指示すると、アプリケーションサーバー5は、中継サーバー6との間で既に確立されているHTTPセッションをトンネルにして、印刷ジョブを中継サーバー6に送信することができるようになる。
中継サーバー6は、アプリケーションサーバー5からジョブを受信すると、画像処理装置8にそのジョブを転送し、アプリケーションサーバー5と画像処理装置8との通信を中継する。画像処理装置8が中継サーバー6から転送されるジョブを受信すると、画像処理装置8にてジョブが実行され、印刷処理が行われる。尚、情報処理装置11を操作するユーザーが画像処理装置7を指定してジョブの実行を指示した場合には、画像処理装置7の内部において中継サーバー6からプリント機能へのジョブ転送が行われる。このように本実施形態では、中継サーバー6の機能を備えた画像処理装置7において、アプリケーションサーバー5とローカルネットワーク3内の画像処理装置7,8との通信の中継が行われる。
また画像処理装置7は、上述したように、各部に対して通常動作に必要な電力を供給する通常通電状態(以下、「通常モード」という)から、消費電力を低減させるために省電力状態(以下、「省電モード」という)へ遷移させる機能を備えている。その一例として、画像処理装置7は、最後の入出力を検知した後、更なる入出力を検知しない待機状態が所定時間以上継続した場合に、通常モードから省電モードへと遷移させる。この省電モードでは、例えば、ユーザーが操作する操作パネルのタッチセンサ、ローカルネットワーク3に接続するための通信インタフェース、及び、通電状態を制御する制御機構に対する通電状態は継続され、それ以外に対する電力供給が遮断される。これにより、画像処理装置7で消費される電力を低減させることが可能となる。省電モードになると、例えばプリンタ部やスキャナ部への電力供給が停止し、これら各部へのジョブ等の入力が検知されるまでの間、これら各部は停止状態となる。同様に、中継サーバー6として機能するためのハードウェア(例えばCPUなど)に対しても電源供給が停止されるため、中継サーバー6は停止状態となる。そして省電モードへ移行するとき、例えば、中継サーバー6はアプリケーションサーバー5との間で確立しているHTTPセッションをクローズさせ、アプリケーションサーバー5との接続状態を終了させる。
画像処理装置7が省電モードにあり、中継サーバー6がアプリケーションサーバー5との接続状態が確立させていないとき、アプリケーションサーバー5においてローカルネットワーク3内の画像処理装置7,8に送信すべきジョブが発生することがある。例えば、画像処理装置7が省電モードに移行しているときに、アプリケーションサーバー5は、ローカルネットワーク3の外部にある情報処理装置11から画像処理装置7,8を送信先に指定したジョブの送信要求を受けることもある。そのような場合、アプリケーションサーバー5は、画像処理装置7,8に対してジョブを送信しようとしてもファイヤウォール4に阻まれて送信することができない。一方、画像処理装置7が省電モードに移行した場合であっても、アプリケーションサーバー5がローカルネットワーク3内の情報処理装置9,10と連携してジョブを実行しているときには、そのジョブの実行が完了するまでアプリケーションサーバー5と情報処理装置9,10との接続状態が維持される。そこで、アプリケーションサーバー5は、ローカルネットワーク3内の画像処理装置7,8にジョブを送信することができないとき、送信先である画像処理装置7,8と同一のローカルネットワーク3内にある情報処理装置9,10と既に確立されている接続状態を利用して画像処理装置7を通常モードへ復帰させる起動コマンドを送信する。つまり、アプリケーションサーバー5は、現在接続状態が確立されている情報処理装置9、10を経由させて省電モードにある画像処理装置7に起動コマンドを送信するのである。これにより、アプリケーションサーバー5は、画像処理装置7を省電モードから通常モードへ復帰させることができる。
画像処理装置7は省電モードから通常モードに復帰すると、その内部機能である中継サーバー6に対して電力を供給する。これに伴い、中継サーバー6は、アプリケーションサーバー5に対して接続開始要求を送信し、アプリケーションサーバー5との接続状態を再度確立させる。アプリケーションサーバー5と中継サーバー6との接続状態が確立すると、アプリケーションサーバー5は、中継サーバー6に対して画像処理装置7,8を指定したジョブを送信する。そして中継サーバー6は、アプリケーションサーバー5からジョブを受信すると、アプリケーションサーバー5から指定された送信先である画像処理装置7又は8に対してジョブを転送する。
次に、アプリケーションサーバー5及び画像処理装置7(中継サーバー6を含む)の構成について説明する。図2は、アプリケーションサーバー5の機能構成の一例を示すブロック図である。アプリケーションサーバー5は、CPUとメモリとにより構成される制御部20と、中継サーバー6や情報処理装置9、10、11と通信を行うための通信インタフェース22とを有する。制御部20は、CPUが所定のプログラムを実行することにより、接続要求受付部25、ジョブ生成部26、ジョブ送信部27、接続管理部28、起動要求生成部29及び起動要求送信部30として機能する。
接続要求受付部25は、情報処理装置9,10,11から中継サーバー6との通信を行うことを要求する接続要求を受け付ける処理部である。例えばユーザーがローカルネットワーク3の外部から情報処理装置11を操作してローカルネットワーク3内の画像処理装置8での画像処理を希望する場合、ユーザーは、ローカルネットワーク3内の画像処理装置8を指定し、情報処理装置11からアプリケーションサーバー5に対して画像処理装置8と通信を行うことを要求する接続要求を送信する。このような場合、接続要求受付部25は、情報処理装置11から送信される接続要求を受け付ける。そして、接続要求受付部25は、情報処理装置11から画像処理装置8に送信すべきジョブの実行の指示を受けると、ジョブ生成部26に通知する。また、接続要求受付部25は、情報処理装置11からの接続要求を受け付けると起動要求送信部30に通知する。これにより、後述のように起動要求送信部30は、中継サーバー6との接続状態が終了している場合に、接続要求受付部25からの通知に応じて画像処理装置7に起動コマンドを送信する処理を行う。
ジョブ生成部26は、情報処理装置9,10,11からの要求に基づきジョブを生成する処理部である。ジョブ生成部26は、例えばローカルネットワーク3に設けられる画像処理装置7,8に対してジョブを送信する要求を受けた場合、その要求に基づいて画像処理装置7,8に送信すべきジョブを生成する。例えば情報処理装置11からローカルネットワーク3内の画像処理装置8を指定してドキュメントの印刷の実行指示を受けると、ジョブ生成部26は、画像処理装置8に対して送信すべき印刷ジョブを生成する。
ジョブ送信部27は、中継サーバー6との接続状態が確立されている状態のときに、ジョブ生成部26により生成されたジョブを、中継サーバー6を介してローカルネットワーク3内の画像処理装置7,8に送信する処理部である。例えばジョブ生成部26にて画像処理装置8に対する印刷ジョブが生成された場合に、ジョブ送信部27は、中継サーバー6との間で既に確立されている接続状態を利用して当該印刷ジョブを画像処理装置7に搭載された中継サーバー6に送信する。後述するように、本実施形態では、ローカルネットワーク3外からアプリケーションサーバー5がローカルネットワーク3内に設けられる画像処理装置7,8に対する接続要求を受け付けた際に、アプリケーションサーバー5と中継サーバー6との間の接続状態が終了している場合、起動要求送信部30は、ジョブ生成部26により画像処理装置8に送信すべきジョブの生成が完了していない状態であっても、その時点で接続状態が確立されている情報処理装置9,10を介して起動コマンドを画像処理装置7へ送信する。これにより、アプリケーションサーバー5でジョブが生成される前に、画像処理装置7を省電モードから通常モードへ復帰させ、中継サーバー6を再起動してアプリケーションサーバー5との接続状態を再度確立させておくことが可能となる。すなわち、ジョブ生成部26によるジョブの生成が完了するときには、アプリケーションサーバー5と中継サーバー6との接続状態を既に確立させておくことができるので、ジョブが生成され次第、ジョブ送信部27はその接続状態を利用して中継サーバー6にジョブを送信することが可能である。
接続管理部28は、ローカルネットワーク3に設けられる情報処理装置9,10及び中継サーバー6との接続状態が確立されたこと及び終了したことを検知する処理部である。ローカルネットワーク3内の画像処理装置7に設けられた中継サーバー6及び情報処理装置9,10は、アプリケーションサーバー5に対して接続可能であり、これらのいずれかからアプリケーションサーバー5に接続された場合、接続管理部28は中継サーバー6又は情報処理装置9、10との間で接続状態が確立されたことを検知する。また、接続状態が確立されたことが検知されている状態において、中継サーバー6又は情報処理装置9,10との接続状態が終了すると、接続管理部28はこれらの装置との接続状態が終了したことを検知する。例えば画像処理装置7が通常モードから省電モードに遷移するとき、中継サーバー6はアプリケーションサーバー5との接続状態を終了させる。そこで接続管理部28は、後述のように、中継サーバー6との接続状態が終了したことを検知した場合、起動要求生成部29にこれを通知する。この通知を受けた起動要求生成部29は画像処理装置7を省電モードから通電モードに移行させる起動コマンドを生成する。
尚、本実施形態では、画像処理装置7が省電モードへ移行するとき、中継サーバー6がアプリケーションサーバー5とのHTTPセッションをクローズして接続状態を終了させる。そのため、接続管理部28は、中継サーバー6によるHTTPセッションのクローズ処理が行われるときに中継サーバー6との接続状態が終了することを検知することができる。ただし、そのような態様に限られるものではなく、画像処理装置7が省電モードへ移行するときに、中継サーバー6がHTTPセッションのクローズ処理を行うことなく、アプリケーションサーバー5との接続状態を突然切断することもある。そのような場合、接続管理部28は、中継サーバー6に送信すべきデータを正常に送信することができなったときに、中継サーバー6との接続状態が終了していることを検知する。
起動要求生成部29は、接続管理部28により中継サーバー6との接続状態が終了していることが検知された場合、画像処理装置7を省電モードから通常モードへ移行させることを要求する起動要求を生成する処理部である。本実施形態の場合、接続管理部28により中継サーバー6との接続状態が終了していることが検知された場合、起動要求生成部29は所定のタイミングで画像処理装置7を省電モードから通常モードに移行させる起動要求を生成する。起動要求を生成するタイミングは、例えば接続管理部28により中継サーバー6との接続状態が終了していることが検知されたタイミングである。起動要求は、中継サーバー6との接続が終了している状態で、情報処理装置11等から画像処理装置7,8との通信を行うことを指示された後に起動要求送信部30により送信される。中継サーバー6との接続状態が終了していることが検知されたタイミングで起動要求生成部29が予め起動要求を生成しておくことにより、画像処理装置7,8との通信を行うことが指示されたタイミングで起動要求を生成することに比べ、起動要求を迅速に送信することが可能となる。起動要求はまずアプリケーションサーバー5と既に接続状態を確立しているローカルネットワーク3内の情報処理装置9,10に対して送信される。起動要求には、転送先となる画像処理装置7を特定することができる情報が含まれる。情報処理装置9、10は、そのような起動要求を受信すると、転送先である画像処理装置7に起動要求を転送する。つまり、アプリケーションサーバー5から情報処理装置9,10へ送信される起動要求は、画像処理装置7に対し、省電モードから通常モードへ移行することを要求するコマンドであると共に、起動要求を受信したローカルネットワーク3内の情報処理装置9,10に対して、当該起動要求を画像処理装置7に転送することを要求するコマンドである。
起動要求送信部30は、接続管理部28により中継サーバー6との接続状態が終了していることが検知されている状態で、ローカルネットワーク3の外部の情報処理装置11からローカルネットワーク3内に設けられる画像処理装置7,8を指定した通信要求を受信することに応じて、接続状態が既に確立されているローカルネットワーク3内の情報処理装置9,10を経由して画像処理装置7に省電モードから通常モードへ移行することを要求する起動要求を送信する処理部である。起動要求送信部30は、例えばアプリケーションサーバー5と情報処理装置9,10との間に確立されているHTTPセッションをトンネルにして起動要求を情報処理装置9,10に送信する。すなわち、ローカルネットワーク内の情報処理装置9,10がアプリケーションサーバー5と接続状態を確立している状態のとき、アプリケーションサーバー5と情報処理装置9,10は、互いに連携してジョブを実行するためのデータの送受信を行っている。そのため、起動要求送信部30は、その既存の接続状態を利用して画像処理装置7を通常モードへ復帰させるための起動要求をローカルネットワーク3内の情報処理装置9,10へ送信する。これにより、ファイヤウォール4を超えて画像処理装置7が接続されているローカルネットワーク3の内部に起動要求を送出することができるようになる。
より具体的に説明すると、ローカルネットワーク3外からローカルネットワーク3内に設けられる画像処理装置7,8を指定した通信要求を接続要求受付部25が受け付け、起動要求送信部30に通知されると、起動要求送信部30は、まずその時点で接続状態を確立している全ての情報処理装置を抽出し、その抽出した情報処理装置の中から、指定された画像処理装置7,8と同一のローカルネットワーク3に設けられている情報処理装置9,10を特定する。つまり、アプリケーションサーバー5は、インターネット2に設けられており、それぞれ異なるローカルネットワーク3に存在する様々な情報処理装置と接続状態を確立させることが可能である。そのため、アプリケーションサーバー5がローカルネットワーク3の外部からローカルネットワーク3内に設けられる画像処理装置7,8を指定した通信要求を受け付けた場合には、その時点で接続状態を確立している全ての情報処理装置の中から、指定された画像処理装置7,8と同一のローカルネットワーク3に設けられている情報処理装置9,10を特定することが必要となる。尚、このような処理は、ローカルネットワーク3の内部に存在する情報処理装置9、10から同じローカルネットワーク3内に設けられる画像処理装置7,8を指定した通信要求を受け付けた場合には、不要の処理である。なぜなら、ローカルネットワーク3の内部に存在する情報処理装置9,10から同じローカルネットワーク3内に設けられる画像処理装置7,8を指定した通信要求を受け付けた場合には、その通信要求の送信元である情報処理装置9,10に対して起動要求を送信すれば良いからである。
起動要求送信部30は、アプリケーションサーバー5との接続状態を確立している全ての情報処理装置の中から、指定された画像処理装置7,8と同一のローカルネットワーク3に存在する情報処理装置9,10を特定すると、その特定した情報処理装置9,10に対して起動コマンドを送信する。起動コマンドはこれを受信した情報処理装置9,10に対し、当該起動コマンドを、中継サーバー6を内蔵する画像処理装置7へ転送することを要求するコマンドである。そのため、アプリケーションサーバー5から起動コマンドを受信した情報処理装置9,10は、同じローカルネットワーク3内に設けられる画像処理装置7へ転送する。画像処理装置7は、省電モードであってもローカルネットワーク3に送出される自身宛のデータを受信可能である。そのため、画像処理装置7は、ローカルネットワーク3を介して起動コマンドを受信すると、省電モードから通常モードへ復帰する。このとき、中継サーバー6が再起動される。そして中継サーバー6は、アプリケーションサーバー5との接続状態を再度確立する。これにより、アプリケーションサーバー5は、中継サーバー6を経由させて画像処理装置7,8と通信を行うことができる状態となり、アプリケーションサーバー5からジョブ等を送信することが可能となるのである。
また本実施形態では、例えば図1に示すようにローカルネットワーク3内に複数の情報処理装置9,10が設けられており、それら複数の情報処理装置9,10のそれぞれがアプリケーションサーバー5との接続状態を確立させている状態のとき、起動要求送信部30は、それら複数の情報処理装置9,10のそれぞれに対して起動コマンドを同報送信する。このように同一のローカルネットワーク3内で接続状態が確立されている複数の情報処理装置9,10の全てに対して起動コマンドを同報送信することにより、仮に1つの情報処理装置9がビジー状態であっても、他の情報処理装置10が起動コマンドを速やかに画像処理装置7へ転送することができる。そのため、画像処理装置7を確実に、且つ迅速に省電モードから通常モードへ移行させることが可能となる。尚、複数の情報処理装置9,10のそれぞれに対して起動コマンドを送信する送信態様は、必ずしも同時に一斉送信を行う態様でなくても良く、例えば複数の情報処理装置9,10に対して異なるタイミングで順次起動コマンドを送信する態様であっても良い。
次に、中継サーバー6の機能を備える画像処理装置7について説明する。図3は、画像処理装置7のハードウェア構成及び機能構成の一例を示すブロック図である。中継サーバー6の機能を備える画像処理装置7は、CPUとメモリとにより構成される制御部41と、ハードディスクドライブ(HDD)などで構成される記憶部42と、アプリケーションサーバー5、情報処理装置9,10及び画像処理装置8と通信を行うための通信インタフェース43と、ユーザーが画像処理装置7を操作する際のユーザーインタフェースとなる操作パネル44と、印刷出力を行うプリンタ部46と、スキャン処理を行うスキャナ部47と、各部に対して供給する電力を制御する通電制御部60とを備える。制御部41は、通電制御部60によって電源が供給されると、CPUが記憶部42に予め格納されているプログラムを読み出して実行する。これにより、制御部41は、画像処理装置7におけるジョブを実行するジョブ実行部50と、ローカルネットワーク3内に設けられる画像処理装置7,8とアプリケーションサーバー5との通信を中継する中継部51として機能する。ジョブ実行部50は、通信インタフェース43を介して受信するジョブ又は操作パネル44を介してユーザーによって指定されたジョブの実行を制御するものであり、例えばプリンタ部46を動作させることにより印刷出力を行ったり、スキャナ部47を動作させることにより原稿を読み取ったりするジョブを制御する。中継部51は、画像処理装置7を上述した中継サーバー6として機能させるものであり、通信制御部56と、ジョブ転送部57とを備える。
通電制御部60は、画像処理装置7の通電状態を通常モード及び省電モードのいずれかに移行させる処理部である。例えば画像処理装置7の電源スイッチがオンにされ、電源が投入されると、通電制御部60は、制御部41、記憶部42、操作パネル44、通信インタフェース43、プリンタ部46及びスキャナ部47のそれぞれに電力を供給し、通常モードで画像処理装置7を起動させる。これに伴い、制御部41では、ジョブ実行部50及び中継部51が機能し、中継部51によってアプリケーションサーバー5との接続状態が確立される。
通電制御部60は、ジョブ実行部50によってジョブが実行されていないときに操作パネル44と通信インタフェース43とを監視し、画像処理装置7においてデータの入出力が存在しない状態であれば、タイマ61を作動させる。そしてタイマ61が時間計測動作を開始してから所定時間を計測すると、通電制御部60は、画像処理装置7の通電状態を通常モードから省電モードへ移行させる。タイマ61の計時間測動作開始タイミングは、例えば画像処理装置7に対するデータの入出力が終了したタイミングであり、時間計測動作中に新たなデータの入出力を検知すると、タイマ61は時間計測動作を停止させ、それまでの計測時間をリセットする。通電制御部60は、タイマ61が所定時間を計測することにより通常モードから省電モードへ移行させると、例えばプリンタ部46、スキャナ部47、制御部41及び記憶部42への電力供給を停止させる。これにより、画像処理装置7における中継サーバー6としての機能が停止し、アプリケーションサーバー5との接続状態が終了する。また通電制御部60は、省電モードへ移行させることに伴い、操作パネル44における表示機能を停止させる。ただし、操作パネル44における操作入力検知機能は停止させず、動作状態を継続させる。また通電制御部60は、省電モードへ移行させる場合であっても、通信インタフェース43に対する電力供給は継続させる。これにより、通信インタフェース43は、画像処理装置7が省電モードへ移行した場合であっても、ローカルネットワーク3を介して自身宛のデータを受信することができる。
通信インタフェース43は、起動コマンド受付部43aを備えている。この起動コマンド受付部43aは、通電制御部60により画像処理装置7が省電モードへ移行しているとき、ローカルネットワーク3を介して受信する自身宛の起動コマンドを受け付けるものである。起動コマンド受付部43aは、省電モードのときに起動コマンドを受け付けると、通電制御部60に対し、起動コマンドを受け付けたことを通知する。
通電制御部60は、起動コマンド受付部43aから起動コマンドを受け付けた通知を受けると、プリンタ部46、スキャナ部47、制御部41及び記憶部42への電力供給を再開し、省電モードから通常モードへ復帰させる。これに伴い、制御部41は、再びジョブ実行部50及び中継部51を起動させるため、中継部51によってアプリケーションサーバー5との接続状態が再び確立される。
通電制御部60は、省電モードから通常モードへ復帰させるとき、制御部41及び記憶部42に対する電力供給だけを再開し、プリンタ部46及びスキャナ部47への電力供給を停止している状態を継続させるようにしても良い。この場合、通電制御部60は、ジョブ実行部50によってプリントジョブやスキャンジョブが実行されるタイミングとなるまでプリンタ部46及びスキャナ部47への電力供給を停止させておくことができるため、省電モードから通常モードへ復帰させた場合でも消費電力を低減することができるようになる。
本実施形態では、起動コマンド受付部43aが複数の情報処理装置9,10のそれぞれから複数の起動コマンドを受信する可能性がある。起動コマンド受付部43aは、省電モード状態において最初に受け付けた起動コマンドに基づいて通電制御部60に通常モードへの復帰させるための通知を行い、その後に受け付ける起動コマンドを無視、或いは破棄してもよい。
中継部51は、制御部41において起動又は再起動されると、まず通信制御部56を機能させる。通信制御部56は、中継部51の起動時にアプリケーションサーバー5との接続状態を確立させると共に、通電制御部60により通常モードから省電モードへ移行するときにアプリケーションサーバー5との接続状態を終了させる処理部である。通信制御部56は、例えばアプリケーションサーバー5に対して接続開始要求を送信して接続状態を確立させる。これにより、中継部51は、アプリケーションサーバー5との間にHTTPセッションを確立し、そのHTTPセッションを介して相互にデータの送受信を行うことができる状態となる。通信制御部56によってアプリケーションサーバー5との間の接続状態が確立されると、中継部51は、次にジョブ転送部57を機能させる。
ジョブ転送部57は、アプリケーションサーバー5から受信したジョブをローカルネットワーク3内の画像処理装置7,8に転送したり、或いはローカルネットワーク3を介して画像処理装置7,8から受信するアプリケーションサーバー5宛のデータをアプリケーションサーバー5に転送したりする処理部である。通信制御部56によってアプリケーションサーバー5との接続状態が確立されると、ジョブ転送部57は、アプリケーションサーバー5からその接続状態を利用して送信される画像処理装置7,8宛のジョブを受信する。そしてジョブ転送部57は、そのジョブを画像処理装置7,8に転送する。このとき、ジョブ転送部57は、受信したジョブのヘッダーを解析して宛先となる画像処理装置7,8を特定し、その特定した画像処理装置7,8に対してジョブを転送する。例えばアプリケーションサーバー5から受信したジョブが画像処理装置7宛のジョブである場合、ジョブ転送部57は、そのジョブをジョブ実行部50へ転送する。またアプリケーションサーバー5から受信したジョブが画像処理装置8宛のジョブである場合、ジョブ転送部57は、そのジョブを、通信インタフェース43を介して画像処理装置8へ転送する。これにより、画像処理装置7,8はアプリケーションサーバー5から送信されたジョブを実行することができるようになる。またジョブ転送部57は、ジョブ実行部50又は画像処理装置8に転送したデータに対する応答情報を受信した場合、その応答情報をアプリケーションサーバー5へ転送する。つまり、ジョブ転送部57は、アプリケーションサーバー5と画像処理装置7,8との双方向通信を中継する。
そして画像処理装置7が通常モードから省電モードへ移行すると、通信制御部56は例えばアプリケーションサーバー5に対して接続終了要求を送信してアプリケーションサーバー5との接続状態を終了させる。その結果、画像処理装置7が省電モードへ移行すると、アプリケーションサーバー5が画像処理装置7を介してローカルネットワーク3内の画像処理装置8と通信を行うことができない状態となる。この状態において、アプリケーションサーバー5は、ローカルネットワーク3内の情報処理装置9,10を経由させて起動コマンドを画像処理装置7へ送信することにより、画像処理装置7を省電モードから通常モードへ復帰させると、これに応じて中継部51の通信制御部56から接続開始要求を受信する。そのため、アプリケーションサーバー5は、その接続開始要求に基づき、中継部51との接続状態を再び確立させることができ、その接続状態を利用して画像処理装置7,8に対するジョブを送信することができるようになる。
図4は、アプリケーションサーバー5が接続状態を確立している情報処理装置9を経由して画像処理装置7(中継サーバー6)を通常モードに移行させて接続状態を確立させる場合の各プロセスの流れの概要を示す図である。尚、図4では、アプリケーションサーバー5から画像処理装置8を送信先に指定したジョブが送信される場合を例示している。通常モードにある中継サーバー6の機能を備える画像処理装置7が、タイマ61による時間計測動作を開始し(プロセスP1)、所定時間t1を計測すると通常モードから省電モードへ移行するため省電モード開始処理を行う(プロセスP2)。これに伴い、画像処理装置7は、アプリケーションサーバー5との接続状態を終了させる。このとき、画像処理装置7は、例えばアプリケーションサーバー5に対して接続終了要求を送信し(プロセスP3)、アプリケーションサーバー5との接続状態を終了させる。その後、アプリケーションサーバー5は、画像処理装置7との接続状態が終了したことを検知すると、画像処理装置7を省電モードから通常モードへ移行させる起動コマンドを生成する(プロセスP4)。次に、ローカルネットワーク3内の情報処理装置9がアプリケーションサーバー5によって提供されるアプリケーションサービスを利用するためにアプリケーションサーバー5へアクセスすると、アプリケーションサーバー5と情報処理装置9との接続状態が確立される(プロセスP5)。なお、情報処理装置9とアプリケーションサーバー5との接続状態が確立されるタイミングは、画像処理装置7が省電モードへ移行する前であっても構わない。その後、アプリケーションサーバー5がローカルネットワーク3の外部にある情報処理装置11からローカルネットワーク3内の画像処理装置8を指定した通信要求を受信すると(プロセスP6)、アプリケーションサーバー5は予め生成しておいた起動コマンドを既に接続状態確立中の情報処理装置9に送信する(プロセスP7)。情報処理装置9は、この起動コマンドを受信すると、同一のローカルネットワーク3内に存在する画像処理装置7に当該起動コマンドを転送する(プロセスP8)。そして画像処理装置7は、情報処理装置9を介して受信する起動コマンドに基づき、省電モードから通常モードへ復帰させる通常モード復帰処理を行う(プロセスP9)。画像処理装置7は、通常モードに復帰すると、上述の中継部51を起動させ、アプリケーションサーバー5に対して例えば接続開始要求を送信し(プロセスP10)、アプリケーションサーバー5との接続状態を再び確立させる。
プロセスP6〜P10間での処理が行われている間に、情報処理装置11はアプリケーションサーバー5から取得したWebページなどの画面を表示し、画像処理装置8で印刷出力を行う際の詳細な印刷設定などをユーザーから受け付けることができる。そしてユーザーによって印刷開始が指示されると、情報処理装置11は、画像処理装置8による印刷実行をアプリケーションサーバー5に指示する(プロセスP11)。これにより、アプリケーションサーバー5は印刷ジョブを生成し(プロセスP12)、その生成した印刷ジョブを中継サーバー6として機能する画像処理装置7に送信する(プロセスP13)。画像処理装置7はアプリケーションサーバー5から画像処理装置8を送信先に指定した印刷ジョブを受信すると、そのジョブを画像処理装置8に対して転送する(プロセスP14)。そして画像処理装置8は、画像処理装置7によって転送される印刷ジョブを受信すると、その印刷ジョブを実行し、印刷出力を行う(プロセスP15)。
図5は、ローカルネットワーク3の外部にある情報処理装置11からローカルネットワーク内の画像処理装置8を指定した通信要求が送信されてから、中継サーバー6の機能を備える画像処理装置7とアプリケーションサーバー5との接続状態が確立されるまでの概念図である。ユーザーがローカルネットワーク3の外部の情報処理装置11を操作して、例えばアプリケーションサーバー5に保存されているドキュメントをローカルネットワーク3内に設けられる画像処理装置8から印刷出力させたい場合、画像処理装置8を指定した通信要求が情報処理装置11からアプリケーションサーバー5に送信される。ここでアプリケーションサーバー5と、画像処理装置7(中継サーバー6)とが接続状態確立中であるならば、アプリケーションサーバー5から画像処理装置7を中継してローカルネットワーク3内の画像処理装置8と通信を行うことが可能である。しかし画像処理装置7が省電モードであり、アプリケーションサーバー5と画像処理装置7との接続状態が終了している場合、ファイヤウォール4によりアプリケーションサーバー5から画像処理装置7に対して接続することはできない。そこで、アプリケーションサーバー5は接続状態確立中であるローカルネットワーク3内の情報処理装置9を特定し、情報処理装置9に対して画像処理装置7を省電モードから通常モードに移行させるための起動コマンドを送信する。なお、起動コマンドを生成するタイミングは、画像処理装置7との接続状態が終了したことを検知したときでもよいし、情報処理装置11から通信要求を受信したときでもよく、或いは情報処理装置11から印刷の実行指示を受信したときでもよい。情報処理装置9は、アプリケーションサーバー5から送信された起動コマンドを受信すると、画像処理装置7に当該起動コマンドを転送する。これにより、アプリケーションサーバー5は、起動コマンドを情報処理装置9経由で画像処理装置7に送信し、画像処理装置7を省電モードから通常モード移行させることが可能となる。画像処理装置7は、情報処理装置9から転送された起動コマンドを受信すると、省電モードから通常モードへ移行し、アプリケーションサーバー5に対し接続開始要求を送信し、アプリケーションサーバー5との接続状態を確立させる。そして、アプリケーションサーバー5と画像処理装置7との接続状態が確立されると、アプリケーションサーバー5は、情報処理装置11から受信した印刷の実行指示に基づき印刷ジョブを生成して画像処理装置7を中継して画像処理装置8に送信することが可能となるのである。
次に、アプリケーションサーバー5及び画像処理装置7における具体的な処理手順につき、フローチャートを用いて説明する。図6は、アプリケーションサーバー5における処理手順の一例を示すフローチャートである。起動状態にあるアプリケーションサーバー5は、画像処理装置7の中継部51から接続開始要求を受信したか否かを判定し(ステップS1)、接続開始要求を受信していない場合には(ステップS1でNO)待機する。アプリケーションサーバー5が接続開始要求を受信した場合(ステップS1でYES)、画像処理装置7の中継部51との接続状態が確立される(ステップS2)。次に、情報処理装置11等からローカルネットワーク3内の画像処理装置8に対しジョブを送信する指示を受信したか判定し(ステップS3)、受信したと判定した場合(ステップS3でYES)、アプリケーションサーバー5は当該指示に基づき画像処理装置8に対するジョブを生成し(ステップS4)、そのジョブを画像処理装置7の中継部51に送信する(ステップS5)。これに対し、画像処理装置8を送信先に指定したジョブの送信指示を受信していないと判定した場合(ステップS3でNO)、ステップS4及びS5の処理をスキップする。
次に、アプリケーションサーバー5は、画像処理装置7との接続状態が終了したことを検知したか否か判定し(ステップS6)、終了していないと判定した場合(ステップS6でNO)、ステップS3乃至S5の処理を繰り返す。他方、画像処理装置7との接続状態が終了したことを検知したと判定した場合(ステップS6でYES)、アプリケーションサーバー5は、画像処理装置7を省電モードから通常モードへ移行させる起動コマンドを生成する(ステップS7)。そしてアプリケーションサーバー5は、ローカルネットワーク3の外部にある情報処理装置11からローカルネットワーク3内の画像処理装置8を指定した通信要求を受信したか否かを判定し(ステップS8)、受信していないと判定した場合(ステップS8でNO)、通信要求を受信するまで待機する。通信要求を受信したと判定した場合(ステップS8でYES)、ステップS7で生成した起動コマンドの送信先であるローカルネットワーク3内の情報処理装置9,10を決定する起動コマンド送信先決定処理を行う(ステップS9)。起動コマンド送信先決定処理の詳細については後述する。本実施形態では、接続状態が終了したことを検知したときに予め起動コマンドを生成しておくため、通信要求を受信した時点では起動コマンドが既に生成済みであり、通信要求受信に伴い迅速に起動コマンドを送信することが可能となる。
起動コマンドの送信先となる情報処理装置9,10を決定すると、当該情報処理装置9,10に対して起動コマンドを送信する(ステップS10)。なお、本実施形態ではローカルネットワーク3内の複数の情報処理装置9,10がアプリケーションサーバー5と接続状態にある場合、アプリケーションサーバー5は、それら複数の情報処理装置9,10の全てに対して起動コマンドを送信するため、それら複数の情報処理装置9,10のうちから最も早く画像処理装置7に転送される起動コマンドで画像処理装置7を省電モードから通常モードへ移行させることができる。そして画像処理装置7は、通常モードへ復帰すると、アプリケーションサーバー5に対して接続開始要求を送信する。アプリケーションサーバー5は画像処理装置7からその接続開始要求を受信すると(ステップS11)、画像処理装置7との接続状態を再び確立し(ステップS12)、その後、上述したステップS3乃至S12の処理を繰り返す。
図7は、本実施形態における起動コマンド送信先決定処理(図6のステップS9)の詳細な処理手順の一例を示すフローチャートである。通信要求を受信すると(図6のステップS8でYES)、アプリケーションサーバー5は、その通信要求で指定された装置と同じローカルネットワーク3内に存在する情報処理装置のうち、自機と接続状態確立中の情報処理装置9,10を全て抽出する(ステップS21)。このとき、アプリケーションサーバー5との接続状態を確立している情報処理装置9,10が複数あれば、それら複数の情報処理装置9,10が全て抽出される。またアプリケーションサーバー5との接続状態を確立している情報処理装置9,10が1台だけであれば、その1台の情報処理装置9,10が抽出される。そしてアプリケーションサーバー5は、ステップS21で抽出した全ての情報処理装置9,10を起動コマンド送信先に決定する(ステップS22)。これにより、特に接続中の情報処理装置9,10が複数存在する場合に、画像処理装置7を早期且つ迅速に省電モードから通常モードへ移行させることが可能となる。また複数の情報処理装置9,10の中に、アプリケーションサーバー5から送信される起動コマンドを画像処理装置7へ転送する機能を備えていないものが存在する場合、或いは、起動コマンドを画像処理装置7へ転送する機能に不具合が生じているものが含まれる場合であっても、複数の情報処理装置9,10のうちのいずれかから確実に画像処理装置7へ起動コマンドを転送させることができるため、1台の情報処理装置に対して起動コマンドを送信する場合よりも、より確実に画像処理装置7を省電モードから通常モードへ移行させることが可能となり、画像処理装置7との接続状態を確立できる。
図8は、画像処理装置7における処理手順の一例を示すフローチャートである。画像処理装置7は中継サーバー6の機能を備え、ローカルネットワーク3外のアプリケーションサーバー5とローカルネットワーク3内の画像処理装置8との通信を適宜中継する必要があるため、起動時にアプリケーションサーバー5との接続状態を確立し、省電モードへ移行することにより一時的に接続状態を終了させるほかは接続状態を維持する。本実施形態において、画像処理装置7に電源が投入されると(ステップS30)、画像処理装置7は、中継部51を機能させ、アプリケーションサーバー5に接続開始要求を送信し(ステップS31)、アプリケーションサーバー5との接続状態を確立する。接続開始要求を送信すると、画像処理装置7は、タイマの時間計測動作を開始し(ステップS32)、自機において何らかのデータの入出力があるか否かを判定する(ステップS33)。自機においてデータの入出力があると判定した場合(ステップS33でYES)、時間計測動作中のタイマをリセットする(ステップS34)。さらに当該入出力がローカルネットワーク3内の画像処理装置7,8に対するジョブの受信か否かを判定し(ステップS35)、画像処理装置7,8に対するジョブの受信であった場合(ステップS35でYES)、画像処理装置7は中継部51を機能させ、受信したジョブを画像処理装置7,8に転送する(ステップS36)。その後、画像処理装置7は、再びタイマの時間計測動作を開始する(ステップS32)。これに対し、自機に対するデータの入出力がないと判定した場合(ステップS33でNO)、画像処理装置7は、タイマの計測動作開始から所定時間が経過したか否か判定し(ステップS37)、所定時間が未経過であると判定した場合(ステップS37でNO)、ステップS33に戻る。また所定時間が経過したと判定した場合(ステップS37でYES)、画像処理装置7は通常モードから省電モードへ移行させ(ステップS38)、これに応じて中継部51がアプリケーションサーバー5との接続状態を終了させる処理を行う(ステップS39)。尚、ステップS39では、アプリケーションサーバー5とのHTTPセッションをクローズさせる処理を行っても良いし、また、そのようなクローズ処理を行うことなく、アプリケーションサーバー5とのHTTPセッションを単に切断して破棄するものであっても良い。
画像処理装置7は省電モードへ移行すると、その後、通信インタフェース43の起動コマンド受付部43aが作動し、ローカルネットワーク3内の情報処理装置9,10から起動コマンドを受信したか否か判定し(ステップS40)、受信していないと判定した場合(ステップS40でNO)、起動コマンドを受信するまで待機する。そして起動コマンドを受信すると(ステップS40でYES)、画像処理装置7は、省電モードから通常モードへと復帰させる(ステップS41)。これにより、制御部41への電力供給が再開され、中継部51が再起動される。そして、ステップS31に戻り、画像処理装置7は、中継部51を機能させることにより、アプリケーションサーバー5に対し接続開始要求を送信し、アプリケーションサーバー5との接続状態を再び確立する(ステップS31)。その後、上述したステップS32以降の処理が繰り返される。上記の処理を行うことで、画像処理装置7は、省電モードに移行することによりアプリケーションサーバー5との接続状態を一時的に終了させるが、アプリケーションサーバー5から送信された起動コマンドにより再び通常モードへ移行し、アプリケーションサーバー5との接続状態を再度確立する。これにより、中継部51は、インターネット2上のアプリケーションサーバー5とローカルネットワーク3内の画像処理装置7,8との通信を中継することができるのである。
なお、本実施形態の画像処理システム1において、ローカルネットワーク3に設けられる複数の情報処理装置9,10を備える場合を説明したが、ローカルネットワーク3内に1台の情報処理装置を備えるものであってもよい。
(第2実施形態)
次に、本発明の第2実施形態について図9及び図10を用いて説明する。第1実施形態では、アプリケーションサーバー5がローカルネットワーク3内の複数の情報処理装置9,10と接続状態を確立させているとき、それら複数の情報処理装置9,10の全てに対して起動コマンドを送信する場合について説明した。本実施形態では、アプリケーションサーバー5がローカルネットワーク3内の複数の情報処理装置9,10と接続状態を確立させているとき、それら複数の情報処理装置9,10のうちから一の情報処理装置を選択して起動コマンドを送信する場合について説明する。尚、本実施形態における画像処理システム1、アプリケーションサーバー5、中継サーバー6の機能を備えた画像処理装置7などの具体的な構成は第1実施形態で説明したものと同様である。
本実施形態において、アプリケーションサーバー5の起動要求送信部30は、ローカルネットワーク3内に設けられる複数の情報処理装置9,10のうち、2以上の情報処理装置9,10との間で既に接続状態が確立されているとき、それら2以上の情報処理装置9,10のうちから一の情報処理装置を選択して起動コマンドを送信する。つまり、第1実施形態のように、現在接続中である複数の情報処理装置9,10の全てに対して起動コマンドを同報送信すると、アプリケーションサーバー5とローカルネットワーク3とを接続する回線に一斉に大量のデータが送り出されることになり、回線が一時的にビジー状態になるおそれがある。そのため、本実施形態では、現在接続中である複数の情報処理装置9,10のうちから一の情報処理装置を選択して起動コマンドを送信することにより、回線がビジー状態になることを回避する。
ただし、複数の情報処理装置9,10のうちの一の情報処理装置に対して起動コマンドを送信する場合、起動コマンドを送信した一の情報処理装置が例えばビジー状態であれば、画像処理装置7への起動コマンドの転送が速やかに行われない。そのため、アプリケーションサーバー5は、起動コマンドを送信してから所定時間を経過しても画像処理装置7の中継部51から接続開始要求を受信しないことがある。そのような場合、アプリケーションサーバー5は、速やかに画像処理装置7の中継部51との接続状態を確立させることができない。そのため、アプリケーションサーバー5は、複数の情報処理装置9,10のうちから起動コマンドの送信対象となる一の情報処理装置を選択するとき、複数の情報処理装置9,10のそれぞれに対して起動コマンドを送信する優先順位を割り付け、その優先順位の高い順に、起動コマンドの送信対象を1つずつ選択していくことが好ましい。そして一の情報処理装置に起動コマンドを送信してから所定時間を経過しても画像処理装置7の中継部51から接続開始要求を受信しない場合、アプリケーションサーバー5は、次の優先順位の情報処理装置を1つ選択し、その選択した情報処理装置へ起動コマンドを送信する処理を繰り返す。これにより、アプリケーションサーバー5は、複数の情報処理装置9,10の中にビジー状態の装置が含まれる場合であっても、画像処理装置7の中継部51と接続状態を確立させることができるようになる。
複数の情報処理装置9,10のうちから一の情報処理装置を選択するための優先順位の割り付け方法の1つの例として、起動要求送信部30は、2以上の情報処理装置9,10のそれぞれに対し、接続状態を確立したタイミングが最新であるものから順に優先順位を割り付ける方法がある。この場合、例えばアプリケーションサーバー5の接続管理部28は、ローカルネットワーク3に設けられる複数の情報処理装置9,10のそれぞれとの接続状態が確立されると、その接続状態が確立された日時、すなわち接続開始日時を記憶して管理する。そして起動要求送信部30は、複数の情報処理装置9,10のそれぞれがアプリケーションサーバー5との接続状態を確立したタイミングが最新のものから順に優先順位を割り付ける。そして起動要求送信部30は、複数の情報処理装置9,10のうちのいずれか一つに対して起動コマンドを送信するとき、優先順位の高いものから順に、すなわち接続状態を確立したタイミングが最新のものから順に、一の情報処理装置を選択し、起動コマンドを送信する。
接続状態を確立したタイミングが比較的新しい情報処理装置は、アプリケーションサーバー5と連携する処理を開始してからの時間が他の情報処理装置よりも短く、連携処理の進捗状況が他の情報処理装置と比べて遅い可能性が高い。そうすると、アプリケーションサーバー5との接続状態を確立している時間が比較的短い情報処理装置は、接続状態を確立してからの時間が比較的長い他の情報処理装置と比較して、現在の接続状態をより長い時間継続させる可能性が高いといえる。そのため、起動要求送信部30が接続を確立したタイミングが最新のものから順に一の情報処理装置を選択して起動コマンドを送信することにより、起動コマンドの送信途中で情報処理装置9,10との接続状態が終了してしまうことによる送信エラーの発生率を低減することができ、より確実に起動コマンドを情報処理装置9,10へ送信できる。
また上記とは異なり、起動要求送信部30は、接続状態を確立したタイミングが最も早いものから順に優先順位を割り付け、接続状態を確立したタイミングの古いものから順に一の情報処理装置を選択し、その一の情報処理装置と連携して行っている連携処理が終了したタイミングで起動コマンドを送信するようにしてもよい。すなわち、アプリケーションサーバー5が情報処理装置9,10と連携する連携処理を実行しているときには、アプリケーションサーバー5の制御部20が当該処理に集中しているため、その間に起動コマンドを割り込ませて情報処理装置9,10へ送信すると、現在実行中の連携処理を遅延させる要因となる。これを防止するためには、情報処理装置9,10との連携処理が終了した後であって情報処理装置9,10との接続状態が終了する前に、起動コマンドを送信することが好ましい。また起動コマンドをなるべく早期に送信するためには、情報処理装置9,10との連携処理が最も早く終了するものを選択することが好ましい。このような理由により、起動要求送信部30は、複数の情報処理装置9,10のそれぞれに対し、接続状態の確立タイミングの最も早いものから順に優先順位を割り付け、起動コマンドの送信対象となる一の情報処理装置を選択するときには、接続状態を確立したタイミングが最も早いものから順に一の情報処理装置を選択し、アプリケーションサーバー5が当該一の情報処理装置と連携して行っている連携処理が終了したタイミングで起動コマンドを送信する構成を採用してもよい。すなわち、接続状態の確立タイミングが最も早いものから順に一の情報処理装置を選択して起動コマンドを送信することにより、連携処理を遅延させることなく、迅速に起動コマンドを送信できるのである。
図9は、アプリケーションサーバー5で行われる上述した起動コマンド送信処理の詳細な処理手順の一例を示すフローチャートである。この起動コマンド送信処理は、例えば図6に示したフローチャートのステップS9〜S12に代わって行われる処理である。すなわち、アプリケーションサーバー5は、ローカルネットワーク3の外部の情報処理装置11からの通信要求に基づいてローカルネットワーク3内の画像処理装置7(中継サーバー6)との接続状態を再度確立させるときにこの起動コマンド送信処理を実行する。アプリケーションサーバー5は、この処理を開始すると、まず現在接続中のローカルネットワーク3内の情報処理装置9,10を全て抽出する(ステップS51)。そしてアプリケーションサーバー5は、ステップS51において複数の情報処理装置9,10を抽出したか否かを判断し(ステップS52)、複数である場合(ステップS52でYES)、送信先決定処理を行う(ステップS53)。
図10は、この送信先決定処理(ステップS53)の詳細な処理手順の一例を示すフローチャートである。アプリケーションサーバー5は、この処理を開始すると、接続管理部28によって管理される現在接続中の各情報処理装置9,10との接続開始時間を確認し(ステップS71)、確認された各情報処理装置9,10の接続開始時間を比較する(ステップS72)。そして起動コマンドの送信先となる一の情報処理装置を選択する際の優先順位を決定する(ステップS73)。優先順位を決定するときには、上述したように、現在接続状態確立中の複数の情報処理装置9,10がアプリケーションサーバー5との接続状態を確立したタイミングが最新であるものから順に高い優先順位を割り付けるようにしても良いし、またこれとは逆にアプリケーションサーバー5との接続状態を確立したタイミングが最も古いものから順に高い優先順位を割り付けるようにしても良い。ただし、アプリケーションサーバー5が画像処理装置7の中継部51との接続状態を早期に確立させることが必要な場合は、アプリケーションサーバー5との接続状態を確立したタイミングが最新であるものから順に高い優先順位を割り付けるようにすることが好ましい。なぜなら、アプリケーションサーバー5との接続状態を確立したタイミングが最新ものから順に一の情報処理装置に起動コマンドを送信する場合、起動要求送信部30は、連携処理が終了するまで待機することなく、選択した一の情報処理装置に対して速やかに起動コマンドを送信することができるからである。以上で、送信先決定処理が終了する。
図9に戻り、アプリケーションサーバー5は、上記のような送信先決定処理(ステップS53)で決定された優先順位に基づき、アプリケーションサーバー5と現在接続状態を確立している複数の情報処理装置9,10のうちから一の情報処理装置を選択する(ステップS54)。このとき、アプリケーションサーバー5は、優先順位の高いものから順に一の情報処理装置を選択する。そしてアプリケーションサーバー5は、起動コマンドの送信タイミングとなるまで待機する(ステップS55)。上述の送信先決定処理(ステップS53)において、アプリケーションサーバー5との接続状態を確立したタイミングが最新のものから順に高い優先順位が割り付けられている場合、ステップS55での待機時間は発生せず、アプリケーションサーバー5は速やかにステップS56の処理を開始する。これに対し、上述の送信先決定処理(ステップS53)でアプリケーションサーバー5との接続状態を確立したタイミングが最も古いものから順に高い優先順位が割り付けられている場合、アプリケーションサーバー5は、ステップS55において、ステップS54で選択した一の情報処理装置と連携して行っている連携処理が終了するまで待機し、その連携処理が終了した後にステップS56の処理を開始する。
ステップS56に進むと、アプリケーションサーバー5において起動要求送信部30が機能し、ステップS54で選択された一の情報処理装置に起動コマンドが送信される(ステップS56)。その後、アプリケーションサーバー5は、画像処理装置7から接続開始要求を受信したか否かを判断し(ステップS57)、接続要求を受信してなければ(ステップS57でNO)、所定時間が経過するまで待機する(ステップS58)。そして所定時間が経過するまでの間に画像処理装置7から接続開始要求を受信すると(ステップS57でYES)、アプリケーションサーバー5は、画像処理装置7との接続状態、より厳密には画像処理装置7の中継部51との接続状態を確立させる(ステップS59)。一方、画像処理装置7から接続開始要求を受信することなく、所定時間が経過した場合(ステップS58でYES)、アプリケーションサーバー5は、ステップS54に戻り、優先順位に基づいて次に起動コマンドの送信先となる一の情報処理装置を選択して上述した処理(ステップS54〜S58)を繰り返す。
またステップS51で抽出された情報処理装置が1台である場合(ステップS52でNO)、アプリケーションサーバー5は、その1台の情報処理装置を起動コマンドの送信先に決定し(ステップS60)、その情報処理装置に対して起動コマンドを送信する(ステップS61)。そしてアプリケーションサーバー5は、起動コマンドの送信後、画像処理装置7から接続開始要求を受信するまで待機し(ステップS62)、接続開始要求を受信すると(ステップS62でYES)、画像処理装置7の中継部51との接続状態を確立させる(ステップS59)。
このように本実施形態のアプリケーションサーバー5は、ローカルネットワーク3内の2以上の情報処理装置9,10との間で既に接続状態が確立されているとき、それら2以上の情報処理装置9,10のうちの一の情報処理装置を選択して起動コマンドを送信するため、アプリケーションサーバー5とローカルネットワーク3とを結ぶ回線が一時的にビジー状態になってしまうことを回避することができる。またアプリケーションサーバー5は、2以上の情報処理装置9,10のうちから起動コマンドの送信先となる一の情報処理装置を選択するとき、2以上の情報処理装置9,19のうち、接続状態の確立タイミングが最新である一の情報処理装置を選択するため、ローカルネットワーク3に設けられた中継サーバー6との接続状態をより確実に、且つ迅速に確立させることができるようになる。
(第3実施形態)
次に第3実施形態について説明する。上記第2実施形態では、アプリケーションサーバー5と接続中である複数の情報処理装置9,10が存在する場合において、それら複数の情報処理装置9,10のうちから一の情報処理装置を選択するときには、接続状態の確立タイミングに基づいて起動コマンドの送信先となる一の情報処理装置を選択する場合を示した。本実施形態では、アプリケーションサーバー5と接続中の複数の情報処理装置9,10が存在する場合において、アプリケーションサーバー5がそれら複数の情報処理装置9,10のそれぞれとの間で連携して行っている処理の進行状況を比較し、その結果に基づいて起動コマンドの送信先となる一の情報処理装置を選択する場合について説明する。尚、本実施形態においても画像処理システム1、中継サーバー6の機能を備えた画像処理装置7などの具体的な構成は第1実施形態で説明したものと同様である。
図11は、本実施形態におけるアプリケーションサーバー5の機能構成の一例を示すブロック図である。アプリケーションサーバー5は、制御部20と、通信インタフェース22と、記憶部70を備える。制御部20は、例えば電源起動時に記憶部70に予め記憶されている図示を省略するプログラム(例えばオペレーティングシステム)を読み出して実行することにより、アプリケーション制御部71、ジョブ送信部27、進行管理部72、接続管理部28、起動要求生成部29及び起動要求送信部30として機能する。またアプリケーション制御部71は、ジョブ生成部26としても機能する。一方、記憶部70には、アプリケーション制御部71によって読み出されて実行されるアプリケーションプログラム75が記憶されている。
アプリケーション制御部71は、情報処理装置9,10,11との接続状態を確立しているとき、それら情報処理装置9,10,11からの要求に基づいて記憶部70に記憶されているアプリケーションプログラム75を読み出して実行することにより、アプリケーションを起動して情報処理装置9,10,11に対してアプリケーションサービスを提供する。つまり、アプリケーション制御部71は、情報処理装置9,10,11からの要求を受け付ける度にアプリケーションを起動させ、各情報処理装置9,10,11と連携して行う連携処理を実行する連携処理手段である。したがって、アプリケーション制御部71は、複数のアプリケーションを起動して複数の連携処理を並列的に実行することも可能である。
アプリケーション制御部71が情報処理装置9,10,11と連携して行う連携処理には、複数のプロセスが含まれる。そのため、アプリケーション制御部71は、各情報処理装置9,10,11と連携しながらそれら複数のプロセスを予め定められた順序で実行していくことにより、各情報処理装置9,10,11から要求されたアプリケーションサービスを提供する。アプリケーション制御部71が情報処理装置9,10,11と連携する連携処理を実行することにより、例えば情報処理装置9,10,11からアップロードされるデータを記憶部70に保存したり、記憶部70に保存しているデータを情報処理装置9,10,11へダウンロードしたりすることができる。また情報処理装置9,10,11からローカルネットワーク3内の画像処理装置7,8へジョブを送信することが指定された場合、アプリケーション制御部71は、連携処理に含まれる所定のプロセスを実行するときにジョブ生成部26を機能させ、画像処理装置7,8に送信すべきジョブを生成する。そしてジョブ生成部26によって生成されたジョブはジョブ送信部27へ出力される。
記憶部70には、アプリケーションサーバー5によって提供されるアプリケーションサービスの種類に応じて複数種類のアプリケーションプログラム75が記憶されていても良い。この場合、アプリケーション制御部71は、情報処理装置9,10,11から要求されるアプリケーションサービスの種類に応じて、それら複数種類のアプリケーションプログラム75の中から一のアプリケーションプログラムを読み出して実行することにより、情報処理装置9,10,11から要求されるアプリケーションサービスの種類に対応するアプリケーションを起動させる。また記憶部70には、アプリケーション制御部71によって起動されるアプリケーション毎に、アプリケーション制御部71と各情報処理装置9,10,11とが連携して行う連携処理に含まれる複数のプロセスの進行順序を記録したフロー情報76が予め記憶されている。
進行管理部72は、アプリケーション制御部71によってアプリケーションが起動され、情報処理装置9,10,11との連携処理が実行されているとき、その連携処理の進行状況を管理する処理部である。この進行管理部72は、アプリケーション制御部71によってアプリケーションが起動されると、記憶部70からフロー情報76を読み出し、そのアプリケーションに対応する連携処理を判別し、その連携処理に含まれる複数のプロセスと、それら複数のプロセスの進行順序とを特定する。そして進行管理部72は、アプリケーション制御部71によって行われている連携処理において現在実行中のプロセスが全プロセスのどのプロセスであるかを特定することにより、連携処理の進行状況を管理する。すなわち、進行管理部72は、アプリケーション制御部71において進行中である連携処理の進捗度をリアルタイムで管理するものである。
図1に示すジョブ送信部27、接続管理部28及び起動要求生成部29は、第1実施形態で説明したものと同様である。また起動要求送信部30は、アプリケーションサーバー5と接続中である複数の情報処理装置9,10が存在する場合において、それら複数の情報処理装置9,10のうちから一の情報処理装置を選択して起動コマンドを送信する。そして本実施形態の起動要求送信部30は、アプリケーションサーバー5と接続中の複数の情報処理装置9,10が存在する場合において、アプリケーション制御部71がそれら複数の情報処理装置9,10のそれぞれとの間で連携して行っている連携処理の進行状況を比較し、その結果に基づいて起動コマンドの送信先となる一の情報処理装置を選択するように構成される。以下、このような起動要求送信部30の詳細について説明する。
本実施形態における起動要求送信部30は、既に接続状態が確立されている2以上の情報処理装置9,10のうちから一の情報処理装置を選択するとき、アプリケーション制御部71がそれら2以上の情報処理装置9,10のそれぞれと連携して行っている各連携処理の進行状況を比較して、一の情報処理装置を選択する。例えば起動要求送信部30は、進行管理部72から、アプリケーション制御部71が各情報処理装置9,10と連携して行っている連携処理の進捗度を取得し、各情報処理装置9,10と連携して実行されるアプリケーション毎の進捗度を比較する。起動要求送信部30は、それら進捗度の比較結果に基づき、2以上の情報処理装置9,10のそれぞれに対して起動コマンドの送信順序となる優先順位を割り付ける。そして起動要求送信部30は、2以上の情報処理装置9,10のそれぞれに割り付けられた優先順位の高い順に、起動コマンドの送信対象となる一の情報処理装置を選択し、その選択した一の情報処理装置に対して起動コマンドを送信する。尚、一の情報処理装置に対して起動コマンドを送信してから所定時間を経過しても画像処理装置7の中継部51から接続開始要求を受信しない場合には、次の優先順位の一の情報処理装置を選択して起動コマンドを送信する処理を繰り返す点については、第2実施形態と同様である。
例えば起動要求送信部30は、アプリケーション制御部71で行われている2以上の連携処理の進捗度を比較して、2以上の情報処理装置9,10のそれぞれに対して優先順位を割り付ける際、2以上の連携処理のうちで進行状況の遅いものから順に高い優先順位を割り付ける。そして起動要求送信部30は、2以上の情報処理装置9,10のうちから一の情報処理装置を選択して起動コマンドを送信するとき、優先順位の高いものから順に、すなわち連携処理の進行状況が最も遅いものから順に、一の情報処理装置を選択し、起動コマンドを送信する。
連携処理の進行状況が比較的遅く、複数のプロセスのうちの初期段階のプロセスが行われている場合、アプリケーション制御部71による連携処理が終了するまでに今後行われるプロセスの数は比較的多くなる。これに対し、連携処理の進行状況が比較的早く、複数のプロセスのうちの最終段階のプロセスが行われている場合、アプリケーション制御部71による連携処理が終了するまでに今後行われるプロセスの数は比較的少なくなる。そのため、進行状況の遅い連携処理は、進行状況の速い連携処理よりも連携処理終了までに要する時間が比較的長くなるといえる。そのため、起動要求送信部30が進行状況の最も遅い連携処理を行っているものから順に一の情報処理装置を選択して起動コマンドを送信することにより、起動コマンドの送信途中で情報処理装置9,10との接続状態が終了してしまうことによる送信エラーの発生率を低減することができ、より確実に起動コマンドを情報処理装置9,10へ送信できる。
ただし、上記とは異なり、起動要求送信部30は、進行状況の最も進んでいる連携処理を行っているものから順に一の情報処理装置を選択して起動コマンドを送信するようにしてもよい。すなわち、アプリケーションサーバー5が情報処理装置9,10と連携する連携処理を実行しているときには、アプリケーションサーバー5の制御部20が当該処理に集中しているため、その間に起動コマンドを割り込ませて情報処理装置9,10へ送信すると、現在実行中の連携処理を遅延させる要因となる。これを防止するためには、情報処理装置9,10との連携処理が終了した後であって情報処理装置9,10との接続状態が終了する前に、起動コマンドを送信することが好ましい。また起動コマンドをなるべく早期に送信するためには、情報処理装置9,10との連携処理が最も早く終了するものを選択することが好ましい。このような理由により、起動要求送信部30は、複数の情報処理装置9,10のそれぞれに対し、進行状況の最も進んでいる連携処理を行っているものから順に優先順位を割り付け、起動コマンドの送信対象となる一の情報処理装置を選択するときには、進行状況の最も進んでいる連携処理を行っているものから順に一の情報処理装置を選択し、アプリケーションサーバー5が当該一の情報処理装置と連携して行っている連携処理が終了したタイミングで起動コマンドを送信する構成を採用してもよい。すなわち、進行状況の最も進んでいる連携処理を行っているものから順に一の情報処理装置を選択して起動コマンドを送信することにより、連携処理を遅延させることなく、迅速に起動コマンドを送信することができる。
図12は、本実施形態における送信先決定処理(図9のステップS53)の詳細な処理手順の一例を示すフローチャートである。アプリケーションサーバー5は、この処理を開始すると、現在接続中である2以上の情報処理装置9,10と連携して動作中のアプリケーションに対応するフロー情報76を参照し(ステップS81)、動作中のアプリケーション毎に連携処理の進行状況を示す進捗度を算出する(ステップS82)。そしてアプリケーションサーバー5は、算出した各アプリケーションの進捗度を比較し(ステップS83)、その比較結果に基づいて2以上の情報処理装置9,10のそれぞれに対して割り付ける優先順位を決定する(ステップS84)。優先順位を決定するときには、上述したように、現在接続状態確立中の2以上の情報処理装置9,10のそれぞれと連携しながら行っている連携処理の進行状況が最も遅いものから順に高い優先順位を割り付けるようにしても良いし、またこれとは逆に連携処理の進行状況が最も進んでいるものから順に高い優先順位を割り付けるようにしても良い。ただし、アプリケーションサーバー5が画像処理装置7の中継部51との接続状態を早期に確立させることが必要な場合は、連携処理の進行状況が最も遅いものから順に高い優先順位を割り付けるようにすることが好ましい。なぜなら、連携処理の進行状況が最も遅いものから順に一の情報処理装置に起動コマンドを送信する場合、起動要求送信部30は、連携処理が終了するまで待機することなく、選択した一の情報処理装置に対して速やかに起動コマンドを送信することができるからである。以上で、送信先決定処理が終了する。
(変形例)
以上、本発明に関する幾つかの実施形態について説明したが、本発明は上述した各実施形態において説明したものには限られない。すなわち、本発明には、上述した各実施形態の他、様々な変形例を適用することが可能である。
例えば、上記各実施形態では、画像処理装置7に中継サーバー6の機能が搭載されている場合を例示したが、これに限られるものではなく、中継サーバー6は画像処理装置7とは別の装置として構成されるものであっても構わない。すなわち、中継サーバー6が画像処理装置7からは独立した装置であったとしても、中継サーバー6が省電モードへ移行してしまうことにより、アプリケーションサーバー5との接続状態を終了させてしまうこともあり得る。そのような場合でも、上記各実施形態で説明した技術を適用することにより、ローカルネットワーク3の外部の情報処理装置11からアプリケーションサーバー5に対し、ローカルネットワーク3内の画像処理装置7,8を指定した通信要求が送信されたときには、アプリケーションサーバー5は、その時点で接続状態を確立しているローカルネットワーク3内の情報処理装置9,10を経由させて起動コマンドを中継サーバー6へ送信することにより、中継サーバー6を省電モードから通常モードへ復帰させることができ、その結果、中継サーバー6との接続状態を再度確立させることが可能である。
また上記各実施形態では、アプリケーションサーバー5が、主としてローカルネットワーク3内に設けられる一般的なパーソナルコンピュータなどで構成された情報処理装置9,10に起動コマンドを送信することにより、中継サーバー6を省電モードから通常モードへ復帰させる場合を例示した。しかし、これに限られるものではなく、例えばローカルネットワーク3に設けられた画像処理装置8がアプリケーションサーバー5にアクセスし、アプリケーションサーバー5との間で直接接続状態を確立させているとき、アプリケーションサーバー5は、そのような画像処理装置8を起動コマンドの送信対象として決定するようにしてもよい。したがって、ローカルネットワーク3に設けられる画像処理装置8は、情報処理装置の一種である。
また上記各実施形態では、中継サーバー6が起動時又は再起動時にアプリケーションサービスを提供するアプリケーションサーバー5との接続状態を確立させる場合を例示した。しかし、これに限られるものではなく、例えばアプリケーションサーバー5が、アプリケーションサービスを提供するサービス提供サーバーと、そのサービス提供サーバーからの要求によって中継サーバー6にサービス提供サーバーとの接続を依頼する接続仲介サーバーとを備えて構成される場合、中継サーバー6は、起動時又は再起動時に、アプリケーションサービスを提供するサービス提供サーバーではなく、接続仲介サーバーとの接続状態を確立させるものであっても構わない。
図13は、アプリケーションサーバー5がサービス提供サーバー5aと接続仲介サーバー5bとを備える画像処理システムの一構成例を示す図である。尚、図13では、中継サーバー6が画像処理装置7とは別体として構成される場合を例示している。図13に示す画像処理システムは、インターネット2に設けられるアプリケーションサーバー5がサービス提供サーバー5aと接続仲介サーバー5bとを備える。一方、社内LANなどのローカルネットワーク3には、中継サーバー6と、複数の画像処理装置7,8とが設けられる。中継サーバー6は、電源投入に伴う起動時に、アプリケーションサーバー5の接続仲介サーバー5bにアクセスし、接続仲介サーバー5bとの接続状態90を確立させる。これにより、接続仲介サーバー5bは、ローカルネットワーク3内のファイヤウォールを超えてローカルネットワーク3に設けられた中継サーバー6と常時通信可能な状態となる。
このような画像処理システムにおいて、例えばアプリケーションサーバー5のサービス提供サーバー5aがローカルネットワーク3に設けられた画像処理装置7,8に対してジョブを送信する場合、サービス提供サーバー5aは、まず接続仲介サーバー5bに対して通信相手となる画像処理装置7,8を指定した通信開始要求91を送信する。接続仲介サーバー5bは、通信開始要求91を受信すると、予め登録された情報に基づき通信相手として指定された画像処理装置7,8を管理する中継サーバー6を特定し、その中継サーバー6と確立している接続状態90をトンネルに使用して中継サーバー6に接続要求92を送信する。この接続要求92には、サービス提供サーバー5aに接続するためのアドレス情報などが含まれる。中継サーバー6は、接続仲介サーバー5bから接続要求92を受信すると、それに含まれるアドレス情報などに基づき、サービス提供サーバー5aに対して接続開始要求93を送信する。これにより、中継サーバー6とサービス提供サーバー5aとが接続状態となり、サービス提供サーバー5aは、ローカルネットワーク3に設けられた中継サーバー6に対してジョブの送信を開始することができるようになる。そしてサービス提供サーバー5aによるジョブの送信が開始されると、中継サーバー6は、そのジョブを中継してローカルネットワーク3内の画像処理装置7,8へ転送する。これにより、画像形成装置7,8は、中継サーバー6を介してサービス提供サーバー5aから送信されるジョブを受信することができ、そのジョブを実行することにより印刷出力などを行うことができる。
図13に示すような構成では、中継サーバー6が通常モードから省電モードへ移行すると、中継サーバー6と接続仲介サーバー5bとの間に確立されていた接続状態90が終了する。そのため、接続仲介サーバー5bは、サービス提供サーバー5aから通信開始要求91を受信したときにローカルネットワーク3内の中継サーバー6に接続要求92を送信することができなくなる。このような場合でも、上記各実施形態で説明した技術を適用することにより、中継サーバー6を通常モードへ復帰させて接続仲介サーバー5bとの接続状態90を再確立させることができる。例えば、接続仲介サーバー5bは、サービス提供サーバー5aから通信開始要求91を受信したときに中継サーバー6に対して接続要求92を送信することができなかった場合、中継サーバー6との接続状態90が確立されていないことをサービス提供サーバー5aに通知する。サービス提供サーバー5aは、接続仲介サーバー5bから中継サーバー6との接続状態90が確立されていないことを示す通知を受信すると、その中継サーバー6と同じローカルネットワーク3内に設けられた情報処理装置9,10(図1参照)と接続状態を確立し、それら情報処理装置9,10に対してアプリケーションサービスを提供しているか否かを判断する。その結果、中継サーバー6と同じローカルネットワーク3内に設けられた情報処理装置9,10と接続状態を確立している場合、サービス提供サーバー5aは、それらの情報処理装置9,10に対して中継サーバー6を省電モードから通常モードへ復帰させる起動コマンドを送信する。そして中継サーバー6が省電モードから通常モードへ復帰すると、中継サーバー6と接続仲介サーバー5bとの接続状態90が再度確立されるため、接続仲介サーバー5bは中継サーバー6に対して接続要求92を送信することができるようになる。このような構成によれば、サービス提供サーバー5aは、ローカルネットワーク3内の画像処理装置7,8と通信を行うときだけ、中継サーバー6との接続状態を確立させることができるため、中継サーバー6との接続状態を多数管理する必要がなくなり、管理負担が軽減される。そのため、サービス提供サーバー5aがローカルネットワーク3内の情報処理装置9,10や画像処理装置7,8に対してアプリケーションサービスを提供する際の処理効率を向上させることができるという利点がある。
また上記各実施形態においては、アプリケーションサーバー5がインターネット2に設けられる場合を例示したが、アプリケーションサーバー5は必ずしもインターネット2に設けられるものに限られない。すなわち、アプリケーションサーバー5は、中継サーバー6や画像処理装置7,8が設けられるローカルネットワーク3とは異なるネットワークに設けられるものであればよい。