JP2016177444A - 中継サーバ、終端サーバ、及び情報処理システム - Google Patents
中継サーバ、終端サーバ、及び情報処理システム Download PDFInfo
- Publication number
- JP2016177444A JP2016177444A JP2015056089A JP2015056089A JP2016177444A JP 2016177444 A JP2016177444 A JP 2016177444A JP 2015056089 A JP2015056089 A JP 2015056089A JP 2015056089 A JP2015056089 A JP 2015056089A JP 2016177444 A JP2016177444 A JP 2016177444A
- Authority
- JP
- Japan
- Prior art keywords
- server
- data
- relay server
- client device
- processing
- 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.)
- Pending
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
- Facsimiles In General (AREA)
Abstract
【課題】クラウドシステムにおいてデータ処理性能を向上させる。
【解決手段】中継サーバ200のデータ処理部237は、クライアント機器100から受信した受信データに対してデータ容量を削減する中間処理を実行して、終端サーバ300Aに送信する。データ処理部237は、クライアント機器が要求する処理の種別に応じた内容の中間処理を受信データに対して実行する。中間処理により容量の削減された第1の処理済データを終端サーバ300に送信するので、クライアント機器と終端サーバとの間の転送速度を安価に向上させることができ、クラウドシステムにおけるデータ処理性能が向上する。
【選択図】図11
【解決手段】中継サーバ200のデータ処理部237は、クライアント機器100から受信した受信データに対してデータ容量を削減する中間処理を実行して、終端サーバ300Aに送信する。データ処理部237は、クライアント機器が要求する処理の種別に応じた内容の中間処理を受信データに対して実行する。中間処理により容量の削減された第1の処理済データを終端サーバ300に送信するので、クライアント機器と終端サーバとの間の転送速度を安価に向上させることができ、クラウドシステムにおけるデータ処理性能が向上する。
【選択図】図11
Description
本発明は、中継サーバ、終端サーバ、及び情報処理システムに関する。
近年、ユーザが直接操作する情報処理装置(クライアント機器)においてアプリケーションプログラムを実行する代わりに、インターネットなどのネットワーク上で提供されているソフトウェアを利用して所望の処理結果を得るクラウドサービスが知られている。
クラウドサービスにおいて、クライアント機器はデータをその処理リクエストと共にクラウドサービスを提供する終端サーバに対して送信し、終端サーバは処理した結果をクライアント機器に対してレスポンスする。仮に、終端サーバがクライアント機器から遠隔地に設置されている場合には終端サーバからの応答時間が増大するため、データの転送時間が長くなる。
特許文献1には、クラウドサービスのようなネットワークを利用したデータ処理の応答性能を向上させるため、終端サーバで実行する処理と同様の処理を、近隣の中継サーバにおいても実行する情報処理システムが開示されている。
クラウドサービスにおいて、クライアント機器はデータをその処理リクエストと共にクラウドサービスを提供する終端サーバに対して送信し、終端サーバは処理した結果をクライアント機器に対してレスポンスする。仮に、終端サーバがクライアント機器から遠隔地に設置されている場合には終端サーバからの応答時間が増大するため、データの転送時間が長くなる。
特許文献1には、クラウドサービスのようなネットワークを利用したデータ処理の応答性能を向上させるため、終端サーバで実行する処理と同様の処理を、近隣の中継サーバにおいても実行する情報処理システムが開示されている。
しかし特許文献1に記載の発明では、中継サーバの処理能力によっては、クラウドシステムのデータ処理性能の向上を十分に図れないという問題がある。
本発明は上述の事情に鑑みてなされたものであり、データ処理性能を向上させることを目的とする。
本発明は上述の事情に鑑みてなされたものであり、データ処理性能を向上させることを目的とする。
上記の課題を解決するために、請求項1に記載の発明は、クライアント機器と終端サーバとに接続される中継サーバであって、前記クライアント機器との間、及び前記終端サーバとの間で夫々通信する通信手段と、前記クライアント機器から送信される処理対象の電子データを、前記通信手段を介して受信する第1の受信手段と、前記クライアント機器が要求する処理の種別に応じて、前記第1の受信手段で受信した前記電子データに対してデータの容量を削減する削減処理を実行するデータ処理手段と、前記データ処理手段で前記削減処理がされた第1の処理済データを、前記通信手段を介して前記終端サーバに送信する送信手段と、前記送信手段で送信した第1の処理済データに対して前記終端サーバが所定の処理を実行することにより得られた第2の処理済データを、前記終端サーバから前記通信手段を介して受信する第2の受信手段と、前記第2の受信手段で受信した第2の処理済データと、前記第1の受信手段で受信した前記電子データとを合成する合成手段とを有することを特徴とする。
本発明によれば、データ処理性能を向上させることができる。
本発明は、クライアント機器と終端サーバとの間に中継サーバを配置し、クライアント機器から送信されるデータに対して中継サーバがデータ容量を削減する中間処理を実行して終端サーバに転送する点に特徴がある。
上記記載の本発明の特徴について、以下の図面を用いて詳細に解説する。但し、この実施形態に記載される構成要素、種類、組み合わせ、形状、その相対配置などは特定的な記載がない限り、この発明の範囲をそれのみに限定する主旨ではなく単なる説明例に過ぎない。
上記記載の本発明の特徴について、以下の図面を用いて詳細に解説する。但し、この実施形態に記載される構成要素、種類、組み合わせ、形状、その相対配置などは特定的な記載がない限り、この発明の範囲をそれのみに限定する主旨ではなく単なる説明例に過ぎない。
〔図1:システム構成図〕
図1は、本発明の一実施形態に係る情報処理システムのシステム構成図である。
情報処理システムは、米国(US:第一国の一例)に設置された終端サーバ300Aと、日本国(JP:第二国の一例)に設置された画像形成装置等のMFP(Multifunction Peripheral)100A、ノートPCやスマートフォン等のモバイル機器100B、中継サーバ200、及び終端サーバ300Bとを含んで構成されている。情報処理システムを構成する各装置は、夫々インターネットNを介して接続されている。
図1は、本発明の一実施形態に係る情報処理システムのシステム構成図である。
情報処理システムは、米国(US:第一国の一例)に設置された終端サーバ300Aと、日本国(JP:第二国の一例)に設置された画像形成装置等のMFP(Multifunction Peripheral)100A、ノートPCやスマートフォン等のモバイル機器100B、中継サーバ200、及び終端サーバ300Bとを含んで構成されている。情報処理システムを構成する各装置は、夫々インターネットNを介して接続されている。
終端サーバ300AはクラウドサービスAを提供するサーバであり、終端サーバ300BはクラウドサービスBを提供するサーバである。クラウドサービスAとクラウドサービスBは、互いに異なる運営者が運営しているものであってもよいし、同一の運営者が運営しているものであってもよい。また、クラウドサービスAとクラウドサービスBは、互いに認証連携されていることが望ましいが、認証連携されていなくともよい。
中継サーバ200は、MFP100Aやモバイル機器100B等のクライアント機器とインターネットNを介して接続されているが、これらはLAN(Local Area Network)によって接続されていてもよい。但し、中継サーバ200に対してMFP100A等をLANのような小規模ネットワークによって接続するよりも、インターネットNのような大規模ネットワークを介して接続した方が、より多くのMFP100A等(例えば日本全国に設置されたMFP等)によって中継サーバ200を共有することが可能となる。従って、後者の方が中継サーバ200の設置に係る費用をトータルでは安価に押さえることができて好適である。
なお、図中、終端サーバ300Aと終端サーバ300Bを単一のサーバとして記載しているが、各サーバは複数のサーバ群によって構成されてもよい。また、終端サーバ300Aと終端サーバ300Bにはファイアーウォール(Firewall)などのネットワーク機器や共有記憶装置なども含まれる。
中継サーバ200は、ファイアーウォール(Firewall)などのネットワーク機器や共有記憶装置などのシステムと連携して動作する。また、図中、中継サーバ200が複数台のサーバから構成されるように記載しているが、中継サーバ200は単一のサーバから構成してもよい。
中継サーバ200は、MFP100Aやモバイル機器100B等のクライアント機器とインターネットNを介して接続されているが、これらはLAN(Local Area Network)によって接続されていてもよい。但し、中継サーバ200に対してMFP100A等をLANのような小規模ネットワークによって接続するよりも、インターネットNのような大規模ネットワークを介して接続した方が、より多くのMFP100A等(例えば日本全国に設置されたMFP等)によって中継サーバ200を共有することが可能となる。従って、後者の方が中継サーバ200の設置に係る費用をトータルでは安価に押さえることができて好適である。
なお、図中、終端サーバ300Aと終端サーバ300Bを単一のサーバとして記載しているが、各サーバは複数のサーバ群によって構成されてもよい。また、終端サーバ300Aと終端サーバ300Bにはファイアーウォール(Firewall)などのネットワーク機器や共有記憶装置なども含まれる。
中継サーバ200は、ファイアーウォール(Firewall)などのネットワーク機器や共有記憶装置などのシステムと連携して動作する。また、図中、中継サーバ200が複数台のサーバから構成されるように記載しているが、中継サーバ200は単一のサーバから構成してもよい。
以下の説明においては、クライアント機器については主としてMFP100Aに基づいて説明するが、モバイル機器100Bについても同様である。
表1には、図1に示した各装置とDNS名(サーバの情報)の対応例を示している。
終端サーバA、B(終端サーバ300A、300Bに対応)と中継サーバ(中継サーバ200に対応)は、インターネット上でDNS名前解決できることを想定している。また、中継サーバは複数台のサーバで構成されていることを想定しているので、代表のDNS名「med.jp.example.com」により、複数の中継サーバを指すことができるものとしている。
なお、MFPについてはインターネット上で名前解決できる必要はない。例えば、MFPがある企業に設置されている場合、当該MFPについてはその企業内での名前解決ができればよく、さらには当該MFPにアクセスする手段としてDNS名を使わない場合は、名前解決できなくてもよい。
終端サーバA、B(終端サーバ300A、300Bに対応)と中継サーバ(中継サーバ200に対応)は、インターネット上でDNS名前解決できることを想定している。また、中継サーバは複数台のサーバで構成されていることを想定しているので、代表のDNS名「med.jp.example.com」により、複数の中継サーバを指すことができるものとしている。
なお、MFPについてはインターネット上で名前解決できる必要はない。例えば、MFPがある企業に設置されている場合、当該MFPについてはその企業内での名前解決ができればよく、さらには当該MFPにアクセスする手段としてDNS名を使わない場合は、名前解決できなくてもよい。
〔図2:機器間のレイテンシ〕
図2は、機器とサーバの間のレイテンシ(転送遅延:RTT;Round-Trip Time;ラウンドトリップタイム)を示す模式図である。
レイテンシを変化させる要因には種々あるが、大多数は転送距離に基づくものである。レイテンシは転送距離に伴って変化し、転送距離が長くなるほど大きくなる。
図示するように、JP内での機器間の転送時間は10[ms]と殆どレイテンシがない。一方、JPとUSとの間で通信する場合は、200[ms]と大きなレイテンシがある。
一般的に、一国内(例:US内、JP内)で通信を行う場合は、他国との間(例:US−JP間)で通信を行う場合よりもレイテンシは低くなる。しかし、US内での通信は、JP内での通信に比べて転送距離が大きいため、一国内の通信であっても無視できないレイテンシとなる場合がある。
本発明の実施形態においては、MFP100A等のクライアント機器からレイテンシの大きい終端サーバ300Aに対してデータを送信する場合に、レイテンシの小さい中継サーバ200を中継する。中継サーバ200はデータ容量を削減する処理を実行して、得られたデータを終端サーバに送信する。
図2は、機器とサーバの間のレイテンシ(転送遅延:RTT;Round-Trip Time;ラウンドトリップタイム)を示す模式図である。
レイテンシを変化させる要因には種々あるが、大多数は転送距離に基づくものである。レイテンシは転送距離に伴って変化し、転送距離が長くなるほど大きくなる。
図示するように、JP内での機器間の転送時間は10[ms]と殆どレイテンシがない。一方、JPとUSとの間で通信する場合は、200[ms]と大きなレイテンシがある。
一般的に、一国内(例:US内、JP内)で通信を行う場合は、他国との間(例:US−JP間)で通信を行う場合よりもレイテンシは低くなる。しかし、US内での通信は、JP内での通信に比べて転送距離が大きいため、一国内の通信であっても無視できないレイテンシとなる場合がある。
本発明の実施形態においては、MFP100A等のクライアント機器からレイテンシの大きい終端サーバ300Aに対してデータを送信する場合に、レイテンシの小さい中継サーバ200を中継する。中継サーバ200はデータ容量を削減する処理を実行して、得られたデータを終端サーバに送信する。
〔処理時間とデータサイズと転送速度の関係〕
図1に示したMFP100A等のクライアント機器から中継サーバ200を介して終端サーバ300(300A又は300B)に対して情報を転送し、終端サーバ300にて処理した結果を、中継サーバ200を介してMFP100Aが受信する場合を考える。この場合の、クライアント機器がデータを送信してから処理後のデータを受信するまでの処理時間は以下の通りである。
処理時間
=(終端サーバでの処理時間)+(中継サーバと終端サーバ間の転送時間)
+(中継サーバでの処理時間)+(クライアント機器と中継サーバの転送時間)
図1に示したMFP100A等のクライアント機器から中継サーバ200を介して終端サーバ300(300A又は300B)に対して情報を転送し、終端サーバ300にて処理した結果を、中継サーバ200を介してMFP100Aが受信する場合を考える。この場合の、クライアント機器がデータを送信してから処理後のデータを受信するまでの処理時間は以下の通りである。
処理時間
=(終端サーバでの処理時間)+(中継サーバと終端サーバ間の転送時間)
+(中継サーバでの処理時間)+(クライアント機器と中継サーバの転送時間)
上記転送時間には情報のアップロードに要する時間とダウンロードに要する時間を含む。転送時間は以下のように算出される。
転送時間
=(アップロード時間)+(ダウンロード時間)
=(アップロードデータ容量/アップロード転送速度)
+(ダウンロードデータ容量/ダウンロード転送速度)
転送時間
=(アップロード時間)+(ダウンロード時間)
=(アップロードデータ容量/アップロード転送速度)
+(ダウンロードデータ容量/ダウンロード転送速度)
また、TCP通信の場合の転送速度は以下のように算出される。
転送速度=(TCP Window(登録商標) size)/(ノード間のレイテンシ(RTT))
転送速度=(TCP Window(登録商標) size)/(ノード間のレイテンシ(RTT))
TCP Window(登録商標) sizeにより変化する通信上の特徴、或いは通信環境によってTCP Window(登録商標) sizeが受ける制約は以下の通りである。
(1)TCP Window(登録商標) sizeを大きくすると転送速度を大きくできるが、パケットを消失したときの再送コストが高くなる。逆に言えば、TCP Window(登録商標) sizeを小さくすると、パケットを消失したときの再送コストは小さくなるが、転送速度が小さくなる。
(2)TCP Window(登録商標) sizeは、受信側のメモリ容量が小さい場合は大きくできない。
(3)TCP Window(登録商標) sizeは、モバイル機器による通信など、通信品質が安定しないときには大きくできない。
(1)TCP Window(登録商標) sizeを大きくすると転送速度を大きくできるが、パケットを消失したときの再送コストが高くなる。逆に言えば、TCP Window(登録商標) sizeを小さくすると、パケットを消失したときの再送コストは小さくなるが、転送速度が小さくなる。
(2)TCP Window(登録商標) sizeは、受信側のメモリ容量が小さい場合は大きくできない。
(3)TCP Window(登録商標) sizeは、モバイル機器による通信など、通信品質が安定しないときには大きくできない。
一般的に、TCP Window(登録商標) sizeはノイズの大きさなどの通信環境により変化し、ノイズが大きい通信環境(例えばモバイル機器による通信)では大きくできない。一方、レイテンシは、図2にて説明したように転送距離が大きくなると増大するため、転送距離が大きくなると転送速度が低下する。仮に、転送距離を一定とした場合に転送時間を短縮するには、転送するデータの容量を減らすことが有効である。
そこで、本発明の実施形態においては、中継サーバにおいて転送するデータの容量を削減する処理を実行して、データの転送時間を短縮する。
ここではTCPについての説明としたが、一般的に、UDPなどの場合にも誤りの訂正のための機構をアプリケーションレイヤが担う必要があり、誤り訂正をする場合には、TCPのときと同様に転送速度はノード間のレイテンシが増加すると低下する。
そこで、本発明の実施形態においては、中継サーバにおいて転送するデータの容量を削減する処理を実行して、データの転送時間を短縮する。
ここではTCPについての説明としたが、一般的に、UDPなどの場合にも誤りの訂正のための機構をアプリケーションレイヤが担う必要があり、誤り訂正をする場合には、TCPのときと同様に転送速度はノード間のレイテンシが増加すると低下する。
〔図3:MFPのハードウェア構成〕
図3は、MFPのハードウェア構成の一例を示すブロック図である。
MFP100A(画像形成装置)は、MFPにおける主たる制御動作を行うコントローラ101にオペレーションパネル113とファクスコントロールユニット116とプロッタ81とスキャナ82とその他のハードウェアリソース83とが接続されて構成されている。
コントローラ101は、画像処理用途向けのICであるASIC102にブリッジとしてのNB105を介して一般制御用のICであるCPU106が接続される。
NB105のPCIバス9aに、周辺デバイス等との接続を行うブリッジであるSB108と、ネットワーク通信を制御するNIC109と、USBディスクとして扱うことでデータを取り込むことができるUSB(Universal Serial Bus)ターゲット110と、IEEE802.11bインターフェースを提供するIEEE802.11b 111aと、IEEE1394インターフェースを提供するIEEE1394 111bと、他のUSBターゲット(例えば、USBメモリ114d)と接続し大容量の画像データの送受信を可能とするUSBホスト114と、SD(Secure Digital memory card)カード等のメモリカード115dとの間でプログラムおよびデータの入出力を行うメモリカードインターフェース(I/F)115とが接続される。
ASIC102に記憶装置としてのローカルメモリ(MEM−C)103とHDD(Hard Disk Drive)104とが接続され、NB105に記憶装置としてのシステムメモリ(MEM−P)107が接続されて構成されている。
図3は、MFPのハードウェア構成の一例を示すブロック図である。
MFP100A(画像形成装置)は、MFPにおける主たる制御動作を行うコントローラ101にオペレーションパネル113とファクスコントロールユニット116とプロッタ81とスキャナ82とその他のハードウェアリソース83とが接続されて構成されている。
コントローラ101は、画像処理用途向けのICであるASIC102にブリッジとしてのNB105を介して一般制御用のICであるCPU106が接続される。
NB105のPCIバス9aに、周辺デバイス等との接続を行うブリッジであるSB108と、ネットワーク通信を制御するNIC109と、USBディスクとして扱うことでデータを取り込むことができるUSB(Universal Serial Bus)ターゲット110と、IEEE802.11bインターフェースを提供するIEEE802.11b 111aと、IEEE1394インターフェースを提供するIEEE1394 111bと、他のUSBターゲット(例えば、USBメモリ114d)と接続し大容量の画像データの送受信を可能とするUSBホスト114と、SD(Secure Digital memory card)カード等のメモリカード115dとの間でプログラムおよびデータの入出力を行うメモリカードインターフェース(I/F)115とが接続される。
ASIC102に記憶装置としてのローカルメモリ(MEM−C)103とHDD(Hard Disk Drive)104とが接続され、NB105に記憶装置としてのシステムメモリ(MEM−P)107が接続されて構成されている。
〔図4:MFPの機能構成〕
図4は、MFPの機能構成の一例を示すブロック図である。
MFP100Aは、通信部121と、通信制御部122と、主制御部123と、記憶部124と、操作表示部125と、プロット部126と、スキャナ部127とを備える。
通信部121は、インターネットNを介して中継サーバ200や終端サーバ300との間でデータを送受信する。通信部121は、図3のNIC109を利用して実現される。
通信制御部122は、通信部121を制御し、通信部121を介して受信したデータを主制御部123に転送する。通信制御部122は、図3のCPU106を利用して実現される。
主制御部123は、装置の各部の動作を制御する。主制御部123は、図3のCPU106を利用して実現される。
図4は、MFPの機能構成の一例を示すブロック図である。
MFP100Aは、通信部121と、通信制御部122と、主制御部123と、記憶部124と、操作表示部125と、プロット部126と、スキャナ部127とを備える。
通信部121は、インターネットNを介して中継サーバ200や終端サーバ300との間でデータを送受信する。通信部121は、図3のNIC109を利用して実現される。
通信制御部122は、通信部121を制御し、通信部121を介して受信したデータを主制御部123に転送する。通信制御部122は、図3のCPU106を利用して実現される。
主制御部123は、装置の各部の動作を制御する。主制御部123は、図3のCPU106を利用して実現される。
記憶部124は、主制御部123が実行する各種のプログラムを記憶し、また、プログラムの実行により発生したデータを記憶する。記憶部124は、MEM−C103やHDD104を利用して実現される。
操作表示部125は、ユーザインターフェースであり、ユーザから各種のデータ入力を受け付けると共に、ユーザに対して各種のデータを表示する。操作表示部125は、オペレーションパネル113を利用して実現される。
プロット部126は、PDLファイル等の印刷データを印刷用紙に印刷する。プロット部126は、プロッタ81を利用して実現される。
スキャナ部127は、原稿画像を読み取ってスキャンデータを生成する。スキャナ部127は、スキャナ82を利用して実現される。
操作表示部125は、ユーザインターフェースであり、ユーザから各種のデータ入力を受け付けると共に、ユーザに対して各種のデータを表示する。操作表示部125は、オペレーションパネル113を利用して実現される。
プロット部126は、PDLファイル等の印刷データを印刷用紙に印刷する。プロット部126は、プロッタ81を利用して実現される。
スキャナ部127は、原稿画像を読み取ってスキャンデータを生成する。スキャナ部127は、スキャナ82を利用して実現される。
〔図5:サーバ、及びモバイル機器のハードウェア構成〕
図5は、サーバのハードウェア構成の一例を示すブロック図である。中継サーバと終端サーバのハードウェア構成は同一である。また、クライアント機器の一つであるノートPC等のモバイル機器のハードウェア構成の主要部はサーバと同様であるため、代表的にサーバについてのみ説明する。
サーバ11は、バスに接続された、CPU301、ROM302、RAM303、HDD304、ディスプレイ320が接続されたグラフィックボード305、キーボード・マウス306、メディアドライブ307、及び、ネットワーク通信部308を有する。
CPU301はHDD304に記憶されたプログラムをRAM303に展開して実行し、各部位を制御して入出力を行ったり、データの加工を行ったりする。ROM302にはBIOSやOSをHDD304からRAM303に読み出すスタートプログラムが記憶されている。
HDD304は、不揮発性のメモリであればよくSSD(Solid State Drive)などでもよい。
HDD304はOS、デバイスドライバ、及び、後述する機能を提供するプログラムを記憶している。
ディスプレイ320にはプログラムが指示し、グラフィックボード305が作成したGUI画面が表示される。
図5は、サーバのハードウェア構成の一例を示すブロック図である。中継サーバと終端サーバのハードウェア構成は同一である。また、クライアント機器の一つであるノートPC等のモバイル機器のハードウェア構成の主要部はサーバと同様であるため、代表的にサーバについてのみ説明する。
サーバ11は、バスに接続された、CPU301、ROM302、RAM303、HDD304、ディスプレイ320が接続されたグラフィックボード305、キーボード・マウス306、メディアドライブ307、及び、ネットワーク通信部308を有する。
CPU301はHDD304に記憶されたプログラムをRAM303に展開して実行し、各部位を制御して入出力を行ったり、データの加工を行ったりする。ROM302にはBIOSやOSをHDD304からRAM303に読み出すスタートプログラムが記憶されている。
HDD304は、不揮発性のメモリであればよくSSD(Solid State Drive)などでもよい。
HDD304はOS、デバイスドライバ、及び、後述する機能を提供するプログラムを記憶している。
ディスプレイ320にはプログラムが指示し、グラフィックボード305が作成したGUI画面が表示される。
キーボード・マウス306はユーザの操作を受け付ける入力装置である。
メディアドライブ307はコンパクトディスク、DVD及びブルーレイディスクなどの光学メディアにデータを読み書きする。また、フラッシュメモリなどのメモリカードにデータを読み書きしてもよい。
ネットワーク通信部308は、例えばLANに接続するためのイーサネット(登録商標)カードである。TCP/IP(UDP/IP)やアプリケーション層のプロトコルの処理はOSやHDD304に記憶されたプログラムが行う。アプリケーション層のプロトコルは各種あるが、例えばSNMP(Simple Network Management Protocol)、HTTP、FTP、SMB(Server Message Block)等がある。
HDD304に記憶されているプログラムは、インストール可能な形式又は実行可能な形式のファイルで、コンピュータで読み取り可能な記録メディアに記録して配布される。また、プログラムは、サーバからインストール可能な形式又は実行可能な形式のファイルで配布される。
ここでは、物理的なサーバ機器について記載しているが、サーバはもちろん、仮想サーバ(Virtual server)であってもよい。
メディアドライブ307はコンパクトディスク、DVD及びブルーレイディスクなどの光学メディアにデータを読み書きする。また、フラッシュメモリなどのメモリカードにデータを読み書きしてもよい。
ネットワーク通信部308は、例えばLANに接続するためのイーサネット(登録商標)カードである。TCP/IP(UDP/IP)やアプリケーション層のプロトコルの処理はOSやHDD304に記憶されたプログラムが行う。アプリケーション層のプロトコルは各種あるが、例えばSNMP(Simple Network Management Protocol)、HTTP、FTP、SMB(Server Message Block)等がある。
HDD304に記憶されているプログラムは、インストール可能な形式又は実行可能な形式のファイルで、コンピュータで読み取り可能な記録メディアに記録して配布される。また、プログラムは、サーバからインストール可能な形式又は実行可能な形式のファイルで配布される。
ここでは、物理的なサーバ機器について記載しているが、サーバはもちろん、仮想サーバ(Virtual server)であってもよい。
〔図6:中継サーバの機能構成〕
図6は、中継サーバの機能構成の一例を示すブロック図である。
中継サーバ200は、下流通信部231(第一通信部)と、上流通信部232(第二通信部)と、通信制御部233と、認証制御部234と、データ処理制御部235と、プログラム記憶部236と、データ処理部237と、データ記憶部238と、を備える。
下流通信部231は、インターネットNを介してMFP100A等のクライアント機器との間でデータを送受信する。上流通信部232は、インターネットNを介して終端サーバ300との間でデータを送受信する。例えば、中継サーバ200は、MFP100A等のクライアント機器からのデータを下流通信部231において受信し、上流通信部232を介して終端サーバ300等へデータを転送する。なお、説明の便宜上、下流通信部231と上流通信部232を分けて記載しているが、下流通信部231と上流通信部232が実現する各機能は、物理的、論理的に共用されていてもよい。下流通信部231と上流通信部232は、図5のネットワーク通信部308を利用して実現される。
通信制御部233は、下流通信部231と上流通信部232とを制御する。また、下流通信部231と上流通信部232が受信したデータを認証制御部234とデータ処理制御部235へ転送する。通信制御部233は、図5のCPU301を利用して実現される。
図6は、中継サーバの機能構成の一例を示すブロック図である。
中継サーバ200は、下流通信部231(第一通信部)と、上流通信部232(第二通信部)と、通信制御部233と、認証制御部234と、データ処理制御部235と、プログラム記憶部236と、データ処理部237と、データ記憶部238と、を備える。
下流通信部231は、インターネットNを介してMFP100A等のクライアント機器との間でデータを送受信する。上流通信部232は、インターネットNを介して終端サーバ300との間でデータを送受信する。例えば、中継サーバ200は、MFP100A等のクライアント機器からのデータを下流通信部231において受信し、上流通信部232を介して終端サーバ300等へデータを転送する。なお、説明の便宜上、下流通信部231と上流通信部232を分けて記載しているが、下流通信部231と上流通信部232が実現する各機能は、物理的、論理的に共用されていてもよい。下流通信部231と上流通信部232は、図5のネットワーク通信部308を利用して実現される。
通信制御部233は、下流通信部231と上流通信部232とを制御する。また、下流通信部231と上流通信部232が受信したデータを認証制御部234とデータ処理制御部235へ転送する。通信制御部233は、図5のCPU301を利用して実現される。
認証制御部234は、MFP100Aと終端サーバ300が正当なものであることを確認する。認証制御部234は、図5のCPU301を利用して実現される。
MFP100Aの認証において、中継サーバ200が認証のためのユーザ名、パスワードを保持している必要はない。中継サーバ200は、終端サーバ300が認証したことを判断できればよい。そのため、中継サーバ200は、MFP100Aから受信した認証チケットを終端サーバ300に転送し、終端サーバ300によって認証チケットが認証されたことを確認できれば処理を継続すると判断してよい。もちろん、中継サーバ200がユーザ認証のためのユーザ名、パスワードを保持してもよい。
また、互いに認証連携していないクラウドサービス間(終端サーバAと終端サーバBとの間)に跨がって処理を行う必要がある場合は、中継サーバ200が認証に必要なユーザ名やパスワード等をクラウドサービスに送信してログイン処理を実行するようにしてもよい。
MFP100Aの認証において、中継サーバ200が認証のためのユーザ名、パスワードを保持している必要はない。中継サーバ200は、終端サーバ300が認証したことを判断できればよい。そのため、中継サーバ200は、MFP100Aから受信した認証チケットを終端サーバ300に転送し、終端サーバ300によって認証チケットが認証されたことを確認できれば処理を継続すると判断してよい。もちろん、中継サーバ200がユーザ認証のためのユーザ名、パスワードを保持してもよい。
また、互いに認証連携していないクラウドサービス間(終端サーバAと終端サーバBとの間)に跨がって処理を行う必要がある場合は、中継サーバ200が認証に必要なユーザ名やパスワード等をクラウドサービスに送信してログイン処理を実行するようにしてもよい。
データ処理制御部235は、認証済みのデータをどのように処理するかを決定する。データ処理制御部235は、決定した処理の内容に応じて必要なプログラムをプログラム記憶部236から読み出す。データ処理制御部235は、図5のCPU301を利用して実現される。
データ処理部237は、プログラム記憶部236から読み出されたプログラムを実行してデータを処理する。データ処理部237は、データを処理する過程で生成した中間データ、又はデータを処理した結果生成した最終データをデータ記憶部238に記憶させる。データ処理部237は、データ記憶部238に記憶させたデータの保存期限が超過する等、所定の削除条件に合致した場合に当該データをデータ記憶部238から削除する。データ処理部237は、図5のCPU301及びRAM303を利用して実現される。データ記憶部238は、図5のRAM303またはHDD304を利用して実現される。
プログラム記憶部236には、転送データ容量を削減するために必要な各種プログラムが記憶されている。転送データ容量を削減するプログラムは、例えば、カラー・モノクロ分離/合成プログラム、PDF−PDL変換プログラム等である(PDF:Portable Document Format、PDL:Page Description Language:ページ記述言語)。これらのプログラムにより、容量の削減されたデータが終端サーバ300Aに転送される。従って、転送するデータサイズを小さくできるので、全体の処理時間を短縮できる。プログラム記憶部236は、図5のHDD304を利用して実現される。
データ処理部237は、プログラム記憶部236から読み出されたプログラムを実行してデータを処理する。データ処理部237は、データを処理する過程で生成した中間データ、又はデータを処理した結果生成した最終データをデータ記憶部238に記憶させる。データ処理部237は、データ記憶部238に記憶させたデータの保存期限が超過する等、所定の削除条件に合致した場合に当該データをデータ記憶部238から削除する。データ処理部237は、図5のCPU301及びRAM303を利用して実現される。データ記憶部238は、図5のRAM303またはHDD304を利用して実現される。
プログラム記憶部236には、転送データ容量を削減するために必要な各種プログラムが記憶されている。転送データ容量を削減するプログラムは、例えば、カラー・モノクロ分離/合成プログラム、PDF−PDL変換プログラム等である(PDF:Portable Document Format、PDL:Page Description Language:ページ記述言語)。これらのプログラムにより、容量の削減されたデータが終端サーバ300Aに転送される。従って、転送するデータサイズを小さくできるので、全体の処理時間を短縮できる。プログラム記憶部236は、図5のHDD304を利用して実現される。
プログラム記憶部236に記憶されているプログラムは、終端サーバ300Aに記憶されているプログラムと同一であっもてよいし、異なっていてもよい。
例えば、終端サーバ300Aに記憶されているプログラムがサーバごとにライセンス利用料が発生するようなプログラムの場合は、ライセンスを保有する中継サーバを少なくした方が、ライセンス料金面でのサーバの維持コストを低くすることができる。なお、サーバごとにライセンス利用料が発生するようなプログラムの一例としては、OCR処理プログラム、プレゼンテーションファイルからPDFやPDLを生成するプログラム等を挙げることができる(OCR:光学文字認識:Optical Character Recognition)。
また、プログラム記憶部236に記憶されているプログラムは、終端サーバ300Aに記憶されているプログラムと同一の場合であっても、前者は必ずしも後者と同一の処理を実行するものである必要はない。
即ち、中継サーバの処理能力が終端サーバの処理能力に比べて劣る場合に、マシンパワーの必要な処理を中継サーバに実行させても処理時間の短縮は困難である。このような場合であっても、大きな処理能力を必要としない処理のみを中継サーバにて実行してデータ容量を削減すれば、データの転送時間を大幅に短縮できるので、総合的には処理時間を大きく短縮できる。なお、大きな処理能力を必要としない処理の一例としては、画像のカラー・モノクロ変換などが挙げられる。
例えば、終端サーバ300Aに記憶されているプログラムがサーバごとにライセンス利用料が発生するようなプログラムの場合は、ライセンスを保有する中継サーバを少なくした方が、ライセンス料金面でのサーバの維持コストを低くすることができる。なお、サーバごとにライセンス利用料が発生するようなプログラムの一例としては、OCR処理プログラム、プレゼンテーションファイルからPDFやPDLを生成するプログラム等を挙げることができる(OCR:光学文字認識:Optical Character Recognition)。
また、プログラム記憶部236に記憶されているプログラムは、終端サーバ300Aに記憶されているプログラムと同一の場合であっても、前者は必ずしも後者と同一の処理を実行するものである必要はない。
即ち、中継サーバの処理能力が終端サーバの処理能力に比べて劣る場合に、マシンパワーの必要な処理を中継サーバに実行させても処理時間の短縮は困難である。このような場合であっても、大きな処理能力を必要としない処理のみを中継サーバにて実行してデータ容量を削減すれば、データの転送時間を大幅に短縮できるので、総合的には処理時間を大きく短縮できる。なお、大きな処理能力を必要としない処理の一例としては、画像のカラー・モノクロ変換などが挙げられる。
〔図7:終端サーバの機能構成〕
図7は、終端サーバの機能構成の一例を示すブロック図である。終端サーバ300は、中継サーバ200と類似する構成を有する。
終端サーバ300は、通信部331と、通信制御部333と、認証制御部334と、データ処理制御部335と、プログラム記憶部336と、データ処理部337と、データ記憶部338と、を備える。
通信部331は、インターネットNを介してMFP100A等のクライアント機器、及び中継サーバ200との間でデータを送受信する。通信部331は、図5のネットワーク通信部308を利用して実現される。
通信制御部333は、通信部331を制御すると共に、通信部331が受信したデータを認証制御部334とデータ処理制御部335へ転送する。通信制御部233は、図5のCPU301を利用して実現される。
認証制御部334は、MFP100A等のクライアント機器が正当なものであることを確認する。終端サーバ300は、クライアント機器の認証に必要なユーザ名、パスワードを保持している。認証制御部334は、中継サーバ200から受信した認証チケットの正当性を確認して、中継サーバ200に回答する。認証制御部334は、図5のCPU301を利用して実現される。
図7は、終端サーバの機能構成の一例を示すブロック図である。終端サーバ300は、中継サーバ200と類似する構成を有する。
終端サーバ300は、通信部331と、通信制御部333と、認証制御部334と、データ処理制御部335と、プログラム記憶部336と、データ処理部337と、データ記憶部338と、を備える。
通信部331は、インターネットNを介してMFP100A等のクライアント機器、及び中継サーバ200との間でデータを送受信する。通信部331は、図5のネットワーク通信部308を利用して実現される。
通信制御部333は、通信部331を制御すると共に、通信部331が受信したデータを認証制御部334とデータ処理制御部335へ転送する。通信制御部233は、図5のCPU301を利用して実現される。
認証制御部334は、MFP100A等のクライアント機器が正当なものであることを確認する。終端サーバ300は、クライアント機器の認証に必要なユーザ名、パスワードを保持している。認証制御部334は、中継サーバ200から受信した認証チケットの正当性を確認して、中継サーバ200に回答する。認証制御部334は、図5のCPU301を利用して実現される。
データ処理制御部335は、認証済みのデータをどのように処理するかを決定する。データ処理制御部335は、決定した処理の内容に応じて必要なプログラムをプログラム記憶部336から読み出す。データ処理制御部335は、図5のCPU301を利用して実現される。
データ処理部337は、プログラム記憶部336から読み出されたプログラムを実行してデータを処理する。データ処理部337は、データを処理する過程で生成した中間データ、又はデータを処理した結果生成した最終データをデータ記憶部338に記憶させる。データ処理部337は、データ記憶部338に記憶させたデータの保存期限が超過する等、所定の削除条件に合致した場合に当該データをデータ記憶部338から削除する。データ処理部337は、図5のCPU301及びRAM303を利用して実現される。データ記憶部338は、図5のRAM303を利用して実現される。
プログラム記憶部336には、OCR処理プログラム、プレゼンテーションファイルからPDFやPDLを生成するプログラム、クライアント機器に利用させる中継サーバ(又は利用させない中継サーバ)を判定するアップロード先・ダウンロード元判定プログラム、その他の各種処理を実行するためのプログラムが記憶されている。プログラム記憶部236は、図5のHDD304を利用して実現される。
データ処理部337は、プログラム記憶部336から読み出されたプログラムを実行してデータを処理する。データ処理部337は、データを処理する過程で生成した中間データ、又はデータを処理した結果生成した最終データをデータ記憶部338に記憶させる。データ処理部337は、データ記憶部338に記憶させたデータの保存期限が超過する等、所定の削除条件に合致した場合に当該データをデータ記憶部338から削除する。データ処理部337は、図5のCPU301及びRAM303を利用して実現される。データ記憶部338は、図5のRAM303を利用して実現される。
プログラム記憶部336には、OCR処理プログラム、プレゼンテーションファイルからPDFやPDLを生成するプログラム、クライアント機器に利用させる中継サーバ(又は利用させない中継サーバ)を判定するアップロード先・ダウンロード元判定プログラム、その他の各種処理を実行するためのプログラムが記憶されている。プログラム記憶部236は、図5のHDD304を利用して実現される。
〔図8:モバイル機器の機能構成〕
図8は、モバイル機器の機能構成の一例を示すブロック図である。
クライアント機器となるモバイル機器100Bは例えばノートPCやスマートフォンであり、通信部121、通信制御部122、主制御部123、記憶部124、操作入力部135、表示部137、表示制御部136等を備える。
通信部121は、インターネットNを介して中継サーバ200や終端サーバ300との間でデータを送受信する。通信部121は、図5のネットワーク通信部308を利用して実現される。
通信制御部122は、通信部121を制御すると共に、通信部121が受信したデータを主制御部123へ転送する。通信制御部122は、図5のCPU301を利用して実現される。
主制御部123は、装置の各部の動作を制御する。主制御部123は、図5のCPU301を利用して実現される。
図8は、モバイル機器の機能構成の一例を示すブロック図である。
クライアント機器となるモバイル機器100Bは例えばノートPCやスマートフォンであり、通信部121、通信制御部122、主制御部123、記憶部124、操作入力部135、表示部137、表示制御部136等を備える。
通信部121は、インターネットNを介して中継サーバ200や終端サーバ300との間でデータを送受信する。通信部121は、図5のネットワーク通信部308を利用して実現される。
通信制御部122は、通信部121を制御すると共に、通信部121が受信したデータを主制御部123へ転送する。通信制御部122は、図5のCPU301を利用して実現される。
主制御部123は、装置の各部の動作を制御する。主制御部123は、図5のCPU301を利用して実現される。
記憶部124は、主制御部123が実行する各種のプログラムを記憶し、また、プログラムの実行により発生したデータや、クラウドにアップロードするデータ等を記憶する。記憶部236は、図5のRAM303及びHDD304を利用して実現される。
操作入力部135は、クラウドにログインするためのユーザ名やパスワード等を入力するためのユーザインターフェースである。操作入力部135は、図5のキーボード・マウス306を利用して実現される。
表示部137は、サーバから受信した各種の情報等、ユーザに対して提示するべき情報を表示制御部136の制御に基づいて表示する。表示部137は、図5のディスプレイ320を利用して実現される。表示制御部136は、図5のCPU301及びディスプレイ320を利用して実現される。
操作入力部135は、クラウドにログインするためのユーザ名やパスワード等を入力するためのユーザインターフェースである。操作入力部135は、図5のキーボード・マウス306を利用して実現される。
表示部137は、サーバから受信した各種の情報等、ユーザに対して提示するべき情報を表示制御部136の制御に基づいて表示する。表示部137は、図5のディスプレイ320を利用して実現される。表示制御部136は、図5のCPU301及びディスプレイ320を利用して実現される。
表2は、実際のファイルサイズの一例を示している。
図示するように、スキャン文書においては、カラーJPEGやOCR済みPDFに比べてモノクロTIFFやモノクロOCR結果のデータサイズの方が小さい。従って、例えば終端サーバ300Aに対してカラーJPEGデータを送信するよりも、モノクロTIFFに変換してから転送する方が、転送データ容量を小さくでき、全体の処理時間を短縮できると考えられる。
また、プレゼンテーション用文書においては、プレゼンテーションファイルや印刷用PDLに比べてPDFのデータサイズの方が小さい。従って、終端サーバ300Aに対しては、プレゼンテーションファイルや印刷用PDLをPDFに変換してから転送する方が、転送データ容量を小さくでき、全体の処理時間を短縮できると考えられる。
図示するように、スキャン文書においては、カラーJPEGやOCR済みPDFに比べてモノクロTIFFやモノクロOCR結果のデータサイズの方が小さい。従って、例えば終端サーバ300Aに対してカラーJPEGデータを送信するよりも、モノクロTIFFに変換してから転送する方が、転送データ容量を小さくでき、全体の処理時間を短縮できると考えられる。
また、プレゼンテーション用文書においては、プレゼンテーションファイルや印刷用PDLに比べてPDFのデータサイズの方が小さい。従って、終端サーバ300Aに対しては、プレゼンテーションファイルや印刷用PDLをPDFに変換してから転送する方が、転送データ容量を小さくでき、全体の処理時間を短縮できると考えられる。
〔図9:OCR処理のシーケンス図1(MFPに蓄積)〕
図9は、OCR処理の一例を示すシーケンス図である。なお、この図には、クライアント装置であるMFPからOCRの実行命令を送信した場合に、処理結果をMFPに返送する例を示している。
ステップS101において、ユーザは終端サーバ300Aに対する認証用のユーザ名とパスワードをMFP100Aの操作表示部125から入力する。
ステップS103において、MFP100Aの通信部121は、ユーザから入力されたユーザ名及びパスワードを、認証リクエスト(要求)と共に終端サーバ300Aに送信する。ここではユーザ名とパスワードにより認証をしているが、当然、ICカードでの認証や生体認証などの認証でもかまわない。
ステップS105において、認証リクエストを受信した終端サーバ300Aの認証制御部334は認証処理を実行して、認証リクエストに対するレスポンス(応答)を、通信部331を介してMFP100Aに送信する。認証に成功した場合、認証制御部334は認証チケットを発行し、レスポンスに認証チケットを含める。
図9は、OCR処理の一例を示すシーケンス図である。なお、この図には、クライアント装置であるMFPからOCRの実行命令を送信した場合に、処理結果をMFPに返送する例を示している。
ステップS101において、ユーザは終端サーバ300Aに対する認証用のユーザ名とパスワードをMFP100Aの操作表示部125から入力する。
ステップS103において、MFP100Aの通信部121は、ユーザから入力されたユーザ名及びパスワードを、認証リクエスト(要求)と共に終端サーバ300Aに送信する。ここではユーザ名とパスワードにより認証をしているが、当然、ICカードでの認証や生体認証などの認証でもかまわない。
ステップS105において、認証リクエストを受信した終端サーバ300Aの認証制御部334は認証処理を実行して、認証リクエストに対するレスポンス(応答)を、通信部331を介してMFP100Aに送信する。認証に成功した場合、認証制御部334は認証チケットを発行し、レスポンスに認証チケットを含める。
ステップS107において、MFP100Aは、通信部121を介して受信した認証結果を操作表示部125に表示させる。認証に成功した場合、MFP100Aは終端サーバ300Aへのログイン後の画面を操作表示部125に表示させて、ユーザからの次の操作を受け付ける。
ステップS109において、ユーザはMFP100Aのスキャナ部127に原稿文書を配置し、OCR処理を選択して画像をスキャニングする。本例の原稿文書はカラー文書であり、MFP100Aの処理によりカラーのスキャンデータ(カラー画像データ)が得られる。
ステップS111において、MFP100Aの主制御部123は、終端サーバ300Aに対して「カラーOCR」処理の場合のスキャンデータのアップロード先を、通信部121を介して問い合わせる。
ステップS109において、ユーザはMFP100Aのスキャナ部127に原稿文書を配置し、OCR処理を選択して画像をスキャニングする。本例の原稿文書はカラー文書であり、MFP100Aの処理によりカラーのスキャンデータ(カラー画像データ)が得られる。
ステップS111において、MFP100Aの主制御部123は、終端サーバ300Aに対して「カラーOCR」処理の場合のスキャンデータのアップロード先を、通信部121を介して問い合わせる。
ステップS113において、終端サーバ300Aのデータ処理制御部335は、アップロード先・ダウンロード元判定プログラムをプログラム記憶部336から読み出す。データ処理部337は読み出されたプログラムの実行によりアップロード先判定手段として機能する。データ処理部337は、データ処理の内容や、送信元MFPの位置情報等の判定条件に基づいて、スキャンデータのアップロード先を判定する。
ステップS115において、終端サーバ300Aのデータ処理部337は、通信部331を介してMFP100Aにスキャンデータのアップロード先を回答する。ここでは、MFP100AがJPにあることから、スキャンデータのアップロード先としてJPにある中継サーバ(mid.jp.example.com)を回答している。
ステップS117において、MFP100Aの主制御部123は通信部121を介して、終端サーバ300Aによりアップロード先として指定された中継サーバ200(mid.jp.example.com)に、カラーのスキャンデータ(カラーJPEG、20MB)と認証チケットを送信する。このとき、MFP100Aは処理がカラーOCRであること(POST/color_ocr)を中継サーバ200に伝える。
ステップS115において、終端サーバ300Aのデータ処理部337は、通信部331を介してMFP100Aにスキャンデータのアップロード先を回答する。ここでは、MFP100AがJPにあることから、スキャンデータのアップロード先としてJPにある中継サーバ(mid.jp.example.com)を回答している。
ステップS117において、MFP100Aの主制御部123は通信部121を介して、終端サーバ300Aによりアップロード先として指定された中継サーバ200(mid.jp.example.com)に、カラーのスキャンデータ(カラーJPEG、20MB)と認証チケットを送信する。このとき、MFP100Aは処理がカラーOCRであること(POST/color_ocr)を中継サーバ200に伝える。
ステップS119において、中継サーバ200の下流通信部231は、MFP100Aからカラーのスキャンデータと認証チケットを受信する。中継サーバ200の認証制御部234は、受信した認証チケットが正当なものか否かを終端サーバ300Aに問い合わせる。
ステップS121において、終端サーバ300Aの認証制御部334は認証チケットが正当か否かを確認し、確認結果を中継サーバ200に回答する。本例においては、認証チケットが正当であるため、以降のステップにおいて中継サーバ200による処理が続行される。
ステップS123において、中継サーバ200のデータ処理制御部235は、今回の処理がカラースキャンデータのOCR処理であることから、カラー・モノクロ分離/合成プログラムをプログラム記憶部236から読み出す。データ処理部237は読み出されたプログラムを実行して、カラースキャンデータのカラーデータとモノクロデータを分離する。なお、データ処理部237は、カラーデータを一時的にデータ記憶部238に記憶させておく。
ステップS121において、終端サーバ300Aの認証制御部334は認証チケットが正当か否かを確認し、確認結果を中継サーバ200に回答する。本例においては、認証チケットが正当であるため、以降のステップにおいて中継サーバ200による処理が続行される。
ステップS123において、中継サーバ200のデータ処理制御部235は、今回の処理がカラースキャンデータのOCR処理であることから、カラー・モノクロ分離/合成プログラムをプログラム記憶部236から読み出す。データ処理部237は読み出されたプログラムを実行して、カラースキャンデータのカラーデータとモノクロデータを分離する。なお、データ処理部237は、カラーデータを一時的にデータ記憶部238に記憶させておく。
ステップS125において、中継サーバ200のデータ処理部237は上流通信部232を介して、カラースキャンデータから分離されたモノクロ画像データ(モノクロTIFF、2MB)のみを終端サーバ300Aに認証チケットと共に送信する。終端サーバ300Aに送信されるモノクロ画像データはカラースキャンデータに比べて大幅に小さくなっているため、カラースキャンデータを転送する場合に比べて高速に転送される。
ステップS127において、終端サーバ300Aのデータ処理制御部335は、OCR処理プログラムをプログラム記憶部336から読み出す。データ処理部337は読み出されたプログラムを実行して、中継サーバ200から受信したモノクロ画像データに対してOCR処理を実行する。
ステップS129において、終端サーバ300Aのデータ処理部337は、通信部331を介してモノクロOCR処理の結果(中間データ)を中継サーバ200に返却する。
ステップS127において、終端サーバ300Aのデータ処理制御部335は、OCR処理プログラムをプログラム記憶部336から読み出す。データ処理部337は読み出されたプログラムを実行して、中継サーバ200から受信したモノクロ画像データに対してOCR処理を実行する。
ステップS129において、終端サーバ300Aのデータ処理部337は、通信部331を介してモノクロOCR処理の結果(中間データ)を中継サーバ200に返却する。
ステップS131において、中継サーバ200の上流通信部232はモノクロOCR処理の結果を受信する。データ処理部237は、カラー・モノクロ分離/合成プログラムを実行して、返却されたモノクロOCR結果とデータ記憶部238に一時的に記憶させたカラースキャンデータとを合成して、カラーOCR結果(最終データ)を生成する。
ステップS133において、中継サーバ200のデータ処理部237は下流通信部231を介して、カラーOCR結果をMFP100Aに返却する。
ステップS135において、MFP100Aの主制御部123は通信部121を介して受信したカラーOCR結果を記憶部124に蓄積する。ここでは、MFP100はリクエストに対するレスポンスをもってカラーOCR結果を得ているが、ポーリングにより定期的に中継サーバに問い合わせることでカラーOCR結果を得てもよい。
ステップS133において、中継サーバ200のデータ処理部237は下流通信部231を介して、カラーOCR結果をMFP100Aに返却する。
ステップS135において、MFP100Aの主制御部123は通信部121を介して受信したカラーOCR結果を記憶部124に蓄積する。ここでは、MFP100はリクエストに対するレスポンスをもってカラーOCR結果を得ているが、ポーリングにより定期的に中継サーバに問い合わせることでカラーOCR結果を得てもよい。
〔図10:OCR処理のシーケンス図2(クラウドサービスBに蓄積)〕
図10は、OCR処理の他の例を示すシーケンス図である。なお、この図には、クライアント装置であるMFPからOCRの実行命令を送信した場合に、処理結果を終端サーバB(クラウドサービスB)に蓄積する例を示している。
以下、図9の処理と同様の処理には、同一のステップ番号を付してその説明を省略する。
まず、終端サーバ300A(クラウドサービスA)へのログイン処理として、ステップS101〜ステップS107までが実行される。
ステップS201において、ユーザはMFP100Aのスキャナ部127に原稿文書を配置し、OCR処理とOCR結果のクラウドサービスBへのアップロード処理を選択して画像をスキャニングする。本例の原稿文書はカラー文書であり、カラーのスキャンデータが得られる。
続いて、ステップS111〜S115の処理が実行される。
図10は、OCR処理の他の例を示すシーケンス図である。なお、この図には、クライアント装置であるMFPからOCRの実行命令を送信した場合に、処理結果を終端サーバB(クラウドサービスB)に蓄積する例を示している。
以下、図9の処理と同様の処理には、同一のステップ番号を付してその説明を省略する。
まず、終端サーバ300A(クラウドサービスA)へのログイン処理として、ステップS101〜ステップS107までが実行される。
ステップS201において、ユーザはMFP100Aのスキャナ部127に原稿文書を配置し、OCR処理とOCR結果のクラウドサービスBへのアップロード処理を選択して画像をスキャニングする。本例の原稿文書はカラー文書であり、カラーのスキャンデータが得られる。
続いて、ステップS111〜S115の処理が実行される。
ステップS203において、MFP100Aの主制御部123は通信部121を介して、終端サーバ300Aによりアップロード先として指定された中継サーバ200(mid.jp.example.com)に、カラーのスキャンデータ(カラーJPEG、20MB)と認証チケットを送信する。このとき、MFP100Aは、処理がカラーOCRであり、最終蓄積先が終端サーバ300B(クラウドサービスB)であること(POST/color_ocr_cloud_b)を中継サーバ200に伝える。
続いて、ステップS119とS121の処理が実行される。
ステップS205において、中継サーバ200の認証制御部234は、終端サーバ300Aによる認証結果(認証OK)をMFP100Aに送信する。
続いて、ステップS123〜S131の処理が実行される。
続いて、ステップS119とS121の処理が実行される。
ステップS205において、中継サーバ200の認証制御部234は、終端サーバ300Aによる認証結果(認証OK)をMFP100Aに送信する。
続いて、ステップS123〜S131の処理が実行される。
ステップS207において、中継サーバ200のデータ処理部237は、上流通信部232を介してカラーOCR結果と認証チケットを終端サーバ300Bに送信する。このとき、中継サーバ200は、カラーOCR結果を蓄積する旨(POST /file_upload)を終端サーバ300に伝える。
ステップS208において、終端サーバ300Bの通信部331は、中継サーバ200から認証チケットとカラーOCR結果を受信して認証制御部334に受け渡す。認証制御部334は、認証チケットが正当か否かを確認する。認証チケットが正当である場合、データ処理制御部335は、カラーOCR結果をデータ記憶部338に蓄積させる。
ステップS209において、終端サーバ300Bのデータ処理制御部335は通信部331を介して、処理結果を中継サーバ200に回答する。
ステップS208において、終端サーバ300Bの通信部331は、中継サーバ200から認証チケットとカラーOCR結果を受信して認証制御部334に受け渡す。認証制御部334は、認証チケットが正当か否かを確認する。認証チケットが正当である場合、データ処理制御部335は、カラーOCR結果をデータ記憶部338に蓄積させる。
ステップS209において、終端サーバ300Bのデータ処理制御部335は通信部331を介して、処理結果を中継サーバ200に回答する。
〔図11:ファイルアップロード時の中継サーバのフローチャート〕
図11は、ファイルアップロード時の中継サーバの動作の一例を示したフローチャートである。このフローは、図9ではステップS119〜S133、図10ではステップS119〜S207に対応する処理を示すものである。前提として、図9のステップS117、図10のステップS203の処理により、クライアント機器(ここではMFP100A)から処理対象のデータを受信しているものとする。
ステップS301において、認証制御部234は、MFP100Aから認証チケットを受領しているか否かを確認する。受領していない場合(ステップS301にてNO)は、ステップS319の処理を実行する。受領している場合(ステップS301にてYES)は、ステップS303の処理を実行する。
ステップS303において、認証制御部234は、上流通信部232を介して終端サーバ300Aに対して認証チケットと共に、当該認証チケットが正当な認証チケットであるか否かの確認リクエストを送信する。
図11は、ファイルアップロード時の中継サーバの動作の一例を示したフローチャートである。このフローは、図9ではステップS119〜S133、図10ではステップS119〜S207に対応する処理を示すものである。前提として、図9のステップS117、図10のステップS203の処理により、クライアント機器(ここではMFP100A)から処理対象のデータを受信しているものとする。
ステップS301において、認証制御部234は、MFP100Aから認証チケットを受領しているか否かを確認する。受領していない場合(ステップS301にてNO)は、ステップS319の処理を実行する。受領している場合(ステップS301にてYES)は、ステップS303の処理を実行する。
ステップS303において、認証制御部234は、上流通信部232を介して終端サーバ300Aに対して認証チケットと共に、当該認証チケットが正当な認証チケットであるか否かの確認リクエストを送信する。
ステップS305において、認証制御部234は、終端サーバ300からの認証結果を判断する。認証NGの場合(ステップS305にてNO)は、ステップS319の処理を実行する。認証OKの場合(ステップS305にてYES)は、ステップS307の処理を実行する。
ステップS307において、中継サーバ200MFP100Aから受信したデータに対して、終端サーバ300Aへデータを送信するに当たっての前段階の中間処理(前中間処理)を実行する。このステップにおいてデータ処理制御部235は、クライアント機器から要求された処理の内容や、処理タイミングに応じて必要なプログラムをプログラム記憶部236から読み出す。データ処理部237は、読み出されたプログラムを実行して、MFP100Aから受信したデータに対して必要な処理を実行する。また、データ処理部237は、中間処理の結果生成されたデータを必要に応じてデータ記憶部238に記憶させる。
ステップS307において、中継サーバ200MFP100Aから受信したデータに対して、終端サーバ300Aへデータを送信するに当たっての前段階の中間処理(前中間処理)を実行する。このステップにおいてデータ処理制御部235は、クライアント機器から要求された処理の内容や、処理タイミングに応じて必要なプログラムをプログラム記憶部236から読み出す。データ処理部237は、読み出されたプログラムを実行して、MFP100Aから受信したデータに対して必要な処理を実行する。また、データ処理部237は、中間処理の結果生成されたデータを必要に応じてデータ記憶部238に記憶させる。
ステップS309において、データ処理部237は上流通信部232を介して、中間処理によって得られたデータを終端サーバ300Aに送信する。
ステップS311において、データ処理制御部235は、終端サーバ300Aから受信した処理結果を判断する。処理失敗である場合(ステップS311にてNO)は、ステップS319の処理を実行する。処理成功である場合(ステップS311にてYES)は、ステップS313の処理を実行する。
ステップS313において、中継サーバ200は、終端サーバ300Aから受信したデータに対して必要な中間処理(後中間処理)を実行する。このステップにおいてデータ処理制御部235は、クライアント機器から要求された処理の内容、終端サーバ300Aが実行した処理の内容、或いは処理タイミングに応じて必要なプログラムをプログラム記憶部236から読み出す。データ処理部237は、読み出されたプログラムを実行して、終端サーバ300Aから受信したデータに対して必要な処理を実行する。データ処理部237は、処理の結果生成した最終データをデータ処理制御部235に受け渡す。
ステップS311において、データ処理制御部235は、終端サーバ300Aから受信した処理結果を判断する。処理失敗である場合(ステップS311にてNO)は、ステップS319の処理を実行する。処理成功である場合(ステップS311にてYES)は、ステップS313の処理を実行する。
ステップS313において、中継サーバ200は、終端サーバ300Aから受信したデータに対して必要な中間処理(後中間処理)を実行する。このステップにおいてデータ処理制御部235は、クライアント機器から要求された処理の内容、終端サーバ300Aが実行した処理の内容、或いは処理タイミングに応じて必要なプログラムをプログラム記憶部236から読み出す。データ処理部237は、読み出されたプログラムを実行して、終端サーバ300Aから受信したデータに対して必要な処理を実行する。データ処理部237は、処理の結果生成した最終データをデータ処理制御部235に受け渡す。
ステップS315において、データ処理制御部235は、ステップS313による処理の結果生成された最終データを他の装置に転送する必要があるか否かを判断する。転送の必要がない場合(ステップS315にてNO)は、必要に応じて最終データをデータ記憶部238に記憶させた後、処理を終了する。転送の必要がある場合(ステップS315にてYES)は、ステップS317の処理を実行する。
ステップS317において、データ処理制御部235は、上流通信部232又は下流通信部231を介して、最終データをMFP100Aや他の終端サーバ300Bへ送信する。
ステップS319において、下流通信部231は、MFP100Aに対してエラーメッセージを送信する。
ステップS317において、データ処理制御部235は、上流通信部232又は下流通信部231を介して、最終データをMFP100Aや他の終端サーバ300Bへ送信する。
ステップS319において、下流通信部231は、MFP100Aに対してエラーメッセージを送信する。
表3は、クライアント機器又はクライアント機器として動作する終端サーバから中継サーバに対して要求される処理の種別と、中継サーバが実行する処理の実施タイミング及び処理内容の例を示した対応表である。本図には、図11のステップS307、S313にて実行される中間処理と最終処理の一例を示す。なお、対応表において「処理の種別」は中継サーバのサービスを提供しているパスとして表現している。本図においては、各項目の対応関係をデータ記憶部に記憶させるテーブルの形式にて表現しているが、各項目をプログラムによる演算によって対応づけるようにしてもよい。また、「終端サーバへ送信前」の処理は中間処理を示し、「終端サーバから受信後」の処理は最終処理を示す。
クライアント機器であるMFPから要求される処理の種別がカラー画像に対するOCR処理(処理によって生成される最終データの送信先がMFP又はクラウドサービスBを提供する終端サーバB)である場合について説明する。この場合、MFPから中継サーバに対してカラー画像が送信される。中継サーバは、終端サーバAへデータを送信する前のタイミングで、カラー画像に対してカラー・モノクロ変換処理とカラー・モノクロ分離処理を実行する。中継サーバはカラー画像データよりも容量の小さいモノクロ画像データを生成して、終端サーバAに転送する。OCR処理にはモノクロ画像があれば足りるので、中継サーバの処理により、終端サーバAに転送するデータ容量を削減してデータ転送時間を短縮している。
また、終端サーバAは、受信したモノクロ画像にOCR処理を施して、処理結果を中継サーバに転送する。中継サーバは、終端サーバAからOCR結果を受信した後のタイミングで、OCR結果にカラー画像を合成した最終データを生成して、MFP又は終端サーバBへ転送する。表2に示したように終端サーバAが送信するOCR結果も、カラー画像にOCR結果を重畳したPDFファイルに比べてデータ容量が小さいため、終端サーバA−中継サーバ間のデータ転送時間を大幅に短縮できる。
また、終端サーバAは、受信したモノクロ画像にOCR処理を施して、処理結果を中継サーバに転送する。中継サーバは、終端サーバAからOCR結果を受信した後のタイミングで、OCR結果にカラー画像を合成した最終データを生成して、MFP又は終端サーバBへ転送する。表2に示したように終端サーバAが送信するOCR結果も、カラー画像にOCR結果を重畳したPDFファイルに比べてデータ容量が小さいため、終端サーバA−中継サーバ間のデータ転送時間を大幅に短縮できる。
カラーOCR処理では、データ容量削減のために中継サーバがカラー・モノクロ分離処理を実行するが、中継サーバが図11のステップS307,S313において実行する処理は、クライアント機器が要求する処理、即ちクラウド上で動作するアプリケーションの目的とタイミングに応じて変化する。
例えば、クライアント機器が中継サーバに対してテレビ会議システムに関する処理を要求する場合、中継サーバは、国内の通信相手に対しては画像解像度(画素数)と時間解像度(フレーム数)が共に高解像度となる映像データを配信する。一方で、海外の通信相手に対しては画像解像度(フレーム画像の画素数)又は時間解像度(フレーム数)を低解像度に変換した映像データを生成して終端サーバAへ転送することが考えられる。このように、通信相手に対して送信する映像データが低解像度で十分な場合は、映像データを低解像度化することでデータ容量を大幅に削減し、転送時間を短縮できる。
例えば、クライアント機器が中継サーバに対して、送信する文書(データ)について存在時刻と非改ざん性を証明するタイムスタンプに関する処理を要求する場合、中継サーバは送信された文書からタイムスタンプの発行に必要なhash値を取得する。中継サーバは、文書を送信する代わりにデータ容量の小さいhash値を終端サーバAに送信することによって、データ転送時間を短縮する。
例えば、クライアント機器が中継サーバに対してテレビ会議システムに関する処理を要求する場合、中継サーバは、国内の通信相手に対しては画像解像度(画素数)と時間解像度(フレーム数)が共に高解像度となる映像データを配信する。一方で、海外の通信相手に対しては画像解像度(フレーム画像の画素数)又は時間解像度(フレーム数)を低解像度に変換した映像データを生成して終端サーバAへ転送することが考えられる。このように、通信相手に対して送信する映像データが低解像度で十分な場合は、映像データを低解像度化することでデータ容量を大幅に削減し、転送時間を短縮できる。
例えば、クライアント機器が中継サーバに対して、送信する文書(データ)について存在時刻と非改ざん性を証明するタイムスタンプに関する処理を要求する場合、中継サーバは送信された文書からタイムスタンプの発行に必要なhash値を取得する。中継サーバは、文書を送信する代わりにデータ容量の小さいhash値を終端サーバAに送信することによって、データ転送時間を短縮する。
同様に、例えば、クライアント機器が中継サーバに対して、送信する画像(データ)を元に、類似する画像の検索、又は、画像中の特定物の検索に関する処理等を要求する場合、中継サーバは送信された画像から画像の検索に必要な画像の特徴量を抽出する。中継サーバは、画像を送信する代わりにデータ容量の小さい特徴量を終端サーバAに送信することによって、データ転送時間を短縮する。
或いは、クライアント機器が中継サーバに対して、送信するデータに関して異常検知を要求する場合、中継サーバは送信されたデータから異常の検知に必要な特徴量を抽出する。中継サーバは、データ容量の小さい特徴量を終端サーバAに送信することによって、データ転送時間を短縮する。
更に、終端サーバAが異常検知処理によりデータに異常を発見した場合、より詳細なデータ解析を実行するべく、終端サーバAが中継サーバに対して中間処理実行前のデータを送信するように要求してもよい。この場合、中継サーバはクライアント機器から受信した未加工のデータをそのまま終端サーバAへ送信してもよい。或いは、未加工のデータから異常部分を含む所定範囲のデータを抽出して送信してもよい。表3には、データの解析対象が映像データであり、異常が検知された前後100秒間のデータを切り出して終端サーバAへ送信する処理例を示している。
中継サーバに対して要求される処理が印刷中間ファイル蓄積である場合の例については、図14以降で詳細に説明するため、ここでの説明は省略する。
或いは、クライアント機器が中継サーバに対して、送信するデータに関して異常検知を要求する場合、中継サーバは送信されたデータから異常の検知に必要な特徴量を抽出する。中継サーバは、データ容量の小さい特徴量を終端サーバAに送信することによって、データ転送時間を短縮する。
更に、終端サーバAが異常検知処理によりデータに異常を発見した場合、より詳細なデータ解析を実行するべく、終端サーバAが中継サーバに対して中間処理実行前のデータを送信するように要求してもよい。この場合、中継サーバはクライアント機器から受信した未加工のデータをそのまま終端サーバAへ送信してもよい。或いは、未加工のデータから異常部分を含む所定範囲のデータを抽出して送信してもよい。表3には、データの解析対象が映像データであり、異常が検知された前後100秒間のデータを切り出して終端サーバAへ送信する処理例を示している。
中継サーバに対して要求される処理が印刷中間ファイル蓄積である場合の例については、図14以降で詳細に説明するため、ここでの説明は省略する。
このように、クラウド上で動作するアプリケーションに応じて、また、データの処理タイミング(既に施されているデータに対する処理の内容)に応じて最適な中間処理を実施することで、単純なデータ圧縮を実行するよりもデータ容量を削減できる。もちろん、データ容量の削減の際には、汎用的なアルゴリズムを適用して単純なデータ圧縮を実施してもよい。データ容量を削減することによって、終端サーバへのデータ転送時間を短縮することができるので、クラウドを利用する処理の総処理時間を短縮することができる。
また、中継サーバは、クライアント機器から受信したデータを終端サーバAに転送する際に、クライアント機器から必要なデータの全てを受信した後に中間処理を実行し、処理後のデータを終端サーバAに転送するようにしてもよい。或いは、中継サーバは、クライアント機器から必要なデータを受信しながら該データの中間処理を実行し、処理後のデータを順次終端サーバAへ転送するように動作してもよい。もちろん、中継サーバが終端サーバAから受信したデータを処理してクライアント機器に転送する場合も、上記と同様に動作してよい。
また、中継サーバは、クライアント機器から受信したデータを終端サーバAに転送する際に、クライアント機器から必要なデータの全てを受信した後に中間処理を実行し、処理後のデータを終端サーバAに転送するようにしてもよい。或いは、中継サーバは、クライアント機器から必要なデータを受信しながら該データの中間処理を実行し、処理後のデータを順次終端サーバAへ転送するように動作してもよい。もちろん、中継サーバが終端サーバAから受信したデータを処理してクライアント機器に転送する場合も、上記と同様に動作してよい。
〔図12:アップロード時の終端サーバAのフローチャート〕
図12は、クライアント機器から中継サーバにファイルをアップロードする場合の終端サーバの動作を示したフローチャートである。図12のフローは、図9、図10のステップS111〜S115に対応する処理を示したものである。
ステップS331において、認証制御部334は、クライアント機器(例えばMFP100A)から認証チケットを受領しているか否かを確認する。受領していない場合(ステップS331にてNO)は、ステップS339の処理を実行する。受領している場合(ステップS331にてYES)は、ステップS333の処理を実行する。
ステップS333において、認証制御部334は、認証チケットが正当なものであるか否かを判断する。認証チケットが正当でない場合(ステップS333にてNO)は、ステップS339の処理を実行する。認証チケットが正当である場合(ステップS333にてYES)は、ステップS335の処理を実行する。
図12は、クライアント機器から中継サーバにファイルをアップロードする場合の終端サーバの動作を示したフローチャートである。図12のフローは、図9、図10のステップS111〜S115に対応する処理を示したものである。
ステップS331において、認証制御部334は、クライアント機器(例えばMFP100A)から認証チケットを受領しているか否かを確認する。受領していない場合(ステップS331にてNO)は、ステップS339の処理を実行する。受領している場合(ステップS331にてYES)は、ステップS333の処理を実行する。
ステップS333において、認証制御部334は、認証チケットが正当なものであるか否かを判断する。認証チケットが正当でない場合(ステップS333にてNO)は、ステップS339の処理を実行する。認証チケットが正当である場合(ステップS333にてYES)は、ステップS335の処理を実行する。
ステップS335において、データ処理制御部335は、クライアント機器のIPアドレスに基づいて、クライアント機器の位置情報を取得する。
ステップS350において、データ処理部337は、サブルーチン「最適アップロード先判定処理」を実行する。サブルーチンの詳細については、図13にて説明する。
ステップS337において、データ処理部337は、ステップS350の処理により得られた、データの最適なアップロード先の情報(サーバのDNS名)をクライアント機器に回答する。
ステップS339において、通信部331は、MFP100Aに対してエラーメッセージを送信する。
ステップS350において、データ処理部337は、サブルーチン「最適アップロード先判定処理」を実行する。サブルーチンの詳細については、図13にて説明する。
ステップS337において、データ処理部337は、ステップS350の処理により得られた、データの最適なアップロード先の情報(サーバのDNS名)をクライアント機器に回答する。
ステップS339において、通信部331は、MFP100Aに対してエラーメッセージを送信する。
〔処理内容によるアップロード先、ダウンロード元の判定〕
図12のステップS350に示した最適アップロード先の判定方法について説明する。
図12のステップS350に示した最適アップロード先の判定方法について説明する。
表4に示すように、最適アップロード先又は最適ダウンロード元となるサーバは、クライアント機器が要求する処理内容に応じて終端サーバ又は複数の中継サーバの中から最適なサーバが判定される。
例えば、処理内容がスキャン−カラーOCRであって、処理対象データの容量が小さい場合(例:500KB未満)は、データ容量が小さく転送遅延が少ないことから、最適アップロード先は終端サーバ300A自身と判定される。処理内容が同じであっても、処理対象データの容量が大きい場合(例:500KB以上)は、データ容量が大きく転送遅延が大きいことから、最適アップロード先は中継サーバと判定される。中継サーバが選択された場合、更に複数の中継サーバから最適な中継サーバが自動的に選択される。
例えば、処理内容がスキャン−カラーOCRであって、処理対象データの容量が小さい場合(例:500KB未満)は、データ容量が小さく転送遅延が少ないことから、最適アップロード先は終端サーバ300A自身と判定される。処理内容が同じであっても、処理対象データの容量が大きい場合(例:500KB以上)は、データ容量が大きく転送遅延が大きいことから、最適アップロード先は中継サーバと判定される。中継サーバが選択された場合、更に複数の中継サーバから最適な中継サーバが自動的に選択される。
以下、複数の中継サーバから最適な中継サーバを自動選択する方法について説明する。
最適アップロード先又は最適ダウンロード元となる中継サーバとして、データ送信元のIPアドレス(クライアント機器の物理的位置)に基づいて、データ送信元から近い場所に設置された中継サーバを選択することができる。
例えば、クライアント機器のIPアドレスが「192.0.2.3」の場合、クライアント機器の位置は、国:JP、都市:Tokyoであるので、仮に中継サーバがJPとUSにある場合は、JPに設置された中継サーバを選択することができる。利用可能な中継サーバは複数が選択されてもよい。例えば、クライアント機器のIPアドレスが「203.0.113.5」(国:GB、都市:London)の場合には、JPの中継サーバとUSの中継サーバの双方を選択することができる。
例えば、クライアント機器のIPアドレスが「192.0.2.3」の場合、クライアント機器の位置は、国:JP、都市:Tokyoであるので、仮に中継サーバがJPとUSにある場合は、JPに設置された中継サーバを選択することができる。利用可能な中継サーバは複数が選択されてもよい。例えば、クライアント機器のIPアドレスが「203.0.113.5」(国:GB、都市:London)の場合には、JPの中継サーバとUSの中継サーバの双方を選択することができる。
最適アップロード先又は最適ダウンロード元となる中継サーバとして、ユーザが予め利用位置情報を登録している場合には、登録された利用位置情報に基づいて、当該位置から近い場所に設置された中継サーバを選択することができる。
例えば、ユーザID「user0001」のユーザについては、利用位置情報として「利用国:JP、利用都市:Tokyo」が登録されているので、仮に中継サーバがJPとUSにある場合は、JPに設置された中継サーバを選択することができる。この場合も、利用可能な中継サーバは複数が選択されてもよい。また、ここでは絶対的に利用国、利用都市を登録しているが、ユーザの設定するタイムゾーン設定などから推定してもよい。
例えば、ユーザID「user0001」のユーザについては、利用位置情報として「利用国:JP、利用都市:Tokyo」が登録されているので、仮に中継サーバがJPとUSにある場合は、JPに設置された中継サーバを選択することができる。この場合も、利用可能な中継サーバは複数が選択されてもよい。また、ここでは絶対的に利用国、利用都市を登録しているが、ユーザの設定するタイムゾーン設定などから推定してもよい。
最適アップロード先又は最適ダウンロード元となる中継サーバとして、ユーザのサービス利用履歴データから、当該ユーザが多く利用している中継サーバがある場合は、最後に利用した中継サーバや利用頻度の高い中継サーバを選択することができる。この場合も、利用可能な中継サーバは複数が選択されてもよい。
例えば、ユーザID「user0003」のユーザについては、複数の国を拠点としてクラウドサービスを利用しているが、利用頻度はUSよりもJPの方が多いので、JPに設置された中継サーバを選択することができる。
例えば、ユーザID「user0003」のユーザについては、複数の国を拠点としてクラウドサービスを利用しているが、利用頻度はUSよりもJPの方が多いので、JPに設置された中継サーバを選択することができる。
以上のようにして選択された中継サーバがメンテナンス中等の要因によりで利用できない場合は、他の中継サーバ又は終端サーバを選択することができる。
例えば、中継サーバとして「med.fr.example.com」(設置国:FR:仏国)が最適と判定されたが、当該中継サーバが定期メンテナンス中である場合には、当該中継サーバから最も近い他のonlineな中継サーバ又は終端サーバを選択することができる。
例えば、中継サーバとして「med.fr.example.com」(設置国:FR:仏国)が最適と判定されたが、当該中継サーバが定期メンテナンス中である場合には、当該中継サーバから最も近い他のonlineな中継サーバ又は終端サーバを選択することができる。
更に、以上のようにして選択された中継サーバが非常に混雑していて、中継サーバでの処理に時間を要することが見込まれる場合は、他の中継サーバ又は終端サーバを選択することができる。
例えば、中継サーバとして「med.fr.example.com」(設置国:FR:仏国)が最適と判定されたが、当該中継サーバが非常に混雑している場合には、当該中継サーバから最も近い他の空いている中継サーバ又は終端サーバを選択することができる。この選択には複数の要素の値(混雑度、距離など)にそれぞれ重みをつけ、計算により求めることができる。
例えば、中継サーバとして「med.fr.example.com」(設置国:FR:仏国)が最適と判定されたが、当該中継サーバが非常に混雑している場合には、当該中継サーバから最も近い他の空いている中継サーバ又は終端サーバを選択することができる。この選択には複数の要素の値(混雑度、距離など)にそれぞれ重みをつけ、計算により求めることができる。
〈図13:最適アップロード先判定処理〉
図13は、図12のサブルーチン「最適アップロード先判定処理」を示すフローチャートである。図13のフローは、図9、図10のステップS113に対応する処理を示したものである。なお、このサブルーチンはデータ処理制御部335がプログラム記憶部336に記憶されている「アップロード先・ダウンロード元判定プログラム」を読み出してデータ処理部337にて実行するものである。
図13は、図12のサブルーチン「最適アップロード先判定処理」を示すフローチャートである。図13のフローは、図9、図10のステップS113に対応する処理を示したものである。なお、このサブルーチンはデータ処理制御部335がプログラム記憶部336に記憶されている「アップロード先・ダウンロード元判定プログラム」を読み出してデータ処理部337にて実行するものである。
ステップS351において、データ処理部337は、クライアント機器が要求する処理の内容(表4)に基づいてデータのアップロード先となるサーバを選択する。
ステップS353において、データ処理部337は、データのアップロード先として終端サーバが選択されているか否かを確認する。終端サーバが選択されている場合(ステップS353にてYES)は、処理を終了する。終端サーバが選択されていない場合、即ち中継サーバを自動で選択する必要がある場合(ステップS353にてNO)は、ステップS355の処理を実行する。
ステップS355において、データ処理部337は、送信元情報(表5)に基づいてアップロード先となる中継サーバを選択する。
ステップS353において、データ処理部337は、データのアップロード先として終端サーバが選択されているか否かを確認する。終端サーバが選択されている場合(ステップS353にてYES)は、処理を終了する。終端サーバが選択されていない場合、即ち中継サーバを自動で選択する必要がある場合(ステップS353にてNO)は、ステップS355の処理を実行する。
ステップS355において、データ処理部337は、送信元情報(表5)に基づいてアップロード先となる中継サーバを選択する。
ステップS357において、データ処理部337は、利用者設定があるか否かを確認する。利用者設定がある場合(ステップS357にてYES)は、ステップS359の処理を実行する。利用者設定がない場合(ステップS357にてNO)は、ステップS361の処理を実行する。
ステップS359において、データ処理部337は、利用者設定データ(表6)に基づいてアップロード先となる中継サーバを選択する。
ステップS361において、データ処理部337は、利用者履歴データが存在するか否かを確認する。利用者履歴データが存在する場合(ステップS361にてYES)は、ステップS363の処理を実行する。利用者履歴データが存在しない場合(ステップS361にてNO)は、ステップS365の処理を実行する。
ステップS359において、データ処理部337は、利用者設定データ(表6)に基づいてアップロード先となる中継サーバを選択する。
ステップS361において、データ処理部337は、利用者履歴データが存在するか否かを確認する。利用者履歴データが存在する場合(ステップS361にてYES)は、ステップS363の処理を実行する。利用者履歴データが存在しない場合(ステップS361にてNO)は、ステップS365の処理を実行する。
ステップS363において、データ処理部337は、利用者履歴データ(表7)に基づいてアップロード先となる中継サーバを選択する。
ステップS365において、データ処理部337は、メンテナンス情報があるか否かを確認する。メンテナンス情報がある場合(ステップS365にてYES)は、ステップS363の処理を実行する。メンテナンス情報がない場合(ステップS365にてNO)は、ステップS365の処理を実行する。
ステップS367において、データ処理部337は、メンテナンス情報(表8)に基づいて中継サーバ又は終端サーバをアップロード先として選択する。
ステップS369において、データ処理部337は、中継サーバ混雑情報(表9)に基づいて中継サーバ又は終端サーバをアップロード先として選択する。
ステップS365において、データ処理部337は、メンテナンス情報があるか否かを確認する。メンテナンス情報がある場合(ステップS365にてYES)は、ステップS363の処理を実行する。メンテナンス情報がない場合(ステップS365にてNO)は、ステップS365の処理を実行する。
ステップS367において、データ処理部337は、メンテナンス情報(表8)に基づいて中継サーバ又は終端サーバをアップロード先として選択する。
ステップS369において、データ処理部337は、中継サーバ混雑情報(表9)に基づいて中継サーバ又は終端サーバをアップロード先として選択する。
図9と図10に示したフローチャートにおいては、終端サーバ300Aがアップロード先となるサーバを選択し、選択したサーバの情報(DNS名)をクライアント機器であるMFP100Aに回答している。これは、終端サーバ300Aがクラウドサービス(ここではスキャンサービス)の終端サーバであり、且つ、MFP100Aへデータのアップロード先を指示するコントロールサーバの2つの役割を併せ持っていることを示している。ただし、この2つの役割は同一のサーバに配置されている必要はなく、それぞれが別のサーバ上で動作していてもよい。
〔図14:印刷ファイルのアップロード時のシーケンス図〕
図14は、印刷ファイルをモバイル機器からサーバにアップロードする場合の処理の一例を示すシーケンス図である。このシーケンス図は、例えば、クラウド上に保存されたファイルをMFP等が印刷するに際して、印刷対象のファイルを事前にクライアント機器であるノートPCやスマートフォン等のモバイル機器からクラウド上にアップロードする場合の処理の一例を示している。
以下、図9及び図10の処理と同様の処理には、同一のステップ番号を付してその説明を省略する。
図14は、印刷ファイルをモバイル機器からサーバにアップロードする場合の処理の一例を示すシーケンス図である。このシーケンス図は、例えば、クラウド上に保存されたファイルをMFP等が印刷するに際して、印刷対象のファイルを事前にクライアント機器であるノートPCやスマートフォン等のモバイル機器からクラウド上にアップロードする場合の処理の一例を示している。
以下、図9及び図10の処理と同様の処理には、同一のステップ番号を付してその説明を省略する。
まず、終端サーバ300A(クラウドサービスA)へのログイン処理として、ステップS101〜ステップS107までが実行される。
ステップS401において、ユーザはファイルを特定して、クラウドサービスへの印刷ファイルのアップロード処理を選択する。本例の印刷ファイルはプレゼンテーションファイルである。
ステップS403において、モバイル機器100Bの主制御部123は、終端サーバ300Aに対して認証チケットと共に、処理対象となるプレゼンテーションファイルを送信する。このとき、モバイル機器100Bは、処理が印刷対象ファイルのアップロードであること(POST /print_upload:データのアップロード要求)を終端サーバ300に伝える。
ステップS405において、終端サーバ300Aの認証制御部334は認証チケットが正当か否かを確認する。認証チケットが正当でありファイルアップロードが成功した場合には、処理が成功したこと(OK)をモバイル機器100Bに伝える。
ステップS407において、モバイル機器100Bの表示制御部136は、通信部121を介して受信した処理結果を表示部137に表示させる。本処理においてモバイル機器100Bは直接中継サーバ200と通信することはなく、終端サーバ300Aにファイルをアップロードした段階でモバイル機器100Bの処理は完了する。
ステップS401において、ユーザはファイルを特定して、クラウドサービスへの印刷ファイルのアップロード処理を選択する。本例の印刷ファイルはプレゼンテーションファイルである。
ステップS403において、モバイル機器100Bの主制御部123は、終端サーバ300Aに対して認証チケットと共に、処理対象となるプレゼンテーションファイルを送信する。このとき、モバイル機器100Bは、処理が印刷対象ファイルのアップロードであること(POST /print_upload:データのアップロード要求)を終端サーバ300に伝える。
ステップS405において、終端サーバ300Aの認証制御部334は認証チケットが正当か否かを確認する。認証チケットが正当でありファイルアップロードが成功した場合には、処理が成功したこと(OK)をモバイル機器100Bに伝える。
ステップS407において、モバイル機器100Bの表示制御部136は、通信部121を介して受信した処理結果を表示部137に表示させる。本処理においてモバイル機器100Bは直接中継サーバ200と通信することはなく、終端サーバ300Aにファイルをアップロードした段階でモバイル機器100Bの処理は完了する。
ステップS409において、終端サーバ300Aのデータ処理制御部335は、アップロード先・ダウンロード元判定プログラムをプログラム記憶部336から読み出す。データ処理部337は読み出されたプログラムの実行によりアップロード先判定手段として機能する。データ処理部337は、モバイル機器100Bの位置情報やユーザ情報等の判定条件に基づいて、印刷ファイルを印刷するMFP100Aの位置を予測し、当該位置のMFP100Aにとって最適な印刷ファイルのアップロード先(MFP100Aから見て印刷ファイルのダウンロード元)となるサーバを判定する。この例では、JPにある中継サーバ200が選択されている。
ステップS411において、終端サーバ300Aのデータ処理部337は必要に応じて、アップロードされた印刷ファイルに対して中間処理を実行する。例えば、終端サーバ300Aが国を跨がって印刷ファイルを中継サーバ200に対してアップロードする場合は、データ容量を削減して処理時間を短縮することが望ましい。ここで表2に示したように、プレゼンテーションファイル形式や印刷用PDL形式よりも、PDF形式の方がデータ容量を削減できる。そこで、データ処理部337はプレゼンテーションファイルをPDF形式のファイルに変換してデータ容量を削減する処理を実行する。なお、本ステップの処理は、例えば終端サーバ300Aと中継サーバ200が同一国内に存在するなど、データ容量を削減する必要がないと判断される場合には、省略することができる。
ステップS411において、終端サーバ300Aのデータ処理部337は必要に応じて、アップロードされた印刷ファイルに対して中間処理を実行する。例えば、終端サーバ300Aが国を跨がって印刷ファイルを中継サーバ200に対してアップロードする場合は、データ容量を削減して処理時間を短縮することが望ましい。ここで表2に示したように、プレゼンテーションファイル形式や印刷用PDL形式よりも、PDF形式の方がデータ容量を削減できる。そこで、データ処理部337はプレゼンテーションファイルをPDF形式のファイルに変換してデータ容量を削減する処理を実行する。なお、本ステップの処理は、例えば終端サーバ300Aと中継サーバ200が同一国内に存在するなど、データ容量を削減する必要がないと判断される場合には、省略することができる。
ステップS413において、データ処理部337は、ステップS409にて判定した中継サーバ200に対して中間処理後のPDFファイルをアップロードする。このとき、データ処理部337は、PDLファイルを蓄積するように(POST /print_mid_file)中継サーバ200に伝える。
ステップS415において、中継サーバ200のデータ処理制御部235は、ファイルアップロードが成功した場合には、処理が成功したこと(OK)を終端サーバ300Aに伝える。
ステップS416において、終端サーバ300Aのデータ処理部337は、ファイルをアップロードしたサーバのリスト(アップロード先・ダウンロード元リスト)を更新して、データ記憶部338に記憶させる。
ステップS415において、中継サーバ200のデータ処理制御部235は、ファイルアップロードが成功した場合には、処理が成功したこと(OK)を終端サーバ300Aに伝える。
ステップS416において、終端サーバ300Aのデータ処理部337は、ファイルをアップロードしたサーバのリスト(アップロード先・ダウンロード元リスト)を更新して、データ記憶部338に記憶させる。
ステップS417において、中継サーバ200は、終端サーバ300Aから受信したデータに対して最終処理(表3)を実施する。即ち、データ処理制御部235はプログラム記憶部236からPDF−PDL変換プログラムを読み出す。データ処理部337は、読み出されたプログラムを実行して、受信したPDFファイルをPDLファイル(最終データ)に変換する。
ステップS419において、中継サーバ200のデータ処理部237は、生成されたPDLファイルをデータ記憶部238に記憶させる(表3参照)。
ステップS419において、中継サーバ200のデータ処理部237は、生成されたPDLファイルをデータ記憶部238に記憶させる(表3参照)。
以上のように、終端サーバにてPDFデータを生成して中継サーバに送信することで、終端サーバ−中継サーバ間で送受信されるデータの容量を削減でき、ファイルの転送時間と総処理時間を短縮できる。また、プレゼンテーションファイルからPDFを介したとしても、品質を損なうことなくPDLデータ等の印刷データを生成できる。上記処理において汎用的な処理を利用することによって、プログラムの利用ライセンスに関わる費用を抑制できる。
〔図15:印刷ファイルのダウンロード時のシーケンス図〕
図15は、クラウド上に保存された印刷ファイルをダウンロードして印刷する場合の処理の一例を示すシーケンス図である。このシーケンス図は、図14に示した処理により、クラウド上に保存されたファイルをMFP等が印刷する場合の処理の一例を示している。
以下、図9、図10、及び図14の処理と同様の処理には、同一のステップ番号を付してその説明を省略する。
図15は、クラウド上に保存された印刷ファイルをダウンロードして印刷する場合の処理の一例を示すシーケンス図である。このシーケンス図は、図14に示した処理により、クラウド上に保存されたファイルをMFP等が印刷する場合の処理の一例を示している。
以下、図9、図10、及び図14の処理と同様の処理には、同一のステップ番号を付してその説明を省略する。
まず、終端サーバ300A(クラウドサービスA)へのログイン処理として、ステップS101〜ステップS107までが実行される。
ステップS501において、ユーザはMFP100Aの操作・表示部から、クラウド上に保存された印刷可能文書の一覧取得処理を選択する。
ステップS503において、MFP100Aの主制御部123は、終端サーバ300Aに対して認証チケットを送信し、印刷可能文書の一覧を要求する(GET /printable_list)。
ステップS505において、終端サーバ300Aの認証制御部334は認証チケットが正当か否かを確認する。認証チケットが正当である場合は、MFP100Aに対して印刷可能文書一覧を返す。
ステップS507において、MFP100Aは、操作表示部125に終端サーバ300Aから受信した印刷可能文書一覧を表示する。
ステップS509において、ユーザは操作表示部125から、印刷可能文書一覧中のファイルを特定して、当該ファイルの印刷処理を選択する。
ステップS501において、ユーザはMFP100Aの操作・表示部から、クラウド上に保存された印刷可能文書の一覧取得処理を選択する。
ステップS503において、MFP100Aの主制御部123は、終端サーバ300Aに対して認証チケットを送信し、印刷可能文書の一覧を要求する(GET /printable_list)。
ステップS505において、終端サーバ300Aの認証制御部334は認証チケットが正当か否かを確認する。認証チケットが正当である場合は、MFP100Aに対して印刷可能文書一覧を返す。
ステップS507において、MFP100Aは、操作表示部125に終端サーバ300Aから受信した印刷可能文書一覧を表示する。
ステップS509において、ユーザは操作表示部125から、印刷可能文書一覧中のファイルを特定して、当該ファイルの印刷処理を選択する。
ステップS511において、MFP100Aの主制御部123は、終端サーバ300Aに対して認証チケットを送信すると共に、ファイルIDを指定して印刷するべきファイルのダウンロード元(ファイルが保存されているサーバの場所)を問い合わせる(GET /download_src)。
ステップS513において、終端サーバ300Aは、ファイルのダウンロード元を判定する。即ち、終端サーバ300Aのデータ処理制御部335は、アップロード先・ダウンロード元判定プログラムをプログラム記憶部336から読み出す。データ処理部337は読み出されたプログラムの実行によりダウンロード元判定手段として機能する。データ処理部337はモバイル機器100Bの位置情報やユーザ情報等の判定条件に基づいて、印刷ファイルを印刷するMFP100Aの位置を予測し、当該位置のMFP100Aにとって最適な印刷ファイルのダウンロード元となるサーバを判定する。この例では、JPにある中継サーバ200が選択されている。
ステップS513において、終端サーバ300Aは、ファイルのダウンロード元を判定する。即ち、終端サーバ300Aのデータ処理制御部335は、アップロード先・ダウンロード元判定プログラムをプログラム記憶部336から読み出す。データ処理部337は読み出されたプログラムの実行によりダウンロード元判定手段として機能する。データ処理部337はモバイル機器100Bの位置情報やユーザ情報等の判定条件に基づいて、印刷ファイルを印刷するMFP100Aの位置を予測し、当該位置のMFP100Aにとって最適な印刷ファイルのダウンロード元となるサーバを判定する。この例では、JPにある中継サーバ200が選択されている。
ステップS515において、終端サーバ300Aのデータ処理制御部335は、通信部331を介してMFP100Aにファイルのダウンロード元の情報を回答する。ここでは、JPにあるMFP100Aに対して、JPにある中継サーバ(mid.jp.example.com)を回答している。
ステップS517において、MFP100Aの主制御部123は、終端サーバ300Aから指定された中継サーバ200に対して認証チケットを送信し、ファイル名を指定して、当該ファイルをMFP100Aに対して送信するように要求する(GET /print_file)。
ステップS519において、中継サーバ200のデータ処理制御部235は終端サーバ300Aに対して、MFP100Aから受信した認証チケットと、ダウンロード対象のファイルについて更新処理の有無を確認するリクエスト(GET /print_mid_file)を送信する。即ち、中継サーバ200は、自装置に記憶されているファイルが最新のデータ内容のファイルか否かを確認する。
ステップS517において、MFP100Aの主制御部123は、終端サーバ300Aから指定された中継サーバ200に対して認証チケットを送信し、ファイル名を指定して、当該ファイルをMFP100Aに対して送信するように要求する(GET /print_file)。
ステップS519において、中継サーバ200のデータ処理制御部235は終端サーバ300Aに対して、MFP100Aから受信した認証チケットと、ダウンロード対象のファイルについて更新処理の有無を確認するリクエスト(GET /print_mid_file)を送信する。即ち、中継サーバ200は、自装置に記憶されているファイルが最新のデータ内容のファイルか否かを確認する。
ステップS521において、終端サーバ300Aの認証制御部334は認証チケットの正当性を確認する。認証チケットが正当である場合、データ処理制御部335はファイル更新の有無を確認して、中継サーバ200に応答する。この例ではファイルの更新がないので、更新されていない旨(Not Modified)のレスポンスを返す。なお、ファイルの更新がある場合、データ処理制御部335はデータ記憶部338に記憶されている対象ファイルを読み出して中継サーバ200に送信する。
ステップS523において、中継サーバ200のデータ処理制御部235は、データ記憶部238から対象ファイルを読み出す。ここで、図14のステップS403においてモバイル機器100Bから送信されたプレゼンテーションファイルは、ステップS411においてPDFに変換され、更にステップS417においてPDLに変換されている。従って、中継サーバ200は、モバイル機器100Bから送信されたファイルに対応するPDLファイルをデータ記憶部238から読み出す。
ステップS523において、中継サーバ200のデータ処理制御部235は、データ記憶部238から対象ファイルを読み出す。ここで、図14のステップS403においてモバイル機器100Bから送信されたプレゼンテーションファイルは、ステップS411においてPDFに変換され、更にステップS417においてPDLに変換されている。従って、中継サーバ200は、モバイル機器100Bから送信されたファイルに対応するPDLファイルをデータ記憶部238から読み出す。
ステップS525において、中継サーバ200の下流通信部231は、データ記憶部238から読み出されたPDLファイルをMFP100Aに対して送信する。
ステップS527において、MFP100Aのプロット部126は、中継サーバ200から受信したPDLファイルを印刷する。ここで、受信したファイルは既に印刷形式(PDL)に変換されているので、MFP100Aはファイルを変換する等の特別な処理をすることなく、ファイルをそのまま印刷する。
ステップS529において、MFP100Aは、印刷済み画面を操作表示部125に表示する。ユーザは、本シーケンスの一連の処理結果としての印刷物を得る。
ステップS527において、MFP100Aのプロット部126は、中継サーバ200から受信したPDLファイルを印刷する。ここで、受信したファイルは既に印刷形式(PDL)に変換されているので、MFP100Aはファイルを変換する等の特別な処理をすることなく、ファイルをそのまま印刷する。
ステップS529において、MFP100Aは、印刷済み画面を操作表示部125に表示する。ユーザは、本シーケンスの一連の処理結果としての印刷物を得る。
〔図16:印刷ファイルのアップロード処理に関わる中継サーバのフロー〕
図16は、印刷ファイルアップロード時の中継サーバの動作の一例を示したフローチャートである。このフローは、図14ではステップS413〜S419に対応する処理を示すものであり、中継サーバが終端サーバからファイルを受信するときのフローである。
このフローにおいて終端サーバ300Aは中継サーバ200に対してクライアント機器として動作する。このため、まず中継サーバ200は終端サーバ300Aを認証する処理を実行する。前提として、終端サーバ300Aから中継サーバ200に対して認証用のデータが送信されているものとする。
図16は、印刷ファイルアップロード時の中継サーバの動作の一例を示したフローチャートである。このフローは、図14ではステップS413〜S419に対応する処理を示すものであり、中継サーバが終端サーバからファイルを受信するときのフローである。
このフローにおいて終端サーバ300Aは中継サーバ200に対してクライアント機器として動作する。このため、まず中継サーバ200は終端サーバ300Aを認証する処理を実行する。前提として、終端サーバ300Aから中継サーバ200に対して認証用のデータが送信されているものとする。
ステップS601において、上流通信部232は、クライアントとしての終端サーバ300Aから認証用のデータを受信する。
ステップS603において、認証制御部234は、受信した認証用のデータが正当なものであるか否かを確認する。認証用のデータが正当なものである場合(ステップS603にてYES)は、ステップS605の処理を実行する。認証用のデータが不当なものである場合(ステップS603にてNO)は、ステップS617の処理を実行する。
ステップS605において、上流通信部232は、PDFファイルを受信する。
ステップS607において、通信制御部233は、ファイルの受信が正常に完了したか否かを確認する。正常に完了した場合(ステップS607にてYES)は、ステップS609の処理を実行する。通信が途中で切断されるなど正常に完了しなかった場合(ステップS607にてNO)は、ステップS617の処理を実行する。
ステップS603において、認証制御部234は、受信した認証用のデータが正当なものであるか否かを確認する。認証用のデータが正当なものである場合(ステップS603にてYES)は、ステップS605の処理を実行する。認証用のデータが不当なものである場合(ステップS603にてNO)は、ステップS617の処理を実行する。
ステップS605において、上流通信部232は、PDFファイルを受信する。
ステップS607において、通信制御部233は、ファイルの受信が正常に完了したか否かを確認する。正常に完了した場合(ステップS607にてYES)は、ステップS609の処理を実行する。通信が途中で切断されるなど正常に完了しなかった場合(ステップS607にてNO)は、ステップS617の処理を実行する。
ステップS609において、データ処理制御部235は、受信したファイルが正常か否かを確認する。正常である場合(ステップS609にてYES)は、ステップS611の処理を実行する。異常である場合(ステップS609にてNO)は、ステップS617の処理を実行する。
ステップS611において、データ処理制御部235は、正常なファイルの受信に成功したこと(OK)を終端サーバ300Aに送信する。また、通信制御部233は、終端サーバ300Aとの通信を終了する。
ステップS613において、データ処理制御部235は、プログラム記憶部236からPDF−PDL変換プログラムを読み出す。データ処理部237は、読み出されたプログラムを実行して、受信したPDFファイルをPDLファイルに変換する。
ステップS611において、データ処理制御部235は、正常なファイルの受信に成功したこと(OK)を終端サーバ300Aに送信する。また、通信制御部233は、終端サーバ300Aとの通信を終了する。
ステップS613において、データ処理制御部235は、プログラム記憶部236からPDF−PDL変換プログラムを読み出す。データ処理部237は、読み出されたプログラムを実行して、受信したPDFファイルをPDLファイルに変換する。
ステップS615において、データ処理部237は、生成されたPDLファイルをデータ記憶部238に蓄積する。
ステップS617において、上流通信部232は終端サーバ300Aに対してエラーメッセージを送信する。
ここで、中継サーバ200がクライアントとしての終端サーバ300Aからのアクセスであると確認する処理(ステップS603)は、PKI(公開鍵基盤:Public Key Infrastructure)の仕組みを用いてクライアント証明書を利用したものでもよいし、パスワードなどを利用したものでもよい。
ステップS617において、上流通信部232は終端サーバ300Aに対してエラーメッセージを送信する。
ここで、中継サーバ200がクライアントとしての終端サーバ300Aからのアクセスであると確認する処理(ステップS603)は、PKI(公開鍵基盤:Public Key Infrastructure)の仕組みを用いてクライアント証明書を利用したものでもよいし、パスワードなどを利用したものでもよい。
〔図17:印刷ファイルのダウンロード処理に関わる中継サーバのフロー〕
図17は、MFPがプリントファイルをダウンロードするときの中継サーバの動作の一例を示したフローチャートである。このフローは、図15のステップS517〜S525に対応する処理を示すものであり、クライアント機器に対して送信する対象ファイルに関して、中継サーバが終端サーバに更新の有無を確認するフローを示したものである。
ステップS621において、認証制御部234は、MFP100Aから送信されたリクエストに認証チケットが含まれているか否かを確認する。認証チケットが含まれていない場合(ステップS621にてNO)は、ステップS623の処理を実行する。認証チケットが含まれている場合(ステップS621にてYES)は、ステップS625の処理を実行する。
ステップS623において、下流通信部231は、クライアント機器であるMFP100Aに対してエラーメッセージを送信する。
図17は、MFPがプリントファイルをダウンロードするときの中継サーバの動作の一例を示したフローチャートである。このフローは、図15のステップS517〜S525に対応する処理を示すものであり、クライアント機器に対して送信する対象ファイルに関して、中継サーバが終端サーバに更新の有無を確認するフローを示したものである。
ステップS621において、認証制御部234は、MFP100Aから送信されたリクエストに認証チケットが含まれているか否かを確認する。認証チケットが含まれていない場合(ステップS621にてNO)は、ステップS623の処理を実行する。認証チケットが含まれている場合(ステップS621にてYES)は、ステップS625の処理を実行する。
ステップS623において、下流通信部231は、クライアント機器であるMFP100Aに対してエラーメッセージを送信する。
ステップS625において、データ処理制御部235は終端サーバ300Aに対して、MFP100Aから受信した認証チケットと、MFP100Aに送信する対象ファイルについて更新処理の有無を確認するリクエスト(GET /print_mid_file)を送信する。
ステップS627において、データ処理制御部235は、終端サーバ300Aからのレスポンスに基づいて対象ファイルの更新の有無を判断する。終端サーバ300Aからレスポンス「Not Modified」を受信したとき、即ちファイル更新がない場合(ステップS627にてYES)は、ステップS629の処理を実行する。終端サーバ300AからPDFファイルを受信したとき、即ちファイル更新がある場合(ステップS627にてNO)は、ステップS631の処理を実行する。
ステップS629において、データ処理制御部235は、データ記憶部238から対象ファイルのPDLデータを読み出す。
ステップS627において、データ処理制御部235は、終端サーバ300Aからのレスポンスに基づいて対象ファイルの更新の有無を判断する。終端サーバ300Aからレスポンス「Not Modified」を受信したとき、即ちファイル更新がない場合(ステップS627にてYES)は、ステップS629の処理を実行する。終端サーバ300AからPDFファイルを受信したとき、即ちファイル更新がある場合(ステップS627にてNO)は、ステップS631の処理を実行する。
ステップS629において、データ処理制御部235は、データ記憶部238から対象ファイルのPDLデータを読み出す。
ステップS631において、中継サーバ200は、終端サーバ300Aから受信したPDFファイルをPDL形式に変換する処理を実行する。即ち、データ処理制御部235は、プログラム記憶部236からPDF−PDL変換プログラムを読み出す。データ処理部237は読み出されたプログラムを実行して、受信したPDFファイルをPDLファイルに変換する。
ステップS633において、データ処理制御部235は、得られたPDLファイルが正常か否かを確認する。PDLファイルが正常である場合(ステップS633にてYES)は、ステップS635の処理を実行する。PDLファイルにエラーがある場合(ステップS633にてNO)は、ステップS623の処理を実行する。
ステップS635において、データ処理制御部235は、PDLファイルをMFP100Aに送信する。
ステップS633において、データ処理制御部235は、得られたPDLファイルが正常か否かを確認する。PDLファイルが正常である場合(ステップS633にてYES)は、ステップS635の処理を実行する。PDLファイルにエラーがある場合(ステップS633にてNO)は、ステップS623の処理を実行する。
ステップS635において、データ処理制御部235は、PDLファイルをMFP100Aに送信する。
本実施形態においては、中継サーバ200が終端サーバ300Aに対してファイルの更新の有無を確認するものであるが、ファイルの更新という概念を持たないシステム(更新ではなくすべて新規の処理として扱うシステム)の場合は、本フローに示した処理を省略できる。
〔印刷ファイルのアップロード処理に関わる終端サーバAのフロー〕
図14のシーケンス図のステップS409のアップロード先判定処理の詳細について、図13を参照しながら説明する。なお、ステップS409に関わる処理には「’」を付している。
ここで、ファイルのアップロード先のサーバとは、終端サーバからみたファイルのアップロード先のサーバのことであり、当該ファイルの内容を印刷するMFPからみてファイルのダウンロード元となるサーバのことである。つまり、モバイル機器が送信したファイル(又はこのファイルを変換したファイル)の最終的な蓄積場所となるサーバを意味する。
また、本フローにおける「クライアント機器」とは「モバイル機器」である。
このフローはデータ処理制御部335がプログラム記憶部336に記憶されている「アップロード先・ダウンロード元判定プログラム」を読み出してデータ処理部337にて実行するものである。
図14のシーケンス図のステップS409のアップロード先判定処理の詳細について、図13を参照しながら説明する。なお、ステップS409に関わる処理には「’」を付している。
ここで、ファイルのアップロード先のサーバとは、終端サーバからみたファイルのアップロード先のサーバのことであり、当該ファイルの内容を印刷するMFPからみてファイルのダウンロード元となるサーバのことである。つまり、モバイル機器が送信したファイル(又はこのファイルを変換したファイル)の最終的な蓄積場所となるサーバを意味する。
また、本フローにおける「クライアント機器」とは「モバイル機器」である。
このフローはデータ処理制御部335がプログラム記憶部336に記憶されている「アップロード先・ダウンロード元判定プログラム」を読み出してデータ処理部337にて実行するものである。
ステップS351’において、データ処理部337は、クライアント機器(モバイル機器100B)が送信したファイルの処理種別、及び処理の内容(表4)に基づいてデータのアップロード先となるサーバを選択する。例えば、モバイル機器100Bが送信したファイルが印刷ファイルであり、当該ファイルがプレゼンテーションファイルである場合、データ処理部337は、データのアップロード先として中継サーバを選択する。また、モバイル機器100Bが送信した印刷ファイルがPDFファイルである場合は、データのアップロード先として終端サーバ300A自身を選択する。
ステップS353’において、データ処理部337は、データのアップロード先として終端サーバが選択されているか否かを確認する。終端サーバが選択されている場合(ステップS353’にてYES)は、既にモバイル機器100Bからデータを受信しており、アップロード先の判定を必要としないため、処理を終了する。終端サーバが選択されていない場合、即ち中継サーバを自動で選択する必要がある場合(ステップS353’にてNO)は、ステップS355の処理を実行する。
ステップS353’において、データ処理部337は、データのアップロード先として終端サーバが選択されているか否かを確認する。終端サーバが選択されている場合(ステップS353’にてYES)は、既にモバイル機器100Bからデータを受信しており、アップロード先の判定を必要としないため、処理を終了する。終端サーバが選択されていない場合、即ち中継サーバを自動で選択する必要がある場合(ステップS353’にてNO)は、ステップS355の処理を実行する。
ステップS355’において、データ処理部337は、クライアント機器の送信元を示す送信元情報(表5)に基づいてアップロード先となる中継サーバを選択する。
ステップS357’において、データ処理部337は、利用者設定があるか否かを確認する。利用者設定がある場合(ステップS357’にてYES)は、ステップS359の処理を実行する。利用者設定がない場合(ステップS357’にてNO)は、ステップS361’の処理を実行する。
ステップS359’において、データ処理部337は、利用者設定データ(表6)に基づいてアップロード先となる中継サーバを選択する。
ステップS361’において、データ処理部337は、利用者履歴データが存在するか否かを確認する。利用者履歴データが存在する場合(ステップS361’にてYES)は、ステップS363’の処理を実行する。利用者履歴データが存在しない場合(ステップS361’にてNO)は、ステップS365’の処理を実行する。
ステップS357’において、データ処理部337は、利用者設定があるか否かを確認する。利用者設定がある場合(ステップS357’にてYES)は、ステップS359の処理を実行する。利用者設定がない場合(ステップS357’にてNO)は、ステップS361’の処理を実行する。
ステップS359’において、データ処理部337は、利用者設定データ(表6)に基づいてアップロード先となる中継サーバを選択する。
ステップS361’において、データ処理部337は、利用者履歴データが存在するか否かを確認する。利用者履歴データが存在する場合(ステップS361’にてYES)は、ステップS363’の処理を実行する。利用者履歴データが存在しない場合(ステップS361’にてNO)は、ステップS365’の処理を実行する。
ステップS363’において、データ処理部337は、利用者履歴データ(表7)に基づいてアップロード先となる中継サーバを選択する。
ステップS365’において、データ処理部337は、メンテナンス情報があるか否かを確認する。メンテナンス情報がある場合(ステップS365’にてYES)は、ステップS363’の処理を実行する。メンテナンス情報がない場合(ステップS365’にてNO)は、ステップS365’の処理を実行する。
ステップS367’において、データ処理部337は、メンテナンス情報(表8)に基づいて中継サーバ又は終端サーバをアップロード先として選択する。
ステップS369’において、データ処理部337は、中継サーバ混雑情報(表9)に基づいて中継サーバ又は終端サーバをアップロード先として選択する。
ステップS365’において、データ処理部337は、メンテナンス情報があるか否かを確認する。メンテナンス情報がある場合(ステップS365’にてYES)は、ステップS363’の処理を実行する。メンテナンス情報がない場合(ステップS365’にてNO)は、ステップS365’の処理を実行する。
ステップS367’において、データ処理部337は、メンテナンス情報(表8)に基づいて中継サーバ又は終端サーバをアップロード先として選択する。
ステップS369’において、データ処理部337は、中継サーバ混雑情報(表9)に基づいて中継サーバ又は終端サーバをアップロード先として選択する。
なお、ファイルの送信元であるモバイル機器の物理的位置と、最終的に当該ファイルを印刷するMFPの物理的位置とが異なる場合がありうる(例えば、印刷ファイルのアップロードはJPから実行され、ファイルの印刷処理はUSで実行されるような場合)。クラウドに送信されたファイルが終端サーバに蓄積される場合は特に問題とはならない。しかし、ファイルが中継サーバに蓄積される場合、仮にデータ処理部337によってMFPからより遠方の中継サーバが選択されたとすると、印刷処理を実行する際のデータの転送時間が長くなり、かえって処理時間が長くなる虞がある。そこで、データ処理部337が中継サーバを選択するときには、ユーザの利用履歴情報等に基づいて、複数の中継サーバにファイルを分散してアップロードしてもよい。
〔図18:印刷ファイルのダウンロード処理に関わる終端サーバAのフロー〕
図18は、クライアント機器がサーバからファイルをダウンロードする場合の終端サーバの動作を示したフローチャートである。図18のフローは、図15のステップS511〜S515に対応する処理を示したものである。
ステップS641において、認証制御部334は、クライアント機器(例えばMFP100A)から認証チケットを受領しているか否かを確認する。受領していない場合(ステップS641にてNO)は、ステップS643の処理を実行する。受領している場合(ステップS641にてYES)は、ステップS645の処理を実行する。
ステップS643において、通信部331は、MFP100Aに対してエラーメッセージを送信する。
図18は、クライアント機器がサーバからファイルをダウンロードする場合の終端サーバの動作を示したフローチャートである。図18のフローは、図15のステップS511〜S515に対応する処理を示したものである。
ステップS641において、認証制御部334は、クライアント機器(例えばMFP100A)から認証チケットを受領しているか否かを確認する。受領していない場合(ステップS641にてNO)は、ステップS643の処理を実行する。受領している場合(ステップS641にてYES)は、ステップS645の処理を実行する。
ステップS643において、通信部331は、MFP100Aに対してエラーメッセージを送信する。
ステップS645において、認証制御部334は、認証チケットが正当なものであるか否かを判断する。認証チケットが正当でない場合(ステップS645にてNO)は、ステップS643の処理を実行する。認証チケットが正当である場合(ステップS645にてYES)は、ステップS647の処理を実行する。
ステップS647において、データ処理制御部335は、クライアント機器のIPアドレスに基づいて、クライアント機器の位置情報を取得する。
ステップS650において、データ処理部337は、サブルーチン「ダウンロード元判定処理」を実行する。サブルーチンの詳細については、図19にて説明する。
ステップS649において、データ処理部337は、ステップS650の処理により得られた、データの最適なダウンロード元の情報(サーバのDNS名)をクライアント機器に回答する。
ステップS647において、データ処理制御部335は、クライアント機器のIPアドレスに基づいて、クライアント機器の位置情報を取得する。
ステップS650において、データ処理部337は、サブルーチン「ダウンロード元判定処理」を実行する。サブルーチンの詳細については、図19にて説明する。
ステップS649において、データ処理部337は、ステップS650の処理により得られた、データの最適なダウンロード元の情報(サーバのDNS名)をクライアント機器に回答する。
〔図19:終端サーバAによるダウンロード元判定処理〕
図19は、図18のサブルーチン「ダウンロード元判定処理」を示したフローチャートである。なお、このサブルーチンはデータ処理制御部335がプログラム記憶部336に記憶されている「アップロード先・ダウンロード元判定プログラム」を読み出してデータ処理部337にて実行するものである。
図19は、図18のサブルーチン「ダウンロード元判定処理」を示したフローチャートである。なお、このサブルーチンはデータ処理制御部335がプログラム記憶部336に記憶されている「アップロード先・ダウンロード元判定プログラム」を読み出してデータ処理部337にて実行するものである。
ステップS651において、データ処理部337は、クライアント機器がダウンロード要求するファイルのIDから、当該IDを有するファイルのダウンロード元リストをデータ記憶部338から取得する。ここでダウンロード元リストは、ダウンロード対象のファイルを蓄積しているサーバのリストである。
ステップS653において、データ処理部337は、ダウンロード元リスト中のサーバが終端サーバのみか否かを確認する。終端サーバのみである場合(ステップS653にてYES)は、ステップS655の処理を実行する。終端サーバのみでない場合(ステップS653にてNO)、即ちダウンロード元リスト中に中継サーバが含まれている場合は、ステップS657の処理を実行する。
ステップS653において、データ処理部337は、ダウンロード元リスト中のサーバが終端サーバのみか否かを確認する。終端サーバのみである場合(ステップS653にてYES)は、ステップS655の処理を実行する。終端サーバのみでない場合(ステップS653にてNO)、即ちダウンロード元リスト中に中継サーバが含まれている場合は、ステップS657の処理を実行する。
ステップS655において、データ処理部337は、ダウンロード元サーバとして終端サーバ300Aを選択する。
ステップS657において、データ処理部337は、ダウンロード元リストに含まれる1又は複数の中継サーバの中に、クライアント機器であるMFP100Aまでの物理的距離が、MFP100Aから終端サーバ300Aまでの物理的距離よりも近いものが存在するか否かを確認する。存在する場合、即ち、MFP100Aまでの距離が終端サーバ300よりも近い中継サーバ200が少なくとも1つ存在する場合(ステップS657にてYES)は、ステップS659の処理を実行する。存在しない場合、即ち、MFP100Aから終端サーバ300までの距離が最短である場合(ステップS657にてYES)は、ステップS655の処理を実行する。
ステップS657において、データ処理部337は、ダウンロード元リストに含まれる1又は複数の中継サーバの中に、クライアント機器であるMFP100Aまでの物理的距離が、MFP100Aから終端サーバ300Aまでの物理的距離よりも近いものが存在するか否かを確認する。存在する場合、即ち、MFP100Aまでの距離が終端サーバ300よりも近い中継サーバ200が少なくとも1つ存在する場合(ステップS657にてYES)は、ステップS659の処理を実行する。存在しない場合、即ち、MFP100Aから終端サーバ300までの距離が最短である場合(ステップS657にてYES)は、ステップS655の処理を実行する。
ステップS659において、データ処理部337は、MFP100Aまでの距離が終端サーバ300よりも短い1又は複数の中継サーバ200の中に利用可能な中継サーバがあるか否かを確認する。例えば表8に示したように、中継サーバがメンテナンス中である場合は、当該中継サーバからファイルをダウンロードすることができない。利用可能な中継サーバ200が存在しない場合(ステップS659にてNO)は、ステップS655の処理を実行する。利用可能な中継サーバ200が存在する場合(ステップS659にてYES)は、ステップS661の処理を実行する。
ステップS661において、データ処理部337は、ダウンロード元サーバとして上記各ステップの処理を実行することによって必要な条件を満たすと判定された1つの中継サーバ200を選択する。
ステップS661において、データ処理部337は、ダウンロード元サーバとして上記各ステップの処理を実行することによって必要な条件を満たすと判定された1つの中継サーバ200を選択する。
〔効果〕
以上のように本実施形態によれば、クライアント機器が中継サーバの情報を保持している必要はないので、中継サーバの追加・廃止に柔軟に対応できる。
また、クライアント機器が要求する処理の内容に応じて最適アップロード先(又はダウンロード元)となるサーバを判定するので、より効果的にデータ容量を削減できる。仮に、データ容量が小さく、容量を削減する必要がない場合は中継サーバを介在させることによる処理の遅延を防止するため、クライアント機器から直接終端サーバにデータを送信するようにしてもよい。また、仮に、データ容量が比較的大きい場合に、処理能力の不足により中継サーバによる中間処理を実施しても効果的に処理時間を短縮できないと見込まれる場合には、クライアント機器から直接終端サーバにデータを送信するようにしてもよい。
また、クライアント機器の位置情報、ユーザが予め設定した位置情報、或いはユーザの中継サーバ利用履歴情報に基づいてデータアップロード先(又はダウンロード元)となるサーバを判定するので、より処理時間短縮効果の大きいサーバを選択できる。更に、中継サーバの状態(オンラインか否かや混雑具合)に基づいて最終的なデータのアップロード先(又はダウンロード元)となるサーバを判定するので、利用可能なサーバを確実に判定できる。
以上のように本実施形態によれば、クライアント機器が中継サーバの情報を保持している必要はないので、中継サーバの追加・廃止に柔軟に対応できる。
また、クライアント機器が要求する処理の内容に応じて最適アップロード先(又はダウンロード元)となるサーバを判定するので、より効果的にデータ容量を削減できる。仮に、データ容量が小さく、容量を削減する必要がない場合は中継サーバを介在させることによる処理の遅延を防止するため、クライアント機器から直接終端サーバにデータを送信するようにしてもよい。また、仮に、データ容量が比較的大きい場合に、処理能力の不足により中継サーバによる中間処理を実施しても効果的に処理時間を短縮できないと見込まれる場合には、クライアント機器から直接終端サーバにデータを送信するようにしてもよい。
また、クライアント機器の位置情報、ユーザが予め設定した位置情報、或いはユーザの中継サーバ利用履歴情報に基づいてデータアップロード先(又はダウンロード元)となるサーバを判定するので、より処理時間短縮効果の大きいサーバを選択できる。更に、中継サーバの状態(オンラインか否かや混雑具合)に基づいて最終的なデータのアップロード先(又はダウンロード元)となるサーバを判定するので、利用可能なサーバを確実に判定できる。
〔本発明の実施態様、作用、効果のまとめ〕
〈第一の実施態様〉
クライアント機器100と終端サーバ300Aとに接続される中継サーバ200であって、クライアント機器との間、及び終端サーバとの間で夫々通信する通信手段(通信ネットワークN)と、クライアント機器から送信される処理対象の電子データを、通信手段を介して受信する第1の受信手段(下流通信部231)と、クライアント機器が要求する処理の種別に応じて、第1の受信手段で受信した電子データに対してデータの容量を削減する削減処理(例:カラー・モノクロ分離処理)を実行するデータ処理手段(データ処理部237)と、データ処理手段で削減処理がされた第1の処理済データ(例:モノクロ画像データ)を、通信手段を介して終端サーバに送信する送信手段(上流通信部232)と、送信手段で送信した第1の処理済データに対して終端サーバが所定の処理を実行することにより得られた第2の処理済データ(例:モノクロOCR処理の結果)を、終端サーバから通信手段を介して受信する第2の受信手段(上流通信部232)と、第2の受信手段で受信した第2の処理済データと、第1の受信手段で受信した電子データとを合成する合成手段(データ処理部237)と、を有することを特徴とする。
本態様によれば、クライアント機器から受信した電子データに対して、中継サーバがデータの容量を削減する中間処理を実行する。中継サーバは中間処理後の第1の処理済データを終端サーバに転送するので、クライアント機器と終端サーバとの間の転送速度を安価に向上させることができる。その結果、クラウドシステムにおけるデータ処理性能を向上させることができる。
〈第一の実施態様〉
クライアント機器100と終端サーバ300Aとに接続される中継サーバ200であって、クライアント機器との間、及び終端サーバとの間で夫々通信する通信手段(通信ネットワークN)と、クライアント機器から送信される処理対象の電子データを、通信手段を介して受信する第1の受信手段(下流通信部231)と、クライアント機器が要求する処理の種別に応じて、第1の受信手段で受信した電子データに対してデータの容量を削減する削減処理(例:カラー・モノクロ分離処理)を実行するデータ処理手段(データ処理部237)と、データ処理手段で削減処理がされた第1の処理済データ(例:モノクロ画像データ)を、通信手段を介して終端サーバに送信する送信手段(上流通信部232)と、送信手段で送信した第1の処理済データに対して終端サーバが所定の処理を実行することにより得られた第2の処理済データ(例:モノクロOCR処理の結果)を、終端サーバから通信手段を介して受信する第2の受信手段(上流通信部232)と、第2の受信手段で受信した第2の処理済データと、第1の受信手段で受信した電子データとを合成する合成手段(データ処理部237)と、を有することを特徴とする。
本態様によれば、クライアント機器から受信した電子データに対して、中継サーバがデータの容量を削減する中間処理を実行する。中継サーバは中間処理後の第1の処理済データを終端サーバに転送するので、クライアント機器と終端サーバとの間の転送速度を安価に向上させることができる。その結果、クラウドシステムにおけるデータ処理性能を向上させることができる。
〈第二の実施態様〉
クライアント機器100と中継サーバ200とに接続される終端サーバ300Aであって、クライアント機器との間、及び中継サーバとの間で夫々通信する通信手段(通信ネットワークN)と、クライアント機器からの電子データのアップロードリクエストに基づいて、利用可能な中継サーバと終端サーバの中から電子データのアップロード先とすべきサーバを判定する判定手段(データ処理部237)と、判定手段で判定したサーバの情報を、通信手段を介してクライアント機器に送信する第1の送信手段(通信部331)と、電子データのアップロード先とすべきサーバが中継サーバとして判定手段で判定されたとき、中継サーバが電子データに対してデータの容量を削減する削減処理(例:カラー・モノクロ分離処理)を実行して得られた第1の処理済データを受信し、受信した第1の処理済データに対して所定の処理を実行して得た第2の処理済みデータ(例:モノクロOCR処理の結果)を中継サーバに送信する第2の送信手段(通信部331)と、を備えることを特徴とする。
本態様によれば、クライアント機器が中継サーバの情報を保持している必要がないため、中継サーバの追加・廃止に柔軟に対応できる。
クライアント機器100と中継サーバ200とに接続される終端サーバ300Aであって、クライアント機器との間、及び中継サーバとの間で夫々通信する通信手段(通信ネットワークN)と、クライアント機器からの電子データのアップロードリクエストに基づいて、利用可能な中継サーバと終端サーバの中から電子データのアップロード先とすべきサーバを判定する判定手段(データ処理部237)と、判定手段で判定したサーバの情報を、通信手段を介してクライアント機器に送信する第1の送信手段(通信部331)と、電子データのアップロード先とすべきサーバが中継サーバとして判定手段で判定されたとき、中継サーバが電子データに対してデータの容量を削減する削減処理(例:カラー・モノクロ分離処理)を実行して得られた第1の処理済データを受信し、受信した第1の処理済データに対して所定の処理を実行して得た第2の処理済みデータ(例:モノクロOCR処理の結果)を中継サーバに送信する第2の送信手段(通信部331)と、を備えることを特徴とする。
本態様によれば、クライアント機器が中継サーバの情報を保持している必要がないため、中継サーバの追加・廃止に柔軟に対応できる。
〈第三の実施態様〉
クライアント機器100と中継サーバ200と終端サーバ300Aとが互いに接続された情報処理システムであって、クライアント機器と中継サーバと終端サーバとの間で夫々通信する通信手段(通信ネットワークN)と、クライアント機器からの電子データのアップロードリクエストに基づいて、利用可能な中継サーバと終端サーバの中から電子データのアップロード先とすべきサーバを判定する判定手段(データ処理部337)と、判定手段で判定したサーバの情報を、通信手段を介してクライアント機器に送信する送信手段(通信部331)と、を備えたことを特徴とする。
本態様によれば、クライアント機器が中継サーバの情報を保持している必要がないため、クライアント機器をメンテナンスすることなく、中継サーバの追加・廃止が可能となり、システム運用が容易となる。
クライアント機器100と中継サーバ200と終端サーバ300Aとが互いに接続された情報処理システムであって、クライアント機器と中継サーバと終端サーバとの間で夫々通信する通信手段(通信ネットワークN)と、クライアント機器からの電子データのアップロードリクエストに基づいて、利用可能な中継サーバと終端サーバの中から電子データのアップロード先とすべきサーバを判定する判定手段(データ処理部337)と、判定手段で判定したサーバの情報を、通信手段を介してクライアント機器に送信する送信手段(通信部331)と、を備えたことを特徴とする。
本態様によれば、クライアント機器が中継サーバの情報を保持している必要がないため、クライアント機器をメンテナンスすることなく、中継サーバの追加・廃止が可能となり、システム運用が容易となる。
〈第四の実施態様〉
クライアント機器100と中継サーバ200と終端サーバ300Aとが互いに接続された情報処理システムであって、クライアント機器と中継サーバと終端サーバとの間で夫々通信する通信手段(通信ネットワークN)と、クライアント機器からの電子データのダウンロードリクエストに基づいて、データを記憶している中継サーバと終端サーバの中から電子データのダウンロード元とすべきサーバを判定する判定手段(データ処理部337)と、判定手段で判定したサーバの情報を、通信手段を介してクライアント機器に送信する送信手段(通信部331)と、を備えたことを特徴とする。
本態様によれば、クライアント機器が中継サーバの情報を保持している必要がないため、クライアント機器をメンテナンスすることなく、中継サーバの追加・廃止が可能となり、システム運用が容易となる。
クライアント機器100と中継サーバ200と終端サーバ300Aとが互いに接続された情報処理システムであって、クライアント機器と中継サーバと終端サーバとの間で夫々通信する通信手段(通信ネットワークN)と、クライアント機器からの電子データのダウンロードリクエストに基づいて、データを記憶している中継サーバと終端サーバの中から電子データのダウンロード元とすべきサーバを判定する判定手段(データ処理部337)と、判定手段で判定したサーバの情報を、通信手段を介してクライアント機器に送信する送信手段(通信部331)と、を備えたことを特徴とする。
本態様によれば、クライアント機器が中継サーバの情報を保持している必要がないため、クライアント機器をメンテナンスすることなく、中継サーバの追加・廃止が可能となり、システム運用が容易となる。
100A…MFP、100B…モバイル機器、200…中継サーバ、231…下流通信部、232…上流通信部、233…通信制御部、234…認証制御部、235…データ処理制御部、236…プログラム記憶部、237…データ処理部、238…データ記憶部、300…終端サーバ、331…通信部、333…通信制御部、334…認証制御部、335…データ処理制御部、336…プログラム記憶部、337…データ処理部、338…データ記憶部
Claims (16)
- クライアント機器と終端サーバとに接続される中継サーバであって、
前記クライアント機器との間、及び前記終端サーバとの間で夫々通信する通信手段と、
前記クライアント機器から送信される処理対象の電子データを、前記通信手段を介して受信する第1の受信手段と、
前記クライアント機器が要求する処理の種別に応じて、前記第1の受信手段で受信した前記電子データに対してデータの容量を削減する削減処理を実行するデータ処理手段と、
前記データ処理手段で前記削減処理がされた第1の処理済データを、前記通信手段を介して前記終端サーバに送信する送信手段と、
前記送信手段で送信した第1の処理済データに対して前記終端サーバが所定の処理を実行することにより得られた第2の処理済データを、前記終端サーバから前記通信手段を介して受信する第2の受信手段と、
前記第2の受信手段で受信した第2の処理済データと、前記第1の受信手段で受信した前記電子データとを合成する合成手段と
を有することを特徴とする中継サーバ。 - 前記データ処理手段は、前記削減処理として、前記処理対象の電子データであるカラーの画像データに対して、モノクロの画像データに変換する処理を実行することを特徴とする請求項1に記載の中継サーバ。
- 前記データ処理手段は、前記削減処理として、前記処理対象の電子データである画像データに対して、画像解像度を低下させる処理を実行することを特徴とする請求項1に記載の中継サーバ。
- 前記データ処理手段は、前記削減処理として、前記処理対象の電子データである映像データに対して、時間解像度を低下させる処理を実行することを特徴とする請求項1に記載の中継サーバ。
- 前記データ処理手段は、前記削減処理として、前記処理対象の電子データのhash値を算出する処理を実行することを特徴とする請求項1に記載の中継サーバ。
- 前記データ処理手段は、前記削減処理として、前記処理対象の電子データである画像データに対して、該画像データの特徴量を算出する処理を実行することを特徴とする請求項1に記載の中継サーバ。
- 前記終端サーバが前記中継サーバから受信した前記第1の処理済データに対して所定の処理を実行した結果、該第1の処理済データに異常が検知された場合に、
前記データ処理手段は、前記削減処理として、前記処理対象の電子データである未加工のデータから異常部分を含むデータを抽出する処理を実行することを特徴とする請求項1に記載の中継サーバ。 - クライアント機器と中継サーバとに接続される終端サーバであって、
前記クライアント機器との間、及び前記中継サーバとの間で夫々通信する通信手段と、
前記クライアント機器からの電子データのアップロードリクエストに基づいて、利用可能な前記中継サーバと前記終端サーバの中から該電子データのアップロード先とすべきサーバを判定する判定手段と、
前記判定手段で判定したサーバの情報を、前記通信手段を介して前記クライアント機器に送信する第1の送信手段と、
前記電子データのアップロード先とすべきサーバが前記中継サーバとして前記判定手段で判定されたとき、前記中継サーバが前記電子データに対してデータの容量を削減する削減処理を実行して得られた第1の処理済データを受信し、受信した第1の処理済データに対して所定の処理を実行して得た第2の処理済みデータを前記中継サーバに送信する第2の送信手段と
を備えることを特徴とする終端サーバ。 - 前記判定手段は、前記クライアント機器が要求する処理の種別に基づいて、前記電子データのアップロード先とすべきサーバを判定することを特徴とする請求項8に記載の終端サーバ。
- 前記判定手段は、前記電子データのデータサイズに基づいて該電子データのアップロード先とすべきサーバを判定することを特徴とする請求項8に記載の終端サーバ。
- 前記判定手段は、前記クライアント機器の位置情報に基づいて、前記電子データのアップロード先とすべきサーバを判定することを特徴とする請求項8に記載の終端サーバ。
- 前記判定手段は、ユーザごとにあらかじめ設定された位置情報に基づいて、前記電子データのアップロード先とすべきサーバを判定することを特徴とする請求項8に記載の終端サーバ。
- 前記判定手段は、ユーザの利用履歴情報に基づいて、前記電子データのアップロード先とすべきサーバを判定することを特徴とする請求項8に記載の終端サーバ。
- 前記判定手段は、前記中継サーバの状態に基づいて、前記電子データのアップロード先とすべきサーバを判定することを特徴とする請求項8に記載の終端サーバ。
- クライアント機器と中継サーバと終端サーバとが互いに接続された情報処理システムであって、
前記クライアント機器と前記中継サーバと前記終端サーバとの間で夫々通信する通信手段と、
前記クライアント機器からの電子データのアップロードリクエストに基づいて、利用可能な前記中継サーバと前記終端サーバの中から該電子データのアップロード先とすべきサーバを判定する判定手段と、
前記判定手段で判定したサーバの情報を、前記通信手段を介して前記クライアント機器に送信する送信手段と、
を備えたことを特徴とする情報処理システム。 - クライアント機器と中継サーバと終端サーバとが互いに接続された情報処理システムであって、
前記クライアント機器と前記中継サーバと前記終端サーバとの間で夫々通信する通信手段と、
前記クライアント機器からの電子データのダウンロードリクエストに基づいて、該電子データを記憶している前記中継サーバと前記終端サーバの中から該電子データのダウンロード元とすべきサーバを判定する判定手段と、
前記判定手段で判定したサーバの情報を、前記通信手段を介して前記クライアント機器に送信する送信手段と、
を備えたことを特徴とする情報処理システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015056089A JP2016177444A (ja) | 2015-03-19 | 2015-03-19 | 中継サーバ、終端サーバ、及び情報処理システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015056089A JP2016177444A (ja) | 2015-03-19 | 2015-03-19 | 中継サーバ、終端サーバ、及び情報処理システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016177444A true JP2016177444A (ja) | 2016-10-06 |
Family
ID=57071360
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015056089A Pending JP2016177444A (ja) | 2015-03-19 | 2015-03-19 | 中継サーバ、終端サーバ、及び情報処理システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2016177444A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018093288A (ja) * | 2016-11-30 | 2018-06-14 | 京セラドキュメントソリューションズ株式会社 | 情報処理装置、情報処理システム、及び情報処理方法 |
JP2019028744A (ja) * | 2017-07-31 | 2019-02-21 | 株式会社東芝 | データ処理システム、データ処理方法およびプログラム |
JP2020102166A (ja) * | 2018-12-25 | 2020-07-02 | キヤノン株式会社 | 画像処理システム、画像処理方法、プログラム、画像処理装置、情報処理装置 |
WO2020240769A1 (ja) * | 2019-05-30 | 2020-12-03 | 三菱電機株式会社 | 接続管理装置、接続管理システム、接続管理方法及びプログラム |
-
2015
- 2015-03-19 JP JP2015056089A patent/JP2016177444A/ja active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018093288A (ja) * | 2016-11-30 | 2018-06-14 | 京セラドキュメントソリューションズ株式会社 | 情報処理装置、情報処理システム、及び情報処理方法 |
JP2019028744A (ja) * | 2017-07-31 | 2019-02-21 | 株式会社東芝 | データ処理システム、データ処理方法およびプログラム |
JP6990060B2 (ja) | 2017-07-31 | 2022-01-12 | 株式会社東芝 | データ処理システム、データ処理方法およびプログラム |
JP2020102166A (ja) * | 2018-12-25 | 2020-07-02 | キヤノン株式会社 | 画像処理システム、画像処理方法、プログラム、画像処理装置、情報処理装置 |
JP7277128B2 (ja) | 2018-12-25 | 2023-05-18 | キヤノン株式会社 | 画像処理システム、画像処理方法、プログラム、画像処理装置、情報処理装置 |
WO2020240769A1 (ja) * | 2019-05-30 | 2020-12-03 | 三菱電機株式会社 | 接続管理装置、接続管理システム、接続管理方法及びプログラム |
JPWO2020240769A1 (ja) * | 2019-05-30 | 2020-12-03 | ||
EP3979084A4 (en) * | 2019-05-30 | 2022-06-22 | Mitsubishi Electric Corporation | CONNECTION MANAGEMENT DEVICE, CONNECTION MANAGEMENT SYSTEM, CONNECTION MANAGEMENT METHOD AND PROGRAM |
JP7258131B2 (ja) | 2019-05-30 | 2023-04-14 | 三菱電機株式会社 | 接続管理装置、接続管理システム、接続管理方法及びプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9749480B1 (en) | Method that performs from scanning to storing scan data using scan cloud ticket | |
JP6123394B2 (ja) | 定義情報作成システム、情報処理装置 | |
US8570574B2 (en) | Processing system, control method, and storage medium therefor | |
JP6102264B2 (ja) | 処理実行システム、情報処理装置、プログラム | |
JP6264330B2 (ja) | 通信システム、通信中継装置およびプログラム | |
JP6056795B2 (ja) | 画像処理システム、ゲートウェイ装置、ゲートウェイ装置の制御方法、ゲートウェイ装置の制御プログラム | |
JP6601105B2 (ja) | 管理システム、通信システム、及びコンピュータプログラム | |
JP7250471B2 (ja) | 情報処理システム、画像形成装置、端末、情報処理方法、プログラム | |
JP2016177444A (ja) | 中継サーバ、終端サーバ、及び情報処理システム | |
JP2012253514A (ja) | 画像入力システム、サーバ装置、サーバ装置の制御方法、及び制御プログラム | |
JP6547717B2 (ja) | 電子機器及びアプリケーション制御プログラム | |
US10922033B2 (en) | Information processing apparatus transmitting requests and communication apparatus receiving the requests | |
US9398099B2 (en) | Information processing apparatus for executing processing in response to request from external device, control method of information processing apparatus, and storage medium | |
JP6579089B2 (ja) | 電子機器及びアプリケーション制御プログラム | |
US9531905B2 (en) | Scanner that is capable of uploading scan data in a target area within a data storage server | |
JP6171346B2 (ja) | 情報処理装置、処理実行方法、プログラム | |
JP2011066550A (ja) | ジョブ管理システム、情報処理装置、情報処理方法 | |
US9736329B2 (en) | Method that performs from scanning to storing scan data using scan job ticket | |
JP6672945B2 (ja) | 情報処理システム、端末装置、情報処理装置及びプログラム | |
JP2006252321A (ja) | 電子文書管理システム、プリント設定装置、プリント履歴装置、画像形成装置、プリント設定サービス装置、仮文書保管サービス装置及び制御プログラム | |
JP7309418B2 (ja) | 通信装置、通信装置の制御方法及びプログラム | |
US9571677B2 (en) | Image processing apparatus and non-transitory computer readable medium | |
JP4412371B2 (ja) | データ送信システム、宛先管理装置、データ送信装置、アドレス帳取得方法及びプログラム | |
JP7005192B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
JP6508246B2 (ja) | 処理実行システム |