(57)【要約】【課題】インデックス情報又は各インデックスサーバの起動サーバリスト情報間に不整合が生じるのを防止。【解決手段】コンテンツ識別データ毎にコンテンツを保持するコンテンツサーバを示すサーバ識別データが対応づけられたインデックス情報を保持する記憶部と複数のインデックスサーバとを設け、ルックアップサーバはサーバ切断を検知すると、該切断サーバのサーバ識別データを削除すべく削除指示データを各インデックスサーバに送信し、コンテンツサーバはコンテンツデータが更新されると、コンテンツデータの追加、変更、削除のいずれかを示す更新指示データをインデックスサーバのいずれかに送信し、インデックスサーバは削除指示データを受けると、該指示データに基づき起動サーバリスト情報からサーバ識別データを削除し、更新指示データを受けると、該指示データに基づき記憶部のインデックス情報を更新する。【選択図】図１
2007148882.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツデータを識別するためのコンテンツ識別データ毎に、該コンテンツデータを保持するコンテンツサーバを示すサーバ識別データが対応づけられたインデックス情報が格納されたインデックス記憶部と、前記インデックス記憶部のインデックス情報を更新管理すると共に、起動中のサーバを示す起動サーバリスト情報を保持するインデックスサーバと、少なくともサーバの切断を検知するルックアップサーバとを備えるコンテンツ配信システムにおいて、
前記インデックスサーバを複数備え、
前記ルックアップサーバは、
サーバの切断を検知すると、切断されたサーバのサーバ識別データの削除を指示する削除指示データを前記起動サーバリスト情報に基づいて、前記各インデックスサーバに送信するリスト更新指示部を備え、
前記コンテンツサーバは、
コンテンツデータが更新されると、前記インデックス情報の更新を指示すべく、更新されたコンテンツデータの追加、変更、削除のいずれかを示す更新指示データを前記各インデックスサーバのいずれかに送信するインデックス更新指示部とを備え、
前記各インデックスサーバは、
前記削除指示データを受信すると、前記削除指示データに基づいて、前記起動サーバリスト情報からサーバ識別データを削除し、前記更新指示データを受信すると、前記更新指示データに基づいて、前記インデックス記憶部のインデックス情報を更新する更新部を備えることを特徴とするコンテンツ配信システム。
【請求項２】
前記リスト更新指示部は、
サーバの起動を検知すると、起動されたサーバのサーバ識別データの追加を指示する追加指示データを前記起動サーバリスト情報に基づいて、前記各インデックスサーバに送信し、
前記更新部は、
前記追加指示データを受信すると、前記追加指示データに基づいて、前記起動サーバリスト情報にサーバ識別データを追加することを特徴とする請求項１記載のコンテンツ配信システム。
【請求項３】
前記リスト更新指示部は、
前記削除指示データを前記コンテンツサーバに送信することを特徴とする請求項１記載のコンテンツ配信システム。
【請求項４】
前記リスト更新指示部は、
前記追加指示データを前記コンテンツサーバに送信することを特徴とする請求項２記載のコンテンツ配信システム。
【請求項５】
前記コンテンツサーバは、
コンテンツ識別データ毎に、該コンテンツデータを保持するコンテンツサーバのサーバ識別データが対応づけられたインデックス情報を保持する記憶部と、
前記インデックスサーバが前記更新指示データに基づいて、前記インデックス記憶部に前記インデックス情報を追加すると、前記記憶部を参照し、前記追加されたインデックス情報と同一のコンテンツ識別データが対応づけられた非最新インデックス情報を検索するデータ検索部と、
前記データ検索部が非最新インデックス情報を検索すると、前記各インデックスサーバのいずれかに前記非最新インデックス情報の削除を指示する削除指示データを送信する削除指示部と、
前記削除指示データを受信したインデックスサーバが前記削除指示データに基づいて、前記インデックス記憶部から前記非最新インデックス情報を削除すると、前記記憶部から前記非最新インデックス情報を削除するインデックス更新部とを備えることを特徴とする請求項１記載のコンテンツ配信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クライアントからのコンテンツ配信要求に応じて、所望のコンテンツデータを配信するコンテンツ配信システムに関し、特に、起動中のサーバを示す起動サーバリスト情報及びインデックス情報の整合性を維持するコンテンツ配信システムに関する。
【背景技術】
【０００２】
クライアントからのコンテンツ配信要求に応じて、所望のコンテンツデータを配信するコンテンツ配信システムが知られている。例えば、下記特許文献１では、音楽、動画等のコンテンツデータを識別するためのコンテンツ識別データ毎に、該コンテンツデータを保持するコンテンツサーバのサーバ識別データが対応づけられたインデックス情報が格納されたインデックス記憶部と、インデックス記憶部のインデックス情報を更新管理すると共に、起動中のサーバを示す起動サーバリスト情報を保持する１台のインデックスサーバと、サーバの切断を検知するルックアップサーバと、コンテンツデータおよびインデックス情報を保持する複数のコンテンツサーバとを備え、例えば、クライアント端末からコンテンツデータが追加されたコンテンツサーバがインデックスサーバに対し、インデックス記憶部のインデックス情報の更新指示を行うと、インデックスサーバがインデックス情報を更新すると共に、起動サーバリスト情報に基づいた各サーバに対して、インデックス情報の更新指示を行い、該指示を受けた各コンテンツサーバが保持するインデックス情報の更新を行い、また、ルックアップサーバが起動中のサーバの切断を検知すると、起動サーバリスト情報の更新をインデックスサーバに指示し、インデックスサーバが起動サーバリスト情報の更新を行うコンテンツ配信システムが開示されている。
【０００３】
しかしながら、上記したようなコンテンツ配信システムでは、インデックスサーバが１台であることから、このインデックスサーバに障害が発生した場合、システム復旧までに多大な時間を要してしまい、この間、コンテンツの配信サービスを行うことができず、配信サービスの低下を招く問題があった。
【０００４】
上記した問題を解決するためには、各コンテンツサーバに対し、負荷分散装置を介して、複数のインデックスサーバを並列に稼動させることも考えられる。
【特許文献１】特開２００５−４６１５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記したコンテンツ配信システムにおいて、複数台のインデックスサーバを単に並列稼動させた場合、コンテンツデータが追加されたコンテンツサーバからのインデックス情報の更新指示は、負荷分散装置により任意に選択されたいずれかのインデックスサーバに対して行われることから、選択されなかった他のインデックスサーバが保持するインデックス情報との整合性を維持することができない問題が生じる。また、コンテンツサーバ又はインデックスサーバが切断された場合、各インデックスサーバに対して、起動サーバリスト情報の更新指示を行う手段がなく、各インデックスサーバが保持する起動サーバリスト情報の整合性を維持できない問題が生じる。
【０００６】
従って、本発明は、インデックス情報または各インデックスサーバが保持する起動サーバリスト情報間に不整合が生じ、サービスが中断するのを防止する可用性の高いコンテンツ配信システムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、以上の点を解決するために、次の構成を採用する。
〈構成１〉
コンテンツデータを識別するためのコンテンツ識別データ毎に、該コンテンツデータを保持するコンテンツサーバを示すサーバ識別データが対応づけられたインデックス情報が格納されたインデックス記憶部と、前記インデックス記憶部のインデックス情報を更新管理すると共に、起動中のサーバを示す起動サーバリスト情報を保持するインデックスサーバと、少なくともサーバの切断を検知するルックアップサーバとを備えるコンテンツ配信システムにおいて、前記インデックスサーバを複数備え、前記ルックアップサーバは、サーバの切断を検知すると、切断されたサーバのサーバ識別データの削除を指示する削除指示データを前記起動サーバリスト情報に基づいて、前記各インデックスサーバに送信するリスト更新指示部を備え、前記コンテンツサーバは、コンテンツデータが更新されると、前記インデックス情報の更新を指示すべく、前記更新されたコンテンツデータに付与されたコンテンツ識別データを含む、コンテンツデータの追加、変更、削除のいずれかを示す更新指示データを前記各インデックスサーバのいずれかに送信するインデックス更新指示部とを備え、前記各インデックスサーバは、前記削除指示データを受信すると、前記削除指示データに基づいて、前記起動サーバリスト情報からサーバ識別データを削除し、前記更新指示データを受信すると、前記更新指示データに基づいて、前記インデックス記憶部のインデックス情報を更新する更新部を備えることを特徴とする。
〈構成２〉
構成１のコンテンツ配信システムにおいて、前記リスト更新指示部は、サーバの起動を検知すると、起動されたサーバのサーバ識別データの追加を指示する追加指示データを前記起動サーバリスト情報に基づいて、前記各インデックスサーバに送信し、前記更新部は、前記追加指示データを受信すると、前記追加指示データに基づいて、前記起動サーバリスト情報にサーバ識別データを追加することを特徴とする。
〈構成３〉
構成１のコンテンツ配信システムにおいて、前記リスト更新指示部は、前記削除指示データを前記コンテンツサーバに送信することを特徴とする。
〈構成４〉
構成２のコンテンツ配信システムにおいて、前記リスト更新指示部は、前記追加指示データを前記コンテンツサーバに送信することを特徴とする。
〈構成５〉
構成１のコンテンツ配信システムにおいて、前記コンテンツサーバは、コンテンツ識別データ毎に、該コンテンツデータを保持するコンテンツサーバのサーバ識別データが対応づけられたインデックス情報を保持する記憶部と、前記インデックスサーバが前記更新指示データに基づいて、前記インデックス記憶部に前記インデックス情報を追加すると、前記記憶部を参照し、前記追加されたインデックス情報と同一のコンテンツ識別データが対応づけられた非最新インデックス情報を検索するデータ検索部と、前記データ検索部が非最新インデックス情報を検索すると、前記各インデックスサーバのいずれかに前記非最新インデックス情報の削除を指示する削除指示データを送信する削除指示部と、前記削除指示データを受信したインデックスサーバが前記削除指示データに基づいて、前記インデックス記憶部から前記非最新インデックス情報を削除すると、前記記憶部から前記非最新インデックス情報を削除するインデックス更新部とを備えることを特徴とする。
【発明の効果】
【０００８】
本発明のコンテンツ配信システムでは、コンテンツ識別データ毎に、コンテンツデータを保持するコンテンツサーバを示すサーバ識別データが対応づけられたインデックス情報が格納されたインデックス記憶部と複数のインデックスサーバとを設け、ルックアップサーバは、少なくとも、サーバの切断を検知すると、切断されたサーバのサーバ識別データの削除を指示する削除指示データを起動サーバリスト情報に基づいて、各インデックスサーバに送信し、コンテンツサーバは、コンテンツデータが更新されると、インデックス情報の更新を指示すべく、更新されたコンテンツデータに付与されたコンテンツ識別データを含む、コンテンツデータの追加、変更、削除のいずれかを示す更新指示データを各インデックスサーバのいずれかに送信し、各インデックスサーバは、削除指示データを受信すると、削除指示データに基づいて、起動サーバリスト情報からサーバ識別データを削除し、更新指示データを受信すると、更新指示データに基づいて、インデックス記憶部のインデックス情報を更新するようにしたので、コンテンツデータの更新時、インデックスサーバ、コンテンツサーバ間のインデックス情報の整合性を維持することができると共に、障害等によりコンテンツ配信システムの構成が変更された場合においても、各インデックスサーバ間の起動サーバリスト情報の整合性を維持することができる。従って、インデックス情報または各インデックスサーバが保持する起動サーバリスト情報間に不整合が生じることがなく、サービスが中断するのを防止する可用性の高いコンテンツ配信システムを提供できる。
【発明を実施するための最良の形態】
【０００９】
以下、本発明の一実施形態を図を用いて詳細に説明する。
【実施例】
【００１０】
〈実施例の構成〉
図１は、本発明のコンテンツ配信システムを示すブロック構成図である。
【００１１】
図１に示すように、本実施例のコンテンツ配信システムは、クライアント端末１０、コンテンツサーバ２０、コンテンツサーバ３０、負荷分散装置４０、インデックスサーバ５０、インデックスサーバ６０、インデックスサーバ７０、ルックアップサーバ８０、インデックスＤＢ９０から構成されている。
【００１２】
クライアント端末１０は、例えば、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）等のような、利用者がコンテンツデータの追加、削除等を指示するために操作する端末である。
【００１３】
コンテンツサーバ２０は、クライアント端末１０からの追加、削除等の指示に応じて、コンテンツデータの追加、削除等を行うと共に、インデックスサーバ５０、６０、７０からの指示に応じて、自己が保持するインデックス情報を更新するサーバであり、制御部２１、記憶部２２、インデックス更新部２３、確認信号送信部２４、データ検索部２５、インデックス更新指示部２６、インデックス情報生成部２７、削除指示部２８を有している。
【００１４】
確認信号送信部２４は、起動中であることを示す確認信号をルックアップサーバ８０に送信する部であり、後述するように、通信不可となったサーバを検出するためにルックアップサーバ８０から送信される確認要求信号を受信すると、ルックアップサーバ８０に対して確認信号を送信する。
【００１５】
記憶部２２は、ＨＤＤ等からなるメモリであり、例えば、文書、音声、動画等のコンテンツデータ、自己を識別するためのサーバ識別データおよびインデックス情報が格納されている。
【００１６】
各コンテンツデータには、例えば、ファイル名等のようにコンテンツを識別するためのコンテンツ識別データが付与されていることとする。
【００１７】
インデックス情報とは、コンテンツ識別データ毎に、各コンテンツデータを保持するコンテンツサーバを示すサーバ識別データが対応づけられた情報である。本実施例では、このサーバ識別データは、例えば、ＩＰアドレス、通信ポート等のような各コンテンツサーバとの通信に必要なデータを含むデータとする。
【００１８】
また、本実施例では、記憶部２２には、コンテンツ識別データ「ａ」が付与されたコンテンツデータ「Ａ」およびコンテンツ識別データ「ｂ」が付与されたコンテンツデータ「Ｂ」が格納され、コンテンツ識別データ「ａ」及びコンテンツ識別データ「ｂ」のそれぞれに対し、コンテンツサーバ２０を示すサーバ識別データが対応づけられたインデックス情報がそれぞれ格納されていることとする。さらに、記憶部２２には、後述するルックアップサーバ８０との通信に必要なＩＰアドレス、通信ポート等のような通信先データを予め保持していることとする。
【００１９】
コンテンツサーバ３０は、コンテンツサーバ２０と同様に、クライアント端末１０からの追加、削除等の指示に応じて、コンテンツデータの追加、削除等を行うと共に、インデックスサーバ５０または６０からの指示に応じて、自己が保持するインデックス情報を更新するサーバであり、制御部３１、記憶部３２、インデックス更新部３３、確認信号送信部３４、データ検索部３５、インデックス更新指示部３６、インデックス情報生成部３７、削除指示部３８を有している。
【００２０】
確認信号送信部３４は、起動中であることを示す確認信号をルックアップサーバ８０に送信する部であり、後述するように、通信不可となったサーバを検出するためにルックアップサーバ８０から送信される確認要求信号を受信すると、ルックアップサーバ８０に対して確認信号を送信する。
【００２１】
記憶部３２は、ＨＤＤ等からなるメモリであり、例えば、文書、音声、動画等のコンテンツデータ、自己を識別するためのサーバ識別データおよびインデックス情報が格納される。
【００２２】
各コンテンツデータには、例えば、ファイル名等のようにコンテンツを識別するためのコンテンツ識別データが付与されていることとする。
【００２３】
インデックス情報とは、コンテンツ識別データ毎に、各コンテンツデータを保持するコンテンツサーバを示すサーバ識別データが対応づけられた情報である。本実施例では、このサーバ識別データは、例えば、ＩＰアドレス、通信ポート等のような各コンテンツサーバとの通信に必要なデータを含むデータとする。
【００２４】
また、本実施例では、記憶部３２には、コンテンツ識別データ「ｃ」が付与されたコンテンツデータ「Ｃ」が格納され、コンテンツ識別データ「ｃ」に対し、コンテンツサーバ３０を示すサーバ識別データが対応づけられたインデックス情報が格納されていることとする。さらに、本実施例では、記憶部３２には、後述するルックアップサーバ８０との通信に必要なＩＰアドレス、通信ポート等のような通信先データを予め保持していることとする。
【００２５】
インデックスサーバ５０は、インデックスＤＢ９０が保持するインデックス情報および起動中のコンテンツサーバが保持するインデックス情報の更新管理を行うサーバであり、制御部５１、記憶部５２、リスト更新部５３、確認信号送信部５４、更新指示部５５、データ更新部５６を有している。
【００２６】
確認信号送信部５４は、起動中であることを示す確認信号をルックアップサーバ８０に送信する部であり、後述するように、通信不可となったサーバを検出するためにルックアップサーバ８０から送信される確認要求信号を受信すると、ルックアップサーバ８０に対して確認信号を送信する。
【００２７】
記憶部５２は、ＨＤＤ等からなるメモリであり、自己を識別するためのサーバ識別データ、起動中のサーバを示すサーバ識別データからなる起動サーバリスト情報がそれぞれ格納されている。本実施例では、コンテンツサーバ２０、インデックスサーバ５０、６０を示す各サーバ識別データからなる起動サーバリスト情報が格納されていることとする。
【００２８】
インデックスサーバ６０は、インデックスサーバ５０と同様に、インデックスＤＢ９０が保持するインデックス情報および起動中のコンテンツサーバが保持するインデックス情報の更新管理を行うサーバであり、制御部６１、記憶部６２、リスト更新部６３、確認信号送信部６４、更新指示部６５、データ更新部６６を有している。
【００２９】
確認信号送信部６４は、起動中であることを示す確認信号をルックアップサーバ８０に送信する部であり、後述するように、通信不可となったサーバを検出するためにルックアップサーバ８０から送信される確認要求信号を受信すると、ルックアップサーバ８０に対して確認信号を送信する。
【００３０】
記憶部６２は、ＨＤＤ等からなるメモリであり、記憶部５２と同様に、自己を識別するためのサーバ識別データ、起動中のサーバを示すサーバ識別データからなる起動サーバリスト情報がそれぞれ格納されている。本実施例では、コンテンツサーバ２０、インデックスサーバ５０、６０を示す各サーバ識別データからなる起動サーバリスト情報が格納されていることとする。
【００３１】
インデックスサーバ７０は、インデックスサーバ６０と同様に、インデックスＤＢ９０が保持するインデックス情報および起動中のコンテンツサーバが保持するインデックス情報の更新管理を行うサーバであり、制御部７１、記憶部７２、リスト更新部７３、確認信号送信部７４、更新指示部７５、データ更新部７６を有している。
【００３２】
確認信号送信部７４は、起動中であることを示す確認信号をルックアップサーバ８０に送信する部であり、後述するように、通信不可となったサーバを検出するためにルックアップサーバ８０から送信される確認要求信号を受信すると、ルックアップサーバ８０に対して確認信号を送信する。
【００３３】
記憶部７２は、ＨＤＤ等からなるメモリであり、自己を識別するためのサーバ識別データが格納されている。
【００３４】
負荷分散装置４０は、インデックスサーバの負荷を分散すべく、コンテンツサーバからの指示データ等の転送先を任意に選択すると共に、選択されたインデックスサーバに対し、該指示データを転送する装置である。即ち、本実施例では、コンテンツサーバ２０または３０からの指示データ等の転送先としてインデックスサーバ５０、６０のいずれかが任意に選択されると共に、選択されたいずれかのインデックスサーバ５０、６０に対し、該指示データ等が転送される。
【００３５】
インデックスＤＢ９０は、コンテンツ配信システムを構成する全てのインデックスサーバに接続されているデータベースであり、コンテンツ識別データ毎に、該コンテンツが保持されているコンテンツサーバを示すサーバ識別データが対応づけられたインデックス情報を保持している。本実施例では、コンテンツ識別データ「ａ」、コンテンツ識別データ「ｂ」に対して、コンテンツサーバ２０を示すサーバ識別データがそれぞれ対応づけられたインデックス情報、コンテンツ識別データ「ｃ」に対してコンテンツサーバ３０を示すサーバ識別データが対応づけられたインデックス情報が格納されていることとする。
【００３６】
ルックアップサーバ８０は、コンテンツ配信システムを構成する各サーバ（＝コンテンツサーバおよびインデックスサーバ）と図示しないネットワークを介して接続されるサーバであり、制御部８１、記憶部８２、確認信号要求部８３、状態変化検知部８４、データ更新部８５、リスト更新指示部８６を有している。
【００３７】
記憶部８２は、ＨＤＤ等からなるメモリであり、起動中の各サーバを示すサーバ識別データからなる起動サーバリスト情報が格納される。本実施例では、コンテンツサーバ２０、インデックスサーバ５０、６０をそれぞれ示すサーバ識別データからなる起動サーバリスト情報が格納されていることとする。
【００３８】
以下、クライアント端末１０、コンテンツサーバ２０、コンテンツサーバ３０、負荷分散装置４０、インデックスサーバ５０、インデックスサーバ６０、インデックスサーバ７０、ルックアップサーバ８０、インデックスＤＢ９０の相互関連について説明を行う。
【００３９】
ルックアップサーバ８０の制御部８１は、いわゆるＣＰＵとして、ルックアップサーバ８０を制御する部であり、サーバ管理者等の操作により、起動されると、通信環境の変化を監視すべく、検知開始指示信号を状態変化検知部８４に転送する。
【００４０】
状態変化検知部８４は、サーバの追加、切断等を検知する部であり、検知開始指示信号を受けると、確認信号要求部８３を制御し、記憶部８２の起動サーバリスト情報に基づいた各サーバに対し、確認要求信号を送信させる。即ち、本実施例では、コンテンツサーバ２０、インデックスサーバ５０、６０のそれぞれに対して確認要求信号が定期的に送信される。
【００４１】
そして、状態変化検知部８４は、制御部８１を介して、確認対象である各サーバから一定時間内に確認信号を受信すると、通信状態の変化がないことを検知し、引き続き、確認信号要求部８３により確認要求信号を送信させ、確認信号の要求先であるサーバのいずれかから一定時間以上確認信号を受信しないと、該サーバが切断されたことを検知する。また、制御部８１を介して起動信号を受信すると、新たなサーバが追加されたことを検知する。以降、状態変化検知部８４による検知結果に応じて、起動中の各サーバ間のデータ整合性を維持させるべく、後述する各更新処理が実行される。
【００４２】
ここで、まず、クライアント端末１０、コンテンツサーバ２０、負荷分散装置４０、インデックスサーバ５０、インデックスサーバ６０、インデックスＤＢ９０、ルックアップサーバ８０から構成されるコンテンツ配信システムに対し、コンテンツサーバ３０が追加される場合について説明を行う。
【００４３】
コンテンツサーバ３０の制御部３１は、いわゆるＣＰＵとしてコンテンツサーバ３０を制御する部であり、サーバ管理者等の操作により、起動されると、記憶部３２の通信先データに基づいて、ルックアップサーバ８０に対し、起動信号を送信する。
【００４４】
そして、ルックアップサーバ８０の制御部８１は、起動信号を受信すると、起動信号を状態変化検知部８４に転送し、起動信号を受けつけた状態変化検知部８４は、新たなサーバが追加されたことを検知する。
【００４５】
制御部８１は、状態変化検知部８４が新たなサーバが追加されたことを検知すると、コンテンツサーバ３０に対し、サーバ識別データの送信を指示するデータ送信指示信号を送信する。
【００４６】
コンテンツサーバ３０の制御部３１は、データ送信指示信号を受信すると、記憶部３２のサーバ識別データをルックアップサーバ８０に送信する。
【００４７】
ルックアップサーバ８０の制御部８１は、サーバ識別データを受信すると、サーバ識別データをデータ更新部８５に転送する。
【００４８】
データ更新部８５は、記憶部８２の各データの更新を行う部であり、サーバ識別データを受けると、記憶部８２の起動サーバリスト情報にサーバ識別データを追加する。
【００４９】
リスト更新指示部８６は、起動中の各インデックスサーバが保持する起動サーバリスト情報の更新を指示する部であり、データ更新部８５がサーバ識別データを追加すると、該サーバ識別データの追加を指示する追加指示データを記憶部８２の起動サーバリスト情報に基づいて、少なくとも各インデックスサーバに送信する。即ち、本実施例では、起動サーバリスト情報に基づいて、少なくとも起動中のインデックスサーバ５０、６０に対して追加指示データが送信される。
【００５０】
インデックスサーバ５０の制御部５１は、いわゆるＣＰＵとして、インデックスサーバ５０を制御する部であり、追加指示データを受信すると、追加指示データをリスト更新部５３に転送する。
【００５１】
リスト更新部５３は、記憶部５２の起動サーバリスト情報を更新する部であり、追加指示データを受けると、追加指示データに基づいて、記憶部５２の起動サーバリスト情報にサーバ識別データを追加する。即ち、記憶部５２の起動サーバリスト情報にコンテンツサーバ３０を示すサーバ識別データが追加される。
【００５２】
一方、インデックスサーバ６０の制御部６１は、いわゆるＣＰＵとして、インデックスサーバ６０を制御する部であり、追加指示データを受信すると、追加指示データをリスト更新部６３に転送する。
【００５３】
リスト更新部６３は、記憶部６２の起動サーバリスト情報を更新する部であり、追加指示データを受けると、追加指示データに基づいて、記憶部６２の起動サーバリスト情報にサーバ識別データを追加する。即ち、記憶部６２の起動サーバリスト情報にコンテンツサーバ３０を示すサーバ識別データが追加される。
【００５４】
このように、上記構成のコンテンツ配信システムに対し、コンテンツサーバ３０が追加された場合、ルックアップサーバ８０が新たなサーバ（＝コンテンツサーバ３０）の追加を検知すると共に、少なくとも起動中のインデックスサーバ５０、６０に対し、各記憶部５２、６２の起動サーバリスト情報にコンテンツサーバ３０を示すサーバ識別データを追加する指示を行い、該指示を受けたインデックスサーバ５０、６０が各記憶部５２、６２の起動サーバリスト情報にサーバ識別データを追加するようにしたので、ルックアップサーバ８０、インデックスサーバ５０、６０間の起動サーバリスト情報の整合性を維持することができる。
【００５５】
次に、上記コンテンツサーバ３０が追加された構成のコンテンツ配信システムに対し、インデックスサーバ７０が追加される場合について説明を行う。
【００５６】
インデックスサーバ７０の制御部７１は、いわゆるＣＰＵとしてインデックスサーバ７０を制御する部であり、サーバ管理者等の操作により、起動されると、記憶部７２の通信先データに基づいて、起動信号をルックアップサーバ８０に送信する。
【００５７】
そして、制御部８１は、起動信号を受信すると、起動信号を状態変化検知部８４に転送し、起動信号を受けつけた状態変化検知部８４は、新たなサーバ（＝インデックスサーバ７０）が追加されたことを検知する。
【００５８】
制御部８１は、状態変化検知部８４が新たなサーバが追加されたことを検知すると、インデックスサーバ７０に対し、サーバ識別データの送信を指示するデータ送信指示信号を送信する。
【００５９】
インデックスサーバ７０の制御部７１は、データ送信指示信号を受信すると、記憶部７２のサーバ識別データおよび最新の起動サーバリスト情報を取得するためのサーバリスト要求信号をルックアップサーバ８０に送信する。
【００６０】
ルックアップサーバ８０の制御部８１は、サーバ識別データ及びサーバリスト要求信号を受信すると、記憶部８２から起動サーバリスト情報を取得し、該取得した起動サーバリスト情報をインデックスサーバ７０に送信すると共に、サーバ識別データをデータ更新部８５に転送する。
【００６１】
インデックスサーバ７０の制御部７１は、起動サーバリスト情報を受信すると、起動サーバリスト情報を記憶部７２に登録する。
【００６２】
一方、データ更新部８５は、サーバ識別データを受けると、記憶部８２の起動サーバリスト情報にサーバ識別データを追加する。
【００６３】
リスト更新指示部８６は、データ更新部８５がサーバ識別データを追加すると、上記と同様に、起動中の各インデックスサーバが保持する起動サーバリスト情報を更新すべく、追加されたサーバ識別データの追加を指示する追加指示データを記憶部８２の起動サーバリスト情報に基づいた各サーバに対して送信する。即ち、本実施例では、起動サーバリスト情報に基づいて、少なくとも起動中のインデックスサーバ５０、６０、７０に対して、追加指示データが送信される。
【００６４】
そして、インデックスサーバ５０、６０、７０は、追加指示データをそれぞれ受信すると、各リスト更新部５３、６３、７３により、記憶部５２、６２、７２の起動サーバリスト情報にサーバ識別データを追加する。
【００６５】
このように、上記構成のコンテンツ配信システムに対し、インデックスサーバ７０が追加された場合、ルックアップサーバ８０がインデックスサーバ７０の追加を検知すると共に、起動中のインデックスサーバ５０、６０、７０に対し、各記憶部５２、６２、７２の起動サーバリスト情報にインデックスサーバ７０を示すサーバ識別データを追加する指示を行い、該指示を受けたインデックスサーバ５０、６０、７０が各記憶部５２、６２、７２の起動サーバリスト情報に該サーバ識別データを追加するようにしたので、ルックアップサーバ８０、インデックスサーバ５０、６０、７０間の起動サーバリスト情報の整合性を維持することができる。
【００６６】
次に、上記インデックスサーバ７０が追加された構成のコンテンツ配信システムにおいて、インデックスサーバ７０が障害等により切断された場合について説明を行う。
【００６７】
例えば、ルックアップサーバ８０の状態変化検知部８４は、制御部８１を介して、確認対象であるインデックスサーバ７０から一定時間以上確認信号を受信しないと、インデックスサーバ７０が切断されたことを検知する。
【００６８】
ルックアップサーバ８０の制御部８１は、状態変化検知部８４がインデックスサーバ７０の切断を検知すると、切断されたインデックスサーバ７０を示すサーバ識別データをデータ更新部８５に転送する。
【００６９】
データ更新部８５は、サーバ識別データを受けると、サーバ識別データを記憶部８２の起動サーバリスト情報から削除する。
【００７０】
リスト更新指示部８６は、データ更新部８５がサーバ識別データを削除すると、起動中の各インデックスサーバが保持する起動サーバリスト情報を更新すべく、該サーバ識別データの削除を指示する削除指示データを記憶部８２の起動サーバリスト情報に基づいた各サーバに対して送信する。即ち、本実施例では、起動サーバリスト情報に基づいて、少なくとも起動中のインデックスサーバ５０、６０に対して削除指示データが送信される。
【００７１】
インデックスサーバ５０の制御部５１は、削除指示データを受信すると、削除指示データをリスト更新部５３に転送する。
【００７２】
リスト更新部５３は、削除指示データを受けると、削除指示データに基づいて、記憶部５２の起動サーバリスト情報から、インデックスサーバ７０を示すサーバ識別データを削除する。
【００７３】
一方、インデックスサーバ６０の制御部６１は、削除指示データを受信すると、削除指示データをリスト更新部６３に転送する。
【００７４】
リスト更新部６３は、削除指示データを受けると、削除指示データに基づいて、記憶部６２の起動サーバリスト情報から、インデックスサーバ７０を示すサーバ識別データを削除する。
【００７５】
このように、上記構成のコンテンツ配信システムに対し、例えば、インデックスサーバ７０が切断された場合、ルックアップサーバ８０がインデックスサーバ７０の切断を検知すると共に、少なくとも起動中のインデックスサーバ５０、６０に対し、各記憶部５２、６２の起動サーバリスト情報から、インデックスサーバ７０を示すサーバ識別データを削除する指示を行い、該指示を受けたインデックスサーバ５０、６０が各記憶部５２、６２の起動サーバリスト情報から該サーバ識別データを削除するようにしたので、ルックアップサーバ８０、インデックスサーバ５０、６０間の起動サーバリスト情報の整合性を維持することができる。
【００７６】
最後に、上記構成のコンテンツ配信システムのコンテンツサーバ３０にコンテンツデータ「Ｂ」が追加された場合について説明を行う。この追加されるコンテンツデータ「Ｂ」には、該コンテンツデータを識別するためのコンテンツ識別データ「ｂ」が付与されていることとする。
【００７７】
クライアント端末１０から、コンテンツサーバ３０に対し、最新のコンテンツデータ「Ｂ」を追加すべく、コンテンツデータ「Ｂ」が送信されると、コンテンツサーバ３０の制御部３１は、コンテンツデータ「Ｂ」をインデックス更新部３３に転送する。
【００７８】
インデックス更新部３３は、コンテンツデータ「Ｂ」を受けると、記憶部３２にコンテンツデータ「Ｂ」を追加する。
【００７９】
インデックス情報生成部３７は、インデックス情報を生成する部であり、インデックス更新部３３がコンテンツデータ「Ｂ」の追加を完了すると、インデックスＤＢ９０を更新すべく、コンテンツデータ「Ｂ」のコンテンツ識別データ「ｂ」およびコンテンツサーバ３０を示すサーバ識別データを対応づけたインデックス情報を生成すると共に、生成されたインデックス情報の追加を指示する追加指示データを負荷分散装置４０に送信する。
【００８０】
負荷分散装置４０は、追加指示データを受信すると、追加指示データの転送先を任意に選択すると共に、選択されたインデックスサーバに対し、該追加指示データを転送する。本実施例では、インデックスサーバ５０が選択されると共に、選択されたインデックスサーバ５０に対し、追加指示データが転送されることとする。
【００８１】
インデックスサーバ５０の制御部５１は、追加指示データを受けると、追加指示データをデータ更新部５６に転送する。
【００８２】
データ更新部５６は、インデックスＤＢ９０の更新を行う部であり、追加指示データを受けると、追加指示データに基づいて、インデックスＤＢ９０にインデックス情報を追加する。
【００８３】
更新指示部５５は、起動中の各サーバに対し、インデックス情報の更新を指示する部であり、データ更新部５６がインデックス情報の追加を完了すると、該インデックス情報の追加を指示する追加指示データを記憶部５２の起動サーバリスト情報に基づいて、少なくとも起動中のコンテンツサーバ２０および３０に対して送信する。
【００８４】
コンテンツサーバ２０の制御部２１は、追加指示データを受信すると、追加指示データをインデックス更新部２３に転送する。
【００８５】
インデックス更新部２３は、追加指示データを受けると、追加指示データに基づいて、記憶部２２にインデックス情報を追加する。
【００８６】
データ検索部２５は、古いインデックス情報が登録されているか否かを検索する部であり、インデックス更新部２３がインデックス情報の追加を完了すると、記憶部２２を参照し、追加されたインデックス情報と同一のコンテンツ識別データが対応づけられた非最新インデックス情報（＝古いインデックス情報）が登録されているか否かを検索し、登録されていないと、非最新インデックス情報が存在しないことを検知し、登録されていると、非最新インデックス情報が存在していることを検知する。
【００８７】
制御部２１は、非最新インデックス情報が存在しないことをデータ検索部２５が検知すると、更新処理を完了し、非最新インデックス情報の存在を検知すると、非最新インデックス情報が存在することを示す検知信号を削除指示部２８に出力する。
【００８８】
削除指示部２８は、インデックスＤＢ９０に保持されている非最新インデックス情報の削除を指示する部であり、検知信号を受けると、該非最新インデックス情報の削除を指示する削除指示データを負荷分散装置４０に転送する。
【００８９】
ここで、コンテンツサーバ２０の記憶部２２には、追加されたインデックス情報と同一のコンテンツ識別データ「ｂ」が対応づけられた非最新インデックス情報（＝古いインデックス情報）が登録されていることから、データ検索部２５は、非最新インデックス情報の存在を検知し、削除指示部２８が非最新インデックス情報の削除を指示する削除指示データを負荷分散装置４０に送信する。
【００９０】
負荷分散装置４０は、削除指示データを受信すると、削除指示データの転送先を任意に選択すると共に、選択されたインデックスサーバに対し、該削除指示データを転送する。本実施例では、インデックスサーバ６０が選択されると共に、選択されたインデックスサーバ６０に対し、削除指示データが転送されることとする。
【００９１】
インデックスサーバ６０の制御部６１は、削除指示データを受けると、削除指示データをデータ更新部６６に転送する。
【００９２】
データ更新部６６は、削除指示データを受けると、削除指示データに基づいて、インデックスＤＢ９０から非最新インデックス情報を削除する。
【００９３】
更新指示部６５は、データ更新部６６が非最新インデックス情報の削除を完了すると、引き続き、記憶部６２の起動サーバリスト情報に基づいて、少なくとも起動中のコンテンツサーバ２０、３０に対して、該非最新インデックス情報の削除を指示する削除指示データを送信する。
【００９４】
コンテンツサーバ２０の制御部２１は、削除指示データを受信すると、削除指示データをインデックス更新部２３に転送する。
【００９５】
インデックス更新部２３は、削除指示データを受けると、削除指示データに基づいて、記憶部２２から非最新インデックス情報の削除を行う。この際、インデックス更新部２３は、削除された非最新インデックス情報のコンテンツ識別データが付与されたコンテンツデータを保持している場合、該コンテンツデータも削除する。
【００９６】
一方、コンテンツサーバ３０の制御部３１も、コンテンツサーバ２０と同様に、削除指示データを受信すると、削除指示データをインデックス更新部３３に転送し、削除指示データを受けたインデックス更新部３３は、削除指示データに基づいて、記憶部３２から非最新インデックス情報を削除する。この際、インデックス更新部３３は、削除されたインデックス情報のコンテンツ識別データが付与されたコンテンツデータを保持している場合、該コンテンツデータも削除する。
【００９７】
一方、コンテンツサーバ３０の制御部３１も、上述したコンテンツサーバ２０と同様に、追加指示データを受信すると、追加指示データをインデックス更新部３３に転送する。
【００９８】
インデックス更新部３３は、追加指示データを受けると、追加指示データに基づいて、記憶部３２にインデックス情報を追加する。
【００９９】
データ検索部３５は、古いインデックス情報が登録されているか否かを検索する部であり、インデックス更新部３３がインデックス情報の追加を完了すると、記憶部３２を参照し、追加されたインデックス情報と同一のコンテンツ識別データが対応づけられた非最新インデックス情報（＝古いインデックス情報）が登録されているか否かを検索し、登録されていないと、非最新インデックス情報が存在しないことを検知し、登録されていると、非最新インデックス情報が存在していることを検知する。
【０１００】
制御部３１は、非最新インデックス情報が存在しないことをデータ検索部３５が検知すると、更新処理を完了し、非最新インデックス情報の存在を検知すると、非最新インデックス情報が存在することを示す検知信号を削除指示部３８に出力する。
【０１０１】
ここで、コンテンツサーバ３０の記憶部３２には、更新されたインデックス情報と同一のコンテンツ識別データ「ｂ」が対応づけられたインデックス情報が登録されていないことから、データ検索部３５は、古いインデックス情報が登録されていないことを検知し、制御部３１により更新処理が完了される。
【０１０２】
このように、上記構成のコンテンツ配信システムのコンテンツサーバ３０にコンテンツデータ「Ｂ」が追加された場合、まず、インデックスＤＢ９０を更新すべく、コンテンツサーバ３０がコンテンツデータ「Ｂ」のコンテンツ識別データ「ｂ」およびコンテンツサーバ３０を示すサーバ識別データを対応づけたインデックス情報を生成すると共に、生成されたインデックス情報を負荷分散装置４０により任意に選択されるインデックスサーバ５０、６０のいずれかがインデックスＤＢ９０に追加すると共に、追加されたインデックス情報と同一のコンテンツ識別データが対応づけられている非最新インデックス情報をコンテンツサーバ２０、３０の記憶部２２、３２から削除するようにしたので、インデックスＤＢ９０、コンテンツサーバ２０、３０の各記憶部２２、３２間のインデックス情報の整合性を維持することができる。
【０１０３】
〈実施例の動作〉
次に、本実施例のコンテンツ配信システムの動作について説明を行う。
【０１０４】
図２は、本実施例のコンテンツ配信システムの動作フローチャートである。
【０１０５】
本実施例において、コンテンツ配信システムは、クライアント端末１０、コンテンツサーバ２０、負荷分散装置４０、インデックスサーバ５０、インデックスサーバ６０、ルックアップサーバ８０、インデックスＤＢ９０から構成されていることとする。
【０１０６】
ルックアップサーバ８０の制御部８１は、サーバ管理者等の操作により、起動されると（Ｓ１）、通信環境の変化を監視すべく、検知開始指示信号を状態変化検知部８４に転送する。
【０１０７】
状態変化検知部８４は、検知開始指示信号を受けると、確認信号要求部８３を制御し、記憶部８２の起動サーバリスト情報に基づいた各サーバに対し、確認要求信号を送信させる（Ｓ２）。即ち、本実施例では、コンテンツサーバ２０、インデックスサーバ５０、６０のそれぞれに対して確認要求信号が定期的に送信される。
【０１０８】
そして、状態変化検知部８４は、制御部８１を介して、確認対象である各サーバから一定時間内に確認信号を受信すると、通信状態の変化がないことを検知し、引き続き、確認信号要求部８３により確認要求信号を送信させ、確認信号の要求先であるサーバのいずれかから一定時間以上確認信号を受信しないと、該サーバが切断されたことを検知する。また、制御部８１を介して起動信号を受信すると、新たなサーバが追加されたことを検知する（Ｓ３）。以降、状態変化検知部８４による検知結果に応じて、起動中の各サーバ間のデータ整合性を維持させるべく、後述する各更新処理が実行される（Ｓ４）。
【０１０９】
ここで、まず、クライアント端末１０、コンテンツサーバ２０、負荷分散装置４０、インデックスサーバ５０、インデックスサーバ６０、インデックスＤＢ９０、ルックアップサーバ８０から構成されるコンテンツ配信システムに対し、コンテンツサーバ３０が追加される場合について説明を行う。
【０１１０】
図３は、コンテンツサーバ３０が追加された場合の動作フローチャートである。
【０１１１】
コンテンツサーバ３０の制御部３１は、サーバ管理者等の操作により、起動されると、記憶部３２の通信先データに基づいて、ルックアップサーバ８０に対し、起動信号を送信する（Ｓ１０１）。
【０１１２】
そして、ルックアップサーバ８０の制御部８１は、起動信号を受信すると、起動信号を状態変化検知部８４に転送し、起動信号を受けつけた状態変化検知部８４は、新たなサーバが追加されたことを検知する（Ｓ１０２）。
【０１１３】
制御部８１は、状態変化検知部８４が新たなサーバが追加されたことを検知すると、コンテンツサーバ３０に対し、サーバ識別データの送信を指示するデータ送信指示信号を送信する（Ｓ１０３）。
【０１１４】
コンテンツサーバ３０の制御部３１は、データ送信指示信号を受信すると、記憶部３２のサーバ識別データをルックアップサーバ８０に送信する（Ｓ１０４）。
【０１１５】
ルックアップサーバ８０の制御部８１は、サーバ識別データを受信すると、サーバ識別データをデータ更新部８５に転送する。
【０１１６】
データ更新部８５は、サーバ識別データを受けると、記憶部８２の起動サーバリスト情報にサーバ識別データを追加する（Ｓ１０５）。
【０１１７】
リスト更新指示部８６は、データ更新部８５がサーバ識別データを追加すると、該サーバ識別データの追加を指示する追加指示データを記憶部８２の起動サーバリスト情報に基づいて、少なくとも各インデックスサーバに送信する。即ち、本実施例では、起動サーバリスト情報に基づいて、少なくとも起動中のインデックスサーバ５０、６０に対して追加指示データが送信される（Ｓ１０６）。
【０１１８】
インデックスサーバ５０の制御部５１は、追加指示データを受信すると、追加指示データをリスト更新部５３に転送する。
【０１１９】
リスト更新部５３は、追加指示データを受けると、追加指示データに基づいて、記憶部５２の起動サーバリスト情報にサーバ識別データを追加する。即ち、記憶部５２の起動サーバリスト情報にコンテンツサーバ３０を示すサーバ識別データが追加される（Ｓ１０７）。
【０１２０】
一方、インデックスサーバ６０の制御部６１は、追加指示データを受信すると、追加指示データをリスト更新部６３に転送する。
【０１２１】
リスト更新部６３は、追加指示データを受けると、追加指示データに基づいて、記憶部６２の起動サーバリスト情報にサーバ識別データを追加する。即ち、記憶部６２の起動サーバリスト情報にコンテンツサーバ３０を示すサーバ識別データが追加される（Ｓ７）。
【０１２２】
このように、上記構成のコンテンツ配信システムに対し、コンテンツサーバ３０が追加された場合、ルックアップサーバ８０が新たなサーバ（＝コンテンツサーバ３０）の追加を検知すると共に、少なくとも起動中のインデックスサーバ５０、６０に対し、各記憶部５２、６２の起動サーバリスト情報にコンテンツサーバ３０を示すサーバ識別データを追加する指示を行い、該指示を受けたインデックスサーバ５０、６０が各記憶部５２、６２の起動サーバリスト情報にサーバ識別データを追加するようにしたので、ルックアップサーバ８０、インデックスサーバ５０、６０間の起動サーバリスト情報の整合性を維持することができる。
【０１２３】
次に、上記コンテンツサーバ３０が追加された構成のコンテンツ配信システムに対し、インデックスサーバ７０が追加される場合について説明を行う。
【０１２４】
図４は、インデックスサーバ７０が追加された場合の動作フローチャートである。
【０１２５】
インデックスサーバ７０の制御部７１は、サーバ管理者等の操作により、起動されると、記憶部７２の通信先データに基づいて、起動信号をルックアップサーバ８０に送信する（Ｓ２０１）。
【０１２６】
そして、制御部８１は、起動信号を受信すると、起動信号を状態変化検知部８４に転送し、起動信号を受けつけた状態変化検知部８４は、新たなサーバ（＝インデックスサーバ７０）が追加されたことを検知する（Ｓ２０２）。
【０１２７】
制御部８１は、状態変化検知部８４が新たなサーバが追加されたことを検知すると、インデックスサーバ７０に対し、サーバ識別データの送信を指示するデータ送信指示信号を送信する（Ｓ２０３）。
【０１２８】
インデックスサーバ７０の制御部７１は、データ送信指示信号を受信すると、記憶部７２のサーバ識別データおよび最新の起動サーバリスト情報を取得するためのサーバリスト要求信号をルックアップサーバ８０に送信する（Ｓ２０４）。
【０１２９】
ルックアップサーバ８０の制御部８１は、サーバ識別データ及びサーバリスト要求信号を受信すると、記憶部８２から起動サーバリスト情報を取得し、該取得した起動サーバリスト情報をインデックスサーバ７０に送信すると共に、サーバ識別データをデータ更新部８５に転送する（Ｓ２０５）。
【０１３０】
インデックスサーバ７０の制御部７１は、起動サーバリスト情報を受信すると、起動サーバリスト情報を記憶部７２に登録する。
【０１３１】
一方、データ更新部８５は、サーバ識別データを受けると、記憶部８２の起動サーバリスト情報にサーバ識別データを追加する（Ｓ２０６）。
【０１３２】
リスト更新指示部８６は、データ更新部８５がサーバ識別データを追加すると、上記と同様に、起動中の各インデックスサーバが保持する起動サーバリスト情報を更新すべく、追加されたサーバ識別データの追加を指示する追加指示データを記憶部８２の起動サーバリスト情報に基づいた各サーバに対して送信する（Ｓ２０７）。即ち、本実施例では、起動サーバリスト情報に基づいて、少なくとも起動中のインデックスサーバ５０、６０、７０に対して、追加指示データが送信される。
【０１３３】
そして、インデックスサーバ５０、６０、７０は、追加指示データをそれぞれ受信すると、各リスト更新部５３、６３、７３により、記憶部５２、６２、７２の起動サーバリスト情報にサーバ識別データを追加する（Ｓ２０８）。
【０１３４】
このように、上記構成のコンテンツ配信システムに対し、インデックスサーバ７０が追加された場合、ルックアップサーバ８０がインデックスサーバ７０の追加を検知すると共に、起動中のインデックスサーバ５０、６０、７０に対し、各記憶部５２、６２、７２の起動サーバリスト情報にインデックスサーバ７０を示すサーバ識別データを追加する指示を行い、該指示を受けたインデックスサーバ５０、６０、７０が各記憶部５２、６２、７２の起動サーバリスト情報に該サーバ識別データを追加するようにしたので、ルックアップサーバ８０、インデックスサーバ５０、６０、７０間の起動サーバリスト情報の整合性を維持することができる。
【０１３５】
次に、上記インデックスサーバ７０が追加された構成のコンテンツ配信システムにおいて、インデックスサーバ７０が障害等により切断された場合について説明を行う。
【０１３６】
図６は、インデックスサーバ７０が切断された場合の動作フローチャートである。
【０１３７】
例えば、ルックアップサーバ８０の状態変化検知部８４は、制御部８１を介して、確認対象であるインデックスサーバ７０から一定時間以上確認信号を受信しないと、インデックスサーバ７０が切断されたことを検知する（Ｓ３０１）。
【０１３８】
ルックアップサーバ８０の制御部８１は、状態変化検知部８４がインデックスサーバ７０の切断を検知すると、切断されたインデックスサーバ７０を示すサーバ識別データをデータ更新部８５に転送する。
【０１３９】
データ更新部８５は、サーバ識別データを受けると、サーバ識別データを記憶部８２の起動サーバリスト情報から削除する（Ｓ３０２）。
【０１４０】
リスト更新指示部８６は、データ更新部８５がサーバ識別データを削除すると、起動中の各インデックスサーバが保持する起動サーバリスト情報を更新すべく、該サーバ識別データの削除を指示する削除指示データを記憶部８２の起動サーバリスト情報に基づいた各サーバに対して送信する（Ｓ３０３）。即ち、本実施例では、起動サーバリスト情報に基づいて、少なくとも起動中のインデックスサーバ５０、６０に対して削除指示データが送信される。
【０１４１】
インデックスサーバ５０の制御部５１は、削除指示データを受信すると、削除指示データをリスト更新部５３に転送する。
【０１４２】
リスト更新部５３は、削除指示データを受けると、削除指示データに基づいて、記憶部５２の起動サーバリスト情報から、インデックスサーバ７０を示すサーバ識別データを削除する（Ｓ３０４）。
【０１４３】
一方、インデックスサーバ６０の制御部６１は、削除指示データを受信すると、削除指示データをリスト更新部６３に転送する。
【０１４４】
リスト更新部６３は、削除指示データを受けると、削除指示データに基づいて、記憶部６２の起動サーバリスト情報から、インデックスサーバ７０を示すサーバ識別データを削除する。
【０１４５】
このように、上記構成のコンテンツ配信システムに対し、例えば、インデックスサーバ７０が切断された場合、ルックアップサーバ８０がインデックスサーバ７０の切断を検知すると共に、少なくとも起動中のインデックスサーバ５０、６０に対し、各記憶部５２、６２の起動サーバリスト情報から、インデックスサーバ７０を示すサーバ識別データを削除する指示を行い、該指示を受けたインデックスサーバ５０、６０が各記憶部５２、６２の起動サーバリスト情報から該サーバ識別データを削除するようにしたので、ルックアップサーバ８０、インデックスサーバ５０、６０間の起動サーバリスト情報の整合性を維持することができる。
【０１４６】
最後に、上記構成のコンテンツ配信システムのコンテンツサーバ３０にコンテンツデータ「Ｂ」が追加された場合について説明を行う。この追加されるコンテンツデータ「Ｂ」には、該コンテンツデータを識別するためのコンテンツ識別データ「ｂ」が付与されていることとする。
【０１４７】
図６は、コンテンツサーバ３０にコンテンツデータが追加された場合の動作フローチャートである。
【０１４８】
クライアント端末１０から、コンテンツサーバ３０に対し、最新のコンテンツデータ「Ｂ」を追加すべく、コンテンツデータ「Ｂ」が送信されると、コンテンツサーバ３０の制御部３１は、コンテンツデータ「Ｂ」をインデックス更新部３３に転送する。
【０１４９】
インデックス更新部３３は、コンテンツデータ「Ｂ」を受けると、記憶部３２にコンテンツデータ「Ｂ」を追加する（Ｓ４０１）。
【０１５０】
インデックス情報生成部３７は、インデックス更新部３３がコンテンツデータ「Ｂ」の追加を完了すると、インデックスＤＢ９０を更新すべく、コンテンツデータ「Ｂ」のコンテンツ識別データ「ｂ」およびコンテンツサーバ３０を示すサーバ識別データを対応づけたインデックス情報を生成すると共に、生成されたインデックス情報の追加を指示する追加指示データを負荷分散装置４０に送信する（Ｓ４０２）。
【０１５１】
負荷分散装置４０は、追加指示データを受信すると、追加指示データの転送先を任意に選択すると共に、選択されたインデックスサーバに対し、該追加指示データを転送する。本実施例では、インデックスサーバ５０が選択されると共に、選択されたインデックスサーバ５０に対し、追加指示データが転送されることとする。
【０１５２】
インデックスサーバ５０の制御部５１は、追加指示データを受けると、追加指示データをデータ更新部５６に転送する。
【０１５３】
データ更新部５６は、追加指示データを受けると、追加指示データに基づいて、インデックスＤＢ９０にインデックス情報を追加する（Ｓ４０３）。
【０１５４】
更新指示部５５は、データ更新部５６がインデックス情報の追加を完了すると、該インデックス情報の追加を指示する追加指示データを記憶部５２の起動サーバリスト情報に基づいて、少なくとも起動中のコンテンツサーバ２０および３０に対して送信する（Ｓ４０４）。
【０１５５】
コンテンツサーバ２０の制御部２１は、追加指示データを受信すると、追加指示データをインデックス更新部２３に転送する。
【０１５６】
インデックス更新部２３は、追加指示データを受けると、追加指示データに基づいて、記憶部２２にインデックス情報を追加する（Ｓ４０５）。
【０１５７】
データ検索部２５は、インデックス更新部２３がインデックス情報の追加を完了すると、記憶部２２を参照し、追加されたインデックス情報と同一のコンテンツ識別データが対応づけられた非最新インデックス情報（＝古いインデックス情報）が登録されているか否かを検索し、登録されていないと、非最新インデックス情報が存在しないことを検知し、登録されていると、非最新インデックス情報が存在していることを検知する（Ｓ４０６）。
【０１５８】
制御部２１は、非最新インデックス情報が存在しないことをデータ検索部２５が検知すると、更新処理を完了し、非最新インデックス情報の存在を検知すると、非最新インデックス情報が存在することを示す検知信号を削除指示部２８に出力する（Ｓ４０７）。
【０１５９】
削除指示部２８は、検知信号を受けると、該非最新インデックス情報の削除を指示する削除指示データを負荷分散装置４０に転送する（Ｓ４０８）。
【０１６０】
ここで、コンテンツサーバ２０の記憶部２２には、追加されたインデックス情報と同一のコンテンツ識別データ「ｂ」が対応づけられた非最新インデックス情報（＝古いインデックス情報）が登録されていることから、データ検索部２５は、非最新インデックス情報の存在を検知し、削除指示部２８が非最新インデックス情報の削除を指示する削除指示データを負荷分散装置４０に送信する。
【０１６１】
負荷分散装置４０は、削除指示データを受信すると、削除指示データの転送先を任意に選択すると共に、選択されたインデックスサーバに対し、該削除指示データを転送する。本実施例では、インデックスサーバ６０が選択されると共に、選択されたインデックスサーバ６０に対し、削除指示データが転送されることとする。
【０１６２】
インデックスサーバ６０の制御部６１は、削除指示データを受けると、削除指示データをデータ更新部６６に転送する。
【０１６３】
データ更新部６６は、削除指示データを受けると、削除指示データに基づいて、インデックスＤＢ９０から非最新インデックス情報を削除する（Ｓ４０９）。
【０１６４】
更新指示部６５は、データ更新部６６が非最新インデックス情報の削除を完了すると、引き続き、記憶部６２の起動サーバリスト情報に基づいて、少なくとも起動中のコンテンツサーバ２０、３０に対して、該非最新インデックス情報の削除を指示する削除指示データを送信する（Ｓ４１０）。
【０１６５】
コンテンツサーバ２０の制御部２１は、削除指示データを受信すると、削除指示データをインデックス更新部２３に転送する。
【０１６６】
インデックス更新部２３は、削除指示データを受けると、削除指示データに基づいて、記憶部２２から非最新インデックス情報の削除を行う（Ｓ４１１）。この際、インデックス更新部２３は、削除された非最新インデックス情報のコンテンツ識別データが付与されたコンテンツデータを保持している場合、該コンテンツデータも削除する。
【０１６７】
一方、コンテンツサーバ３０の制御部３１も、コンテンツサーバ２０と同様に、削除指示データを受信すると、削除指示データをインデックス更新部３３に転送し、削除指示データを受けたインデックス更新部３３は、削除指示データに基づいて、記憶部３２から非最新インデックス情報を削除する。この際、インデックス更新部３３は、削除されたインデックス情報のコンテンツ識別データが付与されたコンテンツデータを保持している場合、該コンテンツデータも削除する。
【０１６８】
一方、コンテンツサーバ３０の制御部３１も、上述したコンテンツサーバ２０と同様に、追加指示データを受信すると、追加指示データをインデックス更新部３３に転送する。
【０１６９】
インデックス更新部３３は、追加指示データを受けると、追加指示データに基づいて、記憶部３２にインデックス情報を追加する。
【０１７０】
データ検索部３５は、インデックス更新部３３がインデックス情報の追加を完了すると、記憶部３２を参照し、追加されたインデックス情報と同一のコンテンツ識別データが対応づけられた非最新インデックス情報（＝古いインデックス情報）が登録されているか否かを検索し、登録されていないと、非最新インデックス情報が存在しないことを検知し、登録されていると、非最新インデックス情報が存在していることを検知する。
【０１７１】
制御部３１は、非最新インデックス情報が存在しないことをデータ検索部３５が検知すると、更新処理を完了し、非最新インデックス情報の存在を検知すると、非最新インデックス情報が存在することを示す検知信号を削除指示部３８に出力する。
【０１７２】
ここで、コンテンツサーバ３０の記憶部３２には、更新されたインデックス情報と同一のコンテンツ識別データ「ｂ」が対応づけられたインデックス情報が登録されていないことから、データ検索部３５は、古いインデックス情報が登録されていないことを検知し、制御部３１により更新処理が完了される。
【０１７３】
このように、上記構成のコンテンツ配信システムのコンテンツサーバ３０にコンテンツデータ「Ｂ」が追加された場合、まず、インデックスＤＢ９０を更新すべく、コンテンツサーバ３０がコンテンツデータ「Ｂ」のコンテンツ識別データ「ｂ」およびコンテンツサーバ３０を示すサーバ識別データを対応づけたインデックス情報を生成すると共に、生成されたインデックス情報を負荷分散装置４０により任意に選択されるインデックスサーバ５０、６０のいずれかがインデックスＤＢ９０に追加すると共に、追加されたインデックス情報と同一のコンテンツ識別データが対応づけられている非最新インデックス情報をコンテンツサーバ２０、３０の記憶部２２、３２から削除するようにしたので、インデックスＤＢ９０、コンテンツサーバ２０、３０の各記憶部２２、３２間のインデックス情報の整合性を維持することができる。
【０１７４】
〈実施例の効果〉
本実施例のコンテンツ配信システムでは、コンテンツ識別データ毎に、コンテンツデータを保持するコンテンツサーバを示すサーバ識別データが対応づけられたインデックス情報が格納されたインデックスＤＢ９０と複数のインデックスサーバ５０、６０とを設け、ルックアップサーバ８０は、サーバの追加を検知すると、追加されたサーバのサーバ識別データの追加を指示する追加指示データを各インデックスサーバ５０、６０に送信し、サーバの切断を検知すると、切断されたサーバのサーバ識別データの削除を指示する削除指示データを各インデックスサーバ５０、６０に送信し、コンテンツサーバは、コンテンツデータが更新されると、インデックス情報の更新を指示すべく、更新されたコンテンツデータの追加、変更、削除のいずれかを示す更新指示データを各インデックスサーバ５０、６０のいずれかに送信し、各インデックスサーバ５０、６０は、削除指示データを受信すると、削除指示データに基づいて、起動サーバリスト情報からサーバ識別データを削除し、追加指示データを受信すると、追加指示データに基づいて、起動サーバリスト情報にサーバ識別データを追加し、更新指示データを受信すると、更新指示データに基づいて、インデックス記憶部のインデックス情報を更新するようにした。
【０１７５】
また、コンテンツサーバ２０、３０にコンテンツ識別データ毎に、該コンテンツデータを保持するコンテンツサーバのサーバ識別データが対応づけられたインデックス情報を保持する記憶部２２、３２を設け、インデックスサーバ５０、６０のいずれかが更新指示データに基づいて、インデックスＤＢ９０にインデックス情報を追加すると、コンテンツサーバ２０、３０は、各記憶部２２、３２を参照し、追加されたインデックス情報と同一のコンテンツ識別データが対応づけられた非最新インデックス情報を検索し、非最新インデックス情報が検索されると、各インデックスサーバ５０、６０のいずれかに非最新インデックス情報の削除を指示する削除指示データを送信し、削除指示データを受信したインデックスサーバ５０、６０のいずれかが削除指示データに基づいて、インデックスＤＢ９０から非最新インデックス情報を削除すると、コンテンツサーバ２０、３０は、各記憶部２２、３２から非最新インデックス情報を削除するようにした。
【０１７６】
これにより、コンテンツデータの更新時、インデックスサーバ５０、６０、コンテンツサーバ２０、３０間のインデックス情報の整合性を維持することができると共に、障害等によりコンテンツ配信システムの構成が変更された場合においても、各インデックスサーバ５０、６０間の起動サーバリスト情報の整合性を維持することができる。従って、インデックス情報または各インデックスサーバ５０、６０が保持する起動サーバリスト情報間に不整合が生じることがなく、配信サービスが中断するのを防止する可用性の高いコンテンツ配信システムを提供できる。
【産業上の利用可能性】
【０１７７】
上記実施例では、コンテンツ配信システムを構成する各サーバは、予めルックアップサーバの通知先データを保持する構成であったが、これに限られることはなく、起動信号をマルチキャストにより送信することにより、ルックアップサーバ８０との通信を開始する構成としてもよい。
【図面の簡単な説明】
【０１７８】
【図１】本発明のコンテンツ配信システムを示すブロック構成図
【図２】本実施例のコンテンツ配信システムの動作フローチャート
【図３】コンテンツサーバ３０が追加された場合の動作フローチャート
【図４】インデックスサーバ７０が追加された場合の動作フローチャート
【図５】インデックスサーバ７０が切断された場合の動作フローチャート
【図６】コンテンツサーバ３０にコンテンツデータが追加された場合の動作フローチャート
【符号の説明】
【０１７９】
１０  クライアント端末
２０  コンテンツサーバ
２１  制御部
２２  記憶部
２３  インデックス更新部
２４  確認信号送信部
２５  データ検索部
２６  インデックス更新指示部
２７  インデックス情報生成部
２８  削除指示部
３０  コンテンツサーバ
３１  制御部
３２  記憶部
３３  インデックス更新部
３４  確認信号送信部
３５  データ検索部
３６  インデックス更新指示部
３７  インデックス情報生成部
３８  削除指示部
４０  負荷分散装置
５０  インデックスサーバ
５１  制御部
５２  記憶部
５３  リスト更新部
５４  確認信号送信部
５５  更新指示部
５６  データ更新部
６０  インデックスサーバ
６１  制御部
６２  記憶部
６３  リスト更新部
６４  確認信号送信部
６５  更新指示部
６６  データ更新部
７０  インデックスサーバ
７１  制御部
７２  記憶部
７３  リスト更新部
７４  確認信号送信部
７５  更新指示部
７６  データ更新部
８０  ルックアップサーバ
８１  制御部
８２  記憶部
８３  確認信号要求部
８４  状態変化検知部
８５  データ更新部
８６  リスト更新指示部
９０  インデックスＤＢ
【図１】
2007148882.tif 000003
【図２】
2007148882.tif 000004
【図３】
2007148882.tif 000005
【図４】
2007148882.tif 000006
【図５】
2007148882.tif 000007
【図６】
2007148882.tif 000008