説明

ツリー状ネットワーク再構成装置及びプログラム、並びに、ツリー状ネットワークシステム

【課題】 ツリー上の全てのノードに配送データを迅速に配備させることができるツリー状ネットワーク再構成装置を提供する。
【解決手段】 本発明は、分散配置された複数のサーバが論理的にはツリー状に接続されているネットワークから、所定事象の出現に基づき、1つのサーバを除外した構成にツリー構成を再構成するツリー状ネットワーク再構成装置に関する。そして、除外対象の上記サーバに置き換わる候補である置き換え候補サーバを選出する候補選出手段と、置き換え候補サーバのそれぞれについて、そのサーバのスペックの情報を取り込む候補スペック情報取込手段と、置き換え候補サーバのスペック情報から見て、その置き換え候補サーバが除外対象の上記サーバの遂行能力以上を確保できることを1条件として、除外対象の上記サーバに置き換わるサーバを決定する置換サーバ決定手段とを備えることを特徴とする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ツリー状ネットワーク再構成装置及びプログラム、並びに、ツリー状ネットワークシステムに関し、例えば、分散配置された複数のコンテンツ配信サーバを論理的にツリー状に配置したシステムにおいて、ツリー途中のノード(但し、ノードはコンテンツ配信サーバを意味する)に障害が発生した場合の対応に適用し得るものである。
【背景技術】
【0002】
ユーザ端末に対してコンテンツ(例えば、映像コンテンツ)を配信する複数のコンテンツ配信サーバ(以下、配信サーバと呼ぶ)を分散配置したコンテンツ配信システムがある。このようなコンテンツ配信システムの中には、上述した複数の配信サーバを論理的にはツリー状に配置し、ツリーのルートノードからエンドノードに向かってコンテンツを枝分かれしながら配送することにより、各配信サーバに同一コンテンツを配備させ、各配信サーバは自己が収容するユーザ端末にコンテンツを配信するシステムがある。
【0003】
ここで、ツリーのルートノードからエンドノードに向かってコンテンツを配送している際中に、ツリー上のある中間ノードにおいて障害が発生した場合、その中間ノードの先のノードにコンテンツを配備できない。そのため、障害が発生した中間ノードを介さずに、全てのノードにコンテンツを配備できるようにツリーを再構成する必要がある。特許文献1の実施形態4には、ツリーの再構成方法が記載されている。この再構成方法は、障害が発生した中間ノードの下流のノード毎に、そのノードを収容する他のノードを決定するものである。収容する他のノードは、ツリー上のエンドノードの中から決定される。障害が発生した中間ノードに接続されている下流ノードが複数ある場合に、それぞれの下流ノードを収容する他のノードが決定され、下流ノードによって収容される他のノードが異なることもある。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2005−25622
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、コンテンツ配送中に中間ノードに障害が発生した場合、その障害ノードの下流ノードを収容することとなったエンドノードまで、コンテンツが配送されていないこともあり、ツリーを再構成して、再構成したツリーを適用しても障害ノードの下流側のノードへコンテンツを配送できない恐れもある。
【0006】
障害ノードの下流ノードを収容することとなったエンドノードまでコンテンツが配送されていたとしても、再構成前にエンドノードであったノードが中間ノードとして下流への配送を行うため、ルートノードからの必要ホップ数が再構成前より大きくなったノードが多く、ツリー上の全てのノードにコンテンツを配備するのにかなりの長時間を要する。特に、置き換えられたノードの配送能力が低い場合には、かかる配備時間の課題はより大きなものとなる。
【0007】
そのため、ツリー上の全てのノードに配送データを迅速に配備させることができるツリー状ネットワーク再構成装置及びプログラムが望まれている。
【課題を解決するための手段】
【0008】
第1の本発明は、分散配置された複数のサーバが論理的にはツリー状に接続されているネットワークから、所定事象の出現に基づき、1つのサーバを除外した構成にツリー構成を再構成するツリー状ネットワーク再構成装置において、(1)除外対象の上記サーバに置き換わる候補である置き換え候補サーバを選出する候補選出手段と、(2)置き換え候補サーバのそれぞれについて、そのサーバのスペックの情報を取り込む候補スペック情報取込手段と、(3)置き換え候補サーバのスペック情報から見て、その置き換え候補サーバが除外対象の上記サーバの遂行能力以上を確保できることを1条件として、除外対象の上記サーバに置き換わるサーバを決定する置換サーバ決定手段とを備えることを特徴とする。
【0009】
第2の本発明のツリー状ネットワーク再構成プログラムは、分散配置された複数のサーバが論理的にはツリー状に接続されているネットワークから、所定事象の出現に基づき、1つのサーバを除外した構成にツリー構成を再構成するツリー状ネットワーク再構成装置に搭載されるコンピュータを、(1)除外対象の上記サーバに置き換わる候補である置き換え候補サーバを選出する候補選出手段と、(2)置き換え候補サーバのそれぞれについて、そのサーバのスペックの情報を取り込む候補スペック情報取込手段と、(3)置き換え候補サーバのスペック情報から見て、その置き換え候補サーバが除外対象の上記サーバの遂行能力以上を確保できることを1条件として、除外対象の上記サーバに置き換わるサーバを決定する置換サーバ決定手段として機能させることを特徴とする。
【発明の効果】
【0010】
本発明によれば、ツリー上の全てのノードに配送データを迅速に配備させることができるツリー状ネットワーク再構成装置及びプログラムを実現することができる。
【図面の簡単な説明】
【0011】
【図1】第1の実施形態のコンテンツ配信システムの全体構成を示すブロック図である。
【図2】第1の実施形態における複数の配信サーバの論理的な接続関係を示す説明図である。
【図3】第1の実施形態における配信サーバの内部構成を示す機能ブロック図である。
【図4】第1の実施形態におけるコンテンツ管理サーバの内部構成を示す機能ブロック図である。
【図5】第1の実施形態における配送情報データベースにおける置き換えノード候補を評価するための情報の構成を示す説明図である。
【図6】第1の実施形態におけるコンテンツ管理サーバが実行する配送指示動作を示すフローチャートである。
【図7】第1の実施形態において、管理者からの配送指示に対し、コンテンツ配送が正常になされる場合の処理の流れを示すシーケンス図である。
【図8】第1の実施形態において、管理者からの配送指示に応じて開始しようとしたコンテンツ配送の配送先を、障害の配信サーバのために置き換える必要が生じた場合の処理の流れを示すシーケンス図である。
【図9】第1の実施形態におけるコンテンツ管理サーバが実行するツリーの再構成処理を示すフローチャートである。
【図10】第1の実施形態における、障害ノードの置き換え候補と、障害ノードに直接接続されている上流ノードとの距離を計測する処理を示すシーケンス図である。
【図11】第1の実施形態におけるツリーの再構成後の構成を、従来におけるツリーの再構成後の構成と共に示す説明図である。
【図12】第2の実施形態におけるコンテンツ管理サーバが実行するツリーの再構成処理を示すフローチャートである。
【図13】第2の実施形態における配送情報データベースにおける置き換えノード候補を評価するための情報の構成を示す説明図である。
【発明を実施するための形態】
【0012】
(A)第1の実施形態
以下、本発明によるツリー状ネットワーク再構成装置及びプログラム、並びに、ツリー状ネットワークシステムの第1の実施形態を、図面を参照しながら説明する。第1の実施形態のツリー状ネットワークシステムは、コンテンツ配信システムである。
【0013】
(A−1)第1の実施形態の構成
図1は、第1の実施形態のコンテンツ配信システム1の全体構成を示すブロック図である。
【0014】
図1において、第1の実施形態のコンテンツ配信システム1は、複数の配信サーバ2−0〜2−Nと、コンテンツ管理サーバ3と、配送情報データベース(配送情報DB)4とがネットワーク5を介して通信可能に接続されている。
【0015】
ネットワーク5は、1つのネットワーク(例えば、IPネットワーク)であっても良く、また、複数のネットワークが融合したものであっても良い。さらに、ネットワーク5は、スター状、リング状、メッシュ状等のいずれの接続形態のものであっても良い。
【0016】
第1の実施形態のコンテンツ配信システム1は、このようなネットワーク5の構成に拘わらず、複数の配信サーバ2−0〜2−Nの論理的な接続関係が定まっている。すなわち、第1の実施形態のコンテンツ配信システム1の場合、複数の配信サーバ(適宜、ノードと呼ぶ)2−0〜2−Nは、論理的には、図2に示すようにツリー状に接続されている(図2は配信サーバが12個の場合を示している)。但し、コンテンツ管理サーバ3及びツリーデータベース4は、このツリー状ネットワークから離れて設けられている。ここで、ツリー状ネットワークとは、1つのルートノード2−0から徐々に枝分かれしつつ、末端のエンドノード2−5、2−7〜2−11へのコンテンツの配信経路が1本道になっているネットワークである。
【0017】
ルートノード2−0は、予め定まっている次(下流)のノード(図2の例では2−1及び2−2)へコンテンツを送信だけするノードである。各エンドノード2−5、2−7〜2−11はそれぞれ、予め定まっている前(上流)のノードから送信されたコンテンツを受信するだけのノードである。中間ノード2−1〜2−4、2−6は、予め定まっている前(上流)のノードから送信されたコンテンツを受信すると共に、そのコンテンツを予め定まっている次(下流)のノードへ送信するノードである。
【0018】
この明細書において、「配送」とは各配信サーバにコンテンツを配備するために配信サーバから他の配信サーバへコンテンツを送信することを言い、一方、「配信」とは配信サーバが自己に配備されたコンテンツをユーザ端末へ送信することを言うこととする。
【0019】
各配信サーバ2−0〜2−Nはそれぞれ、配送されたコンテンツを自己に配備して、自己に割り当てられているユーザ端末にコンテンツを配信するサーバである。各配信サーバ2−0〜2−Nは、ユーザ端末の位置や密度等を考慮しながら、各地域に分散的に配置されているものである。
【0020】
図3は、配信サーバ2−n(nは0〜N)の内部構成を示した機能ブロック図であり、特には、中間ノードの内部構成を示している。
【0021】
配信サーバ2−nは、通信部10、配送コンテンツ受信部11、コンテンツ格納部12、配送コンテンツ送信部13、配送制御部14、コンテンツ配信部15及び配信制御部16を有する。
【0022】
通信部10は、ネットワーク5側との通信(送受信)を行うものである。ネットワーク5が、例えばIPネットワークであれば、通信部10は、TCP/IP送受信部となる。なお、図3では、配信サーバ間でコンテンツを配送する通信部もユーザ端末にコンテンツを配信する通信部も共通なものを示したが、これら通信部が別個に設けられたものであっても良い。
【0023】
配送コンテンツ受信部11は、上流ノードから配送(送信)された通信部10を介して与えられたコンテンツを受信処理して、コンテンツ格納部12に格納させるものである。
【0024】
コンテンツ格納部12は、配送されたコンテンツを格納するものである。ここで、ユーザ端末に配信するためにコンテンツを格納する格納部と、上流ノードから配送されたコンテンツを下流ノードに送信するまで一時的に格納する格納部とを別個に設けるようにしても良い。このような2つの格納部構成の場合には、後者の格納部から前者の格納部へ移し替えることも適宜実行される。
【0025】
配送コンテンツ送信部13は、コンテンツ格納部12に格納されているコンテンツを、通信部10を介して、下流ノードへ送信(配送)するものである。
【0026】
配送制御部14は、コンテンツ配送に係る各種の制御処理を実行するものである。例えば、配送制御部14は、配送コンテンツ受信部11によるコンテンツの受信が終了した場合には、受信が正常に終了したことを通信部10を介して配送元の配信サーバに通知し、受信が途中で失敗したときには受信エラーを通信部10を介して配送元の配信サーバに通知する。また例えば、配送制御部14は、通信部10を介してコンテンツ管理サーバ3から配送指示が与えられたときに、配送コンテンツ送信部13による下流ノードへのコンテンツ配送を起動するものである。さらに例えば、配送制御部14は、通信部10を介して、下流ノードからコンテンツの受信終了の通知や受信エラーを受け取ったときには、通信部10を介してコンテンツ管理サーバ3へ配送指示に従った配送を実行した旨やエラー発生を返信するものである。また例えば、配送制御部14は、下流ノードへのコンテンツ配送を開始しようとして又はコンテンツ配送中に、下流ノードの障害発生を認識したときには、通信部10を介してコンテンツ管理サーバ3へ障害発生又はエラー発生を通知するものである。
【0027】
第1に、コンテンツを配送する下流ノードの情報は配送指示に含まれていても良い。第2に、下流ノードの情報は配送指示に含まれておらず、配送制御部14が内部に下流ノードの情報を保持しておき、配送指示時に、その情報を取り出すようにしても良い。第3に、下流ノードの情報が配送指示に含まれていればそれに従い、下流ノードの情報が配送指示に含まれていなければ配送制御部14が内部に保持しておいた下流ノードの情報を利用するようにしても良い。後述するツリーの再構成後において、第1及び第3の方法では、配送指示に下流ノードの情報を含めることで再構成後の下流ノードへ配送を行うことができる。第2の方法の場合、配送指示に先立ち、再構成後の下流ノードの情報が与えられて配送制御部14が保持し、その後、配送指示が与えられることになる。
【0028】
コンテンツ配信部15は、コンテンツ格納部12に格納されているコンテンツを、通信部10を介して、ユーザ端末へ配信するものである。コンテンツ配信部15は、配送コンテンツ送信部13と共用させたものであっても良い。
【0029】
配信制御部16は、ユーザ端末へのコンテンツ配信を制御するものである。ここで、ユーザ端末へのコンテンツ配信は、所定時刻になったときや、上位装置(図示せず)からに指示に従って、当該配信サーバ2−nが管轄する全てのユーザ端末へ一斉若しくは逐次配信であっても良く、また、配信を要求したユーザ端末への個別配信であっても良い。
【0030】
図3は、上述したように、中間ノードとなっている配信サーバ2−nの内部構成を示している。ルートノードとなっている配信サーバ2−0は、配送コンテンツをネットワークから受け入れる構成がないものであっても良い。この場合、管理者のファイル設定操作等によって、コンテンツ格納部12にコンテンツを格納させることになる。また、ルートノードとなっている配信サーバ2−0も、図3と同様な構成を有し、配信サーバとは異なる外部装置が送信したコンテンツをネットワーク5から取り込んで、コンテンツ格納部12にコンテンツを格納させるようにしても良い。エンドノードとして、中間ノードとなることができるエンドノードの他、中間ノードとなることができないエンドノードがあっても良い。中間ノードとなることができるエンドノードは、図3に示す構成を有する。中間ノードとなることができないエンドノードは、コンテンツを下流ノードへ配送する構成がないものであっても良い。
【0031】
コンテンツ管理サーバ3は、全て(但し、障害が発生しているものを除く)の配信サーバ2−0〜2−Nにコンテンツを配備させるべく、コンテンツの配送を管理、制御するサーバである。なお、コンテンツ管理サーバ3は、ユーザ端末へのコンテンツへの配信についても、管理、制御するものであっても良い。
【0032】
図4は、コンテンツ管理サーバ3の内部構成を示した機能ブロック図である。コンテンツ管理サーバ3の一部機能が、CPU及びCPUが実行するプログラムによって実現されている場合であっても、機能的には、コンテンツ管理サーバ3の内部構成を図4で示すことができる。
【0033】
図4において、コンテンツ管理サーバ3は、通信部20、管理者インタフェース部21、ツリー基本構成格納部22、障害ノード格納部23、ツリー再構成部24及び配送指示制御部25を有する。
【0034】
通信部20は、ネットワーク5側との通信(送受信)を行うものである。ネットワーク5が、例えばIPネットワークであれば、通信部20は、TCP/IP送受信部となる。
【0035】
管理者インタフェース部21は、キーボード、マウス、ディスプレイ等でなり、管理者による操作入力(例えば、配送指示)を取り込んだり、当該コンテンツ管理サーバ3における処理結果やガイダンスメッセージ等を管理者に知得させたりするものである。図4では、管理者が、コンテンツ管理サーバ3に直接操作するものを示したが、管理者がパソコンなどでなる管理者端末を操作し、その管理者端末とコンテンツ管理サーバ3との通信によって、管理者がコンテンツ管理サーバ3に指示を与えるものであっても良い。
【0036】
ツリー基本構成格納部22は、全ての配信サーバ2−0〜2−Nの図2に示すような基本的なツリー構成の情報を格納しているものであり、その格納情報は、適宜、配送指示制御部25によって読み出されるものである。ここで、基本的なツリー構成とは、いずれの配信サーバにも障害が発生していないときに、コンテンツの配送に利用するツリー構成をいう。後述するように、いずれかの配信サーバに障害が発生した場合にはツリーの再構成が実行される。この場合において、障害ノードが復旧したときには、ツリー基本構成格納部22に格納されている基本的なツリー構成を再度適用するようにしても良く、また、再構成されたツリーに、復旧したノードを所定ルールに従って追加して、新たな基本的なツリー構成としてツリー基本構成格納部22に上書きするようにしても良い。以下では、障害ノードが復旧したときには、ツリー基本構成格納部22に格納されている基本的なツリー構成を再度適用するものとして説明する。
【0037】
障害ノード格納部23は、障害が発生中の配信サーバの情報(サーバの識別情報や障害件時刻等)を格納しているものであり、格納情報は、配送指示制御部25によってアクセス(書込み、読出し、消去等)される。障害ノード格納部23に障害が発生した配信サーバの情報が格納されているときには、後述するツリーの再構成処理で決定された、その障害発生の配信サーバに置き換わる配信サーバの情報も併せて格納されるようになされている。
【0038】
配信サーバに障害があることは、上流の配信サーバがコンテンツを配送しようとしたときに検出することができる。また、コンテンツ管理サーバ3が定期的に各配信サーバの状態を確認して障害の発生を検出することもできる。
【0039】
ツリー再構成部24は、いずれかの配信サーバに障害が発生した場合、すなわち、基本的なツリー構成では、コンテンツが配送されない配信サーバが生じる場合に、配送指示制御部25の制御下で、ツリーを再構成するものである。ツリーの再構成処理は、いずれかの配信サーバに障害が生じたことを検出されたときに実行される。ツリー再構成部24による再構成方法については、後述する動作説明で明らかにする。
【0040】
配送指示制御部25は、管理者からの配送指示を受け、その配送指示に係る配送元及び配送先の配信サーバ間の配送状況や、配送元及び配送先の配信サーバの障害有無等を確認し、基本的構成のツリー上のいずれかの配信サーバ若しくは再構成したツリー上のいずれかの配信サーバに対し、通信部20を介してコンテンツの配送指示を与えるものである。配送指示制御部25は、複数種類のコンテンツの配送を並行的に制御しても良い。配送指示制御部25は、それぞれのコンテンツをルートノード2−0に配備した時刻を管理している。
【0041】
配送情報データベース4は、詳細構成の図示は省略するが、コンテンツ管理サーバ3が処理時に参照する少なくとも2種類の情報を格納しているものである。第1の情報は、各配信サーバについて、コンテンツが未配送か配送済かを表す配送状況の情報である。配送に係るコンテンツが複数種類ある場合には、それぞれのコンテンツについて配送状況の情報が格納される。第2の情報は、基本的なツリー構成における中間ノードに障害が発生した場合において、その中間ノードに置き換わって、その中間ノードの下流ノードへのコンテンツ配送を行うノードとなり得る置き換え候補と、その候補を評価するための情報(候補評価用情報)である。
【0042】
図1では、配送情報データベース4もネットワーク5の要素となっているものを示したが、配送情報データベース4が、コンテンツ管理サーバ3に対して専用回線によって接続されていても良く、また、コンテンツ管理サーバ3にケーブル等で直接接続されたものであっても良い。このような場合、コンテンツ管理サーバ3は、通信部20の他に配送情報データベース4にアクセスするための構成要素を備えることになる。
【0043】
図5は、配送情報データベース4における上述した候補評価用情報(第2の情報)の構成例を示す説明図であり、置き換え候補となり得る一部の配信サーバの情報を示している。
【0044】
図5において、候補評価用情報は、置き換え候補の識別情報毎の行(レコード)を有し、各行は、その置き換え候補のサーバとしてのスペック(サーバとして備わっている処理能力)の情報と、距離情報とでなる。
【0045】
スペック情報としては、例えば、(a)下流ノードを収容できる数(下流ノードと接続可能なパス本数)、(b)下流ノードへの各パスにおける通信帯域、(c)コンテンツ配信可能本数(現在の状態から増加することが可能な余裕の配信本数)が記述される。距離情報は、当初は空欄であって、障害ノードが生じてその行のノードが置き換え候補となったときに、後述するように計測されて書き入れられるものである。
【0046】
図5の例では、配信サーバ2−7は置き換え候補になり得るサーバであり、配信サーバ2−7は、最大5個の下流ノードへコンテンツを配送することが可能であり、5本の下流ノードへのパスはそれぞれ、10[GB/s]、10[GB/s]、10[GB/s]、10[GB/s]、10[GB/s]の通信帯域を確保でき、現状より120個多いユーザ端末への配信が可能である。距離として「8.1」が記述されているが、これは、後述するよう距離計測処理がなされて書き入れられたものである。
【0047】
この第1の実施形態の場合、障害ノードに置き換えられたノードは、下流ノードへのコンテンツ配送だけでなく、障害ノードに割り当てられているユーザ端末へのコンテンツ配信を引き継ぐ。但し、障害ノードに置き換えられたノードは、下流ノードへのコンテンツ配送だけを引き継ぎ、障害ノードに割り当てられているユーザ端末へのコンテンツ配信は他のルールによって引き継ぐノードを決定するようにしても良い。例えば、障害ノードとの距離が近いノード(若しくは基本構成上で障害ノードとのホップ数が少ないノード)で、コンテンツ配信に余裕があるノードが、障害ノードに割り当てられているユーザ端末へのコンテンツ配信を引き継ぐようにしても良い。このような場合であれば、(c)のコンテンツ配信可能本数は候補評価用情報から除外される。
【0048】
(A−2)第1の実施形態の動作
次に、第1の実施形態に係るコンテンツ配信システム1の動作を説明する。以下では、ツリーの再構成に関係する動作を中心に説明する。
【0049】
管理者は、コンテンツ管理サーバ3に対して、基本的なツリー構成上、直接接続されている2つの配信サーバ(若しくはこれら配信サーバを結ぶパス)を指定してコンテンツの配送を指示する。このとき、コンテンツ管理サーバ3は、図6に示す適用ツリーの決定動作を実行する。
【0050】
なお、配送に係るコンテンツが複数種類存在する場合には、管理者はコンテンツの種類を指定して配送を指示することになる。例えば、管理者は、ディスプレイ上に基本的なツリー構成を表示させ、その表示されたツリー構成のいずれかのパスを表示画面上で指定(例えばクリック)することにより、配送指示に係るパス(2つの配信サーバ)を指定する。なお、ディスプレイ上に基本的なツリー構成を表示させる際、全ての配信サーバについて、配送情報データベース4に格納されている配送状況を取出し、コンテンツが未配送の配信サーバと配送済の配信サーバとを区別(例えば、表示色を変える)して表示し、効率的にコンテンツ配送の指示を発行することができるようにしても良い。
【0051】
コンテンツ管理サーバ3は、図6に示す処理を開始すると、まず、配送指示に係るコンテンツの各配信サーバへの配送状況を配送情報データベース4から取出すと共に、内蔵する障害ノード格納部23から障害情報を取り出す(ステップ100)。
【0052】
そして、コンテンツ管理サーバ3は、障害ノードが存在するか否かを判別する(ステップ101)。障害ノードが存在しない場合には、コンテンツ管理サーバ3は、基本的なツリー構成に従ってコンテンツを配送することに決定し、管理者から指示された配送指示を、基本的なツリー構成にあてはめて配送元の配信サーバを定め(ステップ102)、その配送元の配信サーバへ配送指示を与える(ステップ103)。
【0053】
障害ノードがあると、コンテンツ管理サーバ3は、障害検出時刻と、コンテンツをルートノード2−0に配備した時刻とを比較することにより、今回の配送指示に係るコンテンツの一連の配送動作が開始された以降に障害が発生した否かを判別する(ステップ104)。
【0054】
今回の配送指示に係るコンテンツの一連の配送動作が開始される前に障害が発生していると、コンテンツ管理サーバ3は、再構成されたツリー構成に従ってコンテンツを配送することに決定し、管理者から指示された配送指示を、再構成されたツリー構成にあてはめて配送元の配信サーバを定め(ステップ105)、その配送元の配信サーバへ配送指示を与える(ステップ103)。すなわち、コンテンツをルートノード2−0に配備する前に、障害ノードが生じていた場合には、再構成されたツリー構成を適用する。ステップ105を実行する際に、並行して、ツリーの再構成処理が行われていても良い。
【0055】
一方、障害検出時刻と、コンテンツをルートノード2−0に配備した時刻との比較により、基本構成のツリー構成での配送を行っている際中に、いずれかのノードに障害が発生したと判別した場合には、コンテンツ管理サーバ3は、障害ノードの下流ノードへのコンテンツ配送が終了しているか否かを判別する(ステップ106)。障害ノードの下流ノードへのコンテンツ配送が終了していると、コンテンツ管理サーバ3は、基本的なツリー構成に従ってコンテンツを配送することに決定し、管理者から指示された配送指示を、基本的なツリー構成にあてはめて配送元の配信サーバを定め(ステップ102)、その配送元の配信サーバへ配送指示を与える(ステップ103)。これに対して、障害ノードの下流ノードへのコンテンツ配送がなされていないと、コンテンツ管理サーバ3は、再構成されたツリー構成に従ってコンテンツを配送することに決定し、管理者から指示された配送指示を、再構成されたツリー構成にあてはめて配送元の配信サーバを定め(ステップ105)、その配送元の配信サーバへ配送指示を与える(ステップ103)。
【0056】
コンテンツ管理サーバ3は、図6に示す処理を実行し、障害ノードが生じた場合に、常に、再構成されたツリー構成を適用するのではなく、ツリー全体に対するコンテンツの配送状況に鑑み、障害ノードが生じた以降でも、基本的なツリー構成を適用するか、再構成されたツリー構成を適用するかを定める。従って、再構成されたツリー構成を適用することに一律に決めたような場合に比較し、コンテンツが配送されないノードが生じるようなことを防止できる。
【0057】
以上では、管理者が配送元及び配信先の配信サーバを特定した配送指示をコンテンツ管理サーバ3に対して与える場合を説明したが、全ノードへの配送指示をコンテンツ管理サーバ3に対して与えるようにしても良い。全ノードへの配送指示が与えられたコンテンツ管理サーバ3は、基本的なツリー構成におけるルートノード側のパスから、パスを1つずつ順に取出し、取出したパスに係る上流及び下流の配信サーバに係る配送指示を形成し、図6に示す配送指示が入力された場合の処理を実行するようにすれば良い。
【0058】
図7は、管理者からの配送指示に対し、コンテンツ配送が正常になされる場合の処理の流れを示すシーケンス図である。
【0059】
管理者6がコンテンツ管理サーバ3にコンテンツ配送指示を発行すると(ステップ200)、コンテンツ管理サーバ3は、配送状況を配送情報データベース4から取出したりしながら(ステップ201;図6のステップ100参照)、上述した図6の処理により、配送元(上流)の配信サーバ2−Uと配送先(下流)の配信サーバ2−Lとを確定し、上流の配信サーバ2−Uに対し、下流の配信サーバ2−Lへのコンテンツ配送を指示する(ステップ202)。
【0060】
この指示に従い、上流の配信サーバ2−Uは、下流の配信サーバ2−Lへコンテンツを配送する(ステップ203)。下流の配信サーバ2−Lは、コンテンツの受信が正常に終了した場合には、受信が正常に終了したことを上流(配送元)の配信サーバ2−Uに通知し(ステップ204)、上流の配信サーバ2−Uは、このとき、コンテンツ管理サーバ3へ配送指示に従った配送を実行した旨を返信する(ステップ205)。
【0061】
これにより、コンテンツ管理サーバ3は、配信サーバ2−Lへコンテンツを配送した旨の情報を配送情報データベース4へ与えて、配送情報データベース4の配信サーバ2−Lについての配送状況を配送済に更新させる(ステップ206)。そして、コンテンツ管理サーバ3は、配送情報データベース4からの格納応答を受けて、管理者6に対して、与えられた配送指示の配送が正常終了したことを通知する(ステップ207)。
【0062】
図7に示す処理を、配送元及び配信先の配信サーバの組み合わせを換えて繰り返し行うことにより、ツリー状の全てのノード(配信サーバ)にコンテンツを配備することができる。
【0063】
図8は、管理者からの配送指示に応じて開始しようとしたコンテンツ配送の配送先を、障害の配信サーバのために置き換える必要が生じた場合の処理の流れを示すシーケンス図であり、図7との同一処理には同一符号を付している。
【0064】
管理者からの配送指示に応じ、コンテンツ管理サーバ3が、上流の配信サーバ2−Uに対し、下流の配信サーバ2−Lへのコンテンツ配送を指示し、上流の配信サーバ2−Uが、下流の配信サーバ2−Lへコンテンツを配送しようとするまでの処理の流れは図7の場合と同様である(ステップ200〜203)。
【0065】
下流の配信サーバ2−Lに障害が発生していると(ステップ250)、上流の配信サーバ2−Uがコンテンツを下流の配信サーバ2−Lへ配送しようとしても配送できない。上流の配信サーバ2−Uは、下流の配信サーバ2−Lとのセッションが確立できないことや、下流の配信サーバ2−Lから、受信が正常に終了したことの通知が届かないこと等により、下流の配信サーバ2−Lに障害が発生していることを検出し、コンテンツ管理サーバ3に配送エラーを返信する(ステップ251)。
【0066】
このとき、コンテンツ管理サーバ3は、下流の配信サーバ2−Lに障害が発生していることの障害情報を内部に格納すると共に(ステップ252)、後述するようなツリーの再構成処理を実行する(ステップ253)。
【0067】
ツリーの再構成処理により、障害ノード2−Lに置き換える配信サーバ2−Lnewが定まると、コンテンツ管理サーバ3は、上流の配信サーバ2−Uに対し、置換配信サーバ2−Lnewへのコンテンツ配送を指示する(ステップ254)。このような配送指示に応じた上流の配信サーバ2−U及び置換配信サーバ2−Lnewの処理は、図7の場合と同様である。
【0068】
すなわち、上流の配信サーバ2−Uは、この配送指示に従い、置換配信サーバ2−Lnewへコンテンツを配送し(ステップ255)、置換配信サーバ2−Lnewは、コンテンツの受信が正常に終了したときに、受信が正常に終了したことを上流の配信サーバ2−Uに通知し(ステップ256)、上流の配信サーバ2−Uは、コンテンツ管理サーバ3へ配送指示に従った配送を実行した旨を返信し(ステップ257)、コンテンツ管理サーバ3は、置換配信サーバ2−Lnewへコンテンツを配送した旨の情報を配送情報データベース4へ与えて、配送情報データベース4の配信サーバ2−Lnewについての配送状況を配送済に更新させ(ステップ258)、コンテンツ管理サーバ3は、配送情報データベース4からの格納応答を受けて、管理者6に対して、与えられた配送指示の配送が終了したことを通知する(ステップ259)。但し、この終了通知では、配信ノード2−Lに障害が発生していたため、それに置き換わる配信サーバ2−Lnewへコンテンツを配送したことを管理者に通知する。
【0069】
例えば、図2における配信サーバ2−0から配信サーバ2−2への配送指示時において、配送先の配信サーバ2−2に障害が発生していた場合には、配信サーバ2−2の下流の配信サーバ2−5、2−6、2−10へコンテンツを配送できなくなる。そのため、配信サーバ2−2に置き換わる配信サーバを定めて、配信サーバ2−2の下流の配信サーバ2−5、2−6、2−10へコンテンツを配送できるようにする。なお、第1の実施形態の場合、障害の配信サーバに置き換わった配信サーバは、障害の配信サーバに割り当てられていたユーザ端末への配信をも行うものとなる。
【0070】
また例えば、図2における配信サーバ2−4から配信サーバ2−9への配送指示時において、配送先の配信サーバ2−9に障害が発生していた場合には、配信サーバ2−9の下流には配信サーバは存在しない。しかし、障害の配信サーバに割り当てられていたユーザ端末への配信を行う必要があるので、このようなエンドノードに障害が発生している場合にも、障害の配信サーバ2−9の配信を引き継ぐ配信サーバを定めることを要する。
【0071】
図8では、置換配信サーバ2−Lnewへコンテンツを常に配送するものを示したが、コンテンツ管理サーバ3は、置換配信サーバ2−Lnewが定まると、置換配信サーバ2−Lnewについての配送状況を配送情報データベース4から取出し、置換配信サーバ2−Lnewへの配送が既に済んでいる場合にはコンテンツの配送を実行せずに直ちに管理者に終了通知を行い、置換配信サーバ2−Lnewへの配送が済んでいない場合には置換配信サーバ2−Lnewへのコンテンツの配送を実行し、管理者に終了通知を行うようにしても良い。
【0072】
図8は、配送指示に係る配送先の配信サーバに障害が発生していた場合を示しているが、配送指示に係る配送元(上流)の配信サーバに障害が発生していた場合にも、コンテンツ管理サーバ3は、障害ノード2−Uに置き換える配信サーバ2−Unewが定めて、その置換配信サーバ2−Unewに対し、配信サーバ2−Lへのコンテンツ配送を指示するようにしても良い。例えば、配送指示を与えようとして行ったセッションの確立動作でも、配送元(上流)の配信サーバ2−Uとのセッションを確立できないことにより、コンテンツ管理サーバ3は、配送元(上流)の配信サーバの障害発生を検出することができる。
【0073】
図9は、コンテンツ管理サーバ3が実行するツリーの再構成処理(再構成プログラム)を示すフローチャートである。例えば、上述した図8のステップ253の処理として、ツリーの再構成処理が実行される。再構成処理が起動される場合は、上述した図8のような状況には限定されない。例えば、定期的な障害監視処理でいずれかのノードの障害が検出されたときに、ツリーの再構成処理を起動し、それ以降のコンテンツの配送指示に対応可能としておくようにしても良い。
【0074】
コンテンツ管理サーバ3は、図9に示す処理を開始するとまず、まず、置き換え候補を選出する(ステップ300)。置き換え候補の選出方法は限定されるものではない。例えば、選出する候補の最少数を定めておくようにしても良い。また例えば、基本的なツリー構成におけるエンドノードだけを置き換え候補とするようにしても良い。さらに例えば、基本的なツリー構成において、障害ノードの下流に位置していないノードを置き換え候補とするようにしても良い。また例えば、ルートノードからのホップ数が多い方のノードを置き換え候補とするようにしても良い。
【0075】
コンテンツ管理サーバ3は、置き換え候補を選出すると、次に、各置き換え候補の配信サーバについて配送情報データベース4に格納されているスペック情報に基づいて、置き換え候補の絞り込みを行う(ステップ301)。例えば、置き換え候補が収容できる下流ノードの数は、障害ノードが収容(接続)していた下流ノードの数以上になっている、置き換え候補における下流ノードへの各パスにおける通信帯域は、障害ノードの各パスにおける通信帯域を確保できる、置き換え候補は障害ノードに割り当てられていた全てのユーザ端末を引き受けられるという3つの要件を全て満たす置き換え候補に絞り込まれる。なお、このステップ301は、スペック情報に基づいて、要件の充足、不充足だけをマークするようにし、置き換え候補の絞り込みを実行せず、後述するステップ303による置き換えノードの決定処理で、マークした要件の充足性を利用するようにしても良い。上記では、障害ノードのスペック若しくは実績値を基準(閾値)として、置き換え候補のスペックの充足性を判断するものを示したが、障害ノードのスペック若しくは実績値に所定数を掛けた値を閾値として、置き換え候補のスペックの充足性を判断するようにしても良い。障害ノードが収容していたユーザ端末数をMとした場合、M×a(aは1.2)を閾値として置き換え候補の余裕配信数を評価するようにしても良い。
【0076】
その後、コンテンツ管理サーバ3は、絞り込んだ各置き換え候補のそれぞれについて順次、障害ノードに直接接続されている上流ノードとの距離を計測させ、得られた距離情報を配送情報データベース4に格納させる(ステップ302)。
【0077】
そして、コンテンツ管理サーバ3は、計測した距離が最も短い置き換え候補を、障害ノードに置き換えるノードと決定し(ステップ303)、決定したノードを障害ノードに置き換えて適用されるように、内部の格納情報を変更する(ステップ304)。コンテンツ管理サーバ3は、例えば、内蔵する障害ノード格納部23に、障害ノードの情報に対応付けて、その障害ノードに置き換わるノードの情報を格納する。
【0078】
図10は、コンテンツ管理サーバ3の主導の元で実行される、置き換え候補と、障害ノードに直接接続されている上流ノードとの距離を計測する処理(ステップ302)を示すシーケンス図である。
【0079】
コンテンツ管理サーバ3は、障害ノードに直接接続されている上流ノード2−Xに対し、置き換え候補のノード2−Yを特定した距離情報の取得要求(例えばネットワークアドレスで置き換え候補のノード2−Yを特定する)を送出する(ステップ400)。このとき、上流ノード2−Xは、折り返しを指示した情報を含むパケットを置き換え候補のノード2−Yに送信すると共に、その送信時刻を取得して格納する(ステップ401、402)。置き換え候補のノード2−Yは、そのようなパケットが到来したときにはそのパケットを折り返す(ステップ403)。上流ノード2−Xは、このような折り返しパケットが戻ってきたときには、その受信時刻を取得し(ステップ404)、送信時刻と受信時刻の差に予め求めておいたネットワーク5での平均通信速度を乗算してネットワーク距離を算出し(ステップ405)、算出したネットワーク距離をコンテンツ管理サーバ3に返信する(ステップ406)。置き換えノードの決定では、距離の大小が問題となるので、上述のような往復での距離を算出して用いても問題となることはない。
【0080】
障害ノードに置き換わるノードが決定され、ツリーが再構成されると、障害ノードが復旧するまで、この際構成されたツリー構成に従い、ルートノードからの各ノードへのコンテンツ配送が実行される。
【0081】
次に、上述した置き換えノードの決定方法を、具体例を挙げて説明する。以下、図2に示す基本的なツリー構成における配信サーバ2−2に障害が発生し、配信サーバ2−2に置き換わる置き換えノードの決定が必要となったとする。図2に示すように、配信サーバ2−2は下流へのパスが2本のサーバである。また、それら各パスの通信帯域がそれぞれ5[GB/s]、5[GB/s]のものであり、配信サーバ2−2は、割り当てられている配信本数が90本のものであるとする。
【0082】
ここで、置き換え候補は少なくとも3候補とし、障害ノードの下流に位置していないエンドノードであって、ルートノードからのホップ数が多い方のエンドノードを優先して置き換え候補にすることになっているとする。エンドノードは、下流へのコンテンツ配送を今まで実行していないので、中間ノードより、下流へのコンテンツ配送能力に余裕が高いと推測される。また、置き換えにより、ルートノードから置き換えノードまでのホップ数が、置き換え前より改善される度合いが高くなると推測されるため、ルートノードからのホップ数が多い方のエンドノードを優先させることは好ましい。さらに、障害ノードの下流に位置しているノードを置き換え候補とした場合には、ツリー状の上下が逆転する部分も生じてツリーの変更度合いが大きいので、障害ノードの下流に位置していないエンドノードを置き換え候補とすることは好ましい。
【0083】
なお、上述した選定方法に限定されないことは勿論である。例えば、中間ノードを置き換え候補にするような選定方法であっても良い。
【0084】
上述した選定方法を適用した場合、障害ノード(障害が発生した配信サーバ)2−2の置き換え候補は、ノード2−7〜2−9となる。仮に、少なくとも4つを候補とする場合であれば、置き換え候補は、ノード2−7〜2−9、2−11となる。
【0085】
置き換え候補2−7〜2−9が、図5に示すスペックのものであったとする。障害ノード2−2は下流へのパスが2本であるので、いずれの置き換え候補2−7〜2−9も下流へのパス本数の要件は充足する。障害ノード2−2の各パスの通信帯域がそれぞれ5α、5β[B/s]であるので、これ以上の通信帯域を確保できる置き換え候補2−7及び2−9は通信帯域の要件を充足する。障害ノード2−2に割り当てられている配信本数が90本であるので、余裕配信本数がこれ以上である置き換え候補2−7及び2−9は引き受けられる配信本数の要件を充足する。
【0086】
以上のスペックに基づく置き換え候補の絞り込みでは、置き換え候補2−7及び2−9が残る。そこで、コンテンツ管理サーバ3は、このようにして残った置き換え候補2−7及び2−9のそれぞれと、障害ノード2−2の上位ノード2−0とのネットワーク距離を計測させる。この計測結果が、図5に示すような場合、コンテンツ管理サーバ3は、ネットワーク距離が短い方の置き換え候補であるノード(配信サーバ)2−9を、障害ノード2−2に置き換えるノードに決定する。
【0087】
図11(A)は、ノード2−9を障害ノード2−2に置き換えた、再構成されたツリーの構成を示している。ノード2−9は、障害ノード2−2に置き換えられたので、再構成前とは異なり、障害ノード2−2の上流ノード2−0からコンテンツが配送されるものとなる。
【0088】
図11(B)は、ノード2−2に障害が発生した場合において、特許文献1に記載の再構成方法を適用して再構成されたツリーの構成を示している。すなわち、障害ノード2−2の下流のノード2−5及び2−6をそれぞれ、どのノードに収容させるという観点から再構成が実行され、ノード2−5をノード2−7に収容させ、ノード2−6をノード2−9に収容させると決定された場合を示している。
【0089】
図11(A)及び図11(B)の比較から明らかなように、第1の実施形態の再構成方法を適用した方が、図2に示す当初の基本構成に近似したものとなっている。
【0090】
以上では、中間ノード2−2に障害が発生した場合を示したが(ルートノードに障害が発生した場合も同様な方法を適用できる)、エンドノードに障害が発生した場合は、例えば、以下のように処理する。ここで、エンドノード2−9に障害が発生したとする。このノード2−9はエンドノードであるので、コンテンツを下流へ配送する機能を備えていない。そのため、ノード2−9に障害が発生した場合には、ノード2−9に割り当てられている配信本数(ユーザ端末)を引く継ぐノードを定めれば良い。
【0091】
フローチャート等の図示は省略するが、コンテンツ管理サーバ3は、まず、引き継ぎ候補を選定する。ここでの引き継ぎ候補の選定方法も任意である。例えば、コンテンツの配送負荷が増えないので、中間ノードを引き継ぎ候補とするようにしても良い。コンテンツ管理サーバ3は、障害ノード2−9に割り当てられている配信本数以上の余裕配信本数を有する引き継ぎ候補に絞る。絞っても複数の引き継ぎ候補が残った場合には、コンテンツ管理サーバ3は、障害ノード2−9の上流ノード2−4との距離に基づいて、最終的に引き継ぐノードを決定する。障害ノード2−9と置き換えるわけではないので、障害ノード2−9の上流ノード2−4との距離が直接影響することはないが、障害ノードと引き継ぐノードとの距離は短い方が好ましい。障害ノードと引き継ぐノードとの距離を計測できないので、障害ノードと引き継ぐノードとの距離に代えて、障害ノード2−9の上流ノード2−4と引き継ぐノードとの距離を用いることにした。
【0092】
図示は省略するが、コンテンツ管理サーバ3は、例えば、定期的に障害ノードが復旧したか否かを監視し、障害ノードが復旧すると、基本的なツリー構成に従って、各ノードにコンテンツを配送する状態に戻す。また例えば、コンテンツ管理サーバ3は、管理者から、障害ノードが復旧した旨の入力があると、基本的なツリー構成に従って、各ノードにコンテンツを配送する状態に戻す。
【0093】
(A−3)第1の実施形態の効果
第1の実施形態によれば、コンテンツ配送中に配送済みノードでサーバ障害が発生した場合には、再構成したツリー構成を適用せずに、基本的なツリー構成をそのまま適用して、ツリー上の全てのノードに対するコンテンツ配送を実現し、新たな種類のコンテンツ配送から再構成したツリー構成を適用するようにしたので、コンテンツの配送中に、適用するツリー構成が切り分かることにより、配送されないノードが生じるような恐れが小さくすることができる。
【0094】
また、第1の実施形態によれば、障害ノードが生じたときに、ツリー上でその障害ノードに置き換えるノードを決定して置き換えるようにしたので、ツリー構成を再構成しても、ツリー構成の変化を少なく抑えることができる。すなわち、ツリーを再構成しても、ルートノードからのホップ数が多くコンテンツが配送されるまでに長時間を要するようなノードの出現を抑えることができる。
【0095】
さらに、第1の実施形態によれば、置き換え候補となるノードについてスペック(処理能力)の情報を格納しておき、障害ノードが担っていた機能の実現を確保できることを確認して置き換えノードを決定するようにしたので、置き換えられたノードの能力不足により、コンテンツの配送や配信に悪影響が生じるようなことを未然に防止することができる。
【0096】
さらにまた、第1の実施形態によれば、障害ノードが担っていた機能をスペック的に充足できる置き換え候補が複数ある場合には、ネットワーク距離に基づいて置き換えノードを決定するようにしたので、障害ノードを置き換えたツリー構成において、その置き換えノードへのコンテンツ配送時間を短くすることができる。
【0097】
また、第1の実施形態によれば、コンテンツの配送中に障害が生じた場合には、配送処理の一環として、その障害ノードに置き換わるノードを決定し、決定ノードにコンテンツを配送するようにしたので(図8参照)、全てのノードにコンテンツを配送して配備させるのに要する時間が、障害ノードの発生によって徒に長くなることを抑えることができる。
【0098】
(B)第2の実施形態
次に、本発明によるツリー状ネットワーク再構成装置及びプログラム、並びに、ツリー状ネットワークシステムの第2の実施形態を、図面を参照しながら説明する。第2の実施形態のツリー状ネットワークシステムも、コンテンツ配信システムである。
【0099】
第2の実施形態のコンテンツ配信システム1Aの全体構成も、第1の実施形態の説明で用いた図1で表わすことができる。また、第2の実施形態の配信サーバ2−nの内部構成も、第1の実施形態の説明で用いた図3で表わすことができる。さらに、第2の実施形態のコンテンツ管理サーバ3も、第1の実施形態の説明で用いた図4で表わすことができる。
【0100】
第2の実施形態は、コンテンツ管理サーバ3が実行するツリーの再構成処理、すなわち、障害ノードに置き換わるノードの決定処理が第1の実施形態と異なっており、その他の処理は、第1の実施形態と同様である。図12は、第2の実施形態のコンテンツ管理サーバ3が実行するツリーの再構成処理(再構成プログラム)を示すフローチャートである。例えば、上述した図8のステップ253の処理として、ツリーの再構成処理が実行される。
【0101】
コンテンツ管理サーバ3は、図12に示す処理を開始するとまず、まず、置き換え候補を選出する(ステップ500)。第2の実施形態の場合も、置き換え候補の選出方法は限定されるものではなく、第1の実施形態の説明で例示したような方法を挙げることができる。
【0102】
コンテンツ管理サーバ3は、置き換え候補を選出すると、次に、各置き換え候補の配信サーバについて配送情報データベース4に格納されているスペック情報に基づいて、スペックの性能値を算出し、得られたスペックの性能値を配送情報データベース4に格納させる(ステップ501)。
【0103】
図13は、第2の実施形態の配送情報データベース4における候補評価用情報の構成例を示す説明図であり、置き換え候補となり得る一部の配信サーバの情報を示している。
【0104】
図13において、候補評価用情報は、置き換え候補の識別情報毎の行(レコード)を有し、各行は、その候補ノードのサーバとしてのスペックの生値情報と、スペックの段階値情報と、スペックの性能値と、距離情報と、優先度(トータル評価値)とでなる。図12に示す処理を開始する前では、スペックの生値情報だけが記述され、スペックの段階値情報、スペックの性能値、距離情報、及び、優先度(トータル評価値)は空欄となっており、図12に示す処理の進行と共に、徐々に記述されていくものである。
【0105】
スペックの生値情報は、第1の実施形態で「スペック情報」と呼んでいた情報であり、例えば、(a)下流ノードを収容できる数(下流ノードと接続可能なパス本数)、(b)下流ノードへの各パスにおける通信帯域、(c)コンテンツ配信可能本数(現在の状態から増加することが可能な余裕の配信本数)が該当する。
【0106】
スペックの段階値情報は、スペックの生値情報が取り得る範囲を複数の範囲に分割し、生値が属する分割範囲がどの評価段階に属するかを示す値に置き換えたものである(全ての項目について、段階値の大小は、その項目での評価の高低にあっている)。評価段階に対応した生値の分割範囲は、障害ノードの現状の状況によって変わるものである。
【0107】
図13の場合、置き換え候補2−7〜2−9においてスペックの生値情報(a)である下流ノードを収容できる数はそれぞれ、下流への5本、3本、4本のパスに対応し得るものである。障害ノードの下流へのパス本数が2本であったとする。障害ノードの下流へのパス本数が2本の場合、図13のスペックの段階値情報(a)である下流ノードを収容できる数におけるスペックの段階値情報は、確保可能なパス数が0又は1のときに段階値を「0」、確保可能なパス数が2〜4のときに段階値を「1」、確保可能なパス数が5以上のときに段階値を「2」をとるように定められていれば、置き換え候補2−7〜2−9の下流へのパス本数についての段階値はそれぞれ、「2」、「1」、「1」となる。仮に、障害ノードの下流へのパス本数が5本であり、障害ノードの下流へのパス本数が5本の場合、確保可能なパス数が0〜4のときに段階値を「0」、確保可能なパス数が5又は6のときに段階値を「1」、確保可能なパス数が7以上のときに段階値を「2」をとるように定められていれば、置き換え候補2−7〜2−9の下流へのパス本数についての段階値はそれぞれ、「1」、「0」、「0」となる。
【0108】
以上では、障害ノードの下流へのパス本数に応じて、各段階値が取り得る生値の範囲を切り替える場合を示したが、障害ノードの下流へのパス本数に関係なく、各段階値が取り得る生値の範囲を固定的に定めるものであっても良い。
【0109】
通信帯域やコンテンツ配信可能本数についても、同様な方法により、スペックの生値情報からスペックの段階値情報が形成される。但し、通信帯域は、各パス毎に定まっているので、各パス毎に、段階値に変換した後、それらの段階値情報の平均値をとって、通信帯域についての段階値情報とする(なお、平均値として小数を認めるようにしても良く、また、整数に制限する場合であれば切り捨て若しくは四捨五入処理を行う)。
【0110】
なお、図13の場合では、置き換え候補2−7〜2−9においてスペックの生値情報(b)である下流ノードへの各パスにおける通信帯域はそれぞれ、下流への10[GB/s](5本)、5[GB/s](3本)、10[GB/s](4本)の通信帯域に対応し得るものである。障害ノードの下流への通信帯域が5[GB/s]であったとする。障害ノードの下流への通信帯域が5[GB/s]の場合、図13のスペックの段階値情報(b)である下流ノードへの各パスにおける通信帯域におけるスペックの段階値情報は、確保可能な通信帯域のうち高い通信帯域を有する2本から選択された通信帯域がそれぞれ5[GB/s]未満のときに段階値を「0」、確保可能な通信帯域のうち高い通信帯域を有する2本から選択された通信帯域がそれぞれ5[GB/s]以上かつ10[GB/s]未満のときに段階値を「1」、確保可能な通信帯域のうち高い通信帯域を有する2本から選択された通信帯域がそれぞれ10[GB/s]以上のときに段階値を「2」をとるように定められていれば、置き換え候補2−7〜2−9の下流へのパス本数についての段階値はそれぞれ、「2」、「1」、「2」となる。
【0111】
次に、置き換え候補2−7〜2−9においてスペックの生値情報(c)であるコンテンツ配信可能本数はそれぞれ、120本、0本、110本に対応し得るものである。障害ノードのコンテンツ配信可能本数が100本であったとする。障害ノードの下流へのコンテンツ配信可能本数が50本の場合、図13のスペックの段階値情報(c)であるコンテンツ配信可能本数におけるスペックの段階値情報は、コンテンツ配信可能本数が50本未満のときに段階値を「0」、コンテンツ配信可能本数が50本以上かつ100本未満のときに段階値を「1」、コンテンツ配信可能本数が100本以上のときに段階値を「2」をとるように定められていれば、置き換え候補2−7〜2−9の下流へのパス本数についての段階値はそれぞれ、「2」、「0」、「2」となる。
【0112】
図13では、全ての項目(下流へのパス本数、通信帯域、コンテンツ配信可能本数)共に段階数が3段階のものを示したが、項目によって段階数を変えるようにしても良い。
【0113】
各項目の段階値情報を統合したものが、スペックの性能値である。図13では、各項目の段階値情報を乗算したものをスペックの性能値としたものを示したが、他の統合方法を適用するようにしても良い。例えば、各項目の段階値情報を重み付け加算したものをスペックの性能値とするようにしても良い。
【0114】
なお、図13の場合では、スペックの段階値情報の性能値は、「スペックの段階値情報(a)である下流ノードを収容できる数」と、「スペックの段階値情報(b)である下流ノードへの各パスにおける通信帯域におけるスペックの段階値情報」と、「スペックの段階値情報(c)であるコンテンツ配信可能本数におけるスペックの段階値情報」との積より、置き換え候補2−7〜2−9のスペックの段階値情報である性能値はそれぞれ、「8」、「0」、「4」となる。
【0115】
スペックの性能値を算出すると、その後、コンテンツ管理サーバ3は、各置き換え候補のそれぞれについて順次、障害ノードに直接接続されている上流ノードとの距離を計測させ、得られた距離情報を配送情報データベース4に格納させる(ステップ502)。第2の実施形態の場合、スペック情報に基づいた置き換え候補の絞り込みは実行しないので、距離の計測は、選出された全ての置き換え候補について実行される。
【0116】
そして、コンテンツ管理サーバ3は、配送情報データベース4に格納されたスペックの性能値及び距離情報に基づいて、各置き換え候補のそれぞれについて、スペックの性能値及び距離情報を融合したトータル評価値である優先度を計算し(ステップ503)、優先度が最も高い置き換え候補を、障害ノードに置き換えるノードと決定し(ステップ504)、決定したノードを障害ノードに置き換えて適用されるように、内部の格納情報を変更する(ステップ505)。
【0117】
スペックの性能値及び距離情報が反映された優先度を算出できるものであれば、その算出方法は問われないものである。図13は、スペックの性能値を距離情報で割った後、10(補正値)倍した値を優先値としている。図13の例では、優先度Pは、「図13のスペックの段階値情報である性能値」と、「距離」の商より、置き換え候補2−7〜2−9のスペックの段階値情報である性能値はそれぞれ、「9.87」、「0」、「8.88」(小数点第3位以下を切り捨て)となり、優先度Pが最も大きな値となる置き換え候補2−7が障害ノードに置き換わるノードとして決定される。
【0118】
第2の実施形態によっても、第1の実施形態とほぼ同様な効果を奏することができる。第2の実施形態によれば、置き換え候補のスペックを段階的に評価して優先度に反映させ、その優先度に基づいて、障害ノードに置き換わるノードを決定するようにしたので、負荷の小さいノードが置き換わるノードとして決定される可能性が高く、負荷が第1の実施形態より分散するといった効果を期待できる。
【0119】
因みに、第1の実施形態の場合、スペックの充足性だけを判定していたため、スペックが充足されていれば負荷が能力(スペック)に近く余裕が少なくても、置き換わるノードとして決定される可能性がかなりあった。
【0120】
(C)他の実施形態
上記各実施形態の説明においても、種々変形実施形態に言及したが、さらに、以下に例示するような変形実施形態を挙げることができる。
【0121】
上記各実施形態では、置き換えノードの選択に利用する配信サーバのスペックが、下流ノードへのパス数、通信帯域及び余裕配信本数であるものを示したが、置き換えノードの選択に利用するスペックはこれらに限定されるものではない。例えば、配信サーバに搭載されているCPUの動作クロック周波数や、配信サーバに搭載されているメモリの総容量若しくは空き容量などを、置き換えノードの選択に利用するスペックとして用いるようにしても良い。適用するスペックの組み合わせも、上記各実施形態のものに限定されない。例えば、下流ノードへのパス数、通信帯域及びCPUの動作クロック周波数を利用するようにしても良い。
【0122】
上記各実施形態では、スペック以外に障害ノードに置き換わるノードの決定に用いるパラメータが、障害ノードの上流ノードと置き換え候補とのネットワーク距離であるものを示したが、これに代え、又は、これに加え、他のパラメータを利用するようにしても良い。
【0123】
例えば、各パスが双方向に通信可能とみなした場合において、障害ノードの上流ノードと、置き換え候補とを、基本的なツリー構成上で最短に結ぶパス数(ホップ数)であっても良い。ノード2−i及び2−j間のパスをP(2−i,2−j)で表わすこととする。例えば、図2において、ノード2−5に障害が発生し、障害ノードの上流ノードがノード2−2である場合において、置き換え候補がノード2−11であれば、パスP(2−0,2−2)、P(2−0,2−1)及びP(2−1,2−11)の3個のパスで両ノードを結ぶことができる。ノード2−5に障害が発生し、障害ノードの上流ノードがノード2−2である場合において、置き換え候補がノード2−7であれば、パスP(2−0,2−2)、P(2−0,2−1)、P(2−1,2−3)及びP(2−3,2−7)の4個のパスで両ノードを結ぶことができる。このようなパラメータは、ネットワーク距離に近似したものと取り扱うことが可能である。
【0124】
また例えば、コンテンツ管理サーバと置き換え候補とのネットワーク上の距離を、置き換えノードの決定に利用するようにしても良い。ここで、コンテンツ管理サーバがルートノードと共通になっている場合や、コンテンツ管理サーバが、基本的なツリー構成においてルートノードの上流に位置させている場合においては、ネットワーク距離に代え、コンテンツ管理サーバと、置き換え候補とを、基本的なツリー構成上で最短に結ぶパス数(ホップ数)を適用するようにしても良い。置き換えノードと、コンテンツ管理ノードとで制御情報等の授受が多くなるような場合であれば、このような制御情報の授受を迅速に実行させることができる。
【0125】
上記各実施形態では、コンテンツ管理サーバ3が置き換え候補のスペックの情報を格納しておき、置き換えノードの決定処理で格納されているスペック情報を利用するものを示したが、置き換え候補となり得る各ノードがそれぞれ、自己のスペックの情報を格納していて、コンテンツ管理サーバ3が置き換え候補からその候補のスペック情報をその都度収集し、置き換えノードの決定処理で用いるようにしても良い。
【0126】
また、上記各実施形態では、ツリー構成を再構成させる事象がいずれかのノードの障害である場合を示したが、他の事象であっても良い。例えば、ノードを定期点検するために、ツリー状ネットワークから切り離す場合のツリーの再構成の場合にも、本発明を適用することができる。
【0127】
さらに、上記各実施形態では、ユーザ端末に対してコンテンツを配信する複数の配信サーバを、論理的にはツリー状に分散配置したコンテンツ配信システムに、本発明を適用したものを示したが、本発明の用途はこれに限定されない。複数のサーバが論理的にはツリー状に配置され、ツリーのルートノードからエンドノードに向かって配送データ(コンテンツに限定されない)を枝分かれしながら配送することにより、各サーバに同一データを配備させるシステムであれば良い。従って、サーバからユーザ端末等にデータを配信する機能がないシステムであっても良い。
【符号の説明】
【0128】
1…コンテンツ配信システム、2−0〜2−N…配信サーバ、3…コンテンツ管理サーバ、4…配送情報データベース(配送情報DB)、10…通信部、11…配送コンテンツ受信部、12…コンテンツ格納部、13…配送コンテンツ送信部、14…配送制御部、20…通信部、21…管理者インタフェース部、22…ツリー基本構成格納部、23…障害ノード格納部、24…ツリー再構成部、25…配送指示制御部。

【特許請求の範囲】
【請求項1】
分散配置された複数のサーバが論理的にはツリー状に接続されているネットワークから、所定事象の出現に基づき、1つのサーバを除外した構成にツリー構成を再構成するツリー状ネットワーク再構成装置において、
除外対象の上記サーバに置き換わる候補である置き換え候補サーバを選出する候補選出手段と、
置き換え候補サーバのそれぞれについて、そのサーバのスペックの情報を取り込む候補スペック情報取込手段と、
置き換え候補サーバのスペック情報から見て、その置き換え候補サーバが除外対象の上記サーバの遂行能力以上を確保できることを1条件として、除外対象の上記サーバに置き換わるサーバを決定する置換サーバ決定手段と
を備えることを特徴とするツリー状ネットワーク再構成装置。
【請求項2】
上記所定事象が、ツリー状ネットワークのルートノードのサーバから、ツリー構成に沿って、ツリー状ネットワークの全てのサーバに第1のデータを配備させるべく配送している際中にいずれかのサーバに障害が発生したことであり、
障害発生したサーバの下流のサーバに上記第1のデータが既に配送、配備されているかを判別する配送済ノード確認手段と、
障害発生したサーバの下流のサーバに上記第1のデータが配送、配備されていない場合には、上記置換サーバ決定手段が決定したサーバによって置き換えられた再構成されたツリーを、未配送のサーバへの上記第1のデータの配送に適用するツリーに決定すると共に、障害発生したサーバの下流のサーバに上記第1のデータが既に配送、配備されている場合には、再構成前のツリーを、未配送のサーバへの上記第1のデータの配送に適用するツリーに決定し、かつ、今後生じる、新たな第2のデータの配送では、上記置換サーバ決定手段が決定したサーバによって置き換えられた再構成されたツリーを適用するツリーに決定する適用ツリー決定手段と
をさらに有することを特徴とする請求項1に記載のツリー状ネットワーク再構成装置。
【請求項3】
上記置換サーバ決定手段は、スペック情報の各項目がそれぞれ、除外対象の上記サーバで必要な遂行能力を充足していることを個別に確認して、除外対象の上記サーバに置き換わるサーバを決定することを特徴とする請求項1又は2に記載のツリー状ネットワーク再構成装置。
【請求項4】
上記置換サーバ決定手段は、スペック情報の各項目の情報を統合した評価情報を算出して、除外対象の上記サーバに置き換わるサーバを決定することを特徴とする請求項1又は2に記載のツリー状ネットワーク再構成装置。
【請求項5】
上記置換サーバ決定手段は、所定サーバ若しくは外部装置とのネットワーク距離が短い方の上記置き換え候補サーバ、又は、所定サーバ又は外部装置との通信時のホップ数が少ない方の上記置き換え候補サーバを、優先して、除外対象の上記サーバに置き換わるサーバに決定することを特徴とする請求項3又は4に記載のツリー状ネットワーク再構成装置。
【請求項6】
スペック情報は、最小単位ずつ異なる値として記述されていることを特徴とする請求項3〜5のいずれかに記載のツリー状ネットワーク再構成装置。
【請求項7】
スペック情報は、取り得る範囲を複数の範囲に分割し、各分割範囲に付与した段階評価値として記述されていることを特徴とする請求項3〜5のいずれかに記載のツリー状ネットワーク再構成装置。
【請求項8】
分散配置された複数のサーバが論理的にはツリー状に接続されているネットワークから、所定事象の出現に基づき、1つのサーバを除外した構成にツリー構成を再構成するツリー状ネットワーク再構成装置に搭載されるコンピュータを、
除外対象の上記サーバに置き換わる候補である置き換え候補サーバを選出する候補選出手段と、
置き換え候補サーバのそれぞれについて、そのサーバのスペックの情報を取り込む候補スペック情報取込手段と、
置き換え候補サーバのスペック情報から見て、その置き換え候補サーバが除外対象の上記サーバの遂行能力以上を確保できることを1条件として、除外対象の上記サーバに置き換わるサーバを決定する置換サーバ決定手段と
して機能させることを特徴とするツリー状ネットワーク再構成プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate