WO2012176300A1 - 通信装置及び方法、並びにコンピュータプログラム - Google Patents

通信装置及び方法、並びにコンピュータプログラム Download PDF

Info

Publication number
WO2012176300A1
WO2012176300A1 PCT/JP2011/064393 JP2011064393W WO2012176300A1 WO 2012176300 A1 WO2012176300 A1 WO 2012176300A1 JP 2011064393 W JP2011064393 W JP 2011064393W WO 2012176300 A1 WO2012176300 A1 WO 2012176300A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
data
adjacent nodes
holding
received data
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.)
Ceased
Application number
PCT/JP2011/064393
Other languages
English (en)
French (fr)
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.)
Pioneer Corp
Original Assignee
Pioneer Corp
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 Pioneer Corp filed Critical Pioneer Corp
Priority to PCT/JP2011/064393 priority Critical patent/WO2012176300A1/ja
Publication of WO2012176300A1 publication Critical patent/WO2012176300A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport

Definitions

  • the present invention relates to a communication apparatus and method for transmitting and receiving data by a peer-to-peer (P2P) method, and a technical field of computer programs.
  • P2P peer-to-peer
  • DHT distributed Hashing Table
  • Non-Patent Document 2 As application software using the conventional peer-to-peer technology used in this type of communication device, for example, software that operates in a pure peer-to-peer system that does not require a central server for file sharing has been proposed (Non-Patent Document 2). reference).
  • data is distributed in a conventional peer-to-peer network by periodically transferring data from one node to a node adjacent to the one node, and (ii) one When one node acquires desired data, one node first requests a neighboring node to search for a node that owns the desired data, and then, based on the search result, the desired node (Iii) When an adjacent node is set, a node having a high correlation with the keyword input by the user is set as the adjacent node, etc. Are listed.
  • the present invention has been made in view of the above problems, for example, and provides a communication device and method, and a computer program that can suppress the occurrence of overflow while improving searchability in a peer-to-peer network. Is an issue.
  • the communication device of the present invention is a communication device that constructs a network by a peer-to-peer method, and a receiving unit that can receive data transmitted to the node that is the communication device; Confirmation means for confirming node state information which is information indicating a state relating to one or more adjacent nodes of the own node, and when data is received by the reception means, according to the confirmed node state information, Holding determination means for determining whether or not to hold the received data; and holding means for holding the received data on condition that it is determined to hold the received data.
  • the communication apparatus constructs a network by a peer-to-peer method.
  • the “network” typically means a virtual network (so-called overlay network) built on an existing network based on the existing network.
  • a receiving means such as a network interface can receive data transmitted to its own node that is the communication device.
  • a confirmation unit including a memory, a processor, etc. confirms node state information that is information indicating a state related to one or more adjacent nodes of the own node.
  • the confirmation means, for each adjacent node, the file name or identification information of the content data held by each adjacent node, or the free capacity or available capacity of each recording device provided in the adjacent node Request information related to capacity, node performance, net bandwidth, node participation rate, node order, etc., and check node status information based on information transmitted from each adjacent node.
  • the holding determination unit including a memory, a processor, and the like includes node status information confirmed when data (typically, content data such as an image, a document, a song, and a moving image) is received by the receiving unit. In response to this, it is determined whether or not to retain the received data.
  • a holding unit including a memory, a processor, and the like holds the received data on the condition that the holding determination unit determines to hold the received data.
  • the holding determination unit determines to hold the received data when the number of adjacent nodes holding the same data as the received data is less than a predetermined number.
  • the holding determination unit compares the free capacity or the usable capacity of the recording device of the adjacent node with the free capacity or the usable capacity of the recording device of the own node, and the free capacity or the usable capacity of the recording device of the own node. When the capacity is larger than the free capacity or the usable capacity of the recording device of the adjacent node, it is determined to hold the received data.
  • the own node transfers the received data to at least one of the adjacent nodes without holding the received data.
  • the communication apparatus of the present invention it is determined whether or not the received data is held in the own node according to the node state information related to the adjacent node confirmed by the confirmation unit. Therefore, data can be appropriately distributed in the peer-to-peer network, and the amount of data held by each node that constructs the peer-to-peer network can be suppressed. In addition, since data is appropriately distributed in a peer-to-peer network, searchability can be improved.
  • the communication apparatus of the present invention it is possible to suppress the occurrence of overflow while improving the searchability in the peer-to-peer network.
  • the confirmation unit confirms the node state information by confirming data held in each of the one or more adjacent nodes for each of the one or more adjacent nodes.
  • the holding determination unit determines whether to hold the received data according to the number of adjacent nodes holding the same data as the received data.
  • the confirmation unit detects, for each of the one or more adjacent nodes, a free capacity or an available capacity of a recording device included in each of the one or more adjacent nodes.
  • the node status information is confirmed, and the holding determination unit determines whether to hold the received data according to the detected free capacity or available capacity.
  • the confirmation unit confirms data held in each of the one or more adjacent nodes and the one or more adjacent nodes for each of the one or more adjacent nodes.
  • the node state information is confirmed by confirming the feature amount relating to each node, and the retention determination means includes the number of adjacent nodes retaining the same data as the received data, and the one or more It is determined whether to hold the received data according to the feature amount related to each of the adjacent nodes.
  • the “feature” means, for example, node performance, net bandwidth, node participation rate, node order, and the like.
  • the confirmation unit confirms data held in each of the one or more adjacent nodes and the one or more adjacent nodes for each of the one or more adjacent nodes.
  • the node state information is confirmed by confirming a feature amount associated with each node, and the retention determination unit is configured to determine the number of adjacent nodes that retain the same data as the received data, or the one or more It is determined whether to hold the received data according to the feature amount related to each of the adjacent nodes.
  • the confirmation unit sequentially confirms the node state information.
  • the node state information can be kept up-to-date relatively easily, which is very advantageous in practice.
  • At least a part of the one or more adjacent nodes includes an associated node that is a node used by an associated user who is a user related to the own user who is the user of the own node. Yes.
  • the related nodes that are estimated to transmit and receive data relatively frequently with the own node constitute at least part of the adjacent nodes of the own node, the communication efficiency can be improved. Can be planned.
  • the “related user” is, for example, the user's family / friend / acquaintance, the resident of the area where the user is living, or the community participant on the existing network where the user is participating. Or a person who is near the place where the user is present, a person who likes a place that the user likes or is close to the favorite place, a person who has a hobby similar to the user, and the like.
  • the communication method of the present invention is a communication method in a communication device that has a receiving means capable of receiving data transmitted to its own node while constructing a network by a peer-to-peer method, A confirmation step of confirming node state information which is information indicating a state related to one or more adjacent nodes of the own node, and when data is received by the receiving unit, according to the confirmed node state information, A holding determination step for determining whether to hold the received data; and a holding step for holding the received data on the condition that it is determined to hold the received data.
  • the occurrence of overflow can be suppressed while improving the searchability in the peer-to-peer network.
  • the communication method of the present invention can also adopt various aspects similar to the various aspects of the communication apparatus of the present invention described above.
  • the computer program of the present invention is a communication device that constructs a network by a peer-to-peer method, and is capable of receiving data transmitted to its own node as the communication device.
  • Functioning as a communication apparatus comprising: a holding determination unit that determines whether to hold the received data; and a holding unit that holds the received data on the condition that it is determined to hold the received data
  • the information recording medium of the present invention records the above-described computer program of the present invention (including various aspects thereof) in order to solve the above problems.
  • the information recording medium of the present invention similarly to the computer program of the present invention described above, it is possible to suitably suppress a decrease in communication efficiency.
  • FIG. 1 is a schematic diagram illustrating an outline of a data communication apparatus according to the first embodiment
  • FIG. 2 is a block diagram illustrating a configuration of the data communication apparatus according to the first embodiment. 1 and 2 show only members directly related to the present embodiment, and other members are not shown.
  • the data communication apparatus 10 is connected to another data communication apparatus 21 and a node management server 22 via a network 30 such as a WAN (Wide Area Network). .
  • the node management server 22 stores information related to nodes constituting a peer-to-peer network. Note that the configuration of the data communication device 21 is the same as the configuration of the data communication device 10, and therefore, the details thereof are omitted.
  • the node management server 22 can also have a function as a data communication device, and can be a node.
  • the data communication apparatus 10 includes a CPU (Central Processing Unit) 11, a user memory 12, a content memory 13, a node memory 14, and a network IF (Interface) 15.
  • the CPU 11, user memory 12, content memory 13, node memory 14, and network IF 15 are connected to each other via a bus 16.
  • the user memory 12 for example, information relating to a user (for example, a friend / acquaintance, a company colleague, a school classmate, etc.) related to the user of the data communication apparatus 10 (hereinafter referred to as “own user” as appropriate). Certain user information (hereinafter referred to as “social user information” as appropriate) is stored.
  • the social user information includes, for example, a user ID as identification information for identifying one user from other users, a list of nodes used by the one user, a profile of the one user, and the like. It is.
  • the social user information may be input by the own user, or may be acquired from the node management server 22 or the data communication device 21 via the network 30.
  • the content memory 13 stores content information that is information related to content such as image data, text data, music data, and moving image data.
  • the content information includes, for example, a content ID as identification information for identifying one content from other content, capacity information indicating the data capacity of the one content, a description related to the one content, the one content Entity data, etc. are included.
  • the node memory 14 stores node information that is information related to the adjacent node of the data communication device 10 if an adjacent node is set.
  • the node memory 14 may store not only node information related to the adjacent node of the data communication apparatus 10 but also node information related to the adjacent node of the adjacent node. If comprised in this way, the data communication apparatus 10 can recognize the cluster relationship of the said data communication apparatus 10 vicinity comparatively easily.
  • the node information may include, for example, a node ID, an IP address, a port number, a URL (Uniform Resource Locator), a manufacturer name, model information, and the like.
  • the CPU 11 includes a social management unit 111, a content management unit 112, an adjacent node management unit 113, a social user acquisition unit 114, a content input / output unit 115, a content search / distribution request input unit 116, and a user search request input unit 117.
  • the own user information acquisition unit 118 and the data holding determination unit 119 are provided.
  • the social user acquisition unit 114 acquires information indicating a user ID related to another user and a social relationship related to the other user (that is, a relationship with the own user).
  • social relationships include, for example, friends / acquaintances, persons interested in the user, participants in the community on the network where the user participates, content similar to the content and devices owned by the user, For example, the person who owns the device, the person who lives in the vicinity of the current user, or the person near the current location.
  • the own user information acquisition unit 118 acquires user information related to the own user (hereinafter, referred to as “own user information” as appropriate).
  • the own user information includes a user ID related to the own user, a profile of the own user, information related to a node used by the own user other than the data communication apparatus 10, and the like.
  • the social management unit 111 manages user information (that is, own user information and social user information) stored in the user memory 12, and information indicating the user ID and the social relationship acquired by the social user acquisition unit 114.
  • the social user information is acquired based on and stored in the user memory 12.
  • the social management unit 111 further sets an adjacent node of the data communication device 10 based on at least social user information. Specifically, for example, the social management unit 111 calculates the similarity between the own user information and the social user information, and sets a node corresponding to the social user information with the relatively high calculated similarity as data communication. Set as an adjacent node of the device 10.
  • the adjacent node management unit 113 manages node information related to the adjacent node set by the social management unit 111 and stored in the node memory 14.
  • the data holding determination unit 119 determines whether or not to hold the data received by the data communication apparatus 10 according to the data holding status held by the adjacent node acquired by the data holding status transmission / reception unit 154 described later. decide.
  • the content input / output unit 115 is, for example, an MPEG (Moving Picture Experts Group) decoder and video terminal, a DA (Digital to Analog) converter and speaker output, moving image data, music data, text data, etc. in a predetermined file format. May be configured by an output unit capable of outputting in the above, a video input terminal, an audio input terminal, an input unit capable of inputting a predetermined file format, and the like.
  • MPEG Motion Picture Experts Group
  • DA Digital to Analog converter and speaker output
  • Each of social user acquisition unit 114, content input / output unit 115, content search / distribution request input unit 116, user search request input unit 117, and own user information acquisition unit 118 is connected via bus 16 (see FIG. 1). For example, it is also connected to a user interface (not shown).
  • the network IF 15 includes a node information transmission / reception unit 151, a data search / acquisition unit 152, a data distribution unit 153, and a data holding status transmission / reception unit 154.
  • the node information transmission / reception unit 151 uses the node ID based on the node ID included in the social user information stored in the user memory 12 (that is, the node ID constituting the list of nodes used by one user). Node information including an address and a port number related to the node corresponding to is acquired.
  • the node information may be acquired from the node management server 22 or the data communication device 21 via the network 30, for example.
  • the data search / acquisition unit 152 is a node adjacent to the data communication device 10 in order for the data communication device 10 to acquire user information and the like related to another user (that is, a user who uses the one data communication device 21). In response to this, a search request relating to the other user is transmitted, and user information relating to the other user as an answer to the search request is acquired. The data search / acquisition unit 152 further transmits user information related to the user requested from the other node to the other node.
  • the data distribution unit 153 transmits its own user information and the like to the adjacent node of the data communication apparatus 10 and receives user information and the like related to other users from the adjacent node of the data communication apparatus 10.
  • the data holding status transmission / reception unit 154 obtains the holding status of the data held by the adjacent node, and displays the holding status of the data held by the own node (that is, the data communication apparatus 10) from the adjacent node. Answer on request.
  • Adjacent node setting process The adjacent node setting process in the data communication apparatus 10 configured as described above will be described with reference to the flowcharts of FIGS.
  • the social user acquisition unit 114 acquires a user ID related to a user related to the user (step S101).
  • the social management unit 111 acquires social user information corresponding to the user ID from the node management server 22 based on the acquired user ID (step S102).
  • the social management unit 111 stores the acquired social user information in the user memory 12 (step S103). Subsequently, the social management unit 111 determines the node used by the user related to the stored social user information as an adjacent node (step S104). Next, the node management unit 113 stores the node information related to the adjacent node determined by the social management unit 111 in the node memory 14 (step S105).
  • the social management unit 111 corresponds to one or more pieces of node information stored in the node memory 14 based on the user ID acquired by the social management unit 114. At least one of the adjacent nodes is requested to acquire social user information corresponding to the acquired user ID. As a result of the request, the social management unit 111 acquires social user information from the adjacent node (step S201). Then, the social management part 111 performs the process after step S103 mentioned above.
  • the social management unit 111 calculates, for example, the similarity between the own user information and the social user information, and sets the calculated similarity to the calculated similarity.
  • the adjacent node may be set accordingly.
  • a node used by a user related to the user is set as an adjacent node of the data communication apparatus 10. For this reason, generation of useless traffic can be suppressed as compared with a case where a node used by a user who is not related to the user at all is set as an adjacent node of the data communication apparatus 10. Therefore, relatively high-speed data communication can be performed. Further, a peer-to-peer network having a small world property, a scale-free property, and a cluster property can be constructed relatively easily.
  • step S301 when the content data transmitted to the data communication device 10 is received by the network IF 15 (step S301), the data holding status transmission / reception unit 154 For example, a signal requesting information indicating the holding status of the same content data (hereinafter referred to as “designated data”) as the content data received by the network IF 15 is transmitted.
  • designated data a signal requesting information indicating the holding status of the same content data
  • the data holding status transmission / reception unit 154 receives the signal indicating the holding status of the designated data transmitted from the adjacent node, thereby acquiring information indicating the holding status of the specified data related to one or more adjacent nodes ( Step S302).
  • the data holding status transmission / reception unit 154 may sequentially acquire information indicating the holding status of the content data held by one or more adjacent nodes regardless of whether the content data is received by the network IF 15 or not. Good.
  • the data holding determination unit 119 determines whether there are, for example, two or more adjacent nodes holding the designated data based on the acquired information indicating the holding status (step S303).
  • the data holding determination unit 119 holds the content data received by the network IF 15 in the data communication apparatus 10. And instructing the content management unit 112 to store the received content data in the content memory 13 (step S304).
  • the data holding determination unit 119 instructs the social management unit 111 to transfer the received content data to at least one adjacent node.
  • the social management unit 111 acquires information related to the adjacent node from the adjacent node management unit 113, refers to the acquired information related to the adjacent node, and receives the received content data via the network IF 15. Transfer to at least one adjacent node (step S305).
  • step S303 if it is determined that there are two or more adjacent nodes holding the designated data (step S303: No), the process of step S305 is executed.
  • step S305 may be executed after the process of step S301 and before the process of step S302. That is, when content data is received by the network IF 15, first, the received content data is transferred to at least one adjacent node, and then the received content data is held in the data communication apparatus 10 Whether or not to do so may be determined.
  • the “data communication device 10”, “network IF 15”, “data retention status transmission / reception unit 154”, “data retention determination unit 119”, and “content memory 13” according to the present embodiment are respectively “ It is an example of “own node”, “reception unit”, “confirmation unit”, “holding determination unit”, and “holding unit”.
  • the “user who is related to the user” according to the present embodiment is an example of the “related user” according to the present invention.
  • Second Embodiment A second embodiment of the communication apparatus according to the present invention will be described with reference to FIG.
  • the second embodiment is the same as the configuration of the first embodiment except that data holding / transfer processing is partially different. Therefore, the description of the second embodiment that is the same as that of the first embodiment is omitted, and common portions in the drawing are denoted by the same reference numerals, and only the points that are fundamentally different refer to the flowchart of FIG. To explain.
  • step S401 when content data transmitted to the data communication device 10 is received by the network IF 15 (step S401), the received content data is sent from the data communication device 10 to at least one piece.
  • step S402 the data holding status transmission / reception unit 154 transmits a signal requesting information indicating the feature amount related to the adjacent node to one or more adjacent nodes.
  • the data holding status transmission / reception unit 154 receives the signal indicating the feature amount related to the adjacent node transmitted from the adjacent node, thereby confirming the node state information related to one or more adjacent nodes (step S302).
  • the “feature amount related to the adjacent node” is, for example, (i) free capacity or usable capacity of content memory included in the adjacent node, (ii) network bandwidth and / or hardware performance related to the adjacent node, (iii) The participation rate in the network by the peer-to-peer method, (iv) the degree of the node related to the adjacent node (that is, the number of adjacent nodes of the adjacent node), and the like.
  • the own user information acquisition unit 118 acquires a feature amount related to the own node (that is, the data communication apparatus 10) as a part of the own user information.
  • the data retention determination unit 119 compares the feature amount related to the adjacent node with the feature amount related to the own node, and determines whether or not to retain the received content data (step S404).
  • the data holding determination unit 119 receives the data on the condition that the free capacity or the usable capacity of the content memory 13 of the own node is larger than the free capacity or the usable capacity of the content memory included in the adjacent node. It is determined that the stored content data is retained. Alternatively, the data retention determination unit 119 determines to retain the received content data on the condition that the network bandwidth or hardware performance of the own node is higher than the network bandwidth or hardware performance of the adjacent node. Alternatively, the data holding determination unit 119 determines to hold the received content data on the condition that the network participation rate of the own node is higher than the network participation rate of the adjacent node. Alternatively, the data holding determination unit 119 determines to hold the received content data on the condition that the node order related to the own node is higher than the node order related to the adjacent node.
  • step S404: Yes If it is determined to hold the received content data (step S404: Yes), the data holding determination unit 119 determines to hold the content data received by the network IF 15 in the data communication apparatus 10, and the reception The content management unit 112 is instructed to store the content data thus stored in the content memory 13 (step S405). On the other hand, when it is determined not to hold the received content data (step S404: No), the process is temporarily terminated.
  • a third embodiment of the communication apparatus according to the present invention will be described with reference to FIG.
  • the third embodiment is the same as the configuration of the first embodiment except that the data holding / transfer process is partially different. Accordingly, the description of the third embodiment that is the same as that of the first embodiment is omitted, and common portions in the drawing are denoted by the same reference numerals, and only the points that are fundamentally different refer to the flowchart of FIG. To explain.
  • step S501 when content data transmitted to the data communication device 10 is received by the network IF 15 (step S501), the received content data is sent from the data communication device 10 to at least one piece.
  • the data holding status transmission / reception unit 154 forwards the information to the adjacent node (step S502), and the data holding status transmission / reception unit 154 requests a signal requesting information indicating the holding status of the designated data to one or more adjacent nodes, and features related to the adjacent node A signal requesting information indicating the quantity is transmitted.
  • the data holding status transmission / reception unit 154 receives a signal indicating the holding status of the designated data transmitted from the adjacent node and a signal indicating the feature amount related to the adjacent node, thereby relating to one or more adjacent nodes.
  • Information indicating the data holding status is acquired (step S503).
  • the data holding determination unit 119 determines whether there are, for example, two or more adjacent nodes holding the designated data based on the acquired information indicating the holding status (step S504). When it is determined that there are not two or more adjacent nodes that hold the designated data (step S504: Yes), the data holding determination unit 119 compares the feature amount related to the adjacent node with the feature amount related to the own node. Then, it is determined whether or not the received content data is held (step S505).
  • step S505 When it is determined to hold the received content data (step S505: Yes), the data holding determination unit 119 determines to hold the content data received by the network IF 15 in the data communication apparatus 10, and the reception The content management unit 112 is instructed to store the content data thus stored in the content memory 13 (step S506).
  • step S504 If it is determined in the process of step S504 that there are two or more adjacent nodes that hold the designated data (step S504: No), or if the received content data is not held in the process of step S505 If it is determined (step S505: No), the process is once terminated.
  • step S504 when it is determined in the process of step S504 that there are not two or more adjacent nodes holding the designated data (step S504: Yes), the data holding determination unit 119 receives the content data received by the network IF 15 Is stored in the data communication device 10, and the content management unit 112 is instructed to store the received content data in the content memory 13 (step S506).
  • the data holding determination unit 119 calculates the feature amount related to the adjacent node and the feature amount related to the own node. A comparison is made to determine whether or not the received content data is to be held (step S505).
  • step S505 When it is determined to hold the received content data (step S505: Yes), the data holding determination unit 119 determines to hold the content data received by the network IF 15 in the data communication apparatus 10, and the reception The content management unit 112 is instructed to store the content data thus stored in the content memory 13 (step S506). On the other hand, when it is determined not to hold the received content data (step S505: No), the process is temporarily terminated.
  • the present invention is not limited to the above-described embodiment, and can be appropriately changed without departing from the gist or concept of the invention that can be read from the claims and the entire specification, and a communication apparatus and method with such a change.
  • computer programs are also included in the technical scope of the present invention.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

 通信装置(10)は、ピアツーピア方式によりネットワークを構築する通信装置である。通信装置は、当該通信装置である自ノードに対して送信されたデータを受信可能な受信手段(15)と、自ノードの一以上の隣接ノードに係る状態を示す情報であるノード状態情報を確認する確認手段(154)と、受信手段によりデータが受信された際に、確認されたノード状態情報に応じて、該受信されたデータを保持するか否かを決定する保持決定手段(119)と、該受信されたデータを保持すると決定されたことを条件に、該受信されたデータを保持する保持手段(13)と、を備える。

Description

通信装置及び方法、並びにコンピュータプログラム
 本発明は、ピアツーピア(Peer to Peer:P2P)方式によりデータの送受信を行う通信装置及び方法、並びにコンピュータプログラムの技術分野に関する。
 この種の通信装置で用いられるピアツーピア方式として、例えば、分散ハッシュテーブル(Distributed Hashing Table:DHT)にスモールワールド性を持たせた方式が提案されている(非特許文献1参照)。
 或いは、この種の通信装置で用いられる従来のピアツーピア技術を利用したアプリケーションソフトとして、例えば、ファイルの共有に中央サーバを必要としないピュアピアツーピア方式で動作するソフトが提案されている(非特許文献2参照)。
 ここでは特に、(i)一のノードから該一のノードに隣接するノードに対して定期的にデータが転送されることにより、従来のピアツーピアネットワーク内にデータが流通されること、(ii)一のノードが所望のデータを取得する場合には、一のノードは、先ず、隣接ノードに対して該所望のデータを所有するノードの検索依頼をし、次に、検索結果に基づいて、該所望のデータを所有するノードから直接データを取得すること、(iii)隣接ノードが設定される際には、ユーザにより入力されたキーワードとの相関の高いノードが隣接ノードとして設定されること、等が記載されている。
G.S.Manku, M.Bawa, and P.Raghavan, "Symphony: Distributed Hashing in a Small World," in USITS 2003 (4th USENIX Symposium on Internet Technologies and Systems), p127-140, March 2003. 金子勇著、「Winnyの技術」、アスキー書籍編集部編集、株式会社アスキー、2005年10月25日初版発行
 ピアツーピア方式のネットワークでは、複数のノードが同一のデータを保持することが、検索性の向上に有効である反面、各ノードが受信された様々なデータの全てを保持しようとすると、オーバーフローする可能性があるという技術的問題点がある。
 本発明は、例えば上記問題点に鑑みてなされたものであり、ピアツーピア方式のネットワークにおける検索性を向上させつつ、オーバーフローの発生を抑制することができる通信装置及び方法、並びにコンピュータプログラムを提供することを課題とする。
 本発明の通信装置は、上記課題を解決するために、ピアツーピア方式によりネットワークを構築する通信装置であって、当該通信装置である自ノードに対して送信されたデータを受信可能な受信手段と、前記自ノードの一以上の隣接ノードに係る状態を示す情報であるノード状態情報を確認する確認手段と、前記受信手段によりデータが受信された際に、前記確認されたノード状態情報に応じて、前記受信されたデータを保持するか否かを決定する保持決定手段と、前記受信されたデータを保持すると決定されたことを条件に、前記受信されたデータを保持する保持手段と、を備える。
 本発明の通信装置によれば、当該通信装置は、ピアツーピア方式によりネットワークを構築する。本発明に係る「ネットワーク」とは、典型的には、既存のネットワークを基盤として、該既存のネットワーク上に構築された仮想的なネットワーク(所謂、オーバーレイネットワーク)を意味する。
 例えばネットワークインターフェイス等である受信手段は、当該通信装置である自ノードに対して送信されたデータを受信可能である。
 例えばメモリ、プロセッサ等を備えてなる確認手段は、自ノードの一以上の隣接ノードに係る状態を示す情報であるノード状態情報を確認する。具体的には例えば、確認手段は、隣接ノード各々に対して、該隣接ノード各々が保持しているコンテンツデータのファイル名若しくは識別情報、又は該隣接ノードが備える記録装置各々の空き容量若しくは利用可能容量、ノードの性能、ネット帯域、ノード参加率、ノード次数、等に係る情報を要求し、隣接ノード各々から送信された情報に基づいて、ノード状態情報を確認する。
 例えばメモリ、プロセッサ等を備えてなる保持決定手段は、受信手段によりデータ(典型的には例えば、画像、文書、楽曲、動画等のコンテンツデータ)が受信された際に、確認されたノード状態情報に応じて、該受信されたデータを保持するか否かを決定する。例えばメモリ、プロセッサ等を備えてなる保持手段は、保持決定手段により、受信されたデータを保持すると決定されたことを条件に、該受信されたデータを保持する。
 具体的には例えば、保持決定手段は、受信されたデータと同一のデータを保持している隣接ノードが所定数より少ない場合に、該受信されたデータを保持すると決定する。或いは例えば、保持決定手段は、隣接ノードの記録装置の空き容量又は利用可能容量と、自ノードの記録装置の空き容量又は利用可能容量とを比較し、自ノードの記録装置の空き容量又は利用可能容量が、隣接ノードの記録装置の空き容量又は利用可能容量よりも余裕がある場合に、該受信されたデータを保持すると決定する。
 尚、保持決定手段により、受信されたデータを保持しないと決定された場合、自ノードは、該受信されたデータを保持せずに、隣接ノードの少なくとも一つに対して転送する。
 このように、本発明の通信装置では、確認手段より確認された隣接ノードに係るノード状態情報に応じて、受信されたデータを、自ノードに保持するか否かが決定される。このため、ピアツーピア方式のネットワーク内に、適切にデータを分布させることができ、もって、該ピアツーピア方式のネットワークを構築する各ノードが保持するデータ量を抑制することができる。加えて、ピアツーピア方式のネットワーク内に適切にデータが分布されるので、検索性を向上させることができる。
 以上の結果、本発明の通信装置によれば、ピアツーピア方式のネットワークにおける検索性を向上させつつ、オーバーフローの発生を抑制することができる。
 本発明の通信装置の一態様では、前記確認手段は、前記一以上の隣接ノード各々について、前記一以上の隣接ノード各々が保持しているデータを確認することによって、前記ノード状態情報を確認し、前記保持決定手段は、前記受信されたデータと同一のデータを保持している隣接ノードの数に応じて、前記受信されたデータを保持するか否かを決定する。
 この態様によれば、比較的容易にして、受信されたデータを保持するか否かを決定することができ、実用上非常に有利である。
 或いは、本発明の通信装置の他の態様では、前記確認手段は、前記一以上の隣接ノード各々について、前記一以上の隣接ノード各々が備える記録装置の空き容量又は利用可能容量を検出することによって、前記ノード状態情報を確認し、前記保持決定手段は、前記検出された空き容量又は利用可能容量に応じて、前記受信されたデータを保持するか否かを決定する。
 この態様によれば、比較的容易にして、受信されたデータを保持するか否かを決定することができ、実用上非常に有利である。
 或いは、本発明の通信装置の他の態様では、前記確認手段は、前記一以上の隣接ノード各々について、前記一以上の隣接ノード各々が保持しているデータを確認すると共に、前記一以上の隣接ノード各々に係る特徴量を確認することによって、前記ノード状態情報を確認し、前記保持決定手段は、前記受信されたデータと同一のデータを保持している隣接ノードの数、及び、前記一以上の隣接ノード各々に係る特徴量に応じて、前記受信されたデータを保持するか否かを決定する。
 この態様によれば、比較的容易にして、受信されたデータを保持するか否かを決定することができ、実用上非常に有利である。
 尚、「特徴量」は、例えばノードの性能、ネット帯域、ノード参加率、ノード次数等を意味する。
 或いは、本発明の通信装置の他の態様では、前記確認手段は、前記一以上の隣接ノード各々について、前記一以上の隣接ノード各々が保持しているデータを確認すると共に、前記一以上の隣接ノード各々に係る特徴量を確認することによって、前記ノード状態情報を確認し、前記保持決定手段は、前記受信されたデータと同一のデータを保持している隣接ノードの数、又は、前記一以上の隣接ノード各々に係る特徴量に応じて、前記受信されたデータを保持するか否かを決定する。
 この態様によれば、比較的容易にして、受信されたデータを保持するか否かを決定することができ、実用上非常に有利である。
 本発明の他の態様では、前記確認手段は、逐次、前記ノード状態情報を確認する。
 この態様によれば、比較的容易にして、ノード状態情報を最新の状態に保つことができ、実用上非常に有利である。
 本発明の他の態様では、前記一以上の隣接ノードの少なくとも一部は、前記自ノードのユーザである自ユーザと関わりのあるユーザである関連ユーザが使用するノードである関連ノードにより構成されている。
 この態様によれば、自ノードとの間で比較的頻繁にデータの送受信を行うと推測される関連ノードが、自ノードの隣接ノードの少なくとも一部を構成しているので、通信効率の向上を図ることができる。
 尚、「関連ユーザ」は、例えば、自ユーザの家族・友人・知人、又は、自ユーザが居住している地域の住人、或いは、自ユーザが参加している既存のネットワーク上のコミュニティの参加者、或いは、自ユーザが現在居る場所に近い所に居る人、自ユーザが好きな場所若しくは該好きな場所に近い場所が好きな人、自ユーザと趣味が似ている人、等である。
 関連ユーザとして、自ユーザが現在居る場所に近い所に居る人が選択された場合、自ユーザと関連ユーザとの物理的な距離が近くなるため、自ノードと関連ノードとの間に余計なルータが介在する可能性を抑制することができる。この結果、通信効率の向上を図ることができ、実用上非常に有利である。
 本発明の通信方法は、上記課題を解決するために、ピアツーピア方式によりネットワークを構築すると共に、自ノードに対して送信されたデータを受信可能な受信手段を備える通信装置における通信方法であって、前記自ノードの一以上の隣接ノードに係る状態を示す情報であるノード状態情報を確認する確認工程と、前記受信手段によりデータが受信された際に、前記確認されたノード状態情報に応じて、前記受信されたデータを保持するか否かを決定する保持決定工程と、前記受信されたデータを保持すると決定されたことを条件に、前記受信されたデータを保持する保持工程と、を備える。
 本発明の通信方法によれば、上述した本発明の通信装置と同様に、ピアツーピア方式のネットワークにおける検索性を向上させつつ、オーバーフローの発生を抑制することができる。
 尚、本発明の通信方法においても、上述した本発明の通信装置における各種態様と同様の各種態様を採ることが可能である。
 本発明のコンピュータプログラムは、上記課題を解決するために、コンピュータを、ピアツーピア方式によりネットワークを構築する通信装置であって、当該通信装置である自ノードに対して送信されたデータを受信可能な受信手段と、前記自ノードの一以上の隣接ノードに係るノード状態情報を確認する確認手段と、前記受信手段によりデータが受信された際に、前記確認されたノード状態情報に応じて、前記受信されたデータを保持するか否かを決定する保持決定手段と、前記受信されたデータを保持すると決定されたことを条件に、前記受信されたデータを保持する保持手段と、を備える通信装置として機能させる。
 本発明のコンピュータプログラムによれば、上述した本発明の通信装置と同様に、ピアツーピア方式のネットワークにおける検索性を向上させつつ、オーバーフローの発生を抑制することができる。
 尚、本発明のコンピュータプログラムにおいても、上述した本発明の通信装置における各種態様と同様の各種態様を採ることが可能である。
 本発明の情報記録媒体は、上記課題を解決するために、上述した本発明のコンピュータプログラム(但し、その各種態様を含む)が記録されている。
 本発明の情報記録媒体によれば、上述した本発明のコンピュータプログラムと同様に、通信効率の低下を好適に抑制することができる。
 本発明の作用及び他の利得は次に説明する実施するための形態から明らかにされる。
第1実施形態に係るデータ通信装置の概略を示す概略図である。 第1実施形態に係るデータ通信装置の構成を示すブロック図である。 第1実施形態に係る第1の隣接ノード設定処理を示すフローチャートである。 第1実施形態に係る第2の隣接ノード設定処理を示すフローチャートである。 第1実施形態に係るデータ保持・転送処理を示すフローチャートである。 第2実施形態に係るデータ保持・転送処理を示すフローチャートである。 第3実施形態に係るデータ保持・転送処理を示すフローチャートである。 第3実施形態の変形例に係るデータ保持・転送処理を示すフローチャートである。
 以下、本発明の通信装置に係る実施形態について、図面に基づいて説明する。
 <第1実施形態>
 (データ通信装置の構成)
 先ず、本実施形態に係るデータ通信装置の構成について、図1及び図2を参照して説明する。図1は、第1実施形態に係るデータ通信装置の概略を示す概略図であり、図2は、第1実施形態に係るデータ通信装置の構成を示すブロック図である。尚、図1及び図2には、本実施形態に直接関係する部材のみを示し、その他の部材については図示を省略している。
 図1に示すように、本実施形態に係るデータ通信装置10は、例えばWAN(Wide Area Network)等であるネットワーク30を介して、他のデータ通信装置21及びノード管理サーバ22と接続されている。ノード管理サーバ22には、ピアツーピア方式によるネットワークを構成するノードに係る情報が格納されている。尚、データ通信装置21の構成は、データ通信装置10の構成と同様であるので、その詳細については説明を割愛する。また、ノード管理サーバ22は、データ通信装置としての機能も併せ持つことができ、ノードとなり得る。
 データ通信装置10は、CPU(Central Processing Unit)11、ユーザメモリ12、コンテンツメモリ13、ノードメモリ14及びネットワークIF(Interface)15を備えて構成されている。該CPU11、ユーザメモリ12、コンテンツメモリ13、ノードメモリ14及びネットワークIF15は、バス16を介して相互に接続されている。
 ユーザメモリ12には、例えばデータ通信装置10のユーザ(以降、適宜“自ユーザ”と称する)と関わりのあるユーザ(例えば、友人・知人、会社の同僚、学校の同級生、等)に係る情報であるユーザ情報(以降、適宜、“ソーシャルユーザ情報”と称する)が格納されている。
 ソーシャルユーザ情報には、例えば、一のユーザを他のユーザから識別するための識別情報としてのユーザID、該一のユーザが利用しているノードのリスト、該一のユーザのプロフィール、等が含まれている。尚、ソーシャルユーザ情報は、例えば、自ユーザにより入力されてもよいし、ネットワーク30を介して、ノード管理サーバ22若しくはデータ通信装置21から取得されてもよい。
 コンテンツメモリ13には、例えば画像データ、テキストデータ、楽曲データ、動画データ等のコンテンツに係る情報であるコンテンツ情報が格納されている。コンテンツ情報には、例えば、一のコンテンツを他のコンテンツから識別するための識別情報としてのコンテンツID、該一のコンテンツのデータ容量を示す容量情報、該一のコンテンツに係る説明、該一のコンテンツの実体データ、等が含まれている。
 ノードメモリ14には、隣接ノードが設定されていれば、データ通信装置10の隣接ノードに係る情報であるノード情報が格納されている。尚、ノードメモリ14には、データ通信装置10の隣接ノードに係るノード情報だけでなく、該隣接ノードの隣接ノードに係るノード情報も格納されてよい。このように構成すれば、データ通信装置10が、当該データ通信装置10近傍のクラスタ関係を比較的容易に認識することができる。
 ノード情報には、例えばノードID、IPアドレス、ポート番号、URL(Uniform Resource Locator)、メーカー名、機種情報、等が含まれてもよい。
 次に、データ通信装置10の詳細な構成について、図2を参照して説明する。
 図2において、CPU11は、ソーシャル管理部111、コンテンツ管理部112、隣接ノード管理部113、ソーシャルユーザ取得部114、コンテンツ入出力部115、コンテンツ検索・流通依頼入力部116、ユーザ検索依頼入力部117、自ユーザ情報取得部118及びデータ保持決定部119を備えて構成されている。
 ソーシャルユーザ取得部114は、他のユーザに係るユーザID、及び該他のユーザに係るソーシャル関係(即ち、自ユーザとの関係性)を示す情報を取得する。ここで、ソーシャル関係としては、例えば、友人・知人、自ユーザが興味を持っている人物、自ユーザが参加するネットワーク上のコミュニティの参加者、自ユーザが所有するコンテンツやデバイスに類似するコンテンツやデバイスを所有する人物、自ユーザの居住地若しくは現在地近傍に存在する人物、等が挙げられる。
 自ユーザ情報取得部118は、自ユーザに係るユーザ情報(以降、適宜、“自ユーザ情報”と称する)を取得する。ここで、自ユーザ情報には、自ユーザに係るユーザID、自ユーザのプロフィール、自ユーザが、データ通信装置10以外に使用しているノードに係る情報、等が含まれる。
 ソーシャル管理部111は、ユーザメモリ12に格納されているユーザ情報(即ち、自ユーザ情報、及びソーシャルユーザ情報)を管理すると共に、ソーシャルユーザ取得部114により取得されたユーザID及びソーシャル関係を示す情報に基づいてソーシャルユーザ情報を取得し、ユーザメモリ12に格納する。
 ソーシャル管理部111は、更に、少なくともソーシャルユーザ情報に基づいて、データ通信装置10の隣接ノードを設定する。具体的には例えば、ソーシャル管理部111は、自ユーザ情報とソーシャルユーザ情報との間の類似度を算出し、該算出された類似度が比較的高いソーシャルユーザ情報に対応するノードを、データ通信装置10の隣接ノードとして設定する。
 隣接ノード管理部113は、ソーシャル管理部111により設定され、ノードメモリ14に格納された隣接ノードに係るノード情報を管理する。
 データ保持決定部119は、後述するデータ保持状況送受信部154により取得された隣接ノードが保持しているデータの保持状況に応じて、当該データ通信装置10が受信したデータを保持するか否かを決定する。
 コンテンツ入出力部115は、具体的には例えば、MPEG(Moving Picture Experts Group)デコーダ及びビデオ端子、DA(Digital to Analog)コンバータ及びスピーカ出力、動画データ、楽曲データ、テキストデータ等を所定のファイル形式で出力可能な出力部、ビデオ入力端子、オーディオ入力端子、所定のファイル形式を入力可能な入力部、等により構成すればよい。
 尚、ソーシャルユーザ取得部114、コンテンツ入出力部115、コンテンツ検索・流通依頼入力部116、ユーザ検索依頼入力部117、及び自ユーザ情報取得部118の各々は、バス16(図1参照)を介して、例えばユーザインターフェース(図示せず)等にも接続されている。
 ネットワークIF15は、ノード情報送受信部151、データ検索・取得部152、データ流通部153及びデータ保持状況送受信部154を備えて構成されている。
 ノード情報送受信部151は、ユーザメモリ12に格納されているソーシャルユーザ情報に含まれるノードID(即ち、一のユーザが利用しているノードのリストを構成するノードID)に基づいて、該ノードIDに対応するノードに係るアドレスやポート番号を含むノード情報を取得する。尚、ノード情報は、例えば、ネットワーク30を介して、ノード管理サーバ22若しくはデータ通信装置21から取得すればよい。
 データ検索・取得部152は、他のユーザ(即ち、一のデータ通信装置21を使用するユーザ)に係るユーザ情報等を、データ通信装置10が取得するために、該データ通信装置10の隣接ノードに対して、該他のユーザに係る検索リクエストを送信すると共に、検索リクエストに対する回答としての該他のユーザに係るユーザ情報を取得する。データ検索・取得部152は、更に、他のノードから要求されたユーザに係るユーザ情報等を、他のノードに対して送信する。
 データ流通部153は、自ユーザ情報等を、データ通信装置10の隣接ノードに対して送信すると共に、他のユーザに係るユーザ情報等を、データ通信装置10の隣接ノードから受信する。
 データ保持状況送受信部154は、隣接ノードが保持しているデータの保持状況を取得すると共に、自ノード(即ち、当該データ通信装置10)が保持しているデータの保持状況を、隣接ノードからの依頼に応じて回答する。
 (隣接ノード設定処理)
 以上のように構成されたデータ通信装置10における隣接ノード設定処理について、図3及び図4のフローチャートを参照して説明する。
 (ノードメモリにノード情報が格納されていない場合)
 図3において、先ず、ソーシャルユーザ取得部114は、自ユーザと関わりのあるユーザに係るユーザIDを取得する(ステップS101)。次に、ソーシャル管理部111は、取得されたユーザIDに基づいて、ノード管理サーバ22から、該ユーザIDに対応するソーシャルユーザ情報を取得する(ステップS102)。
 次に、ソーシャル管理部111は、取得されたソーシャルユーザ情報を、ユーザメモリ12に格納する(ステップS103)。続いて、ソーシャル管理部111は、格納されたソーシャルユーザ情報に係るユーザが使用しているノードを隣接ノードに決定する(ステップS104)。次に、ノード管理部113は、ソーシャル管理部111により決定された隣接ノードに係るノード情報をノードメモリ14に格納する(ステップS105)。
 (ノードメモリにノード情報が格納されている場合)
 図4において、上述したステップS101の処理の後、ソーシャル管理部111は、ソーシャル管理部114により取得されたユーザIDに基づいて、ノードメモリ14に格納されている一又は複数のノード情報に夫々対応する隣接ノードのうち少なくとも一の隣接ノードに対して、該取得されたユーザIDに対応するソーシャルユーザ情報の取得を依頼する。該依頼の結果として、ソーシャル管理部111は、隣接ノードからソーシャルユーザ情報を取得する(ステップS201)。その後、ソーシャル管理部111は、上述したステップS103以降の処理を実行する。
 尚、設定可能な隣接ノードの数に上限値が設けられている場合、ソーシャル管理部111は、例えば自ユーザ情報とソーシャルユーザ情報との間の類似度を算出し、該算出された類似度に応じて隣接ノードを設定すればよい。
 上述の如く隣接ノードを設定することにより、自ユーザと関わりのあるユーザが使用するノードが、当該データ通信装置10の隣接ノードとして設定される。このため、自ユーザと全く関わりのないユーザが使用するノードが、当該データ通信装置10の隣接ノードとして設定される場合と比較して、無駄なトラフィックの発生を抑制することができる。従って、比較的高速なデータ通信を行うことができる。更に、スモールワールド性、スケールフリー性、及びクラスタ性を有するピアツーピア方式のネットワークを比較的容易に構築することができる。
 (データ保持・転送処理)
 次に、データ通信装置10におけるデータ保持・転送処理について、図5のフローチャートを参照して説明する。
 図5において、先ず、当該データ通信装置10に対して送信されたコンテンツデータが、ネットワークIF15により受信されると(ステップS301)、データ保持状況送受信部154は、一以上の隣接ノードに対して、例えばネットワークIF15により受信されたコンテンツデータと同一のコンテンツデータ(以降、適宜“指定データ”と称する)の保持状況を示す情報を要求する信号を送信する。
 続いて、データ保持状況送受信部154は、隣接ノードから送信された指定データの保持状況を示す信号を受信することによって、一以上の隣接ノードに係る指定データの保持状況を示す情報を取得する(ステップS302)。
 尚、データ保持状況送受信部154は、ネットワークIF15によりコンテンツデータが受信されたか否かにかかわらず、逐次、一以上の隣接ノードが保持しているコンテンツデータの保持状況を示す情報を取得してもよい。
 次に、データ保持決定部119は、取得された保持状況を示す情報に基づいて、指定データを保持している隣接ノードが、例えば2以上ないか否かを判定する(ステップS303)。
 指定データを保持している隣接ノードが2以上ないと判定された場合(ステップS303:Yes)、データ保持決定部119は、ネットワークIF15により受信されたコンテンツデータを当該データ通信装置10に保持することを決定し、該受信されたコンテンツデータをコンテンツメモリ13に格納するようにコンテンツ管理部112に指示する(ステップS304)。
 次に、データ保持決定部119は、上記受信されたコンテンツデータを、少なくとも一つの隣接ノードに転送するように、ソーシャル管理部111に指示する。該ソーシャル管理部111は、隣接ノード管理部113から隣接ノードに係る情報を取得し、該取得された隣接ノードに係る情報を参照して、該受信されたコンテンツデータを、ネットワークIF15を介して、少なくとも一つの隣接ノードに転送する(ステップS305)。
 上記ステップS303の処理において、指定データを保持している隣接ノードが2以上あると判定された場合(ステップS303:No)、ステップS305の処理が実行される。
 尚、ステップS305の処理は、ステップS301の処理の後、ステップS302の処理の前に実行されてもよい。つまり、ネットワークIF15によりコンテンツデータが受信された場合、先ず、該受信されたコンテンツデータが、少なくとも一つの隣接ノードに対して転送された後に、該受信されたコンテンツデータを当該データ通信装置10で保持するか否かが決定されてもよい。
 上述の如く、ネットワークIF15により受信されたコンテンツデータを保持するか否かが決定されるので、ピアツーピア方式のネットワーク内に、適切にコンテンツデータを分布させることができる。このため、該ピアツーピア方式のネットワークを構築する各ノードが保持するデータ量を抑制することができる。加えて、ピアツーピア方式のネットワーク内に適切にコンテンツデータが分布されるので、検索性を向上させることができる。
 尚、本実施形態に係る「データ通信装置10」、「ネットワークIF15」、「データ保持状況送受信部154」、「データ保持決定部119」及び「コンテンツメモリ13」は、夫々、本発明に係る「自ノード」、「受信手段」、「確認手段」、「保持決定手段」及び「保持手段」の一例である。また、本実施形態に係る「自ユーザと関わりのあるユーザ」は、本発明に係る「関連ユーザ」の一例である。
 <第2実施形態>
 本発明に係る通信装置の第2実施形態を、図6を参照して説明する。第2実施形態では、データ保持・転送処理が一部異なっている以外は、第1実施形態の構成と同様である。よって、第2実施形態について、第1実施形態と重複する説明を省略すると共に、図面上における共通箇所には同一符号を付して示し、基本的に異なる点についてのみ、図6のフローチャートを参照して説明する。
 (データ保持・転送処理)
 図6において、先ず、当該データ通信装置10に対して送信されたコンテンツデータが、ネットワークIF15により受信されると(ステップS401)、該受信されたコンテンツデータが、当該データ通信装置10から少なくとも一つの隣接ノードに対して転送される(ステップS402)と共に、データ保持状況送受信部154は、一以上の隣接ノードに対して、隣接ノードに係る特徴量を示す情報を要求する信号を送信する。
 続いて、データ保持状況送受信部154は、隣接ノードから送信された該隣接ノードに係る特徴量を示す信号を受信することによって、一以上の隣接ノードに係るノード状態情報を確認(ステップS302)。ここで、「隣接ノードに係る特徴量」は、例えば(i)隣接ノードが備えるコンテンツメモリの空き容量又は利用可能容量、(ii)隣接ノードに係るネットワーク帯域及び/又はハードウェア性能、(iii)ピアツーピア方式によるネットワークへの参加率、(iv)隣接ノードに係るノード次数(即ち、隣接ノードの隣接ノードの数)、等である。
 尚、本実施形態では、自ユーザ情報取得部118は、自ユーザ情報の一部として、自ノード(即ち、当該データ通信装置10)に係る特徴量を取得する。
 次に、データ保持決定部119は、隣接ノードに係る特徴量と、自ノードに係る特徴量とを比較し、受信されたコンテンツデータを保持するか否かを判定する(ステップS404)。
 具体的には例えば、データ保持決定部119は、自ノードのコンテンツメモリ13の空き容量又は利用可能容量が、隣接ノードが備えるコンテンツメモリの空き容量又は利用可能容量よりも大きいことを条件に、受信されたコンテンツデータを保持すると判定する。或いは、データ保持決定部119は、自ノードのネットワーク帯域又はハードウェア性能が、隣接ノードのネットワーク帯域又はハードウェア性能よりも高いことを条件に、受信されたコンテンツデータを保持すると判定する。或いは、データ保持決定部119は、自ノードのネットワーク参加率が、隣接ノードのネットワーク参加率よりも高いことを条件に、受信されたコンテンツデータを保持すると判定する。或いは、データ保持決定部119は、自ノードに係るノード次数が、隣接ノードに係るノード次数よりも高いことを条件に、受信されたコンテンツデータを保持すると判定する。
 受信されたコンテンツデータを保持すると判定された場合(ステップS404:Yes)、データ保持決定部119は、ネットワークIF15により受信されたコンテンツデータを当該データ通信装置10に保持することを決定し、該受信されたコンテンツデータをコンテンツメモリ13に格納するようにコンテンツ管理部112に指示する(ステップS405)。他方、受信されたコンテンツデータを保持しないと判定された場合(ステップS404:No)、一旦処理が終了される。
 <第3実施形態>
 本発明に係る通信装置の第3実施形態を、図7を参照して説明する。第3実施形態では、データ保持・転送処理が一部異なっている以外は、第1実施形態の構成と同様である。よって、第3実施形態について、第1実施形態と重複する説明を省略すると共に、図面上における共通箇所には同一符号を付して示し、基本的に異なる点についてのみ、図7のフローチャートを参照して説明する。
 (データ保持・転送処理)
 図7において、先ず、当該データ通信装置10に対して送信されたコンテンツデータが、ネットワークIF15により受信されると(ステップS501)、該受信されたコンテンツデータが、当該データ通信装置10から少なくとも一つの隣接ノードに対して転送される(ステップS502)と共に、データ保持状況送受信部154は、一以上の隣接ノードに対して、指定データの保持状況を示す情報を要求する信号、及び隣接ノードに係る特徴量を示す情報を要求する信号を送信する。
 続いて、データ保持状況送受信部154は、隣接ノードから送信された指定データの保持状況を示す信号、及び該隣接ノードに係る特徴量を示す信号を受信することによって、一以上の隣接ノードに係るデータの保持状況を示す情報を取得する(ステップS503)。
 次に、データ保持決定部119は、取得された保持状況を示す情報に基づいて、指定データを保持している隣接ノードが、例えば2以上ないか否かを判定する(ステップS504)。指定データを保持している隣接ノードが2以上ないと判定された場合(ステップS504:Yes)、データ保持決定部119は、隣接ノードに係る特徴量と、自ノードに係る特徴量とを比較し、受信されたコンテンツデータを保持するか否かを判定する(ステップS505)。
 受信されたコンテンツデータを保持すると判定された場合(ステップS505:Yes)、データ保持決定部119は、ネットワークIF15により受信されたコンテンツデータを当該データ通信装置10に保持することを決定し、該受信されたコンテンツデータをコンテンツメモリ13に格納するようにコンテンツ管理部112に指示する(ステップS506)。
 上記ステップS504の処理において、指定データを保持している隣接ノードが2以上あると判定された場合(ステップS504:No)、又は、上記ステップS505の処理において、受信されたコンテンツデータを保持しないと判定された場合(ステップS505:No)、一旦処理が終了される。
 <変形例>
 次に、第3実施形態の変形例について、図8のフローチャートを参照して説明する。
 図8において、ステップS504の処理において、指定データを保持している隣接ノードが2以上ないと判定された場合(ステップS504:Yes)、データ保持決定部119は、ネットワークIF15により受信されたコンテンツデータを当該データ通信装置10に保持することを決定し、該受信されたコンテンツデータをコンテンツメモリ13に格納するようにコンテンツ管理部112に指示する(ステップS506)。
 他方、指定データを保持している隣接ノードが2以上あると判定された場合(ステップS504:No)、データ保持決定部119は、隣接ノードに係る特徴量と、自ノードに係る特徴量とを比較し、受信されたコンテンツデータを保持するか否かを判定する(ステップS505)。
 受信されたコンテンツデータを保持すると判定された場合(ステップS505:Yes)、データ保持決定部119は、ネットワークIF15により受信されたコンテンツデータを当該データ通信装置10に保持することを決定し、該受信されたコンテンツデータをコンテンツメモリ13に格納するようにコンテンツ管理部112に指示する(ステップS506)。他方、受信されたコンテンツデータを保持しないと判定された場合(ステップS505:No)、一旦処理が終了される。
 本発明は、上述した実施形態に限られるものではなく、請求の範囲及び明細書全体から読み取れる発明の要旨或いは思想に反しない範囲で適宜変更可能であり、そのような変更を伴う通信装置及び方法、並びにコンピュータプログラムもまた本発明の技術的範囲に含まれるものである。
 10、21…データ通信装置、11…CPU、12…ユーザメモリ、13…コンテンツメモリ、14…ノードメモリ、15…ネットワークIF、22…ノード管理サーバ、30…ネットワーク、111…ソーシャル管理部、112…コンテンツ管理部、113…隣接ノード管理部、114…ソーシャルユーザ取得部、115…コンテンツ入出力部、116…コンテンツ検索・流通依頼入力部、117…ユーザ検索依頼入力部、118…自ユーザ情報取得部、119…データ保持決定部、151…ノード情報送受信部、152…データ検索・取得部、153…データ流通部、154…データ保持状況送受信部

Claims (10)

  1.  ピアツーピア方式によりネットワークを構築する通信装置であって、
     当該通信装置である自ノードに対して送信されたデータを受信可能な受信手段と、
     前記自ノードの一以上の隣接ノードに係る状態を示す情報であるノード状態情報を確認する確認手段と、
     前記受信手段によりデータが受信された際に、前記確認されたノード状態情報に応じて、前記受信されたデータを保持するか否かを決定する保持決定手段と、
     前記受信されたデータを保持すると決定されたことを条件に、前記受信されたデータを保持する保持手段と、
     を備えることを特徴とする通信装置。
  2.  前記確認手段は、前記一以上の隣接ノード各々について、前記一以上の隣接ノード各々が保持しているデータを確認することによって、前記ノード状態情報を確認し、
     前記保持決定手段は、前記受信されたデータと同一のデータを保持している隣接ノードの数に応じて、前記受信されたデータを保持するか否かを決定する
     ことを特徴とする請求項1に記載の通信装置。
  3.  前記確認手段は、前記一以上の隣接ノード各々について、前記一以上の隣接ノード各々が備える記録装置の空き容量又は利用可能容量を検出することによって、前記ノード状態情報を確認し、
     前記保持決定手段は、前記検出された空き容量又は利用可能容量に応じて、前記受信されたデータを保持するか否かを決定する
     ことを特徴とする請求項1に記載の通信装置。
  4.  前記確認手段は、前記一以上の隣接ノード各々について、前記一以上の隣接ノード各々が保持しているデータを確認すると共に、前記一以上の隣接ノード各々に係る特徴量を確認することによって、前記ノード状態情報を確認し、
     前記保持決定手段は、前記受信されたデータと同一のデータを保持している隣接ノードの数、及び、前記一以上の隣接ノード各々に係る特徴量に応じて、前記受信されたデータを保持するか否かを決定する
     ことを特徴とする請求項1に記載の通信装置。
  5.  前記確認手段は、前記一以上の隣接ノード各々について、前記一以上の隣接ノード各々が保持しているデータを確認すると共に、前記一以上の隣接ノード各々に係る特徴量を確認することによって、前記ノード状態情報を確認し、
     前記保持決定手段は、前記受信されたデータと同一のデータを保持している隣接ノードの数、又は、前記一以上の隣接ノード各々に係る特徴量に応じて、前記受信されたデータを保持するか否かを決定する
     ことを特徴とする請求項1に記載の通信装置。
  6.  前記確認手段は、逐次、前記ノード状態情報を確認することを特徴とする請求項1に記載の通信装置。
  7.  前記一以上の隣接ノードの少なくとも一部は、前記自ノードのユーザである自ユーザと関わりのあるユーザである関連ユーザが使用するノードである関連ノードにより構成されていることを特徴とする請求項1に記載の通信装置。
  8.  ピアツーピア方式によりネットワークを構築すると共に、自ノードに対して送信されたデータを受信可能な受信手段を備える通信装置における通信方法であって、
     前記自ノードの一以上の隣接ノードに係る状態を示す情報であるノード状態情報を確認する確認工程と、
     前記受信手段によりデータが受信された際に、前記確認されたノード状態情報に応じて、前記受信されたデータを保持するか否かを決定する保持決定工程と、
     前記受信されたデータを保持すると決定されたことを条件に、前記受信されたデータを保持する保持工程と、
     を備えることを特徴とする通信方法。
  9.  コンピュータを、
     ピアツーピア方式によりネットワークを構築する通信装置であって、
     当該通信装置である自ノードに対して送信されたデータを受信可能な受信手段と、
     前記自ノードの一以上の隣接ノードに係る状態を示す情報であるノード状態情報を確認する確認手段と、
     前記受信手段によりデータが受信された際に、前記確認されたノード状態情報に応じて、前記受信されたデータを保持するか否かを決定する保持決定手段と、
     前記受信されたデータを保持すると決定されたことを条件に、前記受信されたデータを保持する保持手段と、
     を備える通信装置
     として機能させることを特徴とするコンピュータプログラム。
  10.  請求項9に記載のコンピュータプログラムが記録されたことを特徴とする情報記録媒体。
PCT/JP2011/064393 2011-06-23 2011-06-23 通信装置及び方法、並びにコンピュータプログラム Ceased WO2012176300A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2011/064393 WO2012176300A1 (ja) 2011-06-23 2011-06-23 通信装置及び方法、並びにコンピュータプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2011/064393 WO2012176300A1 (ja) 2011-06-23 2011-06-23 通信装置及び方法、並びにコンピュータプログラム

Publications (1)

Publication Number Publication Date
WO2012176300A1 true WO2012176300A1 (ja) 2012-12-27

Family

ID=47422179

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/064393 Ceased WO2012176300A1 (ja) 2011-06-23 2011-06-23 通信装置及び方法、並びにコンピュータプログラム

Country Status (1)

Country Link
WO (1) WO2012176300A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007065714A (ja) * 2005-08-29 2007-03-15 Nippon Telegr & Teleph Corp <Ntt> ピュアー型p2p通信における動的レプリカ制御方法およびそれを具備した装置、ならびにそのプログラム
JP2009217602A (ja) * 2008-03-11 2009-09-24 Nec Commun Syst Ltd ファイル複製要否判定方法、通信装置、コンピュータプログラム及びピアツーピア型通信システム
JP2010509692A (ja) * 2006-11-14 2010-03-25 シーメンス アクチエンゲゼルシヤフト ピアツーピア・オーバーレイ・ネットワークにおける負荷分散のための方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007065714A (ja) * 2005-08-29 2007-03-15 Nippon Telegr & Teleph Corp <Ntt> ピュアー型p2p通信における動的レプリカ制御方法およびそれを具備した装置、ならびにそのプログラム
JP2010509692A (ja) * 2006-11-14 2010-03-25 シーメンス アクチエンゲゼルシヤフト ピアツーピア・オーバーレイ・ネットワークにおける負荷分散のための方法
JP2009217602A (ja) * 2008-03-11 2009-09-24 Nec Commun Syst Ltd ファイル複製要否判定方法、通信装置、コンピュータプログラム及びピアツーピア型通信システム

Similar Documents

Publication Publication Date Title
CN101542461B (zh) 用于内容共享系统的虚拟对等
US7782866B1 (en) Virtual peer in a peer-to-peer network
JP4975831B2 (ja) 携帯機器のためのリモート・データ・アクセス技術
JP4473942B2 (ja) コンテンツ配信装置、コンテンツ配信方法、及びコンテンツ配信プログラム
KR101564416B1 (ko) P2p 포탈 서버를 이용한 데이터 수신 방법 및 장치
CN102801691A (zh) 联系人信息的获取方法及装置
JP2006101277A (ja) 情報通信システム、ノード装置、及びオーバーレイネットワーク形成方法等
JP4877107B2 (ja) 情報配信システムにおける端末装置及び情報処理プログラム、並びに端末装置の情報処理方法
CN106330953A (zh) 一种智能路由器设备、服务器设备及其数据处理方法
JP5536742B2 (ja) P2p基盤のストリーミングサービスのサーバ使用量を調整するシステムおよび方法
WO2008041422A1 (en) Terminal device in content distribution system, its information processing method, and recording medium containing program
KR101055265B1 (ko) P2p 서비스 제공장치 및 방법, 그리고 p2p 네트워크를 구성하는 피어노드에서의 데이터 교환방법을 컴퓨터에서 실행시키기 위한 기록매체
JP2015230532A (ja) Web会議システム、Web会議システムの主催者権限の委譲方法及びWeb会議システムプログラム
JP5521533B2 (ja) 情報処理装置、通信システム、制御方法及び制御プログラム
WO2012176300A1 (ja) 通信装置及び方法、並びにコンピュータプログラム
JP5614866B2 (ja) 通信装置及び方法、並びにコンピュータプログラム
JP5675980B2 (ja) 通信装置及び方法、並びにコンピュータプログラム
CN104184700B (zh) 数字刊物的数据传输系统和数据传输方法
JP2009230686A (ja) コンテンツ管理サーバ及びコンテンツ管理プログラム
JP2010079738A (ja) 通信システム、端末装置及びコンテンツ情報取得方法
US20110246628A1 (en) Information communication system, information processing apparatus, information communication method and computer readable storage medium
JP2015114698A (ja) ソーシャルネットワーキングサービス提供システムおよびサーバ
JP5338774B2 (ja) 配信システム、情報処理装置、情報処理プログラム、及びコンテンツ投入方法
JP5157770B2 (ja) ノード装置、プログラム及び保存指示方法
JP2009200725A (ja) 情報配信システム及び同システムにおける階層構造の形成方法及びプログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11868296

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11868296

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP