The present application claims priority from Japanese Patent Application NO. 2007-087151, which was filed on Mar. 29, 2007, 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 processor and a recording medium in which an information processing program for the information processor is recorded. More particularly, the invention belongs to the technical field of an information processor as a component of a network system constructed by connecting a plurality of information processors to each other via a network such as the Internet and to a recording medium in which an information processing program for the information processor is recorded.
2. Description of the Related Art
In recent years, the network technique of the Internet and the like is progressing remarkably. For example, studies on a content distribution system as disclosed in Japanese Patent Application Laid-Open No. 2006-197400 (patent literature 1) are being conducted.
In the content distribution system, for example, in the case of distributing content such as a movie, motion picture information or the like corresponding to the content is distributed (transmitted) from a content node that stores the motion picture information or the like to a request node operated by the user who wishes to watch the content. As for definition of the “content node”, the paragraph [0071] in the specification of the patent literature 1 can be referred to. As for definition of the “request node”, the paragraphs [0064] and [0065] in the specification of the patent literature 1 can be referred to.
With respect to distribution speed at the time of the distribution, for example, when the distribution is executed at a distribution speed at which distribution of content is not interrupted in the request node, there is no problem in practice.
On the other hand, content distributed by the content distribution system includes content with a time limit of distribution to a request node as the distribution destination. Concretely, for example, in the case of distributing motion picture information corresponding to a preview of a movie before release of the movie, distribution of the motion picture information of the preview to a request node operated by a person who wishes to watch the movie has to be completed by the release of the movie.
Distribution of content with the distribution completion time limit is often executed regardless of whether the content is actually viewed or not. In the related art of the patent literature 1 and the like, setting of speed of distributing content with the distribution completion time limit is not considered.
When the speed of distributing content with the distribution completion time limit is set to be high more than necessary, problems occur such that the load on a network used for the distribution and the load on a content node as the distribution source increase.
On the other hand, when the distribution speed of the content decreases, another problem occurs such that distribution of the content cannot be completed by the distribution completion time limit.
The present invention has been achieved in view of the above problems. An object of the invention is to provide an information processor capable of reliably distributing even content with a distribution completion time limit to a request node as a distribution destination by the distribution completion time limit while lessening the load on a network used for distribution, and a recording medium in which an information processing program for the information processor is recorded.
In order to solve the above problems, the invention according to claim 1 relates to an information processor for receiving distribution information with a preset distribution completion time limit, which is distributed from a distribution-source information processor connected to the information processor via a network, comprising:
detecting means for detecting remaining time to the distribution completion time limit;
determining means for determining, on the basis of the detected remaining time, a distribution mode of the distribution information to be distributed, necessary to distribute the distribution information to be distributed to the information processor in the whole of the detected remaining time and to complete the distribution within the remaining time; and requesting means for transmitting request information including mode information indicative of the determined distribution mode and for requesting the distribution to the distribution-source information processor.
Preferred embodiments for carrying out the present invention will now be described with reference to the drawings. The following embodiments relate to the case where the present invention is applied to a content distribution system similar to that in the invention disclosed in Japanese Patent Application Laid-Open No. 2006-197400 (patent literature 1) (that is, a so-called P2P (Peer-to-Peer) content distribution system for distributing content such as a movie and music).
Prior to concrete description of the embodiments of the invention, the principle of the present invention will be described.
A hardware configuration of the content distribution system and a mechanism for distributing content data (a distributed hash table (DHT) used for transmitting/receiving a message necessary for distributing the content) applied in the present invention are basically similar to those of the content distribution system disclosed in the patent literature 1. Specifically, as the hardware configuration and the DHT in the content distribution system of the embodiment, concretely, a hardware configuration and a DHT described in paragraphs [0039] to [0072] and shown in FIGS. 1A, 1B, and 1C to FIGS. 5A, 5B, and 5C in Japanese Patent Application Laid-Open No. 2006-197400 (patent literature 1) are used.
As described above, distribution of content with predetermined distribution completion time limit is not considered in the invention disclosed in Japanese Patent Application Laid-Open No. 2006-197400 (patent literature 1).
On the other hand, in the present invention described below by the embodiment, as shown in
Usually, the content acquisition starts at different timings (for example, timings Ta and Tb in
In the present invention, therefore, the remaining time from the actual acquisition start to the distribution completion time limit of the content is obtained in each of the request nodes. The distribution mode of the content is changed so as to maximally use the remaining time according to the length of time. Request information (a query which will be described later) to the content node as the distribution source of the content is transmitted so as to receive necessary content distributed in the distribution mode after the change.
As a concrete example of the distribution mode, as shown in
As another example, the download speed may be substantially changed by equally dividing content to be distributed into a plurality of content blocks B on the basis of the data amount and changing the timings of requesting distribution of the divided content blocks B as shown in
As further another example, the download speed may be substantially changed by dividing the content into content blocks B1, B2, B3, B4, B5, B6, . . . of plurality of kinds of data amounts and requesting distribution of the divided content blocks B1, B2, B3, B4, B5, B6, . . . as shown in
The present invention satisfies both prevention of excessive load on a network due to concentration of distributions on a request node and prevention of miss of the distribution completion time limit.
An embodiment of the present invention based on the principle will now be described concretely with reference to
An embodiment of the present invention according to the principle shown in
The nodes in the embodiment basically have similar hardware configurations and perform different operations according to their roles in the content distribution system. The roles are, concretely, four roles; the role as a request node for inquiring the location of content to be distributed and requesting for distribution of the content, the role as a cache node for receiving queries from the request node and other nodes on a distribution path, the role as a root node for managing the content, and the role as a content node for holding content data corresponding to content to be distributed. With respect to definition of the “request node”, paragraphs [0064] and [0065] in the specification of the patent literature 1 can be referred to. With respect to definition of the “query”, for example, the paragraph [0065] in the specification of the patent literature 1 can be referred to. With respect to definition of the “cache node”, for example, the paragraphs [0071] and [0072] in the specification of the patent literature 1 can be referred to.
With respect to definition of the “root node”, the paragraph [0053] in the specification of the patent literature 1 can be referred to. Further, with respect to definition of the “content node”, the paragraph [0071] in the specification of the patent literature 1 can be referred to. Further, with respect to the details of the operations of the nodes having the above-described roles, for example, the paragraphs [0093] to [0115] in the specification of the patent literature 1 and the
As shown in
By executing the various programs stored in the storage 12 or the like, the CPU included in the controller 11 controls the whole node 1 as any one of the request node, the cache node, the root node, and the content node.
In the storage 12, a routing table as shown in
The message process (including a process of determining download speed in the embodiment) of the content distribution system, executed mainly by the controller 11 in the node 1 of the embodiment will be concretely described with reference to
First, the general configuration of the message process in the embodiment will be described with reference to
As shown in
When the list information has been received (YES in step S2), the controller 11 determines content to be acquired by using the received content list (step S3) and transmits a query for searching the content node which stores the determined content into the content distribution system (step S4). In the step S4, when it is necessary to retrieve a plurality of content nodes in a download speed determining process which will be described later, the controller 11 transmits a query indicative of retrieval of content nodes of the number which have to be retrieved.
Next, the controller 11 of the request node determines the download speed corresponding to the retrieved content (or the data amount of the content block B corresponding to the download speed and the required interval (refer to
The controller 11 of the request node generates and sends a query including the information such as the determined download speed and requesting downloading of content into the content distribution system (step S6). After that, in response to the query, downloading of the content is started (step S7).
During execution of the downloading, the controller 11 always monitors completion of the downloading of the content (step S8). When the downloading is completed (YES in step S8), the controller 11 determines whether the downloading has been completed on all of the content to be downloaded or not (step S11). When the downloading of all of the content has been completed (YES in step S11), the controller 11 returns to the step S1 and repeats the above-described series of processes. When it is determined in the step S11 that there is still content to be downloaded (NO in step S11), the controller 11 returns to the step S3 and repeats the subsequent processes.
On the other hand, when it is determined in the step S8 that the downloading has not been completed (NO in step S8), the controller 11 determines whether the download speed for the content which is present being downloaded is reviewed or not at present (step S9). The process in the step S9 will be also descried in detail later.
The controller 11 determines whether the “return value” as a result of determination in the step S9 is “T (True)” or not (step S10). When the return value is “T” (YES in step S10), the controller 11 determines that it is the timing to review the download speed and moves to the process in the step S5. On the other hand, when the return value is not “T”, that is, the return value is “F (False)” (NO in step S10), the controller 11 determines that it is not the timing of reviewing the download speed at present, maintains the present download speed, and continuously execute the downloading (step S7).
By repeating the processes in the steps S5 to S10 every timing of reviewing the download speed, the download speed is optimized as shown in
When the controller 11 returns to the determination in the step S2 and it is determined that necessary list information has not been received (NO in step S2), the controller 11 determines whether a new message is received or not via the network and the communication unit 20 (step S12).
When it is determined in the step S12 that no new message is received (NO in step S12), the controller 11 returns to the step S1 and repeats the series of processes. On the other hand, when a new message is received (YES in step S12), the controller 11 determines that the received message is a transfer request message from another node 1 (that is, a query message to be transferred to an upper-order node 1, a reply message to be transferred to a lower-order node 1, or the like) (step S13). When the received message is not the transfer request message (NO in step S13), the controller 11 executes another process which is preliminarily defined in the node 1 in correspondence with the received message (step S17), returns to the step S1, and repeats the series of processes.
On the other hand, when it is determined in step S13 that the received message is the transfer request message (YES in step S13), the controller 11 performs a state determining process of determining whether or not priority should be placed on downloading of content to be obtained (see the step S7) in the request node in response to transfer of the message at that time point (step S14). The process in the step S14 will be also described later in detail.
The controller 11 determines whether the return value as a result of the process in the step S14 is “T” or not (step S15). When the return value is “T” (YES in step S15), the controller 11 determines that priority should be placed on downloading of the content over transfer of the received message at that time point and interrupts the message transferring process (step S16). The controller 11 returns to the step S1 and repeats the series of processes.
On the other hand, when it is determined in the step S15 that the return value is not “T”, that is, the return value is “F” (NO in step S15), the controller 11 returns to the step S1 and repeats the series of processes.
The details of the processes in the steps S9, S14, and S9 shown in
For convenience of explanation, the details of the process in the step S9 will be described first with reference to
As determination in the step S9 of whether it is the timing of reviewing the download speed or not, for example, as shown in
As another example, as shown in
As further another example, as shown in
The details of the step S14 will be described with reference to
In the process of determining the download state as the step S14, for example, as shown in
As another example, for example, as shown in
As further another example, for example, as shown in
Finally, the details of the process in the step S5 will be described with reference to
In the process of determining the download speed as the step S5, for example, as shown in
As another example, as shown in
Further another example will be described with reference to
As the further another example, as shown in
When the another message is not being transferred (NO in step S41), the controller 11 shifts to the process in step S43 which will be described later. On the other hand, when another message is being transferred (YES in step S41), the controller 11 immediately stops the transfer (step S42). When it is determined in the step S41 that another message is not being transferred (NO in step S41) or after the process of the step S42, the controller 11 determines whether another content node to which the request node is not connected exists in the content distribution system or not at present (step S43).
When an unconnected content node exists (YES in step S43), the controller 11 newly starts downloading of content from the unconnected content node (step S44) and shifts to the process in the step S6 shown in
On the other hand, when it is determined in the step S43 that there is no unconnected content node anymore (NO in step S43), the controller 11 determines that downloading of the content node being connected at present is continued, and shifts to the process in the step S6 in
Further another example will be described with reference to
As another example, as shown in
Next, the controller 11 calculates the remaining data amount D in the downloading of the content (step S45). The controller 11 calculates the remaining time T to the distribution completion time limit of the content (step S46). The controller 11 determines, as the download speed at that time point, a value obtained by dividing the calculated data amount D by the remaining time T (sep S47), and shifts to the process in the step S6 shown in
Further another example will be described with reference to
The example shown in
As the another example, as shown in
Next, the controller 11 calculates the data amount D of content which is not obtained yet at that time point among all of content pieces to be obtained by the request node (on assumption that the distribution completion time limit of all of content pieces is the same) (step S50).
The controller 11 performs calculation by setting the number C of times the content data can be requested by the distribution completion time limit of each of the content pieces as, for example, about 1,000 times (step S51). For the acquisition request, since the content node has been already retrieved, it is unnecessary to transmit a query message for the request from the request node. As the acquisition request, concretely, for example, a designation message of designating a necessary part in content data corresponding to content desired to be obtained by the number of bytes, the byte number, or the like is transmitted. The number C of times refers to the number of times of sending the designation message.
Based on the above, the controller 11 sets the value obtained by dividing the calculated remaining data amount D by the number C of requestable times as the data amount of a content block Bx (x=1, 2, 3, 4, . . . ) in the remaining content at that time point (step S52). The controller 11 divides the content into the content blocks Bx of the data amounts, and shifts to the process in the step S6 shown in
Finally, further another example will be described by using
The example shown in
As the another example, as shown in
Next, the controller 11 calculates the data amount D of content which is not obtained yet at that time point among all of content pieces to be obtained by the request node (on assumption that the distribution completion time limit of all of content pieces is the same) (step S50).
The controller 11 performs calculation by setting the data amount S of the content block B in the request for obtaining the content data (refer to the “fifth example”) by the distribution completion time limit as, for example, about 512 kilobytes (step S55). The controller 11 sets the inverse number (the dimension is “time”) of a value obtained by dividing the calculated remaining data amount D by the data amount S of the content block B as the query transmission interval at that time point (corresponding to the predetermined request interval Ti in
As described above, by the operations of the request node in the embodiment, content is distributed for the whole remaining time by the distribution completion time limit, a distribution mode necessary to complete distribution within the remaining time is determined, and a query indicative of the determined distribution mode is transmitted. Therefore, by effectively using the whole remaining time, while lessening the load on the network of distribution, the distribution completion time limit is prevented from being missed, and necessary content can be reliably distributed by the distribution completion time limit.
Therefore, even content with preset distribution completion time limit can be reliably distributed to the node 1 (request node) by the distribution completion time limit while lessening the load on the network used for distribution.
Since new download speed is re-determined under a predetermined condition and a query for the determined speed is transmitted again, even when the distribution mode for completing distribution by the distribution completion time limit changes due to a change in the situation of the network or the like, the distribution can be reliably completed by the distribution completion time limit.
Further, except for content distribution, when the process of transferring another message is executed, whether the process of transferring the another message is interrupted or not is determined. When the process is to be interrupted, the process of transferring the another message is interrupted, and priority is placed on distribution of content. As necessary, priority can be placed on distribution of content, and the distribution can be completed by the distribution completion time limit.
In the first example of the step S9 (see
In the second example of the step S9 (see
Further, in the third example of the step S9 (see
Further, in the first example of the step S14 (see
Further, in the second example of the step S14 (see
Further, in the third example of the step S14 (see
Further, in the first example of the step S5 (see
In the second example of the step S5 (see
In the third example of the step S5 (see
In the fifth example of the step S5 (see
In the sixth example of the step S5 (see
By recording a program corresponding to each of the flowcharts of
As described above, the present invention can be utilized in the fields of a so-called P2P type content distribution system. In particular, when the invention is applied to the fields of a content distribution system which distributes content by a distribution completion time limit, remarkable effects can be 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 |
---|---|---|---|
2007-087151 | Mar 2007 | JP | national |