JP2010238143A - ノード装置、ノード処理プログラム及び検索方法 - Google Patents

ノード装置、ノード処理プログラム及び検索方法 Download PDF

Info

Publication number
JP2010238143A
JP2010238143A JP2009087907A JP2009087907A JP2010238143A JP 2010238143 A JP2010238143 A JP 2010238143A JP 2009087907 A JP2009087907 A JP 2009087907A JP 2009087907 A JP2009087907 A JP 2009087907A JP 2010238143 A JP2010238143 A JP 2010238143A
Authority
JP
Japan
Prior art keywords
search information
information
search
content
node
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.)
Granted
Application number
JP2009087907A
Other languages
English (en)
Other versions
JP5458629B2 (ja
Inventor
Hideki Matsuo
英輝 松尾
Kazuhiro Nakamura
和寛 中村
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 JP2009087907A priority Critical patent/JP5458629B2/ja
Priority to US12/732,785 priority patent/US8315979B2/en
Publication of JP2010238143A publication Critical patent/JP2010238143A/ja
Application granted granted Critical
Publication of JP5458629B2 publication Critical patent/JP5458629B2/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/104Peer-to-peer [P2P] networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2471Distributed queries
    • 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/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1065Discovery involving distributed pre-established resource-based relationships among peers, e.g. based on distributed hash tables [DHT] 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/482End-user interface for program selection
    • H04N21/4828End-user interface for program selection for searching program descriptors

Abstract

【課題】ノード装置自身が、カタログ検索がされる可能性が高いコンテンツデータのカタログ情報を記憶して、その検索を簡便かつ迅速に実行する。
【解決手段】ネットワークを介して互いに通信可能な複数のノード装置を備え、複数のコンテンツデータにそれぞれに対応する検索情報を各ノード装置間で分散して保存する情報通信システムに含まれるノード装置であって、コンテンツデータの公開日時を表す公開日時情報を含む検索情報を取得し、その検索情報が所定の規則に従って定められた担当範囲の検索情報であると判定された場合、その検索情報を担当検索情報記憶手段に記憶し、また、取得された検索情報が、新規公開予定のコンテンツデータの検索情報であると判定された場合、その検索情報を新規公開検索情報記憶手段に記憶し、担当検索情報記憶手段または新規公開検索情報記憶手段に記憶された検索情報に基づいて、コンテンツデータを検索する。
【選択図】図3

Description

本発明は、ネットワークを介して互いに通信可能な複数のノード装置を備えたピアツーピア(Peer to Peer(P2P))型のコンテンツ配信システムに関する。特に、本発明は、複数のコンテンツデータが複数のノード装置に分散して保存されたコンテンツ配信システム等の技術分野に関する。
一般的に、この種のコンテンツ配信システムは、複数のノード装置により構成される。コンテンツデータは、複数のノード装置に分散保存されている。特許文献1には、コンテンツ配信システムの各ノード装置がコンテンツカタログ情報を有する技術が開示されている。コンテンツカタログ情報は、コンテンツデータの属性情報(例えば、コンテンツ名、ジャンル、アーティスト名等)が記述された情報である。各ノード装置は、コンテンツカタログ情報を取得する。当該コンテンツカタログ情報に記述された属性情報に基づき、各ノード装置は、ユーザーが所望するコンテンツデータを取得することが可能になっている。このようなコンテンツカタログ情報は、複数のノード装置において共通に使用される共用情報である。
具体的に特許文献1には、各ノード装置が所定の規則に従って定められた担当範囲のコンテンツデータのカタログ情報を分散して記憶することが開示されている。各ノード装置間でカタログ検索要求が行われることで、コンテンツデータのカタログ情報を互いに利用し合うことで、検索が実行される。
特開2007−280303号公報
新規に公開されるコンテンツデータは、一般的に多数のノード装置から取得を要求される。新規に公開されるコンテンツデータを取得する場合も、特許文献1に記載される方法でコンテンツデータが検索される。しかしながら、各ノード装置は、各ノード装置自身が担当する範囲のコンテンツデータの属性情報しか記憶していない。そのため、新規に公開されるコンテンツデータを取得するとき、新規に公開されるコンテンツデータを要求する多数のノード装置からカタログ検索の要求が行われる。ネットワークを介して他のノード装置へカタログ検索要求が頻繁に行われるため、ネットワーク負荷が増大するという問題が生じていた。
本発明は、以上の点等に鑑みてなされたものであり、ノード装置自身が、カタログ検索がされる可能性が高いコンテンツデータのカタログ情報を記憶して、カタログ検索処理を簡便かつ迅速に実行することができるノード装置、ノード処理プログラム、検索方法を提供することを課題とする。
上記課題を解決するために、請求項1に記載の発明は、ネットワークを介して互いに通信可能な複数のノード装置を備え、前記複数のノード装置間で利用可能な複数のコンテンツデータにそれぞれに対応する検索情報を各前記ノード装置間で分散して保存する情報通信システムに含まれる前記ノード装置であって、少なくとも前記コンテンツデータの公開日時を表す公開日時情報を含む前記検索情報を取得する検索情報取得手段と、前記検索情報取得手段により取得された検索情報が、所定の規則に従って定められた担当範囲の検索情報であるか否かを判定する検索情報判定手段と、前記検索情報判定手段により、前記担当範囲であると判定された検索情報を記憶する担当検索情報記憶手段と、前記公開日時情報に基づいて、前記取得された検索情報が、新規公開予定のコンテンツデータの検索情報であるか否かを判定する判定手段と、前記判定手段により新規公開予定のコンテンツデータの検索情報であると判定された場合、前記取得された検索情報を記憶する新規公開検索情報記憶手段と、前記担当検索情報記憶手段または前記新規公開検索情報記憶手段に記憶された検索情報に基づいて、前記コンテンツデータを検索するコンテンツデータ検索手段と、を有することを特徴とするノード装置である。
上記課題を解決するために、請求項2に記載の発明は、請求項1に記載のノード装置において、前記検索情報判定手段により、前記担当範囲の検索情報でないと判定されたとき、前記新規公開検索情報記憶手段は、前記判定された検索情報を記憶することを特徴とするノード装置である。
上記課題を解決するために、請求項3に記載の発明は、請求項1または請求項2に記載のノード装置において、前記新規公開検索情報記憶手段に前記検索情報を記憶できる所定の記憶容量があるか否かを判定する記憶判定手段と、前記記憶判定手段により、前記所定の記憶容量がないと判定されたとき、所定の規則に従って前記新規公開検索情報記憶手段から所定の前記検索情報を削除する検索情報削除手段とを備えることを特徴とするノード装置である。
上記課題を解決するために、請求項4に記載の発明は、請求項3に記載のノード装置において、現在の日時を表す現在日時情報を取得する現在日時取得手段を備え、前記検索情報削除手段は、前記所定の規則として前記現在日時情報と前記公開日時情報との時刻差が大きい前記公開日時情報を有する前記検索情報から順番に削除することを特徴とするノード装置である。
上記課題を解決するために、請求項5に記載の発明は、請求項4に記載のノード装置において、前記検索情報削除手段は、前記現在日時情報より前記公開時刻情報が過去の日時であり、且つ、前記時刻差が大きい前記公開日時情報を有する前記検索情報から順番に削除することを特徴とするノード装置である。
上記課題を解決するために、請求項6に記載の発明は、請求項4に記載のノード装置において、前記検索情報削除手段は、前記現在日時情報より前記公開時刻情報が未来の日時であり、且つ、前記時刻差が大きい前記公開日時情報を有する前記検索情報から順番に削除することを特徴とするノード装置である。
上記課題を解決するために、請求項7に記載の発明は、請求項1乃至請求項6の何れか一項に記載のノード装置において、前記新規公開検索情報記憶手段の記憶可能容量は、担当検索情報記憶手段の記憶可能容量よりも大きいことを特徴とするノード装置である。
上記課題を解決するために、請求項8に記載の発明は、コンピュータを、請求項1乃至7の何れか一項に記載のノード装置として機能させることを特徴とするノード処理プログラムである。
上記課題を解決するために、請求項9に記載の発明は、ネットワークを介して互いに通信可能な複数のノード装置を備え、前記複数のノード装置間で利用可能な複数のコンテンツデータにそれぞれに対応する検索情報を各前記ノード装置間で分散して保存する情報通信システムに含まれる前記ノード装置における検索方法であって、少なくとも前記コンテンツデータの公開日時を表す公開日時情報を含む前記検索情報を取得する工程と、取得された検索情報が、所定の規則に従って定められた担当範囲の検索情報であるか否かを判定する工程と、前記担当範囲であると判定された検索情報を担当検索情報記憶手段に記憶する工程と、前記公開日時情報に基づいて、前記取得された検索情報が、新規公開予定のコンテンツデータの検索情報であるか否かを判定する工程と、新規公開予定のコンテンツデータの検索情報であると判定された場合、前記取得された検索情報を新規公開検索情報記憶手段記憶する工程と、前記担当検索情報記憶手段または前記新規公開検索情報記憶手段に記憶された検索情報に基づいて、前記コンテンツデータを検索する工程と、を有することを特徴とする検索方法である。
本発明によれば、検索される可能性が高い新規公開予定のコンテンツのカタログ情報を記憶したので、簡便かつ迅速にコンテンツデータの検索を行なうことができる。
本実施形態に係るデータファイル分散保存システムSにおける各ノード装置の接続態様の一例を示す図である。 ノードNnの概要構成例を示すブロック図である。 ノードNnにおける制御部11のメイン処理を示すフローチャートである。 ステップS16の「レコード保存処理(A)」を示すフローチャートである。 ステップS18、ステップS85の「レコード保存処理(B)」を示すフローチャートである。 ステップS35、ステップS44の「新規公開カタログ保存処理」を示すフローチャートである。 ステップS23の「メッセージ受信処理」を示すフローチャートである。 ステップS64の「カタログ更新処理」を示すフローチャートである。 ステップS69の「事前保存処理」を示すフローチャートである。
以下、本発明の最良の実施形態を図面に基づいて説明する。なお、以下に説明する実施の形態では、コンテンツ分散保存システムを本発明の情報通信システムの一例として説明する。
1.コンテンツ分散保存システムの構成及び動作概要
始めに、図1等を参照して、本実施形態に係るコンテンツ分散保存システムSの構成及び動作概要について説明する。
図1は、本実施形態に係るコンテンツ分散保存システムSにおける各ノード装置の接続態様の一例を示す図である。
図1の下部枠101内に示すように、IX(Internet eXchange)3、ISP(Internet Service Provider)4a、4b、DSL(Digital Subscriber Line)回線事業者の装置5a、5b、FTTH(Fiber To The Home)回線事業者の装置6、及び通信回線(例えば、電話回線や光ケーブル等)7等によって、インターネット等のネットワーク8が構築されている。なお、図1の例におけるネットワーク8には、データをパケット転送するためのルータが、適宜挿入されているが図示を省略している。また、ネットワーク8は、現実世界の通信ネットワークである。
このようなネットワーク8には、複数のノード装置Nn(n=1,2,3・・・の何れか)が接続されている。なお、ノード装置Nnは、以下の説明において、ノードと言う。
また、各ノードNnには、固有の製造番号およびIP(Internet Protocol)アドレスが割り当てられている。そして、本実施形態に係るコンテンツ分散保存システムSは、これらのノードNnのうち、図1の上部枠100内に示すように、何れか複数のノードNnの参加により形成されるピアツーピア方式のネットワークシステムとなっている。
なお、図1の上部枠100内に示すネットワーク9は、既存のネットワーク8を用いて形成された仮想的なリンクを構成するオーバーレイネットワーク9であり、論理的なネットワークである。かかるオーバーレイネットワーク9は、特定のアルゴリズム、例えば、DHTを利用したアルゴリズムにより実現される。そして、コンテンツ分散保存システムSに参加している各ノードNnには、所定桁数からなる固有の識別情報であるノードIDが割り当てられている。なお、“コンテンツ分散保存システムSに参加している”とは、言い換えれば、“オーバーレイネットワーク9に参加している”ことと同義である。なお、ノードIDはノード装置識別情報の一例である。
また、ノードIDは、例えば、各ノードNnに個別に割り当てられたIPアドレス或いは製造番号を共通のハッシュ関数によりハッシュ化した値である。例えば、ハッシュ関数SHA−1等により得たbit長が160bit等の値をノードIDとし、各ノードNnのノードIDが一つのID空間に偏りなく分散して配置されることになる。
また、各ノードNnは、夫々、DHTを用いたルーティングテーブルを保存している。このルーティングテーブルは、コンテンツ分散保存システムS上における各種メッセージの転送先を規定しており、具体的には、ID空間内で適度に離れたノードNnのノード情報が複数登録されている。ノード情報は、当該ノードNnのノードIDとアドレス情報を含むものであり、当該アドレス情報は、例えば、IPアドレスとポート番号等を含む。
ところで、コンテンツ分散保存システムSにおいては、内容の異なる様々な映画、アニメ、音楽等のコンテンツの複製データが所定のファイル形式で複数のノードNnに分散して保存されており、各ノードNn間で当該レプリカを利用可能になっている。なお、以下の説明において、“コンテンツの複製データ”を、「レプリカ」又は「コンテンツデータ」と言う。
例えば、ノードN5には、タイトルがXXXの映画のコンテンツのレプリカが保存されており、一方、ノードN3には、タイトルがYYYの映画のコンテンツのレプリカが保存されるというように、複数のノードNnに分散されて保存されている。なお、以下の説明において、“レプリカ(コンテンツデータ)を保存するノードNn”を「コンテンツ保存ノード」という。
また、これらのコンテンツのレプリカには、夫々、コンテンツのタイトルなどのコンテンツ名及びコンテンツID等の情報が付加されている。このコンテンツIDは、コンテンツ毎に固有の識別情報であり、コンテンツ識別情報の一例である。例えば、コンテンツ名+任意の数値や、コンテンツの先頭数バイト等の数値が、上記ノードIDを得るときと共通のハッシュ関数によりハッシュ化されて生成される。そして、コンテンツIDは、ノードIDと同一のID空間に配置される。或いは、システム管理者が、コンテンツ毎に一意のID値を付与しても良い。なお、この場合もノードIDと同一ビット長となるようなコンテンツIDを付与し、ノードIDとコンテンツIDが同一のID空間に存在するよう構成する。なお、ID空間については、特開2006−197400号公報、特開2007‐280303号公報等で公知であるので、詳しい説明を省略する。
このように分散保存されているコンテンツのレプリカの所在、つまり、当該レプリカを保存したノードNnのノード情報と当該コンテンツのコンテンツID等の組が含まれるインデックス情報が、当該コンテンツのレプリカの所在を管理しているノードNn等により記憶、管理されるようになっている。なお、以下の説明において、“レプリカの保存”を“レプリカの記憶”又は“レプリカのキャッシュ”ともいい、“コンテンツのレプリカの所在を管理しているノードNn”を“ルートノード”という。
このようなコンテンツ分散保存システムSにおいて、コンテンツデータをダウンロードする際には、コンテンツをリクエストするユーザーノードが、先ず、サーバ装置の一例であるコンテンツ分散保存システムSを運営する管理者の管理サーバ等から各ノードNnにマルチキャスト送信等により配布されたカタログ情報を参照して取得したいコンテンツのコンテンツIDを取得する。
そして、ユーザーノードは、コンテンツ保存ノードの所在を検索すべく、取得したコンテンツIDを含む検索メッセージ(クエリ)を生成する。そして、生成したクエリをルーティングテーブルに従ってルートノードに向けて送出し、ルートノードからコンテンツのコンテンツデータを保存するコンテンツ保存ノードのアドレス情報を送信してもらう。そして、当該アドレス情報に従って、コンテンツ保存ノードにアクセスして、コンテンツ送信要求メッセージを送信する。その後、そこからそのコンテンツのコンテンツデータをダウンロードする。或いは、ユーザーノードからクエリを受信したルートノードが、コンテンツ保存ノードに対してユーザーノードのアドレス情報を含むコンテンツ送信要求メッセージを送信し、これにより、ユーザーノードが、上記コンテンツ保存ノードからそのコンテンツのコンテンツデータをダウンロードすることもできる。
なお、このようなDHTを用いたルーティングテーブルや、当該ルーティングテーブルを利用した各ノードNn間におけるメッセージの転送については、特開2006−197400号公報等で公知であるので、詳しい説明を省略する。
管理サーバ等から各ノードNnにマルチキャスト送信等により配布されるカタログ情報には、コンテンツの検索情報の一例としてのレコードが記憶されている。
コンテンツのレコードとは、コンテンツの属性情報であり、例えば、コンテンツID、コンテンツの公開期間を示す公開期間情報、コンテンツの検索用キーワード、コンテンツの評価値、コンテンツタイトル、ジャンル、アーティスト名、出演者、監督名等である。なお、公開期間情報には、公開日時の一例である公開開始日時を示す公開日時情報と、公開終了日時を示す公開終了日時情報を含む。なお、属性情報の詳細は、特開2007‐280303号公報等で公知であるので、詳しい説明を省略する。
このようなコンテンツのレコードは、ユーザーが所望のコンテンツデータを特定する場合の要素であり、多くのコンテンツデータの中から所望のコンテンツデータを検索するための検索条件としての検索キーワードとしても利用される。例えば、ユーザーが検索キーワードとして「ジャズ」を入力すると、レコードに「ジャズ」に該当する全てのコンテンツデータが検索され、検索結果がユーザーに選択可能に提示されることになる。検索結果として、検索されたコンテンツデータのレコードを提示してもよい。
ところで、オーバーレイネットワーク9に参加している各ノードNnが、夫々、マルチキャストによって配布されたカタログ情報の全部を記憶する形態の場合、コンテンツ分散保存システムS上に投入されるコンテンツの数が膨大になると、カタログ情報のデータ量も大きくなりすぎて1台のノードNnにおけるカタログ情報を記憶する記憶領域に記憶しきれないという事態が想定される。
そこで、本実施形態では、各ノード毎にコンテンツデータの担当範囲を決め、各ノードNnが、自己の担当範囲のコンテンツのレコードが記憶されたカタログ情報を記憶するように構成し、カタログ情報を複数のノードで分散するよう構成した。
ここで、「担当範囲」は、所定の規則に従って定められ、例えば、ノードIDとコンテンツIDとの最上位桁目からの一致すべき桁数を示す「Range」で表される。例えば、Range=1の場合、少なくとも最上位桁目が一致すべきことを意味し、Range=2の場合、少なくとも最上位桁目及びその次の桁目が一致すべきことを意味しており、当該Rangeは、担当範囲が広くなるほど、小さくなる桁数を示している。
そして、夫々のノードNnは、上記Rangeを記憶しており、自己のノードIDのうちRangeにて示される桁数分の所定桁目が一致するコンテンツIDを有するコンテンツデータを、自己の担当範囲のコンテンツデータとして、そのレコードが記憶されたカタログ情報を記憶する。例えば、ノードIDが「0132」でRange=1であるノードは、少なくとも最上位桁目が「0」であるコンテンツIDを有する全てのコンテンツデータを、自己の担当範囲のコンテンツデータとしてそのレコードが記憶されたカタログ情報を記憶することになる。
また、ノードIDが「1001」でRange=2であるノードは、少なくとも最上位桁目から2桁目までが「10」であるコンテンツIDを有する全てのコンテンツデータを、担当範囲のコンテンツデータとしてそのレコードが記憶されたコンテンツカタログ情報を記憶することになる。なお、Range=0の場合、カタログ情報の全部を記憶することになる。
なお、各ノードNnは、自己の担当範囲外のコンテンツデータのレコードが記憶されたカタログ情報を記憶することを妨げるものではなく、最低限自己の担当範囲のコンテンツデータのレコードについては、他のノードNnに対して記憶していることを保証するものである。
Rangeをどのように設定するかは、各ノード毎に任意であるが、例えば、担当範囲のカタログ情報を記憶する担当検索情報記憶領域の記憶容量が小さいほど狭く、記憶容量が大きいほど広く設定するよう構成してもよい。
このように、オーバーレイネットワーク9に参加している各ノードには、少なくとも自己の担当範囲のコンテンツデータのレコードが記憶されたカタログ情報が記憶されているものとする。その他、例えば、カタログ情報の受信処理など、各ノードNnが有する担当範囲のカタログ情報の詳細については、特開2007‐280303号公報等で公知であるので、詳しい説明を省略する。
ところで、コンテンツデータは、公開前に、公開後の利用に備えてコンテンツ分散保存システムSに参加する各ノードNnに事前に保存する場合がある。このような公開前のコンテンツデータの事前保存は、コンテンツデータを提供する管理サーバ等が、コンテンツ分散保存システムSに参加するノードNnに、新規公開予定のコンテンツのコンテンツデータを事前保存するよう指示する事前保存指示メッセージをマルチキャスト送信する。指示を受けた各ノードNnが指示されたコンテンツの所在を検索(クエリ送信)する。コンテンツ保存ノードから新規公開予定のコンテンツのコンテンツデータを取得して後述する自己の記憶部に記憶する。このような事前保存指示は、管理サーバ等が各ノードNnにそれぞれ指示する構成でもよいが、管理サーバ等の負担軽減のため、各ノードNn間で当該事前保存指示メッセージを転送し合う。当該メッセージを受信したノードNnがそれぞれ指示に従ってコンテンツデータを取得し保存するよう構成してもよい。
本実施形態では、各ノードNnは、公開前に各ノードNnに事前保存されている新規公開予定のコンテンツのレコードが記憶されたカタログ情報も記憶するよう構成する。
新規公開予定のコンテンツとは、公開間近のコンテンツであり、コンテンツ分散保存システムS内の各ノードNnで利用可能となる日時(公開日時)が所定期間以内であるコンテンツを言う。所定期間は、例えば、数日、一週間などと定めることができ、コンテンツの種類や評価値、又はコンテンツ分散保存システムSに参加しているノードNnの数等の条件を比較考量して管理サーバ又は当該ノードNn自身が決定する。
そして、ノードNnは、例えば、ユーザーによってキーワードや公開期間の範囲指定などの条件が入力され、コンテンツの検索要求がされた際には、他のノードNnに対して後述する「カタログ検索処理」を行なう前に、先ず、自己が記憶しているカタログ情報を参照して検索を行なう。
このように、各ノードNnは、自己の担当範囲のコンテンツのカタログ情報だけでなく、カタログ検索が要求される可能性が高い、新規公開予定のコンテンツのカタログ情報を記憶するよう構成したので、カタログ検索を行なう際に、これらのカタログ情報を参照することができ、コンテンツデータの検索を簡便且つ迅速に行なうことができる。
更に、各ノードNnは、カタログ検索でヒットしたコンテンツのレコードを記憶してもよい。カタログ検索でヒットしたコンテンツは、言わば、ユーザーの嗜好に沿ったコンテンツともいえる。従って、各ノードNnが、カタログ検索でヒットしたコンテンツのレコードが記憶されたカタログ情報を後述する自己の記憶部に記憶すれば、新たにカタログ検索を行なう際に、これまでのカタログ検索でヒットしたコンテンツのレコードが記憶されたカタログ情報を参照してコンテンツデータの検索をより簡便且つ迅速に行なうことができる。
なお、以下の説明において、自己の担当範囲のカタログ情報を「ローカルカタログ」と称する。新規公開予定のコンテンツのカタログ情報を「新規公開カタログ」と称する。カタログ検索でヒットしたコンテンツのカタログ情報を「検索結果カタログ」と称する。
2.ノードNnの構成及び機能
次に、図2を参照して、ノードNnの構成及び機能について説明する。
図2は、ノードNnの概要構成例を示すブロック図である。
各ノードNnは、制御部11と、記憶部12と、バッファメモリ13と、デコーダ部14と、映像処理部15と、表示部16と、音声処理部17と、スピーカ18と、通信部20と、入力部21とから構成される。制御部11、記憶部12、バッファメモリ13、デコーダ部14、通信部20、及び入力部21はバス22を介して相互に接続されている。制御部11は、演算機能を有するCPU,作業用RAM,各種データおよびプログラムを記憶するROM等から構成される。制御部11は、本実施形態のコンピュータとして機能する。記憶部12は、各種データ及び各種プログラム等を記憶保存(格納)するためを記憶するハードディスク等から構成される。例えば、記憶部12はコンテンツのレプリカを記憶する。また、システムS1又はS2に参加後は、記憶部12はインデックスキャッシュ、DHT等を記憶する。バッファメモリ13は、受信されたコンテンツのレプリカ等を一時蓄積する。デコーダ部14は、エンコードされたビデオデータ(映像情報)およびオーディオデータ(音声情報)等をデコード(データ伸張や復号化等)する。コンテンツが映像や音声を含む場合に、デコーダ部14は、コンテンツのレプリカに含まれるエンコードされたビデオデータおよびオーディオデータ等をデコードする。映像処理部15は、デコードされたビデオデータ等に対して所定の描画処理を施しビデオ信号として出力する。表示部16は、映像処理部15から出力されたビデオ信号に基づき映像表示するCRT,液晶ディスプレイ等である。音声処理部17は、上記デコードされたオーディオデータをアナログオーディオ信号にD(Digital)/A(Analog)変換した後これをアンプにより増幅して出力する。スピーカ18は、音声処理部17から出力されたオーディオ信号を音波として出力する通信部20は、ネットワーク8を通じて他のノードNn等間の情報の通信制御を行なう。入力部21は、ユーザーからの指示を受け付け、指示に応じた指示信号を制御部11へ通信する。入力部21は、例えば、キーボード、マウス、或いは、操作パネル等である。
なお、ノードNnとしては、パーソナルコンピュータ、STB(Set Top Box)、通信カラオケ装置、或いは、TV受信機等が適用可能である。
記憶部12は、コンテンツデータキャッシュ領域を有し、コンテンツ分散保存システムSに参加する他のノードNnや管理サーバ等から取得したコンテンツデータが当該コンテンツデータキャッシュ領域に記憶される。
また、記憶部12には、キャッシュリストが記憶されている。当該キャッシュリストは、コンテンツデータキャッシュ領域に記憶しているコンテンツデータのコンテンツ名、コンテンツIDなど、コンテンツデータに関する情報がそれぞれ対応付けて登録されている。更に、後述する保存コンテンツデータのチェック処理の際、或いは、コンテンツ送信要求メッセージに応じてコンテンツを送信した際など、コンテンツデータのチェックが行なわれた時間が最終チェック時間として登録されている。
また、記憶部12には、当該ノードNn自身のアドレス情報及びノードIDと、ルーティングテーブルが記憶される。更に、自己が所在を管理するコンテンツの情報と、当該コンテンツを保存するコンテンツ保存ノードの情報がインデックスキャッシュとして記憶される。自己が所在を管理するコンテンツの情報とは、コンテンツのコンテンツIDであり、コンテンツ保存ノードの情報はノード情報である。これらコンテンツIDとノード情報の組が含まれるインデックス情報がインデックスキャッシュとして記憶される。
また、記憶部12には、カタログ情報の担当範囲を決定するための自己のRangeが記憶されている。
更に、記憶部12は、担当検索情報記憶領域と新規公開検索情報記憶領域と検索結果検索情報記憶領域とを有する。担当検索情報記憶領域には、ローカルカタログが記憶されている。新規公開検索情報記憶領域には、新規公開カタログが記憶されており、検索結果検索情報記憶領域には検索結果カタログが保存されている。
このような構成において、制御部11は、CPUが記憶部12等に記憶されたプログラムを読み出して実行することにより、全体を統括制御し、コンテンツ分散保存システムSへの参加により上述したユーザーノード、中継ノード、ルートノード、コンテンツ保存ノードの少なくとも何れか一つのノードとしての処理を行なうようになっている。
また、制御部11は、本発明のノード処理プログラムを実行することにより、本発明における検索情報取得手段、検索情報判定手段、担当検索情報記憶手段、判定手段、新規公開検索情報記憶手段、コンテンツデータ検索手段、記憶判定手段、現在日時取得手段等として機能する。なお、上記ノード処理プログラムは、例えば、ネットワーク8上の所定のサーバからダウンロードされるようにしてもよいし、例えば、CD−ROM等の記録媒体に記録されて当該記録媒体のドライブを介して読み込まれるようにしても良い。
3.ノードNnの処理
ノードNnにおける処理を、図を参照して詳しく説明する。
3−1.メイン処理
図3は、コンテンツ分散保存システムSに参加している任意のノードNnにおける制御部11のメイン処理を示すフローチャートであり、コンテンツ分散保存システムSへの参加後、例えば、コンタクトノードへのアクセスの後に本発明のノード処理が読み出され処理が開始する。
先ず、制御部11は、当該ノードNn自身の電源がオフとされたか否かを判定し(ステップS10)、電源がオフとされた場合(ステップS10:Yes)には処理を終了し、電源がオフとされていない場合(ステップS10:No)には、所定条件に基づいてコンテンツの検索要求受付がされたか否かを判定する(ステップS11)。具体的には、例えば、ユーザーによって入力部21が操作され、キーワードや公開期間の範囲指定などの条件が入力されコンテンツの検索要求が受け付けられたか否かを判定する。
判定の結果、検索要求が受け付けられた場合(ステップS11:Yes)には、制御部11は、予め用意された「検索結果リスト」を0として初期化する(ステップS12)。「検索結果リスト」は、検索を行なった結果を一時的に記憶するためのものであり、RAM等に予め用意されている。
次いで、制御部11は、記憶部12に記憶した新規公開カタログと検索結果カタログを検索し、所定条件に該当するコンテンツがあれば、当該コンテンツの情報を検索結果として表示部16に表示してユーザーに提示する(ステップS13)。なお、所定条件に該当するコンテンツとは、言い換えれば、所定条件にヒットしたコンテンツである。また、検索結果としてユーザーに提示されるコンテンツの情報は、例えばコンテンツのレコード等であり、ステップS13では、検索の結果ヒットしたコンテンツのレコードがユーザーに提示され、かつ、検索結果リストに登録される。
続いて、制御部11は、「カタログ検索処理」を行なう(ステップS14)。ここで実行される「カタログ検索処理」は、他のノードNnに対して検索要求メッセージを送信し、他のノードNnにて記憶されているローカルカタログ、新規公開カタログ又は検索結果カタログの中から所定条件に該当するコンテンツの検索処理を行なってもらい、当該他のノードNnから検索結果を返信してもらう処理である。なお、所定条件は検索要求メッセージに含んで送信すればよい。なお、当該「カタログ検索処理」の詳細については、特開2007‐280303号公報等で公知であるので、詳しい説明を省略する。
また、ステップS14におけるカタログ検索処理では、検索要求メッセージを受信した他のノードNnは、新規公開予定のコンテンツのレコードを検索結果と共に送信する。これにより、制御部11は、検索結果と共に新規公開予定のコンテンツのレコードを受信する。なお、上記他のノードNnが、新規公開予定のコンテンツのレコードを保存していない場合には、新規公開予定のコンテンツのレコードを送信しない。
なお、ステップS14における「カタログ検索処理」では、記憶部12に記憶したローカルカタログ内も検索する。
そして、他のノードNnから取得した検索結果とローカルカタログを検索して取得した検索結果を表示部16に表示してユーザーに提示する(ステップS15)。
このとき検索結果リストには、ステップS13にて、新規公開カタログと検索結果カタログを検索して得られた検索結果が登録されているが、ステップS15では、検索結果リストに登録されていない検索結果のみを提示するよう構成してもよい。ステップS13にて提示済みの検索結果が重複して提示されないようにするためである。
続いて、制御部11は、「レコード保存処理(A)」を行ない(ステップS16)、検索結果として得られたレコードを保存する。なお、ステップS16の「レコード保存処理(A)」は後に詳述する。
そして、制御部11は、ステップS14の「カタログ検索処理」において、他のノードNnから新規公開予定のコンテンツのレコードを受信したか否かを判定する(ステップS17)。
判定の結果、新規公開予定のコンテンツのレコードを受信していない場合(ステップS17:No)には、ステップS10へ移行し、新規公開予定のコンテンツのレコードを受信した場合(ステップS17:Yes)には、「レコード保存処理(B)」を行ない(ステップS18)、新規公開予定のコンテンツのレコードを保存する。なお、ステップS18の「レコード保存処理(B)」は後に詳述する。
一方、ステップS11において、検索要求が受け付けられていないと判定された場合(ステップS11:No)には、制御部11は、ステップS13又はステップS15にて提示した検索結果からコンテンツの選択がされたか否かを判定する(ステップS19)。
具体的には、検索結果を提示されたユーザーが、入力部21を操作することにより、検索結果の中からコンテンツデータの取得を所望するコンテンツの選択が行われたか否かを判定する。
判定の結果、コンテンツの選択がされた場合には(ステップS19:Yes)、制御部11は、選択されたコンテンツのコンテンツデータを保存するコンテンツ保存ノードのアドレス情報を取得する(ステップS20)。具体的には、選択されたコンテンツのコンテンツIDをキーとするクエリの送信により、当該コンテンツのルートノードから当該コンテンツのコンテンツデータを保存するコンテンツ保存ノードのアドレス情報を返信してもらう。なお、クエリの送信から所定時間経過してもコンテンツ保存ノードのアドレス情報が取得できなかった場合には、管理サーバに問い合わせて、管理サーバからコンテンツ保存ノードのアドレス情報を取得してもよい。
続いて、制御部11は、取得したアドレス情報に従ってコンテンツ保存ノードにアクセスし、コンテンツ保存ノードから選択されたコンテンツのコンテンツデータを取得する(ステップS21)。なお、取得したコンテンツデータは、記憶部12のコンテンツデータキャッシュ領域に記憶される。更に、制御部11は、取得したコンテンツデータに関する情報をキャッシュリストに追加登録する。更に、コンテンツデータを記憶したことを他のノードNnに知らせるため、コンテンツデータの登録(パブリッシュ)処理を行なう。なお、コンテンツデータのパブリッシュ処理については、特開2006−197400号公報等で公知であるので、詳しい説明を省略する。
そして、ステップS10へ移行する。なお、取得したコンテンツデータは、その後再生処理が行なわれるが、当該再生処理は、ステップS10乃至ステップS24の処理と並行して行ってもよい。
一方、ステップS19において、コンテンツの選択がされていない場合(ステップS19:No)には、制御部11は、他のノードNn又は管理サーバからメッセージを受信したか否かを判定する(ステップS22)。
判定の結果、メッセージを受信した場合(ステップS22:Yes)には、制御部11は、「メッセージ受信処理」を行ない(ステップS23)、ステップS10へ移行する。なお、ステップS23の「メッセージ受信処理」は、後に詳述する。
また、メッセージを受信していない場合(ステップS22:No)には、制御部11は、保存コンテンツデータのチェック処理を行ない(ステップS24)、ステップS10へ移行する。
ステップS24の保存コンテンツデータのチェック処理は、記憶部12のコンテンツデータキャッシュ領域に記憶しているコンテンツデータに対する処理である。例えば、コンテンツデータキャッシュ領域に記憶しているコンテンツデータの中に、例えば、既に公開期間が終了しているコンテンツデータがある場合には、そのコンテンツデータをコンテンツデータキャッシュ領域から削除する。公開期間が終了しているコンテンツデータとは、コンテンツのレコードに含まれる公開終了日時情報で示される公開終了日時が現在日時を経過している場合を言う。
また、現在日時とコンテンツの公開日時までの時間差に応じて、他のノードNnに対する事前保存指示メッセージを送信する場合には、残り期間をチェックし事前保存指示メッセージの送信タイミングか否かを判定し、送信タイミングであれば、事前保存指示メッセージを送信する。その他、コンテンツの評価値に基づいて、自己の記憶部12に記憶されたコンテンツの保存優先順位が決定される場合に、当該保存優先順位を更新する等の処理もある。
保存コンテンツデータのチェック処理は、コンテンツのレコードに含まれる公開期間や評価値に基づいて行なわれるが、レコードを検索する際には、記憶部12に記憶しているローカルカタログ、新規公開カタログ、検索結果カタログ、及び、他のノードNnに対して「カタログ検索処理」を行ない、レコードを検索する。
なお、ネットワーク負荷を抑制するため、他のノードNnに対する「カタログ検索処理」より先に、記憶部12に記憶しているローカルカタログ、新規公開カタログ、検索結果カタログを検索するほうがよい。
また、特に、事前保存指示メッセージを他のノードNnにマルチキャスト転送するために、コンテンツの公開日時をチェックする場合には、当該事前保存指示メッセージにかかるコンテンツは新規公開予定のコンテンツであるため、当該コンテンツのレコードは、新規公開カタログに記憶されている可能性が高い。従って、この場合には、新規公開カタログを先に検索すれば、より迅速に検索することができる。
なお、上記ステップS20において、取得を所望するコンテンツのコンテンツ保存ノードのアドレス情報をルートノードから取得しているが、クエリを受信したルートノードがコンテンツ保存ノードに対してユーザーノードのアドレス情報を含むコンテンツ送信要求メッセージを送信し、これにより、ユーザーノードは、上記コンテンツ保存ノードからそのコンテンツデータを取得するよう構成してもよい。
また、ステップS24にて毎回保存コンテンツデータのチェック処理を行なわずとも、記憶部12のコンテンツデータキャッシュ領域に記憶している各コンテンツデータについて、予め定めた所定期間毎に定期的にチェックを行なうよう構成してもよい。そして、定期チェックを行なった際、チェックした時間を用いて記憶部12のチェックリストの最終チェック時間を更新する。
なお、ステップS11の検索要求に対して検索を行なう際に、ステップS13にて、ローカルカタログより先に新規公開カタログと検索結果カタログを検索しているが、ローカルカタログを先に検索してもよい。ローカルカタログを検索し、次に、新規公開カタログと検索結果カタログを検索し、最後に他のノードNnに対する「カタログ検索処理」を行なう場合には、「カタログ検索処理」にて記憶部12のローカルカタログの検索は行なわない。
また、ステップS11の検索要求に対して検索を行なう際に、新規公開カタログが記憶される新規公開検索情報記憶領域と、検索結果カタログが記憶される検索結果検索情報記憶領域と、ローカルカタログが記憶される担当検索情報記憶領域とを比較して、記憶容量が大きいカタログから順に検索を行なってもよい。
3−2.「レコード保存処理(A)」
図4は、上記ステップS16の「レコード保存処理(A)」を示すフローチャートである。この処理は、例えば、検索結果リストに登録されたレコードを、ローカルカタログ又は新規公開カタログ又は検索結果カタログに保存する処理である。
先ず、制御部11は、検索結果リストに登録されたレコード、つまり、保存対象のレコードが、自己の担当範囲のコンテンツのレコードであるか否かを判定する(ステップS30)。具体的には、記憶部12に記憶している自己のRangeとノードIDに基づいて、自己の担当範囲のコンテンツのレコードであるか否かを判定する。
例えば、Range=0であって、ノードIDが「0100」である場合には、保存対象のレコードに係るコンテンツのコンテンツIDが、少なくとも最上位桁目が「0」であるコンテンツIDである場合には、保存対象のレコードを自己の担当範囲のコンテンツのレコードであるとして判定する。
判定の結果、自己の担当範囲のコンテンツのレコードである場合(ステップS30:Yes)には、制御部11は、保存対象のレコードをローカルカタログに保存する(ステップS31)。なお、保存対象のレコードが、ローカルカタログに既に保存されていれば、上書保存して処理を終了する。
一方、判定の結果、保存対象のレコードが、自己の担当範囲のコンテンツのレコードでない場合(ステップS30:No)には、制御部11は、新規公開カタログに保存対象のレコードが保存されているか否かを判定する(ステップS32)。
判定の結果、新規公開カタログに保存対象のレコードが保存されている場合(ステップS32:Yes)には、制御部11は、保存対象のレコードを用いて新規公開カタログのレコードを上書保存して(ステップS33)、処理を終了する。
一方、判定の結果、新規公開カタログに保存対象のレコードが保存されていない場合(ステップS32:No)には、制御部11は、保存対象のレコードが新規公開予定のコンテンツのレコードであるか否かを判定する(ステップS32)。
判定の結果、保存対象のレコードが新規公開予定のコンテンツのレコードである場合(ステップS34:Yes)には、制御部11は、「新規公開カタログ保存処理」を行ない(ステップS35)、処理を終了する。なお、ステップS35の「新規公開カタログ保存処理」は、後に詳述する。
一方、保存対象のレコードが新規公開予定のコンテンツのレコードでない場合(ステップS34:No)には、制御部11は、保存対象のレコードを検索結果カタログに保存する(ステップS36)。なお、保存対象のレコードが、検索結果カタログに既に保存されていれば、上書保存して処理を終了する。
検索結果リストに登録された全てのレコードに対してステップS30乃至ステップS36の処理を行ない、処理を終了する。
3−3.「レコード保存処理(B)」
図5は、上記ステップS18の「レコード保存処理(B)」を示すフローチャートである。
この処理は、他のノードNnから検索結果と共に受信した新規公開予定のコンテンツのレコードを、ローカルカタログ又は新規公開カタログ又は検索結果カタログに保存する処理である。なお、他のノードNnから受信した新規公開予定のコンテンツのレコードを“保存対象のレコード”とする。また、ステップS16の「レコード保存処理(A)」と同様の処理については説明を省略する。
ステップS40乃至ステップS43の処理は、上述したステップS30乃至ステップS33の処理と同様であるため説明を省略する。
続いて、ステップS42にて、新規公開カタログに保存対象のレコードが保存されているか否かを判定した結果、新規公開カタログに保存対象のレコードが保存されていない場合(ステップS42:No)には、制御部11は、「新規公開カタログ保存処理」を行ない(ステップS44)、処理を終了する。なお、ステップS44の「新規公開カタログ保存処理」は、後に詳述する。
3−4.「新規公開カタログ保存処理」
図6は、上述した「レコード保存処理(A)」のステップS35、及び「レコード保存処理(B)」のステップS44にて行われる「新規公開カタログ保存処理」を示すフローチャートである。なお、「レコード保存処理(A)」のステップS35の「新規公開カタログ保存処理」である場合、検索結果リストに登録されたレコードをこの「新規公開カタログ保存処理」における“保存対象のレコード”とし、「レコード保存処理(B)」のステップS44の「新規公開カタログ保存処理」である場合には、他のノードNnから受信した新規公開予定のコンテンツのレコードをこの「新規公開カタログ保存処理」における“保存対象のレコード”とする。
先ず、制御部11は、保存対象のレコードが、保存判定条件を満たすか否かを判定する(ステップS50)。保存判定条件とは、新規公開カタログが記憶される新規公開検索情報記憶領域に保存対象のレコードを記憶できる所定の記憶容量があるか否かを判定する条件であり、例えば、保存対象のレコードを新規公開カタログに登録した場合に、新規公開検索情報記憶領域の記憶容量に応じて予め定められた新規公開カタログに記憶されるレコードの上限数を超えないとする条件や、予め定められた新規公開カタログの上限容量を超えないとするなどの条件である。これら上限数や上限容量を超えない場合には、保存判定条件を満たすものとて判定する。また、“新規公開予定のコンテンツのレコードは必ず新規公開カタログに登録する”と規定されている場合には、常に保存判定条件を満たすとして判定する。なお、保存対象のレコードの容量が新規公開カタログが記憶される新規公開検索情報記憶領域の空き記憶容量以上である場合には、保存対象のレコードの容量分の空き記憶容量ができるまで以下のレコード削除処理を行なってもよい。
ステップS50の判定の結果、保存判定条件を満たさない場合(ステップS50:No)には、制御部11は、新規公開カタログに記憶されているレコードに含まれる公開日時情報が示す公開日時と、保存対象のレコードに含まれる公開日時情報が示す公開日時を比較して、保存対象レコードに含まれる公開日時が一番未来であるか否かを判定する(ステップS51)。まず、制御部11は、現在の日時を示す現在日時情報を取得し、当該現在日時情報が示す現在日時と保存対象レコードの公開日時との時間差が、現在日時と新規公開カタログに記憶されているレコードの公開日時との時間差よりも大きいか否かを判定し、大きい場合には、保存対象レコードに含まれる公開日時が一番未来であると判定する。
判定の結果、保存対象レコードの公開日時が一番未来である場合(ステップS51:Yes)には、制御部11は、処理を終了する。新規公開カタログに記憶されているレコードと比較して、保存対象レコードの公開日時まで比較的余裕が有る場合、つまり、公開日時まで比較的時間が有る場合には、公開日時が直近のレコードと比べて、これから先、別のタイミングで当該レコードを保存する機会がある可能性が高い。従って、保存対象レコードの公開日時が一番未来である場合には、保存対象レコードを新規公開カタログに保存しないで、処理を終了する。
一方、判定の結果、保存対象レコードの公開日時が一番未来でない場合(ステップS51:No)には、制御部11は、新規公開カタログに既に記憶されているレコードのうち、所定の規則に従って削除レコードとして選択されたレコードを新規公開カタログから削除して(ステップS52)、ステップS50へ移行する。例えば、新規公開カタログに既に記憶されているレコードのうち、公開日時が一番未来のレコード、言い換えれば、現在日時と公開日時の時間差が一番大きいレコードを削除レコードとして選択し、新規公開カタログから削除する。
ステップS50による判定の結果、保存判定条件を満たす場合(ステップS50:Yes)には、制御部11は、保存対象レコードを新規公開カタログに保存して(ステップS53)処理を終了する。
なお、ステップS52では、所定の規則の一例として、公開日時が一番未来のレコードを削除レコードとして選択し、新規公開カタログから削除しているが、例えば、公開日時が現在日時よりも過去であるレコード、言い換えれば、公開済みのコンテンツのレコードが新規公開カタログに記憶されている場合には、当該レコードを削除レコードとして選択してもよい。また、新規公開カタログに、公開済みのコンテンツのレコードが複数記憶されている場合には、レコードに含まれる公開日時情報が示す公開日時と現在日時との最も時間差が大きいレコードを削除レコードとして選択してもよい。また、新規公開カタログからランダムに削除レコードを選択してもよいし、あるいは、評価値に基づく保存優先順位が低いコンテンツのレコードを削除レコードとして選択してもよい。
3−5.「メッセージ受信処理」
図7は、上記ステップS23の「メッセージ受信処理」を示すフローチャートである。
先ず、制御部11は、他のノードNnから検索要求メッセージを受信したか否かを判定(ステップS60)し、検索要求メッセージを受信した場合(ステップS60:Yes)には、制御部11は、「検索要求メッセージ受信処理」を行なう(ステップS61)。
ここで実行される「検索要求メッセージ受信処理」は、他のノードNnから受信した検索要求メッセージに対して、記憶部12に記憶しているローカルカタログ、新規公開カタログ及び検索結果カタログを参照して検索要求メッセージにて指定された所定条件を満たすコンテンツを検索する処理である。検索の際には、新規公開カタログが記憶される新規公開検索情報記憶領域と、検索結果カタログが記憶される検索結果検索情報記憶領域と、ローカルカタログが記憶される担当検索情報記憶領域とを比較して、記憶容量が大きいカタログから順に検索を行なってもよい。なお、公開前になると検索要求が頻繁に行なわれることから、ローカルカタログ及び検索結果カタログより先に新規公開カタログ内を検索すれば、迅速に検索を行なうことができる。なお、「検索要求メッセージ受信処理」の詳細については、特開2007‐280303号公報等で公知であるので、詳しい説明を省略する。
そして、制御部11は、ステップS61にて検索された検索結果と、記憶部12に記憶された新規公開カタログに記憶されているレコードを検索要求メッセージの送信元のノードNnに返信する(ステップS62)。
一方、検索要求メッセージを受信していない場合(ステップS60:No)には、制御部11は、他のノードNn又は管理サーバからレコードの新規登録メッセージ、変更メッセージ、又は削除メッセージを受信したか否かを判定する(ステップS63)。レコードの新規登録メッセージ、変更メッセージ、又は削除メッセージは、管理サーバが新たなコンテンツをコンテンツ分散保存システムSに投入する際、或いはコンテンツ分散保存システムSに既に投入されたコンテンツのレコードが変更される際、或いは既に投入されているコンテンツがコンテンツ分散保存システムSから削除される際に、当該管理サーバからマルチキャスト送信されるメッセージである。これらメッセージは、所定の規則に従って管理サーバからコンテンツ分散保存システムSに参加する全ノードNnに対してマルチキャスト送信される。
管理サーバがこれらメッセージを全ノードNnに送信する場合もあれば、管理サーバから送信されたメッセージが所定の規則に従ってコンテンツ分散保存システムSに参加する各ノードNn間を転送されることにより、全ノードNnにマルチキャスト転送(送信)される場合もある。ここでは、管理サーバから送信されたメッセージが、所定の規則に従って各ノードNn間を転送されるものとして説明する。
なお、サーバ装置の一例として、新たなコンテンツをコンテンツ分散保存システムSに投入したり、既にコンテンツ分散保存システムSに投入済みのコンテンツのレコードの更新やレコードの削除を管理するサーバを、管理サーバとは別に投入サーバとして設けてもよい。投入サーバは、コンテンツ分散保存システムSを管理する管理者、又は当該管理者によって許可を得たコンテンツ提供業者等によって管理される。
ステップS63の判定の結果、レコードの新規登録メッセージ、変更メッセージ、又は削除メッセージを受信した場合(ステップS63:Yes)には、制御部11は、「カタログ更新処理」を行なう(ステップS64)。なお、ステップS64の「カタログ更新処理」は、後に詳述する。
そして、制御部11は、カタログ更新後、受信したレコードの新規登録メッセージ、変更メッセージ、又は削除メッセージを、所定の規則に従って他のノードNnにマルチキャスト転送し(ステップS65)。処理を終了する。
次いで、制御部11は、他のノードNnからコンテンツの検索メッセージ(クエリ)、コンテンツの登録メッセージ(パブリッシュ)、又はコンテンツの削除メッセージを受信したか否かを判定する(ステップS66)。
判定の結果、コンテンツ送信要求メッセージ、コンテンツの検索メッセージ(クエリ)、コンテンツの登録メッセージ(パブリッシュ)、又はコンテンツの削除メッセージを受信した場合(ステップS66:Yes)には、制御部11は、各メッセージに応じた処理を行ない(ステップS67)、処理を終了する。メッセージに応じた処理とは、例えば、コンテンツ送信要求メッセージを受信した場合には、メッセージに含まれるコンテンツIDのコンテンツデータをメッセージ送信元のノードNnに送信し、クエリを受信した場合には、記憶部12のインデックスキャッシュにクエリに含まれるコンテンツIDのコンテンツ保存ノードのインデックス情報が登録されていれば、当該コンテンツ保存ノードのアドレス情報をメッセージ送信元のノードNnに送信する処理などである。なお、ステップS66にて受信した各種メッセージに対する処理の詳細は、特開2007‐280303号公報等で公知であるので、詳しい説明を省略する。
このように、メッセージに応じた処理を行なうことにより、中継ノード、ルートノード、コンテンツ保存ノードとしての処理を行なう。
なお、コンテンツ送信要求メッセージに対して、記憶部12のコンテンツデータキャッシュ領域からメッセージに含まれるコンテンツIDのコンテンツデータを取得して送信する場合には、記憶部12のローカルカタログ又は新規公開カタログ又は検索結果カタログを参照して当該コンテンツデータの公開期間情報をチェックし、公開終了日時が過ぎていない場合にのみコンテンツデータを送信するよう構成してもよい。この際、記憶部12に記憶しているローカルカタログ、新規公開カタログ及び検索結果カタログに、送信するコンテンツデータのレコードが無い場合には、他のノードNnに対して「カタログ検索処理」を行ない、他のノードNnから送信するコンテンツデータのレコードを取得して公開終了日時をチェックすればよい。このように、コンテンツデータの送信前に公開終了日時をチェックすることにより、既に公開終了しているコンテンツデータを他のノードNnに送信することを防ぐことができる。チェックした時間を用いて記憶部12の該当するコンテンツデータの最終チェック時間を更新する。
一方、ステップS66の判定の結果、コンテンツ送信要求メッセージ、コンテンツの検索メッセージ(クエリ)、コンテンツの登録メッセージ(パブリッシュ)、コンテンツの削除メッセージ、を受信していない場合には(ステップS66:No)、制御部11は、他のノードNn又は管理サーバから事前保存指示メッセージを受信したか否かを判定する(ステップS68)。
事前保存指示メッセージを受信していない場合には(ステップS68:No)、処理を終了し、事前保存指示メッセージを受信した場合には(ステップS68:Yes)、制御部11は「事前保存処理」を行ない(ステップS69)、処理を終了する。ステップS69の「事前保存処理」は、後に詳述する。
なお、ステップS62にて新規公開カタログに記憶されているレコードを検索要求メッセージの送信元のノードNnに返信しているが、検索結果送信メッセージに当該レコードを付加するための空きデータ領域が無い場合には、レコードを付加して送信しなくともよい。検索結果送信メッセージにレコードを付加するための空きデータ領域が有る場合にのみ、レコードを付加して送信すればよい。
例えば、新規公開カタログに10個のレコードが記憶されており、検索結果送信メッセージのデータ領域には、レコードを100個付加できる場合について説明する。例えば、検索結果のレコードが95個であった場合には、検索結果送信メッセージのデータ領域に格納可能なレコードの数は残り5個である。従って、新規公開カタログに記憶されているレコードから5個のレコードを抽出する。そして、95個の検索結果のレコードと、5個の新規公開カタログのレコードを、検索結果送信メッセージに付加する。
なお、新規公開カタログに記憶されているレコードから5個のレコードを抽出する際には、公開日時が最も近いコンテンツのレコードから順に5個のレコードを抽出することとする。
3−6.「カタログ更新処理」
図8は、上記ステップS64の「カタログ更新処理」を示すフローチャートである。
先ず、制御部11は、ステップS63で受信判定されたメッセージに含まれるレコードが、自己の担当範囲のコンテンツのレコードであるか否かを判定する(ステップS70)。具体的には、記憶部12に記憶している自己のRangeとノードIDに基づいて、自己の担当範囲のコンテンツのレコードであるか否かを判定する。詳細はステップS30と同様であるため説明を省略する。
判定の結果、自己の担当範囲のコンテンツのレコードである場合(ステップS70:Yes)には、制御部11は、受信したメッセージに含まれるレコードをローカルカタログに保存、又は上書保存、又はローカルカタログから削除して(ステップS71)、処理を終了する。
受信したメッセージが新規登録メッセージであれば、新規登録レコードが含まれており、受信したメッセージが変更メッセージであれば、更新レコードが含まれており、受信したメッセージが削除メッセージであれば、削除レコードが含まれている。
そして、受信したメッセージが新規登録メッセージである場合には、当該メッセージに含まれる新規登録レコードをローカルカタログに保存し、受信したメッセージが変更メッセージである場合には、ローカルカタログに既に登録されているレコードを当該メッセージに含まれる更新レコードを用いて上書保存する。そして、受信したメッセージが削除メッセージである場合には、ローカルカタログに既に登録されているレコードのうち、当該削除メッセージに含まれるレコードに対応するレコードをローカルカタログから削除する。
一方、判定の結果、自己の担当範囲のコンテンツのレコードでない場合(ステップS70:No)には、制御部11は、新規公開カタログに受信したメッセージに含まれるレコードが保存されているか否かを判定する(ステップS72)。
判定の結果、新規公開カタログに受信したメッセージに含まれるレコードが保存されている場合(ステップS72:Yes)には、制御部11は、受信したメッセージに含まれるレコードに基づいて、新規公開カタログのレコードを上書保存し、又は新規公開カタログから削除して(ステップS73)、処理を終了する。
ステップS72の判定の結果、新規公開カタログに受信したメッセージに含まれるレコードが保存されていない場合(ステップS72:No)には、制御部11は、検索結果カタログに受信したメッセージに含まれるレコードが保存されているか否かを判定する(ステップS74)。
判定の結果、検索結果カタログに受信したメッセージに含まれるレコードが保存されていない場合(ステップS74:No)には、処理を終了し、検索結果カタログに受信したメッセージに含まれるレコードが保存されている場合(ステップS74:Yes)には、制御部11は、受信したメッセージに含まれるレコードに基づいて、検索結果カタログのレコードを上書保存し、又は検索結果カタログから削除して(ステップS75)、処理を終了する。
3−7.「事前保存処理」
図9は、上記ステップS69の「事前保存処理」を示すフローチャートである。この処理は、上述した「メッセージ受信処理」のステップS68で受信判定された事前保存指示メッセージにて事前保存指示されたコンテンツのコンテンツデータを取得して記憶部12のコンテンツキャッシュ領域に記憶する処理である。
先ず、制御部11は、事前保存指示メッセージにて事前保存指示されたコンテンツのレコードが、新規公開カタログに保存されているか否かを判定する(ステップS80)。例えば、事前保存指示メッセージに、事前保存指示の対象となるコンテンツのコンテンツ名等が含まれており、新規公開カタログにメッセージに含まれるコンテンツ名に対応するコンテンツが保存されているか否かを判定する。
判定の結果、新規公開カタログに事前保存指示されたコンテンツのレコードが保存されていない場合(ステップS80:No)には、制御部11は、事前保存指示されたコンテンツのレコードが、ローカルカタログ又は検索結果カタログに保存されているか否かを判定する(ステップS81)。
判定の結果、ローカルカタログ又は検索結果カタログに事前保存指示されたコンテンツのレコードが保存されていない場合(ステップS81:No)には、制御部11は、「カタログ検索処理」を行ない(ステップS82)、他のノードNnにて記憶されている新規公開カタログ又はローカルカタログ又は検索結果コンテンツカタログの中から、事前保存指示されたコンテンツの検索処理を行なってもらい、当該他のノードNnから検索結果を返信してもらう処理である。なお、ステップS82における「カタログ検索処理」では、記憶部12に記憶したローカルカタログは検索しない。
そして、新規公開カタログに事前保存指示されたコンテンツのレコードが保存されている場合(ステップS80:Yes)には、制御部11は、当該新規公開カタログから事前保存指示されたコンテンツのレコードを取得する。
一方、ローカルカタログ又は検索結果カタログに事前保存指示されたコンテンツのレコードが保存されている場合(ステップS81:Yes)、制御部11は、当該ローカルカタログ又は検索結果カタログから事前保存指示されたコンテンツのレコードを取得する。
他方、ステップS82の「カタログ検索処理」で他のノードNnに検索処理を行なってもらった場合には、当該他のノードNnから事前保存指示されたコンテンツのレコードを取得する。
次いで、制御部11は、事前保存指示されたコンテンツのコンテンツデータを保存するコンテンツ保存ノードのアドレス情報を取得する(ステップS83)。具体的には、制御部11は、新規公開カタログ、ローカルカタログ、検索結果カタログ、又は、他のノードNnから取得したレコードから、コンテンツIDを抽出し、当該コンテンツIDをキーとするクエリの送信により、事前保存指示されたコンテンツのルートノードから、事前保存指示されたコンテンツのコンテンツデータを保存するコンテンツ保存ノードのアドレス情報を返信してもらう。なお、クエリの送信から所定時間経過してもコンテンツ保存ノードのアドレス情報が取得できなかった場合には、管理サーバに問い合わせて、管理サーバからコンテンツ保存ノードのアドレス情報を取得してもよい。
続いて、制御部11は、取得したアドレス情報に従ってコンテンツ保存ノードにアクセスし、コンテンツ保存ノードから事前保存指示されたコンテンツのコンテンツデータを取得する(ステップS84)。コンテンツデータ取得後に行なわれる登録処理(パブリッシュ)やキャッシュリストへの登録処理等は、ステップS21と同様であるため、説明を省略する。なお、ステップS21では取得後に再生処理を行なっているが、ここでは公開前のコンテンツデータを取得しているため、再生処理は行なわない。
そして、制御部11は、「レコード保存処理(B)」を行なって(ステップS85)、事前保存指示されたコンテンツのレコードをローカルカタログ又は新規公開カタログ又は検索結果カタログに保存し、処理を終了する。
なお、事前保存指示メッセージに事前保存指示されたコンテンツのコンテンツIDが含まれている場合には、上述したステップS80乃至ステップS82の処理は行なわず、事前保存指示メッセージに含まれるコンテンツIDに基づいてクエリ送信を行ってもよい。なお。この場合も、事前保存指示されたコンテンツのレコードを取得してステップS85にてローカルカタログ又は新規公開カタログ又は検索結果カタログに保存しなければならないため、ローカルカタログ又は新規公開カタログ又は検索結果カタログを検索し、レコードを取得する処理は行なわなければならない。
また、ステップS80又はステップS81にて、事前保存指示されたコンテンツのレコードが、ローカルカタログ又は新規公開カタログ又は検索結果カタログに保存されていると判定されている場合には、「レコード保存処理(B)」は行なわなくともよい。
以上説明したように、本実施形態によれば、各ノードNnが、ローカルカタログだけでなく、検索される可能性が高い新規公開予定のコンテンツのカタログ情報を新規公開カタログとして記憶するよう構成したので、上記ステップS13でカタログ検索を行なう際に、これらのカタログ情報を参照することができ、コンテンツデータの検索を簡便且つ迅速に行なうことができる。
さらに、本実施形態では、上記ステップS16の「レコード保存処理(A)」にて検索の結果ヒットした検索結果のコンテンツのレコードを検索結果カタログとして記憶したので、過去に検索した経験のある、いわば、ユーザーの好みにあったコンテンツのレコードが記憶された検索結果カタログを参照して、より簡便且つ迅速にコンテンツデータの検索を行なうことができる。
また、ノードNnは、上記ステップS30及びステップS40にて、保存対象のレコードが自己の担当範囲のコンテンツのレコードであるか否かを判定し、自己の担当範囲のコンテンツのレコードで無い場合にのみ、新規公開カタログや検索結果カタログに保存するよう構成したので、ローカルカタログとの重複記憶を防ぐことができる。
さらに、ステップS50にて、新規公開カタログが記憶される新規公開検索情報記憶領域に保存対象のレコードを記憶できる所定の記憶容量があるか否かを判定し、所定の記憶容量が無い場合には、ステップS52にて所定の規則に従って削除レコードとして選択されたレコードを新規公開カタログから削除して、保存対象のレコードを新規公開カタログに記憶するよう構成したので、新規公開カタログに保存対象のレコードを確実に記憶させることができる。
更に、ステップS52にて、新規公開カタログに記憶されているレコードのうち、公開日時が一番未来のレコードを削除レコードとして選択、新規公開カタログから削除するよう構成した。これにより、新規公開カタログから削除しても比較的影響が少ないレコードを削除して保存対象のレコードを新規公開カタログに確実に保存させることができる。なお、新規公開カタログに記憶されているレコードのうち、当該レコードの公開日時の現在日時との時間差が大きいレコードから順に削除するよう構成してもよい。また、公開日時が未来であるか過去であるかを問わず、現在日時との時間差が大きいレコードから順に削除するよう構成してもよい。
また、管理サーバ等からマルチキャスト送信されたレコードを受信して、ローカルカタログ又は新規公開カタログ又は検索結果カタログに記憶するよう構成したので、受信したレコードが自己の担当範囲であれば、ローカルカタログに登録、更新を行ない、新規公開カタログ又は検索結果カタログに登録されているレコードであれば、受信したレコードを用いて更新を行なうことができる。
更に、上記ステップS62で、検索結果と共に新規公開コンテンツのレコードを、検索要求メッセージの送信元の他のノードNnに送信し、これを受信した他のノードNnは、ステップ17及びステップS18で受信したレコードを保存するよう構成したので、管理サーバ又は投入サーバ等から新規公開コンテンツのレコードが新規登録メッセージとして各ノードにマルチキャスト送信された際に、ノードNnが稼動していなかった場合など、何らかの原因で当該メッセージを受信できず、自己の担当範囲のコンテンツのレコードが記憶できなかったとしても、各ノードNn間で検索結果と共に新規公開コンテンツのレコードを教えあうことで、各ノードNnが、自己の担当範囲のコンテンツのレコードをローカルカタログに洩れなく記憶することができる。さらに、記憶できなかった新規登録メッセージにかかるレコードが、自己の担当範囲のコンテンツのレコードで無いとしても、各ノードNn間で検索結果と共に新規公開コンテンツのレコードを教えあうことができるので、新規公開コンテンツのレコードを新規公開カタログに確実に記憶させることができる。
また、ローカルカタログ又は新規公開カタログ又は検索結果カタログが保存される領域を、担当検索情報記憶領域と新規公開検索情報記憶領域と検索結果検索情報記憶領域としてそれぞれ別個に設けたので、例えば、検索結果を記憶させることから大量のレコードが検索結果として得られた場合であっても、当該レコードを検索結果カタログに保存することに起因するローカルカタログ又は新規公開カタログからのレコードの追い出しを防止することができる。
なお、記憶部12のコンテンツデータキャッシュ領域に記憶したコンテンツデータのレコードを保存コンテンツカタログとして記憶してもよい。この場合、コンテンツデータキャッシュ領域に記憶したコンテンツデータを他のノードNnに送信する際など、コンテンツデータの公開日時のチェックを行なう場合に、ローカルカタログ、新規公開カタログ又は検索結果カタログよりも先に保存コンテンツカタログを参照してレコード検索を行なえば、より迅速にチェックすることができる。
なお、保存コンテンツカタログを記憶する場合には、当該保存コンテンツカタログが記憶される記憶検索情報記憶領域を記憶部12に新たに設けることとする。この記憶検索情報記憶領域は、担当検索情報記憶領域と新規公開検索情報記憶領域と検索結果検索情報記憶領域等と同じ記憶容量としてもよく、或いは、記憶検索情報記憶領域の記憶容量を100Mバイトとし、担当検索情報記憶領域と新規公開検索情報記憶領域を50Mバイトとし、検索結果検索情報記憶領域を30Mバイトとする等、記憶検索情報記憶領域の記憶容量を他の領域の記憶容量よりも大きくすれば、コンテンツデータキャッシュ領域に記憶したコンテンツデータのレコードを確実に記憶させることができる。なお、新規公開検索情報記憶領域の記憶容量(記憶可能容量)を担当検索情報記憶領域の記憶容量(記憶可能容量)よりも大きくすれば、ローカルカタログのレコードよりも検索される確率の高い新規公開カタログのレコードを多く記憶させることができる。
また、記憶部12に上記保存コンテンツカタログを記憶する際には、コンテンツデータをコンテンツデータキャッシュ領域に記憶する際に、当該コンテンツデータのレコードを取得して保存コンテンツカタログに保存すればよい。なお、「コンテンツデータをコンテンツデータキャッシュ領域に記憶する際」とは、例えばコンテンツデータの取得した後でもよく、或いは、取得するコンテンツデータを選択する際等、コンテンツデータの取得前であってもよい。
なお、上記コンテンツ分散保存システムSは、DHTを利用したアルゴリズムによって形成されることを前提として説明したが、本発明はこれに限定されるものではない。
3 IX
4a、4b ISP
5a、5b DSL回線業者
6 FTTH回線業者
7 通信回線
8 ネットワーク
9 オーバーレイネットワーク(P2Pネットワーク)
11 制御部
12 記憶部
13 バッファメモリ
14 デコーダ部
15 映像処理部
16 表示部
17 音声処理部
18 スピーカ
20 通信部
21 入力部
22 バス
Nn ノード

Claims (9)

  1. ネットワークを介して互いに通信可能な複数のノード装置を備え、前記複数のノード装置間で利用可能な複数のコンテンツデータにそれぞれに対応する検索情報を各前記ノード装置間で分散して保存する情報通信システムに含まれる前記ノード装置であって、
    少なくとも前記コンテンツデータの公開日時を表す公開日時情報を含む前記検索情報を取得する検索情報取得手段と、
    前記検索情報取得手段により取得された検索情報が、所定の規則に従って定められた担当範囲の検索情報であるか否かを判定する検索情報判定手段と、
    前記検索情報判定手段により、前記担当範囲であると判定された検索情報を記憶する担当検索情報記憶手段と、
    前記公開日時情報に基づいて、前記取得された検索情報が、新規公開予定のコンテンツデータの検索情報であるか否かを判定する判定手段と、
    前記判定手段により新規公開予定のコンテンツデータの検索情報であると判定された場合、前記取得された検索情報を記憶する新規公開検索情報記憶手段と、
    前記担当検索情報記憶手段または前記新規公開検索情報記憶手段に記憶された検索情報に基づいて、前記コンテンツデータを検索するコンテンツデータ検索手段と、
    を有することを特徴とするノード装置。
  2. 請求項1に記載のノード装置において、
    前記検索情報判定手段により、前記担当範囲の検索情報でないと判定されたとき、前記新規公開検索情報記憶手段は、前記判定された検索情報を記憶することを特徴とするノード装置。
  3. 請求項1または請求項2に記載のノード装置において、
    前記新規公開検索情報記憶手段に前記検索情報を記憶できる所定の記憶容量があるか否かを判定する記憶判定手段と、
    前記記憶判定手段により、前記所定の記憶容量がないと判定されたとき、所定の規則に従って前記新規公開検索情報記憶手段から所定の前記検索情報を削除する検索情報削除手段とを備えることを特徴とするノード装置。
  4. 請求項3に記載のノード装置において、
    現在の日時を表す現在日時情報を取得する現在日時取得手段を備え、
    前記検索情報削除手段は、前記所定の規則として前記現在日時情報と前記公開日時情報との時刻差が大きい前記公開日時情報を有する前記検索情報から順番に削除することを特徴とするノード装置。
  5. 請求項4に記載のノード装置において、
    前記検索情報削除手段は、前記現在日時情報より前記公開時刻情報が過去の日時であり、且つ、前記時刻差が大きい前記公開日時情報を有する前記検索情報から順番に削除することを特徴とするノード装置。
  6. 請求項4に記載のノード装置において、
    前記検索情報削除手段は、前記現在日時情報より前記公開時刻情報が未来の日時であり、且つ、前記時刻差が大きい前記公開日時情報を有する前記検索情報から順番に削除することを特徴とするノード装置。
  7. 請求項1乃至請求項6の何れか一項に記載のノード装置において、
    前記新規公開検索情報記憶手段の記憶可能容量は、担当検索情報記憶手段の記憶可能容量よりも大きいことを特徴とするノード装置。
  8. コンピュータを、請求項1乃至請求項7の何れか一項に記載のノード装置として機能させることを特徴とするノード処理プログラム。
  9. ネットワークを介して互いに通信可能な複数のノード装置を備え、前記複数のノード装置間で利用可能な複数のコンテンツデータにそれぞれに対応する検索情報を各前記ノード装置間で分散して保存する情報通信システムに含まれる前記ノード装置における検索方法であって、
    少なくとも前記コンテンツデータの公開日時を表す公開日時情報を含む前記検索情報を取得する工程と、
    取得された検索情報が、所定の規則に従って定められた担当範囲の検索情報であるか否かを判定する工程と、
    前記担当範囲であると判定された検索情報を担当検索情報記憶手段に記憶する工程と、
    前記公開日時情報に基づいて、前記取得された検索情報が、新規公開予定のコンテンツデータの検索情報であるか否かを判定する工程と、
    新規公開予定のコンテンツデータの検索情報であると判定された場合、前記取得された検索情報を新規公開検索情報記憶手段に記憶する工程と、
    前記担当検索情報記憶手段または前記新規公開検索情報記憶手段に記憶された検索情報に基づいて、前記コンテンツデータを検索する工程と、
    を有することを特徴とする検索方法。
JP2009087907A 2009-03-31 2009-03-31 ノード装置、ノード処理プログラム及び検索方法 Expired - Fee Related JP5458629B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009087907A JP5458629B2 (ja) 2009-03-31 2009-03-31 ノード装置、ノード処理プログラム及び検索方法
US12/732,785 US8315979B2 (en) 2009-03-31 2010-03-26 Node device, information communication system, method for retrieving content data, and computer readable medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009087907A JP5458629B2 (ja) 2009-03-31 2009-03-31 ノード装置、ノード処理プログラム及び検索方法

Publications (2)

Publication Number Publication Date
JP2010238143A true JP2010238143A (ja) 2010-10-21
JP5458629B2 JP5458629B2 (ja) 2014-04-02

Family

ID=42785537

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009087907A Expired - Fee Related JP5458629B2 (ja) 2009-03-31 2009-03-31 ノード装置、ノード処理プログラム及び検索方法

Country Status (2)

Country Link
US (1) US8315979B2 (ja)
JP (1) JP5458629B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110546628A (zh) * 2017-04-17 2019-12-06 微软技术许可有限责任公司 用有向线缓冲器最小化存储器读取提高神经网络环境性能

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10798173B2 (en) * 2017-08-18 2020-10-06 Voko Solutions Limited System and method for facilitating a data exchange amongst communication devices connected via one or more communication networks

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001344234A (ja) * 2000-06-02 2001-12-14 Fujitsu Ltd 分散環境におけるドキュメント管理システム
JP2001344430A (ja) * 2000-05-31 2001-12-14 Noritsu Koki Co Ltd 情報受信装置、情報提供方法、情報提供を行うためのプログラムを記録した記録媒体、情報配信装置および情報配信システム
JP2005182160A (ja) * 2003-12-16 2005-07-07 Ricoh Co Ltd ウェブページ管理方法及びウェブページ管理プログラム
JP2006303762A (ja) * 2005-04-19 2006-11-02 Hitachi Software Eng Co Ltd データ通信方法およびシステム並びに装置
JP2007141103A (ja) * 2005-11-21 2007-06-07 Brother Ind Ltd 情報配信システム、情報処理装置及び情報処理プログラム
JP2007280303A (ja) * 2006-04-11 2007-10-25 Brother Ind Ltd 情報通信システム、コンテンツカタログ情報配信方法、及びノード装置等
JP2008059351A (ja) * 2006-08-31 2008-03-13 Brother Ind Ltd ノード装置、処理プログラム、情報配信システム及びサーバ処理プログラム
JP2008067089A (ja) * 2006-09-07 2008-03-21 Brother Ind Ltd コンテンツ配信システム及び同システムにおける端末装置及び同端末装置のプログラム及び同端末装置による情報管理方法
JP2008109188A (ja) * 2006-10-23 2008-05-08 Onkyo Corp コンテンツ配信システム、ピア及びセンタサーバ

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4914571A (en) * 1987-06-15 1990-04-03 International Business Machines Corporation Locating resources in computer networks
US5974409A (en) * 1995-08-23 1999-10-26 Microsoft Corporation System and method for locating information in an on-line network
US20020094787A1 (en) * 2000-04-07 2002-07-18 Avnet Mark S. Method and apparatus for transmitting information from point-to-point
US9171049B2 (en) * 2002-06-13 2015-10-27 Salesforce.Com, Inc. Offline simulation of online session between client and server
WO2006075424A1 (ja) * 2005-01-13 2006-07-20 Brother Kogyo Kabushiki Kaisha 情報配信システム、配信要求プログラム、転送プログラム、配信プログラム等
JP4599581B2 (ja) * 2005-02-08 2010-12-15 ブラザー工業株式会社 情報配信システム、配信要求プログラム、転送プログラム及び配信プログラム等
US7881223B2 (en) * 2006-03-31 2011-02-01 Panasonic Corporation Method for on demand distributed hash table update
JP4777222B2 (ja) * 2006-11-29 2011-09-21 富士通株式会社 状態管理装置及び状態管理方法
US7805403B2 (en) * 2007-01-07 2010-09-28 Apple Inc. Synchronization methods and systems
US20080164306A1 (en) * 2007-01-09 2008-07-10 George Gu Systems and methods for storing banking transaction information
US7738503B2 (en) * 2007-02-02 2010-06-15 Palm, Inc. Multi-way, peer-to-peer synchronization
JP2008234445A (ja) * 2007-03-22 2008-10-02 Brother Ind Ltd コンテンツ分散保存システム、複製データ取得方法、ノード装置、及びノード処理プログラム
US8255926B2 (en) * 2007-11-06 2012-08-28 International Business Machines Corporation Virus notification based on social groups
US8145698B1 (en) * 2008-01-03 2012-03-27 Adobe Systems Incorporated Self organizing peer-to-peer system, method, and/or apparatus
US20100211544A1 (en) * 2009-02-19 2010-08-19 Jyshyang Chen System with session synchronization

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001344430A (ja) * 2000-05-31 2001-12-14 Noritsu Koki Co Ltd 情報受信装置、情報提供方法、情報提供を行うためのプログラムを記録した記録媒体、情報配信装置および情報配信システム
JP2001344234A (ja) * 2000-06-02 2001-12-14 Fujitsu Ltd 分散環境におけるドキュメント管理システム
JP2005182160A (ja) * 2003-12-16 2005-07-07 Ricoh Co Ltd ウェブページ管理方法及びウェブページ管理プログラム
JP2006303762A (ja) * 2005-04-19 2006-11-02 Hitachi Software Eng Co Ltd データ通信方法およびシステム並びに装置
JP2007141103A (ja) * 2005-11-21 2007-06-07 Brother Ind Ltd 情報配信システム、情報処理装置及び情報処理プログラム
JP2007280303A (ja) * 2006-04-11 2007-10-25 Brother Ind Ltd 情報通信システム、コンテンツカタログ情報配信方法、及びノード装置等
JP2008059351A (ja) * 2006-08-31 2008-03-13 Brother Ind Ltd ノード装置、処理プログラム、情報配信システム及びサーバ処理プログラム
JP2008067089A (ja) * 2006-09-07 2008-03-21 Brother Ind Ltd コンテンツ配信システム及び同システムにおける端末装置及び同端末装置のプログラム及び同端末装置による情報管理方法
JP2008109188A (ja) * 2006-10-23 2008-05-08 Onkyo Corp コンテンツ配信システム、ピア及びセンタサーバ

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110546628A (zh) * 2017-04-17 2019-12-06 微软技术许可有限责任公司 用有向线缓冲器最小化存储器读取提高神经网络环境性能
CN110546628B (zh) * 2017-04-17 2023-10-20 微软技术许可有限责任公司 用有向线缓冲器最小化存储器读取提高神经网络环境性能

Also Published As

Publication number Publication date
US20100250594A1 (en) 2010-09-30
US8315979B2 (en) 2012-11-20
JP5458629B2 (ja) 2014-04-02

Similar Documents

Publication Publication Date Title
US8676855B2 (en) Distributed storage system, management apparatus, node apparatus, recording medium on which node program is recorded, page information acquisition method, recording medium on which page information sending program is recorded, and page information sending method
JP2007280303A (ja) 情報通信システム、コンテンツカタログ情報配信方法、及びノード装置等
JP2008234445A (ja) コンテンツ分散保存システム、複製データ取得方法、ノード装置、及びノード処理プログラム
JP4561283B2 (ja) ノード装置、共用情報更新方法、共用情報保存方法、共用情報更新処理プログラム、及び共用情報保存処理プログラム
JP2008129694A (ja) 情報配信システム、情報配信方法、配信装置及びノード装置等
JP5375272B2 (ja) ノード装置、ノード処理プログラム、情報通信システム及びコンテンツデータ管理方法
JP5136208B2 (ja) コンテンツ分散保存システム、コンテンツ保存方法、ノード装置、及びノード処理プログラム
JP2010113573A (ja) コンテンツ分散保存システム、コンテンツ保存方法、サーバ装置、ノード装置、サーバ処理プログラム、及びノード処理プログラム
JP5458629B2 (ja) ノード装置、ノード処理プログラム及び検索方法
JP2010267028A (ja) 管理装置、管理処理プログラム、ノード装置、ノード処理プログラム、及び有効期限切れレコード判定方法
JP2010231576A (ja) ノード装置、ノード処理プログラム及びコンテンツ保存方法
JP2010108082A (ja) コンテンツ分散保存システム、コンテンツ保存方法、ノード装置、及びノード処理プログラム
JP2010066930A (ja) コンテンツ分散保存システム、コンテンツ保存方法、ノード装置、及びノード処理プログラム
JP5012712B2 (ja) コンテンツ分散保存システム、総評価値管理装置、管理処理プログラム、ノード装置、及び総評価値管理方法
JP2009232272A (ja) コンテンツ分散保存システム、コンテンツ再生方法、ノード装置、管理装置、ノード処理プログラム、及び管理処理プログラム
JP5412924B2 (ja) ノード装置、ノード処理プログラム及びコンテンツデータ削除方法
JP5287059B2 (ja) ノード装置、ノード処理プログラム及び保存指示方法
JP5157770B2 (ja) ノード装置、プログラム及び保存指示方法
JP2010238160A (ja) ノード装置、ノード処理プログラム及びコンテンツデータ保存方法
JP5278151B2 (ja) 分散保存システム、ノード装置、ノードプログラム、及びページ情報取得方法
JP5278152B2 (ja) 管理装置、ノード装置、ノードプログラム、ページ情報送信プログラム、及びページ情報送信方法
JP5347876B2 (ja) 情報通信システム、ノード装置、コンテンツ取得方法及びプログラム
JP2009129161A (ja) コンテンツ分散保存システム、コンテンツ評価値決定方法、配信装置、及び配信処理プログラム
JP2010102573A (ja) ノード装置、ノード処理プログラム及びデータファイル改変方法
JP2009020669A (ja) コンテンツ分散保存システム、コンテンツデータ保存方法、稼働率管理装置、及びノード装置等

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110906

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130911

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131001

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131129

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: 20131217

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131230

R150 Certificate of patent or registration of utility model

Ref document number: 5458629

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees