The present application claims priority from Japanese Patent Application NO. 2007-180067, which was filed on Jul. 9, 2007, the disclosure of which is herein incorporated by reference in its entirety.
1. Technical Field
The present invention belongs to a technical fields of a network system, an information processor, a connection destination introducing apparatus, an information processing method, a recording medium storing a program for an information processor, and a recording medium storing a program for a connection destination introducing apparatus. More specifically, the invention belongs to a technical field of a network system for distributing information such as moving pictures and music distributed from a distributor while stepwisely relaying the information by information processors connected so as to construct a plurality of hierarchical levels on the downstream of the distributor.
2. Discussion of Related Art
In recent years, the speed of the Internet line for household is conspicuously increasing. With the increase in the speed, a content distribution system is being commonly used. In the content distribution system, a network is constructed by connecting a plurality of personal computers and the like in houses in a hierarchical tree shape having, at its apex, one distribution server as a distributor. Via the network, the distribution information is distributed from the distribution server. The distribution information such as movies and music will be also called “content” hereinbelow. The content distribution system will be also simply called a “distribution system” hereinbelow.
The network will be called “topology” from the viewpoint of the connection mode. In the topology of such a network, each of the personal computers constructing the network is generally called a “node”. Further, for example, Japanese Patent Application Laid-Open No. 2006-033514 (
In the invention disclosed in the patent document 1, in the case where a relaying function in a node belonging to an upper level in the hierarchical tree structure and relaying content stops due to, for example, turn-off of the power, a new topology including a node other than the node whose relaying function stops is automatically reconstructed using the distribution server as an apex.
The reconstruction is executed only between nodes related to a node in which a failure occurs in the distribution system but the connection state in the other nodes in the distribution system is considered.
In the configuration of the invention disclosed in the patent document 1, a process for reconstructing the topology is started after the relaying function in any of the nodes completely stops. That is, only after distribution to a node on the downstream side in the hierarchical tree completely stops, the process for the reconstruction is started for the node whose relaying function stops.
In the content distribution, there is a case such that a distribution amount gradually decreases for some reason before the distribution completely stops. In such a case, in the invention disclosed in the patent document 1, since the process for reconstructing the topology starts only after the distribution completely stops, when the distribution amount becomes a certain amount, there is the case that the reproducing process in a node to which content is distributed stops. It causes a problem such that, after the distribution amount decreases and completely stops, distribution of content to a node on the downstream side is stopped until reconstruction of the topology is completed.
The present invention has been achieved in view of the problems, and it is an object of the present invention to provide a distribution system realizing more stable distribution as compared with the case where a new connection is established only after content distribution stops completely.
In order to solve the above problem, the invention according to claim 1 relates to an information processor included in a network system in which a plurality of information processors are connected in a hierarchical tree shape via a network, and distribution information is distributed to any of the information processors along the hierarchical tree, comprising:
distribution state detecting means for detecting a state of distribution of the distribution information;
storing means for storing reference information indicative of a criterion to determine whether the state deteriorates or not;
request information transmitting means, when the distribution is continued and the state becomes worse than the criterion, for transmitting request information that requests for transmission of connection destination information indicative of a new information processor to be connected in the network system, to a connection destination introducing apparatus included in the network system and transmitting the connection destination information; and
reconnecting means for establishing a new connection for the distribution to another information processor indicated by the connection destination information transmitted from the connection destination introducing apparatus in response to the transmitted request information.
Best modes for carrying out the present invention will now be described with reference to
First, a schematic configuration and function of the distribution system of the embodiment will be described with reference to
As shown in
The distribution system S of the first embodiment includes a broadcasting station 1 as a distributer of (continuous) packets each corresponding to a distribution unit of content to be distributed and a plurality of nodes 2a, 2b, 2c, 2d, . . . . Based on the network 10 shown in the lower frame 101 in
The broadcasting station 1 is actually realized as a broadcasting station apparatus including a recorder made by a hard disk drive or the like for storing content data corresponding to the above-described content to be broadcasted, a controller for controlling distribution of the content, and an interface for controlling input/output of content data or the like to/from the network 10. In practice, the node 2 is realized as a node of a personal computer, a so-called set-top box, or the like which is mounted in a house and can be connected to the Internet.
In
By using a not-shown database, the connection destination introducing server 3 manages location information (for example, an IP (Internet Protocol) address and a port number (such as standby port number) of the broadcasting station 1 and each of the nodes 2 participating in the distribution system S) and topology information indicting topologies (connection modes) between the broadcasting station 1 and the nodes 2 and between the nodes 2 in the distribution system S. The connection destination introducing server 3 authorizes a participation request from a not-participating node and notifies the node of the location information of the participating node 2 as a connection destination (in other words, the participating node 2 selected in consideration of the hierarchical-tree-shaped topology). Consequently, the node to which the location information is notified (which is to participate in the distribution system S) establishes a connection to the participating node 2 on the basis of the location information to thereby participate in the distribution system S.
The hierarchical-tree-shaped topology in the distribution system S is determined in consideration of the maximum number, balance (symmetry), and the like of nodes 2 on the downstream side directly connected to each of the nodes 2. It may be determined in consideration of the above and, in addition, for example, the locality between the nodes 2 (which is equal to proximity on the network 10 and generally it describes the small number of routing hops as high locality.
In the case such that the power supply of the participating node 2 is turned off or the communication state with respect to the node 2 becomes bad, the node 2 withdraws from the distribution system S. Consequently, the nodes 2 and the like on the downstream side directly connected to the withdrawn node 2 have to obtain the location information of the other participating nodes 2 as new connection destinations from the connection destination introducing server 3 and establish a connection. In the following description, a change of connection to the new connection destination will be properly called “reconnection”.
Further, the hierarchical-tree-shaped topology is formed every broadcasting station 1, in other words, every broadcast channel. That is, in the upper frame 100 in
Next, the configuration of the topology in the distribution system S in the embodiment and processes performed to newly participate in the distribution system S will be described more concretely with reference to
For example, in the case where a new node N shown in
After a node 2 newly joins in the distribution system S, content data corresponding to content distributed from the broadcasting station 1 is relayed from the upstream side to the downstream side in the hierarchy in the distribution system S, thereby distributing the content to the nodes 2.
(III) Process of Withdrawal from Distribution System in Embodiment
Next, a process of withdrawal from the distribution system S in the embodiment will be described with reference to
In the withdrawing process, as shown in
The node 2b which received the two request messages stops the content relaying process which has been executed, thereby stopping distribution of content to the node 2e withdrawing. After that, by erasing the information related to the node 2e from the node management information in the node 2b concurrently with the content distribution stopping process, the node 2b disconnects the connection to the node 2e. As a result, distribution of content to the withdrawing node 2e from the node 2b is stopped. In the case where other nodes (in
As a first example of the restoring process, each of the nodes 2 (including the nodes 2j and 2k) constructing the distribution system S always monitors the distribution state of content from the node 2 connected on the immediately upstream side. Using deterioration in the content distribution state (indicated by “X” mark in
A second example of the restoring process relates to a so-called event notifying method. In the event notifying method, each of the nodes 2 participating in the distribution system S does not execute a monitoring process such as the time-out method shown in
By the process described above, also after withdrawal of the node 2e in the distribution system S, distribution of content to the nodes 2j and 2k which were on the immediately downstream side of the node 2e is continued.
The reconnecting process of the embodiment will be described more concretely with reference to
More concretely, in the distribution system S of the embodiment illustrated in
There are two modes with respect to the relation between the distribution status and the quality parameter corresponding to the timing when the node 2k sends the separation request message MG8 and the upstream node introduction request message MG9.
In the first mode, the quality parameter indicates the lower limit value of a packet rate which is preset for each of the nodes 2. When the packet rate as the distribution amount to the node 2k (from the node 2e) becomes lower than the lower limit value, the separation request message MG8 and the like is transmitted.
In the second mode, the quality parameter indicates the upper limit value of a packet loss ratio which is preset for each of the nodes 2. When the loss ratio of packets in the content distributed to the node 2k (from the node 2e) exceeds the upper limit value, the separation request message MS8 and the like is transmitted.
The connection destination introducing server 3 which has received the upstream node introduction request message MG9 in any of the two modes transmits an upstream node candidate message MG10 including the location of a participating node 2 (the node 2f in the case of
Each of the nodes 2 periodically notifies the connection destination introduction server 3 of an average value of the packet rate or packet loss ratio of content transmitted from the node 2 connected on the upstream side (reception quality statistical information which will be described later).
On the other hand, based on the reception quality statistical information, the connection destination introduction server 3 which has received the reception quality statistical information re-determines new quality parameters to a node 2 which is likely to be reconnected among the other nodes 2 connected on the downstream side of the node 2 or quality parameters to a node 2 to which the node 2 to be reconnected is expected to be reconnected in near future, and distributes the quality parameters to the related node 2 via the broadcasting station 1. That is, the connection destination introduction server 3 constantly monitors the distribution state in the topology and, before the node 2 is reconnected due to a failure such as degradation in the quality of a stream, performs a process of updating the quality parameters of each of the nodes 2.
A quality parameter updating process of the embodiment will now be described with reference to
First, in the case where no failure or the like occurs in the network 10 constructing the distribution system S (that is, in the case where distribution in the stationary state is performed), as shown in
In the quality parameter MP, information indicative of the value itself of the quality parameter MP and the node ID of the node 2 to which the quality parameter MP is sent is written. Further, the quality parameters MP in all of nodes 2 belonging to the distribution system S surrounded by a broken line in
(B) Process of Setting Quality Parameter in the Case where the Number of Failures or the like Occurred is Small
In contrast, in the case where the failure or the like occurs in one place or so in the distribution system S, immediately after the occurrence of the failure or the like, a quality parameter MP1 having a new value is distributed to each of the nodes 2 so as to lower the sensitivity of only the quality parameter MP in each of the nodes 2 connected below the location where the failure or the like occurs. Also in the quality parameter MP1, information indicative of the value itself of the quality parameter MP1 and the node ID of the node 2 as the destination of the quality parameter MP1 is written.
More concretely, in the case where a failure or the like occurs in the position of a triangle mark shown in
As a concrete example of the new quality parameter MP1, in the case of using the quality parameter MP1 as the lower limit value RL of the packet rate in order to lower the sensitivity as compared with that in the stationary state (refer to
As described above, by setting the quality parameter MP in the node 2 connected on the downstream side of the location where the failure or the like occurs to the new quality parameter MP1 having the lowered sensitivity, the reconnecting process is prevented from being performed in short time in each of the nodes 2.
In the period in which the reconnecting process shown in
By executing the process of setting the quality parameter MP described with reference to
(C) Process of Setting Quality Parameter in the Case Where the Number of Failures or the like Occurred is Large
On the other hand, also in the case where the failure or the like occurs in two or more places in the distribution system S, immediately after the occurrence of the failure or the like, the sensitivity of the quality parameter MP in each of the nodes 2 connected below the location where the failure or the like occurs is lowered as in the case of
More concretely, in the case where a failure or the like occurs in the locations of two triangle marks shown in
As concrete values of the new quality parameters MP1 and MP2, as the quality parameter MP1, a value similar to that of the case shown in
As described above, by setting the quality parameter MP in the node 2 connected on the downstream side of the location where the failure or the like occurs to the new quality parameter MP1 having the lowered sensitivity in a manner similar to the case of
In addition, for the nodes 2 which are not related to the failure or the like, the quality parameter MP is set to be higher than that in the case of
By executing the setting process using the two quality parameters MP described with reference to
Next, concrete configurations and processes of the broadcasting station 1, the nodes 2, and the connection destination introducing server 3 belonging to the distribution system S of the embodiment will be described as an embodiment with reference to
First, schematic configuration and schematic operation of the broadcasting station 1 of the embodiment will be described with reference to
As shown in
The controller 11 is constructed by a CPU having a computing function, a work RAM, a ROM for storing various data and programs (including an OS and various applications), and the like. The storage 12 is made by an HDD or the like for storing the content data (packets). The encoding accelerator 13 is used for encoding content data with a cipher key.
The encoder 14 converts the content data into a specified data format. The communication unit 15 controls communication of information with the node 2 or the like via a communication line or the like. The input unit 16 is, for example, a keyboard, a mouse, and the like, receives an instruction from the user (operator), and gives an instruction signal according to the instruction to the controller 11.
In the configuration, the controller 11 controls the whole broadcasting station 1 by making the CPU execute a program stored in the storage 12 or the like, and executes processes of the embodiment which will be described later. In addition, the controller 11 converts the data format of the content data stored in the storage 12 by using the encoder 14, makes the encoding accelerator 13 encode the content data with a cipher key, divides the content data by predetermined data amounts to generate the plural continuous packets, and distributes a stream of the packets to the nodes 2 (nodes 2a and 2b in the embodiments shown in
The controller 11 determines the distribution destination of the content data with reference to a connection mode (topology) table stored in the storage 12. In the connection mode table, at least the IP address and the port number of a node 2 to be connected to the broadcasting station 1 (in other words, a node 2 to which content data is to be distributed) are written.
Next, schematic configuration and schematic operation of each of the nodes 2 in the embodiment will be described with reference to
As shown in
The controller 11 is constructed by a CPU having a computing function, a work RAM, a ROM for storing various data and programs (including an OS and various applications), and the like. The storage 22 is made by an HDD or the like for storing various data, a program, and the like and stores the quality parameter MP (or MP1 or MP2) distributed from the connection destination introducing server 3 via the broadcasting station 1 in a nonvolatile storage area. The buffer memory 23 temporarily accumulates (stores) received content data.
The decoding accelerator 24 decodes encoded content data accumulated in the buffer memory 23 with a decipher key. The decoder 25 decodes (compresses) video data, audio data, and the like included in the decoded content data and reproduces the data. The video processor 26 performs a predetermined drawing process on the reproduced video data and the like and outputs the processed data as a video signal.
The display 27 is a CRT, a liquid crystal display, or the like and displays a video image on the basis of the video signal output from the video processor 26. The sound processor 28 D/A (digital-to-analog) converts the reproduced audio data to an analog sound signal, amplifies the signal by an amplifier, and outputs the amplified signal. The speaker 29 outputs, as sound waves, the sound signal output from the sound processor 28.
The communication unit 29a controls a communication between the broadcasting station 1 and another node 2 or the like via a communication line or the like. The input unit 29b is, for example, a mouse, a keyboard, an operation panel, a remote controller, or the like and outputs an instruction signal according to each of various instructions from the user (viewer) to the controller 21. The IC card slot 29c is used for reading/writing information from/to an IC card 29e.
The IC card 29e has tampering resistance and, for example, is given to the user of each of the nodes 2 from the administrator or the like of the distribution system S. In this case, the tampering resistance is obtained by taking a measure against tampering so that secret data can be prevented from being read and easily analyzed by unauthorized means. The IC card 29e is constructed by an IC card controller made by a CPU, a nonvolatile memory having the tampering resistance such as an EEPROM, and the like. In the nonvolatile memory, the user ID, a decoding key for decoding encoded content data, a digital certificate, and the like are stored. When a node 2 participates in a distribution system S, the digital certificate is transmitted together with the upstream node introduction request message MG1 (including the location information of the node 2) to the connection destination introducing server 3.
On the other hand, the buffer memory 23 is, for example, an FIFO (First In First Out) type ring buffer memory. Under control of the controller 21, content data received via the communication unit 29a is temporarily stored into a storage area indicated by a reception pointer.
The controller 21 controls the node 2 generally by making the CPU included in the controller 21 read and execute a program stored in the storage 22 or the like, and executes processes in the embodiment which will be described later. In addition, as routine processes, the controller 21 receives a plurality of packets distributed from the upstream via the communication unit 29a, writes the packets into the buffer memory 23, reads packets (packets received in the past for predetermined time) stored in the buffer memory 23, and transmits (relays) the packets to the node 2 on the downstream side via the communication unit 29a. On the other hand, the buffer memory 23 reads the packets stored in the storage area in the buffer memory 23 indicated by a reproduction pointer and outputs the read packets to the decoding accelerator 24 and the decoder 25 via the bus 29d.
For example, the program may be downloaded from a predetermined server on the network 10 or recorded on a recording medium such as a CD-ROM and read via a drive of the recording medium.
Finally, schematic configuration and schematic operation of the connection destination introducing server 3 of the embodiment will be described with reference to
As shown in
The controller 35 is constructed by a CPU having the computing function, a work RAM, a ROM for storing various data and programs (including an OS and various applications), and the like. The storage 36 is made by an HDD or the like for storing various data and the like. The communication unit 37 controls a communication of information with a node 2 or the like via the network 10.
In the configuration, a database is accumulated/stored in the storage 36. The database stores location information of the broadcasting station 1 and the nodes 2 participating in the distribution system S and topology information between the broadcasting station 1 and the nodes 2 and among the nodes 2 in the distribution system S. In addition, the reception quality statistical information transmitted from each of nodes 2 belonging to the distribution system S at that time point is accumulated/stored on the node 2 unit basis in the storage 36.
Concretely, the reception quality statistical information is, for example, an average packet rate of past one minute calculated on the basis of the amount of packets received by the nodes 2 (in the case where the quality parameter MP is used as the lower limit value of the packet rate) or an average packet loss ratio (in the case where the quality parameter MP is used as the upper limit value of the packet loss ratio). When the average packet rate or the average packet loss ratio as the reception quality statistical information deteriorates, it can be regarded that the content distribution state to the node 2 deteriorates (see the triangle mark in
The controller 35 controls the connection destination introducing server 3 generally by making the CPU included in the controller 35 execute a program stored in the storage 36 or the like. The controller 35 executes the processes of the embodiment while using the stored reception quality statistical information. In addition, when the upstream node introduction request message MG1 is transmitted from a node 2 which is not participating, for example, the node N illustrated in
When the authentication is valid, the controller 35 sends the upstream node candidate message MG2/MG10 to the node N which has sent the upstream node introduction request message MG1 via the communication unit 37. The message MG2/MG10 includes the location information and hierarchical level information of a plurality of upstream nodes 2 as connection destination candidates (information indicating the hierarchical level of each of the upstream nodes 2). In the node N which receives the upstream node candidate message MG2/MG10, network proximities in the distribution system S of the plurality of upstream nodes 2 as connection destination candidates are compared with each other. The upstream node 2 existing in the position closest to the node N is selected. By transmission/reception of the connection request message MG3 and the connection permission response message MG4 to/from the upstream node 2, a connection is established. The location information of the upstream node 2 whose connection is established is sent (returned) to the connection destination introducing server 3. In contrast, the controller 35 stores the topology information of the node N into the database.
Next, the processes of the embodiment in the node 2, the broadcasting station 1, and the connection destination introducing server 3 having the above-described configuration will be concretely described with reference to
First, processes in the node 2 in the distribution system S will be described with reference to
With reference to
As shown in
After completion of the initialization, the controller 21 of the target node 2 checks to see whether or not an operation of making the target node 2 participate in the distribution system S (that is, an operation of requiring reception of content data of the selected channel) is performed (step S2). The checking process is executed in such a manner that the controller 21 of the target node 2 determines whether or not an operation of selecting a channel corresponding to the broadcasting station 1 the user desires to watch is executed by the user of the controller 21.
When the operation is executed (YES in step S2), the controller 21 transmits the upstream node introduction request message MG1 for actual participation in the distribution system S to the connection destination introducing server 3 (step S3).
After that, the controller 21 checks whether the power supply switch in the target node 2 is turned off or not (step S4). When the power supply switch is not turned off (NO in step S4), the controller 21 returns to the step S2 and repeats the above-described series of processes. On the other hand, when it is determined in step S4 that the power supply switch is turned off (YES in step S4), the controller 21 turns off the main power source, executes the process of withdrawing from the distribution system S in which the target node 2 has been participated until then, after that, also turns off the auxiliary power source (step S5), and finishes the processes of the target node 2.
On the other hand, when it is determined in step S2 for the first time that the participation operation is not performed or it is determined in the step S2 for the second time or later that the upstream node introduction request message MG1 has been transmitted to the connection destination introducing server 3 (NO in step S3), the controller 21 checks to see whether or not the upstream node candidate message MG2/MG10 as a response to the upstream node introduction request message MG1 is received from the connection destination introducing server 3 or not (step S6).
When the upstream node candidate message MG2/MG10 is received (YES in step S6), the controller 21 selects another node 2 to be connected from the upstream node candidate message MG2/MG10, and executes a so-called NAT (Network Address Translation) process on the selected node 2 (step S7).
The NAT process is executed to pass packets over gateways which are set on the network segment unit basis in order to transmit/receive packets among different network segments.
After completion of the NAT process, the controller 21 sends the connection request message MG3 to the node 2 as the target of the NAT process to receive distribution of an actual packet (step S8).
After transmission of the upstream node introduction request message MG3, the controller 21 transmits a not-shown data transmission start request message to a connection destination on the upstream side in order to actually receive content data distributed (step S9). To the data transmission start request message, for example, an MAC (Media Access Control) address of a gateway in a LAN (Local Area Network), information of a cipher communication method used when the target node 2 receives a packet, and the like are attached as security information. After that, the controller 21 sends a message notifying of participation in the topology of the distribution system S to the connection destination introduction server 3 (step S10). After that, the controller 21 shifts to the process in the step S4 and repeats the series of processes.
On the other hand, when it is determined in the step S6 that the participation process and the process of connection to an upstream node have been completed (NO in step S6), the controller 21 checks to see whether or not a new packet has been received from another node 2 on the upstream side after the participation (step S1).
In the case where no packet is received from the node 2 on the upstream side (NO in step S11), the controller 21 moves to the process shown in
Next, the controller 21 checks whether another node 2 connected on the downstream side of the target node 2 exists or not (step S13). In the case where the node 2 on the downstream side exists (YES in step S13), while relaying necessary packets to the node 2 on the downstream side (step S14), the controller 21 outputs the received packet to its decoder 25, and reproduces the decoded content by using the video processor 26 and the sound processor 28 (step S15). After that, the controller 21 moves to the process in the step S4 and repeats the above-described series of processes. In the case where it is determined in the step S13 that the node 2 on the downstream side does not exist (NO in step S13), the controller 21 shifts to the step S15 and executes the reproducing process in itself.
Next, processes after the process in the step S11 in which no packet is received from the node 2 on the upstream side (NO in step S11) will be described with reference to
When it is determined in the step S11 shown in
When the withdrawal process is performed during the monitoring process in step S20 (YES in step S20), the controller 21 transmits the data transmission stop request message MG5 and the connection cancellation request message MG6 to the immediately upstream node 2 connected at the time point (steps S21 and S22, see
On the other hand, when it is determined in step S20 that the withdrawal operation is not performed (NO in step S20), the controller 21 checks to see whether or not a new connection request message MG3 or connection cancellation request message MG6 is transmitted from another node 2 connected on the downstream side during monitoring of the operation (steps S24 and S26).
When the connection request message MG3 is transmitted (YES in step S24), the controller 21 executes the process of connection to another node 2 on the downstream side by adding (registering) the location information of the another node 2 on the downstream side into node management information stored in the storage 22 in correspondence with the connection request message MG3 (step S25), shifts to the process in the step S4 shown in
On the other hand, when it is determined in steps S24 and S26 that no new connection request message MG3 is not received (NO in step S24) but a new connection cancellation request message MG6 is received (YES in step S26), the controller 21 executes the process of deleting another node 2 on the downstream side by deleting the location information of another node 2 on the downstream side from the node management information in correspondence with the connection cancellation request message MG6 (step S27), shifts to the process in the step S4 shown in
Further, when it is determined in step S26 that a new connection cancellation request message MG6 is not also received (NO in step S26), the controller 21 checks to see whether the data transmission start request message is received from another node 2 connected on the downstream side or not (step S28).
When the data transmission start request message is received (YES in step S28), in response to the data transmission start request message, the controller 21 transmits a packet as normal content data to another node 2 on the downstream side (step S29). The controller 21 shifts to the process in step S4 shown in
On the other hand, when it is determined in step S28 that the data transmission start request message is not received (NO in step S28), the controller 21 checks to see whether or not the data transmission stop request message MG5 is received from another node 2 on the downstream side (step S30). When the data transmission stop request message MG5 is not also received (NO in step S30), the controller 21 shifts to the process shown in
Processes performed after it is determined in the step S30 that the data transmission stop request message MG5 is not also received (NO in step S30) will be described with reference to
When it is determined in step S30 shown in
When it is determined in the step S35 that the distribution state deteriorates (that is the actual distribution amount becomes smaller than the distribution amount indicated by the quality parameter MP) (YES in step S35), the controller 21 starts the reconnecting process from that time point. More concretely, the controller 21 sends the data transmission stop request message MG5 and the connection cancellation request message MG6 to a node 2 on the immediately upstream side connected at the time point (steps S36 and S37, see
On the other hand, when it is determined in step S35 that the distribution state has not deteriorate (NO in step S35), the controller 21 checks whether the quality parameter MP (MP1 or MP2) has been received from the upstream node 2 or not (step S40, see
In the case where it is determined in the step S41 that the quality parameter MP is addressed to the node 2 including the controller 21 itself (YES in step S41), the controller 21 updates the quality parameter MP stored in the storage 22 to a quality parameter MP newly received (step S40) (step S42). On the other hand, in the case where it is determined in the step s41 that the quality parameter MP is not addressed to the node 2 including the controller 21 itself (NO in step S41), the controller 21 shifts to the process in step S43 which will be described below.
Next, the controller 21 determines whether another node 2 connected on the downstream side of the target node 2 exists or not (step S43). In the case where a node 2 on the downstream side exists (YES in step S43), the controller 21 transfers the new quality parameter MP received in the process of the step S40 to the node 2 on the downstream side (step S44). After that, the controller 21 moves to the process in the step S4 shown in
On the other hand, when it is determined in the step S40 that the quality parameter MP is not received (NO in step S40), the controller 21 checks whether a preset transmission timing has arrived or not in order to transmit the reception quality statistical information managed (step S12 in
When it is determined in the step S45 that the transmission timing has arrived (YES in step S45), the controller 21 determines whether or not the node 2 in which the controller 21 itself is included belongs to a hierarchical level indicated by, for example, a multiple of 3 as the hierarchical level in the distribution system S (step S46). As the determining method in the step S46, for example, an inquiry message for inquiring the connection destination introducing server 3 is transmitted.
When the hierarchical level to which the node 2 that includes the controller 21 belongs is the hierarchical level indicated by a multiple of 3 in the distribution system S (YES in step S46), the controller 21 transmits all of the reception quality information related to the controller 21 itself to the connection destination introduction server 3 (step S47). As the process in the step S47, concretely, the controller 21 transmits, by a predetermined method, both of the reception quality statistical information managed in the node 2 in which the controller 21 itself is included and the reception quality statistical information transmitted from a node 2 connected on the downstream side of the node 2 and belonging to a hierarchical level which is not a multiple of 3 in the distribution system S. After that, the controller 21 shifts to the process of the step S4 shown in
The reason why all of the reception quality statistical information of the other nodes 2 is transmitted by the node 2 belonging to the hierarchical level indicated by a multiple of 3 in the processes in the steps S46 to S48 and the step S50 is to prevent occurrence of excessive processing in the connection destination introducing server 3 or the broadcasting station 1 caused by reception quality statistical information transmitted from all of the nodes 2.
When it is determined in the step S46 that the hierarchical level to which the node 2 including the controller 21 is not a hierarchical level indicated by a multiple of 3 in the distribution system S (NO in step S46), the controller 21 transmits reception quality statistical information managed in the node 2 to the node 2 on the upstream side (step S48). After that, the controller 21 shifts to the process in the step S4 shown in
When it is determined in the step S45 that the transmission timing of the reception statistical information has not arrived yet (NO in step S45), the controller 21 checks to see whether the reception quality statistical information has transmitted from the node 2 connected on the downstream side or not (step S49). When the reception quality statistical information has been transmitted (YES in step S49), the controller 21 checks to see whether or not the node 2 including the controller 21 itself does not belong to, for example, a hierarchical level indicated by a multiple of 3 as the hierarchical level in the distribution system 3 (step S50).
When the node 2 including the controller 21 itself does not belong to a hierarchical level indicated by a multiple of 3 (YES in step S50), the controller 21 transmits the reception quality statistical information from another node 2 received in the step S49 to the node 2 on the upstream side (step S48). After that, the controller 21 shifts to the process in the step S4 shown in
On the other hand, when it is determined in the step S49 that the reception quality statistical information has not been also transmitted (NO in step S49) or when it is determined in the step S50 that the node 2 including the controller 21 itself belongs to a hierarchical level indicated by a multiple of 3 (NO in step S50), the controller 21 shifts to the process in the step S4 shown in
Processes in the broadcasting station 1 of the embodiment will be concretely described with reference to
In the broadcasting station 1 of the embodiment, as shown in
After completion of the initialization, the controller 11 checks to see whether or not an operation of starting or stopping distribution of content in the distribution system S is executed in the input unit 16 of the broadcasting station 1 or not by the administrator of the distribution system S (that is, the broadcasting station 1) (step S52). When it is determined that the operation is performed (YES in step S52), the controller 11 starts or stops distribution of packets of corresponding content into the distribution system S on the basis of the operation (step S53).
After that, the controller 11 checks whether the power supply switch in the broadcasting station 1 is turned off or not (step S54). When the power supply switch is not turned off (NO in step S54), the controller 11 returns to the step S52 and repeats the series of processes. On the other hand, when it is determined in the step S54 that the power supply switch is turned off (YES in step S54), the controller 11 turns off the main power supply switch of the broadcasting station 1 and finishes the processes of the broadcasting station 1.
On the other hand, when it is not determined in the step S52 that the operation of starting or stopping distribution of content is performed (NO in step S52), the controller 11 checks to see whether or not the connection request message MG3 or the connection cancellation request message MG6 is received from any of the nodes 2 (step S54′).
When it is determined that either the connection request message MG3 or the connection cancellation request message MG6 is transmitted (YES in step S54′), in the case where the connection request message MG3 is transmitted, the controller 11 executes the process of connection to another node 2 on the downstream side by adding (registering) the location information of another node 2 on the downstream side to the node management information stored in the storage 12 in correspondence with the connection request message MG3 (step S55). On the other hand, in the case where the connection cancellation request message MG6 is received, the controller 11 executes the process of deleting another node 2 on the downstream side by deleting the location information of the another node 2 on the downstream side from the node management information in the storage 11 in correspondence with the connection cancellation request message MG6 (step S55). After that, the controller 11 shifts to the process in the step S54 and repeats the process.
On the other hand, when it is determined in the step S54′ that neither the connection request message MG3 nor the connection cancellation request message MG6 has not been received (NO in step S54′), the controller 11 checks whether the data transmission start request message or the data transmission stop request message MG5 is received from another node 2 connected on the downstream side or not (step S56).
When the data transmission start request message or the data transmission stop request message MG5 is received (YES in step S56), in the case where the data transmission start request message is received, the controller 11 transmits packets of normal content data to another node 2 on the downstream side in response to the data transmission start request message (step S57). On the other hand, when the data transmission stop request message MG5 is received, the controller 11 stops transmission of packets of content data to another node 2 on the downstream side (step S57). After that, the controller 11 shifts to the process of the step S54 and repeats the process.
Finally, when it is determined in the step S56 that neither the data transmission start request message nor the data transmission stop request message MG5 is received (NO in step S56), the controller 11 checks to see whether a new quality parameter MP (MP1 or MP2) is received from the connection destination introducing server 3 or not (step S58).
When the quality parameter MP is received (YES in step S58), the controller 1 checks whether a node 2 is connected on the downstream side of the broadcasting station 1 or not (step S59). When the node 2 is connected (YES in step S59), the controller 11 transmits the quality parameter MP newly transmitted from the connection destination introducing server 3 to the node 2 (step S60). After that, the controller 11 shifts to the process in the step S54 and repeats the process.
On the other hand, when a new quality parameter MP is not received in the check of the step S58 (NO in step S58) or when the node 2 is not connected in the check of the step S59 (NO in step S60), the controller 11 shifts to the process in the step S54 and repeats the process.
Finally, processes performed in the connection destination introducing server 3 of the embodiment will be concretely described with reference to
In
As shown in
After completion of the initialization, the controller 35 checks to see whether a registration request message from a new broadcasting station 1 or a deletion request message from an existing broadcasting station 1 in the distribution system S has been received or not (step S62). When one of the messages is received (YES in step S62), in the case of registering a new broadcasting station 1, the controller 35 registers the location information of the broadcasting station 1 into the database and registers information of a new channel and the like into the database of the topology. In the case of deleting the existing broadcasting station 1, the controller 35 deletes the location information or the like of the broadcasting station 1 from the database and, further, deletes the corresponding channel information from the database of the topology (steps S63 and S64).
After that, the controller 35 determines whether the service of the connection destination introducing server 3 is stopped or not (step S65). In the case of stopping the service in the check of the step S65 (YES in step S65), the controller 35 turns off the power supply of the connection destination introducing server 3 and finishes the process.
On the other hand, when it is determined in the step S65 that the service is continued (NO in step S65), the controller 35 returns to the step S62 and repeats the series of processes.
On the other hand, when it is determined in the step S62 that neither the registration request message from the broadcasting station 1 nor the deletion request message is received (NO in step S62), the controller 35 determines whether the upstream node introduction request message MG1 is received from a node 2 newly participating in the distribution system S or not (step S66).
When the upstream node introduction request message MG1 is received (YES in step S66), the controller 35 retrieves a candidate of a node 2 (for example, the node 2b in the case of
On the other hand, when it is determined in step S66 that the upstream node introduction request message MG1 is not also received (NO in step S66), the controller 35 checks to see whether or not the participation report message (see step S10 in
When the participation report message or the withdrawal report message is received (YES in step S69), the controller 35 determines that there is a change in the topology on the basis of the received report message, updates the database of the topology on the basis of the message (step S70), and shifts to the process in the step S65.
Finally, when it is determined in the step S69 that neither the participation report message nor the withdrawal report message is received (NO in step S69), the controller 35 determines whether the reception quality statistical information is received from the node 2 presently belonging to the distribution system S or not as shown in
On the other hand, when it is determined in the step S71 that the reception quality statistical information is not transmitted from any of the nodes 2 (NO in step S71), the controller 35 determines, for example, whether a periodical quality state monitoring timing which is preset has arrived or not on the basis of counting of a not-shown timer or the like provided for the controller 35 itself (step S73).
The quality state monitoring timing is preset as a timing of determining whether the content distribution state (reception quality) in each of nodes 2 presently belonging to the distribution system S deteriorates or not (see the triangle mark in
When it is determined in the step S73 that the quality state monitoring timing has arrived (YES in step S73), the controller 35 determines whether a node 2 for which the quality parameter MP has to be changed due to deterioration in the distribution state exists in the distribution system S or not (step S74). In step S74, on the basis of the number of nodes 2 whose distribution state deteriorates and the degree of the deterioration, the controller 35 determines that the quality parameter MP is controlled in the mode described with reference to
When it is determined that the node 2 for which the quality parameter MP has to be controlled does not exists in the distribution systems (NO in step S74), the controller 35 directly shifts to the process in the step S65. On the other hand, when it is determined that a node 2 for which the quality parameter MP has to be controlled exists (YES in step S74), the controller 35 calculates the value of the changed quality parameter MP on the basis of the data at the time of the determination, and transmits the value together with the node ID of a node 2 as the destination of the quality parameter MP to the broadcasting station 1 (step S75).
In the case of controlling the quality parameter MP in the mode of
In the case of controlling the quality parameter MP in the mode shown in
The controller 35 starts not-shown another timer in the controller 35 to store information into the storage 36 for predetermined time using, as an event, occurrence of necessity to control the quality parameter MP as the distribution state deteriorates (YES in step S74) (step S76). Concurrently, the controller 35 stores the value of the quality parameter MP sent in the step S75 and the transmission time as a transmission record together with identification information into a nonvolatile area in the storage 36. After that, the controller 35 shifts to the process in the step S65.
When it is determined in the step S73 that the quality state monitoring timing has not arrived, the controller 35 determines whether counting in the another timer started in the step S76 has arrived at preset time using a period in which the quality parameter MP is changed (step S77). When the counting has not arrived at the preset time (NO in step S77), the controller 35 shifts to the process in the step S65 while continuing counting in another timer.
On the other hand, when it is determined in the step S77 that the time has elapsed (YES in step S77), to reset the quality parameter MP changed by the process in the step S75 to the original standard value, the controller 35 transmits the quality parameter MP corresponding to the standard value to the node 2 as the destination of the quality parameter MP in the step S75 via the broadcasting station 1 (step S78). In this case, the standard value is the quality parameter MP corresponding to the stationary state (refer to
As described above, in the operations of the distribution system S of the embodiment, the content distribution state is detected in each of the nodes 2. While continuing the distribution, when the state becomes worse than the value expressed by the quality parameter MP, a node 2 reconnects its upper node 2 to a new node 2 indicated by the connection distribution introducing server 3. Consequently, as compared with the conventional manner of performing reconnection for the first time when distribution of content is completely stopped, deterioration in the distribution state can be detect meticulously.
Therefore, at the stage that the distribution state in each of the nodes 2 deteriorates, the influence can be minimized and the reliability of the distribution system S can be improved.
Since the quality parameter MP as a criterion of reconnection is transmitted from the connection destination introducing server 3, the criterion of deterioration in the distribution state can be uniformly used in each of the nodes 2 to which a destination is introduced from the connection destination introducing server 3.
Further, since the controller 35 sets the lower limit value of a packet rate or the upper limit value of the packet loss ratio as the quality parameter MP, deterioration in the distribution state in each of nodes 2 is easily detected and reconnection can be performed.
Further, the controller 35 stores reception quality statistical information from each of the nodes 2 into the connection destination introducing server 3, generates the upstream node candidate message MG10 corresponding to the upstream node introduction request message MG9 from each of the nodes 2 on the basis of the stored reception quality statistical information, and transmits the upstream node candidate message MG10 to the node 2. By controlling occurrence of reconnection in each of the nodes 2 in the connection destination introducing server 3 using the distribution state information of each of the nodes 2, distribution of the entire distribution system S can be stabilized.
The controller 35 generates a new quality parameter MP for updating the quality parameter MP corresponding to each of the nodes 2 on the basis of the reception quality statistical information corresponding to each of the nodes 2 and requests for reconnection to address deterioration in the distribution state on the basis of the new quality parameter MP and the distribution state at the time point in each of the nodes 2. Consequently, by controlling occurrence of reconnection in each of the nodes 2 in the connection destination introducing server 3 via the quality parameter MP to each of the nodes 2, distribution of the entire distribution system S can be stabilized.
Further, the controller 35 generates a new quality parameter MP so that reconnection in the node 2 included in a part of a hierarchical tree having, at the apex, the node 2 whose distribution state deteriorates is suppressed more than that in another node 2. Therefore, chain-reaction of reconnection in nodes 2 included in the part of the hierarchical tree lower than the node 2 at the apex can be suppressed in response to deterioration in the distribution state in the node 2 at the apex. Thus, the entire distribution system S can be prevented from becoming unstable.
When the number of nodes 2 in which the distribution state deteriorates is equal to or larger than a preset threshold (for example, 2) (refer to
In the foregoing embodiment, division of the time zone in a day is not considered, and the processes shown in
Generally, there are similar tendencies in the use distribution of networks such as the Internet irrespective of the kinds of lines. For example, it is generally known that the communication traffic in the Internet between 9 p.m. to 12 p.m. is the maximum. In the time zone, the influence on the distribution quality in the distribution system S is the maximum.
Therefore, in consideration of the above, the connection destination introducing server 3 uses the divided time zone of one day as a determination element of the quality parameter MP in addition to the fluctuation state of the topology (the degree of deterioration in the distribution state).
Concretely, for example, in the time zone in which the communication traffic is the maximum, the controller 35 generates a new quality parameter MP by multiplying the quality parameter MP with a tolerance coefficient α in which the time zone is considered. In the case illustrated in
With the configuration, the controller 35 generates a new quality parameter MP on the basis of the reception quality statistical information and the preset time divisions in one day, so that the distribution state can be finely controlled every time division.
In the foregoing embodiment, the quality parameter MP is determined on the basis of the momentarily fluctuation state in the topology. It is also possible to reflect changes in the past distribution state at the time of determining a new quality parameter MP.
In the foregoing embodiment, for example, when the topology becomes unstable as shown in
The content distribution immediately after reconnection is accelerated as compared with that in the stationary state and, generally, packet loss tends to occur. Consequently, the controller 35 waits for predetermined time until the state of the content distribution becomes stable and, then, resets the quality parameter MP to the standard value, thereby suppressing the topology from becoming unstable again.
Concretely, at the time of changing (resetting) the quality parameter MP from the present value (for example, the quality parameter MP1) to the standard value, the controller 35 controls so that the change is made in predetermined time or longer.
With the configuration, the controller 35 generates a new quality parameter MP after lapse of preset time so that the entire distribution system S can be prevented from becoming unstable due to frequent changes in short time of the new quality parameter MP.
Further, in the foregoing embodiment, to suppress occurrence of reconnection in the nodes 2, the method of changing the quality parameter MP is employed. Except for the method, when the upstream node introduction request message MG9 is transmitted from a node 2 in which the distribution state deteriorates is transmitted to the connection destination introducing server 3, also by delaying the timing of sending back the upstream node candidate message MG10 as a response in the connection destination introducing server 3, occurrence of reconnection in the node 2 as a result can be suppressed (in time). In this case, a control of shortening or extending the delay time in accordance with the number of nodes 2 in which the distribution state deteriorates is executed.
In the configuration, the reception quality statistical information indicative of the distribution state in each of the nodes 2 is stored in the connection destination introducing server 3. On the basis of the stored reception quality statistical information, the controller 35 controls the timing of transmitting the upstream node candidate message MG10. By controlling the occurrence timing of the reconnection in each of the nodes 2 in the connection destination introducing server 3 using the reception quality statistical information of each of the nodes 2, distribution in the entire distribution system S can be stabilized.
By recording a program corresponding to the flowcharts shown in
Further, by recording a program corresponding to the flowchart shown in
Further, by recording a program corresponding to the flowchart shown in
As described above, the present invention can be used in the field of content distribution using the distribution system having the tree structure. Particularly, when the invention is applied to the field of content distribution in which interruption of the distribution is inconvenient like real-time broadcasting of a movie, music, and the like, 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 |
---|---|---|---|
2007-180067 | Jul 2007 | JP | national |