This application is based upon and claims the benefit of priority of the prior Japanese Patent Application No. 2011-280573, filed on Dec. 21, 2011, the entire contents of which are incorporated herein by reference.
The embodiment discussed herein is related to a distribution route construction method and a terminal device in a data distribution system.
In a data distribution system of client server type, the load of a distribution server increases with an increase in the number of data reception terminals. Since a capacity of a distribution server and a network infrastructure on which accesses are concentrated is large in a large-scaled data distribution system and a distribution cost increases, a data distribution method employing the P2P (peer-to-peer) technique is provided.
The related art is disclosed in Japanese Laid-open Patent Publication No. 2006-345347.
According to one aspect of the embodiments, a distribution route construction method includes: transmitting, in a data distribution system, at least one check packet to a plurality of terminals within a network from a check packet transmission terminal; checking a reply packet from the plurality of terminals; grouping the plurality of terminals into a first terminal group including a first terminal whose reply packet reaches the check packet transmission terminal and a second terminal group including a second terminal whose reply packet does not reach the check packet transmission terminal; changing a designation terminal for data communication to reduce communication data traffic between the first terminal group and the second terminal group; and reconstructing distribution routes based on the checking and the changing.
The object and advantages of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the claims.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are not restrictive of the invention, as claimed.
In a streaming distribution method using the P2P technique, for example, a terminal that has received data transfers the data to another terminal. Each terminal operates as a repeater such that large-scaled broadcasting is performed. The load of a distribution server may not increase in some cases with an increase in the number of terminals.
The P2P data distribution may be regarded as data distribution on a logical network formed by logical links between terminals, or on an overlay network. For example, logical data distribution routes may be set regardless of a physical network configuration. In the P2P data distribution, the traffic volume of data streaming on a physical network is determined depending on the connection method between terminals on a logical network.
Connections between the node and the switch, between one switch and another switch, and between the switch and the router may be each called a path (or a link). The number of paths coupling two nodes, for example, may be called a path length. For example, the path length between the node #1 and the node #2 denoted by the arrow (1), illustrated in
The efficiency of the data distribution may increase when a sequence providing the data distribution with a shorter path length is properly selected.
In distribution of massive image data and so on, a physical network configuration may not be recognized. For example, a sub-network includes a switching hub in Layer 2 (L2). Therefore, a sequence of distribution, e.g., a data distribution route, which provides the data distribution with a shorter path length, may not be properly selected by using a tool, such as a “traceroute”, that is adapted to recognize a path length in Layer 3 (L3).
For example, a node #1, which is arbitrary one of terminals, broadcasts a check packet to a plurality of terminals as denoted by dotted arrows, and each of the terminals, e.g., nodes #2 to #4, having received the check packet returns a reply to the node #1. The node #1 observes whether the reply is received. When there is one or more nodes from which the reply has not been received, e.g., when the reply has not been received from the node #2 and the node #4, the nodes are grouped, as illustrated in
Communication partners are changed to reduce the data communication traffic, e.g., the number of paths, between the group (nodes #1 and #3) from which the reply has been received and the group (nodes #2 and #4) from which the reply has not been received. With repeated change of the communication partners, the P2P data distribution route is optimized.
When reply packets are received from all the terminals as check targets, the data volume of a check packet, e.g., the number of check packets, to be next transmitted is increased. This may increase a packet loss of the check packet due to congestion. A packet loss of actual data streaming on the P2P network may also occur at the same time. The influence of the packet loss may be reduced by using the packet-loss correction technique, such as Forward Error Correction (FEC) or Automatic Repeat reQuest (ARQ).
If a contradiction arises between a current group information, which includes the group having received the same check packet and the group having not received the same check packet, and a previous group information when the current group information is stored, an increase in the data volume of the check packet may be temporarily stopped. For example, in
If a contradiction between the current group information, which includes the group having received the same check packet and the group having not received the same check packet, and the previous group information is resolved when the current group information is stored, the increase in the data volume of the check packet is resumed. For example, when the reply packets have not been returned from the nodes #2 and #4 at a high frequency as a result of continuing the check in the contradictory situation, it is estimated that the group information of (nodes #1, #3) (nodes #2, #4) is true, whereby the contradiction is resolved. Thus, the increase in the data volume of the check packet is resumed.
When the current group information is stored, the group information, which includes the group having received the check packet and the group having not received the check packet, may not be changed. For example, in
Layer-2 switches (SW#5, SW#6) 20 and 21 and a terminal 22, serving as a node #6, are coupled to the switch 13. A terminal 23, serving as a node #5 is coupled to the switch 20. Terminals 24 and 25, serving respectively as nodes #7 and #8, are coupled to the switch 21.
The sub-network illustrated in
The communication device 31 may include a check packet transmission unit 41, an instruction unit 42, a check-packet transmission terminal destination unit 43, a reply packet reception unit 44, a data packet reception unit 45, and a data packet transmission unit 46. The check packet transmission unit 41 transmits the check packet to each terminal in accordance with control of an overall control unit 47.
The instruction unit 42 transmits an instruction for route rearrangement to target terminal whose route is to be arranged in accordance with control of the overall control unit 47. The check-packet transmission terminal destination unit 43 transmits, to a desired terminal, information designating the desired terminal to become a check packet transmission terminal, in accordance with control of the overall control unit 47. The reply packet reception unit 44 receives a reply packet from each terminal and supplies the reply packet to the overall control unit 47. The data packet reception unit 45 receives data packet including media data, etc. that is transmitted from a terminal as an upstream node. The data packet transmission unit 46 transmits data packet including media data, etc., to a terminal as a downstream node.
The CPU 32 may function as the overall control unit 47 or a reproducing unit 48 by executing programs stored in the storage device 33. The storage device 33 stores the programs and functions as a group information holding unit 49 or a buffer unit 50.
The overall control unit 47 executes a processing program to construct distribution routes and controls the entire terminal device. The reproducing unit 48 decodes or reproduces data having been temporarily buffered in the buffer unit 50, and outputs an image signal, a sound signal, etc. The group information holding unit 49 stores the group information, including a frequency counter, and an end-of-optimization counter. The buffer unit 50 temporarily buffers the received data packet.
The check packet is broadcast or multi-cast to each terminal in the sub-network from the check packet transmission terminal independently of the distribution of data, such as images. When each terminal in the sub-network receives the check packet that is periodically broadcast or multi-cast from the check packet transmission terminal in accordance with the UDP, it transmits the reply packet to the transmission source in accordance with the TCP. Therefore, when the reply packet is not returned to the transmission side, it is estimated that congestion arises in a route to the relevant terminal.
The check packet transmission terminal recognizes the logical network configuration within the sub-network. For example, by assigning the reply packet with information of the parent terminal (data transmission source) and the child terminal (data transmission destination) with respect to the relevant terminal as illustrated in
Referring to
The check packet transmission terminal receives the reply packet from each of the terminals (node #1 to #8) in an operation S5, and checks the presence or the absence of any not-replying terminal in an operation S6. In the absence of the not-replying terminal, the check packet transmission terminal turns on the transmission rate increase flag in an operation S8. The process returns to the operation S1.
In the presence of the not-replying terminal, the check packet transmission terminal turns off the transmission rate increase flag in an operation S7. The process proceeds to an operation S9, illustrated in
In an operation S10, the check packet transmission terminal detects whether the current group information exists in the past group information. If the current group information does not exist in the past group information, the check packet transmission terminal resets the end-of-optimization counter in an operation S11. The end-of-optimization counter may be used to determine whether further grouping is enabled or not by continuing the check.
In an operation S12, the check packet transmission terminal determines whether a contradiction flag is turned off. If the contradiction flag is turned off, the check packet transmission terminal collates the current group information with the past group information held in the group information holding unit 49 in an operation S13, thereby checking whether there is a contradiction in the group information. If there is a contradiction, the check packet transmission terminal turns on the contradiction flag and turns off the transmission rate increase flag in an operation S14. The processing returns to the operation S1.
If there is no contradiction, the check packet transmission terminal reconstructs distribution routes in an operation S15 such that the distribution routes between the groups A and B is reduced.
In the node #4, as illustrated in
In an operation S16 illustrated in
When the reply is not returned from the nodes #7 and #8 due to congestion occurred in any path of a route P3 illustrated in
When the reply is not returned from the nodes #5 to #8 as a result of continuing the check in the state of
The check packet transmission terminal increments the end-of-optimization counter by one in an operation S18. When the reply is not returned from the nodes #5 to #8 many times, the end-of-optimization counter reaches a threshold, whereupon the process proceeds from an operation S19 to an operation S21. The threshold may be set to, e.g., 10. In the operation S21, it is determined whether there is at least one candidate for the check packet transmission terminal. For example, one or more terminals within the not-replying group, from which the reply is not returned when the group information is to be held, are provided as candidates for the check packet transmission terminal.
If there are candidates for the check packet transmission terminal, in an operation 22, the node #4 serving as the check packet transmission terminal selects, e.g., the node #6 in the not-replying group B illustrated in
In an operation S23, the node #4, for example, the current check packet transmission terminal, ends the transmission of the check packet. The transmission rate of the check packet, the latest logical network configuration, and the latest group information are notified to the node #6 so that the node #6 continuously executes the optimization of the data distribution routes.
Optimum data distribution routes having a smaller total path length and higher efficiency may be found at an earlier point through the check and the reconstruction of the data distribution routes.
In
When the check is continued after the optimization as illustrated in
For example, the reply may not be returned from the nodes #7 and #8. The group information is set to (nodes #1, #2, #3, #4, #5, #6) (nodes #7, #8) (referred as third group information). Because the third group information is different from the past group information, the process proceeds from the operation S10, illustrated in
In the process flow 1 executed in the event of contradiction, illustrated in
In an operation S103, the check packet transmission terminal increments the frequency counter for each of the first group information before the integration and the third group information after the integration. In an operation S104, the check packet transmission terminal determines whether a value of the frequency counter is smaller than a threshold. If the value of the frequency counter is smaller than the threshold, the process returns to the operation S1. When the threshold in the operation S19 is, e.g., 10, the threshold in the operation S104 may be, e.g., about 5.
If the value of the frequency counter is not smaller than the threshold, the check packet transmission terminal turns off, in an operation S105, the contradiction flag for each of the target groups, i.e., for the first to third group information. The check packet transmission terminal deletes the invalid group information, e.g., the second group information, in an operation S106, and determines in an operation S107 whether the optimization is to be performed. If the optimization is to be performed, the reconstruction of the distribution routes is performed in an operation S108. The optimization is performed, for example, such that the number of distribution routes between the nodes #5 and #6 and the nodes #7 and #8 is reduced to one. For example, as illustrated in
In the event of contradiction, the reply may not be returned from the nodes #5 to #8. The current group information obtained at this time is substantially the same as the past group information, and the contradiction flag is turned on. Therefore, the process proceeds from the operation S10, illustrated in
In the process flow 2 executed in the event of contradiction, illustrated in
If the value of the frequency counter is not smaller than the threshold, the check packet transmission terminal turns off, in an operation S203, the contradiction flag for each of the target groups, i.e., for the first and second group information. In an operation S204, the check packet transmission terminal deletes the invalid group information, e.g., the second group information. Because the optimization of the distribution routes has already been performed, the process proceeds from an operation S205 to an operation S207. After turning on the transmission rate increase flag (S207), the process returns to the operation S1. If it is determined in the operation S205 that the optimization is to be performed, the reconstruction of the distribution routes is performed in an operation S206.
Even when a contradiction arises in the group information, the contradiction is resolved through the check of the occurrence frequency of the target group information, and the optimization of the distribution routes is performed.
The data distribution routes in a P2P network, which are constructed within a sub-network, may be optimized at an earlier point.
All examples and conditional language recited herein are intended for pedagogical purposes to aid the reader in understanding the invention and the concepts contributed by the inventor to furthering the art, and are to be construed as being without limitation to such specifically recited examples and conditions, nor does the organization of such examples in the specification relate to a showing of the superiority and inferiority of the invention. Although the embodiment of the present invention has been described in detail, it should be understood that the various changes, substitutions, and alterations could be made hereto without departing from the spirit and scope of the invention.
Number | Date | Country | Kind |
---|---|---|---|
2011-280573 | Dec 2011 | JP | national |
Number | Name | Date | Kind |
---|---|---|---|
6954436 | Yip et al. | Oct 2005 | B1 |
7016351 | Farinacci et al. | Mar 2006 | B1 |
7355975 | Liu et al. | Apr 2008 | B2 |
7389332 | Muchow et al. | Jun 2008 | B1 |
7457236 | Cheng et al. | Nov 2008 | B2 |
7593374 | Zhang et al. | Sep 2009 | B2 |
7680038 | Gourlay | Mar 2010 | B1 |
7742436 | Carrillo et al. | Jun 2010 | B2 |
7848230 | Shah et al. | Dec 2010 | B2 |
7986632 | Monaco et al. | Jul 2011 | B2 |
7991859 | Miller et al. | Aug 2011 | B1 |
20020156875 | Pabla | Oct 2002 | A1 |
20030126464 | McDaniel et al. | Jul 2003 | A1 |
20040042465 | Lee | Mar 2004 | A1 |
20070115868 | Chen et al. | May 2007 | A1 |
20070177518 | Li et al. | Aug 2007 | A1 |
20070189216 | Wang | Aug 2007 | A1 |
20070280283 | Sorrini et al. | Dec 2007 | A1 |
20080049753 | Heinze et al. | Feb 2008 | A1 |
20080212471 | Jowett | Sep 2008 | A1 |
20090031222 | Nakamura et al. | Jan 2009 | A1 |
20090083390 | Abu-Ghazaleh et al. | Mar 2009 | A1 |
20090303882 | Tanaka et al. | Dec 2009 | A1 |
20090310485 | Averi et al. | Dec 2009 | A1 |
20100110891 | Shah et al. | May 2010 | A1 |
20100128606 | Patel et al. | May 2010 | A1 |
20100177643 | Matta et al. | Jul 2010 | A1 |
20100309795 | Shah et al. | Dec 2010 | A1 |
20110022711 | Cohn | Jan 2011 | A1 |
Number | Date | Country |
---|---|---|
2006-345347 | Dec 2006 | JP |
Number | Date | Country | |
---|---|---|---|
20130163414 A1 | Jun 2013 | US |