(57)【要約】【課題】クライアント端末とサーバ装置における処理リソースを有効活用することができる。【解決手段】本発明の一実施形態に係るサーバ装置は、所定の処理の要求を受け付けるクライアント端末１０と通信ネットワーク５を経由して接続されたサーバ装置５０であって、要求された特定の処理の内容を示す処理要求情報をクライアント端末１０から受信し、クライアント端末１０のスペックを示す端末情報２０に基づいて、処理要求情報に示される処理のうち、クライアント端末１０が実行する処理とサーバ装置５０が実行する処理の分担の割り当てを決定する。そして、サーバ装置５０は、クライアント端末１０に割り当てられた処理を示す分担情報をクライアント端末１０へ送信し、サーバ装置５０に割り当てられた処理を実行する。【選択図】図１４
2019160287.tif 000002
【特許請求の範囲】
【請求項１】
所定の処理の要求を受け付けるクライアント端末とネットワークを経由して接続されたサーバ装置であって、
前記クライアント端末から特定の処理の内容を示す処理要求情報を受信する第１の受信手段と、
前記クライアント端末のスペックを示す端末情報に基づいて、前記処理要求情報に示される処理のうち、前記クライアント端末が実行する処理と前記サーバ装置が実行する処理の分担の割り当てを決定する決定手段と、
前記クライアント端末に割り当てられた処理を示す分担情報を前記クライアント端末へ送信する第１の送信手段と、
前記サーバ装置に割り当てられた処理を実行する第１の処理手段と、
を備えるサーバ装置。
【請求項２】
前記第１の受信手段は、前記クライアント端末から前記処理要求情報とともに、前記端末情報を受信する、請求項１に記載のサーバ装置。
【請求項３】
前記クライアント端末と前記第１の処理手段とで割り当てられる処理は、前記クライアント端末と前記サーバ装置との間で並列して実行可能な処理である、請求項１または２に記載のサーバ装置。
【請求項４】
請求項１乃至３のいずれか一項に記載のサーバ装置であって、
前記決定手段は、前記サーバ装置の稼働状態を示す状態情報および前記端末情報に基づいて、前記クライアント端末が実行する処理と前記第１の処理手段が実行する処理の分担の割り当てを決定する、サーバ装置。
【請求項５】
請求項１乃至４のいずれか一項に記載のサーバ装置であって、
所定の処理の内容を示す処理情報と、前記クライアント端末と前記第１の処理手段との間における、前記処理情報に示される処理の分担比率とを関連づけた管理情報を記憶する記憶手段と、を備え、
前記決定手段は、前記端末情報と前記管理情報とに基づいて、前記クライアント端末が実行する処理と前記第１の処理手段が実行する処理の分担の割り当てを決定する、サーバ装置。
【請求項６】
請求項５に記載のサーバ装置であって、
前記記憶手段は、前記クライアント端末を識別するための端末識別情報ごとに、前記分担比率を記憶し、
前記第１の受信手段は、前記クライアント端末から、前記クライアント端末に割り当てられた処理に要した時間に関する端末処理情報を受信し、更に、
前記端末処理情報に基づいて、当該端末処理情報を送信したクライアント端末の前記端末識別情報に関連づけられた前記分担比率を更新する更新手段を備える、サーバ装置。
【請求項７】
請求項５に記載のサーバ装置であって、
前記記憶手段は、ユーザを識別するためのユーザ識別情報ごとに、前記分担比率を記憶し、
前記第１の受信手段は、前記クライアント端末から、前記クライアント端末に割り当てられた処理に関する前記ユーザの評価を示す評価情報を受信し、更に、
前記評価情報に基づいて、当該評価情報を入力したユーザの前記ユーザ識別情報に関連づけられた前記分担比率を更新する更新手段を備える、サーバ装置。
【請求項８】
所定の処理の要求を受け付けるクライアント端末であって、
特定の処理の内容を示す処理要求情報を、ネットワークを経由して接続されたサーバ装置へ送信する第２の送信手段と、
前記クライアント端末のスペックを示す端末情報に基づいて決定された、前記処理要求情報に示される処理のうち前記クライアント端末に割り当てられた処理を示す分担情報を、前記サーバ装置から受信する第２の受信手段と、
前記クライアント端末に割り当てられた処理を実行する第２の処理手段と、
前記第２の処理手段によって実行された処理結果と、前記サーバ装置によって実行された処理結果とを用いて、前記要求された処理に対する処理データを生成する生成手段と、
を備えるクライアント端末。
【請求項９】
所定の処理の要求を受け付けるクライアント端末で実行される情報処理方法であって、
特定の処理の内容を示す処理要求情報を、ネットワークを経由して接続されたサーバ装置へ送信する送信ステップと、
前記クライアント端末のスペックを示す端末情報に基づいて決定された、前記処理要求情報に示される処理のうち前記クライアント端末に割り当てられた処理を示す分担情報を、前記サーバ装置から受信する受信ステップと、
前記クライアント端末に割り当てられた処理を実行する処理ステップと、
前記クライアント端末によって実行された処理結果と、前記サーバ装置によって実行された処理結果とを用いて、前記要求された処理に対する処理データを生成する生成ステップと、を実行する情報処理方法。
【請求項１０】
コンピュータに請求項９に記載の情報処理方法を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバ装置、クライアント端末、情報処理方法およびプログラムに関する。
【背景技術】
【０００２】
近年、ＩｏＴ（Internet of Things）が注目されている。例えば、クラウドコンピューティングを中心とする大規模な通信システムが構築されている。この通信システムは、クライアント端末側で画像や音声のデータの処理要求を取得し、インターネットを介して取得した処理要求をサーバに送信してサーバ側で処理を行う。
【０００３】
また、クライアント端末とサーバとの間で、画像や音声のデータに対する処理を分担する技術が知られている。例えば、特許文献１は、クライアントが、ユーザが行った操作の情報と画像の情報から画像に対する関心度を算出し、算出した関心度に基づいて、サーバとクライアントのどちらで画像処理を行うのかを判定する構成を開示している。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、上記の方法では、クライアントとサーバのいずれか一方のみを用いて処理が行われるため、処理を行わないノード（クライアント端末またはサーバ装置）が存在する。そのため、従来の方法では、クライアント端末とサーバ装置における処理リソースを有効活用できていないという課題があった。
【課題を解決するための手段】
【０００５】
本発明に係るサーバ装置は、所定の処理の要求を受け付けるクライアント端末とネットワークを経由して接続されたサーバ装置であって、前記クライアント端末から特定の処理の内容を示す処理要求情報を受信する第１の受信手段と、前記クライアント端末のスペックを示す端末情報に基づいて、前記処理要求情報に示される処理の分担の割り当てを決定する決定手段と、前記クライアント端末に割り当てられた処理を示す分担情報を前記クライアント端末へ送信する第１の送信手段と、前記サーバ装置に割り当てられた処理を実行する第１の処理手段と、を備える。
【発明の効果】
【０００６】
本発明によれば、クライアント端末とサーバ装置における処理リソースを有効活用することができる。
【図面の簡単な説明】
【０００７】
【図１】第１の実施形態に係る情報処理システムのシステム構成の一例を示す図である。
【図２】第１の実施形態に係るクライアント端末のハードウエア構成の一例を示す図である。
【図３】第１の実施形態に係るサーバ装置のハードウエア構成の一例を示す図である。
【図４】第１の実施形態に係る情報処理システムの機能構成の一例を示す図である。
【図５】第１の実施形態に係るクライアント端末の端末情報の一例を示す図である。
【図６】第１の実施形態に係るアプリ処理情報の一例を示す図である。
【図７】第１の実施形態に係るサーバ装置の状態情報の一例を示す図である。
【図８】第１の実施形態に係る端末性能管理テーブルの一例を示す図である。
【図９】第１の実施形態に係るサーバ性能管理テーブルの一例を示す図である。
【図１０】第１の実施形態に係る処理分担管理テーブルの一例を示す図である。
【図１１】第１の実施形態に係る情報処理システムにおける情報処理方法の一例を示すシーケンス図である。
【図１２】第１の実施形態に係る通知情報の内容の概略の一例を示す図である。
【図１３】第１の実施形態に係るサーバ装置における処理分担の決定処理の一例を示すフローチャートである。
【図１４】第１の実施形態に係るクライアント端末とサーバ装置との間における処理分担の概略の一例を説明するための図である。
【図１５】第２の実施形態に係る処理分担管理テーブルの一例を示す図である。
【図１６】第２の実施形態に係る情報処理システムにおける情報処理方法の一例を示すシーケンス図である。
【図１７】第２の実施形態に係るサーバ装置における処理分担管理テーブルの更新処理の一例を示すフローチャートである。
【図１８】第３の実施形態に係る処理分担管理テーブルの一例を示す図である。
【図１９】第３の実施形態に係る情報処理システムにおける情報処理方法の一例を示すシーケンス図である。
【図２０】第３の実施形態に係る通知情報の内容の概略の一例を示す図である。
【図２１】第３の実施形態に係るユーザ評価画面の一例を示す図である。
【図２２】第３の実施形態に係るサーバ装置における処理分担管理テーブルの更新処理の一例を示すフローチャートである。
【発明を実施するための形態】
【０００８】
以下、図面を参照しながら、発明を実施するための形態を説明する。なお、図面の説明において同一要素には同一符号を付し、重複する説明は省略する。
【０００９】
●第１の実施形態●
●システム構成
図１は、第１の実施形態に係る情報処理システムのシステム構成の一例を示す図である。図１に示す情報処理システム１Ａは、通信ネットワーク５経由で接続されたクライアント端末１０とサーバ装置５０が連携して所定のアプリケーションの処理を実行することができるシステムである。また、情報処理システム１Ａは、ユーザから要求されたアプリケーション上の処理に対して、クライアント端末１０とサーバ装置５０の処理リソースを有効活用することができる。
【００１０】
情報処理システム１Ａは、クライアント端末１０とサーバ装置５０によって構成されている。クライアント端末１０およびサーバ装置５０は、通信ネットワーク５を介して通信可能に接続されている。
【００１１】
通信ネットワーク５は、インターネットまたはＬＡＮ（Local Area Network）等を用いた通信網である。なお、通信ネットワーク５は、ファイアウォールを介して、インターネットとイントラネットが接続された通信網であってもよい。
【００１２】
クライアント端末１０は、情報処理システム１Ａのユーザが利用するスマートフォン等の端末装置である。クライアント端末１０は、所定のアプリケーションをインストールしており、通信ネットワーク５を介して、サーバ装置５０と連携してアプリケーションの処理を実行する。
【００１３】
クライアント端末１０は、例えば、ＣＭＯＳセンサ１０５、１１２またはデジタルカメラ等の外部の撮像装置によって撮影された画像データに対して所定の画像処理を、サーバ装置５０と連携して実行する。画像処理は、例えば、画像データに対するぼかし処理、モザイク処理、マスキング処理、トリミング処理、物体認識処理（例えば、顔認識処理）、歪み補正等である。
【００１４】
なお、クライアント端末１０は、スマートフォンに限られず、例えば、携帯電話端末、タブレットＰＣ（Personal Computer）、ノートＰＣ、デスクトップＰＣ、ウェアラブルＰＣ、デジタルカメラ等の撮像装置であってもよい。
【００１５】
サーバ装置５０は、通信ネットワーク５を介してクライアント端末１０と連携してアプリケーションの処理を実行するサーバ装置である。サーバ装置５０は、クライアント端末１０にインストールされたアプリケーションに対応するクラウドアプリケーションを実行することができる。
【００１６】
なお、クライアント端末１０のアプリケーションとサーバ装置５０のアプリケーションによって実行される処理は、画像データに対する画像処理に限られず、クライアント端末１０のアプリケーションとサーバ装置５０のアプリケーションで共通して、または協働して実行可能な処理であればよい。
【００１７】
また、図１は、１台のクライアント端末１０が通信ネットワーク５を介してサーバ装置５０に接続されている例を説明したが、サーバ装置５０は、通信ネットワーク５を介して複数のクライアント端末１０と接続されている構成であってもよい。
【００１８】
●ハードウエア構成
続いて、図２および図３を用いて、第１の実施形態におけるクライアント端末１０およびサーバ装置５０のハードウエア構成を説明する。なお、図２および図３に示すハードウエア構成は、各実施形態において同様の構成を備えていてもよく、必要に応じて構成要素が追加または削除されてもよい。
【００１９】
〇クライアント端末のハードウエア構成
まず、図２を用いて、クライアント端末１０のハードウエア構成を説明する。図２は、第１の実施形態に係るクライアント端末のハードウエア構成の一例を示す図である。図２に示すように、クライアント端末１０は、ＣＰＵ（Central Processing Unit）１０１、ＲＯＭ(Read Only Memory)１０２、ＲＡＭ（Random Access Memory)１０３、ＥＥＰＲＯＭ（Electrically Erasable Programmable Read-Only Memory）１０４、ＣＭＯＳ(Complementary Metal Oxide Semiconductor)センサ１０５、撮像素子Ｉ／Ｆ１１３ａ、加速度・方位センサ１０６、メディアＩ／Ｆ１０８、ＧＰＳ（Global Positioning System）受信部１０９およびＧＰＵ（Graphics Processing Unit）１１０を備えている。
【００２０】
ＣＰＵ１０１は、クライアント端末１０全体の動作を制御する。ＲＯＭ１０２は、ＩＰＬ(Initial Program Loader)等のＣＰＵ１０１の駆動に用いられるプログラムを記憶する。ＲＡＭ１０３は、ＣＰＵ１０１のワークエリアとして使用される。ＥＥＰＲＯＭ１０４は、ＣＰＵ１０１の制御にしたがって、通信端末用プログラム等の各種データの読み出しまたは書き込みを行う。
【００２１】
ＣＭＯＳセンサ１０５は、ＣＰＵ１０１の制御に従って被写体（主に自画像）を撮像し画像データを得る。撮像素子Ｉ／Ｆ１１３ａは、ＣＭＯＳセンサ１１２の駆動を制御する回路である。加速度・方位センサ１０６は、地磁気を検知する電子磁気コンパス、ジャイロコンパスおよび加速度センサ等の各種センサである。メディアＩ／Ｆ１０８は、フラッシュメモリ等の記録メディア１０７に対するデータの読み出しまたは書き込み（記憶）を制御する。ＧＰＳ受信部１０９は、ＧＰＳ衛星からＧＰＳ信号を受信する。ＧＰＵ（Graphics Processing Unit）は、ＯｐｅｎＧＬなどのＡＰＩ（Application Programming Interface）に対応した演算機能を有し、高速な画像処理演算を実現可能としている。
【００２２】
また、クライアント端末１０は、遠距離通信回路１１１、アンテナ１１１ａ、ＣＭＯＳセンサ１１２、撮像素子Ｉ／Ｆ１１３ｂ、マイク１１４、スピーカ１１５、音入出力Ｉ／Ｆ１１６、ディスプレイ１１７、外部機器接続Ｉ／Ｆ１１８、近距離通信回路１１９、近距離通信回路１１９のアンテナ１１９ａ、タッチパネル１２０およびタイマ１２１を備えている。
【００２３】
遠距離通信回路１１１は、通信ネットワーク５を介して、他の機器と通信する回路である。ＣＭＯＳセンサ１１２は、ＣＰＵ１０１の制御に従って被写体を撮像して画像データを得る内蔵型の撮像手段の一種である。撮像素子Ｉ／Ｆ１１３ｂは、ＣＭＯＳセンサ１１２の駆動を制御する回路である。マイク１１４は、音声を入力する内蔵型の集音手段の一種である。音入出力Ｉ／Ｆ１１６は、ＣＰＵ１０１の制御に従ってマイク１１４およびスピーカ１１５との間で音信号の入出力を処理する回路である。
【００２４】
ディスプレイ１１７は、被写体の画像や各種アイコン等を表示する液晶や有機ＥＬ等の表示手段の一種である。外部機器接続Ｉ／Ｆ１１８は、各種の外部機器を接続するためのインターフェースである。近距離通信回路１１９は、Ｗｉ−Ｆｉ（登録商標）、ＮＦＣ（Near Field Communication）、またはＢｌｕｅｔｏｏｔｈ（登録商標）等の通信回路である。タッチパネル１２０は、利用者がディスプレイ１１７を押下することで、クライアント端末１０を操作する入力手段の一種である。タイマ１２１は、時間計測機能を有する計測装置である。タイマ１２１は、コンピュータによるソフトタイマであってもよい。
【００２５】
また、クライアント端末１０は、バスライン１２２を備えている。バスライン１２２は、ＣＰＵ１０１等の各構成要素を電気的に接続するためのアドレスバスやデータバス等である。
【００２６】
なお、上記各プログラムが記憶されたＨＤ(Hard Disk)やＣＤ−ＲＯＭ等の記録媒体は、いずれもプログラム製品(Program Product)として、国内または国外へ提供されることができる。
【００２７】
〇サーバ装置のハードウエア構成
続いて、図３を用いて、サーバ装置５０のハードウエア構成について説明する。図３は、第１の実施形態に係るサーバ装置５０のハードウエア構成の一例を示す図である。
【００２８】
サーバ装置５０は、一般的なコンピュータによって構築されている。サーバ装置５０は、ＣＰＵ５０１、ＲＯＭ５０２、ＲＡＭ５０３、ＨＤＤ(Hard Disk Drive)５０５、メディアＩ／Ｆ５０７、ディスプレイ５０８、ネットワークＩ／Ｆ５０９、キーボード５１１、マウス５１２、ＣＤ−ＲＷ（Compact Disc-ReWritable）ドライブ５１４、タイマ５１５およびバスライン５１０を備えている。なお、サーバ装置５０は、サーバとして機能するため、キーボード５１１やマウス５１２等の入力装置や、ディスプレイ５０８等の出力装置を備えていなくてもよい。
【００２９】
ＣＰＵ５０１は、サーバ装置５０全体の動作を制御する。ＲＯＭ５０２は、ＣＰＵ５０１の駆動に用いられるプログラムを記憶する。ＲＡＭ５０３は、ＣＰＵ５０１のワークエリアとして使用される。ＨＤＤ５０５は、ＣＰＵ５０１の制御にしたがってＨＤ５０４に対する各種データの読み出し、または書き込みを制御する。ＨＤ５０４は、プログラム等の各種データを記憶する。メディアＩ／Ｆ５０７は、フラッシュメモリ等の記録メディア５０６に対するデータの読み出し、または書き込み（記憶）を制御する。
【００３０】
ディスプレイ５０８は、カーソル、メニュー、ウィンドウ、文字、または画像等の各種情報を表示する。ネットワークＩ／Ｆ５０９は、通信ネットワーク５を利用してデータ通信をするためのインターフェースである。キーボード５１１は、文字、数値、各種指示等の入力のための複数のキーを備えた入力手段の一種である。マウス５１２は、各種指示の選択や実行、処理対象の選択、カーソルの移動等を行う入力手段の一種である。ＣＤ−ＲＷドライブ５１４は、着脱可能な記録媒体の一例としてのＣＤ−ＲＷ５１３に対する各種データの読み出し等を制御する。タイマ５１５は、時間計測機能を有する計測装置である。タイマ５１５は、コンピュータによるソフトタイマであってもよい。
【００３１】
また、サーバ装置５０は、バスライン５１０を備えている。バスライン５１０は、図３に示すＣＰＵ５０１等の各構成要素を電気的に接続するためのアドレスバスやデータバス等である。
【００３２】
●機能構成
続いて、第１の実施形態に係る情報処理システムの機能構成について説明する。図４は、第１の実施形態に係る情報処理システムの機能構成の一例を示す図である。なお、図４は、それぞれ一台のクライアント端末１０およびサーバ装置５０の機能構成を説明するが、情報処理システムを構成する他のクライアント端末１０および他のサーバ装置５０は、同様の機能構成を有する。
【００３３】
〇クライアント端末の機能構成〇
まず、図４を用いて、クライアント端末１０の機能構成について説明する。クライアント端末１０は、送受信部１１、入力受付部１２、表示制御部１３、判断部１４、通知情報作成部１５、アプリ実行部１６、計測部１７、記憶・読出部１８および記憶部１００を含む。
【００３４】
送受信部１１は、通信ネットワーク５を介して、サーバ装置５０と各種データの送受信を行う機能である。送受信部１１は、例えば、ユーザから要求された特定の処理の内容を示す処理要求情報とクライアント端末１０のスペックを示す端末情報２０とを含む通知情報２００Ａを、サーバ装置５０へ送信する。また、送受信部１１は、例えば、端末情報２０に基づいて決定された、処理要求情報に示される処理のうちクライアント端末１０に割り当てられた処理を示す分担情報を、サーバ装置５０から受信する。送受信部１１は、主に、図２に示したＣＰＵ１０１の処理、並びに遠距離通信回路１１１およびアンテナ１１１ａによって実現される。送受信部１１は、第２の送信手段の一例である。また、送受信部１１は、第２の受信手段の一例である。
【００３５】
入力受付部１２は、ユーザによる入力操作を受け付ける機能である。入力受付部１２は、例えば、ユーザの入力操作によって、所定の処理の要求を受け付ける。入力受付部１２は、主に、図２に示したタッチパネル１２０およびＣＰＵ１０１の処理によって実現される。なお、タッチパネル１２０は、ディスプレイ１１７と共用であってもよい。また、入力受付部１２は、タッチパネル１２０以外の入力手段によって実現されてもよい。
【００３６】
表示制御部１３は、クライアント端末１０のディスプレイ１１７に各種画像を表示させるための制御を行う機能である。表示制御部１３は、主に、図２に示したＣＰＵ１０１の処理によって実現される。
【００３７】
判断部１４は、クライアント端末１０にインストールされたアプリケーション上における各種判断を行う機能である。判断部１４は、主に、図２に示したＣＰＵ１０１の処理によって実現される。
【００３８】
通知情報作成部１５は、ユーザから要求された所定の画像データに対する処理要求の内容をサーバ装置５０へ通知するための通知情報２００Ａを作成（生成）する機能である。通知情報作成部１５は、例えば、入力受付部１２によって特定の処理の要求を受け付けた場合、要求された処理の内容を示す処理要求情報と、クライアント端末１０のスペックを示す端末情報２０とを含む通知情報２００Ａを作成（生成）する。通知情報作成部１５は、主に、図２に示したＣＰＵ１０１の処理によって実現される。
【００３９】
アプリ実行部１６は、クライアント端末１０にインストールされた所定のアプリケーションを実行する機能である。所定のアプリケーションは、例えば、画像データに対して特定の画像処理を施すためのアプリケーションである。
【００４０】
アプリケーションは、例えば、撮影手段によって撮影された画像データに含まれる人物の顔を認識する顔認識処理を実行する。また、アプリケーションは、例えば、撮影手段によって撮影された画像データに含まれる特定の人物の顔を検出し、検出した顔以外の顔にぼかしを入れるぼかし処理を実行する。さらに、アプリケーションは、例えば、撮影手段によって撮影された画像データに含まれる人物や建物等に基づいて、画像データが撮影された位置（場所）を特定する位置特定処理を実行する。なお、アプリケーションによって実行される処理は、上記に限られない。また、クライアント端末１０は、一つのアプリケーションによって複数の処理を実行させてもよい。なお、アプリケーションは、クライアント端末１０と通信ネットワーク５を介して接続された、各種アプリケーション（コンテンツ）を提供する所定のウエブサーバから取得され、クライアント端末１０にインストールされる。
【００４１】
アプリ実行部１６は、アプリ処理部２１とデータ統合部２２を含む。アプリ処理部２１は、アプリケーション上において、ユーザから要求された処理を実行する機能である。アプリ処理部２１は、例えば、サーバ装置５０から送信された、処理対象のデータに対する処理の分担の割り当てに応じて、クライアント端末１０に割り当てられた処理を実行する。アプリ処理部２１は、主に、図２に示したＣＰＵ１０１によって実行されるプログラム等により実現される。アプリ処理部２１は、第２の処理手段の一例である。
【００４２】
データ統合部２２は、クライアント端末１０で実行された処理の結果と、サーバ装置５０で実行された処理の結果の統合処理を行い、要求された処理に対する処理結果となる処理データを生成する機能である。データ統合部２２は、主に、図２に示したＣＰＵ１０１によって実行されるプログラム等により実現される。データ統合部２２は、生成手段の一例である。
【００４３】
計測部１７は、アプリ処理部２１における処理に要した時間を計測する機能である。計測部１７は、主に、図２に示したＣＰＵ１０１の処理、およびタイマ１２１によって実現される。
【００４４】
記憶・読出部１８は、記憶部１００に各種データを記憶させ、または記憶部１００から各種データを読み出す機能である。記憶・読出部１８は、主に、図２に示したＣＰＵ１０１の処理によって実現される。記憶部１００は、主に、図２に示したＲＯＭ１０２、ＥＥＰＲＯＭ１０４および記録メディア１０７によって実現される。また、記憶部１００は、端末情報２０およびアプリ処理情報３０を記憶している。
【００４５】
○端末情報
続いて、記憶部１００に記憶されたデータの詳細について説明する。図５は、第１の実施形態に係るクライアント端末の端末情報の一例を示す図である。端末情報２０は、クライアント端末１０のコンピュータリソース（項目）のスペック（仕様値）を示す情報である。端末情報２０は、クライアント端末１０のコンピュータリソース（項目）ごとに、固有に定められる情報である。
【００４６】
図５に示す端末情報２０は、ＣＰＵの種別がＳｎａｐｄｒａｇｏｎ８４５、ＲＡＭの容量が４ＧＢ、ＧＰＵの種別がＡｄｒｅｎｏ５４０というクライアント端末１０のスペックを示す情報を含む。端末情報２０に含まれる「項目」に対応するスペック（仕様値）は、これに限られない。各項目のスペック（仕様値）の情報は、ＣＰＵの場合には、コア数や動作周波数等、ＲＡＭの場合には、動作周波数や転送速度等、ＧＰＵの場合には、搭載の有無、コアクロック、メモリクロック、ＶＲＭ（Voltage Regulator Module）の容量等であってもよい。
【００４７】
なお、本実施形態は、クライアント端末１０が、所定の画像データと、その所定の画像データへの処理要求を示す処理要求情報とともに端末情報２０をサーバ装置５０へ送信する例を説明するが、端末情報２０は、予めサーバ装置５０に記憶されていてもよい。この場合、サーバ装置５０は、クライアント端末１０ごとの端末情報２０を予め記憶している。また、端末情報２０は、クライアント端末１０のスペック（仕様値）を示す情報だけでなく、クライアント端末１０のコンピュータリソースの稼働状態を示す情報を含んでもよい。
【００４８】
〇アプリ処理情報
図６は、第１の実施形態に係るアプリ処理情報の一例を示す図である。図６に示すアプリ処理情報３０は、クライアント端末１０にインストールされたアプリケーション上における画像処理に用いられる情報である。図６に示すアプリ処理情報３０は、アプリケーション上における画像処理として、処理対象となる画像データに含まれる人物の顔を照合する処理（顔照合処理）が実行される場合に用いられる情報である。
【００４９】
図６に示すアプリ処理情報３０は、特徴量と登録名称とを関連づけて記憶している。特徴量は、画像データに含まれる人物の顔を識別するための特徴量を示す。また、登録名称は、それぞれの特徴量を識別するための識別情報である。識別情報は、予め登録された名称や記号等である。
【００５０】
なお、クライアント端末１０は、アプリケーションで実行される画像処理ごとに特有のアプリ処理情報３０を保持していてもよい。また、アプリケーションで実行される画像処理は、アプリ処理情報３０を用いない処理があってもよい。
【００５１】
〇サーバ装置の機能構成〇
次に、図４を用いて、サーバ装置５０の機能構成について説明する。サーバ装置５０によって実現される機能は、送受信部５１、判断部５２、アプリ処理部５３、計測部５４、管理部５５、記憶・読出部５６および記憶部５００を含む。
【００５２】
送受信部５１は、通信ネットワーク５を介して、クライアント端末１０との間で各種データの送受信を行う機能である。送受信部５１は、例えば、クライアント端末１０から送信された通知情報２００Ａを受信する。また、送受信部５１は、例えば、判断部５２によって決定された、クライアント端末１０に割り当てられた処理を示す分担情報を、クライアント端末１０へ送信する。さらに、送受信部５１は、例えば、アプリ処理部５３によって実行された処理の結果を、クライアント端末１０へ送信する。送受信部５１は、例えば、図３に示したネットワークＩ／Ｆ５０９およびＣＰＵ５０１で実行されるプログラム等によって実現される。送受信部５１は、第１の受信手段の一例である。また、送受信部５１は、第１の送信手段の一例である。
【００５３】
判断部５２は、クライアント端末１０から送信された処理要求情報に示される画像処理に対して、クライアント端末１０とサーバ装置５０との間における処理分担を決定する機能である。具体的には、判断部５２は、端末情報２０に基づいて、要求された処理のうち、クライアント端末１０が実行する処理とサーバ装置５０が実行する処理の分担の割り当てを決定する。判断部５２は、主に、図３に示したＣＰＵ５０１の処理によって実現される。判断部５２は、決定手段の一例である。
【００５４】
アプリ処理部５３は、判断部５２によってサーバ装置５０に割り当てられた処理を実行する機能である。アプリ処理部５３は、主に、図３に示したＣＰＵ５０１によって実行されるプログラム等により実現される。アプリ処理部５３は、第１の処理手段の一例である。
【００５５】
計測部５４は、アプリ処理部５３による処理に要する処理時間を計測する機能である。計測部５４は、主に、図３に示したタイマ５１５およびＣＰＵ５０１で実行されるプログラム等によって実現される。
【００５６】
管理部５５は、記憶部５００に記憶された各種データの管理を行う機能である。管理部５５は、例えば、記憶部５００に記憶された処理分担管理テーブル６５Ａの作成および更新を行う。また、管理部５５は、例えば、常時または定期的にサーバ装置５０の稼働状態を監視して、状態情報６０の作成および更新を行う。さらに、管理部５５は、サーバ装置５０によって実行される画像処理に用いるアプリ処理情報３０を作成する。管理部５５は、主に、図３に示したＣＰＵ５０１の処理によって実現される。管理部５５は、更新手段の一例である。
【００５７】
記憶・読出部５６は、記憶部５００に各種データを記憶させ、または記憶部５００から各種データを読み出す機能である。記憶・読出部５６は、主に、図３に示したＣＰＵ５０１の処理によって実現される。記憶部５００は、主に、図３に示したＲＯＭ５０２、ＨＤ５０４、記録メディア５０６およびＣＤ−ＲＷ５１３によって実現される。記憶部５００は、記憶手段の一例である。また、記憶部５００は、状態情報６０、アプリ処理情報３０、端末性能管理テーブル６３、サーバ性能管理テーブル６４および処理分担管理テーブル６５Ａを記憶している。なお、アプリ処理情報３０は、クライアント端末１０の記憶部１００に記憶されたアプリ処理情報と同様のものであるため、説明を省略する。
【００５８】
○サーバ装置の状態情報
続いて、記憶部５００に記憶されたデータの詳細について説明する。まず、図７を用いて、サーバ装置５０の状態情報６０について説明する。図７は、第１の実施形態に係るサーバ装置の状態情報の一例を示す図である。状態情報６０は、サーバ装置５０のコンピュータリソースの稼働状態を示す情報である。状態情報６０は、管理部５５によって常時または定期的に更新される。図７に示す状態情報６０は、例えば、サーバ装置５０のＣＰＵの使用率、メモリの使用量、ストレージの使用量、電源（バッテリー）の残量、Ｓｏｃｋｅｔ通信の接続クライアントの数等を含む。なお、状態情報６０に含まれる項目は、これに限られない。
【００５９】
図７に示す状態情報６０は、例えば、サーバ装置５０において、ＣＰＵの稼働状態が４０％であり、メモリが６４ＧＢのうち３２ＧＢ使用されていることを示している。また、図７に示す状態情報６０は、例えば、サーバ装置５０において、ストレージが１６ＴＢのうち１．４ＴＢ使用されており、無停電電源装置の電源（バッテリー）の残量が８０％であることを示している。さらに、図７に示す状態情報６０は、例えば、サーバ装置５０において、３台のクライアント端末１０がサーバ装置５０に接続されていることを示している。
【００６０】
○端末性能管理テーブル
続いて、図８を用いて、端末性能管理テーブルについて説明する。図８は、第１の実施形態に係る端末性能管理テーブルの一例を示す図である。端末性能管理テーブル６３は、クライアント端末１０の性能を判断するために用いるものである。図８に示す端末性能管理テーブル６３は、例えば、クライアント端末１０のコンピュータリソースに関する「項目」のそれぞれに、クライアント端末１０の性能を判断するための「条件」を関連づけて記憶している。
【００６１】
「項目」は、汎用的なコンピュータリソースを示す情報である。図８に示す「項目」は、例えば、ＣＰＵ、ＲＡＭ、ＧＰＵ等を含む。その他、「項目」は、ストレージの容量、電源の種類、ＯＳ（Operating System）のバージョン等を含んでもよい。なお、「項目」は、図６に示した端末情報２０に含まれる「項目」と、共通した内容を含むことが好ましい。
【００６２】
「条件」は、クライアント端末１０の性能を判断するための条件である。「条件」に示される情報は、図５に示した端末情報２０に含まれるスペックの情報に対応させた判断基準である。図８に示す「条件」は、例えば、ＣＰＵの種別がＳｎａｐｄｒａｇｏｎ８４５であるという条件を含む。また、図８に示す「条件」は、例えば、ＲＡＭの容量が４ＧＢ以上であるという条件を含む。さらに、図８に示す「条件」は、例えば、ＧＰＵの種別がＡｄｒｅｎｏ５４０であるという条件を含む。
【００６３】
なお、図５に示した端末情報２０と同様に、「条件」に示される情報は、ＣＰＵの場合には、コア数や動作周波数等、ＲＡＭの場合には、動作周波数や転送速度等、ＧＰＵの場合には、搭載の有無、コアクロック、メモリクロック、ＶＲＭ（Voltage Regulator Module）の容量等の判断基準であってもよい。
【００６４】
判断部５２は、例えば、端末情報２０に含まれる各項目のスペック（仕様値）の少なくとも一つが、端末性能管理テーブル６３に含まれる「条件」を満たす場合、クライアント端末１０の性能が「高い」と判断する。一方で、判断部５２は、例えば、端末情報２０に含まれる各項目のスペックに、端末性能管理テーブル６３に含まれる「条件」を満たすものがない場合、クライアント端末１０の性能が「低い」または「通常」であると判断する。
【００６５】
なお、クライアント端末１０の性能が「高い」と判断するための「条件」を満たす項目の数は、１つの限られず、適宜変更可能である。また、判断部５２は、処理対象となる画像データの種類や要求された画像処理の種類に応じて、クライアント端末１０の性能を判断するために用いる「項目」を限定してもよい。
【００６６】
○サーバ性能管理テーブル
続いて、図９を用いて、サーバ性能管理テーブルについて説明する。図９は、第１の実施形態に係るサーバ性能管理テーブルの一例を示す図である。サーバ性能管理テーブル６４は、サーバ装置５０の性能を判断するために用いるものである。図９に示すサーバ性能管理テーブル６４は、例えば、サーバ装置５０の稼働状態に関する「項目」のそれぞれにサーバ装置５０の性能を判断するための「条件」を関連づけて記憶している。
【００６７】
「項目」は、汎用的なコンピュータリソースを示す情報である。図９に示す「項目」は、例えば、ＣＰＵ、メモリ、ストレージ、電源、Ｓｏｃｋｅｔ通信（接続クライアント数）等を含む。なお、「項目」は、図７に示した状態情報６０に含まれる「項目」と、共通した内容を含むことが好ましい。
【００６８】
「条件」は、サーバ装置５０の性能を判断するための条件である。「条件」に示される情報は、図７に示した状態情報６０に含まれる稼働状態の情報に対応させた判断基準である。図９に示す「条件」は、例えば、ＣＰＵの使用率が８０％を超えていることという条件を含む。また、図９に示す「条件」は、例えば、メモリの使用量が１６ＧＢを超えているという条件を含む。さらに、図９に示す「条件」は、例えば、ストレージの使用量が１．８ＴＢを超えているという条件を含む。また、図９に示す「条件」は、例えば、無停電電源装置の電源の残量が１０％以下であるという条件を含む。さらに、図９に示す「条件」は、サーバ装置５０に接続されたクライアント端末１０の数が５台を超えているという条件を含む。
【００６９】
判断部５２は、例えば、状態情報６０に含まれる各項目の稼働状態の少なくとも一つが、サーバ性能管理テーブル６４に含まれる「条件」を満たす場合、サーバ装置５０の性能が「低い」と判断する。一方で、判断部５２は、例えば、状態情報６０に含まれる各項目の稼働状態に、サーバ性能管理テーブル６４に含まれる「条件」を満たすものがない場合、サーバ装置５０の性能が「高い」または「通常」であると判断する。
【００７０】
なお、サーバ装置５０の性能が「低い」と判断するための「条件」を満たす項目の数は、１つの限られず、適宜変更可能である。また、判断部５２は、処理対象となる画像データの種類や要求された画像処理の種類に応じて、サーバ装置５０の性能を判断するために用いる「項目」を限定してもよい。
【００７１】
○処理分担管理テーブル
続いて、図１０を用いて、処理分担管理テーブルについて説明する。図１０は、第１の実施形態に係る処理分担管理テーブルの一例を示す図である。図１０に示す処理分担管理テーブル６５Ａは、ユーザから要求された処理に対して、クライアント端末１０とサーバ装置５０との間での処理の分担の割り当てを決定するために用いられるものである。処理分担管理テーブル６５Ａは、管理情報の一例である。
【００７２】
サーバ装置５０は、サーバ装置５０の性能に応じて、異なる処理分担管理テーブルを有する。図１０（ａ）に示す処理分担管理テーブル６５Ａａは、サーバ装置５０の性能が「高い」の場合において使用されるテーブルである。一方で、図１０（ｂ）に示す処理分担管理テーブル６５Ａｂは、サーバ装置５０の性能が「通常」または「低い」の場合において使用されるテーブルである。なお、サーバ装置５０の性能は、図７に示した状態情報６０と図９に示したサーバ性能管理テーブル６４とを用いて、判断部５２によって判断される。
【００７３】
図１０（ａ）に示す処理分担管理テーブル６５Ａａは、処理情報と分担比率とを関連づけて記憶している。図１０（ａ）に示す処理情報は、処理名、処理内容および分担対象のタスクの情報を含む。なお、処理情報の内容は、処理情報管理テーブル６５Ａａと処理情報管理テーブル６５Ａｂで同様の内容である。また、処理要求情報に示される処理の内容は、処理分担管理テーブル６５Ａａおよび６５Ａｂに含まれる特定の処理情報の内容に対応する。
【００７４】
処理名は、ユーザから要求された処理の名称である。図１０（ａ）に示す処理名は、「ぼかし処理」と「位置特定処理」を含む。「ぼかし処理」は、例えば、処理対象の画像データに含まれる特定の人物の顔を検出し、検出した顔以外の顔にぼかしを入れる処理である。また、「位置特定処理」は、処理対象の画像データに含まれる人物や建物等に基づいて、画像データが撮影された位置（場所）を特定する処理である。なお、ユーザから要求される処理は、これに限られず、サーバ装置５０のアプリケーションによって実行可能な処理は、処理分担管理テーブル６５Ａに予め設定されている。
【００７５】
処理内容は、要求された処理を実行する場合に行われるタスクの内容を示す。ここで、ユーザから要求された処理は、複数のタスクに分割されており、複数のタスクを段階的に処理することによって、要求された処理に対する処理結果が生成される。
【００７６】
図１０に示す「ぼかし処理」は、例えば、タスク１「顔検出（顔検出処理）」、タスク２「検出した顔の照合（顔照合処理）」、タスク３「顔ぼかし（顔ぼかし処理）」の３段階の処理を含む。また、図１０に示す「位置検出処理」は、例えば、タスク１「特定対象の検出」、タスク２「位置検出」の２段階の処理を含む。
【００７７】
分担対象は、処理内容に示される複数のタスクのうち、クライアント端末１０とサーバ装置５０とで分担することが可能なタスクを示す。ここで、分担可能なタスクは、例えば、クライアント端末１０とサーバ装置５０とで並列して処理を行うことができるタスクである。
【００７８】
図１０に示す「ぼかし処理」の場合、分担対象となるタスクは、例えば、タスク２「検出した顔の照合（顔照合処理）」である。タスク２「検出した顔の照合（顔照合処理）」において、判断部５２は、検出された複数の顔の情報のうち、クライアント端末１０とサーバ装置５０との間で、それぞれが顔照合処理を実行する顔の情報を割り当てる。そして、データ統合部２２は、それぞれが実行した処理の結果の統合処理を行う。そのため、タスク２「検出した顔の照合（顔照合処理）」は、クライアント端末１０とサーバ装置５０で独立して処理が実行された後に、処理の結果を統合処理することが可能であるので、クライアント端末１０とサーバ装置５０とで並列して処理を行うことができる。また、図１０に示す「位置検出処理」は、例えば、タスク１「特定対象の検出」である。
【００７９】
分担比率は、分担対象のタスクに対するクライアント端末１０とサーバ装置５０での処理の分担の比率である。分担比率は、クライアント端末１０およびサーバ装置５０の性能に応じて、同じ処理でも異なる分担比率が設定されている。
【００８０】
図１０（ａ）に示す処理分担管理テーブル６５Ａａに示すように、サーバ装置５０の性能が高く、クライアント端末１０の性能が高い場合、「ぼかし処理」の分担対象のタスクであるタスク２の処理の分担比率は、クライアント端末１０；７５％、サーバ装置５０；２５％である。また、サーバ装置５０の性能が高く、クライアント端末１０の性能が低いまたは通常である場合、「ぼかし処理」の分担対象のタスクであるタスク２の処理の分担比率は、クライアント端末１０；３０％、サーバ装置５０；７０％である。
【００８１】
さらに、図１０（ｂ）に示す処理分担管理テーブル６５Ａｂに示すように、サーバ装置５０の性能が低いまたは通常であり、クライアント端末１０の性能が高い場合、「ぼかし処理」の分担対象のタスクであるタスク２の処理の分担比率は、クライアント端末１０；９０％、サーバ装置５０；１０％である。また、サーバ装置５０の性能が低いまたは通常であり、クライアント端末１０の性能が高い場合、「ぼかし処理」の分担対象のタスクであるタスク２の処理の分担比率は、クライアント端末１０；５０％、サーバ装置５０；５０％である。
【００８２】
なお、分担比率は、クライアント端末１０とサーバ装置５０の処理の分担の割り当ての一例である。図１０に示す分担比率は、クライアント端末１０とサーバ装置５０に割り当てられる処理の割合（％）を示すが、クライアント端末１０とサーバ装置５０に割り当てられる処理の個数であってもよい。
【００８３】
また、処理分担管理テーブル６５Ａに含まれるクライアント端末１０の性能の分類は、「高（高い）」、「低（低いまたは通常）」に限られず、３つ以上の分類を含んでもよい。この場合、サーバ装置５０は、端末性能管理テーブル６３に段階的に複数の条件（閾値）を設けて、クライアント端末１０の性能を判断する。同様に、サーバ装置５０の性能の分類は、「高（高い）」、「低（低いまたは通常）」に限られず、３つ以上分類を含んでもよい。この場合、サーバ装置５０は、サーバ性能管理テーブル６４に段階的に複数の条件（閾値）を設けて、サーバ装置５０の性能を判断する。
【００８４】
●第１の実施形態の処理または動作
続いて、第１の実施形態に係る情報処理システム１Ａにおける処理または動作について説明する。図１１は、第１の実施形態に係る情報処理システムにおける情報処理方法の一例を示すシーケンス図である。図１１は、画像データに含まれる特定の人物以外の顔に対するぼかし処理が要求された場合の例を説明する。なお、情報処理システム１Ａにおいて実行される画像処理の種類は、これに限られない。
【００８５】
ステップＳ１０１において、クライアント端末１０の入力受付部１２は、ユーザの入力操作によって、所定の画像データに対する処理要求を受け付ける、具体的には、入力受付部１２は、例えば、表示制御部１３によってディスプレイ１１７に表示されたアプリケーションのメニュー画面に対するユーザの入力操作によって、所定の画像データに対する画像処理要求を受け付ける。
【００８６】
ステップＳ１０２において、入力受付部１２によって処理要求を受け付けた場合、クライアント端末１０の通知情報作成部１５は、サーバ装置５０に送信する通知情報２００Ａを作成（生成）する。具体的には、まず、通知情報作成部１５は、記憶部１００に記憶された端末情報２０を取得する。通知情報作成部１５は、端末情報２０の読み出し要求を、記憶・読出部１８へ出力する。記憶・読出部１８は、出力された読出要求を検知した場合、記憶部１００に記憶された端末情報２０を読み出す。そして、記憶・読出部１８は、読み出した端末情報２０を、通知情報作成部１５へ出力する。
【００８７】
そして、通知情報作成部１５は、要求された処理の内容を示す処理要求情報および読み出した端末情報を含む通知情報２００Ａを作成（生成）する。図１２は、第１の実施形態に係る通知情報の内容の概略の一例を示す図である。図１２に示す通知情報２００Ａは、「処理要求情報」および「端末情報」等の情報を含む。
【００８８】
「処理要求情報」は、ユーザから要求された特定の処理の内容を識別するための情報である。処理要求情報は、例えば、処理の名称または処理に割り当てられたＩＤ等の識別情報を含む。「端末情報」は、クライアント端末１０のスペック（仕様値）を含む情報であり、図５に示した端末情報２０の内容を含む。なお、端末情報は、クライアント端末１０を識別するための識別情報を含んでもよい。
【００８９】
ステップＳ１０３において、クライアント端末１０の送受信部１１は、通知情報２００Ａをサーバ装置５０へ送信する（送信ステップの一例）。また、送受信部１１は、通知情報２００Ａと併せて、処理対象の画像データ（画像情報）をサーバ装置５０Ａへ送信する。これによって、クライアント端末１０は、ユーザから要求された処理の内容と、自身のスペック（仕様値）を示す情報とを、サーバ装置５０へ提供することができる。
【００９０】
ステップＳ１０４において、サーバ装置５０の判断部５２は、送受信部５１によって通知情報２００Ａを受信した場合、要求された処理の分担の割り当てを決定する。ここで、図１３および図１４を用いて、サーバ装置５０における、要求された処理のクライアント端末１０とサーバ装置５０との間での分担処理について説明する。図１３は、第１の実施形態に係るサーバ装置における処理分担の決定処理の一例を示すフローチャートである。
【００９１】
ステップＳ２０１において、送受信部５１は、通知情報２００Ａを受信した場合（ステップＳ２０１のＹＥＳ）、処理をステップＳ２０２へ移行させる。サーバ装置５０は、送受信部５１によって通知情報２００Ａが受信されるまで、ステップＳ２０１の処理を繰り返す（ステップＳ２０１のＮＯ）。
【００９２】
ステップＳ２０２において、判断部５２は、記憶部５００から状態情報６０、端末性能管理テーブル６３および処理分担管理テーブル６５を読み出す。具体的には、判断部５２は、状態情報６０、端末性能管理テーブル６３、サーバ性能管理テーブル６４および処理分担管理テーブル６５の読み出し要求を、記憶・読出部５６へ出力する。記憶・読出部５６は、出力された読出要求を検知した場合、記憶部５００に記憶された状態情報６０、端末性能管理テーブル６３、サーバ性能管理テーブル６４および処理分担管理テーブル６５を読み出す。そして、記憶・読出部５６は、読み出した状態情報６０、端末性能管理テーブル６３。サーバ性能管理テーブル６４および処理分担管理テーブル６５を、判断部５２へ出力する。
【００９３】
ステップＳ２０３において、判断部５２は、読み出した状態情報６０に基づいて、サーバ装置５０の性能を特定する。具体的には、判断部５２は、状態情報６０に含まれる項目の稼働状態のうち、サーバ性能管理テーブル６４に含まれる「条件」を満たす項目が少なくとも一つ存在する場合、サーバ装置５０の性能が「低い」または「通常」と判断する。一方で、判断部５２は、状態情報６０に含まれる項目の稼働状態のうち、サーバ性能管理テーブル６４に含まれる「条件」を満たす項目がない場合、サーバ装置５０の性能が高いと判断する。
【００９４】
サーバ装置５０の稼働状態が図６に示す状態情報６０に示す状態であり、判断部５２が図９に示したサーバ性能管理テーブル６４を用いてサーバ装置５０の性能を判断する場合、状態情報６０に示す稼働状態が、サーバ性能管理テーブル６４に含まれる「条件」を満たす項目がないため、判断部５２は、サーバ装置５０の性能が「高い」と判断する。
【００９５】
なお、サーバ装置５０の性能が「低い」と判断するための「条件」を満たす項目の数は、１つの限られず、適宜変更可能である。また、判断部５２は、処理対象となる画像データの種類や要求された画像処理の種類に応じて、サーバ装置５０の性能を判断するために用いる「項目」を限定してもよい。
【００９６】
次に、ステップＳ２０４において、判断部５２は、送受信部５１によって受信された通知情報２００Ａに含まれる端末情報２０と、読み出した端末性能管理テーブル６３とに基づいて、クライアント端末１０の性能を特定する。
【００９７】
具体的には、判断部５２は、端末情報２０に含まれるスペックのうち、端末性能管理テーブル６３に含まれる「条件」を満たす項目が少なくとも一つ存在する場合、クライアント端末１０の性能が「高い」と判断する。一方で、判断部５２は、端末情報２０に含まれるスペックのうち、端末性能管理テーブル６３に含まれる「条件」を満たす項目がない場合、クライアント端末１０の性能が「低い」または「通常」と判断する。
【００９８】
クライアント端末１０のスペックが図５に示す端末情報２０に示す状態であり、判断部５２が図８に示した端末性能管理テーブル６３を用いてクライアント端末１０の性能を判断する場合、端末情報２０に示すＣＰＵおよびＲＡＭのスペックが、端末性能管理テーブル６３に含まれる「条件」を満たすため、判断部５２は、クライアント端末１０の性能が「高い」と判断する。
【００９９】
なお、クライアント端末１０の性能が「高い」と判断するための「条件」を満たす項目の数は、１つの限られず、適宜変更可能である。また、判断部５２は、処理対象となる画像データの種類や要求された画像処理の種類に応じて、クライアント端末１０の性能を判断するために用いる「項目」を限定してもよい。
【０１００】
ステップＳ２０５において、判断部５２は、送受信部５１によって受信された通知情報２００Ａに含まれる処理内容を抽出する。具体的には、判断部５２は、図１２に示す通知情報２００Ａに含まれる処理内容として、「ぼかし処理」の処理情報を抽出する。
【０１０１】
ステップＳ２０６において、判断部５２は、通知情報２００Ａから抽出した処理内容と、特定したクライアント端末１０およびサーバ装置５０の性能とに基づいて、クライアント端末１０から要求された処理の分担の割り当てを決定する。
【０１０２】
ここで、サーバ装置５０における処理分担決定処理の具体例を説明する。図１４は、第１の実施形態に係るクライアント端末とサーバ装置との間における処理分担の概略の一例を説明するための図である。
【０１０３】
まず、上述のように、本実施形態においてユーザから要求される処理は、所定の画像データに対する「ぼかし処理」である。「ぼかし処理」は、特定の人物以外の人物の顔にぼかし処理を施す処理であり、タスク１〜タスク３の３段階の処理を含む。分担対象であるタスク２は、例えば、図７に示したアプリ処理情報３０を共有するクライアント端末１０およびサーバ装置５０を用いて、タスク１（顔検出処理）で検出した顔の照合を行う処理である。ここで、図１４に示すように、タスク１（顔検出処理）において、処理対象の画像データから４つの顔が検出されたものとする。
【０１０４】
クライアント端末１０の性能が高く、サーバ装置５０の性能も高い場合、判断部５２は、図１０（ａ）に示した処理分担管理テーブル６５Ａａに含まれる「ぼかし処理」のうち、端末性能「高（高い）」の項目に関連づけられた分担比率を抽出する。抽出される分担比率は、クライアント端末１０が７５％、サーバ装置５０が２５％である。そのため、判断部５２は、タスク１（顔検出処理）で検出された４つの顔のうち、３つの顔の照合処理をクライアント端末１０に割り当て、１つの顔の照合処理をサーバ装置５０に割り当てる。
【０１０５】
ここで、分担対象となるタスクであるタスク２（顔照合処理）において、判断部５２は、タスク１（顔検出処理）で検出された複数の顔（顔１〜４）のうち、クライアント端末１０とサーバ装置５０との間で、それぞれが処理を実行する顔の情報を割り当てる。そして、データ統合部２２は、それぞれが実行した処理の結果の統合処理を行う。そのため、タスク２の処理（顔照合処理）は、クライアント端末１０とサーバ装置５０で独立して処理が実行された後に、処理の結果を統合処理することが可能であるので、クライアント端末１０とサーバ装置５０とで並列して処理を行うことができる。
【０１０６】
ステップＳ２０７において、判断部５２は、決定した処理の分担の割り当てを示す分担内容を含む分担情報（割当情報）を送受信部５１へ出力する。送受信部５１は、判断部５２から出力された分担情報を、クライアント端末１０へ送信する。これによって、サーバ装置５０は、クライアント端末１０とサーバ装置５０の処理能力に応じて、要求された処理に対する処理結果である処理データを生成するための処理の分担の割り当てを行うことができる。
【０１０７】
図１１に戻り、情報処理システム１Ａにおける情報処理方法の説明を続ける。ステップＳ１０５において、サーバ装置５０の送受信部５１は、判断部５２による分担内容を含む分担情報を、クライアント端末１０へ送信する。図１３に示す分担結果の場合、送受信部１１は、分担情報として、顔１〜顔３の照合処理をクライアント端末１０に割り当てる旨の情報を、クライアント端末１０へ送信する。
【０１０８】
なお、分担情報は、クライアント端末１０に割り当てられた処理の情報のみを含んでもよいし、クライアント端末１０およびサーバ装置５０のそれぞれに割り当てられた処理の情報を含んでもよい。クライアント端末１０の送受信部１１は、サーバ装置５０から送信された分担情報を受信する（受信ステップの一例）。
【０１０９】
また、クライアント端末１０の送受信部１１は、分担情報を受信した場合、処理対象の画像データ（画像情報）をサーバ装置５０へ送信してもよい。この場合、送受信部１１は、図１１に示したステップＳ１０３の処理では、処理対象の画像データ（画像情報）をサーバ装置５０へ送信せずに、本ステップにおいて、処理対象の画像データ（画像情報）をサーバ装置５０へ送信する。なお、クライアント端末１０からサーバ装置５０への処理対象の画像データ（画像情報）の送信タイミングは、いずれの構成であってもよい。
【０１１０】
ステップＳ１０６において、クライアント端末１０のアプリ処理部２１は、送受信部１１によって分担情報（割当情報）が受信された場合、クライアント端末１０に割り当てられた処理を実行する（処理ステップの一例）。例えば、アプリ処理部２１は、記憶部１００に記憶されたアプリ処理情報３０を用いて、図１４に示した処理対象の画像データに含まれる顔１〜顔３の照合処理を行う。一方で、ステップＳ１０７において、サーバ装置５０のアプリ処理部５３は、判断部５２によってサーバ装置５０に割り当てられた処理を実行する。例えば、アプリ処理部５３は、記憶部５００に記憶されたアプリ処理情報３０を用いて、図１４に示した処理対象の画像データに含まれる顔４の照合処理を行う。
【０１１１】
ステップＳ１０８において、サーバ装置５０の送受信部５１は、アプリ処理部５３による処理結果を、クライアント端末１０へ送信する。送受信部５１は、例えば、図１４に示した処理対象の画像データに含まれる顔４の照合結果を、クライアント端末１０へ送信する。
【０１１２】
ステップＳ１０９において、クライアント端末１０のデータ統合部２２は、アプリ処理部２１によって処理された処理結果と、サーバ装置５０から送信された処理結果とを用いて、要求された処理の処理結果である処理データを生成する（生成ステップの一例）。データ統合部２２は、例えば、クライアント端末１０による顔１〜３の照合結果と、サーバ装置５０による顔４の照合結果との統合処理を行い、処理対象の画像データに対する顔照合結果（処理データ）を生成する。
【０１１３】
ここで、クライアント端末１０のアプリ処理部２１は、例えば、分担対象ではないタスク１（「顔検出」）とタスク３（「顔ぼかし」）の処理も実行する。例えば、アプリ処理部２１は、分担情報が受信された場合、タスク２の処理（割り当てられた処理）を実行する前の前処理として、タスク１の処理を実行する。サーバ装置５０にタスク２の処理の分担の割り当てを決定させるため、クライアント端末１０は、タスク１の処理によって検出された顔の数に関する情報を含んだ通知情報２００Ａを、サーバ装置５０へ送信する。そして、アプリ処理部２１は、タスク１の処理結果に対して、タスク２の処理のうちのクライアント端末１０に割り当てられた処理を実行する。アプリ処理部２１は、データ統合部２２によって統合（生成）された処理データに対して、タスク３の処理を実行する。
【０１１４】
ステップＳ１１０において、クライアント端末１０の表示制御部１３は、処理対象の画像データに対する処理結果である処理データをディスプレイ１１７に表示させる。このように、クライアント端末１０は、要求された画像処理の一部を、サーバ装置５０と分担して実行したとしても、処理対象の画像データに対して要求された画像処理の処理結果を提供することができる。
【０１１５】
また、上述のように、クライアント端末１０に割り当てられた処理とサーバ装置５０に割り当てられた処理は、並列して行うことができる。このため、クライアント端末１０は、要求された画像処理の一部を、サーバ装置５０と分担したとしても、処理に要する時間を遅延させることなく、処理対象の画像データに対して要求された画像処理の処理結果を提供することができる。
【０１１６】
●第１の実施形態の効果
以上説明したように、情報処理システム１Ａは、ユーザから要求された、所定の画像データに対する画像処理の一部を、クライアント端末１０およびサーバ装置５０の性能に応じてクライアント端末１０とサーバ装置５０との間で分担して実行する。そのため、情報処理システム１Ａは、クライアント端末１０とサーバ装置５０を用いたアプリケーション処理において、処理リソースを有効活用することができる。
【０１１７】
●第２の実施形態●
次に、第２の実施形態に係る情報処理システムついて説明する。なお、第１の実施形態と同一構成および同一機能は、同一の符号を付して、その説明を省略する。第２の実施形態に係る情報処理システム１Ｂは、クライアント端末１０において実行された処理に対するフィードバックを、クライアント端末１０からサーバ装置５０へ送信する。サーバ装置５０は、クライアント端末１０から受信したフィードバックに基づいて、処理の分担の割り当てを決定するための処理分担管理テーブル６５Ｂを更新する。これによって、情報処理システム１Ｂは、サーバ装置５０との間における処理の分担比率を、クライアント端末１０ごとに設定することができる。
【０１１８】
〇処理対象管理テーブル
図１５は、第２の実施形態に係る処理分担管理テーブルの一例を示す図である。図１５に示す処理分担管理テーブル６５Ｂは、クライアント端末１０ごとに、異なる分担比率が設定されている。また、サーバ装置５０は、図１０に示した処理分担管理テーブル６５Ａと同様に、サーバ装置５０の性能に応じて、異なる処理分担管理テーブルを有する。図１５（ａ）に示す処理分担管理テーブル６５Ｂａは、サーバ装置５０の性能が「高い」の場合において使用されるテーブルである。一方で、図１５（ｂ）に示す処理分担管理テーブル６５Ｂｂは、サーバ装置５０の性能が「低い」または「通常」の場合において使用されるテーブルである。
【０１１９】
図１５に示す処理分担管理テーブル６５Ｂは、端末識別情報、処理情報および分担比率を関連づけて記憶している。処理情報の内容は、図１０に示した処理分担管理テーブル６５Ａと同様である。また、処理要求情報に示される処理の内容は、処理分担管理テーブル６５Ｂａおよび６５Ｂｂに含まれる特定の処理情報の内容に対応する。端末識別情報は、クライアント端末１０を識別するための情報であり、端末名または端末ＩＤ等である。図１５に示す処理分担管理テーブル６５Ｂは、端末識別情報「０１０１ｘ」に関連づけられた分担比率と、端末識別情報「０２０２ｙ」に関連づけられた分担比率が異なる値となっている。処理分担管理テーブル６５Ｂは、管理情報の一例である。
【０１２０】
●第２の実施形態における処理または動作
続いて、第２の実施形態に係る情報処理システム１Ｂにおける処理または動作について説明する。図１６は、第２の実施形態に係る情報処理システムにおける情報処理方法の一例を示すシーケンス図である。
【０１２１】
ステップＳ３０１において、クライアント端末１０の入力受付部１２は、ユーザの入力操作によって、所定の画像データに対する処理要求を受け付ける、具体的には、入力受付部１２は、例えば、表示制御部１３によってディスプレイ１１７に表示された画像データに対する画像処理要求を受け付ける。
【０１２２】
ステップＳ３０２において、入力受付部１２によって処理要求を受け付けた場合、クライアント端末１０の通知情報作成部１５は、図５に示した端末情報２０を記憶部１００から取得する。そして、通知情報作成部１５は、要求された処理の内容を示す処理要求情報、読み出した端末情報２０および処理を要求するクライアント端末１０を識別するための端末識別情報を含む通知情報２００Ｂを作成（生成）する。端末識別情報は、例えば、通知情報２００Ｂを生成したクライアント端末１０の名称または端末ＩＤ等である。
【０１２３】
ステップＳ３０３において、クライアント端末１０の送受信部１１は、通知情報２００Ｂをサーバ装置５０へ送信する。これによって、クライアント端末１０は、ユーザから要求された処理の内容、クライアント端末１０のスペック（仕様値）を示す情報、および処理を要求したクライアント端末１０の端末識別情報を、サーバ装置５０へ提供することができる。
【０１２４】
以下、ステップＳ３０４〜ステップＳ３１０の処理は、図１３に示したステップＳ１０４〜ステップＳ１１０の処理と同様であるため、説明を省略する。なお、ステップＳ３０４における処理分担の決定処理は、通知情報２００Ｂに含まれる端末識別情報に関連づけられた分担比率を用いる。
【０１２５】
ステップＳ３１１において、クライアント端末１０の送受信部１１は、ユーザから要求された処理が終了した場合、端末処理情報をサーバ装置５０へ送信する。端末処理情報は、クライアント端末１０において実行された処理に関する情報である。端末処理情報は、例えば、クライアント端末１０に割り当てられたタスクの処理に要した時間を示す時間情報を含む。また、端末処理情報は、時間情報として、クライアント端末１０に割り当てられた処理に要した時間だけでなく、要求された処理に対する処理結果である処理データを生成するまでに要した時間を含んでもよい。
【０１２６】
ステップＳ３１２において、サーバ装置５０の管理部５５は、送受信部５１によって端末処理情報を受信した場合、記憶部５００に記憶された処理分担管理テーブル６５Ｂを更新する。図１７は、第２の実施形態に係るサーバ装置における処理分担管理テーブルの更新処理の一例を示すフローチャートである。
【０１２７】
ステップＳ４０１において、サーバ装置５０の送受信部５１は、クライアント端末１０から送信された端末処理情報を受信した場合、処理をステップＳ４０２へ移行させる。一方で、サーバ装置５０は、端末処理情報を受信するまで、ステップＳ４０１の処理を繰り返す。
【０１２８】
ステップＳ４０２において、管理部５５は、端末処理情報が所定の更新条件を満たす場合、処理をステップＳ４０３へ移行させる。具体的には、端末処理情報に含まれる時間情報が、サーバ装置５０において予め定められた設定時間以上である場合、処理をステップＳ４０３へ移行させる。
【０１２９】
所定の更新条件は、上記に限られず、サーバ装置５０の管理者等によって適宜設定・変更可能である。所定の更新条件は、例えば、端末処理情報に含まれる時間情報が、サーバ装置５０において予め定められた設定時間を超えた回数が所定の回数以上であることを示す条件であってもよい。
【０１３０】
一方で、ステップＳ４０２において、サーバ装置５０の管理部５５は、端末処理情報が所定の更新条件を満たさない場合、処理を終了する。ステップＳ４０３において、管理部５５は、処理分担管理テーブル６５Ｂを更新する。具体的には、管理部５５は、端末処理情報によって所定の更新条件が満たされた場合、端末処理情報を送信したクライアント端末１０の端末識別情報に関連づけられた分担比率の情報を更新する。管理部５５は、例えば、クライアント端末１０に割り当てられる処理の比率を下げて、サーバ装置５０の処理の比率を上げるよう、処理分担管理テーブル６５Ｂを更新する。
【０１３１】
●第２の実施形態の効果
以上説明したように、情報処理システム１Ｂは、クライアント端末１０における処理に関する情報を評価値としてサーバ装置５０へフィードバックすることで、処理に適した分担比率を自律的に設定することができる。また、情報処理システム１Ｂは、クライアント端末１０ごとに分担比率を設定することができるので、クライアント端末１０の性能およびサーバ装置５０の性能と、要求された処理との組合せに対して設定すべき分担比率のパターンを簡略化させることができる。
【０１３２】
●第３の実施形態●
次に、第３の実施形態に係る情報処理システムついて説明する。なお、第１の実施形態または第２の実施形態と同一構成および同一機能は、同一の符号を付して、その説明を省略する。第３の実施形態に係る情報処理システム１Ｃは、クライアント端末１０からサーバ装置５０へ送信される通知情報２００Ｃに、処理を要求したユーザのユーザ情報を含む。そして、クライアント端末１０において実行された処理に対するユーザのフィードバックを、クライアント端末１０からサーバ装置５０へ送信する。サーバ装置５０は、クライアント端末１０から受信したフィードバックに基づいて、処理分担を決定するための処理分担管理テーブル６５Ｃを更新する。これによって、情報処理システム１Ｂは、サーバ装置５０との間における処理の分担比率を、ユーザごとに設定することができる。
【０１３３】
〇処理分担管理テーブル
図１８は、第３の実施形態に係る処理分担管理テーブルの一例を示す図である。図１８に示す処理分担管理テーブル６５Ｃは、ユーザごとに異なる分担比率が設定されている。また、サーバ装置５０は、図１０に示した処理分担管理テーブル６５Ａと同様に、サーバ装置５０の性能に応じて、異なる処理分担管理テーブルを有する。図１８（ａ）に示す処理分担管理テーブル６５Ｃａは、サーバ装置５０の性能が「高い」の場合において使用されるテーブルである。一方で、図１８（ｂ）に示す処理分担管理テーブル６５Ｃｂは、サーバ装置５０の性能が「低い」または「通常」の場合において使用されるテーブルである。
【０１３４】
図１８に示す処理分担管理テーブル６５Ｃは、ユーザ識別情報、処理情報および分担比率を関連づけて記憶している。処理情報の内容は、図１０に示した処理分担管理テーブル６５Ｃと同様である。また、処理要求情報に示される処理の内容は、処理分担管理テーブル６５Ｃａおよび６５Ｃｂに含まれる特定の処理情報の内容に対応する。ユーザ識別情報は、アプリケーションを使用するユーザを識別するための情報であり、ユーザ名またはユーザＩＤ等である。図１８に示す処理分担管理テーブル６５Ｃは、ユーザ識別情報「ｕｓｅｒ１」に関連づけられた分担比率と、端末識別情報「ｕｓｅｒ２」に関連づけられた分担比率が異なる値となっている。処理分担管理テーブル６５Ｃは、管理情報の一例である。
【０１３５】
●第３の実施形態における処理または動作
図１９は、第３の実施形態に係る情報処理システムにおける情報処理方法の一例を示すシーケンス図である。
【０１３６】
ステップＳ５０１において、クライアント端末１０の入力受付部１２は、ユーザの入力操作によって、所定の画像データに対する処理要求を受け付ける、具体的には、入力受付部１２は、例えば、表示制御部１３によってディスプレイ１１７に表示された画像データに対する画像処理要求を受け付ける。
【０１３７】
ステップＳ５０２において、入力受付部１２によって処理要求を受け付けた場合、クライアント端末１０の通知情報作成部１５は、図５に示した端末情報２０を記憶部１００から取得する。そして、通知情報作成部１５は、要求された処理の内容を示す処理要求情報、読み出した端末情報および処理を要求するユーザを示すユーザ情報を含む通知情報２００Ｃを作成（生成）する。図２０は、第３の実施形態に係る通知情報の内容の概略の一例を示す図である。図２０に示す通知情報２００Ｃは、「処理要求情報」、「端末情報」、「ユーザ情報」等の情報を含む。
【０１３８】
「処理要求情報」は、ユーザから要求された特定の処理の内容を識別するための情報である。処理要求情報は、例えば、処理の名称または処理に割り当てられたＩＤ等の識別情報を含む。「端末情報」は、クライアント端末１０のスペックを示す情報であり、図５に示した端末情報２０の内容を含む。「ユーザ情報」は、「処理要求情報」に対応する処理を要求したユーザを識別するための情報であり、例えば、ユーザ名またはユーザＩＤ等である。
【０１３９】
ステップＳ５０３において、クライアント端末１０の送受信部１１は、通知情報２００Ｃをサーバ装置５０へ送信する。これによって、クライアント端末１０は、ユーザから要求された処理の内容、クライアント端末１０のスペック（仕様値）を示す情報、および処理を要求したユーザを示す情報を、サーバ装置５０へ提供することができる。
【０１４０】
以下、ステップＳ５０４〜ステップＳ５１０の処理は、図１３に示したステップＳ１０４〜ステップＳ１１０の処理と同様であるため、説明を省略する。なお、ステップＳ５０４における処理分担の決定処理は、通知情報２００Ｃに含まれるユーザ情報に関連づけられた分担比率を用いる。
【０１４１】
ステップＳ５１１において、クライアント端末１０の送受信部１１は、ユーザから要求された処理が終了した場合、端末処理情報およびユーザ評価結果を、サーバ装置５０へ送信する。具体的には、端末処理情報は、クライアント端末１０において実行された処理に関する情報である。端末処理情報は、例えば、クライアント端末１０に割り当てられたタスクの処理に要した時間を示す時間情報を含む。また、端末処理情報は、時間情報として、クライアント端末１０に割り当てられた処理に要した時間だけでなく、要求された処理に対する処理結果である処理データを生成するまでに要した時間を含んでもよい。
【０１４２】
ユーザ評価結果は、アプリ処理部２１による処理が終了した場合にディスプレイ１１７上に表示されるユーザ評価画面７００に入力される、ユーザによる評価結果の情報である。図２１は、第３の実施形態に係るユーザ評価画面の一例を示す図である。図２１に示すユーザ評価画面７００は、アプリ処理部２１による処理が終了した場合、ディスプレイ１１７に表示される。ユーザ評価画面７００は、実行された処理に対するユーザ満足度および処理時間に対するユーザ評価の入力を受け付けるための入力アイコンを有する。また、図２１に示すように、ユーザ評価画面７００は、ユーザ評価画面７００に含まれるユーザＩＤ（ユーザ情報）によって、入力された評価結果をユーザごとに関連づけることができる。
【０１４３】
クライアント端末１０のユーザは、ディスプレイ１１７に表示されたユーザ評価画面７００に含まれる項目に対する入力を行うことによって、実行された処理に対する評価を行うことができる。クライアント端末１０のユーザは、各項目に対する入力が完了した場合、送信アイコンを選択することによって、クライアント端末１０からサーバ装置５０へ評価結果を送信させることができる。
【０１４４】
ステップＳ５１２において、サーバ装置５０の管理部５５は、送受信部５１によって端末処理情報およびユーザ評価結果を受信した場合、記憶部５００に記憶された処理分担管理テーブル６５Ｃを更新する。図２２は、第３の実施形態に係るサーバ装置における処理分担管理テーブルの更新処理の一例を示すフローチャートである。
【０１４５】
ステップＳ６０１において、サーバ装置５０の送受信部５１は、クライアント端末１０から送信されたユーザ評価結果を受信した場合、処理をステップＳ６０２へ移行させる。一方で、サーバ装置５０は、端末処理情報を受信するまで、ステップＳ６０１の処理を繰り返す。
【０１４６】
ステップＳ６０２において、サーバ装置５０の管理部５５は、ユーザ評価結果が所定の更新条件を満たす場合、処理をステップＳ６０３へ移行させる。具体的には、ユーザ評価結果に満足度の情報が、所定の回数以上「不満」が選択された場合、処理をステップＳ６０３へ移行させる。
【０１４７】
所定の更新条件は、上記に限られず、サーバ装置５０の管理者等によって適宜設定・変更可能である。所定の更新条件は、例えば、ユーザ評価結果に含まれる処理時間の回答において「遅い」が選択された回数が所定の回数以上であることを示す条件であってもよい。
【０１４８】
一方で、ステップＳ６０２において、サーバ装置５０の管理部５５は、ユーザ評価結果が所定の更新条件を満たさない場合、処理を終了する。ステップＳ６０３において、管理部５５は、処理分担管理テーブル６５Ｃを更新する。具体的には、管理部５５は、ユーザ評価結果によって所定の更新条件が満たされた場合、ユーザ評価結果を入力したユーザのユーザ識別情報に関連づけられた分担比率の情報を更新する。管理部５５は、例えば、クライアント端末１０に割り当てられる処理の比率を下げて、サーバ装置５０の処理の比率を上げるよう、処理分担管理テーブル６５Ｃを更新する。
【０１４９】
●第３の実施形態の効果
以上説明したように、情報処理システム１Ｃは、クライアント端末１０における処理に対するサーバ装置５０へフィードバックにユーザの主観的評価を含めることで、ユーザごとに特化した分担比率を自律的に設定することができる。
【０１５０】
●まとめ●
以上説明したように、本発明の一実施形態に係るサーバ装置は、所定の処理の要求を受け付けるクライアント端末１０と通信ネットワーク５を経由して接続されたサーバ装置５０であって、要求された特定の処理の内容を示す処理要求情報をクライアント端末１０から受信し、クライアント端末１０のスペックを示す端末情報２０に基づいて、処理要求情報に示される処理のうち、クライアント端末１０が実行する処理とサーバ装置５０が実行する処理の分担の割り当てを決定する。そして、サーバ装置５０は、クライアント端末１０に割り当てられた処理を示す分担情報をクライアント端末１０へ送信し、サーバ装置５０に割り当てられた処理を実行する。
【０１５１】
そのため、サーバ装置５０は、クライアント端末１０の性能に応じて、クライアント端末１０とサーバ装置５０との間で分担させることで、クライアント端末１０とサーバ装置５０の処理リソースを有効活用させつつ、ユーザから要求された処理に対する処理データを提供することができる。
【０１５２】
また、本発明の一実施形態に係るサーバ装置は、要求された特定の処理の内容を示す処理要求情報とクライアント端末１０のスペックを示す端末情報２０とを含む通知情報２００Ａを受信する。そのため、サーバ装置５０は、クライアント端末１０とサーバ装置５０との間における、ユーザから要求された処理の分担の割り当てを、クライアント端末１０から受信したクライアント端末１０のスペックに応じて決定することができるので、クライアント端末１０とサーバ装置５０の処理リソースの活用状態を最適化するとともに、ユーザから要求された処理に要する時間を短縮させることができる。
【０１５３】
さらに、本発明の一実施形態に係るサーバ装置は、クライアント端末１０とサーバ装置５０との間で並列して実行可能な処理のうち、クライアント端末１０が実行する処理とサーバ装置５０のアプリ処理部５３（第１の処理手段の一例）が実行する処理の分担の割り当てを決定する。そのため、サーバ装置５０は、要求された処理に要する時間を遅延させることなく、要求された処理に対する処理データを提供することができる。
【０１５４】
また、本発明の一実施形態に係るサーバ装置は、サーバ装置５０の稼働状態を示す状態情報６０およびクライアント端末１０のスペックを示す端末情報２０に基づいて、クライアント端末１０が実行する処理とサーバ装置５０のアプリ処理部５３（第１の処理手段の一例）が実行する処理の分担の割り当てを決定する。そのため、サーバ装置５０は、クライアント端末１０とサーバ装置５０との間における、ユーザから要求された処理の分担の割り当てを、クライアント端末１０のスペックとサーバ装置５０の稼働状態に応じて決定することができるので、クライアント端末１０とサーバ装置５０の処理リソースの活用状態を最適化するとともに、ユーザから要求された処理に要する時間を短縮させることができる。
【０１５５】
さらに、本発明の一実施形態に係るサーバ装置は、所定の処理の内容を示す処理情報と、クライアント端末１０とサーバ装置５０のアプリ処理部５３（第１の処理手段の一例）との間における、処理情報に示される処理の分担比率とを関連づけた処理分担管理テーブル６５Ａ（管理情報の一例）を記憶し、クライアント端末１０のスペックを示す端末情報２０と処理分担管理テーブル６５Ａとに基づいて、クライアント端末１０が実行する処理とサーバ装置５０のアプリ処理部５３が実行する処理の分担の割り当てを決定する。そのため、サーバ装置５０は、要求された処理ごとに、クライアント端末１０とサーバ装置５０との間の処理の分担比率を記憶しておくことで、クライアント端末１０のスペックに応じた処理の割り当てを決定することができる。
【０１５６】
また、本発明の一実施形態に係るサーバ装置は、クライアント端末１０を識別するための端末識別情報ごとに、処理情報に示される処理の分担比率を関連づけた処理分担管理テーブル６５Ｂ（管理情報の一例）を記憶し、クライアント端末１０から受信したクライアント端末１０に割り当てられた処理に要した時間に関する端末処理情報に基づいて、端末処理情報を送信したクライアント端末１０の端末識別情報に関連づけられた分担比率を更新する。そのため、サーバ装置５０は、クライアント端末１０における処理に関する情報をクライアント端末１０から受信することで、クライアント端末１０ごとに適した分担比率を自律的に設定することができる。
【０１５７】
さらに、本発明の一実施形態に係るサーバ装置は、ユーザを識別するためのユーザ情報（ユーザ識別情報の一例）ごとに、処理情報に示される処理の分担比率を関連づけた処理分担管理テーブル６５Ｃ（管理情報の一例）を記憶し、クライアント端末から受信したクライアント端末１０に割り当てられた処理に関するユーザの評価を示すユーザ評価結果（評価情報の一例）に基づいて、ユーザ評価結果を入力したユーザのユーザ情報に関連づけられた分担比率を更新する。そのため、サーバ装置５０は、クライアント端末１０における処理に対するユーザの評価結果をクライアント端末１０から受信することで、ユーザごとに特化した分担比率を自律的に設定することができる。
【０１５８】
また、本発明の一実施形態に係るクライアント端末は、所定の処理の要求を受け付けるクライアント端末１０であって、要求された特定の処理の内容を示す処理要求情報を、通信ネットワーク５を経由して接続されたサーバ装置５０へ送信し、クライアント端末１０のスペックを示す端末情報２０に基づいて決定された、処理要求情報に示される処理のうちクライアント端末１０に割り当てられた処理を示す分担情報を、サーバ装置５０から受信する。そして、クライアント端末１０は、クライアント端末１０に割り当てられた処理を実行した処理結果と、サーバ装置５０によって実行された処理結果とを用いて、要求された処理に対する処理データを生成する。
【０１５９】
そのため、クライアント端末１０は、クライアント端末１０の性能に応じてクライアント端末１０とサーバ装置との間で割り当てられた処理に対する処理結果を用いて、ユーザから要求された処理に対する処理データを生成することで、クライアント端末１０の処理リソースを有効活用しつつ、ユーザから要求された処理に対する処理データを提供することができる。
【０１６０】
さらに、本発明の一実施形態に係る情報処理方法は、所定の処理の要求を受け付けるクライアント端末１０で実行される情報処理方法であって、特定の処理の内容を示す処理要求情報を、通信ネットワーク５を経由して接続されたサーバ装置５０へ送信する送信ステップと、クライアント端末１０のスペックを示す端末情報２０に基づいて決定された、処理要求情報に示される処理のうちクライアント端末１０に割り当てられた処理を示す分担情報を、サーバ装置５０から受信する受信ステップと、クライアント端末１０に割り当てられた処理を実行する処理ステップと、クライアント端末１０によって実行された処理結果と、サーバ装置５０によって実行された処理結果とを用いて、要求された処理に対する処理データを生成する生成ステップと、を実行する。
【０１６１】
そのため、本発明の一実施形態に係る情報処理方法は、クライアント端末１０の性能に応じてクライアント端末１０とサーバ装置との間で割り当てられた処理に対する処理結果を用いて、ユーザから要求された処理に対する処理データを生成することで、クライアント端末１０の処理リソースを有効活用しつつ、ユーザから要求された処理に対する処理データを提供することができる。
【０１６２】
●補足●
なお、各実施形態の機能は、アセンブラ、Ｃ、Ｃ＋＋、Ｃ＃、Ｊａｖａ（登録商標）等のレガシープログラミング言語やオブジェクト指向プログラミング言語等で記述されたコンピュータ実行可能なプログラムにより実現でき、各実施形態の機能を実行するためのプログラムは、電気通信回線を通じて頒布することができる。
【０１６３】
また、各実施形態の機能を実行するためのプログラムは、ＲＯＭ、ＥＥＰＲＯＭ（Electrically Erasable Programmable Read-Only Memory）、ＥＰＲＯＭ（Erasable Programmable Read-Only Memory）、フラッシュメモリ、フレキシブルディスク、ＣＤ（Compact Disc）−ＲＯＭ、ＣＤ−ＲＷ（Re-Writable）、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ブルーレイディスク、ＳＤカード、ＭＯ（Magneto-Optical disc）等の装置可読な記録媒体に格納して頒布することもできる。
【０１６４】
さらに、各実施形態の機能の一部または全部は、例えばＦＰＧＡ（Field Programmable Gate Array）等のプログラマブル・デバイス（PD）上に実装することができ、またはＡＳＩＣとして実装することができ、各実施形態の機能をＰＤ上に実現するためにＰＤにダウンロードする回路構成データ（ビットストリームデータ）、回路構成データを生成するためのＨＤＬ（Hardware Description Language）、ＶＨＤＬ（Very High Speed Integrated Circuits Hardware Description Language）、Ｖｅｒｉｌｏｇ−ＨＤＬ等により記述されたデータとして記録媒体により配布することができる。
【０１６５】
これまで本発明の一実施形態に係るサーバ装置、クライアント端末、情報処理方法およびプログラムについて説明してきたが、本発明は、上述した実施形態に限定されるものではなく、他の実施形態の追加、変更または削除等、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【符号の説明】
【０１６６】
１Ａ、１Ｂ、１Ｃ    情報処理システム
１０    クライアント端末
１１    送受信部（第２の送信手段の一例、第２の受信手段の一例）
２１    アプリ処理部（第２の処理手段の一例）
２２    データ統合部（生成手段の一例）
５０    サーバ装置
５１    送受信部（第１の受信手段の一例、第１の送信手段の一例）
５２    判断部（決定手段の一例）
５３    アプリ処理部（第１の処理手段の一例）
５４    管理部（更新手段の一例）
５００    記憶部（記憶手段の一例）
【先行技術文献】
【特許文献】
【０１６７】
【特許文献１】特開２０１６−０２４４７１号公報
【図１】
2019160287.tif 000003
【図２】
2019160287.tif 000004
【図３】
2019160287.tif 000005
【図４】
2019160287.tif 000006
【図５】
2019160287.tif 000007
【図６】
2019160287.tif 000008
【図７】
2019160287.tif 000009
【図８】
2019160287.tif 000010
【図９】
2019160287.tif 000011
【図１０】
2019160287.tif 000012
【図１１】
2019160287.tif 000013
【図１２】
2019160287.tif 000014
【図１３】
2019160287.tif 000015
【図１４】
2019160287.tif 000016
【図１５】
2019160287.tif 000017
【図１６】
2019160287.tif 000018
【図１７】
2019160287.tif 000019
【図１８】
2019160287.tif 000020
【図１９】
2019160287.tif 000021
【図２０】
2019160287.tif 000022
【図２１】
2019160287.tif 000023
【図２２】
2019160287.tif 000024