JP7003705B2 - サーバ選択装置、サーバ選択方法及びプログラム - Google Patents

サーバ選択装置、サーバ選択方法及びプログラム Download PDF

Info

Publication number
JP7003705B2
JP7003705B2 JP2018019418A JP2018019418A JP7003705B2 JP 7003705 B2 JP7003705 B2 JP 7003705B2 JP 2018019418 A JP2018019418 A JP 2018019418A JP 2018019418 A JP2018019418 A JP 2018019418A JP 7003705 B2 JP7003705 B2 JP 7003705B2
Authority
JP
Japan
Prior art keywords
server
quality
communication environment
communication
score
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018019418A
Other languages
English (en)
Other versions
JP2019139317A (ja
Inventor
拓人 木村
存史 松本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2018019418A priority Critical patent/JP7003705B2/ja
Priority to PCT/JP2019/003881 priority patent/WO2019156026A1/ja
Priority to US16/966,714 priority patent/US11165858B2/en
Publication of JP2019139317A publication Critical patent/JP2019139317A/ja
Application granted granted Critical
Publication of JP7003705B2 publication Critical patent/JP7003705B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/101Server selection for load balancing based on network conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1021Server selection for load balancing based on client or server locations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1023Server selection for load balancing based on a hash applied to IP addresses or costs

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Description

本発明は、サーバ選択装置、サーバ選択方法及びプログラムに関する。
インターネットを介してWeb閲覧や動画閲覧などを行う際は、コンテンツ事業者が設置したサーバ、又はCDN(Content Delivery Network)からコンテンツをダウンロードする。その際、サーバへの集中アクセスやセキュリティアタックにより輻輳が発生すると、サーバの応答速度が落ちる、又は完全に応答しなくなってしまうことがある。このようなサービス品質の劣化はユーザの体感品質に大きな影響を与えてしまう可能性がある。
そのため、コンテンツを複数のサーバに設置することで、あるサーバの通信品質が劣化している際には、別のサーバからダウンロードすることのできる、マルチサーバ環境の導入が進んでいる。マルチサーバ環境における"サーバ"とは、CDNにおけるサーバのようにインターネットにおけるサーバのみならず、オンプレミスのサーバをも含む。
マルチサーバ選択ソリューションは、Conviva社及びCedexis社が既に製品化している。Conviva社の提供するソリューションは、リアルタイムに提供される各CDNの品質情報に基づき、最もスループットの高いCDNからコンテンツをダウンロードすることで、より通信品質の高いコンテンツ配信を実現する(非特許文献1)。Cedexis社の提供するOpenmixは、スループット、コストといった指標を組み合わせ、選択ロジックをプログラムとして記述することで、CDN選択アルゴリズムをユーザが自由に組み立てることができる(非特許文献2)。さらに、直近のスループットの比で確率的にCDNを選択する方式も提案されている(非特許文献3)。
[online]、インターネット<URL:https://www.cedexis.com/openmix/> Liu, Xi and Dobrian, Florin and Milner, Henry and Jiang, Junchen and Sekar, Vyas and Stoica, Ion and Zhang, Hui, A Case for a Coordinated Internet Video Control Plane, Proceedings of the ACM SIGCOMM 2012 Conference on Applications, Technologies, Architectures, and Protocols for Computer Communication, SIGCOMM 2012 Wamser, Florian and Hofner, Steffen and Seufert, Michael and Tran-Gia, Phuoc, Server and Content Selection for MPEG DASH Video Streaming with Client Information, Proceedings of the Workshop on QoE-based Analysis and Management of Data Communication Networks, Internet QoE 2017
上記に示すように、マルチサーバ環境における選択アルゴリズムや、選択することのできる環境は整いつつある。しかし、これらの手法は、CDNの品質が確率的に低下するという可能性を考慮していないという課題がある。
例えば、サーバA及びサーバBが存在し、サーバAは10回中9回は50Mbpsの速度が出るが、10回中1回は100kbpsの速度しか出ないサーバであり、サーバBは、10回中10回において30Mbpsの速度が出るサーバであるとする。この場合、サーバAの平均スループットは45.01Mbps、サーバBの平均スループットは30Mbpsとなるため、既存の手法を適用すると、平均スループットの高いサーバAが選択される。しかし、動画閲覧のようなストリーミング型の通信においては、ある程度のスループットが安定的に出ていれば、それ以上のスループットが出ていたとしても体感品質には影響を与えない。そのため、体感品質の観点からは、サーバBを選ぶべきである。
本発明は、上記の点に鑑みてなされたものであって、体感品質に影響を与える可能性が小さくなるサーバことを選択可能とすることを目的とする。
そこで上記課題を解決するため、サーバ選択装置は、クライアントに対するコンテンツの配信候補である複数のサーバのそれぞれに関して行われた通信ごとに、通信環境を示す通信環境情報と、通信品質を示す品質情報とを取得する取得部と、前記サーバ及び前記通信環境情報の組み合わせごとに、前記取得部が当該サーバに関する通信について取得した前記通信環境情報及び前記品質情報の履歴のうち当該組み合わせに係る前記通信環境情報に対応する前記品質情報の集合のうち閾値よりも悪くなる前記品質情報を特定することで、又は当該集合の統計量を算出することで、通信品質に関するスコアを計算する計算部と、前記計算部が計算したスコアに基づいて、前記クライアントに対してコンテンツを配信するサーバを選択する選択部と、を有する。
体感品質に影響を与える可能性が小さくなるサーバことを選択可能とすることができる。
第1の実施の形態におけるマルチサーバ環境システムの構成例を示す図である。 第1の実施の形態における計算装置のハードウェア構成例を示す図である。 第1の実施の形態におけるサーバ情報テーブルの構成例を示す図である。 第1の実施の形態におけるスコア情報テーブルの構成例を示す図である。 品質情報テーブルの構成例を示す図である。 品質DBにおけるデータの持ち方を説明するための図である。 第2の実施の形態におけるサーバ情報テーブルの構成例を示す図である。 第2の実施の形態におけるスコア情報テーブルの構成例を示す図である。 第3の実施の形態におけるマルチサーバ環境システムの構成例を示す図である。 プレイリストの書き換えの一例を示す図である。 第4の実施の形態におけるマルチサーバ環境システムの構成例を示す図である。
以下、図面に基づいて本発明の実施の形態を説明する。以下においては、プローブの有無、振り分け方式、スコア計算アルゴリズムの任意の組み合わせに基づいて実施形態を分けて説明する。
プローブとは、定期的に各サーバに対してアクセスして、各サーバの通信品質を示す情報である品質情報を取得する装置をいう。プローブ有無とは、斯かるプローブを利用するか否かを意味する。
振り分け方式とは、クライアント装置から指定されたURLに対応するサーバを振り分ける方式をいい、本実施の形態では、「DNS方式」、「HTTPリダイレクト方式」、「プレイリスト方式」等の選択肢が有る。各選択肢の詳細については後述される。
スコア計算アルゴリズムとは、クライアント装置にアクセスさせるサーバを選択する際の指標として利用される「スコア」の計算アルゴリズムをいい、本実施の形態では、閾値法及び統計法の2つの選択肢が有る。
プローブの有無、振り分け方式、スコア計算アルゴリズムの組み合わせを、以下(プローブの有無、振り分け方式、スコア計算アルゴリズム)の形式で表記する。但し、当該組み合わせの各要素については、上記の方式名に加え、*(ドントケア)を指定することもできる。第1~第3の実施の形態では、(プローブ無し、*、*)の一例について説明する。第4の実施の形態では、(プローブ有り、*、*)について説明する。
なお、以下で説明する各実施の形態においては、クライアント装置が取得すべきコンテンツのURLは特定できている状況を想定する。取得すべきコンテンツのURLは、Webサイトの閲覧であれば、ユーザからの指定、又は読み込んだWebページのJavascript(登録商標)から指定されることで特定することができる。また、動画閲覧であれば、プレイリストのURL、又はプレイリストに記載されたチャンクのURLをパースすることで取得することができる。
図1は、第1の実施の形態におけるマルチサーバ環境システムの構成例を示す図である。第1の実施の形態では、(プローブ無し、DNS方式、*)の形態について説明する。図1において、マルチサーバ環境システムは、1以上のクライアント装置20、サーバ群30及びサーバ選択装置10等を含む。クライアント装置20は、サーバ群30及びサーバ選択装置10とインターネット等のネットワークを介して接続されている。
クライアント装置20は、ユーザがWebコンテンツや動画コンテンツ等の閲覧に利用する端末である。例えば、PC(Personal Computer)、スマートフォン、タブレット端末等がクライアント装置20として利用されてもよい。
サーバ群30は、マルチサーバ環境における複数のサーバ31(サーバ31a~31c)の集合である。各サーバ31は、クライアント装置20から要求されたコンテンツを配信する。なお、サーバ31は、CDNにおけるサーバ31のようにインターネットにおけるサーバ31であってもよいし、オンプレミスのサーバ31であってもよい。
サーバ選択装置10は、サーバ群30の中から、コンテンツの閲覧又は視聴に関する体感品質が確率的に低下する可能性が相対的に低いサーバ31(すなわち、体感品質に影響を与える可能性が小さくなるサーバ31)を選択する処理を実行する1以上のコンピュータである。サーバ選択装置10は、クライアント装置20と通信可能であれば、どこに配置されてもよい。例えば、サーバ選択装置10は、クライアント装置20が配置される企業内に配置されてもよいし、インターネット上に配置されてもよい。
図1において、サーバ選択装置10は、スコア計算部11、サーバ選択部12及び品質DB111を有する。スコア計算部11は、各サーバ31のスコアの計算等を実行する。サーバ選択部12は、スコアに基づいて、コンテンツの閲覧に関する体感品質が確率的に低下する可能性が相対的に低いサーバ31を選択する。品質DB111は、クライアント装置20が各サーバ31からコンテンツをダウンロードするための通信の品質に関する情報を記憶するデータベースである。なお、サーバ選択装置10の各構成要素に対応するコンピュータは、それぞれ異なっていてもよい。
図2は、第1の実施の形態におけるサーバ選択装置10のハードウェア構成例を示す図である。図2のサーバ選択装置10は、それぞれバスBで相互に接続されているドライブ装置100、補助記憶装置102、メモリ装置103、CPU104、及びインタフェース装置105等を有する。
サーバ選択装置10での処理を実現するプログラムは、CD-ROM等の記録媒体101によって提供される。プログラムを記憶した記録媒体101がドライブ装置100にセットされると、プログラムが記録媒体101からドライブ装置100を介して補助記憶装置102にインストールされる。但し、プログラムのインストールは必ずしも記録媒体101より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置102は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
メモリ装置103は、プログラムの起動指示があった場合に、補助記憶装置102からプログラムを読み出して格納する。CPU104は、メモリ装置103に格納されたプログラムに従ってサーバ選択装置10に係る機能を実行する。インタフェース装置105は、ネットワークに接続するためのインタフェースとして用いられる。
なお、図1におけるスコア計算部11及びサーバ選択部12は、サーバ選択装置10にインストールされた1以上のプログラムが、CPU104に実行させる処理により実現される。品質DB111は、例えば、補助記憶装置102、又はサーバ選択装置10にネットワークを介して接続可能な記憶装置等を用いて実現可能である。
以下、第1の実施の形態において実行される処理手順について図1を参照して説明する。
ステップS1)クライアント装置20は、アクセスしたいURL及びクライアントの通信環境を示す通信環境情報をサーバ選択部12に対して送信する。
ステップS2)サーバ選択部12は、品質DB111に予め記憶されているサーバ情報テーブルを参照して、クライアント装置20から送信されたURL(以下、「対象URL」という。)に対応するサーバ候補(クライアント装置20へのコンテンツの配信候補)を抽出する。
図3は、第1の実施の形態におけるサーバ情報テーブルの構成例を示す図である。図3に示されるように、第1の実施の形態におけるサーバ情報テーブルには、URLに対応付けてアクセス先IPアドレスが記憶されている。ここで、URLとアクセス先IPアドレスとの関係は、一対多である。したがって、ステップS2では、複数のアクセス先IPアドレスが、対象URLに対応するサーバ候補のとして抽出される。このように、対象URLに対応するサーバ候補をIPアドレスによって特定する「振り分け方式」を「DNS方式」という。
例えば、対象URLが「http://aaa.com」である場合、「11.11.11.11」、「22.22.22.22」、「33.33.33.33」がサーバ候補として抽出される。
ステップS3)サーバ選択部12は、品質DB111に記憶されているスコア情報テーブルより、ステップS2において抽出された各サーバ候補のスコアのうち、クライアント装置20の通信環境情報(以下、「クライアント通信環境情報」という。)と同様の通信環境情報に係るレコードを取得する。
図4は、第1の実施の形態におけるスコア情報テーブルの構成例を示す図である。図4に示されるように、スコア情報テーブルには、サーバ31と通信環境情報との組み合わせごとに、当該組み合わせに関して算出されたスコアが記憶されている。
ここで、通信環境情報とは、通信環境を区別する(通信環境を示す)情報をいい、固定系回線については利用ISP及びエリアによって構成される情報であり、移動系回線については、キャリア、セルID、基地局ID及び位置情報のうちの一部又は全部によって構成される情報である。図4のスコア情報テーブルでは、「要素1」から「要素3」の列が、通信環境報の構成要素に相当する。すなわち、固定系回線については、例えば、「要素1」、「要素2」に、利用ISP、エリアが記憶されており、移動系回線については、「要素1」、「要素2」、「要素3」に、例えば、キャリア、セルID、基地局IDが記憶されている。
また、サーバ選択部12は、通信環境情報が同様であるか否かを次のようにして判断する。クライアント通信環境情報が、固定系回線の通信環境情報である場合、サーバ選択部12は、スコア情報テーブルにおいて、ISP及びエリアが、クライアント通信環境情報に一致するレコードを検索した後に、ISPがクライアント通信環境情報に一致するレコードを順に検索していき、最初にヒットした通信環境情報を、クライアント通信環境情報と同様の通信環境情報であるとする。クライアント通信環境情報が移動系回線の通信環境情報である場合、検索部は、キャリア、基地局ID、セルIDがクライアント通信環境情報に一致するレコードを検索した後に、キャリア、基地局IDがクライアント通信環境情報に一致するレコード、キャリアがクライアント通信環境情報に一致するレコードを順に検索し、最初にヒットした通信環境情報を、クライアント通信環境情報と同様の通信環境情報であるとする。
したがって、例えば、サーバ候補が「11.11.11.11」、「22.22.22.22」、「33.33.33.33」であり、クライアント通信環境情報が、「CarrierA」、「eNBA」、「CellA」であれば、図4において、項番1、5、9のレコードが取得される。
ステップS4)サーバ選択部12は、取得したレコードの中で「スコア」の値が最大であるレコード(以下「対象レコード」という。)の「サーバ」の値(IPアドレス)を取得する。すなわち、スコアが最大であるサーバ31が選択される。なお、本実施の形態において、スコアが大きいほど、確率的に品質が劣化する可能性が低いことを意味する。
ステップS5)サーバ選択部12は、取得したIPアドレスをクライアント装置20に返信する。
ステップS6)クライアント装置20は、サーバ選択装置10から返信されたIPアドレスにアクセスする。その結果、ユーザは、コンテンツを閲覧することができる。
ステップS7)例えば、ユーザによるコンテンツの閲覧の完了後、クライアント装置20は、品質DB111に対し、アクセス時刻、アクセス先IPアドレス、アクセス先URL、クライアント通信環境情報、計測された遅延、スループット等の品質情報を送信する。品質DB111は、送信された品質情報を品質情報テーブルに記憶する。
図5は、品質情報テーブルの構成例を示す図である。図5に示されるように、品質情報テーブルには、クライアント装置20によるいずれかのサーバ31に対するアクセス(いずれかのサーバ31からのコンテンツのダウンロード)ごとに、アクセス時刻、アクセス先IPアドレス、アクセス先URL、通信環境情報(クライアント通信環境情報)、遅延及びスループット等の品質情報が記憶される。すなわち、品質情報テーブルには、クライアント装置20によるいずれかのサーバ31との通信について、通信環境情報及び品質情報等の履歴が記憶される。なお、図5においては省略されているが、品質情報には、遅延及びスループット以外の情報(例えば、ジッタ等)が含まれてもよい。
なお、クライアント装置20が送信する通信環境情報は、Android(登録商標)、iOS(登録商標)、固定系回線で内容が異なる。これに合わせ、Android(登録商標)、iOS(登録商標)、固定系回線に応じて、品質DB111の品質情報テーブルにおける通信環境情報を構成する要素1から要素3の持ち方を、図6のように変更してもよい。図6では、Android(登録商標)(図6における「A」)は、サーバ31、キャリア、基地局ID、セルIDの順に、iOS(登録商標)(図6における「I」)は、サーバ31、キャリア、位置情報の順に、固定系回線は、ISP、エリアの順(要素3は値なし)にキーを設定してデータを持つ例が示されている。固定系回線のエリアは、geoIPを用いて、IPアドレスから変換して取得することができる。
また、上記では、全てのクライアント装置20が、常に品質情報を品質DB111に対して送信する例を示しているが、全てのクライアント装置20が常に品質情報を送信しなくてもよい。例えば、一部のクライアント装置20のみが品質情報を送信するようにしてもよいし、全てのクライアント装置20が品質情報を送信せず、何らかの方法で品質情報テーブル(図5)に蓄積された品質情報を用いてサーバ31の選択を行う形態をとることも可能である。
続いて、品質情報テーブルを用いて、各サーバ31の通信環境情報に応じたスコアの算出法について説明する。
本実施の形態において、スコア算出法には、閾値法、統計法の2種類があり、いずれかの方法が選択されてもよい。また、最大ウインドウサイズwを定めておき、過去w時間分のレコードのみが利用される。スコア算出の契機は任意であり、定期的(例えば1日おき)などとしてもよい。
閾値法とは、通信環境情報が合致する過去のスループット、遅延、ジッタ等の品質情報が、事前に設定された閾値Thを下回る頻度確率(すなわち、品質情報が閾値Thよりも悪くなる確率)の-1倍、又は閾値Thを下回った時間間隔の平均値を用いてスコアを定める方法である。例えば、品質情報テーブルの内容が図5に示す通りであり、スコア計算を開始した時刻が「2018.1.1 14:00:00」、w=1、スループットに対する閾値Th=1000であると仮定する。まず、スコア情報テーブル(図4)の項番1に相当する、サーバ31が「11.11.11.11」、通信環境情報が「CarrierA、eNBA、CellA」である条件(以下「対象条件」という。)に対するスコアを計算する例を示す。
この場合、スコア計算部11は、品質情報テーブル(図5)において、スコア計算の開始時刻である「2018.1.12018.1.1」より過去w(w=1)時間分である13:00:00以降のレコードのうち、通信環境情報が対象条件の通信環境情報の全てに一致する、項番2、3、4の3つのレコードを計算対象として抽出する。
続いて、スコア計算部11は、当該3つのレコードのそれぞれのスループットをTh=1000と比較することで、スループットがThを下回ったレコードの数が2であり、スループットがTh以上であるレコードの数が1であることを特定する。
続いて、スコア計算部11は、スループットがThを下回る頻度確率=2÷3≒0.66を計算し、当該頻度確率の-1倍である-0.66を、サーバ31「11.11.11.11」及び通信環境情報「CarrierA、eNBA、CellA」のスコアとする。したがって、この場合、スコア計算部11は、スコア情報テーブルにおいて対象条件に対応するレコードの「スコア」に、-0.66を記憶する。なお、図4では、当該3つのレコードのアクセス時刻の時間間隔の平均値がスコアとされた例に相当する。
次に、スコア情報テーブル(図4)の項番3に相当する、サーバ31が「11.11.11.11」、通信環境情報が「CarrierA、*、*」の条件(以下、「対象条件」という。)に対するスコアを計算する例を示す。
この場合、スコア計算部11は、品質情報テーブル(図5)において、スコア計算の開始時刻である「2018.1.1 14:00:00」より過去w(w=1)時間分である13:00:00以降のレコードのうち、通信環境情報の要素のうち、少なくとも「要素1(キャリア)」が「CarrierA」に一致する、項番2-9レコード群を計算対象として抽出する。
続いて、スコア計算部11は、当該レコード群に含まれる各レコードについて、スループットをTh=1000と比較することで、スループットがThを下回ったレコードの数が4であり、スループットがTh以上であるレコードの数が4であることを特定する。
続いて、スコア計算部11は、スループットがThを下回る頻度確率=4÷8≒0.5を計算し、当該頻度確率の-1倍である-0.5を、サーバ31「11.11.11.11」及び通信環境情報「CarrierA、*、*」のスコアとする。したがって、この場合、スコア計算部11は、スコア情報テーブルにおいて対象条件に対応するレコードの「スコア」に、-0.66を記憶する。
なお、スコア計算部11は、スコア計算の各タイミングにおいて、スコア情報テーブル(図4)のその他の条件についても、同様にしてレコードの抽出及びスコア算出等を実行する。
一方、統計法とは、閾値法と同様にして抽出された、計算対象となるレコード群に対し、スコア計算部11が、平均μ、分散σ、aパーセンタイル(aは0以上100以下の実数)を計算し、μ-bσ(bは正の実数)の値、又はaパーセンタイル値をスコアとするものである。
このように、閾値法及び統計法のいずれについても、通信品質の確率的な劣化を反映したスコアの計算方法の一例である。
次に、第2の実施の形態について説明する。第2の実施の形態では第1の実施の形態と異なる点について説明する。第2の実施の形態において特に言及されない点については、第1の実施の形態と同様でもよい。
第2の実施の形態では、(プローブ無し、HTTPリダイレクト方式、*)の形態について、図1を参照して説明する。
ステップS1)クライアント装置20は、アクセスしたいURL及びクライアント通信環境情報をサーバ選択部12に対して送信する。
ステップS2)サーバ選択部12は、品質DB111に予め記憶されているサーバ情報テーブルを参照して、クライアント装置20から送信されたURL(以下、「対象URL」という。)に対応するサーバ候補を抽出する。
図7は、第2の実施の形態におけるサーバ情報テーブルの構成例を示す図である。図4に示されるように、第2の実施の形態におけるサーバ情報テーブルには、URLに対応付けてアクセス先URLが記憶されている。ここで、URLとアクセス先URLとの関係は、一対多である。したがって、ステップS2では、複数のアクセス先URLが、対象URLに対応するサーバ候補として抽出される。このように、対象URLに対応するサーバ候補をURLによって特定する「振り分け方式」を「HTTPリダイレクト方式」という。
例えば、対象URLが「http://aaa.com」である場合、「http://aaa-1.com」、「http://aaa-2.com」、「http://aaa-3.com」がサーバ候補として抽出される。
ステップS3)サーバ選択部12は、品質DB111に記憶されているスコア情報テーブル(図4)より、ステップS2において抽出された各サーバ候補のスコアのうち、クライアント通信環境情報と同様の通信環境情報に係るレコードを取得する。
図8は、第2の実施の形態におけるスコア情報テーブルの構成例を示す図である。図8のスコア情報テーブルは、図4のスコア情報テーブルに対して、「サーバ」の値が、URLによって表記されている点が異なる。
なお、通信環境情報が同様であるか否かの判定方法は、第1の実施の形態と同様である。したがって、サーバ候補がhttp://aaa-1.com」、「http://aaa-2.com」、「http://aaa-3.com」であり、クライアント通信環境情報が、「CarrierA」、「eNBA」、「CellA」であれば、図8において、項番1、5、9のレコードが取得される。
ステップS4)サーバ選択部12は、取得したレコードの中で「スコア」の値が最大であるレコード(以下「対象レコード」という。)の「サーバ」の値(URL)を取得する。すなわち、スコアが最大であるサーバ31が選択される。
ステップS5)サーバ選択部12は、取得したURLをクライアント装置20に返信する。
ステップS6)クライアント装置20は、サーバ選択装置10から返信されたURLにアクセスする。その結果、ユーザは、コンテンツを閲覧することができる。この際、クライアント装置20は、アクセスしたURLのIPアドレスをアクセス先IPアドレスとして取得しておく。なお、クライアント装置20は、一般的なDNS(Domain Name System)を用いて、アクセスしたURLのIPアドレスを取得可能である。
ステップS7)例えば、ユーザによるコンテンツの閲覧の完了後、クライアント装置20は、品質DB111に対し、アクセス時刻、アクセス先IPアドレス、アクセス先URL、クライアント通信環境情報、計測された遅延、スループット等の品質情報を送信する。品質DB111は、送信された品質情報を品質情報テーブル(図5)に記憶する。
次に、第3の実施の形態について説明する。第3の実施の形態では第1又は第2の実施の形態と異なる点について説明する。第3の実施の形態において特に言及されない点については、第1又は第2の実施の形態と同様でもよい。第3の実施の形態では、(プローブ無し、プレイリスト方式、*)の形態について説明する。振り分け方式としてプレイリスト方式が用いられるのは、クライアント装置20において、HLS方式、DASH方式等の、ABR(Adaptive Bitrate Streaming)型動画配信を採用しているアプリケーションが利用される場合に限られる。
図9は、第3の実施の形態におけるマルチサーバ環境システムの構成例を示す図である。図9中、図1と同一部分には同一符号を付し、その説明は省略する。
図9において、サーバ選択装置10は、更に、プレイリスト生成部13を有する。プレイリスト生成部13は、サーバ選択装置10にインストールされた1以上のプログラムが、CPU104に実行させる処理により実現される。
以下、第3の実施の形態において実行される処理手順について図9を参照して説明する。
ステップS1)クライアント装置20は、ユーザによって指定された動画プレイリストのURLとクライアント通信環境情報とをプレイリスト生成部13に対して送信する。
ステップS2)プレイリスト生成部13は、クライアント装置20から受信したURLに係るプレイリストに含まれる各URLについて、サーバ31の選択をサーバ選択部12に実行させる。すなわち、サーバ選択部12は、当該各URLについて、第1の実施の形態(プローブ無し、DNS方式、*)又は第2の実施の形態(プローブ無し、HTTPリダイレクト、*)のステップS2~ステップS4を適用して、スコアが最大であるサーバ31を選択する。プレイリスト生成部13は、選択されたサーバ31のIPアドレス又はURLへの書き換えをプレイリストについて実行する。
図10は、プレイリストの書き換えの一例を示す図である。図10には、HLS(Http Live Streaming)方式を例として、書き換え前のプレイリストと書き換え後のプレイリストとの例が示されている。図10では、書き換え前のプレイリストの各URLが「hoge.comからfuga.com」に書き換えられている。
ステップS3)プレイリスト生成部13は、各URLが書き換えられたプレイリストをクライアント装置20へ返信する。
ステップS4)クライアント装置20は、返信されたプレイリストに基づいて動画の再生を行う。
ステップS5)例えば、ユーザによる動画の閲覧の完了後、クライアント装置20は、品質DB111に対し、アクセス時刻、アクセス先IPアドレス、アクセス先URL、クライアント通信環境情報、計測された遅延、スループット等の品質情報を送信する。品質DB111は、送信された品質情報を品質情報テーブル(図5)に記憶する。
次に、第4の実施の形態について説明する。第4の実施の形態では第1、第2又は第3の実施の形態と異なる点について説明する。第4の実施の形態において特に言及されない点については、第1、第2又は第3の実施の形態と同様でもよい。第4の実施の形態では、(プローブ有り、*、*)の形態について説明する。
図11は、第4の実施の形態におけるマルチサーバ環境システムの構成例を示す図である。図11において、マルチサーバ環境システムは、プローブ41の集合であるプローブ群40を含む。プローブ群40に含まれるプローブ41a~プローブ41c(それぞれを区別しない場合、「プローブ41」という。)、サーバ群30及びサーバ選択装置10とネットワークを介して接続される。なお、図11のサーバ選択装置10について、スコア計算部11、サーバ選択部12及びプレイリスト生成部13は、便宜上、省略されている。
第4の実施の形態では、プローブ無しの場合(第1~第3の実施の形態)と比較して、品質DB111における品質情報テーブルの更新方法のみが異なる。各プローブ41は、クライアント装置20からの要求とは同期せず、定期的に各サーバ31に対してアクセスし、各サーバ31の品質情報を取得する。各プローブは、取得した品質情報をサーバ選択装置10に送信する。サーバ選択装置10は、受信した品質情報を品質情報テーブルに記憶する。第4の実施の形態では、品質情報がプローブ41から取得されるため、必ずしもクライアント装置20から品質情報を送付する必要がない。
上述したように、上記各実施の形態によれば、各サーバ31に対する過去のアクセス時(通信時)の品質情報を用いて、急激に品質が劣化する確率がスコアとして算出される。クライアント装置20からURLが指定された際には、当該URLに対応するサーバ候補の中から、クライアント装置20の通信環境と同様の通信環境におけるスコアが最大であるサーバ31が、アクセス先として選択される。したがって、本実施の形態によれば、体感品質に影響を与える可能性が小さくなるサーバ31(体感品質が大きく劣化する可能性を最小限に抑えることができるサーバ31)を選択可能とすることができる。その結果、従来のサーバ選択方式を適用した場合と比較して、より体感品質の高い映像配信・Web閲覧を実現することが可能となる。
なお、上記各実施の形態において、サーバ選択部12及びプレイリスト生成部13等は、取得部の一例である。スコア計算部11は、計算部の一例である。サーバ選択部12は、選択部の一例である。
以上、本発明の実施の形態について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
10 サーバ選択装置
11 スコア計算部
12 サーバ選択部
13 プレイリスト生成部
20 クライアント装置
30 サーバ群
31 サーバ
40 プローブ群
41 プローブ
100 ドライブ装置
101 記録媒体
102 補助記憶装置
103 メモリ装置
104 CPU
105 インタフェース装置
111 品質DB
B バス

Claims (6)

  1. クライアントに対するコンテンツの配信候補である複数のサーバのそれぞれに関して行われた通信ごとに、通信環境を示す通信環境情報と、通信品質を示す品質情報とを取得する取得部と、
    前記サーバ及び前記通信環境情報の組み合わせごとに、前記取得部が当該サーバに関する通信について取得した前記通信環境情報及び前記品質情報の履歴のうち当該組み合わせに係る前記通信環境情報に対応する前記品質情報の集合のうち閾値よりも悪くなる前記品質情報を特定することで、又は当該集合の統計量を算出することで、通信品質に関するスコアを計算する計算部と、
    前記計算部が計算したスコアに基づいて、前記クライアントに対してコンテンツを配信するサーバを選択する選択部と、
    を有することを特徴とするサーバ選択装置。
  2. 前記計算部は、前記組み合わせに係る前記通信環境情報に対応する前記品質情報が、閾値よりも悪くなる確率に基づいて前記スコアを計算する、
    ことを特徴とする請求項1記載のサーバ選択装置。
  3. 前記計算部は、前記組み合わせに係る前記通信環境情報に対応する前記品質情報が閾値よりも悪くなる通信の時間間隔に基づいて前記スコアを計算する、
    ことを特徴とする請求項1記載のサーバ選択装置。
  4. 前記取得部は、前記クライアントから、又は前記クライアントとは別の装置から前記品質情報を取得する、
    ことを特徴とする請求項1乃至3いずれか一項記載のサーバ選択装置。
  5. クライアントに対するコンテンツの配信候補である複数のサーバのそれぞれに関して行われた通信ごとに、通信環境を示す通信環境情報と、通信品質を示す品質情報とを取得する取得手順と、
    前記サーバ及び前記通信環境情報の組み合わせごとに、前記取得手順が当該サーバに関する通信について取得した前記通信環境情報及び前記品質情報の履歴のうち当該組み合わせに係る前記通信環境情報に対応する前記品質情報の集合のうち閾値よりも悪くなる前記品質情報を特定することで、又は当該集合の統計量を算出することで、通信品質に関するスコアを計算する計算手順と、
    前記計算手順において計算されたスコアに基づいて、前記クライアントに対してコンテンツを配信するサーバを選択する選択手順と、
    をコンピュータが実行することを特徴とするサーバ選択方法。
  6. 請求項1乃至4いずれか一項記載の各部としてコンピュータを機能させることを特徴とするプログラム。
