JP2014504411A - ピアツーピア・ネットワークにおける検索 - Google Patents

ピアツーピア・ネットワークにおける検索 Download PDF

Info

Publication number
JP2014504411A
JP2014504411A JP2013544423A JP2013544423A JP2014504411A JP 2014504411 A JP2014504411 A JP 2014504411A JP 2013544423 A JP2013544423 A JP 2013544423A JP 2013544423 A JP2013544423 A JP 2013544423A JP 2014504411 A JP2014504411 A JP 2014504411A
Authority
JP
Japan
Prior art keywords
node
bloom filter
search
peer
request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2013544423A
Other languages
English (en)
Other versions
JP5666719B2 (ja
Inventor
ハイミ ヒメネス,
ヤニ ハウタコルピ,
ヨウニ マーエンパー,
Original Assignee
テレフオンアクチーボラゲット エル エム エリクソン(パブル)
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 テレフオンアクチーボラゲット エル エム エリクソン(パブル) filed Critical テレフオンアクチーボラゲット エル エム エリクソン(パブル)
Publication of JP2014504411A publication Critical patent/JP2014504411A/ja
Application granted granted Critical
Publication of JP5666719B2 publication Critical patent/JP5666719B2/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
    • 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] 
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1834Distributed file systems implemented based on peer-to-peer networks, e.g. gnutella
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9014Indexing; Data structures therefor; Storage structures hash tables

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Telephonic Communication Services (AREA)

Abstract

構造化ピアツーピア・ネットワークを検索する方法及び装置を提供する。要求ノードは、検索タームを取得して、当該検索タームを使用してブルーム・フィルタを生成する。ブルーム・フィルタは、検索ノードに送信され、当該検索ノードは、受信したブルーム・フィルタと、当該検索ノードがアクセス可能なデータベースに格納されている、少なくとも1つの他のブルーム・フィルタとを比較する。当該他のブルーム・フィルタは、P2Pネットワーク内の他のノードに関連している。ブルーム・フィルタと他のブルーム・フィルタとがマッチする場合、検索ノードは、要求ノードに向けて、他のノードの識別子を送信する。これにより、要求ノードが、必要なデータについて他のノードに対して問い合わせることが可能になる。

Description

本発明は、ピアツーピア・ネットワークにおけるデータの検索の分野に関するものである。
ピアツーピア(P2P)ネットワークは、ファイル共有及びVoIP電話を含む、幅広いタイプのサービスを促進するための処理能力及び通信帯域幅を有する参加ノードのプールされたリソースを使用する。集中型サーバが存在しない場合、特定のP2Pサービスは、リソース位置を最適化ために、「オーバレイ・ネットワーク」を使用する。オーバレイ・ネットワークは、下位のネットワーク(例:インターネット)における、場合によっては多数の物理リンクにわたって広がっているパスを表す仮想リンクによって接続された、複数のノードを含む。オーバレイ・ネットワーク内の各ノードは、当該オーバレイ・ネットワーク内の特定の他の複数のノードへのリンクの集合を含むルーティングテーブルを保持している。リソース要求は、そのリソースに責任を負っているノードに到達するまで、ノード間で渡される。
P2Pネットワークは、多数の異なるシナリオにおいて実装可能である。そのようなシナリオの例には、ファイル共有、ボイス・オーバIP等がある。P2Pネットワークは、構造化されていてもよいし、構造化されていなくてもよい。非構造化P2Pネットワークは、組織内に特定のパターンを有さず、その代わりに、P2Pネットワーク内の異なるピアノード間のコネクションが、ある程度ランダムに設定される。一方、構造化P2Pネットワークは、特定のアルゴリズムを用いて決定される、ピアノード間のコネクションを有し、その結果として、P2Pネットワークは、より構造化されたパターンを有する。最も一般的なタイプの構造化P2Pネットワークは、Chord(非特許文献1を参照。)のような、DHT(分散ハッシュテーブル)ベースのネットワークである。
分散ハッシュテーブル(DHT)は、リソース名(「キー」)を、オーバレイ・ネットワーク内での位置にマッピングするための効率的な手段を提供する。DHTは、キー(例えば、曲名、SIP URI等)を、有限の値空間(例えば、128ビット)にマッピングするために、ハッシング・アルゴリズムを使用する。ハッシング・アルゴリズムは、値空間にわたる、ハッシュ値の相対的に一様な広がりを確保するように選択される。このため、例えば、100個の曲名のハッシングは、値空間にわたって相対的に均一に配置された100個のハッシュ値をもたらすであろう。当該ハッシュ値は、いくつかの値のペア(キー、値)で、ハッシュテーブルに格納される。オーバレイ・ネットワーク内のノードは、ユーザ名によって特定され、当該ユーザ名は、それ自体、個別のハッシュ値にハッシングされる。そのため、各ノードは、値空間の範囲内にある、自らの値に隣接する複数のハッシュ値の集合に対して責任を負う。実際には、ノードは、当該ノードが「保有する」リソース名にマッチ(合致)するリソースを取得可能な位置(例えば、IPアドレス)を保存する。オーバレイ・ネットワーク内のノードがリソース要求を受信すると、当該ノードは、それに対応するハッシュ値を保有しているか否かを判定する。保有している場合、ノードは、リソースの位置を、(オーバレイ・ネットワークを介して)要求者に対して返す。当該ハッシュ値を保有していない場合、ノードは、ルーティングテーブルを検査することで、要求に含まれるハッシュ値に最も近いハッシュ値を有する、テーブル内にあるノードを特定し、そのノードに当該要求を転送する。受信ノードは、当該要求に対応するハッシュ値を確かに保有しており、かつ、それ故にリソース位置を知っているノードに、当該要求が到達するまでの間、その手順を繰り返す。
現在、P2PSIPが開発中である。P2PSIPは、SIP(セッション開始プロトコル(Session Initiation Protocol)、非特許文献2を参照。)とP2Pネットワークとの組み合わせである。P2PSIPの主な特性は、IPマルチメディア・サブシステム(IMS)で使用されているような集中型サーバを設ける必要がないことであり、それ故に、P2PSIPは、標準のIMSネットワークよりも、ロバストで、かつ、変更に対して柔軟性がある。
リソース位置特定及び発見(RELOAD:Resource location and discovery、非特許文献3を参照。)は、ChordをDHTアルゴリズムとして使用する、P2PSIPの実装である。RELOADネットワークは、構造化P2Pネットワークである。ピアノードが別のピアノードからリソースを取得したい場合、リソースに対応するキーと、他のピアノードに格納されているキーとを比較することによって、検索が実行される。キーがコンテンツと厳密にマッチすると、そのコンテンツを取り出すことが可能である。
上述のようなリソースの検索に関連する問題は、リソースキーが未知である場合に検索を組み立てることができないことである。ピアノードは、別のピアノードに格納されているリソースに対応するキーと厳密にマッチしないキーを使用して、リソースを探すことはできない。このため、例えば、ピアノードが「ジョン・スミス(John Smith)」の電子メールアドレス(リソース)を調べたい場合に、当該ピアノードは、そのデータを取得するためには、ジョン・スミスの電子メールアドレスを既に知っている必要がある。ピアノードは、例えば、ターム「ジョン」または「スミス」を使用して、検索を組み立てることはできない。これらのタームに対応するキーが、他のピアノードに格納されているリソースのいずれともマッチしないためである。これは、探しているコンテンツに関して検索ピアノードが有している情報が不十分または不正確であるシナリオにおいて、重大な問題となる。
R. Stoica et al., "Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications," Proceedings of the ACM SIGCOMM ’01 Conference, San Diego, California, Aug. 2001, pp. 149 J. Rosenberg et al, "SIP: Session Initiation Protocol," RFC 3261, Internet Engineering Task Force, June 2002 C. Jennings et al., "Resource location and discovery (RELOAD) base protocol", Draft, Internet Engineering Task Force, November 2009
検索されているデータに関する十分な情報が利用可能ではない場合であっても、ピアノードが構造化ピアツーピア・ネットワークの検索を組み立てることをできるようにする方法及び装置を提供する。
第1の態様によれば、構造化ピアツーピア(P2P)ネットワークで用いられる要求ノードが提供される。要求ノードは、検索タームを取得するデバイスを備える。また、ブルーム・フィルタを生成するために前記検索タームを使用するプロセッサが設けられる。ブルーム・フィルタを検索ノードに送信するために、第1の送信機が使用され、当該ブルーム・フィルタは、検索ノードが検索を実行するために使用可能である。P2Pネットワーク内の他のノードの識別子を、検索ノードから受信する第1の受信機が設けられる。他のノードは、ブルーム・フィルタに対応する他のブルーム・フィルタによって特定されるデータへのアクセスを有する。また、要求ノードが要求データを取得できるよう、データの要求を他のノードに送信する第2の送信機が設けられる。データの検索のためにブルーム・フィルタを使用することによって、はるかに柔軟性のある検索を組み立てることが可能になる。
要求ノードが検索タームを取得できる多くの方法と、使用可能な多くの異なるタイプのデバイスとが存在する。デバイスについてのオプションの例には、ユーザによる検索タームの入力を可能にするユーザ入力デバイスと、検索タームを生成するプロセッサとが含まれる。
オプションとして、第1の送信機は、ブルーム・フィルタを、RELOAD要求メッセージで検索ノードに送信する。
第2の態様によれば、構造化P2Pネットワークで用いられる検索ノードが提供される。検索ノードは、検索タームから生成されたブルーム・フィルタを含むメッセージを、要求ノードから受信する受信機を備える。また、データベースに問い合わせを行うために使用されるデータベースアクセス機能が設けられる。当該データベースは、P2Pネットワーク内の他のノードと関連付けられた少なくとも1つの他のブルーム・フィルタを格納している。受信されたブルーム・フィルタと他のブルーム・フィルタとがマッチ(合致)するか否かを判定するプロセッサが設けられる。ブルーム・フィルタと他のブルーム・フィルタとがマッチすると、送信機が、他のノードの識別子を要求ノードに向けて送信し、それにより、要求ノードは、要求データについて当該他のノードに問い合わせることができる。
オプションとして、検索ノードは、他のノードからブルーム・フィルタを受信する第2の受信機を更に備え、プロセッサは、ブルーム・フィルタの送信元である他のノードの識別子に関連付けられたブルーム・フィルタを、データベースに追加する。
送信機は、オプションとして、ブルーム・フィルタを、他の検索ノードに向けて送信する。これにより、より多くの検索ノードが要求ノードに代わってデータを探すことが可能になるとともに、要求データを提供可能な他のピアノードの識別子を要求ノードが取得できる可能性を増加させることが可能である。
オプションの実施形態では、ブルーム・フィルタは、要求ノードから、RELOAD要求メッセージで受信される。
第3の態様によれば、構造化P2Pネットワークで用いられるピアノードが提供される。ピアノードは、メモリの形式で、コンピュータ読み取り可能な記憶媒体を備え、当該メモリは、データを格納するために使用される。格納されたデータの少なくとも一部を使用してブルーム・フィルタを生成するプロセッサが設けられる。ブルーム・フィルタとノードの識別子とを検索ノードがデータの検索に使用するために、ブルーム・フィルタとノードの識別子とを検索ノードに送信する送信機が設けられる。
第4の態様によれば、構造化P2Pネットワークを検索する方法が提供される。要求ノードは、検索タームを取得し、当該検索タームを使用してブルーム・フィルタを生成する。当該ブルーム・フィルタは、検索ノードに送信され、検索ノードは、受信したブルーム・フィルタと、検索ノードがアクセス可能なデータベースに格納されている少なくとも1つの他のブルーム・フィルタとを比較する。当該他のブルーム・フィルタは、P2Pネットワーク内の他のノードに関連付けられている。ブルーム・フィルタと他のブルーム・フィルタとがマッチすると、検索ノードは、他のノードの識別子を、要求ノードに向けて送信する。
オプションとして、本方法は、検索ノードにおいて、要求ノードからブルーム・フィルタを受信する前に、他のノードがアクセス可能なデータを使用して生成された他のブルーム・フィルタを、当該他のノードから受信するステップを更に含む。他のノードから受信された他のブルーム・フィルタと、当該他のノードについての関連した識別子とが、データベースに格納される。
本方法は、オプションとして、検索が成功する可能性を高めるために、検索ノードが、受信されたブルーム・フィルタと、データベースに格納されている少なくとも1つの他のブルーム・フィルタとの比較の後に、要求を他の検索ノードに送信するステップを含む。
この場合、その比較の結果は、他の検索ノードに要求を送信する前に当該要求に付加され、それにより、応答が最終的に要求ノードに返送される際に、当該応答に、全ての検索ノードによって行われた比較の結果が含まれることになる。
ブルーム・フィルタは、オプションとして、RELOAD要求メッセージで検索ノードに送信される。
第5の態様によれば、要求ノードで実行された際に、第1の態様で上述したように当該要求ノードを機能させる、コンピュータ読み取り可能なコード手段を含むコンピュータ・プログラムが提供される。
第6の態様によれば、検索ノードで実行された際に、第2の態様で上述したように当該検索ノードを機能させる、コンピュータ読み取り可能なコード手段を含むコンピュータ・プログラムが提供される。
第7の態様によれば、ピアノードで実行された際に、第3の態様で上述したように当該ピアノードを機能させる、コンピュータ読み取り可能なコード手段を含むコンピュータ・プログラムが提供される。
第8の態様によれば、第5、第6または第7の態様のいずれかで上述したコンピュータ・プログラムを格納した、コンピュータ読み取り可能な記憶媒体が提供される。
本発明の実施形態に係るピアツーピア・ネットワーク及びシグナリングをブロック図で概略的に示す図。 本発明の実施形態に係るメッセージ構成をブロック図で概略的に示す図。 本発明の実施形態に係る検索に必要となるシグナリングを示すシグナリング図。 本発明の実施形態に係るピアノードをブロック図で概略的に示す図。 本発明の実施形態に係る検索ファシリテータ・ノードをブロック図で概略的に示す図。 ピアツーピア・ネットワークで使用される、本発明の実施形態に係るノードをブロック図で概略的に示す図。
上述のように、DHTを使用したP2Pネットワークの検索は、ピアノードが検索しているリソース(または、リソースの識別子)についての正確な知識を必要とする。発明者は、ブルーム・フィルタ(Bloom filter)を使用して、より柔軟性があり、かつ、より制限の少ない検索を実行できることに気が付いた。
ブルーム・フィルタは、要素が集合(セット)のメンバーであるかをテストするために使用される、空間効率の良い確率的データ構造である。偽陽性(false positives)は可能性があるが、偽陰性(false negatives)はない。偽陽性を有する可能性は、要素の数とともに増加する。空のブルーム・フィルタは、全てが0の値を有するように設定された、複数のビットから成る配列である。ブルーム・フィルタに要素を追加するために、ハッシュ関数が適用される。例えば、リソースに関連するデータが追加される場合、ハッシュ関数が当該データに適用され、その計算結果は、ブルーム・フィルタにおける配列位置と解釈される。その結果、ブルーム・フィルタ内のそれらの配列位置は、1の値に設定される。より多くの要素を追加可能であり、これにより、2個以上の要素について、1に設定されている値に衝突が発生する可能性がある。したがって、ブルーム・フィルタは、複数の要素が配列内で同一の1の値を生じさせる場合、偽陽性となりうるとともに、より多くの要素がブルーム・フィルタに追加されると、ブルーム・フィルタに問い合わせを行った際に偽陽性が返される可能性がより高くなる。しかし、要素がブルーム・フィルタに入れられた場合、配列内のビットが1に設定されるのみであるため、偽陰性を返しえないことは明らかである。
図1を参照すると、ネットワークは、(円で示される)複数のピアノードを含む。本例では、ピアノード1は、リソースについてネットワークを検索しようとしている。ネットワークは、検索ノードに指定されている1つ以上のピアノードを更に含み、これらのピアノードは、本明細書では検索ファシリテータ(SF:search facilitator)2,3,4,5として参照される。
ピアノード1が、ジョン・スミス(John Smith)の連絡先情報を見つけようとしている例について検討する。ピアノード1が、DHTのエントリに完全にマッチ(合致)する要求を組み立てない限り、ピアノード1は、ジョン・スミスの連絡先情報を見つけることはできない。
SF2は、他のピアノードに格納されているデータから得られるブルーム・フィルタを格納するために使用される。この場合、1つ以上のSFは、ジョン・スミスの連絡先の詳細に関連する1つ以上のブルーム・フィルタを格納している。
ピアノード1は、SF2に問い合わせるために、タグをベースとした検索を使用する。この場合、ジョン・スミスに関連するデータは、[SIP URI:john.smith@work.com; 名前: スミス, ジョン; アドレス:; 電話番号: +331234567; Email: john.smith@yahoo.fi; タイプ:人, 会社:ファーム,...]に従った、特定のパラメータまたはタグを有しているものとする。
連絡先情報を格納しているピアノードは、上記で示したパラメータを用いてブルーム・フィルタを作成する。あるいは、SFがブルーム・フィルタを作成する。これにより、ブルーム・フィルタはSFに格納される。なお、ブルーム・フィルタは、手動でまたは自動で作成可能である。SFにブルーム・フィルタを格納することは、全てのデータのレコードをSFに格納するよりも、はるかに空間効率が良く、それにより、記憶空間の節約となる。SFに格納されるブルーム・フィルタは、ピアノードがDHT検索を実行するために必要となる全ての情報を有することなくデータの検索を実行しようとする際に、使用される。
本例では、ピアノード1は、ジョン・スミスに関連する部分的な情報のみを有している。この場合、ピアノード1が有している情報は、ジョン・スミスという名前と、連絡先のタイプ(人)のみである。したがって、ピアノード1は、既知の情報についてブルーム・フィルタを計算し、当該ブルーム・フィルタの送信先のSFを決定する。これにより、ステップS1で、要求メッセージがSF2に送信され、当該要求メッセージには、ブルーム・フィルタが含まれる。SF2は、受信したブルーム・フィルタと、SF2のメモリに格納されているブルーム・フィルタとを比較するとともに、SF2に格納されているブルーム・フィルタとの陽性のマッチ(positive match)が見つかった場合、SFは、格納されているブルーム・フィルタに関連付けられたノードの識別子を用いて応答する(reply)。これにより、ピアノード1は、要求した情報を有しているピアノードから情報を取得することが可能になる。
SF2は、ブルーム・フィルタに対する適切なマッチのリストをすぐに返すことができる一方、より良好なマッチが見つかる可能性があるため、他のSFに要求が転送されてもよい。図1に示す例では、SF2は、ステップS2で、要求を第2のSF3に転送する。この処理は、ステップS3及びS4において繰り返され、SF4及び5に要求が転送される。最終的に、S5で、SF5からピアノード1へ、応答が送信される。当該応答には、最も可能性の高い全てのマッチが含まれ、その結果、要求されている情報を取得するために、特定されたピアノードに問い合わせを行うことが可能である。
なお、本実施形態では、送信されている要求が、各SFに順に送信される場合を説明しているが、代替的な実施形態では、ピアノード1は、要求を各ノードに送信してもよい。これは、全ての要求がほぼ同時に送信されるように行われてもよいし、あるいは、ピアノード1は、他のSFから応答を受信した後にのみ要求をSFに送信することで、各SFに順に要求を送信してもよい。いずれの場合にも、ピアノードは、各SFから応答を受信する。
本発明の一実施形態では、SF1は、RELOADオーバレイ・ネットワークにおけるノードである。この場合、問い合わせメッセージは、要求(リクエスト)の形式で送信され、図2に示すメッセージ構成を有する。メッセージ6は、ヘッダ7と、検索フィルタ9を含むメッセージ・コンテンツ8とを有している。セキュリティ・ブロック11も存在する。応答メッセージは、要求メッセージと同じ構成を有し、更に、ノードIDリスト9を含む。
検索ファシリテータ(SF)2は、要求メッセージを受信すると、ペイロードのブルーム・フィルタと、SF2が格納しているブルーム・フィルタとを比較する。格納されているブルーム・フィルタの上位集合(superset)(即ち、高い割合のビットのマッチ)である、異なるフィルタが存在する場合、検索ファシリテータ2は、フィルタにマッチするピアのノードIDを用いて応答する。
図1は、オーバレイ・ネットワークにおけるルーティングが再帰的であり、また、メッセージが2つ以上のSFに送信されることを示しているが、他の代替案も実現可能である。例えば、SF2は、他のノードに要求メッセージを送信するのではなく応答で、ピアノード1に直接応答してもよい。
図3を参照すると、上述の実施形態に係るシグナリングが示されている。以下のナンバリングは、図3に対応している。
S6.ピアノード1は、検索タームを取得する。これは、例えば、自動化された検索用に生成されてもよいし、または、ユーザによって入力されてもよい。
S7.ピアノード1は、ジョン・スミスの連絡先情報を検索しようとしており、そのため、ターム「ジョン」、「スミス」及び「人(person)」を使用してブルーム・フィルタを生成する。
S8.ピアノード1は、RELOADメッセージにおけるブルーム・フィルタの送信先とするSFを決定し、RELOAD要求をSF2に送信すべきと決定する。この決定は、サービス発見機構(service discover mechanism)を使用して行われ、その例はReDiRである。
S9.生成されたブルーム・フィルタを含むRELOAD要求がSF2に送信される。
S10.SF2は、要求に含まれるブルーム・フィルタと、格納されているブルーム・フィルタとを比較して、格納されているブルーム・フィルタに従った情報を有するノードIDのリストを決定する。なお、この情報は、いくつかの偽陽性の結果を含んでいてもよいが、偽陰性の結果は含み得ない。
S11.SF2は、ジョン・スミスについての連絡先情報を有しているノードのノードIDを含む、RELOAD応答を、ピアノード1に送信する。あるいは、オーバレイ・ネットワーク内の別のSFに要求が転送されてもよい。
上記の例では、RELOADプロトコルが使用されることを想定しているが、P2PPまたはプロプライエタリ・プロトコルのような他のプロトコルを使用するメッセージによって、同様のシグナリングを搬送できることが理解されよう。
SF2が効率的に機能するためには、P2Pネットワーク内の他のピアノードが保持するデータに関連するブルーム・フィルタを、SF2が取得しなければならない。他のピアノードは、当該ピアノードがアクセスを有するデータを表すブルーム・フィルタを格納しており、これらのブルーム・フィルタは、少なくとも1つのSFに送信される。
次に、図4を見ると、ピアノード1が示されている。ピアノード1は、検索タームを取得するデバイスを備えている。これは、例えば、キーボード、マウス、タッチスクリーン等の、データ入力デバイスであってもよい。これにより、ピアノード1のユーザが、検索タームを入力可能になる。あるいは、デバイス12は、自動化された検索の一部として、検索タームを自動的に生成するプロセッサであってもよい。プロセッサ13は、検索タームを使用してブルーム・フィルタを生成するために、設けられている。第1の送信機14は、ブルーム・フィルタをSF2に送信する。第1の受信機15は、検索タームに対応するデータであって、ブルーム・フィルタに対応する他のブルーム・フィルタによって特定されるデータへのアクセスを有する、P2Pネットワーク内の他のノードの識別子を、SFまたは他のSFから受信する。第2の送信機16は、他のノードにデータの要求を送信するために、更に設けられている。
他の実施形態では、ピアノード1は、メモリ17の形式の、コンピュータ読み取り可能な記憶媒体を備えている。コンピュータ・プログラム18は、メモリ17に格納されていてもよい。当該コンピュータ・プログラムがプロセッサによって実行されると、当該プログラムは、ピアノード1を上述のように動作させる。
図5は、SF2を示している。SF2は、ピアノード1からメッセージを受信するための受信機19を備えており、当該メッセージは、検索タームから生成されたブルーム・フィルタを含んでいる。データベースアクセス機能20は、データベース21に問い合わせを行うために設けられている。なお、データベース21は、SFに局所的に設置されてもよいし、または、別の場所に離れて設置されてもよい。図4に示す例では、データベース21はSF2に設置されている。データベースには、他のピアノードから取得されたブルーム・フィルタが追加され、各ブルーム・フィルタは、当該ブルーム・フィルタの取得元のピアノードの識別子に関連付けられている。
プロセッサ22は、ピアノード1から受信されたブルーム・フィルタが、データベース21に格納されているいずれかのブルーム・フィルタとマッチするかを判定するために、設けられている。マッチする場合、送信機23は、他のノードの識別子をピアノード1に送信する。
他の実施形態において、SF2は、メモリ24の形式の、コンピュータ読み取り可能な記憶媒体を備えている。コンピュータ・プログラム25は、メモリ24に格納されていてもよい。当該コンピュータ・プログラムがプロセッサによって実行されると、当該プログラムは、SF2を上述のように動作させる。
SF2が、他のP2Pノードからデータベース21に追加するためのブルーム・フィルタを取得する場合、SF2は、少なくとも1つのブルーム・フィルタを含むメッセージを他のピアノードから受信するための、第2の受信機27を備える。これにより、プロセッサ22は、ブルーム・フィルタと、当該ブルーム・フィルタの送信元の関連ノードとを、データベース21に追加するために、受信した情報を使用することが可能である。
SF2は、単独のノードとして実装されてもよいし、例えば、DHTピア上のサーバ・コンポーネントとして実装されてもよい。
データベース21に追加するためには、各SFは、P2Pネットワーク内の他のノードからブルーム・フィルタを受信しなければならない。図6は、そのようなノード28を示している。ノード28は、データを格納するためのメモリ29の形式の、コンピュータ読み取り可能な記憶媒体を備えている。プロセッサ30は、格納されているデータの少なくとも一部を使用してブルーム・フィルタを生成するとともに、当該ブルーム・フィルタとノードの識別子とをSF2に送信するために、送信機31を使用する。これにより、SFが、データの検索において、ブルーム・フィルタとノードの識別子とを使用可能になる。
SF2からブルーム・フィルタの要求を受信するために、受信機32が更に設けられてもよい。
他の実施形態において、コンピュータ・プログラム33がメモリ29または異なるメモリに格納される。コンピュータ・プログラム33がプロセッサによって実行されると、当該プログラムは、ノード26を上述のように動作させる。
本発明によれば、コンテンツが検索タームに完全にマッチしない場合であっても、任意のタイプのデータでありうるコンテンツを、ピアノード1が検索することが可能になる。複数のノードと当該ノードが要求されたデータを有している可能性とのリストを提供するSFを使用することによって、本発明は、更に、要求ピアノードがデータを取得する方法を提供する。上述の説明では、RELOADプロトコルを例示的なプロトコルとして使用しているが、任意の適切なプロトコルが使用されうることが理解されよう。
例として、ユーザがP2Pネットワークにおいて特定の映画を検索している場合、先行技術の方法を使用すると、ユーザは、例えば、映画の名称等の厳密なデータを知っている必要があるであろう。本発明を使用すると、ユーザは、より緩い検索タームを組み立てることができ、それでも映画を見つけることが可能である。この場合、当該映画に関連し、かつ、SF2に格納されているブルーム・フィルタは、値[タイトル: オリンピック 2010, ビットレート: 162bps, 長さ: 200分, サイズ: 700MB, フォーマット: avi, タイプ: 映画, ジャンル: スポーツ, 年: 2010,...]をハッシングすることによって作成されうる。当該映画を探しているが、厳密なタイトルを知らないピアノード1は、検索ターム「映画 スポーツ 2010」を使用することができる。ブルーム・フィルタは、これらのタームをハッシングすることによって作成されるとともに、SF2に格納されているブルーム・フィルタと陽性のマッチを有することになる。SF2は、格納されているブルーム・フィルタに関連付けられたノードの識別子を用いて応答し、ピアノード1は、当該ノードに直接、映画を要求することが可能である。
代替的な実施形態では、SFは、データを格納しているノードに直接、要求を転送してもよく、これにより、ピアノード1が個別の要求を行うことを必要とすることなく、当該ノードが、要求ピアノード1にデータを直接提供することが可能になる。
添付の特許請求の範囲によって規定される本発明の範囲から逸脱することなく、上述の実施形態に対する種々の変形が可能であることが、当業者には理解されよう。
以下の略語が本明細書において使用されている。
RELOAD:Resource LOcation And Discovery(リソース位置特定及び発見)
DHT :Distributed Hash Table(分散ハッシュテーブル)
P2P :Peer-to-peer(ピアツーピア)
P2PP :Peer-to-peer protocol(ピアツーピア・プロトコル)
P2PSIP:Peer-to-peer Session Initiation Protocol
(ピアツーピア・セッション開始プロトコル)
SF :Search Facilitator(検索ファシリテータ)

Claims (17)

  1. 構造化ピアツーピア・ネットワークで用いられる要求ノード(1)であって、
    検索タームを取得するデバイス(12)と、
    ブルーム・フィルタを生成するために前記検索タームを使用するプロセッサ(13)と、
    前記ブルーム・フィルタを検索ノードに送信する第1の送信機(14)と、
    前記ピアツーピア・ネットワーク内の他のノードの識別子を、前記検索ノードから受信する第1の受信機(15)であって、前記他のノードが、前記ブルーム・フィルタに対応する他のブルーム・フィルタによって特定されるデータへのアクセスを有する、前記第1の受信機(15)と、
    前記データの要求を前記他のノードに送信する第2の送信機(16)と
    を備えることを特徴とする要求ノード。
  2. 前記検索タームを取得する前記デバイスは、ユーザによる検索タームの入力を可能にするユーザ入力デバイスと、前記検索タームを生成するプロセッサとのうちの1つから選択されることを特徴とする請求項1に記載の要求ノード。
  3. 前記第1の送信機は、前記ブルーム・フィルタを、RELOAD要求メッセージで前記検索ノードに送信することを特徴とする請求項1または2に記載の要求ノード。
  4. 構造化ピアツーピア・ネットワークで用いられる検索ノード(2)であって、
    検索タームから生成されたブルーム・フィルタを含むメッセージを、要求ノード(1)から受信する受信機(19)と、
    前記ピアツーピア・ネットワーク内の他のノードと関連付けられた少なくとも1つの他のブルーム・フィルタを含むデータベース(21)に問い合わせを行うデータベースアクセス機能(20)と、
    前記受信されたブルーム・フィルタと前記他のブルーム・フィルタとがマッチするか否かを判定するプロセッサ(22)と、
    前記ブルーム・フィルタと前記他のブルーム・フィルタとがマッチすると、前記他のノードの識別子を前記要求ノードに向けて送信する送信機(23)と
    を備えることを特徴とする検索ノード。
  5. 前記他のノードからブルーム・フィルタを受信する第2の受信機(27)を更に備え、
    前記プロセッサ(22)は、前記ブルーム・フィルタの送信元である前記他のノードの識別子に関連付けられた前記ブルーム・フィルタを前記データベース(21)に追加する
    ことを特徴とする請求項4に記載の検索ノード。
  6. 前記送信機(23)は、前記ブルーム・フィルタを、他の検索ノードに向けて送信することを特徴とする請求項4または5に記載の検索ノード。
  7. 前記ブルーム・フィルタは、前記要求ノードから、RELOAD要求メッセージで受信されることを特徴とする請求項4乃至6のいずれか1項に記載の検索ノード。
  8. 構造化ピアツーピア・ネットワークで用いられるピアノード(26)であって、
    データを格納するメモリ(27)と、
    前記格納されたデータの少なくとも一部を使用してブルーム・フィルタを生成するプロセッサ(28)と、
    前記ブルーム・フィルタと前記ノードの識別子とを検索ノードがデータの検索に使用するために、前記ブルーム・フィルタと前記ノードの識別子とを前記検索ノードに送信する送信機(29)と
    を備えることを特徴とするピアノード。
  9. 構造化ピアツーピア・ネットワークを検索する方法であって、
    要求ノード(1)において、検索タームを取得するステップ(S6)と、
    前記要求ノードにおいて、前記検索タームを使用してブルーム・フィルタを生成するステップ(S7)と、
    前記ブルーム・フィルタを検索ノード(2)に送信するステップ(S9)と、
    前記検索ノード(2)において、受信された前記ブルーム・フィルタと、前記検索ノードがアクセス可能なデータベースに格納されている少なくとも1つの他のブルーム・フィルタとを比較するステップ(S10)であって、前記他のブルーム・フィルタが、前記ピアツーピア・ネットワーク内の他のノードに関連付けられている、前記ステップと、
    前記ブルーム・フィルタと前記他のブルーム・フィルタとがマッチすると、前記他のノードの識別子を、前記要求ノード(1)に向けて送信するステップ(S11)と
    を含むことを特徴とする方法。
  10. 前記他のノードがアクセス可能なデータを使用して生成された他のブルーム・フィルタを、前記他のノードから受信するステップと、
    前記他のノードから受信された前記他のブルーム・フィルタと、前記他のノードについての関連した識別子とを、前記データベースに格納するステップと
    を更に含むことを特徴とする請求項9に記載の方法。
  11. 前記検索ノードにおいて、受信された前記ブルーム・フィルタと、前記データベースに格納されている前記少なくとも1つの他のブルーム・フィルタとの比較の後に、要求を他の検索ノードに送信するステップを更に含むことを特徴とする請求項9または10に記載の方法。
  12. 前記比較の結果は、前記他の検索ノードに前記要求を送信する前に前記要求に付加されることを特徴とする請求項11に記載の方法。
  13. 前記ブルーム・フィルタは、RELOAD要求メッセージで前記検索ノードに送信されることを特徴とする請求項8乃至12のいずれか1項に記載の方法。
  14. コンピュータで実行された際に、請求項1乃至3のいずれか1項に記載の要求ノード(1)としてコンピュータを機能させるためのコンピュータ・プログラム(18)。
  15. コンピュータで実行された際に、請求項4乃至7のいずれか1項に記載の検索ノード(2)としてコンピュータを機能させるためのコンピュータ・プログラム(25)。
  16. コンピュータで実行された際に、請求項8に記載のピアノード(28)としてコンピュータを機能させるためのコンピュータ・プログラム(33)。
  17. 請求項14乃至16のいずれか1項に記載のコンピュータ・プログラム(18;25;28)を格納したコンピュータ読み取り可能な記憶媒体(17;25;29)。
JP2013544423A 2010-12-20 2010-12-20 ピアツーピア・ネットワークにおける検索 Expired - Fee Related JP5666719B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/SE2010/051426 WO2012087188A1 (en) 2010-12-20 2010-12-20 Searching in peer to peer networks

Publications (2)

Publication Number Publication Date
JP2014504411A true JP2014504411A (ja) 2014-02-20
JP5666719B2 JP5666719B2 (ja) 2015-02-12

Family

ID=46235784

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013544423A Expired - Fee Related JP5666719B2 (ja) 2010-12-20 2010-12-20 ピアツーピア・ネットワークにおける検索

Country Status (5)

Country Link
US (1) US20120158756A1 (ja)
EP (1) EP2656244A4 (ja)
JP (1) JP5666719B2 (ja)
CN (1) CN103299295A (ja)
WO (1) WO2012087188A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2500848A1 (en) * 2011-03-15 2012-09-19 Amadeus S.A.S. Method and system for centralized reservation context management on multi-server reservation system
US9667713B2 (en) * 2011-03-21 2017-05-30 Apple Inc. Apparatus and method for managing peer-to-peer connections between different service providers
US8972337B1 (en) * 2013-02-21 2015-03-03 Amazon Technologies, Inc. Efficient query processing in columnar databases using bloom filters
JP6291573B2 (ja) * 2013-07-02 2018-03-14 コンヴィーダ ワイヤレス, エルエルシー セマンティクス公表および発見のための機構
US9847951B2 (en) * 2013-11-04 2017-12-19 Ciena Corporation Dynamic bandwidth allocation systems and methods using content identification in a software-defined networking controlled multi-layer network
EP3790300B1 (en) * 2014-06-24 2021-12-22 Google LLC Mesh network commissioning
US11005950B1 (en) * 2015-02-10 2021-05-11 Marvell Asia Pte, Ltd. Optimized bloom filter
CN109146447B (zh) * 2018-07-09 2022-07-05 矩阵元技术(深圳)有限公司 区块链透明分片方法、装置及系统
EP3821587A1 (en) 2018-07-11 2021-05-19 Telefonaktiebolaget LM Ericsson (publ) System and method for distributed indexing in peer-to-peer networks

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007328736A (ja) * 2006-06-09 2007-12-20 Mitsubishi Electric Corp リソース検索システム
JP2008102795A (ja) * 2006-10-19 2008-05-01 Fuji Xerox Co Ltd ファイル管理装置、システム及びプログラム
WO2010108535A1 (en) * 2009-03-23 2010-09-30 Telefonaktiebolaget Lm Ericsson (Publ) Event identification in peer to peer networks
WO2011008889A2 (en) * 2009-07-14 2011-01-20 Qualcomm Incorporated Methods and apparatus for efficiently processing multiple keyword queries on a distributed network

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6731743B2 (en) * 2001-12-18 2004-05-04 Sbc Properties, L.P. AIN query redirection
US7263560B2 (en) * 2002-08-30 2007-08-28 Sun Microsystems, Inc. Decentralized peer-to-peer advertisement
US7668949B1 (en) * 2003-03-11 2010-02-23 Nortel Networks Limited Verification of configuration information in BGP VPNs
US7409406B2 (en) * 2003-09-08 2008-08-05 International Business Machines Corporation Uniform search system and method for selectively sharing distributed access-controlled documents
US20050108368A1 (en) * 2003-10-30 2005-05-19 Aditya Mohan Method and apparatus for representing data available in a peer-to-peer network using bloom-filters
US7730207B2 (en) * 2004-03-31 2010-06-01 Microsoft Corporation Routing in peer-to-peer networks
US7779463B2 (en) * 2004-05-11 2010-08-17 The Trustees Of Columbia University In The City Of New York Systems and methods for correlating and distributing intrusion alert information among collaborating computer systems
US8239394B1 (en) * 2005-03-31 2012-08-07 Google Inc. Bloom filters for query simulation
US7716180B2 (en) * 2005-12-29 2010-05-11 Amazon Technologies, Inc. Distributed storage system with web services client interface
US7739239B1 (en) * 2005-12-29 2010-06-15 Amazon Technologies, Inc. Distributed storage system with support for distinct storage classes
US7764701B1 (en) * 2006-02-22 2010-07-27 Qurio Holdings, Inc. Methods, systems, and products for classifying peer systems
US7917471B2 (en) * 2006-07-14 2011-03-29 Nokia Corporation Method for obtaining information objects in a communication system
US7702683B1 (en) * 2006-09-18 2010-04-20 Hewlett-Packard Development Company, L.P. Estimating similarity between two collections of information
EP1914643A1 (en) * 2006-10-19 2008-04-23 Motorola, Inc. Method and apparatus for filtering peer-to-peer network searches for limited capability devices
US20080155229A1 (en) * 2006-12-21 2008-06-26 Kevin Scott Beyer System and method for generating a cache-aware bloom filter
US7937428B2 (en) * 2006-12-21 2011-05-03 International Business Machines Corporation System and method for generating and using a dynamic bloom filter
ATE520270T1 (de) * 2007-06-15 2011-08-15 Ericsson Telefon Ab L M Verfahren zum entdecken von sich überlappenden zellen
US7930547B2 (en) * 2007-06-15 2011-04-19 Alcatel-Lucent Usa Inc. High accuracy bloom filter using partitioned hashing
CN101123565B (zh) * 2007-07-30 2011-07-13 中兴通讯股份有限公司 P2p系统及用于该系统的资源查询方法
US8037145B2 (en) * 2007-09-30 2011-10-11 Symantec Operating Corporation System and method for detecting email content containment
WO2009100961A1 (en) * 2008-02-13 2009-08-20 Telefonaktiebolaget Lm Ericsson (Publ) Overlay network node and overlay networks
US8103718B2 (en) * 2008-07-31 2012-01-24 Microsoft Corporation Content discovery and transfer between mobile communications nodes
US8145806B2 (en) * 2008-09-19 2012-03-27 Oracle International Corporation Storage-side storage request management
US8359318B2 (en) * 2008-10-13 2013-01-22 Wolf Garbe System and method for distributed index searching of electronic content
WO2010065271A2 (en) * 2008-11-25 2010-06-10 Board Of Governors For Higher Education, State Of Rhode Island And Providence Plantations Systems and methods for providing continuous file protection at block level
US9179305B2 (en) * 2009-06-11 2015-11-03 Qualcomm Incorporated Bloom filter based device discovery
CN102118263B (zh) * 2010-01-06 2015-05-20 中兴通讯股份有限公司 配置信息的发布方法及系统
US20120275466A1 (en) * 2010-10-21 2012-11-01 Texas Instruments Incorporated System and method for classifying packets

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007328736A (ja) * 2006-06-09 2007-12-20 Mitsubishi Electric Corp リソース検索システム
JP2008102795A (ja) * 2006-10-19 2008-05-01 Fuji Xerox Co Ltd ファイル管理装置、システム及びプログラム
WO2010108535A1 (en) * 2009-03-23 2010-09-30 Telefonaktiebolaget Lm Ericsson (Publ) Event identification in peer to peer networks
WO2011008889A2 (en) * 2009-07-14 2011-01-20 Qualcomm Incorporated Methods and apparatus for efficiently processing multiple keyword queries on a distributed network

Also Published As

Publication number Publication date
EP2656244A4 (en) 2015-10-21
US20120158756A1 (en) 2012-06-21
WO2012087188A1 (en) 2012-06-28
EP2656244A1 (en) 2013-10-30
CN103299295A (zh) 2013-09-11
JP5666719B2 (ja) 2015-02-12

Similar Documents

Publication Publication Date Title
JP5666719B2 (ja) ピアツーピア・ネットワークにおける検索
US11632420B2 (en) Point of presence management in request routing
US8805932B2 (en) Sharing of digital contents in P2P networks exploiting localization data
JP5404766B2 (ja) ルーティングをリクエストするための方法とシステム
JP6086871B2 (ja) コンピュータネットワークによるデータ通信をキャッシュする方法及びシステム
US8838690B2 (en) Caching of digital contents in P2P networks
US20110099226A1 (en) Method of requesting for location information of resources on network, user node and server for the same
US20100031369A1 (en) Secure distributed item-level discovery service using secret sharing
JP2011519203A (ja) クラスに基づいてルーティングをリクエストするための方法とシステム
KR101474233B1 (ko) 분산된 해시 테이블의 콘텐트에 대한 피어-투-피어 트래픽 국부화
US9686353B2 (en) Method and node for locating objects in a peer-to-peer network
KR20100004942A (ko) 아이피 기반 유에스엔과 기존 아이피 네트워크를 연결하기 위한 방법
EP2735130A1 (en) Content popularity extraction in distributed hash table based peer-to-peer networks
US20120185595A1 (en) Traffic Localization Mechanism For Distributed Hash Table Based Peer-To-Peer Networks
US20080040482A1 (en) System and method for the location of caches
Karakannas et al. Information centric networking for delivering big data with persistent identifiers
JP2009259008A (ja) ノード、コンテンツ格納方法およびコンテンツ取得方法
US20100082738A1 (en) Network Communication Method, Dispatch Server and Server
Fantar et al. Exploiting locality using geographic coordinates and semantic proximity in Chord
JP4426183B2 (ja) 論理経路制御システム
JP2014143573A (ja) アドレス解決システム及び方法
WO2021121628A1 (en) Dynamic distribution of a computational graph
Flathagen et al. Web services and service discovery

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131120

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140516

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140523

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141210

R150 Certificate of patent or registration of utility model

Ref document number: 5666719

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees