(57)【要約】【課題】ユニキャスト技術を使用しコンテンツの一斉配備を高速に安定的に提供するために、サーバツリーを集中管理し、サーバツリーを動的に生成し、送信を終えたサーバは再度未受信サーバに対し配信できるようにする。【解決手段】（１）オリジナルサーバによってツリー識別情報を生成するステップと、（２）サーバツリー形成装置によってツリーリストを生成し（３）オリジナルサーバに転送先サーバリストを通知するステップと、（４）オリジナルサーバによって転送先サーバリストに記載のリーフサーバに対しコンテンツとツリー識別情報を転送するステップと、（５）リーフサーバにおいてサーバツリー形成装置に転送先サーバリストの取得要求を行い、取得できた転送先サーバリストに記載のリーフサーバに対しコンテンツとツリー識別情報を転送するステップとで構成され、（５）のステップを繰り返す。【選択図】        図１
2005025622.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツの発信源であるサーバ装置（以下オリジナルサーバ）と、
コンテンツを受信し別サーバに転送する能力を有する一台以上のサーバ装置（以下リーフサーバ）と、
前記オリジナルサーバまたは前記リーフサーバが次に前記コンテンツを転送すべきリーフサーバを前記オリジナルサーバまたは前記リーフサーバに対し通知するサーバツリー形成装置と、
で構成されるコンテンツ配信網を用いたコンテンツ配信方法であって、
（１）前記オリジナルサーバが、コンテンツ配信の前段階において、コンテンツの配信ツリーを一意に識別するツリー識別情報を含む転送サーバリスト取得要求情報を生成し、前記転送サーバリスト取得要求情報を前記サーバツリー形成装置に通知するステップと、
（２）前記サーバツリー形成装置が、前記転送サーバリスト取得要求情報を受信後、前記転送サーバリスト取得要求情報に含まれる前記ツリー識別情報に対応するリーフサーバの識別情報、当該リーフサーバに対する評価結果を含み、前記評価結果の初期値として未評価と設定したツリーリストをリーフサーバの識別情報が記載されたサーバリストから生成するステップと、
（３）前記サーバツリー形成装置が、前記ツリーリストの中から一つ以上のリーフサーバを選択し、選択したリーフサーバに対する前記評価結果を評価済みと設定し、選択したリーフサーバの識別情報が含まれる前記転送先サーバリストを前記オリジナルサーバに通知するステップと、
（４）前記オリジナルサーバが、前記サーバツリー形成装置から取得した転送先サーバリストに記載の前記リーフサーバそれぞれに対し、前記ツリー識別情報と前記コンテンツを配信するステップと、
（５）前記ツリー識別情報と前記コンテンツを受信したリーフサーバにおいて、
（５−１）前記リーフサーバが、コンテンツ転送元である前段のオリジナルサーバまたは前段のリーフサーバから前記ツリー識別情報と前記コンテンツを受信し、前記ツリー識別情報を含む転送サーバリスト取得要求情報を生成し、転送サーバリスト取得要求元として前記転送サーバリスト取得要求情報を前記サーバツリー形成装置に通知するステップと、
（５−２）前記サーバツリー形成装置が、前記ツリーリストの中から前記リーフサーバに対する評価結果が未評価である一つ以上のリーフサーバを選択し、選択したリーフサーバに対する評価結果を評価済みと設定し、選択した前記リーフサーバの識別情報が含まれる前記転送先サーバリストを転送サーバリスト取得要求元である前記リーフサーバに通知するステップと、
（５−３）前記リーフサーバが、前記サーバツリー形成装置によって通知された前記転送先サーバリストに記載の前記リーフサーバそれぞれに対し、前記ツリー識別情報と前記コンテンツを配信するステップと、
を前記ツリーリストに記載のすべてのリーフサーバの前記評価結果が評価済みとなるまで繰り返し実行するステップと、
で構成されることを特徴とするコンテンツ配信方法。
【請求項２】
前記請求項１に記載のコンテンツ配信方法であって、
前記サーバツリー形成装置が一度に通知する前記リーフサーバ数の最大値を前記転送サーバリスト取得要求情報に指定する情報を含み、
前記（３）および前記（５−２）のステップにおいてサーバツリー形成装置がリーフサーバを選択する際、選択するリーフサーバ数が前記リーフサーバ数の最大値を超えないように制御する
ことを特徴とするコンテンツ配信方法。
【請求項３】
請求項１から２のいずれかに記載のコンテンツ配信方法であって、
前記サーバリストおよび前記ツリーリストは前記リーフサーバの能力情報を含み、
前記（３）および前記（５−２）のステップにおいてサーバツリー形成装置は能力の高いリーフサーバを優先して選択することを特徴とするコンテンツ配信方法。
【請求項４】
請求項３に記載のコンテンツ配信方法であって、
前記能力情報とは前記リーフサーバの送受信伝送レートであり、
前記（３）および前記（５−２）のステップにおいてサーバツリー形成装置は送信レート、受信レートともに高速であるリーフサーバを優先して選択する
ことを特徴とするコンテンツ配信方法。
【請求項５】
請求項１から４のいずれかに記載のコンテンツ配信方法であって、
前記オリジナルサーバあるいは前記リーフサーバのうち転送サーバリストに記載のリーフサーバへの配信が終了したサーバをコンテンツの発信源として再定義し、
前記（１）から（５）の処理を前記ツリーリストに記載の前記リーフサーバにおいてすべてのリーフサーバの前記評価結果が評価済みとなるまで繰り返す
ことを特徴とするコンテンツ配信方法。
【請求項６】
請求項１から５のいずれかに記載のコンテンツ配信方法であって、
前記サーバリストおよび前記ツリーリストは前記リーフサーバが属するグループを識別するグループ識別情報を含み、
前記（３）のステップにおいて、サーバツリー形成装置はリーフサーバ選択時に、選択するリーフサーバの属するグループが全て異なるように選択し（３−ａ）、
前記（５−２）のステップにおいて、サーバツリー形成装置はリーフサーバ選択時に、転送サーバリスト取得要求元が属するグループと同じグループに属するリーフサーバを選択し（５−２−ａ）、
前記オリジナルサーバあるいは前記リーフサーバのうち転送サーバリストへの配信が終了したサーバをコンテンツの発信源として再定義し、前記コンテンツの発信源として再定義されたオリジナルサーバによって前記サーバツリー形成装置にアクセスされた場合は前記サーバツリー形成装置は前記（３−ａ）のステップを実施し、前記コンテンツの発信源として再定義されたリーフサーバによって前記サーバツリー形成装置にアクセスされた場合は前記（５−２−ａ）のステップを実施し、
上記処理を前記ツリーリストに記載の前記リーフサーバにおいてすべてのリーフサーバの前記評価結果が評価済みとなるまで繰り返す
ことを特徴とするコンテンツ配信方法。
【請求項７】
請求項１から６のいずれかに記載のコンテンツ配信方法であって、
前記ツリーリストに記載される前記評価結果は、未評価、選択済み、選択不可、の３値をとり、
前記（３）および前記（５−２）のステップにおいてサーバツリー形成装置は選択しようとするリーフサーバが稼働中であるか確認し、稼働中のリーフサーバを選択し、選択したサーバの前記評価結果を選択済みと設定し、稼働していないことを確認したリーフサーバは選択せず、選択しなかったサーバの前記評価結果を選択不可と設定する
ことを特徴とするコンテンツ配信方法。
【請求項８】
請求項１から７のいずれかに記載のコンテンツ配信方法であって、
前記ツリーリストは前記リーフサーバに到達した前記コンテンツが経由してきた前記オリジナルサーバからの経由サーバ数（以下段数）に関する情報である段数情報を含み、
前記（２）のステップにおいて、サーバツリー形成装置は選択されたサーバに対する前記段数情報を初期値に設定し、
前記（３）、または（５−２）のステップにおいて、前記サーバツリー形成装置は前記ツリーリストから転送先サーバリスト取得要求元であるリーフサーバの前記段数情報を取得し、前記段数情報が事前に前記サーバツリー形成装置に指定された条件を満たしている転送先サーバリスト取得要求元に対してはサーバ選択処理を実施せず、またサーバ選択処理終了後前記サーバツリー形成装置は前記ツリーリスト上に記載の選択されたリーフサーバの前記段数情報を転送サーバリスト取得要求元の前記段数に関する情報から所定量を変化させた値に設定する
ことを特徴とするコンテンツ配信方法。
【請求項９】
請求項１から８のいずれかに記載のコンテンツ配信方法であって、
前記サーバツリー形成装置は転送サーバリスト取得要求元であるサーバと前記ツリーリストに記載の任意のリーフサーバとの間の距離を取得できる距離取得手段を有し、
前記（３）または前記（５−２）のステップにおいて、サーバツリー形成装置は前記転送サーバリスト取得要求元のサーバからの距離が近いリーフサーバを優先して選択する
ことを特徴とするコンテンツ配信方法。
【請求項１０】
請求項１から９のいずれかに記載のコンテンツ配信方法であって、
前記（５−１）のステップにおいて前記リーフサーバが前記コンテンツを受信中にコンテンツ受信動作が中断されたことを検知した場合、
前記リーフサーバが前記サーバツリー形成装置に対し前記ツリー識別情報を含む再アクセス先取得要求情報を通知し、前記サーバリスト通知装置が前記再アクセス先取得要求情報に記載の前記ツリー識別情報に対応する前記ツリーリストを参照し、評価済みあるいは選択済みと記されているリーフサーバを一つ以上選択する、
ことを特徴とするコンテンツ配信方法。
【請求項１１】
請求項１から１０のいずれかに記載のコンテンツ配信方法であって、
前記（５−１）のステップにおいて前記リーフサーバが前記コンテンツを受信中にコンテンツ受信動作が中断されたことを検知した場合、
前記リーフサーバが前記リーフサーバにとってのコンテンツ転送元である前段のリーフサーバあるいは前記オリジナルサーバが稼働中であるか検査し、
前記前段のリーフサーバが稼働中でないことを確認した場合のみ、前記リーフサーバが前記サーバツリー形成装置に対し前記ツリー識別情報を含む再アクセス先取得要求情報を通知し、前記サーバリスト通知装置が前記再アクセス先取得要求情報に記載の前記ツリー識別情報に対応する前記ツリーリストを参照し、評価済みあるいは選択済みと記されているリーフサーバを一つ以上選択する、
ことを特徴とするコンテンツ配信方法。
【請求項１２】
請求項１から７、および９のいずれかに記載のコンテンツ配信方法であって、
前記転送サーバリスト取得要求情報には前記転送サーバリスト取得要求元が現時点で配信可能なコンテンツに関する配信可能コンテンツ情報を含み、
前記サーバツリー形成装置中の前記ツリーリストは、現時点までに前記リーフサーバに通知した全てのコンテンツ配信条件がリーフサーバ毎に保持されるコンテンツ配信条件リストを含み、
前記（５−２）のステップにおいて、前記ツリーリストの中から前記リーフサーバに対する試験結果が未評価であるものを選択候補サーバとし、また前記リーフサーバに対する試験結果が評価済みあるいは選択済みであり前記配信可能コンテンツ情報と前記コンテンツ配信条件リストに基づき選択候補サーバを抽出し、前記選択候補サーバの中から一つ以上のリーフサーバを選択し、選択した前記リーフサーバそれぞれについてコンテンツ配信条件を決定し、前記ツリーリストの前記リーフサーバに対する評価結果を評価済みあるいは選択済みと設定し、前記ツリーリストの前記コンテンツ配信条件リストに当選択処理で決定されたコンテンツの配信条件を追加し、選択した前記リーフサーバの識別情報を含む転送先サーバリストおよび前記コンテンツ配信条件を前記リーフサーバに通知し、
前記（５−３）のステップにおいて、前記リーフサーバは前記サーバツリー形成装置によって通知された前記リーフサーバそれぞれに対し、前記コンテンツ配信条件に基づいて前記ツリー識別情報と共に前記コンテンツを配信し、
前記（５）のステップを全てのリーフサーバに対する試験結果が評価済みあるいは選択済みであり、かつ前記転送サーバリスト取得要求情報に含まれる前記配信可能コンテンツ情報と前記ツリーリスト中の前記コンテンツ配信条件リストに基づく選択候補サーバ抽出処理の結果、１つも選択候補サーバが抽出されなくなるまで繰り返す
ことを特徴とするコンテンツ配信方法。
【請求項１３】
請求項１２に記載のコンテンツ配信方法であって、
前記ツリーリストは前記リーフサーバに到達した前記コンテンツが経由してきた前記オリジナルサーバからの経由サーバ数（以下段数）に関する情報である段数情報を前記コンテンツ配信条件毎に保持し、
前記（２）のステップにおいて、サーバツリー形成装置は選択されたサーバに対する前記段数情報を初期値に設定し、
前記（３）、または（５−２）のステップにおいて、前記サーバツリー形成装置は前記ツリーリストから転送先サーバリスト取得要求元であるリーフサーバの前記段数情報を取得し、前記段数情報が事前に前記サーバツリー形成装置に指定した条件を満たしている転送先サーバリスト取得要求元に対してはサーバ選択処理を実施せず、またサーバ選択処理終了後前記サーバツリー形成装置は前記ツリーリスト上に記載の選択されたリーフサーバの前記コンテンツ配信条件に対応する前記段数情報を、転送サーバリスト要求発信元の前記コンテンツ配信条件に対応する前記段数情報から所定量を変化させた値に設定する
ことを特徴とするコンテンツ配信方法。
【請求項１４】
請求項１２または１３に記載のコンテンツ配信方法であって、
前記（５−１）のステップにおいて前記リーフサーバが前記コンテンツを受信中にコンテンツ受信動作が中断されたことを検知した場合、
前記リーフサーバが前記サーバツリー形成装置に対し前記ツリー識別情報と中断直前の時点で配信可能であるコンテンツに関する配信可能コンテンツ情報を含む再アクセス先取得要求情報を通知し、前記サーバリスト通知装置が前記再アクセス先取得要求情報に記載の前記ツリー識別情報に対応する前記ツリーリストを参照し、評価済みあるいは選択済みと記されているリーフサーバの中から前記コンテンツ配信条件リストと前記配信可能コンテンツ情報に基づいて候補サーバを抽出し、前記候補サーバの中から一つ以上のリーフサーバを選択する、
ことを特徴とするコンテンツ配信方法。
【請求項１５】
請求項１４に記載のコンテンツ配信方法であって、
前記（５−１）のステップにおいて前記リーフサーバが前記コンテンツを受信中にコンテンツ受信動作が中断されたことを検知した場合、
前記リーフサーバにおいてコンテンツ転送元である前段のオリジナルサーバあるいはリーフサーバが稼働中であるか検査し、
前記コンテンツ転送元である前段のオリジナルサーバあるいはリーフサーバが稼働中でないことを確認した場合のみ、前記リーフサーバが前記サーバツリー形成装置に対し前記ツリー識別情報と中断直前の時点で配信可能であるコンテンツに関する配信可能コンテンツ情報を含む再アクセス先取得要求情報を通知し、前記サーバリスト通知装置が前記再アクセス先取得要求情報に記載の前記ツリー識別情報に対応する前記ツリーリストを参照し、評価済みあるいは選択済みと記されているリーフサーバの中から前記コンテンツ配信条件リストと前記配信可能コンテンツ情報に基づいて候補サーバを抽出し、前記候補サーバの中から一つ以上のリーフサーバを選択する、
ことを特徴とするコンテンツ配信方法。
【請求項１６】
コンテンツの発信源であるサーバ装置（オリジナルサーバ）と、
コンテンツを受信し別サーバに転送する能力を有するサーバ装置（リーフサーバ）と、
前記オリジナルサーバまたは前記リーフサーバが次に前記コンテンツを転送すべきリーフサーバを前記オリジナルサーバまたは前記リーフサーバに対し通知するサーバツリー形成装置と、
で構成されるコンテンツ配信網における前記サーバツリー形成装置であって、
配信ツリーを一意に識別するツリー識別情報を含む転送サーバリスト取得要求情報を転送サーバリスト取得要求元から受信する転送サーバリスト取得要求情報受信手段と、
リーフサーバの識別情報を含むリーフサーバに関する情報を記述したサーバリストと、
前記サーバツリー形成装置においてはじめての前記ツリー識別情報を受信した場合、サーバリストと前記ツリー識別情報からリーフサーバ識別情報と当該リーフサーバに対する評価結果を含み全てのリーフサーバに対して前記評価結果の初期値を未評価と設定したツリーリストを生成するツリーリスト生成手段と、
前記ツリー識別情報をキーとして前記ツリーリストから候補となる未評価のリーフサーバのリストを取得するサーバ選択候補抽出手段と、
前記サーバ選択候補抽出手段から得た前記リーフサーバのリストの中から一つ以上のリーフサーバを選択するサーバ選択手段と、
前記サーバ選択手段によって選択されたサーバについて前記ツリーリストの当該リーフサーバに対する評価結果を評価済みと設定するサーバ選択状態格納手段と、
前記選択されたサーバのリストを前記転送サーバリスト取得要求の応答として前記転送サーバリスト取得要求元へ送信する転送サーバリスト送信手段と、
で構成されることを特徴とするサーバツリー形成装置。
【請求項１７】
請求項１６に記載のサーバツリー形成装置であって、
前記転送サーバリスト取得要求情報受信手段は、配信ツリーを一意に識別するツリー識別情報と前記サーバツリー形成装置が一度に通知するリーフサーバ数の最大値を示す情報を含む転送サーバリスト取得要求情報を受信し、
前記サーバ選択手段は、一度に選択するリーフサーバ数を前記通知サーバ数の最大値を超えないように制御すること
を特徴とするサーバツリー形成装置。
【請求項１８】
請求項１６または１７に記載のサーバツリー形成装置であって、
前記サーバリストおよび前記ツリーリストは、前記リーフサーバが属するグループの識別情報を含み、
前記サーバ選択候補抽出手段は、前記転送サーバリスト取得要求元がオリジナルサーバであった場合はどのリーフサーバの前記選択状態も未評価であるグループに属するリーフサーバのリストを取得し、前記転送サーバリスト取得要求元がリーフサーバであった場合は前記転送サーバリスト取得要求元の属するグループと同じグループに属する未評価のリーフサーバのリストを取得し、
前記サーバ選択手段は、前記転送サーバリスト取得要求元がオリジナルサーバであった場合は選択するリーフサーバの属するグループが全て異なるように選択し、前記転送サーバリスト取得要求元がリーフサーバであった場合は前記転送サーバリスト取得要求もとの属するグループと同じグループに属するリーフサーバを選択すること
を特徴とするサーバツリー形成装置。
【請求項１９】
請求項１６から１８のいずれかに記載のサーバツリー形成装置であって、
前記サーバリストおよび前記ツリーリストは、前記リーフサーバの能力情報を含み、
前記サーバ選択手段は、前記能力の高い前記リーフサーバを優先して選択すること
を特徴とするサーバツリー形成装置。
【請求項２０】
請求項１９に記載のサーバツリー形成装置であって、
前記能力情報とは、前記リーフサーバの送受信転送レートであり、
前記サーバ選択手段は、送信レート、受信レートともに高速であるリーフサーバを優先して選択すること
を特徴とするサーバツリー形成装置。
【請求項２１】
請求項１６から２０のいずれかに記載のサーバツリー形成装置であって、
前記ツリーリストにおける前記評価結果は、未評価、選択済み、選択不可の３値をとり、
前記サーバ選択手段は、選択候補となるリーフサーバが稼動しているか確認し、稼動しているサーバを選択し、
前記サーバ選択状態格納手段は、前記サーバ選択手段によって選択された前記リーフサーバについては前記評価結果を選択済みと設定し、前記サーバ選択手段によって稼働していないことが確認されたサーバについては選択不可と設定すること
を特徴とするサーバツリー形成装置。
【請求項２２】
請求項１６から２１のいずれかに記載のサーバツリー形成装置であって、
前記ツリーリストは、前記リーフサーバに到達した前記コンテンツが経由してきた前記オリジナルサーバからの経由サーバ数（以下段数）に関する情報である段数情報を含み、
前記ツリーリスト生成手段は、前記リーフサーバに対する前記段数情報を全て初期値に設定し、
前記サーバ選択手段は、前記転送サーバリスト取得要求元に対応する前記オリジナルサーバからの段数に関する情報を前記サーバ選択候補抽出手段から取得し、前記情報が事前に前記サーバツリー形成装置に設定された条件に合致する場合、前記転送サーバリスト取得要求元に対する転送サーバリスト通知処理を中断し、
前記サーバ選択状態格納手段は、前記サーバ選択手段によって選択された前記リーフサーバに対応する前記段数情報を前記サーバツリー形成装置に設定された所定量だけ変化させた値に設定すること
を特徴とするサーバツリー形成装置。
【請求項２３】
請求項１６から２２のいずれかに記載のサーバツリー形成装置であって、
前記サーバ選択手段は前記転送サーバリスト取得要求元と前記ツリーリストに記載の前記リーフサーバとの間の距離を取得できる距離取得手段を含み、前記転送サーバリスト取得要求元から近いサーバを優先して選択する
ことを特徴とするサーバツリー形成装置。
【請求項２４】
請求項１６から２３のいずれかに記載のサーバツリー形成装置であって、
配信ツリーを一意に識別するツリー識別情報を含む再アクセス先取得要求情報を再アクセス先取得要求元から受信する再アクセス先取得要求情報受信手段と、
前記再アクセス先取得要求情報に含まれる前記ツリー識別情報をキーとして前記ツリーリストから候補となる評価済みあるいは選択済みのリーフサーバのリストを取得する機能を含む前記サーバ選択候補抽出手段と、
前記サーバ選択格納手段によって選択されたサーバのリストを前記再アクセス先取得要求の応答として前記再アクセス先取得要求元へ出力する再アクセス先送信手段と
で構成されることを特徴とするサーバツリー形成装置。
【請求項２５】
請求項１６から２１、および２３に記載のサーバツリー形成装置であって、
前記転送サーバリスト取得要求情報には前記転送サーバリスト取得要求元が現時点で配信可能なコンテンツに関する配信可能コンテンツ情報を含み、
前記ツリーリストはリーフサーバ毎に現時点までに前記リーフサーバに通知したコンテンツ配信条件が全て保持されるコンテンツ配信条件リストを含み、
前記サーバ選択候補抽出手段は、前記ツリーリストの中から前記リーフサーバに対する試験結果が未評価であるものをサーバ候補とし、また前記リーフサーバに対する試験結果が評価済みあるいは選択済みである前記リーフサーバの中から前記配信可能コンテンツ情報と前記コンテンツ配信条件に基づき選択候補サーバを抽出し、
前記サーバ選択手段は選択した前記リーフサーバそれぞれについてコンテンツ配信条件を決定し、
前記サーバ選択状態格納手段は、前記ツリーリストの前記リーフサーバに対する評価結果を評価済みあるいは選択済みと設定し、前記ツリーリストの前記コンテンツ配信条件リストに当選択処理で決定されたコンテンツの配信条件を追加し、
前記転送サーバリスト送信手段は転送サーバリストおよびサーバ毎のコンテンツ配信条件を通知する
ことを特徴とするサーバツリー形成装置。
【請求項２６】
請求項２５に記載のサーバツリー形成装置であって、
前記ツリーリストは、前記リーフサーバについての前記コンテンツ配信条件に対する前記オリジナルサーバからの経由サーバ数（以下段数）に関する情報である段数情報を含み、
前記ツリーリスト生成手段は、前記リーフサーバについての前記コンテンツ配信条件に対する前記オリジナルサーバからの段数に関する情報を全て初期値に設定し、
前記サーバ選択手段は、前記転送サーバリスト取得要求元の前記段数情報を前記サーバ選択候補抽出手段から取得し、前記コンテンツ配信条件に対応する前記段数に関する情報が事前に前記サーバツリー形成装置に設定された条件に合致する場合、前記転送サーバリスト取得要求元に対する転送サーバリスト通知処理を中断し、
前記サーバ選択状態格納手段は、前記サーバ選択手段によって選択された前記リーフサーバにおいて当サーバ選択処理で決定した前記コンテンツ配信条件に対応する前記段数情報を前記サーバツリー形成装置に設定された所定量だけ変化させた値に設定すること
を特徴とするサーバツリー形成装置。
【請求項２７】
請求項２５および２６に記載のサーバツリー形成装置であって、
配信ツリーを一意に識別するツリー識別情報と前記配信可能コンテンツ情報を含む再アクセス先取得要求情報を再アクセス先取得要求元から受信する際アクセス先取得要求情報受信手段と、
前記再アクセス先取得要求情報に含まれる前記ツリー識別情報をキーとして前記ツリーリストから候補となる評価済みあるいは選択済みのリーフサーバのリストに含まれる前記コンテンツ配信条件リストと前記配信可能コンテンツ情報とに基づき候補サーバを抽出する前記サーバ選択候補抽出手段と、
前記サーバ選択格納手段によって選択されたサーバのリストを前記再アクセス先取得要求の応答として前記再アクセス先取得要求元へ出力する再アクセス先送信手段と、
で構成されることを特徴とするサーバツリー形成装置。
【請求項２８】
コンテンツの発信源であるサーバ装置（オリジナルサーバ）と、
コンテンツを受信し別サーバに転送する能力を有するサーバ装置（リーフサーバ）と、
前記オリジナルサーバまたは前記リーフサーバが次に前記コンテンツを転送すべきリーフサーバを前記オリジナルサーバまたは前記リーフサーバに対し通知するサーバツリー形成装置と、
で構成されるコンテンツ配信網における前記サーバ装置（オリジナルサーバ）であって、
コンテンツ配信要求イベントを受信するコンテンツ配信要求イベント受信手段と、
ツリー識別情報を生成するツリー識別情報生成手段と、
前記ツリー識別情報を含む転送サーバリスト取得要求情報を生成し、サーバツリー形成装置に対して送信し、転送サーバリスト通知結果を取得する転送サーバリスト取得手段と、
前記転送サーバリストに記載のそれぞれのリーフサーバに対しコンテンツと共に前記ツリー識別情報を送信するコンテンツ送信手段、
で構成されることを特徴とするサーバ装置（オリジナルサーバ）。
【請求項２９】
請求項２８に記載のサーバ装置（オリジナルサーバ）であって、
前記転送サーバリスト取得要求情報は、前記サーバツリー形成装置が一度に通知するサーバ数の最大値を示す情報が含まれる
ことを特徴とするサーバ装置（オリジナルサーバ）。
【請求項３０】
請求項２８または２９に記載のサーバ装置（オリジナルサーバ）であって、
前記コンテンツ送信手段の処理終了後、再度前記ツリー識別情報を含む転送サーバリスト取得要求情報を生成し、サーバツリー形成装置に対して送信し、転送サーバリスト通知結果を取得する転送サーバリスト取得手段
を有することを特徴とするサーバ装置（オリジナルサーバ）。
【請求項３１】
請求項２８から３０のいずれかに記載のサーバ装置（オリジナルサーバ）であって、
前記転送サーバリスト取得要求情報は、現時点で配信可能なコンテンツに関する配信可能コンテンツ情報を含み、
前記コンテンツ送信手段は、取得した転送サーバリストに含まれるコンテンツ配信条件にしたがってコンテンツを配信する
ことを特徴とするサーバ装置（オリジナルサーバ）。
【請求項３２】
コンテンツの発信源であるサーバ装置（オリジナルサーバ）と、
コンテンツを受信し別サーバに転送する能力を有するサーバ装置（リーフサーバ）と、
前記オリジナルサーバまたは前記リーフサーバが次に前記コンテンツを転送すべきリーフサーバを前記オリジナルサーバまたは前記リーフサーバに対し通知するサーバツリー形成装置と、
で構成されるコンテンツ配信網における前記サーバ装置（リーフサーバ）であって、
オリジナルサーバや他のリーフサーバから送られる前記ツリー識別情報と前記コンテンツを受信するコンテンツ受信手段と、
前記ツリー識別情報を含む転送サーバリスト取得要求情報サーバツリー形成装置に対し転送し、転送サーバリスト通知結果を取得する転送サーバリスト取得手段と、
前記転送サーバリストに記載のそれぞれのリーフサーバに対しコンテンツと共に前記ツリー識別情報を送信するコンテンツ送信手段、
で構成されることを特徴とするサーバ装置（リーフサーバ）。
【請求項３３】
請求項３２に記載のサーバ装置（リーフサーバ）であって、
前記転送サーバリスト取得要求情報は、前記サーバツリー形成装置が一度に通知するサーバ数の最大値を示す情報が含まれる
ことを特徴とするサーバ装置（リーフサーバ）。
【請求項３４】
請求項３２または３３のいずれかに記載のサーバ装置（リーフサーバ）であって、
前記コンテンツ送信手段の処理終了後、再度前記ツリー識別情報を含む転送サーバリスト取得要求情報を生成し、サーバツリー形成装置に対して送信し、転送サーバリスト通知結果を取得する転送サーバリスト取得手段
を有することを特徴とするサーバ装置（リーフサーバ）。
【請求項３５】
請求項３２から３４のいずれかに記載のサーバ装置（リーフサーバ）であって、
前記コンテンツ受信手段は、コンテンツ受信中にコンテンツ受信動作が中断されたことを検知する手段を有し、
前記コンテンツ受信動作が中断されたことを検知する手段によってコンテンツ受信動作が中断されたことが検知された場合、前記ツリー識別情報を含む再アクセス先取得要求情報をサーバツリー形成装置に対し送信し、再アクセス先通知結果を取得する再アクセス先取得手段と、
前記再アクセス先に記載のリーフサーバあるいはオリジナルサーバからコンテンツを取得するコンテンツ再取得手段と、
で構成されることを特徴とするサーバ装置（リーフサーバ）。
【請求項３６】
請求項３５のサーバ装置（リーフサーバ）であって、
前記再アクセス先取得手段は、前記コンテンツ受信動作が中断されたことを検知する手段によってコンテンツ受信動作が中断されたことが検知された場合、前段のオリジナルサーバあるいはリーフサーバが稼働中か検査する手段を有し、稼働中でない場合、前記ツリー識別情報を含む再アクセス先取得要求情報をサーバツリー形成装置に対し送信し、再アクセス先通知結果を取得すること
を特徴とするサーバ装置（リーフサーバ）。
【請求項３７】
請求項３２から３６のいずれかに記載のサーバ装置（リーフサーバ）であって、
前記転送サーバリスト取得要求情報は、現時点で配信可能なコンテンツに関する配信可能コンテンツ情報を含み
前記コンテンツ送信手段は、取得した転送サーバリストに含まれるコンテンツ配信条件にしたがってコンテンツを配信する
ことを特徴とするサーバ装置（リーフサーバ）。
【請求項３８】
請求項３５または３６に記載のサーバ装置（リーフサーバ）であって、
前記再アクセス先取得要求情報は現時点で配信可能なコンテンツに関する配信可能コンテンツ情報を含む
ことを特徴とするサーバ装置（リーフサーバ）。
【請求項３９】
請求項１６から２７に記載のサーバツリー形成装置のためのプログラムであって、
コンピュータを前記各手段として機能させるためのプログラム。
【請求項４０】
請求項２８から３８に記載のサーバ装置のためのプログラムであって、
コンピュータを前記各手段として機能させるためのプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はコンテンツ配信方法のうち特に多数のリーフサーバにコンテンツを配信する方法に関する。
【０００２】
【従来の技術】
近年インターネット上でやり取りされるコンテンツの数や１コンテンツあたりのサイズが増加の一途を辿っている。このような状況では１台のサーバでコンテンツ配信を高品質に実施することは困難であり、近年ではコンテンツ配信ネットワーク（ＣＤＮ：Ｃｏｎｔｅｎｔｓ  Ｄｅｌｉｖｅｒｙ  Ｎｅｔｗｏｒｋ）と呼ばれる配信技術に注目が集まっている。ＣＤＮとはネットワーク内部に複数の分散サーバを配備し、一つのコンテンツをそれらのサーバに分散配置し、ユーザアクセス時には複数あるサーバの中からユーザにアクセスさせるサーバを選択することで、サーバ負荷分散を実現するシステムである。ＣＤＮの主要な技術要素は下記の２点である。
（技術要素１）分散サーバにコンテンツを配備する技術
（技術要素２）ユーザアクセスを分散サーバのどれか一つに誘導する技術
【０００３】
技術要素１はいくつかの方式が既に実用化されている。技術要素１の主な方式を下記に示す。
（技術要素１の実現方式１）分散サーバがユーザアクセスに従ってコンテンツ配信元からコンテンツを取得し、取得したコンテンツをユーザに転送しつつ分散サーバ上にキャッシュしておく方式（キャッシュ方式）
（技術要素１の実現方式２）ユーザのリクエスト傾向を予想し、事前にコンテンツ配信元からコンテンツを取得し、分散サーバ上にキャッシュしておく方式（プリフェッチ方式）
（技術要素１の実現方式３）コンテンツ配信元から分散サーバにコンテンツを事前配備しておく方式（ミラー方式）
【０００４】
また、技術要素２についてはいくつものサーバ選択アルゴリズムが存在し、そのうち主なものを下記に示す。
（技術要素２のサーバ選択アルゴリズム１）全ての分散サーバを順番に選択する
（技術要素２のサーバ選択アルゴリズム２）サーバの処理能力の高いサーバを選択する
（技術要素２のサーバ選択アルゴリズム３）ユーザ最寄りのサーバを選択する
【０００５】
現在のところＣＤＮで対象とするコンテンツはコンテンツ容量の少ないＷＷＷコンテンツがメインである。その場合は上記に示した技術のうち特に簡単な（技術要素１の実現方式１）、（技術要素２のサーバ選択アルゴリズム１）の組合わせでＣＤＮを構築するのが一般的である。しかし昨今のアクセスラインのブロードバンド化に伴い、今後は動画像やソフトウェアといった大容量コンテンツの配信を対象としたＣＤＮを構築する必要があり、その場合には上記で示した様々な方式を組み合わせてサービス性を向上させる必要がある。
【０００６】
またＣＤＮに用いられるサーバ設置台数、設置場所についての傾向を以下に示す。現在のＣＤＮは前述の通りＷＷＷコンテンツを対象としているため、サーバの設置台数は少なく、設置場所は１個所に集中しているケースが大半である。しかしながら対象とするコンテンツの大容量化に伴い、１コネクションあたりのサーバ処理負荷が増大する。またサーバ設置拠点が一局集中しているためサーバ設置拠点近傍のトラヒックを圧迫してしまう。このような過負荷状態が発生することで高品質サービスを提供することが困難となるため、サービス品質を維持するためにはサーバの設置台数を増加しそれをなるべくユーザに近い場所に配備する必要があることが一般に認識されはじめている。
【０００７】
以上の記述より今後のＣＤＮに望まれている技術は下記の通りである。
（今後のＣＤＮに望まれる技術１）多くの分散サーバにコンテンツを配備する技術
（今後のＣＤＮに望まれる技術２）より精度高くユーザ最寄りサーバにアクセスを誘導する技術
【特許文献１】
特開２００２−２６９５０号公報
【０００８】
【発明が解決しようとする課題】
以下本発明に関連する「今後のＣＤＮに望まれる技術１」について、既存技術の問題点を示す。
【０００９】
既存技術で多くの分散サーバにコンテンツを配備する最も一般的な方法は、マルチキャスト技術を用いて一斉配備を行う方法である。マルチキャスト技術の使用により、サーバの台数に依存せずにほぼ一台のサーバに送信するのと同程度の時間でコンテンツ配備を完了することができる。現在では配信失敗時の再送方法なども確立しつつあり実用レベルに達している。現時点ではパケットをマルチキャストする手段として主に下記の２種類が存在する。
（マルチキャスト手段１）通信・放送衛星など放送波を用いる方法
（マルチキャスト手段２）ＩＰマルチキャスト技術を用いる方法
【００１０】
しかしながら「マルチキャスト手段１」は電波という有限のリソースを用いるため高価である点、また「マルチキャスト手段２」は現時点ではインターネット上でＩＰマルチキャストに対応したルータがほとんど運用されていない点から、現実的にはコンテンツの一斉配備にマルチキャスト技術を用いることができない。
【００１１】
既存技術で多くの分散サーバにコンテンツを配備する別な方法は、特許文献１に記載のサーバの配信ツリーを構成し上位階層のサーバから下位階層のサーバヘコンテンツを転送し、コンテンツを受信したサーバは更に下位の階層にあるサーバへコンテンツを転送する方式である。この方式によれば現時点で利用が困難なマルチキャスト技術を使用せずに、比較的短い時間でコンテンツの配備を終了することができる。一般的には各々のサーバが自分の上位に位置するサーバのリスト、あるいは自分の下位に位置するサーバのリストの少なくとも一つを持ち、これらのリストに従ってコンテンツを転送するように設計する。しかしながらサーバ台数が多くなるとこれらの設定を個々のサーバそれぞれについて実施するのは時間的な制約や動作確認試験が煩雑になることから非常に困難である。またコンテンツ配備開始時に全てのサーバが稼働中である保証はなく、稼動していないサーバが静的に生成された配信ツリーに含まれる場合には当該サーバの下位階層にあるサーバ群に対してはコンテンツが配備されない。またサーバリストに第２第３の配信経路を指定することも可能であるが、確実に配信が実施されるためにどの程度冗長に配信経路を指定すべきか予測することは困難であり、冗長度を増しても確実な配信を保証することはできない。また冗長系まで考慮すると、サーバ間で配信ツリーの設定が矛盾しないように整合性をとらなければならないが、サーバ数が多いためこれは困難である。これらの冗長系を含めた場合、事前の動作確認は不可能に近い。従ってサーバの配信ツリーによる方法も現状のままではコンテンツの一斉配備に利用することが困難である。またコンテンツの送信を終えたサーバが再度未受信のサーバに対してコンテンツを送信するといったコンテンツの一斉配備に要する時間の短縮化を実現することも当方式では困難である。どのタイミングでどのサーバがコンテンツ送信を終了し、その時点でどのサーバがコンテンツ未受信の状態にあるかが事前に予測できないためである。
【００１２】
現状のネットワークを取り巻く環境を考慮すると現実的に取り得る方法はサーバの配信ツリーによる方法のみであるが、この方法をコンテンツの一斉配備に利用するためには下記の課題を克服する必要がある。
（課題１）サーバツリーは個々のサーバに個別に設定するのではなく、集中管理する
（課題２）サーバツリーを個々のサーバの稼動状態に基づいて動的に生成できるようにする
（課題３）送信を終えたサーバは再度未受信のサーバに対しコンテンツを配信できるようにする
【００１３】
【課題を解決するための手段】
本発明は、コンテンツの発信源であるサーバ装置（以下オリジナルサーバ）と、コンテンツを受信し別サーバに転送する能力を有する一台以上のサーバ装置（以下リーフサーバ）と、前記オリジナルサーバまたは前記リーフサーバが次に前記コンテンツを転送すべきリーフサーバを前記オリジナルサーバまたは前記リーフサーバに対し通知するサーバツリー形成装置とで構成されるコンテンツ配信網を用いたコンテンツ配信方法であって、
（１）前記オリジナルサーバが、コンテンツ配信の前段階において、コンテンツの配信ツリーを一意に識別するツリー識別情報を含む転送サーバリスト取得要求情報を生成し、前記転送サーバリスト取得要求情報を前記サーバツリー形成装置に通知するステップと、
（２）前記サーバツリー形成装置が、前記転送サーバリスト取得要求情報を受信後、前記転送サーバリスト取得要求情報に含まれる前記ツリー識別情報に対応するリーフサーバの識別情報、当該リーフサーバに対する評価結果を含み、前記評価結果の初期値として未評価と設定したツリーリストをリーフサーバの識別情報が記載されたサーバリストから生成するステップと、
（３）前記サーバツリー形成装置が、前記ツリーリストの中から一つ以上のリーフサーバを選択し、選択したリーフサーバに対する前記評価結果を評価済みと設定し、選択したリーフサーバの識別情報が含まれる前記転送先サーバリストを前記オリジナルサーバに通知するステップと、
（４）前記オリジナルサーバが、前記サーバツリー形成装置から取得した転送先サーバリストに記載の前記リーフサーバそれぞれに対し、前記ツリー識別情報と前記コンテンツを配信するステップと、
（５）前記ツリー識別情報と前記コンテンツを受信したリーフサーバにおいて、
（５−１）前記リーフサーバが、コンテンツ転送元である前段のオリジナルサーバまたは前段のリーフサーバから前記ツリー識別情報と前記コンテンツを受信し、前記ツリー識別情報を含む転送サーバリスト取得要求情報を生成し、転送サーバリスト取得要求元として前記転送サーバリスト取得要求情報を前記サーバツリー形成装置に通知するステップと、
（５−２）前記サーバツリー形成装置が、前記ツリーリストの中から前記リーフサーバに対する評価結果が未評価である一つ以上のリーフサーバを選択し、選択したリーフサーバに対する評価結果を評価済みと設定し、選択した前記リーフサーバの識別情報が含まれる前記転送先サーバリストを転送サーバリスト取得要求元である前記リーフサーバに通知するステップと、
（５−３）前記リーフサーバが、前記サーバツリー形成装置によって通知された前記転送先サーバリストに記載の前記リーフサーバそれぞれに対し、前記ツリー識別情報と前記コンテンツを配信するステップと、
を前記ツリーリストに記載のすべてのリーフサーバの前記評価結果が評価済みとなるまで繰り返し実行するステップとで構成されることを特徴とする。この発明によりサーバツリーがサーバツリー形成装置によって集中管理され、（課題１）を克服できる。
【００１４】
また別な発明は前記サーバツリー形成装置が一度に通知する前記リーフサーバ数の最大値を前記転送サーバリスト取得要求情報に指定する情報を含み、前記（３）および前記（５−２）のステップにおいてサーバツリー形成装置がリーフサーバを選択する際、選択するリーフサーバ数が前記リーフサーバ数の最大値を超えないように制御することを特徴とする。この発明によりリーフサーバ１台あたりの配信負荷を軽減し、コンテンツ一斉配備処理の高速化が実現可能となる。
【００１５】
また別な発明は前記サーバリストおよび前記ツリーリストは前記リーフサーバの能力情報を含み、前記（３）および前記（５−２）のステップにおいてサーバツリー形成装置は能力の高いリーフサーバを優先して選択することを特徴とする。前記能力情報とは前記リーフサーバの送受信伝送レートであり、前記（３）および前記（５−２）のステップにおいてサーバツリー形成装置は送信レート、受信レートともに高速であるリーフサーバを優先して選択することを特徴とする。この発明により、個々のサーバの配信能力を考慮したサーバツリーを形成することが可能となり、コンテンツ一斉配備処理の高速化が実現可能となる。
【００１６】
また別な発明は前記オリジナルサーバあるいは前記リーフサーバのうち転送サーバリストに記載のリーフサーバへの配信が終了したサーバをコンテンツの発信源として再定義し、前記（１）から（５）の処理を前記ツリーリストに記載の前記リーフサーバにおいてすべてのリーフサーバの前記評価結果が評価済みとなるまで繰り返すことを特徴とする。この発明により送信を終えたサーバの能力を有効活用できるため（課題３）を克服できる。
【００１７】
また別な発明は前記サーバリストおよび前記ツリーリストは前記リーフサーバが属するグループを識別するグループ識別情報を含み、前記（３）のステップにおいて、サーバツリー形成装置はリーフサーバ選択時に、選択するリーフサーバの属するグループがすべて異なるように選択し（３−ａ）、前記（５−２）のステップにおいて、サーバツリー形成装置はリーフサーバ選択時に、転送サーバリスト取得要求元が属するグループと同じグループに属するリーフサーバを選択し（５−２−ａ）、前記オリジナルサーバあるいは前記リーフサーバのうち転送サーバリストへの配信が終了したサーバをコンテンツの発信源として再定義し、前記コンテンツの発信源として再定義されたオリジナルサーバによって前記サーバツリー形成装置にアクセスされた場合は前記サーバツリー形成装置は前記（３−ａ）のステップを実施し、前記コンテンツの発信源として再定義されたリーフサーバによって前記サーバツリー形成装置にアクセスされた場合は前記（５−２−ａ）のステップを実施し、上記処理を前記ツリーリストに記載の前記リーフサーバにおいてすべてのリーフサーバの前記評価結果が評価済みとなるまで繰り返すことを特徴とする。この発明によって生成されたツリーがグルーピングされるため、サーバツリーの管理、メンテナンスが容易となる。
【００１８】
また別な発明は前記ツリーリストに記載される前記評価結果は、未評価、選択済み、選択不可、の３値をとり、前記（３）および前記（５−２）のステップにおいてサーバツリー形成装置は選択しようとするリーフサーバが稼働中であるかを確認し、稼働中のリーフサーバを選択し、選択したサーバの前記評価結果を選択済みと設定し、稼働していないことを確認したリーフサーバは選択せず、選択しなかったサーバの前記評価結果を選択不可と設定することを特徴とする。この発明によってサーバの稼働状態に基づくツリー生成が可能となり、（課題２）を克服できる。
【００１９】
また別な発明は前記ツリーリストは前記リーフサーバに到達した前記コンテンツが経由してきた前記オリジナルサーバからの経由サーバ数（以下段数）に関する情報である段数情報を含み、前記（２）のステップにおいて、サーバツリー形成装置は選択されたサーバに対する前記段数情報を初期値に設定し、前記（３）、または（５−２）のステップにおいて、前記サーバツリー形成装置は前記ツリーリストから転送先サーバリスト取得要求元であるリーフサーバの前記段数情報を取得し、前記段数情報が事前に前記サーバツリー形成装置に指定された条件を満たしている転送先サーバリスト取得要求元に対してはサーバ選択処理を実施せず、またサーバ選択処理終了後前記サーバツリー形成装置は前記ツリーリスト上に記載の選択されたリーフサーバの前記段数情報を転送サーバリスト取得要求元の前記段数に関する情報から所定量を変化させた値に設定することを特徴とする。この発明によってあるサーバからみたコンテンツの経由サーバ数を低減できるため、コンテンツ一斉配備処理が高速化、安定化される。
【００２０】
また別な発明は前記サーバツリー形成装置は転送サーバリスト取得要求元であるサーバと前記ツリーリストに記載の任意のリーフサーバとの間の距離を取得できる距離取得手段を有し、前記（３）または前記（５−２）のステップにおいて、サーバツリー形成装置は前記転送サーバリスト取得要求元のサーバからの距離が近いリーフサーバを優先して選択することを特徴とする。この発明によって最寄りのサーバからコンテンツを取得することが可能となるため、コンテンツ一斉配備処理にかかるトラヒックを最小化でき、また経路長を短縮化できるためコンテンツ一斉配備処理が高速化される。
【００２１】
また別な発明は前記（５−１）のステップにおいて前記リーフサーバが前記コンテンツを受信中にコンテンツ受信動作が中断されたことを検知した場合、前記リーフサーバが前記サーバツリー形成装置に対し前記ツリー識別情報を含む再アクセス先取得要求情報を通知し、前記サーバリスト通知装置が前記再アクセス先取得要求情報に記載の前記ツリー識別情報に対応する前記ツリーリストを参照し、評価済みあるいは選択済みと記されているリーフサーバを一つ以上選択することを特徴とする。この発明によって、コンテンツ一斉配備時に異常な挙動を示したリーフサーバ配下のサーバに対してコンテンツ一斉配備処理を即座に復旧することが可能となる。
【００２２】
また別な発明は前記（５−１）のステップにおいて前記リーフサーバが前記コンテンツを受信中にコンテンツ受信動作が中断されたことを検知した場合、前記リーフサーバが前記リーフサーバにとってのコンテンツ転送元である前段のリーフサーバあるいは前記オリジナルサーバが稼働中であるか検査し、前記前段のリーフサーバが稼働中でないことを確認した場合のみ、前記リーフサーバが前記サーバツリー形成装置に対し前記ツリー識別情報を含む再アクセス先取得要求情報を通知し、前記サーバリスト通知装置が前記再アクセス先取得要求情報に記載の前記ツリー識別情報に対応する前記ツリーリストを参照し、評価済みあるいは選択済みと記されているリーフサーバを一つ以上選択することを特徴とする。この発明によってコンテンツ一斉配備時に異常な挙動を示したリーフサーバ配下のサーバによるコンテンツ一斉配備処理の復旧に際し、当該リーフサーバ配下のサーバが一斉にサーバツリー形成装置にアクセスすることを防ぐことができ、サービス性の低下を防ぐことが可能となる。
【００２３】
また別の発明は前記転送サーバリスト取得要求情報には前記転送サーバリスト取得要求元が現時点で配信可能なコンテンツに関する配信可能コンテンツ情報を含み、前記サーバツリー形成装置中の前記ツリーリストは、現時点までに前記リーフサーバに通知した全てのコンテンツ配信条件がリーフサーバ毎に保持されるコンテンツ配信条件リストを含み、前記（５−２）のステップにおいて、前記ツリーリストの中から前記リーフサーバに対する試験結果が未評価であるものを選択候補サーバとし、また前記リーフサーバに対する試験結果が評価済みあるいは選択済みであり前記配信可能コンテンツ情報と前記コンテンツ配信条件リストに基づき選択候補サーバを抽出し、前記選択候補サーバの中から１つ以上のリーフサーバを選択し、選択した前記リーフサーバそれぞれについてコンテンツ配信条件を決定し、前記ツリーリストの前記リーフサーバに対する評価結果を評価済みあるいは選択済みと設定し、前記ツリーリストの前記コンテンツ配信条件リストに当選択処理で決定されたコンテンツの配信条件を追加し、選択した前記リーフサーバの識別情報を含む転送先サーバリストおよび前記コンテンツ配信条件を前記リーフサーバに通知し、前記（５−３）のステップにおいて、前記リーフサーバは前記サーバツリー形成装置によって通知された前記リーフサーバそれぞれに対し、前記コンテンツ配信条件に基づいて前記ツリー識別情報と共に前記コンテンツを配信し、前記（５）のステップを全てのリーフサーバに対する試験結果が評価済みあるいは選択済みであり、かつ前記転送サーバリスト取得要求情報に含まれる前記配信可能コンテンツ情報と前記ツリーリスト中の前記コンテンツ配信条件リストに基づく選択候補サーバ抽出処理の結果、１つも選択候補サーバが抽出されなくなるまで繰り返すことを特徴とする。この発明によって１台のリーフサーバに対するコンテンツ転送先が複数台となり、リーフサーバの受信能力を最大限利用することができ、コンテンツ一斉配信処理に要する時間を短縮できる。
【００２４】
また別の発明は前記ツリーリストは前記リーフサーバに到達した前記コンテンツが経由してきた前記オリジナルサーバからの経由サーバ数（以下段数）に関する情報である段数情報を前記コンテンツ配信条件毎に保持し、前記（２）のステップにおいて、サーバツリー形成装置は選択されたサーバに対する前記段数情報を初期値に設定し、前記（３）、または（５−２）のステップにおいて、前記サーバツリー形成装置は前記ツリーリストから転送先サーバリスト取得要求元であるリーフサーバの前記段数情報を取得し、前記段数情報が事前に前記サーバツリー形成装置に指定した条件を満たしている転送先サーバリスト取得要求元に対してはサーバ選択処理を実施せず、またサーバ選択処理終了後前記サーバツリー形成装置は前記ツリーリスト上に記載の選択されたリーフサーバの前記コンテンツ配信条件に対応する前記段数情報を、転送サーバリスト要求発信元の前記コンテンツ配信条件に対応する前記段数情報から所定量を変化させた値に設定することを特徴とする。この発明によって複数台のコンテンツ転送元から配信されるコンテンツそれぞれについて段数の上限値などを設けることができるため、コンテンツが複数の配信元から別々に配信される場合においてもあるサーバからみたコンテンツの経由サーバ数を低減でき、コンテンツ一斉配備処理が高速化、安定化される。
【００２５】
また別の発明は前記（５−１）のステップにおいて前記リーフサーバが前記コンテンツを受信中にコンテンツ受信動作が中断されたことを検知した場合、前記リーフサーバが前記サーバツリー形成装置に対し前記ツリー識別情報と中断直前の時点で配信可能であるコンテンツに関する配信可能コンテンツ情報を含む再アクセス先取得要求情報を通知し、前記サーバリスト通知装置が前記再アクセス先取得要求情報に記載の前記ツリー識別情報に対応する前記ツリーリストを参照し、評価済みあるいは選択済みと記されているリーフサーバの中から前記コンテンツ配信条件リストと前記配信可能コンテンツ情報に基づいて候補サーバを抽出し、前記候補サーバの中から一つ以上のリーフサーバを選択することを特徴とする。また前記リーフサーバにおいてコンテンツ転送元である前段のオリジナルサーバあるいはリーフサーバが稼働中であるか検査し、前記コンテンツ転送元である前段のオリジナルサーバあるいはリーフサーバが稼働中でないことを確認した場合のみ、上記の処理を実施することを特徴とする。この発明によって、コンテンツが複数の配信元から別々に配信される場合においてもコンテンツ一斉配備時に異常な挙動を示したリーフサーバ配下のサーバに対してコンテンツ一斉配備処理を即座に復旧することが可能となる。またこの発明によってコンテンツ一斉配備時に異常な挙動を示したリーフサーバ配下のサーバによるコンテンツ一斉配備処理の復旧に際し、当該リーフサーバ配下のサーバが一斉にサーバツリー形成装置にアクセスすることを防ぐことができ、サービス性の低下を防ぐことが可能となる。
【００２６】
上記に示した発明の中心的な役割を担うサーバツリー形成装置は、配信ツリーを一意に識別するツリー識別情報を含む転送サーバリスト取得要求情報を転送サーバリスト取得要求元から受信する転送サーバリスト取得要求情報受信手段と、リーフサーバの識別情報を含むリーフサーバに関する情報を記述したサーバリストと、前記サーバツリー形成装置においてはじめての前記ツリー識別情報を受信した場合、サーバリストと前記ツリー識別情報からリーフサーバ識別情報と当該リーフサーバに対する評価結果を含み全てのリーフサーバに対して前記評価結果の初期値を未評価と設定したツリーリストを生成するツリーリスト生成手段と、前記ツリー識別情報をキーとして前記ツリーリストから候補となる未評価のリーフサーバのリストを取得するサーバ選択候補抽出手段と、前記サーバ選択候補抽出手段から得た前記リーフサーバのリストの中から一つ以上のリーフサーバを選択するサーバ選択手段と、前記サーバ選択手段によって選択されたサーバについて前記ツリーリストの当該リーフサーバに対する評価結果を評価済みと設定するサーバ選択状態格納手段と、前記選択されたサーバのリストを前記転送サーバリスト取得要求の応答として前記転送サーバリスト取得要求元へ送信する転送サーバリスト送信手段とで構成されることを特徴とする。
【００２７】
【発明の実施の形態】
以下、本発明の実施の形態を説明する。
本発明の一実施の形態は、コンテンツの発信源であるサーバ装置（以下オリジナルサーバ）と、コンテンツを受信し別サーバに転送する能力を有する一台以上のサーバ装置（以下リーフサーバ）と、前記オリジナルサーバまたは前記リーフサーバが次に前記コンテンツを転送すべきリーフサーバを前記オリジナルサーバまたは前記リーフサーバに対し通知するサーバツリー形成装置とで構成されるコンテンツ配信網を用いたコンテンツ配信に関するものである。
【００２８】
図１に本実施形態の処理ステップの概略を示す。図１に示すように、本実施の形態は以下のステップによりコンテンツ配信を行う。
【００２９】
（１）のステップ
オリジナルサーバが、コンテンツ配信の前段階において、コンテンツの配信ツリーを一意に識別するツリー識別情報を含む転送サーバリスト取得要求情報を生成し、転送サーバリスト取得要求情報をサーバツリー形成装置に通知する。
【００３０】
（２）のステップ
サーバツリー形成装置が、転送サーバリスト取得要求情報を受信後、転送サーバリスト取得要求情報に含まれるツリー識別情報に対応するリーフサーバの識別情報、当該リーフサーバに対する評価結果を含み、評価結果の初期値として未評価と設定したツリーリストをリーフサーバの識別情報が記載されたサーバリストから生成する。
【００３１】
（３）のステップ
サーバツリー形成装置が、ツリーリストの中から一つ以上のリーフサーバを選択し、選択したリーフサーバに対する評価結果を評価済みと設定し、選択したリーフサーバの識別情報が含まれる転送先サーバリストをオリジナルサーバに通知する。
【００３２】
（４）のステップ
オリジナルサーバが、サーバツリー形成装置から取得した転送先サーバリストに記載のリーフサーバそれぞれに対し、ツリー識別情報とコンテンツを配信する。
【００３３】
（５）のステップ
ツリー識別情報とコンテンツを受信したリーフサーバにおいて、
（５−１）リーフサーバが、コンテンツ転送元である前段のオリジナルサーバまたは前段のリーフサーバからツリー識別情報とコンテンツを受信し、ツリー識別情報を含む転送サーバリスト取得要求情報を生成し、転送サーバリスト取得要求元として転送サーバリスト取得要求情報をサーバツリー形成装置に通知するステップと、
（５−２）サーバツリー形成装置が、ツリーリストの中からリーフサーバに対する評価結果が未評価である一つ以上のリーフサーバを選択し、選択したリーフサーバに対する評価結果を評価済みと設定し、選択したリーフサーバの識別情報が含まれる転送先サーバリストを転送サーバリスト取得要求元であるリーフサーバに通知するステップと、
（５−３）リーフサーバが、サーバツリー形成装置によって通知された転送先サーバリストに記載のリーフサーバそれぞれに対し、ツリー識別情報とコンテンツを配信するステップと、
をツリーリストに記載のすべてのリーフサーバの評価結果が評価済みとなるまで繰り返し実行する。
【００３４】
上記に示した実施形態の中心的な役割を担うサーバツリー形成装置の構成の概略を図２に示す。本実施形態のサーバツリー形成装置は、配信ツリーを一意に識別するツリー識別情報を含む転送サーバリスト取得要求情報を転送サーバリスト取得要求元から受信する転送サーバリスト取得要求情報受信手段２１と、リーフサーバの識別情報を含むリーフサーバに関する情報を記述したサーバリスト２２と、サーバツリー形成装置においてはじめてのツリー識別情報を受信した場合、サーバリスト２２とツリー識別情報からリーフサーバ識別情報と当該リーフサーバに対する評価結果を含み全てのリーフサーバに対して評価結果の初期値を未評価と設定したツリーリスト２３を生成するツリーリスト生成手段２４と、ツリー識別情報をキーとしてツリーリスト２３から候補となる未評価のリーフサーバのリストを取得するサーバ選択候補抽出手段２５と、サーバ選択候補抽出手段２５から得たリーフサーバのリストの中から一つ以上のリーフサーバを選択するサーバ選択手段２６と、サーバ選択手段２６によって選択されたサーバについてツリーリスト２３の当該リーフサーバに対する評価結果を評価済みと設定するサーバ選択状態格納手段２７と、選択されたサーバのリストを転送サーバリスト取得要求の応答として転送サーバリスト取得要求元へ送信する転送サーバリスト送信手段２８とで構成される。
【００３５】
図２において、ＴｒｅｅＩＤはツリー識別情報であり、Ｓｃ（ＴｒｅｅＩＤ）は当該ツリー識別情報に対応する選択候補サーバリストであり、Ｓｓは選択されたサーバのリストであり、Ｓｎは選択されなかったサーバのリストであり、Ｕｐ（ＴｒｅｅＩＤ，Ｓｓ）は当該ツリー識別情報に対応するＳｓが選択されたことを示す評価結果であり、Ｄｏｗｎ（ＴｒｅｅＩＤ，Ｓｎ）は当該ツリー識別情報に対応するＳｎが三択されなかったことを示す評価結果であり、Ｓはサーバリストであり、ＴｒｅｅＬｉｓｔ（ＴｒｅｅＩＤ，Ｓ）はツリーリストであり、Ｒｅｑ（ＴｒｅｅＩＤ）は転送サーバリスト取得要求情報であり、Ｒｅｓｐ（Ｓｓ）は転送サーバリストである。
【００３６】
［実施例］
以下本発明の好適な実施例について詳細に説明する。なお、実施例を説明するための全図において、同様な機能を有するものは同一符号を付け、その繰り返しの説明は省略する。
【００３７】
前提とする環境を図３に示す。ＩＰネットワークにサーバツリー形成装置とオリジナルサーバ（下り回線帯域、上り回線帯域ともに１０Ｍｂｐｓ）、リーフサーバ（内訳は下り回線帯域、上り回線帯域ともに１０ＭｂｐｓであるサーバがＮ１台、下り回線帯域１．５Ｍｂｐｓ、上り回線帯域０．５ＭｂｐｓであるサーバがＮ２台）が接続されているものとする。
【００３８】
それぞれのサーバはすべてＴＣＰ／ＩＰ通信可能であるとし、本発明のサーバツリー形成装置、オリジナルサーバ、リーフサーバはすべて汎用的なコンピュータ上で動作可能なソフトウェアで実装されているものとする。
【００３９】
（実施例１）
まずオリジナルサーバの内部構成を図４に示す。また、オリジナルサーバの動作シーケンスを図５に示す。オリジナルサーバ４０は、初期設定ファイル４１（図６参照、図６の例ではサーバツリー形成装置のＩＰアドレスは１００．１０．１．１０であり、ポート番号は８０８１であり、同時配信数は１０であり、コンテンツ更新状態チェック頻度は１分である）、コンテンツが格納されているコンテンツ格納ディレクトリ４２、コンテンツ格納ディレクトリ４２のコンテンツ更新状態を周期的にチェックし、新たにコンテンツが更新されたことを検知した場合は更新ありの旨ツリーＩＤ生成部４４に通知するコンテンツ更新有無チェック部４３、配信ツリーを一意に識別するためのツリーＩＤを生成し転送サーバリスト取得のトリガを発行するツリーＩＤ生成部４４、転送サーバリスト取得のトリガを受けてツリーＩＤおよび初期設定された最大同時配信数とから転送サーバリスト取得要求情報を生成し、サーバツリー形成装置に対し転送サーバリスト要求を発行しその結果を受信する転送サーバリスト取得部４５、更新されたコンテンツを転送サーバリスト取得部４５が取得した転送サーバリストに記載されたサーバそれぞれに対し送信し、送信が終了したら再度転送サーバ取得要求のトリガを発行するコンテンツ送信部４６と、通信要求に基づいてＴＣＰ／ＩＰ通信を実施するＴＣＰ／ＩＰ送受信部４７とで構成される。
【００４０】
図５に示すように、コンテンツ更新有無チェック部４３はコンテンツ格納ディレクトリ４２に対して、コンテンツ更新有無チェックを初期設定ファイル４１によって指定された周期で実施する。コンテンツ更新有無チェック部４３は、ファイルの最終更新時刻が前回のチェックの時刻と今回のチェックの時刻の間に位置する場合、当該ファイルが更新されたと判断しツリーＩＤ生成部４４に通知する。
【００４１】
ツリーＩＤ生成部４４はツリーＩＤを生成し転送サーバリスト取得部４５に通知する。ツリーＩＤ生成部４４で生成されるツリーＩＤのフォーマットを図７に示す。ツリーＩＤは他のオリジナルサーバで付与されたＩＤとは確実にユニークであることを保証されなければならないため、オリジナルサーバ自身のＩＰアドレスとＩＤを発行した時間に基づいてツリーＩＤを生成する。図７の例では、オリジナルサーバのＩＰアドレスは１００．１０．１．１０であり、ＩＤを発行した時刻は２００２年８月１６日１５時１８分である。
【００４２】
転送サーバリスト取得部４５は転送サーバリスト要求情報を生成し、転送サーバリスト取得処理を行う。転送サーバリスト取得要求情報のフォーマットを図８に示す。図８の例ではツリーＩＤは１００＿１０＿１＿１０＿２００２＿８＿１６＿１５＿４８、選択サーバ数の最大値は２である。このフォーマットをＴＣＰのペイロードに書き込み、転送サーバリスト通知サーバにアクセスすることによって転送サーバリストを取得することができる。取得できる転送サーバリストを図９に示す。転送サーバリストもＴＣＰのペイロードに記述された形で受信される。転送サーバリスト取得部４５はコンテンツ送信部４６へトリガを発行する。
【００４３】
コンテンツ送信部４６はコンテンツ格納ディレクトリ４２から更新コンテンツを取得し、転送サーバリストに従ってコンテンツをリーフサーバへ転送する。コンテンツ送信部４６はリーフサーバヘのコンテンツ配信が終了したら再度転送サーバリスト取得部４５に対し転送サーバリスト取得要求を行わせるためのトリガを発行する。トリガを受けた転送サーバリスト取得部４５は再度転送サーバリスト取得処理を実施する。これをサーバツリー形成装置から選択すべきサーバが存在しないと通知されるまで繰り返す。
【００４４】
次にリーフサーバ１００の内部構成を図１０に示す。また、リーフサーバの動作シーケンスを図１１に示す。リーフサーバは、初期設定ファイル１０１（図６参照）、コンテンツが格納されているコンテンツ格納ディレクトリ１０３、コンテンツを取得しコンテンツ格納ディレクトリ１０３に格納しつつ転送サーバリスト取得部１０４に対しツリーＩＤを通知するコンテンツ受信部１０２、コンテンツ受信部１０２から取得したツリーＩＤと初期設定された最大同時配信数とから転送サーバリスト取得要求情報を生成し、サーバツリー形成装置に対し転送サーバリスト要求を発行しその結果を受信する転送サーバリスト取得部１０４、更新されたコンテンツを転送サーバリスト取得部１０４が取得した転送サーバリストに記載されたサーバそれぞれに対して送信し、送信が終了したら再度転送サーバ取得要求のトリガを発行するコンテンツ送信部１０５、通信要求に基づいてＴＣＰ／ＩＰ通信を実施するＴＣＰ／ＩＰ送受信部１０６とで構成される。
【００４５】
図１１に示すように、コンテンツ受信部１０２が更新（対象）コンテンツを受信すると、更新コンテンツをコンテンツ格納ディレクトリ１０３に送り、コンテンツ格納ディレクトリ１０３は更新コンテンツを蓄積する。また、コンテンツ受信部１０２は転送サーバリスト取得部１０４へツリーＩＤを通知する。
【００４６】
転送サーバリスト取得部１０４は転送サーバリスト要求情報を生成し、転送サーバリスト取得処理を行う。転送サーバリスト取得部１０４は、転送サーバリスト取得後、コンテンツ送信部１０５へトリガを発行する。
【００４７】
コンテンツ送信部１０５はコンテンツ格納ディレクトリ１０３から更新コンテンツを取得し、転送サーバリストに従ってコンテンツをリーフサーバへ転送する。コンテンツ送信部１０５はリーフサーバヘのコンテンツ配信が終了したら再度転送サーバリスト取得部１０４に対し転送サーバリスト取得要求を行わせるためのトリガを発行する。トリガを受けた転送サーバリスト取得部１０４は再度転送サーバリスト取得処理を実施する。これをサーバツリー形成装置から選択すべきサーバが存在しないと通知されるまで繰り返す。
【００４８】
次にサーバツリー形成装置の内部構成を図１２に示す。サーバツリー形成装置１２０は、初期設定ファイル１２１（図１３参照、図１３の例では最大階層数は２５である）、転送サーバリスト取得要求情報を受信し、転送サーバリスト取得要求情報に含まれるツリーＩＤが既に払い出したツリーＩＤであればサーバ選択部１２２を起動し、まだ払い出されていないツリーＩＤであればツリーリスト生成部１２６を起動する転送サーバリスト取得要求情報受信部１２３、リーフサーバの情報を記載したサーバリスト１２４から当該ツリーＩＤに対応するツリーリスト１２５を生成するツリーリスト生成部１２６と、ツリーリスト１２５を参照し指定されたツリーＩＤに対応する転送サーバリストを選択するサーバ選択部１２２と、選択された転送サーバリストを転送サーバリスト取得要求情報発信元に送信する転送サーバリスト送信部１２７と、通信要求に基づいてＴＣＰ／ＩＰ通信を実施するＴＣＰ／ＩＰ送受信部１２８とで構成される。
【００４９】
サーバリスト１２４の構成を図１４に示す。サーバリストに含まれる情報要素はリーフサーバのＩＰアドレスと所属するグループ、下り回線の帯域、上り回線の帯域およびオリジナル・リーフの種別である。オリジナル・リーフの種別とは、オリジナルサーバであれば「ｏｒｉｇｉｎａｌ」と記載され、それ以外は「ｌｅａｆ」と記載される。
【００５０】
ツリーリスト１２５の構成を図１５に示す。ツリーリストに含まれる情報要素はサーバリストの情報要素に加えサーバ選択状態、段数に関する情報が含まれる。サーバ選択状態は、「未評価」「選択済み」「選択不可」という３つの状態を記述でき、１度もサーバ選択を行う上での評価の対象になっていないサーバが「未評価」と設定され、選択されたサーバについては「選択済み」と設定され、評価を行った結果選択できないことがわかったサーバについては「選択不可」と設定される。ツリーリスト生成の初期段階ではこのサーバ選択状態は全てのサーバについて「未評価」と設定される。段数に関する情報は、オリジナルサーバを０段として、転送サーバリスト取得要求元の段数をインクリメントしてツリーリストの段数に関する情報の部分に追記する。またツリーリストはツリーＩＤ毎に生成される。サーバ選択処理時には指定されたツリーＩＤに対応するツリーリストを参照する。
【００５１】
サーバ選択部での処理フローを図１６に示す。まず、転送サーバリスト通知要求元がオリジナルサーバかどうかを判断する（ステップ１６１）。オリジナルサーバの場合は、いかなるサーバも選択されていないグループ毎に、当該グループに属するサーバのうち最も上り帯域、下り帯域の大きいサーバをサーバ選択候補とし（ステップ１６２）、ステップ１６５へ進む。一方、ステップ１６１の判断で、オリジナルサーバではないと判断された場合（リーフサーバの場合）は、転送サーバリスト通知要求元がすでに指定された段数に達しているかどうかを判断する（ステップ１６３）。ＹｅｓであればＲｅｊｅｃｔする。Ｎｏであれば、転送サーバリスト通知要求元が属するグループと同じグループに属するサーバのうち最も上り帯域、下り帯域の大きいサーバをサーバ選択候補とし（ステップ１６４）、ステップ１６５に進む。そして、オリジナルサーバの場合もリーフサーバの場合も、ツリーリストに記載の順にサーバの稼働状態をチェックし、稼働中であり、最大同時配信数を上回らない場合は当該サーバを選択するものとし、ツリーリストの選択状態を「選択済み」にする。稼働状態のチェックの結果稼働していないことがわかった場合はツリーリストの選択状態を「選択不可」とする（ステップ１６５）。そして、選択するサーバの数が最大同時配信数に達した場合はサーバ選択処理を終了する（ステップ１６６）。
【００５２】
このフローによってオリジナルサーバから直接コンテンツを受信するリーフサーバヘ至るコンテンツ配信ツリーは各グループ毎に分散され、それ以降はそれぞれのグループの中で配信ツリーが閉じられる状態となる。また、それぞれのサーバ毎に同時配信数が指定され、それを上回らない配信ツリーが形成される。また最大の段数を指定することで、それ以上段数の多いツリーは形成されない。
【００５３】
図１６に示す処理フローを図１７に示すサーバ群のツリー形成に適用した場合のコンテンツ配信ツリーを図１８に示す。ここでサーバツリー形成装置に設定される最大階層数を２とする。また図１８に対応するツリーリストの推移を図１９、図２０に示す。あるサーバから別のサーバにコンテンツが配信され始める時刻をＴとし、時刻がｔ１→ｔ２→ｔ３と推移した時のコンテンツ配信ツリー生成について下記に説明する。
【００５４】
Ｔ＝０時のツリーリストにおいて「選択対象」の項目は全てのサーバで「未評価」と記される。
【００５５】
Ｔ＝ｔ１のタイミングでオリジナルサーバから転送サーバリスト取得要求を受信した時、グループ１、２、３に属する全てのサーバが「未評価」であるため、それぞれのグループから最も配信性能の高いサーバ（グループ１についてはＳ１、グループ２についてはＳ５、グループ３についてはＳ９）がサーバ選択候補にあがり、オリジナルサーバの最大同時接続数＝３であることから３台とも選択される。選択することを決めたらＳ１、Ｓ５、Ｓ９についてツリーリストの「選択状態」を「選択済み」と設定し、「段数」に（転送サーバリスト取得要求元であるオリジナルサーバの段数）＋１を設定する。
【００５６】
Ｔ＝ｔ２のタイミングでオリジナルサーバは既にＳ１、Ｓ５、Ｓ９に対する配信が終了しているものとする。従ってこのタイミングではオリジナルサーバ、Ｓ１、Ｓ５、Ｓ９がそれぞれ発信可能である。オリジナルサーバは最大同時接続数＝３であるため、オリジナルサーバに対しては３つ以下のサーバが選択される。このタイミングではＳ２、Ｓ６、Ｓ１０が選択されるものとする。一方Ｓ１はグループ１に属するため、グループ１に属するサーバの中から未評価のサーバが選択される。最大階層数は２でありＳ１の階層数は１であるため、Ｓ１に対する次段転送サーバの通知を実施しても良いことになる。オリジナルサーバからのリクエストが若干早く到着したとするとグループ１の未評価サーバはＳ３とＳ４である。しかしＳ１の同時配信数＝１であるため、選択可能なのはＳ３とＳ４どちらか一つである。ここではＳ３とＳ４が同じ送受信性能であるため、ツリーリストに記載順に従いＳ３が選択される。同様の処理をＳ５について実施しその結果Ｓ７が選択される。また同様の処理をＳ９についても実施した場合、グループ３の未評価サーバのうちＳ１１は稼動していないことを検知した場合、Ｓ１２が選択される。このタイミングでオリジナルサーバが選択したＳ２、Ｓ６、Ｓ１０およびＳ１が選択したＳ３、Ｓ５が選択したＳ７、Ｓ９が選択したＳ１２についてツリーリストの「選択状態」を「選択済み」と設定し、「段数」に（転送サーバリスト取得要求元であるオリジナル・リーフサーバの段数）＋１を設定する。またこの段階で稼働していないことが判明したＳ１１についてツリーリストの「選択状態」を「選択不可」と設定する。
【００５７】
Ｔ＝ｔ３のタイミングではオリジナルサーバは既にＳ２、Ｓ６、Ｓ１０に対する配信が終了し、Ｓ１はＳ３に対する、Ｓ５はＳ７に対する、Ｓ９はＳ１２に対する配信がそれぞれ終了しているものとする。従ってこのタイミングではオリジナルサーバおよびリーフサーバＳ１、Ｓ２、Ｓ３、Ｓ５、Ｓ６、Ｓ７、Ｓ９、Ｓ１０、Ｓ１２が発信可能である。ここでサーバツリー形成装置は全てのリーフサーバに先んじてオリジナルサーバから転送サーバリスト取得要求を受信したとする。オリジナルサーバは最大同時接続数＝３であるため、３つ以下のサーバが選択される。ツリーリストの未評価のサーバはＳ４、Ｓ８であるため、これらの全てを選択対象となる。このタイミングでオリジナルサーバが選択したＳ４、Ｓ８、Ｓ１２についてツリーリストの「選択状態」を「選択済み」と設定し、「段数」に（転送サーバリスト取得要求元であるオリジナルサーバの段数）＋１を設定する。
【００５８】
これ以降他のリーフサーバからの転送サーバリスト取得要求を受信した場合、またＳ４、Ｓ８、Ｓ１２に対し配信し終えたオリジナルサーバが再度転送サーバリスト取得要求を実施した場合、またＳ４、Ｓ８、Ｓ１２が転送サーバリスト取得要求を実施した場合は、すでにツリーリストの「選択状態」が「未評価」であるサーバが存在しないためサーバ選択処理を実施しない。
【００５９】
以上示した通り、当実施例ではサーバツリーに関する情報を１台のサーバツリー形成装置内のツリーリストで管理していることから（課題１）を克服していることがわかる。また当実施例では稼動していないＳ１１をツリーから除外できたことから（課題２）を克服していることがわかる。また当実施例ではオリジナルサーバがＴ＝ｔ１の時にＳ１、Ｓ５、Ｓ９、Ｔ＝ｔ２の時にＳ２、Ｓ６、Ｓ１０、Ｔ＝ｔ３の時にＳ４、Ｓ８に対しコンテンツを配信していることから（課題３）を克服していることがわかる。従って、当実施例によってコンテンツの一斉配備が実現できることがわかる。
【００６０】
（実施例２）
実施例２は実施例１を改良したものである。前述の図１８、図１９、図２０に示されるサーバ選択処理において、Ｔ＝ｔ２でのリーフサーバＳ１が処理能力の等しいＳ３、Ｓ４のうちどちらを優先すべきか、同じくリーフサーバＳ５が処理能力の等しいＳ７、Ｓ８のうちどちらを優先すべきか決定する手段が存在しないためツリーリスト記載順に選択していた。このような同程度の処理能力を持つサーバ数が増加した場合、実施例１では生成されるツリーが図２１に示すように無駄なトラヒックを発生させてしまう可能性がある。そこで実施例２ではサーバ選択時にサーバ間の距離に基づくサーバ選択を実現する実施例を示す。
【００６１】
実施例２において、オリジナルサーバおよびリーフサーバの構成は実施例１と全く同一であるとする。サーバツリー形成装置の構成を図２２に示す。実施例１に示した構成にサーバ間距離取得部２２１を追加した構成をとる。サーバ選択部１２２において複数のサーバ選択候補の中からいくつかのサーバを選択しなければならない場合、サーバ間距離取得部２２１を用いて転送サーバリスト通知要求元と候補サーバ間の距離を取得し、距離の短いサーバを優先して選択する。
【００６２】
サーバ間距離取得部２２１では図２３に示す拠点間距離リストを保持し、このリストを参照して用いて転送サーバリスト通知要求元と候補サーバ間の距離を求める。このリストは２拠点のネットワークアドレスとその２拠点間の距離を記述できるように構成されている。当リストに記述の無い拠点間の距離については別途指定されたデフォルト値が返されるものとする。
【００６３】
以上示した通り、当実施例によってサーバ間距離を考慮したツリー生成を実施することにより、コンテンツ配信ツリーを流れるコンテンツによるトラヒック増を抑制できることがわかる。
【００６４】
（実施例３）
実施例３は実施例１を改良したものである。実施例１ではリーフサーバは一度コンテンツを完全に受信してからサーバツリー形成装置に問い合わせ、取得した転送サーバリストに記載のサーバにコンテンツを転送するが、大容量ファイルの転送を行う上で完全に蓄積してから転送する方法は処理遅延を増大させ、効率が悪い。そこで、実施例１で示されたリーフサーバの構成を図２４に示すように改良し、コンテンツ受信時にコンテンツ受信部１０２から更新対象コンテンツをコンテンツ送信部１０５へ送り、全てのコンテンツを受信するのを待たずに次段のリーフサーバにコンテンツを転送する。コンテンツの受信が終了し、それに伴い次段のリーフサーバへのコンテンツ転送も終了し、さらに他のリーフサーバにコンテンツを配信する際は、実施例１と同様コンテンツ格納ディレクトリ１０３からコンテンツを読み出すものとする。
【００６５】
以上示した通り、当実施例によってリーフサーバが受信開始と同時に他のリーフサーバに対して送信できることから、コンテンツ一斉配備に要する時間の短縮が可能となる。
【００６６】
（実施例４）
実施例４は実施例３を改良したものである。実施例３では図２５に示すようにサーバツリー形成装置によって生成されたサーバツリーに属するリーフサーバの一個所がコンテンツ更新・転送処理中に停止してしまった場合、当該リーフサーバ配下のすべてのサーバにおいてコンテンツ更新処理が中断されてしまう。図２５の場合Ｓ２が停止しているために、Ｓ５、Ｓ６、Ｓ１０、Ｓ１１、Ｓ１２にはコンテンツが配信されない。このような状況で故障しているＳ２以外のサーバにコンテンツを配信するための仕組みを本実施例で提供する。
【００６７】
オリジナルサーバの構成は実施例３、即ち実施例１の構成と同一である。
【００６８】
リーフサーバの構成を図２６に示す。リーフサーバは実施例３の構成に、コンテンツ受信部１０２においてコンテンツ受信処理が中断したことを検知した場合、前段のサーバが稼働中か検査する前段サーバ稼働検査部２６１と、前段サーバ稼動検査部２６１によって前段サーバが停止していることを確認した場合、図２７に示す再アクセス先取得要求情報を転送サーバ通知装置に送信し、再アクセス先を取得する再アクセス先取得部２６２と、取得した再アクセス先に対しコンテンツの取得要求を行うコンテンツ取得要求部２６３とを追加した構成をとる。またコンテンツ送信部１０５はコンテンツ受信処理中断前に転送していたサーバに対し引き続きコンテンツを転送する。
【００６９】
サーバツリー形成装置の構成は実施例３、即ち実施例１の構成と同一である。ただし、転送サーバリスト取得要求情報受信部が受信した情報が転送サーバリスト取得要求情報であるか再アクセス先取得要求情報かを判断する点と、再アクセス先要求の場合はサーバ選択部において「未評価」のサーバを選択するのではなく、「選択済み」のサーバの中から選択する点と、転送サーバリスト送信部が転送サーバリストの代わりに再アクセス先を送信する点とが異なる。
【００７０】
このような仕組みを有する場合、図２５のケースでの振る舞いを以下に示す。Ｓ５およびＳ６はコンテンツの転送が中断したことを検知すると、前段サーバＳ２が停止しているか検査する。Ｓ２は停止しているためサーバツリー形成装置に対し再アクセス先取得要求情報を通知する。その結果Ｓ５に対してはＳ７が、Ｓ６に対してはＳ９がそれぞれ選択されたとする。前段サーバが決定したらそれまで配信していたＳ１０、Ｓ１１、Ｓ１２に対する転送処理を再開する。一方Ｓ１０、Ｓ１１、Ｓ１２はコンテンツの転送が中断したことを検知し、前段サーバＳ５またはＳ６が停止しているか検査する。その結果Ｓ５、Ｓ６とも停止していないため、自ら他サーバヘ再アクセスは行わない。結果としてＳ５、Ｓ６から再送されるまで待機する。
【００７１】
以上示した通り、当実施例によってコンテンツ配信途中であるサーバが停止した場合でも停止したサーバ配下のサーバは早期に復旧が可能である。また停止したサーバ配下のサーバ台数が多い場合でもそれら全てから再アクセス先要求が到達するわけではないため、サーバツリー形成装置への負荷集中を抑制することが可能となる。
【００７２】
（実施例５）
実施例５は実施例１を改良したものである。実施例１ではあるリーフサーバに対するコンテンツ配信元である前段のサーバは必ず一つであった。従って、前段のサーバの上がり帯域が当該リーフサーバの下り帯域よりも小さい場合は当該リーフサーバの受信能力を十分生かすことができず、コンテンツ一斉配備に要する時間が長期化する可能性が高い。そこで実施例５では、あるリーフサーバが複数のサーバからコンテンツを受信するような形のコンテンツ配信ツリーを形成する仕組みを提供する。
【００７３】
実施例５において、オリジナルサーバの構成は、実施例１の構成（図４参照）と比べ、転送サーバリスト取得部４５が取得する転送サーバリストに、転送サーバ毎に指定された転送すべきコンテンツの範囲が含まれる点と、コンテンツ送信部４６はそこで指定されたコンテンツの範囲のみを各々のリーフサーバに配信する部分が異なる。
【００７４】
またリーフサーバの構成は、実施例１の構成（図１０参照）と比べ、コンテンツ格納ディレクトリ１０３にコンテンツの一部分のみが格納される場合がある点、および転送サーバリスト取得部１０４が当該ツリーＩＤで配信されるコンテンツのうち既にコンテンツ格納ディレクトリ１０３に格納されているコンテンツの一部分の範囲を転送サーバリスト取得要求情報に含める点、および転送サーバリスト取得部１０４が取得する転送サーバリストに、転送サーバ毎に指定されたコンテンツ配信条件が含まれる点と、コンテンツ送信部１０５はそこで指定されたコンテンツの範囲のみを各々のリーフサーバに配信する部分が異なる。
【００７５】
また転送サーバ通知装置（サーバツリー形成装置）の構成は実施例１の構成（図１２参照）と比べ、過去に指定した全てのコンテンツ配信条件をサーバ毎に記憶するコンテンツ配信条件リストをツリーリスト１２５に含むことと、転送サーバリスト取得要求情報受信部１２３が配信可能コンテンツ情報を受信しサーバ選択部１２２に通知することと、サーバ選択部１２２が前記コンテンツ配信条件リストと前記配信可能コンテンツ情報に基づきサーバ選択候補を抽出し、抽出した候補の中からサーバを選択し、選択されたサーバそれぞれについてコンテンツ配信条件を指定し、指定したコンテンツ配信条件を前記コンテンツ配信条件リストに追加し、指定したコンテンツ配信条件を転送サーバリストに含める部分が異なる。
【００７６】
コンテンツの一部分の範囲を図２８による形で表現する。図２８で示した表現形式で示した配信可能コンテンツ情報を含む転送サーバリスト取得要求情報を図２９に示す。またサーバ毎に指定されるコンテンツ配信条件（当該サーバに送信すべきコンテンツの範囲）が示された転送サーバリストを図３０に示す。サーバツリー形成装置におけるツリーリストの構成を図３１に示す。ツリーリストには過去に通知した全てのコンテンツ配信条件がサーバ毎に記述される。
【００７７】
サーバツリー形成装置のサーバ選択処理におけるコンテンツ配信条件決定処理について図３２を用いて説明する。「選択状態」が未選択のもの、あるいは「選択状態」が「選択済み」であって過去に通知したコンテンツ配信条件（当該サーバに送信すべきコンテンツの範囲）から当該サーバには未だ取得していないコンテンツの一部分が存在すると判別できたサーバを候補サーバリストとして抽出し、それぞれ候補サーバ毎に記憶されている過去に通知したコンテンツ配信条件を取得する。図３２からサーバＡの過去に指定したコンテンツ配信条件は１０ＭＢ−３０ＭＢ、５０ＭＢ−９０ＭＢ、１１０ＭＢ−１３０ＭＢである。同様にサーバＢのコンテンツ配信条件は０Ｂ−２０ＭＢ、４０ＭＢ−８０ＭＢ、１００ＭＢ−１５０ＭＢ、サーバＣに対しては７０ＭＢ−１２０ＭＢである。これらの部分の範囲以外はそれぞれのサーバが未だ取得していない範囲と見なすことができる。一方転送サーバリスト取得要求元から通知された配信可能コンテンツ情報は１０ＭＢ−２０ＭＢ、４０ＭＢ−６０ＭＢ、８０ＭＢ−１５０ＭＢである。この領域は転送サーバリスト取得要求元が送信可能な範囲と見なすことができる。コンテンツ配信条件の指定は、各サーバが未だ有していない範囲であり、かつ転送サーバリスト取得要求元が有している範囲を指定するのが基本である。図３２の例ではサーバＡに対しては４０ＭＢ−５０ＭＢ、９０ＭＢ−１１０ＭＢ、１３０ＭＢ−１５０ＭＢ（計５０ＭＢ）を指定し、サーバＢに対しては８０ＭＢ−１００ＭＢ（計２０ＭＢ）を指定し、サーバＣに対しては１０ＭＢ−２０ＭＢ、４０ＭＢ−６０ＭＢ、１２０ＭＢ−１５０ＭＢ（計６０ＭＢ）を指定する。ただし、ある候補サーバの下り回線帯域をＲｃ．ｄｏｗｎとし、また候補サーバの数をＮとし、転送サーバリスト取得要求元の上り回線帯域をＲ０．ｕｐとしＲ０．ｕｐ／Ｎ＜Ｒｃ．ｄｏｗｎを満たす候補サーバについてはコンテンツ全体のサイズをＭとし、指定すべきコンテンツサイズの上限値はＭ×（Ｒ０．ｕｐ／Ｎ）／Ｒｃ．ｄｏｗｎであるものとする。例えばサーバＡ、サーバＢの下り回線帯域を３Ｍｂｐｓとし、サーバＣの下り回線帯域を９Ｍｂｐｓとし、転送サーバリスト取得要求元の上り回線帯域を９Ｍｂｐｓとすると、サーバＣのみがＲ０．ｕｐ／Ｎ＜Ｒｃ．ｄｏｗｎを満たす。この時の指定すべき範囲の上限値は１５０ＭＢ×（９Ｍｂｐｓ／３）／９Ｍｂｐｓ＝５０ＭＢとなるため、サーバＣに対しては上記に示すコンテンツ配信条件の代わりにトータルの範囲が５０ＭＢ以下になるように（例えば１０ＭＢ−２０ＭＢ、４０ＭＢ−６０ＭＢ、１２０ＭＢ−１４０ＭＢ（計５０ＭＢ））を指定する。このようにして指定されたコンテンツ配信条件をツリーリストに追記する。図３２の例についてコンテンツ配信条件のツリーリストヘの追記前と追記後の比較を図３３に示す。
【００７８】
このような処理を全てのリーフサーバにコンテンツの未配信部分が存在しなくなるまで繰り返す。図３３に示した通り、１度転送サーバリストで通知されたサーバについても未配信部分が残るため、再度当該リーフサーバに対し別な前段サーバからコンテンツが配信される可能性がある。このように複数のサーバからコンテンツが配信されることでリーフサーバの受信性能を十分利用することができ、コンテンツ一斉配備処理の高速化が実現できる。
【００７９】
なお、本発明の各装置はコンピュータとプログラムによっても実現でき、プログラムを記録媒体に記録することも、ネットワークを通じて提供することも可能である。
【００８０】
以上本発明者によってなされた発明を、前記実施例に基づき具体的に説明したが、本発明は、前記実施例に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは勿論である。
【００８１】
【発明の効果】
以上示してきた通り、本発明によってサーバツリーは個々のサーバに個別に設定せず集中管理可能となり、またサーバツリーを個々のサーバの稼動状態に基づいて動的に生成でき、また送信を終えたサーバは再度未受信のサーバに対するコンテンツを配信できるようにすることが可能となるため、これまで困難であった多サーバに対するコンテンツの一斉配備が実現可能となる。
【図面の簡単な説明】
【図１】本発明の実施形態の処理ステップを説明する図である。
【図２】本発明の実施形態のサーバツリー形成装置の構成を説明する図である。
【図３】実施例で前提とする環境を説明する図である。
【図４】実施例１におけるオリジナルサーバの内部構成を説明する図である。
【図５】実施例１におけるオリジナルサーバの動作シーケンスを説明する図である。
【図６】実施例１におけるオリジナルサーバ・リーフサーバの初期設定ファイルを説明する図である。
【図７】実施例１におけるツリーＩＤのフォーマットを説明する図である。
【図８】実施例１における転送サーバリスト取得要求情報のフォーマットを説明する図である。
【図９】実施例１における転送サーバリストのフォーマットを説明する図である。
【図１０】実施例１におけるリーフサーバの内部構成を説明する図である。
【図１１】実施例１におけるリーフサーバの動作シーケンスを説明する図である。
【図１２】実施例１におけるサーバツリー形成装置の内部構成を説明する図である。
【図１３】実施例１におけるサーバツリー形成装置の初期設定ファイルを説明する図である。
【図１４】実施例１におけるサーバツリー形成装置のサーバリストの構成を説明する図である。
【図１５】実施例１におけるサーバツリー形成装置のツリーリストの構成を説明する図である。
【図１６】実施例１におけるサーバツリー形成装置のサーバ選択部における処理フローを説明する図である。
【図１７】実施例１におけるサーバ群のリストを説明する図である。
【図１８】実施例１において形成されるサーバツリーを説明する図である。
【図１９】実施例１においてサーバツリーが形成される際のツリーリストの推移を説明する図（その１）である。
【図２０】実施例１においてサーバツリーが形成される際のツリーリストの推移を説明する図（その２）である。
【図２１】実施例２の効果を説明する図である。
【図２２】実施例２におけるサーバツリー形成装置の内部構成を説明する図である。
【図２３】実施例２における拠点間距離リストを説明する図である。
【図２４】実施例３におけるリーフサーバの内部構成を説明する図である。
【図２５】実施例４の効果を説明する図である。
【図２６】実施例４におけるリーフサーバの内部構成を説明する図である。
【図２７】実施例４における再アクセス先取得要求情報を説明する図である。
【図２８】実施例５におけるコンテンツの一部分の範囲の表現方法を説明する図である。
【図２９】実施例５における転送サーバリスト取得要求情報を説明する図である。
【図３０】実施例５における転送サーバリストを説明する図である。
【図３１】実施例５におけるツリーリストの構成を説明する図である。
【図３２】実施例５におけるコンテンツ配信条件決定処理を説明する図である。
【図３３】実施例５におけるツリーリストの推移を説明する図である。
【符号の説明】
２１…転送サーバリスト取得要求情報受信手段、２２…サーバリスト、２３…ツリーリスト、２４…ツリーリスト生成手段、２５…サーバ選択候補抽出手段、２６…サーバ選択手段、２７…サーバ選択状態格納の手段、２８…転送サーバ送信手段、４０…オリジナルサーバ、４１…初期設定ファイル、４２…コンテンツ格納ディレクトリ、４３…コンテンツ更新有無チェック部、４４…ツリーＩＤ生成部、４５…転送サーバリスト取得部、４６…コンテンツ送信部、４７…ＴＣＰ／ＩＰ送受信部、１００…リーフサーバ、１０１…初期設定ファイル、１０２…コンテンツ受信部、１０３…コンテンツ格納ディレクトリ、１０４…転送サーバリスト取得部、１０５…コンテンツ送信部、１０６…ＴＣＰ／ＩＰ送受信部、１２０…ツリーサーバ形成装置、１２１…初期設定ファイル、１２２…サーバ選択部、１２３…転送サーバリスト取得要求情報受信部、１２４…サーバリスト、１２５…ツリーリスト、１２６…ツリーリスト生成部、１２７…転送サーバリスト送信部、１２８…ＴＣＰ／ＩＰ送受信部、２２１…サーバ間距離取得部、２６１…前段サーバ稼働検査部、２６２…再アクセス先取得部、２６３…コンテンツ取得要求部
【図１】
2005025622.tif 000003
【図２】
2005025622.tif 000004
【図３】
2005025622.tif 000005
【図４】
2005025622.tif 000006
【図５】
2005025622.tif 000007
【図６】
2005025622.tif 000008
【図７】
2005025622.tif 000009
【図８】
2005025622.tif 000010
【図９】
2005025622.tif 000011
【図１０】
2005025622.tif 000012
【図１１】
2005025622.tif 000013
【図１２】
2005025622.tif 000014
【図１３】
2005025622.tif 000015
【図１４】
2005025622.tif 000016
【図１５】
2005025622.tif 000017
【図１６】
2005025622.tif 000018
【図１７】
2005025622.tif 000019
【図１８】
2005025622.tif 000020
【図１９】
2005025622.tif 000021
【図２０】
2005025622.tif 000022
【図２１】
2005025622.tif 000023
【図２２】
2005025622.tif 000024
【図２３】
2005025622.tif 000025
【図２４】
2005025622.tif 000026
【図２５】
2005025622.tif 000027
【図２６】
2005025622.tif 000028
【図２７】
2005025622.tif 000029
【図２８】
2005025622.tif 000030
【図２９】
2005025622.tif 000031
【図３０】
2005025622.tif 000032
【図３１】
2005025622.tif 000033
【図３２】
2005025622.tif 000034
【図３３】
2005025622.tif 000035