(57)【要約】【課題】クライアント端末がサーバから処理結果を取得するために要する時間を制御する。【解決手段】クライアント端末１と、当該クライアント端末１と通信可能な態様で接続するサーバ２と、を備える情報処理システムＳにおいて、クライアント端末１が、クライアント端末１のユーザを特定するためのユーザ識別子とデータの処理要求とをサーバ２に送信する。サーバ２が、ユーザ識別子と待機時間とを対応づけて格納する待機データベース２００を参照して、クライアント端末１に課すべき待機時間を取得し、クライアント端末１に送信する。クライアント端末１が、受信した待機時間が経過することを条件として、サーバ２に処理させるためのデータをサーバ２に送信する。サーバ２が、クライアント端末１から受信したデータを処理した処理結果をクライアント端末１に送信する。【選択図】図２
2020013501.tif 000002
【特許請求の範囲】
【請求項１】
クライアント端末と、当該クライアント端末と通信ネットワークを介して通信可能な態様で接続するサーバと、を備える情報処理システムにおいて、
前記クライアント端末が、前記クライアント端末のユーザを特定するためのユーザ識別子とデータの処理要求とを前記サーバに送信し、
前記サーバが、ユーザ識別子と待機時間とを対応づけて格納する待機データベースを参照して、前記クライアント端末から受信したユーザ識別子に基づいて、前記クライアント端末に課すべき待機時間を取得し、
前記サーバが、前記クライアント端末に前記待機時間を送信し、
前記クライアント端末が、前記サーバから受信した前記待機時間が経過することを条件として、前記サーバに処理させるためのデータを前記サーバに送信し、
前記サーバが、前記クライアント端末から受信したデータを処理した処理結果を前記クライアント端末に送信する、
情報処理方法。
【請求項２】
前記クライアント端末は、前記サーバから受信した前記待機時間を待機することができない場合、待機可能な時間である待機可能時間を前記サーバに送信し、
前記クライアント端末は、前記待機時間に替えて、前記待機可能時間が経過することを契機として、前記サーバに前記データを送信する、
請求項１に記載の情報処理方法。
【請求項３】
前記サーバは、前記クライアント端末から前記待機可能時間を受信した場合、前記待機時間と前記待機可能時間との差分の時間が経過することを契機として、前記クライアント端末に前記処理結果を送信する、
請求項２に記載の情報処理方法。
【請求項４】
前記クライアント端末は、当該クライアント端末が保持する送信用一時記憶部の容量と、前記サーバに処理させるためのデータの大きさとに基づいて、前記サーバから受信した前記待機時間を待機することができるか否かを判定する、
請求項２又は３に記載の情報処理方法。
【請求項５】
前記クライアント端末は、前記サーバに処理させるためのデータを順次前記送信用一時記憶部に格納させ、格納の開始から前記待機時間が経過するまでの間に前記送信用一時記憶部に格納させたデータの量が前記送信用一時記憶部の容量に到達した場合、前記サーバから受信した前記待機時間を待機することができないと判定する、
請求項４に記載の情報処理方法。
【請求項６】
前記クライアント端末は、格納の開始から前記送信用一時記憶部に格納させたデータの量が前記送信用一時記憶部の容量に到達するまでに経過した時間を前記待機可能時間として前記サーバに送信する、
請求項５に記載の情報処理方法。
【請求項７】
前記サーバは、ユーザ識別子とサーバの利用情報とが関連づけられている利用状況データベースを参照して、前記クライアント端末から受信したユーザ識別子に関連づけられている利用状況を取得し、
前記サーバは、取得した前記利用状況が所定の待機設定条件を満たす場合、前記クライアント端末に課すべき待機時間を取得する、
請求項１から６のいずれか１項に記載の情報処理方法。
【請求項８】
前記クライアント端末は、前記待機時間を待機することに替えて前記待機時間よりも短い時間を待機した後に前記データを前記サーバに送信し、
前記サーバは、前記処理結果を暗号化した暗号化処理結果を前記クライアント端末に送信し、
前記クライアント端末は、前記データを前記サーバに送信する前に待機した時間と前記待機時間との差分の時間が経過することを条件として前記暗号化処理結果を復号する、
請求項１から７のいずれか１項に記載の情報処理方法。
【請求項９】
前記サーバは、前記クライアント端末から受信したデータを、あらかじめ機械学習を用いて生成された学習モデルに入力してその出力を取得する処理を実行する、
請求項１から８のいずれか１項に記載の情報処理方法。
【請求項１０】
クライアント端末と、当該クライアント端末と通信ネットワークを介して通信可能な態様で接続するサーバと、を備える情報処理システムであって、
前記クライアント端末は、
前記クライアント端末のユーザを特定するためのユーザ識別子とデータの処理要求とを前記サーバに送信する処理要求送信部と、
前記サーバから、前記データの送信前に待機すべき待機時間を受信する待機時間受信部と、
前記待機時間が経過することを条件として、前記サーバに処理させるためのデータを前記サーバに送信するデータ送信部と、
前記サーバから前記データの処理結果を受信する結果受信部と、を備え、
前記サーバは、
前記クライアント端末から前記ユーザ識別子と前記処理要求とを受信する要求受信部と、
ユーザ識別子と待機時間とを対応づけて格納する待機データベースを参照して、前記クライアント端末から受信したユーザ識別子に基づいて、前記クライアント端末に課すべき待機時間を取得する待機時間取得部と、
取得した前記待機時間を前記クライアント端末に送信する待機時間送信部と、
前記クライアント端末から処理すべきデータを受信するデータ受信部と、
受信したデータを処理するデータ処理部と、
データを処理した結果である処理結果を前記クライアント端末に送信する処理結果送信部と、を備える、
情報処理システム。
【請求項１１】
クライアント端末と、前記クライアント端末と通信ネットワークを介して通信可能な態様で接続し、前記クライアント端末から受信したデータを処理した結果を前記クライアント端末に送信するサーバと、を備える情報処理システムにおける前記クライアント端末に、
前記クライアント端末のユーザを特定するためのユーザ識別子と前記データの処理要求とを前記サーバに送信する機能と、
前記ユーザ識別子に基づいて前記サーバが特定した時間であって、前記データの送信前に待機すべき時間である待機時間を前記サーバから受信する機能と、
前記待機時間が経過することを条件として、前記サーバに処理させるためのデータを前記サーバに送信する機能と、
前記サーバから前記データの処理結果を受信する機能と、
を実現させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報処理方法、情報処理システム、及びプログラムに関し、特にサーバ・クライアントシステムにおける処理の時間を制御する技術に関する。
【背景技術】
【０００２】
近年、計算機の性能が大幅に向上し、例えばニューラルネットワーク等の機械学習を用いて高精度な認識エンジンを生成することが実用化されつつある。例えば特許文献１では、機械学習において認識精度を向上させつつ、処理の高速化をするための技術が提案されている。また、通信ネットワークの通信速度が向上し、このような認識エンジンをネットワークを介して利用することも可能となってきている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−１４６８４０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
機械学習を用いて生成された認識エンジンは、それ自体価値のあるものである。したがって、認識エンジンの作成者又は所有者は、通信ネットワークを介してユーザに認識エンジンを利用させる場合、何らかの契約に基づいて対価を得ることも行われている。
【０００５】
認識エンジンの使用に対して使用者に対価を課す場合、認識エンジンの使用の度に対価を課す従量制と、所定の対価に対して一定の回数又は一定の時間の利用を許可する定額制とが考えられる。後者の定額制の場合、一定の使用回数又は使用時間を超過した場合、使用者に認識エンジンの利用に関する何らかの制限を課すことが望まれる。
【０００６】
例えば、認識エンジンを利用しているユーザが認識エンジンにデータを入力してから結果を取得するまでの時間の長短は、認識エンジンの利用制限として採用し得る。
【０００７】
本発明はこれらの点に鑑みてなされたものであり、クライアント端末がデータ処理サーバからデータの処理結果を取得するために要する時間を制御する技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の第１の態様は、クライアント端末と、当該クライアント端末と通信ネットワークを介して通信可能な態様で接続するサーバと、を備える情報処理システムにおいて実行される情報処理方法である。この方法において、前記クライアント端末が、前記クライアント端末のユーザを特定するためのユーザ識別子とデータの処理要求とを前記サーバに送信し、前記サーバが、ユーザ識別子と待機時間とを対応づけて格納する待機データベースを参照して、前記クライアント端末から受信したユーザ識別子に基づいて、前記クライアント端末に課すべき待機時間を取得し、前記サーバが、前記クライアント端末に前記待機時間を送信し、前記クライアント端末が、前記サーバから受信した前記待機時間が経過することを条件として、前記サーバに処理させるためのデータを前記サーバに送信し、前記サーバが、前記クライアント端末から受信したデータを処理した処理結果を前記クライアント端末に送信する。
【０００９】
前記クライアント端末は、前記サーバから受信した前記待機時間を待機することができない場合、待機可能な時間である待機可能時間を前記サーバに送信してもよく、前記クライアント端末は、前記待機時間に替えて、前記待機可能時間が経過することを契機として、前記サーバに前記データを送信してもよい。
【００１０】
前記サーバは、前記クライアント端末から前記待機可能時間を受信した場合、前記待機時間と前記待機可能時間との差分の時間が経過することを契機として、前記クライアント端末に前記処理結果を送信してもよい。
【００１１】
前記クライアント端末は、当該クライアント端末が保持する送信用一時記憶部の容量と、前記サーバに処理させるためのデータの大きさとに基づいて、前記サーバから受信した前記待機時間を待機することができるか否かを判定してもよい。
【００１２】
前記クライアント端末は、前記サーバに処理させるためのデータを順次前記送信用一時記憶部に格納させ、格納の開始から前記待機時間が経過するまでの間に前記送信用一時記憶部に格納させたデータの量が前記送信用一時記憶部の容量に到達した場合、前記サーバから受信した前記待機時間を待機することができないと判定してもよい。
【００１３】
前記クライアント端末は、格納の開始から前記送信用一時記憶部に格納させたデータの量が前記送信用一時記憶部の容量に到達するまでに経過した時間を前記待機可能時間として前記サーバに送信してもよい。
【００１４】
前記サーバは、ユーザ識別子とサーバの利用情報とが関連づけられている利用状況データベースを参照して、前記クライアント端末から受信したユーザ識別子に関連づけられている利用状況を取得してもよく、前記サーバは、取得した前記利用状況が所定の待機設定条件を満たす場合、前記クライアント端末に課すべき待機時間を取得してもよい。
【００１５】
前記クライアント端末は、前記待機時間を待機することに替えて前記待機時間よりも短い時間を待機した後に前記データを前記サーバに送信してもよく、前記サーバは、前記処理結果を暗号化した暗号化処理結果を前記クライアント端末に送信してもよく、前記クライアント端末は、前記データを前記サーバに送信する前に待機した時間と前記待機時間との差分の時間が経過することを条件として前記暗号化処理結果を復号してもよい。
【００１６】
前記サーバは、前記クライアント端末から受信したデータを、あらかじめ機械学習を用いて生成された学習モデルに入力してその出力を取得する処理を実行してもよい。
【００１７】
本発明の第２の態様は、クライアント端末と、当該クライアント端末と通信ネットワークを介して通信可能な態様で接続するサーバと、を備える情報処理システムである。このシステムにおいて、前記クライアント端末は、前記クライアント端末のユーザを特定するためのユーザ識別子とデータの処理要求とを前記サーバに送信する処理要求送信部と、前記サーバから、前記データの送信前に待機すべき待機時間を受信する待機時間受信部と、前記待機時間が経過することを条件として、前記サーバに処理させるためのデータを前記サーバに送信するデータ送信部と、前記サーバから前記データの処理結果を受信する結果受信部と、を備える。前記サーバは、前記クライアント端末から前記ユーザ識別子と前記処理要求とを受信する要求受信部と、ユーザ識別子と待機時間とを対応づけて格納する待機データベースを参照して、前記クライアント端末から受信したユーザ識別子に基づいて、前記クライアント端末に課すべき待機時間を取得する待機時間取得部と、取得した前記待機時間を前記クライアント端末に送信する待機時間送信部と、前記クライアント端末から処理すべきデータを受信するデータ受信部と、受信したデータを処理するデータ処理部と、データを処理した結果である処理結果を前記クライアント端末に送信する処理結果送信部と、を備える。
【００１８】
本発明の第３の態様は、プログラムである。このプログラムは、クライアント端末と、前記クライアント端末と通信ネットワークを介して通信可能な態様で接続し、前記クライアント端末から受信したデータを処理した結果を前記クライアント端末に送信するサーバと、を備える情報処理システムにおける前記クライアント端末に、前記クライアント端末のユーザを特定するためのユーザ識別子と前記データの処理要求とを前記サーバに送信する機能と、前記ユーザ識別子に基づいて前記サーバが特定した時間であって、前記データの送信前に待機すべき時間である待機時間を前記サーバから受信する機能と、前記待機時間が経過することを条件として、前記サーバに処理させるためのデータを前記サーバに送信する機能と、前記サーバから前記データの処理結果を受信する機能と、を実現させる。
【００１９】
このプログラムを提供するため、あるいはプログラムの一部をアップデートするために、このプログラムを記録したコンピュータ読み取り可能な記録媒体が提供されてもよく、また、このプログラムが通信回線で伝送されてもよい。
【００２０】
なお、以上の構成要素の任意の組み合わせ、本発明の表現を方法、装置、システム、コンピュータプログラム、データ構造、記録媒体などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００２１】
本発明によれば、クライアント端末がデータ処理サーバからデータの処理結果を取得するために要する時間を制御する技術を提供することができる。
【図面の簡単な説明】
【００２２】
【図１】実施の形態に係る情報処理システムの概要を説明するための図である。
【図２】実施の形態に係るクライアント端末及びサーバそれぞれの機能構成を模式的に示す図である。
【図３】待機時間、待機可能時間、及び待機時間と待機可能時間との差分の時間であるサーバ待機時間の関係を模式的に示す図である。
【図４】実施の形態に係る待機データベースのデータ構造を模式的に示す図である。
【図５】実施の形態に係る利用状況データベースのデータ構造を模式的に示す図である。
【図６】実施の形態に係る情報処理システムで実行される情報処理の流れを説明するためのシーケンス図の前半部分を示す図である。
【図７】実施の形態に係る情報処理システムで実行される情報処理の流れを説明するためのシーケンス図の後半部分を示す図である。
【発明を実施するための形態】
【００２３】
＜実施の形態の概要＞
図１は、実施の形態に係る情報処理システムＳの概要を説明するための図である。実施の形態に係る情報処理システムＳは、ユーザＵが使用するクライアント端末１と、通信ネットワークＮを介してクライアント端末１と通信可能な態様で接続するサーバ２とを備える。以下、図１を参照して、実施の形態の概要を述べる。
【００２４】
実施の形態に係る情報処理システムＳは、通信ネットワークＮを介してサーバ２がクライアント端末１から処理対象のデータを受信し、受信したデータを処理する。その後、サーバ２は、通信ネットワークＮを介してデータの処理結果をクライアント端末１に送信する。これにより、クライアント端末１は、処理対象のデータを処理した結果を取得する。
【００２５】
以下では、サーバ２は、クライアント端末１から受信したデータをあらかじめ機械学習を用いて生成された学習モデルに入力してその出力を取得する処理を実行することを前提として説明する。しかしながら、サーバ２が実行するデータ処理は学習モデルを用いる処理に限定されないことは、当業者であれば理解できることである。
【００２６】
サーバ２は、クライアント端末１からデータ処理の要求を受け付けたとき、処理対象のデータを受信する前に、クライアント端末１のユーザＵの学習モデルに関する利用状況を確認する。サーバ２は、クライアント端末１のユーザＵの利用状況が学習モデルの利用に制限を課す条件を満たす場合、クライアント端末１に待機時間を送信する。
【００２７】
クライアント端末１は、サーバ２から受信した待機時間が経過するまで待機し、その後、処理対象のデータをサーバ２に送信する。サーバ２は、クライアント端末１から受信した処理対象のデータを学習モデルに入力し、処理結果をクライアント端末１に送信する。なお、例えばクライアント端末１のリソースの制限によってサーバ２から受信した待機時間を待機できない場合は、サーバ２は、クライアント端末１が待機できなかった残りの時間を待機してもよい。
【００２８】
ここで、サーバ２がクライアント端末１に処理結果を送信する時間を遅らせるために、通信ネットワークＮの帯域を制限する方法も考えられる。しかしながら、通信ネットワークＮの帯域を制限すると、クライアント端末１から通信ネットワークＮに送信する処理対象のデータの容量を制限する必要が生じたり、回線が逼迫してパケットロスが生じたりすることも起こりうる。この結果、サーバ２が学習モデルに入力するデータに欠損が生じ、ひいては認識率等の学習モデルの性能が低下しかねない。
【００２９】
実施の形態に係る情報処理システムＳにおいては、クライアント端末１又は必要に応じてサーバ２が処理を待機することにより、サーバ２は学習モデルの性能は変えることなく、クライアント端末１に処理結果を送信する時間を遅らせることができる。また、サーバ２は、各クライアント端末１に待機処理を実行させることにより、サーバ２の処理負荷を軽減することができる。これにより、サーバ２は、契約で定めた使用時間や使用回数を超過した特定のユーザＵが使用するクライアント端末１に対して、処理対象のデータを学習モデルへ入力してから処理結果を出力するまでの時間を制限することができる。
【００３０】
＜実施の形態に係るクライアント端末１及びサーバ２の機能構成＞
図２は、実施の形態に係るクライアント端末１とサーバ２とのそれぞれの機能構成を模式的に示す図である。クライアント端末１は記憶部１０と制御部１１とを備え、サーバ２は記憶部２０と制御部２１とを備える。図２において、矢印は主なデータの流れを示しており、図２に示していないデータの流れがあってもよい。図２において、各機能ブロックはハードウェア（装置）単位の構成ではなく、機能単位の構成を示している。そのため、図２に示す機能ブロックは単一の装置内に実装されてもよく、あるいは複数の装置内に分かれて実装されてもよい。機能ブロック間のデータの授受は、データバス、ネットワーク、可搬記憶媒体等、任意の手段を介して行われてもよい。
【００３１】
記憶部１０は、クライアント端末１を実現するコンピュータのＢＩＯＳ（Basic Input Output System）等を格納するＲＯＭ（Read Only Memory）やクライアント端末１の作業領域となるＲＡＭ（Random Access Memory）、ＯＳ（Operating System）やアプリケーションプログラム、当該アプリケーションプログラムの実行時に参照される種々の情報を格納するＨＤＤ（Hard Disk Drive）やＳＳＤ（Solid State Drive）等の大容量記憶装置である。
【００３２】
同様に、記憶部２０は、サーバ２を実現するコンピュータのＢＩＯＳ等を格納するＲＯＭやサーバ２の作業領域となるＲＡＭ、ＯＳやアプリケーションプログラム、当該アプリケーションプログラムの実行時に参照される種々の情報を格納するＨＤＤやＳＳＤ等の大容量記憶装置である。
【００３３】
制御部１１は、クライアント端末１のＣＰＵ（Central Processing Unit）やＧＰＵ（Graphics Processing Unit）等のプロセッサであり、記憶部１０に記憶されたプログラムを実行することによって、処理要求送信部１１０、待機時間受信部１１１、データ送信部１１２、結果受信部１１３、復号部１１４、及び結果表示部１１５として機能する。
【００３４】
同様に、制御部２１は、サーバ２のＣＰＵやＧＰＵ等のプロセッサであり、記憶部２０に記憶されたプログラムを実行することによって、待機時間取得部２１０、待機時間送信部２１１、データ処理部２１２、暗号化部２１３、及び処理結果送信部２１４として機能する。
【００３５】
なお、図２は、サーバ２が単一の装置で構成されている場合の例を示している。しかしながら、サーバ２は、例えばクラウドコンピューティングシステムのように複数のプロセッサやメモリ等の計算リソースによって実現されてもよい。この場合、制御部２１を構成する各部は、複数の異なるプロセッサの中の少なくともいずれかのプロセッサがプログラムを実行することによって実現される。
【００３６】
上述したように、実施の形態に係る情報処理システムＳは、クライアント端末１と、通信ネットワークＮを介してクライアント端末１と通信可能な態様で接続するサーバ２と、を備える。ここで、クライアント端末１の処理要求送信部１１０は、クライアント端末１のユーザＵを特定するためのユーザ識別子とデータの処理要求とをサーバ２に送信する。
【００３７】
サーバ２の待機時間取得部２１０は、ユーザ識別子と待機時間とを対応づけて格納する待機データベース２００を参照して、クライアント端末１から受信したユーザ識別子に基づいて、クライアント端末１に課すべき待機時間を取得する。なお、待機時間取得についての詳細は後述する。
【００３８】
サーバ２の待機時間送信部２１１は、クライアント端末１に待機時間取得部２１０が取得した待機時間を送信する。クライアント端末１の待機時間受信部１１１は、サーバ２から待機時間を受信する。待機時間受信部１１１は、サーバ２から受信時した処理時間が経過するまで待機する。クライアント端末１のデータ送信部１１２は、待機時間受信部１１１が受信した待機時間が経過することを条件として、サーバ２に処理させるためのデータをサーバ２に送信する。
【００３９】
サーバ２のデータ処理部２１２は、クライアント端末１から受信したデータを処理する。例えば、データ処理部２１２は、クライアント端末１から受信したデータを学習モデルに入力し、その出力結果を取得する。サーバ２の暗号化部２１３は、待機時間送信部２１１が処理した処理結果を暗号化して暗号化処理結果を生成する。サーバ２の処理結果送信部２１４は、暗号化部２１３が生成した暗号化処理結果をクライアント端末１に送信する。
【００４０】
クライアント端末１の結果受信部１１３は、サーバ２からデータの処理結果である暗号化処理結果を受信する。クライアント端末１の復号部１１４は、結果受信部１１３が受信した暗号化処理結果を復号する。クライアント端末１の結果表示部１１５は、復号部１１４が復号して取得した処理結果を、クライアント端末１の表示部（不図示）に表示する。このように、クライアント端末１がサーバ２から指定された待機時間が経過するまで待機することによりクライアント端末１が処理対象のデータの処理結果を表示するまでの時間を制御することができる。
【００４１】
上述したように、クライアント端末１の待機時間受信部１１１は、サーバ２から取得した待機時間が経過するまで待機する。待機時間受信部１１１が待機している間、データ送信部１１２は、サーバ２に処理対象のデータを送信する際に利用する送信用一時記憶部（不図示）に処理対象のデータを格納し続ける。ここで、待機時間受信部１１１が待機中に未送信の処理対象のデータのサイズが送信用一時記憶部の容量を超過すると、未送信の処理対象のデータが新たな処理対象のデータによって上書きされ、処理対象のデータが欠損しかねない。処理対象のデータに欠損が生じると、サーバ２によるデータ処理結果の精度が下がる。
【００４２】
そこで、クライアント端末１の待機時間受信部１１１は、サーバ２から受信した待機時間を待機することができるか否かを判定する。具体的には、クライアント端末１の待機時間受信部１１１は、クライアント端末１が保持する送信用一時記憶部の容量と、サーバ２に処理させるためのデータの大きさとに基づいて、サーバ２から受信した待機時間を待機することができるか否かを判定する。さらに具体的には、待機時間受信部１１１は、サーバ２に処理させるためのデータを順次送信用一時記憶部に格納させ、格納の開始から待機時間が経過するまでの間に送信用一時記憶部に格納させたデータの量が送信用一時記憶部の容量に到達した場合、サーバ２から受信した待機時間を待機することができないと判定する。これにより、待機時間受信部１１１は、待機によって処理対象のデータが欠損することを抑制できる。
【００４３】
待機時間受信部１１１が、サーバ２から受信した待機時間を待機することができないと判定した場合、待機時間受信部１１１は、待機可能な時間である待機可能時間を算出する。具体的には、待機時間受信部１１１は、送信用一時記憶部に処理対象のデータの格納の開始から送信用一時記憶部に格納させたデータの量が送信用一時記憶部の容量に到達するまでに経過した時間を待機可能時間として算出する。これにより、待機時間受信部１１１は、待機によって処理対象のデータが欠損しない範囲で最大限処理を待機することができる。
【００４４】
クライアント端末１の待機時間受信部１１１は、サーバ２から受信した待機時間に替えて、待機可能時間が経過するまで待機する。クライアント端末１のデータ送信部１１２は、待機時間受信部１１１が待機可能時間が経過するまで待機することを契機として、サーバ２に処理対象のデータを送信する。このとき、データ送信部１１２は、待機時間受信部１１１が実際に待機した待機可能時間もサーバ２に送信する。これにより、クライアント端末１は、データの処理性能に影響を与えない範囲で最大限処理対象のデータの処理結果を表示するまでの時間を遅延させることができる。
【００４５】
サーバ２の処理結果送信部２１４は、データ処理部２１２がクライアント端末１のデータ送信部１１２から待機可能時間を受信した場合、待機時間と待機可能時間との差分の時間が経過するまで処理結果の送信を待機する。
【００４６】
図３は、待機時間、待機可能時間、及び待機時間と待機可能時間との差分の時間であるサーバ待機時間の関係を模式的に示す図である。図３に示すように、クライアント端末１が本来待機すべき待機時間よりも、クライアント端末１が待機可能な最大値である待機可能時間が短い場合、両者の差分がサーバ待機時間となる。
【００４７】
処理結果送信部２１４は、待機時間と待機可能時間との差分の時間が経過することを契機として、クライアント端末１に処理結果を送信する。サーバ２がクライアント端末１で待機しきれない時間を待機することにより、サーバ２は、クライアント端末１が処理対象のデータの処理結果を表示するまでの時間を待機時間取得部２１０が取得した待機時間とすることができる。
【００４８】
続いて、サーバ２の待機時間取得部２１０が取得する待機時間の取得について説明する。
図４は、実施の形態に係る待機データベース２００のデータ構造を模式的に示す図である。待機データベース２００は記憶部２０に格納されており、待機時間取得部２１０によって管理される。
【００４９】
図４に示すように、待機データベース２００は、サーバ２を利用するユーザＵを特定するためのユーザ識別子と、そのユーザ識別子で特定されるユーザＵに課すべき待機時間とを対応づけて格納している。例えば、ユーザ識別子がＵＩＤ００００１のユーザＵには待機時間が課されないが、ユーザ識別子がＵＩＤ００００２のユーザＵにはα秒の待機時間が課される。ここで、各ユーザＵに課すべき待機時間は、各ユーザＵのサーバ２の利用状況によって定まる。
【００５０】
図５（ａ）−（ｂ）は、実施の形態に係る利用状況データベース２０１のデータ構造を模式的に示す図である。利用状況データベース２０１は、ユーザ識別子とサーバ２の利用情報とが関連づけられて格納されている。具体的には、図５（ａ）は、ユーザ識別子と、ユーザ識別子で特定されるユーザＵが契約している各月のサーバ２の利用回数の上限及び実際の使用回数とを対応づけ低格納する使用回数データベース２０１ａのデータ構造を模式的に示す図である。また、図５（ｂ）は、各月の利用回数の上限を超過した回数と、ユーザＵに課す待機時間とを対応づけて格納する制約時間データベース２０１ｂのデータ構造を模式的に示す図である。使用回数データベース２０１ａと制約時間データベース２０１ｂとで、利用状況データベース２０１を構成する。
【００５１】
サーバ２の待機時間取得部２１０は、利用状況データベース２０１を参照して、クライアント端末１から受信したユーザ識別子に関連づけられている利用状況を取得する。例えば、待機時間取得部２１０は、クライアント端末１から受信したユーザ識別がＵＩＤ００００１の場合、使用回数データベース２０１ａを参照して、ユーザ識別がＵＩＤ００００１のユーザＵの超過回数ｓ−Ｐを算出する。待機時間取得部２１０は、利用状況が所定の待機設定条件を満たす場合、例えば、算出した超過回数が１以上の場合、待機時間取得部２１０は、算出した超過回数に基づいて制約時間データベース２０１ｂを参照することにより、ユーザＵに課すべき待機時間を取得する。これにより、待機時間取得部２１０は、利用状況が所定の待機設定条件を満たすユーザＵに対して選択的に待機時間を設定することができる。
【００５２】
以上、クライアント端末１が処理対象のデータをサーバ２に送信する前に待機することにより、クライアント端末がサーバ２から処理結果を取得するために要する時間を制御する場合について説明した。これに替えて、あるいはこれに加えて、クライアント端末１は、サーバ２から処理結果を受け取った後、結果を表示する前に待機してもよい。以下この場合について説明する。
【００５３】
クライアント端末１の待機時間受信部１１１は、サーバ２から待機時間を待機することに替えて待機時間よりも短い時間だけ待機する。このとき、待機時間受信部１１１は、待機可能時間の長さが待機可能時間を下回るか否かに関わらず、待機時間よりも短い時間だけ待機する。データ送信部１１２は、待機時間受信部１１１が待機した後に、処理対象のデータをサーバ２に送信する。
【００５４】
サーバ２は、クライアント端末１から処理対象のデータを受信し、待機することなくデータを処理してクライアント端末１に処理結果を送信する。クライアント端末１の復号部１１４は、データ送信部１１２が処理対象のデータをサーバ２に送信する前に待機した時間と待機時間受信部１１１がサーバ２から受信した待機時間との差分の時間が経過することを条件として、結果受信部１１３がサーバ２から受信した暗号化処理結果を復号する。
【００５５】
一般に、クライアント端末１がサーバ２に送信する処理対象データの大きさよりも、クライアント端末１がサーバ２から受信する処理結果のサイズの方が小さい。例えば、サーバ２が学習モデルを用いて画像認識処理を実行するサーバである場合、クライアント端末１がサーバ２に送信する処理対象データは画像データであり、１データ当たり数メガバイト程度の大きさとなる。
【００５６】
これに対し、クライアント端末１がサーバ２から受信するデータは、画像データに認識対象の被写体が存在するか否か、存在する場合には画像データのどの領域かを示す情報であり、高々数キロバイト程度である。したがって、クライアント端末１がデータの送信を待機する場合と比較して、クライアント端末１がサーバ２から受信したデータの処理を待機する方が、長い待機時間を確保できる場合がある。また、クライアント端末１は、データの送信前と処理結果の受信後との２つのタイミングで待機処理を実行することで全体としてクライアント端末１に課された待機時間を待機することにより、サーバ２に待機処理を担わせることを抑制できる。結果として、クライアント端末１は、サーバ２の負荷を軽減することができる。
【００５７】
＜情報処理システムＳで実行される情報処理のシーケンス＞
図６は、実施の形態に係る情報処理システムＳで実行される情報処理の流れを説明するためのシーケンス図の前半部分を示す図である。また、図７は、実施の形態に係る情報処理システムＳで実行される情報処理の流れを説明するためのシーケンス図の後半部分を示す図である。以下、図６及び図７を参照して、実施の形態に係る情報処理システムＳで実行される情報処理の流れを説明する。
【００５８】
クライアント端末１の処理要求送信部１１０は、クライアント端末１のユーザＵを特定するためのユーザ識別子をサーバ２に送信するとともに、サーバ２に対して処理対象のデータの処理要求を送信する（Ｓ２）。サーバ２の待機時間取得部２１０は、クライアント端末１からユーザ識別子と処理要求とを取得する（Ｓ４）。待機時間取得部２１０は、待機データベース２００を参照して、クライアント端末１から受信したユーザ識別子に基づいて、クライアント端末１に課すべき待機時間を取得する（Ｓ６）。
【００５９】
サーバ２の待機時間送信部２１１は、待機時間取得部２１０が取得した待機時間をクライアント端末１に送信する（Ｓ８）。クライアント端末１の待機時間受信部１１１は、サーバ２が送信した待機時間を受信する（Ｓ１０）。待機時間受信部１１１は、サーバか２ら受信した待機時間を待機することができない場合、待機可能な時間である待機可能時間だけ待機する（Ｓ１２）。クライアント端末１のデータ送信部１１２は、待機時間受信部１１１が実際に待機した待機可能時間をサーバ２に送信する。サーバ２のデータ処理部２１２は、クライアント端末１から待機可能時間を受信する（Ｓ１６）。
【００６０】
図７に示すシーケンス図の後半部を説明する。クライアント端末１のデータ送信部１１２は、処理対象のデータをサーバ２に送信する（Ｓ１８）。サーバ２のデータ処理部２１２は、クライアント端末１から処理対象のデータを受信する（Ｓ２０）。サーバ２のデータ処理部２１２は、クライアント端末１から受信した処理対象のデータを処理する（Ｓ２２）。サーバ２の暗号化部２１３は、データ処理部２１２が処理した処理結果を暗号化する（Ｓ２４）。
【００６１】
クライアント端末１が本来待機すべき待機時間よりも待機可能時間が短く、サーバ２が待機する必要がある場合（Ｓ２６のＹｅｓ）、サーバ２の処理結果送信部２１４は、待機時間と待機可能時間との差分の時間が経過するまで処理結果の送信を待機する（Ｓ２８）。
【００６２】
クライアント端末１が本来待機すべき待機時間よりも待機可能時間が短く、サーバ２が待機する必要がない場合（Ｓ２６のＮｏ）、又は処理結果送信部２１４が待機時間と待機可能時間との差分の時間が経過するまで処理結果の送信を待機すると、処理結果送信部２１４は、暗号化部２１３が暗号化した暗号化処理結果をクライアント端末１に送信する（Ｓ３０）。
【００６３】
クライアント端末１の結果受信部１１３は、サーバ２から暗号化処理結果を受信する（Ｓ３２）。クライアント端末１の復号部１１４は、結果受信部１１３が受信した暗号化処理結果を復号する（Ｓ３４）。クライアント端末１の結果表示部１１５は、復号部１１４が復号した処理結果を表示する（Ｓ３６）。
【００６４】
＜実施の形態に係るクライアント端末１が奏する効果＞
以上説明したように、実施の形態に係るクライアント端末１によれば、クライアント端末１がサーバ２から処理結果を取得するために要する時間を制御することができる。
【００６５】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されず、その要旨の範囲内で種々の変形及び変更が可能である。例えば、装置の分散・統合の具体的な実施の形態は、以上の実施の形態に限られず、その全部又は一部について、任意の単位で機能的又は物理的に分散・統合して構成することができる。また、複数の実施の形態の任意の組み合わせによって生じる新たな実施の形態も、本発明の実施の形態に含まれる。組み合わせによって生じる新たな実施の形態の効果は、もとの実施の形態の効果を合わせ持つ。
【符号の説明】
【００６６】
１・・・クライアント端末
１０・・・記憶部
１１・・・制御部
１１０・・・処理要求送信部
１１１・・・待機時間受信部
１１２・・・データ送信部
１１３・・・結果受信部
１１４・・・復号部
１１５・・・結果表示部
２・・・サーバ
２０・・・記憶部
２００・・・待機データベース
２０１・・・利用状況データベース
２０１ａ・・・使用回数データベース
２０１ｂ・・・制約時間データベース
２１・・・制御部
２１０・・・待機時間取得部
２１１・・・待機時間送信部
２１２・・・データ処理部
２１３・・・暗号化部
２１４・・・処理結果送信部
Ｓ・・・情報処理システム
Ｎ・・・通信ネットワーク
【図１】
2020013501.tif 000003
【図２】
2020013501.tif 000004
【図３】
2020013501.tif 000005
【図４】
2020013501.tif 000006
【図５】
2020013501.tif 000007
【図６】
2020013501.tif 000008
【図７】
2020013501.tif 000009