(57)【特許請求の範囲】
【請求項１】
画像形成装置と、
前記画像形成装置からの要求に応じてアプリケーションを実行し、その結果を前記画像形成装置に対して提供可能なサーバーと、
前記画像形成装置と前記サーバーとの間の、前記画像形成装置から前記サーバーへの前記アプリケーションに関するリクエスト、および前記サーバーから前記画像形成装置への前記リクエストに対する応答のやり取りを中継するための中継装置とを備え、
前記中継装置は、
前記サーバーからの前記応答をメモリーに前記リクエストと関連付けてキャッシュするための第１の記憶手段と、
前記画像形成装置から前記リクエストを受け付けると、前記メモリーにキャッシュされた前記リクエストに関連付けて記憶された応答を読み出して、受け付けた前記リクエストの前記サーバーへの送信に対して前記サーバーから実応答である応答を受け付けるよりも以前に、前記読み出した応答を仮応答として前記画像形成装置に対して送信するための第１の送信手段と、
前記サーバーから前記実応答である応答を受け付ける受付手段と、
前記受付手段で受け付けた前記実応答と前記仮応答とを比較することで前記仮応答が前記実応答と一致しているか否かを判断するための判断手段と、
前記判断手段において前記仮応答が前記実応答と一致していないと判断されると、前記リクエストよりも以降の前記画像形成装置からのリクエストであって前記仮応答として送信された応答と関連付けられたリクエストに対する応答として、前記実応答に応じた応答を前記画像形成装置に対して送信するための第２の送信手段とを含む、画像処理システム。
【請求項２】
前記第２の送信手段は、前記リクエストよりも以降の前記画像形成装置からのリクエストに対する応答として前記実応答に応じたパラメーターを含む応答を前記画像形成装置に対して送信する、請求項１に記載の画像処理システム。
【請求項３】
前記中継装置は、さらに、前記判断手段で前記実応答の属性が前記仮応答の属性と異なると判断された場合に、前記リクエストよりも以降の前記画像形成装置からのリクエストの属性を変換して差し替えコマンドを生成し、前記サーバーへの送信を中継する前記画像形成装置からのリクエストを差し替えるための生成手段を含み、
前記第２の送信手段は、前記差し替えコマンドに対する前記サーバーからの応答を、前記リクエストよりも以降の前記画像形成装置からのリクエストに対する応答として前記画像形成装置に対して送信する、請求項１に記載の画像処理システム。
【請求項４】
前記実応答のパラメーターが前記仮応答のパラメーターと異なる場合に、前記生成手段は、前記リクエストよりも以降の前記画像形成装置からのリクエストに含まれるパラメーターを前記実応答のパラメーターとの関係に応じたパラメーターに置き換えることで前記差し替えコマンドを生成する、請求項３に記載の画像処理システム。
【請求項５】
前記実応答のプロトコルが前記仮応答のプロトコルと異なる場合に、前記生成手段は、前記リクエストよりも以降の前記画像形成装置からのリクエストを前記実応答のプロトコルと前記仮応答のプロトコルとの関係に応じて置き換えることで前記差し替えコマンドを生成する、請求項３に記載の画像処理システム。
【請求項６】
前記生成手段は、実応答の属性と仮応答の属性との関係に応じた前記画像形成装置からのリクエストと前記差し替えコマンドとの対応関係を記憶するメモリーから、前記実応答の属性と前記仮応答の属性との関係に応じて前記差し替えコマンドを読み出す、請求項４または５に記載の画像処理システム。
【請求項７】
前記中継装置は、当該画像処理システムに含まれる他の中継装置から前記対応関係を取得して前記メモリーに記憶するための第２の記憶手段をさらに含む、請求項６に記載の画像処理システム。
【請求項８】
画像形成装置と、
前記画像形成装置からの要求に応じてアプリケーションを実行し、その結果を前記画像形成装置に対して提供可能なサーバーと、
前記画像形成装置と前記サーバーとの間の、前記画像形成装置から前記サーバーへの前記アプリケーションに関するリクエスト、および前記サーバーから前記画像形成装置への前記リクエストに対する応答のやり取りを中継するための中継装置とを備え、
前記中継装置は、
前記サーバーからの前記応答をメモリーに前記リクエストと関連付けてキャッシュするための記憶手段と、
前記画像形成装置から前記リクエストを受け付けると、前記メモリーにキャッシュされた前記リクエストに関連付けて記憶された応答を読み出して、受け付けた前記リクエストの前記サーバーへの送信に対して前記サーバーから実応答である応答を受け付けるよりも以前に、前記読み出した応答を仮応答として前記画像形成装置に対して送信するための送信手段と、
前記画像形成装置の操作画面を表示するための表示手段と、
前記操作画面に対するユーザー操作に従って操作信号を前記画像形成装置に対して出力するための指示手段とを含み、
前記中継装置は、前記画像形成装置から前記リクエストとして前記操作画面に対するユーザー操作を受け付ける、画像処理システム。
【請求項９】
画像形成装置と、前記画像形成装置からの要求に応じてアプリケーションを実行し、その結果を前記画像形成装置に対して提供可能なサーバーとの間の、前記画像形成装置から前記サーバーへの前記アプリケーションに関するリクエスト、および前記サーバーから前記画像形成装置への前記リクエストに対する応答のやり取りを中継するための中継装置であって、
前記サーバーからの前記応答をメモリーに前記リクエストと関連付けてキャッシュするための記憶手段と、
前記画像形成装置から前記リクエストを受け付けると、前記メモリーにキャッシュされた前記リクエストに関連付けて記憶された応答を読み出して、受け付けた前記リクエストの前記サーバーへの送信に対して前記サーバーから実応答である応答を受け付けるよりも以前に、前記読み出した応答を仮応答として前記画像形成装置に対して送信するための第１の送信手段と、
前記サーバーから前記実応答である応答を受け付ける受付手段と、
前記受付手段で受け付けた前記実応答と前記仮応答とを比較することで前記仮応答が前記実応答と一致しているか否かを判断するための判断手段と、
前記判断手段において前記仮応答が前記実応答と一致していないと判断されると、前記リクエストよりも以降の前記画像形成装置からのリクエストであって前記仮応答として送信された応答と関連付けられたリクエストに対する応答として、前記実応答に応じた応答を前記画像形成装置に対して送信するための第２の送信手段とを備える、中継装置。
【請求項１０】
画像形成装置と、前記画像形成装置からの要求に応じてアプリケーションを実行し、その結果を前記画像形成装置に対して提供可能なサーバーとの間の、前記画像形成装置から前記サーバーへの前記アプリケーションに関するリクエスト、および前記サーバーから前記画像形成装置への前記リクエストに対する応答のやり取りを中継するための中継装置であって、
前記サーバーからの前記応答をメモリーに前記リクエストと関連付けてキャッシュするための記憶手段と、
前記画像形成装置から前記リクエストを受け付けると、前記メモリーにキャッシュされた前記リクエストに関連付けて記憶された応答を読み出して、受け付けた前記リクエストの前記サーバーへの送信に対して前記サーバーから実応答である応答を受け付けるよりも以前に、前記読み出した応答を仮応答として前記画像形成装置に対して送信するための送信手段と、
前記画像形成装置の操作画面を表示するための表示手段と、
前記操作画面に対するユーザー操作に従って操作信号を前記画像形成装置に対して出力するための指示手段とを備え、
前記中継装置は、前記画像形成装置から前記リクエストとして前記操作画面に対するユーザー操作を受け付ける、中継装置。
【請求項１１】
請求項９または１０に記載の中継装置を搭載した、画像形成装置。
【請求項１２】
画像形成装置と、前記画像形成装置からの要求に応じてアプリケーションを実行し、その結果を前記画像形成装置に対して提供可能なサーバーとの間の、前記画像形成装置から前記サーバーへの前記アプリケーションに関するリクエスト、および前記サーバーから前記画像形成装置への前記リクエストに対する応答のやり取りを中継装置にて中継する方法であって、
前記中継装置が前記画像形成装置から前記リクエストを受け付けるステップと、
前記中継装置がメモリーに前記リクエストと関連付けてキャッシュされている、前記リクエストに対する応答を読み出すステップと、
前記中継装置が、受け付けた前記リクエストの前記サーバーへの送信に対して前記サーバーから実応答である応答を受け付けるよりも以前に、前記読み出した応答を仮応答として前記画像形成装置に対して送信するステップと、
前記中継装置が、前記サーバーから前記実応答である応答を受け付けるステップと、
前記中継装置が、前記実応答を前記リクエストに対する応答として前記メモリーにキャッシュするステップと、
同一セッションにおける以前の前記画像形成装置からのリクエストに対する仮応答のうち前記実応答と一致しないものがあった場合に、前記中継装置が、前記メモリーにキャッシュされている前記リクエストに対する応答に含まれるパラメーターを前記仮応答と前記実応答との差異に応じて置き換えるステップと、
前記中継装置が、前記パラメーターを置き換えた応答を前記画像形成装置に対して送信するステップとを備える、中継方法。
【請求項１３】
同一セッションにおける以前の前記画像形成装置からのリクエストに対する仮応答の属性が実応答の属性と一致しないものがあった場合に、前記中継装置が、前記リクエストを受け付けるステップにおいて前記画像形成装置から受け付けた前記リクエストを前記仮応答と前記実応答との差異に応じて変換し、変換したリクエストを前記サーバーに対して送信するステップと、
前記中継装置が、前記変換したリクエストに対する前記サーバーからの応答を受け付けて、前記応答を前記画像形成装置に対して送信するステップとを備える、請求項１２に記載の中継方法。
【請求項１４】
画像形成装置と、前記画像形成装置からの要求に応じてアプリケーションを実行し、その結果を前記画像形成装置に対して提供可能なサーバーとの間の、前記画像形成装置から前記サーバーへの前記アプリケーションに関するリクエスト、および前記サーバーから前記画像形成装置への前記リクエストに対する応答のやり取りを中継装置にて中継する方法であって、
前記中継装置が前記画像形成装置から前記リクエストを受け付けるステップと、
前記中継装置がメモリーに前記リクエストと関連付けてキャッシュされている、前記リクエストに対する応答を読み出すステップと、
前記中継装置が、受け付けた前記リクエストの前記サーバーへの送信に対して前記サーバーから実応答である応答を受け付けるよりも以前に、前記読み出した応答を仮応答として前記画像形成装置に対して送信するステップと、
前記中継装置が、前記画像形成装置の操作画面を表示するステップと、
前記中継装置が、前記操作画面に対するユーザー操作に従って操作信号を前記画像形成装置に対して出力するステップと、
前記中継装置が、前記画像形成装置から前記リクエストとして前記操作画面に対するユーザー操作を受け付けるステップとを含む、中継方法。
【請求項１５】
コンピューターに、画像形成装置と、前記画像形成装置からの要求に応じてアプリケーションを実行し、その結果を前記画像形成装置に対して提供可能なサーバーとの間の、前記画像形成装置から前記サーバーへの前記アプリケーションに関するリクエスト、および前記サーバーから前記画像形成装置への前記リクエストに対する応答のやり取りを中継する処理を行なわせるためのプログラムであって、
前記画像形成装置から前記リクエストを受け付けると、メモリーに前記リクエストと関連付けてキャッシュされている前記リクエストに対する応答を読み出すステップと、
受け付けた前記リクエストの前記サーバーへの送信に対して前記サーバーから実応答である応答を受け付けるよりも以前に、前記読み出した応答を仮応答として前記画像形成装置に対して送信するステップと、
前記サーバーから前記実応答である応答を受け付けるステップと、
前記実応答を前記リクエストに対する応答として前記メモリーにキャッシュするステップと、
同一セッションにおける以前の前記画像形成装置からのリクエストに対する仮応答のうち実応答と一致しないものがあるか否かを判断するステップと、
実応答と一致しないものがあったと判断された場合に、前記メモリーにキャッシュされている前記リクエストに対する応答に含まれるパラメーターを前記仮応答と前記実応答との差異に応じて置き換えるステップと、
前記パラメーターを置き換えた応答を前記画像形成装置に対して送信するステップとを前記コンピューターに実行させる、中継プログラム。
【請求項１６】
同一セッションにおける以前の前記画像形成装置からのリクエストに対する仮応答の属性が実応答の属性と一致しないものがあったと判断された場合に、前記リクエストを受け付けるステップにおいて前記画像形成装置から受け付けた前記リクエストを前記仮応答と前記実応答との差異に応じて変換するステップと、
前記変換するステップで変換したリクエストを前記サーバーに対して送信するステップと、
前記変換したリクエストに対する前記サーバーからの応答を受け付けて、前記応答を前記画像形成装置に対して送信するステップとをさらに前記コンピューターに実行させる、請求項１５に記載の中継プログラム。
【請求項１７】
コンピューターに、画像形成装置と、前記画像形成装置からの要求に応じてアプリケーションを実行し、その結果を前記画像形成装置に対して提供可能なサーバーとの間の、前記画像形成装置から前記サーバーへの前記アプリケーションに関するリクエスト、および前記サーバーから前記画像形成装置への前記リクエストに対する応答のやり取りを中継する処理を行なわせるためのプログラムであって、
前記画像形成装置から前記リクエストを受け付けると、メモリーに前記リクエストと関連付けてキャッシュされている前記リクエストに対する応答を読み出すステップと、
受け付けた前記リクエストの前記サーバーへの送信に対して前記サーバーから実応答である応答を受け付けるよりも以前に、前記読み出した応答を仮応答として前記画像形成装置に対して送信するステップと、
前記画像形成装置の操作画面を表示するステップと、
前記操作画面に対するユーザー操作に従って操作信号を前記画像形成装置に対して出力するステップと、
前記画像形成装置から前記リクエストとして前記操作画面に対するユーザー操作を受け付けるステップとを前記コンピューターに実行させる、中継プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は画像処理システム、中継装置、画像形成装置、中継方法、および中継プログラムに関し、特に、画像形成装置とサーバーとの間の通信を中継する中継装置を含んだ画像処理システム、該システムに含まれる中継装置および画像形成装置、ならびに該システムでの中継方法および中継プログラムに関する。
【背景技術】
【０００２】
ＭＦＰ（Multi-Functional  Peripheral）などの画像形成装置の高機能化に伴い、画像形成装置ではアプリケーションの機能を利用可能となってきている。さらに、サーバーに保存されるアプリケーションにアクセスし、このアプリケーションを実行することによる処理結果を取り込むことが可能な画像形成装置も提案されている。
【０００３】
画像形成装置は、アプリケーションを提供するサーバーと直接通信する機能を有するものもあるが、双方のプロトコルの差異の吸収やセキュリティの観点より、通信を中継するための中継装置を介して通信する場合がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−４４６１９号公報
【特許文献２】特開２０１２−３６６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記のように、画像形成装置とアプリケーションを提供するサーバーとが中継装置を介して通信する場合には、画像形成装置とサーバーとが直接通信する場合と比較して通信時間が長くなるという問題がある。
【０００６】
本発明はこのような問題に鑑みてなされたものであって、画像形成装置とサーバーとの間の通信の遅滞を抑えることのできる画像処理システム、中継装置、画像形成装置、中継方法、および中継プログラムを提供することを目的としている。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明のある局面に従うと、画像処理システムは、画像形成装置と、画像形成装置からの要求に応じてアプリケーションを実行し、その結果を画像形成装置に対して提供可能なサーバーと、画像形成装置とサーバーとの間の、画像形成装置からサーバーへのアプリケーションに関するリクエスト、およびサーバーから画像形成装置へのリクエストに対する応答のやり取りを中継するための中継装置とを備える。中継装置は、サーバーからの応答をメモリーにリクエストと関連付けてキャッシュするための第１の記憶手段と、画像形成装置からリクエストを受け付けると、メモリーにキャッシュされた当該リクエストに関連付けて記憶された応答を読み出して、受け付けたリクエストのサーバーへの送信に対してサーバーから実応答である応答を受け付けるよりも以前に、読み出した応答を仮応答として画像形成装置に対して送信するための第１の送信手段と、サーバーから実応答である応答を受け付ける受付手段と、受付手段で受け付けた実応答と仮応答とを比較することで仮応答が実応答と一致しているか否かを判断するための判断手段と、判断手段において仮応答が実応答と一致していないと判断されると、リクエストよりも以降の画像形成装置からのリクエストであって仮応答として送信された応答と関連付けられたリクエストに対する応答として、実応答に応じた応答を画像形成装置に対して送信するための第２の送信手段とを含む。
【０００９】
より好ましくは、第２の送信手段は、当該リクエストよりも以降の画像形成装置からのリクエストに対する応答として実応答に応じたパラメーターを含む応答を画像形成装置に対して送信する。
【００１０】
より好ましくは、中継装置は、さらに、判断手段で実応答の属性が仮応答の属性と異なると判断された場合に、当該リクエストよりも以降の画像形成装置からのリクエストの属性を変換して差し替えコマンドを生成し、サーバーへの送信を中継する画像形成装置からのリクエストを差し替えるための生成手段を含み、第２の送信手段は、差し替えコマンドに対するサーバーからの応答を、当該リクエストよりも以降の画像形成装置からのリクエストに対する応答として画像形成装置に対して送信する。
【００１１】
より好ましくは、実応答のパラメーターが仮応答のパラメーターと異なる場合に、生成手段は、当該リクエストよりも以降の画像形成装置からのリクエストに含まれるパラメーターを実応答のパラメーターとの関係に応じたパラメーターに置き換えることで差し替えコマンドを生成する。
【００１２】
好ましくは、実応答のプロトコルが仮応答のプロトコルと異なる場合に、生成手段は、当該リクエストよりも以降の画像形成装置からのリクエストを実応答のプロトコルと仮応答のプロトコルとの関係に応じて置き換えることで差し替えコマンドを生成する。
【００１３】
好ましくは、生成手段は、実応答の属性と仮応答の属性との関係に応じた画像形成装置からのリクエストと差し替えコマンドとの対応関係を記憶するメモリーから、実応答の属性と仮応答の属性との関係に応じて差し替えコマンドを読み出す。
【００１４】
より好ましくは、中継装置は、当該画像処理システムに含まれる他の中継装置から上記対応関係を取得してメモリーに記憶するための第２の記憶手段をさらに含む。
【００１５】
本発明の他の局面に従うと、画像形成装置と、画像形成装置からの要求に応じてアプリケーションを実行し、その結果を画像形成装置に対して提供可能なサーバーと、画像形成装置とサーバーとの間の、画像形成装置からサーバーへのアプリケーションに関するリクエスト、およびサーバーから画像形成装置へのリクエストに対する応答のやり取りを中継するための中継装置とを備える。中継装置は、サーバーからの応答をメモリーにリクエストと関連付けてキャッシュするための記憶手段と、画像形成装置からリクエストを受け付けると、メモリーにキャッシュされたリクエストに関連付けて記憶された応答を読み出して、受け付けたリクエストのサーバーへの送信に対してサーバーから実応答である応答を受け付けるよりも以前に、読み出した応答を仮応答として画像形成装置に対して送信するための送信手段と、画像形成装置の操作画面を表示するための表示手段と、操作画面に対するユーザー操作に従って操作信号を画像形成装置に対して出力するための指示手段とを含み、中継装置は、画像形成装置からリクエストとして操作画面に対するユーザー操作を受け付ける。
【００１６】
本発明の他の局面に従うと、中継装置は、画像形成装置と、画像形成装置からの要求に応じてアプリケーションを実行し、その結果を画像形成装置に対して提供可能なサーバーとの間の、画像形成装置からサーバーへのアプリケーションに関するリクエスト、およびサーバーから画像形成装置へのリクエストに対する応答のやり取りを中継するための中継装置であって、サーバーからの応答をメモリーにリクエストと関連付けてキャッシュするための記憶手段と、画像形成装置からリクエストを受け付けると、メモリーにキャッシュされたリクエストに関連付けて記憶された応答を読み出して、受け付けたリクエストのサーバーへの送信に対してサーバーから実応答である応答を受け付けるよりも以前に読み出した応答を仮応答として画像形成装置に対して送信するための第１の送信手段と、サーバーから実応答である応答を受け付ける受付手段と、受付手段で受け付けた実応答と仮応答とを比較することで仮応答が実応答と一致しているか否かを判断するための判断手段と、判断手段において仮応答が実応答と一致していないと判断されると、リクエストよりも以降の画像形成装置からのリクエストであって仮応答として送信された応答と関連付けられたリクエストに対する応答として、実応答に応じた応答を画像形成装置に対して送信するための第２の送信手段とを備える。
【００１７】
本発明の他の局面に従うと、画像形成装置と、画像形成装置からの要求に応じてアプリケーションを実行し、その結果を画像形成装置に対して提供可能なサーバーとの間の、画像形成装置からサーバーへのアプリケーションに関するリクエスト、およびサーバーから画像形成装置へのリクエストに対する応答のやり取りを中継するための中継装置であって、サーバーからの応答をメモリーにリクエストと関連付けてキャッシュするための記憶手段と、画像形成装置からリクエストを受け付けると、メモリーにキャッシュされたリクエストに関連付けて記憶された応答を読み出して、受け付けたリクエストのサーバーへの送信に対してサーバーから実応答である応答を受け付けるよりも以前に、読み出した応答を仮応答として画像形成装置に対して送信するための送信手段と、画像形成装置の操作画面を表示するための表示手段と、操作画面に対するユーザー操作に従って操作信号を画像形成装置に対して出力するための指示手段とを備える。中継装置は、画像形成装置からリクエストとして操作画面に対するユーザー操作を受け付ける。
【００１８】
本発明のさらに他の局面に従うと、画像形成装置は上記の中継装置を搭載している。
本発明のさらに他の局面に従うと、中継方法は、画像形成装置と、画像形成装置からの要求に応じてアプリケーションを実行し、その結果を画像形成装置に対して提供可能なサーバーとの間の、画像形成装置からサーバーへのアプリケーションに関するリクエスト、およびサーバーから画像形成装置へのリクエストに対する応答のやり取りを中継装置にて中継する方法であって、中継装置が画像形成装置からリクエストを受け付けるステップと、中継装置がメモリーにリクエストと関連付けてキャッシュされている、リクエストに対する応答を読み出すステップと、中継装置が、受け付けたリクエストのサーバーへの送信に対してサーバーから実応答である応答を受け付けるよりも以前に、読み出した応答を仮応答として画像形成装置に対して送信するステップと、中継装置が、サーバーから実応答である応答を受け付けるステップと、中継装置が、実応答をリクエストに対する応答としてメモリーにキャッシュするステップと、同一セッションにおける以前の画像形成装置からのリクエストに対する仮応答のうち実応答と一致しないものがあった場合に、中継装置が、メモリーにキャッシュされているリクエストに対する応答に含まれるパラメーターを仮応答と実応答との差異に応じて置き換えるステップと、中継装置が、パラメーターを置き換えた応答を画像形成装置に対して送信するステップとを備える。
【００２０】
より好ましくは、中継方法は、同一セッションにおける以前の画像形成装置からのリクエストに対する仮応答の属性が実応答の属性と一致しないものがあった場合に、中継装置が、リクエストを受け付けるステップにおいて画像形成装置から受け付けたリクエストを仮応答と実応答との差異に応じて変換し、変換したリクエストをサーバーに対して送信するステップと、中継装置が、変換したリクエストに対するサーバーからの応答を受け付けて、その応答を画像形成装置に対して送信するステップとを備える。
本発明のさらに他の局面に従うと、画像形成装置と、画像形成装置からの要求に応じてアプリケーションを実行し、その結果を画像形成装置に対して提供可能なサーバーとの間の、画像形成装置からサーバーへのアプリケーションに関するリクエスト、およびサーバーから画像形成装置へのリクエストに対する応答のやり取りを中継装置にて中継する方法であって、中継装置が画像形成装置からリクエストを受け付けるステップと、中継装置がメモリーにリクエストと関連付けてキャッシュされている、リクエストに対する応答を読み出すステップと、中継装置が、受け付けたリクエストのサーバーへの送信に対してサーバーから実応答である応答を受け付けるよりも以前に、読み出した応答を仮応答として画像形成装置に対して送信するステップと、中継装置が、画像形成装置の操作画面を表示するステップと、中継装置が、操作画面に対するユーザー操作に従って操作信号を画像形成装置に対して出力するステップと、中継装置が、画像形成装置からリクエストとして操作画面に対するユーザー操作を受け付けるステップとを含む。
【００２１】
本発明のさらに他の局面に従うと、中継プログラムは、コンピューターに、画像形成装置と、画像形成装置からの要求に応じてアプリケーションを実行し、その結果を画像形成装置に対して提供可能なサーバーとの間の、画像形成装置からサーバーへのアプリケーションに関するリクエスト、およびサーバーから画像形成装置へのリクエストに対する応答のやり取りを中継する処理を行なわせるためのプログラムであって、画像形成装置からリクエストを受け付けると、メモリーにリクエストと関連付けてキャッシュされているリクエストに対する応答を読み出すステップと、受け付けたリクエストのサーバーへの送信に対してサーバーから実応答である応答を受け付けるよりも以前に、読み出した応答を仮応答として画像形成装置に対して送信するステップと、サーバーから実応答である応答を受け付けるステップと、実応答をリクエストに対する応答としてメモリーにキャッシュするステップと、同一セッションにおける以前の画像形成装置からのリクエストに対する仮応答のうち実応答と一致しないものがあるか否かを判断するステップと、実応答と一致しないものがあったと判断された場合に、メモリーにキャッシュされているリクエストに対する応答に含まれるパラメーターを仮応答と実応答との差異に応じて置き換えるステップと、パラメーターを置き換えた応答を画像形成装置に対して送信するステップとをコンピューターに実行させる。
【００２３】
より好ましくは、中継プログラムは、同一セッションにおける以前の画像形成装置からのリクエストに対する仮応答の属性が実応答の属性と一致しないものがあったと判断された場合に、リクエストを受け付けるステップにおいて画像形成装置から受け付けたリクエストを仮応答と実応答との差異に応じて変換するステップと、変換するステップで変換したリクエストをサーバーに対して送信するステップと、変換したリクエストに対するサーバーからの応答を受け付けて、その応答を画像形成装置に対して送信するステップとをさらにコンピューターに実行させる。
本発明のさらに他の局面に従うと、コンピューターに、画像形成装置と、画像形成装置からの要求に応じてアプリケーションを実行し、その結果を画像形成装置に対して提供可能なサーバーとの間の、画像形成装置からサーバーへのアプリケーションに関するリクエスト、およびサーバーから画像形成装置へのリクエストに対する応答のやり取りを中継する処理を行なわせるためのプログラムであって、画像形成装置からリクエストを受け付けると、メモリーにリクエストと関連付けてキャッシュされているリクエストに対する応答を読み出すステップと、受け付けたリクエストのサーバーへの送信に対してサーバーから実応答である応答を受け付けるよりも以前に、読み出した応答を仮応答として画像形成装置に対して送信するステップと、画像形成装置の操作画面を表示するステップと、操作画面に対するユーザー操作に従って操作信号を画像形成装置に対して出力するステップと、画像形成装置からリクエストとして操作画面に対するユーザー操作を受け付けるステップとをコンピューターに実行させる。
【発明の効果】
【００２４】
この発明によると、画像形成装置とサーバーとの間の通信の遅滞を抑えることができ、画像形成装置のユーザーの利便性を向上させることができる。
【図面の簡単な説明】
【００２５】
【図１】実施の形態にかかる画像処理システム（以下、システムと略する）の構成の具体例を表わした図である。
【図２】システムに含まれる中継装置の装置構成の具体例を表わしたブロック図である。
【図３】システムでの動作概要を表わした図である。
【図４】システムでの動作概要を表わした図である。
【図５】差し替えコマンドを生成するためのデータベースの具体例を表わした図である。
【図６】差し替えコマンドを生成するためのデータベースの具体例を表わした図である。
【図７】中継装置の機能構成の具体例を示すブロック図である。
【図８】中継装置での動作の流れの具体例を表わしたフローチャートである。
【図９】中継装置での動作の流れの具体例を表わしたフローチャートである。
【発明を実施するための形態】
【００２６】
以下に、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらの説明は繰り返さない。
【００２７】
＜システム構成＞
図１は、本実施の形態にかかる画像処理システム（以下、システムと略する）の構成の具体例を表わした図である。図１を参照して、本システムは、画像形成装置の一例としての、１台以上のＭＦＰ３００Ａ，３００Ｂ，３００Ｃを含む。ＭＦＰ３００Ａ，３００Ｂ，３００Ｃを代表させてＭＦＰ３００とも称する。
【００２８】
ＭＦＰ３００は、中継装置１００と通信可能である。好ましくは、ＭＦＰ３００は中継装置１００と無線通信を行なう。
【００２９】
中継装置１００は、ＭＦＰ３００と通信可能な装置であり、かつ、後述するサーバー５００と通信可能な装置であればどのような装置であってもよい。一例として、タブレットなどとも呼ばれる端末装置が挙げられる。中継装置１００は必ずしもＭＦＰ３００と別個の装置でなくてもよく、いずれかのＭＦＰ３００に搭載されていてもよい。
【００３０】
中継装置１００とサーバー５００との間の通信は、インターネットなどのネットワークを介したものであってもよいし、直接であってもよい。また、その通信は、無線であっても有線であってもよい。
【００３１】
中継装置１００は、さらにメモリー装置１００Ａにアクセス可能である。メモリー装置１００Ａもまたインターネットなどのネットワークを介した通信によってアクセス可能な中継装置１００とは別個の装置であってもよいし、中継装置１００に搭載されていてもよい。
【００３２】
＜装置構成＞
図２は、中継装置１００の装置構成の具体例を表わしたブロック図である。ここでは、一例として、中継装置１００が端末装置で実現されている場合を例示する。従って、言うまでもなく、中継装置１００の装置構成は図２に示されたものに限定されるものではない。
【００３３】
図２を参照して、中継装置１００は、装置全体を制御するためのＣＰＵ（Central  Processing  Unit）１０と、ＣＰＵ１０で実行されるプログラムやその他データを記憶するためのメモリーであるＲＯＭ（Read  Only  Memory）１１と、ＣＰＵ１０でプログラムを実行する際の計算値を記憶したり作業領域になったりするメモリーであるＲＡＭ（Random  Access  Memory）１２と、タッチパネル１３と、ＭＦＰ３００との間の通信を制御するための第１通信コントローラー１４と、サーバー５００やメモリー装置１００Ａとの間の通信を制御するための第２通信コントローラー１５とを含む。
【００３４】
＜動作概要＞
中継装置１００は、ＭＦＰ３００とサーバー５００との間の通信を中継する。サーバー５００はアプリケーションを記憶しており、ＭＦＰ３００からのリクエストに応じてアプリケーションを実行する。そして、サーバー５００は、アプリケーションを実行することによる処理結果を上記リクエストに対する応答としてＭＦＰ３００に提供する。これにより、ＭＦＰ３００は、サーバー５００のアプリケーションを利用することができる。中継装置１００は、ＭＦＰ３００からサーバー５００へのリクエストの送信、およびサーバー５００からＭＦＰ３００に対する応答の送信を中継する。その際、中継装置１００は、サーバー５００からの応答をＭＦＰ３００からのリクエストに関連付けてメモリー装置１００Ａにキャッシュ（記憶）する。
【００３５】
中継装置１００は、上記のようにＭＦＰ３００およびサーバー５００と通信可能な装置であればどのような装置であってもよく、一例として、タブレットなどとも呼ばれる端末装置が挙げられる。端末装置は、さらに、一例として、いわゆるリモートパネルと呼ばれる機能を有してもよい。すなわち、端末装置はリモートパネル機能を実現するためのアプリケーションを搭載し、該アプリケーションを実行することで指定されたＭＦＰ３００の操作画面を自身のタッチパネルに表示する。該操作画面に対するユーザー操作（タッチ）を受け付けると、端末装置は操作位置を表わす情報をＭＦＰ３００に対して送信し、当該操作位置に応じた操作に従う処理に応じてタッチパネルの操作画面を更新する。ＭＦＰ３００は端末装置に表示されている操作パネルと操作位置を表わす情報とから処理を特定し、実行する。これにより、端末装置のユーザーは、タッチパネルに対する操作でＭＦＰ３００を遠隔操作可能となる。
【００３６】
なお、中継装置１００が上記端末装置によって実現される場合、後述するＭＦＰ３００からのリクエストは自身のタッチパネルに表示されたＭＦＰ３００の操作画面に対するユーザー操作によって中継装置１００に入力されてもよい。
【００３７】
図３は、本システムでの動作概要を表わした図である。図３を参照して、中継装置１００は、ＭＦＰ３００からサーバー５００に対するリクエストを受け付けると（ステップＳ１）、メモリー装置１００Ａから当該リクエストに関連付けられている応答を読み出す（ステップＳ２）。そして、中継装置１００は、読み出した応答を、サーバー５００からの応答を受け付けるよりも先にＭＦＰ３００に対して送信する（ステップＳ３）。以降の説明において、メモリー装置１００Ａから読み出した応答を仮応答とも称し、サーバー５００から受け付けた応答を実応答とも称する。なお、メモリー装置１００Ａに上記リクエストに関連付けられて応答がキャッシュされていない場合には、上記ステップＳ３をスキップする。
【００３８】
図３の例では、ステップＳ１で中継装置１００はサーバー５００に対する接続要求であるリクエスト「Ｒｅｑ＿Ｃｏｎｎｅｃｔ」をＭＦＰ３００から受け付け、それに対する応答として、以前にサーバー５００から受け付けてメモリー装置１００Ａにキャッシュしてされている応答「Ｒｅｓ＿Ｃｏｎｎｅｃｔ」を、ステップＳ２でメモリー装置１００Ａから読み出して、ステップＳ３でＭＦＰ３００に対して仮応答「Ｒｅｓ＿Ｃｏｎｎｅｃｔ（仮）」として送信している。
【００３９】
好ましくは、中継装置１００はその後、上記ステップＳ１でＭＦＰ３００から受け付けたリクエストをサーバー５００に対して出力し（ステップＳ４）、その応答である実応答をサーバー５００から受け取る（ステップＳ５）。図３の例では、ステップＳ５で中継装置１００は実応答「Ｒｅｓ＿Ｃｏｎｎｅｃｔ（実）」をサーバー５００から受け取っている。
【００４０】
中継装置１００は実応答と仮応答とを比較し、これらが一致するか否かを判断する（ステップＳ６）。図３の例では、上記ステップＳ２でＭＦＰ３００に対して接続要求に応じて接続を行なったことを表わす仮応答「Ｒｅｓ＿Ｃｏｎｎｅｃｔ（仮）」を送信しているため、上記ステップＳ６で中継装置１００は、サーバー５００からの実応答として接続を行なったことを表わす応答であるか否かを確認する。
【００４１】
そうであった場合、つまり、実応答と仮応答とが一致したものであった場合には（ステップＳ６でＹＥＳ）、中継装置１００は実応答を上記リクエストに関連付けてメモリー装置１００Ａにキャッシュする（ステップＳ７）。上記リクエストに関連付けられた応答がメモリー装置１００Ａにすでにキャッシュされている場合には、ステップＳ７ではメモリーを上書きすることになる。
【００４２】
中継装置１００は、次にＭＦＰ３００からリクエストを受け付けると（ステップＳ８）、同様に、メモリー装置１００Ａから当該リクエストに関連付けられている応答を読み出す（ステップＳ９）。当該リクエストが同一セッションにおける２回目以降のリクエストである場合には、中継装置１００は、当該セッションにおいてリクエストに対する仮応答が実応答と一致しないものがあったか否かを確認する（ステップＳ１０）。図３の例では、実応答が接続を行なったことを表わす応答であったか否かを確認する。
【００４３】
その結果、当該セッションにおいて実応答と一致しない仮応答があった場合（ステップＳ１０でＮＯ）、中継装置１００は上記ステップＳ９でメモリー装置１００Ａから読み出した応答に含まれるパラメーターを上記の実応答に応じたパラメーターに置き換え（ステップＳ１１）、パラメーターを置き換えた応答をＭＦＰ３００に対して送信する（ステップＳ１２）。
【００４４】
図３の例で、中継装置１００は、サーバー５００に対する現在の状態を要求する２度目のリクエスト「Ｒｅｑ＿ＧｅｔＳｔａｔｕｓ」をＭＦＰ３００から受け付けた際に、以前の実応答「Ｒｅｓ＿Ｃｏｎｎｅｃｔ（実）」が接続が行なえなかったことを表わす応答であった場合には、上記ステップＳ１０で実応答と一致しない仮応答があったと判断される。この場合、中継装置１００は、ステップＳ１１で、リクエスト「Ｒｅｑ＿ＧｅｔＳｔａｔｕｓ」に対する応答としてキャッシュされていた、接続された状態を表わす応答「Ｒｅｓ＿ＧｅｔＳｔａｔｕｓ（Ａｃｋ）」のパラメーター（Ａｃｋ）を実応答に応じて接続されていない状態を表わすパラメーター（ＮＡＣＫ）に置き換える。そして、中継装置１００は、ステップＳ１２で、パラメーターを置き換えた応答「Ｒｅｓ＿ＧｅｔＳｔａｔｕｓ（ＮＡＣＫ）」をＭＦＰ３００に対して送信する。
【００４５】
当該セッションにおいてリクエストに対する仮応答が実応答と一致しないものがなかった場合（ステップＳ１０でＹＥＳ）、中継装置１００は上記と同様に動作する。すなわち、キャッシュされていた応答を仮応答としてＭＦＰ３００に送信した後に（ステップＳ１３）、サーバー５００に対してリクエストを送信し（ステップＳ１４）、その応答を得る（ステップＳ１５）。以降、同じ動作が繰り返される。
【００４６】
図３は、サーバー５００とＭＦＰ３００との間のプロトコルが同一である場合の動作を表わしている。この場合、本システムで以上の動作が行なわれることで、仮応答が実応答と一致している場合にはサーバー５００との間の通信よりも以前にＭＦＰ３００に対して応答が返されることになるため、ＭＦＰ３００は速やかに次の動作に移行することができる。通常、プロトコルが同一である場合にはコマンドレベルでは大半のコマンドがキャッシュされた（以前の）応答を利用することができる。これにより、通信時間を大幅に抑えることができ、ＭＦＰ３００のユーザーはパネル操作を速やかに行なうことができる。また、好ましくは、本システムにおいて、さらに、仮応答と実応答とを比較してその結果に応じて動作することで、仮応答が実応答と異なった場合であっても、早いタイミングでその状態がＭＦＰ３００に通知され、正常に処理を終了するなど動作させることができる。
【００４７】
しかしながら、サーバー５００とＭＦＰ３００との間のプロトコル（またはプロトコルのバージョン）が異なる場合や、サーバー５００側でパラメーターの変更がなされた場合には、キャッシュされた（以前の）応答を用いることができない場合がある。
【００４８】
図４は、サーバー５００側でパラメーターの変更がなされた場合の本システムでの動作概要を表わした図である。図４では、サーバー５００側で、応答がキャッシュされた時点では「ｊｐｇ」であったパラメーターが「ＰＤＦ」に変更された例が示されている。
【００４９】
図４を参照して、中継装置１００は、ＭＦＰ３００からサーバー５００に対するリクエストを受け付けると（ステップＳ２１）、メモリー装置１００Ａから当該リクエストに関連付けられている応答を読み出す（ステップＳ２２）。そして、中継装置１００は、読み出した応答を、サーバー５００からの応答を受け付けるよりも先にＭＦＰ３００に対して送信する（ステップＳ２３）。図４の例では、ステップＳ２１で中継装置１００はサーバー５００に対してデフォルト状態を要求するリクエスト「Ｒｅｑ＿ＧｅｔＤｅｆａｕｌｔ」をＭＦＰ３００から受け付け、それに対する応答として、以前にサーバー５００から受け付けてメモリー装置１００Ａにキャッシュしてされている応答「Ｒｅｓ＿ＧｅｔＤｅｆａｕｌｔ（Ｄｅｆａｕｌｔ＝ｊｐｇ）」を、ステップＳ２２でメモリー装置１００Ａから読み出して、ステップＳ２３でＭＦＰ３００に対して仮応答「Ｒｅｓ＿ＧｅｔＤｅｆａｕｌｔ（Ｄｅｆａｕｌｔ＝ｊｐｇ）（仮）」として送信している。
【００５０】
次に、中継装置１００は上記ステップＳ２１でＭＦＰ３００から受け付けたリクエストをサーバー５００に対して出力し（ステップＳ２４）、その応答である実応答をサーバー５００から受け取る（ステップＳ２５）。図４の例では、ステップＳ２５で中継装置１００は実応答「Ｒｅｓ＿ＧｅｔＤｅｆａｕｌｔ（Ｄｅｆａｕｌｔ＝ＰＤＦ）（実）」をサーバー５００から受け取っている。
【００５１】
中継装置１００は実応答と仮応答とを比較することで、実応答に含まれるパラメーターが仮応答に含まれるパラメーターから変更されていると判断することができる（ステップＳ２６でＹＥＳ）。この場合、中継装置１００は、実応答「Ｒｅｓ＿ＧｅｔＤｅｆａｕｌｔ（Ｄｅｆａｕｌｔ＝ＰＤＦ）（実）」を上記リクエスト「Ｒｅｑ＿ＧｅｔＤｅｆａｕｌｔ」に関連付けてメモリー装置１００Ａにキャッシュする（ステップＳ２７）。さらに、中継装置１００は、以降のＭＦＰ３００からのリクエストを上記パラメーターの差異に基づいて事前に変換してコマンドを生成し、サーバー５００へ中継するＭＦＰ３００からのリクエストを差し替える（ステップＳ２８）。以降、変換したコマンドを差し替えコマンドとも称する。中継装置１００は、生成した差し替えコマンドを、該当するリクエストをＭＦＰ３００から受け付けるまでメモリーに一時的に記憶しておく。
【００５２】
その後、中継装置１００はＭＦＰ３００からリクエストを受け付けると（ステップＳ２９）、当該リクエストが上記ステップＳ２８で差し替えコマンドを作成したものであるか否かを判断する（ステップＳ３０）。
【００５３】
受け付けたリクエストが差し替えコマンドのあるリクエストであった場合には（ステップＳ３０でＹＥＳ）、中継装置１００は、当該リクエストに対応した差し替えコマンドをサーバー５００に送信し、リクエストを中継する（ステップＳ３１）。そして、中継装置１００は、サーバー５００から応答を受け取り（ステップＳ３２）、ＭＦＰ３００に対して送信する（ステップＳ３３）。
【００５４】
図４の例では、仮応答のパラメーター（ｊｐｇ）が上記ステップＳ２５で受け付けた実応答のパラメーター（ＰＤＦ）に変更されている。そこで、中継装置１００は、上記ステップＳ２８で差し替えコマンドを生成する。このとき、中継装置１００は、リクエストと差し替えコマンドとの対応を規定したデータベースを利用する。当該データベースはＲＯＭ１１などのメモリーに記憶されていてもよいし、応答のキャッシュと同様に他のメモリー装置に記憶されていてもよい。
【００５５】
図５および図６は、差し替えコマンドを生成するためのデータベースの具体例を表わした図であって、図５はパラメーターの変更に対応した差し替えコマンドを生成するためのデータベースの具体例を表わしており、図６はプロトコルが異なる場合の差し替えコマンドを生成するためのデータベースの具体例を表わしている。詳しくは、図５を参照して、中継装置１００に対しては、予め、仮応答に含まれるパラメーターからパラメーターが変化している実応答（コマンド）と、そのリクエスト以降のリクエストにおいてパラメーターを実応答に含まれるパラメーターに置き換えるリクエストとが規定されている。たとえば、図５の例では、コマンド「ＧｅｔＤｅｆａｕｌｔ」である実応答に含まれるパラメーターが対応する仮応答に含まれるパラメーターから変化している場合には、コマンド「ＳｔａｒｔＪｏｂ」または「ＳｅｎｄＪｏｂ」であるリクエストにおいてパラメーターを実応答のパラメーターに置き換えてサーバー５００に送信することが規定されている。好ましくは、図５に示されたように、プロトコルごとにパラメーターを置き換えるリクエストが規定されている。
【００５６】
また、図６を参照して、中継装置１００に対しては、予め、サーバー５００からの実応答のプロトコルが仮応答のプロトコルと異なる場合、つまり、サーバー５００の通信プロトコルとＭＦＰ３００との通信プロトコルとが異なるものであった場合、コマンドごとにこれらプロトコルの対応が規定されている。たとえば、図６の例では、一方のプロトコルがＡＰＩ（アプリケーションプログラミングインターフェース）プロトコルのバージョン１．０であり、他方がＴＣＰ（トランスミッションコントロールプロトコル）のバージョン１．０である場合、ＡＰＩのコマンド「ＳｃａｎＳｅｔｔｉｎｇ」をコマンド「ＳｃａｎＳｅｔ」に置き換えて差し替えコマンドを生成することが規定されている。さらに、図６のデータベースでは、同一のプロトコルについて、異なるバージョンに関するコマンドの対応も規定されていてもよい。
【００５７】
好ましくは、図５や図６のデータベースは中継装置１００のメモリーに記憶されており、または、外部装置に中継装置１００に関連付けて記憶されており、他の中継装置との間でやり取りが可能である。すなわち、好ましくは、中継装置１００は、他の中継装置から、または他の中継装置に関連付けられたデータベースを取得し、自身のメモリーに記憶されているデータベースを更新する。
【００５８】
図４の例では、上記ステップＳ２８で中継装置１００は図５のデータベースを参照する。そして、コマンド「ＧｅｔＤｅｆａｕｌｔ」でパラメーターが変更されていることから、中継装置１００は、たとえばコマンド「ＳｔａｒｔＪｏｂ（ｊｐｇ）」のパラメーターｊｐｇをパラメーターＰＤＦに置き換えた差し替えコマンド「ＳｔａｒｔＪｏｂ（ＰＤＦ）」を生成し、メモリーに記憶しておく。その後、中継装置１００はＭＦＰ３００からリクエスト「Ｒｅｑ＿ＧｅｔＤｅｆａｕｌｔ」を受け付けると、上記ステップＳ３０で差し替えコマンド「ＳｔａｒｔＪｏｂ（ＰＤＦ）」があると判断するため、ステップＳ３１で当該差し替えコマンドをサーバー５００に対して送信する。
【００５９】
なお、サーバー５００からの実応答のプロトコルが仮応答のプロトコルと異なる場合、つまり、サーバー５００の通信プロトコルとＭＦＰ３００との通信プロトコルとが異なるものであった場合にも、本システムは図４と同様に動作する。すなわち、中継装置１００が仮応答と実応答とを比較してプロトコルの差異があることを判断すると、図６のデータベースを参照してプロトコルを変換した差し替えコマンドを生成して、ＭＦＰ３００からのリクエストを差し替えてサーバー５００に送信する。
【００６０】
本システムで以上の動作が行なわれることで、仮応答が実応答とパラメーターが異なっていたりプロトコルやそのバージョンが異なっていたりしても、その差異が中継装置１００によって吸収され、サーバー５００とＭＦＰ３００との間のスムーズで迅速な通信が実現される。そのため、ＭＦＰ３００のユーザーはパネル操作を速やかに行なうことができる。
【００６１】
＜機能構成＞
図７は、上記動作を行なうための中継装置１００の機能構成の具体例を示すブロック図である。図７の各機能は中継装置１００のＣＰＵ１０がＲＯＭ１１に記憶されているプログラムをＲＡＭ１２上に読み出して実行することで、主に、ＣＰＵ１０によって実現される。しかしながら、少なくとも一部機能が図２に示された、または図示されない電気回路などの他のハードウェア構成によって実現されてもよい。
【００６２】
図７を参照して、メモリーの一例であるＲＯＭ１１は、図５や図６で表わされた、差し替えコマンドを生成するためのデータベースを記憶するための記憶領域であるデータベース（ＤＢ）記憶部１１１を含む。
【００６３】
さらに図７を参照して、ＣＰＵ１０は、ＭＦＰ３００とサーバー５００との間の通信を中継する機能として、第１通信コントローラー１４を介してＭＦＰ３００からサーバー５００宛てのリクエストの入力を受け付けるためのリクエスト入力部１０１と、第２通信コントローラー１５を介してＭＦＰ３００からのリクエストをサーバー５００に対して出力するためのリクエスト出力部１０２と、第２通信コントローラー１５を介してサーバー５００からＭＦＰ３００宛ての応答の入力を受け付けるための応答入力部１０３と、第１通信コントローラー１４を介してサーバー５００からの応答をＭＦＰ３００に対して出力するための応答出力部１０４とを含む。
【００６４】
さらに、ＣＰＵ１０は、サーバー５００からの応答をリクエストに関連付けてメモリー装置１００Ａにキャッシュするためのキャッシュ蓄積部１０５と、ＭＦＰ３００から受け付けたリクエストに応じて関連する応答をメモリー装置１００Ａから読み出すためのキャッシュ読出部１０６と、メモリー装置１００Ａから読み出した応答を仮応答として第１通信コントローラー１４を介してＭＦＰ３００に対して送信するための送信部１０７とを含む。
【００６５】
好ましくは、ＣＰＵ１０は、仮応答と実応答とを比較することでこれらが一致しているか否かを判断するための判断部１０８と、これらが一致していないと判断されると、実応答に応じた応答を、以降のＭＦＰ３００からのリクエストに対する応答としてＭＦＰ３００に対して送信するために、実応答に応じたパラメーターを含む応答、つまり、メモリー装置１００Ａから読み出した応答に含まれるパラメーターを実応答のパラメーターに置き換えた応答を生成するための第１生成部１０９と、仮応答と実応答とのパラメーターが異なっていたりプロトコルやそのバージョンが異なっていたりなどの属性の異なる場合に、ＭＦＰ３００からの以降のリクエストを差し替えるためにＤＢ記憶部１１１に記憶されているデータベースを参照して当該リクエストの属性を変換して差し替えコマンドを生成するための第２生成部１１０とをさらに含む。
【００６６】
好ましくは、第２生成部１１０は、実応答のパラメーターが仮応答のパラメーターと異なる場合に、ＭＦＰ３００からの以降のリクエストに含まれるパラメーターを図５のデータベースを参照して実応答のパラメーターとの関係に応じたパラメーターに置き換えることで差し替えコマンドを生成する。また、好ましくは、第２生成部１１０は、実応答のプロトコルが仮応答のプロトコルと異なる場合に、ＭＦＰ３００からの以降のリクエストを図６のデータベースを参照して実応答のプロトコルと仮応答のプロトコルとの関係に応じて置き換えることで差し替えコマンドを生成する。
【００６７】
好ましくは、ＣＰＵ１０は、他の中継装置に関連付けられた図５や図６のようなデータベースを他の装置から取得し、ＤＢ記憶部１１１に記憶するためのＤＢ蓄積部１１２をさらに含む。
【００６８】
＜動作フロー＞
図８および図９は、中継装置１００での動作の流れの具体例を表わしたフローチャートである。図８および図９のフローチャートに表わされた動作は、中継装置１００のＣＰＵ１０がＲＯＭ１１に記憶されているプログラムをＲＡＭ１２上に読み出して実行し、図７の各機能を発揮することによって実現される。
【００６９】
図８を参照して、ＣＰＵ１０は、ＭＦＰ３００からサーバー５００宛てのリクエストを受け付けると（ステップＳ１０１でＹＥＳ）、メモリー装置１００Ａにキャッシュされている、当該リクエストに関連付けられている応答を読み出す（ステップＳ１０７、Ｓ１２５）。なお、メモリー装置１００Ａに該当するキャッシュがない場合には、通常の中継装置と同様に、ＣＰＵ１０は、ＭＦＰ３００からのリクエストとサーバー５００からの応答とを、それぞれ直接転送する。
【００７０】
好ましくはＣＰＵ１０は、ＭＦＰ３００からリクエストを受け付けると、ＭＦＰ３００とサーバー５００との間の当該セッションにおける以前のＭＦＰ３００からのリクエストに対する仮応答のうち、実応答と一致しないものがあるか否かを判断する（ステップＳ１０３）。その結果、実応答と一致しない仮応答がなかった場合（ステップＳ１０３でＹＥＳ）、つまり、すべての仮応答が実応答と一致していた場合には、ＣＰＵ１０はステップＳ１０７でキャッシュを読み出して、その応答を、以降の動作でサーバーから実応答であるリクエストに対する応答を受け付けるよりも以前に、仮応答としてＭＦＰ３００に対して送信する（ステップＳ１０９）。その後、ＣＰＵ１０はＭＦＰ３００からのリクエストをサーバー５００に対して送信し（ステップＳ１１１）、実応答をサーバー５００から受け付ける（ステップＳ１１３）。その実応答が仮応答と同一であった場合（ステップＳ１１５でＹＥＳ）、ＣＰＵ１０は、実応答を上記リクエストに対する応答としてメモリー装置１００Ａにキャッシュする（ステップＳ１１７）。
【００７１】
上記ステップＳ１１３で受け付けた実応答がステップＳ１０９でＭＦＰ３００に送信した仮応答と一致しない場合であって、プロトコルなどの属性が異なった場合には（ステップＳ１１９でＮＯ）、ＣＰＵ１０は、図６のデータベースを参照して仮応答と実応答との差異に応じてコマンドを変換して差し替えコマンドを生成する（ステップＳ１２１）。生成した差し替えコマンドは、メモリーに一時的に記憶される。そして、ＣＰＵ１０は最初の動作に戻し、ＭＦＰ３００からの次のリクエストを待機する。
【００７２】
一方、当該セッションにおいて実応答と一致しない仮応答があり（ステップＳ１０３でＮＯ）、仮応答のプロトコルなどの属性は実応答と一致していた場合には（ステップＳ１２３でＹＥＳ）、ＣＰＵ１０は、メモリーにキャッシュされている上記ステップＳ１０１で受け付けたリクエストに対する応答に含まれるパラメーターを、仮応答と実応答との差異に応じて置き換える（ステップＳ１２７）。ＣＰＵ１０は、パラメーターを置き換えた応答をＭＦＰ３００に対して送信する（ステップＳ１２９）。そして、ＣＰＵ１０は最初の動作に戻し、ＭＦＰ３００からの次のリクエストを待機する。
【００７３】
当該セッションにおいて実応答と一致しない仮応答があり（ステップＳ１０３でＮＯ）、仮応答のプロトコルなどの属性が実応答と一致していなかった場合には（ステップＳ１２３でＮＯ）、図９を参照して、ＣＰＵ１０は、上記ステップＳ１０１でＭＦＰ３００から受け付けたリクエストについての差し替えコマンドがメモリーに記憶されているか否かを確認する（ステップＳ１３１）。上記ステップＳ１０１でＭＦＰ３００から受け付けたリクエストが差し替えコマンドの記憶されているリクエストであった場合（ステップＳ１３１でＹＥＳ）、ＣＰＵ１０は、差し替えコマンドをサーバー５００に対して送信することで（ステップＳ１３３）、ＭＦＰ３００からのリクエストを差し替える。差し替えコマンドが記憶されていない場合には（ステップＳ１３１でＮＯ）、ＣＰＵ１０はＭＦＰ３００からのリクエストをサーバー５００に対して送信する（ステップＳ１３５）。
【００７４】
ＣＰＵ１０はサーバー５００から実応答を受け付けると（ステップＳ１３７）、その実応答をＭＦＰ３００に対して送信する（ステップＳ１３９）。そして、ＣＰＵ１０は最初の動作に戻し、ＭＦＰ３００からの次のリクエストを待機する。
【００７５】
＜実施の形態の効果＞
本システムが以上のように構成されて動作することによって、ＭＦＰ３００からサーバー５００に対するリクエストに対して、以前の応答のキャッシュを利用してＭＦＰ３００に対していったん仮応答が返されるため、通信速度を速めることができる。
【００７６】
さらに、仮応答が実応答と異なった場合であっても、いったんＭＦＰ３００に対して仮応答が返されるために、ＭＦＰ３００とサーバー５００との間の通信を遮断することがない。この場合、以降のリクエストにおいて仮応答と実応答との間のパラメーターの変化や属性の変化が修正された応答がＭＦＰ３００に対して返されることになるため、通信を継続させつつパラメーターの変化やプロトコルなどの属性の差異を吸収することができる。
【００７７】
したがって、本システムでは、通常の中継装置を用いた中継通信よりも、ＭＦＰ３００とサーバー５００との間の通信速度を向上させることができ、ＭＦＰ３００のユーザーの利便性を向上させることができる。
【００７８】
＜他の例＞
なお、上記のように、中継装置１００はいわゆるタブレットなどの端末装置や、ＭＦＰ３００に搭載されているＣＰＵ３０での処理などによって実現させることができる。そこで、上述の動作をこれらのＣＰＵに実行させるためのプログラムを提供することもできる。プログラムを提供することによって、既存のタブレットなどの端末やＭＦＰ３００のＣＰＵ３０を中継装置１００として機能させることができる。これにより、既存の装置を用いて本システムを容易に構築することが可能となる。
【００７９】
なお、このようなプログラムは、コンピューターに付属するフレキシブルディスク、ＣＤ−ＲＯＭ（Compact  Disk-Read  Only  Memory）、ＲＯＭ、ＲＡＭおよびメモリカードなどのコンピューター読取り可能な記録媒体にて記録させて、プログラム製品として提供することもできる。あるいは、コンピューターに内蔵するハードディスクなどの記録媒体にて記録させて、プログラムを提供することもできる。また、ネットワークを介したダウンロードによって、プログラムを提供することもできる。
【００８０】
なお、本発明にかかるプログラムは、コンピューターのオペレーティングシステム（ＯＳ）の一部として提供されるプログラムモジュールのうち、必要なモジュールを所定の配列で所定のタイミングで呼出して処理を実行させるものであってもよい。その場合、プログラム自体には上記モジュールが含まれずＯＳと協働して処理が実行される。このようなモジュールを含まないプログラムも、本発明にかかるプログラムに含まれ得る。
【００８１】
また、本発明にかかるプログラムは他のプログラムの一部に組込まれて提供されるものであってもよい。その場合にも、プログラム自体には上記他のプログラムに含まれるモジュールが含まれず、他のプログラムと協働して処理が実行される。このような他のプログラムに組込まれたプログラムも、本発明にかかるプログラムに含まれ得る。
【００８２】
提供されるプログラム製品は、ハードディスクなどのプログラム格納部にインストールされて実行される。なお、プログラム製品は、プログラム自体と、プログラムが記録された記録媒体とを含む。
【００８３】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【００８４】
１１  ＲＯＭ、１２  ＲＡＭ、１３  タッチパネル、１４  第１通信コントローラー、１５  第２通信コントローラー、１００  中継装置、１００Ａ  メモリー装置、１０１  リクエスト入力部、１０２  リクエスト出力部、１０３  応答入力部、１０４  応答出力部、１０５  キャッシュ蓄積部、１０６  キャッシュ読出部、１０７  送信部、１０８  判断部、１０９  第１生成部、１１０  第２生成部、１１１  ＤＢ記憶部、１１２  ＤＢ蓄積部、３００，３００Ａ，３００Ｂ，３００Ｃ  ＭＦＰ。
【図１】
0005907181.tif 000002
【図２】
0005907181.tif 000003
【図３】
0005907181.tif 000004
【図４】
0005907181.tif 000005
【図５】
0005907181.tif 000006
【図６】
0005907181.tif 000007
【図７】
0005907181.tif 000008
【図８】
0005907181.tif 000009
【図９】
0005907181.tif 000010