初めに、図1を用いて一実施形態の概要について説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、この概要の記載はなんらの限定を意図するものではない。また、各ブロック図のブロック間の接続線は、双方向及び単方向の双方を含む。一方向矢印については、主たる信号(データ)の流れを模式的に示すものであり、双方向性を排除するものではない。
上述の通り、アプリケーションの動作状態の遷移に伴い、QoEが低下することを抑制することに貢献する制御装置が望まれる。
そこで、一例として、図1に示す制御装置1を提供する。制御装置1は、第1の動作状況受信部11と、第2の動作状況推定部12と、見做し判断部13と、見做し制御部14とを備える。
第1の動作状況受信部11は、2以上の端末から、アプリケーションの動作状況を、第1の動作状況として受信する。ここで、アプリケーションとは、アプリケーションソフトウェアである。そして、各端末は、アプリケーションを実行することで、処理を実行しているものとする。
第2の動作状況推定部12は、各端末に関して、第1の動作状況受信部11が受信する第1の動作状況に基づいて、端末優先度と、第1の動作状況から遷移する第2の動作状況と、を推定する。ここで、端末の優先度とは、端末上で動作する、アプリケーションの動作状況が変化する前に、動作状況が変化したと見做して制御する、端末の優先度を意味する。
見做し判断部13は、端末優先度と、第2の動作状況とに基づいて、動作状況が変化する前に、動作状況が変化したと見做して制御する端末を、制御対象端末として特定する。
見做し制御部14は、制御対象端末の動作状況が変化する前に、該制御対象端末の動作状況が、第2の動作状況推定部12が推定した第2の動作状況に変化したと見做して、所定の処理を実行する。ここで、所定の処理とは、QoEを保証するための処理を含むものとする。
従って、制御装置1は、端末の動作状況が変化する前に、動作状況が変化したと見做して所定の処理を実行することで、アプリケーションの動作状態の遷移に伴い、QoEが低下することを抑制することに貢献する。
[第1の実施形態]
第1の実施形態について、図面を用いてより詳細に説明する。以下の説明においては、上記の制御装置を、QoE保証装置とも呼ぶ。また、以下の説明においては、上記の第1の動作状況に対応する動作モードを、現在モードとも呼ぶ。また、以下の説明においては、上記の第2の動作状況に対応する動作モードを、見做しモードとも呼ぶ。また、以下の説明においては、動作モードを識別する情報を、動作モードIDと呼ぶ。また、以下の説明においては、動作モードID(Identifier)のうち、特に、現在モードを識別する情報、見做しモードを識別する情報を、夫々、現在モードID、見做しモードIDと呼ぶ。
また、以下の説明においては、上記の第1の動作状況受信部、第2の動作状況推定部、見做し制御部を、夫々、モード情報受信部、優先度算出部、制御情報送信部と呼ぶ。
図2は、本実施形態に係るネットワーク化システムの全体構成の一例を示すブロック図である。本実施形態に係るネットワーク化システムは、QoE保証装置101と、1又は2以上の端末(103a~103c)と、インフラ制御装置104と、コンピューティングインフラ105と、を含んで構成される。そして、端末(103a~103c)は、ネットワークインフラ102及びインフラ制御装置104を介して、QoE保証装置101、及びコンピューティングインフラ105と接続する。なお、以下の説明では、端末(103a~103c)は、夫々、区別する必要が無い場合には、端末103と表記する。また、図2は、3つの端末(103a~103c)を示すが、これは、端末103の数を3つに限定する趣旨ではない。本実施形態に係るネットワーク化システムは、1又は2、又は4以上の端末103を含んで構成されても良い。また、以下の説明においては、ネットワークインフラ102及びコンピューティングインフラ105を、単に「インフラ」とも呼ぶ。
QoE保証装置101は、ネットワーク化システムにおいて実行されるアプリケーションにおける、QoEを保証するための処理を実行、制御する装置(コンピュータ)である。QoE保証装置101は、CPU(Central Processing Unit)、メモリ、通信手段等を含んで構成される。QoE保証装置101の詳細は後述する。
端末103は、ユーザが使用する装置(コンピュータ)である。端末103は、CPU、メモリ、通信手段等を含んで構成される。また、端末103は、1又は2以上のアプリケーションソフトウェア(図2に示すクライアントサイドアプリケーション107a~107c)を備え、該アプリケーションソフトウェアを実行する。端末103の詳細は後述する。なお、以下の説明では、クライアントサイドアプリケーション107a~107cは、夫々、区別する必要が無い場合には、クライアントサイドアプリケーション107と表記する。
ネットワークインフラ102は、ネットワーク機能を実行、及び制御する、1又は2以上のネットワーク機器(ルータ、ゲートウェイ、ファイアウォール、ロードバランサ等)を含んで構成される。
コンピューティングインフラ105は、端末103に対してアプリケーションを提供するサーバとして機能する、1又は2以上の装置(コンピュータ)を含んで構成される。コンピューティングインフラ105を構成する各装置は、CPU、メモリ、通信手段等を含んで構成される。また、コンピューティングインフラ105を構成する各装置は、1又は2以上のアプリケーションソフトウェア(図2に示すサーバサイドアプリケーション106)を備え、該アプリケーションソフトウェアを実行する。
インフラ制御装置104は、コンピューティングインフラ105及びQoE保証装置101と、ネットワークインフラ102間の処理を中継、制御する装置(コンピュータ)である。インフラ制御装置104は、CPU、メモリ、通信手段等を含んで構成される。
サーバサイドアプリケーション106及びクライアントサイドアプリケーション107は、複数(2以上)の動作モードを含んで構成されるものとする。サーバサイドアプリケーション106及びクライアントサイドアプリケーション107は、動作モードに基づいて、実行する処理を決定するものとする。なお、以下の説明においては、「動作モードを変更する」ことを、「動作モードを遷移する」と表現する。
また、各動作モードは、他の動作モードに対して、独立していても良い。さらに、サーバサイドアプリケーション106及びクライアントサイドアプリケーション107は、確率的に、動作モードを遷移するものとする。即ち、コンピューティングインフラ105及び端末103は、動作モードの状態遷移確率を推定可能であるものとする。
次に、端末103の内部構成について詳細に説明する。
図3は、本実施形態に係る端末103の内部構成の一例を示すブロック図である。端末103は、アプリケーション部201と、モード情報送信部(第1の動作状況送信部とも呼ぶ)202と、を含んで構成される。なお、図3は、本実施形態に係る端末103に関係するモジュールを示す。端末103は、図示しないモジュールを含んでも良いことは勿論である。
例えば、端末103が備える記憶装置(図示せず)が、クライアントサイドアプリケーション107を記憶しても良い。記憶装置は、磁気ディスク装置や光ディスク装置、半導体メモリによって実現される。
端末103は、CPUを用いて、アプリケーション部201、モード情報送信部202を実現しても良い。さらに、例えば、端末103は、NIC(Network Interface Card)を用いて、他の装置(QoE保証装置101、ネットワークインフラ102、コンピューティングインフラ105)とのデータ(情報)の送受信を実現しても良い。
アプリケーション部201は、端末103上で動作するアプリケーションソフトウェア(クライアントサイドアプリケーション107)を実行、制御する。具体的には、アプリケーション部201は、端末103が備える記憶装置(図示せず)から、クライアントサイドアプリケーション107を呼び出し、該クライアントサイドアプリケーション107を実行、制御する。
また、アプリケーション部201は、ネットワークインフラ102を介して、サーバが実行するアプリケーション(サーバサイドアプリケーション106)と、データの送受信(情報交換)を行う。
なお、以下の説明においては、端末103上で実行されているアプリケーションソフトウェア(クライアントサイドアプリケーション107)の動作モードを、「アプリケーション部201の動作モード」と表現する。つまり、アプリケーション部201の実行中の動作モードは、上記の現在モードに相当する。
モード情報送信部202は、アプリケーション部201の動作状況を、第1の動作状況として、QoE保証装置101に通知する。ここで、動作状況とは、アプリケーションの複数の離散的な動作モードを含むものとする。
そして、第1の動作状況とは、アプリケーションにおいて実行中の動作モード(現在モード)と、動作モード間の状態遷移確率とを含むものとする。
つまり、モード情報送信部202は、現在モード、及び動作モード間の状態遷移確率を、第1の動作状況として、QoE保証装置101に通知する。具体的には、モード情報送信部202は、現在モード、及び動作モード間の状態遷移確率を収集する。そして、モード情報送信部202は、ネットワークインフラ102を介して、QoE保証装置101に対して、収集した動作モード、及び動作モード間の状態遷移確率を通知する。
次に、QoE保証装置101の内部構成について詳細に説明する。
図4は、本実施形態に係るQoE保証装置101の内部構成の一例を示すブロック図である。QoE保証装置101は、モード情報受信部(第1の動作状況受信部)301と、優先度算出部(第2の動作状況推定部)302と、見做し判断部303と、制御情報送信部(見做し制御部)304と、を含んで構成される。さらに、QoE保証装置101は、モード遷移確率DB(Database)(動作モード遷移確率データベースとも呼ぶ)305と、モードDB(動作モードデータベースとも呼ぶ)306と、インフラリソースDB(インフラリソースデータベースとも呼ぶ)307と、モード要件DB(動作モード要件データベースとも呼ぶ)308と、を含んで構成される。
例えば、QoE保証装置101が備える記憶装置(図示せず)が、モード遷移確率DB305と、モードDB306と、インフラリソースDB307と、モード要件DB308とを格納しても良い。記憶装置は、磁気ディスク装置や光ディスク装置、半導体メモリによって実現される。
また、QoE保証装置101は、CPUを用いて、モード情報受信部301、優先度算出部302、見做し判断部303、制御情報送信部304を実現しても良い。さらに、例えば、QoE保証装置101は、NICを用いて、他の装置(端末103、インフラ制御装置104等)とのデータ(情報)の送受信を実現しても良い。
モード遷移確率DB305は、端末103を識別する情報と、動作モードを識別する情報と、該動作モードに遷移する状態遷移確率と、を対応付けて格納する。換言すると、モード遷移確率DB305は、端末103毎に、アプリケーション部201の可能な動作モード、及び当該各動作モードへ遷移する確率(状態遷移確率)とを対応付けて格納する。
図5は、モード遷移確率DB305の一例を示す図である。具体的には、図5は、端末ID401と、遷移先モードID402と、状態遷移確率403とを対応付けたテーブルを示す。端末ID401は、端末103を識別する情報である。遷移先モードID402は、アプリケーション部201の可能な動作モードを識別する情報である。状態遷移確率403は、端末ID401に対応する端末103において、アプリケーション部201の動作モードが、遷移先モードID402に対応する動作モードになる(動作モードに遷移する)確率を示す。ここで、図5に示すモード遷移確率DB305は、端末ID401と、遷移先モードID402と、状態遷移確率403とを対応付けたエントリ411~416を示す。
例えば、図5に示すエントリ411は、端末IDが「1」である端末103において、遷移先モードIDが「1」の動作モードに遷移する確率が、「0.2」であることを示す。
モードDB306は、端末103を識別する情報と、第1の動作状況の動作モード(現在モード)と、第2の動作状況の動作モード(見做しモード)と、端末優先度と、該端末が制御対象端末であるか否かを示す情報(以下、見做しフラグと呼ぶ)と、を対応付けて格納する。上記の通り、端末優先度とは、動作状況が変化する前に、動作状況が変化したと見做して制御する、端末103の優先度である。端末優先度の高い端末103ほど、優先して制御対象端末として選択されることが好ましいことを示す。以下の説明では、制御対象端末であることを示す見做しフラグの値を、「Y」と表記する。一方、以下の説明では、制御対象端末ではないことを示す見做しフラグの値を、「N」と表記する。
図6は、モードDB306の一例を示す図である。具体的には、図6は、端末ID501と、現在モードID502と、見做しモードID503と、端末優先度504と、見做しフラグ505とを対応付けたテーブルを示す。ここで、図6に示すモードDB306は、端末ID501と、現在モードID502と、見做しモードID503と、端末優先度504と、見做しフラグ505とを対応付けたエントリ511、512を含む。
例えば、図6に示すエントリ511は、端末IDが「1」である端末103に関して、現在モードIDが「1」の動作モードで動作しており、当該動作モードから遷移する動作モードが、見做しモードIDが「2」の動作モードであることを示す。さらに、図6に示すエントリ511は、端末IDが「1」である端末103に関して、動作状況が変化する前に、動作状況が変化したと見做して制御する、端末103の優先度(端末優先度)が「0.7」であることを示す。さらに、図6に示すエントリ511は、端末IDが「1」である端末103が、制御対象端末ではないことを示す。
インフラリソースDB307は、ネットワークインフラ102、及び/又はコンピューティングインフラ105のリソースに関する情報を格納する。「及び/又は」とは、少なくともいずれかを含むことを意味する。具体的には、インフラリソースDB307は、ネットワークインフラ102、及び/又はコンピューティングインフラ105毎に、リソース総量と、リソース使用量(またはリソース残量)を対応付けて格納する。
図7は、インフラリソースDB307の一例を示す図である。具体的には、図7は、リソースID601と、リソース総量602と、リソース使用量603とを対応付けたテーブルを示す。ここで、リソースIDとは、リソースを識別する情報である。そして、図7に示すインフラリソースDB307は、リソースID601と、リソース総量602と、リソース使用量603とを対応付けたエントリ611、612を含む。なお、リソース使用量603の単位は、対応するリソースの種類に応じて異なることは勿論である。
例えば、図7に示すエントリ611は、リソースID601が「1」であるリソースに関して、リソース総量が「130」であり、リソース使用量が「35」であることを示す。
モード要件DB308は、アプリケーション部201の動作モードに関して、当該動作モードを実行するために必要な要件に関する情報を格納する。具体的には、モード要件DB308は、動作モードを識別する情報(動作モードID)と、リソースを識別する情報(リソースID)と、該動作モードを実行するために必要な該リソースの量と、を対応付けて格納する。以下の説明では、動作モードを実行するために必要な該リソースの量を、要求リソース量と呼ぶ。
図8は、モード要件DB308の一例を示す図である。具体的には、図8は、動作モードID701と、リソースID702と、要求リソース量703とを対応付けたテーブルを示す。そして、図8に示すモード要件DB308は、動作モードID701と、リソースID702と、要求リソース量703とを対応付けたエントリ711~716を含む。なお、要求リソース量703の単位は、対応するリソースの種類に応じて異なることは勿論である。
例えば、図8に示すエントリ711は、動作モードIDが「1」である動作モードにおいて、リソースIDが「1」であるリソースに関して、「10」の量のリソースを必要とする(要求する)ことを示す。さらに、図8に示すエントリ712は、動作モードIDが「1」である動作モードに関して、リソースIDが「2」であるリソースに関して、「20」の量のリソースを必要とすることを示す。
モード情報受信部301は、1又は2以上の端末103から、アプリケーションの動作状況を、第1の動作状況として受信する。具体的には、モード情報受信部301は、1又は2以上の端末103から、第1の動作状況として、現在モード、及び動作モード間の状態遷移確率を受信する。そして、モード情報受信部301は、受信した現在モード及び状態遷移確率を、モード遷移確率DB305及びモードDB306に格納する。そして、モード情報受信部301は、現在モード及び状態遷移確率を受信したことを、優先度算出部302に対して通知する。
優先度算出部302は、各端末103に関して、モード情報受信部301が受信する第1の動作状況に基づいて、端末優先度と、第1の動作状況から遷移する第2の動作状況と、を推定する。具体的には、優先度算出部302は、モード情報受信部301が受信する動作モード間の状態遷移確率に基づいて、端末優先度と、第2の動作状況とを推定する。
ここで、第2の動作状況とは、アプリケーション部201において、現在モードから遷移する動作モードを含む。上記の通り、第2の動作状況に対応する動作モードを、見做しモードと呼ぶ。そのため、優先度算出部302は、各端末103に関して、現在モード、及び動作モード間の状態遷移確率に基づいて、端末優先度と、見做しモードを推定する。
より具体的には、優先度算出部302は、モード遷移確率DB305及びモードDB306を参照し、モード情報受信部301が受信する現在モード、及び動作モード間の状態遷移確率に基づいて、端末優先度及び見做しモードを推定(計算)する。そして、優先度算出部302は、推定(計算)した端末優先度、及び見做しモードを識別する情報(見做しモードID)を、モード遷移確率DB305及びモードDB306に格納する。つまり、優先度算出部302は、モード遷移確率DB305及びモードDB306に格納される、端末優先度及び見做しモードIDを更新する。そして、優先度算出部302は、モード遷移確率DB305及びモードDB306を更新したことを、見做し判断部303に通知する。
見做し判断部303は、端末優先度と、第2の動作状況とに基づいて、動作状況が変化する前に、動作状況が変化したと見做して制御する端末を、制御対象端末として特定する。具体的には、見做し判断部303は、端末優先度と、見做しモードとに基づいて、動作状況が変化する前に、動作状況が変化したと見做して制御する端末を、制御対象端末として特定する。
より具体的には、見做し判断部303は、モードDB306と、インフラリソースDB307と、モード要件DB308とを参照する。そして、見做し判断部303は、端末優先度と見做しモードとに基づいて、各端末103に関して、動作状況が変化する前に、動作状況が変化したと見做して制御するか否かを判断する。
そして、見做し判断部303は、動作状況が変化する前に、動作状況が変化したと見做して制御する端末103(制御対象端末)であるか否かを示すフラグ(見做しフラグ)を、モードDB306に登録する。つまり、見做し判断部303は、モードDB306内の見做しフラグを更新する。そして、見做し判断部303は、モードDB内の見做しフラグを更新したことを、制御情報送信部304に通知する。
制御情報送信部304は、制御対象端末の動作状況が変化する前に、該制御対象端末の動作状況が、優先度算出部302が推定した第2の動作状況に変化したと見做して、所定の処理を実行する。具体的には、制御情報送信部304は、制御対象端末の動作状況が変化する前に、該制御対象端末の動作モードが、対制御対象端末に対応する見做しモードに変化したと見做して、所定の処理を実行する。
より具体的には、制御情報送信部304は、モードDB306及びモード要件DB308を参照し、ネットワークインフラ102、及び/又はコンピューティングインフラ105を制御するためのパラメータを計算する。そして、制御情報送信部304は、ネットワークインフラ102、及び/又はコンピューティングインフラ105に対して、計算したパラメータ及びパラメータの更新指示を、制御情報として送信する。
次に、本実施形態に係るネットワーク化システムの動作に関して説明する。
まず、図9を参照しながら、端末103の動作について説明する。図9は、端末103の動作の一例を示すフローチャートである。
モード情報送信部202は、アプリケーションの動作状況を観測し、アプリケーションの現在モード、及び動作モード間の状態遷移確率を、QoE保証装置101に対して送信する(ステップS801)。具体的には、モード情報送信部202は、アプリケーション部201において実行中の動作モードを、現在モードとして取得する。そして、モード情報送信部202は、取得した現在モードを識別する情報(現在モードID)、及び動作モード間の状態遷移確率を、ネットワークインフラ102を介して、QoE保証装置101に対して送信する。
次に、図10~図13を参照しながら、QoE保証装置101の動作について説明する。
なお、以下の説明においては、モード遷移確率DB305は、端末IDと、遷移先モードIDと、状態遷移確率とを対応付けた、1又は2以上のエントリを格納するものとする。また、以下の説明においては、モードDB306は、端末IDと、現在モードIDと、見做しモードIDと、端末優先度と、見做しフラグとを対応付けた、1又は2以上のエントリを格納するものとする。また、以下の説明においては、インフラリソースDB307は、リソースIDと、リソース総量と、リソース使用量とを対応付けた、1又は2以上のエントリを格納するものとする。また、以下の説明においては、モード要件DB308は、動作モードIDと、リソースIDと、要求リソース量とを対応付けた、1又は2以上のエントリを格納するものとする。
図10は、QoE保証装置101の動作の一例を示すフローチャートである。
ステップS901において、モード情報受信部301は、各端末130から受信した情報を、モード遷移確率DB305及びモードDB306に格納し、情報を受信したことを優先度算出部302に通知する。具体的には、モード情報受信部301は、端末103において実行されるアプリケーションの現在モードを識別する情報(現在モードID)、及び動作モード間の状態遷移確率を、該端末103から受信する。そして、モード情報受信部301は、動作モード間の状態遷移確率を、モード遷移確率DB305に登録(又は更新)する。さらに、モード情報受信部301は、受信した現在モードIDを、モードDB306に登録(又は更新)する。そして、モード情報受信部301は、現在モードID、動作モード間の状態遷移確率を受信したことを、優先度算出部302に通知する。
ステップS902において、優先度算出部302は、モード遷移確率DB305及びモードDB306を参照し、端末優先度及び見做しモードIDを計算し、モードDB306更新する。優先度算出部302の動作の詳細は、図11を参照しながら後述する。
ステップS903において、見做し判断部303は、モードDB306、インフラリソースDB307、モード要件DB308を参照し、どの端末103を制御対象端末として見做すかを決定し、モードDB306を更新する。見做し判断部303の動作の詳細は、図12を参照しながら後述する。
ステップS904において、制御情報送信部304は、QoEを満たすために必要な処理を行うように、ネットワークインフラ102、及び/又はコンピューティングインフラ105を制御する。制御情報送信部304の動作の詳細は、図13を参照しながら後述する。
次に、図11を参照しながら、優先度算出部302の動作の詳細について説明する。図11は、優先度算出部302の動作の一例を示すフローチャートである。
ステップ1001において、優先度算出部302は、モードDB306内に格納される全てのエントリに対して、「未処理」を示すフラグを設定する。具体的には、モードDB306内に格納される全てのエントリを抽出する。そして、優先度算出部302は、抽出した全てのエントリに対して、「未処理」を示すフラグを設定する。なお、上述の通り、モードDB306内に格納されるエントリとは、端末IDと、現在モードIDと、見做しモードIDと、端末優先度と、見做しフラグとを対応付けた情報である。
ステップS1002において、モードDB306内のエントリのうち、未処理のエントリが存在するか否かを、優先度算出部302は判断する。つまり、モードDB306内のエントリのうち、「未処理」のフラグが設定されたエントリが存在するか否かを、優先度算出部302は判断する。モードDB306内のエントリのうち、未処理のエントリが存在する場合(ステップS1002のYes分岐)には、ステップS1003に遷移する。一方、モードDB306内のエントリのうち、未処理のエントリが存在しない場合(ステップS1002のNo分岐)には、優先度算出部302は、モードDB306内のエントリを完了したと判断して、処理を終了する。そして、図10に示すステップS903に遷移する。
ステップS1003において、優先度算出部302は、モードDB306から、未処理の一のエントリを選択し、選択したエントリの端末IDに対応する、1又は2以上のエントリを、モード遷移確率DB305から抽出する。
例えば、優先度算出部302は、未処理のエントリとして、図6に示すエントリ511を、モードDB306から抽出したとする。ここで、図6に示すエントリ511の端末IDは、「1」である。そのため、優先度算出部302は、図5に示すモード遷移確率DB305から、端末IDが「1」であるエントリを抽出する。具体的には、優先度算出部302は、図5に示すモード遷移確率DB305から、エントリ411~413を抽出する。
ステップS1004において、優先度算出部302は、モード遷移確率DB305から抽出したエントリのうち、遷移先モードIDが、現在モードIDと異なる、1又は2以上のエントリを選択する。
例えば、ステップS1003の処理において、優先度算出部302は、モードDB306から、図6に示すエントリ511を抽出したとする。さらに、ステップS1003の処理において、図5に示すモード遷移確率DB305から、エントリ411~413を抽出したとする。その場合、図6に示すエントリ511において、現在モードIDは、「1」である。そのため、ステップS1004の処理において、優先度算出部302は、図5に示すモード遷移確率DB305から抽出した、エントリ411~413のうち、遷移先モードIDが、「1」以外のエントリを選択する。つまり、ステップS1004の処理において、優先度算出部302は、図5に示すエントリ412、413を選択する。
ステップS1005において、優先度算出部302は、選択したエントリから、状態遷移確率に基づいて、見做しモードIDを決定し、モードDB306を更新する。例えば、優先度算出部302は、選択したエントリのうち、対応する状態遷移確率が最大の遷移先モードIDを、見做しモードIDとして決定してもよい。そして、優先度算出部302は、決定した見做しモードIDを、モードDB306に登録する。なお、状態遷移確率が最大の遷移先モードIDを、見做しモードIDとして決定することは、見做しモードIDを決定する方法の一例であり、見做しモードIDを決定する方法を当該方法に限定する趣旨ではない。
例えば、ステップS1004の処理において、図5に示すエントリ412、413を選択したとする。その場合、図5に示すエントリ412、413の状態遷移確率は、夫々、「0.7」、「0.1」である。ここで、優先度算出部302は、状態遷移確率が最大の遷移先モードIDを、見做しモードIDとして決定するとする。その場合、ステップS1005の処理において、優先度算出部302は、エントリ412の遷移先モードID「2」を、見做しモードIDとして決定する。そして、図6に示すように、優先度算出部302は、決定した見做しモードID「2」を、エントリ511の見做しモードIDとして登録する。
ステップS1006において、優先度算出部302は、見做しモードIDに対応する端末優先度を決定し、モードDB306を更新する。例えば、優先度算出部302は、見做しモードIDの決定基準である状態遷移確率を、端末優先度として決定しても良い。なお、これは、端末優先度を決定する方法の一例であり、端末優先度を決定する方法を当該方法に限定する趣旨ではない。
例えば、ステップS1005の処理において、優先度算出部302は、図5に示すエントリ412の遷移先モードID「2」を、見做しモードIDとして決定する。そして、優先度算出部302は、見做しモードIDの決定基準である状態遷移確率を、端末優先度として決定するとする。その場合、ステップS1006の処理において、優先度算出部302は、図5に示すエントリ412の状態遷移確率「0.7」を、端末優先度として決定する。そして、優先度算出部302は、図6に示すように、エントリ511の端末優先度として、「0.7」を登録する。
そして、ステップS1002に戻り、処理を継続する。つまり、モードDB306内の全てのエントリに対して、処理済みのフラグを設定するまで、処理を継続する。優先度算出部302は、上記の処理(図11に示す処理)を実行することで、モードDB306に格納される、見做しモードID及び端末優先度を更新する。
次に、図12を参照しながら、見做し判断部303の動作の詳細について説明する。図12は、見做し判断部303の動作の一例を示すフローチャートである。
ステップS1101において、見做し判断部303は、モードDB306内に格納される全てのエントリに対して、「未処理」を示すフラグを設定する。具体的には、モードDB306内に格納される全てのエントリを抽出する。そして、優先度算出部302は、抽出した全てのエントリに対して、「未処理」を示すフラグを設定する。
ステップS1102において、モードDB306内のエントリのうち、未処理のエントリが存在するか否かを、見做し判断部303は判断する。つまり、モードDB306内のエントリのうち、「未処理」のフラグが設定されたエントリが存在するか否かを、見做し判断部303は判断する。モードDB306内のエントリのうち、未処理のエントリが存在する場合(ステップS1102のYes分岐)には、ステップS1103に遷移する。一方、モードDB306内のエントリのうち、未処理のエントリが存在しない場合(ステップS1102のNo分岐)には、見做し判断部303は、モードDB306内のエントリを完了したと判断して、処理を終了する。そして、図10に示すステップS904に遷移する。
ステップS1103において、見做し判断部303は、モードDB306内のエントリのうち、端末優先度が最も高く、且つ未処理であるエントリを抽出する。具体的には、見做し判断部303は、モードDB306内のエントリのうち、「未処理」のフラグが設定されたエントリを抽出する。そして、見做し判断部303は、抽出したエントリのうち、端末優先度が最も高いエントリを、見做し対象エントリとして抽出する。
例えば、モードDB306において、図6に示すように、端末ID、現在モードID、見做しモードID、端末優先度が設定されているとする。そして、図6に示すモードDB306において、エントリ511、512に対して、「未設定」のフラグが設定されているとする。なお、ステップS1103において、モードDB306の見做しフラグは、未設定であるものとする。ここで、図6に示す通り、エントリ511、512の端末優先度は、夫々、「0.7」、「0.8」である。そのため、見做し判断部303は、図6に示すエントリ512を、見做し対象エントリとして抽出する。
ステップS1104において、モード要件DB308において、抽出したエントリの見做しモードIDに対応する要求リソース量が、該エントリの現在モードIDに対応する要求リソース量を越えるか否かを、見做し判断部303は判断する。該エントリの見做しモードIDに対応する要求リソース量が、該エントリの現在モードIDに対応する要求リソース量を越える場合(ステップS1104のYes分岐)には、ステップS1105に遷移する。一方、該エントリの見做しモードIDに対応する要求リソース量が、該エントリの現在モードIDに対応する要求リソース量以下である場合(ステップS1104のNo分岐)には、見做し判断部303は、モードDB306から抽出したエントリに対して、「処理済み」を示すフラグを設定する(ステップS1107)。そして、ステップS1102に戻り、処理を継続する。
例えば、見做し判断部303は、図6に示すエントリ512を、見做し対象エントリとして抽出したとする。その場合、抽出したエントリ512の現在モードID、見做しモードIDは、夫々、「2」、「3」である。
ここで、図8に示すモード要件DB308を参照すると、動作モードID「2」(図6に示すエントリ512の現在モードIDに相当)に対応する要求リソースの総量は、「35」(エントリ713の要求リソース量「25」+エントリ714の要求リソース量「10」)である。そのため、抽出したエントリの現在モードID「2」に対応する要求リソース量が「35」である、と見做し判断部303は判断する。
同様に、図8に示すモード要件DB308を参照すると、動作モードID「3」(図6に示すエントリ512の見做しモードIDに相当)に対応する要求リソースの総量は、「110」(エントリ715の要求リソース量「100」+エントリ716の要求リソース量「10」)である。そのため、抽出したエントリの見做しモードID「3」に対応する要求リソース量が「110」である、と見做し判断部303は判断する。
その結果、この場合には、モード要件DB308において、抽出したエントリの見做しモードIDに対応する要求リソース量が、該エントリの現在モードIDに対応する要求リソース量を越えると、見做し判断部303は判断する。そして、この場合、ステップS1105に遷移する。なお、要求リソース量の総量に基づく、上記の判断方法は、一例であり、ステップS1104の処理における判断方法を限定する趣旨ではない。
ステップS1105において、見做しモードを、現在のインフラ上で収容可能であるか否かを、見做し判断部303は判断する。ここで、見做しモードを、現在のインフラ上で収容可能とは、現在のインフラにおいて、該見做しモードに対応する動作モードを実行可能であることを意味する。ここで、現在のインフラとは、ネットワークインフラ102、及び/又はコンピューティングインフラ105を含むものとする。
具体的には、見做し候補エントリの端末IDに対応する端末103に関して、インフラリソースDB307及びモード要件DB308に基づいて、見做し候補エントリの見做しモードIDに対応する見做しモードを、現在のインフラにおいて実行可能であるか否かを、見做し判断部303は判断する。
例えば、見做しモードIDに対応する要求リソース量と、現在モードIDに対応する要求リソース量との差分に基づいて、見做しモードを、現在のインフラ上で収容可能であるか否かを、見做し判断部303は判断しても良い。その場合、該差分が、リソース残量以下である場合には、見做しモードを、現在のインフラ上で収容可能である、と見做し判断部303は判断しても良い。一方、該差分が、リソース残量を越える場合には、見做しモードを、現在のインフラ上で収容不可能である、と見做し判断部303は判断しても良い。なお、例えば、見做し判断部303は、図7に示すインフラリソースDB307におけるリソース総量と、リソース使用量との差分に基づいて、リソース残量を計算しても良い。
見做しモードを、現在のインフラ上で収容可能である場合(ステップS1105のYes分岐)には、ステップS1106に遷移する。一方、現在のインフラ上で収容可能ではない場合(ステップS1105のNo分岐)には、見做し判断部303は、モードDB306から抽出したエントリに対して、「処理済み」を示すフラグを設定する(ステップS1107)。そして、ステップS1102に戻り、処理を継続する。
例えば、見做し判断部303が、見做し候補エントリとして、図6に示すエントリ512を抽出したとする。そして、見做しモードIDに対応する要求リソース量と、現在モードIDに対応する要求リソース量との差分に基づいて、見做しモードを、現在のインフラ上で収容可能であるか否かを、見做し判断部303は判断するとする。
その場合、図8に示すモード要件DB308を参照すると、見做しモードID「3」に対応する、リソースID「1」の要求リソース量は、「100」である。一方、図8に示すモード要件DB308を参照すると、現在モードID「2」に対応する、リソースID「1」の要求リソース量は、「25」である。そのため、リソースID「1」のリソースに関して、見做しモードIDに対応する要求リソース量と、現在モードIDに対応する要求リソース量との差分は、「75」である。
同様に、図8に示すモード要件DB308を参照すると、見做しモードID「3」に対応する、リソースID「2」の要求リソース量は、「10」である。一方、図8に示すモード要件DB308を参照すると、現在モードID「2」に対応する、リソースID「2」の要求リソース量は、「10」である。
また、図7に示すインフラリソースDB307を参照すると、リソースID「1」のリソースのリソース残量(リソース総量からリソース使用量の差分値)は、「95」である。同様に、図7に示すインフラリソースDB307を参照すると、リソースID「2」のリソースのリソース残量は、「110」である。従って、この場合、見做しモードを、現在のインフラ上で収容可能である、と見做し判断部303は判断する。そして、ステップS1106に遷移する。
ステップS1106において、見做し判断部303は、モードDB306において、抽出したエントリに対応する、見做しフラグを「Y」として設定する。具体的には、見做し判断部303は、見做し対象エントリの端末IDに対応する端末103を、動作状況が変化する前に、動作状況が変化したと見做して制御する、制御対象端末として決定する。そして、見做し判断部303は、モードDB306において、該制御対象端末に対応する、見做しフラグを、「Y」として設定する。一方、見做し判断部303は、モードDB306において、制御対象端末以外の端末に対応する、見做しフラグを、「N」として設定する。そして、見做し判断部303は、モードDB306から抽出したエントリに対して、「処理済み」を示すフラグを設定する(ステップS1107)。
そして、ステップS1102に戻り、処理を継続する。つまり、モードDB306内の全てのエントリに対して、処理済みのフラグを設定するまで、処理を継続する。見做し判断部303は、上記の処理(図12に示す処理)を実行することで、モードDB306に格納される、見做しフラグを更新する。
次に、図13を参照しながら、制御情報送信部304の動作の詳細について説明する。図13は、制御情報送信部304の動作の一例を示すフローチャートである。
ステップS1201において、制御情報送信部304は、モードDB306内に格納される全てのエントリに対して、「未処理」を示すフラグを設定する。具体的には、モードDB306内に格納される全てのエントリを抽出する。そして、制御情報送信部304は、抽出した全てのエントリに対して、「未処理」を示すフラグを設定する。
ステップS1202において、モードDB306内のエントリのうち、未処理のエントリが存在するか否かを、制御情報送信部304は判断する。つまり、モードDB306内のエントリのうち、「未処理」のフラグが設定されたエントリが存在するか否かを、制御情報送信部304は判断する。モードDB306内のエントリのうち、未処理のエントリが存在する場合(ステップS1202のYes分岐)には、未処理のエントリのうち、一のエントリを抽出し、ステップS1203に遷移する。一方、モードDB306内のエントリのうち、未処理のエントリが存在しない場合(ステップS1202のNo分岐)には、制御情報送信部304は、モードDB306内のエントリを完了したと判断して、処理を終了する。
ステップS1203において、モードDB306内の未処理のエントリのうち、抽出したエントリに対応する端末103が、制御対象端末であるか否かを、制御情報送信部304は判断する。具体的には、図6に示すモードDB306を参照する場合、モードDB306内の未処理のエントリのうち、抽出したエントリの見做しフラグに基づいて、エントリに対応する端末103が、制御対象端末であるか否かを判断する。なお、抽出したエントリに対応する端末103とは、該エントリの端末IDに対応する端末103である。
抽出したエントリに対応する端末103が、制御対象端末である場合(ステップS1203のYes分岐)には、制御情報送信部304は、見做しモードにおいて必要なパラメータ等と、抽出したエントリの端末IDとを、インフラ制御装置104へ送信する(ステップS1204)。具体的には、制御情報送信部304は、モード要件DB308に基づいて、抽出したエントリに対応する端末103(即ち、制御対象端末)の見做しモードにおいて必要なパラメータ(制御情報)を計算する。例えば、制御情報送信部304は、モード要件DB308を参照し、見做しモードIDに対応するリソースID及び要求リソース量を抽出しても良い。そして、制御情報送信部304は、抽出したリソースID及び要求リソース量に基づいて、見做しモードにおいて必要なパラメータを計算しても良い。そして、制御情報送信部304は、算出したパラメータと、抽出したエントリの端末ID(即ち、制御対象端末の端末ID)とを、インフラ制御装置104へ送信する。そして、ステップS1202に戻り、処理を継続する。
一方、抽出したエントリに対応する端末103が、制御対象端末ではない場合(ステップS1203のNo分岐)には、制御情報送信部304は、現在モードにおいて必要なパラメータと、抽出したエントリの端末IDとを、インフラ制御装置104へ送信する(ステップS1205)。具体的には、制御情報送信部304は、モード要件DB308に基づいて、抽出したエントリに対応する端末103(即ち、制御対象端末以外の端末103)の現在モードにおいて必要なパラメータ(制御情報)を算出する。例えば、制御情報送信部304は、モード要件DB308を参照し、現在モードIDに対応するリソースID及び要求リソース量を抽出しても良い。そして、制御情報送信部304は、抽出したリソースID及び要求リソース量に基づいて、現在モードにおいて必要なパラメータ(制御情報)を計算しても良い。そして、制御情報送信部304は、算出したパラメータと、抽出したエントリの端末IDとを、インフラ制御装置104へ送信する。そして、ステップS1202に戻り、処理を継続する。
インフラ制御装置104は、QoE保証装置101から送信されたパラメータを、ネットワークインフラ102、及び/又はコンピューティングインフラ105を制御するために必要な情報(制御情報)として受信する。そして、インフラ制御装置104は、受信した制御情報に基づいて、ネットワークインフラ102、及び/又はコンピューティングインフラ105を制御する。
以上のように、本実施形態に係るQoE保証装置101は、複数(2以上)の端末103のうち、優先度が相対的に高い端末103を、動作状況(動作モード)の変化に先立って制御する制御対象端末として選択する。さらに、本実施形態に係るQoE保証装置101は、各端末103に関して、端末の動作状況(現在モード)から遷移する、次の動作状況(動作モード)を、見做しモードとして推定する。そして、本実施形態に係るQoE保証装置101は、選択した制御対象端末に関して、動作状況(動作モード)の変化前に、先立って制御するように、必要なパラメータ(制御情報)を、インフラ制御装置104に送信する。その結果、本実施形態に係るQoE保証装置101は、アプリケーションの動作状態の遷移に伴い、QoEが低下することを抑制することに貢献する。
[第2の実施形態]
次に、第2の実施形態について、図面を用いてより詳細に説明する。
本実施形態は、動作モードの履歴に基づいて、動作モード間の状態遷移確率を推定する形態である。なお、本実施形態における説明では、上記の実施形態と重複する部分の説明は省略する。さらに、本実施形態における説明では、上記の実施形態と同一の構成要素には、同一の符号を付し、その説明を省略する。また、本実施形態における説明では、上記の実施形態と同一の作用効果についても、その説明を省略する。以下、他の形態においても同様であるものとする。
本実施形態に係るネットワーク化システムの全体構成の一例は、図2に示す通りである。なお、本実施形態の説明においては、端末、QoE保証装置を、夫々、端末1301、QoE保証装置1401と表記する。
まず、本実施形態に係る端末1301について詳細に説明する。
図14は、本実施形態に係る端末1301の内部構成の一例を示すブロック図である。本実施形態に係る端末1301は、アプリケーション部1302と、モード情報送信部1303とを含んで構成される。本実施形態に係るアプリケーション部1302は、第1の実施形態に係るアプリケーション部201と同様であるため詳細な説明を省略する。以下、本実施形態に係る端末1301と、第1の実施形態に係る端末103との相違点について説明する。
例えば、端末1301が備える記憶装置(図示せず)が、クライアントサイドアプリケーション107を記憶しても良い。記憶装置は、磁気ディスク装置や光ディスク装置、半導体メモリによって実現される。
端末1301は、CPUを用いて、アプリケーション部1302と、モード情報送信部1303を実現しても良い。さらに、例えば、端末1301は、NICを用いて、他の装置(QoE保証装置1401、ネットワークインフラ102、コンピューティングインフラ105)とのデータ(情報)の送受信を実現しても良い。
モード情報送信部1303は、アプリケーション部1302の動作状態を観測(監視)する。そして、モード情報送信部1303は、クライアントサイドアプリケーション107が内部的に切り替える動作モードを取得する。そして、モード情報送信部1303は、該動作モードに更新があった場合、ネットワークインフラ102を介して、QoE保証装置1401に対して、該動作モードに更新があったことを通知する。
次に、本実施形態に係るQoE保証装置1401について詳細に説明する。
図15は、本実施形態に係るQoE保証装置1401の内部構成の一例を示すブロック図である。本実施形態に係るQoE保証装置1401は、モード情報受信部1402と、優先度算出部1403と、見做し判断部1404と、制御情報送信部1405と、モード間遷移確率推定部(状態遷移確率推定部とも呼ぶ)1410とを含んで構成される。さらに、本実施形態に係るQoE保証装置1401は、モード遷移確率DB1406と、モードDB1407と、インフラリソースDB1408と、モード要件DB1409と、モード履歴DB1411と、を含んで構成される。図15に示すQoE保証装置1401と、図4に示すQoE保証装置101との相違点は、図15に示すQoE保証装置1401が、モード間遷移確率推定部1410と、モード履歴DB(動作モード履歴データベースとも呼ぶ)1411を含んで構成される点である。以下、本実施形態に係るQoE保証装置1401と、第1の実施形態に係るQoE保証装置101との相違点について詳細に説明する。
例えば、QoE保証装置1401が備える記憶装置(図示せず)が、モード遷移確率DB1406と、モードDB1407と、インフラリソースDB1408と、モード要件DB1409と、モード履歴DB1411とを格納しても良い。記憶装置は、磁気ディスク装置や光ディスク装置、半導体メモリによって実現される。
また、QoE保証装置1401は、CPUを用いて、モード情報受信部1402、優先度算出部1403、見做し判断部1404、制御情報送信部1405、モード間遷移確率推定部1410を実現しても良い。さらに、例えば、QoE保証装置1401は、NICを用いて、他の装置(端末1301、インフラ制御装置104等)とのデータ(情報)の送受信を実現しても良い。
モード遷移確率DB1406、モードDB1407、インフラリソースDB1408、モード要件DB1409が格納する情報は、第1の実施形態と同様であるため、詳細な説明は省略する。また、以下の説明においては、モード遷移確率DB1406、モードDB1407、インフラリソースDB1408、モード要件DB1409は、夫々、図5、図6、図7、図8に示す情報を格納するものとする。
モード履歴DB1411は、端末1301におけるアプリケーションの動作モードの履歴を格納する。具体的には、モード履歴DB1411は、端末を識別する情報と、該端末1301の第1の動作状況(実際の動作状況)の履歴情報とを対応付けて格納する。
図16は、モード履歴DB1411の一例を示す図である。具体的には、図16は、履歴ID1501と、端末ID1502と、過去の動作モードID1503とを対応付けたテーブルを示す。履歴ID1501は、端末1301におけるアプリケーションの動作モードの履歴を識別する情報である。端末ID1502は、端末1301を識別する情報である。過去の動作モードID1503は、端末1301におけるアプリケーションにおいて、実際に動作(遷移)した動作モードを識別する情報である。ここで、図16に示すモード履歴DB1411は、履歴ID1501と、端末ID1502と、過去の動作モードID1503とを対応付けたエントリ1511~1516を示す。
例えば、図16に示すエントリ1511、1512、1513、1514は、端末IDが「1」である端末1301において、動作モードが「1」、「2」、「3」、「1」の順に遷移したことを示す。
本実施形態に係るモード情報受信部1402は、端末1031から送信された現在モードIDを、モードDB1407に登録する。そして、モード情報受信部1402は、モードDB1407を更新したことを、モード間遷移確率推定部1410に通知する。
モード間遷移確率推定部1410は、第1の動作状況の履歴情報に基づいて、状態遷移確率を計算する。具体的には、モード間遷移確率推定部1410は、モードDB1407を参照し、モード履歴DB1411に、端末1310の第1の動作状況(実際の動作状況)の履歴情報を登録する。そして、モード間遷移確率推定部1410は、モード履歴DB1411を参照し、動作モード間の状態遷移確率を推定する。そして、モード間遷移確率推定部1410は、推定した状態遷移確率を、モード遷移確率DB1406に登録する。
例えば、端末IDが「1」である端末1301において、動作モードが「1」、「2」、「3」、「1」の順に遷移したとする。そして、モード履歴DB1411が、図16に示すエントリ1511~1514を格納しているとする。その場合、モード間遷移確率推定部1410は、端末IDが「1」である端末1301に関して、モード履歴DB1411から、図16に示すエントリ1511~1514を、動作モードの履歴として抽出する。
そして、モード間遷移確率推定部1410は、抽出した、図16に示すエントリ1511~1514に基づいて、動作モード間の状態遷移確率を推定する。例えば、モード間遷移確率推定部1410は、Hidden Markov Modelを用いて、動作モード間の関係性をモデリングし、Baum-Welch algorithm等を用いて、状態遷移確率を推定しても良い。なお、これは、状態遷移確率を推定する方法の一例であり、状態遷移確率を推定する方法を限定する趣旨ではない。
次に、本実施形態に係るネットワーク化システムの動作に関して説明する。
まず、図17を参照しながら、端末1301の動作について説明する。図17は、端末1301の動作の一例を示すフローチャートである。
ステップS1601において、モード情報送信部1303は、アプリケーションの状態を観測し、アプリケーションの現在の動作モードを、QoE保証装置1401に対して送信する。具体的には、モード情報送信部1303は、クライアントサイドアプリケーション107が内部的に切り替える動作モードを取得し、該動作モードに更新があった場合、該動作モードを、QoE保証装置1401に対して送信する。
次に、図18を参照しながら、QoE保証装置1401の動作について説明する。図18は、QoE保証装置1401の動作の一例を示すフローチャートである。
ステップS1701において、モード情報受信部1402は、各端末1301から受信した現在モードIDをモードDB1407に格納し、受信した現在モードIDをモード間遷移確率推定部1410へ通知する。
ステップS1711において、モード間遷移確率推定部1410は、通知された現在モードIDをモード履歴DB1411に登録し、さらに、モード履歴DB1411を参照し、モード遷移確率DB1406を更新する。
そして、QoE保証装置1401は、図18に示すステップS1702~ステップS1704の処理を実行する。図18に示すステップS1702~ステップS1704は、図10に示すステップS902~S904と同じであるため、詳細な説明を省略する。
以上のように、本実施形態に係るQoE保証装置1401は、端末1301上で動作するアプリケーションの動作モードの履歴に基づいて、動作モード間の状態遷移確率を推定する。そのため、本実施形態に係るネットワーク化システムにおいては、端末1301が、動作モード間の状態遷移確率をQoE保証装置1401に対して送信できない場合であっても、QoE保証装置1401が、動作モード間の状態遷移確率を推定(導出)できる。従って、本実施形態に係るネットワーク化システムにおいては、端末1301が、動作モード間の状態遷移確率をQoE保証装置1401に対して送信できない場合であっても、QoE保証装置1401は、動作状況(動作モード)の変化前に、先立って制御するように、必要なパラメータ(制御情報)を、インフラ制御装置104に送信する。よって、本実施形態に係るネットワーク化システムは、端末1301が、動作モード間の状態遷移確率をQoE保証装置1401に対して送信できない場合であっても、アプリケーションの動作状態の遷移に伴い、QoEが低下することを抑制することに貢献する。
[第3の実施形態]
次に、第3の実施形態について、図面を用いてより詳細に説明する。
本実施形態は、端末の動作モードが変化する前に、動作モードが変化したと見做して、該端末上で動作するアプリケーションを制御する形態である。
本実施形態に係るネットワーク化システムの全体構成の一例は、図2に示す通りである。なお、本実施形態の説明においては、端末、QoE保証装置を、夫々、端末1801、QoE保証装置1901と表記する。
まず、本実施形態に係る端末1801について詳細に説明する。
図19は、本実施形態に係る端末1801の内部構成の一例を示すブロック図である。本実施形態に係る端末1801は、アプリケーション部1802と、モード情報送信部1803と、制御情報受信部1811とを含んで構成される。図19に示す端末1801と、図3に示す端末103との相違点は、図19に示す端末1801は、制御情報受信部1811を含んで構成される点である。本実施形態に係るアプリケーション部1802、モード情報送信部1803は、第1の実施形態に係るアプリケーション部201、モード情報送信部202と同様であるため、詳細な説明を省略する。以下、本実施形態に係る端末1801と、第1の実施形態に係る端末103との相違点について説明する。
端末1801は、CPUを用いて、アプリケーション部1802、モード情報送信部1803、制御情報受信部1811を実現しても良い。さらに、例えば、端末1801は、NICを用いて、他の装置(QoE保証装置1901、ネットワークインフラ102、コンピューティングインフラ105)とのデータ(情報)の送受信を実現しても良い。
制御情報受信部1811は、QoE保証装置1901から送信された制御情報(見做しモードにおいて必要なパラメータ等)を用いて、アプリケーション部1802の動作を制御する。具体的には、制御情報受信部1811は、QoE保証装置1901から送信された制御情報を用いて、端末1801上で動作するアプリケーション(クライアントサイドアプリケーション107)を動作するためのパラメータを設定、変更する。その結果、制御情報受信部1811は、QoE保証装置1901から送信された制御情報を用いて、端末1801上で動作するアプリケーションの動作モード及びパラメータを動的に変更する。
次に、本実施形態に係るQoE保証装置1901について詳細に説明する。
図20は、本実施形態に係るQoE保証装置1901の内部構成の一例を示すブロック図である。QoE保証装置1901は、モード情報受信部1902と、優先度算出部1903と、制御情報送信部1905とを含んで構成される。さらに、QoE保証装置1901は、モード遷移確率DB1906と、モードDB1907と、インフラリソースDB1908とを含んで構成される。図20に示すQoE保証装置1901と、図4に示すQoE保証装置101との相違点は、図20に示すQoE保証装置1901においては、図4に示すQoE保証装置101から、見做し判断部303とモード要件DB308とが削除されている点である。
例えば、QoE保証装置1901が備える記憶装置(図示せず)が、モード遷移確率DB1906と、モードDB1907と、インフラリソースDB1908とを格納しても良い。記憶装置は、磁気ディスク装置や光ディスク装置、半導体メモリによって実現される。
また、QoE保証装置1901は、CPUを用いて、モード情報受信部1902、優先度算出部1903、制御情報送信部1905を実現しても良い。さらに、例えば、QoE保証装置1901は、NICを用いて、他の装置(端末1801、インフラ制御装置104等)とのデータ(情報)の送受信を実現しても良い。
本実施形態に係る制御情報送信部1905は、モードDB1907及びインフラリソースDB1908を参照し、制御情報を計算する。そして、制御情報送信部1905は、算出した制御情報を端末1801に送信する。ここで、制御情報送信部1905が送信する制御情報は、モードDB1907に格納される見做しモードID及び端末優先度、及びインフラリソースDB1908に格納されるリソースに関する情報を含む。
次に、本実施形態に係るネットワーク化システムの動作に関して説明する。
まず、図21を参照しながら、端末1801の動作について説明する。図21は、端末1801の動作の一例を示すフローチャートである。
ステップS2001において、モード情報送信部1803は、アプリケーションの動作状況を観測し、アプリケーションの現在の動作モード、及び動作モード間の状態遷移確率を、QoE保証装置1901に対して送信する。
ステップS2011において、制御情報受信部1811は、QoE保証装置1901から送信された制御情報を用いて、アプリケーションの動作モードを制御する。具体的には、制御情報受信部1811は、QoE保証装置1901から、インフラ(ネットワークインフラ102、及び/又はコンピューティングインフラ105)の使用状況を受信する。
例えば、制御情報受信部1811は、ネットワークインフラ102、コンピューティングインフラ105の使用状況に余裕がある場合、インフラ(ネットワークインフラ102、及び/又はコンピューティングインフラ105)に対して、データの送信頻度を高めるように、パラメータを設定しても良い。
また、制御情報受信部1811は、QoE保証装置1901から、直接、見做しモードIDを受信しても良い。そして、制御情報受信部1811は、動作状況(動作モード)が変化する前に、先立って制御するように、必要なパラメータを設定しても良い。なお、これは、動作状況(動作モード)が変化する前に、先立って、端末1801を制御する方法の一例であり、動作状況が変化する前に、動作状況が変化したと見做して、端末1801を制御する方法を限定する趣旨ではない。
次に、図22を参照しながら、QoE保証装置1901の動作について説明する。図22は、QoE保証装置1901の動作の一例を示すフローチャートである。
ステップS2101において、モード情報受信部1902は、各端末1801から受信した情報を、モード遷移確率DB1906及びモードDB1907に格納し、情報を受信したことを優先度算出部1903に通知する。
ステップS2102において、優先度算出部1903は、モードDB1907及びモード遷移確率DB1906を参照し、各端末1801の端末優先度及び見做しモードIDを計算し、モードDB1907を更新する。
ステップS2104において、制御情報送信部1905は、QoEを満たすために必要な処理を行うように、端末1801上のアプリケーションを制御する。具体的には、制御情報送信部1905は、モードDB1907及びインフラリソースDB1908を参照し、制御情報を計算する。そして、制御情報送信部1905は、算出した制御情報を端末1801に送信する。
以上のように、本実施形態に係るQoE保証装置1901は、見做しモードID及び端末優先度、及びインフラのリソースに関する情報を、制御情報として端末1801に送信する。そのため、本実施形態に係るネットワーク化システムにおいては、インフラを直接に制御できない場合であっても、端末1801が、受信した制御情報を用いて、端末1801上で動作するアプリケーションの動作モード及びパラメータを動的に変更する。よって、本実施形態に係るネットワーク化システムは、インフラを直接に制御できない場合であっても、アプリケーションの動作状態の遷移に伴い、QoEが低下することを抑制することに貢献する。
上述の実施形態の一部又は全部は、以下の形態のようにも記載され得るが、以下には限られない。
(形態1)上記第1の視点に係る制御装置の通りである。
(形態2)前記動作状況は、アプリケーションの複数の離散的な動作モードを含む制御装置。
(形態3)端末を識別する情報と、前記第1の動作状況の動作モードと、前記第2の動作状況の動作モードと、前記端末優先度と、該端末が前記制御対象端末であるか否かを示す情報と、を対応付けて格納する、動作モードデータベースをさらに備える制御装置。
(形態4)前記第1の動作状況は、アプリケーションにおいて実行中の動作モードと、動作モード間の状態遷移確率とを含む制御装置。
(形態5)前記第2の動作状況推定部は、動作モード間の前記状態遷移確率に基づいて、前記端末優先度と、前記第2の動作状況とを推定する制御装置。
(形態6)前記第1の動作状況の履歴情報に基づいて、動作モード間の前記状態遷移確率を導出する、状態遷移確率推定部をさらに備える制御装置。
(形態7)端末を識別する情報と、該端末の前記第1の動作状況の履歴情報とを対応付けて格納する、動作モード履歴データベースをさらに備える制御装置。
(形態8)端末を識別する情報と、動作モードを識別する情報と、該動作モードに遷移する状態遷移確率と、を対応付けて格納する、動作モード遷移確率データベースをさらに備える制御装置。
(形態9)前記見做し判断部は、ネットワークのリソース残量、及び/又はコンピューティングインフラのリソース残量に基づいて、前記制御対象端末を特定する制御装置。
(形態10)動作モードを識別する情報と、リソースを識別する情報と、該動作モードを実行するために必要な該リソースの量と、を対応付けて格納する、動作モード要件データベースをさらに備える制御装置。
(形態11)前記見做し制御部は、前記制御対象端末の動作状況が変化する前に、該制御対象端末の動作状況が、前記第2の動作状況推定部が推定した前記第2の動作状況に変化したと見做してネットワーク機器、サーバ、前記制御対象端末上で動作するアプリケーションの少なくともいずれかに対して、前記所定の処理を実行する制御装置。
(形態12)上記第2の視点に係る制御システムの通りである。
(形態13)上記第3の視点に係る制御装置の制御方法の通りである。
(形態14)上記第4の視点に係るプログラムの通りである。
上記の形態12~14に示す形態は、形態1に示す形態と同様に、形態2~11に示す形態に展開することが可能である。
なお、上記の特許文献の開示を、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態の変更・調整が可能である。また、本発明の全開示の枠内において種々の開示要素(各請求項の各要素、各実施形態の各要素、各図面の各要素等を含む)の多様な組み合わせ、ないし、選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。