(57)【特許請求の範囲】
【請求項１】
ネットワークに接続されるサーバーと互いに連携してジョブを実行する画像処理装置であって、
外部端末との通信可能な接続状態を確立する外部端末接続手段と、
前記外部端末との接続状態において前記外部端末から受信する前記サーバーへのアクセス要求に伴い、前記サーバーと連携してジョブを実行するためのネゴシエーションを行って前記サーバーとの通信可能な接続状態を確立するサーバー接続手段と、
前記サーバーとの接続状態において前記外部端末から受信して前記サーバーへ送信する情報の送信元アドレスを当該画像処理装置のアドレスに書き換えて前記サーバーへ送信する送信手段と、
前記サーバーとの接続状態において前記サーバーから画面情報を受信した場合、当該画面情報を前記外部端末へ出力する画面制御手段と、
前記サーバーとの接続状態において前記サーバーから前記ネゴシエーションに基づく制御コマンドを受信した場合、当該制御コマンドに基づいて前記サーバーと連携したジョブの実行を開始するジョブ実行制御手段と、
を備えることを特徴とする画像処理装置。
【請求項２】
前記外部端末接続手段によって前記外部端末との接続状態が確立されたとき、前記外部端末における通信設定を、当該画像処理装置を経由して通信を行う設定に変更する設定変更手段をさらに備えることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記サーバーにアクセスするためのアドレスを記憶する記憶手段をさらに備え、
前記サーバー接続手段は、前記外部端末から受信するアクセス要求に含まれるアドレスが前記記憶手段に記憶された前記サーバーのアドレスと一致する場合に、前記サーバーとの接続状態を確立することを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記サーバー接続手段は、前記サーバーとの間でＳＯＡＰコマンドを送受信することによって前記サーバーと連携してジョブを実行するためのネゴシエーションを行うことを特徴とする請求項１乃至３のいずれかに記載の画像処理装置。
【請求項５】
前記サーバーとの接続状態において、前記外部端末から前記サーバーへ送信するための情報を受信しない状態が継続する時間を計測するタイマーをさらに備え、
前記サーバー接続手段は、前記タイマーが所定時間を計測した場合に、前記サーバーとの接続状態を切断することを特徴とする請求項１乃至４のいずれかに記載の画像処理装置。
【請求項６】
前記画面制御手段は、前記サーバー接続手段によって前記サーバーとの接続状態が切断された後に前記外部端末から前記サーバーへ送信するための情報を受信した場合、前記外部端末に対してエラー画面情報を出力することを特徴とする請求項５に記載の画像処理装置。
【請求項７】
ユーザによる指示操作を受け付ける操作パネルをさらに備え、
前記サーバー接続手段は、前記サーバーとの接続状態を確立することに伴い、前記操作パネルを使用不能な状態に切り替えることを特徴とする請求項１乃至６のいずれかに記載の画像処理装置。
【請求項８】
サーバーと画像処理装置とがネットワークに接続され、前記サーバーと前記画像処理装置とが互いに連携してジョブを実行する画像処理システムであって、
前記画像処理装置は、外部端末と通信可能な状態に接続し、前記外部端末から前記サーバーに送信される情報の送信元アドレスを当該画像処理装置のアドレスに書き換えて前記サーバーへ送信し、
前記サーバーは、前記画像処理装置から受信する情報に基づいてジョブを操作するための画面情報を前記画像処理装置に送信すると共に、前記画像処理装置から受信する情報に基づいて前記画像処理装置と連携してジョブを実行するための制御コマンドを前記画像処理装置に送信し、
前記画像処理装置は、前記サーバーから画面情報を受信した場合には当該画面情報を前記外部端末に出力し、前記サーバーから制御コマンドを受信したときには当該制御コマンドに基づいて前記サーバーと連携したジョブの実行を開始することを特徴とする画像処理システム。
【請求項９】
前記画像処理装置は、前記外部端末との接続状態を確立したとき、前記外部端末における通信設定を、当該画像処理装置を経由して通信を行う設定に変更することを特徴とする請求項８に記載の画像処理システム。
【請求項１０】
前記画像処理装置は、前記サーバーにアクセスするためのアドレスを記憶する記憶手段を備えており、前記外部端末から受信するアクセス要求に含まれるアドレスが前記記憶手段に記憶された前記サーバーのアドレスと一致する場合に、前記サーバーとの接続状態を確立することを特徴とする請求項８又は９に記載の画像処理システム。
【請求項１１】
前記画像処理装置は、前記サーバーとの間でＳＯＡＰコマンドを送受信することによって前記サーバーと連携してジョブを実行するためのネゴシエーションを行い、前記サーバーとの接続状態を確立することを特徴とする請求項８乃至１０のいずれかに記載の画像処理システム。
【請求項１２】
サーバーと連携してジョブを実行する画像処理方法であって、
(a) 外部端末との通信可能な接続状態を確立するステップと、
(b) 前記外部端末との接続状態において前記外部端末から受信する前記サーバーへのアクセス要求に伴い、前記サーバーと連携してジョブを実行するためのネゴシエーションを行って前記サーバーとの通信可能な接続状態を確立するステップと、
(c) 前記サーバーとの接続状態において前記外部端末から受信して前記サーバーへ送信する情報の送信元アドレスを当該画像処理装置のアドレスに書き換えて前記サーバーへ送信するステップと、
(d) 前記サーバーとの接続状態において前記サーバーから画面情報を受信した場合、当該画面情報を前記外部端末へ出力するステップと、
(e) 前記サーバーとの接続状態において前記サーバーから前記ネゴシエーションに基づく制御コマンドを受信した場合、当該制御コマンドに基づいて前記サーバーと連携したジョブの実行を開始するステップと、
を有することを特徴とする画像処理方法。
【請求項１３】
ネットワークに接続されるサーバーと互いに連携してジョブを実行する画像処理装置において実行されるプログラムであって、前記画像処理装置に、
(a) 外部端末との通信可能な接続状態を確立するステップと、
(b) 前記外部端末との接続状態において前記外部端末から受信する前記サーバーへのアクセス要求に伴い、前記サーバーと連携してジョブを実行するためのネゴシエーションを行って前記サーバーとの通信可能な接続状態を確立するステップと、
(c) 前記サーバーとの接続状態において前記外部端末から受信して前記サーバーへ送信する情報の送信元アドレスを当該画像処理装置のアドレスに書き換えて前記サーバーへ送信するステップと、
(d) 前記サーバーとの接続状態において前記サーバーから画面情報を受信した場合、当該画面情報を前記外部端末へ出力するステップと、
(e) 前記サーバーとの接続状態において前記サーバーから前記ネゴシエーションに基づく制御コマンドを受信した場合、当該制御コマンドに基づいて前記サーバーと連携したジョブの実行を開始するステップと、
を実行させることを特徴とするプログラム。
【請求項１４】
前記画像処理装置に、さらに、
(f) 前記ステップ(a)によって前記外部端末との接続状態が確立されたとき、前記外部端末における通信設定を、当該画像処理装置を経由して通信を行う設定に変更するステップ、
を実行させることを特徴とする請求項１３に記載のプログラム。
【請求項１５】
前記画像処理装置に、さらに、
(g) 前記サーバーにアクセスするためのアドレスを予め記憶しておくステップ、
を実行させ、
前記ステップ(b)は、前記外部端末から受信するアクセス要求に含まれるアドレスが前記ステップ(g)によって予め記憶されている前記サーバーのアドレスと一致する場合に、前記サーバーとの接続状態を確立することを特徴とする請求項１３又は１４に記載のプログラム。
【請求項１６】
前記ステップ(b)は、前記サーバーとの間でＳＯＡＰコマンドを送受信することによって前記サーバーと連携してジョブを実行するためのネゴシエーションを行い、前記サーバーとの接続状態を確立することを特徴とする請求項１３乃至１５のいずれかに記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理システム、画像処理方法およびプログラムに関し、特に、画像処理装置がサーバーと連携したジョブの実行を行う技術に関する。
【背景技術】
【０００２】
従来、複数の画像処理装置がネットワークに接続された環境において、１台の画像処理装置がサーバーとして機能して無線端末と通信を行い、無線端末からの要求に応じて他の画像処理装置を省電力モードからスタンバイモードへ移行させるようにした技術が提案されている（例えば特許文献１）。この従来技術では、サーバーとして機能する画像処理装置の電源が突然オフされた場合に他の画像処理装置をスタンバイモードへ移行させることができなくなることを防止するため、画像処理装置が主電源オフを検知すると、補助電源による給電が行われている間に他の画像処理装置の中から次のサーバー候補を選択し、その選択したサーバー候補をスタンバイモードへ移行させる構成となっている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−８９２５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、近年、複合機などの画像処理装置は、アプリケーションサービスを提供するサーバーと連携してジョブの実行を行うことができるようになってきている。例えば、サーバーが画像データから文字を抽出するＯＣＲ（Optical Character Reader）のサービスを提供するものである場合、画像処理装置が原稿をスキャンして読み取った画像データをサーバーに送信することにより、サーバーにおいてその画像データから文字を抽出する処理が行われる。このような一連の処理は、画像処理装置とサーバーとが互いに連携して行われる。そのため、画像処理装置単独では実行することができないジョブであっても、画像処理装置とサーバーとが互いに連携した動作を行うことによって実行することが可能となる。
【０００５】
この種の画像処理装置は、例えばサーバーからアプリケーションサービスに関する操作画面を取得し、装置本体に設けられた操作パネルに表示する。そのため、ユーザは、画像処理装置の操作パネルに表示される操作画面に対する操作を行うことによって、サーバーにアプリケーションの起動を指示することができると共に、そのサーバーに当該画像処理装置と連携してジョブの実行を行うことを指示することができる。
【０００６】
一方、近年ではスマートフォンやタブレット端末などの携帯型端末装置の普及が著しい。このような携帯型端末装置は、無線通信機能やネットワーク通信機能などを備えている。そのため、今後はそのような携帯型端末装置を、画像処理装置の外部端末として操作パネルと同様に活用し、遠隔操作で画像処理装置にジョブの実行を指示することができるようになっていくと考えられる。
【０００７】
しかしながら、携帯型端末装置を用いる場合、上述したように画像処理装置とサーバーとを正常に連携させてジョブを実行させることが難しくなる。なぜなら、携帯型端末装置がネットワークを介してサーバーにアクセス要求を行っても、サーバーは画像処理装置とは異なるデバイスからのアクセス要求であると判断し、その要求を拒否してしまうからである。特にネットワークに複数の画像処理装置が接続されている場合、サーバーは、携帯型端末装置からのアクセスがあっても、複数の画像処理装置のうちのどの装置と連携するのかを特定することができず、しかもどのようなコマンドを利用して画像処理装置と通信を行えばよいかを判別することもできない。それ故、サーバーは画像処理装置とは異なるデバイスからのアクセス要求を拒絶する。
【０００８】
これを防止するためには、例えばサーバーが携帯型端末装置からのアクセス要求を受信した場合、連携対象となる画像処理装置や、画像処理装置との間で利用するコマンド体系などをユーザに指定させるための操作画面を携帯型端末装置に表示させることも考えられる。しかし、その場合は、サーバーにそのような機能を搭載する必要があり、既存のままでは利用することができないという問題がある。また仮にサーバーにそのような機能を搭載してしまうと、サーバーの処理負担が増大し、サーバーが画像処理装置と連携してジョブを実行する際の処理効率が低下してしまうという問題もある。
【０００９】
そこで本発明は、上記問題点を解決するためになされたものであり、アプリケーションサービスを提供するサーバーに改変を加えることなく、外部端末を用いて画像処理装置とサーバーとを互いに連携させてジョブを実行させることを可能にする画像処理装置、画像処理システム、画像処理方法およびプログラムを提供することを、その目的とするものである。
【課題を解決するための手段】
【００１０】
上記目的を達成するため、請求項１にかかる発明は、ネットワークに接続されるサーバーと互いに連携してジョブを実行する画像処理装置であって、外部端末との通信可能な接続状態を確立する外部端末接続手段と、前記外部端末との接続状態において前記外部端末から受信する前記サーバーへのアクセス要求に伴い、前記サーバーと連携してジョブを実行するためのネゴシエーションを行って前記サーバーとの通信可能な接続状態を確立するサーバー接続手段と、前記サーバーとの接続状態において前記外部端末から受信して前記サーバーへ送信する情報の送信元アドレスを当該画像処理装置のアドレスに書き換えて前記サーバーへ送信する送信手段と、前記サーバーとの接続状態において前記サーバーから画面情報を受信した場合、当該画面情報を前記外部端末へ出力する画面制御手段と、前記サーバーとの接続状態において前記サーバーから前記ネゴシエーションに基づく制御コマンドを受信した場合、当該制御コマンドに基づいて前記サーバーと連携したジョブの実行を開始するジョブ実行制御手段と、を備えることを特徴とする構成である。
【００１１】
請求項２にかかる発明は、請求項１に記載の画像処理装置において、前記外部端末接続手段によって前記外部端末との接続状態が確立されたとき、前記外部端末における通信設定を、当該画像処理装置を経由して通信を行う設定に変更する設定変更手段をさらに備えることを特徴とする構成である。
【００１２】
請求項３にかかる発明は、請求項１又は２に記載の画像処理装置において、前記サーバーにアクセスするためのアドレスを記憶する記憶手段をさらに備え、前記サーバー接続手段は、前記外部端末から受信するアクセス要求に含まれるアドレスが前記記憶手段に記憶された前記サーバーのアドレスと一致する場合に、前記サーバーとの接続状態を確立することを特徴とする構成である。
【００１３】
請求項４にかかる発明は、請求項１乃至３のいずれかに記載の画像処理装置において、前記サーバー接続手段は、前記サーバーとの間でＳＯＡＰコマンドを送受信することによって前記サーバーと連携してジョブを実行するためのネゴシエーションを行うことを特徴とする構成である。
【００１４】
請求項５にかかる発明は、請求項１乃至４のいずれかに記載の画像処理装置において、前記サーバーとの接続状態において、前記外部端末から前記サーバーへ送信するための情報を受信しない状態が継続する時間を計測するタイマーをさらに備え、前記サーバー接続手段は、前記タイマーが所定時間を計測した場合に、前記サーバーとの接続状態を切断することを特徴とする構成である。
【００１５】
請求項６にかかる発明は、請求項５に記載の画像処理装置において、前記画面制御手段は、前記サーバー接続手段によって前記サーバーとの接続状態が切断された後に前記外部端末から前記サーバーへ送信するための情報を受信した場合、前記外部端末に対してエラー画面情報を出力することを特徴とする構成である。
【００１６】
請求項７にかかる発明は、請求項１乃至６のいずれかに記載の画像処理装置において、ユーザによる指示操作を受け付ける操作パネルをさらに備え、前記サーバー接続手段は、前記サーバーとの接続状態を確立することに伴い、前記操作パネルを使用不能な状態に切り替えることを特徴とする構成である。
【００１７】
請求項８にかかる発明は、サーバーと画像処理装置とがネットワークに接続され、前記サーバーと前記画像処理装置とが互いに連携してジョブを実行する画像処理システムであって、前記画像処理装置は、外部端末と通信可能な状態に接続し、前記外部端末から前記サーバーに送信される情報の送信元アドレスを当該画像処理装置のアドレスに書き換えて前記サーバーへ送信し、前記サーバーは、前記画像処理装置から受信する情報に基づいてジョブを操作するための画面情報を前記画像処理装置に送信すると共に、前記画像処理装置から受信する情報に基づいて前記画像処理装置と連携してジョブを実行するための制御コマンドを前記画像処理装置に送信し、前記画像処理装置は、前記サーバーから画面情報を受信した場合には当該画面情報を前記外部端末に出力し、前記サーバーから制御コマンドを受信したときには当該制御コマンドに基づいて前記サーバーと連携したジョブの実行を開始することを特徴とする構成である。
【００１８】
請求項９にかかる発明は、請求項８に記載の画像処理システムにおいて、前記画像処理装置は、前記外部端末との接続状態を確立したとき、前記外部端末における通信設定を、当該画像処理装置を経由して通信を行う設定に変更することを特徴とする構成である。
【００１９】
請求項１０にかかる発明は、請求項８又は９に記載の画像処理システムにおいて、前記画像処理装置は、前記サーバーにアクセスするためのアドレスを記憶する記憶手段を備えており、前記外部端末から受信するアクセス要求に含まれるアドレスが前記記憶手段に記憶された前記サーバーのアドレスと一致する場合に、前記サーバーとの接続状態を確立することを特徴とする構成である。
【００２０】
請求項１１にかかる発明は、請求項８乃至１０のいずれかに記載の画像処理システムにおいて、前記画像処理装置は、前記サーバーとの間でＳＯＡＰコマンドを送受信することによって前記サーバーと連携してジョブを実行するためのネゴシエーションを行い、前記サーバーとの接続状態を確立することを特徴とする構成である。
【００２１】
請求項１２にかかる発明は、サーバーと連携してジョブを実行する画像処理方法であって、(a) 外部端末との通信可能な接続状態を確立するステップと、(b) 前記外部端末との接続状態において前記外部端末から受信する前記サーバーへのアクセス要求に伴い、前記サーバーと連携してジョブを実行するためのネゴシエーションを行って前記サーバーとの通信可能な接続状態を確立するステップと、(c) 前記サーバーとの接続状態において前記外部端末から受信して前記サーバーへ送信する情報の送信元アドレスを当該画像処理装置のアドレスに書き換えて前記サーバーへ送信するステップと、(d) 前記サーバーとの接続状態において前記サーバーから画面情報を受信した場合、当該画面情報を前記外部端末へ出力するステップと、(e) 前記サーバーとの接続状態において前記サーバーから前記ネゴシエーションに基づく制御コマンドを受信した場合、当該制御コマンドに基づいて前記サーバーと連携したジョブの実行を開始するステップと、を有することを特徴とする構成である。
【００２２】
請求項１３にかかる発明は、ネットワークに接続されるサーバーと互いに連携してジョブを実行する画像処理装置において実行されるプログラムであって、前記画像処理装置に、(a) 外部端末との通信可能な接続状態を確立するステップと、(b) 前記外部端末との接続状態において前記外部端末から受信する前記サーバーへのアクセス要求に伴い、前記サーバーと連携してジョブを実行するためのネゴシエーションを行って前記サーバーとの通信可能な接続状態を確立するステップと、(c) 前記サーバーとの接続状態において前記外部端末から受信して前記サーバーへ送信する情報の送信元アドレスを当該画像処理装置のアドレスに書き換えて前記サーバーへ送信するステップと、(d) 前記サーバーとの接続状態において前記サーバーから画面情報を受信した場合、当該画面情報を前記外部端末へ出力するステップと、(e) 前記サーバーとの接続状態において前記サーバーから前記ネゴシエーションに基づく制御コマンドを受信した場合、当該制御コマンドに基づいて前記サーバーと連携したジョブの実行を開始するステップと、を実行させることを特徴とする構成である。
【００２３】
請求項１４にかかる発明は、請求項１３に記載のプログラムにおいて、前記画像処理装置に、さらに、(f) 前記ステップ(a)によって前記外部端末との接続状態が確立されたとき、前記外部端末における通信設定を、当該画像処理装置を経由して通信を行う設定に変更するステップ、を実行させることを特徴とする構成である。
【００２４】
請求項１５にかかる発明は、請求項１３又は１４に記載のプログラムにおいて、前記画像処理装置に、さらに、(g) 前記サーバーにアクセスするためのアドレスを予め記憶しておくステップ、を実行させ、前記ステップ(b)は、前記外部端末から受信するアクセス要求に含まれるアドレスが前記ステップ(g)によって予め記憶されている前記サーバーのアドレスと一致する場合に、前記サーバーとの接続状態を確立することを特徴とする構成である。
【００２５】
請求項１６にかかる発明は、請求項１３乃至１５のいずれかに記載のプログラムにおいて、前記ステップ(b)は、前記サーバーとの間でＳＯＡＰコマンドを送受信することによって前記サーバーと連携してジョブを実行するためのネゴシエーションを行い、前記サーバーとの接続状態を確立することを特徴とする構成である。
【発明の効果】
【００２６】
本発明によれば、外部端末から出力される情報を画像処理装置が中継してサーバーに出力することができ、サーバーは画像処理装置からの情報としてその受信情報を処理することができる。また画像処理装置とサーバーは正常に制御コマンドのやり取りを行うことも可能になる。そのため、アプリケーションサービスを提供するサーバーに改変を加えることなく、外部端末を用いて画像処理装置とサーバーとを互いに連携させてジョブを実行させることができるようになる。
【図面の簡単な説明】
【００２７】
【図１】画像処理システムの一構成例を示す図である。
【図２】画像処理装置のハードウェア構成の一例を示す図である。
【図３】外部端末のハードウェア構成の一例を示す図である。
【図４】画像処理装置における機能構成の一例を示すブロック図である。
【図５】画像処理システムにおいて順次行われるプロセスの一例を示すシーケンス図である。
【図６】画像処理システムにおいて順次行われるプロセスの一例を示すシーケンス図である。
【図７】画像処理システムにおいて順次行われるプロセスの一例を示すシーケンス図である。
【図８】画像処理装置において行われる主たる処理手順の一例を示すフローチャートである。
【図９】中継送信処理の詳細な処理手順の一例を示すフローチャートである。
【図１０】画面情報送信処理の詳細な処理手順の一例を示すフローチャートである。
【図１１】ジョブ実行制御処理の詳細な処理手順の一例を示すフローチャートである。
【図１２】タイマー判別処理の詳細な処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【００２８】
以下、本発明に関する好ましい実施形態について図面を参照しつつ詳細に説明する。尚、以下に説明する実施形態において互いに共通する部材には同一符号を付しており、それらについての重複する説明は省略する。
【００２９】
図１は、本実施形態における画像処理システム１の一構成例を示す図である。この画像処理システム１は、複合機などで構成される画像処理装置２と、画像処理装置２が単独では提供できないアプリケーションサービスを提供するサーバー３とがＬＡＮ（Local Area Network）などのネットワーク４に接続された構成である。ネットワーク４は、ケーブルや光ファイバーなどを介して通信する有線ネットワークに限られず、電波や赤外線などを用いて通信する無線ネットワークを含むものであっても構わない。尚、ネットワーク４には、複数の画像処理装置２が接続されていても良いし、複数のサーバー３が接続されていても良い。
【００３０】
画像処理装置２は、例えばコピー機能、スキャン機能、プリント機能、ＦＡＸ機能、ＢＯＸ機能などの複数の機能を備えており、ユーザによって選択された機能を動作させてジョブを実行する。この画像処理装置２は、スマートフォンやタブレット端末などの携帯型端末装置で構成される外部端末５と通信を行うことができる構成である。画像処理装置２と外部端末５との通信は、例えば図１に示すようにＵＳＢ（Universal Serial Bus）ケーブルなどのケーブル６を介して行われる有線通信であっても良いし、電波や赤外線などを利用した無線通信であっても良い。またネットワーク４を介して画像処理装置２と外部端末５とが通信を行うものであっても構わない。
【００３１】
このような画像処理装置２は、ネットワーク４を介してサーバー３と通信を行うことにより、サーバー３と連携してジョブの実行を行うことができるようになっている。画像処理装置２がサーバー３と連携して行うジョブは、例えば画像処理装置２において単独で実行することができないジョブである。
【００３２】
サーバー３は、ネットワーク４を介してアプリケーションサービスを提供する機能に加え、Ｗｅｂサーバーとしての機能を有している。またサーバー３は、図１に示すように、ハードディスクドライブ（ＨＤＤ）などで構成される不揮発性の記憶装置７を備えている。この記憶装置７には、サーバー３が提供するアプリケーションサービスに対応するアプリケーションプログラム８が予めインストールされると共に、そのアプリケーションサービスを操作するための操作画面に関する画面情報９が予め記憶されている。この画面情報９は、例えばＨＴＭＬ（HyperText Markup Language）などで既述されたＷｅｂページである。そのため、このような画面情報９には、固有のアドレス（ＵＲＬ：Uniform Resource Locator）が設定されている。
【００３３】
サーバー３が提供するサービスには、種々のサービスがあるが、幾つかの例を挙げると、例えば入力する画像データに対してＯＣＲの処理を行うことにより画像データからテキストデータを生成するサービスや、さらにそのテキストデータに対して翻訳処理を施すことにより翻訳データを自動生成するサービス、或いは、特定のデータフォーマットの画像データを別のデータフォーマットの画像データに変換するサービスなどがある。サーバー３は、アプリケーションプログラム８を実行することにより、上記のようなサービスに対応する処理を、画像処理装置２の動作と連携しながら実行する。
【００３４】
このようなサーバー３は、例えば、画像処理装置２との間で予め定められた制御コマンドの送受信を行うことにより、通信相手となる画像処理装置２が連携動作可能な装置であることを確認する。そしてサーバー３は、通信対象である装置が連携動作可能な画像処理装置２であることを確認することができた場合に、アプリケーションプログラム８を実行する。そしてその後、サーバー３は、画像処理装置２の動作と連携しながらサービスに対応する処理を進めていくようになる。尚、サーバー３は、通信対象である装置が連携動作可能な画像処理装置２であることを確認できなかった場合、アプリケーションプログラム８を実行しない。
【００３５】
図２は、画像処理装置２のハードウェア構成の一例を示す図である。画像処理装置２は、制御部１０と、ネットワークインタフェース１１と、外部接続インタフェース１２と、操作パネル１３と、スキャナ部１４と、プリンタ部１５と、ＦＡＸ部１６と、記憶装置１７とを有し、これらがバス１８を介して互いに接続された構成である。
【００３６】
制御部１０は、ＣＰＵ１０ａとメモリ１０ｂとを備えている。そしてＣＰＵ１０ａが記憶装置１７に記憶されているプログラム２０を実行することにより、後述する各種処理部として機能する。メモリ１０ｂは、ＣＰＵ１０ａがプログラム２０を実行することに伴って発生する一時的なデータなどを記憶するためのものである。
【００３７】
ネットワークインタフェース１１は、画像処理装置２をネットワーク４に接続するためのものである。画像処理装置２は、このネットワークインタフェース１１を介してサーバー３との通信を行う。
【００３８】
また外部接続インタフェース１２は、外部端末５と有線又は無線で通信を行うための通信インタフェースである。ただし、外部端末５がネットワーク４に接続され、画像処理装置２がネットワーク４を介して外部端末５と通信を行う場合、この外部接続インタフェース１２は使用されない。その場合、画像処理装置２は、上記ネットワークインタフェース１１を介して外部端末５との通信を行う。
【００３９】
操作パネル１３は、ユーザが画像処理装置２を操作する際のユーザインタフェースとなるものである。例えばユーザが外部端末５を用いることなく、画像処理装置２に対する操作を直接行う場合、この操作パネル１３に対して操作を行う。操作パネル１３は、ユーザに対して各種情報を表示する表示部１３ａと、ユーザからの操作入力を受け付ける操作部３ｂとを備えている。例えば、表示部１３ａはカラー液晶ディスプレイなどで構成され、操作部１３ｂはその表示部１３ａの画面上に配置されるタッチパネルセンサなどで構成される。
【００４０】
スキャナ部１４は、ユーザによってセットされる原稿を１枚ずつ読み取って画像データを生成する。このスキャナ部１４は、例えば画像処理装置２においてスキャンジョブが実行されるときに駆動され、原稿の読み取り動作を行う。プリンタ部１５は、入力する画像データに基づいて印刷出力を行う。このプリンタ部１５は、例えば画像処理装置２においてプリントジョブが実行されるときに駆動され、印刷用紙などに画像形成を行って出力する。ＦＡＸ部１６は、図示しない公衆通信網などを介してＦＡＸデータの送受信を行う処理部である。
【００４１】
記憶装置１７は、ハードディスクドライブ（ＨＤＤ）などで構成される不揮発性の記憶手段である。この記憶装置１７は、ＣＰＵ１０ａによって実行されるプログラム２０の他、画像処理装置２を使用するユーザに関する情報が登録されたユーザ情報２１と、サーバー３に関する情報が登録されたサーバー登録情報２２とを記憶している。また記憶装置１７には、ＢＯＸ機能によって利用される記憶領域として、画像データなどを記憶しておくためのＢＯＸ２３が少なくとも１つ設けられる。
【００４２】
ユーザ情報２１は、画像処理装置２を使用することが認められたユーザのユーザＩＤやパスワードなどの識別情報を記録しておくための情報である。またサーバー登録情報２２には、サーバー３に関する情報として、例えば、そのサーバー３にアクセスするためのアドレス（ＵＲＬやＩＰアドレスを含む。）、そのサーバー３によって提供されるアプリケーションの情報、および、そのサーバー３と連携してジョブの実行を行う際に送受信するＳＯＡＰ（Simple Object Access Protocol）コマンドなどの制御コマンドに関する情報などが含まれる。
【００４３】
ここで、ＳＯＡＰとは、画像処理装置２とサーバー３の相互間で相手先のプログラムやデータなどを呼び出したり、相手先に特定の処理を行わせたりするリモートプロシージャコール（ＲＰＣ）を実行するためのプロトコルである。画像処理装置２とサーバー３との双方がこのＳＯＡＰに基づいたコマンドやメッセージの交換を行うことにより、相手先からの指示に基づいて実行すべき処理を互いに特定することができるようになる。
【００４４】
次に図３は、外部端末５のハードウェア構成の一例を示す図である。外部端末５は、ＣＰＵ３０と、メモリ３１と、表示部３４と、操作部３５と、ネットワークインタフェース３６と、外部接続インタフェース３７とを有し、これらがバス３８を介して互いに接続された構成である。
【００４５】
ＣＰＵ３０は、各種プログラムを実行するものである。メモリ３１は、ソリッドステートドライブ（ＳＳＤ）などで構成される不揮発性の記憶手段であり、ブラウザプログラム３２や通信設定情報３３などを記憶する。ただし、この他にもメモリ３１は、ＣＰＵ３０によって実行されるＡＮＤＲＯＩＤ（登録商標）などのオペレーティングシステムや、その他各種データなどを記憶する。
【００４６】
表示部３４はカラー液晶ディスプレイなどで構成されものである。また操作部３５はその表示部３４の表示画面上に配置されたタッチパネルセンサなどで構成される。ネットワークインタフェース３６は、外部端末５をネットワーク４に接続するためのものである。さらに外部接続インタフェース３７は、画像処理装置２と有線又は無線で通信を行うための通信インタフェースである。ただし、外部端末５がネットワーク４を介して画像処理装置２と通信を行う場合、この外部接続インタフェース３７は使用されない。その場合、外部端末５は、ネットワークインタフェース３６を介して画像処理装置２との通信を行う。
【００４７】
ＣＰＵ３０は、電源が投入されることに伴ってオペレーティングシステムを起動する。その後、ユーザによってブラウザプログラム３２の起動指示が与えられると、ＣＰＵ３０は、メモリ３１からブラウザプログラム３２を読み出して実行する。これにより、外部端末５においてブラウザが機能する。ブラウザは、メモリ３１に記憶されている通信設定情報３３を読み出し、その通信設定情報３３において設定されている接続先に接続する。そしてブラウザは、その接続先を介してユーザによって指定されるアドレス（ＵＲＬ）にアクセスし、そのアドレスから画面情報を取得して表示部３４に表示する。
【００４８】
メモリ３１に記憶される通信設定情報３３には、例えばブラウザがインターネットなどにアクセスする際に特定の中継サーバー（プロキシサーバー）を経由してアクセスするか否かを設定した情報が含まれる。また、中継サーバーを経由してアクセスする設定が行われる場合には、その中継サーバーを特定するためのアドレス（例えばＩＰアドレスなど）などの情報がさらに含まれる。つまり、ブラウザは、通信設定情報３３に中継サーバーに関する情報が含まれている場合、その情報に基づいて接続先を特定し、その接続先を経由して画面情報などを取得するようになる。
【００４９】
本実施形態の画像処理システム１は、上記構成において、画像処理装置２が外部端末５の中継サーバーとして機能する。そして画像処理装置２は、外部端末５からサーバー３へのアクセス要求などを受信した場合、サーバー３との間で互いに連携してジョブを実行するためのネゴシエーションを行い、特定の制御コマンドを用いてサーバー３と通信可能な接続状態を確立する。そして画像処理装置２は、外部端末５からの要求をそのままサーバー３に転送するのではなく、画像処理装置２からの要求に書き換えてサーバー３へ送出するように構成される。以下、このような画像処理装置２についてさらに詳しく説明する。
【００５０】
図４は、画像処理装置２における機能構成の一例を示すブロック図である。上述した制御部１０は、ＣＰＵ１０ａがプログラム２０を実行することによって、図４に示すように、外部端末接続部４０、設定変更部４１、サーバー接続部４２、情報送信部４３、画面制御部４４およびジョブ実行制御部４５として機能する。
【００５１】
外部端末接続部４０は、外部端末５の通信可能な接続状態を確立する処理部である。例えば画像処理装置２が外部端末５とケーブル６を介して通信を行う場合、この外部端末接続部４０は、外部接続インタフェース１２にケーブル６が接続されたことを検知し、外部接続インタフェース１２を介して外部端末５と通信可能な接続状態を確立する。また画像処理装置２が外部端末５と無線による通信を行う場合、外部端末接続部４０は、外部接続インタフェース１２が外部端末５との無線通信が可能になったことを検知することに伴い、外部接続インタフェース１２を介して外部端末５と通信可能な接続状態を確立する。さらに画像処理装置２が外部端末５とネットワーク４を介して通信を行う場合、外部端末接続部４０は、ネットワークインタフェース１１を介して外部端末５から接続要求を受信すると、それに基づきネットワークインタフェース１１を介して外部端末５と通信可能な接続状態を確立する。尚、図４における外部端末接続部４０は、外部接続インタフェース１２を介して外部端末５と通信可能な接続状態を確立する場合を例示している。
【００５２】
また、この外部端末接続部４０は、外部端末５との接続状態を確立する際、その外部端末５を使用するユーザのユーザ認証を行うようにしても良い。例えば、外部端末５にユーザＩＤやパスワードなどのユーザ情報の送信を要求し、それに対する応答として外部端末５からユーザ情報を受信した場合には、記憶装置１７に予め記憶されているユーザ情報２１と照合する。その結果、ユーザ情報２１と一致すれば、外部端末５のユーザが正規ユーザであると判別することができるため、外部端末５との接続状態を継続させるようにしても良い。一方、ユーザ情報２１と一致しなかった場合には、外部端末５のユーザは正規ユーザではないため、外部端末５との接続状態を切断する。
【００５３】
設定変更部４１は、外部端末接続部４０によって外部端末５との接続が確立された状態で、外部端末５に記憶されている通信設定情報３３の設定変更を行う処理部である。すなわち、この設定変更部４１は、外部端末５との接続状態が確立されると、その外部端末５に対し、当該画像処理装置２を中継サーバーとして設定することを指示する。これにより、外部端末５は、設定変更部４１からの指示に基づき、通信設定情報３３における中継サーバーの設定を書き換え、ネットワーク４にアクセスする際には当該画像処理装置２を経由してアクセスするようになる。尚、設定変更部４１は、外部端末５に記憶されている通信設定情報３３に直接アクセスし、その通信設定情報３３における中継サーバーの設定を直接書き換えるようにしても良い。
【００５４】
このようにして設定変更部４１が外部端末５の通信設定情報３３を書き換えると、それ以後、外部端末５は、画像処理装置２を経由してネットワーク４に対する通信を行うようになる。すなわち、外部端末５から送出される通信パケットなどは、全て画像処理装置２を一旦経由してネットワーク４に出されるようになる。これにより、画像処理装置２は、外部端末５から送出される情報を全て監視することができる状態となる。
【００５５】
サーバー接続部４２は、外部端末５との接続が確立された状態において、外部端末５から受信する情報を判別し、画像処理装置２と連携するサーバー３へのアクセス要求である場合、そのサーバー３との通信可能な接続状態を確立する処理部である。このサーバー接続部４２は、外部端末５から情報を受信すると、その情報の送信先アドレスがサーバー登録情報２２に登録されているサーバー３のアドレスであるか否かを判断する。
【００５６】
その結果、外部端末５から受信した情報の送信先アドレスがサーバー３のアドレスと一致する場合、サーバー接続部４２は、サーバー３との間で互いに連携してジョブを実行するためのネゴシエーションを行うことにより、サーバー３との通信可能な接続状態を確立する。このとき、サーバー接続部４２は、サーバー登録情報２２に登録されているＳＯＡＰコマンドの特定の制御コマンドをサーバー３に送信する。そしてサーバー３から正常な応答コマンドを受信すると、画像処理装置２とサーバー３との間で互いに連携したジョブの実行を行うことが正常にネゴシエーションできたことになる。そのため、サーバー接続部４２は、サーバー３との通信可能な接続状態を確立する。尚、このようなネゴシエーションが正常に完了すると、サーバー３においてはアプリケーションプログラム８が起動され、サーバー３によって提供されるアプリケーションが起動状態となる。
【００５７】
一方、サーバー接続部４２は、外部端末５から受信する情報がサーバー３とは異なる装置に対して送信する情報である場合には、上記のような処理は行わず、そのタイミングではサーバー３との接続を確立しない。ただし、既にサーバー３との接続状態が確立されている場合は、その接続を切断するのではなく、その接続状態を継続させる。
【００５８】
またサーバー接続部４２は、図４に示すように、タイマー４２ａを備えている。このタイマー４２ａは、サーバー３との接続が確立された状態において、外部端末５からサーバー３へ送信するための情報を受信しない状態が継続する時間を計測するタイマーである。サーバー接続部４２は、このタイマー４２ａが所定時間を計測した場合に、サーバー３との接続状態を自動切断する。これにより、サーバー３はアプリケーションの起動状態を終了させる。
【００５９】
例えば、ネットワーク４には複数の画像処理装置２が設けられることがあり、サーバー３はそれら複数の画像処理装置２と同時に接続状態を確立させることもある。この場合、サーバー３はアプリケーションを多重起動させた状態となる。このような状態においてはサーバー３の処理負担は大きくなる。そのため、本実施形態では、外部端末５からサーバー３へ送信するための情報を画像処理装置２が受信しない状態が所定時間継続すると、画像処理装置２が自動的にサーバー３との接続を切断することにより、サーバー３の処理負担を軽減するように構成されている。
【００６０】
尚、図４では、タイマー４２ａがサーバー接続部４２の一部の機能として設けられる場合を例示しているが、これに限られるものではない。例えば、サーバー接続部４２とは別の機能としてタイマー４２ａを設けても良い。
【００６１】
情報送信部４３は、外部端末５から受信する各種要求やデータなどの情報を、ネットワークインタフェース１１を介してネットワーク４に送信する送信手段である。この情報送信部４３は、外部端末５から受信した情報に含まれる送信元アドレスを外部端末５のアドレスから画像処理装置２のアドレスに書き換える。そしてその送信元アドレスを書き換えた情報をネットワーク４に送信する。尚、この情報送信部４３は、外部端末５から受信する情報の送信先がサーバー３であるか否かにかかわらず、外部端末５から受信した情報に含まれる送信元アドレスを外部端末５のアドレスから画像処理装置２のアドレスに書き換える。これにより、画像処理装置２は、外部端末５から受信した情報をネットワーク４に送信した後、その送信情報に対する応答を送信相手から受け取ることができるようになる。
【００６２】
画面制御部４４は、情報送信部４３が送信元アドレスを書き換えて送信した送信情報に対する応答として、Ｗｅｂページなどの画面情報を取得した場合、その画面情報を外部端末５に出力する処理部である。したがって、サーバー３との接続状態が確立されている状態のとき、そのサーバー３から、サーバー３と画像処理装置２とが互いに連携して実行するジョブの操作画面に関する画面情報９を取得すると、画面制御部４４は、その画面情報９を外部端末５に出力することにより、画面情報９に対応するＷｅｂページを外部端末５の表示部３４に表示させる。
【００６３】
これにより、外部端末５のユーザは、サーバー３から送信された画面情報９に基づくＷｅｂページが表示部３４に表示されている状態で、操作部３５に対する操作を行うことにより、サーバー３と画像処理装置２とが連携して行うジョブの設定操作を行ったり、ジョブの実行指示を行ったりすることができるようになる。そして、外部端末５に対する操作が行われると、外部端末５は、その操作情報を画像処理装置２に送信する。画像処理装置２は、そのような操作情報を受信すると、上述した情報送信部４３がその都度送信元アドレスを書き換えてサーバー３に送信する。
【００６４】
サーバー３は、画像処理装置２から送信される情報を受信すると、その都度、その情報を解析する。そして画像処理装置２から受信した情報が別のＷｅｂページを要求する画面取得要求である場合、その要求に対応する画面情報９を画像処理装置２に送信する。また画像処理装置２から受信した情報がジョブの実行指示である場合、サーバー３は、画像処理装置２との間でＳＯＡＰの制御コマンドの送受信を行うことにより、画像処理装置２と連携してジョブの実行を開始する。
【００６５】
ジョブ実行制御部４５は、サーバー３から制御コマンドを受信した場合、その制御コマンドに基づいてジョブの実行を制御する処理部である。このジョブ実行制御部４５は、スキャナ部１４、プリンタ部１５、ＦＡＸ部１６およびＢＯＸ２３を制御することにより、サーバー３からの制御コマンドによって指定されたジョブを実行する。
【００６６】
例えば、画像処理装置２において原稿の読み取り動作を行って画像データを生成し、サーバー３においてその画像データに対するＯＣＲの処理を行うことによって画像データをテキストデータに変換するジョブについて説明する。このジョブの場合、画像処理装置２は、サーバー３からの指示に基づいてスキャンジョブを実行する。すなわち、原稿の読み取り動作を行って画像データを生成する。そして画像処理装置２は、その生成した画像データをサーバー３に送信する。サーバー３は、画像処理装置２から画像データを受信すると、その画像データから文字を抽出する処理を行ってテキストデータを生成する。そしてサーバー３は、外部端末５のユーザによって予め指定されている送信先にそのテキストデータを送信する。このように画像処理装置２とサーバー３とが互いに連携することにより、外部端末５のユーザによって指定されたジョブが実行されるようになる。
【００６７】
次に本実施形態の画像処理システム１において画像処理装置２とサーバー３とが互いに連携して行うシーケンスについて説明する。図５、図６および図７は、画像処理システム１において順次行われるプロセスを示すシーケンス図である。
【００６８】
まず図５は、外部端末５が画像処理装置２を中継してサーバー３にアクセスすることにより、サーバー３によって提供されるアプリケーションサービスに関する操作を行えるようにするシーケンスを示している。図５に示すように、画像処理装置２は、外部端末５との接続状態を確立すると（プロセスＰ１）、外部端末５に対して通信設定情報３３の設定変更指示を送信する（プロセスＰ２）。このとき、画像処理装置２は、設定変更指示と共に、サーバー３にアクセするためのアドレス（ＵＲＬ）を外部端末５に通知する。
【００６９】
外部端末５は、画像処理装置２から設定変更指示を受信すると、通信設定情報３３を書き換え、画像処理装置２を中継サーバーとして設定する（プロセスＰ３）。その後、外部端末５は、ユーザからの指示に基づいてブラウザを起動し（プロセスＰ４）、ユーザによって指定されたアドレス（ＵＲＬ）に対して画面取得要求を送信する（プロセスＰ５）。このとき、外部端末５の通信設定情報３３は画像処理装置２を中継サーバーとする設定に書き換えられているため、外部端末５は画面取得要求を画像処理装置２に送信する。尚、このとき送信される画面取得要求は、ＨＴＴＰ（HyperText Transfer Protocol）に基づく要求である。
【００７０】
画像処理装置２は、外部端末５からの画面取得要求を受信すると、その画面取得要求の送信先であるアドレス（ＵＲＬ）を確認する（プロセスＰ６）。その結果、送信先アドレスがサーバー３のアドレスである場合、画像処理装置２は、サーバー３に対してＳＯＡＰコマンドで接続要求を送信する（プロセスＰ７）。
【００７１】
サーバー３は、画像処理装置２から接続要求を受信すると、その情報を解析する（プロセスＰ８）。そしてＳＯＡＰコマンドの接続要求であることが確認できると、サーバー３は、アプリケーションプログラム８を実行してアプリケーションを起動させると共に、画像処理装置２に対し、ＳＯＡＰコマンドで接続確認応答を送信する（プロセスＰ９）。
【００７２】
画像処理装置２は、サーバー３から接続確認応答を受信することにより、サーバー３においてアプリケーションが起動状態となったことを把握することができるため、サーバー３との接続状態を確立させる（プロセスＰ１０）。そして画像処理装置２は、プロセスＰ５によって受信した画面取得要求の送信元アドレス（例えばＩＰアドレス）を外部端末５のアドレスから画像処理装置２のアドレスに書き換え（プロセスＰ１１）、その画面取得要求をサーバー３に送信する（プロセスＰ１２）。
【００７３】
サーバー３は、接続状態が確立された画像処理装置２から情報を受信する都度、その情報を解析する（プロセスＰ１３）。そして画像処理装置２のアドレスが送信元アドレスに書き込まれた情報である場合には、その情報がＨＴＴＰに基づく情報であるか、ＳＯＡＰに基づく情報であるかを判別する。その結果、ＨＴＴＰに基づく画面取得要求である場合、サーバー３は、その画面取得要求に対応する画面情報９を読み出し、画像処理装置２に送信する（プロセスＰ１４）。
【００７４】
画像処理装置２は、サーバー３から画面情報９を取得すると、その画面情報９を外部端末５に送信する（プロセスＰ１５）。これに伴い、画像処理装置２は、上述したタイマー４２ａによる時間計測動作をスタートさせる（プロセスＰ１６）。
【００７５】
外部端末５は、画像処理装置２から画面情報９を取得すると、その画面情報９に基づいて表示部３４に画面表示を行う（プロセスＰ１７）。この画面表示処理は、外部端末５において起動中のブラウザによって行われる。そしてユーザによる操作を検知すると（プロセスＰ１８）、外部端末５は、その操作に対応する操作情報を画像処理装置２に送信する（プロセスＰ１９）。このとき送信される操作情報は、上記と同様、ＨＴＴＰに基づく情報である。
【００７６】
画像処理装置２は、外部端末５から操作情報を受信すると、そのタイミングで時間計測
中のタイマー動作を停止させ、それまでの計測時間をリセットする（プロセスＰ２０）。そして画像処理装置２は、外部端末５から受信した操作情報の送信元アドレスを外部端末５のアドレスから画像処理装置２のアドレスに書き換え（プロセスＰ２１）、その操作情報をサーバー３に送信する（プロセスＰ２２）。その後、サーバー３は、画像処理装置２から受信する情報の解析を行い、その解析結果に応じた処理を行う。
【００７７】
次に図６は、外部端末５から送信された操作情報に基づき画像処理装置２とサーバー３とが連携してジョブを実行するシーケンスを示している。図６に示すように、サーバー３は、画像処理装置２から受信する情報の解析を行った結果（プロセスＰ３０）、その情報がＨＴＴＰに基づくジョブの実行指示であった場合、画像処理装置２に対してＳＯＡＰコマンドでのジョブの開始要求を送信する（プロセスＰ３１）。
【００７８】
画像処理装置２は、サーバー３からＳＯＡＰによる制御コマンドを受信すると、その制御コマンドに応じた処理を実行する。すなわち、画像処理装置２は、サーバー３からＳＯＡＰコマンドによるジョブの開始要求を受信すると、まず実行すべきジョブを特定し（プロセスＰ３２）、その後、その特定したジョブの実行を開始する（プロセスＰ３３）。例えばスキャンジョブの場合、画像処理装置２は、スキャナ部１４を駆動して原稿の読み取り動作を開始する。画像処理装置２は、ジョブの実行を開始すると、サーバー３に対してＳＯＡＰコマンドでのジョブの開始応答を送信する（プロセスＰ３４）。
【００７９】
サーバー３は、画像処理装置２からジョブの開始応答を受信すると、その情報を解析することにより、画像処理装置２において正常にジョブの実行が開始されたことを把握する（プロセスＰ３５）。そしてサーバー３は、ユーザによって指定されたジョブの実行中であることを示す画面情報９を読み出し、画像処理装置２に送信する（プロセスＰ３６）。
【００８０】
画像処理装置２は、サーバー３から画面情報９を受信すると、その画面情報９を外部端末５に出力する（プロセスＰ３７）。これに伴い、画像処理装置２は、上述したタイマー４２ａによる時間計測動作をスタートさせる（プロセスＰ３８）。
【００８１】
外部端末５は、画像処理装置２から画面情報９を取得すると、その画面情報９に基づいて表示部３４に画面表示を行う（プロセスＰ３９）。これにより、外部端末５のユーザは、画像処理装置２とサーバー３とが互いに連携するジョブの実行が開始されたことを把握することができるようになる。
【００８２】
画像処理装置２は、その後、サーバー３から指示されたジョブの実行を終了すると（プロセスＰ４０）、サーバー３に対してＳＯＡＰコマンドでのジョブの終了応答を送信する（プロセスＰ４１）。
【００８３】
サーバー３は、画像処理装置２からジョブの終了応答を受信すると、その情報を解析することにより、画像処理装置２においてジョブの実行が終了したことを把握する（プロセスＰ４２）。その後、サーバー３は画像処理装置２とＳＯＡＰコマンドの送受信を行うことによって互いに連携しながらユーザによって指定されたジョブの実行を終了させる。そしてサーバー３は、画像処理装置２と連携するジョブの実行が完了すると、ユーザによって指定されたジョブの実行が完了したことを示す画面情報９を読み出し、画像処理装置２に送信する（プロセスＰ４３）。
【００８４】
そして画像処理装置２は、サーバー３から画面情報９を受信すると、その画面情報９を外部端末５に出力し（プロセスＰ４４）、外部端末５に表示させる（プロセスＰ４５）。これにより、外部端末５のユーザは、画像処理装置２とサーバー３とが互いに連携するジョブの実行が完了したことを把握することができる。
【００８５】
次に図７は、画像処理装置２が外部端末５に対して画面情報を送信した後、外部端末５から情報を受信することなく所定時間が経過するシーケンスを示している。図７に示すように、サーバー３は、画像処理装置２から受信する情報の解析を行った結果（プロセスＰ５０）、その情報がＨＴＴＰに基づく画面取得要求であった場合、画像処理装置２に対して画面情報９を送信する（プロセスＰ５１）。
【００８６】
画像処理装置２は、サーバー３から画面情報９を受信すると、その画面情報９を外部端末５に出力する（プロセスＰ５２）。これに伴い、画像処理装置２は、上述したタイマー４２ａによる時間計測動作をスタートさせる（プロセスＰ５３）。また外部端末５は、画像処理装置２から画面情報９を取得すると、その画面情報９に基づいて表示部３４に画面表示を行う（プロセスＰ５４）。
【００８７】
その後、例えば外部端末５のユーザが外部端末５を放置して離れてしまった場合、画像処理装置２は外部端末５からの情報を受信することなく、タイマー４２ａが所定時間を計測してタイムアウトを検知する（プロセスＰ５５）。画像処理装置２は、タイマー４２ａがタイムアウトを検知すると、サーバー３に対し、ＳＯＡＰコマンドによる切断要求を送信する（プロセスＰ５６）。
【００８８】
サーバー３は、この切断要求を受信して情報解析を行うと、画像処理装置２とサーバー３との接続状態を切断する要求であることを特定する（プロセスＰ５７）。すると、サーバー３は、画像処理装置２に対してＳＯＡＰコマンドで切断応答を送信する（プロセスＰ５８）。このとき、サーバー３は、画像処理装置２との接続状態確立に伴って起動させたアプリケーションを終了する。
【００８９】
画像処理装置２は、切断要求に対する応答として、サーバー３からＳＯＡＰコマンドでの切断応答を受信すると、サーバー３との接続状態が切断されたことを確認する（プロセスＰ５９）。
【００９０】
その後、例えば外部端末５のユーザが戻り、プロセスＰ５４で表示されている表示画面に対する操作を行った場合、外部端末５はユーザによるその操作を検知する（プロセスＰ６０）。そして外部端末５は、画像処理装置２に対してＨＴＴＰに基づく操作情報を送信する（プロセスＰ６１）。しかし、この時点では既に画像処理装置２はサーバー３との接続状態を切断している。そのため、画像処理装置２は、上述した画面制御部４４においてタイムアウトを示すエラー画面を生成し（プロセスＰ６２）、そのエラー画面に対応する画面情報を外部端末５に送信する（プロセスＰ６３）。そして外部端末５は、画像処理装置２からエラー画面に対応する画面情報を取得すると、その画面情報に基づいて表示部３４にエラー画面を表示する（プロセスＰ６４）。これにより、ユーザは画像処理装置２とサーバー３との接続がタイムアウトにより切断されてしまったことを把握することができる。
【００９１】
このように本実施形態の画像処理システム１は、ユーザが外部端末５を用いて操作を行う場合であっても、画像処理装置２が外部端末５からの情報を中継してサーバー３に送信することにより、画像処理装置２とサーバー３とが互いに連携してジョブを実行することが可能な構成となっている。特に本実施形態では、アプリケーションサービスを提供するサーバー３は、従来通り、連携してジョブを実行する画像処理装置２との通信を行うだけで良い。そのため、サーバー３に改変を加える必要がなくなると共に、サーバー３の通信相手が増加することに伴う処理負担の増大を抑制することができる。
【００９２】
次に画像処理装置２において行われる具体的な処理手順について説明する。図８乃至図１２は、画像処理装置２において行われる処理手順の一例を示すフローチャートである。尚、図８乃至図１２に示す処理手順は、画像処理装置２において上述したＣＰＵ１０ａがプログラム２０を実行することによって行われるものである。
【００９３】
まず図８は、画像処理装置２で行われるメインのフローチャートである。画像処理装置２は、この処理を開始すると、外部端末５との接続状態を確立したか否かを判断する（ステップＳ１）。そして外部端末５との接続状態が確立されると（ステップＳ１）、ステップＳ２以降の処理へと進む。
【００９４】
外部端末５との接続状態になると、画像処理装置２は、外部端末５に対して設定変更指示を送信する（ステップＳ２）。これにより、外部端末５は、通信設定情報３３において画像処理装置２を中継サーバーとして登録する。画像処理装置２は、外部端末５に設定変更指示を送信すると、その後は、ステップＳ３〜Ｓ１０の処理を繰り返し実行するループ処理へと移行する。このループ処理は、例えば外部端末５との接続が切断されるまで継続される。
【００９５】
ループ処理に入ると、画像処理装置２は、まず外部端末５からの情報を受信したか否かを判断する（ステップＳ３）。その結果、外部端末５からの受信情報がある場合（ステップＳ３でＹＥＳ）、画像処理装置２は、中継送信処理（ステップＳ４）を実行する。尚、外部端末５からの受信情報がなかった場合には、中継送信処理（ステップＳ４）はスキップする。
【００９６】
次に画像処理装置２は、ネットワーク４を介して画面情報を受信したか否かを判断する（ステップＳ５）。ここでの画面情報は、サーバー３からの画面情報９に限られず、他のＷｅｂサーバーなどからの画面情報であっても良い。そして画面情報を受信している場合（ステップＳ５でＹＥＳ）、画像処理装置２は、画面情報送信処理（ステップＳ５）を実行する。尚、画面情報を受信していない場合は、画面情報送信処理（ステップＳ５）をスキップする。
【００９７】
次に画像処理装置２は、サーバー３から送信されるＳＯＡＰに基づく制御コマンドを受信したか否かを判断する（ステップＳ７）。サーバー３からＳＯＡＰに基づく制御コマンドを受信している場合（ステップＳ７でＹＥＳ）、画像処理装置２は、その制御コマンドに基づいてジョブ実行制御処理（ステップＳ８）を実行する。尚、サーバー３から制御コマンドを受信していない場合は、ジョブ実行制御処理（ステップＳ８）をスキップする。
【００９８】
次に画像処理装置２は、タイマー４２ａが動作中であるか否かを判断する（ステップＳ９）。タイマー４２ａが動作中である場合（ステップＳ９でＹＥＳ）、画像処理装置２は、タイマー判別処理（ステップＳ１０）を実行する。尚、タイマー４２ａが動作中でない場合は、タイバー判別処理（ステップＳ１０）をスキップする。その後、画像処理装置２は上述したようにステップＳ３〜Ｓ１０の処理を繰り返し実行する。
【００９９】
図９は、中継送信処理（ステップＳ４）の詳細な処理手順の一例を示すフローチャートである。外部端末５からの受信情報があった場合、画像処理装置２は、その情報の送信先アドレスを確認し（ステップＳ２０）、その送信先アドレスがサーバー３のアドレスであるか否かを判断する（ステップＳ２１）。その結果、受信情報の送信先が連携してジョブを実行するサーバー３ではない場合（ステップＳ２１でＮＯ）、ステップＳ３１に進む。
【０１００】
受信情報の送信先がサーバー３である場合（ステップＳ２１でＹＥＳ）、画像処理装置２は、既にそのサーバー３との接続状態を確立しているか否かを判断する（ステップＳ２２）。そして既にそのサーバー３との接続状態を確立している場合（ステップＳ２２でＹＥＳ）、ステップＳ２９へと進む。
【０１０１】
サーバー３との接続が確立されていない状態の場合（ステップＳ２２でＮＯ）、画像処理装置２は、タイマー４２ａによるタイムアウトによってサーバー３との接続が切断された状態であるか否かを判断する（ステップＳ２３）。その結果、タイムアウトによってサーバー３との接続を切断した状態であれば（ステップＳ２３でＹＥＳ）、ステップＳ３３に進む。
【０１０２】
タイムアウトによる切断状態ではない場合（ステップＳ２３でＮＯ）、画像処理装置２は、現時点において操作パネル１３が他のユーザによる使用中であるか否かを判断する（ステップＳ２４）。この判断は、操作パネル１３を操作しているユーザが存在する場合には、外部端末５からの遠隔操作によって画像処理装置２とサーバー３とが連携したジョブの実行指示が行われてしまうことを防止するために行われる。そのため、他のユーザが操作パネル１３を使用中である場合（ステップＳ２４でＹＥＳ）、ステップＳ３３へと進む。
【０１０３】
操作パネル１３が他のユーザによる使用中ではない場合（ステップＳ２４でＮＯ）、画像処理装置２は、サーバー３との接続状態を確立するためにＳＯＡＰの接続コマンドをサーバー３に送信する（ステップＳ２５）。その後、画像処理装置２は、サーバー３からの応答を受信するまで待機し、サーバー３からの応答を受信すると、その応答が正常な応答コマンドであるか否かを判断する（ステップＳ２６）。そして受信した応答が正常な応答コマンドでなかった場合（ステップＳ２６でＮＯ）、ステップＳ３３へ進む。
【０１０４】
一方、サーバー３から正常な応答コマンドを受信した場合（ステップＳ２６でＹＥＳ）、画像処理装置２は、サーバー３との接続状態を確立することができたことを確認する（ステップＳ２７）。画像処理装置２は、サーバー３との接続状態を確立すると、他のユーザによって操作パネル１３が操作されることを防止するため、操作パネル１３の使用を禁止する（ステップＳ２８）。尚、ステップＳ２８の処理は、例えば上述したサーバー接続部４２によって行われる。
【０１０５】
そして画像処理装置２は、タイマー４２ａが動作中であるか否かを判断し（ステップＳ２９）、タイマー４２ａが動作中であれば、そのタイマー４２ａの動作を停止させると共に計測時間をリセットする（ステップＳ３０）。尚、タイマー４２ａが動作中でない場合は、ステップＳ３０の処理をスキップする。
【０１０６】
次に画像処理装置２は、外部端末５からの受信情報に含まれる送信元アドレスを、外部端末５のアドレスから画像処理装置２のアドレスに書き換える（ステップＳ３１）。そしてアドレスを書き換えた受信情報をネットワーク４に送出する（ステップＳ３２）。
【０１０７】
またステップＳ２３でＹＥＳ、ステップＳ２４でＹＥＳ、又は、ステップＳ２６でＮＯと判断した場合、画像処理装置２は、それらの状況に対応するエラー画面を作成し（ステップＳ３３）、そのエラー画面に対応する画面情報を外部端末５に送信する（ステップＳ３４）。以上で、中継送信処理（ステップＳ４）の処理が全て終了する。
【０１０８】
次に図１０は、画面情報送信処理（ステップＳ６）の詳細な処理手順の一例を示すフローチャートである。ネットワーク４を介して画面情報を受信した場合、画像処理装置２は、その画面情報を外部端末５へ出力する（ステップＳ４０）。そして画像処理装置２は、外部端末５へ出力した画面情報が、サーバー３から受信した画面情報９であるか否かを判断する（ステップＳ４１）。その結果、サーバー３から受信した画面情報９である場合（ステップＳ４１でＹＥＳ）、画像処理装置２は、タイマー４２ａによる時間計測動作をスタートさせる（ステップＳ４２）。一方、受信した画面情報がサーバー３からのものではなく、他のＷｅｂサーバーなどから受信したものである場合（ステップＳ４１でＮＯ）、ステップＳ４２は行わない。以上で、画面情報送信処理（ステップＳ６）の処理が全て終了する。
【０１０９】
次に図１１は、ジョブ実行制御処理（ステップＳ８）の詳細な処理手順の一例を示すフローチャートである。サーバー３からの制御コマンドを受信した場合、画像処理装置２は、その制御コマンドに基づいて実行すべきジョブを特定する（ステップＳ５０）。そして画像処理装置２は、特定したジョブの実行を開始すると共に（ステップＳ５１）、サーバー３に対してＳＯＡＰコマンドでのジョブの開始応答を送信する（ステップＳ５２）。その後、画像処理装置２は、ジョブの実行が終了まで待機し（ステップＳ５３）、ジョブの実行が終了すると、サーバー３に対してＳＯＡＰコマンドでのジョブの終了応答を送信する（ステップＳ５４）。以上で、ジョブ実行制御処理（ステップＳ８）の処理が全て終了する。
【０１１０】
ここで図１１に示すジョブ実行制御処理（ステップＳ８）は、画像処理装置２がサーバー３からＳＯＡＰの制御コマンドを受信する都度行われる。例えばサーバー３からスキャンジョブの実行開始を指示する制御コマンドを受信すると、それに伴ってジョブ実行制御処理（ステップＳ８）が行われることにより、画像処理装置２においてスキャンジョブが実行される。その後、サーバー３からスキャンジョブによって生成した画像データをサーバー３に送信するデータ送信ジョブの実行開始を指示する制御コマンドを受信すると、それに伴ってジョブ実行制御処理（ステップＳ８）が再び行われることにより、画像処理装置２において画像データをサーバー３に送信するジョブが実行される。したがって、ジョブ実行制御処理（ステップＳ８）がサーバー３からの制御コマンドに応じて繰り返し実行されることにより、画像処理装置２は、サーバー３と連携しながらジョブの実行を行っていくことができるようになる。
【０１１１】
次に図１２は、タイマー判別処理（ステップＳ１０）の詳細な処理手順の一例を示すフローチャートである。タイマー４２ａが動作中である場合、画像処理装置２は、タイマー４２ａによって所定時間が計測されたか否かを判断する（ステップＳ６０）。タイマー４２ａによる計測時間が所定時間に満たない場合（ステップＳ６０でＮＯ）、このタイマー判別処理は直ちに終了する。
【０１１２】
一方、タイマー４２ａが計測時間を計測している場合（ステップＳ６０でＹＥＳ）、画像処理装置２は、タイマー４２ａの時間計測動作を停止させると共に、その計測時間をリセットする（ステップＳ６１）。そして画像処理装置２は、サーバー３に対してＳＯＡＰによる切断コマンドを送信する（ステップＳ６２）。その後、画像処理装置２は、サーバー３からＳＯＡＰの応答コマンドを受信するまで待機し（ステップＳ６３）、サーバー３から応答コマンドを受信すると、サーバー３との接続状態が正常に切断されたことを確認する（ステップＳ６４）。その後、画像処理装置２は、操作パネル１３を使用可能な状態に復帰させる（ステップＳ６４）。以上で、タイマー判別処理（ステップＳ１０）の処理が全て終了する。
【０１１３】
上記のような処理が画像処理装置２において実行されることにより、本実施形態の画像処理システム１においては、ユーザが外部端末５を用いて画像処理装置２とサーバー３とが互いに連携して実行するジョブに関する操作を行うことができるようになる。そして画像処理装置２とサーバー３は、外部端末５を操作するユーザの指示に基づき、互いに連携しながら処理を進めていくことにより、ユーザが指定したジョブを実行することができるようになる。
【０１１４】
以上のように、本実施形態の画像処理装置２は、外部端末５との通信可能な接続状態を確立し、外部端末５から送信される情報を中継してネットワーク４に送出するように構成される。この中継機能により、画像処理装置２は、外部端末５からの情報をネットワーク４に送出した後、その情報に対する応答をネットワーク４から受信することができる構成となっている。
【０１１５】
そして画像処理装置２は、外部端末５からサーバー３へのアクセス要求を受信した場合、外部端末５では知り得ないＳＯＡＰの制御コマンドをサーバー３との間で送受信することによってサーバー３と連携してジョブを実行するためのネゴシエーションを行い、そのサーバー３との通信可能な接続状態を確立する。その後、画像処理装置２は、外部端末５から受信した情報に含まれる送信元アドレスを当該画像処理装置２のアドレスに書き換えてサーバー３へ送信する。これにより、サーバー３は、その受信情報の送信元が画像処理装置２であることを特定することができ、その受信情報に基づいた処理を正常に行うことができるようになる。
【０１１６】
そして画像処理装置２は、サーバー３から画面情報９を受信した場合にはその画面情報９を外部端末５へ出力する。これにより、外部端末５のユーザは、サーバー３から出力される操作画面を確認することができると共に、その操作画面に対する操作を行うことにより、ジョブの実行指示など、サーバー３に対する各種指示操作を正常に行うことができるようになる。
【０１１７】
また画像処理装置２は、サーバー３との接続状態において、サーバー３からネゴシエーションに基づく制御コマンドを受信した場合、その制御コマンドに基づいてサーバー３と連携したジョブの実行を開始する。したがって、本実施形態の画像処理装置２によれば、アプリケーションサービスを提供するサーバー３に何ら改変を加えることなく、ユーザは外部端末５を用いて画像処理装置２とサーバー３とを互いに連携させてジョブを実行させることができるようになる。その結果、サーバー３の処理効率を低下させることなく、画像処理システム１の利便性を向上させることができるようになる。
【０１１８】
また本実施形態の画像処理装置２は、外部端末５との接続状態が確立されたとき、外部端末５における通信設定を、当該画像処理装置２を経由して通信を行う設定に自動変更するように構成されている。そのため、外部端末５のユーザは、外部端末５を画像処理装置２に接続するだけで良く、手動による設定変更操作などは行う必要がない。そのため、ユーザの操作負担が軽減されるというメリットもある。
【０１１９】
また本実施形態の画像処理装置２は、サーバー３にアクセスするためのアドレスをサーバー登録情報２２に予め記憶している。そして外部端末５から受信するアクセス要求に含まれるアドレスがサーバー登録情報２２に記憶されたサーバー３のアドレスと一致する場合に、画像処理装置２は、サーバー３との接続状態を確立する。言い換えると、外部端末５からのアクセス要求がサーバー３とは異なる他のサーバーへのアクセス要求であった場合、画像処理装置２は、サーバー３との接続状態を確立しない。そのため、外部端末５のユーザが画像処理装置２とサーバー３との連携を希望する場合にのみ、サーバー３との接続状態を確立することができるようになる。尚、サーバー３との接続状態を確立しない場合、画像処理装置２は、通常のプロキシサーバーとしてのみ機能し、サーバー３と連携してジョブを実行することはない。
【０１２０】
また本実施形態の画像処理装置２は、サーバー３との接続状態を確立する際、サーバー３との間でＳＯＡＰコマンドを送受信することによってサーバー３と連携してジョブを実行するためのネゴシエーションを行う。これにより、サーバー３は、接続先がジョブを連携して実行可能な画像処理装置２であることを事前に特定することができるので、画像処理装置２との接続が許可される。したがって、画像処理装置２は、そのようなネゴシエーションを事前に行うことにより、サーバー３との接続状態を正常に確立することができる。
【０１２１】
また本実施形態の画像処理装置２は、サーバー３との接続状態において、外部端末５からサーバー３に送信するための情報を受信しない状態が所定時間を経過した場合、サーバー３との接続状態を自動切断する構成である。このような構成により、サーバー３がアプリケーションを多重起動させた状態で放置されてしまうことを防止することができるため、サーバー３の処理負担を軽減することができるようになる。
【０１２２】
また本実施形態の画像処理装置２は、サーバー３との接続状態を自動切断した後、外部端末５からサーバー３へ送信するための情報を受信した場合には、その外部端末５に対してエラー画面情報を出力する。したがって、外部端末５のユーザは、タイムアウトによってサーバー３との接続が自動切断されたことを把握することができ、その後は画像処理装置２への接続をやり直すなど、適切な対処を行うことができるようになる。
【０１２３】
さらに本実施形態の画像処理装置２は、サーバー３との接続状態を確立することに伴い、操作パネル１３を他のユーザが使用不能な状態に切り替える。したがって、外部端末５のユーザが、画像処理装置２とサーバー３とを連携させてジョブの実行を指示しようとしているときに、他のユーザによって画像処理装置２が使用されてしまうことを防止することができる。
【０１２４】
以上、本発明に関する好ましい実施形態について説明したが、本発明は上述した内容のものに限られるものではなく、種々の変形例が適用可能である。
【０１２５】
例えば、上記実施形態においては、画像処理装置２がコピー機能、スキャン機能、プリント機能、ＦＡＸ機能、ＢＯＸ機能などの複数の機能を備えた複合機である場合を例示した。しかし、画像処理装置２は、そのような複合機に限られるものではなく、例えばスキャン機能のみを備えたスキャナやプリント機能のみを備えたプリンタなど、１つの機能だけを有する単機能機であっても構わない。そのような単機能機の場合でも、サーバー３と連携してジョブを実行することにより、装置単独の場合よりも多彩なジョブを実行することができるようになる。
【０１２６】
また、上記実施形態においては、外部端末５がスマートフォンやタブレット端末などの携帯型端末装置で構成される場合を例示した。しかしながら、外部端末５は、そのような携帯型端末装置に限られるものでもない。例えば、ネットワーク４に接続されたパーソナルコンピュータ（ＰＣ）などを上述した外部端末５として用いることも可能である。
【符号の説明】
【０１２７】
１  画像処理システム
２  画像処理装置
３  サーバー
４  ネットワーク
５  外部端末
１３  操作パネル
１７  記憶装置（記憶手段）
２０  プログラム
４０  外部端末接続部（外部端末接続手段）
４１  設定変更部（設定変更手段）
４２  サーバー接続部（サーバー接続手段）
４２ａ  タイマー
４３  情報送信部（送信手段）
４４  画面制御部（画面制御手段）
４５  ジョブ実行制御部（ジョブ実行制御手段）
【図１】
0005505406.tif 000002
【図２】
0005505406.tif 000003
【図３】
0005505406.tif 000004
【図４】
0005505406.tif 000005
【図５】
0005505406.tif 000006
【図６】
0005505406.tif 000007
【図７】
0005505406.tif 000008
【図８】
0005505406.tif 000009
【図９】
0005505406.tif 000010
【図１０】
0005505406.tif 000011
【図１１】
0005505406.tif 000012
【図１２】
0005505406.tif 000013