JP2015225429A - 中継装置、中継方法および中継プログラム - Google Patents

中継装置、中継方法および中継プログラム Download PDF

Info

Publication number
JP2015225429A
JP2015225429A JP2014108904A JP2014108904A JP2015225429A JP 2015225429 A JP2015225429 A JP 2015225429A JP 2014108904 A JP2014108904 A JP 2014108904A JP 2014108904 A JP2014108904 A JP 2014108904A JP 2015225429 A JP2015225429 A JP 2015225429A
Authority
JP
Japan
Prior art keywords
image forming
relay
forming apparatus
response
mfp
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2014108904A
Other languages
English (en)
Other versions
JP6326971B2 (ja
Inventor
前田 敏博
Toshihiro Maeda
敏博 前田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Konica Minolta Inc
Original Assignee
Konica Minolta Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Konica Minolta Inc filed Critical Konica Minolta Inc
Priority to JP2014108904A priority Critical patent/JP6326971B2/ja
Publication of JP2015225429A publication Critical patent/JP2015225429A/ja
Application granted granted Critical
Publication of JP6326971B2 publication Critical patent/JP6326971B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

【課題】画像形成装置と他の装置との間の通信を効率的に中継することのできる中継装置を提供する。
【解決手段】中継装置100は、MFP300−2に適した機能を有さないプリンター400からMFP300−2へのアクセスの指示を受け付けた場合に、プリンター400の機能がMFP300−2に適したものであるか否かを判断する(S41)。この場合、中継装置100は、MFP300−2から操作画面の情報を取得し(S42〜S44)、当該操作画面に対するユーザーの操作の内容を、MFP300−2に対して送信する(S46,S49,S52)。中継装置100は、MFP300−2からの、操作内容に対応した処理の結果であるジョブをプリンター400に対して発行し(S54)、プリンター400に該ジョブを実行させる。
【選択図】図8

Description

この発明は中継装置、中継方法および中継プログラムに関し、特に、画像形成装置と他の装置との間の通信を中継する中継装置、該中継装置での中継方法および中継プログラムに関する。
MFP(Multi-Functional Peripheral)などの画像形成装置の中には、通信機能を有し、他の画像形成装置など他の装置と通信可能なものもある。
他の装置と通信することによって、画像形成装置は、他の装置から画像データを取得したり、さらには、当該他の装置に保存されているアプリケーションにアクセスし、このアプリケーションを実行することによる処理結果を取り込んだりすることも可能となる。
画像形成装置は、他の装置と直接通信して上記の情報を取得する場合もあるが、双方のプロトコルの差異の吸収やセキュリティの観点より、通信を中継するための中継装置を介して通信する場合もある。
特開2004−5176号公報 特開2009−44619号公報 特開2012−3664号公報
上記のように、画像形成装置と他の装置とが中継装置を介して通信する場合には、直接通信する場合と比較して通信時間が長くなるという問題がある。
一方で、画像形成装置の中には、通信機能は有するものの、他の装置と同程度まで高機能化されていないものもある。こういった高度な機能を有さない画像形成装置で高機能の画像形成装置を利用したいというニーズもある。
本発明はこのような問題に鑑みてなされたものであって、画像形成装置と他の装置との間の通信を効率的に中継したり、画像形成装置の機能を代行し補完するように中継したりすることのできる中継装置、該中継装置での中継方法および中継プログラムを提供することを目的としている。
上記目的を達成するために、本発明のある局面に従うと、中継装置は、画像形成装置と他の装置との間の通信を中継するための中継装置であって、画像形成装置から他の装置へのアクセスの指示を受け付けるための受け付け手段と、画像形成装置が当該他の装置の機能に対応した機能を有する装置であるか否かを判断するための第1の判断手段と、第1の判断手段によって、画像形成装置が当該他の装置の機能に対応した機能を有する装置であると判断された場合に、画像形成装置と当該他の装置との間の通信を中継するための第1の中継手段と、第1の判断手段によって、画像形成装置が当該他の装置の機能に対応した機能を有する装置でないと判断された場合に、画像形成装置と当該他の装置との間の通信を中継するための第2の中継手段とを備える。第2の中継手段は、当該他の装置から操作画面の情報を取得するための取得手段と、操作画面に対するユーザーの操作の内容を、当該他の装置に対して送信するための第1の送信手段と、当該他の装置からの、操作内容に対応した処理の結果であるジョブを、画像形成装置に対して発行するための発行手段とを含む。
好ましくは、第1の中継手段は、画像形成装置からの要求に応じてアプリケーションを実行し、その結果を画像形成装置に対して提供可能な、上記他の装置としてのサーバーとの間の、画像形成装置からサーバーへのアプリケーションに関するリクエスト、およびサーバーから画像形成装置へのリクエストに対する応答をやり取りし、サーバーからの応答をメモリーにキャッシュするための記憶手段と、画像形成装置からリクエストを受け付けると、メモリーにキャッシュされたリクエストに対する応答を読み出して、サーバーから実応答であるリクエストに対する応答を受け付けるよりも以前に読み出した応答を仮応答として画像形成装置に対して送信するための第2の送信手段とを備える。
好ましくは、第1の中継手段は、さらに、実応答と仮応答とを比較することで仮応答が実応答と一致しているか否かを判断するための第2の判断手段と、第1の判断手段において仮応答が実応答と一致していないと判断されると、実応答に応じた応答を、リクエストよりも以降の画像形成装置からのリクエストに対する応答として画像形成装置に対して送信するための第3の送信手段とを含む。
好ましくは、取得手段は、操作画面としてユーザー認証画面の情報を上記他の装置から取得し、第1の送信手段は、ユーザー認証画面に対して入力を受け付けた認証情報を当該他の装置に対して送信することで、当該他の装置に対して認証情報を用いたユーザー認証を要求し、ユーザー認証が成功の場合に、取得手段は、操作画面として、ユーザーの発行したジョブを選択可能なリスト画面の情報を当該他の装置から取得し、第1の送信手段は、リスト画面のうちの選択結果を表わす情報を他の装置に対して送信することで、他の装置に対して選択されたジョブを要求する。
好ましくは、第2の中継手段は認証手段を含み、取得手段は、認証手段でのユーザー認証成功の場合に、操作画面として、ユーザーの発行したジョブを選択可能なリスト画面の情報を他の装置から取得し、第1の送信手段は、リスト画面のうちの選択結果を表わす情報を他の装置に対して送信することで、当該他の装置に対して選択されたジョブを要求する。
好ましくは、第2の中継手段はジョブリスト表示画面の情報を記憶し、操作画面を表示するための情報として取得手段でユーザーの発行したジョブの情報を他の装置から取得すると、ジョブリスト表示画面の情報にジョブの情報を適用することで、ユーザーの発行したジョブのリスト画面を表示する。
好ましくは、第2の中継手段は、取得手段で、他の装置から操作画面を表示するための情報としてユーザーの発行したジョブの情報を取得するか、ユーザーの発行したジョブを選択可能なリスト画面の情報を取得するか、を、当該他の措置の機能に応じて判断するための第3の判断手段をさらに含む。
好ましくは、第2の中継手段は、他の装置に対して、他の画像形成装置に対してユーザーの発行したジョブのスプールの有無の問い合わせを要求するための要求手段をさらに含み、取得手段は、当該他の装置から、操作画面として、ユーザーが発行し、他の画像形成装置にスプールされているジョブの情報をリスト表示する画面の情報を取得し、第1の送信手段は、リスト表示のうちから処理対象とするジョブの選択結果を当該他の装置に対して送信する。
本発明の他の局面に従うと、中継方法は画像形成装置と他の装置との間の通信を中継する方法であって、画像形成装置から他の装置へのアクセスの指示を受け付けるステップと、画像形成装置が当該他の装置の機能に対応した機能を有する装置であるか否かを判断するステップと、画像形成装置が当該他の装置の機能に対応した機能を有する装置であるか否かを判断結果に応じて、異なる方法で画像形成装置と当該他の装置との間の通信を中継するステップとを備える。画像形成装置が当該他の装置の機能に対応した機能を有する装置でないと判断された場合の中継するステップは、他の装置から操作画面の情報を取得するステップと、操作画面に対するユーザーの操作の内容を、当該他の装置に対して送信するステップと、当該他の装置からの、操作内容に対応した処理の結果であるジョブを、画像形成装置に対して発行するステップとを含む。
本発明のさらに他の局面に従うと、中継プログラムは、コンピューターに画像形成装置と他の装置との間の通信を中継する処理を実行させるプログラムであって、画像形成装置から他の装置へのアクセスの指示を受け付けるステップと、画像形成装置が当該他の装置の機能に対応した機能を有する装置であるか否かを判断するステップと、画像形成装置が当該他の装置の機能に対応した機能を有する装置であるか否かを判断結果に応じて、異なる方法で画像形成装置と当該他の装置との間の通信を中継するステップとをコンピューターに実行させる。画像形成装置が他の装置の機能に対応した機能を有する装置でないと判断された場合の中継するステップは、当該他の装置から操作画面の情報を取得するステップと、操作画面に対するユーザーの操作の内容を、当該他の装置に対して送信するステップと、当該他の装置からの、操作内容に対応した処理の結果であるジョブを、画像形成装置に対して発行するステップとを含む。
この発明によると、中継装置を利用して、画像形成装置と他の装置との間の通信を効率的に中継することができる。また、中継装置で画像形成装置の機能を代行し、補完して画像形成装置と他の装置との間の通信を中継することができる。
実施の形態にかかる画像処理システム(以下、システムと略する)の構成の具体例を表わした図である。 システムに含まれる中継装置の装置構成の具体例を表わしたブロック図である。 システムでの動作概要を表わした図である。 システムでの動作概要を表わした図である。 システムでの動作概要を表わした図である。 差し替えコマンドを生成するためのデータベースの具体例を表わした図である。 差し替えコマンドを生成するためのデータベースの具体例を表わした図である。 システムでの動作概要を表わした図である。 中継装置の画面例を表わした図である。 中継装置の画面例を表わした図である。 中継装置の画面例を表わした図である。 中継装置の機能構成の具体例を示すブロック図である。 中継装置の機能構成の具体例を示すブロック図である。 中継装置での動作の流れの具体例を表わしたフローチャートである。 中継装置での動作の流れの具体例を表わしたフローチャートである。 中継装置での動作の流れの具体例を表わしたフローチャートである。
以下に、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらの説明は繰り返さない。
<システム構成>
図1は、本実施の形態にかかる画像処理システム(以下、システム)の構成の具体例を示す図である。図1を参照して、本システムは、大きくは、第1アプリ系と第2アプリ系とからなる。
第1アプリ系は、画像形成装置の一例としての、1台以上のMFP300−1A,300−1B,300−1C,300−1D,…と、サーバー500とを含む。MFP300−1A,300−1B,300−1C,300−1D,…を代表させてMFP300−1とも称する。
第2アプリ系は、画像形成装置の一例としての、1台以上のMFP300−2A,300−2B,…を含む。MFP300−2A,300−2B,…を代表させてMFP300−2とも称する。第2アプリ系は、さらに、画像形成装置の一例であって、MFP300−2よりも機能の低い画像形成装置の一例であるプリンター400を含む。MFP300−2およびプリンター400は、いずれも、PC(パーソナルコンピューター)200と通信可能である。
第1アプリ系では、MFP300−1はサーバー500からジョブを取得し、実行(プリント)する。MFP300−1は、他のMFPや図示しないPCからジョブを取得してもよい。第1アプリ系を利用してジョブを実行させようとするユーザーは、図示しないPCやMFP300−1からジョブをサーバー500に対して発行する。そして、ユーザーはいずれかのMFP300−1にログインして自身の発行したジョブをサーバー500から取得する。ユーザーのログインしたMFPは、クライアントMFPとも呼ばれる。クライアントMFPは、ユーザー指示に従って、当該ユーザーの発行し、選択したジョブを実行する。このようなプリント方法は、ユビキタスプリントとも呼ばれる。
第2アプリ系では、MFP300−2は、他のMFPからジョブを取得し、実行する。MFP300−2は、PC200からジョブを取得してもよい。第2アプリ系を利用してジョブを実行させようとするユーザーは、自身の利用するPC200からいずれかのMFP300−2に対してジョブを発行する。ジョブを受信したMFP300−2は、自身のメモリーにジョブを格納(スプール)する。ジョブをスプールするMFPは、ストレージMFPとも呼ばれる。ユーザーはいずれかのMFP300−2にログインする。ユーザーのログインしたMFP300−2であるクライアントMFPは、ログインユーザーの発行したジョブをストレージMFPから取得し、ユーザー指示に従って実行する。このような、サーバーを利用しないユビキタスプリントの方法は、サーバレスユビキタスプリントも呼ばれる。
なお、第2アプリ系に含まれるプリンター400は、MFP300−2の有しているログイン機能や高度の表示機能を有さない。すなわち、プリンター400は、自身にユーザー情報の入力を受け付ける機能やログイン処理を実行する機能を有さないため、MFP300−2からユーザーの発行したジョブを取得して実行する、ユビキタスプリントを実行する機能を有さない。プリンター400は、PC200からジョブを受け取り、その指示に従って実行(プリント)する。
両アプリ系に含まれる画像形成装置は、いずれも、中継装置100と通信可能である。中継装置100は、両アプリ系に含まれるいずれの画像形成装置とも通信可能であり、さらに、サーバー500とも通信可能である。
中継装置100は、通信機能と表示機能とを有する装置であればよい。中継装置100の一例として、タブレットなどとも呼ばれる端末装置が挙げられる。中継装置100は、タブレットのほか、一般的なパーソナルコンピューター(PC)であってもよい。また、中継装置100は必ずしもMFP300−1やMFP300−2と別個の装置でなくてもよく、いずれかのMFPに搭載されていてもよい。
中継装置100とサーバー500との間の通信は、インターネットなどのネットワークを介したものであってもよいし、直接であってもよい。また、その通信は、無線であっても有線であってもよい。
<装置構成>
図2は、中継装置100の装置構成の具体例を示すブロック図である。図2を参照して、中継装置100は、装置全体を制御するためのCPU(Central Processing Unit)10と、CPU10で実行されるプログラムやその他データを記憶するためのメモリーであるROM(Read Only Memory)11と、CPU10でプログラムを実行する際の計算値を記憶したり作業領域になったりするメモリーであるRAM(Random Access Memory)12と、タッチパネル13と、両アプリ系に含まれる画像形成装置などの他の装置との間の通信を制御するための通信コントローラー14とを含む。
MFPなどの画像形成装置は、通常の画像形成装置であってよい。
<動作概要>
中継装置100は、第1アプリ系では、MFP300−1とサーバー500との間の通信を中継する。第2アプリ系では、MFP300−2とプリンター400との間の通信を中継する。
第1アプリ系において、サーバー500はアプリケーションを記憶しており、MFP300−1からのリクエストに応じてアプリケーションを実行する。そして、サーバー500は、アプリケーションを実行することによる処理結果を上記リクエストに対する応答としてMFP300−1に提供する。これにより、MFP300−1は、サーバー500のアプリケーションを利用することができる。中継装置100は、MFP300−1からサーバー500へのリクエストの送信、およびサーバー500からMFP300−1に対する応答の送信を中継する。その際、中継装置100は、サーバー500からの応答をMFP300−1からのリクエストに関連付けてキャッシュ(記憶)する。そして、中継装置100は、キャッシュした応答をサーバー500から実際の応答を取得するよりも先にMFP300−1に対して送信する。
第2アプリ系において、中継装置100がMFP300−2とプリンター400との間の通信を中継することで、プリンター400を用いてユビキタスプリントを可能とする。中継装置100は、MFP300−2とプリンター400との間の通信を中継する際に、リモートパネル機能を利用する。
すなわち、中継装置100は、いわゆるリモートパネルと呼ばれる機能を実現するためのアプリケーションを搭載している。中継装置100は、該アプリケーションを実行することで、プリンター400からのアクセス先として指定されたMFP300−2の操作画面を、自身のタッチパネル13に表示する。該操作画面に対するユーザー操作(タッチ)を受け付けると、端末装置は操作位置を表わす情報をMFP300−2に対して送信し、当該操作位置に応じた操作に従う処理に応じてタッチパネルの操作画面を更新する。MFP300−2は、中継装置100に表示されている操作画面と操作位置を表わす情報とから処理を特定し、実行する。これにより、ユーザーは、中継装置100のタッチパネル13に対する操作でMFP300−2を遠隔操作可能となる。
図3は、本システムでの動作概要を表わした図である。図3を参照して、中継装置100は、本システムに含まれる装置への、画像形成装置からのアクセス要求を受け付ける(ステップ#1)。ここでのアクセスは、第1アプリ系であればMFP300−1からサーバー500へのアクセス、第2アプリ系であればプリンター400からMFP300−2へのアクセスが該当する。
中継装置100は、アクセス元となる、ユーザーの操作対象とする画像形成装置(クライアント機)を特定する。そして、中継装置100は、クライアント機が、アクセス先である装置の機能に対応した機能を有する装置であるか否かを判断する(ステップ#2)。中継装置100は、予め本システムに含まれる各画像形成装置の有する機能を記憶しておいてもよい。または、中継装置100は、対象のクライアント機に対して様々な機能に応じた問い合わせを行ない、その回答、または回答の有無に応じて当該クライアント機の有する機能を特定することができる。
中継装置100は、上記判断の結果に応じて、第1アプリ系での中継と、第2アプリ系での中継とを切り替える(ステップ#3)。すなわち、中継装置100が、クライアント機がアクセス先の装置の機能に対応した機能を有すると判断した場合には、上記ステップ#1でのアクセスの要求は、第1アプリ系におけるMFP300−1からサーバー500へのアクセスの要求であるといえる。また、サーバー500と同様に、MFP300−1やMFP300−2がアプリケーションを搭載して、他の装置からの要求に応じて該アプリケーションを実行し、その結果を提供する機能を有する場合には、上記アクセス要求は、第1アプリ系におけるMFP300−1から他のMFP300−1へのアクセス要求、あるいは、第2アプリ系におけるMFP300−2から他のMFP300−2へのアクセス要求である場合もある。この場合、中継装置100は、第1アプリ系における中継処理に切り替えて、通信を中継する処理を実行する(ステップ#4)。
一方、中継装置100が、クライアント機が第2アプリ系に属する画像形成装置であり、かつ、アクセス先の装置の機能に対応した機能を有していないと判断した場合には、上記ステップ#1でのアクセスの要求は、第2アプリ系におけるプリンター400からMFP300−2へのアクセスの要求であるといえる。この場合、中継装置100は、第2アプリ系における中継処理に切り替えて、通信を中継する処理を実行する(ステップ#4)。
図4および図5は、中継装置100に対してMFP300−1からサーバー500へのアクセス要求があり、中継装置100が第1アプリ系における中継処理を実行する場合の、本システムでの動作の流れを表わした図である。
図4を参照して、中継装置100は、MFP300−1からサーバー500に対するリクエストを受け付けると(ステップS0)、クライアント機であるMFP300−1がアクセス先の装置であるサーバー500の機能に対応した機能を有するか否かを判断する(ステップS1)。この例の場合には、MFP300−1はサーバー500の機能に対応した機能を有する。そのため、中継装置100は、第1アプリ系における中継処理に切り替えて実行する。
中継装置100は、自身のメモリーまたは図示しない他のメモリー装置から、上記ステップS0でのリクエストに関連付けられている応答を読み出す(ステップS2)。そして、中継装置100は、読み出した応答を、サーバー500からの応答を受け付けるよりも先にMFP300−1に対して送信する(ステップS3)。以降の説明において、キャッシュしている応答を仮応答とも称し、サーバー500から受け付けた応答を実応答とも称する。
図4の例では、ステップS0で中継装置100はサーバー500に対する接続要求であるリクエスト「Req_Connect」をMFP300−1から受け付けている。そして、中継装置100は、それに対する応答として、以前にサーバー500から受け付けてキャッシュしている応答「Res_Connect」をステップS2で読み出して、ステップS3でMFP300−1に対して仮応答「Res_Connect(仮)」として送信している。
好ましくは、中継装置100はその後、上記ステップS1でMFP300−1から受け付けたリクエストをサーバー500に対して出力し(ステップS4)、その応答である実応答をサーバー500から受け取る(ステップS5)。図4の例では、ステップS5で中継装置100は、実応答「Res_Connect(実)」をサーバー500から受け取っている。
中継装置100は、実応答と仮応答とを比較し、これらが一致するか否かを判断する(ステップS6)。図4の例では、上記ステップS2でMFP300−1に対して接続要求に応じて接続を行なったことを表わす仮応答「Res_Connect(仮)」を送信しているため、上記ステップS6で中継装置100は、サーバー500からの実応答として接続を行なったことを表わす応答であるか否かを確認する。
そうであった場合、つまり、実応答と仮応答とが一致したものであった場合には(ステップS6でYES)、中継装置100は実応答を上記リクエストに関連付けてキャッシュする(ステップS7)。中継装置100は、上記リクエストに関連付けられた応答をすでにキャッシュしている場合には、ステップS7ではキャッシュを上書きすることになる。
中継装置100は、次にMFP300−1からリクエストを受け付けると(ステップS8)、同様に、当該リクエストに関連付けられてキャッシュしている応答を読み出す(ステップS9)。当該リクエストが同一セッションにおける2回目以降のリクエストである場合には、中継装置100は、当該セッションにおいてリクエストに対する仮応答が実応答と一致しないものがあったか否かを確認する(ステップS10)。図4の例では、実応答が接続を行なったことを表わす応答であったか否かを確認する。
その結果、当該セッションにおいて実応答と一致しない仮応答があった場合(ステップS10でNO)、中継装置100は上記ステップS9でキャッシュから読み出した応答に含まれるパラメーターを上記の実応答に応じたパラメーターに置き換え(ステップS11)、パラメーターを置き換えた応答をMFP300−1に対して送信する(ステップS12)。
図4の例で、中継装置100は、サーバー500に対する現在の状態を要求する2度目のリクエスト「Req_GetStatus」をMFP300−1から受け付けた際に、以前の実応答「Res_Connect(実)」が接続が行なえなかったことを表わす応答であった場合には、上記ステップS10で実応答と一致しない仮応答があったと判断される。この場合、中継装置100は、ステップS11で、リクエスト「Req_GetStatus」に対する応答としてキャッシュしている、接続された状態を表わす応答「Res_GetStatus(Ack)」のパラメーター(Ack)を実応答に応じて接続されていない状態を表わすパラメーター(NACK)に置き換える。そして、中継装置100は、ステップS12で、パラメーターを置き換えた応答「Res_GetStatus(NACK)」をMFP300−1に対して送信する。
当該セッションにおいてリクエストに対する仮応答が実応答と一致しないものがなかった場合(ステップS10でYES)、中継装置100は上記と同様に動作する。すなわち、キャッシュしている応答を仮応答としてMFP300−1に送信した後に(ステップS13)、サーバー500に対してリクエストを送信し(ステップS14)、その応答を得る(ステップS15)。以降、同じ動作が繰り返される。
図4は、サーバー500とMFP300−1との間のプロトコルが同一である場合の動作を表わしている。この場合、第1アプリ系での中継処理において以上の動作が行なわれることで、仮応答が実応答と一致している場合にはサーバー500との間の通信よりも以前にMFP300−1に対して応答が返されることになるため、MFP300−1は速やかに次の動作に移行することができる。通常、プロトコルが同一である場合にはコマンドレベルでは大半のコマンドがキャッシュしている(以前の)応答を利用することができる。これにより、通信時間を大幅に抑えることができ、MFP300−1のユーザーはパネル操作を速やかに行なうことができる。また、好ましくは、本システムにおいて、さらに、仮応答と実応答とを比較してその結果に応じて動作することで、仮応答が実応答と異なった場合であっても、早いタイミングでその状態がMFP300−1に通知され、正常に処理を終了するなど動作させることができる。
しかしながら、サーバー500とMFP300−1との間のプロトコル(またはプロトコルのバージョン)が異なる場合や、サーバー500側でパラメーターの変更がなされた場合には、キャッシュしている(以前の)応答を用いることができない場合がある。
図5は、サーバー500側でパラメーターの変更がなされた場合の、第1アプリ系における中継処理の動作概要を表わした図である。図5では、サーバー500側で、応答をキャッシュした時点では「jpg」であったパラメーターが「PDF」に変更された例が示されている。
図5を参照して、中継装置100は、MFP300−1からサーバー500に対するリクエストを受け付けると(ステップS20)、クライアント機であるMFP300−1がアクセス先の装置であるサーバー500の機能に対応した機能を有するか否かを判断する(ステップS21)。この例の場合にはMFP300−1はサーバー500の機能に対応した機能を有する。
このように判断した場合、中継装置100は第1アプリ系における中継処理に切り替えて実行する。すなわち、中継装置100は、当該リクエストに関連付けられてキャッシュしている応答を読み出す(ステップS22)。そして、中継装置100は、読み出した応答を、サーバー500からの応答を受け付けるよりも先にMFP300−1に対して送信する(ステップS23)。図5の例では、ステップS20で中継装置100はサーバー500に対してデフォルト状態を要求するリクエスト「Req_GetDefault」をMFP300−1から受け付けている。そして、中継装置100は、それに対する応答として、以前にサーバー500から受け付けてキャッシュしてされている応答「Res_GetDefault(Default=jpg)」をステップS22で読み出して、ステップS23でMFP300−1に対して仮応答「Res_GetDefault(Default=jpg)(仮)」として送信している。
次に、中継装置100は、上記ステップS21でMFP300−1から受け付けたリクエストをサーバー500に対して出力し(ステップS24)、その応答である実応答をサーバー500から受け取る(ステップS25)。図5の例では、ステップS25で中継装置100は実応答「Res_GetDefault(Default=PDF)(実)」をサーバー500から受け取っている。
中継装置100は、実応答と仮応答とを比較することで、実応答に含まれるパラメーターが仮応答に含まれるパラメーターから変更されていると判断することができる(ステップS26でYES)。この場合、中継装置100は、実応答「Res_GetDefault(Default=PDF)(実)」を上記リクエスト「Req_GetDefault」に関連付けてキャッシュする(ステップS27)。さらに、中継装置100は、以降のMFP300−1からのリクエストを上記パラメーターの差異に基づいて事前に変換してコマンドを生成し、サーバー500へ中継するMFP300−1からのリクエストを差し替える(ステップS28)。以降、変換したコマンドを差し替えコマンドとも称する。中継装置100は、生成した差し替えコマンドを、該当するリクエストをMFP300−1から受け付けるまでメモリーに一時的に記憶しておく。
その後、中継装置100はMFP300−1からリクエストを受け付けると(ステップS29)、当該リクエストが上記ステップS28で差し替えコマンドを作成したものであるか否かを判断する(ステップS30)。
受け付けたリクエストが差し替えコマンドのあるリクエストであった場合には(ステップS30でYES)、中継装置100は、当該リクエストに対応した差し替えコマンドをサーバー500に送信し、リクエストを中継する(ステップS31)。そして、中継装置100は、サーバー500から応答を受け取り(ステップS32)、MFP300−1に対して送信する(ステップS33)。
図5の例では、仮応答のパラメーター(jpg)が上記ステップS25で受け付けた実応答のパラメーター(PDF)に変更されている。そこで、中継装置100は、上記ステップS28で差し替えコマンドを生成する。このとき、中継装置100は、リクエストと差し替えコマンドとの対応を規定したデータベースを利用する。当該データベースはROM11などのメモリーに記憶されていてもよいし、他のメモリー装置に記憶されていてもよい。
図6および図7は、差し替えコマンドを生成するためのデータベースの具体例を表わした図であって、図6はパラメーターの変更に対応した差し替えコマンドを生成するためのデータベースの具体例を表わしており、図7はプロトコルが異なる場合の差し替えコマンドを生成するためのデータベースの具体例を表わしている。詳しくは、図6を参照して、中継装置100に対しては、予め、仮応答に含まれるパラメーターからパラメーターが変化している実応答(コマンド)と、そのリクエスト以降のリクエストにおいてパラメーターを実応答に含まれるパラメーターに置き換えるリクエストとが規定されている。たとえば、図6の例では、コマンド「GetDefault」である実応答に含まれるパラメーターが対応する仮応答に含まれるパラメーターから変化している場合には、コマンド「StartJob」または「SendJob」であるリクエストにおいてパラメーターを実応答のパラメーターに置き換えてサーバー500に送信することが規定されている。好ましくは、図6に示されたように、プロトコルごとにパラメーターを置き換えるリクエストが規定されている。
また、図7を参照して、中継装置100に対しては、予め、サーバー500からの実応答のプロトコルが仮応答のプロトコルと異なる場合、つまり、サーバー500の通信プロトコルとMFP300−1との通信プロトコルとが異なるものであった場合、コマンドごとにこれらプロトコルの対応が規定されている。たとえば、図7の例では、一方のプロトコルがAPI(アプリケーションプログラミングインターフェース)プロトコルのバージョン1.0であり、他方がTCP(トランスミッションコントロールプロトコル)のバージョン1.0である場合、APIのコマンド「ScanSetting」をコマンド「ScanSet」に置き換えて差し替えコマンドを生成することが規定されている。さらに、図7のデータベースでは、同一のプロトコルについて、異なるバージョンに関するコマンドの対応も規定されていてもよい。
好ましくは、図6や図7のデータベースは中継装置100のメモリーに記憶されており、または、外部装置に中継装置100に関連付けて記憶されており、他の中継装置との間でやり取りが可能である。すなわち、好ましくは、中継装置100は、他の中継装置から、または他の中継装置に関連付けられたデータベースを取得し、自身のメモリーに記憶されているデータベースを更新する。
図5の例では、上記ステップS28で中継装置100は図6のデータベースを参照する。そして、コマンド「GetDefault」でパラメーターが変更されていることから、中継装置100は、たとえばコマンド「StartJob(jpg)」のパラメーターjpgをパラメーターPDFに置き換えた差し替えコマンド「StartJob(PDF)」を生成し、メモリーに記憶しておく。その後、中継装置100はMFP300−1からリクエスト「Req_GetDefault」を受け付けると、上記ステップS30で差し替えコマンド「StartJob(PDF)」があると判断するため、ステップS31で当該差し替えコマンドをサーバー500に対して送信する。
なお、サーバー500からの実応答のプロトコルが仮応答のプロトコルと異なる場合、つまり、サーバー500の通信プロトコルとMFP300−1との通信プロトコルとが異なるものであった場合にも、本システムは図5と同様に動作する。すなわち、中継装置100が仮応答と実応答とを比較してプロトコルの差異があることを判断すると、図7のデータベースを参照してプロトコルを変換した差し替えコマンドを生成して、MFP300−1からのリクエストを差し替えてサーバー500に送信する。
第1アプリ系における中継装置で以上の動作が行なわれることで、仮応答が実応答とパラメーターが異なっていたりプロトコルやそのバージョンが異なっていたりしても、その差異が中継装置100によって吸収され、サーバー500とMFP300−1との間のスムーズで迅速な通信が実現される。そのため、MFP300−1のユーザーはパネル操作を速やかに行なうことができる。
図8は、中継装置100に対してプリンター400からMFP300−2へのアクセス要求があり、中継装置100が第2アプリ系における中継処理を実行する場合の、本システムでの動作の流れを表わした図である。このアクセス要求は、プリンター400のユーザーが発行したジョブのスプールの有無をMFP300−2に問い合わせるものが該当する。
図8を参照して、中継装置100は、タッチパネル13に対するユーザー操作によって、MFP300−2に対するアクセス要求する要求元装置の選択を受け付ける。一例として、中継装置100はタッチパネル13に図9の選択画面を表示し、ユーザーがジョブ処理(プリント)に用いる画像処理装置の選択を受け付ける。
中継装置100は、図9の選択画面で選択された、クライアント機となる要求元装置が、第2アプリ系に含まれる画像形成装置であり、かつ、アクセス先の装置であるMFP300−2の機能に対応した機能を有するか否かを判断する(ステップS41)。この例の場合にはクライアント機として、第2アプリ系に含まれるプリンター400が選択されており、かつ、プリンター400はMFP300−2の機能に対応した機能を有さない。そのため、中継装置100は、第2アプリ系における中継処理に切り替えて実行する。
なお、選択されたクライアント機がたとえばMFP300−2である場合、中継装置100は、クライアント機が第2アプリ系に含まれる画像形成装置であっても、アクセス先の装置である(他の)MFP300−2の機能に対応した機能を有すると判断する。この場合には、中継装置100は、第1アプリ系における中継処理と同様の処理を行なってこれらの通信を中継してもよい。または、中継装置100は、たとえばメッセージを表示するなどして、第2アプリ系における中継処理を行なうことなく、MFP300−2どうしの直接通信を促してもよい。
中継装置100は、リモートパネルのためのアプリケーションを実行し、アクセス先であるMFP300−2に対して、ユーザー認証のための操作画面を要求する(ステップS42)。当該要求を受けたMFP300−2は、自身のリモートパネルのためのアプリケーションを起動する(ステップS43)。そして、MFP300−2は、該アプリケーションに従って、ユーザー認証用の操作画面の情報を中継装置100に対して送信する(ステップS44)。
中継装置100は、MFP300−2から受け取った情報に基づいてユーザー認証用の操作画面をタッチパネル13に表示する(ステップS45)。図10は、ステップS45で中継装置100に表示される、認証画面の具体例を表わした図である。ユーザーは、中継装置100に表示された認証画面に対して、あたかもプリンター400にログインするように認証情報を入力し、認証処理を指示することができる。
なお、中継装置100は、予め操作画面のフレーム情報(フォーマット)を記憶しておいてもよい。そして、MFP300−2から受け取った情報を当該フレームに埋込む(適用する)ことで、自身で操作画面を生成してタッチパネル13に表示してもよい。さらに、中継装置100は、操作画面ごとに、MFP300−2から画面情報を受け取って表示する、いわゆるリモートパネル方式で表示するか、自身の記憶しているフレーム情報を利用して画面を生成して表示するか、を判断してもよい。中継装置100は、一例として、MFP300−2の機能に基づいて上記判断を行なう。好ましくは、中継装置100は、MFP300−2のサポートしているプロトコルやそのバージョンに基づいて上記判断を行なう。
中継装置100は認証情報の入力を受け付けると、認証情報をMFP300−2に対して送信し、認証処理を要求する(ステップS46)。ここでは、リモートパネルアプリケーションの実行に従って、中継装置100は、入力された情報と共に、認証画面上でのタッチされた位置(「実行」ボタン)を表わす座標情報をMFP300−2に対して送信する。
MFP300−2は中継装置100から情報を受け取ると、タッチ位置を表わす座標情報から認証処理の実行が指示されたことを特定し、受け取った認証情報を用いて認証処理を実行する(ステップS47)。そして、MFP300−2は、認証結果を中継装置100に対して送信する(ステップS48)。
中継装置100は、MFP300−2でユーザー認証成功であった場合、ログインユーザーが発行し、スプールされているジョブの一覧であるリストを、MFP300−2に対して要求する(ステップS49)。このとき、中継装置100は、MFP300−2に対して、さらに、他のMFP300−2に当該ユーザーのジョブのスプールの有無を問い合わせることを要求してもよい。ステップS49は、ログイン成功の場合に、自動的に行なわれるようにリモートパネルアプリケーションによって規定されていてもよい。または、中継装置100は、認証結果の表示画面の情報をMFP300−2から受け付けて結果画面をタッチパネル13に表示し、当該画面に対するユーザー操作に従ってMFP300−2に要求するようにしてもよい。
MFP300−2は、中継装置100から要求されたユーザーの発行したジョブをスプールしている場合、リストを表示するためのリスト画面を生成し、その情報を中継装置100に対して送信する(ステップS50)。好ましくは、MFP300−2は、中継装置100から他のMFP300−2に当該ユーザーのジョブのスプールの有無を問い合わせることを要求されていた場合、他のMFP300−2からリストを取得し、それらすべてのリストを表示するリスト画面を生成する。
中継装置100はリスト画面をタッチパネル13に表示し(ステップS51)、ユーザーから実行するジョブの選択を受け付ける。図11は、ステップS51で中継装置100に表示される、リスト画面の具体例を表わした図である。ユーザーは、中継装置100に表示されたリスト画面に対して、あたかもプリンター400から当該プリンター400に実行させるジョブを選択しているように、実行対象のジョブを選択する操作を行なうことができる。
中継装置100は、図11のリスト画面に対して、実行するジョブを選択し、実行を指示するユーザー操作を受け付けると、MFP300−2に対して該当するジョブを要求する(ステップS52)。ここでは、リモートパネルアプリケーションの実行に従って、中継装置100は、認証画面上でのタッチされた位置(選択されたジョブおよび「実行」ボタン)を表わす座標情報をMFP300−2に対して送信する。
MFP300−2は中継装置100から情報を受け取ると、タッチ位置を表わす座標情報からジョブが選択されたことを特定し、選択されたジョブを中継装置100に対して送信する(ステップS53)。中継装置100は、MFP300−2から受け取ったジョブをプリンター400に転送し(ステップS54)、実行を指示する。プリンター400は、受け取ったジョブを実行する(ステップS55)。または、MFP300−2は、選択されたジョブを直接、プリンター400に転送して実行を指示するようにしてもよい。
これにより、ユーザーは、中継装置100を利用してMFP300−2の操作画面で操作し、ユビキタスプリントのためのログイン機能や画面表示機能を有さないプリンター400でユビキタスプリント用に発行されたジョブを実行させることができる。つまり、中継装置100を用いることで、従来のユビキタスプリントのためにプリンター400が実行すべき処理を中継装置100に代行させることができる。そのため、当該機能を有さないプリンター400を利用してユビキタスプリントを実行することができる。さらに、上記のように、中継装置100は、自動的に第1アプリ系での中継処理と第2アプリ系での中継処理とを切り替えるため、中継装置100を、第1アプリ系での中継処理用と第2アプリ系での中継処理用とを兼ねて用いることができる。
<機能構成>
図12は、上記動作を行なうための中継装置100の機能構成の具体例を示すブロック図である。図12の各機能は中継装置100のCPU10がROM11に記憶されているプログラムをRAM12上に読み出して実行することで、主に、CPU10によって実現される。しかしながら、少なくとも一部機能が図2に示された、または図示されない電気回路などの他のハードウェア構成によって実現されてもよい。
図12を参照して、中継装置100のCPU10は、通信コントローラー14またはタッチパネル13を介して、画像形成装置から他の装置へのアクセスを要求する指示を受け付けるためのアクセス要求受付部201と、アクセス元である画像形成装置(クライアント機)がアクセス先の装置の機能に対応した機能を有する装置であるか否かを判断するための判断部202と、判断部202によって、クライアント機が第2アプリ系の装置ではなく、かつ、アクセス先の装置の機能に対応した機能を有する装置であると判断された場合に、第1アプリ系における中継処理を実行することで画形成装置と他の装置との間の通信を中継するための第1中継部203と、判断部202によって、クライアント機が第2アプリ系の装置であり、かつ、アクセス先の装置の機能に対応した機能を有する装置でないと判断された場合に、第2アプリ系における中継処理を実行することで画像形成装置と他の装置との間の通信を中継するための第2中継部204とを含む。
第2中継部204は、アクセス先の装置であるMFP300−2から操作画面の情報を取得するための画面取得部205と、操作画面の情報に基づいて操作画面をタッチパネル13に表示する処理を行なうための画面表示部207と、当該操作画面に対するユーザーの操作を受け付けるための指示入力部208と、ユーザーの操作の内容をMFP300−2に対して送信するための送信部209と、MFP300−2からの、上記操作内容に対応した処理の結果であるジョブをプリンター400に転送(発行)するためのジョブ転送部210とを含む。
画面取得部205は、たとえば、操作画面としてユーザー認証画面の情報をMFP300−2から取得する。この場合、送信部209は、ユーザー認証画面に対して入力された認証情報をMFP300−2に対して送信することで、MFP300−2に対して認証情報を用いたユーザー認証を要求する。このユーザー認証が成功の場合に、画面取得部205は操作画面として、当該ユーザーの発行したジョブを選択可能なリスト画面の情報をMFP300−2から取得する。そして、送信部209は、当該リスト画面から選択されたジョブを表わす情報をMFP300−2に対して送信することで、MFP300−2に対して選択されたジョブを要求する。
好ましくは、第2中継部204は認証部212を含んで、上記のユーザー認証画面に対して入力された認証情報を用いてユーザー認証を行なってもよい。すなわち、中継装置100がユーザー情報を記憶し、またはユーザー情報を記憶している装置にアクセス可能であって、当該ユーザー情報を用いてユーザー認証処理を実行可能であってもよい。この場合、画面取得部205は、認証部212でのユーザー認証成功の場合に、操作画面として、当該ユーザーの発行したジョブを選択可能なリスト画面の情報をMFP300−2から取得する。
なお、画面表示部207は、予め操作画面のフレーム情報(フォーマット)を記憶しておいてもよい。たとえば、画面表示部207は、ジョブリストを表示するための画面のフレーム情報を記憶しておいてもよい。この場合、画面取得部205が操作画面を表示するための情報としてユーザーの発行したジョブを特定する情報をMFP300−2から取得する。そして、画面表示部207は、記憶しているフレーム情報にジョブを特定する情報を埋込む(適用する)ことで、タッチパネル13にジョブリストを表示してもよい。
さらにこの場合、第2中継部204は、MFP300−2から画面を表示するための情報(画像情報)を取得するか、フレーム情報に埋込む情報のみを取得して記憶しているフレーム情報に埋込むかを、MFP300−2の機能に応じて判断するための判断部211をさらに含んでもよい。一例として、判断部211は、MFP300−2のサポートしているプロトコルやそのバージョンに応じて、MFP300−2から画面を表示するための情報(画像情報)を取得するか、フレーム情報に埋込む情報のみを取得して記憶しているフレーム情報に埋込むかを判断することができる。さらに、判断部211は、ユーザー認証画面のみ画面情報をMFP300−2から取得してリスト表示画面は自身のフレーム情報を用いるが、リスト表示画面もMFP300−2から画面情報を取得するか、など、画面ごとに判断してもよい。そのため、判断部211は、MFP300−2のサポートしているプロトコルやそのバージョンごとに、MFP300−2から画面情報を取得するか自身のフレーム情報を用いるか、を規定する情報を予め記憶しておいてもよい。
好ましくは、画面取得部205は、MFP300−2に対して、他のMFP300−2に対してログインユーザーの発行したジョブのスプールの有無の問い合わせを要求するための要求部206を含む。
図13は、第1中継部203の詳細の具体例を表わしたブロック図である。図13を参照して、第1中継部203は、MFP300−1からサーバー500宛てのリクエストの入力を受け付けるためのリクエスト入力部101と、MFP300−1からのリクエストをサーバー500に対して出力するためのリクエスト出力部102と、サーバー500からMFP300−1宛ての応答の入力を受け付けるための応答入力部103と、サーバー500からの応答をMFP300−1に対して出力するための応答出力部104とを含む。
さらに、第1中継部203は、サーバー500からの応答をリクエストに関連付けてキャッシュするためのキャッシュ蓄積部105と、MFP300−1から受け付けたリクエストに応じて関連する応答をキャッシュから読み出すためのキャッシュ読出部106と、読み出した応答を仮応答としてMFP300−1に対して送信するための送信部107とを含む。
好ましくは、第1中継部203は、仮応答と実応答とを比較することでこれらが一致しているか否かを判断するための判断部108と、これらが一致していないと判断されると、実応答に応じた応答を、以降のMFP300−1からのリクエストに対する応答としてMFP300−1に対して送信するために、実応答に応じたパラメーターを含む応答、つまり、キャッシュから読み出した応答に含まれるパラメーターを実応答のパラメーターに置き換えた応答を生成するための第1生成部109と、仮応答と実応答とのパラメーターが異なっていたりプロトコルやそのバージョンが異なっていたりなどの属性の異なる場合に、MFP300−1からの以降のリクエストを差し替えるために、メモリーの一例であるROM11に含まれる記憶領域であるDB記憶部111に記憶されている、差し替えコマンドを生成するためのデータベースを参照して、当該リクエストの属性を変換して差し替えコマンドを生成するための第2生成部110とをさらに含む。
好ましくは、第2生成部110は、実応答のパラメーターが仮応答のパラメーターと異なる場合に、MFP300−1からの以降のリクエストに含まれるパラメーターを図6のデータベースを参照して実応答のパラメーターとの関係に応じたパラメーターに置き換えることで差し替えコマンドを生成する。また、好ましくは、第2生成部110は、実応答のプロトコルが仮応答のプロトコルと異なる場合に、MFP300−1からの以降のリクエストを図7のデータベースを参照して実応答のプロトコルと仮応答のプロトコルとの関係に応じて置き換えることで差し替えコマンドを生成する。
好ましくは、第1中継部203は、他の中継装置に関連付けられた図6や図7のようなデータベースを他の装置から取得し、DB記憶部111に記憶するためのDB蓄積部112をさらに含む。
<動作フロー>
図14〜図16は、中継装置100での動作の流れの具体例を表わしたフローチャートである。図14〜図16のフローチャートに表わされた動作は、中継装置100のCPU10がROM11に記憶されているプログラムをRAM12上に読み出して実行し、図12および図13の各機能を発揮することによって実現される。
図14を参照して、中継装置100が、ネットワークを介して当該画像形成装置から、またはタッチパネル13での操作によって、第1アプリ系または第2アプリ系いずれかの画像形成装置から他の装置への接続(アクセス)の要求を受け付けると(ステップS101でYES)、CPU10は、アクセス元の画像形成装置(クライアント機)の属するアプリ系および当該クライアント機がアクセス先の装置の機能に応じた(適した)機能を有しているか否か、を判断する。
クライアント機が第2アプリ系に属する画像形成装置であり、かつ、アクセス先であるMFP300−2に対応した(適した)機能を有さない装置、つまりプリンター400である場合(ステップS103でYES)、CPU10は、以降、図14に表わされた、第2アプリ系における接続処理を実行する(ステップS107〜S119)。
そうでない場合、つまり、クライアント機が第1アプリ系に属する画像形成装置であるMFP300−1である場合、または、第2アプリ系に属する画像形成装置であっても、アクセス先のMFP300−2に対応した(適した)機能を有する装置、つまり、他のMFP300−2である場合には(ステップS103でNO)、CPU10は、以降、図15および図16に表わされた、第1アプリ系における接続処理を実行する。
詳しくは、第2アプリ系における接続処理を実行する場合、図14を参照して、CPU10はリモートパネル用のアプリケーションを実行して、アクセス先のMFP300−2に対して操作画面を要求する(ステップS107)。MFP300−2から操作画面の情報を取得すると(ステップS109でYES)、CPU10は、タッチパネル13に操作画面を表示する(ステップS111)。
CPU10は、タッチパネル13に表示している操作画面に対するユーザー操作を受け付けると(ステップS113でYES)、操作位置を表わす情報(たとえば座標情報)をMFP300−2に対して送信する(ステップS115)。
CPU10は、操作画面に対する操作に応じたMFP300−2での処理結果としてのジョブをMFP300−2から受け付けるまで、上記ステップS109〜S115の動作を繰り返す。つまり、CPU10は、MFP300−2からの情報に基づいて、タッチパネル13に操作画面を表示する。そして、その操作画面に対するユーザー操作を表わす情報(たとえば座標情報)をMFP300−2に対して送信する。MFP300−2ではユーザー操作の内容を特定して処理を実行し、その結果、操作画面を更新する。そして。MFP300−2は、更新後の操作画面の情報を中継装置100に対して送信する。この動作が繰り返される。
MFP300−2から、ユーザーによって選択されたジョブを受け付けると(ステップS117でYES)、CPU10は、当該ジョブをクライアント機であるプリンター400に転送し(ステップS119)、処理(プリント)を指示する。なお、ジョブは、MFP300−2から直接、クライアント機であるプリンター400に送信されてもよい。
第1アプリ系における接続処理を実行する場合、図15を参照して、CPU10は、MFP300−1からサーバー500宛てのリクエストを受け付けると、キャッシュから当該リクエストに関連付けられている応答を読み出す(ステップS207、S225)。なお、該当する応答がキャッシュしていない場合には、通常の中継装置と同様に、CPU10は、MFP300−1からのリクエストとサーバー500からの応答とを、それぞれ直接転送する。
好ましくはCPU10は、MFP300−1からリクエストを受け付けると、MFP300−1とサーバー500との間の当該セッションにおける以前のMFP300−1からのリクエストに対する仮応答のうち、実応答と一致しないものがあるか否かを判断する(ステップS203)。その結果、実応答と一致しない仮応答がなかった場合(ステップS203でYES)、つまり、すべての仮応答が実応答と一致していた場合には、CPU10はステップS207でキャッシュを読み出して、その応答を、以降の動作でサーバーから実応答であるリクエストに対する応答を受け付けるよりも以前に、仮応答としてMFP300−1に対して送信する(ステップS209)。その後、CPU10はMFP300−1からのリクエストをサーバー500に対して送信し(ステップS211)、実応答をサーバー500から受け付ける(ステップS213)。その実応答が仮応答と同一であった場合(ステップS215でYES)、CPU10は、実応答を上記リクエストに対する応答としてキャッシュする(ステップS217)。
上記ステップS213で受け付けた実応答がステップS209でMFP300−1に送信した仮応答と一致しない場合であって、プロトコルなどの属性が異なった場合には(ステップS219でNO)、CPU10は、図7のデータベースを参照して仮応答と実応答との差異に応じてコマンドを変換して差し替えコマンドを生成する(ステップS221)。生成した差し替えコマンドは、メモリーに一時的に記憶される。そして、CPU10は最初の動作に戻す。
一方、当該セッションにおいて実応答と一致しない仮応答があり(ステップS203でNO)、仮応答のプロトコルなどの属性は実応答と一致していた場合には(ステップS223でYES)、CPU10は、キャッシュしている上記ステップS201で受け付けたリクエストに対する応答に含まれるパラメーターを、仮応答と実応答との差異に応じて置き換える(ステップS227)。CPU10は、パラメーターを置き換えた応答をMFP300−1に対して送信する(ステップS229)。そして、CPU10は最初の動作に戻す。
当該セッションにおいて実応答と一致しない仮応答があり(ステップS203でNO)、仮応答のプロトコルなどの属性が実応答と一致していなかった場合には(ステップS223でNO)、図16を参照して、CPU10は、上記ステップS201でMFP300−1から受け付けたリクエストについての差し替えコマンドをキャッシュしているか否かを確認する(ステップS231)。上記ステップS201でMFP300−1から受け付けたリクエストが差し替えコマンドの記憶されているリクエストであった場合(ステップS231でYES)、CPU10は、差し替えコマンドをサーバー500に対して送信することで(ステップS233)、MFP300−1からのリクエストを差し替える。差し替えコマンドが記憶されていない場合には(ステップS231でNO)、CPU10はMFP300−1からのリクエストをサーバー500に対して送信する(ステップS235)。
CPU10はサーバー500から実応答を受け付けると(ステップS237)、その実応答をMFP300−1に対して送信する(ステップS239)。そして、CPU10は最初の動作に戻す。
<実施の形態の効果>
本システムが中継装置100を含んで上記のように動作することによって、第1アプリ系においては、MFP300−1からサーバー500に対するリクエストに対して、以前の応答のキャッシュを利用してMFP300−1に対していったん仮応答が返される。そのため、第1アプリ系における通信速度を速めることができる。
さらに、第1アプリ系において、仮応答が実応答と異なった場合であっても、いったんMFP300−1に対して仮応答が返される。そのため、MFP300−1とサーバー500との間の通信を遮断することがない。この場合、以降のリクエストにおいて仮応答と実応答との間のパラメーターの変化や属性の変化が修正された応答がMFP300−1に対して返されることになる。そのため、通信を継続させつつパラメーターの変化やプロトコルなどの属性の差異を吸収することができる。
したがって、第1アプリ系においては、通常の中継装置を用いた中継通信よりも、MFP300−1とサーバー500との間の通信速度を向上させることができ、MFP300−1のユーザーの利便性を向上させることができる。
また、第2アプリ系においては、第1アプリ系で上記のように用いられる中継装置100を利用して、いわゆるユビキタスプリントと呼ばれる、ユーザー認証やリスト表示などの高機能を必要とする画像形成処理を、該機能が必要な処理を中継装置100が代行することで、そのような機能を有していない画像形成装置であるプリンター400で実現することができる。そのため、ユーザーは、中継装置100を利用することで、機能に応じてログインする画像形成装置が制限されることなく、利便性を向上させることができる。
つまり、本システムにおいては、中継装置100が、画像形成装置と他の装置との間を効率的に中継することができる。
<他の例1>
なお、以上の例では、説明のため、本システムが第1アプリ系と第2アプリ系とに大分できるものとしている。しかしながら、第1アプリ系および第2アプリ系の区別は必須ではない。つまり、中継装置100は、いずれかの画像形成装置から他の装置へのアクセス要求を受け付けた場合に、アクセス元の画像形成装置の有する機能に基づいて、上記の第1アプリ系の中継処理と上記の第2アプリ系の中継処理とを切り替えてよい。つまり、これら中継処理を切り替える際に、アクセス元の画像形成装置が第1アプリ系に属するか第2アプリ系に属するか、の判断は必ずしも必須のものではない。
<他の例2>
さらに、上述の動作をCPUに実行させるためのプログラムを提供することもできる。該プログラムを提供することで、既存の装置を中継装置100として動作させることができる。上記のように、中継装置100はタブレットなどとも呼ばれる端末装置であってもよいし、一般的なPCであってもよい。また、中継装置100はMFP300−1やMFP300−2に含まれてもよい。そのため、既存の端末装置やPC、MFPなどに上記プログラムをインストールすることで中継装置100として動作させることができ、容易に本システムを構築することができる。
このようなプログラムは、コンピューターに付属するフレキシブルディスク、CD−ROM(Compact Disk-Read Only Memory)、ROM、RAMおよびメモリカードなどのコンピューター読取り可能な記録媒体にて記録させて、プログラム製品として提供することもできる。あるいは、コンピューターに内蔵するハードディスクなどの記録媒体にて記録させて、プログラムを提供することもできる。また、ネットワークを介したダウンロードによって、プログラムを提供することもできる。
なお、本発明にかかるプログラムは、コンピューターのオペレーティングシステム(OS)の一部として提供されるプログラムモジュールのうち、必要なモジュールを所定の配列で所定のタイミングで呼出して処理を実行させるものであってもよい。その場合、プログラム自体には上記モジュールが含まれずOSと協働して処理が実行される。このようなモジュールを含まないプログラムも、本発明にかかるプログラムに含まれ得る。
また、本発明にかかるプログラムは他のプログラムの一部に組込まれて提供されるものであってもよい。その場合にも、プログラム自体には上記他のプログラムに含まれるモジュールが含まれず、他のプログラムと協働して処理が実行される。このような他のプログラムに組込まれたプログラムも、本発明にかかるプログラムに含まれ得る。
提供されるプログラム製品は、ハードディスクなどのプログラム格納部にインストールされて実行される。なお、プログラム製品は、プログラム自体と、プログラムが記録された記録媒体とを含む。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
10 CPU、11 ROM、12 RAM、13 タッチパネル、14 通信コントローラー、100 中継装置、101 リクエスト入力部、102 リクエスト出力部、103 応答入力部、104 応答出力部、105 キャッシュ蓄積部、106 キャッシュ読出部、107,209 送信部、108,202,211 判断部、109 第1生成部、110 第2生成部、111 記憶部、112 蓄積部、200 PC、201 アクセス要求受付部、203 第1中継部、204 第2中継部、205 画面取得部、206 要求部、207 画面表示部、208 指示入力部、210 ジョブ転送部、212 認証部、300−1,300−2 MFP、400 プリンター、500 サーバー。

Claims (10)

  1. 画像形成装置と他の装置との間の通信を中継するための中継装置であって、
    前記画像形成装置から前記他の装置へのアクセスの指示を受け付けるための受け付け手段と、
    前記画像形成装置が前記他の装置の機能に対応した機能を有する装置であるか否かを判断するための第1の判断手段と、
    前記第1の判断手段によって、前記画像形成装置が前記他の装置の機能に対応した機能を有する装置であると判断された場合に、前記画像形成装置と前記他の装置との間の通信を中継するための第1の中継手段と、
    前記第1の判断手段によって、前記画像形成装置が前記他の装置の機能に対応した機能を有する装置でないと判断された場合に、前記画像形成装置と前記他の装置との間の通信を中継するための第2の中継手段とを備え、
    前記第2の中継手段は、
    前記他の装置から操作画面の情報を取得するための取得手段と、
    前記操作画面に対するユーザーの操作の内容を、前記他の装置に対して送信するための第1の送信手段と、
    前記他の装置からの、前記操作内容に対応した処理の結果であるジョブを、前記画像形成装置に対して発行するための発行手段とを含む、中継装置。
  2. 前記第1の中継手段は、前記画像形成装置からの要求に応じてアプリケーションを実行し、その結果を前記画像形成装置に対して提供可能な、前記他の装置としてのサーバーとの間の、前記画像形成装置から前記サーバーへの前記アプリケーションに関するリクエスト、および前記サーバーから前記画像形成装置への前記リクエストに対する応答をやり取りし、
    前記サーバーからの前記応答をメモリーにキャッシュするための記憶手段と、
    前記画像形成装置から前記リクエストを受け付けると、前記メモリーにキャッシュされた前記リクエストに対する応答を読み出して、前記サーバーから実応答である前記リクエストに対する応答を受け付けるよりも以前に前記読み出した応答を仮応答として前記画像形成装置に対して送信するための第2の送信手段とを備える、請求項1に記載の中継装置。
  3. 前記第1の中継手段は、さらに、
    前記実応答と前記仮応答とを比較することで前記仮応答が前記実応答と一致しているか否かを判断するための第2の判断手段と、
    前記第1の判断手段において前記仮応答が前記実応答と一致していないと判断されると、前記実応答に応じた応答を、前記リクエストよりも以降の前記画像形成装置からのリクエストに対する応答として前記画像形成装置に対して送信するための第3の送信手段とを含む、請求項2に記載の中継装置。
  4. 前記取得手段は、前記操作画面としてユーザー認証画面の情報を前記他の装置から取得し、
    前記第1の送信手段は、前記ユーザー認証画面に対して入力を受け付けた認証情報を前記他の装置に対して送信することで、前記他の装置に対して前記認証情報を用いたユーザー認証を要求し、
    前記ユーザー認証が成功の場合に、前記取得手段は、前記操作画面として、前記ユーザーの発行したジョブを選択可能なリスト画面の情報を前記他の装置から取得し、
    前記第1の送信手段は、前記リスト画面のうちの選択結果を表わす情報を前記他の装置に対して送信することで、前記他の装置に対して選択されたジョブを要求する、請求項1〜3のいずれかに記載の中継装置。
  5. 前記第2の中継手段は認証手段を含み、
    前記取得手段は、前記認証手段でのユーザー認証成功の場合に、前記操作画面として、前記ユーザーの発行したジョブを選択可能なリスト画面の情報を前記他の装置から取得し、
    前記第1の送信手段は、前記リスト画面のうちの選択結果を表わす情報を前記他の装置に対して送信することで、前記他の装置に対して選択されたジョブを要求する、請求項1〜3のいずれかに記載の中継装置。
  6. 前記第2の中継手段はジョブリスト表示画面の情報を記憶し、前記操作画面を表示するための情報として前記取得手段でユーザーの発行したジョブの情報を前記他の装置から取得すると、前記ジョブリスト表示画面の情報に前記ジョブの情報を適用することで、前記ユーザーの発行したジョブのリスト画面を表示する、請求項1〜5のいずれかに記載の中継装置。
  7. 前記第2の中継手段は、前記取得手段で、前記他の装置から前記操作画面を表示するための情報として前記ユーザーの発行したジョブの情報を取得するか、前記ユーザーの発行したジョブを選択可能なリスト画面の情報を取得するか、を前記他の措置の機能に応じて判断するための第3の判断手段をさらに含む、請求項6に記載の中継装置。
  8. 前記第2の中継手段は、前記他の装置に対して、他の画像形成装置に対してユーザーの発行したジョブのスプールの有無の問い合わせを要求するための要求手段をさらに含み、
    前記取得手段は、前記他の装置から、前記操作画面として、前記ユーザーが発行し、前記他の画像形成装置にスプールされているジョブの情報をリスト表示する画面の情報を取得し、
    前記第1の送信手段は、前記リスト表示のうちから処理対象とするジョブの選択結果を前記他の装置に対して送信する、請求項1〜7のいずれかに記載の中継装置。
  9. 画像形成装置と他の装置との間の通信を中継する方法であって、
    前記画像形成装置から前記他の装置へのアクセスの指示を受け付けるステップと、
    前記画像形成装置が前記他の装置の機能に対応した機能を有する装置であるか否かを判断するステップと、
    前記画像形成装置が前記他の装置の機能に対応した機能を有する装置であるか否かを判断結果に応じて、異なる方法で前記画像形成装置と前記他の装置との間の通信を中継するステップとを備え、
    前記画像形成装置が前記他の装置の機能に対応した機能を有する装置でないと判断された場合の前記中継するステップは、
    前記他の装置から操作画面の情報を取得するステップと、
    前記操作画面に対するユーザーの操作の内容を、前記他の装置に対して送信するステップと、
    前記他の装置からの、前記操作内容に対応した処理の結果であるジョブを、前記画像形成装置に対して発行するステップとを含む、中継方法。
  10. コンピューターに、画像形成装置と他の装置との間の通信を中継する処理を実行させるプログラムであって、
    前記画像形成装置から前記他の装置へのアクセスの指示を受け付けるステップと、
    前記画像形成装置が前記他の装置の機能に対応した機能を有する装置であるか否かを判断するステップと、
    前記画像形成装置が前記他の装置の機能に対応した機能を有する装置であるか否かを判断結果に応じて、異なる方法で前記画像形成装置と前記他の装置との間の通信を中継するステップとを前記コンピューターに実行させ、
    前記画像形成装置が前記他の装置の機能に対応した機能を有する装置でないと判断された場合の前記中継するステップは、
    前記他の装置から操作画面の情報を取得するステップと、
    前記操作画面に対するユーザーの操作の内容を、前記他の装置に対して送信するステップと、
    前記他の装置からの、前記操作内容に対応した処理の結果であるジョブを、前記画像形成装置に対して発行するステップとを含む、中継プログラム。
JP2014108904A 2014-05-27 2014-05-27 中継装置、中継方法および中継プログラム Active JP6326971B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014108904A JP6326971B2 (ja) 2014-05-27 2014-05-27 中継装置、中継方法および中継プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014108904A JP6326971B2 (ja) 2014-05-27 2014-05-27 中継装置、中継方法および中継プログラム

Publications (2)

Publication Number Publication Date
JP2015225429A true JP2015225429A (ja) 2015-12-14
JP6326971B2 JP6326971B2 (ja) 2018-05-23

Family

ID=54842138

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014108904A Active JP6326971B2 (ja) 2014-05-27 2014-05-27 中継装置、中継方法および中継プログラム

Country Status (1)

Country Link
JP (1) JP6326971B2 (ja)

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001103092A (ja) * 1999-09-29 2001-04-13 Toshiba Corp Dns問い合わせ装置、dns問い合わせ方法、および記録媒体
JP2003167707A (ja) * 2001-11-28 2003-06-13 Fuji Xerox Co Ltd 印刷制御方法および印刷システム
JP2004349965A (ja) * 2003-05-21 2004-12-09 Ntt Docomo Inc シンクライアントシステム、シンクライアント端末機、中継装置及びシンクライアント端末画面更新方法
JP2008052379A (ja) * 2006-08-22 2008-03-06 Ricoh Co Ltd 利用に際してユーザ認証の実行を要する機器及び端末装置
JP2010193311A (ja) * 2009-02-19 2010-09-02 Canon Inc 画像処理装置及びその制御方法並びにプログラム
JP2011054097A (ja) * 2009-09-04 2011-03-17 Canon Inc 操作装置
JP2011081741A (ja) * 2009-10-09 2011-04-21 Ricoh Co Ltd 情報処理装置、印刷システム、印刷方法、プログラム
JP2012048581A (ja) * 2010-08-27 2012-03-08 Canon Inc 印刷システム、中継装置、印刷サーバ、および印刷方法
JP2012181586A (ja) * 2011-02-28 2012-09-20 Konica Minolta Business Technologies Inc 印刷クライアント、印刷方法、およびコンピュータプログラム
JP2013005225A (ja) * 2011-06-16 2013-01-07 Konica Minolta Business Technologies Inc 画像処理システム、画像処理装置、表示装置、画像処理システムの制御方法、および画像処理システムの制御プログラム
US20130246509A1 (en) * 2012-03-14 2013-09-19 Konica Minolta Business Technologies, Inc. Information processing system, user terminal, information processing device, and non-transitory computer readable recording medium
JP2014002631A (ja) * 2012-06-20 2014-01-09 Konica Minolta Inc 画像形成装置、携帯端末、認証システムおよびプログラム
JP2014006629A (ja) * 2012-06-22 2014-01-16 Seiko Epson Corp アプリケーション実行システムおよびアプリケーション実行方法

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001103092A (ja) * 1999-09-29 2001-04-13 Toshiba Corp Dns問い合わせ装置、dns問い合わせ方法、および記録媒体
JP2003167707A (ja) * 2001-11-28 2003-06-13 Fuji Xerox Co Ltd 印刷制御方法および印刷システム
JP2004349965A (ja) * 2003-05-21 2004-12-09 Ntt Docomo Inc シンクライアントシステム、シンクライアント端末機、中継装置及びシンクライアント端末画面更新方法
JP2008052379A (ja) * 2006-08-22 2008-03-06 Ricoh Co Ltd 利用に際してユーザ認証の実行を要する機器及び端末装置
JP2010193311A (ja) * 2009-02-19 2010-09-02 Canon Inc 画像処理装置及びその制御方法並びにプログラム
JP2011054097A (ja) * 2009-09-04 2011-03-17 Canon Inc 操作装置
JP2011081741A (ja) * 2009-10-09 2011-04-21 Ricoh Co Ltd 情報処理装置、印刷システム、印刷方法、プログラム
JP2012048581A (ja) * 2010-08-27 2012-03-08 Canon Inc 印刷システム、中継装置、印刷サーバ、および印刷方法
JP2012181586A (ja) * 2011-02-28 2012-09-20 Konica Minolta Business Technologies Inc 印刷クライアント、印刷方法、およびコンピュータプログラム
JP2013005225A (ja) * 2011-06-16 2013-01-07 Konica Minolta Business Technologies Inc 画像処理システム、画像処理装置、表示装置、画像処理システムの制御方法、および画像処理システムの制御プログラム
US20130246509A1 (en) * 2012-03-14 2013-09-19 Konica Minolta Business Technologies, Inc. Information processing system, user terminal, information processing device, and non-transitory computer readable recording medium
JP2014002631A (ja) * 2012-06-20 2014-01-09 Konica Minolta Inc 画像形成装置、携帯端末、認証システムおよびプログラム
JP2014006629A (ja) * 2012-06-22 2014-01-16 Seiko Epson Corp アプリケーション実行システムおよびアプリケーション実行方法

Also Published As

Publication number Publication date
JP6326971B2 (ja) 2018-05-23

Similar Documents

Publication Publication Date Title
JP5591040B2 (ja) 画像処理装置、画像処理装置の制御方法、及びプログラム
JP5486237B2 (ja) 情報処理システム、情報処理装置及びそれらの制御方法、並びにプログラム
JP5472346B2 (ja) 情報処理システム、ユーザー端末装置、情報処理装置およびプログラム
US9244640B2 (en) Image processing apparatus, image processing method, web server, control method for the same, and storage medium
JP5995525B2 (ja) システム、画像形成装置、サーバー及びその制御方法
EP2395423A2 (en) Information transmission apparatus, control method of information transmission apparatus, and computer program
JP6961967B2 (ja) 情報処理システム、ヘルプ表示方法及び電子機器
US10506117B2 (en) Preferred language of a user interface
JP6040878B2 (ja) 印刷装置、印刷制御装置、印刷システム及びプログラム
JP2009230400A (ja) 印刷システムおよびソフトウェア導入装置およびソフトウェア導入プログラム
JP5974364B2 (ja) デバイス制御装置、デバイス装置、制御方法および制御プログラム
JP2008287531A (ja) 電子機器、状態表示方法及び状態表示プログラム
JP6326971B2 (ja) 中継装置、中継方法および中継プログラム
EP2390781A2 (en) Communication device
KR101651284B1 (ko) 화상형성장치와 연결되는 호스트장치 및 그 드라이버 설치방법
US11533411B2 (en) Image forming system and image forming apparatus configured to determine whether to execute remote display control
US8860987B2 (en) Driver program
JP5939264B2 (ja) 操作処理装置、情報機器の制御方法およびコンピュータープログラム
JP5907181B2 (ja) 画像処理システム、中継装置、画像形成装置、中継方法、および中継プログラム
JP2016184415A (ja) 印刷システム、印刷装置、及び、仲介装置
JP5939325B2 (ja) 印刷システム、印刷装置、及び、仲介装置
JP5393558B2 (ja) 画像形成装置
US8880742B2 (en) Communication devices that send web pages and computer readable media comprising instructions for controlling such communication devices
JP6414633B2 (ja) 動作制御システム及びサーバー
JP5909993B2 (ja) 印刷制御システム及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161020

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170714

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170801

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171002

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20171107

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180207

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20180213

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180320

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180402

R150 Certificate of patent or registration of utility model

Ref document number: 6326971

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150