JP4360883B2 - Information search method, information search device, and information search program - Google Patents

Information search method, information search device, and information search program Download PDF

Info

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
Application number
JP2003398089A
Other languages
Japanese (ja)
Other versions
JP2005159911A (en
Inventor
勧 坂本
達也 貝沼
強 加藤
和邦 古原
秀樹 今井
晋爾 山中
良一 佐々木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2003398089A priority Critical patent/JP4360883B2/en
Publication of JP2005159911A publication Critical patent/JP2005159911A/en
Application granted granted Critical
Publication of JP4360883B2 publication Critical patent/JP4360883B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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.

このように、オニオンルーティングでは、データパケットが目的地までの経路情報を多重に暗号化して保持することで、ルーティングを行う各ノードやネットワーク上でのスキミングを行う者に対して経路情報の一部しか参照できないようにしている。
米国特許第6、266、704号
As described above, in onion routing, the route information to the destination in the data packet is multiplexed and stored, so that part of the route information is provided to each node that performs routing and those who perform skimming on the network. I can only refer to it.
US Pat. No. 6,266,704

しかし、前述した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 information storage unit 1a of the information search device 1 receives the information disclosure request 7 including the public information from another device, the public information is stored in the public information storage unit 1b. At this time, the relationship between the devices in the network is defined in a tree structure, and the information disclosure request transfer means 1c of the information search device 1 transfers the information disclosure request 7 to the parent device 6 in the tree structure. When the search condition storage unit 1d of the information search apparatus 1 receives the information search request 8 including the search condition from another apparatus, the search condition storage unit 1d stores the search condition in the search condition storage unit 1e. At this time, the information search request transfer means 1f of the information search device 1 transfers the information search request 8 to the parent device 6 in the tree structure. Thereafter, the search means 1g of the information search apparatus 1 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. When the public information matches the search, the search result notification unit 1 h of the information search device 1 transmits the public information to the search source device 3 that is the transmission source of the information search request 8.

このような情報検索方法によれば、他の装置から情報公開要求7を受け取った場合、公開情報記憶手段1bに公開情報が格納され、情報公開要求7が親装置6に対して転送される。また、他の装置から情報検索要求8を受け取った場合、検索条件記憶手段1eに対して検索条件が格納され、情報検索要求8が親装置6に対して転送される。その後、検索条件記憶手段1eに記憶された検索条件に基づいて、公開情報記憶手段1bに記憶された公開情報が検索される。検索によって公開情報が合致した場合、情報検索要求8の送信元である検索元装置3に対して公開情報が送信される。   According to such an information search method, when the information disclosure request 7 is received from another device, the disclosure information is stored in the disclosure information storage unit 1 b and the information disclosure request 7 is transferred to the parent device 6. When the information search request 8 is received from another device, the search condition is stored in the search condition storage unit 1 e and the information search request 8 is transferred to the parent device 6. Thereafter, the public information stored in the public information storage unit 1b is searched based on the search conditions stored in the search condition storage unit 1e. When the public information matches the search, the public information is transmitted to the search source device 3 that is the transmission source of the information search request 8.

また、本発明の第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 information search apparatus 1 that searches information published on a peer-to-peer network. The information search apparatus 1 includes a public information storage unit 1a, a public information storage unit 1b, an information disclosure request transfer unit 1c, a search condition storage unit 1d, a search condition storage unit 1e, an information search request transfer unit 1f, a search unit 1g, and It has a search result notification means 1h.

また、ネットワーク上の装置間の関係が木構造で定義されている。たとえば、情報検索装置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, child devices 4 and 5 and a parent device 6 for the information search device 1 are defined. Then, an information disclosure request 7 and an information search request 8 are passed to each device constituting the tree structure. In the example of FIG. 1, the information disclosure request 7 is transmitted from the disclosure source device 2, and the information search request 8 is transmitted from the search source device 3.

公開情報格納手段1aは、他の装置から公開情報を含む情報公開要求7を受け取った場合、公開情報記憶手段1bに対して公開情報を格納する。たとえば、木構造における子装置4から情報公開要求7が渡される。   When the public information storage unit 1a receives the information disclosure request 7 including the public information from another device, the public information storage unit 1a stores the public information in the public information storage unit 1b. For example, an information disclosure request 7 is passed from the child device 4 in the tree structure.

公開情報記憶手段1bは、コンピュータによって読み取り可能な情報を記憶可能な記録媒体内の記憶領域である。公開情報記憶手段1bに格納された公開情報は、情報のキャッシュ処理と同様に、一定期間使用されない等の所定の条件を満たしたときに削除することができる。   The public information storage unit 1b is a storage area in a recording medium capable of storing information readable by a computer. The public information stored in the public information storage unit 1b can be deleted when a predetermined condition such as not being used for a certain period is satisfied, as in the information cache processing.

情報公開要求転送手段1cは、受け取った情報公開要求7を木構造における親装置6に対して転送する。このように木構造を構成する各装置が情報公開要求7をその親装置に対して転送していくことで、情報公開要求7が木構造における最上位(ルート)の装置まで転送される。   The information disclosure request transfer means 1c transfers the received information disclosure request 7 to the parent device 6 in the tree structure. In this way, each device constituting the tree structure transfers the information disclosure request 7 to the parent device, whereby the information disclosure request 7 is transferred to the highest (root) device in the tree structure.

検索条件格納手段1dは、他の装置から検索条件を含む情報検索要求8を受け取った場合、検索条件記憶手段1eに対して検索条件を格納する。たとえば、木構造における子装置5から情報検索要求8が渡される。   When receiving the information search request 8 including the search condition from another device, the search condition storage unit 1d stores the search condition in the search condition storage unit 1e. For example, an information search request 8 is passed from the child device 5 in the tree structure.

検索条件記憶手段1eは、コンピュータによって読み取り可能な情報を記憶可能な記録媒体内の記憶領域である。検索条件記憶手段1eに格納された検索条件は、情報のキャッシュ処理と同様に、一定期間使用されない等の所定の条件を満たしたときに削除することができる。   The search condition storage unit 1e is a storage area in a recording medium capable of storing information readable by a computer. The search condition stored in the search condition storage unit 1e can be deleted when a predetermined condition such as not being used for a certain period is satisfied, as in the information cache processing.

情報検索要求転送手段1fは、情報検索要求8を木構造における親装置6に対して転送する。このように木構造を構成する各装置が情報検索要求8をその親装置に対して転送していくことで、情報検索要求8が木構造における最上位(ルート)の装置まで転送される。   The information search request transfer means 1f transfers the information search request 8 to the parent device 6 in the tree structure. In this way, each device constituting the tree structure transfers the information search request 8 to its parent device, whereby the information search request 8 is transferred to the highest device (root) in the tree structure.

検索手段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 condition storage unit 1e, the search unit 1g searches the public information storage unit 1b for public information that matches the search condition. In addition, when new public information is stored in the public information storage unit 1b, the search unit 1g determines whether the public information matches each search condition stored in the search condition storage unit 1e.

検索結果通知手段1hは、検索条件に公開情報が合致した場合、該当する検索条件の情報検索要求8の送信元である検索元装置3に対して検索結果を送信する。検索結果には、たとえば、検索条件に合致した公開情報の全部または一部を含める。また、公開情報と共に、公開情報の送信元である公開元装置2の識別情報が格納されている場合、その識別情報を検索結果として検索元装置3に送信すればよい。検索元装置3は、公開元装置2の識別情報に基づいて公開元装置2にアクセスし、公開情報を取得することができる。   When the public information matches the search condition, the search result notifying unit 1h transmits the search result to the search source device 3 that is the transmission source of the information search request 8 of the corresponding search condition. The search result includes, for example, all or part of the public information that matches the search condition. Further, when the identification information of the disclosure source apparatus 2 that is the transmission source of the public information is stored together with the public information, the identification information may be transmitted to the search source apparatus 3 as a search result. The search source device 3 can access the publication source device 2 based on the identification information of the publication source device 2 and acquire the publication information.

このような構成の情報検索装置1によれば、子装置4から情報公開要求7を受け取った場合、公開情報格納手段1aによって、公開情報記憶手段1bに公開情報が格納される。また、情報公開要求転送手段1cによって、情報公開要求7が親装置6に対して転送される。   According to the information search device 1 having such a configuration, when the information disclosure request 7 is received from the child device 4, the public information is stored in the public information storage unit 1b by the public information storage unit 1a. Further, the information disclosure request 7 is transferred to the parent device 6 by the information disclosure request transfer means 1 c.

また、子装置5から情報検索要求8を受け取った場合、検索条件格納手段1dによって、検索条件記憶手段1eに対して検索条件が格納される。また、情報検索要求転送手段1fによって、情報検索要求8が親装置6に対して転送される。   When the information search request 8 is received from the slave device 5, the search condition storage unit 1d stores the search condition in the search condition storage unit 1e. Further, the information search request 8 is transferred to the parent device 6 by the information search request transfer means 1f.

その後、検索手段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 result notifying unit 1h transmits the search result to the search source device 3 that is the transmission source of the information search request 8.

このように、情報公開要求7と情報検索要求8とを、木構造の上位の装置に順次転送すると共に、それらの要求を中継した装置に置いて公開情報や検索条件を格納するようにした。そのため、公開元装置2は、木構造を構成する何れかの装置に情報公開要求7を送信すれば、その情報公開要求7は最上位の装置まで転送される。同様に、検索元装置3は、木構造を構成する何れかの装置の情報検索要求8を送信すれば、その情報検索要求8は最上位の装置まで転送される。従って、情報公開要求7に含まれる公開情報は、木構造上の何れかの装置において、必ず情報検索要求8に含まれる検索条件に基づく検索の対象となる。すなわち、公開されている情報の検索漏れは無くなる。   In this way, the information disclosure request 7 and the information search request 8 are sequentially transferred to a higher-level device in the tree structure, and the public information and the search conditions are stored in the device that relayed those requests. Therefore, if the publishing source device 2 transmits the information disclosure request 7 to any of the devices constituting the tree structure, the information disclosure request 7 is transferred to the highest-level device. Similarly, if the search source device 3 transmits the information search request 8 of any device constituting the tree structure, the information search request 8 is transferred to the highest device. Therefore, the public information included in the information disclosure request 7 is always a search target based on the search condition included in the information search request 8 in any device on the tree structure. In other words, there is no omission of retrieval of public information.

しかも、木構造を構成する全ての装置に対して情報検索要求を送信する必要は無いため、検索効率が向上する。さらに、各装置において検索条件を記憶しておき、後で公開された情報があっても、先に格納されていた検索条件に基づいて検索するようにすることで、検索元装置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 search source device 3 can perform a search based on the previously stored search condition. It becomes possible to receive the target information as appropriate.

ところで、公開元装置2から木構造内の装置(たとえば子装置4)に対して情報公開要求7を送信する際に、匿名通信路を経由して送信することができる。同様に、検索元装置3から木構造内の装置(たとえば子装置5)に対して情報検索要求8を送信する際に、匿名通信路を経由して送信することができる。匿名通信路による匿名通信は、たとえば、オニオンルーティングの技術によって行うことができる。オニオンルーティングでは、パケットを中継する各装置が、自分の暗号鍵で所定の情報を復号することで、パケットの次の転送先を知ることができる。すなわち、暗号化の鍵を不特定多数に分散することができる。そのため、暗号鍵の一極集中による匿名化の脆弱性を無くすることができる。   By the way, when the information disclosure request 7 is transmitted from the disclosure source device 2 to a device (for example, the child device 4) in the tree structure, it can be transmitted via the anonymous communication path. Similarly, when the information search request 8 is transmitted from the search source device 3 to a device in the tree structure (for example, the child device 5), it can be transmitted via an anonymous communication path. Anonymous communication through the anonymous communication path can be performed by, for example, onion routing technology. In onion routing, each device that relays a packet can know the next transfer destination of the packet by decrypting predetermined information with its own encryption key. That is, the encryption key can be distributed to an unspecified number. Therefore, the vulnerability of anonymization due to the concentration of the encryption key can be eliminated.

匿名通信路を経由して情報公開要求7や情報検索要求8が転送された場合、公開情報や検索条件と共に、匿名通信路の情報を格納しておく。そして、公開情報が検索でヒットしたとき、検索結果通知手段1hは、その公開情報が転送されてきたときの匿名通信路や子装置4の識別情報を含めて検索元装置3に送信する。この際、検索条件と共に格納されていた匿名通信路を経由して送信される。これにより、検索元装置3は、公開元装置2にアクセスするための匿名通信路を知ることができる。その結果、検索後に公開元装置2と検索元装置3との間で匿名的に双方向のコミュニケーションを行うことができる。   When the information disclosure request 7 or the information search request 8 is transferred via the anonymous communication path, information on the anonymous communication path is stored together with the public information and the search condition. When the public information is hit by the search, the search result notifying unit 1h transmits to the search source device 3 including the anonymous communication path and the identification information of the child device 4 when the public information is transferred. At this time, it is transmitted via the anonymous communication path stored together with the search condition. Thereby, the search source device 3 can know the anonymous communication path for accessing the disclosure source device 2. As a result, two-way communication can be performed anonymously between the publishing source device 2 and the searching source device 3 after the search.

次に本発明の実施の形態について具体的に説明する。なお、以下の実施の形態では、公開される情報のメタデータをオニオンリファレンスと呼び、このオニオンリファレンスを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 P2P network 10 includes a plurality of nodes 100, 200, 310, 320, 330, 340, and 350. Each node 100, 200, 310, 320, 330, 340, 350 is connected to an adjacent node. The nodes 100, 200, 310, 320, 330, 340, and 350 are devices having a function as a computer.

図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 node 100 is entirely controlled by a CPU (Central Processing Unit) 101. A random access memory (RAM) 102, a hard disk drive (HDD) 103, a graphic processing device 104, an input interface 105, and a communication interface 106 are connected to the CPU 101 via a bus 107.

RAM102には、CPU101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、CPU101による処理に必要な各種データが格納される。HDD103には、OSやアプリケーションプログラムが格納される。オニオンリファレンスや検索エージェントは、RAM102やHDD103に格納される。   The RAM 102 temporarily stores at least part of an OS (Operating System) program and application programs to be executed by the CPU 101. The RAM 102 stores various data necessary for processing by the CPU 101. The HDD 103 stores an OS and application programs. Onion references and search agents are stored in the RAM 102 and the HDD 103.

グラフィック処理装置104には、モニタ11が接続されている。グラフィック処理装置104は、CPU101からの命令に従って、画像をモニタ11の画面に表示させる。入力インタフェース105には、キーボード12とマウス13とが接続されている。入力インタフェース105は、キーボード12やマウス13から送られてくる信号を、バス107を介してCPU101に送信する。   A monitor 11 is connected to the graphic processing device 104. The graphic processing device 104 displays an image on the screen of the monitor 11 in accordance with a command from the CPU 101. A keyboard 12 and a mouse 13 are connected to the input interface 105. The input interface 105 transmits a signal transmitted from the keyboard 12 or the mouse 13 to the CPU 101 via the bus 107.

通信インタフェース106は、P2Pネットワーク10に接続されている。通信インタフェース106は、P2Pネットワーク10を介して、他のノードとの間でデータの送受信を行う。   The communication interface 106 is connected to the P2P network 10. The communication interface 106 transmits / receives data to / from other nodes via the P2P network 10.

以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。なお、図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 node 100, the other nodes 200, 310, 320, 330, 340, and 350 can be realized with the same hardware configuration.

まずオニオンリファレンスと検索エージェントとをキャッシュすることによる検索システムの概念を説明する。
図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 node 100 publishes information and the node 200 searches for the published information.
Information disclosure is performed based on an information publisher's instruction to the information disclosure processing unit 110 in the node 100. Information to be disclosed is stored in the node 100. Onion references 311, 321, 331 are transmitted from the node 100 via the network, and are registered in the nodes 310, 320, 330. The onion references 311, 321, 331 are information (metadata) indicating the characteristics of the disclosed information. The onion references 311, 321, 331 include management information such as the creation date of public information, keywords in the information, and the like. The onion references 311, 321, 331 include information related to the communication route to the node 100 that is the information disclosure source. The onion references 311, 321, and 331 can include the entire information to be disclosed.

登録されたオニオンリファレンス311,321,331は検索の対象となる。さらに、登録されたオニオンリファレンス311,321,331は所定の条件を満たしたとき(たとえば、最後に利用されてからの経過時間が所定時間を超えたとき)に削除される。すなわち、オニオンリファレンス311,321,331は、ノード310,320,330にキャッシュされた情報である。   The registered onion references 311, 321 and 331 are to be searched. Further, the registered onion references 311, 321, 331 are deleted when a predetermined condition is satisfied (for example, when an elapsed time since the last use exceeds a predetermined time). That is, the onion references 311, 321, 331 are information cached in the nodes 310, 320, 330.

情報の検索は、ノード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 search processing unit 210 in the node 200. When a search condition is input to the node 200, search agents 341, 351, 332 are transmitted from the node 200 via the network, and the search agents 341, 351, 332 are registered in the other nodes 340, 350, 330. The The search agents 341, 351, and 332 are functions for searching onion references in registered nodes based on specified search conditions. Note that the search agents 341, 351, and 332 include information related to the communication route to the node 200 that is the information search source.

検索エージェント341,351,332は、登録時にノード340,350,330内のオニオンリファレンスを検索する。また、検索エージェント341,351,332は、後から登録されたオニオンリファレンスを検索する。検索条件に合致するオニオンリファレンスを検出した場合、検索エージェント341,351,332は、そのオニオンリファレンスの情報を、検索元のノード200に通知する。なお、登録された検索エージェント341,351,332は、所定の条件を満たしたとき(たとえば、最後に利用されてからの経過時間が所定時間を超えたとき)に削除される。すなわち、検索エージェント341,351,332は、ノード340,350,330にキャッシュされた情報である。   The search agents 341, 351, and 332 search the onion references in the nodes 340, 350, and 330 at the time of registration. Also, the search agents 341, 351, 332 search for onion references registered later. When an onion reference that matches the search condition is detected, the search agents 341, 351, and 332 notify the search source node 200 of the information of the onion reference. The registered search agents 341, 351, 332 are deleted when a predetermined condition is satisfied (for example, when an elapsed time since the last use has exceeded a predetermined time). That is, the search agents 341, 351, 332 are information cached in the nodes 340, 350, 330.

オニオンリファレンスと検索エージェントとは、ネットワーク上の何れかのノード上で同時にキャッシュされる。図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 onion reference 331 and the search agent 332 are cached at the node 330. Then, the onion reference 331 is targeted by the search processing by the search agent 332. At this time, if the onion reference 331 matches the search condition in the search agent 332, the onion reference 331 is detected (search hit).

オニオンリファレンス331を検出した検索エージェント332は、オニオンリファレンス331とノード200からノード330までの通信ルートの情報とを、ノード200の情報検索処理部210に通知する。これにより、ノード200を利用する検索者は、ノード100において検索条件を満たす情報が公開されていることを知ることができる。   The search agent 332 that has detected the onion reference 331 notifies the information search processing unit 210 of the node 200 of the onion reference 331 and information on the communication route from the node 200 to the node 330. Thereby, the searcher who uses the node 200 can know that information satisfying the search condition is disclosed in the node 100.

また、オニオンリファレンス331には、ノード330からノード100までの通信ルートの情報が含まれており、検索エージェント332からノード330からノード200までの通信ルートが通知されるため、ノード200は、ノード200からノード100までの通信ルートを知ることができる。   The onion reference 331 includes information on the communication route from the node 330 to the node 100, and the communication route from the search agent 332 to the node 330 to the node 200 is notified. To the node 100 can be known.

ところで、本発明の実施の形態では、検索エージェントによるオニオンリファレンスの検索を効率よく実行するために、ノード間の接続関係に対して、木構造上の親子関係を定義する。たとえば、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が子ノードとして接続されている。   Nodes 22 and 23 are connected to the node 21 as child nodes. Nodes 24 and 25 are connected to the node 22 as child nodes. Nodes 26 and 27 are connected to the node 23 as child nodes. A node 28 is connected to the node 24 as a child node. A node 29 is connected to the node 25 as a child node. A node 30 is connected to the node 26 as a child node. A node 31 is connected to the node 27 as a child node. A node 32 is connected to the node 29 as a child node. A node 33 is connected to the node 31 as a child node.

本実施の形態では、中央で木構造を管理するサーバを用意せず、ノード同士の情報交換により次のように自律的に木構造を構成する。
基本的には、新たに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 nodes 41 to 63 is shown. In this P2P network, a tree structure having the node 41 as a root node is defined. Here, the node 42 is a public source, and the node 51 is a search source.

ノード42は、公開する情報を送信する場合、まず、仮の公開元を選択する。P2Pネットワーク内の任意のノードを仮の公開元とすることができる。たとえば、ノード42は、ノード42自身が存在を認識している他のノードから、そのノードが認識しているノードの情報を取得する。そして、ノード42は、取得したノードの情報(たとえばノードIDやIPアドレス)から任意のノードを選択し、仮の公開元とする。この例では、ノード52を仮の公開元として選択したものとする。   When transmitting information to be disclosed, the node 42 first selects a provisional publication source. Any node in the P2P network can be a temporary publisher. For example, the node 42 acquires information on a node recognized by the node from other nodes recognized by the node 42 itself. Then, the node 42 selects an arbitrary node from the acquired node information (for example, node ID and IP address), and sets it as a temporary publication source. In this example, it is assumed that the node 52 is selected as a temporary publication source.

次に、ノード42は仮の公開元までの匿名通信路を探索する。図6の例では、ノード56、ノード57、ノード58、ノード59、ノード52の順でパケットを受け渡すことができる。ノード42は、ルート探索の際に、各ノード52,56〜59の公開鍵を取得する。そして、ノード42は、検出したルートに沿って転送されるパケットを生成する。この際、各ノード52,56〜59の公開鍵を利用し、オニオンルーティングの技術を適用したパケットが生成される。生成されたパケットには、公開情報のオニオンリファレンスが含まれる。   Next, the node 42 searches for an anonymous communication path to the temporary publisher. In the example of FIG. 6, packets can be delivered in the order of the node 56, the node 57, the node 58, the node 59, and the node 52. The node 42 acquires the public keys of the nodes 52 and 56 to 59 at the time of route search. Then, the node 42 generates a packet to be transferred along the detected route. At this time, using the public key of each of the nodes 52 and 56 to 59, a packet to which onion routing technology is applied is generated. The generated packet includes an onion reference of public information.

ノード42は、生成したパケットを匿名通信路上で隣接するノード56に渡す。すると、そのパケットがオニオンルーティングによって転送され、仮の公開元として選択されたノード52に渡される。   The node 42 passes the generated packet to the adjacent node 56 on the anonymous communication path. Then, the packet is transferred by onion routing, and passed to the node 52 selected as a temporary public source.

オニオンルーティングでは、中継する各ノードがパケットのルート情報(オニオンルート)を自分自身の秘密鍵で復号することにより、次の転送先となるノードを知ることができる。この際、中継するノードにおいて知ることができるのは、パケットを転送してきた隣接ノードと、パケットを渡すべき隣接ノードだけである。すなわち、そのパケットの公開元のノードや宛先のノードについては、中継ノードでは知ることができない。これにより、パケットの送信元と宛先の匿名性が確保される。   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 destination node 52 can know that the destination is itself by decrypting the received packet with its own private key, and can obtain an onion reference. When the node 52 receives the onion reference addressed to itself, the node 52 caches the onion reference. As a result, the onion reference 71 is held in the node 52. The onion reference 71 includes return route information to the node 42 that is the publication source.

さらにノード52は、戻りルート情報を含むオニオンリファレンスを、木構造における親に当たるノード46に渡す。ノード46は、受け取ったオニオンリファレンスをキャッシュする。その結果、ノード46にオニオンリファレンス72が保持される。   Further, the node 52 passes the onion reference including the return route information to the node 46 corresponding to the parent in the tree structure. The node 46 caches the received onion reference. As a result, the onion reference 72 is held in the node 46.

同様に、ノード46は、戻りルート情報を含むオニオンリファレンスを、親に当たるノード43に渡す。ノード43は、受け取ったオニオンリファレンスをキャッシュする。その結果、ノード43にオニオンリファレンス73が保持される。   Similarly, the node 46 passes the onion reference including the return route information to the node 43 corresponding to the parent. The node 43 caches the received onion reference. As a result, the onion reference 73 is held in the node 43.

同様に、ノード43は、戻りルート情報を含むオニオンリファレンスを、親に当たるノード41に渡す。ノード41は、受け取ったオニオンリファレンスをキャッシュする。その結果、ノード41にオニオンリファレンス74が保持される。   Similarly, the node 43 passes the onion reference including the return route information to the node 41 corresponding to the parent. The node 41 caches the received onion reference. As a result, the onion reference 74 is held in the node 41.

このようにして、仮の公開元であるノード52からルートのノード41までの経路上の各ノードに、オニオンリファレンスがキャッシュされる。
次に、情報検索手順を説明する。
In this way, the onion reference is cached in each node on the path from the temporary public source node 52 to the root node 41.
Next, an information search procedure will be described.

ノード51は、情報を検索する場合、まず、仮の検索元を選択する。P2Pネットワーク内の任意のノードを仮の検索元とすることができる。たとえば、ノード51は、ノード51自身が存在を認識している他のノードから、他のノードが認識しているノードの情報を取得する。そして、ノード51は、取得したノードの情報(たとえばIPアドレス)から任意のノードを選択し、仮の検索元とする。この例では、ノード55を仮の検索元として選択したものとする。   When searching for information, the node 51 first selects a temporary search source. Any node in the P2P network can be a temporary search source. For example, the node 51 acquires information on a node recognized by the other node from another node recognized by the node 51 itself. Then, the node 51 selects an arbitrary node from the acquired node information (for example, IP address) and sets it as a temporary search source. In this example, it is assumed that the node 55 is selected as a temporary search source.

次に、ノード51は仮の検索元までの匿名通信路を探索する。図6の例では、ノード60、ノード61、ノード62、ノード63、ノード55の順でパケットを受け渡すことができる。ノード51は、ルート探索の際に、各ノード55,60〜63の公開鍵を取得する。そして、ノード51は、検出したルートに沿って転送されるパケットを生成する。この際、ノード51は、各ノード55,60〜63の公開鍵を利用して、オニオンルーティングの技術を適用したパケットを生成する。生成したパケットには、検索エージェントが含まれる。   Next, the node 51 searches for an anonymous communication path to a temporary search source. In the example of FIG. 6, packets can be delivered in the order of the node 60, the node 61, the node 62, the node 63, and the node 55. The node 51 acquires the public key of each of the nodes 55 and 60 to 63 during route search. Then, the node 51 generates a packet to be transferred along the detected route. At this time, the node 51 uses the public key of each of the nodes 55 and 60 to 63 to generate a packet to which the onion routing technique is applied. The generated packet includes a search agent.

ノード51は、生成したパケットを隣接するノード60に渡す。すると、そのパケットがオニオンルーティングによって転送され、仮の検索元として選択されたノード55に渡される。オニオンルーティングの手法は、オニオンリファレンスを送信する場合と同様である。また、パケットが中継される際には、同じルートを逆方向に転送するための戻りルート情報が生成され、パケットに追加される。   The node 51 passes the generated packet to the adjacent node 60. Then, the packet is transferred by onion routing, and passed to the node 55 selected as a temporary search source. The method of onion routing is the same as in the case of transmitting an onion reference. When a packet is relayed, return route information for transferring the same route in the reverse direction is generated and added to the packet.

宛先のノード55は、受け取ったパケットを、自分自身の秘密鍵で復号することにより、宛先が自分自身であることを知ることができるとともに、検索エージェントを取得できる。ノード55は、自分宛の検索エージェントを受け取ると、その検索エージェントをキャッシュする。その結果、ノード55に検索エージェント81が保持される。この検索エージェント81には、検索元のノード51までの戻りルート情報が含まれる。   The destination node 55 can know that the destination is itself by decrypting the received packet with its own private key, and can acquire a search agent. When the node 55 receives the search agent addressed to itself, the node 55 caches the search agent. As a result, the search agent 81 is held in the node 55. This search agent 81 includes return route information to the search source node 51.

さらにノード55は、戻りルート情報を含む検索エージェントを、木構造における親に当たるノード47に渡す。ノード47は、受け取った検索エージェントをキャッシュする。その結果、ノード47に検索エージェント82が保持される。   Further, the node 55 passes the search agent including the return route information to the node 47 corresponding to the parent in the tree structure. The node 47 caches the received search agent. As a result, the search agent 82 is held in the node 47.

同様に、ノード47は、戻りルート情報を含む検索エージェントを、親に当たるノード43に渡す。ノード43は、受け取った検索エージェントをキャッシュする。その結果、ノード43に検索エージェント83が保持される。   Similarly, the node 47 passes the search agent including the return route information to the node 43 corresponding to the parent. The node 43 caches the received search agent. As a result, the search agent 83 is held in the node 43.

同様に、ノード43は、戻りルート情報を含む検索エージェントを、親に当たるノード41に渡す。ノード41は、受け取った検索エージェントをキャッシュする。その結果、ノード41に検索エージェント84が保持される。   Similarly, the node 43 passes the search agent including the return route information to the node 41 corresponding to the parent. The node 41 caches the received search agent. As a result, the search agent 84 is held in the node 41.

このようにして、仮の公開元であるノード52からルートのノード41までの経路上の各ノードに、検索エージェントがキャッシュされる。
各ノードにキャッシュされた検索エージェントは、対応するノード内にキャッシュされているオニオンリファレンスを検索対象として、検索処理を実行する。情報検索者がノード51に対して指示した検索条件に、ノード42で公開されている情報が合致している場合、ノード43の検索エージェント83がオニオンリファレンス73を検出する。
In this way, the search agent is cached in each node on the route from the temporary public source node 52 to the route node 41.
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 node 42 matches the search condition instructed by the information searcher to the node 51, the search agent 83 of the node 43 detects the onion reference 73.

オニオンリファレンス73が検出されると、検索エージェント83に含まれる戻りルート情報を用いて、検索元のノード51に検索結果を転送するためのパケットが生成される。そのパケットには、オニオンリファレンス73の内容が含められる。生成されたパケットは、ノード63、ノード62、ノード61、ノード60、ノード51の順で転送される。その結果、ノード51においてオニオンリファレンスが取得できる。   When the onion reference 73 is detected, a packet for transferring the search result to the search source node 51 is generated using the return route information included in the search agent 83. The contents of the onion reference 73 are included in the packet. The generated packet is transferred in the order of the node 63, the node 62, the node 61, the node 60, and the node 51. As a result, the onion reference can be acquired at the node 51.

オニオンリファレンスには、ノード42からノード52までの戻りルート情報が関連付けられており、この戻りルート情報も検索結果に含まれる。これにより、ノード51は、ノード42までの匿名通信路を取得することができ、匿名通信路を介してノード42で公開されている情報にアクセス可能となる。   The onion reference is associated with return route information from the node 42 to the node 52, and this return route information is also included in the search result. Thereby, the node 51 can acquire the anonymous communication path to the node 42 and can access the information published by the node 42 via the anonymous communication path.

このように、本実施の形態では全件検索を全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 node 42 can be detected from the node 51 without transmitting an onion reference or a search agent by broadcasting. As a result, efficient information retrieval on the P2P network becomes possible.

しかも、仮の公開元と仮の検索元を設定するため、情報提供者や情報検索者の匿名性が守られる。すなわち、公開元のノード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 publishing source node 42 and the temporary publishing source node 52, the relaying nodes 56 to 59 cannot know the publishing source and the tentative publishing source.

さらに、公開元のノード42から仮の公開元のノード52への匿名通信を行う際に戻りオニオン情報を生成することで、検索ヒット後、検索元から公開元への匿名通信路を生成することができる。   Further, by generating return onion information when performing anonymous communication from the publishing source node 42 to the temporary publishing source node 52, an anonymous communication path from the searching source to the publishing source is generated after a search hit. Can do.

なお、検索でヒットしたノードから上位側へは、ヒットした検索エージェントへの検索中止のメッセージを伝播させるなど、検索元のノードへの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 node 100 includes an information disclosure processing unit 110, an information search processing unit 120, a search engine 130, a public information cache unit 140, a temporary disclosure source node selection unit 150, a search agent cache unit 160, a temporary search source node selection unit 170, a routing unit. 180 and a node management table 190.

これらの要素のうち、情報公開処理部110、検索エンジン130、公開情報キャッシュ部140、および仮公開元ノード選択部150によって情報公開機能が構成される。また、情報検索処理部120、検索エンジン130、検索エージェントキャッシュ部160、および仮検索元ノード選択部170によって、情報検索機能が構成される。   Among these elements, the information disclosure processing unit 110, the search engine 130, the public information cache unit 140, and the temporary disclosure source node selection unit 150 constitute an information disclosure function. The information search processing unit 120, the search engine 130, the search agent cache unit 160, and the temporary search source node selection unit 170 constitute an information search function.

情報公開処理部110は、情報公開者からの操作入力等に基づいて、情報公開処理を行う。具体的には、情報公開処理部110は、公開する情報を保持し、他のノードからの要求に応じてその情報を送信する。なお、公開する情報は、たとえば、HDD等に格納される。   The information disclosure processing unit 110 performs information disclosure processing based on an operation input from the information publisher. Specifically, the information disclosure processing unit 110 holds information to be disclosed and transmits the information in response to a request from another node. Note that the information to be disclosed is stored in, for example, an HDD.

さらに、情報公開処理部110は、仮公開元ノード選択部150に対して、仮公開元として動作するノードの選択処理を依頼する。また、情報公開処理部110は、情報公開の指示を受けたとき、公開情報キャッシュ部140に対して、オニオンリファレンスの送信を依頼する。   Furthermore, the information disclosure processing unit 110 requests the temporary publication source node selection unit 150 to select a node that operates as a temporary publication source. Further, when receiving the information disclosure instruction, the information disclosure processing unit 110 requests the public information cache unit 140 to transmit an onion reference.

情報検索処理部120は、情報検索者からの操作入力等に基づいて、P2Pネットワークを介した情報検索を行う。具体的には、情報検索処理部120は、検索条件の入力を受け付ける。情報検索処理部120は、情報検索の実行指示を受けると、仮検索元ノード選択部170に対して、仮検索元として動作するノードの選択処理を依頼する。また、情報検索処理部120は、検索エージェントキャッシュ部160に対して、検索エージェントの送信処理を依頼する。   The information search processing unit 120 performs information search via the P2P network based on operation input from the information searcher. Specifically, the information search processing unit 120 accepts input of search conditions. When receiving the information search execution instruction, the information search processing unit 120 requests the temporary search source node selection unit 170 to select a node that operates as the temporary search source. In addition, the information search processing unit 120 requests the search agent cache unit 160 to perform search agent transmission processing.

検索エンジン130は、オニオンリファレンスを検索対象として、検索エージェントに従った情報の検索を実行する。具体的には、検索エンジン130は、公開情報キャッシュ部140からオニオンリファレンスを受け取ると、そのオニオンリファレンスを記憶する(たとえば、RAM102やHDD103等の記憶装置に格納する)。また、検索エンジン130は、検索エージェントキャッシュ部160から検索エージェントを受け取ると、その検索エージェントを記憶する(たとえば、RAM102やHDD103等の記憶装置に格納する)。   The search engine 130 searches for information according to the search agent using the onion reference as a search target. Specifically, when receiving the onion reference from the public information cache unit 140, the search engine 130 stores the onion reference (for example, stores it in a storage device such as the RAM 102 or the HDD 103). When the search engine 130 receives a search agent from the search agent cache unit 160, the search engine 130 stores the search agent (for example, stores it in a storage device such as the RAM 102 or the HDD 103).

そして、検索エンジン130は、記憶した検索エージェントを所定のタイミングで起動し、記憶しているオニオンリファレンスの検索を実行させる。具体的には、検索エンジン130は、新たに検索エージェントを記憶したときに、その検索エージェントを起動する。その際の検索対象は、既に記憶している全てのオニオンリファレンスである。   Then, the search engine 130 starts the stored search agent at a predetermined timing, and executes a search for the stored onion reference. Specifically, when a search agent is newly stored, the search engine 130 activates the search agent. The search target at that time is all onion references already stored.

また、検索エンジン130は、新たなオニオンリファレンスを記憶したとき、そのとき既に記憶している全ての検索エージェントを起動する。その際の検索対象は、新たに記憶したオニオンリファレンスである。   Further, when the search engine 130 stores a new onion reference, it starts all the search agents already stored at that time. The search target at that time is a newly stored onion reference.

検索エンジン130は、検索エージェントによる検索で検索条件に合致するオニオンリファレンスが検出された場合、検索元のノードに対して検索結果を通知する。検索結果には、オニオンリファレンスや、公開元のノードまでの匿名通信路の情報などが含まれる。   When an onion reference that matches the search condition is detected in the search by the search agent, the search engine 130 notifies the search source node of the search result. The search result includes information such as an onion reference and an anonymous communication path to the node of the publishing source.

公開情報キャッシュ部140は、情報公開処理部110からオニオンリファレンスの送信依頼を受け取ると、公開する情報に関するメタデータ(作成日やキーワード等)を含むオニオンリファレンスを生成する。   Upon receiving the onion reference transmission request from the information disclosure processing unit 110, the public information cache unit 140 generates an onion reference including metadata (creation date, keyword, etc.) regarding information to be disclosed.

また、公開情報キャッシュ部140は、仮公開元ノード選択部150から仮公開元ノードとして選択したノードのノードIDまたはIPアドレスを取得する。すると、公開情報キャッシュ部140は、ルーティング部180に対して、仮公開元ノードまでの匿名通信路の探索を依頼する。公開情報キャッシュ部140は、ルーティング部180から匿名通信路を受け取ると、仮公開元ノード宛に匿名通信路を介してオニオンリファレンスを送信する。   Further, the public information cache unit 140 acquires the node ID or IP address of the node selected as the temporary public source node from the temporary public source node selection unit 150. Then, the public information cache unit 140 requests the routing unit 180 to search for an anonymous communication path to the temporary public source node. When the public information cache unit 140 receives the anonymous communication path from the routing unit 180, the public information cache unit 140 transmits an onion reference to the temporary public source node via the anonymous communication path.

また、公開情報キャッシュ部140は、他のノードからオニオンリファレンスを受け取ると、そのオニオンリファレンスを検索エンジン130に渡し、キャッシュさせる。その後、公開情報キャッシュ部140は、受け取ったオニオンリファレンスを親ノードに対して送信する。キャッシュされたオニオンリファレンスは、以下の情報を有する。
・キャッシュされているノードから公開元ノードまでのオニオンルート
・複数のリファレンスが同一の実体を表すことを示すための一時識別子
・発信される情報、または、情報の内容を示すメタデータ。後者の場合、情報の実体は公開元のノードに置かれる。
Also, when the public information cache unit 140 receives an onion reference from another node, the public information cache unit 140 passes the onion reference to the search engine 130 and caches it. Thereafter, the public information cache unit 140 transmits the received onion reference to the parent node. A cached onion reference has the following information:
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 information cache unit 140 deletes the onion reference that has reached the end of its life from the search engine 130.
Upon receiving a request for selecting a node as a temporary publication source from the information disclosure processing unit 110, the temporary publication source node selection unit 150 performs a process of selecting a node as a temporary publication source. For example, the temporary disclosure source node selection unit 150 refers to the node management table 190 and acquires the IP address of a node located 7 hops away from itself. Then, based on the acquired IP address, the temporary publication source node selection unit 150, for a node that is 7 hops away, a list of IP addresses of nodes that are further 7 hops away from the node (temporary publication source node selection candidate) List). When the temporary release source node selection candidate list is returned, the temporary release source node selection unit 150 selects one IP address from the temporary release source node selection candidate list. The node corresponding to the selected IP address becomes the temporary disclosure source node. When the temporary publication source node is selected, the temporary publication source node selection unit 150 notifies the public information cache unit 140 of the IP address of the temporary publication source node.

また、仮公開元ノード選択部150は、他のノードから仮公開元ノード選択候補リストの取得要求を受け取ると、仮公開元ノード選択候補リストを生成して要求元に応答する。具体的には、仮公開元ノード選択部150は、仮公開元ノード選択候補リストの取得要求に応答してノード管理テーブル190を参照し、7ホップ離れたノードのIPアドレスを抽出する。そして、仮公開元ノード選択部150は、そのIPアドレスのリストを仮公開元選択候補リストとして、取得要求の送信元に対する応答として送信する。   In addition, when the provisional publication source node selection candidate 150 receives a provisional publication source node selection candidate list acquisition request from another node, the provisional publication source node selection candidate list is generated and responds to the request source. Specifically, the temporary disclosure source node selection unit 150 refers to the node management table 190 in response to the request for acquisition of the temporary disclosure source node selection candidate list, and extracts the IP addresses of the nodes separated by 7 hops. Then, the temporary disclosure source node selection unit 150 transmits the IP address list as a temporary disclosure source selection candidate list as a response to the transmission source of the acquisition request.

検索エージェントキャッシュ部160は、情報公開処理部110から検索エージェントの送信依頼を受け取ると、指定された検索条件に該当するオニオンリファレンスの検索を行う検索エージェントを生成する。また、検索エージェントキャッシュ部160は、仮検索元ノード選択部170から仮検索元ノードとして選択したノードのIPアドレスを取得する。すると、検索エージェントキャッシュ部160は、ルーティング部180に対して、仮検索元ノードまでの匿名通信路の探索を依頼する。検索エージェントキャッシュ部160は、ルーティング部180から匿名通信路を受け取ると、仮検索元ノード宛に匿名通信路を介して検索エージェントを送信する。   When the search agent cache unit 160 receives a search agent transmission request from the information disclosure processing unit 110, the search agent cache unit 160 generates a search agent that searches for an onion reference corresponding to the specified search condition. In addition, the search agent cache unit 160 acquires the IP address of the node selected as the temporary search source node from the temporary search source node selection unit 170. Then, the search agent cache unit 160 requests the routing unit 180 to search for an anonymous communication path to the temporary search source node. When the search agent cache unit 160 receives the anonymous communication path from the routing unit 180, the search agent cache unit 160 transmits the search agent to the temporary search source node via the anonymous communication path.

また、検索エージェントキャッシュ部160は、他のノードから検索エージェントを受け取ると、その検索エージェントを検索エンジン130に渡し、キャッシュさせる。その後、検索エージェントキャッシュ部160は、受け取った検索エージェントを親ノードに対して送信する。   When the search agent cache unit 160 receives a search agent from another node, the search agent cache unit 160 passes the search agent to the search engine 130 and caches it. Thereafter, the search agent cache unit 160 transmits the received search agent to the parent node.

検索エージェントは、木構造の上位のノードに転送されながら、各ノードにキャッシュされる。検索エージェントキャッシュ部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 agent cache unit 160 caches the search agent, it also stores an onion route indicating an anonymous communication path to the search source node. The cached search agent searches the onion reference in the search engine 130 at the time of caching. If an onion reference is stored after the search agent cache, it is determined whether the onion reference meets the search condition. If the search condition is hit, the search engine 130 notifies the search source node of the search result.

なお、検索エージェントのキャッシュには寿命が設定できる。たとえば、検索者が最初に検索した時間から設定時間を経過すると消滅する(いつか全部消える)。具体的には、検索エージェントキャッシュ部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 agent cache unit 160 deletes a search agent that has reached the end of its life from the search engine 130.

仮検索元ノード選択部170は、情報公開処理部110から仮検索元とするノードの選択要求を受け取ると、仮検索元とするノードの選択処理を行う。具体的には、仮検索元ノード選択部170は、ノード管理テーブル190を参照し、自分自身から7ホップ離れた位置にあるノードのIPアドレスを取得する。そして、仮検索元ノード選択部170は、取得したIPアドレスに基づき、7ホップ離れたノードに対し、そのノードからさらに7ホップ離れた位置にあるノードのIPアドレスのリスト(仮検索元ノード選択候補リスト)を要求する。仮検索元ノード選択候補リストが返されると、仮検索元ノード選択部170は、仮検索元ノード選択候補リストの中からIPアドレスを1つ選択する。選択したIPアドレスに対応するノードが仮検索元ノードとなる。仮検索元ノードを選択したら、仮検索元ノード選択部170は、仮検索元ノードのIPアドレスを検索エージェントキャッシュ部160に通知する。   When the temporary search source node selection unit 170 receives a selection request for a node as a temporary search source from the information disclosure processing unit 110, the temporary search source node selection unit 170 performs a process of selecting a node as a temporary search source. Specifically, the temporary search source node selection unit 170 refers to the node management table 190 and acquires the IP address of a node located at a position 7 hops away from itself. Then, based on the acquired IP address, the temporary search source node selection unit 170, for a node that is 7 hops away, a list of IP addresses of nodes that are further 7 hops away from the node (temporary search source node selection candidates) List). When the temporary search source node selection candidate list is returned, the temporary search source node selection unit 170 selects one IP address from the temporary search source node selection candidate list. The node corresponding to the selected IP address becomes the temporary search source node. After selecting the temporary search source node, the temporary search source node selection unit 170 notifies the search agent cache unit 160 of the IP address of the temporary search source node.

また、仮検索元ノード選択部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 node selection unit 170 generates a temporary search source node selection candidate list and responds to the request source. Specifically, the temporary search source node selection unit 170 refers to the node management table 190 in response to the request for acquiring the temporary search source node selection candidate list, and extracts the IP addresses of the nodes separated by 7 hops. Then, the temporary search source node selection unit 170 transmits the IP address list as a temporary search source selection candidate list as a response to the transmission source of the acquisition request.

ルーティング部180は、パケットのルーティングを行う。たとえば、オニオンルーティングを技術により、発信者や宛先の匿名性を確保したルーティングを行うことができる。ルーティング部180は、接続された他のノードとの間でP2Pネットワーク上のノードの情報を交換し合っている。そして、ルーティング部180は、存在が確認されたノードの情報をノード管理テーブル190に登録する。   The routing unit 180 performs packet routing. For example, it is possible to perform routing that ensures the anonymity of the caller and the destination by using onion routing. The routing unit 180 exchanges node information on the P2P network with other connected nodes. Then, the routing unit 180 registers information on the node whose existence has been confirmed in the node management table 190.

また、ルーティング部180は、指定されたノードまでの匿名通信路を探索することができる。たとえば、ルーティング部180は、仮公開元ノードまでの匿名通信路の探索要求を公開情報キャッシュ部140から受け取ると、匿名通信路の探索を行い、匿名通信路を示すオニオンルートを公開情報キャッシュ部140に渡す。同様に、ルーティング部180は、仮検索元ノードまでの匿名通信路の探索要求を検索エージェントキャッシュ部160から受け取ると、匿名通信路の探索を行い、匿名通信路を示すオニオンルートを検索エージェントキャッシュ部160に渡す。   The routing unit 180 can search for an anonymous communication path to a designated node. For example, when the routing unit 180 receives a request for searching for an anonymous communication path up to the temporary disclosure source node from the public information cache unit 140, the routing unit 180 searches for the anonymous communication path and sets an onion route indicating the anonymous communication path to the public information cache unit 140. To pass. Similarly, when the routing unit 180 receives a search request for an anonymous communication path up to the temporary search source node from the search agent cache unit 160, the routing unit 180 searches for an anonymous communication path and obtains an onion route indicating the anonymous communication path as a search agent cache unit. To 160.

ノード管理テーブル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 node 100 in which the node management table 190 is provided is referred to as a local node.

ノード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 node 100 has been described, but the other nodes also have the same configuration. In the following description, it is assumed that the components of each node other than the node 100 have the same function as the components of the same name in FIG.

このような機能を有するノードで木構造が構成されることにより、オニオンリファレンスと検索エージェントとによる情報検索が効率的に行われる。
次に、図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 node 100 is a disclosure source node of public information, and the node 410 is a temporary disclosure source node. In the node 100, the information disclosure processing unit 110 issues a provisional disclosure source node selection request and an information disclosure request. The temporary publication source selection request is passed to the temporary publication source node selection unit 150. The temporary publication source node selection unit 150 selects a node as a temporary publication source from the P2P network. In this example, it is assumed that the node 410 is selected. The temporary disclosure source node selection unit 150 passes the IP address of the selected node 410 to the disclosure information cache unit 140.

情報公開要求を受け取った公開情報キャッシュ部140は、仮公開元ノード選択部150から渡されたIPアドレスに該当するノード410までの匿名通信路を探索する。そして、公開情報キャッシュ部140は、匿名通信路に沿って、ノード410宛にオニオンリファレンスを送信する。   Upon receiving the information disclosure request, the public information cache unit 140 searches for an anonymous communication path to the node 410 corresponding to the IP address passed from the temporary disclosure source node selection unit 150. Then, the public information cache unit 140 transmits an onion reference to the node 410 along the anonymous communication path.

オニオンリファレンスがノード410に渡されると、ノード410内の公開情報キャッシュ部414がオニオンリファレンスを検索エンジン413に渡す。検索エンジン413は、受け取ったオニオンリファレンス413aを保持する。また、公開情報キャッシュ部414は、木構造における親ノードに対して、オニオンリファレンスを転送する。   When the onion reference is passed to the node 410, the public information cache unit 414 in the node 410 passes the onion reference to the search engine 413. The search engine 413 holds the received onion reference 413a. Also, the public information cache unit 414 transfers the onion reference to the parent node in the tree structure.

図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 node 200 is a search source node for information search, and the node 420 is a temporary search source node. In the node 200, the information search processing unit 220 issues a temporary search source node selection request and an information search request. The temporary search source selection request is passed to the temporary search source node selection unit 270. The temporary search source node selection unit 270 selects a node as a temporary search source from the P2P network. In this example, it is assumed that the node 420 is selected. The temporary search source node selection unit 270 passes the IP address of the selected node 420 to the search agent cache unit 260.

情報検索要求を受け取った検索エージェントキャッシュ部260は、仮検索元ノード選択部270から渡されたIPアドレスに該当するノード420までの匿名通信路を探索する。そして、検索エージェントキャッシュ部260は、匿名通信路に沿って、ノード420宛に検索エージェントを送信する。   The search agent cache unit 260 that has received the information search request searches for an anonymous communication path to the node 420 corresponding to the IP address passed from the temporary search source node selection unit 270. Then, the search agent cache unit 260 transmits the search agent to the node 420 along the anonymous communication path.

検索エージェントがノード420に渡されると、ノード420内の検索エージェントキャッシュ部426が検索エージェントを検索エンジン423に渡す。検索エンジン423は、受け取った検索エージェント423aを保持する。また、検索エージェントキャッシュ部426は、木構造における親ノードに対して、検索エージェントを転送する。   When the search agent is passed to the node 420, the search agent cache unit 426 in the node 420 passes the search agent to the search engine 423. The search engine 423 holds the received search agent 423a. In addition, the search agent cache unit 426 transfers the search agent to the parent node in the tree structure.

図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 node 430 shows a case where information published by the node 100 is hit in the search by the node 200. The search engine 433 in the node 430 searches for onion references that match the search conditions indicated by the search agent 433a. When the onion reference 433b hits this search, the search engine 433 transmits the content of the onion reference 433b to the search source node 200 via the anonymous communication path. In the node 200, an anonymous communication path is formed between the public source node and the search source node.

図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 node 90 as a root node is formed.
The first state (ST1) is an initial state. Here, the disclosure source is a node 91 and the search source is a node 92. The temporary publication source is the node 93, and the temporary search source is the node 94.

次の状態(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 public source node 93 to the root node 90.

次の状態(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 search source node 94 to the root node 90.

次の状態(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 node 95 to the root node 90. In this case, an anonymous communication path is formed via the node 95 which is the lowest element on the tree structure among the nodes hit by the search.

ところで、通信の匿名性は、公開元ノードと仮公開元ノードとの間でオニオンルーティングが行われること、および検索元ノードと仮検索元ノードとの間でオニオンルーティングが行われることによって強化される。ただし、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 node 100 illustrated in FIG. 7 is a disclosure source node, the processing illustrated in FIG. 13 will be described along with step numbers.

[ステップS11]ルーティング部180は、ノード管理テーブル190に登録されているノードのうち、ホップ数が一番遠いノードの1つを、仮公開元ノードとして選択する。さらに、ルーティング部180は、仮公開元ノードまでの匿名通信路を探索するためのルート探索パケットを生成する。   [Step S <b> 11] The routing unit 180 selects one of the nodes with the longest hop number among the nodes registered in the node management table 190 as a temporary disclosure source node. Furthermore, the routing unit 180 generates a route search packet for searching for an anonymous communication path to the temporary disclosure source node.

[ステップS12]ルーティング部180は、自分の匿名IDを生成する。生成した匿名IDは、RAMやHDD等の記録媒体に記録しておく。以後、他のノードからパケットを受け取った際には、そのパケットの宛先の匿名IDと記録してある自分の匿名IDとを比較することで、そのパケットが自分宛か否かを判断可能となる。そして、ルーティング部180は、生成した匿名IDをパケットの転送履歴として設定する共に、その匿名IDをルート探索パケットの送信元とする。さらに、ルーティング部180は戻りオニオンを生成し、ルート探索パケット内に設定する。なお、匿名IDとは、一連の匿名通信毎に個別に設定する識別情報である。また、戻りオニオンとしては、たとえば、自分のノードIDを自分の公開鍵で暗号化し、さらに自分のノードIDを付加した情報を設定する。   [Step S12] The routing unit 180 generates its own anonymous ID. The generated anonymous ID is recorded in a recording medium such as RAM or HDD. Thereafter, when a packet is received from another node, it is possible to determine whether or not the packet is addressed to itself by comparing the anonymous ID of the destination of the packet with the recorded anonymous ID. . Then, the routing unit 180 sets the generated anonymous ID as a packet transfer history, and sets the anonymous ID as a transmission source of the route search packet. Further, the routing unit 180 generates a return onion and sets it in the route search packet. The anonymous ID is identification information set individually for each series of anonymous communication. Further, as the return onion, for example, information of encrypting its own node ID with its own public key and further adding its own node ID is set.

[ステップS13]ルーティング部180は、プライベートIP以外の(グローバルアドレス)隣接ノード全てにルート探索パケットを送信する。
図14は、ルート探索パケットのデータ構造例を示す図である。ルート探索パケット510は、メッセージフラグ511、宛先(To)512、送信元(From)513、宛先オニオン514、戻りオニオン515、返信暗号化用一時鍵情報516および転送履歴517で構成される。
[Step S13] The routing unit 180 transmits a route search packet to all (global address) adjacent nodes other than the private IP.
FIG. 14 is a diagram illustrating a data structure example of a route search packet. The route search packet 510 includes a message flag 511, a destination (To) 512, a transmission source (From) 513, a destination onion 514, a return onion 515, reply encryption temporary key information 516, and a transfer history 517.

メッセージフラグ511は、パケットの種別を示している。ルート探索パケット510の場合には、ルート探索ブロードキャスト送信用のパケットであることを示す情報が設定される。   A message flag 511 indicates the type of packet. In the case of the route search packet 510, information indicating that it is a packet for route search broadcast transmission is set.

宛先512には、ルート探索パケット510の宛先が設定される。宛先は、仮公開元ノードの識別情報(公開ID)等で示される。
送信元513には、送信元ノードの匿名IDが設定される。
In the destination 512, the destination of the route search packet 510 is set. The destination is indicated by identification information (public ID) of the temporary public source node.
In the transmission source 513, the anonymous ID of the transmission source node is set.

宛先オニオン514は、宛先までのルートを示す情報であるが、ルート探索パケット510では空欄となる。
戻りオニオン515には、ルート探索パケット510に対してルート通知パケットを返信する際の通信経路が、多重に暗号化されて設定される。
The destination onion 514 is information indicating the route to the destination, but is blank in the route search packet 510.
In the return onion 515, a communication path for returning a route notification packet to the route search packet 510 is set by being encrypted in multiple.

返信暗号化用一時鍵情報516は、ルート通知パケットを返信する際に使用される公開元ノードの一時公開鍵と暗号化された一時秘密鍵である。一時公開鍵と一時秘密鍵とは、ルート探索毎に生成される鍵である。   The reply encryption temporary key information 516 is a temporary public key of the public source node and an encrypted temporary secret key that are used when a route notification packet is returned. The temporary public key and the temporary secret key are keys generated for each route search.

転送履歴517には、パケットの送信元のノードや、パケットを中継したノードで生成された匿名IDが設定される。パケットを受け取った各ノードは、転送履歴517内の匿名IDと自分が過去に生成した匿名IDとを比較し、一致する匿名IDがある場合、そのパケットを過去に転送したことがあることを認識できる。   In the transfer history 517, an anonymous ID generated by a packet transmission source node or a node that relays the packet is set. Each node that receives the packet compares the anonymous ID in the transfer history 517 with the anonymous ID generated in the past, and if there is a matching anonymous ID, recognizes that the packet has been transferred in the past it can.

ルート探索パケットを受信したノードは、ルート探索パケットの中継またはルート通知パケットの返信を行う。
図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 node 100 shown in FIG. 7 has received a route search packet, the processing shown in FIG. 15 will be described along with step numbers.

[ステップS21]ルーティング部180は、ルート探索パケットを受信する。
[ステップS22]ルーティング部180は、自ノード宛のルート探索パケットかどうかを確認する。ルート探索パケットの宛先のフィールドを参照することで、自ノード宛か否かが判別できる。
[Step S21] The routing unit 180 receives a route search packet.
[Step S22] The routing unit 180 confirms whether the route search packet is addressed to its own node. By referring to the destination field of the route search packet, it can be determined whether or not it is addressed to the own node.

[ステップS23]ルーティング部180は、自ノード宛であれば、処理をステップS24に進める。また、ルーティング部180は、自ノード宛でなければ、処理をステップS27に進める。   [Step S23] If the routing unit 180 is addressed to the own node, the processing proceeds to step S24. If the routing unit 180 is not addressed to the own node, the process proceeds to step S27.

[ステップS24]ルーティング部180は、ルート探索パケットの戻りオニオンを宛先オニオンとして、ルート通知パケットを生成する。
[ステップS25]ルーティング部180は、ノード管理テーブル190内の自ノードのレコード情報を、探索者(公開元ノード)の暗号鍵で暗号化して、ルート通知パケットに設定する。
[Step S24] The routing unit 180 generates a route notification packet using the return onion of the route search packet as a destination onion.
[Step S25] The routing unit 180 encrypts the record information of its own node in the node management table 190 with the encryption key of the searcher (public source node) and sets it in the route notification packet.

[ステップS26]ルーティング部180は、公開元ノードに対してルート通知パケットを返信する。その後、処理が終了する。
[ステップS27]ルーティング部180は、ルート探索パケットの転送履歴のフィールドに自ノードの匿名IDが登録されているかどうかを確認する。
[Step S26] The routing unit 180 returns a route notification packet to the publishing source node. Thereafter, the process ends.
[Step S27] The routing unit 180 confirms whether or not the anonymous ID of the own node is registered in the transfer history field of the route search packet.

[ステップS28]ルーティング部180は、自ノードを通過済のルート探索パケットか否かを判断する。すなわち、転送履歴のフィールドに自ノードの匿名IDが設定されていれば、自ノード通過済である。自ノード通過済であれば、処理がステップS29に進められる。自ノード通過済でなければ、処理がステップS30に進められる。   [Step S28] The routing unit 180 determines whether the route search packet has already passed through its own node. In other words, if the own node's anonymous ID is set in the transfer history field, the node has already passed. If it has passed through its own node, the process proceeds to step S29. If it has not passed through its own node, the process proceeds to step S30.

[ステップS29]ルーティング部180は、受信したルート探索パケットを破棄し、処理を終了する。
[ステップS30]ルーティング部180は、自分の匿名IDを転送履歴に設定する。さらに、ルーティング部180は、元の戻りオニオンを自ノードの秘密鍵で暗号化し、暗号化されたデータに自分のノードIDを加えた情報を新たな戻りオニオンとする。
[Step S29] The routing unit 180 discards the received route search packet and ends the process.
[Step S30] The routing unit 180 sets its own anonymous ID in the transfer history. Further, the routing unit 180 encrypts the original return onion with the private key of its own node, and sets information obtained by adding its own node ID to the encrypted data as a new return onion.

[ステップS31]ルーティング部180は、ルート探索パケットを送信してきたノードとプライベートIPのノードを除く隣接ノード全てに、ルート探索パケットを送信する。その後、処理が終了する。   [Step S31] The routing unit 180 transmits the route search packet to all the adjacent nodes except the node that has transmitted the route search packet and the private IP node. Thereafter, the process ends.

図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 message flag 521, a destination (To) 522, a transmission source (From) 523, a destination onion 524, a return onion 525, route information 526, and reply encryption temporary key information 527.

メッセージフラグ521は、パケットの種別を示している。ルート通知パケット520の場合には、ルート探索返信用のパケットであることを示す情報が設定される。
宛先522には、ルート通知パケット520の宛先が設定される。宛先は、ルート探索パケット510の送信元513に設定されている送信元ノードの匿名IDである。
The message flag 521 indicates the type of packet. In the case of the route notification packet 520, information indicating that it is a route search reply packet is set.
In the destination 522, the destination of the route notification packet 520 is set. The destination is the anonymous ID of the transmission source node set in the transmission source 513 of the route search packet 510.

送信元523には、仮送信元ノードの公開されたID(公開ID)が設定される。
宛先オニオン524は、宛先までのルートを示す情報である。これは、受信Peerにおいてルート探索パケット510の戻りオニオン515を転記したものである。ただし、宛先オニオン524は、パケットが中継される毎に過去の伝送経路を示す情報が削除される。
In the transmission source 523, a public ID (public ID) of the temporary transmission source node is set.
The destination onion 524 is information indicating a route to the destination. This is a copy of the return onion 515 of the route search packet 510 at the receiving Peer. However, in the destination onion 524, information indicating the past transmission path is deleted every time the packet is relayed.

戻りオニオン525は、ルート通知パケット520においては空欄となる。
ルート情報526は、匿名通信の伝送ルートを示す情報である。ルート情報には、伝送ルート上の各P2PオニオンノードのノードIDと固定公開鍵とが、送信元ノードの固定公開鍵で暗号化されて設定されている。また、ルート情報526には、ルート探索パケット510の返信暗号化用一時鍵情報516も含まれている。
The return onion 525 is blank in the route notification packet 520.
The route information 526 is information indicating a transmission route for anonymous communication. In the route information, the node ID and the fixed public key of each P2P onion node on the transmission route are set by being encrypted with the fixed public key of the transmission source node. The route information 526 also includes temporary key information 516 for reply encryption of the route search packet 510.

返信暗号化用一時鍵情報527は、ルート探索パケット510の返信暗号化用一時鍵情報516の内容がそのまま設定される。
ルート通知パケットを受信したノードは、他のノード宛であればルート通知パケットの中継処理を行い、自分宛であれば最適ルートの生成処理を行う。
In the reply encryption temporary key information 527, the contents of the reply encryption temporary key information 516 of the route search packet 510 are set as they are.
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 node 100 shown in FIG. 7 has received a route notification packet, the processing shown in FIG. 17 will be described along with step numbers.

[ステップS41]ルーティング部180は、ルート通知パケットを受信する。
[ステップS42]ルーティング部180は、自ノード宛のルート通知パケットか否かを確認する。自ノード宛か否かは、宛先のフィールドに自分の匿名IDが設定されているか否かで判断できる。
[Step S41] The routing unit 180 receives a route notification packet.
[Step S42] The routing unit 180 confirms whether or not the route notification packet is addressed to the own node. Whether or not it is addressed to its own node can be determined by whether or not its own anonymous ID is set in the destination field.

[ステップS43]ルーティング部180は、自ノード宛のルート通知パケットであれば処理をステップS44に進める。また、ルーティング部180は、自ノード宛のルート通知パケットでなければ、処理をステップS45に進める。   [Step S43] If the routing unit 180 is a route notification packet addressed to its own node, the process proceeds to Step S44. If the routing unit 180 is not a route notification packet addressed to its own node, the processing proceeds to step S45.

[ステップS44]ルーティング部180は、ルート通知パケットのルート情報フィールド内の情報を復号し、最適ルートを生成する。すなわち、ルート情報には、自ノード(仮公開元ノードまでのルート探索を行った検索元ノード)の公開鍵で暗号化された状態で、匿名通信路上の各ノードのノードIDと公開鍵とが含まれている。また、ルート情報内での各ノードの情報の配列が、そのまま匿名通信路上のノードの配列になっている。そこで、復号して得られるノードIDの配列が最適ルートとなる。   [Step S44] The routing unit 180 decodes the information in the route information field of the route notification packet to generate an optimum route. That is, the route information includes the node ID and the public key of each node on the anonymous communication path in a state encrypted with the public key of the own node (the search source node that has performed the route search to the temporary public source node). include. Further, the array of information of each node in the route information is the array of nodes on the anonymous communication path as it is. Therefore, the array of node IDs obtained by decoding is the optimum route.

[ステップS45]ルーティング部180は、宛先オニオンで示される次のノードをパケット送信先として決定する。
[ステップS46]ルーティング部180は、ノード管理テーブル190内の自ノードのレコード情報を探索者(公開元ノード)の暗号鍵で暗号化して、ルート通知パケットに設定する。
[Step S45] The routing unit 180 determines the next node indicated by the destination onion as the packet transmission destination.
[Step S46] The routing unit 180 encrypts the record information of its own node in the node management table 190 with the encryption key of the searcher (public source node), and sets it in the route notification packet.

[ステップS47]ルーティング部180は、ルート通知パケットを宛先オニオンで示された次のノードに返信する。その後、処理が終了する。
以上のようにして、公開元ノードから仮公開元ノードまでの匿名通信路を探索することができる。送信元ノードは、この匿名通信路に沿って通信されるオニオンルーティングのパケット(データパケット)を生成し、その内容(ペイロード)として公開情報のオニオンリファレンスを設定する。データパケットを匿名通信路を介して仮公開元ノードに送ることで、送信元ノードの匿名性を保つことができる。
[Step S47] The routing unit 180 returns a route notification packet to the next node indicated by the destination onion. Thereafter, the process ends.
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 message flag 531, a destination (To) 532, a transmission source (From) 533, a destination onion 534, a return & backtrack onion 535, and a payload 536.

メッセージフラグ531は、パケットの種別を示している。データパケット530の場合には、データ通信用のパケット(通常のパケット)であることを示す情報が設定される。   A message flag 531 indicates the type of packet. In the case of the data packet 530, information indicating a data communication packet (normal packet) is set.

宛先532には、データパケット530の宛先が設定される。宛先は、通信相手のノードの公開IDである。
送信元533には、パケット送信元となるノードの匿名IDが設定される。この匿名IDは、匿名通信路探索時とは別のものが使用される。
In the destination 532, the destination of the data packet 530 is set. The destination is the public ID of the communication partner node.
In the transmission source 533, an anonymous ID of a node serving as a packet transmission source is set. This anonymous ID is different from that used when searching for an anonymous communication path.

宛先オニオン534は、宛先までのルートを示す情報である。これは、取得した匿名通信路情報に基づいて生成される。宛先オニオン534は、匿名通信路上の各ノードにおいて、次のノードのみが認識できるように各ノードの公開鍵でルート情報を暗号化したものである。   The destination onion 534 is information indicating a route to the destination. This is generated based on the acquired anonymous communication path information. The destination onion 534 is obtained by encrypting route information with the public key of each node so that only the next node can be recognized at each node on the anonymous communication path.

戻り&バックトラックオニオン535は、戻りルートおよびバックトラック処理を行うときのルートを示すルート情報である。バックトラック処理は、予定したルートでの通信ができなかった場合に、他のルート経由でパケットを伝送する処理である。   The return & backtrack onion 535 is route information indicating a return route and a route when backtrack processing is performed. The backtrack process is a process for transmitting a packet via another route when communication on a planned route is not possible.

ペイロード536は、転送すべきメッセージを受信側のノードの公開鍵で暗号化したデータを含む実データである。たとえば、ペイロード536には、オニオンリファレンスや検索エージェントが含められる。   The payload 536 is actual data including data obtained by encrypting the message to be transferred with the public key of the receiving node. For example, the payload 536 includes an onion reference and a search agent.

このようなデータパケットが、匿名通信路を介して、送信元ノードと検索元ノードとの間で送受信される。これにより、通信の匿名性が保たれる。
このような機能を利用すれば、匿名性の高い電子掲示板システムを提供することができる。
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 node 601 and a searcher of the bulletin board uses the node 602. The nodes 611 to 617 form a tree structure, and these nodes 611 to 617 provide a function as an electronic bulletin board for performing information disclosure. In addition, the node 601 has selected the node 616 as the temporary disclosure source node. Further, the node 602 selects the node 617 as the temporary search source node.

なお、ノード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 node 601 is “A”, the node ID of the node 602 is “B”, the node ID of the node 611 is “P”, the node ID of the node 612 is “S”, and the node ID of the node 613 is “H”. ”, Node ID of node 614 is“ T ”, node ID of node 615 is“ R ”, node ID of node 616 is“ X ”, node ID of node 617 is“ Y ”, and node ID of node 621 is“ K ” ”, The node ID of the node 622 is“ L ”, the node ID of the node 623 is“ G ”, the node ID of the node 624 is“ E ”, the node ID of the node 625 is“ W ”, and the node ID of the node 626 is“ V ” "

掲示板への投稿者は、ノード601からノード616に対して、オニオンルーティングの技術を利用した匿名通信で、オニオンリファレンスを送信する。オニオンリファレンスは、ノード616から順次木構造上の親ノードに転送されていく。オニオンリファレンスを転送した各ノード616,614,613,612,611は、オニオンリファレンスをキャッシュする。   A contributor to the bulletin board transmits an onion reference from the node 601 to the node 616 by anonymous communication using onion routing technology. The onion reference is sequentially transferred from the node 616 to the parent node on the tree structure. Each node 616, 614, 613, 612, 611 that has transferred the onion reference caches the onion reference.

オニオンリファレンスには、投稿者が公開した情報のメタデータ(キーワードや作成日等)と共に、ノード601までの戻りルート情報が含まれている。このようにオニオンリファレンスが公開されたことによって、投稿者が投稿した情報が公開されたこととなる。   The onion reference includes return route information to the node 601 as well as metadata (keywords, creation date, etc.) of information published by the poster. As the onion reference is released in this manner, the information posted by the poster is released.

掲示板内の情報の検索者は、ノード602からノード617に対して、オニオンルーティングの技術を利用した匿名通信で、検索エージェントを送信する。検索エージェントは、ノード617から順次木構造上の親ノードに転送されていく。検索エージェントを転送した各ノード617,615,613,612,611は、検索エージェントをキャッシュする。   A searcher for information in the bulletin board transmits a search agent from the node 602 to the node 617 by anonymous communication using onion routing technology. The search agent is sequentially transferred from the node 617 to the parent node on the tree structure. Each node 617, 615, 613, 612, 611 that has transferred the search agent caches the search agent.

検索エージェントは、検索者が指定した検索キーワード等に基づいた検索条件を含んでいる。検索エージェントがキャッシュされたノードにおいて、検索エージェント内の検索条件に合致するオニオンリファレンスが検索される。その検索条件に、ノード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 node 601 matches the search condition, the search hits at the node 613. At this time, by connecting the return onion of the onion reference cached in the node 613 and the return onion of the search agent cached in the node 613, an anonymous communication path between the node 601 and the node 602 can be generated.

図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 node 611 is the anonymous ID of the node itself, the public information posted by the node ID “A” (onion reference), and the return onion between PSHHTXA. The node 611 also caches the node's own anonymous ID, the search agent with the node ID “B”, and the return onion between PSH-R-Y-B.

ノード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 node 612 is the anonymous ID of the node itself, the public information (onion reference) posted by the node ID “A”, and the return onion between SH-X-A. The node 612 also caches the node's own anonymous ID, the search agent with the node ID “B”, and the return onion between S—H—R—Y—B.

ノード613がキャッシュする情報の1つは、ノード自身の匿名ID、ノードID「A」が投稿した公開情報(オニオンリファレンス)、H−T−X−A間の戻りオニオンである。また、ノード613は、ノード自身の匿名ID、ノードID「B」の検索エージェント、H−R−Y−B間の戻りオニオンもキャッシュしている。   One of the information cached by the node 613 is the node's own anonymous ID, public information posted by the node ID “A” (onion reference), and return onion between H-T-X-A. The node 613 also caches the node's own anonymous ID, the search agent of the node ID “B”, and the return onion between HR-Y-B.

ノード614がキャッシュする情報は、ノード自身の匿名ID、ノードID「A」が投稿した公開情報(オニオンリファレンス)、T−X−A間の戻りオニオンである。ノード615がキャッシュする情報は、ノード自身の匿名ID、ノードID「B」の検索エージェント、R−Y−B間の戻りオニオンである。   The information cached by the node 614 is the anonymous ID of the node itself, the public information (onion reference) posted by the node ID “A”, and the return onion between TXA. The information cached by the node 615 is the anonymous ID of the node itself, the search agent of the node ID “B”, and the return onion between RYB.

ノード616がキャッシュする情報は、ノード自身の匿名ID、ノードID「A」が投稿した公開情報(オニオンリファレンス)、X−A間の戻りオニオンである。ノード617がキャッシュする情報は、ノード自身の匿名ID、ノードID「B」の検索エージェント、Y−B間の戻りオニオンである。   The information cached by the node 616 is the anonymous ID of the node itself, the public information (onion reference) posted by the node ID “A”, and the return onion between X-A. The information cached by the node 617 is the node's own anonymous ID, the search agent of the node ID “B”, and the return onion between YB.

図21は、生成された匿名通信路を示す図である。匿名通信路は、ノード613において、オニオンリファレンス側の戻りオニオンと、検索エージェント側の戻りオニオンとを繋げることで作成される。   FIG. 21 is a diagram illustrating the generated anonymous communication path. The anonymous communication path is created at node 613 by connecting the return onion on the onion reference side and the return onion on the search agent side.

ここで、ノード601とノード616との間は、ノード622を経由するルートとなっている。これは、オニオンリファレンスをノード616に送信した際に実際に通ったルートである。すなわち、戻りオニオンは、パケットを伝送しながら、その伝送を行ったノードの情報を付加していくことで作成されるため、送信時に実際に通ったルートが戻りルートとなる。   Here, the route between the node 601 and the node 616 is via the node 622. This is the route actually passed when the onion reference is transmitted to the node 616. In other words, the return onion is created by adding information on the node that transmitted the packet while transmitting the packet, so the route actually taken at the time of transmission becomes the return route.

同様に、ノード602とノード617との間は、ノード626を経由するルートとなっている。これは、検索エージェントをノード617に送信した際に実際に通ったルートである。   Similarly, the route between the node 602 and the node 617 is via the node 626. This is the route actually taken when the search agent is transmitted to the node 617.

このような匿名通信路を経由して、ノード601とノード602との間で通信を行うことができる。すなわち、ノード601が公開した情報の内容(ノード601内に保存されている)を、ノード602から参照することができる。   Communication can be performed between the node 601 and the node 602 via such an anonymous communication path. That is, the contents of information published by the node 601 (stored in the node 601) can be referenced from the node 602.

ところで、ノード622とノード626とを直接結ぶような匿名通信路を生成することもできる。
図22は、経路長を短縮させた匿名通信路生成例を示す図である。この例では、オニオンリファレンスを仮送信元ノードから親ノードへ転送する際に、オニオンリファレンスを送ってきた隣接ノードのノードID、IPアドレス、ポート番号等を含む中継ノード情報を同時に送信する。オニオンリファレンスを受け取った各ノードは、オニオンリファレンスと共に、中継ノード情報もキャッシュする。
By the way, an anonymous communication path that directly connects the node 622 and the node 626 can be generated.
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 node 622 having the node ID “L”. Therefore, the relay node information such as the node ID “L” of the node 622 and the IP address is set as a cache target. When a search hit occurs, the search agent transmits relay node information to the search source node together with the onion reference and various return onions.

検索元のノード602は、ノード622の情報を取得したことで、ノード601との間の匿名通信を行う際に、ノード624〜626の何れかから、ノード622にパケットを転送するような匿名通信路を生成することができる。すなわち、検索エージェントを送信したときに中継したノードは、ノード626であっても、ノード624またはノード625を経由した匿名通信路を生成することが可能となる。   When the search source node 602 acquires the information of the node 622 and performs anonymous communication with the node 601, the anonymous communication such as transferring a packet from any of the nodes 624 to 626 to the node 622. A path can be generated. That is, even if the node relayed when transmitting the search agent is the node 626, an anonymous communication path via the node 624 or the node 625 can be generated.

このとき、ノード624〜625に対して、ノード622のノードID、IPアドレス、ポート番号を通知する必要がある。
状態ST12に示すように、ノード625を経由した匿名通信路を生成して、その匿名通信路を介してノード601に対してパケットを送信すれば、実際にそのパケットが通った1本の通信路がノード601とノード602との間の匿名通信路として確定する。この例ではノード625とノード622とが直接パケットを受け渡すような匿名通信路が生成されている。
At this time, it is necessary to notify the nodes 624 to 625 of the node ID, IP address, and port number of the node 622.
As shown in state ST12, if an anonymous communication path via the node 625 is generated and a packet is transmitted to the node 601 via the anonymous communication path, one communication path through which the packet actually passes Is determined as an anonymous communication path between the node 601 and the node 602. In this example, an anonymous communication path is generated such that the node 625 and the node 622 directly deliver a packet.

このようにして、仮送信元ノードと仮検索元ノードとの間を抜かした匿名通信路を生成することができる。これにより、匿名通信が木構造の上位のノードを経由せずに済み、上位のノードに係る負荷を軽減することができる。   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 data packet 540 for grape routing includes a message flag 541, a destination (To) 542, a transmission source (From) 543, a block designation 544, a grape route 545, and a payload 546.

メッセージフラグ541は、パケットの種別を示している。データパケット540の場合には、グレープルーティング用のデータパケットであることを示す情報が設定される。
宛先542には、データパケット540の宛先が設定される。宛先は、ルート探索パケット510の送信元513に設定されている送信元ノードの匿名IDである。
A message flag 541 indicates the type of packet. In the case of the data packet 540, information indicating that it is a data packet for grape routing is set.
In the destination 542, the destination of the data packet 540 is set. The destination is the anonymous ID of the transmission source node set in the transmission source 513 of the route search packet 510.

送信元543には、仮送信元ノードの公開されたID(公開ID)が設定される。
ブロック指定544には、そのパケットを受け取ったノードが復号すべきグレープルート内のブロックの位置が設定される。
In the transmission source 543, the public ID (public ID) of the temporary transmission source node is set.
In the block designation 544, the position of the block in the grape root to be decoded by the node that has received the packet is set.

グレープルート545は、匿名通信路上の各ノードに通知すべき情報が、ブロックに分けて格納されている。たとえば、各ブロックは、対応するノードの公開鍵で暗号化されている。データパケット540を受け取ったノードは、ブロック指定544によって、自分が復号すべきブロックを認識できる。   The grape route 545 stores information to be notified to each node on the anonymous communication path in blocks. For example, each block is encrypted with the public key of the corresponding node. The node that has received the data packet 540 can recognize the block to be decoded by the block designation 544.

復号したブロックには、たとえば、匿名通信路上の次の隣接ノードのノード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 data packet 540 transfers the data packet 540 to the adjacent node corresponding to the node ID included in the decoded block. At this time, the content of the block designation 544 is replaced with the block position decoded by the next adjacent node.

ペイロード546は、転送すべきメッセージを受信のノードの公開鍵で暗号化したデータを含む実データである。
図24は、グレープルーティングを行うときのキャッシュ内容を示す図である。グレープルーティングを行う場合、オニオンリファレンスや検索エージェントをキャッシュする各ノードは、グレープルートや隣接ノードに関する情報も同時にキャッシュする。
The payload 546 is actual data including data obtained by encrypting a message to be transferred with the public key of the receiving node.
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 transmission source node 616 includes the node's own temporary identifier, the onion reference posted by the node 601 with the node ID “A”, the node 616 with the node ID “X”, and the node Table information such as an anonymous grape route with the node 601 with ID “A”, node IDs and IP addresses of the nodes 616, 621 to 623 is cached. The anonymous grape root to be cached also includes information indicating the position of the block to be decoded by the nodes 616, 621 to 623 in the grape root.

また、仮検索元であるノード617から上位の各ノードは、ノード自身の一時識別子、ノードID「B」の検索エージェント、ノードID「Y」のノード617とノードID「B」のノード602との間の匿名グレープルート、ノード617,624〜626のノードIDやIPアドレスなどテーブル情報をキャッシュする。なお、キャッシュする匿名グレープルートには、グレープルート内のノード617,624〜626が復号すべきブロックの位置を示す情報も含まれている。   Further, each node higher than the temporary search source node 617 includes a temporary identifier of the node itself, a search agent having a node ID “B”, a node 617 having a node ID “Y”, and a node 602 having a node ID “B”. Table information such as the anonymous grape route, node IDs and IP addresses of the nodes 617 and 624 to 626 is cached. Note that the anonymous grape root to be cached also includes information indicating the position of the block to be decoded by the nodes 617 and 624 to 626 in the grape root.

ここでノードID「H」のノード613で検索がヒットすれば、ノード613は、仮検索元ノード617に対して検索結果を送信する。この際、ノード615を経由せずに直接送信することができる。   If the search hits the node 613 with the node ID “H”, the node 613 transmits the search result to the temporary search source node 617. At this time, it can be directly transmitted without going through the node 615.

図25は、検索結果通知の様子を示す図である。ノード613は、ノード602とノード617との間のグレープルートに基づいて、ノード613からノード602にグレープルーティングで検索結果を送信するためのデータパケットを生成する。生成したデータパケットは、ノード617に対して送信される。そして、データパケットは、ノード617からノード602への匿名通信路を介し、グレープルーティングによって転送される。   FIG. 25 is a diagram illustrating a state of the search result notification. The node 613 generates a data packet for transmitting a search result from the node 613 to the node 602 based on the grape route between the node 602 and the node 617. The generated data packet is transmitted to the node 617. The data packet is transferred by grape routing via the anonymous communication path from the node 617 to the node 602.

検索結果には、オニオンリファレンスに加え、そのオニオンリファレンスや検索エージェントと共にキャッシュされていた情報も含まれる。すなわち、ノード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 node 601 and the node 616, a grape route between the node 602 and the node 617, and node IDs and IP addresses of the nodes 616, 617, and 621 to 626 are included in the search results. .

なお、ノード613は、ノード624〜ノード626のノードID、IPアドレス、およびグレープルート中の復号すべきブロックの位置を認識しているため、ノード624〜ノード626の何れかに対して、検索結果を示すデータパケットを送信することもできる。すなわち、ノード617を経由しないルート(図中、破線の矢印で示す)で検索結果を送信することができる。   Since the node 613 recognizes the node IDs and IP addresses of the nodes 624 to 626 and the position of the block to be decoded in the grape route, a search result is obtained for any of the nodes 624 to 626. It is also possible to transmit a data packet indicating That is, the search result can be transmitted through a route that does not pass through the node 617 (indicated by a dashed arrow in the figure).

なお、ノード602は、検索結果を受け取ったとき、検索結果を受け取ったことを示す応答を返す。このときは、常にノード617を経由する匿名通信路でグレープルーティングが行われる。すなわち、ノード624〜626では、グレープルーティングにおける隣接ノードであるノード617の情報しか認識できない。そのため、ノード602からノード613宛のパケットは、ノード624〜626の何れかを経由してノード617に渡される。そして、ノード617を介して、そのパケットがノード613に渡される。   When the node 602 receives the search result, the node 602 returns a response indicating that the search result has been received. At this time, grape routing is always performed in the anonymous communication path via the node 617. That is, the nodes 624 to 626 can recognize only the information of the node 617 that is an adjacent node in the grape routing. Therefore, a packet addressed to the node 613 from the node 602 is passed to the node 617 via any of the nodes 624 to 626. Then, the packet is passed to the node 613 via the node 617.

なお、ノード602とノード617との間は、グレープルーティングであるため、複数のルートが存在する。同様に、ノード601とノード616との間も、グレープルーティングであるため、複数のルートが存在する。   Note that there are a plurality of routes between the node 602 and the node 617 because of grape routing. Similarly, a plurality of routes exist between the node 601 and the node 616 because of the grape routing.

検索結果を受け取ったノード602は、検索結果に含まれる情報に基づいて、ノード601までのグレープルートを生成する。なお、ノード602は、検索結果としてノード616からノード601にパケットを送信するためのグレープルートを受け取っているとともに、ルート616のIPアドレスやノードID等を受け取っている。したがって、ノード602からノード601宛にパケットを送信する場合、ノード616を経由した匿名通信路で送信される。   The node 602 that has received the search result generates a grape route up to the node 601 based on the information included in the search result. Note that the node 602 receives a grape route for transmitting a packet from the node 616 to the node 601 as a search result, and also receives an IP address, a node ID, and the like of the route 616. Therefore, when a packet is transmitted from the node 602 to the node 601, the packet is transmitted through an anonymous communication path via the node 616.

図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 search source node 602 creates an anonymous grape route based on table information such as node IDs and IP addresses of the nodes 616, 621 to 623. For example, the node 602 has an anonymous grape route between the node 616 and the node 601, a route from the node 616 to the nodes 624 to 626 (indicated by a one-dot chain line in the figure), and a direction to return to the nodes 621 to 623. A route (indicated by a broken line in the figure) of the nodes 624 to 626 is created. If an anonymous grape route between the nodes 624 to 626 and the node 602 is added to the created route, an anonymous grape route from the node 601 to the node 602 is created.

ノード602によるノード624〜626からノード602向きの匿名グレープルート作成は、検索結果受信時に行うことができる。また、ノード624〜626からノード602向きの匿名グレープルートを検索エージェントに予め持たせて送信して、検索結果と共に受け取ることもできる。   The anonymous grape route creation from the nodes 624 to 626 to the node 602 by the node 602 can be performed when the search result is received. Further, an anonymous grape route for the node 602 from the nodes 624 to 626 can be sent in advance to the search agent and received together with the search result.

このとき、ノード624〜626に対して、ノード621〜623のノードIDやIPアドレスなどのテーブル情報を通知することで、ノード624〜626からノード621〜623へのパケット転送が可能となる。   At this time, packet information can be transferred from the nodes 624 to 626 to the nodes 621 to 623 by notifying the nodes 624 to 626 of the table information such as the node IDs and IP addresses of the nodes 621 to 623.

結果的に、ノード624〜626とノード616との間は双方向の通信が可能となる。ノード624〜626からノード621〜623へはパケットの転送が可能であるが、逆方向のパケット転送はできない。これは、ノード601とノード621との間の匿名グレープルートでは、ノード624〜626に対して隣接ノード616に対して送信することしか示されていないためである。そのため、ノード601からノード602へ匿名通信を行う際には、ノード616を経由する必要が生じる。   As a result, bidirectional communication is possible between the nodes 624 to 626 and the node 616. Although packets can be transferred from the nodes 624 to 626 to the nodes 621 to 623, packet transfer in the reverse direction is not possible. This is because the anonymous grape route between the node 601 and the node 621 only shows transmission to the adjacent node 616 with respect to the nodes 624 to 626. Therefore, when performing anonymous communication from the node 601 to the node 602, it is necessary to go through the node 616.

ところで、グレープルーティングでは、ノードの結託による不正への対応策として、「データを受け取るべきノードの集合以外からのものは破棄する」という処理を行わせることができる。たとえば、ノード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 nodes 621 to 623 discard packets from the adjacent nodes on the communication path from the node 601 and nodes other than the node 616. Similarly, the nodes 624 to 626 discard packets from nodes other than the adjacent node on the communication path from the node 602 and the node 616.

図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 node 601 and the node 602 is always performed via the node 616. Thereby, the administrator of the nodes 621 to 623 and the administrator of the nodes 624 to 626 collide, and the act of analyzing the anonymous communication path between the node 601 and the node 602 can be prevented.

また、グレープルーティングの匿名性や安全性のレベルを落とし、可用性(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 nodes 621 to 626 in the grape route plaintext, the contents can be rewritten as appropriate. As a result, mutual packet exchange between the nodes 621 to 623 and the nodes 624 to 626 becomes possible. That is, the route between the node 601 and the node 602 can have diversity. If the route is available, communication is possible via another route even if one node on the communication path stops.

以上説明したような実施の形態により、以下のような効果が得られる。
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 supplementary note 1, wherein:

(付記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 supplementary note 1, wherein:

(付記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 supplementary note 1, wherein:

(付記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 supplementary note 1, wherein:

(付記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 appendix 1, wherein it is determined whether or not the search condition is met.

(付記7) 前記公開情報格納手段は、前記公開情報記憶手段に記憶された前記公開情報が所定の条件を満たしたとき、前記公開情報を削除することを特徴とする付記1記載の情報検索方法。   (Supplementary note 7) The information search method according to supplementary note 1, wherein the public information storage means deletes the public information when the public information stored in the public information storage means satisfies a predetermined condition. .

(付記8) 前記検索条件格納手段は、前記検索条件記憶手段に記憶された前記検索条件が所定の条件を満たしたとき、前記検索条件を削除することを特徴とする付記1記載の情報検索方法。   (Supplementary note 8) The information search method according to supplementary note 1, wherein the search condition storage unit deletes the search condition when the search condition stored in the search condition storage unit satisfies a predetermined condition. .

(付記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.

実施の形態に適用される発明の概念図である。It is a conceptual diagram of the invention applied to embodiment. 本実施の形態のネットワーク構成例を示す図である。It is a figure which shows the network structural example of this Embodiment. 本発明の実施の形態に用いるノードのハードウェア構成例を示す図である。It is a figure which shows the hardware structural example of the node used for embodiment of this invention. 本発明の実施の形態における情報検索を示す概念図である。It is a conceptual diagram which shows the information search in embodiment of this invention. ネットワークの木構造を示す図である。It is a figure which shows the tree structure of a network. 木構造を利用した情報検索の概念図である。It is a conceptual diagram of the information search using a tree structure. ノード内の処理機能を示すブロック図である。It is a block diagram which shows the processing function in a node. ノード管理テーブルのデータ構造例を示す図である。It is a figure which shows the example of a data structure of a node management table. 情報公開時の処理を示す図である。It is a figure which shows the process at the time of information disclosure. 情報検索時の処理を示す図である。It is a figure which shows the process at the time of an information search. 検索ヒット時の処理を示す図である。It is a figure which shows the process at the time of a search hit. 匿名通信路形成過程の状態遷移を示す図である。It is a figure which shows the state transition of an anonymous communication path formation process. ルート探索開始処理の手順を示すフローチャートである。It is a flowchart which shows the procedure of a route search start process. ルート探索パケットのデータ構造例を示す図である。It is a figure which shows the data structure example of a route search packet. ルート探索パケットの受信処理の手順を示すフローチャートである。It is a flowchart which shows the procedure of the reception process of a route search packet. ルート通知パケットのデータ構造例を示す図である。It is a figure which shows the example of a data structure of a route notification packet. ルート通知パケット受信処理を示すフローチャートである。It is a flowchart which shows a route notification packet reception process. データパケットのデータ構造例を示す図である。It is a figure which shows the data structure example of a data packet. 匿名性の高い電子掲示板の構成例を示す図である。It is a figure which shows the structural example of an electronic bulletin board with high anonymity. 各ノードがキャッシュする情報を示す図である。It is a figure which shows the information which each node caches. 生成された匿名通信路を示す図である。It is a figure which shows the produced | generated anonymous communication path. 経路長を短縮させた匿名通信路生成例を示す図である。It is a figure which shows the example of anonymous communication path | route production | generation which shortened path length. グレープルーティングを行う際のデータパケットの構造例を示す図である。It is a figure which shows the structural example of the data packet at the time of performing grape routing. グレープルーティングを行うときのキャッシュ内容を示す図である。It is a figure which shows the cache content when performing grape routing. 検索結果通知の様子を示す図である。It is a figure which shows the mode of a search result notification. 検索元ノードと送信元ノードとの間の匿名通信路を示す図である。It is a figure which shows the anonymous communication path between a search origin node and a transmission origin node. ノードの結託を防止した場合の匿名通信路の例を示す図である。It is a figure which shows the example of the anonymous communication path at the time of preventing collusion of a node. 可用性を重視したときの匿名通信路の例を示す図である。It is a figure which shows the example of the anonymous communication path when placing importance on availability.

符号の説明Explanation of symbols

1 情報検索装置
1a 公開情報格納手段
1b 公開情報記憶手段
1c 情報公開要求転送手段
1d 検索条件格納手段
1e 検索条件記憶手段
1f 情報検索要求転送手段
1g 検索手段
1h 検索結果通知手段
2 公開元装置
3 検索元装置
4,5 子装置
6 親装置
7 情報公開要求
8 情報検索要求
DESCRIPTION OF SYMBOLS 1 Information retrieval apparatus 1a Public information storage means 1b Public information storage means 1c Information disclosure request transfer means 1d Search condition storage means 1e Search condition storage means 1f Information search request transfer means 1g Search means 1h Search result notification means 2 Publication source apparatus 3 Search Original device 4,5 Child device 6 Parent device 7 Information disclosure request 8 Information search request

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つの前記情報検索装置を選択し、選択した前記情報検索装置に対して前記情報公開要求を匿名通信によって送信する、
ことを特徴とする請求項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つの前記情報検索装置を選択し、選択した前記情報検索装置に対して、前記検索条件を含む前記情報検索要求を匿名通信によって送信する、
ことを特徴とする請求項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記載の情報検索方法。 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 claim 1. 前記検索手段による検索は、新たな前記公開情報が前記公開情報記憶手段に記憶されたとき、新たに記憶された前記公開情報が、既に前記検索条件記憶手段に記憶されている前記検索条件に合致するか否かを判断することを特徴とする請求項1記載の情報検索方法。 When the new public information is stored in the public information storage unit, the newly stored public information matches the search condition already stored in the search condition storage unit. The information retrieval method according to claim 1, wherein it is determined whether or not to perform . 前記公開情報格納手段は、前記公開情報記憶手段に記憶された前記公開情報が所定の条件を満たしたとき、前記公開情報を削除することを特徴とする請求項1記載の情報検索方法。 2. The information search method according to claim 1 , wherein the public information storage means deletes the public information when the public information stored in the public information storage means satisfies a predetermined condition . ピアツーピア方式のネットワーク上で公開されている情報を検索する情報検索方法において、  In an information search method for searching information published on a peer-to-peer network,
公開情報を含む情報公開要求の送信元である公開元装置が、情報の公開指示に応じて、前記ネットワーク内の複数の情報検索装置の中から少なくとも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.
ピアツーピア方式のネットワーク上で公開されている情報を検索する情報検索装置において、  In an information retrieval apparatus for retrieving information published on a peer-to-peer network,
他の装置から公開情報と、前記公開情報の送信元である公開元装置との間で通信経路の少なくとも一部を隠蔽した匿名通信を行うための第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:
ピアツーピア方式のネットワーク上で公開されている情報を検索するための情報検索プログラムにおいて、  In an information retrieval program for retrieving information published on a peer-to-peer network,
コンピュータに、  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.
JP2003398089A 2003-11-27 2003-11-27 Information search method, information search device, and information search program Expired - Fee Related JP4360883B2 (en)

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)

* Cited by examiner, † Cited by third party
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

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