The present application claims priority from Japanese Patent Application No. 2005-095639, which was filed on Mar. 29, 2005, the disclosure of which is herein incorporated by reference in its entirety.
1. Field of the Invention
The present invention belongs to the technical field of an information processing apparatus, an information processing method, and a recording medium. More specifically, the invention belongs to the technical field of an information processing apparatus and an information processing method for distributing content (distribution information) such as a movie to be distributed via a network, and a recording medium where an information processing program for performing the distributing process is recorded so as to be readable by a computer.
2. Discussion of the Related Art
In recent years, a distribution system for performing so-called content distribution is being actively studied and developed. The content distribution is performed by accessing a server or the like storing the content from a terminal device via a network such as the Internet, and distributing content desired to be viewed in the terminal device to the terminal device so that a user can view the content.
One of the distribution systems is a P2P (pear-to-pear) distribution system as a distribution system in which the content is directly transmitted/received among terminal devices belonging to a network (in other words, a distribution system in which content is distributed and shared among a plurality of terminal devices). Attention is paid to the P2P distribution system as a technique for solving access concentration on a server and high management cost as drawbacks of a conventional client-server model.
In the study of the field, as one of the P2P distribution systems, a “distribution storage system” is proposed as a technique for increasing fault tolerance and distributability by preparing a plurality of replicas for one piece of content and dispersing the replicas to a plurality of terminal devices.
An example of the conventional proposals of generation and disposition of the replica is the technique disclosed in Patent Document 1.
Patent Document 1: Japanese Patent Application Laid-Open No. 2003-99337.
The publication proposes a method of generating and disposing replicas uniformly in an entire network in a service group by referring to the entire size (general information amount) of replicas existing in terminal devices connected in the service group on the network and the number of replicas.
A service mode in which the frequency of accesses to registered content from terminal devices largely varies among the content has a problem such that accesses from other terminal devices are concentrated on a terminal device which records frequently-accessed content. With respect to content which is frequently accessed from other terminal devices, it is inherently desirable to generate replicas of the number according to the popularity. In the technique disclosed in the above-described Patent Document 1, however, the popularity of content is not considered.
To obtain the optimum number of replicas according to the access frequencies, it is necessary to obtain the storage capacity of the whole distributed storage system and access frequencies of all of content registered in the distribution system and, on the basis of the obtained storage capacity and the access frequencies, assign recording capacity proportional to the access frequency to each piece of the content. Realization of the assignment in the P2P distribution system, however, has a problem. A server for managing the locations of content and the number of pieces of content in the whole distribution system is separately required. As a result, accesses are concentrated on the server and the cost increases, so that the advantages of the P2P distribution system are lost.
The present invention has been achieved in view of the problems. An object of the invention is to provide an information processing apparatus and an information processing method capable of autonomously disposing replicas of the necessary number in a distribution system to proper positions in the distribution system without providing a server or the like for managing the locations and the number of content and capable of distributing necessary content more efficiently, and to provide an information processing program for performing the distributing process.
In order to the above problems, the invention according to claim 1 relates to an information processing apparatus as a component of an information distribution system in which distribution information to be distributed is directly transmitted/received among information processing apparatuses via a network, comprising:
recording means for recording one or plural pieces of the distribution information; and
evaluation information storing means for generating and storing evaluation information having a value based on at least the number of distribution requests for each piece of the distribution information.
Best modes for carrying out the invention will now be described with reference to the drawings. In embodiments described below, the invention is applied to the case where, according to a content distribution requesting operation executed in one of terminal devices, desired content is distributed to the terminal device from another terminal device in the P2P distribution system for distribution the content by using a network such as the Internet. In the following description, the terminal device will be generally called a “node”.
First, the schematic configuration of each of nodes connected to each other via a network in a distribution system in the embodiments will be described with reference to
As shown in
By executing various programs recorded in the recording unit 12 and the like by the CPU in the control unit 11, the control unit 11 controls the general operation of the node N in the embodiment in a centralized manner.
Next, the content distributing operation and the replica generating operation executed in association with the content distributing operation in the node N will be described with reference to
In the following distribution system according to the embodiment, an evaluation value having a value corresponding to the number of times of requesting distribution of the content (that is, the number of times distribution of the content is requested by other nodes N) is added to each of content pieces stored in the recording unit 12 of each node N.
In the distribution system, when an operation for requesting distribution of content (hereinbelow, content requested to be distributed is called content (X)) to one node is executed in the one node (hereinbelow, the node in which the distribution requesting operation is executed will be called a node “j”), a content request message (X, j) requesting distribution of the content X to the node “j” is transmitted from the node “j” to another node storing the content X in its recording unit 12 (hereinbelow, the another node for transmitting the content (X) stored in itself to the node “j” in correspondence with the received content request message (X, j) will be called a node “k”).
When the content (X) is transmitted to the node “j” and a replica of the content (X) stored in the recording unit 12 of the node “k” as a distribution source is generated in the recording unit 12 of the node “j”, a replica generation message (X, W) is transmitted from the node “j” in which the replica is generated to the node “k” as the transmission source. A parameter W included in the replica generation message (X, W) is a replica factor used for adjusting an evaluation value of the content (X) in the entire distribution system of the embodiment due to the fact that the replica of the content (X) stored in the node “k” as the distribution source is generated in the node “j” as the distribution destination.
In the node “j” in which the replica is generated, the generated replica is used to execute a process of reproducing the replica (that is, the content (X)) corresponding to the distribution requesting operation.
Next, the content distributing operation and the replica generating operation in the embodiment will be concretely described with reference to
First, the operations will be generally described by referring to
As shown in
After completion of the process of obtaining the content (X), a check is made to see whether the power supply of the node “j” is turned off or not (step S9). When the power supply is turned off (Yes in step S9), the operations in the node “j” are completed. When the power supply remains off (No in step S9), the program returns to the process in the step S1 to move to the process of obtaining the next content.
On the other hand, when the content distribution requesting operation is not executed in the determination of the step S1 (No in step S1), next, whether the content request message (X, j) has been transmitted from another node N to the one node N or not is determined (step S2). In the case where the content request message (X, j) is transmitted, that is, in the case where the one node N becomes the node “k” (Yes in step S2), an evaluation value acquiring process for acquiring (calculating) an evaluation value of the content (X) currently stored in the node “k” is executed. The acquisition result is temporarily stored as the value of a parameter V indicative of the acquisition result (step S5).
Thereafter, when the content request message (X, j) is transmitted (that is, when the operation of requesting distribution of the content (X) stored in the node “k” is executed in another node N (the node “j” at present)) in the step S2, the value of the parameter V temporarily stored is incremented only by “1”, thereby obtaining an evaluation value for the current content X (the evaluation value for the content X will be referred to as VALUE(X) hereinbelow) (step S6). Thereafter, the data of the content (X) requested to be distributed from the node “j” at present is transmitted to the node “j” on which the requesting operation is performed (step S7). The routine moves to the step S9, and the above-described process is executed.
On the other hand, when it is determined in step S2 that the content request message (X, j) is not transmitted from any of the nodes N (No in step S2), next, whether or not the replica generation message (X, W) (after distribution of the requested content X) is transmitted from the another node N serving as the node “j” at present to the one node N serving as the node “k” at present is determined (step S3). When the replica generation message (X, W) is transmitted, that is, when a replica of the content X is generated in the current node “j” (Yes in step S3), the evaluation value acquiring process for the distributed content (X) is executed on the current evaluation value VALUE(X), and a new acquisition result is temporarily stored as the value of the parameter V (step S5).
Thereafter, a value obtained by multiplying the value of the parameter V temporarily stored in the process of the step S5 with the replica factor W included in the replica generation message (X, W) transmitted is set as the current evaluation value VALUE(X) (step S8). Subsequently, the routine advances to the step S9, and the above-described process is executed.
Next, the details of the process for acquiring an evaluation value of the content (X) in the step S5 will be described with reference to
As shown in
After completion of setting of the parameters, a check is made to see whether the following relation is currently satisfied or not.
T≧Tg+Tu
That is, a check is made to see whether or not the current time is time after lapse of 24 hours or more since the time the evaluation value on the content (X) is obtained last in the node “j” (step S41).
When the current time is not time after lapse of 24 hours or more since the time the evaluation value on the content (X) is obtained last in the node “j” (No in step S41), the program moves to the step S6 or S8 in
On the other hand, when it is determined in step S41 that the current time is time after lapse of 24 hours or more since the time the evaluation value is obtained in the node “j” (Yes in step S41), the parameter Tg is updated to a value obtained by adding the parameter Tu to the original parameter Tg (that is, the value of the parameter Tg is updated by adding 24 hours) (step S42) Further, the value of the current evaluation value VALUE(X) is reduced only by 10% (step S43). Thereafter, the program returns to the step S41.
As described above, the evaluation value acquiring process shown in
Next, the details of the content (X) acquiring process in the step S4 will be described with reference to
As shown in
On the other hand, when it is determined in the step S11 that the content (X) is not stored in the recording unit 12 of the node “j” (No in step S11), another node N (that is, the node “k”) having the recording unit 12 in which the content (X) is stored is retrieved in the distribution system according to the first embodiment (steps S12 and S13). As a concrete method of the retrieval, it is suitable to employ a retrieval method using so-called DHT (Distributed Hash Table) in the case of the P2P distribution system.
When another node N to become the node “k” cannot be found (No in step S13), the desired content (X) cannot be obtained in the distribution system of the first embodiment. Consequently, the fact is notified to the user by using the display unit 16 or the like in the node “j” (step S19), and the program moves to the step S9 shown in
On the other hand, when it is determined in the step S13 that another node N to become the node “k” can be found (Yes in step S13), next, the content request message (X, j) is transmitted from the node “j” to the node “k” (step S14), and the program waits for distribution of the data itself of the content (X) as a reply to the content request message (X, j) (No in step S15). When the data of the content (X) is distributed from the node “k” (Yes in step S15), the distributed content (X) is temporarily stored in the temporary buffer of the node “j” (step S16) and, thereafter, used for a reproducing process in the node “j”. After completion of the reproduction process, the content (X) in the temporary buffer is deleted as necessary.
To generate a replica of content which can be provided to another node separately from the content in the temporary buffer, a replica generating process (X, k) to be described later is executed (step S17), and the program moves to the step S9 in
When the process of the step S12 or S15 is executed, in parallel with the process, the number of not-shown routers (hereinbelow, the number will be called the number of hops) between the retrieved node “k” and the node “j” to which the content (X) is distributed is temporarily stored in the recording unit 12. Via the routers, the content (X) is distributed. The number of hops can be recognized by, for example, in the Internet, specifying the value of a TTL (Time To Live) field in an IP packet in advance, and detecting decrease in the value on reception of the IP packet.
Finally, the details of the replica generating process (X, k) in the step S17 will be described by using
In the flowchart of
As shown in
The larger the number of hops temporarily stored in the step S12 or S15 in
After the replica factor W is set in the step S22, the evaluation value acquiring process is executed on the current evaluation value VALUE(X), and a new acquisition result is temporarily stored as the value of the parameter V (step S5). A value obtained by multiplying the temporarily stored parameter V with the replica factor W is set as a new parameter V (step S23) and, further, the latest parameter V is set as the evaluation value VALUE(X) at that time (step S24).
Next, the parameter “i” is initialized to “1”, and the parameter S indicating how insufficient the value of the current parameter Sr for recording the content (X) (that is, whether the content (X) can be recorded in the unrecorded area in the recording unit 12 or not) is calculated as follows (step S25).
S=SIZE(X)−Sr
Whether the parameter S is equal to or less than “0” or not, that is, whether the unrecorded-area information amount is larger than the information amount of the content (X) or not is determined (S26). When the parameter S is “0” or less and the unrecorded-area information amount becomes larger than the information amount of the. content (X) (Yes in step S26), all of the content (as will be described later, content determined as content which can be deleted from the recording unit 12 due to its low evaluation value) written in the data list R[ ] is deleted (step S31). Further, the content (X) stored in the temporary buffer is stored into a vacant area (see step S31) of the content storage area in the recording unit 12 (step S32). Further, the replica generation message (X, W) including the replica factor W obtained at that time (see step S22) is transmitted to the node “k” which has distributed the content (X) (step S33). Generation of a new replica of the content (X) in the recording unit 12 in the node “j” is disclosed by using a technique similar to the conventional one (step S34), and the program moves to the step S9 in
On the other hand, when it is determined in step S26 that the parameter S is not “0” or less and the unrecorded-area information amount is insufficient to record the content (X) (No in step S26), a check is made to see whether the value of the parameter “i” has incremented to the value “M” or not (step S27).
When the value of the parameter “i” is the value “M” or less (Yes in step S27), the evaluation value acquiring process is executed on the current evaluation value VALUE(D[i]) corresponding to the content D[i] indicated by the parameter D[i], and a new acquisition result is temporarily stored as the value of the parameter Vd (step S5).
Next, whether the value of the parameter Vd temporarily stored is equal to or less than the value of the current parameter V (see step S23) is determined (step S28). When the value of the parameter Vd is equal to or less than the value of the current parameter V (Yes in step S28), it is determined that the content D[i] may be deleted from the recording unit 12 since its evaluation value VALUE(D[i]) (=Vd) is low, and the content D[i] is added to the delete data list R[ ] (step S29).
The parameter “i” is incremented only by “1”, and the parameter S is updated to a value obtained by subtracting the value of the parameter SIZE(D[i]) from the current value (that is, increase in the unrecorded area only by the amount of the content D[i] by deleting the content D[i] in future (see step S31) is expressed). Further, the value of the current parameter V is decreased only by the value of the parameter Vd (that is, the criterion for retrieving content of a lower evaluation value in the recording unit 12 is lowered) (step S30) The program returns to the step S26 and the above-described processes are repeated.
On the other hand, when it is determined in the step S28 that the value of the parameter Vd is larger than the current value of the parameter V (No in step S28), it is determined that the content (D[i]) corresponding to the current parameter Vd is not to be deleted due to its high evaluation value, and the program moves to the step S9 in
When it is determined in the step S27 that the value of the current parameter “i” is larger than the value “M”, determination is made that there is no content to be deleted, and the program similarly moves to the step S9 in
The reason why the larger the number of hops, the larger the replica factor W in the relation between the number of hops and the value of the replica factor W will be described.
Generally, to operate the network system efficiently as a whole, desirably, traffic (transmission of data) is not concentrated but is generally uniformly dispersed. On the other hand, a general network has locality in so-called topology. The communication among nodes which are apart from each other on the network has the cost higher than that of communication among nodes which are closer to each other, and causes concentration of traffic. That is, when communication is performed among nodes disposed as close as possible (that is, closed communication in a narrow area), the efficiency of use of the network as a whole is higher. From such a viewpoint, a distribution request from the node N which is far on the network (that is, the number of hops is large) is unpreferable for the distribution system including a network in a specific area, so that the number of the requests should be reduced as much as possible. However, on the other hand, when a distribution request is sent from a far node, it can be said that another node N storing the desired content does not exist around the node N from which the distribution request is transmitted. Consequently, like in the first embodiment, the value of the replica factor W for a distribution request from a far node is set to be large (“0.8” in the first embodiment) After the content is distributed once, generating a replica which is not easily deleted in the node as the distribution destination makes it possible to reduce the possibility that the distribution request is sent again from nodes in the far area.
Next, transmission/reception of content among nodes N existing in the distribution system and how a change in the evaluation value on each content progresses in association with the transmission/reception when the processes shown in FIGS. 2 to 5 are executed will be described concretely with reference to
In the example to be described with reference to
That is, in the case of
Next, in the state of
As shown in
Consequently, the node N2 receives the transmitted content C as shown in
Since the evaluation value (=0) of the content C2, which is the lowest among those of the content stored in the recording unit 12 of the node N2, is “2” or less (Yes in step S28 in
After completion of generation of the replica, the node N2 generates a replica generation message (C1, W) indicative of the completion and transmits it to the node N1 as the supply source of the content C1 as shown in
When the node N1 receives the replica generation message (C1, W) (Yes in step S3 in
By the above-described series of operations, as shown in
Another concrete example of the first embodiment will be described with reference to
As shown in
Next, as shown in
The node N4 receives the transmitted content C2 as shown in
Since the evaluation value (=1) of the content C4 having the lowest evaluation value among the content stored in the storing part 12 of the node N4 itself is not 0.5 or less (No in step S28 in
As described above, by the operations of the distribution system according to the first embodiment, at least the evaluation values based on the number of distribution requests with respect to the content are stored. Accordingly, the number of replicas of the content in the distribution system and the like can be controlled in accordance with the evaluation values.
Therefore, by controlling the number of replicas in the distribution system and designation of the node N to store the replicas on the basis of the evaluation value, replicas of the necessary number in the distribution system can be disposed autonomously in proper positions in the network, and necessary content can be distributed more efficiently.
Since the evaluation value increases each time a distribution request is made, the actual number of distribution requests, that is, the evaluation value corresponding to actual popularity of content among the users of the nodes N in the distribution system is accurately reflected. Replicas of the number according to actual popularity can be properly disposed in the distribution system.
Further, a value obtained by multiplying an evaluation value on distributed content with a replica factor transmitted from a distribution destination when a replica of the content is generated in the distribution destination is used as a new evaluation value on the content, and the replica factor has the value less than 1 corresponding to the distance on the network to the node N at the distribution destination (that is, the number of hops). Consequently, when a replica of the content distributed to the node N as the destination is generated, the evaluation value can be properly updated in relation to the distance on the network to the node N where the replica is generated and the replica itself.
In addition, since the evaluation value on content decreases every preset time lapse, the evaluation value can be updated without making the difference between content frequently requested to be distributed and the other content excessive.
When content requested to be distributed is not recorded, another node N storing the content is retrieved. A content request message is transmitted to the retrieved another node N, content corresponding to the content request message is obtained as a replica of the content together with the corresponding evaluation value. When the content is obtained, a value obtained by multiplying the evaluation value corresponding to content with the replica factor corresponding to the obtained content is stored as a corresponding new evaluation value. In addition, the replica factor has a value less than 1 corresponding to the distance on the network to another node N. Accordingly, when new content is obtained as a replica, the evaluation value can be properly updated in relation to the distance on the network to the node N as the distribution source and the obtained content itself.
Further, when a replica of the content is recorded in the node N which has received a distribution request, a replica generation message indicative of the fact is transmitted together with the replica factor to the distributor of the content. Therefore, the evaluation value corresponding to the content recorded in the node N as the distributor can be properly updated in relation to the replica.
When content is designated as content to be deleted in accordance with an evaluation value and the vacant recording capacity in the recording unit 12 becomes equal to or less than the information amount of another content to be received next, the content designated as content to be deleted is actually deleted from the recording unit 12. Consequently, content which becomes unnecessary can be deleted at proper timing in relation to another content to be received, and new content can be received efficiently.
Since it is set so that the longer the distance on the network, the larger the value of a replica factor, generation of a distribution request from a node N in a far place on the network can be prevented to some extent. Content having large number of distribution requests by the nodes N in a certain range on the network can be efficiently distributed among the nodes N in the range and recorded.
A second embodiment as another embodiment of the invention will be described with reference to
In the foregoing first embodiment, content whose evaluation value becomes lower than a threshold (parameter V) at that time is deleted from all of nodes N storing the content (see step S31 in
Since the operation in the distribution system according to the second embodiment is the same as that in the distribution system according to the first embodiment except for a replica generating process (step S17) shown in
As shown in
When it is determined in step S28 that the value of the parameter Vd is equal to or less than the value of the current parameter V (Yes in step S28), another node N (that is, node “k”) having the recording unit 12 in which the content D[i] is recorded is searched for in the distribution system of the second embodiment (steps S40 and S41).
In determination of whether the another node N can be found or not by the search (step S41), in the case where another node N as a target cannot be found even when the search range is widened to the preset number of hops on the network, it is determined as “No” (in step S41).
When it is determined in step S41 that the node “k” storing the target content (D[i]) can be found (Yes in step S41), since the evaluation value VALUE(D[i]) (=Vd) of the content is low, it is determined that the content D[i] may be deleted from the recording unit 12 in the node “j”, and the content D[i] is added to the delete data list R[ ] (step S29).
The parameter S is updated to a value obtained by subtracting the value of the parameter SIZE (D[i]) from the current value (that is, increase in the unrecorded area only by the amount of the content D[i] by deleting the content D[i] in future (see step S31) is expressed) Further, the value of the current parameter V is decreased only by the value of the parameter Vd (that is, the criterion for retrieving content of a lower evaluation value in the recording unit 12 is lowered) (step S42) and the parameter “i” is incremented only by “1” (step S43). Thereafter, the program returns to the process of the step S26 and the above-described processes are repeated.
On the other hand, when it is determined in the step S41 that the node “k” storing the target content (D[i]) cannot be found (No in step S41), the content (D[i]) does not exist in any of the nodes N in the distribution system. Therefore, when the content (D[i]) is deleted also from the current node “j”, the content (D[i]) does not exist anymore in the distribution system and cannot be distributed after that. Consequently, without adding the content (D[i]) to the delete data list R[ ], the program moves directly to the step S43 without executing the steps S29 and S43.
Next, transmission/reception of content among nodes N existing in the distribution system and how a change in the evaluation value of content accompanying the transmission/reception of content progresses when operations of the second embodiment including the replica generating process shown in
It is assumed that the evaluation values on contents C1 to C4 in nodes N1 to N4 are as shown in the parentheses in
The replica generating process (see step S17 in
As shown in
As described above, by the replica generating process (X, k) in the second embodiment, the effects of the operation of the distribution system according to the first embodiment are produced. In addition, except for the case where existence of a replica of content to be deleted in any of the nodes N in the distribution system is recognized, the content to be deleted is excluded from objects to be deleted. As a result, when the replica does not exist in any of the nodes N in the distribution system, the content is not deleted from the recording unit 12 even if the content is to be deleted (No in step S41 in
When a replica of content to be deleted exists in any of the nodes N in the search range on the preset network, it is recognized that a replica of contents to be deleted exists in any of the nodes N in the distribution system. Consequently, by excluding the node N on the outside of the search range from the range in which the existence of content is recognized, generation of a distribution request to the node N in a far place on the network can be suppressed to some extent. Thus, content frequently requested to be distributed by the nodes N in a certain range on the network can be efficiently distributed among the nodes N in the certain range and recorded.
The value of the replica factor W may be determined on the basis of, except for the number of hops, for example, the number of replicas in the distribution system. The value may be experimentally obtained by calculating an average value of the number of hops or the number of replicas in a content distribution state.
Another configuration is also possible. A program corresponding to the flowcharts of FIGS. 2 to 5 and 10 is recorded on an information recording medium such as a flexible disk or hard disk. Alternately, a program is obtained via the Internet or the like and recorded. By reading and executing the program by a general computer, the computer can be made function as the control unit 11 in the embodiment.
As described above, the present invention can be used for the field of distribution of content via a network. Particularly, when the invention is applied to the field of distribution of content in a downloading manner, conspicuous effects are obtained.
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.
Number | Date | Country | Kind |
---|---|---|---|
2005-095639 | Mar 2005 | JP | national |
Number | Date | Country | |
---|---|---|---|
Parent | PCT/JP2005/020876 | Nov 2005 | US |
Child | 11905085 | Sep 2007 | US |