特開2015-228545(P2015-228545A)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 富士ゼロックス株式会社の特許一覧

<>
  • 特開2015228545-情報処理装置及びプログラム 図000003
  • 特開2015228545-情報処理装置及びプログラム 図000004
  • 特開2015228545-情報処理装置及びプログラム 図000005
  • 特開2015228545-情報処理装置及びプログラム 図000006
  • 特開2015228545-情報処理装置及びプログラム 図000007
  • 特開2015228545-情報処理装置及びプログラム 図000008
  • 特開2015228545-情報処理装置及びプログラム 図000009
  • 特開2015228545-情報処理装置及びプログラム 図000010
  • 特開2015228545-情報処理装置及びプログラム 図000011
  • 特開2015228545-情報処理装置及びプログラム 図000012
  • 特開2015228545-情報処理装置及びプログラム 図000013
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】特開2015-228545(P2015-228545A)
(43)【公開日】2015年12月17日
(54)【発明の名称】情報処理装置及びプログラム
(51)【国際特許分類】
   H04L 29/14 20060101AFI20151120BHJP
   H04L 12/70 20130101ALI20151120BHJP
【FI】
   H04L13/00 313
   H04L12/70 100Z
【審査請求】未請求
【請求項の数】5
【出願形態】OL
【全頁数】17
(21)【出願番号】特願2014-112553(P2014-112553)
(22)【出願日】2014年5月30日
(71)【出願人】
【識別番号】000005496
【氏名又は名称】富士ゼロックス株式会社
(74)【代理人】
【識別番号】110000154
【氏名又は名称】特許業務法人はるか国際特許事務所
(72)【発明者】
【氏名】ローシャン タプリヤ
(72)【発明者】
【氏名】馬 海洋
【テーマコード(参考)】
5K030
5K035
【Fターム(参考)】
5K030GA14
5K030MA04
5K030MB06
5K030MC03
5K035AA03
5K035BB01
5K035CC08
5K035DD01
5K035EE21
5K035FF01
5K035FF02
5K035GG14
5K035JJ05
5K035KK01
(57)【要約】
【課題】UDPパケット通信において高速で高精度な帯域幅測定を行う情報処理装置を提供する。
【解決手段】所定のデータサイズで、かつ、所定の時間間隔で順次送信される複数のUDPパケットを順に受信し、連続する2つのUDPパケットの受信時間間隔の、所定の時間間隔に対する遅延状態の評価値を算出する第1算出手段と、連続する2つのUDPパケットの受信時間間隔のうち異常値を除去するための条件に基づいて取得される受信時間間隔の、所定の時間間隔に対する遅延状態の評価値を算出する第2算出手段と、第1算出手段により算出される評価値と、第2算出手段により算出される評価値と、を組み合わせて少なくとも2つの評価値に基づいて当該評価値の信頼性を判断する判断手段と、評価値の信頼性に基づいて、所定のデータサイズと所定の時間間隔とで定められるビットレートに応じた帯域幅情報を出力する帯域幅情報出力手段と、を含む情報処理装置。
【選択図】図3
【特許請求の範囲】
【請求項1】
所定のデータサイズで、かつ、所定の時間間隔で順次送信される複数のUDPパケットを順に受信する受信手段と、
前記受信手段により連続して受信する2つのUDPパケットの受信時間間隔を取得し、取得した複数の前記受信時間間隔と前記所定の時間間隔とに基づいて、前記受信時間間隔の、前記所定の時間間隔に対する遅延状態を評価する評価値を算出する第1算出手段と、
前記受信手段により連続して受信する2つのUDPパケットの受信時間間隔のうち異常値を除去するための条件に基づいて取得される前記受信時間間隔と、前記所定の時間間隔とに基づいて、前記受信時間間隔の、前記所定の時間間隔に対する遅延状態を評価する評価値を算出する第2算出手段と、
前記第1算出手段により算出される評価値と、前記第2算出手段により算出される評価値と、を組み合わせて少なくとも2つの評価値に基づいて当該評価値の信頼性を判断する判断手段と、
前記判断手段による前記評価値の信頼性に基づいて、前記所定のデータサイズと前記所定の時間間隔とで定められるビットレートに応じた帯域幅情報を出力する帯域幅情報出力手段と、
を含むことを特徴とする情報処理装置。
【請求項2】
前記帯域幅情報出力手段が出力した、複数の異なるビットレートの各ビットレートに応じた前記帯域幅情報に基づいて、前記複数の異なるビットレートから帯域幅の上限及び下限を設定する帯域幅設定手段、をさらに含む、
ことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記判断手段は、複数の異なるビットレートの各ビットレートにて算出された前記評価値のビットレート変化に対する信頼性の判断を含み、
前記判断手段が、前記各ビットレートにおける前記評価値の信頼性が低いと判断し、かつ、前記評価値の前記ビットレート変化に対する信頼性が高いと判断する場合に、前記受信手段が前記各ビットレートにて送信した前記複数のUDPパケットを再度受信し、
前記判断手段が、前記再度受信した各ビットレートにおいて算出された前記評価値の信頼性が低いと判断し、かつ、前記評価値の前記ビットレート変化に対する信頼性が高いと判断する場合に、前記帯域幅設定手段は、当該各ビットレートから帯域幅の上限及び下限を設定する、
ことを特徴とする請求項2に記載の情報処理装置。
【請求項4】
前記再度受信した各ビットレートにおいて算出された前記評価値と、前回受信した各ビットレートにおいて算出された前記評価値と、を考慮して算出される評価値が所定の基準値を満たす場合に、前記帯域幅設定手段は、当該各ビットレートから帯域幅の上限及び下限を設定する、
ことを特徴とする請求項3に記載の情報処理装置。
【請求項5】
所定のデータサイズで、かつ、所定の時間間隔で順次送信される複数のUDPパケットを順に受信する受信手段、
前記受信手段により連続して受信する2つのUDPパケットの受信時間間隔を取得し、取得した複数の前記受信時間間隔と前記所定の時間間隔とに基づいて、前記受信時間間隔の、前記所定の時間間隔に対する遅延状態を評価する評価値を算出する第1算出手段、
前記受信手段により連続して受信する2つのUDPパケットの受信時間間隔のうち異常値を除去するための条件に基づいて取得される前記受信時間間隔と、前記所定の時間間隔とに基づいて、前記受信時間間隔の、前記所定の時間間隔に対する遅延状態を評価する評価値を算出する第2算出手段、
前記第1算出手段により算出される評価値と、前記第2算出手段により算出される評価値と、を組み合わせて少なくとも2つの評価値に基づいて当該評価値の信頼性を判断する判断手段、
前記判断手段による前記評価値の信頼性に基づいて、前記所定のデータサイズと前記所定の時間間隔とで定められるビットレートに応じた帯域幅情報を出力する帯域幅情報出力手段、
としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置及びプログラムに関する。
【背景技術】
【0002】
複数の情報処理装置間において、UDPパケット通信により帯域幅の測定を行っている。しかし、UDPパケット通信による帯域幅の測定は長時間を要すうえに異常値の影響を受けやすい。
【発明の概要】
【発明が解決しようとする課題】
【0003】
本発明の目的の一つは、UDPパケット通信において高速で高精度な帯域幅測定を行う情報処理装置を提供することにある。
【課題を解決するための手段】
【0004】
請求項1に記載の発明は、情報処理装置であって、所定のデータサイズで、かつ、所定の時間間隔で順次送信される複数のUDPパケットを順に受信する受信手段と、前記受信手段により連続して受信する2つのUDPパケットの受信時間間隔を取得し、取得した複数の前記受信時間間隔と前記所定の時間間隔とに基づいて、前記受信時間間隔の、前記所定の時間間隔に対する遅延状態を評価する評価値を算出する第1算出手段と、前記受信手段により連続して受信する2つのUDPパケットの受信時間間隔のうち異常値を除去するための条件に基づいて取得される前記受信時間間隔と、前記所定の時間間隔とに基づいて、前記受信時間間隔の、前記所定の時間間隔に対する遅延状態を評価する評価値を算出する第2算出手段と、前記第1算出手段により算出される評価値と、前記第2算出手段により算出される評価値と、を組み合わせて少なくとも2つの評価値に基づいて当該評価値の信頼性を判断する判断手段と、前記判断手段による前記評価値の信頼性に基づいて、前記所定のデータサイズと前記所定の時間間隔とで定められるビットレートに応じた帯域幅情報を出力する帯域幅情報出力手段と、を含むこととしたものである。
【0005】
請求項2に記載の発明は、請求項1に記載の情報処理装置であって、前記帯域幅情報出力手段が出力した、複数の異なるビットレートの各ビットレートに応じた前記帯域幅情報に基づいて、前記複数の異なるビットレートから帯域幅の上限及び下限を設定する帯域幅設定手段、をさらに含むこととしたものである。
【0006】
請求項3に記載の発明は、請求項2に記載の情報処理装置であって、前記判断手段は、複数の異なるビットレートの各ビットレートにて算出された前記評価値のビットレート変化に対する信頼性の判断を含み、前記判断手段が、前記各ビットレートにおける前記評価値の信頼性が低いと判断し、かつ、前記評価値の前記ビットレート変化に対する信頼性が高いと判断する場合に、前記受信手段が前記各ビットレートにて送信した前記複数のUDPパケットを再度受信し、前記判断手段が、前記再度受信した各ビットレートにおいて算出された前記評価値の信頼性が低いと判断し、かつ、前記評価値の前記ビットレート変化に対する信頼性が高いと判断する場合に、前記帯域幅設定手段は、当該各ビットレートから帯域幅の上限及び下限を設定する、こととしたものである。
【0007】
請求項4に記載の発明は、請求項3に記載の情報処理装置であって、前記再度受信した各ビットレートにおいて算出された前記評価値と、前回受信した各ビットレートにおいて算出された前記評価値と、を考慮して算出される評価値が所定の基準値を満たす場合に、前記帯域幅設定手段は、当該各ビットレートから帯域幅の上限及び下限を設定する、こととしたものである。
【0008】
請求項5に記載の発明は、プログラムであって、所定のデータサイズで、かつ、所定の時間間隔で順次送信される複数のUDPパケットを順に受信する受信手段、前記受信手段により連続して受信する2つのUDPパケットの受信時間間隔を取得し、取得した複数の前記受信時間間隔と前記所定の時間間隔とに基づいて、前記受信時間間隔の、前記所定の時間間隔に対する遅延状態を評価する評価値を算出する第1算出手段、前記受信手段により連続して受信する2つのUDPパケットの受信時間間隔のうち異常値を除去するための条件に基づいて取得される前記受信時間間隔と、前記所定の時間間隔とに基づいて、前記受信時間間隔の、前記所定の時間間隔に対する遅延状態を評価する評価値を算出する第2算出手段、前記第1算出手段により算出される評価値と、前記第2算出手段により算出される評価値と、を組み合わせて少なくとも2つの評価値に基づいて当該評価値の信頼性を判断する判断手段、前記判断手段による前記評価値の信頼性に基づいて、前記所定のデータサイズと前記所定の時間間隔とで定められるビットレートに応じた帯域幅情報を出力する帯域幅情報出力手段、としてコンピュータを機能させることとしたものである。
【発明の効果】
【0009】
請求項1及び5に記載の発明によれば、高速で高精度な帯域幅測定を行うことができる。
【0010】
請求項2に記載の発明によれば、高速で高精度な帯域幅の設定を行うことができる。
【0011】
請求項3及び4に記載の発明によれば、精度の低い帯域幅測定情報であっても最適な帯域幅を設定することができる。
【図面の簡単な説明】
【0012】
図1】本実施形態に係る情報処理システムの全体構成の一例を示す図である。
図2】本実施形態に係るサーバのハードウェア構成の一例を示す図である。
図3】本実施形態に係るサーバの制御部により実現される主な機能の一例を示す機能ブロック図である。
図4】第1評価値を算出する処理(第1評価値算出処理)の一例を示すフロー図である。
図5】本実施形態にかかるUDPパケットの送受信の様子を模式的に示す図である。
図6】第2評価値を算出する処理(第2評価値算出処理)の一例を示すフロー図である。
図7】第3評価値を算出する処理(第3評価値算出処理)の一例を示すフロー図である。
図8】サーバが実行する第1帯域幅設定処理の一例を示すフロー図である。
図9】ビットレートRnと合計評価値SumRnとの関係の一例を示す図である
図10】サーバが実行する第2帯域幅設定処理の一例を示すフロー図である。
図11】第2帯域幅設定処理における、各ビットレートにおける合計評価値の一例を示す図である。
【発明を実施するための形態】
【0013】
以下、本発明の一実施形態を図面に基づき詳細に説明する。
【0014】
[1.システム構成の説明]
図1は、本実施形態に係る情報処理システム1の全体構成の一例を示す図である。図1に示すように、本実施形態に係る情報処理システム1は、例えば、サーバ10、及びクライアント端末20(20−1〜20−n)を含んで構成される。サーバ10、クライアント端末20は、ローカルエリアネットワーク(LAN)やインターネットなどの通信手段を介して互いに接続されており、互いに通信されるようになっている。
【0015】
本実施形態では、サーバ10が、サーバ10とクライアント端末20との間のデータ通信に用いる通信経路の帯域幅の情報を測定し、測定した帯域幅の情報に基づいてサーバとクライアント端末20との間のデータ通信に用いる通信経路の帯域幅を設定することとする。
【0016】
[2.ハードウェア構成の説明]
以下、上記の処理を実現するために、サーバ10に備えられるハードウェア構成の一例について説明する。
【0017】
図2は、本実施形態に係るサーバ10のハードウェア構成の一例を示す図である。図2に示すように、例えば、サーバ10は、制御部11、記憶部12、通信部13、入力部14、及び表示部15を含んで構成される。
【0018】
制御部11は、例えばCPU等であって、記憶部12に格納されるプログラムに従って各種の情報処理を実行する。本実施形態において制御部11が実行する処理の具体例については、後述する。
【0019】
記憶部12は、例えばRAMやROM等のメモリ素子、ハードディスクなどを含んで構成される。記憶部12は、制御部11によって実行されるプログラムや、各種のデータを保持する。また、記憶部12は、制御部11のワークメモリとしても動作する。
【0020】
通信部13は、例えばLANカード等のネットワークインタフェースであって、LANや無線通信網などの通信手段を介して、クライアント端末20との間で情報の送受信を行う。
【0021】
入力部14は、例えばタッチパネル、キーボード等であって、ユーザからの操作入力を受け付ける。
【0022】
表示部15は、例えば液晶ディスプレイであって、制御部11による情報処理の結果を表示する。
【0023】
[3.機能の説明]
以下、サーバ10の制御部11が実現する機能について説明する。図3は、本実施形態に係るサーバ10の制御部11により実現される主な機能の一例を示す機能ブロック図である。図3に示すように、サーバ10の制御部11は、機能的には、例えば、パケット情報取得部101、評価値算出部102、第1評価値算出部103、第2評価値算出部104、第3評価値算出部105、評価値取得部106、判断部107、帯域幅情報出力部108、及び帯域幅設定部109を含んで構成される。これらの機能は、記憶部12に記憶されたプログラムを制御部11が実行することにより実現される。このプログラムは、例えば、光ディスク、磁気ディスク、磁気テープ、光磁気ディスク、フラッシュメモリ等のコンピュータ可読な情報記憶媒体を介して、あるいは、インターネットなどの通信手段を介してサーバ10に供給される。
【0024】
パケット情報取得部101は、通信部13が受信したパケットの情報を取得する。例えば、パケット情報取得部101は、例えば、通信部13パケットは送信元の情報(クライアント端末20の識別情報、送信ビットレート等)を含んでおり、パケット情報取得部101は、受信したパケットから送信元の情報も取得する。例えば、通信部13が受信する複数のパケットのうち連続して受信するパケット(パケットペアとする)の受信時間間隔や、各パケットに含まれる送信元の情報(例えば、送信元であるクライアント端末20の識別情報、送信ビットレート等)を取得する。
【0025】
評価値算出部102は、パケット情報取得部101が取得したパケットペアの受信時間間隔と、送信ビットレートから算出されるパケットペアの送信時間間隔と、を比較して、受信時間間隔の送信時間間隔に対する遅延の割合を評価する値を算出する。本実施形態では、第1評価値算出部103、第2評価値算出部104、及び第3評価値算出部105の3通りの方法により評価値を算出することとする。
【0026】
評価値取得部106は、評価値算出部102が算出した評価値を取得する。
【0027】
判断部107は、評価値取得部106が取得した評価値の信頼性を判断する。ここで、評価値の信頼性とは、まず、一般的な前提として、ビットレート変化に対する評価値の信頼性を判断する。ビットレートが高いほど、受信時間間隔の送信時間間隔に対する遅延の割合は大きくなることに基づいて、ビットレートが増加するに伴い、評価値が一定または増加すれば当該評価値のビットレート変化に対する信頼性は高いと判断できる。また、本実施形態では、3通りの方法により算出した各評価値の差異が少なければ当該評価値の信頼性は高いと判断する。
【0028】
帯域幅情報出力部108は、判断部107が判断した評価値の信頼性に基づいて帯域幅を設定するための情報を出力する。
【0029】
帯域幅設定部109は、帯域幅情報出力部108が出力した、ビットレートに応じた帯域幅の情報に基づいて、最適な帯域幅の設定を行う。
【0030】
[4.フロー図の説明]
次に、サーバ10において実現される処理の詳細を、フロー図を参照しながら説明する。
【0031】
[4−1.第1評価値算出処理]
図4は、サーバ10とクライアント端末20との間の通信経路における通信遅延を評価する第1評価値を算出する処理(第1評価値算出処理)の一例を示すフロー図である。
【0032】
まず、パケット情報取得部101は、クライアント端末20が所定のビットレートで送信したUDPパケットの送信時間間隔を取得する(S1)。そして、パケット情報取得部101は、変数iを1に初期化し(S2)、i番目のパケットペアの受信時間間隔Direvを取得して、記憶部12に保存する(S3)。
【0033】
ここで、UDPパケットについて説明する。図5は、本実施形態にかかるUDPパケットの送受信の様子を模式的に示す図である。図5に示すように、クライアント端末20がサーバ10に送信するUDPパケットのパケットサイズをL(ビット)、UDPパケットの送信時間間隔をd(秒)とすると、ビットレートはL/d(bps)で表される。そして、クライアント端末20が同一のビットレートで、それぞれP個のUDPパケットを送信する処理を、1シーケンスとする。
【0034】
また、図5に示すように、サーバ10が受信する連続する2つのUDPパケットをパケットペアとし、変数iは、クライアント端末20から同一のシーケンスで、かつ、同一のビットレートで送信されたUDPパケットのうち、サーバ10に到達したパケットペアの到達順番を表している。つまり、クライアント端末20がP個のUDPパケットを送信し、サーバ10がM個のUDPパケットを受信した場合、パケットペアはM−1個となる。なお、サーバ10が受信したUDPパケット数は、クライアント端末20が送信したUDPパケット数と同数であってもよいし、パケットロス等によりクライアント端末20が送信したUDPパケット数より少なくなってもよい。
【0035】
そして、パケット情報取得部101は、変数iをインクリメント(iに1を加算)し(S4)、変数iがM−1でないと判断した場合は(S5:N)、処理S3以降の処理を繰り返す。
【0036】
そして、パケット情報取得部101が、変数iがM−1であると判断した場合は(S5:Y)、処理S3にて記憶部12に保存した受信時間間隔Direvを用いて、パケットペア毎の受信時間間隔Direvの送信時間間隔dに対する遅延の割合(以下、遅延率とする)ds=(Direv−d)/dを算出する(S6)。そして、パケット情報取得部101は、1シーケンスにおける遅延率dsの平均値(以下、平均遅延率とする)E(ds)=(Σds)/(M−1)を算出する(S7)。
【0037】
続いて、第1評価値算出部103は、処理S7にてパケット情報取得部101が算出した平均遅延率E(ds)の絶対値|E(ds)|が、|E(ds)|>θである場合に第1評価値S1=1と算出する(S8)。また、第1評価値算出部103は、|E(ds)|<θである場合に第1評価値S1=−1と算出する(S9)。そして、第1評価値算出部103は、θ≦|E(ds)|≦θである場合に第1評価値S1=0と算出する(S10)。ここで、θ及びθは予め定められる値であり、例えばθ=0.05、θ=0.02とする。
【0038】
第1評価値算出処理では、サーバ10が受信したすべてのUDPパケットを対象として評価値を算出している。ここで、サーバ10が受信するパケットペアのうち、その受信時間間隔が異常値となる(極端に小さい、または極端に大きい)パケットペアが存在することがある。例えば、いずれかのUDPパケットが、クライアント端末20とサーバ10との通信途中にパケットロスした場合には、パケットロスしたUDPパケットの前後に受信したUDPパケットがパケットペアとなり、その受信時間間隔は通常より大きくなる。また、通信部13はIC(Interrupt Coalescing)機能を備えている場合がある。IC機能は、通信部13が受信したパケットを複数個キャッシュしてからCPUへの割り込みを行い処理するものである。これにより、通信部13がパケットを受信する毎にCPUへの割り込みを行うより、CPUへの割り込み回数が減少しCPU負荷が軽減する。クライアント端末20から送信されたUDPパケットが、このようなIC機能を用いて処理された場合は、パケットペアの受信時間間隔は通常より小さくなる。このように、第1評価値算出処理では、受信時間間隔が異常値となる場合は考慮されていない。そこで、受信時間間隔の異常値を考慮した評価値算出処理(第2評価値算出処理、第3評価値算出処理)を以下に説明する。
【0039】
[4−2.第2評価値算出処理]
次に、サーバ10とクライアント端末20との間の通信経路における通信遅延を評価する第2評価値を算出する処理(第2評価値算出処理)について図6のフロー図を用いて説明する。サーバ10は、クライアント端末20が送信したUDPパケットをキャッシュしてから受信する場合があり、この場合は、パケットペアの受信時間間間隔Direvは極端に小さい値となる。そこで、第2評価値算出処理では、このような極端に小さい値のDirevを除外して評価値を算出する。
【0040】
まず、図6の処理S21から処理S23までの処理は、図4の処理S1から処理S3の処理と同様であるため、重複する説明はここでは省略する。
【0041】
次に、パケット情報取得部101は、処理S23にて記憶部12に保存した受信時間間隔Direvが3Dmin以下の値である場合に(S24:Y)、受信時間間隔Direvを記憶部12から削除し(S25)、処理S23にて記憶部12に保存した受信時間間隔Direvが3Dminより大きい値である場合は(S24:N)、処理S26以降の処理を実行する。ここで、Dminは予め定められる値であってもよいし、パケット情報取得部101が過去に取得した受信時間間隔Direvのうちの最小値であってもよい。
【0042】
ここで、図6の処理S26から処理S29までの処理は、図4の処理S4から処理S7の処理と同様であるため、重複する説明はここでは省略する。そして、第2評価値算出部104は、処理S29にてパケット情報取得部101が算出した平均遅延率E(ds)の絶対値|E(ds)|が、|E(ds)|>θである場合に第2評価値S2=1と算出する(S30)。また、第2評価値算出部104は、|E(ds)|<θである場合に第2評価値S2=−1と算出する(S31)。そして、第2評価値算出部104は、θ≦|E(ds)|≦θである場合に第2評価値S2=0と算出する(S32)。ここで、θ及びθは予め定められる値であり、例えばθ=0.05、θ=0.02とする。
【0043】
第2評価値算出処理により、極端に値の小さい受信時間間隔Direvを評価値算出処理の対象から除外して第2評価値を算出することができる。このような第2評価値算出処理により算出された第2評価値は、第1評価値算出処理により算出された第1評価値よりも精度の高い値となる。
【0044】
[4−3.第3評価値算出処理]
次に、サーバ10とクライアント端末20との間の通信経路における通信遅延を評価する第3評価値を算出する処理(第3評価値算出処理)について図7のフロー図を用いて説明する。サーバ10は、クライアント端末20が送信したUDPパケットを受信できない場合や、パケットペアの受信時間間間隔Direvが極端に大きな値となる場合がある。そこで、第3評価値算出処理では、このような極端に外れた値の受信時間間間隔Direvを除外して評価値を算出する。
【0045】
まず、図7の処理S41からS47までの処理は、図6の処理S21からS27までの処理と同様であるため、重複する説明はここでは省略する。
【0046】
次に、パケット情報取得部101は、変数i=M−1までに取得して記憶部12に保存した受信時間間間隔Direvに外れ値がある場合は(S48:Y)、外れ値である受信時間間隔Direvを記憶部12から削除し(S49)、変数i=M−1までに取得して記憶部12に保存した受信時間間間隔Direvに外れ値がない場合は(S48:N)、処理S50以降の処理を実行する。
【0047】
ここで、記憶部12に保存した受信時間間間隔Direvの外れ値の検出は、公知の外れ値検出手法を用いてよい。例えば、記憶部12に保存した受信時間間間隔Direvを小さい順に並べたときの四分位数を用いる。そして、第1四分位数をQ1、第2四分位数をQ2、第3四分位数をQ3とすると、Q1−p(Q3−Q1)以下の値と、Q3+p(Q3−Q1)以上の値と、が外れ値として検出される。ここでpは、任意の定数であってよく、例えば0.5とする。
【0048】
ここで、図7の処理S50から処理S51の処理は、図6の処理S28から処理S29の処理と同様であるため、重複する説明はここでは省略する。そして、第3評価値算出部105は、処理S51にてパケット情報取得部101が算出した平均遅延率E(ds)の絶対値|E(ds)|が、|E(ds)|>θである場合に第3評価値S3=1と算出する(S52)。また、第3評価値算出部105は、|E(ds)|<θである場合に第3評価値S3=−1と算出する(S53)。そして、第3評価値算出部105は、θ≦|E(ds)|≦θである場合に第3評価値S3=0と算出する(S54)。ここで、θ及びθは予め定められる値であり、例えばθ=0.05、θ=0.02とする。
【0049】
第3評価値算出処理により、極端に値の外れた受信時間間隔Direvを評価値算出処理の対象から除外することができる。このような第3評価値算出処理により算出された第3評価値は、第1評価値及び第2評価値よりも精度の高い値となる。
【0050】
[4−4.第1帯域幅設定処理]
まず、帯域幅設定処理の第1の方法(第1帯域幅設定処理)について説明する。サーバ10が実行する第1帯域幅設定処理を図8のフロー図を用いて説明する。ここでは、クライアント端末20が、1シーケンスにおいてN個のビットレートRn(R1〜RN)でUDPパケットを送信する。ここでビットレートRnは、R1からRNへ連続的に増加する値が設定されることとする。そして、帯域幅設定部109が、上記ビットレートにおける評価値に基づいて帯域幅を設定する。
【0051】
まず、評価値取得部106は、変数nを1に初期化し(S61)、ビットレートRn時の第1評価値S1、第2評価値S2、及び第3評価値S3を取得する(S62)。次に、評価値取得部106は、第1評価値、第2評価値、及び第3評価値の和である合計評価値SumRn=S1+S2+S3を算出して記憶部12に保存する(S63)。
【0052】
そして、変数nをインクリメントし(変数nに1を加算)(S64)、変数nがNでない場合は(S65:N)、処理S62以降の処理を繰り返し実行する。
【0053】
そして、変数nがNであり(S65:Y)、判断部107が、ビットレートR1〜RNの各ビットレートにおける合計評価値SumRnの値が、−3または3でないと判断した場合には(S66:N)、第1帯域幅設定処理は終了する。
【0054】
ここでは、各ビットレートにおける各評価値(第1評価値S1、第2評価値S2、第3評価値S3)の信頼性が判断される。合計評価値SumRnの値が−3、または3となるのは、第1評価値、第2評価値、及び第3評価値の値がそれぞれ同じ値(−1または1)の場合である。つまり、3種類の評価値算出処理において同じ結果となるので、当該評価値は信頼性の高い値といえる。第1帯域幅設定処理では、このような信頼性の高い評価値に基づいて帯域幅の設定を行う。
【0055】
また、判断部107が、ビットレートR1〜RNの各ビットレートにおける合計評価値SumRnの値が、−3または3であると判断した場合に(S66:Y)、判断部107は、全てのビットレートペアj(j=1〜N−1)においてRj+1>RjかつSumRj+1≧SumRjの条件が成立するか否かを判断する(S67)。
【0056】
ここでは、ビットレートR1〜RNのうち隣り合うビットレートのペアをビットレートペアjとする(ビットレートペア1={R1,R2}、ビットレートペア2={R2,R3}、…ビットレートペアj={Rj,Rj+1})。そして、判断部107は、全てのビットレートペアjにおいて各ビットレートペアjに含まれる2つのビットレートのうち高ビットレート(Rj+1)の合計評価値SumRj+1が、低ビットレート(Rj)の合計評価値SumRj以上の値となるか否かを判断している。つまり、ビットレートの変化に応じて、評価値が適切に推移するかが判断される。ここでは、ビットレートが高いほど評価値が高くなれば、ビットレートの変化に対する評価値の信頼性が高いと判断される。
【0057】
そして、判断部107が全てのビットレートペアj(j=1〜N−1)においてRj+1>RjかつSumRj+1≧SumRjの条件が成立すると判断した場合は(S65:Y)、帯域幅情報出力部108が、シーケンスに含まれる各ビットレートに対応する合計評価値SumRnの値を帯域幅情報として出力する(S68)。
【0058】
そして、帯域幅設定部109は、帯域幅情報出力部108が出した帯域幅情報に基づいて帯域幅を設定する(S69)。具体的には、合計評価値SumRnの値が−3であるビットレートのうち最も高いビットレートを帯域幅の下限Bに設定し、合計評価値SumRnの値が3であるビットレートのうち最も低いビットレートを帯域幅の上限Bに設定する。
【0059】
また、判断部107が、少なくとも1つのビットレートペアj(j=1〜N−1)においてRj+1>RjかつSumRj+1≧SumRjの条件が成立しないと判断した場合は(S65:N)、第1帯域幅設定処理は終了する。
【0060】
第1帯域幅設定処理の具体的な例について図9を用いて説明する。図9はビットレートRnと合計評価値SumRnとの関係の一例を示す図である。ここでは、クライアント端末20が、1つのシーケンスにおいてビットレートR1〜R4(R1=1.0Mbps、R2=1.5Mbps、R3=4.0Mbps、R4=5.9Mbps)の4つのビットレートでUDPパケットを送信した場合の例を用いている。図9に示すように、シーケンス1(Seq1)においては、ビットレートR1〜R4の全てにおいて合計評価値SumRnが−3または3の値を示している。さらに、シーケンス1においては、全てのビットレートペアj(j=1〜3)においてRj+1>RjかつSumRj+1≧SumRjの条件が成立しており、ビットレート変化に対する評価値の信頼性を満たしている。したがって、判断部107は、シーケンス1における各評価値は信頼性の高い値であると判断する。シーケンス2(Seq2)は、ビットレートR1、R2及びR3において合計評価値がそれぞれ−1、2、0となっているため、判断部107は、シーケンス2における各評価値は信頼性の低い値であると判断する。シーケンス3(Seq3)においては、ビットレートR1〜R4の全てにおいて、合計評価値SumRnが−3または3の値を示しているが、ビットレートペアj=2においてRj+1>RjかつSumRj+1≧SumRjの条件が成立していない。したがって、判断部107は、シーケンス3における各評価値は信頼性の低い値であると判断する。図9において、隣り合うビットレート間において、ビットレート変化に対する評価値の信頼性を満たしているビットレート間に○を示し、ビットレート変化に対する評価値の信頼性を満たしていないビットレート間に×を示している。そして、各評価値の信頼性が高いと判断されたシーケンスの信頼性に○を示し、各評価値の信頼性が低いと判断されたシーケンスの信頼性に×を示している。
【0061】
そして、帯域幅情報出力部108が、シーケンス1に含まれる各ビットレートに対応する合計評価値を帯域幅情報として出力する。
【0062】
そして、帯域幅設定部109が、合計評価値が−3であるビットレート(R1、R2、R3)のうち最も高いビットレートR3=4.0Mbpsを帯域幅の下限Bに設定、合計評価値が3であるビットレートのうち最も低いビットレートR4=5.9Mbpsを帯域幅の上限Bに設定する。
【0063】
[4−5.第2帯域幅設定処理]
次に、帯域幅設定処理の第2の方法(第2帯域幅設定処理)について説明する。第1帯域幅設定処理では、各ビットレートにおける合計評価値が−3または3という信頼性の高い値をとる場合に帯域幅を設定していた。しかし、第2帯域幅設定処理では、各ビットレートにおける合計評価値が−3または3とならない場合にも最適な帯域幅の設定が可能である。
【0064】
サーバ10が実行する第2帯域幅設定処理を図10のフロー図を用いて説明する。ここでは、クライアント端末20が、1シーケンスにおいてN個のビットレートRn(R1〜RN)でUDPパケットを送信する。そして、帯域幅設定部109が、上記ビットレートにおける評価値に基づいて帯域幅を設定する。
【0065】
まず、変数tを1に初期化し(S71)、変数nを1に初期化する(S72)。
【0066】
そして、評価値取得部106は、シーケンスtに含まれるビットレートRn時の第1評価値S1Rn(t)、第2評価値S2Rn(t)、及び第3評価値S3Rn(t)を取得する(S73)。そして、評価値取得部106は、処理S73で取得した第1評価値S1、第2評価値S2、及び第3評価値S3の和である合計評価値SumRn(t)=S1Rn(t)+S2Rn(t)+S3Rn(t)を算出して記憶部12に保存する(S74)。
【0067】
次に、変数nをインクリメントし(変数nに1を加算)(S75)、変数nがNでない場合は(S76:N)、処理S73以降の処理を繰り返し実行する。
【0068】
そして、変数nがNであり(S76:Y)、変数tが1である場合は(S77:Y)、判断部107は、ビットレートRn(n=1〜N)において合計評価値SumRn(1)の値が−3または3であるか否かを判断する(S78)。ここでは、各ビットレートにおける各評価値(第1評価値S1、第2評価値S2、第3評価値S3)の信頼性が判断される。
【0069】
処理S77の判断の結果、ビットレートRn(n=1〜N)において合計評価値SumRn(1)の値が−3または3でないと判断された場合は(S78:N)、判断部107は、いずれかのビットレートペアj(j=1〜N−1)においてRj+1>RjかつSumRj+1(1)≧SumRj(1)の条件が成立するか否かを判断する(S79)。
【0070】
ここでは、ビットレートRn(n=1〜N)において合計評価値SumRn(1)の値が−3または3でないため、各ビットレートにおける各評価値の信頼性は低いと判断される。そして、帯域幅設定部109は、隣り合うビットレートのペア毎(ビットレートペア1={R1,R2}、ビットレートペア2={R2,R3}、…ビットレートペアj={Rj,Rj+1})に、ビットレートペアjに含まれる2つのビットレートのうち高ビットレートの合計評価値は、低ビットレートの合計評価値以上となるかを判断する。これにより、各ビットレートにおける各評価値の信頼性は低いが、少なくともビットレートの増加に応じて評価値が一定または増加するというビットレート変化に対する評価値の信頼性を満たしているビットレートペアjが存在するかが判断される。
【0071】
処理S79の判断の結果、いずれかのビットレートペアjで条件が成立すると判断された場合は(S79:Y)、変数tをインクリメントし(S80)、処理S72以降の処理を繰り返し実行する。ここで、各ビットレートにおける各評価値の信頼性は低いが、少なくともビットレート変化に対する評価値の信頼性を満たしているビットレートペアjが存在する場合は、評価値算出部102が新規のシーケンスにおいて各ビットレートにおける合計評価値を再度算出する。なお、評価値算出部102は、処理S78にて、Rj+1>RjかつSumRj+1(1)≧SumRj(1)の条件が成立すると判断されたビットレートペアjに含まれるビットレートについてのみ、新規のシーケンスにおいて合計評価値を再度算出することとしてもよい。
【0072】
処理S79の判断の結果、いずれのjでも条件が成立しないと判断された場合は(S79:N)、第2帯域幅設定処理が終了する。ビットレート変化に対する評価値の信頼性を満たすビットレートのペアが存在しない場合は、帯域幅の設定はされずに第2帯域幅設定処理が終了する。
【0073】
また、処理S77において変数tが1でない場合は(S77:N)、判断部107は、シーケンスtに含まれるビットレートRn(n=1〜N)において合計評価値SumRn(t)の値が−3または3であるか否かを判断する(S81)。
【0074】
そして、処理S80の判断の結果、シーケンスtに含まれるビットレートRn(n=1〜N)において合計評価値SumRn(t)の値が−3または3でない場合は(S80:N)、判断部107は、すべてのシーケンス(1〜t)において、Rj+1>RjかつSumRj+1(t)≧SumRj(t)の条件が成立するビットレートペアjが存在するか否かを判断する(S82)。ここでは、複数のシーケンスいずれにおいても、各評価値の信頼性は低いが、少なくともビットレートの増加に応じて評価値が一定または増加するという一般的な前提を満たしているビットレートペアjが存在するかが判断される。なお、処理S79にてRj+1>RjかつSumRj+1(1)≧SumRj(1)の条件が成立すると判断された1以上のビットレートペアjのうち、その他のシーケンス(2〜t)においてもRj+1>RjかつSumRj+1(t)≧SumRj(t)の条件が成立するビットレートペアjが存在するか否かを判断してもよい。
【0075】
処理S82の判断の結果、条件が成立する1以上のビットレートペアjが存在する場合は(S82:Y)、当該条件が成立するビットレートペアjを用いて、判断部107は、各シーケンスt(t=1〜t)におけるビットレートRjのときの合計評価値SumRj(t)の和ΣSumRj(t)の値が−K(K≧3とし、例えば、K=3とする)以下であり、かつ、各シーケンスt(1〜t)におけるビットレートRj+1のときの合計評価値SumRj+1(t)の和ΣSumRj+1(t)の値がK以上である、という条件を満たす1以上のビットレートペアjが存在するか否かを判断する(S83)。
【0076】
処理S83の判断の結果、条件を満たす1以上のビットレートペアjが存在すると判断された場合に(S83:Y)、帯域幅情報出力部108は、当該条件を満たす1以上のビットレートペアjと、当該ビットレートペアjに含まれる各ビットレートに対応する合計評価値と、を帯域幅情報として出力する(S84)。
【0077】
そして、帯域幅設定処理部109が、処理S84で帯域幅情報出力部108が出力した帯域幅情報に基づいて帯域幅を設定し(S85)、第2帯域幅設定処理は終了する。具体的には、帯域幅設定処理部109は、帯域幅情報出力部108が出力した1以上のビットレートペアjのうち、ΣSumRj(t)の絶対値と、ΣSumRj+1(t)の絶対値と、の和が最大となるビットレートペアjを選択する。ここで、帯域幅情報出力部108が出力したビットレートペアjが複数存在する場合に、ビットレートペアに含まれる各ビットレートにおける評価値の信頼性がより高いビットレートペアを選択することとする。そして、帯域幅設定処理部109は、選択されたビットレートペアjに含まれるビットレートRj+1を帯域幅の上限Bとし、ビットレートRjを帯域幅の下限Bとして設定する。
【0078】
また、処理S78の判断の結果、n=1〜Nにおいて合計評価値SumRn(1)の値が−3または3である場合(S78:Y)、または、処理S81の判断の結果、n=1〜Nにおいて合計評価値SumRn(t)の値が−3または3である場合は(S80:Y)、図8に示す第1帯域幅設定処理の処理S67以降の処理を実行する。
【0079】
また、処理S82の判断の結果、条件が成立するビットレートペアjが存在しない場合は(S82:N)、帯域幅設定部109は、第2帯域幅設定処理を終了する。
【0080】
また、処理S83の判断の結果、条件を満たすビットレートペアjが存在しないと判断された場合は(S83:N)、処理S80以降の処理を繰り返し実行する。
【0081】
ここで、第2帯域幅設定処理の具体例について図11を用いて説明する。図11は第2帯域幅設定処理における、各ビットレートにおける合計評価値の一例を示す図である。ここでは、図11に示すように、1シーケンスにおいて5個のビットレートRn(R1=4.3Mbps、R2=4.6Mbps、R3=5.1Mbps、R4=5.5Mbps、R5=5.7Mbps)で、クライアント端末20がUDPパケットを送信した場合を用いる。図11において、隣り合うビットレート間において、ビットレート変化に対する評価値の信頼性を満たしているビットレート間に○を示し、ビットレート変化に対する評価値の信頼性を満たしていないビットレート間に×を示している。そして、各評価値の信頼性が高いと判断されたシーケンスの信頼性に○を示し、各評価値の信頼性が低いと判断されたシーケンスの信頼性に×を示している。
【0082】
まず、シーケンス1(Seq1)において、各ビットレートの合計評価値は、SumR1(1)=0、SumR2(1)=−2、SumR3(1)=1、SumR4(1)=−1、SumR5(1)=2と算出される。ここで、シーケンス1では、各ビットレートにおける合計評価値が−3または3となっていないので、各評価値の信頼性は低いといえる。
【0083】
そこで、帯域幅設定部109は、隣り合うビットレートのペアであるビットレートペア毎に、ビットレートペアに含まれる2つのビットレートのうち高ビットレートの合計評価値が、低ビットレートの合計評価値以上の値となるかを判断する。ここでは、ビットレートペア2{R2,R3}及びビットレートペア4{R4,R5}において、各ビットレートペアに含まれるビットレートのうち高ビットレートの合計評価値は、低ビットレートの合計評価値以上の値となる。したがって、ビットレートペア2及びビットレートペア4は、ビットレートが高いほど評価値が高くなるというビットレート変化に対する評価値の信頼性を満たしていると判断される。
【0084】
次に、シーケンス2(Seq2)において、シーケンス1と同じ5個のビットレートRn(R1〜R5)で、クライアント端末20がUDPパケットを再度送信する。シーケンス2の場合は、各ビットレートの合計評価値は、SumR1(1)=−2、SumR2(1)=2、SumR3(1)=0、SumR4(1)=−2、SumR5(1)=2と算出される。ここで、シーケンス2においても、各ビットレートにおける合計評価値が−3または3となっていないので、各評価値の信頼性は低いといえる。
【0085】
そこで、シーケンス1において、ビットレートが高いほど評価値が高くなるというビットレート変化に対する評価値の信頼性を満たしていると判断されたビットレートペア2及びビットレートペア4について、判断部107は、シーケンス2においても同様にビットレート変化に対する評価値の信頼性を満たしているか否かを判断する。ここでは、ビットレートペア4において、ビットレートペア4に含まれる2つのビットレートのうち高ビットレートの合計評価値は、低ビットレートの合計評価値以上の値となる。したがって、ビットレートペア4はビットレート変化に対する評価値の信頼性を満たしていると判断される。そして、ビットレートペア4について、シーケンス1における合計評価値とシーケンス2における合計評価値とをビットレート毎に合計すると、ビットレートR4ではΣSumR4(t)=−3、ビットレートR5ではΣSumR5(t)=4と算出される。このように、ΣSumR4(t)は−3以下の値となり、ΣSumR5(t)は3以上の値となるため、これらは信頼性の高い値と判断される。
【0086】
そして、帯域幅設定部109は、ビットレートペア4に基づいて帯域幅を設定する。つまり、帯域幅の上限B=R5=5.7Mbpsとし、帯域幅の下限B=R4=5.5Mbpsとして設定する。
【0087】
なお、本発明は上述の実施形態に限定されるものではない。
【0088】
例えば、帯域幅設定部109は、サーバ装置10に含まれることとしたが、クライアント端末20に備えられていてもよい。この場合は、サーバ装置10は、帯域幅情報出力部108が出力した帯域幅情報をクライアント端末20へ送信する。
【0089】
また、本実施形態では、第1評価値算出処理、第2評価値算出処理、及び第3評価値算出処理の3通りの方法で算出した評価値に基づいて評価値の信頼性の判断、及び帯域幅設定が行われたが、3通りの方法のいずれか2つを用いてもよい。この場合、判断部107は、2通りの方法で算出された各評価値の合計である合計評価値が−2または2となる場合に、当該各評価値の信頼性が高いと判断することとする。
【符号の説明】
【0090】
1 情報処理システム、10 サーバ、11 制御部、12 記憶部、13 通信部、14 入力部、15 表示部、20 クライアント端末、101 パケット情報取得部、102 評価値算出部、103 第1評価値算出部、104 第2評価値算出部、105 第3評価値算出部、106 評価値取得部、107 判断部、108 帯域幅情報出力部、109 帯域幅設定部。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11