(57)【要約】【課題】サーバ、クライアントの処理の途中結果を保存しておき、サーバ、クライアントでの処理を開始する際に処理の途中結果を取得することにより、処理結果を利用した計算量削減を可能にすると共に、ユーザの要求に応じて最新の処理結果を提供する。【解決手段】クライアント端末が、データをデータ処理サーバに送信する送信時間を推定し、自己の処理能力に基づいて、データの処理に必要な時間を予測して、推定された送信時間内に、複数の処理のうち、一部の処理を実行可能な場合に、該一部の処理を実行する。次に、少なくとも上記一部の処理を実行する時に、複数の処理を要するデータをデータ処理サーバに送信し、処理結果を格納する。データ処理サーバは、格納した処理結果を取得し、取得した処理結果に基づいて、後続の処理を実行して、その処理結果を格納する。【選択図】図４
2014167685.tif 000002
【特許請求の範囲】
【請求項１】
複数の処理を要するデータの処理をクライアント端末とデータ処理サーバとで協働して実行するデータ処理システムであって、
前記クライアント端末が、
前記データを前記データ処理サーバに送信する送信時間を推定する送信時間推定手段と、
自己の処理能力に基づいて、前記データの処理に必要な時間を予測する処理時間予測手段と、
前記推定された送信時間内に、前記複数の処理のうち、一部または全部の処理を実行可能な場合に、該一部または全部の処理を実行する第１のデータ処理手段と、
少なくとも前記第１のデータ処理手段の起動時に、前記複数の処理を要するデータを前記データ処理サーバに送信する送信手段と、
前記第１のデータ処理手段の処理結果を格納装置に格納する第１の格納手段と、
を備え、
前記データ処理サーバが、
前記格納装置から前記処理結果を取得する取得手段と、
該取得した処理結果に基づいて、後続の処理を実行する第２のデータ処理手段と、
前記第２のデータ処理手段の処理結果を前記格納装置に格納する第２の格納手段と、
を備えたことを特徴とするデータ処理システム。
【請求項２】
前記複数の処理を要するデータの処理が画像認識処理であることを特徴とする請求項１に記載のデータ処理システム。
【請求項３】
前記複数の処理を要するデータの処理が画像管理処理であることを特徴とする請求項１に記載のデータ処理システム。
【請求項４】
前記複数の処理を要するデータの処理が画像検索処理であることを特徴とする請求項１に記載のデータ処理システム。
【請求項５】
前記複数の処理を要するデータの処理が位置情報を用いた行動分析処理であることを特徴とする請求項１に記載のデータ処理システム。
【請求項６】
前記送信時間推定手段が、送信する情報の容量と現在の通信速度から送信時間を推定することを特徴とする請求項１に記載のデータ処理システム。
【請求項７】
前記送信時間推定手段が、オンライン、オフラインの情報から送信時間を推定することを特徴とする請求項１に記載のデータ処理システム。
【請求項８】
前記送信時間推定手段が、電波強度あるいは利用しているネットワークの情報から送信時間を推定することを特徴とする請求項１に記載のデータ処理システム。
【請求項９】
前記送信時間推定手段が、行動履歴からその時間帯の送信時間を推定することを特徴とする請求項１に記載のデータ処理システム。
【請求項１０】
前記送信時間推定手段が、位置情報及び進行方向からその後の通信速度を予測し送信時間を推定することを特徴とする請求項１に記載のデータ処理システム。
【請求項１１】
前記処理時間予測手段が、処理毎に処理時間の定数値を設定しておくにより、処理時間を予測することを特徴とする請求項６から請求項１０のいずれかに記載のデータ処理システム。
【請求項１２】
前記処理時間予測手段が、ＣＰＵ使用率とデータの処理量から処理時間を予測することを特徴とする請求項６から請求項１０のいずれかに記載のデータ処理システム。
【請求項１３】
前記処理時間予測手段が、過去に処理を実行した際のＣＰＵ使用率と処理時間から以降の処理時間を予測することを特徴とする請求項６から請求項１０のいずれかに記載のデータ処理システム。
【請求項１４】
複数の処理を要するデータの処理をクライアント端末とデータ処理サーバとで協働して実行するデータ処理方法であって、
前記クライアント端末が、前記データを前記データ処理サーバに送信する送信時間を推定する第１のステップと、
前記クライアント端末が、自己の処理能力に基づいて、前記データの処理に必要な時間を予測する第２のステップと、
前記クライアント端末が、前記推定された送信時間内に、前記複数の処理のうち、一部または全部の処理を実行可能な場合に、該一部または全部の処理を実行する第３のステップと、
前記クライアント端末が、少なくとも前記第３のステップの起動時に、前記複数の処理を要するデータを前記データ処理サーバに送信する第４のステップと、
前記クライアント端末が、前記第３のステップの処理結果を格納する第５のステップと、
前記データ処理サーバが、前記第３のステップの前記処理結果を取得する第６のステップと、
前記データ処理サーバが、該取得した処理結果に基づいて、後続の処理を実行する第７のステップと、
前記データ処理サーバが、前記第７のステップの処理結果を格納する第８のステップと、
を備えたことを特徴とするデータ処理方法。
【請求項１５】
複数の処理を要するデータの処理をクライアント端末とデータ処理サーバとで協働して実行するデータ処理方法をコンピュータに実行させるためのプログラムであって、
前記クライアント端末が、前記データを前記データ処理サーバに送信する送信時間を推定する第１のステップと、
前記クライアント端末が、自己の処理能力に基づいて、前記データの処理に必要な時間を予測する第２のステップと、
前記クライアント端末が、前記推定された送信時間内に、前記複数の処理のうち、一部または全部の処理を実行可能な場合に、該一部または全部の処理を実行する第３のステップと、
前記クライアント端末が、少なくとも前記第３のステップの起動時に、前記複数の処理を要するデータを前記データ処理サーバに送信する第４のステップと、
前記クライアント端末が、前記第３のステップの処理結果を格納する第５のステップと、
前記データ処理サーバが、前記第３のステップの前記処理結果を取得する第６のステップと、
前記データ処理サーバが、該取得した処理結果に基づいて、後続の処理を実行する第７のステップと、
前記データ処理サーバが、前記第７のステップの処理結果を格納する第８のステップと、
をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク状況を考慮してサーバ、クライアントでの処理を動的に切り替え、途中処理結果を利用した計算量削減を行うことにより、ユーザに対する最適な応答時間を提供するデータ処理システム、データ処理方法およびプログラムに関する。
【背景技術】
【０００２】
従来より、計算量の多い処理を処理能力に優れるサーバで担当し、処理結果をクライアントで受け取ることにより処理を進めるサーバ−クライアントシステムが存在する（例えば、特許文献１参照。）。しかし、近年クライアント端末がスマートフォン等のモバイル端末であることが増加しており、端末を使用する環境によっては通信速度が遅いあるいは通信不可となり、サーバへのタスク送信時間が増大することで処理時間が増大してしまうことがあった。
【０００３】
また、通信環境による処理時間の増大を防ぐために、サーバへタスクを送信すると共にクライアントでの処理を開始し、より速く結果が得られた方を採用するという方法が提案されている（例えば、特許文献２参照。）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−１３４３０２号公報
【特許文献２】特開２０１２−８９０４４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に係る技術では、サーバ、クライアントで処理する項目が静的であり、通信環境によってはタスクの送信時間が増大し、クライアントで処理を行うよりもかえって時間が掛かってしまう場合があった。また、特許文献２に係る技術では、サーバ、クライアントで同時に処理を開始することによりこの課題を解決しているが、同じ処理をサーバ、クライアントの双方で行なっているため、無駄が生じていた。
【０００６】
さらに、処理によっては計算の途中までで得られていた結果を基に不必要な処理を削減し、より高速に処理を行うことが可能であるが、特許文献２に係る技術では、サーバあるいはクライアントで得られた処理結果を基に計算量を削減する点は考慮されていない。
【０００７】
そこで、本発明は、上述の課題に鑑みてなされたものであり、サーバ、クライアントの処理の途中結果を保存しておき、サーバ、クライアントでの処理を開始する際に処理の途中結果を取得することにより、処理結果を利用した計算量削減を可能にすると共に、ユーザの要求に応じて最新の処理結果を提供するデータ処理システム、データ処理方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明は、上記の課題を解決するために、以下の事項を提案している。
【０００９】
（１）本発明は、複数の処理を要するデータの処理をクライアント端末とデータ処理サーバとで協働して実行するデータ処理システムであって、前記クライアント端末が、前記データを前記データ処理サーバに送信する送信時間を推定する送信時間推定手段と、自己の処理能力に基づいて、前記データの処理に必要な時間を予測する処理時間予測手段と、前記推定された送信時間内に、前記複数の処理のうち、一部または全部の処理を実行可能な場合に、該一部または全部の処理を実行する第１のデータ処理手段と、少なくとも前記第１のデータ処理手段の起動時に、前記複数の処理を要するデータを前記データ処理サーバに送信する送信手段と、前記第１のデータ処理手段の処理結果を格納装置に格納する第１の格納手段と、を備え、前記データ処理サーバが、前記格納装置から前記処理結果を取得する取得手段と、該取得した処理結果に基づいて、後続の処理を実行する第２のデータ処理手段と、前記第２のデータ処理手段の処理結果を前記格納装置に格納する第２の格納手段と、を備えたことを特徴とするデータ処理システムを提案している。
【００１０】
（２）本発明は、（１）のデータ処理システムについて、前記複数の処理を要するデータの処理が画像認識処理であることを特徴とするデータ処理システムを提案している。
【００１１】
（３）本発明は、（１）のデータ処理システムについて、前記複数の処理を要するデータの処理が画像管理処理であることを特徴とするデータ処理システムを提案している。
【００１２】
（４）本発明は、（１）のデータ処理システムについて、前記複数の処理を要するデータの処理が画像検索処理であることを特徴とするデータ処理システムを提案している。
【００１３】
（５）本発明は、（１）のデータ処理システムについて、前記複数の処理を要するデータの処理が位置情報を用いた行動分析処理であることを特徴とするデータ処理システムを提案している。
【００１４】
（６）本発明は、（１）のデータ処理システムについて、前記送信時間推定手段が、送信する情報の容量と現在の通信速度から送信時間を推定することを特徴とするデータ処理システムを提案している。
【００１５】
（７）本発明は、（１）のデータ処理システムについて、前記送信時間推定手段が、オンライン、オフラインの情報から送信時間を推定することを特徴とするデータ処理システムを提案している。
【００１６】
（８）本発明は、（１）のデータ処理システムについて、前記送信時間推定手段が、電波強度あるいは利用しているネットワークの情報から送信時間を推定することを特徴とするデータ処理システムを提案している。
【００１７】
（９）本発明は、（１）のデータ処理システムについて、前記送信時間推定手段が、行動履歴からその時間帯の送信時間を推定することを特徴とするデータ処理システムを提案している。
【００１８】
（１０）本発明は、（１）のデータ処理システムについて、前記送信時間推定手段が、位置情報及び進行方向からその後の通信速度を予測し送信時間を推定することを特徴とするデータ処理システムを提案している。
【００１９】
（１１）本発明は、（６）から（１０）のいずれかのデータ処理システムについて、前記処理時間予測手段が、処理毎に処理時間の定数値を設定しておくにより、処理時間を予測することを特徴とするデータ処理システムを提案している。
【００２０】
（１２）本発明は、（６）から（１０）のいずれかのデータ処理システムについて、前記処理時間予測手段が、ＣＰＵ使用率とデータの処理量から処理時間を予測することを特徴とするデータ処理システムを提案している。
【００２１】
（１３）本発明は、（６）から（１０）のいずれかのデータ処理システムについて、前記処理時間予測手段が、過去に処理を実行した際のＣＰＵ使用率と処理時間から以降の処理時間を予測することを特徴とするデータ処理システムを提案している。
【００２２】
（１４）本発明は、複数の処理を要するデータの処理をクライアント端末とデータ処理サーバとで協働して実行するデータ処理方法であって、前記クライアント端末が、前記データを前記データ処理サーバに送信する送信時間を推定する第１のステップと、前記クライアント端末が、自己の処理能力に基づいて、前記データの処理に必要な時間を予測する第２のステップと、前記クライアント端末が、前記推定された送信時間内に、前記複数の処理のうち、一部または全部の処理を実行可能な場合に、該一部または全部の処理を実行する第３のステップと、前記クライアント端末が、少なくとも前記第３のステップの起動時に、前記複数の処理を要するデータを前記データ処理サーバに送信する第４のステップと、前記クライアント端末が、前記第３のステップの処理結果を格納する第５のステップと、前記データ処理サーバが、前記複数の処理を要するデータを受け取った際に、前記第３のステップの前記処理結果を取得する第６のステップと、前記データ処理サーバが、該取得した処理結果に基づいて、後続の処理を実行する第７のステップと、前記データ処理サーバが、前記第７のステップの処理結果を格納する第８のステップと、を備えたことを特徴とするデータ処理方法を提案している。
【００２３】
（１５）本発明は、複数の処理を要するデータの処理をクライアント端末とデータ処理サーバとで協働して実行するデータ処理方法をコンピュータに実行させるためのプログラムであって、前記クライアント端末が、前記データを前記データ処理サーバに送信する送信時間を推定する第１のステップと、前記クライアント端末が、自己の処理能力に基づいて、前記データの処理に必要な時間を予測する第２のステップと、前記クライアント端末が、前記推定された送信時間内に、前記複数の処理のうち、一部または全部の処理を実行可能な場合に、該一部または全部の処理を実行する第３のステップと、前記クライアント端末が、少なくとも前記第３のステップの起動時に、前記複数の処理を要するデータを前記データ処理サーバに送信する第４のステップと、前記クライアント端末が、前記第３のステップの処理結果を格納する第５のステップと、前記データ処理サーバが、前記複数の処理を要するデータを受け取った際に、前記第３のステップの前記処理結果を取得する第６のステップと、前記データ処理サーバが、該取得した処理結果に基づいて、後続の処理を実行する第７のステップと、前記データ処理サーバが、前記第７のステップの処理結果を格納する第８のステップと、をコンピュータに実行させるためのプログラムを提案している。
【発明の効果】
【００２４】
本発明によれば、通信環境を取得する機能と、タスクの送信時間とクライアントでの処理時間とを予測する機能とを設け、サーバ、クライアントどちらで処理を行うかを動的に判定することにより、通信環境によらずユーザに対して最適な応答時間を実現することが可能になるという効果がある。また、サーバ、クライアントの処理の途中結果を保存しておき、サーバ、クライアントでの処理を開始する際に処理の途中結果を取得することにより、処理結果を利用した計算量削減を可能にすると共に、ユーザの要求に応じて最新の処理結果を提供可能になるという効果がある。
【図面の簡単な説明】
【００２５】
【図１】本発明の実施形態に係るデータ処理システムの構成を示す図である。
【図２】本発明の実施形態に係るクライアント端末の構成を示す図である。
【図３】本発明の実施形態に係るデータ処理サーバの構成を示す図である。
【図４】本発明の実施形態に係るデータ処理システムの処理を示す図である。
【発明を実施するための形態】
【００２６】
以下、本発明の実施形態について、図面を用いて、詳細に説明する。
なお、本実施形態における構成要素は適宜、既存の構成要素等との置き換えが可能であり、また、他の既存の構成要素との組合せを含む様々なバリエーションが可能である。したがって、本実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。
【００２７】
図１から図４を用いて、本実施形態に係るデータ処理システムについて説明する。
【００２８】
＜データ処理システムの構成＞
本実施形態に係るデータ処理システムは、図１に示すように、クライアント端末１００と、データ処理サーバ２００とから構成されている。本システムは、データ処理サーバ２００へのタスク送信時間を予測した上で、タスクの送信中に一部の処理をクライアント端末１００側で先行して実行し、クライアント端末１００での処理結果を利用して不必要な処理を削減することで、データ処理サーバ１００の計算リソースを節約すると共に最短の応答時間を実現する。
【００２９】
具体的には、クライアント端末１００に格納装置を設け、クライアント端末１００で先行して実行した処理の結果を適宜格納しておく。そして、データ処理サーバ２００へのタスク送信が完了した後、クライアント端末１００で先行して実行した処理の結果が存在するかどうかを確認し、処理結果が存在する場合には当該処理結果をデータ処理サーバ２００へ送信する。
【００３０】
ここで、処理結果の送信はタスクの送信及び処理に比べて短時間で実行できるという前提に基づいている。これは、一般的に計算タスクのデータ量に比べてその処理結果は少ないデータ量で表せるためである。例えば画像認識の処理を例に取ると、認識結果は数個の数値、あるいは文字列で表すことができ、計算に必要な画像の送信に比べて短時間で処理結果の送信が可能である。
【００３１】
更に、途中処理結果をクライアント端末１００に適宜保存しておくことで、全体の計算処理が未完了の状態でユーザからの操作指示があった場合でも、現時点で得られる計算結果を利用することで待ち時間を発生させることなく、それまで行った処理を有効に活用することができる。
【００３２】
＜クライアント端末の構成＞
図２に示すように、本実施形態に係るクライアント端末１００は、送信時間推定部１１０と、処理時間予測部１２０と、第１のデータ処理部１３０と、送信部１４０と、第１の格納部１５０とから構成されている。
【００３３】
送信時間推定部１１０は、データをデータ処理サーバ２００に送信する送信時間を推定する。処理時間予測部１２０は、自己の処理能力に基づいて、データの処理に必要な時間を予測する。なお、送信時間推定部１１０の推定方法としては、送信する情報の容量と現在の通信速度から送信時間を推定する、オンライン、オフラインの情報から送信時間を推定する、電波強度、利用しているネットワーク（３Ｇ（第３世代移動通信システム）、ＷｉＦｉ）の情報から送信時間を推定する、行動履歴からその時間帯の送信時間を推定する、位置情報及び進行方向からその後の通信速度を予測し送信時間を推定する等がある。また、処理時間予測部１２０の予測方法としては、処理毎に処理時間の定数値を設定しておく、ＣＰＵ使用率と問題の処理量から処理時間を推測する、一度実際にユーザの端末で処理を実行した際のＣＰＵ使用率と処理時間から以降の処理時間を推測する等が考えられる。
【００３４】
第１のデータ処理部１３０は、推定された送信時間内に、複数の処理のうち、一部または全部の処理を実行可能な場合に、その一部または全部の処理を実行する。送信部１４０は、第１のデータ処理部１３０の起動時に、複数の処理を要するデータをデータ処理サーバ２００に送信する。ただし、第１のデータ処理部１３０の起動時のタイミング以外、例えば、第１のデータ処理部１３０の起動時以前にすべてのデータを送信しておき、第１のデータ処理部１３０の起動時に、どこのデータまでの処理が終了しているのかといった情報のみを送信してもよい。あるいは、推定された送信時間以内に第１のデータ処理部で全ての処理が完了できる場合、例えば、オフライン時には、送信時間が無限大と推定され、クライアント端末ですべてに処理を完了できると判断した場合等には、送信を行わなくてもよい。第１の格納部１５０は、第１のデータ処理部１３０の処理結果を格納する。なお、第１の格納部１５０には、あるまとまった処理毎の処理結果を格納してもよいし、過去に行った処理の処理結果を一定量格納しておいてもよい。
【００３５】
＜データ処理サーバの構成＞
図３に示すように、本実施形態に係るデータ処理サーバ２００は、取得部２１０と、第２のデータ処理部２２０と、第２の格納部２３０とから構成されている。
【００３６】
取得部２１０は、格納装置から処理結果を取得する。第２のデータ処理部２２０は、取得した処理結果に基づいて、後続の処理を実行する。第２の格納部２３０は、第２のデータ処理部２３０の処理結果を格納する。
【００３７】
＜データ処理システムの処理＞
図４を用いて、本実施形態に係るデータ処理システムの処理について説明する。
【００３８】
まず、クライアント端末１００は、データをデータ処理サーバ２００に送信する送信時間を推定し（ステップＳ１１０）、自己の処理能力に基づいて、データの処理に必要な時間を予測する（ステップＳ１２０）。次に、推定された送信時間内に、複数の処理のうち、一部または全部の処理を実行可能な場合に、一部または全部の処理を実行し（ステップＳ１３０）、ステップＳ１３０の起動時に、複数の処理を要するデータをデータ処理サーバ２００に送信し（ステップＳ１４０）、ステップＳ１３０の処理結果を格納する（ステップＳ１５０）。
【００３９】
データ処理サーバ２００は、ステップＳ１３０の処理結果を取得し（ステップＳ１６０）、取得した処理結果に基づいて、後続の処理を実行して（ステップＳ１７０）、ステップＳ１７０の処理結果を格納する（ステップＳ１８０）。
【００４０】
以上、説明したように、本実施形態によれば、通信環境を取得する機能と、タスクの送信時間とクライアントでの処理時間とを予測する機能とを設け、サーバ、クライアントのどちらで処理を行うかを動的に判定することにより、通信環境によらずユーザに対して最適な応答時間を実現することが可能になる。
【００４１】
＜実施例１＞
本実施例では、上記のデータ処理システムを画像認識（顔領域、表情の認識）を活用した動画作成サービスに適用した場合について説明する。
【００４２】
ここでは、入力画像に対して（ａ）顔領域の検出、（ｂ）検出した顔の表情認識を実施し、予め作成された動画テンプレートに対し入力画像を自動で当てはめる動画作成システムを考える。
【００４３】
まず、クライアント端末１００の通信環境などから入力画像をデータ処理サーバ２００へ送信する際の時間を送信時間推定部１１０より算出する。（ａ）、（ｂ）をクライアント端末で処理する場合に必要な処理時間を処理時間予測部１２０より予測する。（ａ）、（ｂ）の処理の内、前記推定した送信時間以内に完了できると判断される処理が存在しない場合、クライアント端末１００での処理は行わず、入力画像の送信を開始し、（ａ）、（ｂ）の処理をサーバで実施する。 
【００４４】
（ａ）、（ｂ）の処理の内、前記推定した送信時間以内に全ての処理が完了できると判断される場合、入力画像のデータ処理サーバ２００への送信は行わず、クライアント端末１００で全ての処理を実行する。
【００４５】
（ａ）、（ｂ）の処理の内、推定した送信時間以内に（ａ）の処理が完了できると判断される場合、入力画像のデータ処理サーバ２００への送信を開始すると共に、クライアント端末１００で（ａ）の処理を実行する。処理結果は処理結果第１の格納部１５０に保存する。 
【００４６】
上記の場合、入力画像のデータ処理サーバ２００への送信が完了した時点で、クライアント端末１００の第１の格納部１５０より、処理（ａ）の処理結果を取得し、検出した顔領域のみ表情認識を開始する。これにより最適な処理時間を実現しつつ、データ処理サーバ２００の計算処理を削減する。ここで、顔領域は顔を囲む図形の頂点である数個の数値で表せ、入力画像の送信、処理時間に比べ軽微な時間で送信が可能であるという前提に基づく。 
【００４７】
処理（ａ）、（ｂ）の結果は、処理（ａ）、（ｂ）がそれぞれ完了した時点でクライアント端末１００の第１の格納部に保存する。処理（ａ）、（ｂ）の結果を基に入力画像を動画テンプレートに当てはめ、動画の作成を行う。処理（ａ）、（ｂ）が完了していない場合でもユーザの動画視聴要求に応じて、動画の作成、プレビューを実行しても良い。
【００４８】
具体的には、（１）処理（ａ）が完了していない場合、入力画像を定位置に当てはめる。（２）処理（ａ）のみ完了している場合、顔の位置に応じて入力画像を適切な位置に当てはめる。（３）処理（ｂ）まで完了している場合、表情に応じて適切なテンプレートを選択し、顔位置に応じて入力画像を当てはめるなどの処理を行なっても良い。
【００４９】
また、上記において、入力画像を分割、あるいは縮小した上で段階的に拡大し、処理（ａ）を処理（ａ）−１、（ａ）−２、・・・・、（ａ）−ｎとｎ個に分割した上で、の送信時間以内に完了出来る処理（処理（ａ）−１〜（ａ）−ｍ（ｎ＜ｍ））までをクライアント端末で実行しておくのも良い。
【００５０】
＜実施例２＞
本実施例では、上記のデータ処理システムを入力画像に対して（ａ）顔領域の検出、（ｂ）検出した顔の特徴量の計算を行い、（ｃ）特徴量のデータベースと比較し検出した顔の人物名の特定を実施し、入力画像を分類・管理する画像管理システムを考える。
この時、処理（ｃ）人物名の特定に用いる、各人物の特徴量データベースについては、データ処理サーバ２００側にのみ存在すると仮定する。
【００５１】
クライアント端末１００の通信環境などから入力画像をデータ処理サーバ２００へ送信する際の時間を送信時間推定部１１０より算出する。（ａ）、（ｂ）をクライアント端末１００で処理する場合に必要な処理時間を処理時間予測部１２０より予測する。（ａ）、（ｂ）の処理の内、送信時間以内に完了できると判断される処理が存在しない場合、クライアント端末１００での処理は行わず、入力画像の送信を開始し、（ａ）、（ｂ）の処理をデータ処理サーバ２００で実施する。
【００５２】
（ａ）、（ｂ）の処理の内、送信時間以内に全ての処理が完了できると判断される場合、入力画像のサーバへの送信は行わず、クライアント端末で全ての処理を実行する。（ａ）、（ｂ）の処理の内、送信時間以内に（ａ）の処理が完了できると判断される場合、入力画像のサーバへの送信を開始すると共に、クライアント端末で（ａ）の処理を実行する。処理結果は処理結果格納部に保存する。
【００５３】
（ａ）、（ｂ）の処理の内、推定した送信時間以内に（ａ）の処理が完了できると判断される場合、入力画像のサーバへの送信が完了した時点で、クライアント端末１００の第１の格納部より処理（ａ）の処理結果を取得し、検出した顔領域の特徴量の計算を開始する。ここで、顔領域は顔を囲む図形の頂点である数個の数値で表せ、入力画像の送信、処理時間に比べ軽微な時間で送信が可能であるという前提に基づく。
【００５４】
推定した送信時間以内に完了できると判断される処理が存在しない場合、あるいは、推定した送信時間以内に（ａ）の処理が完了できると判断される場合、続けてデータ処理サーバ２００側で（ｃ）の処理を実行し、入力画像の分類を行う。推定した送信時間以内に全ての処理が完了できると判断される場合、計算した入力画像の特徴量をデータ処理サーバ２００へ送信し、（ｃ）の処理を実行し、入力画像の分類を行う。
【００５５】
処理（ｃ）人物名の特定に用いる、各人物の特徴量データベースについては、データ処理サーバ２００側にのみ存在するとした特徴量データベースの全て、あるいは一部をクライアント端末１００の第１の格納部１５０に保存しておいても良い。そのとき、推定した送信時間以内に全ての処理が完了できると判断される場合、計算した入力画像の特徴量データの送信時間と特徴量比較の処理時間とを比較してデータ処理サーバ２００、クライアント端末１００の処理を適切に切替ることができる。あるいは、推定した送信時間以内に完了できると判断される処理が存在しない場合、推定した送信時間以内に（ａ）の処理が完了できると判断される場合であっても入力画像の特徴量データをデータ処理サーバ２００あるいはクライアント端末１００に送信し、（ｃ）の処理を並列に実行しても良い。また、人物名の検出による管理・分類以外にも、単なる画像の特徴量、物体認識結果などから管理・分類を行なっても良い。
【００５６】
＜実施例３＞
本実施例では、上記のデータ処理システムをクライアント端末から入力した画像を基に類似した画像をインターネット上の画像から検索するシステムを考える。なお、検索対象であるインターネット上の大量の画像の特徴量データベースはデータ処理サーバのみに存在しているとする。
【００５７】
入力画像の特徴量の計算までをデータ処理サーバ２００、あるいはクライアント端末１００で適切に実行し、計算した特徴量のデータ処理サーバ２００への送信を開始する。ここで、インターネット上の大量の画像の特徴量データベースをクライアント端末１００に保存することは不可能であるため、送信時間にかかわらず、データ処理サーバ２００への送信及びデータ処理サーバ２００での検索処理は必ず実行されるものとする。また、クライアント端末２００は、ユーザが過去に実行した画像検索に用いた入力画像の特徴量データを第１の格納部１５０に保存しておいても良い。以降はいくつかの特徴量データがクライアント端末１００に存在しているとする。
【００５８】
次に、送信時間を送信時間推定部１１０より推定する。つまり、入力画像の特徴量データとクライアント端末１００に保存された特徴量データの全てあるいは一つと比較する処理の時間を処理時間推定部１２０より推定する。
【００５９】
推定した送信時間と処理時間を比較し、処理時間の方が短い場合にはクライアント端末１００で特徴量比較処理を実行し、検索結果を提示する。なお、処理時間については、データ処理サーバに検索処理を依頼する場合のタイムアウト時間として一定値を設定しておいても良い。
【００６０】
＜実施例４＞
本実施例では、上記のデータ処理システムを時間軸に沿った大量の位置情報に基づき、単位時間あたりの行動を推測するシステムを考える。位置情報を取得していた時間をｎ個の単位にそれぞれの時間に行なっていた行動を推測するものとする。
【００６１】
単位時間データをクライアント端末１００で処理する場合に必要な処理時間Ｔｐを処理時間推定部１２０より推定する。ｘ個の単位時間データをサーバへ送信する際の時間Ｔｃ（ｘ）を送信時間推定部１１０より算出する。ここで通信環境は時間と共に変化するものとして、ｘ個の単位時間データを送信するのに要する時間を増加関数Ｔｃ（ｘ）で表した。
【００６２】
ここで、α個の単位時間データをデータ処理サーバ２００へ送信し、残りをクライアント端末１００で処理を行うとすると、送信時間はＴｃ(α)、クライアント端末１００での処理時間は（ｎ−α）Ｔｐで表せる。Ｔｃ（１）＜ｎＴｐの場合、１単位時間データを送信する時間以内にクライアント端末１００での処理を全て完了できると考えられるため、データ処理サーバ２００へのデータ送信は行わず、全ての処理をクライアント端末１００で実行する。
【００６３】
上記以外の場合、（クライアント端末での処理時間）＜（送信時間）、すなわち（ｎ−α）Ｔｐ＜Ｔｃ(α)を満たす最小のαを算出し、α個の単位時間データをデータ処理サーバ２００へ送信し、残りのデータをクライアント端末１００で処理する。これにより最適な処理時間を実現しつつ、データ処理サーバの計算処理を削減する。
【００６４】
行動分析の処理結果をクライアント端末１００の第１の格納部１５０へ保存する。ここで、位置情報データを処理した際の処理結果は推定された行動を示すフラグのみで表せ、処理結果は送信時間、処理時間に比べ軽微な時間で送信が可能であるという前提に基づく。ここで、位置情報を用いた行動分析の他に、手書き情報を用いた文字認識、加速度センサを用いたジェスチャー認識、行動ログを用いた嗜好・性格分析などに用いても良い。
【００６５】
なお、データ処理システムの処理をコンピュータシステムが読み取り可能な記録媒体に記録し、この記録媒体に記録されたプログラムをクライアント端末およびデータ処理サーバに読み込ませ、実行することによって本発明のデータ処理システムを実現することができる。ここでいうコンピュータシステムとは、ＯＳや周辺装置等のハードウェアを含む。
【００６６】
また、「コンピュータシステム」は、ＷＷＷ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ）システムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
【００６７】
また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【００６８】
以上、この発明の実施形態につき、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【００６９】
１００；クライアント端末
１１０；送信時間推定部
１２０；処理時間予測部
１３０；第１のデータ処理部
１４０；送信部
１５０；第１の格納部
２００；データ処理サーバ
２１０；取得部
２２０；第２のデータ処理部
２３０；第２の格納部
【図１】
2014167685.tif 000003
【図２】
2014167685.tif 000004
【図３】
2014167685.tif 000005
【図４】
2014167685.tif 000006