The above and other objects, advantages and features of the present invention will be more apparent from the following description of exemplary embodiments made in conjunction with the attached drawings, in which:
Hereinafter, a packet distribution system according to exemplary embodiments of the present invention will be described with reference to the attached drawings.
The distribution server 11 transmits data packets through the reproducing apparatus 12 to the center side terminal 13. Also, the distribution server 11 transmits the data packet through the routers 21 and the packet transfer apparatus 31 to the terminal 32. It should be noted that the routers 21 (21−i, i=1 to n: n is the number of routers) is at least one relaying apparatus.
The reproducing apparatus 12 stores the packets transmitted from the distribution server 11. Also, the reproducing apparatus 12 receives a packet reception timing data sent from the packet transfer apparatus 31. Moreover, the reproducing apparatus 12 determines the transmission timing of each packet stored in a packet buffer in accordance with the timing data. At this time, the reproducing apparatus 12 and the center side terminal 13 communicate with each other through the routers 21. However, if the reproducing apparatus 12 and the packet transfer apparatus 31 can communicate with each other through a different communication route such as a public telephone network or a wireless communication network, they can communicate with each other without intervention of any router 21. The reproducing apparatus 12 receives from the packet transfer apparatus 31, timing data including a sequence number of a received packet and a reception time in the packet transfer apparatus 31, and transmits the same packet after a predetermined time ts from the reception time in the packet transfer apparatus. Thus, an image reproduction state on the terminal 32 can be reproduced on the center side terminal 13.
Each section in the reproducing apparatus 12 will be described below.
The packet receiving section 121 receives the packets sent from the distribution server 11 and sends to the packet buffer section 122. The packet buffer section 122 stores the packets received by the packet receiving section 121. The real time clock 123 notifies a held current time to each section. The transmission scheduler 124 determines a transmission time of each packet stored in the packet buffer section 122 in accordance with the timing data received from the timing data receiving section 125 and checks the current time from the real time clock 123. When it arrives at the transmission time, the packet is sent to the packet transmitting section 126. The timing data receiving section 125 receives the timing data sent by the packet transfer apparatus 31 and sends to the transmission scheduler 124. The packet transmitting section 126 transmits the packets sent from the transmission scheduler 124 to the center side terminal.
Each section in the packet transfer apparatus 31 will be described below. The packet receiving section 311 receives all of the packets sent through a network and sends to the packet selecting section 312 and the packet transmitting section 316. The packet selecting section 312 selects only the packet of a monitor target from the packets and sends to the timing data acquiring section 314. The real time clock 313 notifies the held current time to each section. The timing data acquiring section 314 determines the reception time of each packet sent from the packet selecting section 312, based on the time reported by the real time clock 313. Also, the timing data acquiring section 314 generates the timing data as a set from a sequence number of the packet and the reception time and then sends to the timing data transmitting section 315. The timing data transmitting section 315 sends the timing data received from the timing data acquiring section 314 to the reproducing apparatus 12. The packet transmitting section 316 transmits the packets sent from the packet receiving section 311.
The operation of the packet selecting section will be described below with reference to
The packet selecting section 312 waits for the packets transmitted from the packet receiving section 311.
A destination IP address Dr is extracted from a received packet P. The IP header in the packet P is as shown in
Next, the destination IP address Dr of the packet P is compared with a monitor target destination IP address Dp.
At this time, the packet having the address Dr which is coincident with the address Dp is sent to the timing data acquiring section 314.
The packets which are sent to the packet selecting section 312 and are not coincident with the address Dp are discarded.
At the step S103, only the destination IP address is compared. However, as the monitor target, a source IP address 4-41 in the IP header
The operation of the timing data acquiring section will be described below with reference to
The timing data acquiring section 314 in
When the packet is sent from the packet selecting section 312, the timing data acquiring section 314 acquires the current time tc from the real time clock 123 in
Next, the timing data acquiring section 314 refers to the packet sent from the packet selecting section 312 and extracts the sequence number. Here, the sequence number is a value stored in the field 7-12 in an RTP (Realtime Transport Protocol) header, as shown in
Next, the timing data i is generated from the current time tc acquired at the step 202 and a sequence number s acquired at the step 203. As shown in
The generated timing data i is sent to the timing data transmitting section 315 in
The step S204 may be as follows. That is, the set of the values of an identifier 4-21 and a fragment offset 4-23 in the IP header shown in
The operation of the packet buffer section will be described below with reference to
The value 0 is set to a packet number counter m.
Next, the packet buffer section 122 waits for transmission of the packets received by the packet receiving section 121.
When the packets are received, the packet buffer section 122 acquires the current time from the real time clock 123 in
Next, the packet buffer section 122 acquires the sequence number s of the RTP from a packet Pr. Therefore, as described in the timing data acquiring section 314, the set of the identifier and fragment offset in the IP header may be used instead of the RTP sequence number.
The value 1 is added to the packet number counter.
The number m of packets and a maximum number M of packets in the buffer are compared. If the number m of packets is equal to or less than the maximum number M of packets in the buffer, the operation flow proceeds to a step S309.
If the number m of packets is greater than the maximum number M of packets in the buffer, the oldest packet Po with regard to the reception time is searched from the packet buffer.
The searched packet Po is discarded so as to decrease the number m of packets by one.
The packet Pr, the reception time tr and the sequence number s are used as a set and registered in an empty region of the buffer.
The operation of the transmission scheduler will be described below with reference to
The timing data receiving section 125 waits for reception of the timing data.
When the timing data i is sent from the timing data receiving section 125, the sequence number s is extracted from it.
Next, a packet Ps of the sequence number s is taken out from the packet buffer section 122.
The packet Ps is removed from the packet buffer section 122, and 1 is subtracted from the packet number counter in the packet buffer section 122.
Next, the transmission scheduler 124 acquires a packet transfer apparatus side reception time tr from the timing data i.
Next, a margin time ty is added to the packet transfer apparatus side reception time tr, to determine a transmission time tp. Here, the margin time ty is a value determined in advance from a configuration.
Next, the transmission scheduler 124 acquires the current time tc by referring to the real time clock.
The transmission scheduler 124 compares the current time tc and the transmission time tp, and if the former is smaller, namely, if it does not still arrive at the transmission time, the operation flow returns to the step S407.
If the value of the current time to is equal to or greater than the value of the transmission time tp, the packet Ps is sent out from the packet transmitting section 126.
A distribution system according to a second exemplary embodiment of the present invention will be described below in detail with reference to the drawings.
With reference to
The transmission time difference will be described. At first, it is supposed that the times in the packet transfer apparatus 31 and the reproducing apparatus 12 are perfectly coincident. For example, it is supposed that the packet transfer apparatus 31 receives a packet of the sequence number of 123456 at the reception time of 0:12:10. In the reproducing apparatus 12, it is supposed that the reception time of the timing data sent from the packet transfer apparatus 31 was 0:12:13. At this time, the difference of 3 seconds between the packet reception time of 0:12:10 in the packet transfer apparatus 31 and the reception time of 0:12:13 of the timing data in the reproducing apparatus 12 is referred to as a reception time difference. The transmission time difference is measured a predetermined number of times N, and its average value is calculated. The value obtained by adding the margin time to this average reception time difference is defined as the transmission time difference. Here, when the margin time is assumed to be 3 seconds, the transmission time difference is 6 seconds. In short, the packet arriving at the packet transfer apparatus 31 at 0:12:10 is sent out from the reproducing apparatus 12 at 0:12:16. On the other hand, the packet arriving at the packet transfer apparatus 31 is transmitted to the center side terminal in its original state without any interval. Thus, the center side terminal can reproduce the video image at the delay of 6 seconds from the user home terminal.
Here, although the times in the packet transfer apparatus 31 and the reproducing apparatus 12 are assumed to be perfectly coincident, there is no problem even if they are not actually coincident. For example, it is supposed that the time of the side of the reproducing apparatus 12 is delayed by 5 seconds from the time of the side of the packet transfer apparatus 31. In this case, the timing data actually arrives at the reproducing apparatus 12 at 0:12:13 in case of the time of the side of the packet transfer apparatus 31. However, the time of the reproducing apparatus 12 is delayed by 5 seconds. Thus, the arrival of the timing data at 0:12:08 is measured. Moreover, the packet reception time in the arriving timing data becomes 0:12:10. Thus, the reception time difference becomes −2 seconds. In this way, it is allowable that the reception time difference has such a minus value. Therefore, the time difference between the reproducing apparatus 12 and the packet transfer apparatus 31 can be allowed.
A procedure for the transmission time difference determining section to determine a transmission time difference ts when the reproducing apparatus 12 starts reproducing the video image will be described with reference to
At first, variables n and Td are set to 0.
Next, the transmission time difference determining section 127 waits for the reception of the timing data from the timing data receiving section 125. When the timing data is received, 1 is added to the variable n.
Next, a current time tn is measured.
Moreover, the reception time tr of the packet in the packet transfer apparatus 31 is acquired from the received timing data.
Next, the difference between the current time tn and the reception time tr in the packet transfer apparatus 31 is calculated, and a reception time difference tr is determined.
The determined reception time difference td is added to the Td.
Next, the value of the variable n and the value of a measurement timing data upper limit N is compared. Here, the value of the measurement timing data upper limit N is assumed to be a value defined in advance based on the configuration. At the step S507, if the value n is smaller than the value N, the operation flow returns to the step S502.
If the value n is equal to or greater than the value N, a transmission time difference ts is calculated by adding the margin time ty to a value obtained by dividing Td by n. Here, the margin time ty is a value defined in advance based on the configuration.
In this exemplary embodiment, although the process for determining the transmission time difference uses an average of the reception time differences, the maximum value of the reception time differences may be used. Also, in the foregoing case, a method is employed in which the number of the timing data is defined in advance when calculating the average reception time difference. However, a method may be adopted in which the measurement time is defined in advance and the timing data arriving at the reproducing apparatus 12 within the time is used to calculate the transmission time difference.
Also, in this exemplary embodiment, the value of the margin time ty is determined from the configuration. However, the following method may be employed. That is, this exemplary embodiment uses an average value of the transmission time differences. However, when the transfer time of the timing data greatly exceeds this average value, there is a possibility that the timing data of the packet does not arrive until the packet transmission time in the reproducing apparatus 12. In order to preventing from this possibility, the value of the margin time ty may be great. However, if this value is too great, the time difference becomes great between the video image reproduced by the terminal 32 in the user home 30 and the video image reproduced by the center side terminal 13. In order to determine a proper transmission time difference ts, the following procedure is performed. A variance is determined in accordance with the average value when the reception time difference is measured. The calculated average value and variance and a probability distribution function for a normal distribution are used to determine the time when 99% of the timing data arrives, and that value is defined as the transmission time difference. Here, although the probability distribution function for the normal distribution is used, the probability distribution function of a different distribution may be used in accordance with the property of the network.
In this exemplary embodiment, only when the reproducing apparatus 12 starts reproducing the video image, the transmission time difference is determined. However, in order to follow the state change in the network, a process for calculating the transmission time difference may be performed for every predetermined time, and the transmission time difference may be updated each time.
The distribution system according to a third exemplary embodiment of the present invention will be described below in detail with reference to the drawings. With reference to
The timing data storage section 317 stores the timing data received from the timing data acquiring section 314. The stored timing data is sent to the timing data transmitting section 315 collectively for each predetermined constant time. The timing data transmitting section 315 sends the timing data collected within a predetermined time to the reproducing apparatus 12 as a collective timing data. Consequently, the number of the times when the timing data are sent is reduced, which can decrease the load for the timing data transmission.
In this exemplary embodiment, the packet transfer apparatus 31 transmits the timing data to the reproducing apparatus 12 for every predetermined time. However, the transmission of the timing data may be performed as follows. The transmission process load is applied to the transmission of the timing data. Thus, there is a possibility that the transmission of the timing data influences on the packet receiving process in the packet receiving section 311 and the packet transmitting process in the packet transmitting section 316 in
It should be noted that the reproducing apparatus and packet transfer apparatus of the present invention can be used to monitor the reproduction of the video image in the image distribution service. Also, when the user for providing the service has the problem in the video image reproduction, the present invention can be used to search its cause.
In
Although the inventions has been described above in connection with several exemplary embodiments thereof, it will be apparent by those skilled in the art that those exemplary embodiments are provided solely for illustrating the present invention, and should not be relied upon to construe the appended claims in a limiting sense.
Number | Date | Country | Kind |
---|---|---|---|
2006-149960 | May 2006 | JP | national |
This application is based upon and claims the benefit of priority from Japanese patent application No. 20006-149960, filed on May 30, 2006. Also, this application relates to the U.S. patent application Ser. No. ______, titled “SYSTEM AND METHOD FOR MEASURING DISTRIBUTION QUALITY OF VIDEO IMAGE” by Kazuya SUZUKI and Masahiro JIBIKI, claiming the priority based on Japanese Patent Application No. 2006-149959 filed on May 30, 2006. The disclosures of these applications are incorporated herein by reference.