(57)【要約】【課題】ユーザ属性に応じて適切なコンテンツを選択するとともに，ストリームサーバの動作状況に応じて適切なストリームサーバを選択する。【解決手段】ポータルサーバ１は，ストリームクライアント４からのポータルページ要求に対しユーザ属性情報を取得し，また各ストリームサーバ２の動作状況を取得する。取得した情報をもとに，予め登録された複数のバリエーションのコンテンツから適切なバリエーションのコンテンツを選択する。また，選択したバリエーションのコンテンツを持つストリームサーバ２の中から，負荷状態・配信状況に基づいて，ストリームクライアント４が接続すべき最適なストリームサーバ２を選択する。そして，前記選択したコンテンツへのリンクを埋め込んだポータルページを作成し，ストリームクライアント４へ送信する。【選択図】　　図２
2004054448.tif 000002
【特許請求の範囲】
【請求項１】
ストリーミングデータを配信する複数のストリームサーバであって，一つのオリジナルコンテンツに対して，複数のエンコード形式，複数の品質グレードまたは広告の有無に応じて作成された複数のバリエーションを冗長化して格納している複数のストリームサーバと，
ストリーミングデータを受信する複数のストリームクライアントと，
前記ストリームクライアントがコンテンツ選択のために最初にアクセスするポータルサーバとから構成されるストリーム配信システムにおける，ポータルサーバによるストリームサーバ・コンテンツ選択方法であって，
前記ポータルサーバが，
前記ストリームクライアントからのポータルページ要求に対し，要求元のストリームクライアントに返すポータルページを生成する直前に，該ストリームクライアントを使用しているユーザ属性に応じて前記コンテンツを選択するステップと，
前記選択したコンテンツを所持する複数のストリームサーバの中から，各ストリームサーバの動作状況に応じて一つのストリームサーバを選択するステップと，
前記選択した結果を前記ストリームクライアントに返すポータルページに反映するステップとを有する
ことを特徴とするポータルサーバによるストリームサーバ・コンテンツ選択方法。
【請求項２】
前記ユーザ属性に応じて前記コンテンツを選択するステップでは，
各ストリームサーバからストリームクライアントへの通信速度を測定し，いくつかの品質グレード，エンコード方式または広告の有無により複数のバリエーションでエンコードされたコンテンツに対して，測定された通信速度と照合し，ユーザが利用可能な品質グレードのバリエーションのみを選択し，
前記ポータルページに反映するステップでは，
前記選択されたバリエーションのみをポータルページに埋め込む
ことを特徴とする請求項１記載のポータルサーバによるストリームサーバ・コンテンツ選択方法。
【請求項３】
前記ストリームサーバを選択するステップでは，
前記選択したコンテンツを所持するストリームサーバの負荷状態，配信状況またはその双方を少なくとも調査し，その調査結果に基づいて前記ストリームクライアントを接続すべきストリームサーバを決定し，前記ポータルページ内のリンク先のアドレスとして利用する
ことを特徴とする請求項１または請求項２記載のポータルサーバによるストリームサーバ・コンテンツ選択方法。
【請求項４】
ストリーミングデータを配信する複数のストリームサーバであって，一つのオリジナルコンテンツに対して，複数のエンコード形式，複数の品質グレードまたは広告の有無に応じて作成された複数のバリエーションを冗長化して格納している複数のストリームサーバと，
ストリーミングデータを受信する複数のストリームクライアントと，
前記ストリームクライアントがコンテンツ選択のために最初にアクセスするポータルサーバとから構成されるストリーム配信システムにおける，ポータルサーバであって，
前記ストリームクライアントからのポータルページ要求を受け付ける手段と，
前記ポータルページ要求に対し，その要求を出したストリームクライアントのユーザ属性を取得する手段と，
取得したユーザ属性に基づいて最適なコンテンツのバリエーションを選択する手段と，
選択したコンテンツのバリエーションを所持するストリームサーバを選択する手段と，
選択したコンテンツのバリエーションおよび選択したストリームサーバに基づいて，前記コンテンツへのリンクを埋め込んだポータルページを生成する手段とを備える
ことを特徴とするストリーム配信のためのポータルサーバ。
【請求項５】
ストリーミングデータを配信する複数のストリームサーバであって，一つのオリジナルコンテンツに対して，複数のエンコード形式，複数の品質グレードまたは広告の有無に応じて作成された複数のバリエーションを冗長化して格納している複数のストリームサーバと，
ストリーミングデータを受信する複数のストリームクライアントと，
前記ストリームクライアントがコンテンツ選択のために最初にアクセスするポータルサーバとから構成されるストリーム配信システムにおける，ポータルサーバ用のプログラムであって，
前記ストリームクライアントからのポータルページ要求を受け付ける処理と，
前記ポータルページ要求に対し，その要求を出したストリームクライアントのユーザ属性を取得する処理と，
取得したユーザ属性に基づいて最適なコンテンツのバリエーションを選択する処理と，
選択したコンテンツのバリエーションを所持するストリームサーバを選択する処理と，
選択したコンテンツのバリエーションおよび選択したストリームサーバに基づいて，前記コンテンツへのリンクを埋め込んだポータルページを生成する処理とを，
コンピュータに実行させるためのポータルサーバ用のプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は，ポータルサーバによるストリームサーバ・コンテンツ選択方法に関し，特にストリームデータを配信する複数のストリームサーバと，それを受信する複数のストリームクライアントとから構成されるストリームシステムにおいて，状況に応じてストリームクライアントが接続するストリームサーバやコンテンツを切り替えるサーバ負荷分散とコンテンツ配信に関する技術である。
【０００２】
【従来の技術】
ストリームシステムは，特定のストリームサーバへ多数のストリームクライアントが接続した場合に，ストリームサーバの処理能力やネットワークインターフェイスの通信速度の限界などにより，データの遅延や遅延揺らぎ，あるいはパケットロスによるデータ喪失が発生する可能性がある。この場合，ストリームクライアントにおけるストリーム再生に必要なデータが不足し，動画像のコマ飛びや一時停止，通信切断といった視聴品質の劣化が生じる。
【０００３】
上記のような視聴品質劣化を回避するため，従来は，ストリームサーバを複数用意し，負荷分散装置（ロードバランサ）と呼ばれる装置を設置し，高負荷状態にあるストリームサーバへの接続を避け，処理能力に余裕のあるストリームサーバへストリームクライアントを誘導する負荷分散技術が用いられている。
【０００４】
また，コンテンツの選択に関しては，複数のエンコード形式・複数の品質グレードなど一つのオリジナルコンテンツに対して複数のバリエーションを提供する場合に，従来の方法では，コンテンツのさまざまなバリエーションをポータルページに列挙し，ユーザに自由に選択させる場合が多い。
【０００５】
【発明が解決しようとする課題】
従来，サーバ負荷分散のためには，高価な負荷分散装置を設置する必要があった。ストリームクライアントから送信される全てのストリームトラフィックは，この負荷分散装置を経由し，サーバ選択処理を行ってからストリームサーバへ届けられるので，接続できるストリームクライアント数がサーバ選択処理速度に依存していた。
【０００６】
また，コンテンツ選択については，ユーザはできるだけ高品質なバリエーションのコンテンツ視聴を望むのが通常であるが，アクセス網の帯域やストリームサーバ利用率によっては低品質なバリエーションを選択したほうが良い場合もある。有料コンテンツの場合には，経由するネットワークに因るコンテンツへの広告挿入の有無の選択や，接続前の認証や課金の必要性がある。
【０００７】
つまり，コンテンツを複数バリエーション用意した場合でも，ユーザ属性に応じて適切なコンテンツを選択・提供しなければならないが，現状一般的なシステムでは，ユーザに自由に選択させるため，ユーザ側からすると，一つのコンテンツにつき多数の異なるバリエーションが示され，どれが自分にとって適切なコンテンツか選択しなければならず，ユーザビリティが低下してしまっている。
【０００８】
【課題を解決するための手段】
本発明によるストリームサーバ選択方法は，ポータルサーバによって，ポータルページを生成する直前に，各ストリームサーバの負荷状態・配信状況を調査し，最も負荷の軽いストリームサーバを選択するものである。
【０００９】
ポータルサーバは，選択されたストリームサーバのＩＰアドレスを使って，ポータルページを生成し，ストリームクライアントに返す。ユーザがポータルページのリンクをたどると，ストリームクライアントは直接負荷の軽いストリームサーバに接続される。
【００１０】
この方法によると，一般的に既に設置されているポータルサーバをソフトウェア的に拡張するだけでサーバ負荷分散を実現でき，さらに実際のストリーム通信はポータルサーバを介さず，直接ストリームサーバ／クライアント間で行われるので，従来の負荷分散装置のパフォーマンスに依存することなく，スケーラビリティに優れた負荷分散を実現することができる。
【００１１】
また，同様な方法により，接続しているストリームクライアント数に応じてアクセス制限を行うなど，ストリームサーバの性能に応じたネットワーク制御にも応用することができる。
【００１２】
本発明によるコンテンツ選択方法は，ポータルサーバによって，ポータルページを生成する直前に，アクセスしてきたユーザの属性を調査し，一つのコンテンツから派生した複数バリエーションのコンテンツの中から，ユーザの環境に不適切なコンテンツのバリエーションに接続してしまうことを避け，そのユーザに最適なバリエーションを選択するものである。
【００１３】
具体的な選択基準は，例えば次のようなものである。ストリームクライアントアプリケーションに応じたエンコード形式を選択し，アクセスネットワークの使用可能帯域に応じたエンコード帯域を選択し，使用プロバイダに応じて広告挿入の有無を選択する。
【００１４】
上記のような制御をポータルサーバで実行できるので，適切なコンテンツを選択するために，ユーザが煩雑な操作を行う必要が無く，ユーザビリティを向上させることができる。
【００１５】
実現方法としては，本発明は，ユーザの接続環境などと照合して，十分な品質でストリーミングメディアを視聴できるバリエーションのみをポータルページに表示する。この際，複数のバリエーションを表示する代わりに，利用可能バリエーションのうち最高品質のバリエーションだけを表示することで，ユーザの利用環境において最高の品質の提供を自動的に行うことができる。
【００１６】
上記ユーザ属性の利用方法は一例であり，その他のユーザ属性の利用方法として，ストリーム配信の契約と認証，課金と回収などから得られるユーザ属性情報を用いてアクセス制限を行うなど，様々なユーザ属性を利用したネットワーク制御にも応用することができる。
【００１７】
【発明の実施の形態】
以下，図を用いて本発明の実施の形態を説明する。図１に示すように，本発明が対象とするストリーム配信システムは，ポータルサーバ１，ストリームサーバ２，配信品質管理装置３，ストリームクライアント４から構成される。
【００１８】
ストリームサーバ２は，ストリームデータを配信するもので，複数台設置される。ストリームサーバ２の種類は，ここでは特に規定せず，市販の製品を対象とする。ただしポータルサーバ１に対して，ＣＰＵ使用率やストリームクライアント４ごとの配信品質状況など動作状況を公開できるインターフェイスを持つものとする。
【００１９】
ストリームクライアント４は，ポータルサーバ１にアクセスし，ポータルページを取得・表示する。ユーザがポータルページ上からコンテンツを選択後，ストリームデータを受信し，再生する。ストリームクライアント４は，複数台設置される。ストリームクライアント４の種類も，ここでは特に規定せず，上記ストリームサーバ２に対応した市販の製品を対象とする。
【００２０】
ポータルサーバ１は，ストリームコンテンツへのリンクを表示するポータルページを生成し，ストリームクライアント４に返す。ストリームクライアント４は，最初にポータルサーバ１にアクセスし，ポータルページを取得して希望のコンテンツへのリンクをたどって，実際のストリームサーバ２へ接続する。
【００２１】
配信品質管理装置３は，ストリームサーバ２がストリームクライアント４に配信している状況を監視し，各クライアント４の受信品質状況をリアルタイムに把握する。配信品質管理装置３は，配信品質情報をポータルサーバ１に公開するインターフェイスを持つ。
【００２２】
さらにポータルサーバ１は，図２に示すように，アクセス受付部１１，スループット測定部１２，ユーザ属性処理部１３，コンテンツ選択部１４，ストリームサーバ選択部１５，ポータルページ生成部１６から構成される。コンテンツ選択部１４は，バリエーションリスト１４０を持つ。
【００２３】
アクセス受付部１１は，ユーザからのポータルページ要求を受け付ける。要求に含まれる発信元ＩＰアドレスなどのネットワーク情報や，使用しているクライアントアプリケーション情報や，ユーザＩＤ・パスワードなどのユーザ情報を切り出し，ユーザ属性処理部１３とストリームサーバ選択部１５に送る。
【００２４】
スループット測定部１２は，ストリームサーバ２からストリームクライアント４までの通信速度を測定し，ユーザ属性の一部としてコンテンツ選択部１４へ送る。
【００２５】
ユーザ属性処理部１３は，アクセス受付部１１から受け取ったユーザ情報をもとに，接続してきたユーザ属性を集める。例えば，認証サーバや課金システム（図示省略）などと連携し，ユーザプロファイルや料金回収状況を取得する。得られたユーザ属性は，コンテンツ選択部１４とストリームサーバ選択部１５に送る。
【００２６】
コンテンツ選択部１４は，ストリームサーバ２上のコンテンツについて，複数のエンコード形式・複数の品質グレード・広告の有無など，複数のバリエーションを用意する場合には，あらかじめバリエーションリスト１４０をコンテンツ選択部１４に登録しておく。
【００２７】
図３は，バリエーションリスト１４０の一例を示した図である。リストの内容は，コンテンツ名・バリエーション・エンコード形式・品質グレード・広告有無・格納サーバアドレスなどの項目からなる。コンテンツ選択部１４は，このバリエーションリスト１４０を参照し，ユーザ属性処理部１３とスループット測定部１２で取得したユーザ属性をもとに，接続を要求してきたユーザにとって最適なコンテンツのバリエーションを選択する。そして，最適バリエーションのコンテンツが格納されているストリームサーバ２を取得する。最適バリエーションが複数のストリームサーバ２に格納されている場合には，ストリームサーバ２のアドレス一覧を，次のストリームサーバ選択部１５に送る。
【００２８】
ストリームサーバ選択部１５は，接続要求に対して最適なコンテンツが複数のストリームサーバ２に格納されている場合，それらのストリームサーバ２の中から接続先サーバを決定する。この接続先サーバの決定では，ストリームサーバ２と連携し，現在接続されているストリームクライアント数，それぞれの配信品質状態，ストリームサーバ２自体の負荷状態（ＣＰＵ使用率など）などの情報を，配信品質管理装置３から取得し，例えば，ストリームサーバ２のＣＰＵ使用率が５０％以下で，接続されているストリームクライアント４に品質劣化が無く，接続されているストリームクライアント数が最も少ないストリームサーバ２を優先的に選択する。選択したストリームサーバ２のアドレスを，次のポータルページ生成部１６に送る。
【００２９】
ポータルページ生成部１６は，これまでの処理によって，ユーザに最適なコンテンツバリエーションが選択され，それを配信することができるストリームサーバ２も選択されているので，それらの情報をもとに，ポータルページを生成し，ユーザに送る。なお，認証サーバや課金システムは，ユーザ属性処理部１３と連携し，ユーザプロファイルの取得を行う。
【００３０】
本実施の形態として，ストリーム配信ネットワークの外からも，ユーザの属性を取得する例を説明したが，必ずしもストリーム配信ネットワークの外からユーザの属性を取得しなくてもよい。
【００３１】
図４は，ポータルサーバ１によるストリームサーバ・コンテンツ選択処理フローの概要を示す図である。ポータルサーバ１は，ストリームクライアント４からのポータルページの要求を受信すると（ステップＳ１），受信した要求からユーザ情報を切り出し，ユーザに関する属性情報を収集するとともに，ストリームサーバ２からストリームクライアント４へのスループットを測定する（ステップＳ２）。次に，取得したユーザに関する属性情報とスループット情報とに基づいて，図３のバリエーションリスト１４０から最適コンテンツを選択する（ステップＳ３）。
【００３２】
次に，選択したコンテンツを格納しているストリームサーバ２の負荷状況を調査し（ステップＳ４），各ストリームクライアント４への配信状況を取得することにより，ＣＰＵ使用率が小さく，接続されているストリームクライアント４の品質劣化がなく，接続されているストリームクライアント数が少ないストリームサーバ２を選択する（ステップＳ５）。
【００３３】
次に，選択したストリームサーバ２のＩＰアドレスと，選択したコンテンツのコンテンツ名およびファイル名とを用いて，接続するコンテンツへのリンクを生成し，ポータルページに埋め込み（ステップＳ６），当該ポータルページをストリームクライアント４へ送信し（ステップＳ７），処理を終了する。
【００３４】
ストリームクライアント４がポータルページを取得し，コンテンツの最適バリエーションに接続するまで手順の詳細を，図５に従って説明する。
【００３５】
ストリームクライアント４がポータルサーバ１にポータルページを要求してきた場合，その要求はアクセス受付部１１が受け付ける。
【００３６】
アクセス受付部１１は，ポータルページ要求メッセージ内から，クライアントアプリケーション情報や，ユーザＩＤ・パスワードなどのユーザ情報を切り出し，ユーザ属性処理部１３とストリームサーバ選択部１５に送る。
【００３７】
同時に，スループット測定部１２は，ストリームクライアント４までのスループットを測定する。この測定は一般的なツールを用いて行うことができるので，ここでは特に測定方法については規定しない。得られたスループットは，コンテンツ選択部１４へ送る。
【００３８】
ユーザ属性処理部１３では，アクセス受付部１１から送られてきたユーザ情報をもとにユーザを特定する。また，外部の各種サーバ等（認証サーバや課金システムなど）と連携し，ユーザに関する属性情報を収集する。それらの情報も併せて，コンテンツ選択部１４，ストリームサーバ選択部１５へ送る。
【００３９】
コンテンツ選択部１４は，スループット測定部１２から送られた情報と，ユーザ属性処理部１３から送られた情報をもとに，図３に示したバリエーションリスト１４０から，ユーザが視聴できる最適コンテンツのバリエーションを選択する。例えば，ユーザ属性とスループット情報から，１．５Ｍｂｐｓの帯域を利用でき，Ａというアプリケーションで接続しようとしている場合には，様々なコンテンツバリエーションの中から，Ａに対応したエンコード形式で，１．５Ｍｂｐｓ以下のバリエーションを選択する。該当するバリエーションが複数ある場合には，その中で最高の品質グレードでエンコードされたものを選ぶなど，運用ポリシーに応じて一つのバリエーションを決定する。
【００４０】
決定したバリエーションのコンテンツの格納サーバが複数存在する場合には，ストリームサーバ選択部１５に，その格納ストリームサーバ２の集合の情報（アドレス一覧など）を送る。またコンテンツ名などポータルページに表示される情報は，ポータルページ生成部１６に送る。
【００４１】
ストリームサーバ選択部１５では，最初に，送られてきたストリームサーバ２の負荷状況を調査する。この調査のため，配信品質管理装置３に，選択されたストリームサーバ２の負荷状況を調べるように依頼する。
【００４２】
上記依頼を受けた配信品質管理装置３は，ストリームサーバ２の状態監視を行う。ここでは特に監視方法については規定しないが，以下の状態などを取得できるものとする。
（１）各ストリームサーバ２のＣＰＵ使用率
（２）各ストリームサーバ２のネットワーク使用率
（３）各ストリームサーバ２に接続しているストリームクライアント４それぞれの受信品質
そして，ストリームサーバ選択部１５は，配信品質管理装置３から受信したストリームサーバ２の各ストリームクライアント４への配信状況を取得し，現在品質劣化の起こっていない，もしくは品質劣化の程度がより少ないサーバを選択する。ストリームサーバ２を１台選択したら，そのＩＰアドレスをポータルページ生成部１６に送る。
【００４３】
ポータルページ生成部１６では，コンテンツ選択部１４から送られたコンテンツ名やファイル名と，ストリームサーバ選択部１５から送られたストリームサーバ２のＩＰアドレスを用いて，接続するコンテンツへのリンクを生成し，ポータルページに埋め込む。その後に，生成したポータルページをストリームクライアント４へ送信する。
【００４４】
以上のポータルサーバ１が行う処理は，コンピュータとソフトウェアプログラムとによって実現することができ，そのプログラムは，コンピュータが読み取り可能な可搬媒体メモリ，半導体メモリ，ハードディスク等の適当な記録媒体に格納して，そこから読み出すことによりコンピュータに実行させることができる。
【００４５】
【発明の効果】
本発明を用いることにより，高価な専用装置を設置することなく，ポータルサーバによるサーバ負荷分散が実現できる。またユーザ属性を利用することで，最適なコンテンツバリエーションを自動的にポータルページ上に表示し，ユーザビリティを向上させることができる。
【図面の簡単な説明】
【図１】ストリーム配信システムの一例を示す図である。
【図２】ポータルサーバの詳細な構成の一例を示す図である。
【図３】バリエーションリストの一例を示す図である。
【図４】ポータルサーバによるストリームサーバ・コンテンツ選択処理フローの概要を示す図である。
【図５】ストリーム配信に至るまでの手順の概要を示す図である。
【符号の説明】
１　　ポータルサーバ
１１　アクセス受付部
１２　スループット測定部
１３　ユーザ属性処理部
１４　コンテンツ選択部
１４０　バリエーションリスト
１５　ストリームサーバ選択部
１６　ポータルページ生成部
２　　ストリームサーバ
３　　配信品質管理装置
４　　ストリームクライアント
【図１】
2004054448.tif 000003
【図２】
2004054448.tif 000004
【図３】
2004054448.tif 000005
【図４】
2004054448.tif 000006
【図５】
2004054448.tif 000007