1. Field of the Invention
The present invention relates to a peer-to-peer (P2P) contents distribution system including a plurality of nodes connected to each other via a network and, more particularly, to a technical field of a method of charging use of contents data in a contents distribution system in which a plurality of pieces of contents data are dispersed and stored in a plurality of nodes, and the like.
2. Discussion of the Related Art
In a conventional contents distribution system using a computer network, logs (use history information) used for collecting contents fees from the users who downloaded contents data in their terminals (clients) are under centralized-control of, for example, a single charging server. The charging server performs a charging process of calculating the contents fees to charge the users.
Various methods related to such charging process have been proposed. For example, Patent Document 1 discloses a technique of controlling a contents fee on the basis of a use amount recorded in a log generated by the user of the contents.
However, the conventional method of controlling a log and performing a charging process by a charging server has a problem such that a heavy load is applied on the charging server.
On the other hand, in a peer-to-peer contents distribution system, the frequency of withdrawal (due to power disconnection or failure of a node, partial disconnection in a network, or the like) and participation of a node is high, so that it is difficult to grasp the situations of nodes as a whole. Consequently, it is difficult to efficiently collect logs and perform the charging process unless a server performing centralized control like the above-described charging server is provided.
Also in a contents distribution system provided with a server performing centralized control like the charging server, hitherto, it is difficult to calculate a consideration (for example, copyright royalty) to be paid to the owner of copyright of contents data. Since the consideration is calculated on rough estimation, it is further difficult to calculate the consideration in a peer-to-peer contents distribution system.
The present invention has been achieved in consideration of the problems, and an object of the invention is to provide a charging information generating apparatus, a charging information generating process program, a consideration information generating apparatus, a consideration information generating process program, and the like capable of generating reliable and certain charging information or consideration information more efficiently.
To solve the problems, according to one aspect of the invention, there is provided a charging information generating apparatus in an information distribution system having a plurality of nodes connected to each other via a network, in which a plurality of pieces of distribution information are dispersed and stored in the plurality of nodes, a plurality of pieces of location (whereabouts) information indicative of the locations of the distribution information pieces and each existing for each of the distribution information are dispersed and stored in the plurality of nodes, and in the case where a first node receives the location information indicative of the location of one piece of the distribution information from a second node and receives the one piece of the distribution information from a third node on the basis of the location information, a log of transmission/reception of the one piece of the distribution information or the location information corresponding to the one piece of the distribution information is recorded in at least two nodes out of the first, second, and third nodes. The apparatus includes: a log obtaining means for obtaining the log recorded in at least two nodes out of the first, second, and third nodes; a log consistency determining means for determining consistency of the at least two logs obtained; and a charging information generating means, when it is determined that the logs have consistency, for generating charging information to the user of the first node.
Preferred embodiments of the present invention will be described hereinbelow with reference to the drawings. In the following embodiments, the present invention is applied to a contents distribution system for distributing contents data as distribution information.
[1Configuration and the Like of Contents Distribution System]
First, referring to
As shown in a lower frame 101 in
The contents distribution system S is a peer-to-peer network system constructed by including a plurality of nodes 1a, 1b, 1c, . . . connected to each other via such a network 8. To each of the nodes 1a, 1b, 1c, . . . , unique manufacturer's serial number and IP (Internet Protocol) address are assigned. The same serial number and the same IP address are not assigned to a plurality of nodes 1. In the following description, in the case of referring to any of the nodes 1a, 1b, 1c, . . . , it may be called a node 1 for convenience.
In the contents distribution system S, an overlay network 9 as shown in an upper frame 100 in
In the embodiment, the overlay network 9 constructed by the algorithm using the DHT is a precondition. The node 1 disposed on the overlay network 9 is called a node 1 which participates in the contents distribution system S (in other words, which participates in the overlay network 9). To participate in the contents distribution system S, an unparticipating node transmits a participation request to an arbitrary node 1 which is participating in the system.
The node ID of each node 1 participating in the contents distribution system S is a value obtained by hashing the IP address or serial number with a common hash function. The node IDs are uniformly dispersed in an ID space. A probability that the (hashed) node IDs obtained with a common hash function become the same value when the IP addresses or serial numbers are different, is extremely low. Since the hash function is known, it will not be described in detail. In the embodiment, a value obtained by hashing an IP address (global IP address) with a common hash function is used as a node ID.
Each of the nodes 1 participating in the contents distribution system S has a DHT. In the DHT, information of a path to another node, specifically, a plurality of node IDs and a plurality of IP addresses of other nodes properly apart in the node ID space is registered. Such a DHT is given when the node 1 participates in the contents distribution system S. In the contents distribution system S, nodes 1 participate/withdraw frequently, so that whether updating of the DHT is necessary or not is determined periodically (for example, every tens minutes to every few hours), and the update information is transmitted to another node 1 via a path registered in the DHT. In such a manner, the DHT can be maintained in the latest state. A method of generating the DHT is known, so that it will not be described in detail.
Further, in a plurality of nodes 1 participating in the contents distribution system S, data of contents (such as movies and music) to be distributed from one node 1 to another node 1 are dispersedly stored. For example, contents data of a movie whose title is XXX is stored in the node la. On the other hand, contents data of a movie whose title is YYY is stored in the node 1b. In such a manner, different contents data is dispersed and stored in a plurality of nodes 1. Certain contents data is not always stored in one node 1 but can be stored in a plurality of nodes. To the contents data stored in the plurality of nodes 1, unique contents names are assigned.
Location information indicative of locations (whereabouts) of contents data dispersedly stored (for example, the IP addresses and serial numbers of the nodes 1 in which contents data is stored) is also dispersedly stored in the plurality of nodes 1 participating in the contents distribution system S. For example, the contents name of certain contents data is hashed with a hash function which is common as that at the time of obtaining the node ID (that is, it is located in the same ID space as that of the hash value of the IP address of the node 1). The location information of the contents data is stored in the node 1 (hereinbelow, called “route node lx”) having the node ID closest to the hash value (contents ID) (for example, having the largest number of matched high order digits). That is, even in the case where the same contents data (having the same contents ID) is stored in a plurality of nodes 1, the location information (such as IP addresses of the plurality of nodes 1) can be managed in the single route node 1x. Although the location information of contents data corresponding to one contents ID is stored in one route node (that is, the route node and the location information have a one-to-one correspondence) in the embodiment, the invention is not limited to the arrangement.
With the arrangement, the node (first node) la that wishes to obtain (download) certain contents data transmits the contents ID of the contents data to another node 1. The contents ID is transferred via some nodes 1 and reaches the route node (second node) lx storing the location information indicative of the location of the contents data (that is, the node 1 having the node ID closest to the contents ID). Consequently, the location information can be obtained (received) from the route node (second node) 1x. On the basis of the obtained location information, the node 1a can be connected to, for example, the node (third node) 1b storing the contents data, and can obtain (receive) the contents data from the node 1b.
Until the contents ID reaches the route node 1x, the location information may be obtained (received) from the node 1 that caches the same location information as that in the route node 1x.
In the case where the node la obtains location information from the route node 1x and the operation of obtaining contents data from the node 1b on the basis of the location information is performed, the contents data or a log (use history information) of transmission/reception of the location information corresponding to the contents data is recorded at least two of the node la, the node 1 obtaining the location information (for example, the route node 1x), and the node 1b. The log recorded in such a manner is collected by any of the nodes 1. In the node 1, information of charging for the user of the node la that obtains the contents data is generated, or consideration information for the provider of the contents (such as the owner of copyright, the owner of neighboring right, or manufacturer) is generated. The details of the operation will be described later.
[2. Configuration and the like of Node]
Referring now to
As shown in
When the CPU in the controller 11 executes various programs stored in the storage 12 or the like, the controller 11 controls the node 1 in a centralized manner. According to an instruction signal from the input unit 21, the controller 11 executes any one or plural processes of a location information/contents data requesting process, a location information retrieving process, a contents data distributing process, a charging information generating process, and a consideration information generating process. The processes will be described later.
[3. Operation of Contents Distribution System]
The operation of the contents distribution system S will now be described.
(Location Information/Contents Data Requesting Process, Location Information Retrieving Process, and Contents Data Distributing Process)
First, with reference to
The location information/contents data requesting process shown in
First, when the user of the node la (hereinbelow, called a requesting node as appropriate) operates the input unit 21 to enter a contents data request start instruction, for example, a contents list (not shown) is displayed on the display 16. In the contents list, for example, the names (for example, the title of a movie) of part or all of contents data stored in the plurality of nodes 1 are written. The contents list is obtained from another node 1 (for example, a node registered in the DHT) at the time of participating in the contents distribution system S or periodically.
In the state where such a contents list is displayed, when the user operates the input unit 21 to select the name of contents data which is, for example, desired (or to be requested), the controller 11 accepts the selection of the contents name (step S1) and hashes the accepted contents name with the common hash function (a hash function obtained by hashing the IP address), thereby generating a contents ID (step S2).
Subsequently, the controller 11 refers to the DHT stored in the storage 12 (step S3) and determines whether the controller 11 itself is the route node 1x of the contents data or not (step S4). For example, whether the node ID of the controller 11 itself is closest to the contents ID (for example, a larger number of high order digits match) or not is determined. In the case where the node ID is the closest to the contents ID, that is, in the case where the controller 11 determines that the controller 11 itself is the route node of the contents data (Y in step S4), the controller 11 obtains the location information (IP address and serial number) of contents data corresponding to the contents ID from the storage 12 of itself (step S5), moves to step S8, and records the log.
On the other hand, when it is determined that the controller 11 is not the route node 1x of the contents data, the controller 11 issues a query to which the IP address and contents ID of itself are added, and transmits the query-to another node 1 via the communication unit 20 and the like (step S6). For example, the query is transmitted to a node 1 having a node ID closest to the contents ID (for example, a large number of high order digits match) among node IDs registered in the DHT.
Next, in the node 1 which received the query, the location information retrieving process shown in
On the other hand, in the case where it is determined in the step S22 that the controller 11 is not the route node lx of the contents data (N in step S22), the query is transmitted (transferred) to further another node 1 (step S26). In this case as well, for example, the query is transmitted (transferred) to the node 1 having the node ID closest to the contents ID (for example, a larger number of high order digits match) among node IDs registered in the DHT. Until the route node lx in which the location information of the contents data corresponding to the contents ID is found, the query is transmitted (transferred) to the another node 1. In the node 1 which received the query, the processes shown in
Next, in the processes in
Subsequently, on the basis of the location information of the contents data included in the search result information (that is, according to the IP address), the controller 11 in the node 1a is connected to, for example, the node 1b storing the contents data, and transmits a download request to which the contents ID of the contents data, the serial number of the controller 11, the serial number of the route node 1x, and the like are added via the communication unit 20 or the like (step S9).
In the case where the same location information as that of the route node 1x is cached until the contents ID reaches the route node 1x, the location information is obtained (received) from the node 1. In the case where it is determined in the step S4 that the controller 11 itself is not the route node 1x of the contents data (N in step S4), whether the location information is cached or not is determined. If YES, the controller 11 shifts to the step S5. If NO, the controller 11 may shift to the step S6. In the case where there are a plurality of nodes 1 storing the contents data corresponding to the contents ID, the location information (such as IP addresses) of the plurality of nodes 1 is included in the obtained search result information. In this case, the plurality of pieces of location information are selectably displayed on the display 16. When the user operates the input unit 21 to select desired one of the plurality of pieces of location information, a download request is transmitted to the node 1 storing the contents data on the basis of the selected location information.
Next, in the node 1b that receives the download request (hereinbelow, called a distribution source node as appropriate), the contents data distributing process shown in
In the processes of
As described above, in-the node la performing the location information/contents data requesting process, the route node lx performing the location information retrieving process, and the node 1b performing the contents data distributing process, a log is recorded in a log file each time each of the processes in
(Charging Information Generating Process)
Next, the charging information generating process for generating charging information including information of a charge to the user of the node 1 that receives contents data will be described with reference to
The charging information generating process shown in
For example, when the charging information generating process shown in
Subsequently, the controller 11, determines whether a log from which charging information is to be generated is recorded or not by sending a query to, for example, the node la (step S42). Such a query includes a query of, for example, whether a log is recorded after certain time (seconds, minutes, hours, date, and month) or not. It means that charging information of logs before the certain time, which has been already generated, is eliminated.
In the case where a log from which charging information is to be generated is recorded (Y in step S42), the controller 11 serving as the log obtaining means obtains (collects) a log recorded on the node 1a (hereinbelow, called “log of the requesting node”), for example, in the form of a log file from the node 1a (step S43). For example, a log of the requesting node when contents data is obtained (downloaded) as shown in
Next, the controller 11 selects one of the obtained logs of the requesting node (step S44). For example, in the case where there are a plurality of logs of the requesting node, for example, the oldest log or the latest log is selected.
The controller 11 refers to the selected log of the requesting node, obtains the IP address corresponding to the serial number of the node 1b (distribution source node) that has distributed to the contents data included in the log (for example, inquiring the node 1 that controls the IP addresses), and is connected to the node 1b via the communication unit 20 or the like in accordance with the IP address (step S45).
Subsequently, the controller 11 determines whether a log from which charging information is to be generated is recorded or not by, for example, inquiring the node 1b (step S46). Such a query includes a query of, for example, whether a log is recorded after certain time (seconds, minutes, hours, date, and month) or not like the query in the step S42.
In the case where a log from which charging information is to be generated is recorded (Y in step S46), the controller 11 serving as the log obtaining means obtains (collects) a log recorded on the node 1b (hereinbelow, called “log of the distribution source node”), for example, in the form of a log file from the node 1b (step S47). For example, logs of the distribution source node when contents data is distributed as shown in
Next, the controller 11 compares the log of the requesting node selected in the step S44 (in this case, the log of the requesting node when the contents data is obtained (downloaded) as shown in.
When it is determined that there is consistency (Y in step S48), whether a double log consistency check is set (ON) or not is determined (step S49) (that is, in the step S49, whether consistency among a log of the requesting node, a log in the distribution source node, and a log of the route node is necessary or not is determined.) The double log consistency check setting is a setting of determining consistency between a log of the requesting node and a log recorded in the route node 1 (hereinbelow, called “log of the route node”) in addition to the consistency between the log of the requesting node and a log in the distribution source node. By the setting, more reliable and certain charging information can be generated. The setting can be made by a remote control by a charging company.
When the dual log consistency check setting is not made (N in step S49) (that is, when it is sufficient that the logs recorded in at least two of the log in the requesting node, the log in the distribution source node, and the log in the route node have consistency), the controller 11 goes to step S55. In other words, without determination of consistency between the log in the requesting node and the log in the route node, charging information is generated. On the other hand, when the double log consistency check setting is made (ON) (Y in step S49), the controller 11 goes to step S51.
On the other hand, when it is determined in the step S48 that there is no consistency between the log in the requesting, node and the log in the distribution source node (the logs do not coincide with each other) (N in step S48), whether the double log consistency check setting is made (ON) or not is determined (step S50) (that is, in the step S50, whether consistency among three logs of the log in the requesting node, the log in the distribution source node, and the log in the route node is necessary or not is determined). In the case where the dual log consistency check setting is not made (N in step S50) (that is, when it is sufficient that logs recorded in at least two nodes out of the log in the requesting node, the log in the distribution source node, and the log in the route node have consistency), the controller 11 moves to step S51 (in otherwords, if only the log in the requesting node and the log in the route node have consistency, the charging information is generated). On the other hand, when the dual log consistency check setting is made (ON) (Y in step S50), the controller 11 moves to step S56 (that is, the charging information for the log is not generated).
In the step S51, the controller 11 refers to the log in the requesting node selected in the step S44, obtains the IP address corresponding to the serial number of the route node 1x included in the log (for example, inquiring the node 1 that controls the IP addresses), and is connected to the route node 1x via the communication unit 20 or the like in accordance with the IP address.
Subsequently, the controller 11 determines whether a log in the route node from which charging information is to be generated is recorded or not by, for example, inquiring the route node 1x (step S52). Such a query includes a query of, for example, whether a log is recorded after certain time (seconds, minutes, hours, date, and month) or not like the query in the step S42.
In the case where a log in the route node from which charging information is to be generated is recorded (Y in step S52), the controller 11 serving as the log obtaining means obtains (collects) a log recorded on the route node 1x, for example, in the form of a log file from the route node 1x (step S53). For example, logs when location information is provided as shown in
Subsequently, the controller 11 compares the log of the requesting node selected in the step S44 (the log of the requesting node when the location information is obtained as shown in
When it is determined that there is consistency (Y in step S54), the controller 11 as the charging information generating means generates charging information including information of a charge (contents fee) to the user side of the node 1a (the requesting node) (the user of the node 1a, the owner of the node 1a, or the like) (step S55). For example, the node 1c stores a table of charges in which charges of contents data are set (for example, the charge varies according to contents data). Information indicative of the charges of the contents data corresponding to the contents IDs included in the log is obtained and included in the charging information.
Subsequently, the controller 11 determines whether or not there is a log of other contents data in addition to the log of the requesting node obtained in the step S43 (a log other than the log whose consistency has been determined in the above-described process) (step S56). If there is a log of the other contents data (Y in step S56), the controller 11 returns to the step S44, selects one log from the logs of the requesting node, and repeats processes similar to the above. When charging information of the log is generated in the step S55, the charge included in the charging information already generated and the charge of the contents data obtained this time are integrated, and information indicative of the integrated charge is included in the charging information.
On the other hand, when there is no log of the other contents data (N in step S56), the controller 11 stores the generated charging information, date and time of generation of the charging information, and the serial number or the node ID of the node la so as to be associated with each other in the storage 12 (step S57), and finishes the process. The charging information generated as described above is used by the user side of the node la to pay the charge of the contents data to the seller or the like of the contents data. For example, bill information including the charging information is transmitted from the node la to the node la or settlement request information including the charging information is transmitted from the node 1c to a server of a credit card settlement company or a server of a financial institute, and automatic settlement is made. For example, the charging information generated by the plurality of nodes 1 may be collected by a specific node 1. As a method of paying the charge included in the charging information by the user side of the node 1a, any known methods may be used.
As described above, in the charging information generating process, in the representative plural nodes 1, consistency of at least two logs, specifically, a log of the requesting node and a log of the distribution source node (or a log of the requesting node and a log of the route node) is determined and, when there is consistency, charging information including information of a charge to the user side of the contents data is generated. Therefore, also in the peer-to-peer contents distribution system S in which a plurality of pieces of contents data are dispersedly stored in ma plurality of nodes 1, reliable and certain charging information for the user of the contents data can be efficiently generated and used.
Further, by generating the charging information in the case where a log in the requesting node and a log in the distribution source node have consistency and a log in the requesting node and a log in the route node have consistency, log redundancy is realized, so that more reliable and certain charging information can be generated more efficiently and used.
By determining consistency between a log in the requesting node and a log in the route node, whether or not the requesting node has obtained the location information of the contents data improperly (obtained not through the route node) can be determined.
Further, the plurality of representative nodes 1 perform the charging information generating process simultaneously with communications (such as reference and updating of the DHT, detection of the presence of the node 1 corresponding to a node ID written in the DHT, and the like) for maintaining the overlay network 9 as a component of the contents distribution system S. With such a configuration, without markedly increasing communication traffic, the logs can be collected.
Another configuration may be employed. In the charging information generating process, in the case where a log in the requesting node and a log in the distribution source node have consistency and a log in the requesting node and a log in the route node have consistency, the log in the distribution source node and the log in the route node are compared to determine whether they have consistency or not. If they have consistency, the charging information is generated. With the configuration, the reliability and certainty can be further improved.
As another example, in the charging information generating process, without determining consistency between a log in the requesting node and a log in the distribution source node and consistency between a log in the requesting node and a log in the route node have consistency, the log in the distribution source node and the log in the route node may be compared to determine whether they have consistency or not. If they have consistency, the charging information may be generated. With the configuration, even if the user of the node 1 obtains the contents data improperly (for example, by erasing the log), charging information can be generated.
(Consideration Information Generating Process)
Referring now to
The consideration information generating process shown in
For example, when the consideration information generating process shown in
Subsequently, the controller 11 determines whether a log from which consideration information is to be generated is recorded or not by sending a query to, for example, the node 1x (step S62). Such a query includes a query of, for example , whether a log is recorded after certain time (seconds, minutes, hours, date, and month) or not.
In the case where a log from which consideration information is to be generated is recorded (Y in step S62), the controller 11 serving as the log obtaining means obtains (collects) a log recorded on the route node 1x, for example, in the form of a log file from the route node 1x (step S63). For example, a log when location data as shown in
Next, the controller 11 selects one of the obtained logs of the route node (step S64). For example, in the case where there are a plurality of logs of the route node, for example, the oldest log or the latest log is selected.
The controller 11 refers to the selected log of the route node, obtains the IP address corresponding to the serial number of the node 1b (distribution source node) that stores the contents data included in the log (contents data whose location information is controlled by the route node 1x) (for example, by inquiring the node 1 controlling the IP addresses), and is connected to the node 1b via the communication unit 20 or the like in accordance with the IP address (step S65).
Subsequently, the controller 11 determines whether a log from which consideration information is to be generated is recorded or not by, for example, inquiring the node 1b (step S66). Such a query includes a query of, for example, whether a log is recorded after certain time (seconds, minutes, hours, date, and month) or not like the query in the step S62.
In the case where a log from which consideration information is to be generated is recorded (Y in step S66), the controller 11 serving as the log obtaining means obtains (collects) a log of the distribution source node recorded on the node 1b, for example, in the form of a log file from the node 1b (step S67). For example, logs of the distribution source node when contents data is distributed as shown in
Next, the controller 11 compares the log of the route node selected in the step S64 (the log when the location information is provided, as shown in
When it is determined that there is consistency (Y in step S68), whether a double log consistency check is set (ON) or not is determined (step S69).
The double log consistency check setting is a setting of determining consistency between a log of the route node and a log of the requesting node in addition to the consistency between the log of the route node and a log in the distribution source node. By the setting, more reliable and certain consideration information can be generated. The setting can be made by operation on the input unit 21, of the user of the node 1c.
When the dual log consistency check setting is not made (N in step S69) (that is, when it is sufficient that the logs recorded in at least two of the log in the requesting node, the log in the distribution source node, and the log in the route node have consistency), the controller 11 goes to step S75. In other words, without determination of consistency between the log in the route node and the log in the requesting node, consideration information is generated. On the other hand, when the double log consistency check setting is made (ON) (Y in step S69), the controller 11 goes to step S71.
On the other hand, when it is determined in the step S68 that there is no consistency between the log in the route node and the log in the distribution source node (the logs do not coincide with each other) (N in step S68), whether the double log consistency check setting is made (ON) or not is determined (step S70) (that is, in the step S70, whether consistency among three logs of the log in the requesting node, the log in the distribution source node, and the log in the route node is necessary or not is determined). In the case where the dual log consistency check setting is not made (N in step S70) (that is, when it is sufficient that logs recorded in at least two nodes out of the log in the requesting node, the log in the distribution source node, and the log in the route node have consistency), the controller 11 moves to step S71 (in other words, if only the log in the route node and the log in the requesting node have consistency, consideration information is generated) On the other hand, when the dual log consistency check setting is made (ON) (Y in step S70), the controller 11 moves to step S76 (that is, consideration information for the log is not generated).
In the step S71, the controller 11 refers to the log of the route node selected in the step S64, obtains the IP address corresponding to the serial number of the node 1a (requesting node) included in the log (for example, inquiring the node 1 that controls the IP addresses), and is connected to the node 1a via the communication unit 20 or the like in accordance with the IP address.
Subsequently, the controller 11 determines whether a log in the requesting node from which consideration information is to be generated is recorded or not by, for example, inquiring the route node 1x (step S72). Such a query includes a query of, for example, whether a log is recorded after certain time (seconds, minutes, hours, date, and month) or not like the query in the step S62.
In the case where a log in the requesting node from which consideration information is to be generated is recorded (Y in step S72), the controller 11 serving as the log obtaining means obtains (collects) a log in the requesting node, for example, in the form of a log file from the node 1a (step S73) . For example, logs in the requesting node when contents data is obtained (downloaded) as shown in
Subsequently, the controller 11 compares the log of the route node selected in the step S64 with the log of the requesting node obtained in the step S73 (the log of the requesting node when contents data is obtained (downloaded) as shown in
When it is determined that there is consistency (Y in step S74), the controller 11 as the consideration information generating means generates consideration information including information of a charge to be paid to the provider side of the contents data whose location information is controlled in the route node 1x (for example, the owner of the contents data) (step S75). For example, the node 1c stores a table of charges in which consideration fees to be paid to the provider of the contents data are set. The information indicative of the charges of consideration of the contents data corresponding to the contents IDs included in the logs in the route node is obtained by the node 1c and included in the consideration information.
Subsequently, the controller 11 determines whether or not there is another log in the route node obtained in the step S63 (a log other than the logs whose consistency is determined in the above-described process) (step S76). If YES (Y in step S76), the controller returns to step S64, select one log from the logs in the route node, and repeats processes similar to the above. In the case where consideration information is generated for the log in the step S75, a consideration fee included in the consideration information already generated and a consideration fee of the contents data obtained this time are integrated. A consideration fee obtained by the integration is included in the consideration information. That is, the consideration fee according to the number of pieces of contents data used is paid to the provider side.
On the other hand, when there is no log (N in step S76), the controller 11 stores the generated consideration information, date and time of generation of the consideration information, and the contents ID so as to be associated with each other in the storage 12 (step S77), and finishes the process. The consideration information generated as described above is used to pay the consideration fee to the provider side of the contents. data corresponding to the contents ID. For example, settlement request information including the consideration information is transmitted from the node 1c to a server of a financial institute or the like, and automatic settlement is made. For example, the consideration information generated by the plurality of nodes 1 may be collected by a specific node 1. As a method of paying a consideration fee to the provider of the contents data, any known methods may be employed.
As described above, in the consideration information generating process, in the representative plural nodes 1, consistency of at least two logs, specifically, a log of the route node and a log of the distribution source node (or a log of the route node and a log of the requesting node) is determined and, when there is consistency, consideration information including information of a charge (consideration fee) to be paid to the provider side of contents data (for example, the owner of copyright) is generated. Therefore, also in the peer-to-peer contents distribution system S in which a plurality of pieces of contents data are dispersedly stored in a plurality of nodes 1, reliable and certain consideration information for the provider of the contents data can be more efficiently generated and used.
Moreover, in the route node 1x, the providing state (in other words, the number of downloading times) of contents data stored in a plurality of nodes 1 (contents data whose location information is controlled by the route node 1x) is already totaled by logs in the route node, the copyright royalty (consideration fee) to be paid to the copyright which has been conventionally roughly paid can be calculated more accurately and efficiently.
Further, by generating the consideration information in the case where a log in the route node and a log in the distribution source node have consistency and a log in the route node and a log in the requesting node have consistency, log redundancy is realized, so that more reliable and certain consideration information can be generated more efficiently and used.
Further, the plurality of representative nodes 1 perform the consideration information generating process simultaneously with communications (such as reference and updating of the DHT, detection of the presence of the node 1 corresponding to a node ID written in the DHT, and the like) for maintaining the overlay network 9 as a component of the contents distribution system S. With such a configuration, without markedly increasing communication traffic, the logs can be collected.
Another configuration may be employed. In the consideration information generating process, in the case where a log in the route node and a log in the distribution source node have consistency and a log in the route node and a log in the request source node have consistency, the log in the requesting node and the log in the distribution source node are compared to determine whether they have consistency or not. If they have consistency, the consideration information is generated. With the configuration, the reliability and certainty can be further improved.
As another example of the consideration information generating process, the plural representative nodes 1 obtain only logs of a plurality of route nodes from the route node 1x for storing location information of contents data, total the obtained plural logs, and generate consideration information for the provider of the contents data corresponding to the location information (for example, the number of logs is multiplied with a preset consideration fee of contents data to calculate a total consideration fee, and the total consideration fee is included in the consideration information). With such a configuration, the copyright royalty (consideration fee) to be paid to the copyright which has been conventionally roughly paid can be calculated more accurately and easily.
In the embodiment, the overlay network 9 constructed by the algorithm using the DHT is a precondition. The present invention is not limited to the embodiment but can be also applied to an overlay network constructed by another algorithm capable of disposing information by which contents data can be identified (for example, contents name or contents number) in the same space as that of information by which a node can be identified (for example, serial number) without using a hash function.
The present invention is not limited to the foregoing embodiments. The embodiments are illustrative and anything having substantially the same configuration as that in the technical idea described in the scope of claims of the present invention and producing similar effects is included in the technical scope of the invention.
The present invention is not confined to the configuration listed in the foregoing embodiments, but it is easily understood that the person skilled in the art can modify such configurations into various other modes, within the scope of the present invention described in the claims.
All of the disclosure of Japanese Patent Application No. 2004-285090 including the specification, scope of claims, drawings, and abstract filed on Sep. 29, 2004 is incorporated herein by reference into this application.
Number | Date | Country | Kind |
---|---|---|---|
2004-285090 | Sep 2004 | JP | national |
Number | Date | Country | |
---|---|---|---|
Parent | PCT/JP05/16486 | Sep 2005 | US |
Child | 11727551 | Mar 2007 | US |