(57)【要約】【課題】コンテンツの保存先を新たに決定する場合に、そのコンテンツの配信を迅速且つスムーズに行うように決定できる配信システムを提供する。【解決手段】複数のルータＲｍ等により構成されるオーバーレイネットワークによりルータＲｍ等に分散してコンテンツが保存される配信システムＳのルータＲｍ等において、そのルータＲｍ等がネットワークＮＷに接続するための通信回線の使用状態を取得し、その通信回線が第１閾値以上に使用されているかを判定し、通信回線が第１閾値以上に使用されているとき、他のルータＲｍ等の中から、コンテンツを新たに保存させるルータＲｍ等を決定する。決定されたルータＲｍ等との間でセッションを確立し、そのルータＲｍ等が接続されている通信回線の使用状態を取得する。取得した使用状態に基づいて、通信回線の使用状態が第２閾値以下であるルータＲｍ等を、コンテンツの新たな保存先として決定する。【選択図】図１
2012078903.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して相互に通信可能な複数のノード装置により構成されるオーバーレイネットワークにより、コンテンツが前記複数のノード装置に分散して保存される通信システムの前記ノード装置において、
前記コンテンツを記憶する記憶手段と、
前記ネットワークに接続するために、前記記憶手段を備える前記ノード装置が接続されている通信回線の使用状態を示す第１状態情報を取得する第１取得手段と、
前記第１取得手段により取得された前記第１状態情報に基づいて、所定の第１閾値以上に前記通信回線が使用されているかを判定する判定手段と、
前記通信回線が前記第１閾値以上に使用されているとき、前記オーバーレイネットワークに参加する前記ノード装置の中から、前記コンテンツを記憶させるノード装置の候補となるノード装置を決定する第１決定手段と、
前記第１決定手段により決定された前記ノード装置に接続する接続手段と、
前記接続手段により接続した前記ノード装置から、前記接続したノード装置が接続されている前記通信回線の使用状態を示す第２状態情報を取得する第２取得手段と、
前記第２取得手段により取得された前記第２状態情報に基づいて、前記接続手段により接続した前記ノード装置のうち、前記ノード装置に接続されている前記通信回線の使用状態が、所定の第２閾値以下である前記ノード装置を、前記コンテンツの記憶先として決定する第２決定手段と、
を備えることを特徴とするノード装置。
【請求項２】
前記第１決定手段は、前記オーバーレイネットワークに参加する前記複数のノード装置の中から、前記コンテンツを記憶させるノード装置の候補となるノード装置をランダムに決定することを特徴とする請求項１に記載のノード装置。
【請求項３】
前記通信システムにおいては、前記複数のノード装置間において、前記オーバーレイネットワークを介してメッセージが授受されることにより前記コンテンツの記憶および配信が行われ、
前記記憶手段を備える前記ノード装置に接続されている前記通信回線が前記第１閾値以上に使用されているとき、前記コンテンツを記憶済みのノード装置を前記オーバーレイネットワークにおいて検索する検索手段を更に備え、
前記第１決定手段は、前記検索手段により検索された前記ノード装置以外のノード装置の中から、前記コンテンツを記憶させるノード装置の候補となるノード装置を決定することを特徴とする請求項１または請求項２に記載のノード装置。
【請求項４】
前記記憶手段の空き容量を決定する容量決定手段と、
前記容量決定手段により決定された空き容量を示す空き容量情報を、前記空き容量情報を管理する前記オーバーレイネットワークのノード装置宛に送信する送信手段と、
他の前記ノード装置についての前記空き容量情報を、前記空き容量情報を管理するノード装置から取得する第３取得手段と、
を備え、
前記第１決定手段は、前記第３取得手段により取得された前記空き容量情報に基づき、前記空き容量情報により示される前記空き容量が大きいノード装置から順に、前記コンテンツを記憶させるノード装置の候補となるノード装置として決定することを特徴とする請求項１から請求項３のいずれか一項に記載のノード装置。
【請求項５】
前記第２決定手段による前記コンテンツの記憶先の決定において、前記接続手段により接続した各前記ノード装置に接続されている前記通信回線の使用状態が前記第２閾値より高い場合、所定の閾値時間だけ待機した後、前記接続手段は、前記第１決定手段により決定された前記ノード装置に対して再接続し、
前記第２取得手段は、前記接続手段により再接続された前記ノード装置から前記第２状態情報を再取得し、
前記第２決定手段は、前記第２取得手段により再取得された前記第２状態情報に基づいて、前記コンテンツの記憶先であるノード装置を決定することを特徴とする請求項１から請求項４のいずれか一項に記載のノード装置。
【請求項６】
ネットワークを介して相互に通信可能な複数のノード装置により構成されるオーバーレイネットワークにより、コンテンツが前記複数のノード装置に分散して保存される通信システムの前記ノード装置であって、前記コンテンツを記憶する記憶手段を備えるノード装置に含まれるコンピュータに、
前記ネットワークに接続するために、前記記憶手段を備える前記ノード装置が接続されている通信回線の使用状態を示す第１状態情報を取得するステップと、
前記取得された第１状態情報に基づいて、所定の第１閾値以上に前記通信回線が使用されているかを判定するステップと、
前記通信回線が前記第１閾値以上に使用されているとき、前記オーバーレイネットワークに参加する前記ノード装置の中から、前記コンテンツを記憶させるノード装置の候補となるノード装置を決定するステップと、
前記決定されたノード装置に接続するステップと、
前記接続したノード装置から、前記接続したノード装置が接続されている前記通信回線の使用状態を示す第２状態情報を取得するステップと、
前記取得された第２状態情報に基づいて、前記接続したノード装置のうち、前記ノード装置に接続されている前記通信回線の使用状態が、所定の第２閾値以下である前記ノード装置を、前記コンテンツの記憶先として決定するステップと、
を実行させることを特徴とするノード装置用プログラム。
【請求項７】
ネットワークを介して相互に通信可能な複数のノード装置により構成されるオーバーレイネットワークにより、コンテンツが前記複数のノード装置に分散して保存される通信システムにおいて実行される情報処理方法において、
前記ネットワークに接続するために、前記ノード装置が接続されている通信回線の使用状態を示す第１状態情報を取得する第１取得ステップと、
前記取得された第１状態情報に基づいて、所定の第１閾値以上に前記通信回線が使用されているかを判定する判定ステップと、
前記通信回線が前記第１閾値以上に使用されているとき、前記オーバーレイネットワークに参加する前記ノード装置の中から、前記コンテンツを記憶させるノード装置の候補となるノード装置を決定する第１決定ステップと、
前記決定されたノード装置に接続する接続ステップと、
前記接続したノード装置から、前記接続したノード装置が接続されている前記通信回線の使用状態を示す第２状態情報を取得する第２取得ステップと、
前記取得された第２状態情報に基づいて、前記接続したノード装置のうち、前記ノード装置に接続されている前記通信回線の使用状態が、所定の第２閾値以下である前記ノード装置を、前記コンテンツの記憶先として決定する第２決定ステップと、
を含むことを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、ノード装置、ノード装置用プログラムおよび情報処理方法の技術分野に属する。なお以下の説明では、「ノード装置」を適宜「ノード」と称する。
【背景技術】
【０００２】
近年、ピアツーピア（Peer to Peer（Ｐ２Ｐ））型のネットワークを介して、映画や動画等のコンテンツを配信する技術が開発されている。以下の説明では、Ｐ２Ｐ型のネットワークを単に「Ｐ２Ｐネットワーク」と称する。Ｐ２Ｐネットワークでは、Ｐ２Ｐネットワーク内に存在するノードそれぞれにコンテンツが分散保存される。そして各ノードは、ノード間でコンテンツを共有しつつ、互いに送受信する。Ｐ２Ｐネットワークについては、たとえば下記特許文献１に詳細に開示されている。このようなＰ２Ｐネットワークによれば、配信対象のコンテンツのデータ量が増大した場合でも、従来のクライアント−サーバ方式に含まれるサーバ装置への負荷増大に起因する配信障害等を回避できる。なお以下の説明では、「サーバ装置」を適宜「サーバ」と称する。
【０００３】
一方Ｐ２Ｐネットワークにおいて、特定のコンテンツを保存しているノードに配信要求が集中すると、そのノードからの配信が遅延する。このような遅延を解消するため、他のノード内にそのコンテンツの複製を保存させる。コンテンツは、その複製が保存されたノードからも配信される。このような複製の作成方法として、たとえば下記特許文献２に開示されている手法がある。特許文献２に開示されている手法の一例では、他のノードとの間における往復遅延時間を検出し、それに基づいて、複製を保存させる他のノードを検索する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−１９７４００公報
【特許文献２】特開２００５−２２７８４２公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
Ｐ２Ｐネットワーク内のノードにコンテンツの複製を保存させる場合、その複製を用いた配信を迅速且つスムーズに開始させる必要がある。しかしながら特許文献２に記載されたＰ２Ｐネットワークでは、複製の保存先を検索するに当たり、検索対象のノードの使用状態等は考慮されていない。このため、たとえばそのノードに接続されている回線が混雑している場合等においては、複製を保存させても迅速且つスムーズにその配信を開始させることができない。
【０００６】
そこで、本発明は上記の問題点に鑑みて為されたもので、その目的の一例は、コンテンツの保存先を新たに決定する場合に、そのコンテンツの配信を迅速且つスムーズに行うように決定することが可能なノード装置ならびに情報通信方法およびノード装置において実行されるノード装置用プログラムを提供することにある。
【課題を解決するための手段】
【０００７】
上記の課題を解決するために、請求項１に記載の発明は、ネットワークを介して相互に通信可能な複数のノード装置により構成されるオーバーレイネットワークにより、コンテンツが前記複数のノード装置に分散して保存される通信システムの前記ノード装置において、前記コンテンツを記憶する記憶部等の記憶手段と、前記ネットワークに接続するために、前記記憶手段を備える前記ノード装置が接続されている通信回線の使用状態を示す第１状態情報を取得する制御部等の第１取得手段と、前記第１取得手段により取得された前記第１状態情報に基づいて、所定の第１閾値以上に前記通信回線が使用されているかを判定する制御部等の判定手段と、前記通信回線が前記第１閾値以上に使用されているとき、前記オーバーレイネットワークに参加する前記ノード装置の中から、前記コンテンツを記憶させるノード装置の候補となるノード装置を決定する制御部等の第１決定手段と、前記第１決定手段により決定された前記ノード装置に接続する制御部等の接続手段と、前記接続手段により接続した前記ノード装置から、前記接続したノード装置が接続されている前記通信回線の使用状態を示す第２状態情報を取得する制御部等の第２取得手段と、前記第２取得手段により取得された前記第２状態情報に基づいて、前記接続手段により接続した前記ノード装置のうち、前記ノード装置に接続されている前記通信回線の使用状態が、所定の第２閾値以下である前記ノード装置を、前記コンテンツの記憶先として決定する制御部等の第２決定手段と、を備える。
【０００８】
上記の課題を解決するために、請求項７に記載の発明は、ネットワークを介して相互に通信可能な複数のノード装置により構成されるオーバーレイネットワークにより、コンテンツが前記複数のノード装置に分散して保存される通信システムにおいて実行される情報処理方法において、前記ネットワークに接続するために、前記ノード装置が接続されている通信回線の使用状態を示す第１状態情報を取得する第１取得ステップと、前記取得された第１状態情報に基づいて、所定の第１閾値以上に前記通信回線が使用されているかを判定する判定ステップと、前記通信回線が前記第１閾値以上に使用されているとき、前記オーバーレイネットワークに参加する前記ノード装置の中から、前記コンテンツを記憶させるノード装置の候補となるノード装置を決定する第１決定ステップと、前記決定されたノード装置に接続する接続ステップと、前記接続したノード装置から、前記接続したノード装置が接続されている前記通信回線の使用状態を示す第２状態情報を取得する第２取得ステップと、前記取得された第２状態情報に基づいて、前記接続したノード装置のうち、前記ノード装置に接続されている前記通信回線の使用状態が、所定の第２閾値以下である前記ノード装置を、前記コンテンツの記憶先として決定する第２決定ステップと、を含む。
【０００９】
請求項１または請求項７に記載の発明によれば、他のノード装置から取得した第２状態情報に基づいて、それに接続されている通信回線の使用状態が第２閾値以下であるノード装置をコンテンツの記憶先と決定する。通信回線の使用状態が第２閾値以下であるノード装置にコンテンツを記憶させることで、記憶保存後のコンテンツを迅速且つスムーズに配信することができる。
【００１０】
請求項２に記載の発明において、前記第１決定手段は、前記オーバーレイネットワークに参加する前記複数のノード装置の中から、前記コンテンツを記憶させるノード装置の候補となるノード装置をランダムに決定するように構成される。
【００１１】
請求項２に記載の発明によれば、記憶すべきコンテンツが未記憶であるノード装置の中からランダムに記憶先の候補を決定する。よって、簡易な構成でランダムに記憶先の候補を検索しつつ、その決定のためのメッセージの数を減らすことができる。
【００１２】
請求項３に記載の発明において、前記通信システムにおいては、前記複数のノード装置間において、前記オーバーレイネットワークを介してメッセージが授受されることにより前記コンテンツの記憶および配信が行われ、前記記憶手段を備える前記ノード装置に接続されている前記通信回線が前記第１閾値以上に使用されているとき、前記コンテンツを記憶済みのノード装置を前記オーバーレイネットワークにおいて検索する制御部等の検索手段を更に備え、前記第１決定手段は、前記検索手段により検索された前記ノード装置以外のノード装置の中から、前記コンテンツを記憶させるノード装置の候補となるノード装置を決定するように構成される。
【００１３】
請求項３に記載の発明によれば、記憶すべきコンテンツが記憶済みであるノード装置を除外して記憶先のノード装置の候補となるノード装置を決定する。よって、記憶済みか否かに拘わらず記憶先の候補を検索する場合に比して、その検索および記憶等のためのメッセージの数を減らすことができる。
【００１４】
請求項４に記載の発明において、前記記憶手段の空き容量を決定する制御部等の容量決定手段と、前記容量決定手段により決定された空き容量を示す空き容量情報を、前記空き容量情報を管理する前記オーバーレイネットワークのノード装置宛に送信する通信部等の送信手段と、他の前記ノード装置についての前記空き容量情報を、前記空き容量情報を管理するノード装置から取得する制御部等の第３取得手段と、を備え、前記第１決定手段は、前記第３取得手段により取得された前記空き容量情報に基づき、前記空き容量情報により示される前記空き容量が大きいノード装置から順に、前記コンテンツを記憶させるノード装置の候補となるノード装置として決定するように構成される。
【００１５】
請求項４に記載の発明によれば、記憶すべきコンテンツが未記憶であるノード装置について、その記憶手段の空き容量が大きいノード装置から順に記憶先の候補を決定する。よって、各ノード装置の記憶手段を有効に活用してコンテンツを記憶させることができる。
【００１６】
請求項５に記載の発明において、前記第２決定手段による前記コンテンツの記憶先の決定において、前記接続手段により接続した各前記ノード装置に接続されている前記通信回線の使用状態が前記第２閾値より高い場合、所定の閾値時間だけ待機した後、前記接続手段は、前記第１決定手段により決定された前記ノード装置に対して再接続し、前記第２取得手段は、前記接続手段により再接続された前記ノード装置から前記第２状態情報を再取得し、前記第２決定手段は、前記第２取得手段により再取得された前記第２状態情報に基づいて、前記コンテンツの記憶先であるノード装置を決定するように構成される。
【００１７】
請求項５に記載の発明によれば、接続した各ノード装置に接続されている通信回線の使用状態が第２閾値より高い場合に、閾値時間だけ待機した後に再接続処理および決定処理を行う。コンテンツの記憶先が検索できる可能性が高まり、更に直ちに再接続を行う場合に比して不要なメッセージの授受も防止できる。
【００１８】
上記の課題を解決するために、請求項６に記載の発明は、ネットワークを介して相互に通信可能な複数のノード装置により構成されるオーバーレイネットワークにより、コンテンツが前記複数のノード装置に分散して保存される通信システムの前記ノード装置であって、前記コンテンツを記憶する記憶部等の記憶手段を備えるノード装置に含まれるコンピュータに、前記ネットワークに接続するために、前記記憶手段を備える前記ノード装置が接続されている通信回線の使用状態を示す第１状態情報を取得するステップと、前記取得された第１状態情報に基づいて、所定の第１閾値以上に前記通信回線が使用されているかを判定するステップと、前記通信回線が前記第１閾値以上に使用されているとき、前記オーバーレイネットワークに参加する前記ノード装置の中から、前記コンテンツを記憶させるノード装置の候補となるノード装置を決定するステップと、前記決定されたノード装置に接続するステップと、前記接続したノード装置から、前記接続したノード装置が接続されている前記通信回線の使用状態を示す第２状態情報を取得するステップと、前記取得された第２状態情報に基づいて、前記接続したノード装置のうち、前記ノード装置に接続されている前記通信回線の使用状態が、所定の第２閾値以下である前記ノード装置を、前記コンテンツの記憶先として決定するステップと、を実行させる。
【００１９】
請求項６に記載の発明によれば、他のノード装置から取得した第２状態情報に基づいて、それに接続されている通信回線の使用状態が第２閾値以下であるノード装置をコンテンツの記憶先と決定するようにコンピュータを機能させる。通信回線の使用状態が第２閾値以下であるノード装置にコンテンツを記憶させることで、記憶保存後のコンテンツを迅速且つスムーズに配信することができる。
【発明の効果】
【００２０】
本発明によれば、通信回線の使用状態が第２閾値以下であるノード装置にコンテンツを記憶させることで、記憶保存後のコンテンツを迅速且つスムーズに配信することができる。
【図面の簡単な説明】
【００２１】
【図１】実施形態の配信システムの概要構成を示す図である。
【図２】実施形態のルータ等の概要構成を示すブロック図である。（ａ）は実施形態のルータの概要構成を示すブロック図である。（ｂ）は実施形態のユーザ端末およびルータ以外のノードの概要構成を示すブロック図である。
【図３】実施形態のルータにおける処理を示すフローチャートである。（ａ）はルータにおける全体処理を示すフローチャートである。（ｂ）はルータにおけるコンテンツ要求受付処理を示すフローチャートである。
【図４】実施形態のルータ等における処理を示すフローチャートである。（ａ）はルータにおける保存先検索処理を示すフローチャートである。（ｂ）はノードにおける複製保存処理を示すフローチャートである。
【図５】変形形態のルータ等における処理を示すフローチャートである。（ａ）はノードにおける複製保存処理を示すフローチャートである。（ｂ）はルータにおける保存先検索処理を示すフローチャートである。
【発明を実施するための形態】
【００２２】
次に、本発明を実施するための形態について、図面に基づいて説明する。以下に説明する実施形態および変形形態は、Ｐ２Ｐネットワーク外のユーザ端末に対してＰ２Ｐネットワーク内のノードから動画等のコンテンツを配信する配信システムに対して本発明を適用した場合の実施形態である。
【００２３】
（Ｉ）実施形態
始めに本発明の実施形態について、図１から図４を用いて説明する。なお、図１は実施形態の配信システムの概要構成を示す図であり、図２は実施形態のルータ等の概要構成を示すブロック図である。また図３および図４は実施形態のルータ等における処理を示すフローチャートである。
【００２４】
（Ａ）配信システムの概要構成
始めに図１を参照して、実施形態の配信システムの概要構成について説明する。なお図１は、実施形態に係る配信システムＳの概要構成を示す図である。配信システムＳは、ＤＮＳ（Domain Name System）を適用したＣＤＮ（Contents Delivery Network system）である。図１に示すように配信システムＳは、ネットワークＮＷに複数の拠点ネットワークＮＬｍ（ｍは自然数。以下同様）が接続されている。これらネットワークＮＷおよび各拠点ネットワークＮＬｍは、現実世界の通信ネットワークである。
【００２５】
ネットワークＮＷは各拠点ネットワークＮＬｍを相互接続するためのネットワークである。このネットワークＮＷは、たとえばＷＡＮ（Wide Area Network）等である。ネットワークＮＷは、たとえば、ＩＸ（Internet eＸchange）、ＩＳＰ（Internet Service Provider）、ＤＳＬ（Digital Subscriber Line）回線事業者装置、ＦＴＴＨ（Fiber To The Home）回線事業者装置および通信回線等によって構築されている。なおネットワークＮＷは配信システムＳ専用のネットワークであってもよい。
【００２６】
各拠点ネットワークＮＬｍは、それぞれ拠点Ｐｍの敷地内に構築されたネットワークである。拠点Ｐｍは、たとえば、企業、学校、病院、公共団体、カラオケボックスの運営母体等の組織が活動する拠点である。拠点ネットワークＮＬｍは、たとえばＬＡＮ（Local Area Network）等により構築されている。各拠点ネットワークＮＬｍには複数のユーザ端末Ｔｍ−ｎ（ｎは自然数。以下同様）が接続されている。ユーザ端末Ｔｍ−ｎは、たとえばパーソナルコンピュータ等である。図１においては、一部の拠点ネットワークＮＬｍの図示、およびその拠点ネットワークＮＬｍに接続されているユーザ端末Ｔｍ−ｎの図示を省略している。
【００２７】
ネットワークＮＷには、また、ウェブサーバＳＷ、組織用ＤＮＳサーバＳＯおよびＰ２Ｐ用ＤＮＳサーバＳＰが接続されている。ウェブサーバＳＷは、たとえば上述した拠点Ｐｍを有する組織が運営するウェブサイトの各種のコンテンツを、ユーザ端末Ｔｍ−ｎに配信するためのサーバである。図１においては、ウェブサーバＳＷは一台のみ示されているが、ウェブサーバＳＷは、たとえば組織ごとに設置されている。各ウェブサーバＳＷには、それぞれ個別にドメイン名が付与されている。
【００２８】
組織用ＤＮＳサーバＳＯは、ドメイン名を解決するＤＮＳサーバである。組織用ＤＮＳサーバＳＯは、ユーザ端末Ｔｍ−ｎからのＩＰ（Internet Protocol）アドレスの問い合わせを受け付ける。図１においては、組織用ＤＮＳサーバＳＯは一台のみ示されているが、組織用ＤＮＳサーバＳＯは、たとえば組織ごとに設置されてもよい。Ｐ２Ｐ用ＤＮＳサーバＳＰも、ドメイン名を解決するＤＮＳサーバである。Ｐ２Ｐ用ＤＮＳサーバＳＰは、組織用ＤＮＳサーバＳＯからＩＰアドレスの問い合わせを受け付ける。またＰ２Ｐ用ＤＮＳサーバＳＰには、固有のドメイン名が割り当てられている。
【００２９】
各拠点ネットワークＮＬｍには、それぞれルータＲｍが定常的に接続されている。このルータＲｍは、拠点ネットワークＮＬｍと、ネットワークＮＷと、を相互接続する。ルータＲｍは、たとえばルータ機能を有するファイアーウォール、ブロードバンドルータ等である。なおルータＲｍは、本発明における「ノード装置」の一例に相当する。
【００３０】
（Ｂ）Ｐ２Ｐネットワークの概要構成
配信システムＳにおいては、コンテンツを配信するためのＰ２ＰネットワークであるＰ２ＰネットワークＰＷが構築されている。Ｐ２ＰネットワークＰＷは、本発明における「通信システム」の一例に相当する。図１に示すようにＰ２ＰネットワークＰＷは、ネットワークＮＷ上に構築された論理的なオーバーレイネットワークである。このＰ２ＰネットワークＰＷは、配信システムＳを構成する複数のルータＲｍと、Ｐ２Ｐ用ＤＮＳサーバＳＰと、ルータＲｍおよびＰ２Ｐ用ＤＮＳサーバＳＰ以外の他の装置Ｎｒ（ｒは自然数。以下同様）と、の参加により形成されるネットワークである。他の装置Ｎｒは、具体的にはパーソナルコンピュータ、ＳＴＢ（Set Top Box）またはテレビジョン受信機等である。なお、Ｐ２ＰネットワークＰＷに参加するルータＲｍ、Ｐ２Ｐ用ＤＮＳサーバＳＰおよび他の装置Ｎｒを、以下「ノード」と称する。ここで、Ｐ２ＰネットワークＰＷへの「参加」とは、たとえば上記特許文献１に開示されているＤＨＴ（Distributed Hash Table）を用いたルーティングテーブルに基づいて他のノードとの間で各種メッセージを送受信できる状態になることをいう。このルーティングテーブルを、以下「ＤＨＴルーティングテーブル」という。
【００３１】
Ｐ２ＰネットワークＰＷは、特定のアルゴリズム、たとえばＤＨＴを利用したアルゴリズムにより実現される。Ｐ２ＰネットワークＰＷに接続する各ノードには、所定桁数からなる固有の識別情報であるノードＩＤが割り当てられている。図１に示すＰ２ＰネットワークＰＷは、ノードＩＤのＩＤ空間をリング状のものとして示されている。図１のリング状のＩＤ空間において示されている各ノードの位置は、それぞれのノードＩＤに対応している。
【００３２】
各ノードは、それぞれ、ＤＨＴルーティングテーブルを保持している。ＤＨＴルーティングテーブルは、Ｐ２ＰネットワークＰＷ上における各種メッセージの転送先を規定している。具体的にＤＨＴルーティングテーブルには、ＩＤ空間内で適度に離れたノードのノードＩＤ、ＩＰアドレスおよびポート番号を含むノード情報が複数登録されている。なお、ＤＨＴルーティングテーブルを用いたＤＨＴルーティングについては上記特許文献１等で公知であるので、詳しい説明を省略する。
【００３３】
Ｐ２ＰネットワークＰＷにおいて、コンテンツを分散保存するノードを、以下「保持ノード」と称する。各コンテンツには、それぞれコンテンツごとに固有の識別情報であるコンテンツＩＤが割り当てられている。保持ノードに記憶されて保存されているコンテンツは、ユーザ端末Ｔｍ−ｎに配信されるコンテンツである。ユーザ端末Ｔｍ−ｎは、組織用ＤＮＳサーバＳＯを用いることにより、ウェブサーバＳＷからではなくＰ２ＰネットワークＰＷからコンテンツを取得する。
【００３４】
複数の保持ノードに分散保存されているコンテンツの所在は、インデックス情報として、コンテンツの所在を管理しているノードにより記憶される。コンテンツの所在を管理しているノードを、以下「ルートノード」と称する。インデックス情報は、保持ノードのノード情報と、それに保存されているコンテンツのコンテンツＩＤと、の組を含む。なお、ルートノードについては上記特許文献１等で公知であるので、詳しい説明を省略する。
【００３５】
そして、あるノードがあるコンテンツを取得しようとする場合、そのノードは検索メッセージを送信する。コンテンツを取得しようとするノードを、以下「ユーザノード」と称する。検索メッセージは、取得対象のコンテンツのコンテンツＩＤおよびユーザノードのＩＰアドレス等を含む。検索メッセージは、保持ノードを検索するためのメッセージである。ユーザノードは、ユーザノードが記憶するＤＨＴルーティングテーブルに従って、他のノードに検索メッセージを送信する。これにより検索メッセージは、コンテンツＩＤをキーとするＤＨＴルーティングによって最終的にルートノードに到着することになる。
【００３６】
検索メッセージを受信したルートノードは、これに含まれるコンテンツＩＤに対応するインデックス情報をユーザノードに送信する。ユーザノードは、受信したインデックス情報に含まれるＩＰアドレスおよびポート番号に基づいて、いずれかの保持ノードに、コンテンツＩＤを含むコンテンツ要求メッセージを送信する。保持ノードは、受信したコンテンツ要求メッセージに含まれるコンテンツＩＤに対応するコンテンツを、ユーザノードにアップロードする。こうしてユーザノードは、コンテンツをダウンロードすることができる。
【００３７】
ユーザノードは、保持ノードからコンテンツを取得して保存したとき、パブリッシュメッセージを送信する。パブリッシュメッセージは、コンテンツを保存したことをルートノードへ知らせるためのメッセージである。パブリッシュメッセージは、コンテンツのコンテンツＩＤおよびコンテンツを保存した保持ノードのノード情報を含む。パブリッシュメッセージは、検索メッセージと同じように、コンテンツＩＤをキーとするＤＨＴルーティングによってルートノードに到着することになる。ルートノードは、受信したパブリッシュメッセージに含まれるノード情報およびコンテンツＩＤの組を含むインデックス情報をインデックスキャッシュ領域に記憶する。こうして、上記ユーザノードは、新たに、上記コンテンツを保持する保持ノードとなる。
【００３８】
（Ｃ）ユーザ端末へのコンテンツの配信
次に図１を用いて、配信システムＳにおけるユーザ端末Ｔｍ−ｎへのコンテンツの配信について説明する。ユーザ端末Ｔｍ−ｎは、ユーザによる操作等に基づいて、ダウンロードしようとするコンテンツのＵＲＬ（Uniform Resource Locator）を取得する。ＵＲＬを取得したユーザ端末Ｔｍ−ｎはＩＰアドレスの問い合わせを行う。たとえば図１に示すように、拠点Ｐ１内のユーザ端末Ｔ１−１が、ウェブサーバＳＷのドメイン名をＵＲＬから取得したとする。ユーザ端末Ｔ１−１は、取得したドメイン名を含む名前解決リクエストを、組織用ＤＮＳサーバＳＯに送信する（図１（１）参照）。組織用ＤＮＳサーバＳＯは、ドメイン名とＩＰアドレスとが対応付けて登録されているデータベースを保持している。これにより組織用ＤＮＳサーバＳＯは、そのデータベースからＰ２Ｐ用ＤＮＳサーバＳＰのドメイン名を取得する。更に組織用ＤＮＳサーバＳＯは、そのデータベースから、Ｐ２Ｐ用ＤＮＳサーバＳＰのドメイン名に対応するＩＰアドレスを取得する。そして組織用ＤＮＳサーバＳＯは、取得したＩＰアドレスに基づいて、受信した名前解決リクエストをＰ２Ｐ用ＤＮＳサーバＳＰに転送する（図１（２）参照）。
【００３９】
Ｐ２Ｐ用ＤＮＳサーバＳＰは、ユーザ端末Ｔ１−１から送信された名前解決リクエストを受信すると、その名前解決リクエストに含まれるドメイン名に対応する保持ノードを、オーバーレイネットワークを用いて検索する（図１（３）参照）。これによりＰ２Ｐ用ＤＮＳサーバＳＰは、ルートノードとしてのルータＲｍからインデックス情報を取得する（図１（４）参照）。
【００４０】
Ｐ２Ｐ用ＤＮＳサーバＳＰは、インデックスキャッシュ領域に記憶されたインデックス情報に基づいて、いずれかの保持ノードを選択する。そしてＰ２Ｐ用ＤＮＳサーバＳＰは、選択した保持ノードのＩＰアドレスを組織用ＤＮＳサーバＳＯに返信する（図１（５）参照）。図１に例示する場合、組織用ＤＮＳサーバＳＯに返信されるＩＰアドレスは、ルータＲ２のＩＰアドレスであるとする。
【００４１】
ルータＲ２のＩＰアドレスを受信した組織用ＤＮＳサーバＳＯは、このＩＰアドレスをユーザ端末Ｔ１−１に転送する（図１（６）参照）。そしてユーザ端末Ｔ１−１は、受信したＩＰアドレスに基づいて、コンテンツ要求メッセージをルータＲ２に送信する（図１（７）参照）。ルータＲ２は、受信したコンテンツ要求メッセージに対応するコンテンツをユーザ端末Ｔ１−１にアップロードする（図１（８）参照）。以上説明した一連の処理により、名前解決リクエストを送信したユーザ端末Ｔ１−１は、その名前解決リクエストに対応するコンテンツをＰ２ＰネットワークＰＷから取得できる。
【００４２】
（Ｄ）ルータ等の構成および機能
次に、図２を用いて、実施形態のルータＲｍ等の構成および機能について説明する。図２（ａ）はルータＲｍの概要構成を示すブロック図である。図２（ｂ）はユーザ端末Ｔｍ−ｎおよび他の装置Ｎｒの概要構成を示すブロック図である。
【００４３】
（Ｄ−１）ルータの構成
図２（ａ）に示すように、実施形態のルータＲｍは、記憶部１１、制御部１２および通信部１３を備えている。記憶部１１、制御部１２および通信部１３は、バス１４を介してデータの授受が可能に相互接続されている。この制御部１２が、「第１取得手段」の一例、「判定手段」の一例、「第１決定手段」の一例、「接続手段」の一例、「第２取得手段」の一例、「第２決定手段」の一例、「検索手段」の一例、「容量検出手段」の一例および「第３取得手段」の一例に、それぞれ相当する。また記憶部１１が「記憶手段」の一例に相当する。さらに通信部１３が「送信手段」の一例に相当する。
【００４４】
この構成において制御部１２は、演算機能を有するＣＰＵ（Central Processing Unit）、作業用ＲＡＭ（Random Access Memory）、各種データおよびＰ２Ｐプログラムを記憶するＲＯＭ（Read Only Memory）等から構成されている。記憶部１１は、各種データおよび各種プログラム等を記憶して保存するためのＨＤ（ハードディスク）等から構成されている。更に通信部１３は、ネットワークＮＷおよび拠点ネットワークＮＬｍ等を通じて、他のルータＲｍ、Ｐ２Ｐ用ＤＮＳサーバＳＰ、他の装置Ｎｒおよびユーザ端末Ｔｍ−ｎ等との間の情報の通信制御を行う。
【００４５】
具体的に記憶部１１には、Ｐ２Ｐ用ドメインサーバＳＰのＩＰアドレスおよびポート番号が記憶されている。また記憶部１１には、ＤＨＴルーティングテーブル、インデックス情報および現在の接続端末数等が記憶されている。また記憶部１１には、ダウンロードされたコンテンツが、コンテンツＩＤに対応付けて記憶されている。記憶部１１には、コンテンツが記憶されるコンテンツキャッシュ領域が割り当てられている。更に記憶部１１には、ＤＨＴルーティングテーブルに基づいて他のノードとの間で各種メッセージを送受信するためのＰ２Ｐプログラムが記憶されている。なおＰ２Ｐプログラムは、たとえば所定のサーバ等からダウンロードされるようにしてもよい。またＰ２Ｐプログラムは、たとえばＤＶＤ（Digital Versatile Disc）等の記録媒体に記録されて、記録媒体から図示しないドライブを介して読み込まれるようにしてもよい。制御部１２は、ＣＰＵが記憶部１１等に記憶されたＰ２Ｐプログラムを含むプログラムを読み出して実行することにより、実施形態のルータＲｍの各部を統括制御する。
【００４６】
（Ｄ−２）ユーザ端末Ｔｍ−ｎおよび他の装置Ｎｒの構成
実施形態のユーザ端末Ｔｍ−ｎおよび他の装置Ｎｒは、基本的に同様の構成を備えている。ユーザ端末Ｔｍ−ｎおよび他の装置Ｎｒを、以下「ユーザ端末Ｔｍ−ｎ等」と称する。
【００４７】
図２（ｂ）に示すように、ユーザ端末Ｔｍ−ｎ等は、制御部２１、記憶部２２、バッファメモリ２３、通信部２４、デコーダ部２５、入力部２６、映像処理部２７、表示部２８、音声処理部２９およびスピーカ３０を備えている。制御部２１、記憶部２２、バッファメモリ２３、通信部２４、デコーダ部２５および入力部２６は、バス３１を介してデータの授受が可能に相互接続されている。
【００４８】
この構成において制御部２１は、演算機能を有するＣＰＵ、各種データを記憶するＲＡＭならびに各種データおよびＰ２Ｐプログラムを含むプログラムを記憶するＲＯＭ等から構成されている。記憶部２２は各種データおよび各種プログラム等を記憶して保存するためのＨＤ等から構成される。バッファメモリ２３は通信部２４を介して取得されたコンテンツを一時的に蓄積する。デコーダ部２５は、コンテンツに含まれるエンコードされたビデオデータおよびオーディオデータ等をデコードする。映像処理部２７はデコードされたビデオデータ等に対して所定の描画処理を施しビデオ信号として出力する。液晶ディスプレイ等からなる表示部２８は、映像処理部２７から出力されたビデオ信号に相当する映像を表示する。音声処理部２９はデコードされたオーディオデータをアナログのオーディオ信号にＤ／Ａ変換した後、これを増幅してスピーカ３０に出力する。スピーカ３０は音声処理部２９から出力されたオーディオ信号を音波として出力する。入力部２６はユーザからの指示を受け付け、その指示に応じた指示信号を制御部２１に出力する。この入力部２６は、たとえばキーボード、マウス、あるいは操作パネル等により実現されるものである。ユーザ端末Ｔｍ−ｎに含まれる通信部２４は、拠点ネットワークＮＬｍを介したルータＲｍおよび他のユーザ端末Ｔｍ−ｎ等との間の情報の通信制御を行う。また他の装置Ｎｒに含まれる通信部２４は、ネットワークＮＷ介したルータＲｍ、Ｐ２Ｐ用ＤＮＳサーバＳＰおよび通信部２４が含まれる他の装置Ｎｒ以外の他の装置Ｎｒ等との間の情報の通信制御を行う。
【００４９】
記憶部２２には、実施形態のＰ２Ｐプログラムを含むプログラム、コンテンツとしてのファイル、ＤＨＴルーティングテーブル等が記憶されている。以上の構成において制御部２１は、ＣＰＵが記憶部２２またはＲＯＭ等に記憶されたＰ２Ｐプログラムを読み出して実行することにより、ユーザ端末Ｔｍ−ｎ等全体を統括制御する。また他の装置Ｎｒの制御部２１は、Ｐ２ＰネットワークＰＷへ他の装置Ｎｒが参加したのちに制御部２１がＰ２Ｐプログラムを実行することで、上述したユーザノード、ルートノードまたは保持ノード等の、少なくともいずれか一つのノードとして機能する。
【００５０】
（Ｅ）配信システムの処理
次に、図３および図４を用いて、実施形態における配信システムＳの処理について説明する。図３および図４は、ルータＲｍの制御部１２における処理を示すフローチャートである。図３（ａ）に示す処理は、たとえばルータＲｍのＰ２Ｐプログラムが起動したときに開始される。先ず制御部１２は、所定の初期化処理の終了後、ルータＲｍの図示しない電源スイッチがオフとされたか否かを確認する（ステップＳ１）。ステップＳ１の確認において電源スイッチがオフとされた場合（ステップＳ１；ＮＯ）、制御部１２はルータＲｍとしての処理を終了する。一方ステップＳ１の確認において電源スイッチがオフとされていない場合（ステップＳ１；ＮＯ）、制御部１２は次に、ユーザ端末Ｔｍ−ｎからのコンテンツ要求があったか否かを確認する（ステップＳ２）。具体的に制御部１２は、ユーザ端末Ｔｍ−ｎからのコンテンツ要求メッセージを受信したか否かを確認することにより、ステップＳ２の確認を行う（図１（７）参照）。ステップＳ２の確認により、いずれかのユーザ端末Ｔｍ−ｎからのコンテンツ要求があった場合（ステップＳ２；ＹＥＳ）、制御部１２は後述するコンテンツ要求受付処理を実行する（ステップＳ３）。その後制御部１２は上記ステップＳ１の確認に移行する。他方、ステップＳ２の確認においてコンテンツ要求がない場合（ステップＳ２；ＮＯ）、制御部１２は次に、他のルータＲｍからコンテンツの複製保存指示があったか否かを確認する（ステップＳ４）。具体的に制御部１２は、他のルータＲｍからの複製保存指示メッセージを受信したか否かを確認することにより、ステップＳ４の確認を行う。複製保存指示メッセージは、コンテンツ要求メッセージにより示されるコンテンツの複製の保存を指示する旨のメッセージである。ステップＳ４の確認により、他のルータＲｍからの複製保存指示があった場合（ステップＳ４；ＹＥＳ）、制御部１２はその複製保存指示に対応した後述する複製保存処理を実行する（ステップＳ５）。その後制御部１２は上記ステップＳ１の確認に移行する。なお、ステップＳ４の確認において複製保存指示がない場合も（ステップＳ４；ＮＯ）、制御部１２は上記ステップＳ１の確認に移行する。
【００５１】
次に、ステップＳ３のコンテンツ要求受付処理について、より詳細に図３（ｂ）を用いて説明する。ステップＳ２の確認においてコンテンツ要求があった場合（ステップＳ２；ＹＥＳ）、制御部１２は先ず、その制御部１２が含まれているルータＲｍにおける現在のアップロード帯域の使用状態を示す情報を、通信部１３から取得する（ステップＳ３０）。ここで、「アップロード帯域の使用状態」とは、具体的にはそのルータＲｍに現在接続されてコンテンツのアップロードを受けているユーザ端末Ｔｍ−ｎの総数である。なお、ルータＲｍに接続されている拠点ネットワークＮＬｍにおける、各ユーザ端末Ｔｍ−ｎ宛の各コンテンツの現在の伝送速度の合計値を、その時点でのアップロード帯域の使用状態を示す情報として通信部１３から取得することもできる。次に制御部１２は、ステップＳ３０の処理により取得したアップロード帯域の使用状態が予め設定された第１閾値以上であるか否かを確認する（ステップＳ３１）。すなわち制御部１２は、アップロード帯域の使用状態を示す情報に基づいて、通信回線の使用状態が第１閾値以上であるか否かを確認する。この第１閾値は、コンテンツ要求メッセージを送信してきたユーザ端末Ｔｍ−ｎに対してそのルータＲｍから直ちにコンテンツのアップロードができるか否かに対応して予め設定された閾値である。具体的に第１閾値は、そのルータＲｍに同時に接続されてコンテンツのアップロードを受けることが可能なユーザ端末Ｔｍ−ｎの最大数として予め設定されている。なお、各ユーザ端末Ｔｍ−ｎ宛のコンテンツの伝送速度の合計値をアップロード帯域の使用状態とする場合、第１閾値はその合計値の上限値として予め設定される。ステップＳ３１の確認において、アップロード帯域の使用状態が第１閾値以上でない場合（ステップＳ３１；ＮＯ）、制御部１２は、コンテンツ要求メッセージを送信してきたユーザ端末Ｔｍ−ｎへのコンテンツのアップロードを開始する（ステップＳ３２。図１（８）参照）。その後制御部１２は、図３（ａ）ステップＳ１の処理に移行する。
【００５２】
ステップＳ３１の確認において、アップロード帯域の使用状態が第１閾値以上である場合（ステップＳ３１；ＹＥＳ）、その時点では制御部１２が含まれているルータＲｍからのコンテンツのアップロードを直ちに開始することができない。そこで制御部１２は、その制御部１２が含まれているルータＲｍが参加しているＰ２ＰネットワークＰＷ内において、コンテンツ要求メッセージにより要求されているコンテンツの保持ノードを検索する（ステップＳ３３）。具体的に制御部１２は、そのコンテンツのコンテンツＩＤを含む検索メッセージを生成し、Ｐ２ＰネットワークＰＷによりそのコンテンツの保持ノードを検索する。その後制御部１２は、ステップＳ３３の処理により保持ノードが一つまたは複数検索できたか否かを確認する（ステップＳ３４）。ステップＳ３４の確認において保持ノードが検索できた場合（ステップＳ３４；ＹＥＳ）、制御部１２は、その検索した保持ノードのいずれか一つに対して、通信部１３を介して接続する（ステップＳ３５）。このステップＳ３５の接続処理は、検索した保持ノードとの間でいわゆるセッションを確立する処理である。次に制御部１２は、接続した保持ノードに対して、その保持ノードにおける現在のアップロード帯域の使用状態を問い合わせる（ステップＳ３６）。この問い合わせとして制御部１２は、接続した保持ノードに対して、ネットワークＮＷを介してアップロード帯域の使用状態の問い合わせメッセージを送信する。ここで、各保持ノードにおける現在のアップロード帯域の使用状態を取得する場合、各ノードのアップロード帯域の使用状態が変化するたびに、その変化後の使用状態を示すメッセージを各ノードから毎回送信する方法も考えられる。しかしながらこの方法では、そのメッセージによりＰ２ＰネットワークＰＷが占有される状態が起こり得る。この場合には、たとえばコンテンツの配信が遅延する等の問題が生じ得る。そこで実施形態では、制御部１２が含まれているルータＲｍにおける現在のアップロード帯域の使用状態が第１閾値以上である場合に、検索された保持ノードに対してセッションを確立して接続する（ステップＳ３５）。そして制御部１２は、セッションを確立した保持ノードに対して、現在のアップロード帯域の使用状態を問い合わせる（ステップＳ３６）。これにより、各ノードのアップロード帯域の使用状態が変化するたびにその変化後の使用状態を示すメッセージをリアルタイムに送信する場合に比べて、Ｐ２ＰネットワークＰＷ内において授受されるメッセージの数を減らすことができる。また、ステップＳ３６の処理により問い合わせされるアップロード帯域の使用状態は、具体的には、接続された保持ノードに現在接続されてコンテンツのアップロードを受けている他のルータＲｍおよび他の装置Ｎｒの総数である。なお、その保持ノードに接続されているネットワークＮＷの通信回線における、他のルータＲｍ等宛の各コンテンツの現在の伝送速度の合計値を、その時点でのアップロード帯域の使用状態としてもよい。次に制御部１２は、ステップＳ３６の処理による問い合わせに対応して保持ノードから送信されてきたアップロード帯域の使用状態に基づき、その使用状態が予め設定された第２閾値以下であるか否かを確認する（ステップＳ３７）。この第２閾値は、その保持ノードから直ちにコンテンツのアップロードができるか否かに対応して予め設定された閾値である。具体的に第２閾値は、その保持ノードに同時に接続されてコンテンツのアップロードを受けることが可能な他のルータＲｍまたは他の装置Ｎｒの最大数として予め設定されている。なお、その保持ノードからのコンテンツの伝送速度の合計値をアップロード帯域の使用状態とする場合、第２閾値はその合計値の上限値として予め設定される。また第２閾値は、ステップＳ３１の確認に用いられた第１閾値と同値であっても、異なる値であってもよい。ステップＳ３７の確認において保持ノードのアップロード帯域の使用状態が第２閾値以下である場合（ステップＳ３７；ＹＥＳ）、制御部１２は、ステップＳ２の確認において受信したコンテンツ要求メッセージをその保持ノードに転送する（ステップＳ３８）。これにより、その保持ノードからコンテンツのアップロードが行われる。その後制御部１２は、図３（ａ）ステップＳ１の確認に移行する。
【００５３】
一方、ステップ３７の確認においてアップロード帯域の使用状態が第２閾値以下でない場合（ステップＳ３７；ＮＯ）、その時点ではその保持ノードからのコンテンツのアップロードを直ちに開始することができない。そこで制御部１２は、ステップＳ３４の処理において検索した保持ノードの中に、現在接続している保持ノード以外の他の保持ノードがあるか否かを確認する（ステップＳ３９）。ステップＳ３９の確認において、現在接続している保持ノード以外の他の保持ノードがある場合（ステップＳ３９；ＹＥＳ）、制御部１２はその保持ノードに対してステップＳ３５からＳ３８の処理を実行する。ステップＳ３９の確認において現在接続している保持ノード以外の他の保持ノードがない場合（ステップＳ３９；ＮＯ）、制御部１２は次に、保存先検索処理を実行する（ステップＳ４０）。ステップＳ４０の処理は、ステップＳ２の確認において受信したコンテンツ要求メッセージにより示されるコンテンツの新たな複製の保存先を、Ｐ２ＰネットワークＰＷ内の他のルータＲｍまたは他の装置Ｎｒから検索する処理である。このステップＳ４０の処理については、後ほど図４（ａ）を用いて詳述する。その後制御部１２は、ステップＳ４０の処理において新たな複製の保存先が発見できたか否かを確認する（ステップＳ４１）。ステップＳ４１の確認において新たな複製の保存先が発見できた場合（ステップＳ４１；ＹＥＳ）、制御部１２はステップＳ３８の処理に移行し、受信したコンテンツ要求メッセージをその保存先に転送する。これにより、その保存先である他のルータＲｍまたは他の装置Ｎｒからコンテンツのアップロードが行われる。ステップＳ４１の確認において新たな複製の保存先が発見できない場合（ステップＳ４１；ＮＯ）、制御部１２は、予め設定されている閾値時間だけ待機する（ステップＳ４２）。その後制御部１２は、再度ステップＳ３０からＳ４２の処理を実行する。
【００５４】
また、ステップＳ３４の確認において、要求されているコンテンツの保持ノードが検索できない場合（ステップＳ３４；ＮＯ）、制御部１２はステップＳ４０の保存先検索処理に移行し、新たな複製の保存先を検索する。
【００５５】
次に、ステップＳ４０の保存先検索処理について、より詳細に図４（ａ）を用いて説明する。この保存先検索処理は、図３（ｂ）に示すステップＳ３９の確認において他の保持ノードがない場合、または図３（ｂ）に示すステップＳ３４の確認において保持ノードが検索できない場合に開始される。図４（ａ）に示すようにステップＳ４０の処理において制御部１２は、Ｐ２ＰネットワークＰＷに参加するノードの中から、コンテンツを新たに保存させるノードを決定する。すなわち制御部１２は、Ｐ２ＰネットワークＰＷ内において他のノードをランダムに決定する（ステップＳ４００）。このステップＳ４００の処理において制御部１２は、Ｐ２ＰネットワークＰＷ内において、図３（ｂ）に示すステップＳ３３の処理により検索された保持ノードを除外して他のルータＲｍまたは他の装置Ｎｒから一つをランダムに決定する。具体的に制御部１２は、ステップＳ３３の処理により検索された保持ノードを示すノードＩＤ以外のノードＩＤを、ランダムに一つ生成する。制御部１２は、生成されたノードＩＤを含む検索メッセージを生成し、ＤＨＴルーティングテーブルにおいて最も近いＰ２ＰネットワークＰＷの他のノード宛てに送信する。これ以降、この検索メッセージはＤＨＴルーティングによって各ノード間を転送される。これにより検索メッセージは、それに含まれるノードＩＤのノード、またはそのノードＩＤに最も近いノードＩＤのノードに到着する。検索メッセージが到着したノードが自らのノードＩＤ等をルータＲｍに返信することにより、ステップＳ４００のノードのランダムな決定が行われる。また、ステップＳ４００の処理を開始した制御部１２は、その開始タイミングから図示しないタイマによる計時を開始する。次に制御部１２は、その決定したノードに対して、通信部１３を介して接続する（ステップＳ４０１）。このステップＳ４０１の接続処理は、決定したノードとの間でいわゆるセッションを確立する処理である。次に制御部１２は、接続したノードに対して、そのノードにおける現在のアップロード帯域の使用状態を問い合わせる（ステップＳ４０２）。この問い合わせ処理は、図３（ｂ）に示すステップＳ３６と同様に使用状態の問い合わせメッセージを送信する処理である。ステップＳ４００からＳ４０２までの問い合わせにおいて制御部１２は、ランダムに決定されたノードに対してセッションを確立して接続し、問い合わせメッセージを送信する。よってステップＳ３６の問い合わせの場合と同様に、Ｐ２ＰネットワークＰＷ内において授受されるメッセージの数を減らすことができる。またステップＳ４０１の処理により問い合わせされるアップロード帯域の使用状態は、具体的には、決定されたノードに現在接続されてコンテンツのアップロードを受けている他のルータＲｍおよび他の装置Ｎｒの総数である。なお、そのノードに接続されているネットワークＮＷの通信回線における、他のルータＲｍ等宛の各コンテンツの現在の伝送速度の合計値を、その時点でのアップロード帯域の使用状態としてもよい。次に制御部１２は、ステップＳ４０１の処理による問い合わせに対応してノードから送信されてきたアップロード帯域の使用状態を示す情報に基づき、その使用状態が上記第２閾値以下であるか否かを確認する（ステップＳ４０３）。ステップＳ４０３の確認において、決定されたノードのアップロード帯域の使用状態が第２閾値以下である場合（ステップＳ４０３；ＹＥＳ）、制御部１２は、そのノードをコンテンツの複製の新たな保存先として決定する。そして制御部１２は、そのノードに対して、コンテンツ要求メッセージにより示されるコンテンツの複製保存指示を行う（ステップＳ４０４）。具体的に制御部１２は、ステップＳ４０１の処理により接続したノードに対して、複製保存指示メッセージをネットワークＮＷを介して送信する。なお、この複製保存指示メッセージを受信した他のルータＲｍ等であるノードにおける複製保存処理（図３（ａ）ステップＳ５）については、後ほど図４（ｂ）を用いて説明する。次に制御部１２は、その制御部１２が含まれているルータＲｍからコンテンツをダウンロードしたユーザ端末Ｔｍ−ｎに対して、そのコンテンツのアップロード依頼を行う（ステップＳ４０５）。ステップＳ４０５のアップロード依頼は、ステップＳ４０４の複製保存指示メッセージを送信したノードに対するアプロード依頼メッセージを、ルータＲｍが接続されている拠点ネットワークＮＬｍを介してユーザ端末Ｔｍ−ｎに送信する処理である。このアップロード依頼メッセージには、アップロード対象であるコンテンツを識別するためのコンテンツＩＤ等と共に、複製保存指示メッセージを送信したノードを示すＩＰアドレス等が含まれている。なお、アプロード依頼メッセージを受信したユーザ端末Ｔｍ−ｎの制御部２１は、受信したアップロード依頼メッセージに含まれているコンテンツＩＤのコンテンツのアップロードを行う。具体的にその制御部２１は、アップロード依頼メッセージに含まれているコンテンツＩＤにより示されるコンテンツを、アップロード依頼メッセージに含まれているＩＰアドレスにより示されるノードにネットワークＮＷを介してアップロードする。ステップＳ４０５の処理後、ルータＲｍの制御部１２は図３（ｂ）に示すステップＳ４１の処理に移行する。なおステップＳ４０５に続くステップＳ４１の確認において制御部１２は、新たな複製の保存先が発見できたと判定し（図３（ａ）ステップＳ４１；ＹＥＳ参照）、その後の処理を行う。
【００５６】
一方、ステップＳ４０３の確認において、ノードのアップロード帯域の使用状態が第２閾値以下でない場合（ステップＳ４０３；ＮＯ）、制御部１２は、上記タイマによる計時が予め設定された一定時間が経過したことを示しているか否かを確認する（ステップＳ４０６）。ステップＳ４０６の確認において一定時間が経過していないことが示されているとき（ステップＳ４０６；ＮＯ）、制御部１２は上記ステップＳ４００の処理に移行して他のノードのランダムな決定を行う。一方、ステップＳ４０６の確認において一定時間が経過したことが示されているとき（ステップＳ４０６；ＹＥＳ）、制御部１２はそのまま図３（ｂ）に示すステップＳ４１の処理に移行する。なおステップＳ４０６；ＹＥＳの確認に続くステップＳ４１の確認において制御部１２は、新たな複製の保存先が発見できなかったと判定し（図３（ａ）ステップＳ４１；ＮＯ参照）、その後の処理を行う。
【００５７】
次に、ステップＳ４０４の処理による複製保存指示メッセージを受信した他のルータＲｍ等であるノードにおける複製保存処理（図３（ａ）ステップＳ５）について、より詳細に図４（ｂ）を用いて説明する。なお、図４（ｂ）に示す処理は、複製保存指示メッセージを他のルータＲｍが受信した場合と他の装置Ｎｒが受信した場合とで同様である。よって以下の説明では、複製保存指示メッセージを他のルータＲｍが受信した場合について説明する。図４（ｂ）に示すように、複製保存指示メッセージを受信した他のルータＲｍの制御部１２は、図４（ａ）ステップＳ４０５の処理に対応したユーザ端末Ｔｍ−ｎからのコンテンツのアップロードを待機する（ステップＳ５０）。またステップＳ５０の処理を開始した制御部１２は、その開始タイミングから図示しないタイマによる計時を開始する。次に制御部１２は、ステップＳ５０の待機処理中に開始されたコンテンツのアップロードが完了したか否かを確認する（ステップＳ５１）。ステップＳ５１の確認においてアップロードが完了した場合（ステップＳ５１；ＹＥＳ）、制御部１２は次に、複製保存指示メッセージを送信してきたルータＲｍから、アップロードが完了したコンテンツに対応するメタ情報を取得する（ステップＳ５２）。このメタ情報には、アップロードが完了したコンテンツを分割してチャンクとして記憶保存するための分割指示情報が含まれている。この分割指示情報は、たとえばチャンク一つ分に相当するデータ量や、各チャンクの区切りを示す情報等を含む。次に制御部１２は、取得したメタ情報に含まれている分割指示情報に基づいて、アップロードが完了したコンテンツを分割してチャンクを作成し、記憶部１１に記憶させる（ステップＳ５３）。その後制御部１２は、図３（ａ）ステップＳ１の処理に移行する。
【００５８】
一方、ステップＳ５１の確認においてアップロードが完了していない場合（ステップＳ５１；ＮＯ）、制御部１２は、計時中の上記タイマによる計時が予め設定された一定時間が経過したことを示しているか否かを確認する（ステップＳ５４）。ステップＳ５４の確認において一定時間が経過していないことが示されているとき（ステップＳ５４；ＮＯ）、制御部１２は上記ステップＳ５０の処理に移行してアップロードの完了を待つ。一方、ステップＳ５４の確認において一定時間が経過したことが示されているとき（ステップＳ５４；ＹＥＳ）、制御部１２は、複製保存指示メッセージを送信してきたルータＲｍから複製対象のコンテンツのダウンロードを行う（ステップＳ５５）。このステップＳ５５の処理は、ユーザ端末Ｔｍ−ｎからのアップロードが行われないため、複製保存指示メッセージを送信してきたルータＲｍからそのコンテンツをダウンロードする処理である。その後制御部１２は、図３（ａ）ステップＳ１の処理に移行する。
【００５９】
以上説明したように、実施形態の配信システムＳの処理によれば、図４（ａ）ステップＳ４０３およびＳ４０４に例示するように、Ｐ２ＰネットワークＰＷ内の他のノードから取得したアップロード帯域の使用状態が第２閾値以下であるノードが、コンテンツの新たな複製の保存先と決定される。アップロード帯域の使用状態が第２閾値以下であるノードにコンテンツの複製を新たに保存させることで、保存後のコンテンツを迅速且つスムーズにユーザ端末Ｔｍ−ｎに配信することができる。
【００６０】
また、図４（ａ）ステップＳ４００に例示するように、新たに複製を保存すべきコンテンツが未保存であるノードの中からランダムに保存先が決定される。よって、簡易な構成でランダムに複製の新たな保存先を検索しつつ、その選択のためのＰ２ＰネットワークＰＷ内のメッセージの数を減らすことができる。
【００６１】
更に、図４（ａ）ステップＳ４００に例示するように、新たに保存すべきコンテンツが保存済みであるノードが除外されて新たな保存先のノードが決定される。よって、保存済みか否かに拘わらず新たな保存先の候補を検索する場合に比して、その検索および保存等のためのＰ２ＰネットワークＰＷ内のメッセージの数を減らすことができる。
【００６２】
更にまた、図３（ｂ）ステップＳ４２に例示するように、新たな保存先が検索されない場合に、一定時間だけ待機した後に再度の接続処理および決定処理を行う。新たな保存先が検索できる可能性が高まり、更に直ちに再接続を行う場合に比してＰ２ＰネットワークＰＷ内の不要なメッセージの授受も防止できる。
【００６３】
また、図４（ｂ）ステップＳ５０からＳ５３に例示するように、配信システムＳ外のユーザ端末Ｔｍ−ｎから新たに複製を保存すべきコンテンツが取得されるので、配信システムＳ内のデータの授受を少なくすることができる。
【００６４】
なお、実施形態の複製保存処理（図５（ａ）参照）では、複製を保存すべきコンテンツを、ユーザ端末Ｔｍ−ｎまたは複製保存指示メッセージを送信してきたルータＲｍから取得したが、これ以外に、そのコンテンツを管理しているサーバから取得してもよい。またＰ２ＰネットワークＰＷ内において、従来と同様の方法により他のノードからその複製を取得してもよい。
【００６５】
（II）変形形態
次に、本発明の変形形態について、図５を用いて説明する。なお図５は、変形形態のルータ等における処理を示すフローチャートである。図５においては、図４と同様の処理については同様のステップ番号を付して、細部の説明は省略する。
【００６６】
実施形態の配信システムＳでは、コンテンツの複製を新たに保存すべきノードを選択する際、そのコンテンツが未保存であるノードの中からランダムに保存先を決定した（図４（ａ）ステップＳ４００参照）。これに対して変形形態の配信システムＳでは、ノードの記憶部１１または２２におけるコンテンツキャッシュ領域の空き容量を考慮して、新たな保存先を決定する。なお、変形形態の配信システムに含まれるルータ等のハードウエア的な構成は、基本的には実施形態の配信システムＳに含まれるルータＲｍ等のハードウエア的な構成と同一である。よって以下の説明では、実施形態の配信システムＳに含まれるルータＲｍ等における部材番号を引用して、変形形態の配信システムの処理を説明する。また、変形形態の配信システムＳの処理は、実施形態の配信システムＳに対して、複製保存処理（図５（ａ）参照）および保存先検索処理（図５（ｂ）参照）のみが異なる。よって以下では、これら異なる処理のみ説明する。更に図５（ａ）に示す複製保存処理は、複製保存指示メッセージ（図４（ａ）ステップＳ４０４参照）を他のルータＲｍが受信した場合と他の装置Ｎｒが受信した場合とで同様である。よって図５（ａ）に示すフローチャートでは、複製保存指示メッセージを他のルータＲｍが受信した場合について説明する。
【００６７】
図５（ａ）に示すように、変形形態の複製保存処理（図３（ａ）ステップＳ５参照）において制御部１２は、先ず実施形態の複製保存処理（図４（ｂ）参照）のステップＳ５０からＳ５５までの処理と同様の処理を実行する。次に、コンテンツのチャンク（ステップＳ５３）、またはダウンロードされたコンテンツが記憶部１１に記憶されて保存されたら（ステップＳ５５）、制御部１２は空き容量情報公開処理を行う（ステップＳ５６）。この空き容量情報公開処理は、保存後の記憶部１１におけるコンテンツキャッシュ領域の空き容量を示す空き容量情報を含むパブリッシュメッセージを、Ｐ２ＰネットワークＰＷ内のノードに送信する処理である。変形形態の空き容量情報公開処理においては、Ｐ２ＰネットワークＰＷ内の各ノードにおけるコンテンツキャッシュ領域の空き容量が、複数の範囲に予め区分されている。制御部１２は、たとえば四つに区分された空き容量の範囲の値を記憶している。制御部１２は、たとえば空き容量３０ギガバイト以上を第１範囲、空き容量２０ギガバイト以上３０ギガバイト未満を第２範囲として、それぞれ記憶している。また制御部１２は、空き容量１０ギガバイト以上２０ギガバイト未満を第３範囲、空き容量１０ギガバイト未満を第４範囲として、それぞれ記憶している。制御部１２は、コンテンツの保存等が行われたら、その保存後の記憶部１１におけるコンテンツキャッシュ領域の空き容量を検出する。その後制御部１２は、検出した空き容量が含まれる空き容量の範囲を示す文字列を、たとえばコンテンツＩＤを生成するときと同じハッシュ関数によりハッシュ化する。たとえば検出された空き容量が４０ギガバイトであった場合、制御部１２は、その空き容量が属する範囲を示す「３０ギガバイト以上」または「第１範囲」の文字列をハッシュ関数によりハッシュ化する。制御部１２は、このハッシュ化された文字列を含むパブリッシュメッセージを、その文字列に対応するノードＩＤのルートノード宛に送信する。このルートノードは、その空き容量の範囲に属する空き容量のコンテンツキャッシュ領域を有するノードを管理する空き容量管理用のルートノードである。パブリッシュメッセージは、ＤＨＴルーティングによって、その宛先である空き容量管理用のルートノードに到着する。これにより、他のルータＲｍおよび他の装置Ｎｒは、その空き容量管理用のルートノードに管理されているルータＲｍの記憶部１１の空き容量の範囲または他の装置Ｎｒの記憶部２２の空き容量の範囲が参照可能となる。その後制御部１２は、図３（ａ）ステップＳ１の処理に移行する。
【００６８】
次に、変形形態の保存検索処理について図５（ｂ）を用いて説明する。変形形態の保存検索処理において制御部１２は、先ず上記空き容量の範囲を、最上位の第１範囲に設定する（ステップＳ４１０）。次に制御部１２は、その時点で設定されている空き容量の範囲に該当するコンテンツキャッシュ領域の空き容量を有するノードを、Ｐ２ＰネットワークＰＷ内において検索する（ステップＳ４１１）。具体的に制御部１２は、ハッシュ化された空き容量の範囲を示す文字列を含む検索メッセージを、その空き容量の範囲に対応する空き容量管理用のルートノードに宛てて送信する。そして制御部１２は、その検索メッセージに対応した保持ノードのＩＰアドレスを含む返信を、空き容量管理用のルートノードから取得する。これにより制御部１２は、該当するコンテンツキャッシュ領域の空き容量を有するノードを検索する。次に制御部１２は、ステップＳ４１１の処理により該当するノードが一つまたは複数検索できたか否かを確認する（ステップＳ４１２）。ステップＳ４１２の確認において該当するノードが検索できた場合（ステップＳ４１２；ＹＥＳ）、制御部１２は、その検索したノードの中からいずれか一つをランダムに決定する（ステップＳ４１３）。なおステップＳ４１３の処理において制御部１２は、Ｐ２ＰネットワークＰＷ内において、図３（ｂ）に示すステップＳ３３の処理により検索された保持ノードを除外して、他のルータＲｍまたは他の装置Ｎｒから該当するノードを決定する。また、ステップＳ４１３の処理を開始した制御部１２は、その開始タイミングから図示しないタイマによる計時を開始する。これ以降制御部１２は、実施形態の保存先検索処理（図４（ａ）参照）のステップＳ４０１からＳ４０６までの処理と同様の処理を実行する。ステップＳ４０５の処理後、またはステップＳ４０６の確認において一定時間が経過したことが示されているとき（ステップＳ４０６；ＹＥＳ）、制御部１２はそのまま図３（ｂ）に示すステップＳ４１の処理に移行する。一方ステップＳ４０６の確認において一定時間が経過していないことが示されているとき（ステップＳ４０６；ＮＯ）、制御部１２は、ステップＳ４１２の処理において検索したノードの中に、現在接続しているノード以外の他のノードがあるか否かを確認する（ステップＳ４１７）。ステップＳ４１７の確認において、現在接続しているノード以外の他のノードがある場合（ステップＳ４１７；ＹＥＳ）、制御部１２はそのノードに対してステップＳ４１３およびＳ４０１からＳ４０６の処理を実行する。ステップＳ４１７の確認において現在接続しているノード以外の他のノードがない場合（ステップＳ４１７；ＮＯ）、制御部１２は後述するステップＳ４１４の処理に移行する。
【００６９】
一方、ステップＳ４１２の確認において該当するノードが検索できない場合（ステップＳ４１２；ＮＯ）、制御部１２は次に、上記空き容量の範囲を一段階下げて第２範囲に再設定する（ステップＳ４１４）。次に制御部１２は、ステップＳ４１４の処理において再設定した空き容量の範囲が、複数設定された空き容量の範囲のうち最下位の第４範囲となったか否かを確認する（ステップＳ４１５）。ステップＳ４１５の確認において、再設定された空き容量の範囲が第４範囲となっていない場合（ステップＳ４１５；ＮＯ）、制御部１２は、再設定された空き容量の範囲について上記ステップＳ４１１からＳ４１３およびＳ４０１以降の処理を行う。一方ステップＳ４１５の確認において、再設定された空き容量の範囲が第４範囲となっている場合（ステップＳ４１５；ＹＥＳ）、制御部１２は、Ｐ２ＰネットワークＰＷ内において他のノードをランダムに一つ決定する（ステップＳ４１６）。このステップＳ４１６の処理は、再設定された空き容量の範囲が第４範囲になった場合は、もはや空き容量の範囲に基づく検索を行う意味がないため、Ｐ２ＰネットワークＰＷ内において他のノードをランダムに一つ決定する処理である。このステップＳ４１６の処理は、図４（ａ）ステップＳ４００の処理と同様のランダムな決定処理である。その後制御部１２は、ステップＳ４１５の処理により選択したノードに対して、そのノードに対してステップＳ４０１からＳ４０６およびＳ４１６の処理を実行する。
【００７０】
以上説明した変形形態の配信システムＳの処理によれば、実施形態の配信システムＳの処理による作用効果に加えて、制御部１２は、記憶部１１のコンテンツキャッシュ領域の空き容量が大きいノードから順に、新たに保存すべきコンテンツの保存先を決定する。よって、各ノードのコンテンツキャッシュ領域を有効に活用してコンテンツを新たに保存させることができる。また、新たな保存先のノードの決定に当たり、制御部１２はコンテンツキャッシュ領域の空き容量を複数の範囲に分けてその決定の基準とする。よって、空き容量の値自体を逐次検索の基準とする場合に比して、その決定のためのＰ２ＰネットワークＰＷ内のメッセージの授受を減らすことができる。
【００７１】
なお、上記実施形態および変形形態においては、本発明のノード装置をルータに適用していた。しかしながら、本発明のノード装置を、たとえば、プロキシサーバ、ロードバランサ、ウェブアクセラレータ等の、情報を中継する機能を有するネットワーク機器に適用してもよい。また、本発明のノード装置を、たとえば、キャッシュサーバ、エッジサーバ等のサーバに適用してもよい。
【００７２】
また、上記実施形態においては、オーバーレイネットワークに、ＤＨＴを利用したＰ２Ｐネットワークが適用されていたが、これに限られるものではない。たとえば、他のＰ２Ｐネットワーク、またはオーバーレイネットワークを用いたシステムが適用されてもよい。ＤＨＴを利用しないＰ２Ｐネットワークとしては、たとえば、ハイブリッド型のＰ２Ｐネットワークがある。
【符号の説明】
【００７３】
１１、２２    記憶部
１２、２１    制御部
１３、２４    通信部
Ｒｍ    ルータ
ＳＰ    Ｐ２Ｐ用ＤＮＳサーバ
ＳＯ    組織用ＤＮＳサーバ
ＮＬｍ    拠点ネットワーク
ＮＷ    ネットワーク
ＰＷ    Ｐ２Ｐネットワーク
Ｓ      配信システム
【図１】
2012078903.tif 000003
【図２】
2012078903.tif 000004
【図３】
2012078903.tif 000005
【図４】
2012078903.tif 000006
【図５】
2012078903.tif 000007