JP2018019418A 2018-02-06 2018-02-06 サーバ選択装置、サーバ選択方法及びプログラム Active JP7003705B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2018019418A JP7003705B2 (ja) 2018-02-06 2018-02-06 サーバ選択装置、サーバ選択方法及びプログラム
PCT/JP2019/003881 WO2019156026A1 (ja) 2018-02-06 2019-02-04 サーバ選択装置、サーバ選択方法及びプログラム
US16/966,714 US11165858B2 (en) 2018-02-06 2019-02-04 Server selection apparatus, server selection method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018019418A JP7003705B2 (ja) 2018-02-06 2018-02-06 サーバ選択装置、サーバ選択方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2019139317A JP2019139317A (ja) 2019-08-22
JP7003705B2 true JP7003705B2 (ja) 2022-01-21

Family

ID=67549089

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018019418A Active JP7003705B2 (ja) 2018-02-06 2018-02-06 サーバ選択装置、サーバ選択方法及びプログラム

Country Status (3)

Country Link
US (1) US11165858B2 (ja)
JP (1) JP7003705B2 (ja)
WO (1) WO2019156026A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012533938A (ja) 2009-07-16 2012-12-27 ネットフリックス・インコーポレイテッド デジタルコンテンツ配布システム及び方法
JP2013503390A (ja) 2009-08-28 2013-01-31 アップル インコーポレイテッド コンテンツ配信ネットワーク上のチャンク形式ダウンロード
JP2014096103A (ja) 2012-11-12 2014-05-22 Funai Electric Co Ltd コンテンツ受信装置、及びコンテンツ配信システム
WO2017094847A1 (ja) 2015-12-02 2017-06-08 日本電信電話株式会社 体感品質最適化装置、ネットワーク品質推定装置、モバイル端末、体感品質最適化方法、ネットワーク品質推定方法、及びプログラム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7716332B1 (en) * 2001-06-20 2010-05-11 At&T Intellectual Property I, L.P. System and method for server-based predictive caching of back-end system data
JP3857105B2 (ja) * 2001-10-30 2006-12-13 富士通株式会社 データ転送装置
US9900252B2 (en) * 2013-03-08 2018-02-20 A10 Networks, Inc. Application delivery controller and global server load balancer
JP6087950B2 (ja) * 2014-04-02 2017-03-01 ソフトバンク株式会社 通信システム及び通信方法
US9906422B2 (en) * 2014-05-16 2018-02-27 A10 Networks, Inc. Distributed system to determine a server's health
WO2016098866A1 (ja) * 2014-12-18 2016-06-23 日本電信電話株式会社 通信速度推定装置、通信速度推定方法及びプログラム
JP6586638B2 (ja) * 2016-01-05 2019-10-09 富士通株式会社 画面共有システム、画面共有プログラム、および画面共有方法
CN108173894A (zh) * 2016-12-07 2018-06-15 阿里巴巴集团控股有限公司 服务器负载均衡的方法、装置及服务器设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012533938A (ja) 2009-07-16 2012-12-27 ネットフリックス・インコーポレイテッド デジタルコンテンツ配布システム及び方法
JP2013503390A (ja) 2009-08-28 2013-01-31 アップル インコーポレイテッド コンテンツ配信ネットワーク上のチャンク形式ダウンロード
JP2014096103A (ja) 2012-11-12 2014-05-22 Funai Electric Co Ltd コンテンツ受信装置、及びコンテンツ配信システム
WO2017094847A1 (ja) 2015-12-02 2017-06-08 日本電信電話株式会社 体感品質最適化装置、ネットワーク品質推定装置、モバイル端末、体感品質最適化方法、ネットワーク品質推定方法、及びプログラム

Also Published As

Publication number Publication date
US20210037088A1 (en) 2021-02-04
WO2019156026A1 (ja) 2019-08-15
US11165858B2 (en) 2021-11-02
JP2019139317A (ja) 2019-08-22

Similar Documents

Publication Publication Date Title
US20200183882A1 (en) System and method for storing content on a content delivery network
US10200402B2 (en) Mitigating network attacks
CN107094176B (zh) 用于对计算机网络上的数据通信进行缓存的方法和系统
US7761900B2 (en) Distribution of content and advertisement
US20170164020A1 (en) Content delivery method for content delivery network platform and scheduling proxy server
US20080072264A1 (en) Distribution of content on a network
US20130282890A1 (en) In-stream collection of analytics information in a content delivery system
CN109981805A (zh) 一种域名解析的方法及装置
US11741174B2 (en) Direct leg access for proxy web scraping
KR20110039513A (ko) 컨텐트 배포관리 시스템 및 방법
US9055113B2 (en) Method and system for monitoring flows in network traffic
US20230018983A1 (en) Traffic counting for proxy web scraping
JP7003705B2 (ja) サーバ選択装置、サーバ選択方法及びプログラム
EP4227829A1 (en) Web scraping through use of proxies, and applications thereof
CN115883657A (zh) 一种云盘服务加速调度的方法及系统
KR20130134561A (ko) Cdn에서의 컨텐츠 전송을 위한 동기화 장치 및 방법
US20160050292A1 (en) Local web resource access
US11470145B2 (en) Server selection apparatus, server selection method and program
WO2022057935A1 (zh) 一种基于内容分发网络获取数据的方法及装置
Simon Workload characterization in decentralized networks
SG184587A1 (en) A method and apparatus for caching and retrieving a stream object

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200219

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210511

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210610

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20211130

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211213

R150 Certificate of patent or registration of utility model

Ref document number: 7003705

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150