[go: up one dir, main page]

JP4670043B2 - 情報配信システム、配信要求プログラム、転送プログラム、配信プログラム等 - Google Patents

情報配信システム、配信要求プログラム、転送プログラム、配信プログラム等 Download PDF

Info

Publication number
JP4670043B2
JP4670043B2 JP2005006741A JP2005006741A JP4670043B2 JP 4670043 B2 JP4670043 B2 JP 4670043B2 JP 2005006741 A JP2005006741 A JP 2005006741A JP 2005006741 A JP2005006741 A JP 2005006741A JP 4670043 B2 JP4670043 B2 JP 4670043B2
Authority
JP
Japan
Prior art keywords
information
node device
node
identification information
specific shared
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 - Lifetime
Application number
JP2005006741A
Other languages
English (en)
Other versions
JP2006195744A (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
Xing Inc
National Institute of Advanced Industrial Science and Technology AIST
Original Assignee
Brother Industries Ltd
Xing Inc
National Institute of Advanced Industrial Science and Technology AIST
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, Xing Inc, National Institute of Advanced Industrial Science and Technology AIST filed Critical Brother Industries Ltd
Priority to JP2005006741A priority Critical patent/JP4670043B2/ja
Priority to PCT/JP2005/019225 priority patent/WO2006075424A1/ja
Publication of JP2006195744A publication Critical patent/JP2006195744A/ja
Priority to US11/822,955 priority patent/US8195764B2/en
Application granted granted Critical
Publication of JP4670043B2 publication Critical patent/JP4670043B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Description

本発明は、ネットワークを介して互いに接続された複数のノード装置を備えたピアツーピア(Peer to Peer(P2P))型のコンテンツ配信システムに関し、特に、1のノード装置から他のノード装置に配信されるべきコンテンツデータが複数のノード装置に分散して保存された情報配信システム、配信要求プログラム、転送プログラム、配信プログラム等の技術分野に関する。
この種のコンテンツ配信システムにおいては、各ノード装置は、複数のノード装置に分散保存されているコンテンツデータに関する所在情報(例えば、コンテンツデータのタイトル等の補助情報を指定することにより、コンテンツデータを保存しているノード装置のIPアドレス等が特定できる情報:以下ではインデックス情報と呼ぶ。)が記述されたリストを有しており、当該リストに記述されたインデックス情報に基づき、ユーザが所望するコンテンツデータをダウンロードすることが可能になっている。このようなリストは、複数のノード装置において共通に使用されるべき共用情報であり、一般に、コンテンツ配信システム上に保存されている全てのコンテンツデータを管理する管理サーバにより管理され、当該管理サーバから各ノード装置に対して上記リストが配信されることになる。
例えば、特許文献1には、この種の管理サーバとして、最上位に存在し、コンテンツ配信管理システム内の全てのコンテンツ情報を管理するインデックスサーバが開示されている。
特開2002−318720号公報
また、特許文献2に開示されているように、管理サーバを用いない方法として、分散ハッシュテーブル(DHT)を用いた技術が開示されているが、このシステムでは、コンテンツの配信を希望するリクエストノード装置は、コンテンツ情報を管理するノード装置からコンテンツ情報を記憶するノード装置の所在を聞いて、当該ノード装置にアクセスするようになっている。
特開2004−127189号公報
ところで、ピアツーピア型のコンテンツ配信システムにおいては、ノード装置の脱退(ノード装置の電源断や故障、或いはネットワークの部分的な切断等による)及び参加が行なわれる頻度が高く、しかも、コンテンツデータのノード装置への新たな保存又は消去が行なわれる頻度が高くなるため、上述したようなリストの更新を頻繁に行なわなくてはならず、従って、当該リストを常に最新の状態に保つために、上述したような管理サーバは必要であると考えられる。
しかしながら、管理サーバが上記リストの管理を行なうコンテンツ配信システムにおいては、ノード装置の数が増せば増すほど、例えば当該リストの更新時にサーバ負荷が増大すると共に、ネットワーク負荷が一箇所に集中し配信可能なリストも制限されてしまうという問題が生じ好ましくない。また、管理サーバが機能停止(例えば、停電や故障等により)すると、当該リストの更新ができなくなってしまうという問題もある。更に、管理サーバによるリスト管理のための管理コストもかかってしまうという問題もある。
また、管理サーバを用いない方法であっても、コンテンツを保持しているコンテンツノード装置は常に稼動状態にあるわけではないため、リクエストノードから配信を所望するコンテンツを記憶するコンテンツノード装置の所在を問われた管理ノード装置が、自己が有するリストに記載された情報に基づいてコンテンツノード装置の所在をリクエストノードに通知しても、リクエストノードが当該コンテンツノード装置にコンテンツの配信を要求してみると、既にそのコンテンツノード装置は脱退していたり、機能停止(例えば、停電や故障等により)している場合もあり、また既に所望のコンテンツが消滅している場合もあった。このような場合には、リクエストノードは改めてコンテンツノード装置の所在を探さねばならない。これが頻繁に行われると、コンテンツが膨大なシステム、また、参加する装置数が膨大なシステムにおいては、大量の通信が各装置間で行われることとなり、システム全体に多大な負荷が生じてしまうという問題があった。
本発明は、以上の問題等に鑑みてなされたものであり、リクエストノードが、所望のコンテンツの配信に適したコンテンツノードに対して配信要求を行ない当該コンテンツの配信を受けることを可能とした情報配信システム、配信要求プログラム、転送プログラム、配信プログラム等を提供することを課題とする。
上記課題を解決するために、請求項1に記載の発明は、ネットワークを構築して互いに接続された複数のノード装置を備えた情報配信システムにおいて、前記複数のノード装置に含まれる第1のノード装置は、前記複数のノード装置に含まれる第2のノード装置に対して、前記複数のノード装置に含まれるノード装置であって、前記複数のノード装置間で共用されるべき共用情報のうち特定の共用情報である特定共用情報を記憶する少なくとも1以上の情報記憶ノード装置に前記特定共用情報の送信を要求すべく、前記特定共用情報に対応する固有の識別情報を送信する識別情報送信手段と、前記情報記憶ノード装置から当該情報記憶ノード装置を示すノード情報を受信する情報受信手段と、前記受信したノード情報に基づいて情報記憶ノード装置に前記特定共用情報の配信を要求する配信要求手段と、を有し、前記第2のノード装置は、前記識別情報と、当該識別情報に対応する共用情報を記憶する前記情報記憶ノード装置を示すノード情報と、をそれぞれ対応付けて記憶する記憶手段と、前記複数のノード装置の何れかのノード装置から前記識別情報を受信して前記特定共用情報の要求を受けた場合には、前記記憶手段を参照して当該受信した識別情報に対応する前記ノード情報を検索するノード情報検索手段と、前記ノード情報検索手段による検索の結果、前記記憶手段に前記識別情報に対応するノード情報がある場合には、当該ノード情報によって示される前記情報記憶ノード装置に対して前記特定共用情報を前記第1のノード装置に送信するよう指示すべく前記識別情報を転送する識別情報転送手段と、を有し、前記情報記憶ノード装置は、前記第2のノード装置から前記識別情報を受信して前記特定共用情報の送信の指示を受けると、当該受信した識別情報によって示される前記特定共用情報を前記第1のノード装置に送信可能か否かを判定する判定手段と、前記判定手段による判定の結果、送信可能である場合には、前記第1のノード装置に対して当該情報記憶ノード装置の前記ノード情報を送信する情報送信手段と、前記第1のノード装置から前記特定共用情報の配信要求を受けた場合には、前記第1のノード装置に対して前記特定共用情報を配信する配信手段と、を有することを特徴とする。
これによれば、リクエストノード等の第1のノード装置からコンテンツ等の特定共用情報を記憶するコンテンツノード等の情報記憶ノード装置から特定共有情報の要求をおこなう際に、第1のノード装置は、情報記憶ノード装置を示すノード情報を受信し、ノード情報を受信した情報記憶ノード装置に対して配信要求を行なうよう構成したので、情報記憶ノード装置が確実に存在していることをノード情報を受信して確認した上で配信要求を行なうことができる。
上記課題を解決するために、請求項に記載の発明は、ネットワークを構築して互いに接続された複数のノード装置を備えた情報配信システムにおいて、前記複数のノード装置に含まれる第1のノード装置は、前記複数のノード装置に含まれる第2のノード装置に対して、前記複数のノード装置に含まれるノード装置であって、前記複数のノード装置間で共用されるべき共用情報のうち特定の共用情報である特定共用情報を記憶する少なくとも1以上の情報記憶ノード装置に関する関連情報の送信を要求すべく、前記特定共用情報に対応する固有の識別情報を送信する識別情報送信手段と、前記情報記憶ノード装置から当該情報記憶ノード装置に関する前記関連情報を受信する情報受信手段と、前記情報記憶ノード装置のうち、前記受信した関連情報に基づいて選定した情報記憶ノード装置に前記特定共用情報の配信を要求する配信要求手段と、を有し、前記第2のノード装置は、前記識別情報と、当該識別情報に対応する共用情報を記憶する前記情報記憶ノード装置を示すノード情報と、をそれぞれ対応付けて記憶する記憶手段と、前記複数のノード装置の何れかのノード装置から前記識別情報を受信して前記特定共用情報の要求を受けた場合には、前記記憶手段を参照して当該受信した識別情報に対応する前記ノード情報を検索するノード情報検索手段と、前記ノード情報検索手段による検索の結果、前記記憶手段に前記識別情報に対応するノード情報がある場合には、当該ノード情報によって示される前記情報記憶ノード装置に対して前記関連情報を前記第1のノード装置に送信するよう指示すべく前記識別情報を転送する識別情報転送手段と、を有し、前記情報記憶ノード装置は、前記第2のノード装置から前記識別情報を受信して前記関連情報の送信の指示を受けると、当該受信した識別情報によって示される前記特定共用情報を前記第1のノード装置に送信可能か否かを判定する判定手段と、前記判定手段による判定の結果、送信可能である場合には、前記第1のノード装置に対して当該情報記憶ノード装置に関する前記関連情報を送信する情報送信手段と、前記第1のノード装置から前記特定共用情報の配信要求を受けた場合には、前記第1のノード装置に対して前記特定共用情報を配信する配信手段と、を有することを特徴とする。
これによれば、リクエストノード等の第1のノード装置からコンテンツ等の特定共用情報を記憶するコンテンツノード等の情報記憶ノード装置から関連情報の要求をおこなう際に、第1のノード装置は、複数個の情報記憶ノード装置の関連情報を受信し、当該複数の情報記憶ノード装置からの関連情報に基づいて配信に最適な情報記憶ノード装置を選定して、当該選定された情報記憶ノード装置に対して配信要求を行なうよう構成したので、情報記憶ノード装置が確実に存在していることを関連情報を受信して確認した上で配信要求を行なうことができ、更に複数の情報記憶ノード装置から関連情報を受信した場合には、複数の情報記憶ノード装置の中から関連情報を比較してより適切な情報記憶ノード装置から共用情報の配信を受けることが可能になる。
上記課題を解決するために、請求項に記載の発明は、請求項1又は請求項2に記載の情報配信システムにおいて、前記第2のノード装置における前記識別情報転送手段は、前記ノード情報検索手段による検索の結果、前記記憶手段に前記識別情報に対応するノード情報が無い場合であって、かつ当該第2のノード装置自身が、前記特定共用情報の管理元である管理ノード装置でない場合には、当該第2のノード装置と前記管理ノード装置の中間に介在するノード装置に対して、或いは当該中間に介在するノード装置が無い場合には前記管理ノード装置に対して前記受信した識別情報を転送することを特徴とする。
これによれば、コンテンツID等の識別情報が、ルートノード等の管理ノード装置に辿り着くまでノード装置間を転送されるよう構成したので、所望のコンテンツ等の特定共用情報の検索を確実に行なうことができる。
上記課題を解決するために、請求項に記載の発明は、請求項1又は請求項2に記載の情報配信システムにおいて、前記第2のノード装置は、前記ノード情報検索手段による検索の結果、前記記憶手段に前記識別情報に対応するノード情報が無い場合であって、かつ当該第2のノード装置自身が、前記特定共用情報の管理元である管理ノード装置である場合には、前記第1のノード装置に対して前記特定共用情報が無いことを回答するエラー回答手段を有することを特徴とする。
これによれば、ルートノード等の第2のノード装置で特定共用情報を発見できない場合には、リクエストノード等の第1のノード装置に対してエラー回答を送信するよう構成したので、第1のノード装置では特定共用情報が無いことを容易に把握することが可能になる。
上記課題を解決するために、請求項に記載の発明は、請求項1乃至請求項のいずれか一項に記載の情報配信システムにおいて、前記情報記憶ノード装置は、前記判定手段により送信可能であると判定された場合には可情報を、前記送信不可能であると判定された場合には不可情報を、前記識別情報の送信元である前記第2のノード装置に対してそれぞれ判定情報として返信する判定情報返信手段を有し、前記第2のノード装置は、前記情報記憶ノード装置から前記判定情報として前記不可情報を受信した場合であって、当該第2のノード装置自身が前記管理ノード装置でない場合には、前記識別情報転送手段は、当該第2のノード装置と前記管理ノード装置の中間に介在するノード装置に対して、或いは当該中間に介在するノード装置が無い場合には前記管理ノード装置に対して前記識別情報を転送することを特徴とする。
これによれば、コンテンツノード等の情報記憶ノード装置にて、所望のコンテンツ等の特定共用情報を配信できるか否かを判定するよう判定手段を設け、配信できない場合には、配信不可情報等の不可情報をコンテンツID等の識別情報の送信元であるルートノード或いはキャッシュノード等の第2のノード装置に送信するよう構成したので、識別情報の送信元である第2のノード装置が、情報記憶ノード装置が特定共用情報を配信できないことを認識できる
上記課題を解決するために、請求項に記載の発明は、請求項に記載の情報配信システムにおいて、前記第1のノード装置における前記識別情報送信手段は、前記第2のノード装置に対して、少なくとも1以上の前記情報記憶ノード装置に関する関連情報の送信を要求すべく、前記特定共用情報に対応する固有の識別情報を送信し、前記第1のノード装置における前記情報受信手段は、前記情報記憶ノード装置から当該情報記憶ノード装置に関する前記関連情報を受信し、前記第1のノード装置における前記配信要求手段は、前記情報記憶ノード装置のうち、前記受信した関連情報に基づいて選定した情報記憶ノード装置に前記特定共用情報の配信を要求し、前記第2のノード装置における前記識別情報転送手段は、前記ノード情報検索手段による検索の結果、前記記憶手段に前記識別情報に対応するノード情報がある場合には、当該ノード情報によって示される前記情報記憶ノード装置に対して前記関連情報を前記第1のノード装置に送信するよう指示すべく前記識別情報を転送し、前記情報記憶ノード装置における前記判定手段は、前記第2のノード装置から前記識別情報を受信して前記関連情報の送信の指示を受けると、当該受信した識別情報によって示される前記特定共用情報を前記第1のノード装置に送信可能か否かを判定し、前記情報記憶ノード装置における前記情報送信手段は、前記判定手段による判定の結果、送信可能である場合には、前記第1のノード装置に対して当該情報記憶ノード装置に関する前記関連情報を送信し、前記識別情報は、前記関連情報の要求数を示す要求数情報を含み、前記第2のノード装置は、前記要求数から前記情報記憶ノード装置から受信した前記可情報の数を減算して前記要求数を更新する更新手段を有し、かつ前記識別情報転送手段は、前記更新の結果、前記要求数が1以上である場合に前記更新された要求数を新たな要求数情報として前記識別情報に含んで当該識別情報を前記第2のノード装置と前記管理ノード装置の中間に介在するノード装置に対して、或いは当該中間に介在するノード装置が無い場合には前記管理ノード装置に対して転送することを特徴とする。
これによれば、リクエストノード等の第1のノード装置にて要求数を自由に設定してコンテンツID等の識別情報に含んで送信するよう構成したので、当該識別情報を転送する際に、ルートノード或いはキャッシュノード等の第2のノード装置では、コンテンツノード等の情報記憶ノード装置から配信可能情報等の可情報を受信した数を減算して要求数を更新して転送することができるため、第1のノード装置は、第1のノード装置が要求する数の関連情報を取得することが可能になる。従って、関連情報の要求数を多く設定すれば、検索範囲が広がり、より適切な情報記憶ノード装置を選定できるという利点があり、関連情報の要求数を少なく設定すれば、検索範囲が狭くなるので、より迅速に1つの情報記憶ノード装置を選定できるという利点があるので、第1のノード装置のユーザが自在に設定可能となる。
上記課題を解決するために、請求項に記載の発明は、請求項又は請求項に記載の情報配信システムにおいて、前記第2のノード装置は、前記情報記憶ノード装置から前記判定情報を受信するための待機時間を設定する待機時間設定手段を有し、前記識別情報転送手段は、前記待機時間を経過してもなお前記判定情報の返信が無い前記情報記憶ノード装置からは、前記不可情報が受信されたと判断することを特徴とする。
これによれば、ルートノード或いはキャッシュノード等の第2のノード装置は、待機時間を設定し、一定の時間が経過すると、コンテンツノード等の情報記憶ノード装置から配信不可情報等の不可情報を受信したものと同様の処理を行なうよう構成したので、情報記憶ノード装置が完全にダウンしている場合など、何らかのトラブルが生じた場合でも適切に処理を行なうことができる。
上記課題を解決するために、請求項に記載の発明は、請求項乃至請求項のいずれか一項に記載の情報配信システムにおいて、前記第1のノード装置における前記識別情報送信手段は、前記第2のノード装置に対して、少なくとも1以上の前記情報記憶ノード装置に関する関連情報の送信を要求すべく、前記特定共用情報に対応する固有の識別情報を送信し、前記第1のノード装置における前記情報受信手段は、前記情報記憶ノード装置から当該情報記憶ノード装置に関する前記関連情報を受信し、前記第1のノード装置における前記配信要求手段は、前記情報記憶ノード装置のうち、前記受信した関連情報に基づいて選定した情報記憶ノード装置に前記特定共用情報の配信を要求し、前記第2のノード装置における前記識別情報転送手段は、前記ノード情報検索手段による検索の結果、前記記憶手段に前記識別情報に対応するノード情報がある場合には、当該ノード情報によって示される前記情報記憶ノード装置に対して前記関連情報を前記第1のノード装置に送信するよう指示すべく前記識別情報を転送し、前記情報記憶ノード装置における前記判定手段は、前記第2のノード装置から前記識別情報を受信して前記関連情報の送信の指示を受けると、当該受信した識別情報によって示される前記特定共用情報を前記第1のノード装置に送信可能か否かを判定し、前記情報記憶ノード装置における前記情報送信手段は、前記判定手段による判定の結果、送信可能である場合には、前記第1のノード装置に対して当該情報記憶ノード装置に関する前記関連情報を送信し、前記関連情報は、前記ネットワークにおける通信経路の負荷に関する通信負荷情報を含み、前記第1のノード装置における前記配信要求手段は、複数の前記情報記憶ノード装置から前記関連情報を受信した場合には、当該関連情報に含まれる前記通信負荷情報に基づいて通信負荷を比較し、前記通信負荷が相対的に小さい前記通信経路を介して接続された前記情報記憶ノード装置を選定し、当該選定した情報記憶ノード装置に前記特定共用情報の配信を要求することを特徴とする。
これによれば、コンテンツノード等の情報記憶ノード装置では、関連情報としてネットワークにおける通信経路の負荷に関するTTL等の通信負荷情報をリクエストノード等の第1のノード装置に送信するため、第1のノード装置で当該通信負荷情報に基づいて各情報記憶ノード装置の通信負荷を比較し、通信負荷が相対的に小さい通信経路を介して接続された情報記憶ノード装置を選定することが可能になり、情報記憶ノード装置から第1のノード装置にコンテンツ当の共用情報を配信する際に小さい負荷で配信でき、かつ、システム全体の通信負荷の低減を図ることが可能になる。
上記課題を解決するために、請求項に記載の発明は、請求項に記載の情報配信システムにおいて、前記通信負荷情報は、IPパケット中のTTL(Time To Live)フィールドであることを特徴とする。
これによれば、通信負荷情報としてTTL(Time To Live)情報を利用することができ、容易にコンテンツノード等の情報記憶ノード装置とリクエストノード等の第1のノード装置の間の通信負荷に関する情報を取得することができる。
上記課題を解決するために、請求項10に記載の発明は、ネットワークを構築して互いに接続された複数のノード装置を備えた情報配信システムを構成する前記複数のノード装置に含まれる第1のノード装置から、前記複数のノード装置間で共用されるべき共用情報のうち特定の共用情報である特定共用情報を記憶する少なくとも1以上の情報記憶ノード装置に前記特定共用情報の送信を要求すべく、前記第1のノード装置から送信された前記特定共用情報に対応する固有の識別情報を受信する前記複数のノード装置に含まれる第2のノード装置において、前記識別情報と、当該識別情報に対応する共用情報を記憶する前記情報記憶ノード装置を示すノード情報と、をそれぞれ対応付けて記憶する記憶手段と、前記識別情報を受信して前記特定共用情報の要求を受けると、前記記憶手段を参照して当該受信した識別情報に対応する前記ノード情報を検索するノード情報検索手段と、前記ノード情報検索手段による検索の結果、前記記憶手段に前記識別情報に対応するノード情報がある場合には、当該ノード情報によって示される前記情報記憶ノード装置に対して前記特定共用情報を前記第1のノード装置に送信するよう指示すべく、かつ当該情報記憶ノード装置に関する関連情報を前記第1のノード装置に送信するよう指示すべく、前記識別情報を転送する識別情報転送手段と、を有し、前記情報記憶ノード装置から前記特定共用情報を送信可能か否かを示す判定情報として、送信不可能であることを示す不可情報を受信した場合であって、当該第2のノード装置自身が、前記特定共用情報の管理元である管理ノード装置でない場合には、前記識別情報転送手段は、当該第2のノード装置と前記管理ノード装置の中間に介在するノード装置に対して、或いは当該中間に介在するノード装置が無い場合には前記管理ノード装置に対して前記識別情報を転送し、前記識別情報は、前記関連情報の要求数を示す要求数情報を含み、前記要求数から前記情報記憶ノード装置から受信した送信可能であることを示す可情報の数を減算して前記要求数を更新する更新手段を有し、かつ前記識別情報転送手段は、前記更新の結果、前記要求数が1以上である場合に前記更新された要求数を新たな要求数情報として前記識別情報に含んで、当該識別情報を、前記第2のノード装置と前記管理ノード装置の中間に介在するノード装置に対して、或いは当該中間に介在するノード装置が無い場合には前記管理ノード装置に対して転送することを特徴とする。
上記課題を解決するために、請求項11に記載の発明は、ネットワークを構築して互いに接続された複数のノード装置を備えた情報配信システムを構成する前記複数のノード装置に含まれる第1のノード装置から、前記複数のノード装置間で共用されるべき共用情報のうち特定の共用情報である特定共用情報を記憶する少なくとも1以上の情報記憶ノード装置に関する関連情報の送信の要求を受ける前記複数のノード装置に含まれる第2のノード装置において、前記識別情報と、当該識別情報に対応する共用情報を記憶する前記情報記憶ノード装置を示すノード情報と、をそれぞれ対応付けて記憶する記憶手段と、前記識別情報を受信して前記特定共用情報の要求を受けると、前記記憶手段を参照して当該受信した識別情報に対応する前記ノード情報を検索するノード情報検索手段と、前記ノード情報検索手段による検索の結果、前記記憶手段に前記識別情報に対応するノード情報がある場合には、当該ノード情報によって示される前記情報記憶ノード装置に対して、当該情報記憶ノード装置に関する前記関連情報を前記第1のノード装置に送信するよう指示すべく前記識別情報を転送する識別情報転送手段と、を有し、前記情報記憶ノード装置から前記特定共用情報を送信可能か否かを示す判定情報として、送信不可能であることを示す不可情報を受信した場合であって、当該第2のノード装置自身が、前記特定共用情報の管理元である管理ノード装置でない場合には、前記識別情報転送手段は、当該第2のノード装置と前記管理ノード装置の中間に介在するノード装置に対して、或いは当該中間に介在するノード装置が無い場合には前記管理ノード装置に対して前記識別情報を転送し、前記識別情報は、前記関連情報の要求数を示す要求数情報を含み、前記要求数から前記情報記憶ノード装置から受信した送信可能であることを示す可情報の数を減算して前記要求数を更新する更新手段を有し、かつ前記識別情報転送手段は、前記更新の結果、前記要求数が1以上である場合に前記更新された要求数を新たな要求数情報として前記識別情報に含んで、当該識別情報を、前記第2のノード装置と前記管理ノード装置の中間に介在するノード装置に対して、或いは当該中間に介在するノード装置が無い場合には前記管理ノード装置に対して転送することを特徴とする。
上記課題を解決するために、請求項12に記載の発明は、請求項10又は請求項11に記載の第2のノード装置において、前記識別情報転送手段は、前記ノード情報検索手段による検索の結果、前記記憶手段に前記識別情報に対応するノード情報が無い場合であって、かつ当該第2のノード装置自身が、前記特定共用情報の管理元である管理ノード装置でない場合には、当該第2のノード装置と前記管理ノード装置の中間に介在するノード装置に対して、或いは当該中間に介在するノード装置が無い場合には前記管理ノード装置に対して前記受信した識別情報を転送することを特徴とする。
上記課題を解決するために、請求項13に記載の発明は、請求項10又は請求項11に記載の第2のノード装置において、前記ノード情報検索手段による検索の結果、前記記憶手段に前記識別情報に対応するノード情報が無い場合であって、かつ当該第2のノード装置自身が、前記特定共用情報の管理元である管理ノード装置である場合には、前記第1のノード装置に対して前記特定共用情報が無いことを回答するエラー回答手段を有することを特徴とする。
上記課題を解決するために、請求項14に記載の発明は、請求項10乃至請求項13のいずれか一項に記載の第2のノード装置において、前記情報記憶ノード装置から前記判定情報を受信するための待機時間を設定する待機時間設定手段を有し、前記識別情報転送手段は、前記待機時間を経過してもなお前記判定情報の返信が無い前記情報記憶ノード装置からは、前記不可情報が受信されたと判断することを特徴とする。
上記課題を解決するために、請求項15に記載の発明は、ネットワークを構築して互いに接続された複数のノード装置を備えた情報配信システムに含まれる情報記憶ノード装置であって、前記複数のノード装置間で共用されるべき共用情報のうち、前記複数のノード装置に含まれる第1のノード装置によって特定された共用情報である特定共用情報を記憶する前記情報記憶ノード装置において、前記第1のノード装置から、前記複数のノード装置に含まれる第2のノード装置を介して前記特定共用情報に対応する固有の識別情報を受信して前記共用情報の送信の指示を受けると、当該受信した識別情報によって示される前記特定共用情報を前記第1のノード装置に送信可能か否かを判定する判定手段と、前記判定手段による判定の結果、送信可能である場合には、前記第1のノード装置に対して前記情報記憶ノード装置を示すノード情報を送信する情報送信手段と、前記第1のノード装置から前記特定共用情報の配信要求を受けた場合には、前記第1のノード装置に対して前記特定共用情報を配信する配信手段と、を有することを特徴とする。
上記課題を解決するために、請求項16に記載の発明は、ネットワークを構築して互いに接続された複数のノード装置を備えた情報配信システムに含まれる情報記憶ノード装置であって、前記複数のノード装置間で共用されるべき共用情報のうち、前記複数のノード装置に含まれる第1のノード装置によって特定された共用情報である特定共用情報を記憶する前記情報記憶ノード装置において、前記第1のノード装置から、前記複数のノード装置に含まれる第2のノード装置を介して前記特定共用情報に対応する固有の識別情報を受信して当該情報記憶ノード装置に関する関連情報の送信の指示を受けると、当該受信した識別情報によって示される前記特定共用情報を前記第1のノード装置に送信可能か否かを判定する判定手段と、前記判定手段による判定の結果、送信可能である場合には、前記第1のノード装置に対して前記関連情報を送信する情報送信手段と、前記第1のノード装置から前記特定共用情報の配信要求を受けた場合には、前記第1のノード装置に対して前記特定共用情報を配信する配信手段と、を有することを特徴とする。
上記課題を解決するために、請求項17に記載の発明は、請求項15又は請求項16に記載の情報記憶ノード装置において、前記判定手段により送信可能であると判定された場合には可情報を、前記送信不可能であると判定された場合には不可情報を、前記識別情報の送信元である前記第2のノード装置に対してそれぞれ判定情報として返信する判定情報返信手段を有することを特徴とする。
上記課題を解決するために、請求項18に記載の発明は、請求項16又は請求項17に記載の情報記憶ノード装置において、前記判定手段は、前記第1のノード装置から、前記第2のノード装置を介して前記特定共用情報に対応する固有の識別情報を受信して当該情報記憶ノード装置に関する関連情報の送信の指示を受けると、当該受信した識別情報によって示される前記特定共用情報を前記第1のノード装置に送信可能か否かを判定し、前記情報送信手段は、前記判定手段による判定の結果、送信可能である場合には、前記第1のノード装置に対して前記関連情報を送信し、前記関連情報は、前記ネットワークにおける通信経路の負荷に関する通信負荷情報を含むことを特徴とする。
上記課題を解決するために、請求項19に記載の発明は、請求項18に記載の情報記憶ノード装置において、前記通信負荷情報は、IPパケット中のTTL(Time To Live)フィールドであることを特徴とする。
上記課題を解決するために、請求項20に記載の発明は、ネットワークを構築して互いに接続された複数のノード装置を備えた情報配信システムを構成する前記複数のノード装置に含まれる第1のノード装置から、前記複数のノード装置間で共用されるべき共用情報のうち特定の共用情報である特定共用情報を記憶する少なくとも1以上の情報記憶ノード装置に前記特定共用情報の送信を要求すべく、前記第1のノード装置から送信された前記特定共用情報に対応する固有の識別情報を受信する前記複数のノード装置に含まれる第2のノード装置に含まれるコンピュータを、前記識別情報と、当該識別情報に対応する共用情報を記憶する前記情報記憶ノード装置を示すノード情報と、をそれぞれ対応付けて記憶する記憶手段、前記識別情報を受信して前記特定共用情報の要求を受けると、前記記憶手段を参照して当該受信した識別情報に対応する前記ノード情報を検索するノード情報検索手段、前記ノード情報検索手段による検索の結果、前記記憶手段に前記識別情報に対応するノード情報がある場合には、当該ノード情報によって示される前記情報記憶ノード装置に対して前記特定共用情報を前記第1のノード装置に送信するよう指示すべく、かつ当該情報記憶ノード装置に関する関連情報を前記第1のノード装置に送信するよう指示すべく、前記識別情報を転送する識別情報転送手段、前記情報記憶ノード装置から前記特定共用情報を送信可能か否かを示す判定情報を受信する判定情報受信手段として機能させ、前記判定情報が送信不可能であることを示す不可情報を受信した場合であって、前記第2のノード装置が、前記特定共用情報の管理元である管理ノード装置でない場合には、前記識別情報転送手段を、当該第2のノード装置と前記管理ノード装置の中間に介在するノード装置に対して、或いは当該中間に介在するノード装置が無い場合には前記管理ノード装置に対して前記識別情報を転送するよう機能させ、前記識別情報は、前記関連情報の要求数を示す要求数情報を含み、前記コンピュータを、前記要求数から前記情報記憶ノード装置から受信した送信可能であることを示す可情報の数を減算して前記要求数を更新する更新手段として機能させ、前記識別情報転送手段を、前記更新の結果、前記要求数が1以上である場合に前記更新された要求数を新たな要求数情報として前記識別情報に含んで、当該識別情報を、前記第2のノード装置と前記管理ノード装置の中間に介在するノード装置に対して、或いは当該中間に介在するノード装置が無い場合には前記管理ノード装置に対して転送するよう機能させることを特徴とする。
上記課題を解決するために、請求項21に記載の発明は、ネットワークを構築して互いに接続された複数のノード装置を備えた情報配信システムを構成する前記複数のノード装置に含まれる第1のノード装置から、前記複数のノード装置間で共用されるべき共用情報のうち特定の共用情報である特定共用情報を記憶する少なくとも1以上の情報記憶ノード装置に関する関連情報の送信の要求を受ける前記複数のノード装置に含まれる第2のノード装置に含まれるコンピュータを、前記識別情報と、当該識別情報に対応する共用情報を記憶する前記情報記憶ノード装置を示すノード情報と、をそれぞれ対応付けて記憶する記憶手段、前記識別情報を受信して前記特定共用情報の要求を受けると、前記記憶手段を参照して当該受信した識別情報に対応する前記ノード情報を検索するノード情報検索手段、前記ノード情報検索手段による検索の結果、前記記憶手段に前記識別情報に対応するノード情報がある場合には、当該ノード情報によって示される前記情報記憶ノード装置に対して、当該情報記憶ノード装置に関する前記関連情報を前記第1のノード装置に送信するよう指示すべく前記識別情報を転送する識別情報転送手段、前記情報記憶ノード装置から前記特定共用情報を送信可能か否かを示す判定情報を受信する判定情報受信手段として機能させ、前記判定情報が送信不可能であることを示す不可情報を受信した場合であって、前記第2のノード装置が、前記特定共用情報の管理元である管理ノード装置でない場合には、前記識別情報転送手段を、当該第2のノード装置と前記管理ノード装置の中間に介在するノード装置に対して、或いは当該中間に介在するノード装置が無い場合には前記管理ノード装置に対して前記識別情報を転送するよう機能させ、前記識別情報は、前記関連情報の要求数を示す要求数情報を含み、前記コンピュータを、前記要求数から前記情報記憶ノード装置から受信した送信可能であることを示す可情報の数を減算して前記要求数を更新する更新手段として機能させ、前記識別情報転送手段を、前記更新の結果、前記要求数が1以上である場合に前記更新された要求数を新たな要求数情報として前記識別情報に含んで、当該識別情報を、前記第2のノード装置と前記管理ノード装置の中間に介在するノード装置に対して、或いは当該中間に介在するノード装置が無い場合には前記管理ノード装置に対して転送するよう機能させることを特徴とする。
上記課題を解決するために、請求項22に記載の発明は、請求項20又は請求項21に記載の転送プログラムにおいて、前記識別情報転送手段を、前記ノード情報検索手段による検索の結果、前記記憶手段に前記識別情報に対応するノード情報が無い場合であって、かつ当該第2のノード装置自身が、前記特定共用情報の管理元である管理ノード装置でない場合には、当該第2のノード装置と前記管理ノード装置の中間に介在するノード装置に対して、或いは当該中間に介在するノード装置が無い場合には前記管理ノード装置に対して前記受信した識別情報を転送するよう機能させることを特徴とする。
上記課題を解決するために、請求項23に記載の発明は、請求項20又は請求項21に記載の転送プログラムにおいて、前記コンピュータを、前記ノード情報検索手段による検索の結果、前記記憶手段に前記識別情報に対応するノード情報が無い場合であって、かつ当該第2のノード装置自身が、前記特定共用情報の管理元である管理ノード装置である場合には、前記第1のノード装置に対して前記特定共用情報が無いことを回答するエラー回答手段として更に機能させることを有することを特徴とする。
上記課題を解決するために、請求項24に記載の発明は、請求項20乃至請求項23のいずれか一項に記載の転送プログラムにおいて、前記コンピュータを、前記情報記憶ノード装置から前記判定情報を受信するための待機時間を設定する待機時間設定手段として機能させ、前記識別情報転送手段及び前記エラー回答手段を前記待機時間を経過してもなお前記判定情報の返信が無い前記情報記憶ノード装置からは、前記不可情報が受信されたと判断するよう機能させることを特徴とする。
上記課題を解決するために、請求項25に記載の発明は、ネットワークを構築して互いに接続された複数のノード装置を備えた情報配信システムに含まれる情報記憶ノード装置であって、前記複数のノード装置間で共用されるべき共用情報のうち、前記複数のノード装置に含まれる第1のノード装置によって特定された共用情報である特定共用情報を記憶する前記情報記憶ノード装置に含まれるコンピュータを、前記第1のノード装置から、前記複数のノード装置に含まれる第2のノード装置を介して前記特定共用情報に対応する固有の識別情報を受信して前記共用情報の送信の指示を受けると、当該受信した識別情報によって示される前記特定共用情報を前記第1のノード装置に送信可能か否かを判定する判定手段、前記判定手段による判定の結果、送信可能である場合には、前記第1のノード装置に対して前記情報記憶ノード装置を示すノード情報を送信する情報送信手段、前記第1のノード装置から前記特定共用情報の配信要求を受けた場合には、前記第1のノード装置に対して前記特定共用情報を配信する配信手段として機能させることを特徴とする。
上記課題を解決するために、請求項26に記載の発明は、ネットワークを構築して互いに接続された複数のノード装置を備えた情報配信システムに含まれる情報記憶ノード装置であって、前記複数のノード装置間で共用されるべき共用情報のうち、前記複数のノード装置に含まれる第1のノード装置によって特定された共用情報である特定共用情報を記憶する前記情報記憶ノード装置に含まれるコンピュータを、前記第1のノード装置から、前記複数のノード装置に含まれる第2のノード装置を介して前記特定共用情報に対応する固有の識別情報を受信して当該情報記憶ノード装置に関する関連情報の送信の指示を受けると、当該受信した識別情報によって示される前記特定共用情報を前記第1のノード装置に送信可能か否かを判定する判定手段、前記判定手段による判定の結果、送信可能である場合には、前記第1のノード装置に対して前記関連情報を送信する情報送信手段、前記第1のノード装置から前記特定共用情報の配信要求を受けた場合には、前記第1のノード装置に対して前記特定共用情報を配信する配信手段として機能させることを特徴とする。
上記課題を解決するために、請求項27に記載の発明は、請求項25又は請求項26に記載の配信プログラムにおいて、前記コンピュータを、前記判定手段により送信可能であると判定された場合には可情報を、前記送信不可能であると判定された場合には不可情報を、前記識別情報の送信元である前記第2のノード装置に対してそれぞれ判定情報として返信する判定情報返信手段として機能させることを特徴とする。
上記課題を解決するために、請求項28に記載の発明は、請求項26又は請求項27に記載の配信プログラムにおいて、前記判定手段を、前記第1のノード装置から、前記第2のノード装置を介して前記特定共用情報に対応する固有の識別情報を受信して当該情報記憶ノード装置に関する関連情報の送信の指示を受けると、当該受信した識別情報によって示される前記特定共用情報を前記第1のノード装置に送信可能か否かを判定するよう機能させ、前記情報送信手段を、前記判定手段による判定の結果、送信可能である場合には、前記第1のノード装置に対して前記関連情報を送信するよう機能させ、前記関連情報は、前記ネットワークにおける通信経路の負荷に関する通信負荷情報を含むことを特徴とする。
上記課題を解決するために、請求項29に記載の発明は、請求項28に記載の配信プログラムにおいて、前記通信負荷情報は、IPパケット中のTTL(Time To Live)フィールドであることを特徴とする。
本発明の一の観点によれば、リクエストノードがコンテンツを記憶するコンテンツノード等の情報記憶ノード装置に対してコンテンツの配信要求をする際に、リクエストノードは、情報記憶ノード装置から当該情報記憶ノード装置を示すノード情報を受信し、ノード情報を受信した情報記憶ノード装置に対して配信要求を行なうよう構成したので、適切な情報記憶ノード装置から共用情報の配信を受けることが可能になる。
本発明の他の観点によれば、リクエストノードがコンテンツを記憶するコンテンツノード等の情報記憶ノード装置に対してコンテンツの配信要求をする際に、リクエストノードは、複数の情報記憶ノード装置から当該情報記憶ノード装置に関する関連情報を受信し、当該複数の情報記憶ノード装置からの関連情報に基づいて配信に最適な情報記憶ノード装置を選定して、当該選定された情報記憶ノード装置に対して配信要求を行なうよう構成したので、適切な情報記憶ノード装置から共用情報の配信を受けることが可能になる。
以下、本発明の最良の実施形態を図面に基づいて説明する。なお、以下に説明する実施の形態は、コンテンツ配信システムに対して本発明を適用した場合の実施形態である。
[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が、当該コンテンツデータを保存するか、あるいは、その所在情報を管理する。これにより、コンテンツデータを偏りなくコンテンツ配信システム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を有するコンテンツデータのルートノードである。
また、「あるコンテンツIDを有するコンテンツデータを管理するノード装置は、そのコンテンツIDに近いノードIDを有するノード装置1である」という規則の下にコンテンツデータとルートノードの対が作成された場合であっても、あるコンテンツデータのルートノードが突然機能停止したり、或いはコンテンツデータが保存されているノード装置(以下、単に「コンテンツノード」という。)にて当該コンテンツデータが消滅してしまう場合が考えられる。このような場合であっても、ルートノードが、コンテンツデータの生存を確認し、自己のインデックス情報等を更新しない限り、ルートノードの管理するコンテンツデータの情報はいつまでも残ることになる。そして、当該コンテンツデータが一旦は消滅したものの、再度同一コンテンツデータを登録する際には、改めて上記規則の下に再度ルートノードが選び出されることとなり、新しいノード装置の参加等によって以前のルートノードとは異なるノード装置が新しいルートノードとして選び出されることもありうる。
従って、「あるコンテンツIDを有するコンテンツデータを管理するノード装置は、そのコンテンツIDに近いノードIDを有するノード装置1である」という規則の下にコンテンツデータとルートノードの対が作成された場合であっても、コンテンツ配信システムSが何百台何千台・・・と膨大なネットワークを構築していくに従って、ノード装置のコンテンツ配信システムSからの脱退(ノード装置の電源断や故障、或いはネットワークの部分的な切断等による)及び参加が行なわれる頻度が高く、しかも、コンテンツデータのノード装置への新たな保存又は消去が行なわれる頻度が高くなるため、あるコンテンツデータの保存元であるコンテンツノードを知っているノード装置は1つではなく、現実的には多数のノード装置が存在することとなる。
また、あるコンテンツデータを保持するノード装置(コンテンツノード)は1台とは限らない。多数のノード装置が同一のコンテンツを保持してコンテンツ配信システムSにそれぞれ参加する場合がある。このような場合も、各ノード装置が当該コンテンツ配信システムSに参加する夫々のタイミングの状況下によってルートノードとなるべきノード装置が別々に決定されることもあるため、結果としてあるノード装置が同一のコンテンツデータを保持しているノード装置(コンテンツノード)を2つ以上知っている場合もある。
[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によりコンテンツノードが検索される様子の一例を示す図である。
ここでは、ノードID「12003030」のノード装置1−1(以下、「リクエストノード」と言う。)が、コンテンツID「31330012」を有するコンテンツデータを保持するコンテンツノードを探す際の手順について説明する。なお、同図に示す如くコンテンツID「31330012」を保持するコンテンツノードのノードIDは「00213000」である。
図5において、リクエストノードからコンテンツID「31330012」を有するコンテンツデータを管理するノード装置1−5(すなわちルートノード)に至る経路を実線矢印で表すが、この経路の途中のノード装置1−4を、当該ルートノードが記憶しているインデックス情報をキャッシュとして保持するキャッシュノードとする。
まず、リクエストノードは、コンテンツID「31330012」と同じエリアのノードIDを持つノード装置に対してコンテンツ問い合わせ情報(以下、「コンテンツ問い合わせ情報」を「クエリ」と言う。)を送信する。
ここで、リクエストノードが送信するクエリについて説明する。
クエリには、所望のコンテンツを示すコンテンツID「31330012」だけでなく、当該リクエストノードのIPアドレス情報と、コンテンツノードの関連情報をいくつ要求するかを示す要求数情報も含まれる。すなわち、同一のコンテンツデータがコンテンツ配信システムSの中に複数個存在する場合が考えられるが、このような場合、リクエストノードは、コンテンツ配信を要求する際に、所望のコンテンツを保持する複数のコンテンツノードの中から配信に最適な1つのコンテンツノードを選び出し(選定)、当該選定された1つのコンテンツノードに対して配信を要求するよう構成されている。
このとき、リクエストノードにて1つのコンテンツノードを選び出す際の基準となるものが、コンテンツノードの関連情報に含まれる通信負荷情報である。この通信負荷情報は、一例としてリクエストノードとコンテンツノードとの間の通信経路(ネットワーク)のネットワーク的距離の近さを示す情報(例えばIPパケット中のTTL(Time To Live)フィールドが元の値からいくつ減るか等)が挙げられる。
このように、リクエストノードは、所望のコンテンツを示すコンテンツIDだけでなく、リクエストノードのIPアドレス情報と、コンテンツノードの関連情報を要求する数を示す要求数情報も一緒にクエリに含めて送信し、当該要求数に応じた数の複数のコンテンツノードから受信した関連情報に基づいて、より具体的には、関連情報に含まれるTTL減少量等の通信負荷情報に基づいて選定した1つのコンテンツノードに対してコンテンツの配信を要求するよう構成する。
なお、以下に図5を用いて説明するコンテンツデータの検索手法においては、ネットワーク上をクエリが転送されることでコンテンツデータを見つけ出すことができることをわかりやすく説明するため、上記要求数は「2」であって、発見されたコンテンツデータが何れも配信可能に各コンテンツノードに保持されているものとして説明する。
まず、リクエストノードは、自己が保持しているルーティングテーブルのレベル1のテーブルを参照して、コンテンツID「31330012」と同じエリアのノードIDを持つノード装置に対して要求数を「2」とする要求数情報を含むクエリを送信する。つまり、コンテンツID「31330012」は「3XXXXXXX」のエリアであるため、当該「3XXXXXXX」のエリアに属すノード装置1のうち、IPアドレスを知っている(すなわち、自己が保持しているルーティングテーブルにIPアドレスが記憶されている)ノード装置1-2に対してクエリを送信する。
図5に示す例に拠れば、ノードIDが「30100000」であるノード装置1-2のIPアドレスがリクエストノードのルーティングテーブルに記憶されていたので、リクエストノードは、ノードIDが「30100000」であるノード装置1-2に対してクエリを送信する。
次に、クエリを受信したノード装置1-2は、当該ノード装置1-2自身が保持しているインデックス情報を参照して、コンテンツID「31330012」に対応するコンテンツノードの情報の有無を確認し、無い場合には、当該ノード装置1-2自身が保持しているルーティングテーブルのレベル2のテーブルを参照して、「31XXXXXX」のエリアに属すノード装置1のうち、IPアドレスを知っているノード装置1-3(ノードID「31012001」)に対してクエリを転送する。
このように、上流のノード装置、すなわち自己とルートノードの中間に介在するノード装置に対してクエリを転送し、コンテンツIDの桁を上から順に適合していく要領でルートノードへ近づいていく。
そして、ノード装置1-2からクエリを受信したノード装置1-3は、当該ノード装置1-3自身が保持しているインデックス情報を参照して、コンテンツID「31330012」に対応するコンテンツノードの情報の有無を確認する。無い場合には、当該ノード装置1-3自身が保持しているルーティングテーブルのレベル3のテーブルを参照して、「313XXXXX」のエリアに属すノード装置1のうち、IPアドレスを知っているノード装置1-4(ノードID「31320100」)に対してクエリを転送する。
そして、ノード装置1-3からクエリを受信したノード装置1-4は、当該ノード装置1-4自身が保持しているインデックス情報を参照して、コンテンツID「31330012」に対応するコンテンツノードの情報の有無を確認する。ノード装置1−4は、上記キャッシュノードであるため、コンテンツノードの情報を少なくとも一つは取得することができる。そして、当該コンテンツノード(ノード装置1-6)に対してリクエストノードに関連情報を送信するよう指示する指示情報を付加したクエリを転送し、当該コンテンツノードから配信可能情報を受信した上で、クエリに含まれる要求数情報を要求数が「2」から「1」となるように更新する。そして、当該ノード装置1-4自身が保持しているルーティングテーブルのレベル4のテーブルを参照して、「3133XXXX」のエリアに属すノード装置1のうち、IPアドレスを知っているノード装置1-5すなわちルートノードに対して更新後の要求数情報を含むクエリを転送する。なお、要求数情報は、要求数の他に、更新履歴として、クエリ転送済みコンテンツノードのIPアドレス情報、大元のリクエスタが出した要求数(これは更新されない)を含む。元の要求数と現在の要求数が異なっていれば、更新を経験したクエリであることが分かる。
最終的に当該コンテンツデータを管理するノード装置1−5、すなわちルートノードに辿り着くと、当該ルートノードは、クエリに含まれるコンテンツID「31330012」を元に自身が管理しているインデックス情報を検索し、未だクエリが送信されていないコンテンツノードであって、コンテンツID「31330012」に対応するコンテンツノードの情報の有無を確認する。そして、コンテンツノード(ノード装置1-7)を発見すると、当該コンテンツノードに対してリクエストノードに関連情報を送信するよう指示する指示情報を付加したクエリを転送する。
そして、クエリを受信したコンテンツノード(ノード装置1-6及びノード装置1-7)のそれぞれからリクエストノードに向けて関連情報が図5中一点鎖線で示す如く送信する。リクエストノードでは、受信した関連情報に含まれるIPパケット中のTTL(Time To Live)フィールドの減少量等の通信負荷情報に基づいてコンテンツノードを選定し、該コンテンツノード(図5に示す例に拠ればノード装置1-6)に対してコンテンツの配信を要求する配信要求を図5中破線矢印で示す如く送信する。
このように、確実に存在していることを、関連情報を受信することで確認した上で配信要求を行なうことができ、更にコンテンツ配信システムS中に任意のコンテンツを有するコンテンツノードが複数存在している場合にも適用できる。
更には、複数のコンテンツノードの関連情報を要求することで(要求数を複数とする)、当該複数のコンテンツノードの中から送信された各関連情報を比較してより適切なコンテンツノードを1つ選択して送信することができる。
[1−4.コンテンツデータの登録方法]
このような構成のコンテンツ配信システムSの中で、例えば、あるノード装置1が新しいコンテンツデータを、コンテンツ配信システムS上の他のノード装置に見えるように公開する際の手法について述べる。このノード装置1がコンテンツを保持する(記憶する)情報記憶ノード装置としてのコンテンツノードとなる。
当該コンテンツノードは、コンテンツのタイトル等からコンテンツIDを求め、当該コンテンツIDと同じノードIDを持つノード装置に向けて(このノード装置が実在するか否かはこの時点ではわからない。)公開メッセージを送信する。そして、この公開メッセージも、上記クエリと同様にルーティングテーブルに従って、次々と転送されていき、当該公開メッセージに含まれるコンテンツIDに最も近いノードIDを有するノード装置1まで転送されたところで、そのノード装置1はもはや送信先のノード装置が他にないと判断すると、当該ノード装置1自身がそのコンテンツのルートノードとなるべきだと判断し、当該コンテンツID、補助情報(タイトル、ジャンル等の属性情報や、監督名等の著作権情報等)及びコンテンツノードのIPアドレスをインデックス情報として記憶する。
[2.ノード装置の構成等]
次に、図6を参照して、ノード装置1の構成及び機能について説明する。尚、各ノード装置1は、それぞれが行なう処理によってコンテンツの所在を問い合わせる第1のノード装置としてのリクエストノード、当該リクエストノードや経路上の端末からクエリを受信する第2のノード装置としてのキャッシュノード、当該コンテンツを管理する第2のノード装置及び管理ノード装置としてのルートノード、リクエストノードによって問い合わせの対象とされている特定共用情報としてのコンテンツを保持する情報記憶ノード装置としてのコンテンツノードとして作用するが、その構成は同じである。
図6は、ノード装置1の概要構成例を示す図である。
各ノード装置1は、図6に示すように、演算機能を有するCPU,作業用RAM,各種データ及びプログラムを記憶するROM等から構成されたコンピュータとしての制御部11と、上記コンテンツデータ、上記インデックス情報、上記DHT及びプログラム等を記憶保存(格納)するためのHDD等から構成された記憶手段としての記憶部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のノード装置としてのリクエストノード、第2のノード装置としてのキャッシュノード、第2のノード装置及び管理ノード装置としてのルートノード、情報記憶ノード装置としてのコンテンツノードとしてノード装置1全体を統括制御するようになっている。
そして、ノード装置1がリクエストノードとして機能する際には、当該制御部11は、識別情報送信手段、関連情報受信手段及び配信要求手段として機能し、ノード装置1がキャッシュノード或いはルートノードとして機能する際には、当該制御部11は、記憶手段、ノード情報検索手段、識別情報転送手段及び待機時間設定手段として機能し、ノード装置1がコンテンツノードとして機能する際には、当該制御部11は、判定手段、関連情報送信手段、配信手段及び判定情報返信手段として機能する。
[3.コンテンツ配信システムの動作]
次に、コンテンツ配信システムSの各ノード装置の動作について説明する。
ここでは、リクエストノードがコンテンツ配信要求を行なう際のそれぞれのノードで行なわれる処理について詳細に説明するが、上述したように、コンテンツ配信システムSに含まれる全てのノード装置1は、リクエストノード、キャッシュノード、ルートノード、コンテンツノード、或いは経路上のノード等、その他のノード等、何れのノード装置にもなり得る。
例えば、ユーザがノード装置1に備えられた入力部21を操作することによって、特定共用情報としての所望のコンテンツデータの所在の問い合わせが指示されると、当該ノード装置1が第1のノード装置としてのリクエストノードとして機能する。また、当該リクエストノードや中間に介在するノード装置からクエリを受信してコンテンツデータの所在の問い合わせがされたノード装置1は、キャッシュノード、ルートノード等として機能し、また、ルートノード又はキャッシュノードから関連情報をリクエストノードに送信するよう指示する指示情報を付加したクエリを受信した場合にはコンテンツノードとして機能する。
以下に、それぞれのノードとして機能する際にノード装置1で行なわれる処理について図7乃至図12を用いて詳細に説明する。
[3−1.リクエストノードの処理]
先ず、図7及び図8を用いてリクエストノードの処理について説明する。
図7は各ノードのリクエストノードがコンテンツ配信要求を行なう際の、各ノードの間の各種情報の授受の一例をスパニングツリー状に表した説明図である。この図で、中間ノードとは、注目しているコンテンツに対して有効なインデックス情報を持たないノードであり、キャッシュノードとはそれを持つノードである。
図8は、リクエストノードの制御部11に記憶された配信要求プログラムが当該制御部11により実行されることにより行われる処理を示すフローチャートである。
まず、ユーザが入力部21を操作することにより、特定共用情報としての所望のコンテンツのタイトル等を入力して当該コンテンツを保持するコンテンツノードの関連情報を要求する。この際、要求する関連情報の要求数も共に入力される。
このように、所望のコンテンツデータの所在の問い合わせが行われると、制御部11は識別情報送信手段として機能し、当該コンテンツのタイトル等をハッシュ化して当該コンテンツデータを示すコンテンツID(特定共用情報に対応する固有の識別情報)を生成すると共に、当該生成されたコンテンツIDと、リクエストノードのIPアドレス情報と、上記入力部21によって入力された要求数を示す要求数情報と、を含むクエリを、記憶部12に記憶したルーティングテーブルを参照して他のノード装置1に送信する(ステップS1)。当該他のノード装置1の選択手法は、上述した「1.3コンテンツデータの検索方法」にて詳細に説明した手法に拠る。図7に示す例によれば、先ずキャッシュノードでもルートノードでもない中間ノードにクエリが送信されている。なお、この例では要求数は3とした。
また、ステップS1にてクエリが送信されると、後に各コンテンツノードから送信される関連情報を記憶すべく、記憶部12に候補リストの準備をする。なお、候補リストについては、ステップS9の処理において詳細に説明する。
続いて、装置内に具備する内蔵時計等を使用して、時間測定を開始する(ステップS2)。
その後、他のノード装置から何らかの情報を受信したか否かを判定(ステップS3)し、受信していない場合(ステップS3:受信なし)には、ステップS4に移行して所定の待機時間(例えば、10秒など)が経過したか否かを判定し、経過している場合(ステップS4:Yes)にはステップS8に移行し、経過していない場合(ステップS4:No)には、ステップS3に移行して、情報の受信を待機する。
一方、ステップS3にて受信した情報がルートノードからのエラー回答である場合(ステップS3:ルートノードからエラー回答)には、「指定のコンテンツは見つかりませんでした」等のメッセージを表示部16に表示させる等、所定のコンテンツノード発見不可処理を行ない(ステップS5)処理を終了する。
他方、ステップS3にて受信した情報がコンテンツノードからの関連情報である場合(すなわち、制御部11は関連情報受信手段として機能した場合)(ステップS3:コンテンツノードから関連情報)、には、当該関連情報を記憶部12の候補リストに追加(ステップS6)する。図7に示す例によれば、コンテンツノードB、コンテンツノードC及びコンテンツノードDからそれぞれ関連情報を受信している。
そして、記憶部12に記憶した候補リストを参照して、当該候補リストに記憶された関連情報がステップS1でクエリを送信する際に入力した要求数分だけ存在するか否かを判定(ステップS7)し、関連情報が要求数に満たない場合(ステップS7:No)には、ステップS4に移行して応答待機時間内である間(すなわち、ステップS4:No)は情報の受信を待機し、関連情報が要求数以上ある場合(ステップS7:Yes)には、ステップS8に移行する。
そして、ステップS8において、記憶部12の候補リストに一つでも関連情報があるか否かを判定(ステップS8)し、候補リストに一つも関連情報が無い場合(ステップS8:No)には、ステップS5に移行して所定のコンテンツノード発見不可処理を行ない(ステップS5)処理を終了する。なお、このような事態は、ステップS3にてルートノード及びコンテンツノードの双方から何も情報を受信することなく所定の応答待機時間が経過した場合に生じる。
また、ステップS8において、候補リストに一つでも関連情報がある場合(ステップS8:Yes)には、当該候補リストに記憶されている関連情報を比較して最も適切なコンテンツノードを選定(ステップS9)する。
ここで、リクエストノードの記憶部12に記憶されている候補リストの一例を図9に示す。同図は、図7に示す例のように、コンテンツB乃至コンテンツDの3つのコンテンツノードから関連情報を受信した場合に記憶部12に生成された候補リストである。
コンテンツノードは、IPパケット中のTTLフィールドに初期値として256を設定して送信するという規則にしておく。図7の例では、コンテンツノードBから受信した関連情報bに含まれる通信負荷情報としてのTTLが「79」まで減少しており、コンテンツノードCの関連情報cに含まれる通信負荷情報としてのTTLは「32」にまで減少しており、コンテンツノードDの関連情報dに含まれる通信負荷情報としてのTTLが「156」までしか減少していないため、リクエストノードとの間で最もルータ等の中継数が少ないコンテンツノードは、関連情報cで示されるコンテンツノードCであることがわかる。
従って、コンテンツノードB乃至Dのうち、ネットワーク的に通信負荷が小さいコンテンツノードは関連情報cで示すコンテンツノードCであると判断でき、ステップS9の処理において、リクエストノードは、コンテンツノードCを選定することとなる。
そして、制御部11は配信要求手段として機能し、当該選定されたコンテンツノードに対して配信要求を行ない(ステップS10)処理を終了する。より具体的には、関連情報cに含まれるコンテンツノードCのIPアドレス「131.31.75.100」を取得して当該IPアドレスを宛先として図7に破線矢印で示す如くコンテンツノードCに対して配信要求を行なう。
[3−2.キャッシュノード及びルートノードの処理]
次に、図7、図10及び図11を用いてキャッシュノード及びルートノードの処理について説明する。図10は、キャッシュノード或いはルートノードの制御部11に記憶された転送プログラムが当該制御部11により実行されることにより行われる転送処理を示すフローチャートである。図11は、記憶部12に記憶されたインデックス情報の一例である。
そして、当該処理はリクエストノードや、キャッシュノードを含むコンテンツ配信システムS内の他のノード装置から送信されたクエリを受信したことにより開始される。なお、このクエリは、関連情報をリクエストノードに送信するよう指示する指示情報が付加されていないクエリであって、当該指示情報が付加されている場合には、コンテンツノードであるため次に説明する「3−3.コンテンツノードの処理」に従う。
まず、制御部11は、ノード情報検索手段として機能し、受信したクエリに含まれる識別情報としてのコンテンツIDを認識して、当該コンテンツIDに対応するコンテンツノードの情報(ノード情報としてのコンテンツノードのIPアドレスやタイトル等の補助情報)を、自己の記憶部12に記憶したインデックス情報の中から検索する(ステップS21)。
そして、コンテンツIDに対応するコンテンツノードの情報が発見されたか否かを判定(ステップS22)し、発見されなかった場合(ステップS22:No)には、自身がルートノードであるか否かを判定(ステップS23)し、自身がルートノードでない場合(ステップS23:Yes)には、クエリを上流のノード装置、すなわち、自身とルートノードの中間に介在するノード装置へ転送(ステップS24)して処理を終了する。なお、クエリを転送する際には、関連情報をリクエストノードに送信するよう指示する指示情報は付加しない。図7に示す例に拠れば、中間ノードからキャッシュノードへとクエリが転送されている。
一方、ステップS23の判定において、自身がルートノードである場合(ステップS23:No)には、リクエストノードから、クエリが転送されて来る間に、1つでも関連情報がリクエストノードに送信されているか否かを判定(ステップS25)する。
例えば、関連情報が1つでも送信されている場合には、後のステップS30の処理にて説明するように、クエリに含まれる要求数情報が更新されるため、当該要求数情報の更新を行なう際に、当該要求数情報に更新履歴の有無がわかる情報を付加する。この目的のために、要求数情報には、要求数の他に、大元のリクエスタが出した要求数(これは更新されない)が含まれており、元の要求数と現在の要求数が異なっていれば、過去に更新があったクエリであることが分かる。ステップS25において、受信したクエリに含まれる要求数情報に更新履歴が無く、1つもリクエストノードに関連情報が送信されていないと判定した場合(ステップS25:Yes)には、制御部11はエラー回答手段として機能し、エラー回答をリクエストノードに送信(ステップS26)して処理を終了する。他方、受信したクエリに含まれる要求数情報に更新履歴が有る場合、すなわち、少なくとも1つはリクエストノードに関連情報が送信されている場合(ステップS25:No)には処理を終了する。
また、ステップS22の処理において、コンテンツIDに対応するコンテンツノードの情報が記憶部12のインデックス情報からn個発見された場合(ステップS22:Yes)には、制御部11は識別情報転送手段として機能し、n個のコンテンツノードに当該コンテンツノードにクエリを転送する(ステップS27)。このとき、記憶部12から要求数以下のコンテンツノードの情報が見つかった場合は、見つかった全てのコンテンツノードにクエリ転送を行なう。要求数より多くのコンテンツノードの情報が見つかった場合は、任意のノードを要求数分選んでクエリ転送を行なう。
図11に示す例に基づいて具体的に説明すると、クエリに含まれるコンテンツIDが「12021101」である場合には、記憶部12のインデックス情報から当該コンテンツIDに対応するコンテンツノードに係る情報(コンテンツノードのIPアドレスやタイトル等の補助情報)が2つ発見される。要求数が2以上である場合は、ステップS27において当該発見されたコンテンツノードのノード情報としてのIPアドレス「131.31.75.100」と「255.62.14.102」の双方に対してクエリが転送されることとなる。もし要求数が1である場合は、任意に選んだ1つのノードにクエリを転送する。なお、コンテンツノードにクエリを転送する際には、関連情報をリクエストノードに送信するよう指示する指示情報が付加した後に転送を行なうものとする。コンテンツノードに対して、自己がコンテンツノードとしてクエリを受信したということを確実に認識させるためである。(代わりに、リクエストノードが出すクエリと、キャッシュノード及びルートノードがコンテンツノードに対して出すクエリで、メッセージ種別を変えても良い。)図11と図7に示す例に拠れば、要求数が3なので、IPアドレスが「255.62.14.102」であるコンテンツノードAと、IPアドレスが「131.31.75.100」であるコンテンツノードBに対してクエリが転送される。
続いて、制御部11は待機時間設定手段として機能し、コンテンツノードからの判定情報(可情報としての配信可能情報又は不可情報としての配信不可情報)を待機する待機時間を設定すると共に装置内に具備する内蔵時計等を使用して、時間測定を開始する(ステップS28)。
その後、コンテンツノードから判定情報を受信したか否かを判定し(ステップS29)、可情報としての配信可能情報を受信した場合(ステップS29:配信可能情報)には、制御部11は更新手段として機能し、クエリに含まれる要求数情報によって示される要求数から「1」を引いた値を新たな要求数とするよう要求数情報を更新(ステップS30)し、ステップS31に移行する。
そして、ステップS29にてコンテンツノードから配信不可情報を受信した場合、或いはステップS30における更新が行われた後に、ステップS27でクエリを転送したn個のコンテンツノード全てから何らかの返答があったか否かを確認するため、情報をn個受信したか否かを判定する(ステップS31)。そして、判定の結果まだn個の情報を受信していない場合(ステップS31:No)には、ステップS33に移行し、他方、n個の情報を受信済みである場合(ステップS31:Yes)には、ステップS32に移行してステップS30における更新の結果、要求数が1以上か否かを判定(ステップS32)し、要求数が1以上で無い場合(すなわち要求数が0である。)(ステップS32:No)には処理を終了する。
他方、ステップS30の更新の結果、要求数が1以上である場合(ステップS32:Yes)には、当該更新後の要求数を新たな要求数情報としてクエリに含んだ後にステップS34に移行する。なお、更新の際には配信可能情報の送信元であるコンテンツノードのIPアドレス等のノード情報を要求数情報に付加するものとする。すなわち、クエリを上流のノード装置に転送する際に、上流のノード装置に対して同一のコンテンツノードを検索対象から除外するよう指示するためである。図7に示す例に拠れば、コンテンツノードBはキャッシュノードに対して配信可能情報を送信しているが、コンテンツノードAはキャッシュノードに対して配信不可情報を送信しているので、キャッシュノードは要求数から「1」を引いて、要求数情報を更新すると共に、配信可能情報を送信した送信元であるコンテンツノードBのIPアドレス「131.31.75.100」を付加して送信する。
一方、ステップS29にてコンテンツノードから配信可能情報又は配信不可情報のうちいずれの情報も受信していない場合(ステップS28:受信なし)、及びステップS31でn個の情報をまだ受信していないと判定された場合(ステップS31:No)には、ステップS33に移行して所定の待機時間(例えば、5秒など)が経過したか否かを判定し、経過している場合(ステップS33:Yes)にはステップS34に移行し、経過していない場合(ステップS33:No)には、ステップS29に移行して、情報の受信を待機する。
そして、ステップS32にて要求数がまだ1以上あると判定された場合、或いはステップS33にて待機時間が経過してしまった場合には、自身がルートノードであるか否かを判定(ステップS34)し、ルートノードでない場合(ステップS34:No)には、クエリを上流のノード装置、すなわち、自身とルートノードの中間に介在するノード装置へ転送(ステップS35)して処理を終了する。この際には、関連情報をリクエストノードに送信するよう指示する指示情報は付加しない。
他方、自身がルートノードである場合(ステップS34:Yes)には、リクエストノードから、クエリが転送されて来る間に、1つでも関連情報がリクエストノードに送信されているか否かを、クエリに含まれる要求数情報の更新履歴の有無の情報等に基づいて判定(ステップS36)する。そして、少なくとも1つはリクエストノードに関連情報が送信されている場合(ステップS36:No)には処理を終了し、他方、1つもリクエストノードに関連情報が送信されていないと判定した場合(ステップS36:Yes)には、エラー回答をリクエストノードに送信(ステップS37)して処理を終了する。
[3−3.コンテンツノードの処理]
次に、図7及び図12を用いてコンテンツノードの処理について説明する。図12は、コンテンツノードの制御部11に記憶された配信プログラムが当該制御部11により実行されることにより行われる処理を示すフローチャートである。
そして、当該処理はルートノードやキャッシュノードから送信されたクエリを受信したことにより開始される。なお、このクエリは、関連情報をリクエストノードに送信するよう指示する指示情報が付加されているクエリであって、当該指示情報が付加されていない場合には、前述した「3−2.ルートノード及びキャッシュノードの処理」に従う。
まず、クエリに含まれるコンテンツIDに対応するコンテンツデータを配信可能であるか否かを確認する(ステップS41)。より具体的には、自己の記憶部12に受信したクエリに含まれるコンテンツIDに対応するコンテンツデータが在るか否かを先ず確認する。コンテンツが既に消滅している場合も考えられるからである。次に、コンテンツデータがあれば、更に当該コンテンツデータをリクエストノードに配信可能か否かを確認する。当該コンテンツを他のノード装置に配信中であるなどの場合には、当該コンテンツノードの性能が低いと、リクエストノードに円滑に配信することが困難な場合も考えられるからである。
そして、制御部11は判定手段として機能し、コンテンツデータを配信可能か否かを判定し(ステップS42)、判定の結果、コンテンツデータを配信不可と判定した場合(ステップS42:No)には、制御部11は判定情報返信手段として機能し、クエリを当該コンテンツノードに送信してきた送信元であるルートノード或いはキャッシュノードに不可情報としての配信不可情報を送信(返信)(ステップS43)して処理を終了する。図7に示す例に拠れば、コンテンツノードAはキャッシュノードに配信不可情報を送信している。
一方、ステップS42の判定の結果、コンテンツデータを配信可能と判定した場合(ステップS42:Yes)には、制御部11は判定情報返信手段として機能し、クエリを当該コンテンツノードに送信してきた送信元であるルートノード或いはキャッシュノードに可情報としての配信可能情報を送信(返信)(ステップS44)する。図7に示す例に拠れば、コンテンツノードBはキャッシュノードに配信可能情報を送信し、コンテンツノードC及びDはルートノードに配信可能情報を送信(返信)している。
すなわち、クエリを当該コンテンツノードに送信してきた送信元であるルートノード或いはキャッシュノードに対して判定情報としての配信不可情報或いは配信可能情報を返信することで、当該送信元であるルートノード或いはキャッシュノードに後のステップS46の処理にてコンテンツノードから関連情報がリクエストノードに送られたか否かを認識させることができる。
続いてステップS45の処理において、コンテンツノード自身のIPアドレス情報に基づいてリクエストノードに送信する関連情報を生成(ステップS45)する。
そして、制御部11は関連情報送信手段として機能し、生成した関連情報を、TTLの値を既定値(例えば256)にして、リクエストノードに送信(ステップS46)する。図7に示す例に拠れば、コンテンツノードB乃至コンテンツノードDがリクエストノードに関連情報を送信している。
続いて、リクエストノードから、配信要求を受信したか否かを判定し(ステップS47)、配信要求を受信した場合(ステップS47:Yes)には、制御部11は配信手段として機能し、コンテンツIDに対応するコンテンツデータをリクエストノードに配信(ステップS48)して処理を終了し、他方、配信要求を受信していない場合(ステップS47:No)には、リクエストノードに選定されなかったと判断できるため、処理を終了する。
なお、ステップS46において関連情報をリクエストノードに送信した後に、待機時間を設定し、所定の時間が経過してもなおリクエストノードから、配信要求を受信していない場合には、ステップS47で配信要求を受信していないものとすればよい。
以上説明したように、本実施形態によれば、リクエストノードからコンテンツデータの所在の問い合わせを行なう際に、リクエストノードは、複数のコンテンツノードの関連情報を受信し、それから当該複数のコンテンツノードからの関連情報に基づいて配信に最適な1のコンテンツノードを選定して、当該選定されたコンテンツノードに対して配信要求を行なうよう構成したので、コンテンツノードが確実に存在していることを、関連情報を受信して確認した上で配信要求を行なうことができる。
更に、複数のコンテンツノードがある場合であっても適用することができ、特に要求数を複数設定した場合には、複数のコンテンツノードの中から関連情報を比較してより適切なコンテンツノードから配信を受けることができる。
また、ルートノードでコンテンツを発見できない場合には、リクエストノードに対してエラー回答を送信するよう構成したので、リクエストノードではコンテンツ配信システムS上に所望のコンテンツが無いことを容易に把握することが可能になる。
さらに、コンテンツノードにて、所望のコンテンツを配信できるか否かを判定するよう構成し、配信できない場合には、配信不可情報をクエリの送信元であるルートノード或いはキャッシュノードに送信するよう構成したので、クエリの送信元であるルートノード或いはキャッシュノードが、コンテンツノードがコンテンツを配信できないことを認識できるため、クエリの送信元がルートノードであれば、リクエストノードにエラー回答を送信することによりリクエストノードではコンテンツ配信システムS上に所望のコンテンツが無いことを容易に把握することが可能になり、他方、クエリの送信元がキャッシュノードであれば、更に上流のノード装置すなわち、ルートノードとの間に介在するノード装置に対してクエリを転送することができコンテンツの検索を続行することが可能になる。
また、リクエストノードにて要求数を自由に設定してコンテンツIDを含むクエリに含んで送信するよう構成したので、当該クエリを転送する際に、ルートノード或いはキャッシュノードでは、コンテンツノードから配信可能情報を受信した数を減算して要求数を更新して転送することができるため、リクエストノードは、リクエストノードが要求する数の関連情報を取得することが可能になる。従って、関連情報の要求数を多く設定すれば、検索範囲が広がり、より適切なコンテンツノードを選定できるという利点があり、関連情報の要求数を少なく設定すれば、検索範囲が狭くなるので、より迅速に1つのコンテンツノードを選定できるという利点があるので、リクエストノードのユーザが用途に応じて設定を変えることができる。
また、ルートノード或いはキャッシュノードの処理におけるステップS28及びS32において、待機時間を設定し、一定の時間が経過すると、コンテンツノードから配信不可情報を受信したものと同様の処理を行なうよう構成したので、コンテンツノードが完全にダウンしている場合など、何らかのトラブルが生じた場合でも適切に処理を行なうことができる。
さらに、コンテンツノードでは、関連情報としてネットワークにおける通信経路の負荷を判断するためのTTL等の通信負荷情報をリクエストノードに送信するため、リクエストノードで当該通信負荷情報に基づいて各コンテンツノードの通信負荷を比較し、通信負荷が相対的に小さい通信経路を介して接続されたコンテンツノードを選定することが可能になり、コンテンツノードからリクエストノードにコンテンツを配信する際に小さい負荷で配信でき、かつ、システム全体の通信負荷の低減を図ることが可能になる。
本実施形態に係るコンテンツ配信システムにおける各ノード装置の接続態様の一例を示す図である。 ID空間の説明図である。 DHTによってルーティングテーブルが作成される様子の一例を示す図である。 (A)レベル1のテーブルの一例である。(B)レベル2のテーブルの一例である。(C)レベル3のテーブルの一例である。(D)完成したルーティングテーブルの一例である。 本実施形態におけるDHTによりコンテンツデータの保存元であるノード装置1が検索される様子の一例を示す図である。 ノード装置1の概要構成例を示す図である。 各ノード間の各種情報の授受をスパニングツリー状に表した説明図である。 リクエストノードの制御部11における処理を示すフローチャートである。 リクエストノードの記憶部12に記憶されている候補リストの一例である。 キャッシュノード或いはルートノードの制御部11における処理を示すフローチャートである。 キャッシュノードの記憶部12に記憶されたインデックス情報の一例である。 コンテンツノードの制御部11における処理を示すフローチャートである。
符号の説明
1 ノード装置
8 ネットワーク
11 制御部
12 記憶部
13 バッファメモリ
14 デコーダ部
15 映像処理部
16 表示部
17 音声処理部
18 スピーカ
20 通信部
21 入力部
22 バス
S コンテンツ配信システム
A,B、C、D コンテンツノード
b、c、d 関連情報

Claims (29)

  1. ネットワークを構築して互いに接続された複数のノード装置を備えた情報配信システムにおいて、
    前記複数のノード装置に含まれる第1のノード装置は、
    前記複数のノード装置に含まれる第2のノード装置に対して、前記複数のノード装置に含まれるノード装置であって、前記複数のノード装置間で共用されるべき共用情報のうち特定の共用情報である特定共用情報を記憶する少なくとも1以上の情報記憶ノード装置に前記特定共用情報の送信を要求すべく、前記特定共用情報に対応する固有の識別情報を送信する識別情報送信手段と、
    前記情報記憶ノード装置から当該情報記憶ノード装置を示すノード情報を受信する情報受信手段と、
    前記受信したノード情報に基づいて情報記憶ノード装置に前記特定共用情報の配信を要求する配信要求手段と、を有し、
    前記第2のノード装置は、
    前記識別情報と、当該識別情報に対応する共用情報を記憶する前記情報記憶ノード装置を示すノード情報と、をそれぞれ対応付けて記憶する記憶手段と、
    前記複数のノード装置の何れかのノード装置から前記識別情報を受信して前記特定共用情報の要求を受けた場合には、前記記憶手段を参照して当該受信した識別情報に対応する前記ノード情報を検索するノード情報検索手段と、
    前記ノード情報検索手段による検索の結果、前記記憶手段に前記識別情報に対応するノード情報がある場合には、当該ノード情報によって示される前記情報記憶ノード装置に対して前記特定共用情報を前記第1のノード装置に送信するよう指示すべく前記識別情報-を転送する識別情報転送手段と、を有し、
    前記情報記憶ノード装置は、
    前記第2のノード装置から前記識別情報を受信して前記特定共用情報の送信の指示を受けると、当該受信した識別情報によって示される前記特定共用情報を前記第1のノード装置に送信可能か否かを判定する判定手段と、
    前記判定手段による判定の結果、送信可能である場合には、前記第1のノード装置に対して当該情報記憶ノード装置の前記ノード情報を送信する情報送信手段と、
    前記第1のノード装置から前記特定共用情報の配信要求を受けた場合には、前記第1のノード装置に対して前記特定共用情報を配信する配信手段と、
    を有することを特徴とする情報配信システム。
  2. ネットワークを構築して互いに接続された複数のノード装置を備えた情報配信システムにおいて、
    前記複数のノード装置に含まれる第1のノード装置は、
    前記複数のノード装置に含まれる第2のノード装置に対して、前記複数のノード装置に含まれるノード装置であって、前記複数のノード装置間で共用されるべき共用情報のうち特定の共用情報である特定共用情報を記憶する少なくとも1以上の情報記憶ノード装置に関する関連情報の送信を要求すべく、前記特定共用情報に対応する固有の識別情報を送信する識別情報送信手段と、
    前記情報記憶ノード装置から当該情報記憶ノード装置に関する前記関連情報を受信する情報受信手段と、
    前記情報記憶ノード装置のうち、前記受信した関連情報に基づいて選定した情報記憶ノード装置に前記特定共用情報の配信を要求する配信要求手段と、を有し、
    前記第2のノード装置は、
    前記識別情報と、当該識別情報に対応する共用情報を記憶する前記情報記憶ノード装置を示すノード情報と、をそれぞれ対応付けて記憶する記憶手段と、
    前記複数のノード装置の何れかのノード装置から前記識別情報を受信して前記特定共用情報の要求を受けた場合には、前記記憶手段を参照して当該受信した識別情報に対応する前記ノード情報を検索するノード情報検索手段と、
    前記ノード情報検索手段による検索の結果、前記記憶手段に前記識別情報に対応するノード情報がある場合には、当該ノード情報によって示される前記情報記憶ノード装置に対して前記関連情報を前記第1のノード装置に送信するよう指示すべく前記識別情報を転送する識別情報転送手段と、を有し、
    前記情報記憶ノード装置は、
    前記第2のノード装置から前記識別情報を受信して前記関連情報の送信の指示を受けると、当該受信した識別情報によって示される前記特定共用情報を前記第1のノード装置に送信可能か否かを判定する判定手段と、
    前記判定手段による判定の結果、送信可能である場合には、前記第1のノード装置に対して当該情報記憶ノード装置に関する前記関連情報を送信する情報送信手段と、
    前記第1のノード装置から前記特定共用情報の配信要求を受けた場合には、前記第1のノード装置に対して前記特定共用情報を配信する配信手段と、
    を有することを特徴とする情報配信システム。
  3. 請求項1又は請求項2に記載の情報配信システムにおいて、
    前記第2のノード装置における前記識別情報転送手段は、前記ノード情報検索手段による検索の結果、前記記憶手段に前記識別情報に対応するノード情報が無い場合であって、かつ当該第2のノード装置自身が、前記特定共用情報の管理元である管理ノード装置でない場合には、当該第2のノード装置と前記管理ノード装置の中間に介在するノード装置に対して、或いは当該中間に介在するノード装置が無い場合には前記管理ノード装置に対して前記受信した識別情報を転送することを特徴とする情報配信システム。
  4. 請求項1又は請求項2に記載の情報配信システムにおいて、
    前記第2のノード装置は、前記ノード情報検索手段による検索の結果、前記記憶手段に前記識別情報に対応するノード情報が無い場合であって、かつ当該第2のノード装置自身が、前記特定共用情報の管理元である管理ノード装置である場合には、前記第1のノード装置に対して前記特定共用情報が無いことを回答するエラー回答手段を有することを特徴とする情報配信システム。
  5. 請求項1乃至請求項4のいずれか一項に記載の情報配信システムにおいて、
    前記情報記憶ノード装置は、
    前記判定手段により送信可能であると判定された場合には可情報を、前記送信不可能であると判定された場合には不可情報を、前記識別情報の送信元である前記第2のノード装置に対してそれぞれ判定情報として返信する判定情報返信手段を有し、
    前記第2のノード装置は、
    前記情報記憶ノード装置から前記判定情報として前記不可情報を受信した場合であって、
    当該第2のノード装置自身が前記管理ノード装置でない場合には、前記識別情報転送手段は、当該第2のノード装置と前記管理ノード装置の中間に介在するノード装置に対して、或いは当該中間に介在するノード装置が無い場合には前記管理ノード装置に対して前記識別情報を転送することを特徴とする情報配信システム。
  6. 請求項5に記載の情報配信システムにおいて、
    前記第1のノード装置における前記識別情報送信手段は、前記第2のノード装置に対して、少なくとも1以上の前記情報記憶ノード装置に関する関連情報の送信を要求すべく、前記特定共用情報に対応する固有の識別情報を送信し、
    前記第1のノード装置における前記情報受信手段は、前記情報記憶ノード装置から当該情報記憶ノード装置に関する前記関連情報を受信し、
    前記第1のノード装置における前記配信要求手段は、前記情報記憶ノード装置のうち、前記受信した関連情報に基づいて選定した情報記憶ノード装置に前記特定共用情報の配信を要求し、
    前記第2のノード装置における前記識別情報転送手段は、前記ノード情報検索手段による検索の結果、前記記憶手段に前記識別情報に対応するノード情報がある場合には、当該ノード情報によって示される前記情報記憶ノード装置に対して前記関連情報を前記第1のノード装置に送信するよう指示すべく前記識別情報を転送し、
    前記情報記憶ノード装置における前記判定手段は、前記第2のノード装置から前記識別情報を受信して前記関連情報の送信の指示を受けると、当該受信した識別情報によって示される前記特定共用情報を前記第1のノード装置に送信可能か否かを判定し、
    前記情報記憶ノード装置における前記情報送信手段は、前記判定手段による判定の結果、送信可能である場合には、前記第1のノード装置に対して当該情報記憶ノード装置に関する前記関連情報を送信し、
    前記識別情報は、前記関連情報の要求数を示す要求数情報を含み、
    前記第2のノード装置は、前記要求数から前記情報記憶ノード装置から受信した前記可情報の数を減算して前記要求数を更新する更新手段を有し、かつ前記識別情報転送手段は、前記更新の結果、前記要求数が1以上である場合に前記更新された要求数を新たな要求数情報として前記識別情報に含んで当該識別情報を前記第2のノード装置と前記管理ノード装置の中間に介在するノード装置に対して、或いは当該中間に介在するノード装置が無い場合には前記管理ノード装置に対して転送することを特徴とする情報配信システム。
  7. 請求項5又は請求項6に記載の情報配信システムにおいて、
    前記第2のノード装置は、前記情報記憶ノード装置から前記判定情報を受信するための待機時間を設定する待機時間設定手段を有し、
    前記識別情報転送手段は、前記待機時間を経過してもなお前記判定情報の返信が無い前記情報記憶ノード装置からは、前記不可情報が受信されたと判断することを特徴とする情報配信システム。
  8. 請求項2乃至請求項7のいずれか一項に記載の情報配信システムにおいて、
    前記第1のノード装置における前記識別情報送信手段は、前記第2のノード装置に対して、少なくとも1以上の前記情報記憶ノード装置に関する関連情報の送信を要求すべく、前記特定共用情報に対応する固有の識別情報を送信し、
    前記第1のノード装置における前記情報受信手段は、前記情報記憶ノード装置から当該情報記憶ノード装置に関する前記関連情報を受信し、
    前記第1のノード装置における前記配信要求手段は、前記情報記憶ノード装置のうち、前記受信した関連情報に基づいて選定した情報記憶ノード装置に前記特定共用情報の配信を要求し、
    前記第2のノード装置における前記識別情報転送手段は、前記ノード情報検索手段による検索の結果、前記記憶手段に前記識別情報に対応するノード情報がある場合には、当該ノード情報によって示される前記情報記憶ノード装置に対して前記関連情報を前記第1のノード装置に送信するよう指示すべく前記識別情報を転送し、
    前記情報記憶ノード装置における前記判定手段は、前記第2のノード装置から前記識別情報を受信して前記関連情報の送信の指示を受けると、当該受信した識別情報によって示される前記特定共用情報を前記第1のノード装置に送信可能か否かを判定し、
    前記情報記憶ノード装置における前記情報送信手段は、前記判定手段による判定の結果、送信可能である場合には、前記第1のノード装置に対して当該情報記憶ノード装置に関する前記関連情報を送信し、
    前記関連情報は、前記ネットワークにおける通信経路の負荷に関する通信負荷情報を含み、
    前記第1のノード装置における前記配信要求手段は、複数の前記情報記憶ノード装置から前記関連情報を受信した場合には、当該関連情報に含まれる前記通信負荷情報に基づいて通信負荷を比較し、前記通信負荷が相対的に小さい前記通信経路を介して接続された前記情報記憶ノード装置を選定し、当該選定した情報記憶ノード装置に前記特定共用情報の配信を要求することを特徴とする情報配信システム。
  9. 請求項8に記載の情報配信システムにおいて、
    前記通信負荷情報は、IPパケット中のTTL(Time To Live)フィールドであることを特徴とする情報配信システム。
  10. ネットワークを構築して互いに接続された複数のノード装置を備えた情報配信システムを構成する前記複数のノード装置に含まれる第1のノード装置から、前記複数のノード装置間で共用されるべき共用情報のうち特定の共用情報である特定共用情報を記憶する少なくとも1以上の情報記憶ノード装置に前記特定共用情報の送信を要求すべく、前記第1のノード装置から送信された前記特定共用情報に対応する固有の識別情報を受信する前記複数のノード装置に含まれる第2のノード装置において、
    前記識別情報と、当該識別情報に対応する共用情報を記憶する前記情報記憶ノード装置を示すノード情報と、をそれぞれ対応付けて記憶する記憶手段と、
    前記識別情報を受信して前記特定共用情報の要求を受けると、前記記憶手段を参照して当該受信した識別情報に対応する前記ノード情報を検索するノード情報検索手段と、
    前記ノード情報検索手段による検索の結果、前記記憶手段に前記識別情報に対応するノード情報がある場合には、当該ノード情報によって示される前記情報記憶ノード装置に対して、前記特定共用情報を前記第1のノード装置に送信するよう指示すべく、かつ当該情報記憶ノード装置に関する関連情報を前記第1のノード装置に送信するよう指示すべく、前記識別情報を転送する識別情報転送手段と、
    を有し、
    前記情報記憶ノード装置から前記特定共用情報を送信可能か否かを示す判定情報として、送信不可能であることを示す不可情報を受信した場合であって、当該第2のノード装置自身が、前記特定共用情報の管理元である管理ノード装置でない場合には、前記識別情報転送手段は、当該第2のノード装置と前記管理ノード装置の中間に介在するノード装置に対して、或いは当該中間に介在するノード装置が無い場合には前記管理ノード装置に対して前記識別情報を転送し、
    前記識別情報は、前記関連情報の要求数を示す要求数情報を含み、
    前記要求数から前記情報記憶ノード装置から受信した送信可能であることを示す可情報の数を減算して前記要求数を更新する更新手段を有し、かつ前記識別情報転送手段は、前記更新の結果、前記要求数が1以上である場合に前記更新された要求数を新たな要求数情報として前記識別情報に含んで、当該識別情報を、前記第2のノード装置と前記管理ノード装置の中間に介在するノード装置に対して、或いは当該中間に介在するノード装置が無い場合には前記管理ノード装置に対して転送することを特徴とする第2のノード装置。
  11. ネットワークを構築して互いに接続された複数のノード装置を備えた情報配信システムを構成する前記複数のノード装置に含まれる第1のノード装置から、前記複数のノード装置間で共用されるべき共用情報のうち特定の共用情報である特定共用情報を記憶する少なくとも1以上の情報記憶ノード装置に関する関連情報の送信の要求を受ける前記複数のノード装置に含まれる第2のノード装置において、
    前記識別情報と、当該識別情報に対応する共用情報を記憶する前記情報記憶ノード装置を示すノード情報と、をそれぞれ対応付けて記憶する記憶手段と、
    前記識別情報を受信して前記特定共用情報の要求を受けると、前記記憶手段を参照して当該受信した識別情報に対応する前記ノード情報を検索するノード情報検索手段と、
    前記ノード情報検索手段による検索の結果、前記記憶手段に前記識別情報に対応するノード情報がある場合には、当該ノード情報によって示される前記情報記憶ノード装置に対して、当該情報記憶ノード装置に関する前記関連情報を前記第1のノード装置に送信するよう指示すべく前記識別情報を転送する識別情報転送手段と、
    を有し、
    前記情報記憶ノード装置から前記特定共用情報を送信可能か否かを示す判定情報として、送信不可能であることを示す不可情報を受信した場合であって、当該第2のノード装置自身が、前記特定共用情報の管理元である管理ノード装置でない場合には、前記識別情報転送手段は、当該第2のノード装置と前記管理ノード装置の中間に介在するノード装置に対して、或いは当該中間に介在するノード装置が無い場合には前記管理ノード装置に対して前記識別情報を転送し、
    前記識別情報は、前記関連情報の要求数を示す要求数情報を含み、
    前記要求数から前記情報記憶ノード装置から受信した送信可能であることを示す可情報の数を減算して前記要求数を更新する更新手段を有し、かつ前記識別情報転送手段は、前記更新の結果、前記要求数が1以上である場合に前記更新された要求数を新たな要求数情報として前記識別情報に含んで、当該識別情報を、前記第2のノード装置と前記管理ノード装置の中間に介在するノード装置に対して、或いは当該中間に介在するノード装置が無い場合には前記管理ノード装置に対して転送することを特徴とする第2のノード装置。
  12. 請求項10又は請求項11に記載の第2のノード装置において、
    前記識別情報転送手段は、前記ノード情報検索手段による検索の結果、前記記憶手段に前記識別情報に対応するノード情報が無い場合であって、かつ当該第2のノード装置自身が、前記特定共用情報の管理元である管理ノード装置でない場合には、当該第2のノード装置と前記管理ノード装置の中間に介在するノード装置に対して、或いは当該中間に介在するノード装置が無い場合には前記管理ノード装置に対して前記受信した識別情報を転送することを特徴とする第2のノード装置。
  13. 請求項10又は請求項11に記載の第2のノード装置において、
    前記ノード情報検索手段による検索の結果、前記記憶手段に前記識別情報に対応するノード情報が無い場合であって、かつ当該第2のノード装置自身が、前記特定共用情報の管理元である管理ノード装置である場合には、前記第1のノード装置に対して前記特定共用情報が無いことを回答するエラー回答手段を有することを特徴とする第2のノード装置。
  14. 請求項10乃至請求項13のいずれか一項に記載の第2のノード装置において、
    前記情報記憶ノード装置から前記判定情報を受信するための待機時間を設定する待機時間設定手段を有し、
    前記識別情報転送手段は、前記待機時間を経過してもなお前記判定情報の返信が無い前記情報記憶ノード装置からは、前記不可情報が受信されたと判断することを特徴とする第2のノード装置。
  15. ネットワークを構築して互いに接続された複数のノード装置を備えた情報配信システムに含まれる情報記憶ノード装置であって、前記複数のノード装置間で共用されるべき共用情報のうち、前記複数のノード装置に含まれる第1のノード装置によって特定された共用情報である特定共用情報を記憶する前記情報記憶ノード装置において、
    前記第1のノード装置から、前記複数のノード装置に含まれる第2のノード装置を介して前記特定共用情報に対応する固有の識別情報を受信して前記共用情報の送信の指示を受けると、当該受信した識別情報によって示される前記特定共用情報を前記第1のノード装置に送信可能か否かを判定する判定手段と、
    前記判定手段による判定の結果、送信可能である場合には、前記第1のノード装置に対して前記情報記憶ノード装置を示すノード情報を送信する情報送信手段と、
    前記第1のノード装置から前記特定共用情報の配信要求を受けた場合には、前記第1のノード装置に対して前記特定共用情報を配信する配信手段と、
    を有することを特徴とする情報記憶ノード装置。
  16. ネットワークを構築して互いに接続された複数のノード装置を備えた情報配信システムに含まれる情報記憶ノード装置であって、前記複数のノード装置間で共用されるべき共用情報のうち、前記複数のノード装置に含まれる第1のノード装置によって特定された共用情報である特定共用情報を記憶する前記情報記憶ノード装置において、
    前記第1のノード装置から、前記複数のノード装置に含まれる第2のノード装置を介して前記特定共用情報に対応する固有の識別情報を受信して当該情報記憶ノード装置に関する関連情報の送信の指示を受けると、当該受信した識別情報によって示される前記特定共用情報を前記第1のノード装置に送信可能か否かを判定する判定手段と、
    前記判定手段による判定の結果、送信可能である場合には、前記第1のノード装置に対して前記関連情報を送信する情報送信手段と、
    前記第1のノード装置から前記特定共用情報の配信要求を受けた場合には、前記第1のノード装置に対して前記特定共用情報を配信する配信手段と、
    を有することを特徴とする情報記憶ノード装置。
  17. 請求項15又は請求項16に記載の情報記憶ノード装置において、
    前記判定手段により送信可能であると判定された場合には可情報を、前記送信不可能であると判定された場合には不可情報を、前記識別情報の送信元である前記第2のノード装置に対してそれぞれ判定情報として返信する判定情報返信手段を有することを特徴とする情報記憶ノード装置。
  18. 請求項16又は請求項17に記載の情報記憶ノード装置において、
    前記判定手段は、前記第1のノード装置から、前記第2のノード装置を介して前記特定共用情報に対応する固有の識別情報を受信して当該情報記憶ノード装置に関する関連情報の送信の指示を受けると、当該受信した識別情報によって示される前記特定共用情報を前記第1のノード装置に送信可能か否かを判定し、
    前記情報送信手段は、前記判定手段による判定の結果、送信可能である場合には、前記第1のノード装置に対して前記関連情報を送信し、
    前記関連情報は、前記ネットワークにおける通信経路の負荷に関する通信負荷情報を含むことを特徴とする情報記憶ノード装置。
  19. 請求項18に記載の情報記憶ノード装置において、
    前記通信負荷情報は、IPパケット中のTTL(Time To Live)フィールドであることを特徴とする情報記憶ノード装置。
  20. ネットワークを構築して互いに接続された複数のノード装置を備えた情報配信システムを構成する前記複数のノード装置に含まれる第1のノード装置から、前記複数のノード装置間で共用されるべき共用情報のうち特定の共用情報である特定共用情報を記憶する少なくとも1以上の情報記憶ノード装置に前記特定共用情報の送信を要求すべく、前記第1のノード装置から送信された前記特定共用情報に対応する固有の識別情報を受信する前記複数のノード装置に含まれる第2のノード装置に含まれるコンピュータを、
    前記識別情報と、当該識別情報に対応する共用情報を記憶する前記情報記憶ノード装置を示すノード情報と、をそれぞれ対応付けて記憶する記憶手段、
    前記識別情報を受信して前記特定共用情報の要求を受けると、前記記憶手段を参照して当該受信した識別情報に対応する前記ノード情報を検索するノード情報検索手段、
    前記ノード情報検索手段による検索の結果、前記記憶手段に前記識別情報に対応するノード情報がある場合には、当該ノード情報によって示される前記情報記憶ノード装置に対して、前記特定共用情報を前記第1のノード装置に送信するよう指示すべく、かつ当該情報記憶ノード装置に関する関連情報を前記第1のノード装置に送信するよう指示すべく、前記識別情報を転送する識別情報転送手段、
    前記情報記憶ノード装置から前記特定共用情報を送信可能か否かを示す判定情報を受信する判定情報受信手段として機能させ、
    前記判定情報が送信不可能であることを示す不可情報を受信した場合であって、前記第2のノード装置が、前記特定共用情報の管理元である管理ノード装置でない場合には、前記識別情報転送手段を、当該第2のノード装置と前記管理ノード装置の中間に介在するノード装置に対して、或いは当該中間に介在するノード装置が無い場合には前記管理ノード装置に対して前記識別情報を転送するよう機能させ、
    前記識別情報は、前記関連情報の要求数を示す要求数情報を含み、
    前記コンピュータを、前記要求数から前記情報記憶ノード装置から受信した送信可能であることを示す可情報の数を減算して前記要求数を更新する更新手段として機能させ、
    前記識別情報転送手段を、前記更新の結果、前記要求数が1以上である場合に前記更新された要求数を新たな要求数情報として前記識別情報に含んで、当該識別情報を、前記第2のノード装置と前記管理ノード装置の中間に介在するノード装置に対して、或いは当該中間に介在するノード装置が無い場合には前記管理ノード装置に対して転送するよう機能させることを特徴とする転送プログラム。
  21. ネットワークを構築して互いに接続された複数のノード装置を備えた情報配信システムを構成する前記複数のノード装置に含まれる第1のノード装置から、前記複数のノード装置間で共用されるべき共用情報のうち特定の共用情報である特定共用情報を記憶する少なくとも1以上の情報記憶ノード装置に関する関連情報の送信の要求を受ける前記複数のノード装置に含まれる第2のノード装置に含まれるコンピュータを、
    前記識別情報と、当該識別情報に対応する共用情報を記憶する前記情報記憶ノード装置を示すノード情報と、をそれぞれ対応付けて記憶する記憶手段、
    前記識別情報を受信して前記特定共用情報の要求を受けると、前記記憶手段を参照して当該受信した識別情報に対応する前記ノード情報を検索するノード情報検索手段、
    前記ノード情報検索手段による検索の結果、前記記憶手段に前記識別情報に対応するノード情報がある場合には、当該ノード情報によって示される前記情報記憶ノード装置に対して、当該情報記憶ノード装置に関する前記関連情報を前記第1のノード装置に送信するよう指示すべく前記識別情報を転送する識別情報転送手段、
    前記情報記憶ノード装置から前記特定共用情報を送信可能か否かを示す判定情報を受信する判定情報受信手段として機能させ、
    前記判定情報が送信不可能であることを示す不可情報を受信した場合であって、前記第2のノード装置が、前記特定共用情報の管理元である管理ノード装置でない場合には、前記識別情報転送手段を、当該第2のノード装置と前記管理ノード装置の中間に介在するノード装置に対して、或いは当該中間に介在するノード装置が無い場合には前記管理ノード装置に対して前記識別情報を転送するよう機能させ、
    前記識別情報は、前記関連情報の要求数を示す要求数情報を含み、
    前記コンピュータを、前記要求数から前記情報記憶ノード装置から受信した送信可能であることを示す可情報の数を減算して前記要求数を更新する更新手段として機能させ、
    前記識別情報転送手段を、前記更新の結果、前記要求数が1以上である場合に前記更新された要求数を新たな要求数情報として前記識別情報に含んで、当該識別情報を、前記第2のノード装置と前記管理ノード装置の中間に介在するノード装置に対して、或いは当該中間に介在するノード装置が無い場合には前記管理ノード装置に対して転送するよう機能させることを特徴とする転送プログラム。
  22. 請求項20又は請求項21に記載の転送プログラムにおいて、
    前記識別情報転送手段を、前記ノード情報検索手段による検索の結果、前記記憶手段に前記識別情報に対応するノード情報が無い場合であって、かつ当該第2のノード装置自身が、前記特定共用情報の管理元である管理ノード装置でない場合には、当該第2のノード装置と前記管理ノード装置の中間に介在するノード装置に対して、或いは当該中間に介在するノード装置が無い場合には前記管理ノード装置に対して前記受信した識別情報を転送するよう機能させることを特徴とする転送プログラム。
  23. 請求項20又は請求項21に記載の転送プログラムにおいて、
    前記コンピュータを、前記ノード情報検索手段による検索の結果、前記記憶手段に前記識別情報に対応するノード情報が無い場合であって、かつ当該第2のノード装置自身が、前記特定共用情報の管理元である管理ノード装置である場合には、前記第1のノード装置に対して前記特定共用情報が無いことを回答するエラー回答手段として更に機能させることを有することを特徴とする転送プログラム。
  24. 請求項20乃至請求項23のいずれか一項に記載の転送プログラムにおいて、
    前記コンピュータを、前記情報記憶ノード装置から前記判定情報を受信するための待機時間を設定する待機時間設定手段として機能させ、
    前記識別情報転送手段及び前記エラー回答手段を前記待機時間を経過してもなお前記判定情報の返信が無い前記情報記憶ノード装置からは、前記不可情報が受信されたと判断するよう機能させることを特徴とする転送プログラム。
  25. ネットワークを構築して互いに接続された複数のノード装置を備えた情報配信システムに含まれる情報記憶ノード装置であって、前記複数のノード装置間で共用されるべき共用情報のうち、前記複数のノード装置に含まれる第1のノード装置によって特定された共用情報である特定共用情報を記憶する前記情報記憶ノード装置に含まれるコンピュータを、
    前記第1のノード装置から、前記複数のノード装置に含まれる第2のノード装置を介して前記特定共用情報に対応する固有の識別情報を受信して前記共用情報の送信の指示を受けると、当該受信した識別情報によって示される前記特定共用情報を前記第1のノード装置に送信可能か否かを判定する判定手段、
    前記判定手段による判定の結果、送信可能である場合には、前記第1のノード装置に対して前記情報記憶ノード装置を示すノード情報を送信する情報送信手段、
    前記第1のノード装置から前記特定共用情報の配信要求を受けた場合には、前記第1のノード装置に対して前記特定共用情報を配信する配信手段として機能させることを特徴とする配信プログラム。
  26. ネットワークを構築して互いに接続された複数のノード装置を備えた情報配信システムに含まれる情報記憶ノード装置であって、前記複数のノード装置間で共用されるべき共用情報のうち、前記複数のノード装置に含まれる第1のノード装置によって特定された共用情報である特定共用情報を記憶する前記情報記憶ノード装置に含まれるコンピュータを、
    前記第1のノード装置から、前記複数のノード装置に含まれる第2のノード装置を介して前記特定共用情報に対応する固有の識別情報を受信して当該情報記憶ノード装置に関する関連情報の送信の指示を受けると、当該受信した識別情報によって示される前記特定共用情報を前記第1のノード装置に送信可能か否かを判定する判定手段、
    前記判定手段による判定の結果、送信可能である場合には、前記第1のノード装置に対して前記関連情報を送信する情報送信手段、
    前記第1のノード装置から前記特定共用情報の配信要求を受けた場合には、前記第1のノード装置に対して前記特定共用情報を配信する配信手段として機能させることを特徴とする配信プログラム。
  27. 請求項25又は請求項26に記載の配信プログラムにおいて、
    前記コンピュータを、前記判定手段により送信可能であると判定された場合には可情報を、前記送信不可能であると判定された場合には不可情報を、前記識別情報の送信元である前記第2のノード装置に対してそれぞれ判定情報として返信する判定情報返信手段として機能させることを特徴とする配信プログラム。
  28. 請求項26又は請求項27に記載の配信プログラムにおいて、
    前記判定手段を、前記第1のノード装置から、前記第2のノード装置を介して前記特定共用情報に対応する固有の識別情報を受信して当該情報記憶ノード装置に関する関連情報の送信の指示を受けると、当該受信した識別情報によって示される前記特定共用情報を前記第1のノード装置に送信可能か否かを判定するよう機能させ、
    前記情報送信手段を、前記判定手段による判定の結果、送信可能である場合には、前記第1のノード装置に対して前記関連情報を送信するよう機能させ、
    前記関連情報は、前記ネットワークにおける通信経路の負荷に関する通信負荷情報を含むことを特徴とする配信プログラム。
  29. 請求項28に記載の配信プログラムにおいて、
    前記通信負荷情報は、IPパケット中のTTL(Time To Live)フィールドであることを特徴とする配信プログラム。
JP2005006741A 2005-01-13 2005-01-13 情報配信システム、配信要求プログラム、転送プログラム、配信プログラム等 Expired - Lifetime JP4670043B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2005006741A JP4670043B2 (ja) 2005-01-13 2005-01-13 情報配信システム、配信要求プログラム、転送プログラム、配信プログラム等
PCT/JP2005/019225 WO2006075424A1 (ja) 2005-01-13 2005-10-19 情報配信システム、配信要求プログラム、転送プログラム、配信プログラム等
US11/822,955 US8195764B2 (en) 2005-01-13 2007-07-11 Information delivery system, delivery request program, transfer program, delivery program, and the like

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005006741A JP4670043B2 (ja) 2005-01-13 2005-01-13 情報配信システム、配信要求プログラム、転送プログラム、配信プログラム等

Publications (2)

Publication Number Publication Date
JP2006195744A JP2006195744A (ja) 2006-07-27
JP4670043B2 true JP4670043B2 (ja) 2011-04-13

Family

ID=36801792

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005006741A Expired - Lifetime JP4670043B2 (ja) 2005-01-13 2005-01-13 情報配信システム、配信要求プログラム、転送プログラム、配信プログラム等

Country Status (1)

Country Link
JP (1) JP4670043B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7707136B2 (en) 2006-03-31 2010-04-27 Amazon Technologies, Inc. System and method for providing high availability data
US7925624B2 (en) * 2006-03-31 2011-04-12 Amazon Technologies, Inc. System and method for providing high availability data
JP2008059351A (ja) * 2006-08-31 2008-03-13 Brother Ind Ltd ノード装置、処理プログラム、情報配信システム及びサーバ処理プログラム
JP2008084030A (ja) * 2006-09-27 2008-04-10 Brother Ind Ltd 識別情報割当装置及びその情報処理方法並びにそのプログラム
US20080294788A1 (en) * 2007-05-21 2008-11-27 Hong Kong Applied Science And Technology Research Institute Co., Ltd. Systems and methods for p2p streaming
JP5136213B2 (ja) * 2008-05-28 2013-02-06 ブラザー工業株式会社 情報配信システム及び同システムにおける端末装置
US8332463B2 (en) * 2009-05-27 2012-12-11 Brother Kogyo Kabushiki Kaisha Distributed storage system, connection information notifying method, and recording medium in which distributed storage program is recorded
JP5581946B2 (ja) * 2010-09-30 2014-09-03 株式会社ナカヨ通信機 情報収集方法、および情報端末
JP5282795B2 (ja) * 2011-02-25 2013-09-04 ブラザー工業株式会社 情報通信システム、情報処理方法、ノード装置及びプログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08249186A (ja) * 1995-03-09 1996-09-27 Nippon Telegr & Teleph Corp <Ntt> 分散オブジェクトの名前管理方法
US6058423A (en) * 1996-12-23 2000-05-02 International Business Machines Corporation System and method for locating resources in a distributed network

Also Published As

Publication number Publication date
JP2006195744A (ja) 2006-07-27

Similar Documents

Publication Publication Date Title
JP4418897B2 (ja) 情報配信システム、情報更新プログラム、及び情報更新方法等
JP4599581B2 (ja) 情報配信システム、配信要求プログラム、転送プログラム及び配信プログラム等
US8195764B2 (en) Information delivery system, delivery request program, transfer program, delivery program, and the like
US20090037445A1 (en) Information communication system, content catalog information distributing method, node device, and the like
US8190779B2 (en) Information processing apparatus and storing apparatus, information processing method and storing method, and recording medium that promptly and efficiently distributes content
JP4561283B2 (ja) ノード装置、共用情報更新方法、共用情報保存方法、共用情報更新処理プログラム、及び共用情報保存処理プログラム
JP2007193626A (ja) コンテンツ配信システム、ノード装置及びその情報処理方法並びにそのプログラム
JP2010028551A (ja) コンテンツ分散保存システム、ノード装置、ノード処理プログラム、及びアドレス情報変更通知方法
WO2007023636A1 (ja) 情報配信システム、情報配信方法、情報配信システムに含まれるノード装置および情報処理プログラムを記憶した記憶媒体
JP4670604B2 (ja) 情報配信システム、情報処理装置、情報処理プログラム及び情報処理方法
JP4670043B2 (ja) 情報配信システム、配信要求プログラム、転送プログラム、配信プログラム等
JP4696498B2 (ja) 情報配信システム、ノード装置、所在情報検索方法、及び所在情報検索処理プログラム等
JP2006191489A (ja) ノード装置、ネットワーク参加処理プログラム、及びネットワーク参加処理方法等
JP5370269B2 (ja) 分散保存システム、分散保存システムの接続情報通知方法及びプログラム
JP4877107B2 (ja) 情報配信システムにおける端末装置及び情報処理プログラム、並びに端末装置の情報処理方法
KR100436431B1 (ko) 피어투피어 네트워크상에서의 협업적인 정보 교환시스템
JP2006260430A (ja) ノード装置、ノード情報複製プログラム、複製用ノード情報記憶プログラム及びノード情報複製方法
JP4797679B2 (ja) コンテンツ配信システム、コンテンツデータ管理装置及びその情報処理方法並びにそのプログラム
JP2010039722A (ja) ノード装置、管理ノード装置、ノード処理プログラム、管理ノード処理プログラム、コンテンツ分散保存システム、複製データ取得方法
JP5434268B2 (ja) 分散保存システム、データファイル分散保存方法及びプログラム
JP2006217538A (ja) 情報通信システム、情報通信システムに含まれる初期ゾーン管理ノード装置等
JP5287059B2 (ja) ノード装置、ノード処理プログラム及び保存指示方法
JP5494361B2 (ja) 分散保存システム、代表ノード装置、通知方法及びプログラム
JP2008181409A (ja) 通信システム、ノード稼動制御方法、ノード稼動制御装置、及びノード稼動制御処理プログラム等
JP2008181408A (ja) 通信システム、稼動制御方法、ノード装置及びノード処理プログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070206

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070517

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070423

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091208

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100205

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100824

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101117

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20101124

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20101207

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101224

R150 Certificate of patent or registration of utility model

Ref document number: 4670043

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140128

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250