JP3725401B2 - アクセス振り分け方法、装置、及び記録媒体 - Google Patents
アクセス振り分け方法、装置、及び記録媒体 Download PDFInfo
- Publication number
- JP3725401B2 JP3725401B2 JP2000131369A JP2000131369A JP3725401B2 JP 3725401 B2 JP3725401 B2 JP 3725401B2 JP 2000131369 A JP2000131369 A JP 2000131369A JP 2000131369 A JP2000131369 A JP 2000131369A JP 3725401 B2 JP3725401 B2 JP 3725401B2
- Authority
- JP
- Japan
- Prior art keywords
- user terminal
- stream server
- stream
- isp
- connections
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Description
【発明の属する技術分野】
本発明は、ネットワーク上のコンテンツへのアクセスを振り分ける技術に関する。
【0002】
【従来の技術】
近年、インターネット上でデータストリームを送信して番組を配信するインターネット放送が普及してきている。一般的に、ユーザはストリームサーバにアクセスすることによってインターネット放送を受信する。インターネット放送では、一時に多くのユーザが同一の番組の受信を希望することがあり、そのような場合に備え、インターネット放送提供側は複数のストリームサーバを複数拠点に設置することが多い。
【0003】
また、インターネット放送に限らず、データダウンロードのためのFTPサーバを負荷分散のために複数拠点に設置すること等が一般的に行われている。
【0004】
従来の技術においては、ユーザがどのサーバからサービスを受けるかどうかを、例えばWWWブラウザ画面上でサーバの拠点を選択することによって決定していた。
【0005】
【発明が解決しようとする課題】
しかしながら、従来の技術によると、特定のサーバにアクセスが集中し、アクセスが多い場合にはそのサーバが過負荷となり、ユーザに十分なサービスが提供できないという問題点がある。また、サーバの同時アクセス数にライセンス数等の制限が設けられている場合には、そのライセンス数に達した後にアクセスしたユーザはサービスを受けられない。
【0006】
また、特定のサーバからのデータストリームが集中することによってインターネットの輻輳をもたらし、一般のユーザに迷惑をかける恐れがある。更に、ユーザと、そのユーザがたまたま選択したサーバ間の経路がデータ伝送のために十分な容量をもたない場合には、インターネット放送を十分に視聴できなかったり、データダウンロードに長時間かかったりする等の問題点がある。
【0007】
本発明は上記の点に鑑みてなされたものであり、ユーザからのアクセスを適切にコンテンツサーバに振り分ける方法、装置、記録媒体を提供することを目的とする。
【0008】
【課題を解決するための手段】
上記の目的を達成するために本発明は次のように構成される。
【0009】
請求項1に記載の発明は、 ネットワーク上の複数の場所にあるストリームサーバのうち特定の場所にあるストリームサーバにユーザ端末からのアクセスを振り分けるアクセス振り分け装置が実行する方法であって、前記アクセス振り分け装置が、前記ユーザ端末にコンテンツ選択画面を表示するステップと、前記アクセス振り分け装置が、ユーザがコンテンツを選択することによって前記ユーザ端末から送信されたリクエストデータから前記ユーザ端末の属するISPの識別子を取得するステップと、前記アクセス振り分け装置が、前記ユーザ端末のアクセス先となるストリームサーバの場所を前記ユーザ端末に通知する通知ステップとを有し、前記アクセス振り分け装置は、各ISPのストリームサーバ毎に、ストリームサーバへの累積アクセス総数を所定の時間間隔で記録しておき、前記ユーザ端末からのリクエストデータを受けた時点で、各ISPのストリームサーバ毎に、ストリームサーバへの当該時点の累積アクセス総数から、予め定めた1コネクション当たりのコネクション継続想定時間前の累積アクセス総数を引くことによりみなしコネクション数を求め、前記通知ステップにおいて、前記ユーザ端末の属するISPのストリームサーバのみなしコネクション数が予め定めた閾値を超えない場合に、前記ユーザ端末のアクセス先となるストリームサーバの場所として前記ユーザ端末の属するISPのストリームサーバの場所を前記ユーザ端末に通知し、前記ユーザ端末の属するISPのストリームサーバのみなしコネクション数が前記予め定めた閾値を超えた場合に、各ISPのストリームサーバ毎に、予め定められた最大コネクション数からみなしコネクション数を引いた値を求め、その値が最大となるストリームサーバの場所を前記ユーザ端末に通知することを特徴とする方法である。なお、ストリームサーバのことをコンテンツサーバとも呼ぶ。
【0010】
本発明によれば、ほとんどの場合にユーザ端末からネットワーク的に近いコンテンツサーバにアクセスできるので、ネットワーク的に遠いコンテンツサーバにアクセスした場合のようにコンテンツデータが多数の回線区間を流れることがなくなり、ネットワークの混雑を削減することができる。また、コンテンツがコンテンツサーバからユーザ端末に流れる際にネットワークの混雑に遭遇する機会が削減されるので、ユーザは高速にコンテンツを取得でき、また、コンテンツがストリーム番組である場合には、高品質の番組を視聴できる。更に、特定のコンテンツサーバにアクセスが集中することも回避できる。
【0013】
また、本発明によれば、アクセスしようとするストリームサーバの既存コネクション数がライセンス数上限に近い場合であっても、他のストリームサーバに振り分けるので、ユーザは待たずにコンテンツを取得できる。また、ストリームサーバの負荷分散を図ることができ、結果として、より多くのユーザにサービスを提供することが可能となる。
【0014】
また、本発明によれば、コネクション継続時間を予め定め、それを同時コネクション数の算定に用いることとしたため、実際にユーザのコネクション時間を調べなくてもコネクション数を算定でき、容易かつ高速に処理を行うことが可能となる。ここで、コネクション継続時間は、例えば、経験上得た値を用いることができる。また、コンテンツの種類によってコネクション継続時間を設定により変更してもよい。
【0015】
なお、ユーザ端末とコンテンツサーバ間のホップ数を求め、該ホップ数が所定の値より小さいコンテンツサーバの場所をユーザ端末に通知するステップを有するようにしてもよい。
【0016】
本発明によれば、ホップ数の小さいコンテンツサーバに振り分けることができ、ユーザ端末からネットワーク的に近いコンテンツサーバにアクセスできるので、ネットワークの混雑が削減され、また、ユーザは高品質のサービスを受けることができる。
【0017】
また、ユーザ端末からコンテンツサーバまでのネットワークの回線区間毎の帯域を求め、回線区間毎に該帯域に応じて重み付けをし、重み付けされた回線区間の和が所定の値より小さいコンテンツサーバの場所をユーザ端末に通知するステップを有するようにしてもよい。
【0020】
請求項2に記載の発明は、請求項1の記載において、前記特定の場所にあるコンテンツサーバは1つ又は複数であり、複数である場合に、前記アクセス振り分け装置は、ラウンドロビンを用いて1つのコンテンツサーバを選択する。本発明によれば、特定の場所にあるコンテンツサーバ内の負荷分散を行うことができる。
請求項3〜請求項4に記載された発明は、本発明の方法の実施に適した装置であり、上記と同様の作用効果を奏する。請求項5〜請求項6に記載された発明は、本発明の方法の実施に適したプログラムを記録した記録媒体であり、そのプログラムをコンピュータ上で実行することによって上記と同様の作用効果を奏する。請求項7〜請求項8に記載された発明は、本発明の方法の実施に適したシステムであり、上記と同様の作用効果を奏する。
【0021】
【発明の実施の形態】
図1は、本発明の一実施例におけるアクセス振り分けシステムの構成図である。本発明のアクセス振り分けシステムは、ユーザからのアクセスの振り分けを行う分散コントロールセンタ1、ユーザにストリーム(コンテンツともいう)を提供するストリームサーバ3、ユーザ端末5を有し、これらはインターネット7に接続される。なお、本実施例においてストリームサーバはスプリッタ又はコンテンツサーバともいう。また、本明細書において、単一のストリームサーバやコンテンツサーバが複数台集まってグループを形成する場合にも、そのグループを単にストリームサーバ、コンテンツサーバということがある。
【0022】
分散コントロールセンタ1は、本実施例では複数台の分散コントロール装置9を有し、ユーザからのアクセスをハブ11が各分散コントロール装置に振り分ける。これにより、分散コントロールセンタ内での負荷分散が図られる。なお、各分散コントロール装置が1台の場合にはハブは無くても良い。分散コントロール装置9はWWWサーバ機能を有し、また、後述する負荷分散プログラム13、スプリッタグループテーブル15を有する。ストリームサーバ3は各ISP(インターネットサービスプロバイダ)に設けら、各ISPではアクセス数に応じて複数のストリームサーバが設けられる。なお、本実施例では各ISPにおけるストリームサーバ全体をスプリッタグループという。ユーザ端末5は、WWWブラウザ17及びストリーム再生プログラム19を有し、本実施例では、分散コントロールセンタ1へのアクセスにはWWWブラウザ17が用いられ、ストリームの再生にはストリーム再生プログラム19が用いられる。
【0023】
分散コントロール装置としては一般的なコンピュータを用いることができ、その構成を図2に示す。本コンピュータは、処理を実行するCPU21、プログラムやデータを記憶するメモリ22、メモリ22またはCPU21で使用するプログラムやデータを蓄積するハードディスク23、データを表示するディスプレイ24、データまたは命令を入力するキーボード25、CD−ROMドライブ26、ネットワークを介して他のコンピュータシステム等と通信を行うための通信処理装置27から構成される。本発明のアクセス振り分けを実行するプログラムはCD−ROMドライブ26を経由して、ハードディスク23にロードされ、プログラムが起動されると、CPU21により実行される。本発明のアクセス振り分けを実行するプログラムは、コンピュータにプレインストールしてもよいし、ネットワークを介してロードすることもできる。
【0024】
本実施例では、ストリームサーバは同時接続可能なライセンス数の上限を有している。また、ライセンス数上限はストリームサーバが送信するストリームの総数のみを制限し、1台のサーバで複数のコンテンツを送信する場合の各コンテンツのストリーム数を制限することはできない。ライセンス数が可変とすることもできる。
【0025】
まず、図1に示したシステムの動作の概要を説明する。
【0026】
ストリーム放送視聴を希望するユーザは分散コントロール装置9にアクセスを行う。分散コントロール装置9がユーザからのアクセスを受けると、負荷分散プログラム13がスプリッタグループテーブル15を参照し、どのストリームサーバ(スプリッタ)がアクセスしたユーザに近いかを計算する。そして、現在のストリームサーバのアクセス状況等を計算し、どのストリームサーバに接続させればよいかを決定し、ユーザのWWWブラウザにその結果を返す。ユーザのブラウザはその結果を受け取り、その結果に示されたストリームサーバに対してアクセスを実行し、そこからストリーム放送を受ける。
【0027】
どのストリームサーバ(スプリッタ)がアクセスしたユーザに近いかどうかは、本実施例では、ユーザ端末の属するISPで判断する。すなわち、ユーザ端末の属するISPを調べ、そのISPにあるストリームサーバに原則としてアクセスさせる。HTTPプロトコルにおいてISPを識別するドメイン名を取得することは容易に行うことができる。このようにユーザ端末の属するISPと同一ISPからストリームデータを受信することによって、インターネットにおけるネットワーク負荷の増大を抑えることができる。また、一般的にISPを同一とすることによってストリームが通過すべき経路を短くできるので、ユーザは高い品質のストリームを受信することができる。
【0028】
ここで、上記のストリームサーバが混雑し、設定したアクセス数の上限に達している場合には、他のISPのストリームサーバにアクセスさせる。すなわち、分散コントロール装置は、ストリームサーバ(スプリッタグループ)毎にアクセス状況を記録しておき、今現在あるストリームサーバには何人のユーザがいるかを計算しながら、ストリームサーバの負荷を均等にするようにユーザを適切なストリームサーバに誘導するようコントロールする。このアルゴリズムについては後述する。
【0029】
次に、図3を用いてユーザ端末5、分散コントロール装置9、ストリームサーバ3間のデータシーケンスについて説明する。
【0030】
まず、ユーザ端末が分散コントロール装置にアクセスすることによって、分散コントロール装置は番組選択画面をWWWブラウザに送信する(ステップ1)。その画面データはコンテンツ識別子を含む。ユーザが番組選択画面で番組及びデータ転送速度を選択すると、その番組に対応したコンテンツ識別子が分散コントロール装置にHTTPリクエストとして送信される(ステップ2)。図4に番組選択画面の例を示し、図5には、図4の画面を表示させるためのHTML表記を示す。なお、図4の例は、既に番組が決定しており、速度を選択させる画面である。また、図6にはコンテンツ識別子の例を示している。
【0031】
分散コントロール装置は、HTTPリクエストを受信すると、コンテンツ識別子に含まれる情報を引数としてCGI(Common Gateway Interface)を動作させる。図6に示す例ではabcdと64を引数としてCGIが動作する。
【0032】
CGIによって、コンテンツ識別子取得、RAMファイル決定、REMOTE_HOST環境変数取得、重み計算、送出スプリッタ決定、URL決定、URLの送信を行う。それぞれの処理については後述する。ここで、RAMファイルとは、一般にはメタファイルといい、ユーザ端末のWWWブラウザにヘルパアプリケーション(本実施例ではストリーム再生プログラム)を起動させ、ヘルパアプリケーションにコンテンツへのアクセスをさせるファイルである。
【0033】
REMOTE_HOST環境変数とは、ユーザがどのISPを使用してアクセスしているかを識別する識別子である。例えば、ABCというプロバイダを使っている場合には、REMOTE_HOST環境変数はABC.ne.jp等の識別子を含む。REMOTE_HOST環境変数を取得することによりユーザがどのISPを使用しているかを知ることができる。
【0034】
重み計算とは、各ISPに設置されたストリームサーバの中で、どのストリームサーバが空いているかを計算する。上記の使用ISP及びサーバの空き状況を勘案して、ユーザを誘導するストリームサーバのアドレスが決定され、そのアドレスからメタファイルURLを決定する。そして、そのメタファイルURLをユーザに返す(ステップ3)。
【0035】
メタファイルURLは、Locationタグに含めてユーザ送信され、WWWブラウザでリダイレクトし、WWWブラウザからメタファイルURLにメタファイルの要求を行う(ステップ4)。メタファイルはユーザがサービスを受けるストリームサーバが記述されている。なお、メタファイルを置く場所はインターネット上であれば特に制限はない。また、リダイレクトさせず、ユーザにメタファイルURLを表示し、ユーザがそれをクリックすることによってメタファイルURLを取得することもできる。
【0036】
ユーザ端末がメタファイルを受信すると(ステップ5)、ストリーム再生プログラムが起動され(ステップ6)、コンテンツの要求(本実施例ではPNMリクエスト)をメタファイルに含まれていたストリームサーバのURLに向って送信する(ステップ7)。その要求を受信したストリームサーバ側は、応答(PNM.RES)を返し(ステップ8)、その結果、ストリームデータがそのユーザ端末に配信される。
【0037】
以下、アクセス振り分けのために分散コントロール装置が行う処理について説明する。下記のロジックは複数台の分散コントロール装置上で機能するものであり、その台数を多重度Wとしている。複数台の分散コントロール装置を使用することによって多数のアクセスを処理することができる。
【0038】
図7は、アクセス振り分けのロジックにおいて使用されるパラメータを示す図である。分散コントロール装置は、各コンテンツ毎にこれらのパラメータを管理する。
【0039】
スプリッタグループPiはスプリッタ(ストリームサーバ)の属するISPを示す。アクセス数Niは、各スプリッタグループに対してどれだけのアクセスがあったかを管理する数値である。例えば、あるユーザからP2のスプリッタグループにあるストリームサーバにアクセスがあった場合、N2が1だけインクリメントされる。コネクション数閾値CTiは、該当のスプリッタグループにユーザを接続させるか否かを判定するために用いられる閾値である。スプリッタ数Siは各スプリッタグループ内に配置されているスプリッタ(ストリームサーバ)の数である。最大コネクション数Ciは、該当スプリッタグループが供給できるコネクション数の最大値である。Mを1スプリッタ当たりの最大同時コネクション数とすると、Ci=M・Siである。なお、最大コネクション数に対するコネクション数の余裕度がα(0<α<1)であり、CTi=αCiである。
【0040】
また、1スプリッタ当たりのライセンス数上限をLとし、1コネクション当たりのライフタイムをΔTとする。1コネクション当たりのライフタイムとは、1コネクションが継続すると想定される時間であり、通常5分〜10分の値をとる。この数値は、ユーザが1つの番組を見続けるのは5分〜10分であるということを意味する。
【0041】
次に、アクセス振り分け処理について図8のフローチャートを用いて説明する。
【0042】
フローチャートで示した処理の前提として、分散コントロール装置は、Δt(通常は1分)置きにスプリッタグループ毎にアクセスのあった絶対時刻のタイムスタンプと、そのときまでの累計アクセス数を記録する。本実施例では、保持するデータ量を少なくするという観点から、常に一定時間分ΔTのデータしか残さないようにしている。すなわち、現在からΔT時間過去より前のデータは消去する。
【0043】
あるスプリッタグループPkについてアクセス要求があると(ステップ11)、すなわち、Pkに対応するISPのユーザがアクセスすると、全てのi(1≦i≦n)について、すなわち、全てのスプリッタグループについて、みなしコネクション数を求める(ステップ12)。
【0044】
具体的には、現時点からΔT過去にさかのぼり、現時点までのアクセス総数Ni(T)からΔT前のアクセス総数Ni(T−ΔT)を引いて現在のみなしコネクション数Ci ‘とする。すなわち、Ci ‘=Ni(T)−Ni(T−ΔT)である。ΔTの定義から、ΔTより近い時間の過去であればユーザはその番組を見ていると考えられるが、ΔTより遠い過去であればもうその番組をみていないと考えられる。従って、Ci ‘を現在の見なしコネクション数とすることができる。
【0045】
なお、閑散期等のため、ΔT前が記録されていなかった場合、現在に近い側に遡ってNi(T−s・Δt)(1≦s≦m)を調べ、Ci ‘=Ni(T)−Ni(T−s・Δt)とする。
【0046】
次に、アクセスのあったスプリッタグループPkの見なしコネクション数Ck ‘が閾値CTkを越えるかどうかを調べる(ステップ13)。見なしコネクション数Ck ‘が閾値CTkを越えないないときはそのままそのスプリッタグループにユーザを接続させる(ステップ14)。すなわち、ストリームサーバのグループに余裕があると考えられるので、そのグループのうちのどれかのストリームサーバに接続させる。スプリッタグループに複数のストリームサーバが存在する場合に、どのサーバに接続させるかはラウンドロビン方式を用いる。これにより、アクセスの均一化を図ることができる。
【0047】
Ck ‘が閾値CTkを超えたときは、まず、全てのiについて、すなわち全てのスプリッタグループについて見なし空きコネクション数Ei=Ck−Ck ‘を算出する(ステップ15)。見なし空きコネクション数Eiチェックすることによって、どのストリームサーバが空いているかの評価が行われる。
【0048】
ステップ16にて、全ての見なし空きコネクション数Eiが負の値かどうかを調べる。全ての見なし空きコネクション数Eiが負であれば、全てのストリームサーバについてライセンス数の上限を超えていると判断し、busyメッセージを表示して、このユーザはストリームサーバに誘導しない(ステップ17)。
【0049】
正の値がある場合、正の見なし空きコネクション数Ei同士で比較し(ステップ18)、最大値を有するスプリッタグループに接続させる(ステップ19)。すなわち、Eiが最大であることは最も空いていることを意味し、そのストリームサーバのグループにユーザを誘導することによって、ユーザに確実にサービスを提供でき、ストリームサーバへの負荷集中を避けることができる。
【0050】
その後、振り分けられたスプリッタグループのアクセスカウンタを1増やす。次に、上記の処理について図9〜図14を用いてより詳細に説明する。以下で説明する処理は、図3のステップ2で分散コントロール装置がコンテンツ識別子を受信し、ステップ3でメタファイルURLを返すに至るまでの処理である。
【0051】
まず、ステップ21〜26にてユーザが指定したコンテンツと帯域に対応したメタファイルを取得する。なお、QUERY_STRINGにはコネクション識別子に含まれるコンテンツ名称と帯域が記述される。ステップ24及びステップ25で使用されるコンテンツテーブルの例を図10に示す。図10は各テーブルの構成及びそれらの関係を示しており、コンテンツテーブルはコンテンツ名と帯域とからなる。他のテーブルについては追って説明する。
【0052】
ステップ27〜28にてREMOTE_HOSTを取得する。なお、REMOTE_HOSTには前述したようにアクセスしたユーザが使用するプロバイダの識別子が含まれる。ステップ29にてREMOTE_HOSTに対応するスプリッタグループをスプリッタグループテーブルで確認し、ステップ30にて、そのスプリッタグループに対応したISPのユーザからアクセスがあった旨のインデックスを設定する(そのスプリッタグループをJ=1に設定)。なお、本実施例では、原則として、スプリッタグループテーブルに登録されたあるスプリッタグループに対応したISPのユーザからアクセスがあった場合には、そのスプリッタグループにユーザを接続させることとしているので、あるスプリッタグループに対応したISPのユーザから分散コントロールセンタにアクセスがあった場合、そのスプリッタグループにアクセスがあったという表現を用いる場合がある。図10に示すように、スプリッタグループテーブルは、グループ名と、それに対応するドメイン名及び対応メタファイルURLからなる。
【0053】
次に、ステップ31〜ステップ40にて、見なしコネクション数を計算する。ここでの平均接続時間が前述したΔTである。なお、ステップ39、40は、閑散期等のため、ΔT前が記録されていなかった場合における処理である。ステップ34におけるNLはスプリッタ(ストリームサーバ)当たりのライセンス総数であり、NL×スプリッタ数を分散コントロール装置多重数で除算することによって、分散コントロール装置1台あたりのスプリッタグループに対する振り分け数が求められる。なお、図9〜図14に示すフローチャートにおいては、数をN、カウンタ値をCで表す。例えば、NSP,J=1はJ=1と設定したスプリッタグループのスプリッタの数であり、NLはスプリッタ1台当たりのライセンス数上限値であり、CT1’ , J=1は最終(最新)のカウンタ値である。
【0054】
ステップ35で参照するカウンタテーブルの例は図10に示されている。Δt間隔時間毎のアクセス総数(カウンタ数値)からなる。このカウンタテーブルはスプリッタグループ毎に存在する。
【0055】
ステップ41で、ライセンス使用率と見なし空きコネクション数を計算する。ステップ42で、ライセンス使用率が使用率閾値より大きいかどうかをチェックする。
【0056】
図9において、ステップ27又はステップ29で“いいえ”の場合、スプリッタグループテーブルに登録されたグループとは別のISPのユーザと判断し、図11に示した処理を行う。
【0057】
ステップ43にて、スプリッタテーブルの最初のスプリッタグループを、J=1に設定する。これは、アクセスしたユーザに対応するISPがテーブル内にない場合、原則としてテーブルの最初のスプリッタグループをアクセス先とすることとしたものである。ステップ43〜ステップ54は、図9のステップ31〜ステップ41の処理と同様である。なお、ステップ54では、ステップ51と異なりライセンス使用率の計算は行わない。
【0058】
ステップ54の後、もしくは、図9のステップ42でライセンス使用率が使用率閾値より大きい場合、図12に示した処理を行う。すなわち、図12に示す処理は、スプリッタグループとして分散コントロール装置に登録されていないISPのユーザからのアクセスがあった場合、又は、指定スプリッタグループが混雑している場合に行われる処理である。
【0059】
まず、ステップ55〜ステップ66の処理にて、全てのスプリッタグループについて見なし空きコネクション数を求める。なお、NIはスプリッタグループの数である。続いて、ステップ67にて見なし空きコネクション数が最大であるスプリッタグループを特定する(スプリッタグループインデックスをJ=kに設定する)。
【0060】
次に図13に示す処理を行う。ステップ68にて、上記特定されたスプリッタグループにおけるストリームサーバ数が1か複数かを調べ、1であれば当該スプリッタグループの対応メタファイルURLを送信し(ステップ69)、複数であればラウンドロビンで選択したサーバの対応メタファイルURLを送信する(ステップ70)。その後、ステップ71〜ステップ75にて、現在時刻における当該スプリッタグループに対応するアクセスカウンタを1増加させ(ステップ71、72)、一定時間以前の時刻とカウンタ値を消去する(ステップ73〜ステップ75)。
【0061】
図9におけるステップ42で使用率が使用率閾値以下である場合には、図14の処理を行う。図14に示す処理は図12に示した処理と同様であるので説明は省略する。
【0062】
図15はコンテンツテーブルの管理を行うための画面表示例である。識別番号をクリックすることによって、新規のコンテンツ名、そのコンテンツ提供のための帯域を入力することができ、入力によってコンテンツがコンテンツテーブルに登録される。
【0063】
図16はスプリッタグループテーブルの管理を行うための画面表示例である。グループ名、グループに対応したドメイン(要求先ドメイン)及びメタファイルURLを設定する。アクセスしたユーザの属するドメインが要求先ドメインの中に存在すれば、原則としてその要求先ドメインが属するグループのストリームサーバに接続される。その要求先ドメインが属するグループのストリームサーバが混雑している場合には、上述したアルゴリズムで別の接続先が選択される。また、サーバ当たりのライセンス数上限、分散コントロール装置の多重度、最大コネクション数に対する閾値、平均コネクション時間(ΔT)を設定することができる。
【0064】
これまでに説明した実施例では、ユーザの属するドメイン名及びΔTを用いたコネクション数の管理によってユーザのアクセス振り分けを行うが、コンテンツが流れるネットワークの状態を振り分け判断の要素として用いることも可能である。
【0065】
例えば、ユーザからストリームサーバまでのホップ数(経由ルータ数)を判断の要素に加え、ホップ数の少ないストリームサーバを選択することとしてもよい。ホップ数による判断は、ドメイン名による振り分けの代りに行ってもよいし、ドメイン名による振り分けに加えた判断要素としてもよい。ホップ数は種々の方法で取得することができる。
【0066】
また、ユーザ端末からコンテンツサーバまでのネットワークにおける回線区間の帯域を重み因子として考慮することもできる。例えば、ある回線区間(ルータ-ルータ間)の帯域が少なければその区間は他より大きな値で重み付けする等の方法で重み付けし、重み付けされた回線区間の総和をメトリック値として振り分けの判断に使用することができる。
【0067】
本発明の振り分け方法はストリーミングに限らず適用できる。特に、FTP等、データダウンロードに用いられるアプリケーションのように、ある程度コネクション時間が保たれるアプリケーションに効果的に適用できる。FTPの場合、FTPサーバに同時接続の上限を設定する場合も多く、その数をストリームサーバのライセンス数と同様に処理することにより、アクセス振り分けが可能となり、負荷分散が可能となる。また、FTPの場合には、端末側においてストリーミング再生プログラム立ち上げのような処理は行う必要が無く、ブラウザのみでデータ受信が可能である。従って、図3のシーケンス図において、例えば、ステップ3で目的データのURLを含ませ、ステップ4でFTPサーバにデータを要求し、ステップ5でデータ取得を開始することができる。
【0068】
また、ライセンス数を設定によって可変とし、スプリッタ1台当たりのコネクション数を増加させ、アクセスの増大に対応することも可能である。また、上記の実施例では見なし接続時間ΔTを用いて接続数を把握したが、コンテンツサーバに分散コントロール装置がアクセスして、コンテンツサーバの負荷を取得し、振り分けに使用することもできる。すなわち、負荷の高いコンテンツサーバにはユーザを誘導しないようにする。更に、見なし接続時間ΔTを用いず、ユーザがコネクションを終了した旨の情報を取得し、それによりコネクション数を把握して、振り分けを行うことも可能である。
【0069】
また、ドメイン名による振り分けを行わずに、同時コネクション数で振り分けを行うようにすることもできる。複数のコネクションサーバがネットワーク的に近くにある場合における、負荷分散に効果的である。
【0070】
更に、本発明は、ネットワーク上の複数のコンテンツサーバのうちどのサーバにアクセスするかを決定する場面であれば、インターネットに限らずどのようなネットワークにも適用できる。
【0071】
本発明は、上記実施例に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能である。
【0072】
【発明の効果】
上述したように、本発明によれば、ネットワーク的に近いサーバにユーザをアクセスさせることが可能となり、ネットワーク内の混雑の発生を抑え、なおかつ、ユーザに高品質のサービスを提供することが可能となる。
【0073】
また、コンテンツサーバにコネクション数の制限がある場合に、コネクション数の上限に達したコンテンツサーバへのアクセスを回避し、空きコネクション数に余裕のあるコンテンツサーバに接続させることが可能となるので、コンテンツサーバ間の負荷分散、及び、より多くのユーザへのサービス提供が可能となる。
【図面の簡単な説明】
【図1】本発明の一実施例におけるアクセス振り分けシステムの構成図である。
【図2】コンピュータの構成図である。
【図3】ユーザ端末、分散コントロール装置、ストリームサーバ間のデータシーケンスを示す図である。
【図4】番組選択画面の例を示す図である。
【図5】図4の画面を表示させるためのHTML表記である。
【図6】コンテンツ識別子の例を示す図である。
【図7】アクセス振り分けのロジックにおいて使用されるパラメータを示す図である。
【図8】アクセス振り分け処理を示すフローチャートである。
【図9】アクセス振り分け処理を詳細に示すフローチャートである。
【図10】テーブル構成を示す図である。
【図11】アクセス振り分け処理を詳細に示すフローチャートである。
【図12】アクセス振り分け処理を詳細に示すフローチャートである。
【図13】アクセス振り分け処理を詳細に示すフローチャートである。
【図14】アクセス振り分け処理を詳細に示すフローチャートである。
【図15】コンテンツテーブルの管理を行うための画面表示例である。
【図16】スプリッタグループテーブルの管理を行うための画面表示例である。
【符号の説明】
1 分散コントロールセンタ
3 ストリームサーバ
5 ユーザ端末
7 インターネット
9 分散コントロール装置
11 ハブ
13 負荷分散プログラム
15 スプリッタグループテーブル
17 WWWブラウザ
19 ストリーム再生プログラム
21 CPU
22 メモリ
23 ハードディスク
24 ディスプレイ
25 キーボード
26 CD−ROMドライブ
27 通信処理装置
Claims (8)
- ネットワーク上の複数の場所にあるストリームサーバのうち特定の場所にあるストリームサーバにユーザ端末からのアクセスを振り分けるアクセス振り分け装置が実行する方法であって、
前記アクセス振り分け装置が、前記ユーザ端末にコンテンツ選択画面を表示するステップと、
前記アクセス振り分け装置が、ユーザがコンテンツを選択することによって前記ユーザ端末から送信されたリクエストデータから前記ユーザ端末の属するISPの識別子を取得するステップと、
前記アクセス振り分け装置が、前記ユーザ端末のアクセス先となるストリームサーバの場所を前記ユーザ端末に通知する通知ステップとを有し、
前記アクセス振り分け装置は、
各ISPのストリームサーバ毎に、ストリームサーバへの累積アクセス総数を所定の時間間隔で記録しておき、前記ユーザ端末からのリクエストデータを受けた時点で、各ISPのストリームサーバ毎に、ストリームサーバへの当該時点の累積アクセス総数から、予め定めた1コネクション当たりのコネクション継続想定時間前の累積アクセス総数を引くことによりみなしコネクション数を求め、
前記通知ステップにおいて、前記ユーザ端末の属するISPのストリームサーバのみなしコネクション数が予め定めた閾値を超えない場合に、前記ユーザ端末のアクセス先となるストリームサーバの場所として前記ユーザ端末の属するISPのストリームサーバの場所を前記ユーザ端末に通知し、
前記ユーザ端末の属するISPのストリームサーバのみなしコネクション数が前記予め定めた閾値を超えた場合に、各ISPのストリームサーバ毎に、予め定められた最大コネクション数からみなしコネクション数を引いた値を求め、その値が最大となるストリームサーバの場所を前記ユーザ端末に通知することを特徴とする方法。 - 前記特定の場所にあるストリームサーバは1つ又は複数であり、複数である場合に、前記アクセス振り分け装置は、ラウンドロビンを用いて1つのストリームサーバを選択する請求項1に記載の方法。
- ネットワーク上の複数の場所にあるストリームサーバのうち特定の場所にあるストリームサーバにユーザ端末からのアクセスを振り分けるアクセス振り分け装置であって、
前記ユーザ端末にコンテンツ選択画面を表示する手段と、
ユーザがコンテンツを選択することによって前記ユーザ端末から送信されたリクエストデータから前記ユーザ端末の属するISPの識別子を取得する手段と、
前記ユーザ端末のアクセス先となるストリームサーバの場所を前記ユーザ端末に通知する通知手段とを有し、
前記通知手段は、
各ISPのストリームサーバ毎に、ストリームサーバへの累積アクセス総数を所定の時間間隔で記録しておき、前記アクセス振り分け装置が前記ユーザ端末からのリクエストデータを受けた時点で、各ISPのストリームサーバ毎に、ストリームサーバへの当該時点の累積アクセス総数から、予め定めた1コネクション当たりのコネクション継続想定時間前の累積アクセス総数を引くことによりみなしコネクション数を求め、
前記ユーザ端末の属するISPのストリームサーバのみなしコネクション数が予め定めた閾値を超えない場合に、前記ユーザ端末のアクセス先となるストリームサーバの場所として前記ユーザ端末の属するISPのストリームサーバの場所を前記ユーザ端末に通知し、
前記ユーザ端末の属するISPのストリームサーバのみなしコネクション数が前記予め定めた閾値を超えた場合に、各ISPのストリームサーバ毎に、予め定められた最大コネクション数からみなしコネクション数を引いた値を求め、その値が最大となるストリームサーバの場所を前記ユーザ端末に通知することを特徴とするアクセス振り分け装置。 - 前記特定の場所にあるストリームサーバは1つ又は複数であり、複数である場合に、前記通知手段は、ラウンドロビンを用いて1つのストリームサーバを選択する請求項3に記載のアクセス振り分け装置。
- ネットワーク上の複数の場所にあるストリームサーバのうち特定の場所にあるストリームサーバにユーザ端末からのアクセスを振り分ける処理をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体であって、前記プログラムは、前記コンピュータを、
前記ユーザ端末にコンテンツ選択画面を表示する手段、
ユーザがコンテンツを選択することによって前記ユーザ端末から送信されたリクエストデータから前記ユーザ端末の属するISPの識別子を取得する手段、
前記ユーザ端末のアクセス先となるストリームサーバの場所を前記ユーザ端末に通知する通知手段として機能させるためのプログラムであり、
前記通知手段は、
各ISPのストリームサーバ毎に、ストリームサーバへの累積アクセス総数を所定の時間間隔で記録しておき、前記コンピュータが前記ユーザ端末からのリクエストデータを受けた時点で、各ISPのストリームサーバ毎に、ストリームサーバへの当該時点の累積アクセス総数から、予め定めた1コネクション当たりのコネクション継続想定時間前の累積アクセス総数を引くことによりみなしコネクション数を求め、
前記ユーザ端末の属するISPのストリームサーバのみなしコネクション数が予め定めた閾値を超えない場合に、前記ユーザ端末のアクセス先となるストリームサーバの場所として前記ユーザ端末の属するISPのストリームサーバの場所を前記ユーザ端末に通知し、
前記ユーザ端末の属するISPのストリームサーバのみなしコネクション数が前記予め定めた閾値を超えた場合に、各ISPのストリームサーバ毎に、予め定められた最大コネクション数からみなしコネクション数を引いた値を求め、その値が最大となるストリームサーバの場所を前記ユーザ端末に通知することを特徴とするプログラムを記録したコンピュータ読み取り可能な記録媒体。 - 前記特定の場所にあるストリームサーバは1つ又は複数であり、複数である場合に、前記通知手段は、ラウンドロビンを用いて1つのストリームサーバを選択する請求項5に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
- ネットワーク上の複数の場所にあるストリームサーバと、それらストリームサーバのうち特定の場所にあるストリームサーバにユーザ端末からのアクセスを振り分けるアクセス振り分け装置とを有するアクセス振り分けシステムであって、
前記アクセス振り分け装置は、
前記ユーザ端末にコンテンツ選択画面を表示する手段と、
ユーザがコンテンツを選択することによって前記ユーザ端末から送信されたリクエストデータから前記ユーザ端末の属するドメインを取得する手段と、
前記ユーザ端末のアクセス先となるストリームサーバの場所を前記ユーザ端末に通知する通知手段とを有し、
前記通知手段は、
各ISPのストリームサーバ毎に、ストリームサーバへの累積アクセス総数を所定の時間間隔で記録しておき、前記アクセス振り分け装置が前記ユーザ端末からのリクエストデータを受けた時点で、各ISPのストリームサーバ毎に、ストリームサーバへの当該時点の累積アクセス総数から、予め定めた1コネクション当たりのコネクション継続想定時間前の累積アクセス総数を引くことによりみなしコネクション数を求め、
前記ユーザ端末の属するISPのストリームサーバのみなしコネクション数が予め定めた閾値を超えない場合に、前記ユーザ端末のアクセス先となるストリームサーバの場所として前記ユーザ端末の属するISPのストリームサーバの場所を前記ユーザ端末に通知し、
前記ユーザ端末の属するISPのストリームサーバのみなしコネクション数が前記予め 定めた閾値を超えた場合に、各ISPのストリームサーバ毎に、予め定められた最大コネクション数からみなしコネクション数を引いた値を求め、その値が最大となるストリームサーバの場所を前記ユーザ端末に通知することを特徴とするアクセス振り分けシステム。 - 前記特定の場所にあるストリームサーバは1つ又は複数であり、複数である場合に、前記アクセス振り分け装置はラウンドロビンを用いて1つのストリームサーバを選択する請求項7に記載のアクセス振り分けシステム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000131369A JP3725401B2 (ja) | 2000-04-28 | 2000-04-28 | アクセス振り分け方法、装置、及び記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000131369A JP3725401B2 (ja) | 2000-04-28 | 2000-04-28 | アクセス振り分け方法、装置、及び記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001312435A JP2001312435A (ja) | 2001-11-09 |
JP3725401B2 true JP3725401B2 (ja) | 2005-12-14 |
Family
ID=18640279
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000131369A Expired - Fee Related JP3725401B2 (ja) | 2000-04-28 | 2000-04-28 | アクセス振り分け方法、装置、及び記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3725401B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050262253A1 (en) * | 2004-04-16 | 2005-11-24 | Qiang Li | Method and apparatus for a loosely coupled, scalable distributed multimedia streaming system |
JP4688436B2 (ja) * | 2004-05-20 | 2011-05-25 | 株式会社日立製作所 | コンテンツ配信制御サーバの制御方法、コンテンツ暗号化サーバの制御方法、クライアント装置の制御方法、ライセンスサーバの制御方法、公開情報管理サーバの制御方法、クライアント装置、及びプログラム |
JP5287342B2 (ja) * | 2009-02-25 | 2013-09-11 | 日本電気株式会社 | ジョブ管理装置、ジョブ管理方法及びジョブ管理システム |
JP2012191373A (ja) * | 2011-03-10 | 2012-10-04 | Hitachi Ltd | 接続先lnsの接続状況に基づき、lnsに対する接続要求を振り分けるlac装置及びその接続先選択方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3709895B2 (ja) * | 1995-04-06 | 2005-10-26 | ソニー株式会社 | ミラーサイト情報サーバおよびミラーサイト情報提供方法 |
JP2798009B2 (ja) * | 1995-07-21 | 1998-09-17 | 日本電気株式会社 | 回線負荷制御方法および制御システム |
JP2962203B2 (ja) * | 1995-09-28 | 1999-10-12 | 日本電気株式会社 | オンライン情報処理システムにおける負荷分散方法 |
JPH10307783A (ja) * | 1997-05-07 | 1998-11-17 | N T T Data:Kk | サイトアクセス制御システム及び記録媒体 |
JP3369445B2 (ja) * | 1997-09-22 | 2003-01-20 | 富士通株式会社 | ネットワークサービスサーバ負荷調整装置、方法および記録媒体 |
JPH11338836A (ja) * | 1998-05-25 | 1999-12-10 | Nippon Telegr & Teleph Corp <Ntt> | コンピュータネットワークの負荷分散システム |
JP2000029813A (ja) * | 1998-07-14 | 2000-01-28 | Hitachi Ltd | サーバ選択システム |
-
2000
- 2000-04-28 JP JP2000131369A patent/JP3725401B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2001312435A (ja) | 2001-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10154074B1 (en) | Remediation of the impact of detected synchronized data requests in a content delivery network | |
KR101432303B1 (ko) | 대역 요구 장치, 클라이언트 기기, 대역 요구 방법 및 기록 매체 | |
EP2704402B1 (en) | Method and node for distributing electronic content in a content distribution network | |
US9549043B1 (en) | Allocating resources in a content delivery environment | |
US6502125B1 (en) | System and method for optimized storage and retrieval of data on a distributed computer network | |
EP0966715B1 (en) | System and method for selection and retrieval of diverse types of video data on a computer network | |
US9071655B2 (en) | Managing access to digital content sources | |
AU714865B2 (en) | System and method for optimized storage and retrieval of data on a distributed computer network | |
JP2002506543A (ja) | 分散型コンピュータネットワーク上のデータ配信のサーバ側最適化のためのシステムおよび方法 | |
JP2003223378A (ja) | コンテンツデリバリネットワークサービス方法及びシステム | |
JP2002091843A (ja) | サーバ選択装置、サーバ選択方法、及びサーバ選択プログラムを記録した記録媒体 | |
KR20060057525A (ko) | 데이터 제공자를 선택하는 시스템 및 방법 | |
JP2012533938A (ja) | デジタルコンテンツ配布システム及び方法 | |
JP2003186776A (ja) | 輻輳制御システム | |
CN110417676A (zh) | 一种调度方法、装置和调度网络 | |
CN101146114A (zh) | 一种流媒体服务器负荷分担方法及其系统 | |
CN110445723A (zh) | 一种网络数据调度方法及边缘节点 | |
CN106302230A (zh) | 一种数据传输方法及装置 | |
JP3725401B2 (ja) | アクセス振り分け方法、装置、及び記録媒体 | |
JP3964751B2 (ja) | ネットワーク品質推定制御方式 | |
JP4309321B2 (ja) | ネットワークシステムの運用管理方法及びストレージ装置 | |
JP2005182702A (ja) | Ipネットワークにおけるアクセス制御方式 | |
WO2007109074A2 (en) | Dynamic server configuration for managing high volume traffic | |
JP5045227B2 (ja) | コンテンツの配信システム及び方法 | |
JP2003242065A (ja) | コンテンツ選択、コンテンツ要求受付制御、輻輳制御方法およびコンテンツ管理装置、網リソース管理サーバ装置、ポータルサーバ装置、エッジ装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040203 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040402 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050628 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050829 |
|
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: 20050920 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050921 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees | ||
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |