[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP4715388B2 - 情報配信システム、情報配信方法、情報配信システムに含まれるノード装置および情報処理プログラム - Google Patents

情報配信システム、情報配信方法、情報配信システムに含まれるノード装置および情報処理プログラム Download PDF

Info

Publication number
JP4715388B2
JP4715388B2 JP2005243335A JP2005243335A JP4715388B2 JP 4715388 B2 JP4715388 B2 JP 4715388B2 JP 2005243335 A JP2005243335 A JP 2005243335A JP 2005243335 A JP2005243335 A JP 2005243335A JP 4715388 B2 JP4715388 B2 JP 4715388B2
Authority
JP
Japan
Prior art keywords
node
information
content
node device
request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2005243335A
Other languages
English (en)
Other versions
JP2007058597A (ja
Inventor
裕二 清原
博明 鈴木
建太郎 牛山
康一 飯島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2005243335A priority Critical patent/JP4715388B2/ja
Priority to PCT/JP2006/314657 priority patent/WO2007023636A1/ja
Publication of JP2007058597A publication Critical patent/JP2007058597A/ja
Application granted granted Critical
Publication of JP4715388B2 publication Critical patent/JP4715388B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Description

本発明は、ネットワークを介して互いに接続された複数のノード装置を備えたピアツーピア(Peer to Peer(P2P))型の情報(コンテンツ)配信システムに関し、特に、複数のノード装置が一のノード装置に集中してコンテンツを要求する場合にコンテンツ要求により回線が混雑する不都合を解消した情報(コンテンツ)配信システムおよび方法等の技術分野に関する。
ピアツーピア型の情報配信システムにおいて、例えば、分散ハッシュテーブル(以下、DHT(Distributed Hash Table)という)を利用して論理的に構築されたオーバーレイネットワークでは、各ノード装置が、当該オーバーレイネットワークに参加している全てのノード装置へのリンク情報(例えば、IPアドレス)を認識しているわけではなく、参加の際などに得られる一部のノード装置へのリンク情報だけを保持しており、かかるリンク情報に基づき、データの問い合わせ等を行うようになっている。
このようなオーバーレイネットワークにおいては、ノード装置の参加及び脱退(離脱)が頻繁に行われても、負荷分散が適切に行われる必要があり、非特許文献1には、オーバーレイネットワークにおいて、参加及び脱退(離脱)が頻繁に行われる場合であっても、適切に負荷分散を行うための技術が開示されている。
こうしたピアツーピア型のコンテンツ配信システムにおいては、各ノード装置がコンテンツデータを保持するコンテンツ配信サーバとなり、また、各ノード装置がコンテンツ配信要求クライアントにもなる。
このようなコンテンツ配信システムにおいて、コンテンツ配信サーバであるノード装置がコンテンツデータを保持しているだけでなく、ネットワーク上の他のノード装置もコンテンツデータの複製を保持しているものが知られている。以下、コンテンツデータの複製を保持しているノード装置をレプリカノードともいう。コンテンツ配信要求クライアントであるノード装置は、要求するコンテンツをこのようなレプリカノードから入手することもできる。このようなコンテンツ配信システムは、あるコンテンツに対する配信要求が増加した場合に、コンテンツ配信サーバであるノード装置だけでなく、その複製を保持しているレプリカノード装置からもコンテンツを配信できるため、コンテンツ配信サーバであるノード装置へのアクセスの集中を回避できるものである。
また、P2P型のコンテンツ配信方法として、コンテンツ配信サーバと、クライアント装置群と、サーバ装置およびクライアント装置との接続関係を制御するトポロジ制御装置とで構成されたシステムにおける方法が知られている(特許文献1参照)。このコンテンツ配信方法では、クライアント装置がコンテンツ取得要求をトポロジ制御装置に問い合わせると、トポロジ制御装置において接続先候補に含まれるピア装置の識別情報をクライアント装置に通知し、クライアント装置において識別情報で示されるピア装置に対し接続を試み、クライアント装置においてパケットを受信する。トポロジ制御装置においては、接続先候補に含まれるピア装置の中から、事前に定義された選択ポリシにより接続先候補を絞り込んで抽出している。このトポロジ制御装置による動作により、あるクライアント装置に対して情報を送信するサーバ装置またはコンテンツ配信可能なクライアント装置の中から適切な接続先を選択する手段を提供し、ユーザに対してコンテンツ再生の中断、スキップ、逆戻りなどが発生しない高品質なサービスを提供している。
「分散ハッシュテーブルの軽量な負荷分散手法の検討」 社団法人 電子情報通信学会 信学技報 特開2004−246790号公報
従来のサーバ−クライアント型のコンテンツ配信システムにおいては、特定の人気コンテンツを有するサーバ装置にクライアント装置からのアクセスが集中し、コンテンツの配信を希望する複数のユーザのノード装置において、希望のコンテンツをストレスなく高品質に入手して視聴することが困難になるという不都合がある。
一方、P2P型のコンテンツ配信システムにおいては、特定の人気コンテンツを有するノード装置の他に、当該コンテンツの複製を保持しているレプリカノードを配置することにより、上述のようにコンテンツ配信サーバであるノード装置へのアクセスの集中を回避している。
しかしながら、レプリカノードが十分に配置されていない場合には、従来のサーバ−クライアント型のコンテンツ配信システムと同様の不都合が想定される。すなわち、コンテンツの配信を希望する複数のユーザのノード装置において、通信がとぎれたり、エラーが発生することにより、コンテンツの品質が低下する可能性が高くなる。そのため、ユーザはコンテンツをストレスなく高品質に入手して視聴することが困難になる。
特許文献1に開示されたコンテンツ配信方法においては、P2P型のコンテンツ配信において、いわゆるツリー型の配信トポロジを制御して適切な接続先を選択する技術が開示されているものの、ある装置に対するアクセスの集中を回避するという観点からは技術が開示されていない。
本発明は、以上の不都合に鑑みてなされたものであり、複数のノード装置を有するP2P型のコンテンツ配信システムにおいて、複数のノード装置が一のノード装置に集中してコンテンツを要求することによるコンテンツの品質低下等の不都合を解消したコンテンツ配信システム及び方法等を提供することを課題とする。
上記課題を解決するために、請求項1に記載の発明は、ネットワークを介して接続された複数のノード装置を備え、前記複数のノード装置に分散して記憶されるコンテンツが、前記複数のノード装置に含まれるード装置からのノード装置配信される情報配信システムであって、前記複数のノード装置に含まれる一のノード装置は、前記コンテンツ送信可能な前記ノード装置を示すノード情報の送信を要求するための要求情報であって、前記コンテンツに対応する固有の識別情報を含む前記要求情報を、前記複数のノード装置に含まれる前記ノード装置から受信する要求情報受信手段と、前記複数のノード装置に分散して記憶されるコンテンツの中で特定の前記コンテンツを記憶する前記ノード装置であるコンテンツ記憶ノード装置を示す前記ノード情報と、前記コンテンツに対応する固有の識別情報と、を対応付けて記憶する記憶手段と、前記要求情報に含まれる前記識別情報が、前記記憶手段に記憶されている場合には、前記要求情報に含まれる前記識別情報に対応する前記ノード情報が示す前記コンテンツ記憶ノード装置他のノード装置との通信の局所的集中の程度を示す通信繁忙度を認定する通信繁忙度認定手段と、前記識別情報に対応する前記ノード情報が示す前記コンテンツ記憶ノード装置から前記コンテンツを受信中の前記ノード装置であるコンテンツ受信中ノード装置を示す前記ノード情報を、前記コンテンツ記憶ノード装置または前記要求情報に含まれる前記識別情報に対応する前記ノード情報を同様に記憶している他のノード装置から取得する取得手段と、前記通信繁忙度が所定の範囲外である場合には、前記コンテンツをストリーミング配信する前記ノード装置であるストリーミング配信ノード装置を示す前記ノード情報として、前記取得手段により取得された前記ノード情報を、前記要求情報の送信元の前記ノード装置に送信するストリーミング配信ノード情報送信手段と、前記通信繁忙度が所定の範囲内である場合には、前記要求情報に含まれる前記識別情報に対応して前記記憶手段に記憶された前記ノード情報を、前記要求情報の送信元の前記ノード装置に送信するコンテンツ記憶ノード情報送信手段と、を有することを特徴とする情報配信システムである。
これによれば、クエリ(要求情報)の送信元のノード装置であるユーザのリクエストノードから、コンテンツ対応するクエリが送信された際に、クエリに含まれるコンテンツID(識別情報)とこれに対応するコンテンツノード(情報記憶ノード装置)のIPアドレス(ノード情報)を記憶するルートノードやキャッシュノードは、コンテンツノードの通信状況に応じて、リクエストノードがコンテンツを要求する要求先を分散させることができる。すなわち、ルートノードやキャッシュノードは、コンテンツノードの通信が局所的に集中して繁忙(混雑)している場合(通信繁忙度が所定の範囲外)には、コンテンツを受信中であリクエストノードをストリーム型コンテンツノード(ストリーミング配信ノード装置)として、当該ストリーム型コンテンツノードのIPアドレスをコンテンツ要求先のノード装置としてリクエストノードに知らせる。一方、ルートノードやキャッシュノードは、コンテンツノードの通信が繁忙(混雑)していない場合(通信繁忙度が所定の範囲内)には、通常通り、コンテンツノードのIPアドレスをコンテンツ要求先のノード装置としてリクエストノードに知らせる。
したがって、コンテンツノードの通信が繁忙している場合、すなわち、特定の人気コンテンツにアクセスが集中してきた場合には、上述のようにストリーミング配信ノード情報送信手段が動作するため、多数のリクエストノードへコンテンツ配信することによりコンテンツノードに過大な負荷がかかることや、コンテンツの配信を希望する複数のユーザのリクエストノードにおいて、通信がとぎれたり、エラーが発生することにより、コンテンツの品質が低下することが防止される。その結果、コンテンツの配信を希望する複数のユーザのノード装置において、希望のコンテンツをストレスなく高品質に入手して視聴することが可能となる。
上記課題を解決するために、請求項2に記載の発明は、ネットワークを介して接続された複数のノード装置を備え、前記複数のノード装置に分散して記憶されるコンテンツが、前記複数のノード装置に含まれるード装置からのノード装置配信される情報配信システムにおける情報配信方法であって、前記複数のノード装置に含まれる一のノード装置が、前記コンテンツ送信可能な前記ノード装置を示すノード情報の送信を要求するための要求情報であって、前記コンテンツに対応する固有の識別情報を含む前記要求情報を、前記複数のノード装置に含まれる前記ノード装置から受信する要求情報受信ステップと前記一のノード装置が、前記要求情報に含まれる前記識別情報が、前記複数のノード装置に分散して記憶されるコンテンツの中で特定の前記コンテンツを記憶する前記ノード装置であるコンテンツ記憶ノード装置を示す前記ノード情報と、前記コンテンツに対応する固有の識別情報と、を対応付けて記憶する記憶手段に記憶されている場合には、前記要求情報に含まれる前記識別情報に対応する前記ノード情報が示す前記コンテンツ記憶ノード装置他のノード装置との通信の局所的集中の程度を示す通信繁忙度を認定する通信繁忙度認定ステップと前記一のノード装置が、前記識別情報に対応する前記ノード情報が示す前記コンテンツ記憶ノード装置から前記コンテンツを受信中の前記ノード装置であるコンテンツ受信中ノード装置を示す前記ノード情報を、前記コンテンツ記憶ノード装置または前記要求情報に含まれる前記識別情報に対応する前記ノード情報を同様に記憶している他のノード装置から取得する取得ステップと、前記一のノード装置が、前記通信繁忙度が所定の範囲外である場合には、前記コンテンツをストリーミング配信する前記ノード装置であるストリーミング配信ノード装置を示す前記ノード情報として、前記取得ステップにおいて取得された前記ノード情報を、前記要求情報の送信元の前記ノード装置に送信するストリーミング配信ノード情報送信ステップと前記一のノード装置が、前記通信繁忙度が所定の範囲内である場合には、前記要求情報に含まれる前記識別情報に対応して前記記憶手段に記憶された前記ノード情報を、前記要求情報の送信元の前記ノード装置に送信するコンテンツ記憶ノード情報送信ステップとを含むことを特徴とする情報配信方法である。
上記課題を解決するために、請求項3に記載の発明は、ネットワークを介して接続された複数のノード装置を備え、前記複数のノード装置に分散して記憶されるコンテンツが、前記複数のノード装置に含まれるード装置からのノード装置配信される情報配信システムにおけるノード装置であって、前記コンテンツ送信可能な前記ノード装置を示すノード情報の送信を要求するための要求情報であって、前記コンテンツに対応する固有の識別情報を含む前記要求情報を、前記複数のノード装置に含まれる前記ノード装置から受信する要求情報受信手段と、前記複数のノード装置に分散して記憶されるコンテンツの中で特定の前記コンテンツを記憶する前記ノード装置であるコンテンツ記憶ノード装置を示す前記ノード情報と、前記コンテンツに対応する固有の識別情報と、を対応付けて記憶する記憶手段と、前記要求情報に含まれる前記識別情報が、前記記憶手段に記憶されている場合には、前記要求情報に含まれる前記識別情報に対応する前記ノード情報が示す前記コンテンツ記憶ノード装置他のノード装置との通信の局所的集中の程度を示す通信繁忙度を認定する通信繁忙度認定手段と、前記識別情報に対応する前記ノード情報が示す前記コンテンツ記憶ノード装置から前記コンテンツを受信中の前記ノード装置であるコンテンツ受信中ノード装置を示す前記ノード情報を、前記コンテンツ記憶ノード装置または前記要求情報に含まれる前記識別情報に対応する前記ノード情報を同様に記憶している他のノード装置から取得する取得手段と、前記通信繁忙度が所定の範囲外である場合には、前記コンテンツをストリーミング配信する前記ノード装置であるストリーミング配信ノード装置を示す前記ノード情報として、前記取得手段により取得された前記ノード情報を、前記要求情報の送信元の前記ノード装置に送信するストリーミング配信ノード情報送信手段と、前記通信繁忙度が所定の範囲内である場合には、前記要求情報に含まれる前記識別情報に対応して前記記憶手段に記憶された前記ノード情報を、前記要求情報の送信元の前記ノード装置に送信するコンテンツ記憶ノード情報送信手段と、を有することを特徴とするノード装置である。
これによれば、上述のコンテンツの配信を希望する複数のユーザのリクエストノードにおいて希望のコンテンツをストレスなく高品質に入手して視聴することを可能とする、情報配信システムにおけるルートノードやキャッシュノードを提供できる。
上記課題を解決するために、請求項4に記載の発明は、請求項3に記載のノード装置であって、前記通信繁忙度認定手段は、前記ノード情報に対応する前記コンテンツ記憶ノード装置から前記通信繁忙度に対応する通信繁忙度情報を受信することにより前記通信繁忙度を認定することを特徴とするノード装置である。
これによれば、ルートノードやキャッシュノードは、コンテンツノードから通信繁忙度情報を直接入手することにより、その通信状況を把握し、適切なタイミングでリクエストノードの情報要求先を分散させることができる。そのため、コンテンツの配信を希望する複数のユーザのリクエストノードにおいて、希望のコンテンツをストレスなく高品質に入手して視聴することが可能となる。
上記課題を解決するために、請求項5に記載の発明は、請求項3または4に記載のノード装置であって、前記ストリーミング配信ノード情報送信手段は、前記取得手段により取得された前記ノード情報に対応する前記コンテンツ受信中ノード装置における前記コンテンツの受信状況を示す受信状況情報を、前記コンテンツ受信中ノード装置から受信する受信状況情報受信手段と、前記受信状況情報に基づいて、前記取得手段により取得された前記コンテンツ受信中ノード装置を示す前記ノード情報の中から前記ストリーミング配信ノード装置を示す前記ノード情報少なくとも一以上選択する選択手段と、を有し、前記選択手段により選択された前記ストリーミング配信ノード装置を示す前記ノード情報を、前記要求情報の送信元の前記ノード装置に送信することを特徴とするノード装置である。
これによれば、具体的に、コンテンツノードからコンテンツを受信中であリクエストノード(コンテンツ受信中ノード装置)のうち、コンテンツの受信状況が良好な装置をルートノードが選択することができる。そして、ルートノードは、選択したリクエストノード(コンテンツ受信中ノード装置)をストリーム型コンテンツノードとし、当該ストリーム型コンテンツノードをコンテンツ要求先として他の新たなリクエストノードに知らせることができる。そのため、コンテンツの配信を希望する複数のユーザのリクエストノードにおいて、特にコンテンツの受信状況が良好なノード装置(ストリーム型コンテンツノード)から希望のコンテンツをストレスなく高品質に入手して視聴することが可能となる。なお、ルートノードがこのようなストリーム型コンテンツノードを選択する動作を行い、キャッシュノードは通常この動作を行わない。
上記課題を解決するために、請求項6に記載の発明は、請求項3乃至5のいずれか一項に記載のノード装置であって、前記通信繁忙度が所定の範囲外である場合には、前記ストリーミング配信ノード装置を示す前記ノード情報を前記要求情報の送信元の前記ノード装置に送信すべき旨のストリーミング配信ノード情報送信指示情報を、前記要求情報に含まれる前記識別情報に対応する前記ノード情報を同様に記憶している他のノード装置に送信するストリーミング配信ノード情報送信指示情報送信手段を有することを特徴とするノード装置である。
これによれば、通信繁忙度を認定したルートノードが、通信が繁忙していると判断した場合に、クエリに含まれるコンテンツIDに対応するIPアドレスを同様に記憶している他のノード装置(キャッシュノードを示す。)に対し、ストリーム型コンテンツノードのIPアドレスをリクエストノードに送信すべき旨のストリーミング配信ノード情報送信指示情報を送信する。そのため、キャッシュノードにおいてクエリを受信した場合に、ルートノードまでクエリを転送することなくストリーム型コンテンツノードのIPアドレスをリクエストノードに知らせる(送信する)ことができ、リクエストノードが早くコンテンツ要求先のIPアドレスを入手できるとともに、通信の数を減らすこともできる。よって、コンテンツ配信システム全体の通信数を減らすことができ、システムにおける負荷が低減される。
上記課題を解決するために、請求項7に記載の発明は、請求項6に記載のノード装置であって、前記通信繁忙度が所定の範囲内である場合には、前記コンテンツ記憶ノード装置を示す前記ノード情報を前記要求情報の送信元の前記ノード装置に送信すべき旨のコンテンツ記憶ノード情報送信指示情報を、前記要求情報に含まれる前記識別情報に対応する前記ノード情報を同様に記憶している他のノード装置に送信するコンテンツ記憶ノード情報送信指示情報送信手段を有することを特徴とするノード装置である。
これによれば、通信繁忙度を認定したルートノードが、通信が繁忙していないと判断した場合に、クエリに含まれるコンテンツIDに対応するIPアドレスを同様に記憶しているキャッシュノードに対し、通常のコンテンツノードのIPアドレスをリクエストノードに送信すべき旨のコンテンツ記憶ノード情報送信指示情報を送信する。そのため、キャッシュノードにおいてクエリを受信した場合に、ルートノードまでクエリを転送することなく通常のコンテンツノードのIPアドレスをリクエストノードに知らせる(送信する)ことができ、リクエストノードが早くコンテンツ要求先のIPアドレスを入手できるとともに、通信の数を減らすこともできる。よって、コンテンツ配信システム全体の通信数を減らすことができ、システムにおける負荷が低減される。
上記課題を解決するために、請求項8に記載の発明は、請求項7に記載のノード装置であって、前記通信繁忙度が所定の範囲内である旨の所定範囲内報告情報を、前記ストリーミング配信ノード情報送信指示情報の送信先の前記ノード装置から受信する所定範囲内報告情報受信手段をさらに有し、前記所定範囲内報告情報を受信した場合に、前記コンテンツ記憶ノード情報送信手段は、前記要求情報に含まれる前記識別情報に対応して前記記憶手段に記憶された前記ノード情報を、前記要求情報の送信元の前記ノード装置に送信し、前記コンテンツ記憶ノード情報送信指示情報送信手段は、前記コンテンツ記憶ノード情報送信指示情報を、前記要求情報に含まれる前記識別情報に対応する前記ノード情報を同様に記憶している他のノード装置に送信することを特徴とするノード装置である。
これによれば、通信繁忙度を認定したキャッシュノードが、通信が繁忙していないと判断した場合に、クエリに含まれるコンテンツIDに対応するIPアドレスを同様に記憶しているルートノードや他のキャッシュノードは、通信が繁忙していない旨の所定範囲内報告情報を受信する。この所定範囲内報告情報を受け取ったルートノードや他のキャッシュノードは、通常のコンテンツノードのIPアドレスをリクエストノードに送信するとともに、上記コンテンツ記憶ノード情報送信指示情報を送信する。そのため、コンテンツノードの通信状況が繁忙していないことをキャッシュノードが最初に知った場合に、そのことをルートノードや他のキャッシュノードに報告するため、いち早く通常のコンテンツノードを主体としたいわゆるグリッド型の通信形態に戻すことができる。
上記課題を解決するために、請求項9に記載の発明は、請求項7または記載のノード装置であって、前記通信繁忙度が所定の範囲外である旨の所定範囲外報告情報を、前記コンテンツ記憶ノード情報送信指示情報の送信先の前記ノード装置から受信する所定範囲外報告情報受信手段をさらに有し、前記所定範囲外報告情報を受信した場合に、前記ストリーミング配信ノード情報送信手段は、前記ストリーミング配信ノード装置を示す前記ノード情報を、前記要求情報の送信元の前記ノード装置に送信し、前記ストリーミング配信ノード情報送信指示情報送信手段は、前記ストリーミング配信ノード情報送信指示情報を、前記要求情報に含まれる前記識別情報に対応する前記ノード情報を同様に記憶している他のノード装置に送信することを特徴とするノード装置である。
これによれば、通信繁忙度を認定したキャッシュノードが、通信が繁忙していると判断した場合に、クエリに含まれるコンテンツIDに対応するIPアドレスを同様に記憶しているルートノードやキャッシュノードは、通信が繁忙している旨の所定範囲外報告情報を受信する。この所定範囲外報告情報を受け取ったルートノードは、ストリーム型コンテンツノードを選択するとともに、ストリーム型コンテンツノードのIPアドレスをリクエストノードに送信するようにし、上記ストリーミング配信ノード情報送信指示情報を送信する。そのため、コンテンツノードの通信状況が繁忙していることをキャッシュノードが最初に知った場合に、そのことをルートノードや他のキャッシュノードに報告するため、いち早くリクエストノードの情報要求先を分散させたいわゆるツリー型の通信形態に変更することができる。そして、コンテンツの配信を希望する複数のユーザのノード装置において、希望のコンテンツをストレスなく高品質に入手して視聴することが可能となる。
上記課題を解決するために、請求項10に記載の発明は、請求項3または4に記載のノード装置であって、前記ストリーミング配信ノード装置を示す前記ノード情報を前記要求情報の送信元の前記ノード装置に送信すべき旨のストリーミング配信ノード情報送信指示情報を、前記要求情報に含まれる前記識別情報に対応する前記ノード情報を同様に記憶している他のノード装置から受信するストリーミング配信ノード情報送信指示情報受信手段を有し、前記ストリーミング配信ノード情報送信指示情報を受信した場合に、前記ストリーミング配信ノード情報送信手段は、前記ストリーミング配信ノード装置を示す前記ノード情報を、前記要求情報の送信元の前記ノード装置に送信し、前記ストリーミング配信ノード装置を示す前記ノード情報を他の前記ノード装置に送信したことを示す送信済情報を前記ストリーミング配信ノード情報送信指示情報の送信元の前記ノード装置に送信する送信済情報送信手段有することを特徴とするノード装置である。
これによれば、ルートノードまたはキャッシュノードからストリーミング配信ノード情報送信指示情報を受信したキャッシュノードが新たなリクエストノードに対し、ストリーム型コンテンツノードのIPアドレスをリクエストノードに送信する。そのため、キャッシュノードは、ルートノードまでクエリを転送することなくストリーム型コンテンツノードのIPアドレスをリクエストノードに知らせる(送信する)ことができ、リクエストノードが早くコンテンツ要求先のIPアドレスを入手できるとともに、通信の数を減らすこともできる。よって、コンテンツ配信システム全体の通信数を減らすことができ、システムにおける負荷が低減される。
また、キャッシュノードがストリーミング配信ノード情報送信指示情報を受信した場合に、キャッシュノードがリクエストノードにコンテンツ要求先としてストリーム型コンテンツノードのIPアドレスを知らせる。また、キャッシュノードは、このようにリクエストノードにストリーム型コンテンツノードを知らせたことを送信済情報としてストリーミング配信ノード情報送信指示情報の送信元であるルートノードに返すこととなる。このことにより、ルートノードはその送信済情報を元に、その後リクエストノードに知らせるストリーム型コンテンツノードを選択し直すことができ、コンテンツ要求先を分散させた適切なストリーム型コンテンツノードを新たなリクエストノードに知らせることが可能となる。
上記課題を解決するために、請求項11に記載の発明は、請求項10に記載のノード装置であって、前記コンテンツ記憶ノード装置を示す前記ノード情報を前記要求情報の送信元の前記ノード装置に送信すべき旨のコンテンツ記憶ノード情報送信指示情報を、前記要求情報に含まれる前記識別情報に対応する前記ノード情報を同様に記憶している他のノード装置から受信するコンテンツ記憶ノード情報送信指示情報受信手段を有し、前記コンテンツ記憶ノード情報送信指示情報を受信した場合または前記ストリーミング配信ノード情報送信指示情報を受信していない場合に、前記コンテンツ記憶ノード情報送信手段は、前記要求情報に含まれる前記識別情報に対応して前記記憶手段に記憶された前記ノード情報を、前記要求情報の送信元の前記ノード装置に送信することを特徴とするノード装置である。
これによれば、キャッシュノードがルートノードまたは他のキャッシュノードからコンテンツ記憶ノード情報送信指示情報を受信した場合、または、上記ストリーミング配信ノード情報送信指示情報を受信していない場合に、キャッシュノードがクエリを受信すると、ルートノードまでクエリを転送することなく通常のコンテンツノードのIPアドレスをリクエストノードに知らせる(送信する)ことができ、リクエストノードが早くコンテンツ要求先のIPアドレスを入手できるとともに、通信の数を減らすこともできる。よって、コンテンツ配信システム全体の通信数を減らすことができ、システムにおける負荷が低減される。
上記課題を解決するために、請求項12に記載の発明は、請求項10または11に記載のノード装置であって、前記通信繁忙度が所定の範囲内である場合には、前記通信繁忙度が所定の範囲内である旨の所定範囲内報告情報を、前記ストリーミング配信ノード情報送信指示情報の送信元の前記ノード装置に送信する所定範囲内報告情報送信手段をさらに有することを特徴とするノード装置である。
これによれば、通信繁忙度を認定したキャッシュノードは、通信が繁忙していないと判断した場合に、上記ストリーミング配信ノード情報送信指示情報の送信元であるルートノードやキャッシュノードに、通信が繁忙していない旨の所定範囲内報告情報を送信する。そのため、この所定範囲内報告情報を受け取ったルートノードやキャッシュノードは、通常のコンテンツノードのIPアドレスをリクエストノードに送信したり、他のキャッシュノードに、上記コンテンツ記憶ノード情報送信指示情報を送信することができる。よって、コンテンツノードの通信状況が繁忙していないことをキャッシュノードが最初に知った場合に、そのことをルートノードや他のキャッシュノードに報告するため、いち早く通常のコンテンツノードを主体としたいわゆるグリッド型の通信形態に戻すことができる。
上記課題を解決するために、請求項13に記載の発明は、請求項11記載のノード装置であって、前記通信繁忙度が所定の範囲外である場合には、前記通信繁忙度が所定の範囲外ある旨の所定範囲外報告情報を、前記コンテンツ記憶ノード情報送信指示情報の送信元の前記ノード装置に送信する所定範囲外報告情報送信手段さらに有することを特徴とするノード装置である。
これによれば、通信繁忙度を認定したキャッシュノードが、通信が繁忙していると判断した場合に、上記コンテンツ記憶ノード情報送信指示情報の送信元であるルートノードや他のキャッシュノードに、通信が繁忙している旨の所定範囲外報告情報を送信する。そのため、この所定範囲外報告情報を受け取ったルートノードは、ストリーム型コンテンツノードを選択することができ、ストリーム型コンテンツノードのIPアドレスをリクエストノードに送信するとともに、上記ストリーミング配信ノード情報送信指示情報を送信する。そのため、コンテンツノードの通信状況が繁忙していることをキャッシュノードが最初に知った場合に、そのことをルートノードや他のキャッシュノードに報告するため、いち早くリクエストノードの情報要求先を分散させたいわゆるツリー型の通信形態に変更することができる。そして、コンテンツの配信を希望する複数のユーザのノード装置において、希望のコンテンツをストレスなく高品質に入手して視聴することが可能となる。
上記課題を解決するために、請求項14に記載の発明は、請求項3乃至13のいずれか一項に記載のノード装置であって、前記ストリーミング配信ノード情報送信手段は、一の前記ストリーミング配信ノード装置に対して所定の数以下の前記要求情報の送信元の前記ノード装置に、前記ストリーミング配信ノード装置を示す前記ノード情報を送信することを特徴とするノード装置である。
これによれば、ルートノードやキャッシュノードは、一のストリーム型コンテンツノードについて、そのIPアドレスを所定の数以下のリクエストノードに知らせる。そのため、一のストリーム型コンテンツノードには、所定の数以下のリクエストノードからコンテンツ要求が送信されることとなる。よって、多数のリクエストノードへコンテンツ配信することによりストリーム型コンテンツノードに過大な負荷がかかることや、コンテンツの配信を希望する複数のユーザのリクエストノードにおいて、通信がとぎれたり、エラーが発生することにより、コンテンツの品質が低下することが防止される。その結果、ストリーム型コンテンツノードにおいても、コンテンツの配信を希望する複数のユーザが、希望のコンテンツをストレスなく高品質に入手して視聴することが可能となる。
上記課題を解決するために、請求項15に記載の発明は、ネットワークを介して接続された複数のノード装置を備え、前記複数のノード装置に分散して記憶されるコンテンツが、前記複数のノード装置に含まれるード装置からのノード装置配信される情報配信システムにおけるノード装置に含まれるコンピュータに、前記コンテンツ送信可能な前記ノード装置を示すノード情報の送信を要求するための要求情報であって、前記コンテンツに対応する固有の識別情報を含む前記要求情報を、前記複数のノード装置に含まれる前記ノード装置から受信する要求情報受信ステップと、前記要求情報に含まれる前記識別情報が、前記複数のノード装置に分散して記憶されるコンテンツの中で特定の前記コンテンツを記憶する前記ノード装置であるコンテンツ記憶ノード装置を示す前記ノード情報と、前記コンテンツに対応する固有の識別情報と、を対応付けて記憶する記憶手段に記憶されている場合には、前記要求情報に含まれる前記識別情報に対応する前記ノード情報が示す前記コンテンツ記憶ノード装置他のノード装置との通信の局所的集中の程度を示す通信繁忙度を認定する通信繁忙度認定ステップと前記識別情報に対応する前記ノード情報が示す前記コンテンツ記憶ノード装置から前記コンテンツを受信中の前記ノード装置であるコンテンツ受信中ノード装置を示す前記ノード情報を、前記コンテンツ記憶ノード装置または前記要求情報に含まれる前記識別情報に対応する前記ノード情報を同様に記憶している他のノード装置から取得する取得ステップと、前記通信繁忙度が所定の範囲外である場合には、前記コンテンツをストリーミング配信する前記ノード装置であるストリーミング配信ノード装置を示す前記ノード情報として、前記取得ステップにおいて取得された前記ノード情報を、前記要求情報の送信元の前記ノード装置に送信するストリーミング配信ノード情報送信ステップと、前記通信繁忙度が所定の範囲内である場合には、前記要求情報に含まれる前記識別情報に対応して前記記憶手段に記憶された前記ノード情報を、前記要求情報の送信元の前記ノード装置に送信するコンテンツ記憶ノード情報送信ステップとを実行させることを特徴とする情報処理プログラムである。
上記課題を解決するために、請求項16に記載の発明は、請求項1に記載の情報配信システムであって、前記ストリーミング配信ノード情報送信手段より送信された前記ノード情報の送信先である前記要求情報の送信元の前記ノード装置を、新たな前記ストリーミング配信ノード装置として認定するストリーミング配信ノード装置認定手段と、前記ストリーミング配信ノード情報送信手段より送信された前記ノード情報と、前記認定手段により前記ストリーミング配信ノード装置として認定された前記ノード装置を示す前記ノード情報と、を対応付けて記憶する第2記憶手段と、をさらに有し、前記ストリーミング配信ノード情報送信手段は、前記第2記憶手段に対応付けて記憶された前記ノード情報に基づいて、各前記ストリーミング配信ノード装置により前記コンテンツが順次転送されるように、送信される前記ノード情報を選択する選択手段を有し、前記ストリーミング配信ノード情報送信手段は、前記選択手段により選択された前記ノード情報を、前記要求情報の送信元の前記ノード装置に送信することを特徴とする情報配信システムである。
上記課題を解決するために、請求項17に記載の発明は、請求項16に記載の情報配信システムであって、前記選択手段は、複数の前記ストリーミング配信ノード装置により前記コンテンツの配信経路がツリー状に形成されるように、送信される前記ノード情報を選択することを特徴とする情報配信システムである。
上記課題を解決するために、請求項18に記載の発明は、請求項1、16及び17のいずれか一項に記載の情報配信システムであって、前記要求情報の送信元の前記ノード装置は、前記ストリーミング配信ノード装置または前記コンテンツ記憶ノード装置を示す前記ノード情報を受信した場合には、前記コンテンツの送信を要求するコンテンツ要求情報を、受信した前記ノード情報に対応する前記ノード装置に送信するコンテンツ要求情報送信手段、を有し、前記コンテンツ要求情報を受信した前記ストリーミング配信ノード装置または前記コンテンツ記憶ノード装置は、前記コンテンツを、前記コンテンツ要求情報の送信元のノード装置に送信するコンテンツ送信手段、を有することを特徴とする情報配信システムである。
上記課題を解決するために、請求項19に記載の発明は、請求項3乃至14のいずれか一項に記載のノード装置であって、前記ストリーミング配信ノード情報送信手段より送信された前記ノード情報の送信先である前記要求情報の送信元の前記ノード装置を、新たな前記ストリーミング配信ノード装置として認定するストリーミング配信ノード装置認定手段と、前記ストリーミング配信ノード情報送信手段より送信された前記ノード情報と、前記認定手段により前記ストリーミング配信ノード装置として認定された前記ノード装置を示す前記ノード情報と、を対応付けて記憶する第2記憶手段と、をさらに有し、前記ストリーミング配信ノード情報送信手段は、前記第2記憶手段に対応付けて記憶された前記ノード情報に基づいて、各前記ストリーミング配信ノード装置により前記コンテンツが順次転送されるように、送信される前記ノード情報を選択する選択手段を有し、前記ストリーミング配信ノード情報送信手段は、前記選択手段により選択された前記ノード情報を、前記要求情報の送信元の前記ノード装置に送信することを特徴とするノード装置である。
上記課題を解決するために、請求項20に記載の発明は、請求項19に記載のノード装置であって、前記選択手段は、複数の前記ストリーミング配信ノード装置により前記コンテンツの配信経路がツリー状に形成されるように、送信される前記ノード情報を選択することを特徴とするノード装置である。
本発明によれば、コンテンツの配信を希望する複数のユーザのノード装置において、希望のコンテンツをストレスなく高品質に入手して視聴することが可能となる。
以下、本発明の最良の実施形態を図面に基づいて説明する。なお、以下に説明する実施の形態は、配信する情報をコンテンツ情報とし、コンテンツ配信システムに対して本発明を適用した場合の実施形態である。
[1.コンテンツ配信システムの構成等]
始めに、図1を参照して、情報配信システムとしてのコンテンツ配信システムの概要構成等について説明する。
図1は、本実施形態に係るコンテンツ配信システムにおける各ノード装置の接続態様の一例を示す図である。
図1の下部枠101内に示すように、IX(Internet eXchange)3、ISP(Internet Service Provider)4、DSL(Digital Subscriber Line)回線事業者(の装置)5、FTTH(Fiber To The Home)回線事業者(の装置)6、および通信回線(例えば、電話回線や光ケーブル等)7等によって、インターネット等のネットワーク(現実世界のネットワーク)8が構築されている。
コンテンツ配信システムSは、このようなネットワーク8を介して相互に接続された複数のノード装置1a,1b,1c・・・1x,1y,1z・・・を備えて構成されることになり、ピアツーピア方式のネットワークシステムとなっている。各ノード装置1a,1b,1c・・・1x,1y,1z・・には、ノード装置を示す情報(本発明におけるノード情報)としての固有の製造番号およびIP(Internet Protocol)アドレスが割り当てられている。なお、製造番号およびIPアドレスは、複数のノード装置1間で重複しないものである。なお、以下の説明において、ノード装置1a,1b,1c・・・1x,1y,1z・・・のうち何れかのノード装置を示す場合には、便宜上、ノード装置1という場合がある。
[1.1.DHTの概要]
以下に、本実施形態に係る分散ハッシュテーブル(以下、DHT(Distributed Hash Table)という)を利用したアルゴリズムについて説明する。
上述したコンテンツ配信システムSにおいて、当該ノード装置1同士が、互いに情報をやり取りする際には、お互いのノード情報としてのIPアドレスを知っていなければならない。
例えば、コンテンツを互いに共有するシステムにおいては、ネットワーク8に参加している各ノード装置1が互いにネットワーク8に参加している全てのノード装置1のIPアドレスを知っておくのが単純な手法であるが、端末数が何万何十万と多数になると、その全てのノード装置1のIPアドレスを覚えておくのは現実的ではない。また、任意のノード装置の電源がON或いはOFFとすると、各ノード装置1にて記憶している当該任意のノード装置のIPアドレスの更新が頻繁になり、運用上困難となる。
そこで、1台のノード装置1では、ネットワーク8に参加している全てのノード装置1のうち、必要最低限のノード装置1のIPアドレスだけを覚えて(記憶して)おいて、IPアドレスを知らない(記憶していない)ノード装置1については、各ノード装置1間で互いに情報を転送し合って届けてもらうというシステムが考案されている。
このようなシステムの一例として、DHTを利用したアルゴリズムによって、図1の上部枠100内に示すような、オーバレイネットワーク9が構築されることになる。つまり、このオーバレイネットワーク9は、既存のネットワーク8を用いて形成された仮想的なリンクを構成するネットワークを意味する。
本実施形態においては、DHTを利用したアルゴリズムによって構築されたオーバレイネットワーク9を前提としており、このオーバレイネットワーク9上に配置されたノード装置1を、コンテンツ配信システムSに参加(言い換えれば、オーバレイネットワーク9に参加)しているノード装置1という。なお、コンテンツ配信システムSへの参加は、未だ参加していないノード装置が、既に参加している任意のノード装置1に対して参加要求を送ることによって行われる。
コンテンツ配信システムSに参加している各ノード装置1のノードID(識別情報)は、それぞれのノード装置毎にユニーク(固有)な番号を付与する。この番号は、ノード装置の最大運用台数を収容できるだけのbit数を持たせる必要がある。例えば、128bitの番号とすれば、2^128=340×10^36台のノード装置を運用できる。
より具体的には、各ノード装置1のノードIDは、それぞれのノード装置のIPアドレスあるいは製造番号等のノード装置毎に固有の値を、共通のハッシュ関数(ハッシュアルゴリズム)によりハッシュ化して得たハッシュ値であり、一つのID空間に偏りなく分散して配置されることになる。このように共通のハッシュ関数により求められた(ハッシュ化された)ノードIDは、当該IPアドレスあるいは製造番号が異なれば、同じ値になる確率が極めて低いものである。なお、ハッシュ関数については公知であるので詳しい説明を省略する。なお、本実施形態では、IPアドレス(グローバルIPアドレス)を共通のハッシュ関数によりハッシュ化した値をノードIDとする。
また、コンテンツ配信システムSに参加している複数のノード装置1には、1のノード装置1から他のノード装置1に配信される共用情報としてのコンテンツ(例えば、映画や音楽等)データが分散して保存(格納)されているが、当該コンテンツデータにも、それぞれのコンテンツデータ毎にユニーク(固有)な番号(以下、コンテンツID(本発明の識別情報)という。)を付与する。
そして、当該コンテンツIDは、ノードIDと同様の長さ(例えば、128bit等)とし、例えば、コンテンツの名称(コンテンツタイトル)やコンテンツの概要情報(あらすじ)等のキーワードが、上記ノードIDを得るときと共通のハッシュ関数によりハッシュ化され(つまり、ノード装置1のIPアドレスのハッシュ値と同一のID空間に配置)、そのハッシュ値と最も近い(例えば、上位桁がより多く一致する)ノードIDを有するノード装置1が、当該コンテンツデータが保存するか、あるいは、コンテンツデータを保持するノード装置へのリンク情報(コンテンツ保持ノードのIPアドレス)を保持する。これにより、コンテンツデータを偏りなくコンテンツ配信システムS上に分散させることが可能となる。なお、異なるコンテンツデータであっても、同一のキーワード(例えば、コンテンツの名称)になる場合が想定されるが、この場合、同じハッシュ値になってしまうので、これを避けるために、ハッシュ化するキーワードを、例えば、コンテンツの名称と著作権情報(例えば、出演者名、監督名、原作者名、歌手名、作曲者名、または作詞者名等)の組み合わせとすればよい。
このように、各ノード装置1および各コンテンツデータに付与されたノードIDおよびコンテンツIDは、共通のハッシュ関数によって生成したため、図2に示す如く、同一のリング状のID空間上にさほど偏ることなく、散らばって存在するものとして考えることができる。同図は32bitでノードIDおよびコンテンツIDを付与し、図示したものである。図中黒点はノードIDを、黒ひし形はコンテンツIDを示し、反時計回りでIDが増加するものとする。
次に、どのノード装置1に、どのコンテンツデータが保存されるかを、一定の規則の下に決定する。本実施形態においては、「あるコンテンツIDを有するコンテンツデータを管理するノード装置は、そのコンテンツIDに近いノードIDを有するノード装置1である」という規則とする。ここで、「近い」ことの定義は、当該コンテンツIDを超えず、コンテンツIDとノードIDとの差が一番少ないものとするが、実際には、各コンテンツデータの管理を各ノード装置1に割り振る際に、一貫していればよい。同図に示す例では、この定義に基づいて、コンテンツIDaは、ノードIDaを有するノード装置に管理され、コンテンツIDbは、ノードIDbを有するノード装置に管理され、コンテンツIDcは、ノードIDcを有するノード装置1に管理される。
なお、ここで「管理」というのは、コンテンツデータを保存/保持していることを意味するのではなく、「コンテンツデータが何れのノード装置1に保存されているかを知っている」ことを言う。すなわち、図2において、ノードIDaを有するノード装置1は、コンテンツIDaを有するコンテンツデータが何れのノード装置1に保存されているかを知っており、ノードIDbを有するノード装置1およびノードIDcを有するノード装置1も同様にそれぞれコンテンツIDbを有するコンテンツデータおよびコンテンツIDcを有するコンテンツデータが何れのノード装置1に保存されているかを知っている、ということになる。このように、あるコンテンツデータが何れのノード装置1に保存されているかを知っているノード装置を、そのコンテンツデータのルートノードと言う。つまり、ノードIDaを有するノード装置1は、コンテンツIDaを有するコンテンツデータのルートノードであって、ノードIDbを有するノード装置1は、コンテンツIDbを有するコンテンツデータのルートノードであって、ノードIDcを有するノード装置1は、コンテンツIDcを有するコンテンツデータのルートノードである。また、コンテンツデータを保持(記憶)しているノード装置1をコンテンツノードという。
[1.2.ルーティングテーブルの作成]
ここで、図3を参照して、DHTで用いるルーティングテーブルの作成手法の一例について説明する。
図3は、DHTによってルーティングテーブルが作成される様子の一例を示す図である。
まず、図3(A)に示す如く、ID空間を幾つかのエリアに分割する。実際には、16分割程度が良く用いられるが、説明を簡単にするためここでは4分割とし、IDをビット長16Bitの4進数で表すこととした。そして、ノード装置1NのノードIDを「10230210」とし、このノード装置1Nのルーティングテーブルを作る例について説明する。
(レベル1のルーティング)
まず、ID空間を4分割とすると、それぞれのエリアは4進数で表すと最大桁が異なる4つのエリア「0XXXXXXX」「1XXXXXXX」、「2XXXXXXX」、「3XXXXXXX」(Xは0から3の自然数、以下同様。)で分けられる。ノード装置1Nは、当該ノード装置1N自身のノードIDが「10230210」であるため、図中左下「1XXXXXXX」のエリアに存在することになる。そして、ノード装置1Nは、自分の存在するエリア(すなわち、「1XXXXXXX」のエリア)以外のエリアに存在するノード装置1を適当に選択し、当該ノードIDのIPアドレスをレベル1のテーブルに記憶する。図4(A)がレベル1のテーブルの一例である。2列目はノード装置1N自身を示しているため、IPアドレスを記憶する必要は無い。
(レベル2のルーティング)
次に、図3(B)に示す如く、上記ルーティングによって4分割したエリアのうち、自分の存在するエリアを更に4分割し、更に4つのエリア「10XXXXXX」「11XXXXXX」、「12XXXXXX」、「13XXXXXX」と分ける。そして、上記と同様に自分の存在するエリア以外のエリアに存在するノード装置1を適当に選択し、当該ノードIDのIPアドレスをレベル2のテーブルに記憶する。図4(B)がレベル2のテーブルの一例である。1列目はノード装置1N自身を示しているため、IPアドレスを記憶する必要は無い。
(レベル3のルーティング)
さらに、図3(C)に示す如く、上記ルーティングによって4分割したエリアのうち、自分の存在するエリアを更に4分割し、更に4つのエリア「100XXXXX」「101XXXXX」、「102XXXXX」、「103XXXXX」と分ける。そして、上記と同様に自分の存在するエリア以外のエリアに存在するノード装置1を適当に選択し、当該ノードIDのIPアドレスをレベル1のテーブルに記憶する。図4(C)がレベル3のテーブルの一例である。3列目はノード装置1N自身を示しているため、IPアドレスを記憶する必要は無く、2列目、4列目はそのエリアにノード装置が存在しないため空白となる。
このようにして、レベル4以下レベル8まで同様にルーティングテーブル図4(D)に示す如く作成することにより、16bitのID全てを網羅することができる。レベルが上がる毎にテーブルの中に空白が目立つようになる。
以上説明した手法に従って作成したルーティングテーブルを、全てのノード装置1が夫々作成して所有することになる。
[1.3.コンテンツデータの検索方法]
次に、図5を参照して、コンテンツデータの保存元であるノード装置1の検索方法の一例について説明する。
図5は、DHTによりコンテンツデータの保存元であるノード装置1が検索される様子の一例を示す図である。
ここでは、ノードID「12003030」のノード装置1−1(以下、このようにコンテンツデータを探し、コンテンツデータの受信を要求するノード装置を「リクエストノード」と言う。)が、コンテンツID「31330012」を有するコンテンツデータを探す際の手順について説明する。
リクエストノードは、自己が保持しているルーティングテーブルのレベル1のテーブルを参照して、コンテンツID「31330012」と同じエリアのノードIDを持つノード装置に対してコンテンツの在処を問い合わせる要求情報(以下、本発明の「要求情報」(コンテンツの在処を問い合わせる要求情報)を「クエリ」と言う。)を送信する。つまり、コンテンツID「31330012」は「3XXXXXXX」のエリアであるため、当該「3XXXXXXX」のエリアに属すノード装置1のうち、IPアドレスを知っている(すなわち、自己が保持しているルーティングテーブルにIPアドレスが記憶されている)ノード装置1−2に対してクエリを送信する。このように、クエリはコンテンツに対応する固有の識別情報であるコンテンツIDを含むものである。
図5に示す例に拠れば、ノードIDが「30100000」であるノード装置1−2のIPアドレスがリクエストノードのルーティングテーブルに記憶されていたので、リクエストノードは、ノードIDが「30100000」であるノード装置1−2に対してクエリを送信する。
次に、クエリを受信したノード装置1−2は、当該ノード装置1−2自身が保持しているルーティングテーブルのレベル2のテーブルを参照して、「31XXXXXX」のエリアに属すノード装置1のうち、IPアドレスを知っているノード装置1−3(ノードID「31012001」)に対してクエリを転送する。
このように、コンテンツIDの桁を上から順に適合していく要領でクエリの転送が進み、最終的に当該コンテンツデータを管理するノード装置1−5、すなわちルートノードに辿り着くと、当該ルートノードは、クエリに含まれるコンテンツID「31330012」を、自身が管理しているインデックス情報(後述する)の中から検索し、当該コンテンツデータを所有しているノード装置1のIPアドレス等をリクエストノードに返信するようになっている。
こうして、リクエストノード(ノード装置1−1)は、上記ルートノード(ノード装置1−5)から、コンテンツID「31330012」のコンテンツデータの所在、即ち、保存元のノード装置1のIPアドレスを受信して知ることになり、当該保存元のノード装置1から、そのコンテンツデータを取得(ダウンロード)することになる。
[1.4.コンテンツデータの登録方法]
このような構成のコンテンツ配信システムSの中で、例えば、あるノード装置1が新しいコンテンツデータを、コンテンツ配信システムS上の他のノード装置に見えるように公開する際の手法について述べる。このノード装置1がコンテンツデータを保持する(記憶する)情報記憶ノード装置としてのコンテンツノードとなる。
当該コンテンツノードは、コンテンツのタイトル等からコンテンツIDを求め、当該コンテンツIDと同じノードIDを持つノード装置に向けて(このノード装置が実在するか否かはこの時点ではわからない。)公開メッセージを送信する。そして、この公開メッセージも、上記クエリと同様にルーティングテーブルに従って、次々と転送されていき、当該公開メッセージに含まれるコンテンツIDに最も近いノードIDを有するノード装置1まで転送されたところで、そのノード装置1はもはや送信先のノード装置が他にないと判断すると、当該ノード装置1自身がそのコンテンツのルートノードとなるべきだと判断し、当該コンテンツID、補助情報(タイトル、ジャンル等の属性情報や、監督名等の著作権情報等)およびコンテンツノードのIPアドレスをインデックス情報として記憶する。
更にまた、本実施形態では、ルートノードに至る経路の途中のノード装置でも、当該ルートノードが記憶しているインデックス情報をキャッシュとして保持しておくキャッシュノードを備える。これにより、ルートノードがクエリを受信するより前に、より早くキャッシュノード装置にクエリが転送された時点でキャッシュノードがコンテンツノードのIPアドレスを、コンテンツの所在を問い合わせたリクエストノードに返信することが可能になる。
公開メッセージを転送していく際には、通常、上述のようにキャッシュノードがインデックス情報のみを保持していく。一方、後述する実施形態においては、必要に応じて、図6に示すように、各キャッシュノードがインデックス情報を保持するとともに、自らのIPアドレスおよびその手前でインデックス情報を保持しているキャッシュノードのIPアドレスをインデックス情報とともに次のキャッシュノードやルートノードへ転送する。
従って、図6においては、コンテンツノードがインデックス情報を含む公開メッセージを送信すると、これを受け取ったノード装置1は、当該インデックス情報を保持することによりキャッシュノード(1)として機能する。そして、キャッシュノード(1)は、公開メッセージに自らのIPアドレス情報を付加して転送する。当該公開メッセージを受け取ったノード装置1は、当該インデックス情報およびキャッシュノード(1)のIPアドレス情報を保持することによりキャッシュノード(2)として機能する。そして、キャッシュノード(2)は、キャッシュノード(1)のIPアドレス情報が付加された公開メッセージに、さらに自らのIPアドレス情報を付加して転送する。当該公開メッセージを受け取ったノード装置1は、当該インデックス情報およびキャッシュノード(1)、(2)のIPアドレス情報を保持することによりルートノードとして機能する。なお、図6においては、コンテンツノードとルートノードの間の二台のノード装置がキャッシュノードとして機能することとしたが、これに限定されず、キャッシュノードの台数や転送されるノード装置全てをキャッシュノードとするか否か、等はそのコンテンツ配信システムSにおいて自由に決定することができる。
[2.ノード装置の構成等]
次に、図7を参照して、ノード装置1の構成および機能について説明する。尚、各ノード装置1は、それぞれが行う処理によってコンテンツの所在を問い合わせるクエリを送信するリクエストノード、当該リクエストノードや経路上の端末からクエリを受信するキャッシュノードまたはルートノード、リクエストノードによって問い合わせの対象とされているコンテンツを保持する情報記憶ノード装置としてのコンテンツノード、コンテンツをダウンロード中(配信中)であり当該コンテンツを一部記憶している情報部分記憶ノード装置としてのストリーム型コンテンツノード(リクエストノードでもある)として作用するが、その構成は同じである。
図7は、ノード装置1の概要構成例を示す図である。
各ノード装置1は、図7に示すように、演算機能を有するCPU,作業用RAM,各種データおよびプログラムを記憶するROM等から構成されたコンピュータとしての制御部11と、上記コンテンツデータ、上記インデックス情報、上記DHTおよびプログラム等を記憶保存(格納)するためのHD等から構成された記憶手段としての記憶部12(上記コンテンツデータは、保存されていないノード装置1もある)と、受信されたコンテンツデータを一時蓄積するバッファメモリ13と、コンテンツデータに含まれるエンコードされたビデオデータ(映像情報)およびオーディオデータ(音声情報)等をデコード(データ伸張や復号化等)するデコーダ部14と、当該デコードされたビデオデータ等に対して所定の描画処理を施しビデオ信号として出力する映像処理部15と、当該映像処理部15から出力されたビデオ信号に基づき映像表示するCRT,液晶ディスプレイ等の表示部16と、上記デコードされたオーディオデータをアナログオーディオ信号にD(Digital)/A(Analog)変換した後これをアンプにより増幅して出力する音声処理部17と、当該音声処理部17から出力されたオーディオ信号を音波として出力するスピーカ18と、ネットワーク8を通じて他のノード装置1との間の情報の通信制御を行うための通信部20と、ユーザからの指示を受け付け当該指示に応じた指示信号を制御部11に対して与える入力部(例えば、キーボード、マウス、或いは、操作パネル等)21と、を備えて構成され、制御部11、記憶部12、バッファメモリ13、デコーダ部14および通信部20はバス22を介して相互に接続されている。
そして、制御部11におけるCPUが記憶部12等に記憶された各種プログラムを実行することにより、ノード装置1全体を統括制御するようになっており、また、入力部21からの指示信号に応じて、コンテンツデータ登録処理等を行うようになっている。ノード装置1は、実行されるプログラムに応じて、リクエストノード、キャッシュノード、ルートノード、情報記憶ノード装置としてのコンテンツノード、情報部分記憶ノード装置としてのストリーム型コンテンツノード(コンテンツ配信(受信)中のノード装置としてのダウンロード中ノード)として機能する。
具体的には、ノード装置1がリクエストノードとして機能する際には、当該制御部11は、コンテンツの在処を問い合わせる要求情報(クエリ)送信手段、共用情報(コンテンツ)要求情報送信手段、として機能する。ノード装置1がキャッシュノード或いはルートノードとして機能する際には、当該制御部11は、記憶手段、要求情報受信手段、通信繁忙度認定手段、情報部分記憶ノード情報送信手段、情報記憶ノード情報送信手段、として機能する。
また、ノード装置1がルートノードとして機能する際には、当該制御部11は、配信中ノード情報受信手段、受信状況情報受信手段、選択手段、通信繁忙時指示情報送信手段、非通信繁忙時指示情報送信手段、非通信繁忙時報告情報受信手段、通信繁忙時報告情報受信手段として機能する。ノード装置1がキャッシュノードとして機能する際には、当該制御部11は、通信繁忙時指示情報受信手段、送信済情報送信手段、非通信繁忙時指示情報受信手段、非通信繁忙時報告情報送信手段、通信繁忙時報告情報送信手段として機能する。ノード装置1がコンテンツノード(情報記憶ノード装置)或いはストリーム型コンテンツノード(情報部分記憶ノード装置)として機能する際には、当該制御部11は、共用情報要求情報受信手段、共用情報送信手段として機能する。
[3.コンテンツ配信システムの概略]
本実施形態のコンテンツ配信システムSの概略を説明する。図1の上部枠100内、図8の上部枠100内に示すようなオーバレイネットワーク9(いわゆるグリッド型のネットワーク)において、複数のノード装置(例えば、1a、1d、1e、1f、1j、1z(斜格子線で示す))が特定のコンテンツデータを有する一のノード装置(例えば、1h(格子線で示す))に集中して当該コンテンツデータをダウンロードしようとした場合に、図8の下部枠102内に示すように、リクエストノードのコンテンツ要求先を分散させるものである。
すなわち、本実施形態のコンテンツ配信システムSは、特定の人気のあるコンテンツデータを有するコンテンツノードに通信が集中する(コンテンツがレプリカノードに記憶されて複製が作られていく時間に比べて短い時間にリクエストが数多く発生した場合に、特定のコンテンツノードにアクセスが局所的に集中する)と、いわゆるグリッド型の通信形態からいわゆるツリー型の通信形態に変更するものである。具体的に、図8の上部枠100および下部枠102に示すように、特定の人気のあるコンテンツを有する一のコンテンツノード装置1hから、過去に当該コンテンツを要求してリクエストノードとなり、コンテンツをダウンロードしてその一部を保持している他のノード装置1e、1z(以下、「ダウンロード中ノード」という。)が存在する。そして、これらのノード装置1e、1zから、さらに他の新たにリクエストノードとなったノード装置1a、1d、1f、1jがコンテンツデータをダウンロードするよう、後に詳述するようにルートノードが管理するものである。
このように、上述のダウンロード中ノード1e、1zは、自身がコンテンツをノード装置1hから受信するとともに、受信したコンテンツを次々に他のノード装置に配信していくようになり、コンテンツがストリーミング配信されているようであるため、このようなノード装置1e、1zを、本実施形態においては「ストリーム型コンテンツノード」という。
このようにリクエストノードのコンテンツ要求先を分散させることにより、人気コンテンツを保有するノード装置への通信の集中が防止でき、通信が途中で途切れるなど、コンテンツ情報の品質の低下が防止できるため、コンテンツ情報を要求するノード装置のユーザがコンテンツ情報をストレスなく視聴することができる。
[3.1コンテンツ配信システムの動作]
次に、コンテンツ配信システムSの動作について図9乃至図21を用いて説明する。
[3.1.1.コンテンツ配信システム全体の動作]
まず、コンテンツ配信システムS全体の動作について、図9乃至図14を参照し、例を挙げて説明する。図9および図10は、ルートノードがストリーム型コンテンツノードを選択する際の動作を説明する図である。図11乃至図14は、リクエストノードが所望のコンテンツデータを保持するコンテンツノードの所在を問い合わせる際のリクエストノード、ルートノード、コンテンツノード、ダウンロード中ノード、ストリーム型コンテンツノード、キャッシュノード間のシーケンスチャートである。
(1) コンテンツノードの通信状況が繁忙(混雑)している場合
まず、コンテンツノードの通信状況が繁忙(混雑)している場合の動作について、図9乃至図12を参照して説明する。なお、必要に応じて上述の図面を参照する。
この動作の前提として、図6、図9および図10に示すように、リクエストノードが配信を要求するコンテンツのコンテンツID(識別情報)を「30210113」、このコンテンツを記憶するコンテンツノードのIPアドレス(ノード情報)を「100.23.156.1」とする。
まず、図9および図10について説明する。図9(A)は、ルートノードが複数のリクエストノードからストリーム型コンテンツノードを選択する際に作成する情報テーブルであり、コンテンツノードの通信が繁忙し始めた瞬間に作成されるストリーム型コンテンツノードの情報テーブルを示す。図9(B)は、図9(A)の情報テーブルに対応するものであり、コンテンツノードにリクエストノードからのアクセスが集中し、コンテンツノードの通信が繁忙し始めた瞬間(もしくは通信が繁忙し始める直前)のコンテンツ配信形態を示す模式図である。
図10(A)は、図9(A)の情報テーブルが更新されたものであり、コンテンツノードの通信が繁忙し始めた後、さらに増えたリクエストノードを含めて作成されるストリーム型コンテンツノードの情報テーブルを示す。図10(B)は、図10(A)の情報テーブルに対応し、ストリーム型コンテンツノードが作成されたツリー型のコンテンツ配信形態を示す模式図である。
図9(B)に示すようにコンテンツノードにリクエストノードからのアクセスが集中してくると、ルートノードは、コンテンツノードの通信繁忙度が所定の範囲外(局所的集中が発生している)と判断し、図9(A)に示すように、複数のリクエストノードからストリーム型コンテンツノードを選択するための情報テーブルを作成する。この情報テーブルは、ルートノードが管理するコンテンツノードごとに作成され、ルートノードの記憶部12に記憶される。なお、複数のコンテンツノードのIPアドレスを記憶している場合には、複数の情報テーブルが作成される。
ルートノードは、ストリーム型コンテンツノードの情報テーブルの作成を開始すると、図9(A)に示すように、ダウンロード中ノード情報(配信中ノード情報)として、各ダウンロード中ノードのノードID、IPアドレス、各ダウンロード中ノードのクエリ送信日時の情報を取得する。図9(A)乃至図10(B)においては、この各ダウンロード中ノードについて、仮にノード番号<1>〜<7>を付している。
次いで、ルートノードは、図9(A)に示すように、受信状況情報として、DL(ダウンロード)開始日時、DL(ダウンロード)元とのHOP数、DL(ダウンロード)ステータス、想定有効帯域等の情報を取得する。ルートノードはコンテンツノードの通信繁忙時(通信繁忙度が所定の範囲外)に新規リクエストノードからのクエリを受信すると、これらの受信状況情報からストリーム型コンテンツを選択するための情報として、環境評価値、DL(ダウンロード)可能装置数、DL(ダウンロード)中装置数等を決定(推定)する。これらの環境評価値、DL可能装置数、DL中装置数等の情報を配信能力情報とする。
次いで、ルートノードは、図10(A)に示すように、配信能力情報を参照して、新規のリクエストノード(ノード番号<4>〜<7>のノード装置)に紹介すべきDL(ダウンロード)元IPアドレスを決定し、このIPアドレスを新規リクエストノードからのクエリの返答として返信する。このとき、後述のように、新規リクエストノードに知らせるDL元IPアドレスに対応するノード装置1に対し、他のノード装置1にコンテンツのダウンロードが可能か否かを問い合わせてもよい。そして、トポロジー情報としてのDL中の装置のIPアドレス、ツリー内での段数等の情報が、リクエストノードがコンテンツを受信する元のストリーム型コンテンツノード等に従って決定される。この図10(A)に示すトポロジー情報から、図10(B)に示すようなツリー型の配信形態が把握される。そして、図10(B)の状態の後、ノード番号<5>や<7>のノード装置1に、新規なリクエストノードが接続されて(図10(B)の破線の矢印と楕円欄参照)、コンテンツを配信することとなる。
ここで、図9(A)および図10(A)の情報テーブルにおける各情報について説明する。
クエリ送信日時は、ダウンロード中ノードがクエリを送信した日時を示し、ダウンロード開始日時は、ダウンロード中ノードがダウンロードを開始した日時を示す。
ダウンロード元とのHOP数は、ダウンロード中ノードからダウンロード元であるコンテンツノードまでのホップ数を示し、このホップ数はダウンロード中ノードがコンテンツノードとやり取りを行う際にIPパケット中のTTLフィールドの減少量等から取得することができる。ホップ数が小さい程、ダウンロード中ノードからコンテンツノードまでが近く、ダウンロード中ノードの受信状況が良好であることを示す。
ダウンロードステータスは、ダウンロード中ノードにおけるダウンロード済コンテンツの割合を示し、ダウンロードステータスが100%に近い程、ダウンロード中コンテンツの受信が終了に近いことを示す。リクエストノードは、ダウンロードステータスが100%に近いノード装置1(ストリーム型コンテンツノード)からコンテンツをダウンロードした方が、最後までコンテンツデータが途切れずに受信できる確率が高くなる。そのため、後述するストリーム型コンテンツノードを選択するためのポリシーにもよるが、ルートノードは、リクエストノードに返答するストリーム型コンテンツノードを選択する際に、ダウンロードステータスが100%に近いノード装置1の優先順位を上げて選択することができる。
想定有効帯域は、ダウンロード中ノードにおいて想定される通信速度をbps(bit per second)単位で表したもので、この大きさが大きい程、ダウンロード中ノードの受信状況が良好であることを示す。想定有効帯域は、ダウンロード中ノードから直接得てもよいし、上記したダウンロード開始日時とダウンロードステータスからルートノードが算出したものであってもよい。本実施形態において、想定有効帯域はダウンロード中ノードから直接得たものとし、ダウンロード中ノード自身が想定有効帯域を認識していない等、想定有効帯域の情報が得られなかった場合には、図10(A)のノード番号<4>および<6>のようにunknownで示される。
環境評価値は、ダウンロード中ノードの通信環境を評価した値であり、本実施形態においては、Aを最も良好とし、Dおよびunknownを最も良好でないとしている。環境評価値は、上述のダウンロード元とのHOP数、ダウンロードステータス、想定有効帯域等の少なくともいずれか一つから算出される。本実施形態においては、想定有効帯域のみから環境評価値を算出し、想定有効帯域20Mbps以上を環境評価値A、想定有効帯域10Mbps以上20Mbps未満を環境評価値B、想定有効帯域5Mbps以上10Mbps未満を環境評価値C、想定有効帯域5Mbps未満を環境評価値Dとし、想定有効帯域が不明なもの(unknown)は同様に環境評価値もunknownとしている。
ダウンロード可能装置数は、1台のノード装置1から同時にダウンロード可能な装置の台数を示すものであり、環境評価値に応じて推定される。ダウンロード可能装置数は、本実施形態においては、環境評価値A:4台、環境評価値B:2台、環境評価値C:1台、環境評価値Dおよび環境評価値unknown:0台、としている。ダウンロード可能装置数が1台以上のダウンロード中ノードは、ストリーム型コンテンツノードとして認定されたノード装置であり、ダウンロード可能装置数が0台のダウンロード中ノードは、ストリーム型コンテンツノードとして認定されなかったノード装置である。このようにして、ルートノードは、ネットワーク環境が良いダウンロード中ノードを他のノード装置にコンテンツを配信できる装置として一以上選択する。
ダウンロード中の装置数は、現時点で実際に該当ノード装置からコンテンツをダウンロードしているノード装置の数を示す。このダウンロード中の装置数がダウンロード可能装置数を超えないようにルートノードにおいて管理される。情報テーブルを作成し始めた時点では、図9(A)に示すようにダウンロード中の装置数はゼロであるが、リクエストノードが増えてきた後の図10(A)においては、ノード番号<1>のダウンロード中ノード装置からダウンロードしているリクエストノードが1台、ノード番号<2>のダウンロード中ノード装置からダウンロードしているリクエストノードが2台、ノード番号<5>のダウンロード中ノード装置からダウンロードしているリクエストノードが1台、となっている。
DL元IPアドレスは、当該ノード装置1がどのノード装置から直接コンテンツデータをダウンロードするのか、ダウンロードしているのか、を示すノード情報である。すなわち、DL元IPアドレスは、当該ノード装置1のツリー型の配信形態における上流に向けてのリンク情報といえる。なお、通信非繁忙時(通信繁忙度が所定の範囲内)には、ダウンロード元IPアドレスは、いずれもルートノードが管理するコンテンツノードのIPアドレス「100.23.156.1」となる。
DL中の装置のIPアドレスは、当該ノード装置1からツリー型の配信形態の下流に向けて、どのノード装置1にコンテンツを配信しているか、を示す情報である。すなわち、DL中の装置のIPアドレスは、当該ノード装置1のツリー型の配信形態における下流に向けてのリンク情報といえる。一のノード装置から複数のノード装置にコンテンツを配信する場合もあるので、DL中の装置のIPアドレスは、図10(A)のノード番号<2>のノード装置のように、複数のIPアドレスのリストとして保持する。
ツリー内での段数は、当該ノード装置1がツリー型の配信形態の何段目に位置するかを示す数字である。ツリー内での段数は、ツリー型の配信形態に新規のリクエストノードを追加する際、当該新規のリクエストノードをどの枝(ノード装置1)に接続するのが良いかを判断するときに参照される。
これらのトポロジー情報(DL元IPアドレス、DL中の装置のIPアドレス、ツリー内での段数の3つの情報)により、ツリー型の配信形態のトポロジーが把握できる。
なお、図9(A)の情報テーブルにおいては、通信が繁忙し始めた時点の情報を示しているため、DL元IPアドレスは、全てのノード装置1(ノード番号<1>〜<3>)において、コンテンツノードのIPアドレス「100.23.156.1」を示している。その後にクエリを送信した当該コンテンツに対する新規のリクエストノードは、図9(A)の情報テーブルの下欄に順次管理されていき、例えば、図10(A)で追加されたノード番号<4>のノード装置1は、ノード番号<1>のノード装置に接続するように管理した結果、当該<A>ノード装置のDL元IPアドレスは、ストリーム型コンテンツノードであるノード番号<1>のノード装置のIPアドレス「205.60.222.23」となっている。言い換えると、ノード番号<4>のノード装置がクエリを発したときに、ルートノードがクエリの返答として、ノード番号<1>のノード装置のIPアドレスを返答した結果、図10(A)の情報テーブルおよび図10(B)のツリー型の配信形態になったものである。
このように、ルートノードはツリー型の配信形態のトポロジー情報の管理もできるように情報テーブルを保持している。すなわち、どのノードがどのノードからコンテンツをダウンロードしているかという情報をルートノードがすべて把握しており、新たにリクエストノードが現れた場合、配信ツリーのどの位置に接続すべきかを紹介する事が出来る。
ここで、図9(A)、図10(A)に示す情報テーブルにおけるトポロジー情報等の各種情報は、これに限定されず、実施形態に応じて変更することができる。例えば、各ノード装置を示す記憶変数間をポインタで繋ぎ、LISPのS式を用いて (0 (1 (4)) (2 (5 (7)) (6)) (3))のような記憶形式としても良い。
また、さらにリクエストノードがもうひとつ現れた場合は、ルートノードは、図10(B)の破線で表された位置につながるようにストリーム型コンテンツノードを選んで、そのノード装置1のIPアドレスを、クエリの返答として返信する。この例では接続候補がノード番号<5>と<7>の2つあるが、どのように選択するかは、様々なポリシーが考えられ、様々な方法が可能である。
例えば、なるべくツリーをバランス良く成長させたい、というポリシーの場合は、ツリー内での段数の浅いノードから順に、DL数に余裕のあるノード(DL可能装置数とDL中装置数の差が1以上のノード)を選ぶと良い。ツリーのバランスが良くないと、極端に長い枝が出来て、その枝に含まれるノード装置1がもし脱退した場合に、多くの下流のノード装置1に影響が出るため、避けた方がよい。図9、図10の例で言うと、<6>のノードがクエリしたときに、<5>の下流も空いていたはずだが、段数の浅い<2>のほうを優先して紹介した結果、図10(A)および(B)のように接続されている。あるいは、各ノード装置1がなるべく均等に負荷を分担するようにしたい、というポリシーの場合は、DL数に余裕のあるノードのうちから余裕の最も多いノードを選ぶと良い。あるいは、ストリーミング途中での再生中断をできるだけ避けたい、というポリシーの場合は、なるべくDLステータスが100%に近いノードを選ぶと良い。
なお、図9(A)に示す「ルートノードが管理するストリーム型コンテンツノードの情報テーブル」においては、さらに時間が進んだ場合、ダウンロードが完了した(ダウンロードステータスが100%となった)ストリーム型コンテンツノードを削除して、新たなコンテンツノード(レプリカノード)として管理したり、どのストリーム型コンテンツノードからどのリクエストノードがダウンロードしているか、等を管理する情報を追加する等、ストリーム型コンテンツノードの認定を更新していくことができる。また、後述するように、コンテンツノードの通信状況が繁忙でなくなると、図9(A)、図10(A)に示す「ルートノードが管理するストリーム型コンテンツノードの情報テーブル」がルートノードの記憶部12において削除される。当該情報テーブルが削除される形態については、図17のステップS57において詳述する。
次いで、図11を参照してコンテンツノードの通信状況が繁忙(混雑)している場合のシステムSの動作を説明する。図11に示すように、リクエストノードがクエリ(コンテンツID「30210113」を含む。)を送信すると、場合によっては中間ノードを介してルートノードにクエリが転送される(1)。図5に示した例によれば、ノード装置1−1がリクエストノードとなり、ノード装置1−2、1−3、1−4が中間ノードとなり、ノード装置1−5がルートノードとなる。
クエリを受信したルートノードは、クエリに含まれるコンテンツIDを、自身が管理(記憶)しているインデックス情報の中から検索し、図6に示すようにコンテンツID「30210113」とこれに対応するコンテンツノードのIPアドレス「100.23.156.1」を記憶しているため、コンテンツノードに対して通信繁忙度を問い合わせる(2)。
そして、コンテンツノードは、自身の通信繁忙度を認定し、これに対応する通信繁忙度情報をルートノードに送信する(3)。具体的に、コンテンツノードは、図9(A)、(B)に示すように、現在3つのノード装置にコンテンツを配信中であること等を示す通信繁忙度情報を送信する。なお、コンテンツノードは、この時点で通信繁忙度が所定の範囲外である旨等の情報をルートノードに送信してもよい。
次いで、ルートノードは、受信した通信繁忙度情報に対応する通信繁忙度が所定の範囲外、すなわち、コンテンツノードが非常に混雑していると判断した場合(4)、リクエストノードのコンテンツ要求先を分散すべく、コンテンツノードに対してコンテンツ配信(受信)中のノード装置(上述のダウンロード中ノードを示す。)を問い合わせる(5)。
そして、コンテンツノードは、ダウンロード中ノードを確認し(6)、これらの各ノード装置に対応する配信中ノード情報(IPアドレス:図9(A)参照)をルートノードに送信する(7)。次いで、ルートノードは、受信した配信中ノード情報を元に、図9(A)に示すようなストリーム型コンテンツノード情報テーブルの作成を開始し(8)、受信したIPアドレスに対応するダウンロード中ノード(このときはリクエストノード)に対し、コンテンツ受信状況(クエリ日時、ダウンロード開始日時、ダウンロード元とのHOP数、ダウンロードステータス、想定有効帯域等)を問い合わせる(9)。コンテンツ受信状況を問い合わせられたダウンロード中ノードは、可能な範囲で受信状況を示す受信状況情報(図9(A)参照)をルートノードに送信する(10)。なお、「可能な範囲」としたのは、ダウンロード中ノードがコンテンツの受信状況を認識していない場合にまで受信状況情報を送らせるものではないことを示し、例えば、図10(A)に示すように、ノード番号<4>、<6>のノード装置1から想定有効帯域が得られなければ、ルートノードにおいては「unknown」と認識する。
ダウンロード中ノードから受信状況情報を得たルートノードは、想定有効帯域等から、図9(A)に示すように、ストリーム型コンテンツノードを選択するための情報を作成する。具体的には、図9(A)を用いて上述したように、環境評価値、ダウンロード可能装置数、ダウンロード中の装置数、ダウンロード元IPアドレス、ダウンロード中のノード装置1のIPアドレスのリスト、ツリー内での段数、を決定する。なお、この段階ではストリーム型コンテンツノードを決定するための処理を行っているため、この時点でのダウンロード元IPアドレスは、コンテンツノードのIPアドレスであり、ダウンロード中のIPアドレスのリストは空であり、ダウンロード中の装置数は0(ゼロ)である。
ルートノードは、これらの配信中ノード情報、受信状況情報、ストリーム型コンテンツノードを選択するための情報を、「ストリーム型コンテンツノード情報テーブル」として記憶する(図9(A))。
そして、ルートノードは、環境評価値から他の装置にコンテンツを配信できる配信中ノード装置として選択した一以上のノード装置(例えば、ノード番号<1>、<2>のノード装置1)に対し、コンテンツ情報配信が可能か問い合わせる(11)。なお、ここで、ルートノードで推定したDL可能装置数が、確度の高いものであるならば、この問い合わせは省略しても良い。あるいは逆に、確度の低い推定しか出来ない場合には、情報テーブルに環境評価値を持たない構成としても良い。
このようにして問い合わせられたダウンロード中ノードが、コンテンツ情報配信が可能とルートノードに送信した場合(12)、ルートノードは当該ノード装置をストリーム型コンテンツノードとして認定する(13)。そして、ルートノードは、ストリーム型コンテンツノードとして認定したノード装置の中からリクエストノードにIPアドレスを知らせる(送信する)ノード装置を選択する。ストリーム型コンテンツノードの選択の仕方については、上述のトポロジー情報について説明した通りである。
ルートノードは、選択されたストリーム型コンテンツノードのIPアドレスをコンテンツ要求先とし、リクエストノードにクエリへの返信として送信する(14)。なお、ルートノードは、一のストリーム型コンテンツノードに対して所定の数(上述のダウンロード可能装置数)以下のリクエストノード(クエリの送信元のノード装置)に、当該ストリーム型コンテンツノードのIPアドレスを送信することが好ましい。このことにより、ストリーム型コンテンツノードの通信状況が混雑し、通信がとぎれたり、エラーが発生することにより、コンテンツの品質が低下することが防止される。その結果、コンテンツの配信を希望する複数のユーザのノード装置において、希望のコンテンツをストレスなく高品質に入手して視聴することが可能となる。
コンテンツ要求先のIPアドレスを受信したリクエストノードは、当該IPアドレスに対応するストリーム型コンテンツノードに対し、コンテンツ要求(本発明の共用情報要求情報)を送信する(15)。当該コンテンツ要求を受けたストリーム型コンテンツノードは、コンテンツ要求の送信元のリクエストノードに対し、コンテンツの配信を開始する(16)。このようにして、コンテンツ配信システムSは、一時的に図10(B)に示すようないわゆるツリー型の通信形態となり、コンテンツノードにおける通信の混雑が緩和される。なお、新たなリクエストノードがストリーム型コンテンツノードからのコンテンツのダウンロードを開始すると、ルートノードは、図9(A)および図10(A)に示すノード装置1を増やし、配信能力情報やトポロジー情報、受信状況情報のDLステータス等を更新していく。
また、ストリーム型コンテンツノードをルートノードが選択すると(13)、「ストリーム型コンテンツノードを示すIPアドレスをクエリの送信元のリクエストノードに送信すべき旨」の通信繁忙時指示情報をルートノードがキャッシュノードに対して送信する(17)。このとき、図6に示すように、ルートノードにはコンテンツノードの公開メッセージが転送されてくる際に併せてキャッシュノードのIPアドレスが転送されてくるので、ルートノードは、当該IPアドレスに対応する全てのキャッシュノードに通信繁忙時指示情報を送信する。
その後、リクエストノードがクエリを送信し、中間ノードを介してキャッシュノードにクエリが転送された場合(18)、キャッシュノードは、コンテンツ要求先としてストリーム型コンテンツノードを示すIPアドレスを、クエリの送信元のリクエストノードに送信する(19)。
コンテンツ要求先のIPアドレスを受信したリクエストノードは、当該IPアドレスに対応するストリーム型コンテンツノードに対し、コンテンツ要求を送信する(20)。当該コンテンツ要求を受けたストリーム型コンテンツノードは、コンテンツ要求の送信元のリクエストノードに対し、コンテンツの配信を開始する(21)。
次いで、図12を参照してコンテンツノードの通信状況が繁忙(混雑)している場合のシステムSの他の動作を説明する。図12は、ルートノードよりも先にキャッシュノードがコンテンツノードに通信繁忙度を問い合わせて、受信した通信繁忙度情報に対応する通信繁忙度が所定の範囲外、すなわち、コンテンツノードが非常に混雑していると判断した場合の動作を示す。なお、以下においては、図11を用いて説明した事項と同様の事項については省略して説明する。
図12に示すように、リクエストノードがクエリを送信すると、場合によっては中間ノードを介してキャッシュノードにクエリが転送される(31)。
クエリを受信したキャッシュノードは、クエリに含まれるコンテンツIDを、自身が管理(記憶)しているインデックス情報の中から検索し、自身がキャッシュノードであることを判断し、コンテンツノードに対して通信繁忙度を問い合わせる(32)。
そして、コンテンツノードは、自身の通信繁忙度を認定し、これに対応する通信繁忙度情報をキャッシュノードに送信する(33)。キャッシュノードは、受信した通信繁忙度情報に対応する通信繁忙度が所定の範囲外、すなわち、コンテンツノードが非常に混雑していると判断した場合(34)、通信繁忙度が所定の範囲外である旨の通信繁忙時報告情報をルートノードに送信する(35)。キャッシュノードがルートノードに通信繁忙時報告情報を送信する際には、クエリが転送されるのと同様の手順で送信される。
そして、ルートノードにおいては、図11に示した通信繁忙度が所定の範囲外であると自身で判断したときの(4〜13)と同様に、ストリーム型コンテンツノード情報テーブルを作成し(36〜44)、ストリーム型コンテンツノードとなるノード装置を選択し、上述の(17)と同様の通信繁忙時指示情報をキャッシュノードに送信する(45)。
そして、キャッシュノードは、指示されたストリーム型コンテンツノードのIPアドレスをコンテンツ要求先としてリクエストノードに送信する(46)。
コンテンツ要求先のIPアドレスを受信したリクエストノードは、当該IPアドレスに対応するストリーム型コンテンツノードに対し、コンテンツ要求を送信する(47)。当該コンテンツ要求を受けたストリーム型コンテンツノードは、コンテンツ要求の送信元のリクエストノードに対し、コンテンツの配信を開始する(48)。
一方、キャッシュノードは、指示されたストリーム型コンテンツノードのIPアドレスをコンテンツ要求先としてリクエストノードに送信すると(46)、そのことを示す送信済情報をルートノードに送信する(49)。
送信済情報を受信したルートノードは、そのIPアドレスに対応するストリーム型コンテンツノードから一台のリクエストノードがコンテンツダウンロード中であることを考慮して、ストリーム型コンテンツノード情報テーブルを更新する(50)。ここでは、ダウンロード中の装置数やダウンロード中の装置のIPアドレスの情報等を更新し、ツリー型の通信形態に参加しているノード装置1を新たにストリーム型コンテンツノードとして情報テーブルに追加登録し、ツリー型の通信形態におけるトポロジー情報の更新を行う。
なお、情報テーブルの更新について、上述のようにキャッシュノードがリクエストノードからのクエリに返答した段階でトポロジー情報を更新するのではなく、リクエストノードが実際にコンテンツノードからデータを受け取り始めようとしたときに情報テーブルを更新することがより好ましい。この場合、クエリだけ送信して実際にはコンテンツのダウンロードを開始しないリクエストノードがあった場合に、ルートノードが情報テーブルをより正確に保持できることとなる。このような形態とする場合には、図12における(49)の処理の代わりに、リクエストノードからルートノードに対して「あるストリーム型コンテンツノードからコンテンツのダウンロードを開始した」旨の報告情報を送信することになる。
このように、キャッシュノードがルートノードと同様にストリーム型コンテンツノードをリクエストノードに知らせることにより、特にコンテンツデータを保持しているノード装置が複数ある場合に、ルートノードにクエリが集中して転送され、ルートノードにおいて処理が滞ることを防止できる。
(2) コンテンツノードの通信状況が繁忙(混雑)していない場合
次いで、コンテンツノードの通信状況が繁忙(混雑)していない場合の動作について、図13、図14を参照して説明する。なお、必要に応じて上述の図面を参照する。
図13に示すように、リクエストノードがクエリを送信すると、場合によっては中間ノードを介してルートノードにクエリが転送される(51)。
クエリを受信したルートノードは、クエリに含まれるコンテンツIDを、自身が管理(記憶)しているインデックス情報の中から検索し、自身がルートノードであることを判断し、コンテンツノードに対して通信繁忙度を問い合わせる(52)。
そして、コンテンツノードは、自身の通信繁忙度を認定し、これに対応する通信繁忙度情報をルートノードに送信する(53)。ルートノードは、受信した通信繁忙度情報に対応する通信繁忙度が所定の範囲内、すなわち、コンテンツノードが空いていると判断した場合(54)、上述のストリーム型コンテンツノード情報テーブルが作成されている場合にはこのテーブルを削除して、通常と同様にコンテンツノードのIPアドレスをコンテンツ要求先としてクエリ送信元のリクエストノードに送信する(55)。
コンテンツ要求先のIPアドレスを受信したリクエストノードは、当該IPアドレスに対応するコンテンツノードに対し、コンテンツ要求を送信する(56)。当該コンテンツ要求を受けたコンテンツノードは、コンテンツ要求の送信元のリクエストノードに対し、コンテンツの配信を開始する(57)。
また、通信繁忙度が所定の範囲内であるとルートノードが判断すると(54)、「コンテンツノードを示すIPアドレスをクエリの送信元のリクエストノードに送信すべき旨」の非通信繁忙時指示情報をルートノードがキャッシュノードに対して送信する(58)。
その後、リクエストノードがクエリを送信し、中間ノードを介してキャッシュノードにクエリが転送された場合(59)、キャッシュノードは、コンテンツ要求先としてコンテンツノードを示すIPアドレスを、クエリの送信元のリクエストノードに送信する(60)。
コンテンツ要求先のIPアドレスを受信したリクエストノードは、当該IPアドレスに対応するコンテンツノードに対し、コンテンツ要求を送信する(61)。当該コンテンツ要求を受けたコンテンツノードは、コンテンツ要求の送信元のリクエストノードに対し、コンテンツの配信を開始する(62)。
次いで、図14を参照してコンテンツノードの通信状況が繁忙(混雑)していない場合のシステムSの他の動作を説明する。図14は、ルートノードよりも先にキャッシュノードがコンテンツノードに通信繁忙度を問い合わせて、受信した通信繁忙度情報に対応する通信繁忙度が所定の範囲内、すなわち、コンテンツノードが空いてきたことを判断した場合の動作を示す。
図14に示すように、リクエストノードがクエリを送信すると、場合によっては中間ノードを介してキャッシュノードにクエリが転送される(71)。
クエリを受信したキャッシュノードは、クエリに含まれるコンテンツIDを、自身が管理(記憶)しているインデックス情報の中から検索し、自身がキャッシュノードであることを判断し、コンテンツノードに対して通信繁忙度を問い合わせる(72)。
通信繁忙度を問い合わせられたコンテンツノードは、自身の通信繁忙度を認定し、これに対応する通信繁忙度情報をキャッシュノードに送信する(73)。キャッシュノードは、受信した通信繁忙度情報に対応する通信繁忙度が所定の範囲内、すなわち、コンテンツノードが空いていると判断した場合(74)、通信繁忙度が所定の範囲内である旨の非通信繁忙時報告情報をルートノードに送信する(75)。
そして、キャッシュノードは、コンテンツ要求先としてコンテンツノードを示すIPアドレスを、クエリの送信元のリクエストノードに送信する(76)。
コンテンツ要求先のIPアドレスを受信したリクエストノードは、当該IPアドレスに対応するコンテンツノードに対し、コンテンツ要求を送信する(77)。当該コンテンツ要求を受けたコンテンツノードは、コンテンツ要求の送信元のリクエストノードに対し、コンテンツの配信を開始する(78)。
一方、非通信繁忙時報告情報を受信したルートノードにおいては(75)、上述のストリーム型コンテンツノード情報テーブルが作成されている場合には、このテーブルを削除して、上述と同様の非通信繁忙時指示情報をキャッシュノードに送信する(79)。このとき、ルートノードは、上述の非通信繁忙時報告情報の送信元のキャッシュノード以外のキャッシュノードのみに当該非通信繁忙時指示情報を送付してもよい。
[3.1.2.各ノードの動作]
次に、リクエストノードがコンテンツ要求を行う際のそれぞれのノードで行なわれる処理について詳細に説明するが、上述したように、コンテンツ配信システムSに含まれる全てのノード装置1は、リクエストノード、キャッシュノード、ルートノード、コンテンツノード、ダウンロード中ノード、ストリーム型コンテンツノード、経路上の中間ノード或いはその他のノード等、何れのノード装置にもなり得る。
例えば、ユーザがノード装置1に備えられた入力部21を操作することによって、所望のコンテンツデータの所在の問い合わせが指示されると、当該ノード装置1がクエリを送信するリクエストノードして機能する。また、当該リクエストノードからクエリを受信しコンテンツデータの所在の問い合わせがされたノード装置1は、自身の記憶部12に記憶したインデックス情報に当該コンテンツの情報(ノードIDおよびこれに対応するIPアドレス)が在る場合にはキャッシュノード或いはルートノードとして機能する。なお、自身がキャッシュノードであるかルートノードであるか、については、[1.4.コンテンツデータの登録方法]において説明したように、問い合わせをされたコンテンツIDが自己のノードIDと最も近いかどうか(ルーティングテーブルを見て他に転送先がないかどうか)という判断で、各ノード装置1において認識される。また、自身が当該コンテンツを保持している場合にはコンテンツノードとして機能する。さらに、リクエストノードであるノード装置1は、コンテンツをダウンロード中である場合にはダウンロード中ノードとして機能し、そのときダウンロード中であるコンテンツを他のノード装置1へ配信することとなった場合には、当該ノード装置1はストリーム型コンテンツノードとして機能する。
以下に、それぞれのノードとして機能する際にノード装置1で行なわれる処理について図15乃至図21を用いて詳細に説明する。
まず、図15を用いて、ノード装置1が受けたメッセージ(または入力処理)により、制御部11がどのような処理を行うか、リクエストノード等のどのノード装置の役割を担うか、について説明する。図15は、ノード装置1におけるメッセージ解析処理を示すフローチャートである。
ノード装置1の制御部11は、電源が入れられたことを認識すると(電源オン:ステップS1)、ノード装置1の表示部16におけるUI表示等やポートの設定を初期化し(ステップS2)、電源が切られたか否か?(電源オフか?)の判断を行う(ステップS3)。通常は電源が急に切られないため、制御部11は電源が切られていないと判断し(ステップS3NO)、入力部21からのコンテンツの視聴要求の入力があったか否かを判断する(ステップS4)。制御部11が入力部21からの「コンテンツの視聴要求の入力」があったと判断した場合には(ステップS4YES)、ノード装置1はリクエストノードとして動作し、クエリ送信処理を行う(ステップS5)。なお、リクエストノードはその後ダウンロード中ノードとなり、また、ストリーム型コンテンツノードとなる場合がある。
一方、制御部11が入力部21からの「コンテンツの視聴要求の入力」がなかったと判断した場合には(ステップS4NO)、制御部11が通信部20からメッセージを受信したか否かを判断する(ステップS6)。制御部11が通信部20からメッセージを受信していないと判断した場合には(ステップS6NO)、ステップS3に戻り、制御部11が通信部20からメッセージを受信したと判断した場合には(ステップS6YES)、通信部20から受信したメッセージを解析する(ステップS7)。
制御部11が解析したメッセージが「クエリ」であった場合には、ノード装置1がそのクエリに含まれるコンテンツIDに対応するIPアドレスを記憶しているか否か、からノード装置1自身がルートノードまたはキャッシュノードであるか否かを判断する(ステップS8)。クエリに含まれるコンテンツIDに対応するIPアドレスを記憶していない場合には、ノード装置1はそのコンテンツのルートノードおよびキャッシュノードでないため、制御部11はそのように判断し(ステップS8NO)、受信したクエリを転送する処理を行う(ステップS9)。クエリを転送する処理は、上述の通りである。
クエリに含まれるコンテンツIDに対応するIPアドレスを記憶している場合には、ノード装置1の制御部11は、問い合わせられたコンテンツIDが自己のノードIDと最も近いか否か(ルーティングテーブルを参照して他に転送先がないかどうか)という判断から、そのコンテンツのルートノードであるか、キャッシュノードであるか、を判断する(ステップS8)。これより制御部11が、問い合わせられたコンテンツIDが自己のノードIDと最も近く、自身が当該コンテンツIDのルートノードであると判断した場合には(ステップS8ルートノード)、コンテンツノード(ストリーム型コンテンツノードを含む)のノード情報であるIPアドレスを送信するための処理(1)を行う(ステップS10)。一方、ステップS8において、ノード装置1の制御部11は、問い合わせられたコンテンツIDが自己のノードIDと最も近くなく、他に転送先があるため、自身が当該コンテンツIDのキャッシュノードであると判断した場合には(ステップS8キャッシュノード)、コンテンツノード(ストリーム型コンテンツノードを含む)のノード情報であるIPアドレスを送信するための処理(2)を行う(ステップS11)。
制御部11が解析したメッセージが「指示情報」であった場合には、ノード装置1はキャッシュノードまたはその他のノード装置1として動作し、指示情報対応処理を行う(ステップS12)。制御部11が解析したメッセージが「報告情報」であった場合には、ノード装置1はルートノード、キャッシュノードまたはその他のノード装置1として動作し、報告情報対応処理を行う(ステップS13)。
制御部11が解析したメッセージが「コンテンツ要求(共用情報要求情報)」であった場合には、ノード装置1はコンテンツノードまたはストリーム型コンテンツノードとして動作し、コンテンツ配信処理(ステップS14)を行う。
これらの各ステップS5、S9〜S14の後、ノード装置1の制御部11は、ステップS3の処理に戻る。制御部11は、再度電源が切られたか否か?の判断を行い(ステップS3)、ノード装置1の電源が切られた場合には、制御部11は電源が切られたと判断し(ステップS3YES)、この処理を終了する(エンド)。
以下に各ノード装置1の処理について説明する。
[3.1.2.1.リクエストノードの処理]
図16を用いてリクエストノードの処理およびリクエストノードがダウンロード中ノード、ストリーム型コンテンツノードになる処理(上述のステップS5)について説明する。図16は、リクエストノードの制御部11に記憶されたプログラムが当該制御部11により実行されることにより行われる処理を示すフローチャートである。
ユーザが入力部21を操作することにより、コンテンツのタイトル等を入力し、所望のコンテンツデータの所在の問い合わせが行われると(ステップS5:スタート)、このことを認識した制御部11は、当該コンテンツのタイトル等をハッシュ化して当該コンテンツデータを示すコンテンツID(共用情報に対応する固有の識別情報)を生成すると共に、当該生成されたコンテンツIDを含むクエリを、記憶部12に記憶したルーティングテーブルを参照して他のノード装置1に送信する(ステップS21)。当該他のノード装置1の選択手法は、上述した「1−3コンテンツデータの検索方法」にて詳細に説明した手法に拠る。
次に、ルートノード或いはキャッシュノードからコンテンツノードのIPアドレス情報(ノード情報)を受信すると(ステップS22)、当該IPアドレス情報により特定されるコンテンツノードに対してコンテンツ要求情報を送信し(ステップS23)、コンテンツを受信する(ステップS24)。このとき、このノード装置1はダウンロード中ノードとなる。次いで、コンテンツ受信が完了したかを判断し(ステップS25)、このままコンテンツ受信が完了すると(ステップS25YES)、受信(ダウンロード)したコンテンツの再生処理を行い(ステップS26)、ルートノードへレプリカノード(実際にはコンテンツノードと同様のコンテンツを保持しているため、コンテンツノードと区別されない)として登録し(ステップS27)、処理を終了する(エンド)。
他方、ステップS25においてコンテンツ受信が完了していない場合には(ステップS25NO)、制御部11はルートノードから受信状況の問い合わせがあったか否かを判断し(ステップS28)、受信状況の問い合わせがない場合には(ステップS28NO)、ステップS25に戻ってS25とS28の判断を繰り返しながらコンテンツ受信を続ける。
また、受信状況の問い合わせがあった場合には(ステップS28YES)、制御部11は、問い合わせられた受信状況の情報を問い合わせ元のルートノードに送信する(ステップS29)。次いで、「他のノード装置に現在受信中のコンテンツの配信が可能か」の問い合わせがあったか否かを判断し(ステップS30)、「コンテンツ配信が可能か」の問い合わせがない場合には、制御部11はそのように判断し(ステップS30NO)、コンテンツの受信が完了するまで受信を続け(ステップS31)、上述のステップS26に進む。
一方、「コンテンツ配信が可能か」の問い合わせがあった場合には、制御部11はそのように判断し(ステップS30YES)、さらに、他のノード装置1にコンテンツを配信できる環境にあるか否かを判断する(ステップS32)。
制御部11が他のノード装置1にコンテンツを配信できる環境にあると判断した場合には(ステップS32YES)、他のノード装置1にコンテンツを配信できる旨のメッセージを問い合わせ元のルートノードに送信し(ステップS33)、上述のステップS31に進む。他方、制御部11が他のノード装置にコンテンツを配信できる環境にないと判断した場合には(ステップS32NO)、他のノード装置にコンテンツを配信できない旨のメッセージを問い合わせ元のルートノードに送信し(ステップS34)、上述のステップS31に進む。そして、ステップS31においてコンテンツの受信が完了した場合には、上記と同様に、ダウンロードしたコンテンツの再生処理を行い(ステップS26)、ルートノードへレプリカノード(実際にはコンテンツノードと同様のコンテンツを保持しているため、コンテンツノードと区別されない)として登録し(ステップS27)、この処理を終了する(エンド)。
[3.1.2.2.ルートノードの処理]
図17および図18を用いてルートノードの処理(上述のステップS10およびステップS13)について説明する。図17および図18は、ルートノードの制御部11に記憶されたプログラムが当該制御部11により実行されることにより行われる処理を示すフローチャートである。
まず、図17を用いてルートノードが記憶するコンテンツIDとIPアドレスの組み合わせにおけるコンテンツIDと同一のコンテンツIDを含むクエリをルートノードが受信した場合の処理を説明する。
ルートノードの制御部11は、クエリが転送されて当該クエリに含まれるコンテンツIDから、問い合わせられたコンテンツIDが自己のノードIDと最も近く、転送先がないために自身が当該コンテンツIDのルートノードであると判断し(ステップS8ルートノード)、コンテンツノードのIPアドレスを送信するための処理(1)を開始する(ステップS10:スタート)。
まず、制御部11は、クエリに含まれるコンテンツIDに対応するIPアドレスを検索して、コンテンツノードに通信繁忙度を問い合わせる(ステップS41)。次いで、制御部11はコンテンツノードから受信した通信繁忙度情報から通信繁忙度が所定範囲内か否かを判断する(ステップS42)。制御部11は、コンテンツノードの通信状況が著しく混雑しており、通信繁忙度が所定範囲外と判断すると(ステップS42NO)、再度コンテンツノードへコンテンツを配信中のノード装置(上述のダウンロード中ノード)を問い合わせる(ステップS43)。
制御部11は、コンテンツノードからコンテンツダウンロード中ノードを示す配信中ノード情報(IPアドレス)を受信すると(ステップS44)、ストリーム型コンテンツノード情報テーブルの作成を開始し、当該IPアドレスに対応するノード装置(ダウンロード中ノード)に対し、コンテンツの受信状況を問い合わせる(ステップS45)。
次いで、制御部11は、コンテンツの受信状況の情報(各ダウンロード中ノードのクエリ送信日時、ダウンロード開始日時、ダウンロード元IPアドレス、ダウンロード元とのHOP数、ダウンロードステータス、想定有効帯域等の情報)を各ダウンロード中ノードから受信すると(ステップS46)、この受信状況の情報に基づいて、ストリーム型コンテンツノードを選択するための情報(環境評価値、ダウンロード可能装置数、ツリー分岐段数、新ダウンロード元IPアドレス、ダウンロード中の装置数)を決定する(ステップS47)。なお、現時点では、ダウンロード元IPアドレスは元のコンテンツノードのIPアドレスであり、ダウンロード中の装置数は0(ゼロ)である。
これらのストリーム型コンテンツノードを選択するための情報は、図9(A)を用いて上述したとおりであり、制御部11は、この中から環境評価値がA,B又はCでありストリーム型コンテンツノードとなることが可能と判断されるダウンロード中ノードがあるか否かを判断する(ステップS48)。このとき、制御部11は、環境評価値がA,B又はCでありストリーム型コンテンツノードとなることが可能と判断されるダウンロード中ノードがあると判断すると(ステップS48YES)、そのようなダウンロード中ノードに対して「他のノード装置に現在受信中のコンテンツを配信することが可能か?」問い合わせる(ステップS49)。
一方、制御部11は、環境評価値がA,B又はCでありストリーム型コンテンツノードとなることが可能と判断されるダウンロード中ノードがないと判断すると(ステップS48NO)、ステップS43に戻り、ステップS44からS47を経て再度ストリーム型コンテンツノードとなることが可能であるリクエストノードを選択する。
次いで、ルートノードの制御部11は、問い合わせの送信先の1以上のリクエストノードから、上述のステップS33のように「他のノード装置へコンテンツ配信が可能である」またはステップS34のように「他のノード装置へコンテンツ配信が可能でない」というメッセージを受信し(ステップS50)、「他のノード装置へコンテンツ配信が可能である」というメッセージの送信元のダウンロード中ノードをストリーム型コンテンツノードとして認定する(ステップS51)。
次いで、制御部11は、コンテンツ要求先として認定したストリーム型コンテンツノードの中から、クエリを受信しているリクエストノードのコンテンツ要求先として、一または複数のノード装置1を選択し(ステップS52)、選択したノード装置1のIPアドレスを当該リクエストノードへ送信する(ステップS53)。このとき、制御部11は、ツリー型の通信形態のトポロジーがバランス良く成長するように(または、ストリーム型コンテンツノードを選択するための所定のポリシーに合致するように)ストリーム型コンテンツノードを選択して、リクエストノードに知らせるようにする。次いで、制御部11は、「ストリーム型コンテンツノードを示すIPアドレスをクエリの送信元のリクエストノードに送信すべき旨」の通信繁忙時指示情報をキャッシュノードに送信し(ステップS54)、処理を終了する(エンド)。
一方、ステップS42において、制御部11は、コンテンツノードの通信状況が比較的空いており、通信繁忙度が所定範囲内と判断すると(ステップS42YES)、制御部11は、クエリを受信しているリクエストノードのコンテンツ要求先として、通常のコンテンツノードの中から一または複数のノード装置1を選択し(ステップS55)、選択したノード装置1のIPアドレスを当該リクエストノードへ送信する(ステップS56)。
また、制御部11は、上述のストリーム型コンテンツノード情報テーブルが作成されている場合にはこのテーブルを削除するための処理を行う(ステップS57)。具体的には、コンテンツノードが繁忙でなくなっても、依然としてツリー型の通信形態でコンテンツのダウンロードが行われている可能性が高い。そのため、ルートノードが情報テーブルを削除する際に、ツリー型の通信形態でコンテンツをダウンロードしているリクエストノードが有る場合には、コンテンツノードからコンテンツを直接ダウンロードするように接続を変更すべき旨の指示情報を当該リクエストノードに送信することが一例として挙げられる。
また、ルートノードが情報テーブルを削除する際に、ツリー型の通信形態でコンテンツをダウンロードしているリクエストノードにはそのままダウンロードを続けさせ、当該リクエストノードのダウンロードが全て終わるまでは、情報テーブルを保持しておくことが一例として挙げられる。なお、情報テーブルを保持していても、通信繁忙度が所定範囲内であることを認識した後は(ステップS42)、情報テーブルに新たな情報を追加せずに、ダウンロードが終了したリクエストノードの情報から順に情報テーブルから削除していき、全部のリクエストノードが情報テーブルから削除されたら、情報テーブル自体を削除する。なお、ストリーム型コンテンツノード情報テーブルが作成されていない場合には、制御部11は速やかにステップS58の処理に進む。
次いで、制御部11は、「コンテンツノードを示すIPアドレスをクエリの送信元のリクエストノードに送信すべき旨」の非通信繁忙時指示情報を、キャッシュノードに送信し(ステップS58)、処理を終了する(エンド)。
なお、図17には明記していないが、キャッシュノードがリクエストノードにストリーム型コンテンツノードのIPアドレスを送信することをきっかけとして、ルートノードが送信済情報を受信することとなる(後述のステップS87)。この送信済情報により、ルートノードはどのリクエストノードがどのストリーム型コンテンツノードにコンテンツを要求するかを認識することができる。そのため、自身がリクエストノードに知らせたストリーム型コンテンツノードの情報の他、この送信済情報を元に情報テーブルを更新することができる。
次いで、図18を参照してノード装置1が通信繁忙時報告情報または非通信繁忙時報告情報等の報告情報を受信した場合(図15におけるステップS13)のノード装置1の動作について説明する。
制御部11は、他のノード装置1から報告情報を受信すると、報告情報対応処理を開始する(ステップS13:スタート)。まず、制御部11は、通信繁忙時報告情報を受信したか否かを判断する(ステップS61)。制御部11が通信繁忙時報告情報を受信したと判断すると(ステップS61YES)、コンテンツノードへコンテンツを配信中のノード装置(上述のダウンロード中ノード)を問い合わせる(ステップS62)。このステップS62は上述の図17におけるステップS43と同様である。また、この後のステップS63〜ステップS70も、図17におけるステップS44〜ステップS51と同様である。このようにしてリクエストノードのコンテンツ要求先としてストリーム型コンテンツノードとなるノード装置を認定し、「ストリーム型コンテンツノードを示すIPアドレスをクエリの送信元のリクエストノードに送信すべき旨」の通信繁忙時指示情報をキャッシュノードに送信し(ステップS71)、処理を終了する(エンド)。
一方、ステップS61において、制御部11が通信繁忙時報告情報を受信していないと判断すると(ステップS61NO)、次いで非通信繁忙時報告情報を受信したか否かを判断する(ステップS72)。制御部11が非通信繁忙時報告情報を受信したと判断すると(ステップS72YES)、上述のストリーム型コンテンツノード情報テーブルが作成されている場合には、上述のステップS57と同様に、このテーブルを削除するための処理を行い(ステップS73)、「コンテンツノードを示すIPアドレスをクエリの送信元のリクエストノードに送信すべき旨」の非通信繁忙時指示情報をキャッシュノードに送信し(ステップS74)、処理を終了する(エンド)。
また、ステップS72において、制御部11が非通信繁忙時報告情報を受信していないと判断すると(ステップS72NO)、他の報告情報を受信しているため、当該報告情報に対応する処理を行い(ステップS75)、処理を終了する(エンド)。
なお、図示しないが、ルートノードが通信繁忙時指示情報や非通信繁忙時指示情報を送信した後、クエリを受信した場合には、図17を用いて説明したように動作してもよいし、予め定められた一定の間は自ら送信した指示情報に従って、クエリの送信元のリクエストノードにIPアドレスを返信することとしてもよい。
[3.1.2.3.キャッシュノードの処理]
図19および図20を用いてキャッシュノードの処理(上述のステップS11およびステップS12)について説明する。図19および図20は、キャッシュノードの制御部11に記憶されたプログラムが当該制御部11により実行されることにより行われる処理を示すフローチャートである。
まず、図19を用いてキャッシュノードが記憶するコンテンツIDとIPアドレスの組み合わせにおけるコンテンツIDと同一のコンテンツIDを含むクエリをキャッシュノードが受信した場合の処理を説明する。
キャッシュノードの制御部11は、クエリが転送されて当該クエリに含まれるコンテンツIDから、問い合わせられたコンテンツIDが自己のノードIDと最も近くなく、他に転送先があるため、自身が当該コンテンツIDのキャッシュノードであると判断し(ステップS8キャッシュノード)、コンテンツノードのIPアドレスを送信するための処理を開始する(ステップS11:スタート)。
制御部11は、クエリに含まれるコンテンツIDに対応するIPアドレスを検索して、コンテンツノードに通信繁忙度を問い合わせる(ステップS81)。次いで、制御部11はコンテンツノードから受信した通信繁忙度情報から通信繁忙度が所定範囲内か否かを判断する(ステップS82)。制御部11は、コンテンツノードの通信状況が著しく混雑しており、通信繁忙度が所定範囲外と判断すると(ステップS82NO)、ルートノードへ「通信繁忙度が所定の範囲外である旨」の通信繁忙時報告情報を送信する(ステップS83)。
次いで、キャッシュノードの制御部11は、「ストリーム型コンテンツノードを示すIPアドレスをクエリの送信元のリクエストノードに送信すべき旨」の通信繁忙時指示情報を受け取り(ステップS84)、当該指示情報に含まれるストリーム型コンテンツノードに対応するIPアドレスを、クエリを受信しているリクエストノードのコンテンツ要求先として選択し(ステップS85)、選択したノード装置1のIPアドレスを当該リクエストノードへ送信する(ステップS86)。次いで、制御部11は、「リクエストノードにストリーム型コンテンツノードのIPアドレスを送信した旨」の送信済情報をルートノードに送信し(ステップS87)、処理を終了する(エンド)。なお、送信済情報は、どのリクエストノードにどのストリーム型コンテンツノードのIPアドレスを知らせたか、を含む情報とする。
一方、ステップS82において、制御部11は、コンテンツノードの通信状況が比較的空いており、通信繁忙度が所定範囲内と判断すると(ステップS82YES)、「通信繁忙度が所定の範囲内である旨」の非通信繁忙時報告情報をルートノードに送信し(ステップS88)、クエリを受信しているリクエストノードのコンテンツ要求先として、通常のコンテンツノードの中から一または複数のノード装置1を選択し(ステップS89)、選択したノード装置1のIPアドレスを当該リクエストノードへ送信し(ステップS90)、処理を終了する(エンド)。
次いで、図20を参照してノード装置1が通信繁忙時指示情報または非通信繁忙時指示情報等の指示情報を受信した場合(図15におけるステップS12)のノード装置1の動作について説明する。
制御部11は、他のノード装置1から指示情報を受信すると、指示情報対応処理を開始する(ステップS12:スタート)。まず、制御部11は、通信繁忙時指示情報を受信したか否かを判断する(ステップS91)。制御部11が通信繁忙時指示情報を受信したと判断すると(ステップS91YES)、当該指示情報に含まれるストリーム型コンテンツノードのIPアドレスを、クエリを受信した場合に返信する情報として記憶して(ステップS92)、処理を終了する(エンド)。
一方、ステップS91において、制御部11が通信繁忙時指示情報を受信していないと判断すると(ステップS91NO)、次いで非通信繁忙時指示情報を受信したか否かを判断する(ステップS93)。制御部11が非通信繁忙時指示情報を受信したと判断すると(ステップS93YES)、クエリを受信した場合に通常のコンテンツノードのIPアドレスを返信することを記憶して(ステップS94)、処理を終了する(エンド)。
また、ステップS93において、制御部11が非通信繁忙時指示情報を受信していないと判断すると(ステップS93NO)、他の指示情報を受信しているため、当該指示情報に対応する処理を行い(ステップS95)、処理を終了する(エンド)。
なお、図示しないが、キャッシュノードが通信繁忙時指示情報や非通信繁忙時指示情報を受信した後、クエリを受信した場合には、図19を用いて説明したように動作してもよいし、予め定められた一定の間は受信した指示情報に従って、クエリの送信元であるリクエストノードにIPアドレスを返信することとしてもよい。
[3.1.2.4.コンテンツノードおよびストリーム型コンテンツノードの処理]
図21を用いてコンテンツノードおよびストリーム型コンテンツノードのコンテンツ配信処理(上述のステップS14)について説明する。図21は、リクエストノードの制御部11に記憶されたプログラムが当該制御部11により実行されることにより行われる処理を示すフローチャートである。
コンテンツノードまたはストリーム型コンテンツノードの制御部11は、リクエストノードからコンテンツ要求を受信したことを認識すると、コンテンツ配信処理を開始する(ステップS14:スタート)。
制御部11は、リクエストノードからコンテンツ要求を受信すると、当該コンテンツ要求の送信元のリクエストノードに対してコンテンツ配信を開始し(ステップS101)、コンテンツ配信中のリクエストノードのIPアドレスをダウンロード中ノードの配信中ノード情報として記憶する(ステップS102)。この記憶した配信中ノード情報は、ルートノードからコンテンツノードに、ダウンロード中ノードについて問い合わせがあったときに、ルートノードに送信する。
そして、制御部11は、コンテンツ配信を続け(ステップS103)、コンテンツ配信が完了したか否かを判断し(ステップS104)、コンテンツ配信が完了するまでは(ステップS104NO)、コンテンツ配信を続け(ステップS103)、コンテンツ配信が完了したことを判断すると(ステップS104YES)、処理を終了する(エンド)。
コンテンツノードとストリーム型コンテンツノードのコンテンツ配信動作は上述のフローチャートにて説明したように同様であるが、ストリーム型コンテンツノードは、コンテンツ配信開始時に、他のコンテンツノードからコンテンツを受信中である点で異なる。
なお、図示しないが、コンテンツノードは、ルートノードやキャッシュノードから通信繁忙度を問い合わせられると、コンテンツノード自身の通信繁忙度を認定して、問い合わせ元のノード装置に通信繁忙度情報を送信する。
[4.変形形態]
本実施形態においては、コンテンツノードにおける他のノード装置(リクエストノード)との通信の局所的集中の程度を示す通信繁忙度を認定するために、ルートノードやキャッシュノードがコンテンツノードに通信状況を直接問い合わせているが、この実施形態に限定されない。以下に通信繁忙度が所定の範囲外、所定の範囲内、について説明するように、ルートノードやキャッシュノードが一定時間あたりに一のコンテンツノードのIPアドレスを送信した数(コンテンツのIPアドレス送信数)や、ルートノードやキャッシュノードがリクエストノードから一定時間あたりにクエリを受信した数(クエリ受信数)等を基準に通信繁忙度を認定することもできる。
また、ルートノードやキャッシュノードは、上述のコンテンツのIPアドレス送信数やクエリ受信数が所定値以上となった場合に初めてコンテンツノードに通信状況を問い合わせる形態とすることもできる。この場合、通信数が減るためにコンテンツ配信システムSにおける負荷が低減される。
ここで、「通信繁忙度が所定の範囲外」については、コンテンツノードの通信の局所的集中が発生した場合、具体的に、実施形態において説明したように、コンテンツノード自身が「通信が繁忙している」と判断した場合や、ルートノードやキャッシュノードが一定時間あたりに所定数以上の一のコンテンツノードのIPアドレスを知らせた(送信した)場合、ルートノードやキャッシュノードがリクエストノードから一定時間あたりに所定数以上のクエリを受信した場合、一のコンテンツノードへ配信要求を再度行うリクエストノードが増加した場合、等と定義することができ、実施形態により適宜決定することができる。
また、「通信繁忙度が所定の範囲内」については、コンテンツノードの通信が元々混んでいない場合、コンテンツノードのコンテンツの複製を記憶したレプリカノードが一定数以上に増加してコンテンツ配信が安定した場合、リクエストノードが一定時間あたりに所定数以下に減少してきた場合等のコンテンツノードの通信の局所的集中が解除された場合、具体的に、実施形態において説明したように、コンテンツノード自身が「通信が繁忙していない」と判断した場合や、ルートノードやキャッシュノードが一定時間あたりに所定数未満の一のコンテンツノードのIPアドレスを知らせた(送信した)場合、ルートノードやキャッシュノードがリクエストノードから一定時間あたりに所定数未満のクエリを受信した場合、一のコンテンツノードへ配信要求を再度行うリクエストノードがなくなった場合、等と定義することができ、実施形態により適宜決定することができる。上述の「通信繁忙度が所定の範囲内」と「通信繁忙度が所定の範囲外」における所定の範囲は、同一でなくてもよい。
本実施形態のコンテンツ配信システムSにおいて、ストリーム型コンテンツノードを用いたいわゆるツリー型の通信形態とした後、ストリーム型コンテンツノードがコンテンツノードからコンテンツを受信し終わると、当該ストリーム型コンテンツノードは、コンテンツノードとの通信が切断され、コンテンツノード(レプリカノード)として機能することができる。このようにコンテンツノードとなったノード装置については、従来公知の方法でルートノードまたはキャッシュノードがリクエストノードにこの新たなコンテンツノードのIPアドレスを送信することができる。また、このようなコンテンツノードが増えてきた場合には、ルートノードはこのことを考慮してリクエストノードにIPアドレスを知らせるノード装置(元のコンテンツノード、新たなコンテンツノードまたはストリーム型コンテンツノード)を選択することができる。
本発明における「情報記憶ノード装置」は、本実施形態においてコンテンツノードとして説明したが、コンテンツノードだけでなく、そのコンテンツの複製を記憶しているレプリカノードを含んでいてもよい。なお、実施形態においては、便宜的にレプリカノードという言葉を用いているが、実際にはコンテンツノードとレプリカノードは同一のコンテンツデータを有しているため、両者は区別されない。「情報記憶ノード装置」にレプリカノードを含ませる場合には、例えば、ルートノードやキャッシュノードは、コンテンツノードと全てのレプリカノードに通信繁忙度を問い合わせる形態とすることができる。また、ルートノードやキャッシュノードは、コンテンツノードとレプリカノードの数が一定数以下までは全ての該当するノード装置に通信繁忙度を問い合わせ、コンテンツノードとレプリカノードの数が一定数を超えると、優先順位の高い方から一定数のノード装置のみに通信繁忙度を問い合わせる形態としてもよい。この優先順位は、通信繁忙度情報の返答速度等を基準としてルートノードやキャッシュノードが任意に決定できる。
本発明における「情報部分記憶ノード装置」は、上述のように初めはコンテンツの配信を要求するリクエストノードであり、コンテンツを受信中はダウンロード中ノードであり、ルートノードに認定されるとストリーム型コンテンツノードとなって他のリクエストノードにコンテンツを配信するものである。
本実施形態においては、いわゆるツリー型の通信形態として、図8下部枠や図10(B)において説明したように、コンテンツノード1h、ストリーム型コンテンツノード1e・1z(ノード番号<1>、<2>;1段目)、新たなリクエストノード1j、1f、1d、1a(ノード番号<4>、<5>、<6>;2段目)の順でツリーが形成されたものである。ツリー型の通信形態は、ルートノードが図9(A)、図10(A)におけるトポロジー情報を用いて管理することにより、2段目のリクエストノード1j、1f、1d、1aもストリーム型コンテンツノードとし、その下流にさらに新たなリクエストノード(ノード番号<7>;3段目)を通信させる形態とすることもできる。
本実施形態では、ルートノードがキャッシュノードの所在を知るために、「1.4.コンテンツデータの登録方法」において図6を用いて説明したように、キャッシュノードは自身のIPアドレス(ノード情報)を公開メッセージに付加して転送している。ルートノードがキャッシュノードに情報を送信するためには、上記の方法に限定されず、例えば、コンテンツデータの登録時に、公開メッセージがコンテンツノードからキャッシュノードを中継してルートノードに転送される過程で、各キャッシュノードがメッセージの送信元のIPアドレスを記憶しておくことで、ルートノードからキャッシュノードへ逆向きに情報を転送していくこともできる。
本実施形態においては、ルートノードが通信繁忙時指示情報送信手段、非通信繁忙時指示情報送信手段、通信繁忙時報告情報受信手段および非通信繁忙時報告情報受信手段を有し、キャッシュノードが通信繁忙時報告情報送信手段、非通信繁忙時報告情報送信手段、通信繁忙時指示情報受信手段および非通信繁忙時指示情報受信手段を有している。実際には、上述のようにキャッシュノードが通信繁忙時指示情報・非通信繁忙時指示情報を転送することもあるため、キャッシュノードが通信繁忙時報告情報受信手段および非通信繁忙時報告情報受信手段を有している場合もある。
また、上述のノード装置1の各動作に対応するプログラムをフレキシブルディスク又はハードディスク等の情報記録媒体に記録しておき、或いはインターネット等のネットワークを介して取得して記録しておき、これをマイクロコンピュータ等により読み出して実行することにより、当該マイクロコンピュータを実施形態に係る制御部11として機能させることも可能である。
本実施形態に係るコンテンツ配信システムにおける各ノード装置の接続態様の一例を示す図である。 ID空間の説明図である。 DHTによってルーティングテーブルが作成される様子の一例を示す図である。 (A)レベル1のテーブルの一例である。(B)レベル2のテーブルの一例である。(C)レベル3のテーブルの一例である。(D)完成したルーティングテーブルの一例である。 DHTによりコンテンツデータの保存元であるノード装置1が検索される様子の一例を示す図である。 コンテンツノードの公開メッセージが転送される様子をスパニングツリー状に表した図である。 ノード装置1の概要構成例を示す図である。 本実施形態に係るコンテンツ配信システムにおける各ノード装置の接続態様の一例を示す図である。 ルートノードがストリーム型コンテンツノードを選択する際の動作を説明する図(1)である。 ルートノードがストリーム型コンテンツノードを選択する際の動作を説明する図(2)である。 通信繁忙度が所定の範囲外である場合のリクエストノード、ルートノード、コンテンツノード、ダウンロード中ノード、ストリーム型コンテンツノード、キャッシュノードの間のクエリ等各種情報の授受を示すシーケンスチャート(1)である。 通信繁忙度が所定の範囲外である場合のリクエストノード、ルートノード、コンテンツノード、ダウンロード中ノード、ストリーム型コンテンツノード、キャッシュノードの間のクエリ等各種情報の授受を示すシーケンスチャート(2)である。 通信繁忙度が所定の範囲内である場合のリクエストノード、ルートノード、コンテンツノード、ダウンロード中ノード、ストリーム型コンテンツノード、キャッシュノードの間のクエリ等各種情報の授受を示すシーケンスチャート(3)である。 通信繁忙度が所定の範囲内である場合のリクエストノード、ルートノード、コンテンツノード、ダウンロード中ノード、ストリーム型コンテンツノード、キャッシュノードの間のクエリ等各種情報の授受を示すシーケンスチャート(4)である。 ノード装置の制御部において受信等したメッセージを解析する処理を示すフローチャートである。 リクエストノードの制御部における処理を示すフローチャートである。 ルートノードの制御部におけるノード情報送信処理(1)を示すフローチャートである。 ルートノードの制御部における報告情報対応処理を示すフローチャートである。 キャッシュノードの制御部におけるノード情報送信処理(2)を示すフローチャートである。 キャッシュノードの制御部における指示情報対応処理を示すフローチャートである。 コンテンツノードおよびストリーム型コンテンツノードの制御部における処理を示すフローチャートである。
符号の説明
1 ノード装置
8 ネットワーク
9 オーバレイネットワーク
11 制御部
12 記憶部
13 バッファメモリ
14 デコーダ部
15 映像処理部
16 表示部
17 音声処理部
18 スピーカ
20 通信部
21 入力部
22 バス
S コンテンツ配信システム

Claims (20)

  1. ネットワークを介して接続された複数のノード装置を備え、前記複数のノード装置に分散して記憶されるコンテンツが、前記複数のノード装置に含まれるード装置からのノード装置配信される情報配信システムであって、
    前記複数のノード装置に含まれる一のノード装置は、
    前記コンテンツ送信可能な前記ノード装置を示すノード情報の送信を要求するための要求情報であって、前記コンテンツに対応する固有の識別情報を含む前記要求情報を、前記複数のノード装置に含まれる前記ノード装置から受信する要求情報受信手段と、
    前記複数のノード装置に分散して記憶されるコンテンツの中で特定の前記コンテンツを記憶する前記ノード装置であるコンテンツ記憶ノード装置を示す前記ノード情報と、前記コンテンツに対応する固有の識別情報と、を対応付けて記憶する記憶手段と、
    前記要求情報に含まれる前記識別情報が、前記記憶手段に記憶されている場合には、前記要求情報に含まれる前記識別情報に対応する前記ノード情報が示す前記コンテンツ記憶ノード装置他のノード装置との通信の局所的集中の程度を示す通信繁忙度を認定する通信繁忙度認定手段と、
    前記識別情報に対応する前記ノード情報が示す前記コンテンツ記憶ノード装置から前記コンテンツを受信中の前記ノード装置であるコンテンツ受信中ノード装置を示す前記ノード情報を、前記コンテンツ記憶ノード装置または前記要求情報に含まれる前記識別情報に対応する前記ノード情報を同様に記憶している他のノード装置から取得する取得手段と、
    前記通信繁忙度が所定の範囲外である場合には、前記コンテンツをストリーミング配信する前記ノード装置であるストリーミング配信ノード装置を示す前記ノード情報として、前記取得手段により取得された前記ノード情報を、前記要求情報の送信元の前記ノード装置に送信するストリーミング配信ノード情報送信手段と、
    前記通信繁忙度が所定の範囲内である場合には、前記要求情報に含まれる前記識別情報に対応して前記記憶手段に記憶された前記ノード情報を、前記要求情報の送信元の前記ノード装置に送信するコンテンツ記憶ノード情報送信手段と、
    を有することを特徴とする情報配信システム。
  2. ネットワークを介して接続された複数のノード装置を備え、前記複数のノード装置に分散して記憶されるコンテンツが、前記複数のノード装置に含まれるード装置からのノード装置配信される情報配信システムにおける情報配信方法であって、
    前記複数のノード装置に含まれる一のノード装置が、前記コンテンツ送信可能な前記ノード装置を示すノード情報の送信を要求するための要求情報であって、前記コンテンツに対応する固有の識別情報を含む前記要求情報を、前記複数のノード装置に含まれる前記ノード装置から受信する要求情報受信ステップと
    前記一のノード装置が、前記要求情報に含まれる前記識別情報が、前記複数のノード装置に分散して記憶されるコンテンツの中で特定の前記コンテンツを記憶する前記ノード装置であるコンテンツ記憶ノード装置を示す前記ノード情報と、前記コンテンツに対応する固有の識別情報と、を対応付けて記憶する記憶手段に記憶されている場合には、前記要求情報に含まれる前記識別情報に対応する前記ノード情報が示す前記コンテンツ記憶ノード装置他のノード装置との通信の局所的集中の程度を示す通信繁忙度を認定する通信繁忙度認定ステップと
    前記一のノード装置が、前記識別情報に対応する前記ノード情報が示す前記コンテンツ記憶ノード装置から前記コンテンツを受信中の前記ノード装置であるコンテンツ受信中ノード装置を示す前記ノード情報を、前記コンテンツ記憶ノード装置または前記要求情報に含まれる前記識別情報に対応する前記ノード情報を同様に記憶している他のノード装置から取得する取得ステップと、
    前記一のノード装置が、前記通信繁忙度が所定の範囲外である場合には、前記コンテンツをストリーミング配信する前記ノード装置であるストリーミング配信ノード装置を示す前記ノード情報として、前記取得ステップにおいて取得された前記ノード情報を、前記要求情報の送信元の前記ノード装置に送信するストリーミング配信ノード情報送信ステップと
    前記一のノード装置が、前記通信繁忙度が所定の範囲内である場合には、前記要求情報に含まれる前記識別情報に対応して前記記憶手段に記憶された前記ノード情報を、前記要求情報の送信元の前記ノード装置に送信するコンテンツ記憶ノード情報送信ステップと
    を含むことを特徴とする情報配信方法。
  3. ネットワークを介して接続された複数のノード装置を備え、前記複数のノード装置に分散して記憶されるコンテンツが、前記複数のノード装置に含まれるード装置からのノード装置配信される情報配信システムにおけるノード装置であって、
    前記コンテンツ送信可能な前記ノード装置を示すノード情報の送信を要求するための要求情報であって、前記コンテンツに対応する固有の識別情報を含む前記要求情報を、前記複数のノード装置に含まれる前記ノード装置から受信する要求情報受信手段と、
    前記複数のノード装置に分散して記憶されるコンテンツの中で特定の前記コンテンツを記憶する前記ノード装置であるコンテンツ記憶ノード装置を示す前記ノード情報と、前記コンテンツに対応する固有の識別情報と、を対応付けて記憶する記憶手段と、
    前記要求情報に含まれる前記識別情報が、前記記憶手段に記憶されている場合には、前記要求情報に含まれる前記識別情報に対応する前記ノード情報が示す前記コンテンツ記憶ノード装置他のノード装置との通信の局所的集中の程度を示す通信繁忙度を認定する通信繁忙度認定手段と、
    前記識別情報に対応する前記ノード情報が示す前記コンテンツ記憶ノード装置から前記コンテンツを受信中の前記ノード装置であるコンテンツ受信中ノード装置を示す前記ノード情報を、前記コンテンツ記憶ノード装置または前記要求情報に含まれる前記識別情報に対応する前記ノード情報を同様に記憶している他のノード装置から取得する取得手段と、
    前記通信繁忙度が所定の範囲外である場合には、前記コンテンツをストリーミング配信する前記ノード装置であるストリーミング配信ノード装置を示す前記ノード情報として、前記取得手段により取得された前記ノード情報を、前記要求情報の送信元の前記ノード装置に送信するストリーミング配信ノード情報送信手段と、
    前記通信繁忙度が所定の範囲内である場合には、前記要求情報に含まれる前記識別情報に対応して前記記憶手段に記憶された前記ノード情報を、前記要求情報の送信元の前記ノード装置に送信するコンテンツ記憶ノード情報送信手段と、
    を有することを特徴とするノード装置。
  4. 請求項3に記載のノード装置であって、
    前記通信繁忙度認定手段は、前記ノード情報に対応する前記コンテンツ記憶ノード装置から前記通信繁忙度に対応する通信繁忙度情報を受信することにより前記通信繁忙度を認定することを特徴とするノード装置。
  5. 請求項3または4に記載のノード装置であって、
    前記ストリーミング配信ノード情報送信手段は、
    前記取得手段により取得された前記ノード情報に対応する前記コンテンツ受信中ノード装置における前記コンテンツの受信状況を示す受信状況情報を、前記コンテンツ受信中ノード装置から受信する受信状況情報受信手段と、
    前記受信状況情報に基づいて、前記取得手段により取得された前記コンテンツ受信中ノード装置を示す前記ノード情報の中から前記ストリーミング配信ノード装置を示す前記ノード情報少なくとも一以上選択する選択手段と、
    を有し、
    前記選択手段により選択された前記ストリーミング配信ノード装置を示す前記ノード情報を、前記要求情報の送信元の前記ノード装置に送信することを特徴とするノード装置。
  6. 請求項3乃至5のいずれか一項に記載のノード装置であって、
    前記通信繁忙度が所定の範囲外である場合には、前記ストリーミング配信ノード装置を示す前記ノード情報を前記要求情報の送信元の前記ノード装置に送信すべき旨のストリーミング配信ノード情報送信指示情報を、前記要求情報に含まれる前記識別情報に対応する前記ノード情報を同様に記憶している他のノード装置に送信するストリーミング配信ノード情報送信指示情報送信手段を有することを特徴とするノード装置。
  7. 請求項6に記載のノード装置であって、
    前記通信繁忙度が所定の範囲内である場合には、前記コンテンツ記憶ノード装置を示す前記ノード情報を前記要求情報の送信元の前記ノード装置に送信すべき旨のコンテンツ記憶ノード情報送信指示情報を、前記要求情報に含まれる前記識別情報に対応する前記ノード情報を同様に記憶している他のノード装置に送信するコンテンツ記憶ノード情報送信指示情報送信手段を有することを特徴とするノード装置。
  8. 請求項7に記載のノード装置であって、
    前記通信繁忙度が所定の範囲内である旨の所定範囲内報告情報を、前記ストリーミング配信ノード情報送信指示情報の送信先の前記ノード装置から受信する所定範囲内報告情報受信手段をさらに有し、
    前記所定範囲内報告情報を受信した場合に、
    前記コンテンツ記憶ノード情報送信手段は、前記要求情報に含まれる前記識別情報に対応して前記記憶手段に記憶された前記ノード情報を、前記要求情報の送信元の前記ノード装置に送信し、
    前記コンテンツ記憶ノード情報送信指示情報送信手段は、前記コンテンツ記憶ノード情報送信指示情報を、前記要求情報に含まれる前記識別情報に対応する前記ノード情報を同様に記憶している他のノード装置に送信することを特徴とするノード装置。
  9. 請求項7または記載のノード装置であって、
    前記通信繁忙度が所定の範囲外である旨の所定範囲外報告情報を、前記コンテンツ記憶ノード情報送信指示情報の送信先の前記ノード装置から受信する所定範囲外報告情報受信手段をさらに有し、
    前記所定範囲外報告情報を受信した場合に、
    前記ストリーミング配信ノード情報送信手段は、前記ストリーミング配信ノード装置を示す前記ノード情報を、前記要求情報の送信元の前記ノード装置に送信し、
    前記ストリーミング配信ノード情報送信指示情報送信手段は、前記ストリーミング配信ノード情報送信指示情報を、前記要求情報に含まれる前記識別情報に対応する前記ノード情報を同様に記憶している他のノード装置に送信することを特徴とするノード装置。
  10. 請求項3または4に記載のノード装置であって、
    前記ストリーミング配信ノード装置を示す前記ノード情報を前記要求情報の送信元の前記ノード装置に送信すべき旨のストリーミング配信ノード情報送信指示情報を、前記要求情報に含まれる前記識別情報に対応する前記ノード情報を同様に記憶している他のノード装置から受信するストリーミング配信ノード情報送信指示情報受信手段を有し
    前記ストリーミング配信ノード情報送信指示情報を受信した場合に、前記ストリーミング配信ノード情報送信手段は、前記ストリーミング配信ノード装置を示す前記ノード情報を、前記要求情報の送信元の前記ノード装置に送信し、
    前記ストリーミング配信ノード装置を示す前記ノード情報を他の前記ノード装置に送信したことを示す送信済情報を前記ストリーミング配信ノード情報送信指示情報の送信元の前記ノード装置に送信する送信済情報送信手段有することを特徴とするノード装置。
  11. 請求項10に記載のノード装置であって、
    前記コンテンツ記憶ノード装置を示す前記ノード情報を前記要求情報の送信元の前記ノード装置に送信すべき旨のコンテンツ記憶ノード情報送信指示情報を、前記要求情報に含まれる前記識別情報に対応する前記ノード情報を同様に記憶している他のノード装置から受信するコンテンツ記憶ノード情報送信指示情報受信手段を有し、
    前記コンテンツ記憶ノード情報送信指示情報を受信した場合または前記ストリーミング配信ノード情報送信指示情報を受信していない場合に、前記コンテンツ記憶ノード情報送信手段は、前記要求情報に含まれる前記識別情報に対応して前記記憶手段に記憶された前記ノード情報を、前記要求情報の送信元の前記ノード装置に送信することを特徴とするノード装置。
  12. 請求項10または11に記載のノード装置であって、
    前記通信繁忙度が所定の範囲内である場合には、前記通信繁忙度が所定の範囲内である旨の所定範囲内報告情報を、前記ストリーミング配信ノード情報送信指示情報の送信元の前記ノード装置に送信する所定範囲内報告情報送信手段をさらに有することを特徴とするノード装置。
  13. 請求項11記載のノード装置であって、
    前記通信繁忙度が所定の範囲外である場合には、前記通信繁忙度が所定の範囲外ある旨の所定範囲外報告情報を、前記コンテンツ記憶ノード情報送信指示情報の送信元の前記ノード装置に送信する所定範囲外報告情報送信手段さらに有することを特徴とするノード装置。
  14. 請求項3乃至13のいずれか一項に記載のノード装置であって、
    前記ストリーミング配信ノード情報送信手段は、一の前記ストリーミング配信ノード装置に対して所定の数以下の前記要求情報の送信元の前記ノード装置に、前記ストリーミング配信ノード装置を示す前記ノード情報を送信することを特徴とするノード装置。
  15. ネットワークを介して接続された複数のノード装置を備え、前記複数のノード装置に分散して記憶されるコンテンツが、前記複数のノード装置に含まれるード装置からのノード装置配信される情報配信システムにおけるノード装置に含まれるコンピュータに、
    前記コンテンツ送信可能な前記ノード装置を示すノード情報の送信を要求するための要求情報であって、前記コンテンツに対応する固有の識別情報を含む前記要求情報を、前記複数のノード装置に含まれる前記ノード装置から受信する要求情報受信ステップと
    前記要求情報に含まれる前記識別情報が、前記複数のノード装置に分散して記憶されるコンテンツの中で特定の前記コンテンツを記憶する前記ノード装置であるコンテンツ記憶ノード装置を示す前記ノード情報と、前記コンテンツに対応する固有の識別情報と、を対応付けて記憶する記憶手段に記憶されている場合には、前記要求情報に含まれる前記識別情報に対応する前記ノード情報が示す前記コンテンツ記憶ノード装置他のノード装置との通信の局所的集中の程度を示す通信繁忙度を認定する通信繁忙度認定ステップと
    前記識別情報に対応する前記ノード情報が示す前記コンテンツ記憶ノード装置から前記コンテンツを受信中の前記ノード装置であるコンテンツ受信中ノード装置を示す前記ノード情報を、前記コンテンツ記憶ノード装置または前記要求情報に含まれる前記識別情報に対応する前記ノード情報を同様に記憶している他のノード装置から取得する取得ステップと、
    前記通信繁忙度が所定の範囲外である場合には、前記コンテンツをストリーミング配信する前記ノード装置であるストリーミング配信ノード装置を示す前記ノード情報として、前記取得ステップにおいて取得された前記ノード情報を、前記要求情報の送信元の前記ノード装置に送信するストリーミング配信ノード情報送信ステップと
    前記通信繁忙度が所定の範囲内である場合には、前記要求情報に含まれる前記識別情報に対応して前記記憶手段に記憶された前記ノード情報を、前記要求情報の送信元の前記ノード装置に送信するコンテンツ記憶ノード情報送信ステップと
    を実行させることを特徴とする情報処理プログラム。
  16. 請求項1に記載の情報配信システムであって、
    前記ストリーミング配信ノード情報送信手段より送信された前記ノード情報の送信先である前記要求情報の送信元の前記ノード装置を、新たな前記ストリーミング配信ノード装置として認定するストリーミング配信ノード装置認定手段と、
    前記ストリーミング配信ノード情報送信手段より送信された前記ノード情報と、前記認定手段により前記ストリーミング配信ノード装置として認定された前記ノード装置を示す前記ノード情報と、を対応付けて記憶する第2記憶手段と、
    をさらに有し、
    前記ストリーミング配信ノード情報送信手段は、
    前記第2記憶手段に対応付けて記憶された前記ノード情報に基づいて、各前記ストリーミング配信ノード装置により前記コンテンツが順次転送されるように、送信される前記ノード情報を選択する選択手段を有し、
    前記ストリーミング配信ノード情報送信手段は、前記選択手段により選択された前記ノード情報を、前記要求情報の送信元の前記ノード装置に送信することを特徴とする情報配信システム。
  17. 請求項16に記載の情報配信システムであって、
    前記選択手段は、複数の前記ストリーミング配信ノード装置により前記コンテンツの配信経路がツリー状に形成されるように、送信される前記ノード情報を選択することを特徴とする情報配信システム。
  18. 請求項1、16及び17のいずれか一項に記載の情報配信システムであって、
    前記要求情報の送信元の前記ノード装置は、
    前記ストリーミング配信ノード装置または前記コンテンツ記憶ノード装置を示す前記ノード情報を受信した場合には、前記コンテンツの送信を要求するコンテンツ要求情報を、受信した前記ノード情報に対応する前記ノード装置に送信するコンテンツ要求情報送信手段、
    を有し、
    前記コンテンツ要求情報を受信した前記ストリーミング配信ノード装置または前記コンテンツ記憶ノード装置は、
    前記コンテンツを、前記コンテンツ要求情報の送信元のノード装置に送信するコンテンツ送信手段、
    を有することを特徴とする情報配信システム。
  19. 請求項3乃至14のいずれか一項に記載のノード装置であって、
    前記ストリーミング配信ノード情報送信手段より送信された前記ノード情報の送信先である前記要求情報の送信元の前記ノード装置を、新たな前記ストリーミング配信ノード装置として認定するストリーミング配信ノード装置認定手段と、
    前記ストリーミング配信ノード情報送信手段より送信された前記ノード情報と、前記認定手段により前記ストリーミング配信ノード装置として認定された前記ノード装置を示す前記ノード情報と、を対応付けて記憶する第2記憶手段と、
    をさらに有し、
    前記ストリーミング配信ノード情報送信手段は、
    前記第2記憶手段に対応付けて記憶された前記ノード情報に基づいて、各前記ストリーミング配信ノード装置により前記コンテンツが順次転送されるように、送信される前記ノード情報を選択する選択手段を有し、
    前記ストリーミング配信ノード情報送信手段は、前記選択手段により選択された前記ノード情報を、前記要求情報の送信元の前記ノード装置に送信することを特徴とするノード装置。
  20. 請求項19に記載のノード装置であって、
    前記選択手段は、複数の前記ストリーミング配信ノード装置により前記コンテンツの配信経路がツリー状に形成されるように、送信される前記ノード情報を選択することを特徴とするノード装置。
JP2005243335A 2005-08-24 2005-08-24 情報配信システム、情報配信方法、情報配信システムに含まれるノード装置および情報処理プログラム Expired - Fee Related JP4715388B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005243335A JP4715388B2 (ja) 2005-08-24 2005-08-24 情報配信システム、情報配信方法、情報配信システムに含まれるノード装置および情報処理プログラム
PCT/JP2006/314657 WO2007023636A1 (ja) 2005-08-24 2006-07-25 情報配信システム、情報配信方法、情報配信システムに含まれるノード装置および情報処理プログラムを記憶した記憶媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005243335A JP4715388B2 (ja) 2005-08-24 2005-08-24 情報配信システム、情報配信方法、情報配信システムに含まれるノード装置および情報処理プログラム

Publications (2)

Publication Number Publication Date
JP2007058597A JP2007058597A (ja) 2007-03-08
JP4715388B2 true JP4715388B2 (ja) 2011-07-06

Family

ID=37771387

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005243335A Expired - Fee Related JP4715388B2 (ja) 2005-08-24 2005-08-24 情報配信システム、情報配信方法、情報配信システムに含まれるノード装置および情報処理プログラム

Country Status (2)

Country Link
JP (1) JP4715388B2 (ja)
WO (1) WO2007023636A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008035337A (ja) * 2006-07-31 2008-02-14 Brother Ind Ltd ノード装置、配信装置、管理装置、情報処理プログラム、コンテンツ配信方法及びコンテンツ配信システム
JP4623030B2 (ja) * 2007-03-27 2011-02-02 ブラザー工業株式会社 ツリー型放送システム、接続先決定方法、接続管理装置、及び接続管理処理プログラム等
US20080294788A1 (en) * 2007-05-21 2008-11-27 Hong Kong Applied Science And Technology Research Institute Co., Ltd. Systems and methods for p2p streaming
WO2010000724A1 (en) * 2008-07-02 2010-01-07 Thomson Licensing Device and method for disseminating content data between peers in a p2p mode, by using a bipartite peer overlay
JP5168055B2 (ja) 2008-09-26 2013-03-21 ブラザー工業株式会社 通信システム、端末装置及びコンテンツ情報取得方法
CN101841553B (zh) * 2009-03-17 2014-03-12 日电(中国)有限公司 网络上请求资源的位置信息的方法、用户节点和服务器
JP5386763B2 (ja) * 2010-12-03 2014-01-15 株式会社日立製作所 ファームウェア更新システム、ファームウェア更新方法、及び管理計算機
JP5282795B2 (ja) * 2011-02-25 2013-09-04 ブラザー工業株式会社 情報通信システム、情報処理方法、ノード装置及びプログラム
JP6310264B2 (ja) * 2014-02-06 2018-04-11 日本放送協会 コンテンツ配信システム及びアドレス情報通知サーバ
KR102026423B1 (ko) * 2018-02-01 2019-10-01 주식회사 딸기커뮤니케이션 저작권 보호를 위한 콘텐츠 권한 설정을 통한 실시간 콘텐츠 판매 서비스 제공 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002374290A (ja) * 2001-06-13 2002-12-26 Nippon Telegr & Teleph Corp <Ntt> サーバ選択装置、方法、プログラム及び該プログラムを記録した記録媒体
JP2004127189A (ja) * 2002-10-07 2004-04-22 Matsushita Electric Ind Co Ltd ゲートウェイ装置、コンテンツ転送システム及びコンテンツ転送方法
JP2005196676A (ja) * 2004-01-09 2005-07-21 Nippon Telegr & Teleph Corp <Ntt> サービス生成方法、サービス生成システムおよびプログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7133368B2 (en) * 2002-02-01 2006-11-07 Microsoft Corporation Peer-to-peer method of quality of service (QoS) probing and analysis and infrastructure employing same
JP4233328B2 (ja) * 2003-01-08 2009-03-04 日立ソフトウエアエンジニアリング株式会社 ピアツーピア技術を用いたファイルダウンロード方法及びシステム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002374290A (ja) * 2001-06-13 2002-12-26 Nippon Telegr & Teleph Corp <Ntt> サーバ選択装置、方法、プログラム及び該プログラムを記録した記録媒体
JP2004127189A (ja) * 2002-10-07 2004-04-22 Matsushita Electric Ind Co Ltd ゲートウェイ装置、コンテンツ転送システム及びコンテンツ転送方法
JP2005196676A (ja) * 2004-01-09 2005-07-21 Nippon Telegr & Teleph Corp <Ntt> サービス生成方法、サービス生成システムおよびプログラム

Also Published As

Publication number Publication date
WO2007023636A1 (ja) 2007-03-01
JP2007058597A (ja) 2007-03-08

Similar Documents

Publication Publication Date Title
US8195764B2 (en) Information delivery system, delivery request program, transfer program, delivery program, and the like
US7882168B2 (en) Contents distribution system, node apparatus and information processing method thereof, as well as recording medium on which program thereof is recorded
WO2007023636A1 (ja) 情報配信システム、情報配信方法、情報配信システムに含まれるノード装置および情報処理プログラムを記憶した記憶媒体
US8321586B2 (en) Distributed storage system, node device, recording medium in which node processing program is recorded, and address information change notifying method
JP4473942B2 (ja) コンテンツ配信装置、コンテンツ配信方法、及びコンテンツ配信プログラム
JP2006197400A (ja) 情報配信システム、情報更新プログラム、及び情報更新方法等
US8190779B2 (en) Information processing apparatus and storing apparatus, information processing method and storing method, and recording medium that promptly and efficiently distributes content
JP2008033406A (ja) ノード装置、情報処理プログラム、コンテンツ配信方法及びコンテンツ配信システム
JP2007053662A (ja) 情報通信システム、情報通信方法、情報通信システムに含まれるノード装置および情報処理プログラム
JP4539603B2 (ja) 情報通信システム、情報通信方法、情報通信システムに含まれるノード装置および情報処理プログラム
JP5370269B2 (ja) 分散保存システム、分散保存システムの接続情報通知方法及びプログラム
JP4670043B2 (ja) 情報配信システム、配信要求プログラム、転送プログラム、配信プログラム等
JP4765876B2 (ja) コンテンツ配信システムにおける端末装置及びその情報処理方法並びにプログラム
JP2010271933A (ja) 分散保存システム、ノード装置、ノード処理プログラム及びデータファイル保存方法
JP4877107B2 (ja) 情報配信システムにおける端末装置及び情報処理プログラム、並びに端末装置の情報処理方法
WO2007074873A1 (ja) コンテンツ配信システム、端末装置及びその情報処理方法並びにそのプログラムを記録した記録媒体
US8312068B2 (en) Node device, information communication system, method for managing content data, and computer readable medium
JP4797679B2 (ja) コンテンツ配信システム、コンテンツデータ管理装置及びその情報処理方法並びにそのプログラム
JP2007336396A (ja) コンテンツ配信システム、コンテンツ配信方法、端末装置及びそのプログラム
US20080240138A1 (en) Tree type broadcast system, connection target determination method, connection management device, connection management process program, and the like
JP2008059398A (ja) 識別情報割当装置及びその情報処理方法並びにそのプログラム
JP2009232272A (ja) コンテンツ分散保存システム、コンテンツ再生方法、ノード装置、管理装置、ノード処理プログラム、及び管理処理プログラム
JP5434268B2 (ja) 分散保存システム、データファイル分散保存方法及びプログラム
JP5007624B2 (ja) コンテンツ分散保存システム、コンテンツデータ取得方法、ノード装置、及びノード処理プログラム
JP4867845B2 (ja) コンテンツ分散保存システム、コンテンツデータ取得方法、ノード装置、及びノード処理プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080430

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20080728

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100907

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101108

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110301

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110314

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140408

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees