JP4360883B2 - Information search method, information search device, and information search program - Google Patents
Information search method, information search device, and information search program Download PDFInfo
- Publication number
- JP4360883B2 JP4360883B2 JP2003398089A JP2003398089A JP4360883B2 JP 4360883 B2 JP4360883 B2 JP 4360883B2 JP 2003398089 A JP2003398089 A JP 2003398089A JP 2003398089 A JP2003398089 A JP 2003398089A JP 4360883 B2 JP4360883 B2 JP 4360883B2
- Authority
- JP
- Japan
- Prior art keywords
- information
- search
- node
- public
- anonymous
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Description
本発明は、ピアツーピア(P2P:Peer to Peer)ネットワーク上で共有する情報を検索するための情報検索方法、情報検索装置、および情報検索プログラムに関し、特に多数の装置において公開された情報を一括して検索するための情報検索方法、情報検索装置、および情報検索プログラムに関する。 The present invention relates to an information search method, an information search device, and an information search program for searching for information shared on a peer-to-peer (P2P) network. In particular, information disclosed in a large number of devices is collectively displayed. The present invention relates to an information search method, an information search device, and an information search program for searching.
近年の情報通信技術の発達に伴い、ネットワークを介した様々なサービスが提供されている。このとき、提供されるサービスの形態も多種多様であり、新たな形態のサービスを提供するには、そのサービスに応じたネットワーク上の構成要素の追加や変更が必要となる場合もある。 With the development of information communication technology in recent years, various services are provided via networks. At this time, there are various forms of services provided, and in order to provide a new form of service, it may be necessary to add or change components on the network according to the service.
また、インターネットのような広域ネットワークでは、伝送されるパケットが悪意の第三者に渡る危険性がある。そのような場合でも、パケットの内容の秘匿性や通信相手の匿名性を保つ必要がある。 Also, in a wide area network such as the Internet, there is a risk that a transmitted packet may reach a malicious third party. Even in such a case, it is necessary to maintain the confidentiality of the packet contents and the anonymity of the communication partner.
そこで、ネットワークを介したサービス提供の普及に伴い、ネットワーク構成が容易に変更できること、およびネットワークを介した通信に関する匿名性を保つことが望まれている。 Thus, with the spread of service provision via the network, it is desired that the network configuration can be easily changed and that anonymity regarding communication via the network is maintained.
・ネットワーク構成の変更の容易性について
構成を容易に変更できるネットワークとしてP2Pネットワークがある。P2Pネットワークとは、平等な機能を持ったノード(Peer)同士がブローカレス(中央集権的な管理部が無いこと)で直接通信する形態のネットワークである。
-Ease of change of network configuration There is a P2P network as a network whose configuration can be easily changed. A P2P network is a network in which nodes (Peer) having equal functions communicate directly with each other without a broker (no centralized management unit).
P2Pネットワークは、構成を動的に変更可能であるという特徴を持つ。すなわち、P2Pネットワークでは、ノードのネットワークへの参加やネットワークからの退場は任意である。そのため、P2Pネットワーク上で通信を行う場合、その時点で参加しているノード間でP2Pの通信を行いながら、送信相手のノードへパケットを転送する。P2Pネットワークを用いれば、特定のサーバを経由せずにコンピュータ同士の情報共有が可能となる。 The P2P network has a feature that the configuration can be dynamically changed. That is, in the P2P network, the participation of the node in the network and the exit from the network are arbitrary. Therefore, when performing communication on the P2P network, the packet is transferred to the transmission destination node while performing P2P communication between the nodes participating at that time. If a P2P network is used, information can be shared between computers without going through a specific server.
・情報漏洩防止について
インターネット上のデータの送受信者の匿名性を守るための様々な技術が考えられている。データの送受信の匿名性を守るためには、全てのデータ通信を暗号化すると共に、パケットの伝送経路も漏洩しないようにする必要がある。
・ Information leakage prevention Various technologies are being considered to protect the anonymity of data senders and receivers on the Internet. In order to protect the anonymity of data transmission / reception, it is necessary to encrypt all data communication and not to leak the packet transmission path.
パケットの伝送経路の漏洩を防止するには、複数の中継地(ルータ)を活用することにより、通信中のパケットの受信元や転送先等の情報の漏洩をシャットアウトする必要がある。このような伝送経路の漏洩防止手法としては、「オニオンルーティング」と名付けられた手法が知られている(たとえば、特許文献1参照)。 In order to prevent the leakage of the packet transmission path, it is necessary to shut out the leakage of information such as the reception source and transfer destination of the packet during communication by utilizing a plurality of relay points (routers). As such a transmission path leakage prevention technique, a technique named “onion routing” is known (see, for example, Patent Document 1).
オニオンルーティングの手法では、オニオンルータと呼ばれる堅牢で固定的なルータがルーティングを司る。送信端末では、送信相手までの伝送経路を予め決定し、パケットを中継する各オニオンルータの公開鍵を用いてパケットの伝送経路に関する情報を暗号化する。 In the method of onion routing, routing is performed by a robust and fixed router called an onion router. In the transmission terminal, a transmission path to the transmission partner is determined in advance, and information on the transmission path of the packet is encrypted using the public key of each onion router that relays the packet.
パケットを受信したオニオンルータは、自身の秘密鍵で伝送経路に関する情報を復号する。この復号によりパケットの次の転送先が判別され、オニオンルータは次のノード(オニオンルータ若しくは受信端末)にパケットを転送する。このように、各オニオンルータでは、次の転送先以外隠蔽された状態を保つことができるため、最終的な受信端末の情報を特定することができない。また、オニオンルータにおいて、パケットを送出する際に、それまでの伝送経路に関する情報をパケットに付加しないことで、送信元の漏洩を防止できる。 The onion router that receives the packet decrypts the information on the transmission path with its own secret key. This decryption determines the next transfer destination of the packet, and the onion router transfers the packet to the next node (onion router or receiving terminal). In this manner, each onion router can maintain a concealed state except for the next transfer destination, and therefore cannot identify the final receiving terminal information. Further, when sending a packet in the onion router, it is possible to prevent the transmission source from leaking by not adding to the packet information related to the transmission path up to that point.
このように、オニオンルーティングでは、データパケットが目的地までの経路情報を多重に暗号化して保持することで、ルーティングを行う各ノードやネットワーク上でのスキミングを行う者に対して経路情報の一部しか参照できないようにしている。
しかし、前述したP2Pネットワークにおける情報共有技術では、P2Pネットワーク上での検索の効率化が考慮されていなかった。そのため、ネットワーク上の情報の検索をリアルタイムに効率よく行うことができなかった。 However, in the information sharing technique in the P2P network described above, the efficiency of search on the P2P network has not been considered. As a result, information on the network cannot be efficiently searched in real time.
たとえば、P2Pネットワーク上で公開されている全ての情報の中から、任意の検索条件を満たす情報を検索する場合、検索要求をブロードキャストにより全てのノードに対して送信する必要がある。このような検索をP2Pネットワーク内の多数のノードが同時に行うと、ネットワークの通信効率が低下してしまう。 For example, when searching for information satisfying an arbitrary search condition from all information disclosed on the P2P network, it is necessary to transmit a search request to all nodes by broadcasting. If such a search is simultaneously performed by a large number of nodes in the P2P network, the communication efficiency of the network decreases.
また、P2Pネットワークに対してオニオンルーティング等の匿名性強化を行うと、ネットワーク上での情報のキャッシュを有効に行うことができないという問題が生じる。すなわち、P2P以外のネットワークでは、通信される情報を、その情報を中継したノードでキャッシュしておくことで、同一情報に対する以後のアクセスの効率化を図ることができる。ところが、P2Pネットワーク上の通信において情報発信者の匿名性の強化を行った場合、発信された情報がP2Pネットワーク上の不特定多数のノードにキャッシュされていても、キャッシュされた情報は情報発信者との関係付けを失っている。そのため、キャッシュされた情報を通じて情報発信者と受信者との間で双方向コミュニケーションを行うことができない。 Further, when anonymity enhancement such as onion routing is performed on a P2P network, there is a problem that information cannot be effectively cached on the network. That is, in a network other than P2P, information to be communicated is cached in a node that relays the information, so that subsequent accesses to the same information can be made more efficient. However, when the anonymity of the information sender is enhanced in the communication on the P2P network, even if the transmitted information is cached in an unspecified number of nodes on the P2P network, the cached information is the information sender. Lost relationship with. Therefore, two-way communication cannot be performed between the information sender and the receiver through the cached information.
しかも、ネットワーク上での情報量は増大化する傾向にあり、公開されている情報をそのまま各ノードでキャッシュしていたのでは、各ノードにかかる負荷が過大となる。そのため、公開情報のメタデータ(公開情報の特徴等を示すデータ)をキャッシュすることが考えられる。公開情報のメタデータをキャッシュさせた場合、そのメタデータを参照した情報受信側のノードから、情報発信側のノードにアクセスし、公開情報の実体を取得できることが必要である。 In addition, the amount of information on the network tends to increase, and if publicly available information is cached as it is at each node, the load on each node becomes excessive. For this reason, it is conceivable to cache public information metadata (data indicating characteristics of public information). When the metadata of public information is cached, it is necessary to be able to acquire the substance of the public information by accessing the information transmission side node from the information reception side node referring to the metadata.
ところが、前述のように匿名性を強化していると、キャッシュされた情報と情報の発信者との間の関係付けが失われている。そのため、情報受信側のノードから情報発信者側のノードにアクセスし、公開情報の実体を取得することができなかった。すなわち、匿名性を強化したP2Pネットワークでは、情報のキャッシュによる情報検索の効率化を図ることが困難だった。 However, when anonymity is strengthened as described above, the relationship between cached information and the sender of the information is lost. For this reason, it is impossible to access the information sender side node from the information receiving side node and acquire the substance of the public information. That is, in the P2P network with enhanced anonymity, it has been difficult to improve the efficiency of information retrieval by caching information.
本発明はこのような点に鑑みてなされたものであり、P2Pネットワークでの情報検索効率を向上させることができる情報検索方法、情報検索装置、および情報検索プログラムを提供することを目的とする。 The present invention has been made in view of these points, and an object thereof is to provide an information search method, an information search apparatus, and an information search program that can improve information search efficiency in a P2P network.
本発明の第1の態様では上記課題を解決するために、図1に示すようなピアツーピア方式のネットワーク上で公開されている情報を検索する情報検索方法が提供される。この情報検索方法では、情報検索装置1の公開情報格納手段1aが、他の装置から公開情報を含む情報公開要求7を受け取った場合、公開情報記憶手段1bに対して公開情報を格納する。このとき、ネットワーク内の装置間の関係が木構造で定義されており、情報検索装置1の情報公開要求転送手段1cが、情報公開要求7を木構造における親装置6に対して転送する。また、情報検索装置1の検索条件格納手段1dが、他の装置から検索条件を含む情報検索要求8を受け取った場合、検索条件記憶手段1eに対して検索条件を格納する。このとき、情報検索装置1の情報検索要求転送手段1fが、情報検索要求8を木構造における親装置6に対して転送する。その後、情報検索装置1の検索手段1gが、検索条件記憶手段1eに記憶された検索条件に基づいて、公開情報記憶手段1bに記憶された公開情報を検索する。そして、検索によって公開情報が合致した場合、情報検索装置1の検索結果通知手段1hが、情報検索要求8の送信元である検索元装置3に対して公開情報を送信する。
In order to solve the above-described problem, the first aspect of the present invention provides an information search method for searching information published on a peer-to-peer network as shown in FIG. In this information search method, when the public
このような情報検索方法によれば、他の装置から情報公開要求7を受け取った場合、公開情報記憶手段1bに公開情報が格納され、情報公開要求7が親装置6に対して転送される。また、他の装置から情報検索要求8を受け取った場合、検索条件記憶手段1eに対して検索条件が格納され、情報検索要求8が親装置6に対して転送される。その後、検索条件記憶手段1eに記憶された検索条件に基づいて、公開情報記憶手段1bに記憶された公開情報が検索される。検索によって公開情報が合致した場合、情報検索要求8の送信元である検索元装置3に対して公開情報が送信される。
According to such an information search method, when the
また、本発明の第2の態様では上記課題を解決するために、ピアツーピア方式のネットワーク上で公開されている情報を検索する情報検索方法において、前記情報公開要求の送信元である公開元装置が、情報の公開指示に応じて、前記ネットワーク内の複数の情報検索装置の中から少なくとも1つの前記情報検索装置を選択し、選択した前記情報検索装置に対して前記情報公開要求を匿名通信によって送信し、前記情報検索要求の送信元である検索元装置が、情報の検索指示に応じて、前記ネットワーク内の複数の前記情報検索装置の中から少なくとも1つの前記情報検索装置を選択し、選択した前記情報検索装置に対して、検索条件を含む前記情報検索要求を匿名通信によって送信し、前記ネットワークを構成する前記情報検索装置それぞれにおいて、公開情報格納手段が、他の装置から公開情報を含む情報公開要求を受け取った場合、公開情報記憶手段に対して前記公開情報を格納し、情報公開要求転送手段が、前記情報公開要求を隣接する他の情報検索装置に対して転送し、検索条件格納手段が、他の装置から検索要求を含む情報検索要求を受け取った場合、検索条件記憶手段に対して前記検索条件を格納し、情報検索要求転送手段が、前記情報検索要求を隣接する他の情報検索装置に対して転送し、検索手段が、前記検索条件記憶手段に記憶された検索条件に基づいて、前記公開情報記憶手段に記憶された前記公開情報を検索し、検索結果通知手段が、前記検索条件に前記公開情報が合致した場合、前記検索元装置に対して検索結果を匿名通信によって送信する、ことを特徴とする情報検索方法が提供される。 Further, in the second aspect of the present invention, in order to solve the above-mentioned problem, in the information search method for searching information published on a peer-to-peer network, a publication source device that is a transmission source of the information disclosure request is In response to an information disclosure instruction, at least one information retrieval device is selected from a plurality of information retrieval devices in the network, and the information disclosure request is transmitted to the selected information retrieval device by anonymous communication. The search source device that is the transmission source of the information search request selects at least one information search device from among the plurality of information search devices in the network in response to an information search instruction, and selects the information search device. The information search device including the search condition is transmitted to the information search device by anonymous communication, and each of the information search devices constituting the network is transmitted. The public information storage means stores the public information in the public information storage means when the public information storage means receives the public information request including the public information from another apparatus, and the public information storage request transfer means sends the public information request to the public information storage means. When the search condition storage means receives an information search request including a search request from another apparatus, the search condition storage means stores the search condition in the search condition storage means, The search request transfer means transfers the information search request to another adjacent information search device, and the search means stores the information in the public information storage means based on the search conditions stored in the search condition storage means. The search result notification means transmits the search result to the search source device by anonymous communication when the public information matches the search condition. Information search method according to is provided.
このような情報検索方法によれば、公開元装置により、情報の公開指示に応じて、複数の情報検索装置の中から少なくとも1つの情報検索装置が選択され、選択された情報検索装置に対して情報公開要求が匿名通信によって送信される。また、検索元装置により、情報の検索指示に応じて、複数の情報検索装置の中から少なくとも1つの情報検索装置が選択され、選択された情報検索装置に対して検索条件を含む情報検索要求が匿名通信によって送信される。そして、情報検索装置それぞれでは、他の装置から公開情報を含む情報公開要求を受け取った場合、公開情報記憶手段に対して公開情報が格納され、情報公開要求が隣接する他の情報検索装置に対して転送される。また、他の装置から検索要求を含む情報検索要求を受け取った場合、検索条件記憶手段に対して検索条件が格納され、情報検索要求が隣接する他の情報検索装置に対して転送される。さらに、検索条件記憶手段に記憶された検索条件に基づいて、公開情報記憶手段に記憶された公開情報が検索され、公開情報が合致した場合、検索元装置に対して検索結果が匿名通信によって送信される。 According to such an information search method, at least one information search device is selected from a plurality of information search devices in response to an information disclosure instruction by the publishing source device, and the selected information search device is selected. An information disclosure request is transmitted by anonymous communication. The search source device selects at least one information search device from a plurality of information search devices in response to an information search instruction, and an information search request including a search condition is sent to the selected information search device. Sent by anonymous communication. In each information retrieval device, when an information disclosure request including disclosure information is received from another device, the disclosure information is stored in the disclosure information storage unit, and the information disclosure request is transmitted to another adjacent information retrieval device. Forwarded. When an information search request including a search request is received from another device, the search condition is stored in the search condition storage means, and the information search request is transferred to another adjacent information search device. Further, based on the search condition stored in the search condition storage means, the public information stored in the public information storage means is searched, and when the public information matches, the search result is transmitted to the search source device by anonymous communication. Is done.
また、本発明の第3の態様では上記課題を解決するために、ピアツーピア方式のネットワーク上で公開されている情報を検索する情報検索装置において、他の装置から公開情報を含む情報公開要求を受け取った場合、公開情報記憶手段に対して前記公開情報を格納する公開情報格納手段と、前記ネットワーク内の装置間の関係が木構造で定義されており、前記情報公開要求を前記木構造における親装置に対して転送する情報公開要求転送手段と、他の装置から検索要求を含む情報検索要求を受け取った場合、検索条件記憶手段に対して前記検索条件を格納する検索条件格納手段と、前記情報検索要求を前記木構造における前記親装置に対して転送する情報検索要求転送手段と、前記検索条件記憶手段に記憶された検索条件に基づいて、前記公開情報記憶手段に記憶された前記公開情報を検索する検索手段と、前記検索条件に前記公開情報が合致した場合、前記情報検索要求の送信元である検索元装置に対して検索結果を送信する検索結果通知手段と、を有することを特徴とする情報検索装置が提供される。 In the third aspect of the present invention, in order to solve the above-mentioned problem, an information search apparatus for searching information published on a peer-to-peer network receives an information disclosure request including public information from another apparatus. A relationship between the public information storage means for storing the public information in the public information storage means and the devices in the network is defined in a tree structure, and the information disclosure request is sent to the parent device in the tree structure. An information disclosure request transfer means for transferring the information, a search condition storage means for storing the search condition in a search condition storage means when receiving an information search request including a search request from another device, and the information search Based on a search condition stored in the search condition storage means and an information search request transfer means for transferring a request to the parent device in the tree structure, the public search A search unit that searches the public information stored in the information storage unit, and a search that transmits a search result to a search source device that is a transmission source of the information search request when the public information matches the search condition. And a result notifying means.
このような情報検索装置によれば、上記第1の態様に示す情報検索方法に係る処理が情報検索装置上で実現される。
また、本発明の第4の態様では上記課題を解決するために、ピアツーピア方式のネットワーク上で公開されている情報を検索するための情報検索プログラムにおいて、コンピュータに、公開情報格納手段が、他の装置から公開情報を含む情報公開要求を受け取った場合、公開情報記憶手段に対して前記公開情報を格納し、前記ネットワーク内の装置間の関係が木構造で定義されており、情報公開要求転送手段が、前記情報公開要求を前記木構造における親装置に対して転送し、検索条件格納手段が、他の装置から検索要求を含む情報検索要求を受け取った場合、検索条件記憶手段に対して前記検索条件を格納し、情報検索要求転送手段が、前記情報検索要求を前記木構造における前記親装置に対して転送し、検索手段が、前記検索条件記憶手段に記憶された検索条件に基づいて、前記公開情報記憶手段に記憶された前記公開情報を検索し、検索結果通知手段が、前記検索条件に前記公開情報が合致した場合、前記情報検索要求の送信元である検索元装置に対して検索結果を送信する、処理を実行させることを特徴とする情報検索プログラムが提供される。
According to such an information search apparatus, the process related to the information search method shown in the first aspect is realized on the information search apparatus.
According to a fourth aspect of the present invention, there is provided an information search program for searching information published on a peer-to-peer network in order to solve the above problem. When an information disclosure request including public information is received from a device, the public information is stored in a public information storage unit, and a relationship between the devices in the network is defined in a tree structure, and an information disclosure request transfer unit When the information disclosure request is transferred to the parent device in the tree structure and the search condition storage means receives an information search request including a search request from another apparatus, the search condition storage means performs the search. A condition is stored, the information search request transfer means transfers the information search request to the parent device in the tree structure, and the search means stores the search condition storage unit. The public information stored in the public information storage means is searched based on the search conditions stored in the search information, and the search result notification means transmits the information search request when the public information matches the search conditions. There is provided an information search program characterized in that a search result is transmitted to a search source apparatus that is an original, and a process is executed.
このような情報検索プログラムに従ってコンピュータを動作させれば、上記第1の態様に示す情報検索方法に係る処理がコンピュータ上で実現される。 If the computer is operated according to such an information search program, the processing related to the information search method shown in the first aspect is realized on the computer.
以上説明したように本発明の第1、第3、第4の態様では、ネットワーク内の装置間の関係を木構造で定義し、受け取った公開情報を記憶すると共に親装置へ送信し、受け取った検索条件を記憶すると共に親装置へ送信するようにした。さらに、記憶した検索条件に合致する公開情報が記憶されていたとき、情報検索要求の送信元に対して公開情報を送信するようにした。これにより、ピアツーピアのネットワークにおいて、検索元装置の木構造で上位に位置する装置に記憶された公開情報を検索するだけで、ネットワーク内で公開されている全ての情報の検索が可能となる。その結果、検索効率が向上する。 As described above, in the first, third, and fourth aspects of the present invention, the relationship between devices in the network is defined by a tree structure, received public information is stored, transmitted to the parent device, and received. The search conditions are stored and transmitted to the parent device. Furthermore, when public information that matches the stored search conditions is stored, the public information is transmitted to the transmission source of the information search request. As a result, in the peer-to-peer network, it is possible to search for all information published in the network only by searching for public information stored in a device positioned higher in the tree structure of the search source device. As a result, search efficiency is improved.
また、本発明の第2の態様では、公開元装置は、匿名通信により複数の情報検索装置のうちの1つに対して情報公開要求を送信し、検索元装置は、匿名通信により複数の情報検索装置の内の1つに対して情報検索要求を送信するようにした。各情報検索装置は、受け取った情報公開要求と情報検索要求とを記憶し、他の隣接する装置に転送する。そして、検索条件に公開情報が合致したとき、検索結果を検索元装置に対して送信するようにした。これにより、匿名性を保ったまま、ピアツーピアのネットワーク上での効率的な情報検索を行うことができる。 Further, in the second aspect of the present invention, the publishing source device transmits an information disclosure request to one of the plurality of information search devices by anonymous communication, and the search source device transmits the plurality of information by anonymous communication. An information search request is transmitted to one of the search devices. Each information search device stores the received information disclosure request and information search request, and transfers them to other adjacent devices. When the public information matches the search condition, the search result is transmitted to the search source device. Thereby, it is possible to perform efficient information retrieval on a peer-to-peer network while maintaining anonymity.
以下、本発明の実施の形態を図面を参照して説明する。
まず、実施の形態に適用される発明の概要について説明し、その後、実施の形態の具体的な内容を説明する。
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
First, the outline of the invention applied to the embodiment will be described, and then the specific contents of the embodiment will be described.
図1は、実施の形態に適用される発明の概念図である。図1には、ピアツーピア方式のネットワーク上で公開されている情報を検索する情報検索装置1が示されている。この情報検索装置1は、公開情報格納手段1a、公開情報記憶手段1b、情報公開要求転送手段1c、検索条件格納手段1d、検索条件記憶手段1e、情報検索要求転送手段1f、検索手段1g、および検索結果通知手段1hを有している。
FIG. 1 is a conceptual diagram of the invention applied to the embodiment. FIG. 1 shows an
また、ネットワーク上の装置間の関係が木構造で定義されている。たとえば、情報検索装置1に対する子装置4,5や親装置6が定義されている。そして、木構造を構成している各装置に対して、情報公開要求7や情報検索要求8が渡される。図1の例では、公開元装置2から情報公開要求7を送信され、検索元装置3から情報検索要求8が送信されている。
In addition, the relationship between devices on the network is defined in a tree structure. For example,
公開情報格納手段1aは、他の装置から公開情報を含む情報公開要求7を受け取った場合、公開情報記憶手段1bに対して公開情報を格納する。たとえば、木構造における子装置4から情報公開要求7が渡される。
When the public
公開情報記憶手段1bは、コンピュータによって読み取り可能な情報を記憶可能な記録媒体内の記憶領域である。公開情報記憶手段1bに格納された公開情報は、情報のキャッシュ処理と同様に、一定期間使用されない等の所定の条件を満たしたときに削除することができる。
The public
情報公開要求転送手段1cは、受け取った情報公開要求7を木構造における親装置6に対して転送する。このように木構造を構成する各装置が情報公開要求7をその親装置に対して転送していくことで、情報公開要求7が木構造における最上位(ルート)の装置まで転送される。
The information disclosure request transfer means 1c transfers the received
検索条件格納手段1dは、他の装置から検索条件を含む情報検索要求8を受け取った場合、検索条件記憶手段1eに対して検索条件を格納する。たとえば、木構造における子装置5から情報検索要求8が渡される。
When receiving the
検索条件記憶手段1eは、コンピュータによって読み取り可能な情報を記憶可能な記録媒体内の記憶領域である。検索条件記憶手段1eに格納された検索条件は、情報のキャッシュ処理と同様に、一定期間使用されない等の所定の条件を満たしたときに削除することができる。
The search
情報検索要求転送手段1fは、情報検索要求8を木構造における親装置6に対して転送する。このように木構造を構成する各装置が情報検索要求8をその親装置に対して転送していくことで、情報検索要求8が木構造における最上位(ルート)の装置まで転送される。
The information search request transfer means 1f transfers the
検索手段1gは、検索条件記憶手段1eに記憶された検索条件に基づいて、公開情報記憶手段1bに記憶された公開情報を検索する。たとえば、検索手段1gは、新たな検索条件が検索条件記憶手段1eに格納されたとき、その検索条件に合致する公開情報を、公開情報記憶手段1b内から検索する。また、検索手段1gは、新たな公開情報が公開情報記憶手段1bに格納されたとき、その公開情報が検索条件記憶手段1eに格納されている各検索条件に合致するか否かを判断する。
The search means 1g searches the public information stored in the public information storage means 1b based on the search conditions stored in the search condition storage means 1e. For example, when a new search condition is stored in the search
検索結果通知手段1hは、検索条件に公開情報が合致した場合、該当する検索条件の情報検索要求8の送信元である検索元装置3に対して検索結果を送信する。検索結果には、たとえば、検索条件に合致した公開情報の全部または一部を含める。また、公開情報と共に、公開情報の送信元である公開元装置2の識別情報が格納されている場合、その識別情報を検索結果として検索元装置3に送信すればよい。検索元装置3は、公開元装置2の識別情報に基づいて公開元装置2にアクセスし、公開情報を取得することができる。
When the public information matches the search condition, the search
このような構成の情報検索装置1によれば、子装置4から情報公開要求7を受け取った場合、公開情報格納手段1aによって、公開情報記憶手段1bに公開情報が格納される。また、情報公開要求転送手段1cによって、情報公開要求7が親装置6に対して転送される。
According to the
また、子装置5から情報検索要求8を受け取った場合、検索条件格納手段1dによって、検索条件記憶手段1eに対して検索条件が格納される。また、情報検索要求転送手段1fによって、情報検索要求8が親装置6に対して転送される。
When the
その後、検索手段1gによって、検索条件記憶手段1eに記憶された検索条件に基づいて、公開情報記憶手段1bに記憶された公開情報が検索される。検索によって公開情報が合致した場合、検索結果通知手段1hによって、情報検索要求8の送信元である検索元装置3に対して検索結果が送信される。
Thereafter, the public information stored in the public information storage means 1b is searched by the search means 1g based on the search conditions stored in the search condition storage means 1e. When the public information matches with the search, the search
このように、情報公開要求7と情報検索要求8とを、木構造の上位の装置に順次転送すると共に、それらの要求を中継した装置に置いて公開情報や検索条件を格納するようにした。そのため、公開元装置2は、木構造を構成する何れかの装置に情報公開要求7を送信すれば、その情報公開要求7は最上位の装置まで転送される。同様に、検索元装置3は、木構造を構成する何れかの装置の情報検索要求8を送信すれば、その情報検索要求8は最上位の装置まで転送される。従って、情報公開要求7に含まれる公開情報は、木構造上の何れかの装置において、必ず情報検索要求8に含まれる検索条件に基づく検索の対象となる。すなわち、公開されている情報の検索漏れは無くなる。
In this way, the
しかも、木構造を構成する全ての装置に対して情報検索要求を送信する必要は無いため、検索効率が向上する。さらに、各装置において検索条件を記憶しておき、後で公開された情報があっても、先に格納されていた検索条件に基づいて検索するようにすることで、検索元装置3のユーザは、目的の情報を適宜受け取ることが可能となる。
In addition, since it is not necessary to send an information search request to all the devices constituting the tree structure, the search efficiency is improved. Further, the search condition is stored in each device, and even if there is information disclosed later, the user of the
ところで、公開元装置2から木構造内の装置(たとえば子装置4)に対して情報公開要求7を送信する際に、匿名通信路を経由して送信することができる。同様に、検索元装置3から木構造内の装置(たとえば子装置5)に対して情報検索要求8を送信する際に、匿名通信路を経由して送信することができる。匿名通信路による匿名通信は、たとえば、オニオンルーティングの技術によって行うことができる。オニオンルーティングでは、パケットを中継する各装置が、自分の暗号鍵で所定の情報を復号することで、パケットの次の転送先を知ることができる。すなわち、暗号化の鍵を不特定多数に分散することができる。そのため、暗号鍵の一極集中による匿名化の脆弱性を無くすることができる。
By the way, when the
匿名通信路を経由して情報公開要求7や情報検索要求8が転送された場合、公開情報や検索条件と共に、匿名通信路の情報を格納しておく。そして、公開情報が検索でヒットしたとき、検索結果通知手段1hは、その公開情報が転送されてきたときの匿名通信路や子装置4の識別情報を含めて検索元装置3に送信する。この際、検索条件と共に格納されていた匿名通信路を経由して送信される。これにより、検索元装置3は、公開元装置2にアクセスするための匿名通信路を知ることができる。その結果、検索後に公開元装置2と検索元装置3との間で匿名的に双方向のコミュニケーションを行うことができる。
When the
次に本発明の実施の形態について具体的に説明する。なお、以下の実施の形態では、公開される情報のメタデータをオニオンリファレンスと呼び、このオニオンリファレンスをP2Pネットワーク上の各ノードでキャッシュする。また、情報を検索する側のノードは、各ノード内の情報を検索する検索エージェントを送信し、この検索エージェントをP2Pネットワーク上の各ノードでキャッシュする。 Next, embodiments of the present invention will be specifically described. In the following embodiment, the metadata of information to be disclosed is called an onion reference, and this onion reference is cached at each node on the P2P network. The node that searches for information transmits a search agent that searches for information in each node, and caches this search agent at each node on the P2P network.
図2は、本実施の形態のネットワーク構成例を示す図である。P2Pネットワーク10は、複数のノード100,200,310,320,330,340,350によって構成されている。各ノード100,200,310,320,330,340,350は、隣接ノードと接続されている。ノード100,200,310,320,330,340,350は、コンピュータとしての機能を備えた装置である。
FIG. 2 is a diagram illustrating a network configuration example according to the present embodiment. The
図3は、本発明の実施の形態に用いるノードのハードウェア構成例を示す図である。ノード100は、CPU(Central Processing Unit)101によって装置全体が制御されている。CPU101には、バス107を介してRAM(Random Access Memory)102、ハードディスクドライブ(HDD:Hard Disk Drive)103、グラフィック処理装置104、入力インタフェース105、および通信インタフェース106が接続されている。
FIG. 3 is a diagram illustrating a hardware configuration example of a node used in the embodiment of the present invention. The
RAM102には、CPU101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、CPU101による処理に必要な各種データが格納される。HDD103には、OSやアプリケーションプログラムが格納される。オニオンリファレンスや検索エージェントは、RAM102やHDD103に格納される。
The
グラフィック処理装置104には、モニタ11が接続されている。グラフィック処理装置104は、CPU101からの命令に従って、画像をモニタ11の画面に表示させる。入力インタフェース105には、キーボード12とマウス13とが接続されている。入力インタフェース105は、キーボード12やマウス13から送られてくる信号を、バス107を介してCPU101に送信する。
A
通信インタフェース106は、P2Pネットワーク10に接続されている。通信インタフェース106は、P2Pネットワーク10を介して、他のノードとの間でデータの送受信を行う。
The
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。なお、図3にはノード100のハードウェア構成を示したが、他のノード200,310,320,330,340,350も同様のハードウェア構成で実現できる。
With the hardware configuration as described above, the processing functions of the present embodiment can be realized. Although FIG. 3 shows the hardware configuration of the
まずオニオンリファレンスと検索エージェントとをキャッシュすることによる検索システムの概念を説明する。
図4は、本発明の実施の形態における情報検索を示す概念図である。本発明に係る匿名P2P情報共有システムは、P2Pネットワークの各ノードが保持する発信情報を、匿名的に効率よく検索する機構である。ノード間の検索機能は、オニオンルーティング等の匿名機能を利用して行われる。
First, the concept of a search system by caching an onion reference and a search agent will be described.
FIG. 4 is a conceptual diagram showing information retrieval in the embodiment of the present invention. The anonymous P2P information sharing system according to the present invention is a mechanism that efficiently and anonymously searches for transmission information held by each node of a P2P network. The search function between nodes is performed using an anonymous function such as onion routing.
図4の例では、ノード100が情報を公開し、ノード200が公開された情報を検索するものとする。
情報の公開は、ノード100内の情報公開処理部110に対する情報公開者の指示に基づいて行われる。公開される情報は、ノード100内に格納される。また、ノード100からネットワークを介してオニオンリファレンス311,321,331が送信され、各ノード310,320,330で登録される。オニオンリファレンス311,321,331は、公開された情報の特徴を示す情報(メタデータ)である。オニオンリファレンス311,321,331には、公開された情報の作成日等の管理情報や、情報内のキーワードなどが含まれる。また、オニオンリファレンス311,321,331は、情報の公開元であるノード100までの通信ルートに関する情報を含んでいる。なお、オニオンリファレンス311,321,331に、公開する情報全体を含めることも可能である。
In the example of FIG. 4, it is assumed that the
Information disclosure is performed based on an information publisher's instruction to the information
登録されたオニオンリファレンス311,321,331は検索の対象となる。さらに、登録されたオニオンリファレンス311,321,331は所定の条件を満たしたとき(たとえば、最後に利用されてからの経過時間が所定時間を超えたとき)に削除される。すなわち、オニオンリファレンス311,321,331は、ノード310,320,330にキャッシュされた情報である。
The registered
情報の検索は、ノード200内の情報検索処理部210に対する情報検索者の指示に基づいて行われる。ノード200に対して検索条件が入力されると、ノード200からネットワークを介して検索エージェント341,351,332が送信され、他のノード340,350,330に検索エージェント341,351,332が登録される。検索エージェント341,351,332は、指定された検索条件に基づいて、登録されたノード内のオニオンリファレンスを検索する機能である。なお、検索エージェント341,351,332は、情報の検索元であるノード200までの通信ルートに関する情報を含んでいる。
The information search is performed based on an information searcher instruction to the information
検索エージェント341,351,332は、登録時にノード340,350,330内のオニオンリファレンスを検索する。また、検索エージェント341,351,332は、後から登録されたオニオンリファレンスを検索する。検索条件に合致するオニオンリファレンスを検出した場合、検索エージェント341,351,332は、そのオニオンリファレンスの情報を、検索元のノード200に通知する。なお、登録された検索エージェント341,351,332は、所定の条件を満たしたとき(たとえば、最後に利用されてからの経過時間が所定時間を超えたとき)に削除される。すなわち、検索エージェント341,351,332は、ノード340,350,330にキャッシュされた情報である。
The
オニオンリファレンスと検索エージェントとは、ネットワーク上の何れかのノード上で同時にキャッシュされる。図4の例では、ノード330において、オニオンリファレンス331と検索エージェント332とがキャッシュされている。すると、検索エージェント332による検索処理によって、オニオンリファレンス331が対象となる。そのとき、検索エージェント332における検索条件にオニオンリファレンス331が合致すれば、オニオンリファレンス331が検出される(検索ヒットする)。
Onion references and search agents are cached simultaneously on any node on the network. In the example of FIG. 4, the
オニオンリファレンス331を検出した検索エージェント332は、オニオンリファレンス331とノード200からノード330までの通信ルートの情報とを、ノード200の情報検索処理部210に通知する。これにより、ノード200を利用する検索者は、ノード100において検索条件を満たす情報が公開されていることを知ることができる。
The
また、オニオンリファレンス331には、ノード330からノード100までの通信ルートの情報が含まれており、検索エージェント332からノード330からノード200までの通信ルートが通知されるため、ノード200は、ノード200からノード100までの通信ルートを知ることができる。
The
ところで、本発明の実施の形態では、検索エージェントによるオニオンリファレンスの検索を効率よく実行するために、ノード間の接続関係に対して、木構造上の親子関係を定義する。たとえば、P2Pネットワークに新たに参加するノードは、既にP2Pネットワークに参加している何れかのノードに対して接続要求を送信する。送信した接続要求が許可されることで、接続要求を出力したノードが新たにP2Pネットワーク上のノードとなる。そこで、本実施の形態では、接続要求を送信したノードを、子ノード、接続を許可したノードを親ノードとして定義する。 By the way, in the embodiment of the present invention, a parent-child relationship on a tree structure is defined for a connection relationship between nodes in order to efficiently perform an onion reference search by a search agent. For example, a node that newly joins the P2P network transmits a connection request to any node that has already joined the P2P network. By permitting the transmitted connection request, the node that has output the connection request becomes a new node on the P2P network. Therefore, in this embodiment, a node that has transmitted a connection request is defined as a child node, and a node that has permitted connection is defined as a parent node.
図5は、ネットワークの木構造を示す図である。図5に示すP2Pネットワークは、複数のノード21〜33で構成されている。通信可能なノード間は実線で結ばれている。また、木構造における親子関係がある場合、その親子関係がノード間を接続する実線の矢印で示されている。矢印は、親ノードから子ノードを指し示している。 FIG. 5 is a diagram illustrating a tree structure of a network. The P2P network shown in FIG. 5 includes a plurality of nodes 21 to 33. The nodes that can communicate are connected with a solid line. When there is a parent-child relationship in the tree structure, the parent-child relationship is indicated by a solid line arrow connecting the nodes. The arrow points from the parent node to the child node.
図5の例では、ノード21が木構造上の最上位のノード(ルートノード)である。ルートノードは、たとえば、P2Pネットワークの運用を開始する際に、サービス提供を管理する機関によって設置される。P2Pネットワークに参加するノードは、ルートノードに対して直接接続するか、あるいはP2Pネットワークに既に参加しているノードに対して接続する必要がある。 In the example of FIG. 5, the node 21 is the highest node (root node) on the tree structure. The root node is installed, for example, by an organization that manages service provision when starting operation of the P2P network. A node participating in the P2P network needs to connect directly to the root node or to a node already participating in the P2P network.
ノード21には、ノード22,23が子ノードとして接続されている。ノード22には、ノード24,25が子ノードとして接続されている。ノード23には、ノード26,27が子ノードとして接続されている。ノード24には、ノード28が子ノードとして接続されている。ノード25には、ノード29が子ノードとして接続されている。ノード26には、ノード30が子ノードとして接続されている。ノード27には、ノード31が子ノードとして接続されている。ノード29には、ノード32が子ノードとして接続されている。ノード31には、ノード33が子ノードとして接続されている。
本実施の形態では、中央で木構造を管理するサーバを用意せず、ノード同士の情報交換により次のように自律的に木構造を構成する。
基本的には、新たにP2Pネットワークにノードが接続されるとき、接続要求を出力したノードが子ノード、接続要求を受け付けたノードが親ノードとして関係付けられる。
In the present embodiment, a server for managing the tree structure is not prepared at the center, and the tree structure is autonomously configured by exchanging information between nodes as follows.
Basically, when a node is newly connected to the P2P network, the node that outputs the connection request is related as the child node, and the node that received the connection request is related as the parent node.
また、木構造を構成する際、基本構成はn分岐とする(nは自然数)。n分岐とは、1つのノードに隣接した接続されるノードの数がn個であることを意味する。構成遷移の途中など瞬間的にはn分岐にならない場合もあるがルーティングテーブル更新などで時間経過とともにn分岐で安定させることができる。n分岐で安定させる方法としては、なるべく兄弟となるノードの数を少なくすることと、木構造の階層を深くしないこととが考えられる。 Further, when configuring a tree structure, the basic configuration is n branches (n is a natural number). The n-branch means that the number of connected nodes adjacent to one node is n. Although there are cases where the n-branch does not instantaneously occur during the transition of the configuration, the n-branch can be stabilized over time by updating the routing table or the like. As a method of stabilizing by n-branch, it is conceivable to reduce the number of sibling nodes as much as possible and not to deepen the tree structure hierarchy.
すなわち、各ノードは、少なくとも、自分に隣接するノードとの間の親子関係を管理する。また、各ノードに対して、自分がどの階層にいるのか、子ノードはいくつかといった情報を持たせてルーティングテーブル交換時にその情報も共有する。各ノードが階層を管理することで、新たに接続してきた相手に対し、なるべく上位で子ノードの少ないノードへ接続しに行くように通知する。認識したノードの子ノードの数が制限値いっぱいの場合は、上位ノード、下位ノード両方の情報を通知する。その場合接続するノードはまず下位のノードへ接続を試みる。 That is, each node manages at least a parent-child relationship with a node adjacent to itself. In addition, for each node, information such as which hierarchy it is in and the child nodes have some information, and that information is also shared when exchanging routing tables. Each node manages the hierarchy, so that a newly connected partner is notified to connect to a node with as few upper nodes as possible. When the number of child nodes of the recognized node is full of the limit value, information on both the upper node and the lower node is notified. In that case, the connecting node first tries to connect to a lower node.
さらに、階層に限界値を持たせてそれ以上下側に接続しない。限界値としては、たとえば初期値を6とし、そのノードの管理者が所定の範囲内で変更できるようにする。新たなノードを接続するとき、認識しているノード内に子ノードを持てるノードがない場合が考えられる。その場合、新たに木構造に参加するノードは、認識しているノードの上位ノードへ接続対象を換えながら接続を試みる。同様に最上位まで行った場合は、新たに木構造に参加するノードは、最上位のノードから下位のノードへ接続対象を換えながら接続を試みる。 In addition, limit the hierarchy and do not connect further down. As the limit value, for example, an initial value is set to 6, and the administrator of the node can be changed within a predetermined range. When a new node is connected, there may be a case where there is no node that can have a child node in the recognized node. In that case, the node newly participating in the tree structure tries to connect to the upper node of the recognized node while changing the connection target. Similarly, when the process is performed up to the highest level, a node newly participating in the tree structure tries to connect while changing the connection target from the highest level node to a lower level node.
子ノードを持っているノードがネットワーク上から消失した場合(たとえば、ノードの動作が停止した場合)、各子ノードは、消失したノードの親ノードへ接続を試みる。先に受け付けられたノードが、木構造における消失ノードの位置に配置される。遅れて受け付けられたノードは新規ノードの接続ロジックと同じ扱いになる。 When a node having a child node disappears from the network (for example, when the operation of the node stops), each child node tries to connect to the parent node of the lost node. The previously accepted node is placed at the position of the lost node in the tree structure. Nodes accepted late are treated the same as the connection logic of the new node.
なお、木構造は、以下のような処理を行うことで最適化される。
プライベートIPノードが木構造においてグローバルIPノードより上位にある場合は、プライベートIPノードを下位へ移動させる。さらに、プライベートIPノードもポーリング等によりサーバノードとして機能させる。
The tree structure is optimized by performing the following processing.
If the private IP node is higher than the global IP node in the tree structure, the private IP node is moved downward. Further, the private IP node is caused to function as a server node by polling or the like.
また、隣接ノード間の通信時間(セッション接続開始から終了まで)を測定し、速度が速く高性能なノードほど上位へ、速度が遅いノードほど下位へ移動させる。
このようにして、木構造を最適化できる。ノード間の関係が木構造で定義されると、オニオンリファレンスの伝送や検索エージェントの伝送を、木構造の上位のノードに向けて行うことができる。これにより、オニオンリファレンスの伝送や検索エージェントをブロードキャストで送信しなくても、確実にオニオンリファレンスと検索エージェントとを、何れかのノード上で合流させることができる。
In addition, the communication time between adjacent nodes (from the start to the end of session connection) is measured, and the higher the speed and the higher the performance of the node, the lower the speed of the node.
In this way, the tree structure can be optimized. If the relationship between nodes is defined in a tree structure, transmission of onion references and transmission of search agents can be performed toward higher nodes in the tree structure. Thus, the onion reference and the search agent can be reliably merged on any node without transmitting the onion reference or broadcasting the search agent.
しかも、本実施の形態では、公開元と検索元との匿名性を保つために、仮の公開元と仮の検索元とを設定することができる。公開元と仮の公開元との間のデータ通信は、オニオンルーティングによって匿名性が高められている。同様に、検索元と仮の検索元との間のデータ通信は、オニオンルーティングによって匿名性が高められている。 Moreover, in the present embodiment, a temporary public source and a temporary search source can be set in order to maintain anonymity between the public source and the search source. Anonymity of data communication between the publisher and the temporary publisher is enhanced by onion routing. Similarly, anonymity of data communication between the search source and the temporary search source is enhanced by onion routing.
図6は、木構造を利用した情報検索の概念図である。図6の例には、複数のノード41〜63を含むP2Pネットワークが示されている。このP2Pネットワークには、ノード41をルートノードとする木構造が定義されている。ここで、ノード42が公開元であり、ノード51が検索元である。
FIG. 6 is a conceptual diagram of information retrieval using a tree structure. In the example of FIG. 6, a P2P network including a plurality of
ノード42は、公開する情報を送信する場合、まず、仮の公開元を選択する。P2Pネットワーク内の任意のノードを仮の公開元とすることができる。たとえば、ノード42は、ノード42自身が存在を認識している他のノードから、そのノードが認識しているノードの情報を取得する。そして、ノード42は、取得したノードの情報(たとえばノードIDやIPアドレス)から任意のノードを選択し、仮の公開元とする。この例では、ノード52を仮の公開元として選択したものとする。
When transmitting information to be disclosed, the
次に、ノード42は仮の公開元までの匿名通信路を探索する。図6の例では、ノード56、ノード57、ノード58、ノード59、ノード52の順でパケットを受け渡すことができる。ノード42は、ルート探索の際に、各ノード52,56〜59の公開鍵を取得する。そして、ノード42は、検出したルートに沿って転送されるパケットを生成する。この際、各ノード52,56〜59の公開鍵を利用し、オニオンルーティングの技術を適用したパケットが生成される。生成されたパケットには、公開情報のオニオンリファレンスが含まれる。
Next, the
ノード42は、生成したパケットを匿名通信路上で隣接するノード56に渡す。すると、そのパケットがオニオンルーティングによって転送され、仮の公開元として選択されたノード52に渡される。
The
オニオンルーティングでは、中継する各ノードがパケットのルート情報(オニオンルート)を自分自身の秘密鍵で復号することにより、次の転送先となるノードを知ることができる。この際、中継するノードにおいて知ることができるのは、パケットを転送してきた隣接ノードと、パケットを渡すべき隣接ノードだけである。すなわち、そのパケットの公開元のノードや宛先のノードについては、中継ノードでは知ることができない。これにより、パケットの送信元と宛先の匿名性が確保される。 In onion routing, each relaying node decrypts the packet route information (onion route) with its own secret key, thereby knowing the next transfer destination node. At this time, the relay node can know only the adjacent node that has transferred the packet and the adjacent node to which the packet is to be passed. In other words, the relay node cannot know the source node or destination node of the packet. Thereby, the anonymity of the transmission source and the destination of the packet is ensured.
また、中継する各ノードは、パケットの逆方向に転送する際の戻りルート情報を生成しながら、パケットを転送する。すなわち、各ノードは、自分の識別情報(IPアドレス等)を、パケット転送先の隣接ノードの公開鍵で暗号化して、転送するパケットに追加する。このように、各ノードが自分の識別情報を隣接ノードのみが復号可能な形式のデータでパケットに含めていくことで、戻りルート情報が構築される。戻りルート情報は、逆方向のパケット転送の際に、オニオンルートとして使用される。 Further, each relaying node transfers the packet while generating return route information when transferring in the reverse direction of the packet. That is, each node encrypts its own identification information (IP address or the like) with the public key of the adjacent node to which the packet is transferred and adds it to the packet to be transferred. Thus, return route information is constructed by including each node's own identification information in a packet in a format that only the adjacent nodes can decode. The return route information is used as an onion route during packet transfer in the reverse direction.
宛先のノード52は、受け取ったパケットを、自分自身の秘密鍵で復号することにより、宛先が自分自身であることを知ることができるとともに、オニオンリファレンスを取得できる。ノード52は、自分宛のオニオンリファレンスを受け取ると、そのオニオンリファレンスをキャッシュする。その結果、ノード52にオニオンリファレンス71が保持される。このオニオンリファレンス71には、公開元のノード42までの戻りルート情報が含まれる。
The
さらにノード52は、戻りルート情報を含むオニオンリファレンスを、木構造における親に当たるノード46に渡す。ノード46は、受け取ったオニオンリファレンスをキャッシュする。その結果、ノード46にオニオンリファレンス72が保持される。
Further, the
同様に、ノード46は、戻りルート情報を含むオニオンリファレンスを、親に当たるノード43に渡す。ノード43は、受け取ったオニオンリファレンスをキャッシュする。その結果、ノード43にオニオンリファレンス73が保持される。
Similarly, the
同様に、ノード43は、戻りルート情報を含むオニオンリファレンスを、親に当たるノード41に渡す。ノード41は、受け取ったオニオンリファレンスをキャッシュする。その結果、ノード41にオニオンリファレンス74が保持される。
Similarly, the
このようにして、仮の公開元であるノード52からルートのノード41までの経路上の各ノードに、オニオンリファレンスがキャッシュされる。
次に、情報検索手順を説明する。
In this way, the onion reference is cached in each node on the path from the temporary
Next, an information search procedure will be described.
ノード51は、情報を検索する場合、まず、仮の検索元を選択する。P2Pネットワーク内の任意のノードを仮の検索元とすることができる。たとえば、ノード51は、ノード51自身が存在を認識している他のノードから、他のノードが認識しているノードの情報を取得する。そして、ノード51は、取得したノードの情報(たとえばIPアドレス)から任意のノードを選択し、仮の検索元とする。この例では、ノード55を仮の検索元として選択したものとする。
When searching for information, the
次に、ノード51は仮の検索元までの匿名通信路を探索する。図6の例では、ノード60、ノード61、ノード62、ノード63、ノード55の順でパケットを受け渡すことができる。ノード51は、ルート探索の際に、各ノード55,60〜63の公開鍵を取得する。そして、ノード51は、検出したルートに沿って転送されるパケットを生成する。この際、ノード51は、各ノード55,60〜63の公開鍵を利用して、オニオンルーティングの技術を適用したパケットを生成する。生成したパケットには、検索エージェントが含まれる。
Next, the
ノード51は、生成したパケットを隣接するノード60に渡す。すると、そのパケットがオニオンルーティングによって転送され、仮の検索元として選択されたノード55に渡される。オニオンルーティングの手法は、オニオンリファレンスを送信する場合と同様である。また、パケットが中継される際には、同じルートを逆方向に転送するための戻りルート情報が生成され、パケットに追加される。
The
宛先のノード55は、受け取ったパケットを、自分自身の秘密鍵で復号することにより、宛先が自分自身であることを知ることができるとともに、検索エージェントを取得できる。ノード55は、自分宛の検索エージェントを受け取ると、その検索エージェントをキャッシュする。その結果、ノード55に検索エージェント81が保持される。この検索エージェント81には、検索元のノード51までの戻りルート情報が含まれる。
The
さらにノード55は、戻りルート情報を含む検索エージェントを、木構造における親に当たるノード47に渡す。ノード47は、受け取った検索エージェントをキャッシュする。その結果、ノード47に検索エージェント82が保持される。
Further, the
同様に、ノード47は、戻りルート情報を含む検索エージェントを、親に当たるノード43に渡す。ノード43は、受け取った検索エージェントをキャッシュする。その結果、ノード43に検索エージェント83が保持される。
Similarly, the
同様に、ノード43は、戻りルート情報を含む検索エージェントを、親に当たるノード41に渡す。ノード41は、受け取った検索エージェントをキャッシュする。その結果、ノード41に検索エージェント84が保持される。
Similarly, the
このようにして、仮の公開元であるノード52からルートのノード41までの経路上の各ノードに、検索エージェントがキャッシュされる。
各ノードにキャッシュされた検索エージェントは、対応するノード内にキャッシュされているオニオンリファレンスを検索対象として、検索処理を実行する。情報検索者がノード51に対して指示した検索条件に、ノード42で公開されている情報が合致している場合、ノード43の検索エージェント83がオニオンリファレンス73を検出する。
In this way, the search agent is cached in each node on the route from the temporary
The search agent cached in each node executes a search process with the onion reference cached in the corresponding node as a search target. When the information published by the
オニオンリファレンス73が検出されると、検索エージェント83に含まれる戻りルート情報を用いて、検索元のノード51に検索結果を転送するためのパケットが生成される。そのパケットには、オニオンリファレンス73の内容が含められる。生成されたパケットは、ノード63、ノード62、ノード61、ノード60、ノード51の順で転送される。その結果、ノード51においてオニオンリファレンスが取得できる。
When the
オニオンリファレンスには、ノード42からノード52までの戻りルート情報が関連付けられており、この戻りルート情報も検索結果に含まれる。これにより、ノード51は、ノード42までの匿名通信路を取得することができ、匿名通信路を介してノード42で公開されている情報にアクセス可能となる。
The onion reference is associated with return route information from the
このように、本実施の形態では全件検索を全P2Pマルチキャストメッセージ送信によらず効率よく行うために、P2Pネットワークのノード構成の部分構造として階層的な木構造を構築している。オニオンリファレンスは、最初にランダムに選択したノードから上位のノードへ向かって順次キャッシュされる。検索側も検索エージェントは、最初にランダムに選択したノードから上位のノードへ向かって順次キャッシュされる。キャッシュされた検索エージェントは、キャッシュされたノードの内のオニオンリファレンスの検索を行う。 As described above, in this embodiment, a hierarchical tree structure is constructed as a partial structure of the node configuration of the P2P network in order to efficiently search all cases regardless of transmission of all P2P multicast messages. Onion references are sequentially cached from a node selected at random to an upper node. On the search side, the search agent is sequentially cached from the node selected at random to the upper node. The cached search agent searches for onion references in the cached nodes.
オニオンリファレンスと検索エージェントとの双方が、木構造の上位へ順次転送されると共に、中継したノードでキャッシュされることで、オニオンリファレンスと検索エージェントとは、木構造内の何れかのノード上で出逢うことができる。すなわち、オニオンリファレンスや検索エージェントをブロードキャストで送信しなくても、ノード42で公開された情報をノード51から検出することができる。その結果、P2Pネットワーク上での効率の良い情報検索が可能となる。
Both the onion reference and the search agent are sequentially transferred to the upper level of the tree structure and cached at the relayed node, so that the onion reference and the search agent meet on any node in the tree structure. be able to. That is, the information published by the
しかも、仮の公開元と仮の検索元を設定するため、情報提供者や情報検索者の匿名性が守られる。すなわち、公開元のノード42と仮の公開元のノード52との間は、匿名通信が行われるため、中継する各ノード56〜59は公開元と仮の公開元とを知ることはできない。
In addition, since the temporary publisher and temporary search source are set, the anonymity of the information provider and the information searcher is protected. That is, since anonymous communication is performed between the
さらに、公開元のノード42から仮の公開元のノード52への匿名通信を行う際に戻りオニオン情報を生成することで、検索ヒット後、検索元から公開元への匿名通信路を生成することができる。
Further, by generating return onion information when performing anonymous communication from the
なお、検索でヒットしたノードから上位側へは、ヒットした検索エージェントへの検索中止のメッセージを伝播させるなど、検索元のノードへの2重通知を防ぐことができる。また、検索でヒットしたノードは、発見したオニオンリファレンスを使用して公開元のノードから実体の情報を入手することもできる。そして、入手した公開情報の実体を、検索元のノードへのオニオンルート(オニオンルーティングにおける匿名通信路を示す)を使用して、検索元のノードへ送信してもよい。 Note that a double notification to the search source node can be prevented by propagating a search stop message to the search agent that has been hit from the node hit by the search to the upper side. In addition, the node hit by the search can obtain the entity information from the node of the publishing source using the found onion reference. Then, the obtained public information entity may be transmitted to the search source node using an onion route (indicating an anonymous communication path in onion routing) to the search source node.
次に、木構造の関係を利用した情報検索を実現するために各ノードが有すべき処理機能について具体的に説明する。
図7は、ノード内の処理機能を示すブロック図である。ノード100は、情報公開処理部110、情報検索処理部120、検索エンジン130、公開情報キャッシュ部140、仮公開元ノード選択部150、検索エージェントキャッシュ部160、仮検索元ノード選択部170、ルーティング部180、およびノード管理テーブル190を有している。
Next, processing functions that each node should have in order to realize information retrieval using a tree structure relationship will be specifically described.
FIG. 7 is a block diagram showing processing functions in the node. The
これらの要素のうち、情報公開処理部110、検索エンジン130、公開情報キャッシュ部140、および仮公開元ノード選択部150によって情報公開機能が構成される。また、情報検索処理部120、検索エンジン130、検索エージェントキャッシュ部160、および仮検索元ノード選択部170によって、情報検索機能が構成される。
Among these elements, the information
情報公開処理部110は、情報公開者からの操作入力等に基づいて、情報公開処理を行う。具体的には、情報公開処理部110は、公開する情報を保持し、他のノードからの要求に応じてその情報を送信する。なお、公開する情報は、たとえば、HDD等に格納される。
The information
さらに、情報公開処理部110は、仮公開元ノード選択部150に対して、仮公開元として動作するノードの選択処理を依頼する。また、情報公開処理部110は、情報公開の指示を受けたとき、公開情報キャッシュ部140に対して、オニオンリファレンスの送信を依頼する。
Furthermore, the information
情報検索処理部120は、情報検索者からの操作入力等に基づいて、P2Pネットワークを介した情報検索を行う。具体的には、情報検索処理部120は、検索条件の入力を受け付ける。情報検索処理部120は、情報検索の実行指示を受けると、仮検索元ノード選択部170に対して、仮検索元として動作するノードの選択処理を依頼する。また、情報検索処理部120は、検索エージェントキャッシュ部160に対して、検索エージェントの送信処理を依頼する。
The information
検索エンジン130は、オニオンリファレンスを検索対象として、検索エージェントに従った情報の検索を実行する。具体的には、検索エンジン130は、公開情報キャッシュ部140からオニオンリファレンスを受け取ると、そのオニオンリファレンスを記憶する(たとえば、RAM102やHDD103等の記憶装置に格納する)。また、検索エンジン130は、検索エージェントキャッシュ部160から検索エージェントを受け取ると、その検索エージェントを記憶する(たとえば、RAM102やHDD103等の記憶装置に格納する)。
The
そして、検索エンジン130は、記憶した検索エージェントを所定のタイミングで起動し、記憶しているオニオンリファレンスの検索を実行させる。具体的には、検索エンジン130は、新たに検索エージェントを記憶したときに、その検索エージェントを起動する。その際の検索対象は、既に記憶している全てのオニオンリファレンスである。
Then, the
また、検索エンジン130は、新たなオニオンリファレンスを記憶したとき、そのとき既に記憶している全ての検索エージェントを起動する。その際の検索対象は、新たに記憶したオニオンリファレンスである。
Further, when the
検索エンジン130は、検索エージェントによる検索で検索条件に合致するオニオンリファレンスが検出された場合、検索元のノードに対して検索結果を通知する。検索結果には、オニオンリファレンスや、公開元のノードまでの匿名通信路の情報などが含まれる。
When an onion reference that matches the search condition is detected in the search by the search agent, the
公開情報キャッシュ部140は、情報公開処理部110からオニオンリファレンスの送信依頼を受け取ると、公開する情報に関するメタデータ(作成日やキーワード等)を含むオニオンリファレンスを生成する。
Upon receiving the onion reference transmission request from the information
また、公開情報キャッシュ部140は、仮公開元ノード選択部150から仮公開元ノードとして選択したノードのノードIDまたはIPアドレスを取得する。すると、公開情報キャッシュ部140は、ルーティング部180に対して、仮公開元ノードまでの匿名通信路の探索を依頼する。公開情報キャッシュ部140は、ルーティング部180から匿名通信路を受け取ると、仮公開元ノード宛に匿名通信路を介してオニオンリファレンスを送信する。
Further, the public
また、公開情報キャッシュ部140は、他のノードからオニオンリファレンスを受け取ると、そのオニオンリファレンスを検索エンジン130に渡し、キャッシュさせる。その後、公開情報キャッシュ部140は、受け取ったオニオンリファレンスを親ノードに対して送信する。キャッシュされたオニオンリファレンスは、以下の情報を有する。
・キャッシュされているノードから公開元ノードまでのオニオンルート
・複数のリファレンスが同一の実体を表すことを示すための一時識別子
・発信される情報、または、情報の内容を示すメタデータ。後者の場合、情報の実体は公開元のノードに置かれる。
Also, when the public
Onion route from the cached node to the publishing source node Temporary identifier for indicating that multiple references represent the same entity Information to be transmitted or metadata indicating the content of the information. In the latter case, the information entity is placed in the node of the publishing source.
オニオンリファレンスは、木構造における親ノードに順次転送されることで、P2Pネットワーク上の複数のノードにキャッシュされる。ここで、オニオンリファレンスのキャッシュには2種類の寿命が設定できるようにする。
・投稿者が最初に投稿した時間から設定時間を経過すると消滅する(いつか全部消える)。
・新しくキャッシュされた時間から設定時間を経過すると消滅する(検索対象は残る)。
The onion reference is cached in a plurality of nodes on the P2P network by being sequentially transferred to the parent node in the tree structure. Here, two types of lifetimes can be set in the onion reference cache.
-Disappears after a set time has elapsed from the time the poster first posted (it will disappear someday).
-When the set time elapses from the newly cached time, it disappears (search target remains).
公開情報キャッシュ部140は、寿命に達したオニオンリファレンスを、検索エンジン130内から削除する。
仮公開元ノード選択部150は、情報公開処理部110から仮公開元とするノードの選択要求を受け取ると、仮公開元とするノードの選択処理を行う。たとえば、仮公開元ノード選択部150は、ノード管理テーブル190を参照し、自分自身から7ホップ離れた位置にあるノードのIPアドレスを取得する。そして、仮公開元ノード選択部150は、取得したIPアドレスに基づき、7ホップ離れたノードに対し、そのノードからさらに7ホップ離れた位置にあるノードのIPアドレスのリスト(仮公開元ノード選択候補リスト)を要求する。仮公開元ノード選択候補リストが返されると、仮公開元ノード選択部150は、仮公開元ノード選択候補リストの中からIPアドレスを1つ選択する。選択したIPアドレスに対応するノードが仮公開元ノードとなる。仮公開元ノードを選択したら、仮公開元ノード選択部150は、仮公開元ノードのIPアドレスを公開情報キャッシュ部140に通知する。
The public
Upon receiving a request for selecting a node as a temporary publication source from the information
また、仮公開元ノード選択部150は、他のノードから仮公開元ノード選択候補リストの取得要求を受け取ると、仮公開元ノード選択候補リストを生成して要求元に応答する。具体的には、仮公開元ノード選択部150は、仮公開元ノード選択候補リストの取得要求に応答してノード管理テーブル190を参照し、7ホップ離れたノードのIPアドレスを抽出する。そして、仮公開元ノード選択部150は、そのIPアドレスのリストを仮公開元選択候補リストとして、取得要求の送信元に対する応答として送信する。
In addition, when the provisional publication source
検索エージェントキャッシュ部160は、情報公開処理部110から検索エージェントの送信依頼を受け取ると、指定された検索条件に該当するオニオンリファレンスの検索を行う検索エージェントを生成する。また、検索エージェントキャッシュ部160は、仮検索元ノード選択部170から仮検索元ノードとして選択したノードのIPアドレスを取得する。すると、検索エージェントキャッシュ部160は、ルーティング部180に対して、仮検索元ノードまでの匿名通信路の探索を依頼する。検索エージェントキャッシュ部160は、ルーティング部180から匿名通信路を受け取ると、仮検索元ノード宛に匿名通信路を介して検索エージェントを送信する。
When the search
また、検索エージェントキャッシュ部160は、他のノードから検索エージェントを受け取ると、その検索エージェントを検索エンジン130に渡し、キャッシュさせる。その後、検索エージェントキャッシュ部160は、受け取った検索エージェントを親ノードに対して送信する。
When the search
検索エージェントは、木構造の上位のノードに転送されながら、各ノードにキャッシュされる。検索エージェントキャッシュ部160は、検索エージェントをキャッシュしたとき、検索元ノードへの匿名通信路を示すオニオンルートも同時に格納する。キャッシュされた検索エージェントは、キャッシュ時に、検索エンジン130内のオニオンリファレンスを検索する。また、検索エージェントのキャッシュより後に、オニオンリファレンスが格納されたら、そのオニオンリファレンスが検索条件に合致するかどうかと判断する。検索条件にヒットしたら、検索エンジン130が、検索元ノードに検索結果を通知する。
The search agent is cached in each node while being transferred to the upper node of the tree structure. When the search
なお、検索エージェントのキャッシュには寿命が設定できる。たとえば、検索者が最初に検索した時間から設定時間を経過すると消滅する(いつか全部消える)。具体的には、検索エージェントキャッシュ部160が、寿命に達した検索エージェントを検索エンジン130内から削除する。
The lifetime of the search agent cache can be set. For example, when the set time elapses from the time when the searcher first searches, the searcher disappears (someday disappears). Specifically, the search
仮検索元ノード選択部170は、情報公開処理部110から仮検索元とするノードの選択要求を受け取ると、仮検索元とするノードの選択処理を行う。具体的には、仮検索元ノード選択部170は、ノード管理テーブル190を参照し、自分自身から7ホップ離れた位置にあるノードのIPアドレスを取得する。そして、仮検索元ノード選択部170は、取得したIPアドレスに基づき、7ホップ離れたノードに対し、そのノードからさらに7ホップ離れた位置にあるノードのIPアドレスのリスト(仮検索元ノード選択候補リスト)を要求する。仮検索元ノード選択候補リストが返されると、仮検索元ノード選択部170は、仮検索元ノード選択候補リストの中からIPアドレスを1つ選択する。選択したIPアドレスに対応するノードが仮検索元ノードとなる。仮検索元ノードを選択したら、仮検索元ノード選択部170は、仮検索元ノードのIPアドレスを検索エージェントキャッシュ部160に通知する。
When the temporary search source
また、仮検索元ノード選択部170は、他のノードから仮検索元ノード選択候補リストの取得要求を受け取ると、仮検索元ノード選択候補リストを生成して要求元に応答する。具体的には、仮検索元ノード選択部170は、仮検索元ノード選択候補リストの取得要求に応答してノード管理テーブル190を参照し、7ホップ離れたノードのIPアドレスを抽出する。そして、仮検索元ノード選択部170は、そのIPアドレスのリストを仮検索元選択候補リストとして、取得要求の送信元に対する応答として送信する。
In addition, when receiving a request for acquiring a temporary search source node selection candidate list from another node, the temporary search source
ルーティング部180は、パケットのルーティングを行う。たとえば、オニオンルーティングを技術により、発信者や宛先の匿名性を確保したルーティングを行うことができる。ルーティング部180は、接続された他のノードとの間でP2Pネットワーク上のノードの情報を交換し合っている。そして、ルーティング部180は、存在が確認されたノードの情報をノード管理テーブル190に登録する。
The
また、ルーティング部180は、指定されたノードまでの匿名通信路を探索することができる。たとえば、ルーティング部180は、仮公開元ノードまでの匿名通信路の探索要求を公開情報キャッシュ部140から受け取ると、匿名通信路の探索を行い、匿名通信路を示すオニオンルートを公開情報キャッシュ部140に渡す。同様に、ルーティング部180は、仮検索元ノードまでの匿名通信路の探索要求を検索エージェントキャッシュ部160から受け取ると、匿名通信路の探索を行い、匿名通信路を示すオニオンルートを検索エージェントキャッシュ部160に渡す。
The
ノード管理テーブル190は、P2Pネットワーク上で存在が確認されているノードに関する情報が登録された管理テーブルである。なお、本実施の形態におけるノード管理テーブル190は、パケットルーティングのためのルーティングテーブルを兼ねている。P2Pネットワークでは、IPアドレスは固定とならない場合が多いため、各ノードはノード管理テーブルの情報を互いに交換することで、各ノードの最新のIPアドレスを取得することができる。 The node management table 190 is a management table in which information regarding nodes that have been confirmed to exist on the P2P network is registered. Note that the node management table 190 in this embodiment also serves as a routing table for packet routing. In the P2P network, since the IP address is often not fixed, each node can obtain the latest IP address of each node by exchanging information in the node management table.
図8は、ノード管理テーブルのデータ構造例を示す図である。ノード管理テーブル190には、ノードID、IPアドレス、ポート番号、ホップ数、テーブルをマージした隣接ノード、自ノードとの通信速度、ノードの設定速度あるいは固定サーバとの通信速度、データの暗号処理速度、単位時間あたりのメッセージ中継数、プライベートかグローバルか、自分との親子関係、階層レベル、及び子ノード数の情報が、存在が確認されたノード毎に登録されている。図8において横方向に並べられている情報同士が互いに関連付けられて、1つのノードのレコードを構成している。以下、各項目内の情報の説明において、その情報に対応するノードを、該当ノードと呼ぶこととする。また、ノード管理テーブル190が設けられているノード100を、自ノードと呼ぶこととする。
FIG. 8 is a diagram illustrating an example of the data structure of the node management table. The node management table 190 includes a node ID, an IP address, a port number, the number of hops, an adjacent node obtained by merging the tables, a communication speed with the own node, a node setting speed or a communication speed with a fixed server, and a data encryption processing speed. Information on the number of message relays per unit time, whether private or global, parent / child relationship with oneself, hierarchical level, and number of child nodes is registered for each node that has been confirmed to exist. In FIG. 8, pieces of information arranged in the horizontal direction are associated with each other to form a record of one node. Hereinafter, in the description of information in each item, a node corresponding to the information is referred to as a corresponding node. Further, the
ノードIDは、P2Pネットワーク上で各ノードを一意に識別するための名称である。
IPアドレスは、各ノードのネットワーク上のアドレスである。
ポート番号は、該当するノードから通信が行われたときの、通信に使用されたアプリケーションを示す識別番号である。
The node ID is a name for uniquely identifying each node on the P2P network.
The IP address is an address on the network of each node.
The port number is an identification number indicating an application used for communication when communication is performed from the corresponding node.
ホップ数は、自ノードから該当するノードまでのホップ数(ホップカウント)である。ホップ数は、該当するノードにパケットが到達するまでにいくつのノードを経由するのかを示す数値である。自ノードのホップ数は0であり、隣接するノードのホップ数は1である。 The number of hops is the number of hops (hop count) from the own node to the corresponding node. The number of hops is a numerical value indicating how many nodes the packet passes through before reaching the corresponding node. The number of hops of the own node is 0, and the number of hops of the adjacent node is 1.
テーブルをマージした隣接ノードとは、該当するノードと通信するためのパケットを渡すべき隣接ノードである。この項目には、該当する隣接ノードのノードIDが設定される。 The adjacent node into which the tables are merged is an adjacent node to which a packet for communicating with the corresponding node should be passed. In this item, the node ID of the corresponding adjacent node is set.
自ノードとの通信速度は、該当するノードと自ノードとの間の通信速度である。
ノードの設定速度あるいは固定サーバとの通信速度の項目には、該当するノードにおいて通信速度が予め設定されている場合、その通信速度が登録される。たとえば、100Mbpsの速度で通信可能なネットワークであっても、あるノードと他のノードの間の通信に関して、最大で20Mbpsしか使用できないように制限されている場合がある。その場合、制限された通信速度が設定される。また、該当するノードに対して固定サーバを経由してアクセスする場合、その固定サーバとの間の通信速度が予め設定されている場合がある。その場合は、予め設定された固定サーバとの間の通信速度が、この項目に設定される。
The communication speed with the own node is a communication speed between the corresponding node and the own node.
In the item of the node setting speed or the communication speed with the fixed server, when the communication speed is preset in the corresponding node, the communication speed is registered. For example, even a network capable of communication at a speed of 100 Mbps may be limited so that only 20 Mbps at maximum can be used for communication between a node and another node. In that case, a limited communication speed is set. In addition, when accessing a corresponding node via a fixed server, a communication speed with the fixed server may be set in advance. In this case, the communication speed with the fixed server set in advance is set in this item.
データの暗号処理速度は、該当するノードにおいてデータの暗号処理が行われた場合に、どの程度の速度で暗号処理(データの暗号化や復号)が行われるかを示している。
単位時間あたりのメッセージ中継数は、単位時間あたりに何個のメッセージを中継できるのかを示している。
The data encryption processing speed indicates how fast the encryption process (data encryption or decryption) is performed when the data encryption process is performed in the corresponding node.
The number of message relays per unit time indicates how many messages can be relayed per unit time.
プライベートかグローバルかの項目には、該当するノードのIPアドレスがプライベートIPなのか、グローバルIPアドレスなのかが設定される。
自分との親子関係の項目には、自ノードから該当ノードに達するまでの木構造上での親子関係が設定される。親子関係は、自ノードの先祖であれば何代前の先祖であるのかが示され、自ノードの子孫であれば、何代後の子孫なのかが示される。
In the item of private or global, whether the IP address of the corresponding node is a private IP or a global IP address is set.
The parent-child relationship on the tree structure from the self node to the corresponding node is set in the item of the parent-child relationship with the self. The parent-child relationship indicates how many generations ago the ancestor is the ancestor of the own node, and indicates what generation the ancestor is after the generation of the descendant of the own node.
階層レベルには、該当ノードが、ルート(木構造の最上位)ノードから何代後のノードなのかが示される。
子ノード数には、該当ノードの子として接続されたノードの数が設定される。
In the hierarchical level, the number of generations after the root (topmost tree structure) node of the corresponding node is indicated.
The number of nodes connected as children of the corresponding node is set as the number of child nodes.
なお、図7、図8には、ノード100の機能構成について説明したが、他のノードも同様の構成を有している。以下の説明では、ノード100以外の各ノードの構成要素は、図7内の同名の構成要素と同じ機能を有しているものとする。
7 and 8, the functional configuration of the
このような機能を有するノードで木構造が構成されることにより、オニオンリファレンスと検索エージェントとによる情報検索が効率的に行われる。
次に、図7に示す各要素が情報公開および情報検索時にどのように動作するのかを具体的に説明する。まず、情報公開時に各ノードで行われる処理について説明する。
By constructing a tree structure with nodes having such functions, information retrieval by an onion reference and a retrieval agent is efficiently performed.
Next, how each element shown in FIG. 7 operates during information disclosure and information search will be described in detail. First, processing performed at each node when information is disclosed will be described.
図9は、情報公開時の処理を示す図である。図9の例では、ノード100が公開情報の公開元ノードであり、ノード410が仮公開元ノードである。ノード100では、情報公開処理部110によって、仮公開元ノード選択要求と情報公開要求とが出される。仮公開元選択要求は、仮公開元ノード選択部150に渡される。仮公開元ノード選択部150は、P2Pネットワークから仮の公開元とするノードを選択する。この例では、ノード410が選択されたものとする。仮公開元ノード選択部150は、選択したノード410のIPアドレスを公開情報キャッシュ部140に渡す。
FIG. 9 is a diagram showing processing at the time of information disclosure. In the example of FIG. 9, the
情報公開要求を受け取った公開情報キャッシュ部140は、仮公開元ノード選択部150から渡されたIPアドレスに該当するノード410までの匿名通信路を探索する。そして、公開情報キャッシュ部140は、匿名通信路に沿って、ノード410宛にオニオンリファレンスを送信する。
Upon receiving the information disclosure request, the public
オニオンリファレンスがノード410に渡されると、ノード410内の公開情報キャッシュ部414がオニオンリファレンスを検索エンジン413に渡す。検索エンジン413は、受け取ったオニオンリファレンス413aを保持する。また、公開情報キャッシュ部414は、木構造における親ノードに対して、オニオンリファレンスを転送する。
When the onion reference is passed to the
図10は、情報検索時の処理を示す図である。図10の例では、ノード200が情報検索の検索元ノードであり、ノード420が仮検索元ノードである。ノード200では、情報検索処理部220によって、仮検索元ノード選択要求と情報検索要求とが出される。仮検索元選択要求は、仮検索元ノード選択部270に渡される。仮検索元ノード選択部270は、P2Pネットワークから仮の検索元とするノードを選択する。この例では、ノード420が選択されたものとする。仮検索元ノード選択部270は、選択したノード420のIPアドレスを検索エージェントキャッシュ部260に渡す。
FIG. 10 is a diagram showing processing at the time of information retrieval. In the example of FIG. 10, the
情報検索要求を受け取った検索エージェントキャッシュ部260は、仮検索元ノード選択部270から渡されたIPアドレスに該当するノード420までの匿名通信路を探索する。そして、検索エージェントキャッシュ部260は、匿名通信路に沿って、ノード420宛に検索エージェントを送信する。
The search
検索エージェントがノード420に渡されると、ノード420内の検索エージェントキャッシュ部426が検索エージェントを検索エンジン423に渡す。検索エンジン423は、受け取った検索エージェント423aを保持する。また、検索エージェントキャッシュ部426は、木構造における親ノードに対して、検索エージェントを転送する。
When the search agent is passed to the
図11は、検索ヒット時の処理を示す図である。図11の例では、ノード430において、ノード200による検索に、ノード100が公開した情報がヒットした場合を示している。ノード430内の検索エンジン433では、検索エージェント433aで示される検索条件に合致するオニオンリファレンスの検索が行われる。この検索にオニオンリファレンス433bがヒットした場合、検索エンジン433は、検索元であるノード200に対して、オニオンリファレンス433bの内容を匿名通信路経由で送信する。そして、ノード200において、公開元ノードと検索元ノードとの間の匿名通信路が形成される。
FIG. 11 is a diagram illustrating processing at the time of a search hit. In the example of FIG. 11, the
図12は、匿名通信路形成過程の状態遷移を示す図である。図12の例では、ノード90をルートノードとした木構造が形成されている。
最初の状態(ST1)は、初期状態である。ここで、公開元をノード91、検索元をノード92とする。仮公開元はノード93であり、仮検索元はノード94である。
FIG. 12 is a diagram illustrating state transition in the anonymous communication path forming process. In the example of FIG. 12, a tree structure with the
The first state (ST1) is an initial state. Here, the disclosure source is a
次の状態(ST2)は、情報公開要求に応じてオニオンリファレンスが配付された状況を示している。オニオンリファレンスは、仮公開元のノード93からルートのノード90までの経路上の各ノードにキャッシュされる。
The next state (ST2) shows a situation where the onion reference is distributed in response to the information disclosure request. The onion reference is cached in each node on the route from the temporary
次の状態(ST3)は、情報検索要求に応じて検索エージェントが配備された状況を示している。検索エージェントは、仮検索元のノード94からルートのノード90までの経路上の各ノードにキャッシュされる。
The next state (ST3) shows a situation where a search agent is deployed in response to an information search request. The search agent is cached in each node on the path from the temporary
次の状態(ST4)は、形成された匿名通信路を示している。この例では、ノード95からルートのノード90までの経路上の各ノードで検索がヒットする。その場合、検索がヒットしたノードのうち木構造上で最も下位の要素となるノード95を経由した匿名通信路が形成される。
The next state (ST4) shows the formed anonymous communication path. In this example, the search hits each node on the path from the
ところで、通信の匿名性は、公開元ノードと仮公開元ノードとの間でオニオンルーティングが行われること、および検索元ノードと仮検索元ノードとの間でオニオンルーティングが行われることによって強化される。ただし、P2Pネットワークは構成が動的に変わるため、任意のノード間の通信ルートを予めサーバ上で決めておくことは難しい。そこで、P2Pネットワークにおいてオニオンルーティングを行うには、宛先のノードまでのルート探索処理を行う必要がある。以下に、ルート探索処理を具体的に説明する。 By the way, the anonymity of communication is enhanced by onion routing being performed between the publishing source node and the temporary publishing source node, and by onion routing being performed between the search source node and the temporary search source node. . However, since the configuration of the P2P network changes dynamically, it is difficult to previously determine a communication route between arbitrary nodes on the server. Therefore, in order to perform onion routing in the P2P network, it is necessary to perform route search processing to the destination node. The route search process will be specifically described below.
図13は、ルート探索開始処理の手順を示すフローチャートである。ルート探索開始処理は、公開元ノードが仮公開元ノードまでの匿名通信路を探索する際に、公開元ノードのルーティング部において実行される。また、検索元ノードが仮検索元ノードまでの匿名通信路を探索する際にも、検索元ノードのルーティング部においてルート探索開始処理が実行される。以下、図7に示すノード100が公開元ノードであるものとして、図13に示す処理をステップ番号に沿って説明する。
FIG. 13 is a flowchart illustrating a procedure of route search start processing. The route search start process is executed in the routing unit of the publishing source node when the publishing source node searches for an anonymous communication path to the temporary publishing source node. Also, when the search source node searches for an anonymous communication path to the temporary search source node, a route search start process is executed in the routing unit of the search source node. Hereinafter, assuming that the
[ステップS11]ルーティング部180は、ノード管理テーブル190に登録されているノードのうち、ホップ数が一番遠いノードの1つを、仮公開元ノードとして選択する。さらに、ルーティング部180は、仮公開元ノードまでの匿名通信路を探索するためのルート探索パケットを生成する。
[Step S <b> 11] The
[ステップS12]ルーティング部180は、自分の匿名IDを生成する。生成した匿名IDは、RAMやHDD等の記録媒体に記録しておく。以後、他のノードからパケットを受け取った際には、そのパケットの宛先の匿名IDと記録してある自分の匿名IDとを比較することで、そのパケットが自分宛か否かを判断可能となる。そして、ルーティング部180は、生成した匿名IDをパケットの転送履歴として設定する共に、その匿名IDをルート探索パケットの送信元とする。さらに、ルーティング部180は戻りオニオンを生成し、ルート探索パケット内に設定する。なお、匿名IDとは、一連の匿名通信毎に個別に設定する識別情報である。また、戻りオニオンとしては、たとえば、自分のノードIDを自分の公開鍵で暗号化し、さらに自分のノードIDを付加した情報を設定する。
[Step S12] The
[ステップS13]ルーティング部180は、プライベートIP以外の(グローバルアドレス)隣接ノード全てにルート探索パケットを送信する。
図14は、ルート探索パケットのデータ構造例を示す図である。ルート探索パケット510は、メッセージフラグ511、宛先(To)512、送信元(From)513、宛先オニオン514、戻りオニオン515、返信暗号化用一時鍵情報516および転送履歴517で構成される。
[Step S13] The
FIG. 14 is a diagram illustrating a data structure example of a route search packet. The route search packet 510 includes a
メッセージフラグ511は、パケットの種別を示している。ルート探索パケット510の場合には、ルート探索ブロードキャスト送信用のパケットであることを示す情報が設定される。
A
宛先512には、ルート探索パケット510の宛先が設定される。宛先は、仮公開元ノードの識別情報(公開ID)等で示される。
送信元513には、送信元ノードの匿名IDが設定される。
In the
In the
宛先オニオン514は、宛先までのルートを示す情報であるが、ルート探索パケット510では空欄となる。
戻りオニオン515には、ルート探索パケット510に対してルート通知パケットを返信する際の通信経路が、多重に暗号化されて設定される。
The
In the
返信暗号化用一時鍵情報516は、ルート通知パケットを返信する際に使用される公開元ノードの一時公開鍵と暗号化された一時秘密鍵である。一時公開鍵と一時秘密鍵とは、ルート探索毎に生成される鍵である。
The reply encryption temporary
転送履歴517には、パケットの送信元のノードや、パケットを中継したノードで生成された匿名IDが設定される。パケットを受け取った各ノードは、転送履歴517内の匿名IDと自分が過去に生成した匿名IDとを比較し、一致する匿名IDがある場合、そのパケットを過去に転送したことがあることを認識できる。
In the
ルート探索パケットを受信したノードは、ルート探索パケットの中継またはルート通知パケットの返信を行う。
図15は、ルート探索パケットの受信処理の手順を示すフローチャートである。以下、図7に示すノード100がルート探索パケットを受信した場合を想定して、図15に示す処理をステップ番号に沿って説明する。
The node that has received the route search packet relays the route search packet or returns a route notification packet.
FIG. 15 is a flowchart illustrating a procedure of route search packet reception processing. In the following, assuming that the
[ステップS21]ルーティング部180は、ルート探索パケットを受信する。
[ステップS22]ルーティング部180は、自ノード宛のルート探索パケットかどうかを確認する。ルート探索パケットの宛先のフィールドを参照することで、自ノード宛か否かが判別できる。
[Step S21] The
[Step S22] The
[ステップS23]ルーティング部180は、自ノード宛であれば、処理をステップS24に進める。また、ルーティング部180は、自ノード宛でなければ、処理をステップS27に進める。
[Step S23] If the
[ステップS24]ルーティング部180は、ルート探索パケットの戻りオニオンを宛先オニオンとして、ルート通知パケットを生成する。
[ステップS25]ルーティング部180は、ノード管理テーブル190内の自ノードのレコード情報を、探索者(公開元ノード)の暗号鍵で暗号化して、ルート通知パケットに設定する。
[Step S24] The
[Step S25] The
[ステップS26]ルーティング部180は、公開元ノードに対してルート通知パケットを返信する。その後、処理が終了する。
[ステップS27]ルーティング部180は、ルート探索パケットの転送履歴のフィールドに自ノードの匿名IDが登録されているかどうかを確認する。
[Step S26] The
[Step S27] The
[ステップS28]ルーティング部180は、自ノードを通過済のルート探索パケットか否かを判断する。すなわち、転送履歴のフィールドに自ノードの匿名IDが設定されていれば、自ノード通過済である。自ノード通過済であれば、処理がステップS29に進められる。自ノード通過済でなければ、処理がステップS30に進められる。
[Step S28] The
[ステップS29]ルーティング部180は、受信したルート探索パケットを破棄し、処理を終了する。
[ステップS30]ルーティング部180は、自分の匿名IDを転送履歴に設定する。さらに、ルーティング部180は、元の戻りオニオンを自ノードの秘密鍵で暗号化し、暗号化されたデータに自分のノードIDを加えた情報を新たな戻りオニオンとする。
[Step S29] The
[Step S30] The
[ステップS31]ルーティング部180は、ルート探索パケットを送信してきたノードとプライベートIPのノードを除く隣接ノード全てに、ルート探索パケットを送信する。その後、処理が終了する。
[Step S31] The
図16は、ルート通知パケットのデータ構造例を示す図である。ルート通知パケット520は、メッセージフラグ521、宛先(To)522、送信元(From)523、宛先オニオン524、戻りオニオン525、ルート情報526、および返信暗号化用一時鍵情報527で構成される。
FIG. 16 is a diagram illustrating a data structure example of a route notification packet. The route notification packet 520 includes a
メッセージフラグ521は、パケットの種別を示している。ルート通知パケット520の場合には、ルート探索返信用のパケットであることを示す情報が設定される。
宛先522には、ルート通知パケット520の宛先が設定される。宛先は、ルート探索パケット510の送信元513に設定されている送信元ノードの匿名IDである。
The
In the
送信元523には、仮送信元ノードの公開されたID(公開ID)が設定される。
宛先オニオン524は、宛先までのルートを示す情報である。これは、受信Peerにおいてルート探索パケット510の戻りオニオン515を転記したものである。ただし、宛先オニオン524は、パケットが中継される毎に過去の伝送経路を示す情報が削除される。
In the
The
戻りオニオン525は、ルート通知パケット520においては空欄となる。
ルート情報526は、匿名通信の伝送ルートを示す情報である。ルート情報には、伝送ルート上の各P2PオニオンノードのノードIDと固定公開鍵とが、送信元ノードの固定公開鍵で暗号化されて設定されている。また、ルート情報526には、ルート探索パケット510の返信暗号化用一時鍵情報516も含まれている。
The
The
返信暗号化用一時鍵情報527は、ルート探索パケット510の返信暗号化用一時鍵情報516の内容がそのまま設定される。
ルート通知パケットを受信したノードは、他のノード宛であればルート通知パケットの中継処理を行い、自分宛であれば最適ルートの生成処理を行う。
In the reply encryption temporary
The node that has received the route notification packet performs the relay processing of the route notification packet if it is addressed to another node, and performs the generation processing of the optimum route if it is addressed to itself.
図17は、ルート通知パケット受信処理を示すフローチャートである。以下、図7に示すノード100がルート通知パケットを受信した場合を想定して、図17に示す処理をステップ番号に沿って説明する。
FIG. 17 is a flowchart showing route notification packet reception processing. In the following, assuming that the
[ステップS41]ルーティング部180は、ルート通知パケットを受信する。
[ステップS42]ルーティング部180は、自ノード宛のルート通知パケットか否かを確認する。自ノード宛か否かは、宛先のフィールドに自分の匿名IDが設定されているか否かで判断できる。
[Step S41] The
[Step S42] The
[ステップS43]ルーティング部180は、自ノード宛のルート通知パケットであれば処理をステップS44に進める。また、ルーティング部180は、自ノード宛のルート通知パケットでなければ、処理をステップS45に進める。
[Step S43] If the
[ステップS44]ルーティング部180は、ルート通知パケットのルート情報フィールド内の情報を復号し、最適ルートを生成する。すなわち、ルート情報には、自ノード(仮公開元ノードまでのルート探索を行った検索元ノード)の公開鍵で暗号化された状態で、匿名通信路上の各ノードのノードIDと公開鍵とが含まれている。また、ルート情報内での各ノードの情報の配列が、そのまま匿名通信路上のノードの配列になっている。そこで、復号して得られるノードIDの配列が最適ルートとなる。
[Step S44] The
[ステップS45]ルーティング部180は、宛先オニオンで示される次のノードをパケット送信先として決定する。
[ステップS46]ルーティング部180は、ノード管理テーブル190内の自ノードのレコード情報を探索者(公開元ノード)の暗号鍵で暗号化して、ルート通知パケットに設定する。
[Step S45] The
[Step S46] The
[ステップS47]ルーティング部180は、ルート通知パケットを宛先オニオンで示された次のノードに返信する。その後、処理が終了する。
以上のようにして、公開元ノードから仮公開元ノードまでの匿名通信路を探索することができる。送信元ノードは、この匿名通信路に沿って通信されるオニオンルーティングのパケット(データパケット)を生成し、その内容(ペイロード)として公開情報のオニオンリファレンスを設定する。データパケットを匿名通信路を介して仮公開元ノードに送ることで、送信元ノードの匿名性を保つことができる。
[Step S47] The
As described above, the anonymous communication path from the publishing source node to the temporary publishing source node can be searched. The transmission source node generates an onion routing packet (data packet) communicated along the anonymous communication path, and sets the onion reference of the public information as the content (payload). Anonymity of the transmission source node can be maintained by sending the data packet to the temporary disclosure source node via the anonymous communication path.
上記の例は、送信元ノードと仮送信元ノードとの間の匿名通信であるが、検索元ノードと仮検索元ノードとの間の匿名通信も同様の手順で行うことができる。仮送信元ノードから木構造上の上位のノードへオニオンリファレンスが転送され、仮想検索元ノードから上位のノードへ検索エージェントが転送されることで、木構造の何れかのノードにおいて、検索エージェントによる検索に、オニオンリファレンスがヒットする。その結果、送信元ノードと検索元ノードとの間の匿名通信路が生成される。 Although the above example is an anonymous communication between the transmission source node and the temporary transmission source node, the anonymous communication between the search source node and the temporary search source node can be performed in the same procedure. An onion reference is transferred from the temporary source node to an upper node in the tree structure, and a search agent is transferred from the virtual search source node to an upper node, so that a search by a search agent is performed at any node in the tree structure. Onion reference hits. As a result, an anonymous communication path between the transmission source node and the search source node is generated.
図18は、データパケットのデータ構造例を示す図である。データパケット530は、メッセージフラグ531、宛先(To)532、送信元(From)533、宛先オニオン534、戻り&バックトラックオニオン535、およびペイロード536で構成される。
FIG. 18 is a diagram illustrating an example of a data structure of a data packet. The data packet 530 includes a
メッセージフラグ531は、パケットの種別を示している。データパケット530の場合には、データ通信用のパケット(通常のパケット)であることを示す情報が設定される。
A
宛先532には、データパケット530の宛先が設定される。宛先は、通信相手のノードの公開IDである。
送信元533には、パケット送信元となるノードの匿名IDが設定される。この匿名IDは、匿名通信路探索時とは別のものが使用される。
In the
In the
宛先オニオン534は、宛先までのルートを示す情報である。これは、取得した匿名通信路情報に基づいて生成される。宛先オニオン534は、匿名通信路上の各ノードにおいて、次のノードのみが認識できるように各ノードの公開鍵でルート情報を暗号化したものである。
The
戻り&バックトラックオニオン535は、戻りルートおよびバックトラック処理を行うときのルートを示すルート情報である。バックトラック処理は、予定したルートでの通信ができなかった場合に、他のルート経由でパケットを伝送する処理である。
The return & backtrack
ペイロード536は、転送すべきメッセージを受信側のノードの公開鍵で暗号化したデータを含む実データである。たとえば、ペイロード536には、オニオンリファレンスや検索エージェントが含められる。
The
このようなデータパケットが、匿名通信路を介して、送信元ノードと検索元ノードとの間で送受信される。これにより、通信の匿名性が保たれる。
このような機能を利用すれば、匿名性の高い電子掲示板システムを提供することができる。
Such a data packet is transmitted and received between the transmission source node and the search source node via the anonymous communication path. Thereby, the anonymity of communication is maintained.
If such a function is used, an electronic bulletin board system with high anonymity can be provided.
図19は、匿名性の高い電子掲示板の構成例を示す図である。この例では、掲示板への投稿者がノード601を使用し、掲示板の検索者がノード602を使用しているものとする。ノード611〜617によって木構造が構成されており、これらのノード611〜617によって、情報公開を行うための電子掲示板としての機能が提供される。また、ノード601は、ノード616を仮公開元ノードとして選択している。また、ノード602は、ノード617を仮検索元ノードとして選択している。
FIG. 19 is a diagram illustrating a configuration example of a highly anonymous electronic bulletin board. In this example, it is assumed that a contributor to the bulletin board uses the
なお、ノード601のノードIDを「A」、ノード602のノードIDを「B」、ノード611のノードIDを「P」、ノード612のノードIDを「S」、ノード613のノードIDを「H」、ノード614のノードIDを「T」、ノード615のノードIDを「R」、ノード616のノードIDを「X」、ノード617のノードIDを「Y」、ノード621のノードIDを「K」、ノード622のノードIDを「L」、ノード623のノードIDを「G」、ノード624のノードIDを「E」、ノード625のノードIDを「W」、ノード626のノードIDを「V」とする。
Note that the node ID of the
掲示板への投稿者は、ノード601からノード616に対して、オニオンルーティングの技術を利用した匿名通信で、オニオンリファレンスを送信する。オニオンリファレンスは、ノード616から順次木構造上の親ノードに転送されていく。オニオンリファレンスを転送した各ノード616,614,613,612,611は、オニオンリファレンスをキャッシュする。
A contributor to the bulletin board transmits an onion reference from the
オニオンリファレンスには、投稿者が公開した情報のメタデータ(キーワードや作成日等)と共に、ノード601までの戻りルート情報が含まれている。このようにオニオンリファレンスが公開されたことによって、投稿者が投稿した情報が公開されたこととなる。
The onion reference includes return route information to the
掲示板内の情報の検索者は、ノード602からノード617に対して、オニオンルーティングの技術を利用した匿名通信で、検索エージェントを送信する。検索エージェントは、ノード617から順次木構造上の親ノードに転送されていく。検索エージェントを転送した各ノード617,615,613,612,611は、検索エージェントをキャッシュする。
A searcher for information in the bulletin board transmits a search agent from the
検索エージェントは、検索者が指定した検索キーワード等に基づいた検索条件を含んでいる。検索エージェントがキャッシュされたノードにおいて、検索エージェント内の検索条件に合致するオニオンリファレンスが検索される。その検索条件に、ノード601のユーザが投稿した情報が合致する場合、ノード613において検索がヒットする。このとき、ノード613にキャッシュされたオニオンリファレンスの戻りオニオンと、ノード613にキャッシュされた検索エージェントの戻りオニオンとを繋げることで、ノード601とノード602との間の匿名通信路が生成できる。
The search agent includes a search condition based on a search keyword specified by the searcher. Onion references that match the search conditions in the search agent are searched in the node where the search agent is cached. If the information posted by the user of the
図20は、各ノードがキャッシュする情報を示す図である。なお、以下の説明において、戻りオニオンのルートを、戻りルート上の各ノードのノードIDの配列で示している。
ノード611がキャッシュする情報の1つは、ノード自身の匿名ID、ノードID「A」が投稿した公開情報(オニオンリファレンス)、P−S−H−T−X−A間の戻りオニオンである。また、ノード611は、ノード自身の匿名ID、ノードID「B」の検索エージェント、P−S−H−R−Y−B間の戻りオニオンもキャッシュしている。
FIG. 20 is a diagram illustrating information cached by each node. In the following description, the return onion route is indicated by an array of node IDs of the nodes on the return route.
One of the information cached by the
ノード612がキャッシュする情報の1つは、ノード自身の匿名ID、ノードID「A」が投稿した公開情報(オニオンリファレンス)、S−H−T−X−A間の戻りオニオンである。また、ノード612は、ノード自身の匿名ID、ノードID「B」の検索エージェント、S−H−R−Y−B間の戻りオニオンもキャッシュしている。
One of the information cached by the
ノード613がキャッシュする情報の1つは、ノード自身の匿名ID、ノードID「A」が投稿した公開情報(オニオンリファレンス)、H−T−X−A間の戻りオニオンである。また、ノード613は、ノード自身の匿名ID、ノードID「B」の検索エージェント、H−R−Y−B間の戻りオニオンもキャッシュしている。
One of the information cached by the
ノード614がキャッシュする情報は、ノード自身の匿名ID、ノードID「A」が投稿した公開情報(オニオンリファレンス)、T−X−A間の戻りオニオンである。ノード615がキャッシュする情報は、ノード自身の匿名ID、ノードID「B」の検索エージェント、R−Y−B間の戻りオニオンである。
The information cached by the
ノード616がキャッシュする情報は、ノード自身の匿名ID、ノードID「A」が投稿した公開情報(オニオンリファレンス)、X−A間の戻りオニオンである。ノード617がキャッシュする情報は、ノード自身の匿名ID、ノードID「B」の検索エージェント、Y−B間の戻りオニオンである。
The information cached by the
図21は、生成された匿名通信路を示す図である。匿名通信路は、ノード613において、オニオンリファレンス側の戻りオニオンと、検索エージェント側の戻りオニオンとを繋げることで作成される。
FIG. 21 is a diagram illustrating the generated anonymous communication path. The anonymous communication path is created at
ここで、ノード601とノード616との間は、ノード622を経由するルートとなっている。これは、オニオンリファレンスをノード616に送信した際に実際に通ったルートである。すなわち、戻りオニオンは、パケットを伝送しながら、その伝送を行ったノードの情報を付加していくことで作成されるため、送信時に実際に通ったルートが戻りルートとなる。
Here, the route between the
同様に、ノード602とノード617との間は、ノード626を経由するルートとなっている。これは、検索エージェントをノード617に送信した際に実際に通ったルートである。
Similarly, the route between the
このような匿名通信路を経由して、ノード601とノード602との間で通信を行うことができる。すなわち、ノード601が公開した情報の内容(ノード601内に保存されている)を、ノード602から参照することができる。
Communication can be performed between the
ところで、ノード622とノード626とを直接結ぶような匿名通信路を生成することもできる。
図22は、経路長を短縮させた匿名通信路生成例を示す図である。この例では、オニオンリファレンスを仮送信元ノードから親ノードへ転送する際に、オニオンリファレンスを送ってきた隣接ノードのノードID、IPアドレス、ポート番号等を含む中継ノード情報を同時に送信する。オニオンリファレンスを受け取った各ノードは、オニオンリファレンスと共に、中継ノード情報もキャッシュする。
By the way, an anonymous communication path that directly connects the
FIG. 22 is a diagram illustrating an example of generating an anonymous communication path with a shortened path length. In this example, when the onion reference is transferred from the temporary transmission source node to the parent node, relay node information including the node ID, IP address, port number, and the like of the adjacent node that has transmitted the onion reference is simultaneously transmitted. Each node that receives the onion reference also caches the relay node information together with the onion reference.
状態ST11に示す例では、オニオンリファレンスがノードID「L」のノード622を介して送信されている。そこで、ノード622のノードID「L」やIPアドレス等の中継ノード情報をキャッシュの対象とする。そして、検索ヒットした場合には、検索エージェントは、オニオンリファレンスや各種戻りオニオンと共に、中継ノード情報を検索元ノードに送信する。
In the example shown in the state ST11, the onion reference is transmitted via the
検索元のノード602は、ノード622の情報を取得したことで、ノード601との間の匿名通信を行う際に、ノード624〜626の何れかから、ノード622にパケットを転送するような匿名通信路を生成することができる。すなわち、検索エージェントを送信したときに中継したノードは、ノード626であっても、ノード624またはノード625を経由した匿名通信路を生成することが可能となる。
When the
このとき、ノード624〜625に対して、ノード622のノードID、IPアドレス、ポート番号を通知する必要がある。
状態ST12に示すように、ノード625を経由した匿名通信路を生成して、その匿名通信路を介してノード601に対してパケットを送信すれば、実際にそのパケットが通った1本の通信路がノード601とノード602との間の匿名通信路として確定する。この例ではノード625とノード622とが直接パケットを受け渡すような匿名通信路が生成されている。
At this time, it is necessary to notify the
As shown in state ST12, if an anonymous communication path via the
このようにして、仮送信元ノードと仮検索元ノードとの間を抜かした匿名通信路を生成することができる。これにより、匿名通信が木構造の上位のノードを経由せずに済み、上位のノードに係る負荷を軽減することができる。 In this way, it is possible to generate an anonymous communication path in which the space between the temporary transmission source node and the temporary search source node is omitted. As a result, anonymous communication does not have to go through the upper node of the tree structure, and the load on the upper node can be reduced.
なお、匿名通信を行う技術として、匿名ルート上の各ノードに通知するルート情報(ノード別ルート情報)を、該当ノードの公開鍵で暗号化してパケットに含める技術がある。ノード別ルート情報は、各ノードに対応するブロックに格納される。ノード別ルート情報には、対応するノードに隣接するノード(送信方向に隣接するノードと返信方向に隣接するノード)の識別情報と、隣接ノードが復号すべきブロックの位置とが含まれる。 As a technique for performing anonymous communication, there is a technique in which route information (route information for each node) notified to each node on the anonymous route is encrypted with the public key of the corresponding node and included in the packet. The node-specific route information is stored in a block corresponding to each node. The node-specific route information includes identification information of a node adjacent to the corresponding node (a node adjacent in the transmission direction and a node adjacent in the return direction) and a block position to be decoded by the adjacent node.
さらに、送信元がパケットを送信する場合、隣接するノードが復号すべきブロックの位置を指定する情報(ブロック指定)パケットに含める。このパケットを受け取った中継ノードは、ブロック指定で示されるブロックを復号することで、隣接ノードと、その隣接ノードが復号すべきブロックの位置を認識する。そこで、中継ノードは、ブロック指定の内容を隣接ノードに対応するブロックの位置に変更し、その後、パケットを隣接ノードに転送する。その後、同様にパケットが中継される。 Furthermore, when a transmission source transmits a packet, it is included in an information (block specification) packet that specifies the position of a block to be decoded by an adjacent node. The relay node receiving this packet recognizes the adjacent node and the position of the block to be decoded by the adjacent node by decoding the block indicated by the block designation. Therefore, the relay node changes the block designation content to the position of the block corresponding to the adjacent node, and then forwards the packet to the adjacent node. Thereafter, the packet is similarly relayed.
このようなパケット転送を行えば、各中継ノードでは、匿名ルートのうち、自分に隣接するノードしか認識できない。したがって、送信元や宛先を隠した状態でのパケット転送が可能となる。以下、このような匿名通信方法を、グレープルーティングと呼ぶこととする。 If such packet transfer is performed, each relay node can recognize only a node adjacent to itself among anonymous routes. Therefore, packet transfer with the transmission source and destination hidden is possible. Hereinafter, such an anonymous communication method is referred to as grape routing.
このようなグレープルーティングの技術を利用すれば、仮送信元ノードと仮検索元ノードとの間を抜かした匿名通信路を生成することができる。
図23は、グレープルーティングを行う際のデータパケットの構造例を示す図である。グレープルーティング用のデータパケット540は、メッセージフラグ541、宛先(To)542、送信元(From)543、ブロック指定544、グレープルート545、およびペイロード546で構成される。
If such a grape routing technique is used, an anonymous communication path in which the space between the temporary transmission source node and the temporary search source node is omitted can be generated.
FIG. 23 is a diagram illustrating a structure example of a data packet when performing grape routing. The
メッセージフラグ541は、パケットの種別を示している。データパケット540の場合には、グレープルーティング用のデータパケットであることを示す情報が設定される。
宛先542には、データパケット540の宛先が設定される。宛先は、ルート探索パケット510の送信元513に設定されている送信元ノードの匿名IDである。
A
In the
送信元543には、仮送信元ノードの公開されたID(公開ID)が設定される。
ブロック指定544には、そのパケットを受け取ったノードが復号すべきグレープルート内のブロックの位置が設定される。
In the
In the
グレープルート545は、匿名通信路上の各ノードに通知すべき情報が、ブロックに分けて格納されている。たとえば、各ブロックは、対応するノードの公開鍵で暗号化されている。データパケット540を受け取ったノードは、ブロック指定544によって、自分が復号すべきブロックを認識できる。
The
復号したブロックには、たとえば、匿名通信路上の次の隣接ノードのノードIDや、次の隣接ノードが復号するブロック位置等が含まれている。したがって、データパケット540を受け取ったノードは、復号したブロックに含まれるノードIDに対応する隣接ノードに対して、データパケット540を転送する。この際、ブロック指定544の内容を、次の隣接ノードが復号するブロック位置に置き換える。
The decoded block includes, for example, the node ID of the next adjacent node on the anonymous communication path, the block position decoded by the next adjacent node, and the like. Therefore, the node that has received the
ペイロード546は、転送すべきメッセージを受信のノードの公開鍵で暗号化したデータを含む実データである。
図24は、グレープルーティングを行うときのキャッシュ内容を示す図である。グレープルーティングを行う場合、オニオンリファレンスや検索エージェントをキャッシュする各ノードは、グレープルートや隣接ノードに関する情報も同時にキャッシュする。
The
FIG. 24 is a diagram showing the contents of the cache when performing grape routing. When performing grape routing, each node that caches an onion reference and a search agent also caches information about the grape route and adjacent nodes at the same time.
図24の例では、仮送信元であるノード616から上位の各ノードは、ノード自身の一時識別子、ノードID「A」のノード601が投稿したオニオンリファレンス、ノードID「X」のノード616とノードID「A」のノード601との間の匿名グレープルート、ノード616,621〜623のノードIDやIPアドレスなどテーブル情報をキャッシュする。なお、キャッシュする匿名グレープルートには、グレープルート内のノード616,621〜623が復号すべきブロックの位置を示す情報も含まれている。
In the example of FIG. 24, each node above the temporary
また、仮検索元であるノード617から上位の各ノードは、ノード自身の一時識別子、ノードID「B」の検索エージェント、ノードID「Y」のノード617とノードID「B」のノード602との間の匿名グレープルート、ノード617,624〜626のノードIDやIPアドレスなどテーブル情報をキャッシュする。なお、キャッシュする匿名グレープルートには、グレープルート内のノード617,624〜626が復号すべきブロックの位置を示す情報も含まれている。
Further, each node higher than the temporary
ここでノードID「H」のノード613で検索がヒットすれば、ノード613は、仮検索元ノード617に対して検索結果を送信する。この際、ノード615を経由せずに直接送信することができる。
If the search hits the
図25は、検索結果通知の様子を示す図である。ノード613は、ノード602とノード617との間のグレープルートに基づいて、ノード613からノード602にグレープルーティングで検索結果を送信するためのデータパケットを生成する。生成したデータパケットは、ノード617に対して送信される。そして、データパケットは、ノード617からノード602への匿名通信路を介し、グレープルーティングによって転送される。
FIG. 25 is a diagram illustrating a state of the search result notification. The
検索結果には、オニオンリファレンスに加え、そのオニオンリファレンスや検索エージェントと共にキャッシュされていた情報も含まれる。すなわち、ノード601とノード616との間のグレープルート、ノード602とノード617との間のグレープルートや、ノード616,617,621〜626のノードIDやIPアドレスなどテーブル情報が検索結果に含まれる。
In addition to the onion reference, the search result includes information cached with the onion reference and the search agent. That is, table information such as a grape route between the
なお、ノード613は、ノード624〜ノード626のノードID、IPアドレス、およびグレープルート中の復号すべきブロックの位置を認識しているため、ノード624〜ノード626の何れかに対して、検索結果を示すデータパケットを送信することもできる。すなわち、ノード617を経由しないルート(図中、破線の矢印で示す)で検索結果を送信することができる。
Since the
なお、ノード602は、検索結果を受け取ったとき、検索結果を受け取ったことを示す応答を返す。このときは、常にノード617を経由する匿名通信路でグレープルーティングが行われる。すなわち、ノード624〜626では、グレープルーティングにおける隣接ノードであるノード617の情報しか認識できない。そのため、ノード602からノード613宛のパケットは、ノード624〜626の何れかを経由してノード617に渡される。そして、ノード617を介して、そのパケットがノード613に渡される。
When the
なお、ノード602とノード617との間は、グレープルーティングであるため、複数のルートが存在する。同様に、ノード601とノード616との間も、グレープルーティングであるため、複数のルートが存在する。
Note that there are a plurality of routes between the
検索結果を受け取ったノード602は、検索結果に含まれる情報に基づいて、ノード601までのグレープルートを生成する。なお、ノード602は、検索結果としてノード616からノード601にパケットを送信するためのグレープルートを受け取っているとともに、ルート616のIPアドレスやノードID等を受け取っている。したがって、ノード602からノード601宛にパケットを送信する場合、ノード616を経由した匿名通信路で送信される。
The
図26は、検索元ノードと公開元ノードとの間の匿名通信路を示す図である。検索元のノード602は、ノード616,621〜623のノードIDやIPアドレスなどのテーブル情報に基づいて、匿名グレープルートを作成する。たとえば、ノード602は、ノード616とノード601との間の匿名グレープルートに、ノード616からノード624〜626へのルート(図中、一点鎖線で示す)と、ノード621〜623へ戻る方向でのノード624〜626のルート(図中、破線で示す)などを作成する。作成したルートに、ノード624〜626とノード602との間の匿名グレープルートを追加すれば、ノード601からノード602向きの匿名グレープルートが作成される。
FIG. 26 is a diagram illustrating an anonymous communication path between a search source node and a disclosure source node. The
ノード602によるノード624〜626からノード602向きの匿名グレープルート作成は、検索結果受信時に行うことができる。また、ノード624〜626からノード602向きの匿名グレープルートを検索エージェントに予め持たせて送信して、検索結果と共に受け取ることもできる。
The anonymous grape route creation from the
このとき、ノード624〜626に対して、ノード621〜623のノードIDやIPアドレスなどのテーブル情報を通知することで、ノード624〜626からノード621〜623へのパケット転送が可能となる。
At this time, packet information can be transferred from the
結果的に、ノード624〜626とノード616との間は双方向の通信が可能となる。ノード624〜626からノード621〜623へはパケットの転送が可能であるが、逆方向のパケット転送はできない。これは、ノード601とノード621との間の匿名グレープルートでは、ノード624〜626に対して隣接ノード616に対して送信することしか示されていないためである。そのため、ノード601からノード602へ匿名通信を行う際には、ノード616を経由する必要が生じる。
As a result, bidirectional communication is possible between the
ところで、グレープルーティングでは、ノードの結託による不正への対応策として、「データを受け取るべきノードの集合以外からのものは破棄する」という処理を行わせることができる。たとえば、ノード621〜623は、ノード601からの通信路上の隣接ノードおよびノード616以外のノードからのパケットを破棄する。同様に、ノード624〜626は、ノード602からの通信路上の隣接ノードおよびノード616以外のノードからのパケットを破棄する。
By the way, in the grape routing, as a countermeasure against fraud due to collusion of nodes, it is possible to perform a process of “discarding things other than a set of nodes that should receive data”. For example, the
図27は、ノードの結託を防止した場合の匿名通信路の例を示す図である。図27に示すように、ノード601とノード602との間の通信路は、常にノード616を経由して行われる。これにより、ノード621〜623の管理者とノード624〜626の管理者とが結託して、ノード601とノード602との間の匿名通信路を解析する行為を防止できる。
FIG. 27 is a diagram illustrating an example of an anonymous communication path when node collusion is prevented. As shown in FIG. 27, the communication path between the
また、グレープルーティングの匿名性や安全性のレベルを落とし、可用性(availability)を優先することができる。その場合、キャッシュ開始ノード(仮公開元ノードや仮検索元ノード)の直前のグレープ(直前のノード宛のルーティングに関する情報が登録されたブロック)は暗号化しないで書き換えが可能なようにする。なお、可用性とは、通信をダウンさせることなく継続稼働させる能力である。 In addition, the anonymity and security level of grape routing can be reduced, and availability can be prioritized. In this case, the grape immediately before the cache start node (temporary disclosure source node or temporary search source node) (a block in which information related to routing addressed to the immediately preceding node is registered) can be rewritten without encryption. Note that availability is the ability to continue operation without bringing down communication.
図28は、可用性を重視したときの匿名通信路の例を示す図である。このように、グレープルート中のノード621〜626に対応するブロックを平文にしておくことで、その内容を適宜書き換えることができる。その結果、ノード621〜623とノード624〜626との間の相互の直接のパケットの受け渡しが可能となる。すなわち、ノード601とノード602との間のルートに多様性を持たせることができる。ルートに可用性があれば、通信路上の1つのノードが停止したとしても、別ルートを経由して通信が可能となる。
FIG. 28 is a diagram illustrating an example of an anonymous communication path when importance is placed on availability. In this way, by making the blocks corresponding to the
以上説明したような実施の形態により、以下のような効果が得られる。
P2Pネットワークの全体あるいは部分的なノード間の関係を木構造で定義したことにより、P2Pネットワーク上の情報の全件検索を効率よく行うことが可能となる。このとき、発信された情報(オニオンリファレンスや検索エージェント)はP2Pネットワーク上にキャッシュされている。しかも、オニオンリファレンスや検索エージェントは、匿名通信路を介して送信元と関連付けられている。そのため、木構造にしたことで匿名性が損なわれることはない。
According to the embodiment as described above, the following effects can be obtained.
By defining the relationship between the whole or partial nodes of the P2P network in a tree structure, it is possible to efficiently search all cases of information on the P2P network. At this time, the transmitted information (onion reference and search agent) is cached on the P2P network. Moreover, the onion reference and the search agent are associated with the transmission source via the anonymous communication path. Therefore, anonymity is not impaired by having a tree structure.
また、仮公開元ノードや仮検索元ノードを設定し、公開元ノードと仮公開元ノードとの間で匿名通信を行い、検索元ノードと仮検索元ノードとの間で匿名通信を行っている。これにより、仮公開元ノードと仮検索元ノードとの上記の木構造で匿名性が十分でなくても、公開元ノードと検索元ノードとの匿名性を保つことができる。 Also, a temporary publishing source node and a temporary search source node are set, anonymous communication is performed between the publishing source node and the temporary publishing source node, and anonymous communication is performed between the search source node and the temporary search source node. . Thereby, even if anonymity is not sufficient in the above tree structure of the temporary public source node and the temporary search source node, the anonymity between the public source node and the search source node can be maintained.
また、匿名通信にオニオンルーティングを利用しているため、暗号化されたルート情報を復号するための鍵が不特定多数に分散する。そのため、鍵の一極集中による匿名化の脆弱性を無くすることができる。 In addition, since onion routing is used for anonymous communication, keys for decrypting encrypted route information are distributed over an unspecified number. Therefore, the vulnerability of anonymization due to the intensive concentration of keys can be eliminated.
また、検索にヒットしたとき、公開情報の送信元のノードまでの匿名通信路に関する情報を検索元のノードに送信するようにしたため、検索後に情報発信者と情報検索者とが匿名的に双方向のコミュニケーションを行うことが可能となる。 In addition, when a search is hit, information related to the anonymous communication path to the node from which the public information is transmitted is transmitted to the node from which the search is made. It becomes possible to communicate.
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、各ノードが有すべき機能の処理内容を記述した情報検索プログラムが提供される。その情報検索プログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述した情報検索プログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。 The above processing functions can be realized by a computer. In that case, an information search program describing the processing content of the function that each node should have is provided. The processing function is realized on the computer by executing the information retrieval program on the computer. The information retrieval program describing the processing contents can be recorded on a computer-readable recording medium. Examples of the computer-readable recording medium include a magnetic recording device, an optical disk, a magneto-optical recording medium, and a semiconductor memory. Examples of the magnetic recording device include a hard disk device (HDD), a flexible disk (FD), and a magnetic tape. Examples of the optical disc include a DVD (Digital Versatile Disc), a DVD-RAM (Random Access Memory), a CD-ROM (Compact Disc Read Only Memory), and a CD-R (Recordable) / RW (ReWritable). Magneto-optical recording media include MO (Magneto-Optical disk).
情報検索プログラムを流通させる場合には、たとえば、その情報検索プログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、情報検索プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにその情報検索プログラムを転送することもできる。 When distributing an information search program, for example, a portable recording medium such as a DVD or a CD-ROM in which the information search program is recorded is sold. It is also possible to store the information retrieval program in a storage device of the server computer and transfer the information retrieval program from the server computer to another computer via a network.
情報検索プログラムを実行するコンピュータは、たとえば、可搬型記録媒体に記録された情報検索プログラムもしくはサーバコンピュータから転送された情報検索プログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置から情報検索プログラムを読み取り、情報検索プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接情報検索プログラムを読み取り、その情報検索プログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータから情報検索プログラムが転送される毎に、逐次、受け取った情報検索プログラムに従った処理を実行することもできる。 A computer that executes an information search program stores, for example, an information search program recorded on a portable recording medium or an information search program transferred from a server computer in its own storage device. Then, the computer reads the information search program from its own storage device and executes processing according to the information search program. The computer can also read the information search program directly from the portable recording medium and execute processing according to the information search program. Further, each time the information search program is transferred from the server computer, the computer can sequentially execute processing according to the received information search program.
(付記1) ピアツーピア方式のネットワーク上で公開されている情報を検索する情報検索方法において、
前記ネットワークに接続された情報検索装置の公開情報格納手段が、他の装置から公開情報を含む情報公開要求を受け取った場合、公開情報記憶手段に対して前記公開情報を格納し、
前記ネットワーク内の装置間の関係が木構造で定義されており、前記情報検索装置の情報公開要求転送手段が、前記情報公開要求を前記木構造における親装置に対して転送し、
前記情報検索装置の検索条件格納手段が、他の装置から検索要求を含む情報検索要求を受け取った場合、検索条件記憶手段に対して前記検索条件を格納し、
前記情報検索装置の情報検索要求転送手段が、前記情報検索要求を前記木構造における前記親装置に対して転送し、
前記情報検索装置の検索手段が、前記検索条件記憶手段に記憶された検索条件に基づいて、前記公開情報記憶手段に記憶された前記公開情報を検索し、
前記情報検索装置の検索結果通知手段が、前記検索条件に前記公開情報が合致した場合、前記情報検索要求の送信元である検索元装置に対して検索結果を送信する、
ことを特徴とする情報検索方法。
(Supplementary Note 1) In an information search method for searching information published on a peer-to-peer network,
When the public information storage unit of the information search device connected to the network receives an information disclosure request including public information from another device, the public information storage unit stores the public information,
The relationship between devices in the network is defined in a tree structure, and the information disclosure request transfer means of the information search device transfers the information disclosure request to the parent device in the tree structure,
When the search condition storage means of the information search apparatus receives an information search request including a search request from another apparatus, the search condition storage means stores the search condition in the search condition storage means,
The information search request transfer means of the information search device transfers the information search request to the parent device in the tree structure,
The search means of the information search device searches the public information stored in the public information storage means based on the search conditions stored in the search condition storage means,
The search result notifying unit of the information search device transmits a search result to a search source device that is a transmission source of the information search request when the public information matches the search condition.
An information search method characterized by that.
(付記2) 前記情報公開要求には情報公開要求の送信元である公開元装置までの通信路情報が含まれており、前記公開情報格納手段は、前記情報公開要求を受け取った際には、前記通信路情報を前記公開情報記憶手段に格納し、
前記検索結果通知手段は、前記検索条件に前記公開情報が合致した場合、前記検索元装置に対して、前記公開情報と前記公開元装置までの前記通信路情報とを送信する、
ことを特徴とする付記1記載の情報検索方法。
(Supplementary Note 2) The information disclosure request includes communication path information to a disclosure source device that is a transmission source of the information disclosure request, and when the disclosure information storage unit receives the information disclosure request, Storing the communication path information in the public information storage means;
The search result notifying means, when the public information matches the search condition, transmits the public information and the communication path information to the public source device to the search source device;
The information search method according to
(付記3) 前記情報公開要求の送信元である公開元装置が、情報の公開指示に応じて、前記木構造を構成する複数の前記情報検索装置の中から少なくとも1つの前記情報検索装置を選択し、選択した前記情報検索装置に対して前記情報公開要求を匿名通信によって送信する、
ことを特徴とする付記1記載の情報検索方法。
(Additional remark 3) The publication source apparatus which is the transmission source of the information disclosure request selects at least one information retrieval apparatus from among the plurality of information retrieval apparatuses constituting the tree structure in response to an information disclosure instruction. And transmitting the information disclosure request to the selected information retrieval device by anonymous communication.
The information search method according to
(付記4) 前記情報検索要求の送信元である検索元装置が、情報の検索指示に応じて、前記木構造を構成する複数の前記情報検索装置の中から少なくとも1つの前記情報検索装置を選択し、選択した前記情報検索装置に対して、検索条件を含む前記情報検索要求を匿名通信によって送信する、
ことを特徴とする付記1記載の情報検索方法。
(Supplementary Note 4) A search source device that is a transmission source of the information search request selects at least one information search device from among the plurality of information search devices constituting the tree structure in response to an information search instruction. And transmitting the information search request including a search condition to the selected information search device by anonymous communication.
The information search method according to
(付記5) 前記検索手段は、新たな前記検索条件が前記検索条件記憶手段に記憶されたとき、新たに記憶された前記検索条件に合致する前記公開情報を、前記公開情報記憶手段から検索することを特徴とする付記1記載の情報検索方法。
(Supplementary Note 5) When the new search condition is stored in the search condition storage unit, the search unit searches the public information storage unit for the public information that matches the newly stored search condition. The information search method according to
(付記6) 前記検索手段による検索は、新たな前記公開情報が前記公開情報記憶手段に記憶されたとき、新たに記憶された前記公開情報が、既に前記検索条件記憶手段に記憶されている前記検索条件に合致するか否かを判断することを特徴とする付記1記載の情報検索方法。
(Additional remark 6) The search by the said search means, when the said new public information is memorize | stored in the said public information storage means, the said newly memorized public information has already been memorize | stored in the said search condition memory | storage means The information search method according to
(付記7) 前記公開情報格納手段は、前記公開情報記憶手段に記憶された前記公開情報が所定の条件を満たしたとき、前記公開情報を削除することを特徴とする付記1記載の情報検索方法。
(Supplementary note 7) The information search method according to
(付記8) 前記検索条件格納手段は、前記検索条件記憶手段に記憶された前記検索条件が所定の条件を満たしたとき、前記検索条件を削除することを特徴とする付記1記載の情報検索方法。
(Supplementary note 8) The information search method according to
(付記9) ピアツーピア方式のネットワーク上で公開されている情報を検索する情報検索方法において、
前記情報公開要求の送信元である公開元装置が、情報の公開指示に応じて、前記ネットワーク内の複数の情報検索装置の中から少なくとも1つの前記情報検索装置を選択し、選択した前記情報検索装置に対して前記情報公開要求を匿名通信によって送信し、
前記情報検索要求の送信元である検索元装置が、情報の検索指示に応じて、前記ネットワーク内の複数の前記情報検索装置の中から少なくとも1つの前記情報検索装置を選択し、選択した前記情報検索装置に対して、検索条件を含む前記情報検索要求を匿名通信によって送信し、
前記ネットワークを構成する前記情報検索装置それぞれにおいて、
公開情報格納手段が、他の装置から公開情報を含む情報公開要求を受け取った場合、公開情報記憶手段に対して前記公開情報を格納し、
情報公開要求転送手段が、前記情報公開要求を隣接する他の情報検索装置に対して転送し、
検索条件格納手段が、他の装置から検索要求を含む情報検索要求を受け取った場合、検索条件記憶手段に対して前記検索条件を格納し、
情報検索要求転送手段が、前記情報検索要求を隣接する他の情報検索装置に対して転送し、
検索手段が、前記検索条件記憶手段に記憶された検索条件に基づいて、前記公開情報記憶手段に記憶された前記公開情報を検索し、
検索結果通知手段が、前記検索条件に前記公開情報が合致した場合、前記検索元装置に対して前記公開情報を匿名通信によって送信する、
ことを特徴とする情報検索方法。
(Supplementary Note 9) In an information search method for searching information published on a peer-to-peer network,
The disclosure source device that is the transmission source of the information disclosure request selects at least one information retrieval device from among a plurality of information retrieval devices in the network in response to an information disclosure instruction, and the selected information retrieval Send the information disclosure request to the device by anonymous communication,
The search source device that is the transmission source of the information search request selects at least one information search device from among the plurality of information search devices in the network in response to an information search instruction, and the selected information Sending the information search request including the search condition to the search device by anonymous communication,
In each of the information search devices constituting the network,
When the public information storage means receives an information disclosure request including public information from another device, the public information storage means stores the public information in the public information storage means,
An information disclosure request transfer means transfers the information disclosure request to another adjacent information retrieval device,
When the search condition storage means receives an information search request including a search request from another device, the search condition storage means stores the search condition in the search condition storage means,
The information search request transfer means transfers the information search request to another adjacent information search device,
The search means searches the public information stored in the public information storage means based on the search conditions stored in the search condition storage means,
When the search result notifying means matches the search condition with the public information, the public information is transmitted to the search source device by anonymous communication.
An information search method characterized by that.
(付記10) ピアツーピア方式のネットワーク上で公開されている情報を検索する情報検索装置において、
他の装置から公開情報を含む情報公開要求を受け取った場合、公開情報記憶手段に対して前記公開情報を格納する公開情報格納手段と、
前記ネットワーク内の装置間の関係が木構造で定義されており、前記情報公開要求を前記木構造における親装置に対して転送する情報公開要求転送手段と、
他の装置から検索要求を含む情報検索要求を受け取った場合、検索条件記憶手段に対して前記検索条件を格納する検索条件格納手段と、
前記情報検索要求を前記木構造における前記親装置に対して転送する情報検索要求転送手段と、
前記検索条件記憶手段に記憶された検索条件に基づいて、前記公開情報記憶手段に記憶された前記公開情報を検索する検索手段と、
前記検索条件に前記公開情報が合致した場合、前記情報検索要求の送信元である検索元装置に対して検索結果を送信する検索結果通知手段と、
を有することを特徴とする情報検索装置。
(Supplementary Note 10) In an information search apparatus for searching information published on a peer-to-peer network,
When receiving an information disclosure request including public information from another device, public information storage means for storing the public information in a public information storage means;
A relationship between devices in the network is defined in a tree structure, and information disclosure request transfer means for transferring the information disclosure request to a parent device in the tree structure;
When an information search request including a search request is received from another device, search condition storage means for storing the search condition in the search condition storage means;
Information search request transfer means for transferring the information search request to the parent device in the tree structure;
Search means for searching the public information stored in the public information storage means based on the search conditions stored in the search condition storage means;
Search result notifying means for transmitting a search result to a search source device that is a transmission source of the information search request when the public information matches the search condition;
An information retrieval apparatus comprising:
(付記11) ピアツーピア方式のネットワーク上で公開されている情報を検索するための情報検索プログラムにおいて、
コンピュータに、
公開情報格納手段が、他の装置から公開情報を含む情報公開要求を受け取った場合、公開情報記憶手段に対して前記公開情報を格納し、
前記ネットワーク内の装置間の関係が木構造で定義されており、情報公開要求転送手段が、前記情報公開要求を前記木構造における親装置に対して転送し、
検索条件格納手段が、他の装置から検索要求を含む情報検索要求を受け取った場合、検索条件記憶手段に対して前記検索条件を格納し、
情報検索要求転送手段が、前記情報検索要求を前記木構造における前記親装置に対して転送し、
検索手段が、前記検索条件記憶手段に記憶された検索条件に基づいて、前記公開情報記憶手段に記憶された前記公開情報を検索し、
検索結果通知手段が、前記検索条件に前記公開情報が合致した場合、前記情報検索要求の送信元である検索元装置に対して検索結果を送信する、
処理を実行させることを特徴とする情報検索プログラム。
(Supplementary Note 11) In an information retrieval program for retrieving information published on a peer-to-peer network,
On the computer,
When the public information storage means receives an information disclosure request including public information from another device, the public information storage means stores the public information in the public information storage means,
A relationship between devices in the network is defined in a tree structure, and an information disclosure request transfer unit transfers the information disclosure request to a parent device in the tree structure,
When the search condition storage means receives an information search request including a search request from another device, the search condition storage means stores the search condition in the search condition storage means,
An information search request transfer means transfers the information search request to the parent device in the tree structure;
The search means searches the public information stored in the public information storage means based on the search conditions stored in the search condition storage means,
The search result notifying means transmits a search result to a search source device that is a transmission source of the information search request when the public information matches the search condition.
An information search program characterized by causing processing to be executed.
(付記12) ピアツーピア方式のネットワーク上で公開されている情報を検索するための情報検索プログラムを記録したコンピュータ読み取り可能な記録媒体において、
コンピュータに、
公開情報格納手段が、他の装置から公開情報を含む情報公開要求を受け取った場合、公開情報記憶手段に対して前記公開情報を格納し、
前記ネットワーク内の装置間の関係が木構造で定義されており、情報公開要求転送手段が、前記情報公開要求を前記木構造における親装置に対して転送し、
検索条件格納手段が、他の装置から検索要求を含む情報検索要求を受け取った場合、検索条件記憶手段に対して前記検索条件を格納し、
情報検索要求転送手段が、前記情報検索要求を前記木構造における前記親装置に対して転送し、
検索手段が、前記検索条件記憶手段に記憶された検索条件に基づいて、前記公開情報記憶手段に記憶された前記公開情報を検索し、
検索結果通知手段が、前記検索条件に前記公開情報が合致した場合、前記情報検索要求の送信元である検索元装置に対して検索結果を送信する、
処理を実行させることを特徴とする情報検索プログラムを記録したコンピュータ読み取り可能な記録媒体。
(Supplementary Note 12) In a computer-readable recording medium in which an information search program for searching information published on a peer-to-peer network is recorded,
On the computer,
When the public information storage means receives an information disclosure request including public information from another device, the public information storage means stores the public information in the public information storage means,
A relationship between devices in the network is defined in a tree structure, and an information disclosure request transfer unit transfers the information disclosure request to a parent device in the tree structure,
When the search condition storage means receives an information search request including a search request from another device, the search condition storage means stores the search condition in the search condition storage means,
An information search request transfer means transfers the information search request to the parent device in the tree structure;
The search means searches the public information stored in the public information storage means based on the search conditions stored in the search condition storage means,
The search result notifying means transmits a search result to a search source device that is a transmission source of the information search request when the public information matches the search condition.
A computer-readable recording medium having recorded thereon an information search program characterized in that processing is executed.
1 情報検索装置
1a 公開情報格納手段
1b 公開情報記憶手段
1c 情報公開要求転送手段
1d 検索条件格納手段
1e 検索条件記憶手段
1f 情報検索要求転送手段
1g 検索手段
1h 検索結果通知手段
2 公開元装置
3 検索元装置
4,5 子装置
6 親装置
7 情報公開要求
8 情報検索要求
DESCRIPTION OF
Claims (9)
前記ネットワークに接続された情報検索装置の公開情報格納手段が、他の装置から公開情報と、前記公開情報の送信元である公開元装置との間で通信経路の少なくとも一部を隠蔽した匿名通信を行うための第1の匿名通信路情報とを含む情報公開要求を受け取った場合、公開情報記憶手段に対して前記公開情報と前記第1の匿名通信路情報とを格納し、
前記ネットワーク内の装置間の関係が木構造で定義されており、前記情報検索装置の情報公開要求転送手段が、前記情報公開要求を前記木構造における親装置に対して転送し、
前記情報検索装置の検索条件格納手段が、他の装置から検索条件と、前記検索条件の送信元である検索元装置との間で前記匿名通信を行うための第2の匿名通信路情報とを含む情報検索要求を受け取った場合、検索条件記憶手段に対して前記検索条件と前記第2の匿名通信路情報とを格納し、
前記情報検索装置の情報検索要求転送手段が、前記情報検索要求を前記木構造における前記親装置に対して転送し、
前記情報検索装置の検索手段が、前記検索条件記憶手段に記憶された検索条件に基づいて、前記公開情報記憶手段に記憶された前記公開情報を検索し、
前記情報検索装置の検索結果通知手段が、前記検索条件に前記公開情報が合致した場合、前記第1の匿名通信路情報と前記第2の匿名通信路情報との匿名通信路を繋げることで前記検索元装置と前記公開元装置との間の前記匿名通信を可能とし、前記検索元装置に対して検索結果を送信する、
ことを特徴とする情報検索方法。 In an information search method for searching information published on a peer-to-peer network,
Anonymous communication in which the public information storage means of the information search device connected to the network conceals at least part of the communication path between the public information from another device and the public source device that is the transmission source of the public information When receiving an information disclosure request including the first anonymous channel information for performing , the public information storage means stores the public information and the first anonymous channel information ,
The relationship between devices in the network is defined in a tree structure, and the information disclosure request transfer means of the information search device transfers the information disclosure request to the parent device in the tree structure,
The search condition storage means of the information search device includes a search condition from another device and second anonymous channel information for performing the anonymous communication between the search source device that is a transmission source of the search condition. When receiving an information search request including, the search condition storage means stores the search condition and the second anonymous channel information ,
The information search request transfer means of the information search device transfers the information search request to the parent device in the tree structure,
The search means of the information search device searches the public information stored in the public information storage means based on the search conditions stored in the search condition storage means,
When the search result notification means of the information search device matches the search condition, the anonymous information channel is connected to the first anonymous channel information by connecting the first anonymous channel information to the second anonymous channel information. enabling the anonymous communication between the search source device and said public source device and then transmits the search result to the pre-dangerous search source apparatus,
An information search method characterized by that.
ことを特徴とする請求項1記載の情報検索方法。 The publication source device selects at least one information retrieval device from among the plurality of information retrieval devices constituting the tree structure in response to an information disclosure instruction, and the selected information retrieval device Send information disclosure request by anonymous communication,
The information search method according to claim 1, wherein:
ことを特徴とする請求項1記載の情報検索方法。 The information retrieval is the sender of the request the search source device, in response to a search instruction information, selecting at least one of said information retrieval device from a plurality of said information retrieval device constituting the tree structure, selection The information search request including the search condition is transmitted to the information search device by anonymous communication.
The information search method according to claim 1, wherein:
公開情報を含む情報公開要求の送信元である公開元装置が、情報の公開指示に応じて、前記ネットワーク内の複数の情報検索装置の中から少なくとも1つの前記情報検索装置を選択し、選択した前記情報検索装置に対して前記情報公開要求を、通信経路の少なくとも一部を隠蔽した匿名通信によって送信し、 The publishing source device that is the transmission source of the information publishing request including the publishing information selects at least one information retrieval device from the plurality of information retrieval devices in the network according to the information disclosure instruction, and selects Sending the information disclosure request to the information search device by anonymous communication that conceals at least a part of the communication path,
前記公開元装置で選択された前記情報検索装置は、前記情報公開要求の送信元である公開元装置まで前記匿名通信を行うための第1の匿名通信路情報と、前記第1の匿名通信路情報を用いて前記公開元装置と前記匿名通信が可能な装置を示す中継ノード情報を前記情報公開要求に含め、 The information retrieval device selected by the publishing source device includes first anonymous channel information for performing the anonymous communication to the publishing source device that is the transmission source of the information disclosure request, and the first anonymous channel. Including the relay node information indicating the device capable of anonymous communication with the publishing device using information included in the information disclosure request,
情報検索要求の送信元である検索元装置が、情報の検索指示に応じて、前記ネットワーク内の複数の前記情報検索装置の中から少なくとも1つの前記情報検索装置を選択し、選択した前記情報検索装置に対して、検索条件を含む前記情報検索要求を前記匿名通信によって送信し、 The search source device that is the transmission source of the information search request selects at least one information search device from among the plurality of information search devices in the network in response to an information search instruction, and the selected information search Sending the information search request including a search condition to the device by the anonymous communication,
前記ネットワーク内の前記情報検索装置間の関係が木構造で定義されており、前記ネットワークを構成する前記情報検索装置それぞれにおいて、 The relationship between the information search devices in the network is defined in a tree structure, and in each of the information search devices constituting the network,
公開情報格納手段が、他の装置から前記情報公開要求を受け取った場合、公開情報記憶手段に対して前記公開情報、前記第1の匿名通信路情報、および前記中継ノード情報を格納し、 When the public information storage means receives the information disclosure request from another device, the public information storage means stores the public information, the first anonymous channel information, and the relay node information;
情報公開要求転送手段が、前記情報公開要求を前記木構造における親の情報検索装置に対して転送し、 An information disclosure request transfer means transfers the information disclosure request to a parent information search device in the tree structure,
検索条件格納手段が、他の装置から検索条件と、前記検索条件の送信元である検索元装置との間で前記匿名通信を行うための第2の匿名通信路情報とを含む情報検索要求を受け取った場合、検索条件記憶手段に対して前記検索条件と前記第2の匿名通信路情報とを格納し、 The search condition storage means sends an information search request including a search condition from another device and second anonymous channel information for performing the anonymous communication between the search source device that is the transmission source of the search condition. If received, the search condition storage means stores the search condition and the second anonymous channel information,
情報検索要求転送手段が、前記情報検索要求を前記木構造における親の情報検索装置に対して転送し、 An information search request transfer means transfers the information search request to a parent information search device in the tree structure,
検索手段が、前記検索条件記憶手段に記憶された検索条件に基づいて、前記公開情報記憶手段に記憶された前記公開情報を検索し、 The search means searches the public information stored in the public information storage means based on the search conditions stored in the search condition storage means,
検索結果通知手段が、前記検索条件に前記公開情報が合致した場合、前記検索元装置に対して前記公開情報、前記第1の匿名通信路情報、および中継ノード情報を含む検索結果を前記第2の匿名通信路情報に基づく前記匿名通信によって送信し、 When the public information matches the search condition, the search result notifying means sends a search result including the public information, the first anonymous communication path information, and relay node information to the search source device. Transmitted by the anonymous communication based on the anonymous communication path information,
前記検索結果を受信した前記検索元装置が、前記中継ノード情報で示される装置を中継ノードとして、前記中継ノードとの間で匿名通信経路を確立し、前記中継ノードを経由して前記公開元装置との間の前記匿名通信を行う、 The search source device that has received the search result establishes an anonymous communication path with the relay node using the device indicated by the relay node information as a relay node, and the publication source device via the relay node The anonymous communication with
ことを特徴とする情報検索方法。 An information search method characterized by that.
他の装置から公開情報と、前記公開情報の送信元である公開元装置との間で通信経路の少なくとも一部を隠蔽した匿名通信を行うための第1の匿名通信路情報とを含む情報公開要求を受け取った場合、公開情報記憶手段に対して前記公開情報と前記第1の匿名通信路情報とを格納する公開情報格納手段と、 Information disclosure including public information from another device and first anonymous communication channel information for performing anonymous communication in which at least a part of the communication path is hidden between the public device that is the transmission source of the public information When receiving the request, the public information storage means for storing the public information and the first anonymous communication path information in the public information storage means;
前記ネットワーク内の装置間の関係が木構造で定義されており、前記情報公開要求を前記木構造における親装置に対して転送する情報公開要求転送手段と、 A relationship between devices in the network is defined in a tree structure, and information disclosure request transfer means for transferring the information disclosure request to a parent device in the tree structure;
他の装置から検索条件と、前記検索条件の送信元である検索元装置との間で前記匿名通信を行うための第2の匿名通信路情報とを含む情報検索要求を受け取った場合、検索条件記憶手段に対して前記検索条件と前記第2の匿名通信路情報とを格納する検索条件格納手段と、 When an information search request including a search condition and second anonymous communication path information for performing the anonymous communication between a search source device that is a transmission source of the search condition is received from another device, the search condition Search condition storage means for storing the search condition and the second anonymous communication path information in a storage means;
前記情報検索要求を前記木構造における前記親装置に対して転送する情報検索要求転送手段と、 Information search request transfer means for transferring the information search request to the parent device in the tree structure;
前記検索条件記憶手段に記憶された検索条件に基づいて、前記公開情報記憶手段に記憶された前記公開情報を検索する検索手段と、 Search means for searching the public information stored in the public information storage means based on the search conditions stored in the search condition storage means;
前記検索条件に前記公開情報が合致した場合、前記第1の匿名通信路情報と前記第2の匿名通信路情報との匿名通信路を繋げることで前記検索元装置と前記公開元装置との間で前記匿名通信を可能とし、前記検索元装置に対して検索結果を送信する検索結果通知手段と、 When the public information matches the search condition, an anonymous communication path between the first anonymous communication path information and the second anonymous communication path information is connected between the search source apparatus and the publication source apparatus. Search result notifying means for enabling the anonymous communication and transmitting a search result to the search source device;
を有することを特徴とする情報検索装置。 An information retrieval apparatus comprising:
コンピュータに、 On the computer,
公開情報格納手段が、他の装置から公開情報と、前記公開情報の送信元である公開元装置との間で通信経路の少なくとも一部を隠蔽した匿名通信を行うための第1の匿名通信路情報とを含む情報公開要求を受け取った場合、公開情報記憶手段と前記第1の匿名通信路情報とに対して前記公開情報を格納し、 A first anonymous communication path for performing anonymous communication in which the public information storage means conceals at least a part of the communication path between the public information from another apparatus and the public source apparatus that is the transmission source of the public information. If an information disclosure request including information is received, the disclosure information is stored with respect to the disclosure information storage means and the first anonymous channel information,
前記ネットワーク内の装置間の関係が木構造で定義されており、情報公開要求転送手段が、前記情報公開要求を前記木構造における親装置に対して転送し、 A relationship between devices in the network is defined in a tree structure, and an information disclosure request transfer unit transfers the information disclosure request to a parent device in the tree structure,
検索条件格納手段が、他の装置から検索条件と、前記検索条件の送信元である検索元装置との間で前記匿名通信を行うための第2の匿名通信路情報とを含む情報検索要求を受け取った場合、検索条件記憶手段に対して前記検索条件と前記第2の匿名通信路情報とを格納し、 The search condition storage means sends an information search request including a search condition from another device and second anonymous channel information for performing the anonymous communication between the search source device that is the transmission source of the search condition. If received, the search condition storage means stores the search condition and the second anonymous channel information,
情報検索要求転送手段が、前記情報検索要求を前記木構造における前記親装置に対して転送し、 An information search request transfer means transfers the information search request to the parent device in the tree structure;
検索手段が、前記検索条件記憶手段に記憶された検索条件に基づいて、前記公開情報記憶手段に記憶された前記公開情報を検索し、 The search means searches the public information stored in the public information storage means based on the search conditions stored in the search condition storage means,
検索結果通知手段が、前記検索条件に前記公開情報が合致した場合、前記第1の匿名通信路情報と前記第2の匿名通信路情報との匿名通信路を繋げることで前記検索元装置と前記公開元装置との間で前記匿名通信を可能とし、前記検索元装置に対して検索結果を送信する、 When the search information notifying means matches the search information with the public information, the search source device and the second anonymous channel information are connected by connecting the first anonymous channel information and the second anonymous channel information. Enabling the anonymous communication with the publishing source device and transmitting the search result to the searching source device;
処理を実行させることを特徴とする情報検索プログラム。 An information search program characterized by causing processing to be executed.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003398089A JP4360883B2 (en) | 2003-11-27 | 2003-11-27 | Information search method, information search device, and information search program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003398089A JP4360883B2 (en) | 2003-11-27 | 2003-11-27 | Information search method, information search device, and information search program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005159911A JP2005159911A (en) | 2005-06-16 |
JP4360883B2 true JP4360883B2 (en) | 2009-11-11 |
Family
ID=34723056
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003398089A Expired - Fee Related JP4360883B2 (en) | 2003-11-27 | 2003-11-27 | Information search method, information search device, and information search program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4360883B2 (en) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4622755B2 (en) * | 2005-09-08 | 2011-02-02 | ブラザー工業株式会社 | Information communication system, information communication method, node device included in information communication system, and information processing program |
JP4692278B2 (en) * | 2005-12-29 | 2011-06-01 | ブラザー工業株式会社 | Content distribution system, terminal device, information processing method thereof, and program thereof |
JP4696972B2 (en) * | 2006-02-28 | 2011-06-08 | ブラザー工業株式会社 | Content distribution system, information processing method of content distribution system, and terminal device |
JP4692355B2 (en) * | 2006-03-30 | 2011-06-01 | ブラザー工業株式会社 | Information communication system, information communication method, node device included in information communication system, and information processing program |
JP5115922B2 (en) * | 2007-03-28 | 2013-01-09 | 株式会社ノディック | Communication device for data-driven processing device having tree-type shunt and confluence channel and packet transfer method for data-driven processing device |
JP4875526B2 (en) * | 2007-03-28 | 2012-02-15 | 株式会社ディ・アイ・システム | Security program and server |
JP5257001B2 (en) * | 2008-10-31 | 2013-08-07 | ブラザー工業株式会社 | Node device, node processing program, and usage status management method |
EP2472819B1 (en) | 2010-12-31 | 2016-03-23 | Regify S.A. | Systems and methods for providing and operating a secure communication network |
-
2003
- 2003-11-27 JP JP2003398089A patent/JP4360883B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2005159911A (en) | 2005-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Bennett et al. | GAP–practical anonymous networking | |
US9961144B2 (en) | Data storage and retrieval | |
EP2497251B1 (en) | Improved caching of digital contents in p2p networks | |
JP2005275937A (en) | P2p network system | |
El-Khatib et al. | Secure dynamic distributed routing algorithm for ad hoc wireless networks | |
US20100082785A1 (en) | User interface in data forwarding network | |
CN101599968B (en) | Reliable anonymous transmission method and system thereof | |
Chothia et al. | A survey of anonymous peer-to-peer file-sharing | |
Naghizadeh et al. | Structural‐based tunneling: preserving mutual anonymity for circular P2P networks | |
JP2008193667A (en) | Steganographic communication method | |
JP4360883B2 (en) | Information search method, information search device, and information search program | |
US20060075063A1 (en) | Method and apparatus for providing data storage in peer-to peer networks | |
JP4233437B2 (en) | Anonymous data transmission method, anonymous data relay method, anonymous data transmission device, anonymous data relay device, anonymous data transmission program, and anonymous data relay program | |
JP2007535848A (en) | Zone-based peer-to-peer communication | |
JP2010113573A (en) | Content distribution storage system, content storage method, server device, node device, server processing program and node processing program | |
Saboori et al. | Anonymous communication in peer-to-peer networks for providing more privacy and security | |
JP4401415B2 (en) | Electronic bulletin board providing device, message posting method, posted message search method, and electronic bulletin board providing program | |
CN113973007A (en) | Anonymous query method and system based on broadcast encryption and onion routing and adopting time-controlled encryption | |
Balasubramanian et al. | Onion routing in anonymous network | |
Domingo-Prieto et al. | JXTAnonym: An anonymity layer for JXTA services messaging | |
Riahla et al. | A protocol for file sharing, anonymous and confidential, adapted to p2p networks | |
CN114338127B (en) | Data transmission method and device for anonymous communication, electronic equipment and storage medium | |
JP2007323255A (en) | Information transmission device, information transmission method, and recording medium with information transmission program recorded | |
JP2004266493A (en) | Anonymous route search request method, search request relay and response methods thereof, anonymous data relay method, and bulletin board providing apparatus | |
Thaalbi et al. | An enhanced chord-based P2P lookup protocol for mobile Ad hoc networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20050913 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20050922 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061113 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20081106 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081125 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090126 |
|
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: 20090811 |
|
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: 20090811 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120821 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120821 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130821 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |