WO2019230375A1 - Data distribution system, data distribution method, communication control device, communication control program, distributor node, distribution processing program, receiving node, and receiving processing program - Google Patents

Data distribution system, data distribution method, communication control device, communication control program, distributor node, distribution processing program, receiving node, and receiving processing program Download PDF

Info

Publication number
WO2019230375A1
WO2019230375A1 PCT/JP2019/019142 JP2019019142W WO2019230375A1 WO 2019230375 A1 WO2019230375 A1 WO 2019230375A1 JP 2019019142 W JP2019019142 W JP 2019019142W WO 2019230375 A1 WO2019230375 A1 WO 2019230375A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
distribution
receiving
data
nodes
Prior art date
Application number
PCT/JP2019/019142
Other languages
French (fr)
Japanese (ja)
Inventor
中川 聰
Original Assignee
沖電気工業株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 沖電気工業株式会社 filed Critical 沖電気工業株式会社
Publication of WO2019230375A1 publication Critical patent/WO2019230375A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units

Definitions

  • the present disclosure relates to a data distribution system, a data distribution method, a communication control apparatus, a communication control program, a distribution source node, a distribution processing program, a reception node, and a reception processing program, for example, multimedia data such as video information and audio information.
  • the present invention can be applied to a system for distributing from a distribution source to a plurality of users.
  • the distribution server replicates and distributes the same data as many as the number of unicast communication paths according to the number of users, so the network bandwidth is reduced. There is a problem that it is wasted and cannot be distributed to a sufficient number of users (see FIG. 6).
  • Application multicast is a method of realizing multicast to a large number of users only with applications between users by redistributing to another user a user (user computer) receiving distribution (user computer) and further redistributing to another user. Yes (see FIG. 8).
  • Japanese Patent Application Laid-Open No. 2007-235681 discloses a method of switching a distribution tree according to a situation by measuring a distribution path throughput of a distribution tree that performs data distribution using application level multicast. .
  • an initial distribution tree construction method for example, there is a method using a measurement result based on a network delay between a new node and each node.
  • Japanese Laid-Open Patent Publication No. 2007-235681 discloses a method of constructing a distribution tree based on measurement results such as actual throughput estimated from past throughput storage.
  • a data distribution system using application multicast it is not preferable to transmit / receive data other than actual distribution data to / from a large number of nodes for the purpose of measuring throughput or the like.
  • a data distribution system using application multicast when you want to participate in the distribution tree earlier than the measurement results can be collected, such as real-time video distribution, or when the parent node that received the distribution leaves There is a possibility that the distribution tree cannot be reconstructed quickly.
  • a data distribution system, data distribution method, and communication control capable of more efficiently constructing a distribution tree composed of a distribution source node that is a distribution data distribution source and a plurality of receiving nodes that receive distribution data distribution
  • An apparatus, a communication control program, a distribution source node, a distribution processing program, a reception node, and a reception processing program are desired.
  • a distribution source node that is a distribution data distribution source, receives distribution data from the distribution source node or another receiving node, performs predetermined processing, and transmits the received distribution data to another receiving node.
  • the communication control device includes: (1-1) a node information acquisition unit that acquires node information including an IP address for the distribution source node and the respective reception nodes; and (1-2) the distribution source for each of the reception nodes.
  • each of the distribution source nodes transmits distribution data according to the communication control of the communication control device.
  • Each receiving node transmits and receives distribution data according to control of the communication control device.
  • the second mode is a distribution source node that is a distribution source of distribution data, receives distribution data from the distribution source node or another receiving node, performs a predetermined process, and receives the received distribution data from another receiving node.
  • a data distribution method for a data distribution system comprising: a plurality of receiving nodes that can be redistributed to a communication node; and a communication control device that controls communication between the distribution source node and each of the receiving nodes.
  • the communication control device includes a node information acquisition unit, a parent node selection unit, a distribution tree management unit, and a communication control unit.
  • the distribution source node includes a distribution data transmission unit
  • the reception node has a distribution data transmission / reception unit
  • the node information acquisition unit is a node including an IP address for the distribution source node and each of the reception nodes.
  • the parent node selection unit for each receiving node, selects a parent node from candidate nodes that are candidates for the parent node from the distribution source node and other receiving nodes.
  • the distribution tree management unit manages a configuration of a distribution tree composed of the distribution source node and the reception node according to the determination of the parent node selection unit, and (7) the communication control unit According to the configuration of the distribution tree managed by the management unit, the communication of the distribution source node and each of the receiving nodes is controlled.
  • the distribution data transmission unit is Performs transmission of the distribution data according to the communication control of the communication control device, (9) the distribution data transceiver in accordance with the control of the communication control apparatus transmits and receives the distribution data.
  • the third mode is a distribution source node that is a distribution source of distribution data, receives distribution data from the distribution source node or another receiving node, performs predetermined processing, and transmits the received distribution data to other receiving nodes.
  • a communication control apparatus that controls a distribution tree composed of a plurality of receiving nodes that can be redistributed to (1), (1) node information including IP addresses for the distribution source node and each of the receiving nodes (2) for each of the receiving nodes, the candidate node that is a candidate for the parent node from the distribution source node and the other receiving nodes is the parent node selection target According to the bit length that matches the IP address of the receiving node and the IP address of each of the candidate nodes, the candidate node to the parent node A parent node selection unit for selecting a parent node of the reception node to be selected; and (4) managing a configuration of a distribution tree composed of the distribution source node and the reception node according to the determination of the parent node selection unit. And a distribution tree management unit.
  • the communication control program receives a distribution data from a distribution source node that is a distribution data distribution source and the distribution source node or another receiving node, performs a predetermined process, and receives the received distribution data.
  • the distribution source node and each of the receptions are provided in a computer mounted on a communication control device that controls a distribution tree composed of a plurality of reception nodes that can be redistributed to other reception nodes.
  • Node information including an IP address is obtained for a node, and (2) for each receiving node, selection of a parent node from candidate nodes that are candidates for a parent node from the distribution source node and other receiving nodes According to the bit length that matches the IP address of the target receiving node and the IP address of each candidate node, the candidate node A parent node of the receiving node to be selected as a parent node is selected from the node, and (3) a process of managing a configuration of a distribution tree composed of the distribution source node and the receiving node is executed according to the selection .
  • the distribution source node includes a distribution data transmission unit that transmits distribution data according to the communication control of the communication control device according to the second aspect.
  • the distribution processing program according to the sixth aspect causes a computer mounted on the distribution source node to execute processing for transmitting distribution data according to the communication control of the communication control device according to the second aspect.
  • the reception node according to the seventh aspect includes a distribution data transmission / reception unit that transmits and receives distribution data according to the communication control of the communication control device according to the second aspect.
  • the reception processing program according to the eighth aspect causes a computer mounted on the reception node to execute processing for transmitting and receiving distribution data according to the communication control of the communication control device according to the second aspect.
  • a distribution tree including a distribution source node that is a distribution data distribution source and a plurality of reception nodes that receive distribution data.
  • FIG. 2 is a block diagram showing the overall configuration (logical connection configuration) of the data distribution system 1 of this embodiment.
  • the data distribution system 1 includes a distribution configuration management server 10, a distribution source node 20, and five reception nodes 30 (30-1 to 30-5).
  • the number of devices arranged is not limited.
  • the connection means (network configuration) between the devices is not limited. For example, the Internet, a wide area LAN, a wireless IP network, etc. can be applied.
  • the distribution configuration management server 10 is a device that manages the configuration of a distribution tree formed by the distribution source node 20 and each receiving node 30.
  • the distribution source node 20 is a device that is a distribution source of data (hereinafter also referred to as “distributed data”) distributed to each receiving node 30.
  • the contents and format of the distribution data are not limited.
  • content data such as video and audio (for example, data converted into a streaming format based on video data in a file format) and video from a video source such as a video camera Multimedia data (multimedia information) such as data and acoustic data from an audio source such as a microphone.
  • the distribution data may be data such as a document or a presentation other than video and audio data.
  • the distribution source node 20 transmits distribution data to a child node (a reception node 30 that is a direct distribution destination) on the distribution tree among the plurality of reception nodes 30. Do.
  • the receiving node 30 receives distribution data from the parent node (distribution source node 20 or other receiving node 30) under the control of the distribution configuration management server 10, and uses predetermined processing (for example, a display, a speaker, or the like).
  • predetermined processing for example, a display, a speaker, or the like.
  • This is an apparatus that performs (output processing) and redistributes received distribution data to a child node (another reception node 30).
  • the distribution configuration management server 10 manages the configuration of the distribution tree between the distribution source node 20 and the reception node 30, and reconfiguration of the distribution tree when the new reception node 30 participates or when the reception node 30 leaves. At this time, communication control (for example, a distribution tree configuration instruction) is performed on the distribution source node 20 and the reception node 30.
  • communication control for example, a distribution tree configuration instruction
  • a plurality of distribution source nodes 20 may exist, and the distribution configuration management server 10 may manage the distribution tree for each distribution source.
  • the distribution source node 20 may be arranged at each of a plurality of bases, and communication may be realized by bidirectionally distributing data between the plurality of bases.
  • FIG. 1 is a block diagram showing a functional configuration of the distribution configuration management server 10.
  • the distribution configuration management server 10 includes a distribution configuration management unit 11 that manages at least the configuration of a distribution tree starting from the distribution source node 20.
  • the distribution configuration management unit 11 includes a parent node determination processing unit 110, a target node information acquisition unit 120, and an information transmission unit 130.
  • the distribution configuration management server 10 may be configured, for example, by installing a program (including the communication control program according to the embodiment) in a computer such as a PC or a workstation.
  • the parent node determination processing unit 110 performs a process of determining a parent node (a node that directly receives distribution data) of each receiving node 30 when the distribution tree is configured / reconfigured.
  • the target node information acquisition unit 120 performs processing for acquiring information (hereinafter referred to as “node information”) regarding the receiving node 30 (hereinafter also referred to as “target node”) that is a target for determining a parent node.
  • the information transmitting unit 130 performs communication control processing (corresponding to parent node information) on each receiving node 30 based on information on the parent node determined by the parent node determination processing unit 110 (hereinafter also referred to as “parent node information”).
  • Distribution control communication control processing for setting a parent node and a child node).
  • the information transmission unit 130 transmits information about the parent node (for example, information including the network address) to the target node (child node) in the parent node information, and the parent node (parent of the target node) in the parent node information. You may make it set a delivery path
  • communication control of the distribution source node 20 and each reception node 30 is performed by the information transmission unit 130, and configuration / reconfiguration of the distribution tree is performed.
  • the parent node determination processing unit 110 includes a network address distance calculation unit 111, a parent node selection unit 112, a distribution tree storage unit 113, a parent node candidate generation unit 114, and a subnet determination / distance correction unit 115.
  • the distribution tree storage unit 113 includes node information relating to each node (distribution source node 20 and each reception node 30) constituting the distribution tree, and information on the configuration state of the distribution tree starting from the distribution source node 20 (root) (hereinafter referred to as “distribution tree”). , Referred to as “distribution tree configuration information”) and the like.
  • the parent node candidate generation unit 114 adds a new node from the nodes (distribution source node 20 and each receiving node 30) participating in the distribution tree based on the distribution tree configuration information stored in the distribution tree storage unit 113.
  • Information including the list of nodes (hereinafter referred to as “candidate nodes”) that can be the parent node of the distribution source for the target nodes (node information) that require allocation of the distribution path (determining the parent node etc.) Referred to as “candidate node information”).
  • the inter-network address distance calculation unit 111 includes network address information (network address information of the target node) included in the input node information of the target node and each of the candidate node information generated by the parent node candidate generation unit 114.
  • the distance indicating the proximity between the network address of the target node and each candidate node is calculated from the network address information of the candidate node.
  • the subnet determination / distance correction unit 115 determines whether the target node and the candidate node belong to the same subnetwork based on the distance calculated by the inter-network address distance calculation unit 111, and corrects the distance between the network addresses. Is. Details of the correction processing by the subnet determination / distance correction unit 115 will be described later.
  • the parent node selection unit 112 uses the distance information between the corrected network addresses obtained by the subnet determination / distance correction unit 115 to determine a node to be a parent node of the target node from among the candidate nodes. is there.
  • the parent node selection unit 112 supplies parent node information indicating the selection result of the parent node with respect to the target node to the information transmission unit 130, and the distribution tree configuration of the distribution tree storage unit 113 according to the selection result of the parent node selection unit 112 Process to update information.
  • the parent node information includes, for example, information for specifying a distribution path composed of the target node and the parent node of the target node (for example, information including network address information of the target node and the parent node of the target node). Also good.
  • each receiving node 30 Next, the internal configuration of each receiving node 30 will be described with reference to FIG.
  • Each reception node 30 includes a reception unit 301, a reception data processing unit 302, a retransmission unit 303, and a distribution control unit 304.
  • the receiving node 30 is configured by installing a program (including the communication control program according to the embodiment) in a computer such as a personal computer, a workstation, a mobile device (for example, a smart phone or a tablet terminal) (for example, It may be configured to include a configuration that is downloaded and executed each time, such as JavaScript (registered trademark) of a Web browser.
  • a program including the communication control program according to the embodiment
  • a computer such as a personal computer, a workstation, a mobile device (for example, a smart phone or a tablet terminal)
  • JavaScript registered trademark
  • the receiving unit 301 receives distribution data from the parent node.
  • the reception data processing unit 302 performs predetermined processing (for example, display output processing to the user using a display or a speaker) on the distribution data received from the parent node.
  • predetermined processing for example, display output processing to the user using a display or a speaker
  • the re-transmission unit 303 performs re-transmission processing of distribution data to other receiving nodes 30 (child nodes) under the control of the distribution control unit 304.
  • the distribution control unit 304 performs processing for controlling transmission / reception processing (processing by the reception unit 301 and the retransmission unit 303).
  • the receiving unit 301, the retransmitting unit 303, and the distribution control unit 304 constitute a distribution data transmitting / receiving unit that transmits and receives distribution data.
  • each distribution source node 20 will be described with reference to FIG.
  • Each distribution source node 20 includes a transmission unit 201, an acquisition unit 202, and a distribution control unit 203.
  • the distribution source node 20 is configured by installing a program (including the distribution processing program according to the embodiment) on a computer such as a PC, a workstation, or a mobile terminal (for example, a smart phone or a tablet terminal) (for example, It may be configured to include a configuration that is downloaded and executed each time, such as JavaScript of a Web browser.
  • a program including the distribution processing program according to the embodiment
  • a computer such as a PC, a workstation, or a mobile terminal (for example, a smart phone or a tablet terminal) (for example, It may be configured to include a configuration that is downloaded and executed each time, such as JavaScript of a Web browser.
  • the acquisition unit 202 holds distribution data.
  • the method by which the acquisition unit 202 holds distribution data is not limited.
  • the acquisition unit 202 may acquire distribution data as batch data (for example, a video data file recorded in an external storage) or sequentially acquire distribution data from a source such as a camera or a microphone. You may make it do.
  • the transmission unit 201 performs a process of distributing (transmitting) the distribution data acquired by the acquisition unit 202 to a distribution destination (receiving node 30 serving as a child node) according to the control of the distribution control unit 203.
  • the distribution control unit 203 performs processing for controlling distribution processing by the transmission unit 201 and the like.
  • the transmission unit 201 and the distribution control unit 203 constitute a distribution data transmission unit that transmits distribution data.
  • an application level multicast is transmitted from a distribution source node 20 that is a distribution data distribution source to a plurality of reception nodes 30 that are distribution data distribution destinations (receivers). Distribution data is distributed using.
  • the distribution tree structure information is managed by the distribution configuration management server 10.
  • the distribution configuration management server 10 operates by exchanging node information regarding each node and information regarding the configuration of the distribution tree with each node (distribution source node 20 and receiving node 30) configuring the distribution tree.
  • the distribution tree is reconstructed according to the addition and removal of nodes.
  • the distribution configuration management server 10 may serve as a signaling server that relays signaling between nodes.
  • the distribution control unit 203 of the distribution source node 20 notifies the distribution configuration management server 10 of node information including IP address information as its network address information. It is assumed that the distribution control unit 304 of the receiving node 30 notifies the distribution configuration management server 10 of node information including IP address information as its network address information.
  • IP address IPv4 address
  • the distribution configuration management server 10 determines the configuration of the distribution tree by storing node information from the distribution source node 20 and the reception node (s) 30 in the distribution configuration management unit 11 which is the main component. The node is notified of information related to the connection partner of the distribution path.
  • Each node of the distribution source node 20 and the reception node 30 secures a communication path with the connection partner according to the distribution path constituting the distribution tree, and the distribution source node 20 transmits the distribution data held by itself to the reception node 30. Receives the distribution data from the parent node and retransmits the received distribution data if it has child nodes.
  • the distribution configuration management server 10 determines the parent node of the newly participating receiving node 30 according to the node information notified from the newly participating receiving node 30 (target node). assign. Then, when the assigned parent node starts distribution to the new receiving node 30, the distribution tree is constructed (reconstructed).
  • the distribution configuration management server 10 assigns a new parent node to the receiving node 30 whose distribution stops.
  • the reassignment of the parent node may be performed only for the direct child node of the leaving node, or it may be reassigned not only for the direct child node but also for the descendant node of the child node. Allocation may be performed.
  • the distribution configuration management server 10 reconstructs the distribution tree by reassigning parent nodes to these receiving nodes 30.
  • the parent node determination processing unit 110 performs a process of determining a distribution source parent node for a node that needs to be assigned a parent node.
  • the parent node determination processing unit 110 When the parent node determination processing unit 110 receives information (target node information) related to the node to which the parent node is assigned, information including IP address information is acquired from the target node information. Then, the parent node determination processing unit 110 selects a parent node based on the acquired target node information, and outputs parent node information indicating the selection result.
  • information target node information
  • IP address information IP address information
  • the distribution tree storage unit 113 stores distribution tree configuration information indicating a current distribution tree configuration state (connection state) and node information of each node participating in the distribution tree.
  • the parent node candidate generation unit 114 refers to the information stored in the distribution tree storage unit 113, and each node participating in the distribution tree (the distribution source node 20 and the distribution node 20). Among each receiving node 30), a node capable of distributing distribution data to the target node is detected as a candidate node. In the case of the reconfiguration accompanying the leaving of the node, the node is not included in the candidate node because it is not a node that can be distributed even if a descendant node of the target node is a parent node (a node that can reach the distribution source node 20).
  • a preset upper limit of the number of branches of the tree (number of child nodes), an upper limit of the depth of the distribution tree from the distribution source node 20 (number of via nodes), etc.
  • a node that does not satisfy the condition may be configured not to be a candidate node.
  • the inter-network address distance calculation unit 111 determines, for each candidate node, an IP address corresponding to the proximity between the IP addresses based on the IP address information of the target node and the IP address information of each candidate node. Calculate the distance. A method for calculating the distance between IP addresses will be described later.
  • the subnet determination / distance correction unit 115 determines whether the target node and each candidate node belong to the same subnetwork based on the distance between IP addresses calculated by the inter-network address distance calculation unit 111. If it is determined that it belongs to the sub-network, the distance between IP addresses is corrected.
  • the parent node selection unit 112 selects an optimal parent node for the target node from among the candidate nodes using information such as the corrected distance between IP addresses for each obtained candidate node, and based on the selection result Output parent node information.
  • the parent node selection unit 112 updates the distribution tree configuration information in the distribution tree storage unit 113 based on the determined connection relationship between the target node and the parent node.
  • the parent node selection unit 112 manages node information regarding the target node on the distribution tree storage unit 113 (additional storage or deletion of node information on the distribution tree storage unit 113).
  • the parent node selection unit 112 manages the distribution tree by updating the information stored in the distribution tree storage unit 113.
  • the IP address itself does not have information on the physical network connection status.
  • a general IP network router uses processing such as determining a routing destination based on a route table for each IP address prefix (upper bit portion). Therefore, in a general IP network, the same physical route is used for assigning a common prefix IP address to the same organization or base, or for summarizing router route tables (summarizing table entries for the same route). In many cases, an IP address serving as a common prefix is assigned to a network passing through. Further, in a general IP network, in the same subnetwork under the same router, the prefix portion (network address portion) which is the network portion of the IP address has the same value. In other words, between the two sub-networks constituting a general IP network, the more common portions of the prefix, the more likely it can be reached with a smaller number of hops and path costs.
  • the prefix match length constituting the IP address (how many bits match from the upper bits of the two IP addresses) ) Shall be used.
  • the bit length of the suffix part excluding the matched prefix part may be used.
  • a node having a short bit length in the suffix portion is selected as a parent node preferentially between the target node and an arbitrary candidate node.
  • FIG. 5 shows an example of the physical network configuration and IP address of each node.
  • nodes NA, NB, NE are arranged in the sub-network SN1 (10.1.1.0/24) of the district B1.
  • the node NC is arranged in the sub-network SN2 (10.1.2.0/24) of the district B1.
  • IP addresses possessed by each are as follows, for example.
  • IP address of the node NA 10.1.1.
  • aa IP address of node NB 10.1.1.
  • bb IP address of the node NC 10.1.2.
  • cc IP address of node ND 10.2. dd. dd
  • the prefix match length that matches node NA and node NB is 24 bits or more
  • the prefix match length that matches node NA and node NC is 16 bits or more and less than 24 bits
  • the prefix match length that matches node NA and node ND is 16 bits. Less than a bit. In other words, the closer the node from the node NA to the physical network (for example, the node with the smaller number of hops and path cost), the greater the prefix match length.
  • a node closer to the physical network can be selected as the parent node. It becomes.
  • a node having higher distribution capability than the node NB for example, having more CPUs
  • the IP address of the node NE for example, 10.1.1.ee; ee is an arbitrary 8-bit value
  • the subnet determination / distance correction unit 115 of this embodiment determines whether the target node and the candidate node belong to the same subnetwork based on the prefix match length calculated by the inter-network address distance calculation unit 111, and the same If it is determined that it belongs to a subnetwork, the distance between network addresses is corrected assuming that only the subnetwork address part of the prefix matches, and the distance is corrected to be equal to other nodes in the same subnetwork. .
  • the subnet determination / distance correction unit 115 first determines whether the prefix match length of the IP address is the maximum value (32 bits for the IPv4 address) (whether all bit patterns match). In this case, it means that the target node and the candidate node are in the same device (for example, in the user terminal), and distance correction is not performed in order to distinguish from another device in the subnetwork. Next, when the prefix match length is larger than the preset subnetwork prefix length (for example, fixed to 24 bits), the subnet determination / distance correction unit 115 determines the subnetwork prefix length as the corrected distance. To do.
  • the subnet determination / distance correction unit 115 corrects the distances to a plurality of candidate nodes in the same subnetwork so as to have the same value. If the prefix match length is shorter than the predetermined subnetwork prefix length, no particular correction is performed.
  • the subnetwork prefix length used for subnetwork judgment may differ for each individual subnetwork in an actual network, but for each known subnetwork, use the actual actual prefix length by referring to the database. In the case of an unknown subnetwork, determination may be made using a predetermined fixed value such as 24 bits. In the case of an IPv6 network, a predetermined value such as 64 bits may be used as the subnetwork prefix length.
  • the parent node determination processing unit 110 simply selects a candidate node having the maximum prefix match length calculated by the inter-network address distance calculation unit 111 as the parent node. That is, in the example of FIG. 5, the parent node determination processing unit 110 may select the node NB as the parent node for the node NA. When there are a plurality of nodes having the maximum prefix match length corrected by the subnet determination / distance correction unit 115, for example, the parent node determination processing unit 110 randomly selects a parent using a random number or the like from these nodes. A node may be selected.
  • the parent node determination processing unit 110 may determine other parent nodes from candidate nodes having the same prefix match length in consideration of other information attached to the node information (for example, the processing capability of the node). good. In other words, in this case, the parent node determination processing unit 110 selects the node NE if the node NE has a margin of processing capability or the like rather than the node NB.
  • the distribution configuration management server 10 (parent node determination processing unit 110) is expected to be closer to the physical network without measuring actual throughput or the like by using the IP address information of each node.
  • a distribution tree can be constructed by selecting possible candidate nodes as parent nodes.
  • the distribution control unit 304 notifies the distribution configuration management unit 11 in the distribution configuration management server 10 of node information including its own IP address information.
  • distribution control unit 304 information related to communication control (for example, information defining a distribution path of network address information of a parent node or a child node) is notified from the distribution configuration management server 10 (distribution configuration management unit 11).
  • the distribution control unit 304 secures a communication path between the parent node and the receiving unit 301, and starts receiving the distribution data from the parent node by the receiving unit 301.
  • the reception data processing unit 302 performs predetermined processing (for example, processing for displaying in the case of video data or reproduction in the case of audio data) on the received distribution data.
  • predetermined processing for example, processing for displaying in the case of video data or reproduction in the case of audio data
  • the distribution configuration management server 10 (distribution configuration management unit 11) notifies the distribution control unit 304 that there is another receiving node 30 (child node) having itself as a parent node
  • the retransmission control unit 304 From 303, the distribution data is retransmitted to its own child node.
  • the distribution control unit 304 does not control retransmission when there is no child node.
  • the data distribution system 1 distributes distribution data using application multicast.
  • the parent node to be a distribution source is selected when newly participating in the information distribution tree using application multicast or when the distribution tree is reconstructed by leaving the parent node. It is possible to select a parent node that can be expected to be close to the physical network topology with respect to the target node that needs to be. Thereby, in the data delivery system 1 of this embodiment, it becomes possible to reduce the subject that a delivery tree becomes inefficient.
  • the selection can be made without actually measuring the throughput, so that a distribution tree can be quickly constructed, and extra traffic is generated for throughput measurement and the like. The amount can also be reduced.
  • the data distribution system 1 of this embodiment when there are a plurality of candidates for the parent node in the same subnet, reconnection or the like is performed by selecting at random or taking into consideration the processing capability of the candidate node. Nodes connected in the network are distributed, and a more efficient distribution tree can be constructed.
  • distribution is dynamically performed based on measurement results (communication history) such as throughput of transmission / reception of distribution data for each distribution path after actually starting distribution. You may comprise so that the method of updating a path
  • route may be used together.
  • a receiving node 30 received from a distribution path that does not have a throughput is detected, and the current parent node (and target node) is set with this receiving node 30 as a target node.
  • the distribution route may be dynamically updated by performing the same selection as described above from the parent node candidates excluding the descendant node).
  • Each of the communication control device, the distribution source node, and the reception node includes a CPU that is a hardware processor and a memory connected to the CPU, and the communication control device loads a program recorded in the memory to the CPU. As a result, it functions as an information acquisition unit, a parent node selection unit, a distribution tree management unit, and a communication control unit. Further, the distribution source node functions as a distribution data transmission unit by loading and executing the program recorded in the memory on the CPU, and the reception node loads and executes the program recorded in the memory on the CPU. Thus, it functions as a distribution data transmission / reception unit.
  • programs such as a communication control program, a distribution processing program, and a reception processing program are recorded on a non-temporary recording medium such as a DVD, HDD, or SSD, and are read into a memory via a non-temporary recording medium reading device. May be.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

Provided is a data distribution system comprising: distributor nodes serving as distributors of distribution data; a plurality of receiving nodes which are capable of receiving distribution data from either the distributor nodes or other receiving nodes and carrying out a prescribed process thereon, and redistributing the received distribution data to other receiving nodes; and a communication control device for controlling the communication between the distributor nodes and each of the receiving nodes. The communication control device comprises: a distribution tree management part for, in accordance with selection of a parent node selection part, managing the configuration of a distribution tree configured by the distributor nodes and the receiving nodes; and a communication control part for, in accordance with the configuration of the distribution tree being managed by the distribution tree management part, controlling the communication between the distributor nodes and each of the receiving nodes. Each of the distributor nodes comprises a distribution data transmission part for transmitting distribution data in accordance with communication control by the communication control device. Each of the receiving nodes comprises a distribution data transceiver part for transmitting and/or receiving the distribution data according to the control by the communication control device.

Description

データ配信システム、データ配信方法、通信制御装置、通信制御プログラム、配信元ノード、配信処理プログラム、受信ノード、及び受信処理プログラムData distribution system, data distribution method, communication control device, communication control program, distribution source node, distribution processing program, reception node, and reception processing program
 本開示は、データ配信システム、データ配信方法、通信制御装置、通信制御プログラム、配信元ノード、配信処理プログラム、受信ノード、及び受信処理プログラムに関し、例えば、映像情報や音声情報等のマルチメディアデータを配信元から複数ユーザへ配信するシステムに適用し得る。 The present disclosure relates to a data distribution system, a data distribution method, a communication control apparatus, a communication control program, a distribution source node, a distribution processing program, a reception node, and a reception processing program, for example, multimedia data such as video information and audio information. The present invention can be applied to a system for distributing from a distribution source to a plurality of users.
 近年、情報通信技術の発達により、遠隔の離れた場所にいる者同士があたかも同じ場所にいるかのようにコミュニケーションしたり、共同作業を行ったりする技術が注目されている。複数の映像や音声等の情報を、複数の場所や複数のユーザに配信することによりこれら遠隔の複数者間のコミュニケーションを実現している。映像や音声等のデータを複数のユーザに配信する場合、ビデオカメラ等の映像ソースや、マイク等の音声ソースからのマルチメディアデータを持つ配信元から、これらのデータを要求するユーザに対してIPパケット等を用いたユニキャスト通信で配信する方法が用いられる。 In recent years, with the development of information and communication technology, technology that allows people at distant places to communicate as if they were in the same place, or to perform collaborative work, has attracted attention. By distributing information such as a plurality of images and sounds to a plurality of locations and a plurality of users, communication between these remote multiple persons is realized. When distributing video, audio, and other data to multiple users, a distribution source with multimedia data from a video source such as a video camera or an audio source such as a microphone can provide IP to users who request these data. A distribution method using unicast communication using a packet or the like is used.
 このようなユニキャスト通信では、同じデータを要求するユーザ数が増加すると、配信サーバでは、ユーザ数に応じたユニキャスト通信路の数だけ同じデータを複製して配信するため、ネットワークの帯域幅を浪費して十分な数のユーザに配信できないという問題がある(図6参照)。また、ユニキャスト通信ではなくマルチキャスト通信を用いてデータの複製を配信経路の途中のルータで行うことによりネットワーク帯域の浪費を防止する方法もあるが、経路上のすべてのルータがマルチキャスト通信に対応する必要があり、一般には普及していない(図7参照)。 In such unicast communication, if the number of users requesting the same data increases, the distribution server replicates and distributes the same data as many as the number of unicast communication paths according to the number of users, so the network bandwidth is reduced. There is a problem that it is wasted and cannot be distributed to a sufficient number of users (see FIG. 6). In addition, there is a method to prevent waste of network bandwidth by duplicating data using multicast communication instead of unicast communication in the middle of the distribution route, but all routers on the route support multicast communication. It is necessary and is not widely used (see FIG. 7).
 上述のような問題への対策として、アプリケーションレベルマルチキャストと呼ばれる技術が知られている。アプリケーションマルチキャストとは、配信を受けているユーザ(ユーザコンピュータ)が中継ノードとなり、さらに別のユーザに対して再配信することにより、ユーザ間のアプリケーションのみで多数のユーザへのマルチキャストを実現する方法である(図8参照)。 A technique called application level multicast is known as a countermeasure against the above problems. Application multicast is a method of realizing multicast to a large number of users only with applications between users by redistributing to another user a user (user computer) receiving distribution (user computer) and further redistributing to another user. Yes (see FIG. 8).
 アプリケーションレベルマルチキャストを用いてデータ配信するシステムでは、配信経路をいかに構築するかがシステム全体の配信性能に大きく影響する。 In a system that distributes data using application-level multicast, how the distribution route is constructed greatly affects the distribution performance of the entire system.
 特開2007-235681号公報では、アプリケーションレベルマルチキャストを用いてデータ配信を行う配信ツリーを、配信パスのスループット等を計測することによって、状況に応じて配信ツリーを切り替えていく方法が開示されている。また、アプリケーションマルチキャストを用いたデータ配信システムにおいて、初期の配信ツリーの構築方法としては、例えば、新規のノードと各ノードとのネットワーク遅延に基づく計測結果を用いる方法が挙げられる。特開2007-235681号公報では、過去のスループットの記憶から推定して、実際のスループット等の計測結果に基づき配信ツリーを構築する方法が開示されている。 Japanese Patent Application Laid-Open No. 2007-235681 discloses a method of switching a distribution tree according to a situation by measuring a distribution path throughput of a distribution tree that performs data distribution using application level multicast. . In the data distribution system using application multicast, as an initial distribution tree construction method, for example, there is a method using a measurement result based on a network delay between a new node and each node. Japanese Laid-Open Patent Publication No. 2007-235681 discloses a method of constructing a distribution tree based on measurement results such as actual throughput estimated from past throughput storage.
 しかしながら、アプリケーションマルチキャストを用いたデータ配信システムでは、実際のルータなどの物理的なネットワーク構成を把握しない状態で、スループットの計測結果などが得られていない新規のノードを配信ツリーに参加させる場合は、ランダムに配信可能なノードを新規ノードの親ノードとして選出するなどにより配信ツリーを構築するしかない。したがって、アプリケーションマルチキャストを用いたデータ配信システムでは、十分な計測結果が得られるまでは非効率な配信ツリーとなってしまうなどの問題があった。 However, in a data distribution system using application multicast, when a new node for which a measurement result of throughput is not obtained without participating in a physical network configuration such as an actual router is to participate in the distribution tree, The only option is to build a distribution tree by selecting a node that can be distributed randomly as the parent node of the new node. Therefore, the data distribution system using the application multicast has a problem such as an inefficient distribution tree until a sufficient measurement result is obtained.
 また、アプリケーションマルチキャストを用いたデータ配信システムでは、実際の配信データ以外のデータをスループット等の計測の目的で多数のノードと送受信することは好ましくない。特に、アプリケーションマルチキャストを用いたデータ配信システムでは、リアルタイムの映像配信など、計測結果が収集できるよりも早期に配信ツリーに参加させたい場合や、配信を受けていた親ノードが離脱してしまった場合に迅速に配信ツリーを再構築することができない虞がある。 In a data distribution system using application multicast, it is not preferable to transmit / receive data other than actual distribution data to / from a large number of nodes for the purpose of measuring throughput or the like. In particular, in a data distribution system using application multicast, when you want to participate in the distribution tree earlier than the measurement results can be collected, such as real-time video distribution, or when the parent node that received the distribution leaves There is a possibility that the distribution tree cannot be reconstructed quickly.
 そのため、配信データの配信元となる配信元ノードと、配信データの配信を受ける複数の受信ノードにより構成される配信ツリーをより効率的に構築することができるデータ配信システム、データ配信方法、通信制御装置、通信制御プログラム、配信元ノード、配信処理プログラム、受信ノード、及び受信処理プログラムが望まれている。 Therefore, a data distribution system, data distribution method, and communication control capable of more efficiently constructing a distribution tree composed of a distribution source node that is a distribution data distribution source and a plurality of receiving nodes that receive distribution data distribution An apparatus, a communication control program, a distribution source node, a distribution processing program, a reception node, and a reception processing program are desired.
 第1の態様は、配信データの配信元である配信元ノードと、前記配信元ノードもしくは他の受信ノードから配信データを受信して所定の処理を行うと共に、受信した配信データを他の受信ノードに対して再配信することが可能な複数の受信ノードと、前記配信元ノードとそれぞれの前記受信ノードの通信を制御する通信制御装置とを有するデータ配信システムにおいて、(1)前記通信制御装置は、(1-1)前記配信元ノードとそれぞれの前記受信ノードについて、IPアドレスを含むノード情報を取得するノード情報取得部と、(1-2)それぞれの前記受信ノードに対して、前記配信元ノードと他の前記受信ノードから親ノードの候補となる候補ノードから、親ノードの選択対象となる前記受信ノードのIPアドレスと、それぞれの前記候補ノードのIPアドレスとで一致するビット長に応じて、前記候補ノードから親ノードの選択対象となる前記受信ノードの親ノードを選択する親ノード選択部と、(1-3)前記親ノード選択部の決定に従って、前記配信元ノードと前記受信ノードにより構成される配信ツリーの構成を管理する配信ツリー管理部と、(1-4)前記配信ツリー管理部が管理している前記配信ツリーの構成に従って、前記配信元ノード及びそれぞれの前記受信ノードの通信を制御する通信制御部とを有し、(2)それぞれの前記配信元ノードは、前記通信制御装置の通信制御に従って配信データの送信を行う配信データ送信部を有し、(3)それぞれの前記受信ノードは、前記通信制御装置の制御に従って、配信データの送受信を行う配信データ送受信部を有する。 In the first aspect, a distribution source node that is a distribution data distribution source, receives distribution data from the distribution source node or another receiving node, performs predetermined processing, and transmits the received distribution data to another receiving node. In a data distribution system having a plurality of receiving nodes that can be redistributed with respect to each other, and a communication control device that controls communication between the distribution source node and each of the receiving nodes, (1) the communication control device includes: (1-1) a node information acquisition unit that acquires node information including an IP address for the distribution source node and the respective reception nodes; and (1-2) the distribution source for each of the reception nodes. From a candidate node that is a candidate for a parent node from a node and another receiving node, an IP address of the receiving node that is a parent node selection target, A parent node selection unit that selects a parent node of the receiving node as a parent node selection target from the candidate nodes according to a bit length that matches the IP address of the candidate node; and (1-3) the parent node A distribution tree management unit that manages a configuration of a distribution tree configured by the distribution source node and the reception node according to the determination of the selection unit; and (1-4) of the distribution tree managed by the distribution tree management unit And (2) each of the distribution source nodes transmits distribution data according to the communication control of the communication control device. (3) Each receiving node transmits and receives distribution data according to control of the communication control device. Having.
 第2の態様は、配信データの配信元である配信元ノードと、前記配信元ノードもしくは他の受信ノードから配信データを受信して所定の処理を行うと共に、受信した配信データを他の受信ノードに対して再配信することが可能な複数の受信ノードと、前記配信元ノードとそれぞれの前記受信ノードの通信を制御する通信制御装置とを有するデータ配信システムのデータ配信方法において、(1)前記通信制御装置は、ノード情報取得部、親ノード選択部、配信ツリー管理部、及び通信制御部を有し、(2)前記配信元ノードは、配信データ送信部を有し、(3)それぞれの前記受信ノードは、配信データ送受信部を有し、(4)前記ノード情報取得部は、前記配信元ノードとそれぞれの前記受信ノードについて、IPアドレスを含むノード情報を取得し、(5)前記親ノード選択部は、それぞれの前記受信ノードに対して、前記配信元ノードと他の前記受信ノードから親ノードの候補となる候補ノードから、親ノードの選択対象となる前記受信ノードのIPアドレスと、それぞれの前記候補ノードのIPアドレスとで一致するビット長に応じて、前記候補ノードから親ノードの選択対象となる前記受信ノードの親ノードを選択し、(6)前記配信ツリー管理部は、前記親ノード選択部の決定に従って、前記配信元ノードと前記受信ノードにより構成される配信ツリーの構成を管理し、(7)前記通信制御部は、前記配信ツリー管理部が管理している前記配信ツリーの構成に従って、前記配信元ノード及びそれぞれの前記受信ノードの通信を制御し、(8)前記配信データ送信部は、前記通信制御装置の通信制御に従って配信データの送信を行い、(9)前記配信データ送受信部は、前記通信制御装置の制御に従って、配信データの送受信を行う。 The second mode is a distribution source node that is a distribution source of distribution data, receives distribution data from the distribution source node or another receiving node, performs a predetermined process, and receives the received distribution data from another receiving node. In a data distribution method for a data distribution system, comprising: a plurality of receiving nodes that can be redistributed to a communication node; and a communication control device that controls communication between the distribution source node and each of the receiving nodes. The communication control device includes a node information acquisition unit, a parent node selection unit, a distribution tree management unit, and a communication control unit. (2) The distribution source node includes a distribution data transmission unit, (3) The reception node has a distribution data transmission / reception unit, and (4) the node information acquisition unit is a node including an IP address for the distribution source node and each of the reception nodes. (5) The parent node selection unit, for each receiving node, selects a parent node from candidate nodes that are candidates for the parent node from the distribution source node and other receiving nodes. Select the parent node of the receiving node to be a parent node selection target from the candidate nodes, according to the bit length that matches the IP address of the receiving node and the IP address of each candidate node, 6) The distribution tree management unit manages a configuration of a distribution tree composed of the distribution source node and the reception node according to the determination of the parent node selection unit, and (7) the communication control unit According to the configuration of the distribution tree managed by the management unit, the communication of the distribution source node and each of the receiving nodes is controlled. (8) The distribution data transmission unit is Performs transmission of the distribution data according to the communication control of the communication control device, (9) the distribution data transceiver in accordance with the control of the communication control apparatus transmits and receives the distribution data.
 第3の態様は、配信データの配信元である配信元ノードと、前記配信元ノードもしくは他の受信ノードから配信データを受信して所定の処理を行うと共に、受信した配信データを他の受信ノードに対して再配信することが可能な複数の受信ノードにより構成される配信ツリーの制御を行う通信制御装置において、(1)前記配信元ノードとそれぞれの前記受信ノードについて、IPアドレスを含むノード情報を取得するノード情報取得部と、(2)それぞれの前記受信ノードに対して、前記配信元ノードと他の前記受信ノードから親ノードの候補となる候補ノードから、親ノードの選択対象となる前記受信ノードのIPアドレスと、それぞれの前記候補ノードのIPアドレスとで一致するビット長に応じて、前記候補ノードから親ノードの選択対象となる前記受信ノードの親ノードを選択する親ノード選択部と、(4)前記親ノード選択部の決定に従って、前記配信元ノードと前記受信ノードにより構成される配信ツリーの構成を管理する配信ツリー管理部とを有する。 The third mode is a distribution source node that is a distribution source of distribution data, receives distribution data from the distribution source node or another receiving node, performs predetermined processing, and transmits the received distribution data to other receiving nodes. In a communication control apparatus that controls a distribution tree composed of a plurality of receiving nodes that can be redistributed to (1), (1) node information including IP addresses for the distribution source node and each of the receiving nodes (2) for each of the receiving nodes, the candidate node that is a candidate for the parent node from the distribution source node and the other receiving nodes is the parent node selection target According to the bit length that matches the IP address of the receiving node and the IP address of each of the candidate nodes, the candidate node to the parent node A parent node selection unit for selecting a parent node of the reception node to be selected; and (4) managing a configuration of a distribution tree composed of the distribution source node and the reception node according to the determination of the parent node selection unit. And a distribution tree management unit.
 第4の態様の通信制御プログラムは、配信データの配信元である配信元ノードと、前記配信元ノードもしくは他の受信ノードから配信データを受信して所定の処理を行うと共に、受信した配信データを他の受信ノードに対して再配信することが可能な複数の受信ノードにより構成される配信ツリーの制御を行う通信制御装置に搭載されたコンピュータに、(1)前記配信元ノードとそれぞれの前記受信ノードについて、IPアドレスを含むノード情報を取得し、(2)それぞれの前記受信ノードに対して、前記配信元ノードと他の前記受信ノードから親ノードの候補となる候補ノードから、親ノードの選択対象となる前記受信ノードのIPアドレスと、それぞれの前記候補ノードのIPアドレスとで一致するビット長に応じて、前記候補ノードから親ノードの選択対象となる前記受信ノードの親ノードを選択し、(3)前記選択に従って、前記配信元ノードと前記受信ノードにより構成される配信ツリーの構成を管理する、処理を実行させる。 The communication control program according to the fourth aspect receives a distribution data from a distribution source node that is a distribution data distribution source and the distribution source node or another receiving node, performs a predetermined process, and receives the received distribution data. (1) The distribution source node and each of the receptions are provided in a computer mounted on a communication control device that controls a distribution tree composed of a plurality of reception nodes that can be redistributed to other reception nodes. Node information including an IP address is obtained for a node, and (2) for each receiving node, selection of a parent node from candidate nodes that are candidates for a parent node from the distribution source node and other receiving nodes According to the bit length that matches the IP address of the target receiving node and the IP address of each candidate node, the candidate node A parent node of the receiving node to be selected as a parent node is selected from the node, and (3) a process of managing a configuration of a distribution tree composed of the distribution source node and the receiving node is executed according to the selection .
 第5の態様の配信元ノードは、第2の態様の通信制御装置の通信制御に従って配信データの送信を行う配信データ送信部を有する。 The distribution source node according to the fifth aspect includes a distribution data transmission unit that transmits distribution data according to the communication control of the communication control device according to the second aspect.
 第6の態様の配信処理プログラムは、配信元ノードに搭載されたコンピュータに、第2の態様の通信制御装置の通信制御に従って配信データを送信する処理を実行させる。 The distribution processing program according to the sixth aspect causes a computer mounted on the distribution source node to execute processing for transmitting distribution data according to the communication control of the communication control device according to the second aspect.
 第7の態様の受信ノードは、第2の態様の通信制御装置の通信制御に従って配信データの送受信を行う配信データ送受信部を有する。 The reception node according to the seventh aspect includes a distribution data transmission / reception unit that transmits and receives distribution data according to the communication control of the communication control device according to the second aspect.
 第8の態様の受信処理プログラムは、受信ノードに搭載されたコンピュータに、第2の態様の通信制御装置の通信制御に従って配信データの送受信を行う処理を実行させる。 The reception processing program according to the eighth aspect causes a computer mounted on the reception node to execute processing for transmitting and receiving distribution data according to the communication control of the communication control device according to the second aspect.
 本開示によれば、配信データの配信元となる配信元ノードと、配信データの配信を受ける複数の受信ノードにより構成される配信ツリーをより効率的に構築することができる。 According to the present disclosure, it is possible to more efficiently construct a distribution tree including a distribution source node that is a distribution data distribution source and a plurality of reception nodes that receive distribution data.
実施形態に係る配信構成管理サーバの機能的構成について示したブロック図である。It is the block diagram shown about the functional structure of the delivery structure management server which concerns on embodiment. 実施形態に係るデータ配信システムの全体構成の例について示したブロック図である。It is the block diagram shown about the example of the whole structure of the data delivery system which concerns on embodiment. 実施形態に係る受信ノードの機能的構成について示したブロック図である。It is the block diagram shown about the functional structure of the receiving node which concerns on embodiment. 実施形態に係る配信元ノードの機能的構成について示したブロック図である。It is the block diagram shown about the functional structure of the delivery origin node which concerns on embodiment. 実施形態に係るデータ配信システムを構成するネットワークの物理構成及びIPアドレス構成の例について示した説明図である。It is explanatory drawing shown about the example of the physical structure of a network which comprises the data delivery system which concerns on embodiment, and an IP address structure. 関連技術のユニキャストによるデータ配信の例について示した説明図である。It is explanatory drawing shown about the example of the data delivery by the unicast of related technology. 関連技術のマルチキャストによるデータ配信の例について示した説明図である。It is explanatory drawing shown about the example of the data delivery by multicast of related technology. 関連技術のアプリケーションレベルマルチキャストによるデータ配信の例について示した説明図である。It is explanatory drawing shown about the example of the data delivery by the application level multicast of related technology.
 (A)主たる実施形態
 以下、本開示によるデータ配信システム、データ配信方法、通信制御装置、通信制御プログラム、配信元ノード、配信処理プログラム、受信ノード、及び受信処理プログラムの一実施形態を、図面を参照しながら詳述する。以下では、本開示の通信制御装置及び通信制御プログラムを、配信構成管理サーバに適用した例について説明する。
(A) Main Embodiment Hereinafter, an embodiment of a data distribution system, a data distribution method, a communication control device, a communication control program, a distribution source node, a distribution processing program, a reception node, and a reception processing program according to the present disclosure will be described. This will be described in detail with reference. Hereinafter, an example in which the communication control device and the communication control program of the present disclosure are applied to the distribution configuration management server will be described.
 (A-1)実施形態の構成
 図2は、この実施形態のデータ配信システム1の全体構成(論理的な接続構成)を示すブロック図である。
(A-1) Configuration of Embodiment FIG. 2 is a block diagram showing the overall configuration (logical connection configuration) of the data distribution system 1 of this embodiment.
 図2に示すように、データ配信システム1には、配信構成管理サーバ10、配信元ノード20、及び5つの受信ノード30(30-1~30-5)が配置されている。なお、データ配信システム1において、配置される各装置の数は限定されない。また、データ配信システム1において、各装置間の接続手段(ネットワーク構成)については限定されない。例えば、インターネット、広域LAN、無線IPネットワーク等を適用することができる。 As shown in FIG. 2, the data distribution system 1 includes a distribution configuration management server 10, a distribution source node 20, and five reception nodes 30 (30-1 to 30-5). In the data distribution system 1, the number of devices arranged is not limited. In the data distribution system 1, the connection means (network configuration) between the devices is not limited. For example, the Internet, a wide area LAN, a wireless IP network, etc. can be applied.
 配信構成管理サーバ10は、配信元ノード20と各受信ノード30により形成される配信ツリーの構成を管理する装置である。 The distribution configuration management server 10 is a device that manages the configuration of a distribution tree formed by the distribution source node 20 and each receiving node 30.
 配信元ノード20は、各受信ノード30に配信するデータ(以下、「配信データ」とも呼ぶ)の配信元となる装置である。配信データの内容や形式は限定されないが、例えば、映像や音声等のコンテンツデータ(例えば、ファイル形式の映像データに基づいてストリーミング形式に変換されたデータ)や、ビデオカメラ等の映像ソースからの映像データや、マイク等の音声ソースからの音響データ等のマルチメディアデータ(マルチメディア情報)が挙げられる。また、配信データは、例えば、映像や音声データ以外に文書やプレゼンテーション等のデータとしてもよい。配信元ノード20は、配信構成管理サーバ10の制御に応じて、複数の受信ノード30の内、配信ツリー上の子ノード(直接の配信先となる受信ノード30)に対して配信データの送信を行う。 The distribution source node 20 is a device that is a distribution source of data (hereinafter also referred to as “distributed data”) distributed to each receiving node 30. The contents and format of the distribution data are not limited. For example, content data such as video and audio (for example, data converted into a streaming format based on video data in a file format) and video from a video source such as a video camera Multimedia data (multimedia information) such as data and acoustic data from an audio source such as a microphone. The distribution data may be data such as a document or a presentation other than video and audio data. Under the control of the distribution configuration management server 10, the distribution source node 20 transmits distribution data to a child node (a reception node 30 that is a direct distribution destination) on the distribution tree among the plurality of reception nodes 30. Do.
 受信ノード30は、配信構成管理サーバ10の制御に応じて、親ノード(配信元ノード20もしくは他の受信ノード30)から配信データを受信して所定の処理(例えば、ディスプレイやスピーカ等を用いた出力処理)を行うと共に、受信した配信データを子ノード(他の受信ノード30)に対して再配信する装置である。 The receiving node 30 receives distribution data from the parent node (distribution source node 20 or other receiving node 30) under the control of the distribution configuration management server 10, and uses predetermined processing (for example, a display, a speaker, or the like). This is an apparatus that performs (output processing) and redistributes received distribution data to a child node (another reception node 30).
 配信構成管理サーバ10は、配信元ノード20と受信ノード30の間の配信ツリーの構成を管理し、新規の受信ノード30の参加の場合や、受信ノード30の離脱に伴う配信ツリーの再構成の際に、配信元ノード20や受信ノード30に対して通信制御(例えば、配信ツリーの構成指示等)を行う。 The distribution configuration management server 10 manages the configuration of the distribution tree between the distribution source node 20 and the reception node 30, and reconfiguration of the distribution tree when the new reception node 30 participates or when the reception node 30 leaves. At this time, communication control (for example, a distribution tree configuration instruction) is performed on the distribution source node 20 and the reception node 30.
 なお、配信元ノード20は複数存在してもよく、配信構成管理サーバ10では配信ツリーをそれぞれの配信元ごとに管理するようにしてもよい。例えば、複数の拠点にそれぞれ配信元ノード20を配置し、複数拠点間で双方向にデータを配信しあうことでコミュニケーションを実現するような構成としてもよい。 Note that a plurality of distribution source nodes 20 may exist, and the distribution configuration management server 10 may manage the distribution tree for each distribution source. For example, the distribution source node 20 may be arranged at each of a plurality of bases, and communication may be realized by bidirectionally distributing data between the plurality of bases.
 次に、配信構成管理サーバ10の内部構成について図1を用いて説明する。 Next, the internal configuration of the distribution configuration management server 10 will be described with reference to FIG.
 図1は、配信構成管理サーバ10の機能的構成について示したブロック図である。 FIG. 1 is a block diagram showing a functional configuration of the distribution configuration management server 10.
 配信構成管理サーバ10は、少なくとも配信元ノード20を起点とする配信ツリーの構成を管理する配信構成管理部11を有している。また、配信構成管理部11は、親ノード決定処理部110、対象ノード情報取得部120、及び情報送信部130を有している。 The distribution configuration management server 10 includes a distribution configuration management unit 11 that manages at least the configuration of a distribution tree starting from the distribution source node 20. The distribution configuration management unit 11 includes a parent node determination processing unit 110, a target node information acquisition unit 120, and an information transmission unit 130.
 配信構成管理サーバ10は、例えば、PCやワークステーション等のコンピュータにプログラム(実施形態に係る通信制御プログラムを含む)をインストールすることにより構成するようにしてもよい。 The distribution configuration management server 10 may be configured, for example, by installing a program (including the communication control program according to the embodiment) in a computer such as a PC or a workstation.
 親ノード決定処理部110は、配信ツリーの構成時/再構成時に、各受信ノード30の親ノード(配信データを直接受信するノード)を決定する処理を行う。 The parent node determination processing unit 110 performs a process of determining a parent node (a node that directly receives distribution data) of each receiving node 30 when the distribution tree is configured / reconfigured.
 対象ノード情報取得部120は、親ノードを決定する対象となる受信ノード30(以下、「対象ノード」とも呼ぶ)に関する情報(以下、「ノード情報」と呼ぶ)を取得する処理を行う。 The target node information acquisition unit 120 performs processing for acquiring information (hereinafter referred to as “node information”) regarding the receiving node 30 (hereinafter also referred to as “target node”) that is a target for determining a parent node.
 情報送信部130は、各受信ノード30に対して、親ノード決定処理部110で決定した親ノードに関する情報(以下、「親ノード情報」とも呼ぶ)に基づいた通信制御処理(親ノード情報に対応する配信パス(親ノードと子ノードの組)を設定する通信制御処理)を行う。例えば、情報送信部130は、その親ノード情報における対象ノード(子ノード)に、親ノードに関する情報(例えば、ネットワークアドレスを含む情報)を送信し、その親ノード情報における親ノード(対象ノードの親ノード)に、子ノード(対象ノード)に関する情報(例えば、ネットワークアドレスを含む情報)を送信することにより、配信パスを設定するようにしてもよい。以上のように、情報送信部130により、配信元ノード20及び各受信ノード30の通信制御が行われ、配信ツリーの構成/再構成が行われる。 The information transmitting unit 130 performs communication control processing (corresponding to parent node information) on each receiving node 30 based on information on the parent node determined by the parent node determination processing unit 110 (hereinafter also referred to as “parent node information”). Distribution control (communication control processing for setting a parent node and a child node). For example, the information transmission unit 130 transmits information about the parent node (for example, information including the network address) to the target node (child node) in the parent node information, and the parent node (parent of the target node) in the parent node information. You may make it set a delivery path | route by transmitting the information (for example, information containing a network address) regarding a child node (target node) to a node. As described above, communication control of the distribution source node 20 and each reception node 30 is performed by the information transmission unit 130, and configuration / reconfiguration of the distribution tree is performed.
 次に、親ノード決定処理部110の内部構成について説明する。 Next, the internal configuration of the parent node determination processing unit 110 will be described.
 親ノード決定処理部110は、ネットワークアドレス間距離計算部111、親ノード選択部112、配信ツリー記憶部113、親ノード候補生成部114、及びサブネット判定・距離補正部115を有している。 The parent node determination processing unit 110 includes a network address distance calculation unit 111, a parent node selection unit 112, a distribution tree storage unit 113, a parent node candidate generation unit 114, and a subnet determination / distance correction unit 115.
 配信ツリー記憶部113は、配信ツリーを構成する各ノード(配信元ノード20及び各受信ノード30)に関するノード情報と、配信元ノード20を起点(ルート)とする配信ツリーの構成状態の情報(以下、「配信ツリー構成情報」と呼ぶ)等を記憶するものである。 The distribution tree storage unit 113 includes node information relating to each node (distribution source node 20 and each reception node 30) constituting the distribution tree, and information on the configuration state of the distribution tree starting from the distribution source node 20 (root) (hereinafter referred to as “distribution tree”). , Referred to as “distribution tree configuration information”) and the like.
 親ノード候補生成部114は、配信ツリー記憶部113に記憶された配信ツリー構成情報に基づく配信ツリーに参加しているノード(配信元ノード20、及び各受信ノード30)の内から、新規追加などの配信パスの割り当て(親ノード等の決定)が必要な対象ノード(ノード情報)に対して、配信元の親ノードとなりうるノード(以下、「候補ノード」と呼ぶ)のリストを含む情報(以下、「候補ノードの情報」と呼ぶ)を生成するものである。 The parent node candidate generation unit 114 adds a new node from the nodes (distribution source node 20 and each receiving node 30) participating in the distribution tree based on the distribution tree configuration information stored in the distribution tree storage unit 113. Information including the list of nodes (hereinafter referred to as “candidate nodes”) that can be the parent node of the distribution source for the target nodes (node information) that require allocation of the distribution path (determining the parent node etc.) , Referred to as “candidate node information”).
 ネットワークアドレス間距離計算部111は、入力される対象ノードのノード情報に含まれるネットワークアドレス情報(対象ノードのネットワークアドレス情報)と、親ノード候補生成部114で生成される候補ノード情報に含まれる各候補ノードのネットワークアドレス情報から、対象ノードと各候補ノードとのネットワークアドレス間の近さを示す距離を算出するものである。 The inter-network address distance calculation unit 111 includes network address information (network address information of the target node) included in the input node information of the target node and each of the candidate node information generated by the parent node candidate generation unit 114. The distance indicating the proximity between the network address of the target node and each candidate node is calculated from the network address information of the candidate node.
 サブネット判定・距離補正部115は、ネットワークアドレス間距離計算部111で計算された距離に基づいて、対象ノードと候補ノードが同一サブネットワークに属するかを判定して、ネットワークアドレス間の距離を補正するものである。サブネット判定・距離補正部115による補正処理の詳細については後述する。 The subnet determination / distance correction unit 115 determines whether the target node and the candidate node belong to the same subnetwork based on the distance calculated by the inter-network address distance calculation unit 111, and corrects the distance between the network addresses. Is. Details of the correction processing by the subnet determination / distance correction unit 115 will be described later.
 親ノード選択部112は、サブネット判定・距離補正部115で得られた、補正されたネットワークアドレス間の距離情報を用いて、候補ノードの内から対象ノードの親ノードとするノードを決定するものである。 The parent node selection unit 112 uses the distance information between the corrected network addresses obtained by the subnet determination / distance correction unit 115 to determine a node to be a parent node of the target node from among the candidate nodes. is there.
 親ノード選択部112は、対象ノードに対する親ノードの選択結果を示す親ノード情報を情報送信部130に供給すると共に、親ノード選択部112の選択結果にしたがって、配信ツリー記憶部113の配信ツリー構成情報を更新させる処理を行う。親ノード情報には、例えば、対象ノード及び当該対象ノードの親ノードにより構成される配信パスを特定する情報(例えば、対象ノード及び当該対象ノードの親ノードのネットワークアドレス情報を含む情報)を含むようにしてもよい。 The parent node selection unit 112 supplies parent node information indicating the selection result of the parent node with respect to the target node to the information transmission unit 130, and the distribution tree configuration of the distribution tree storage unit 113 according to the selection result of the parent node selection unit 112 Process to update information. The parent node information includes, for example, information for specifying a distribution path composed of the target node and the parent node of the target node (for example, information including network address information of the target node and the parent node of the target node). Also good.
 次に、各受信ノード30の内部構成について図3を用いて説明する。 Next, the internal configuration of each receiving node 30 will be described with reference to FIG.
 各受信ノード30は、受信部301、受信データ処理部302、再送信部303、及び配信制御部304を有している。 Each reception node 30 includes a reception unit 301, a reception data processing unit 302, a retransmission unit 303, and a distribution control unit 304.
 受信ノード30は、例えば、パーソナルコンピュータ、ワークステーション、モバイルデバイス(例えば、スマートホンやタブレット端末等)等のコンピュータにプログラム(実施形態に係る通信制御プログラムを含む)をインストールすることにより構成(例えば、WebブラウザのJavaScript(登録商標)のように、都度ダウンロードして実行する構成を含む)するようにしてもよい。 The receiving node 30 is configured by installing a program (including the communication control program according to the embodiment) in a computer such as a personal computer, a workstation, a mobile device (for example, a smart phone or a tablet terminal) (for example, It may be configured to include a configuration that is downloaded and executed each time, such as JavaScript (registered trademark) of a Web browser.
 受信部301は、親ノードからの配信データを受信する。 The receiving unit 301 receives distribution data from the parent node.
 受信データ処理部302は、親ノードから受信した配信データに対して所定の処理(例えば、ディスプレイやスピーカを用いたユーザへの表示出力処理等)を行う。 The reception data processing unit 302 performs predetermined processing (for example, display output processing to the user using a display or a speaker) on the distribution data received from the parent node.
 再送信部303は、配信制御部304の制御に応じて、他の受信ノード30(子ノード)に対して配信データの再送信の処理を行う。 The re-transmission unit 303 performs re-transmission processing of distribution data to other receiving nodes 30 (child nodes) under the control of the distribution control unit 304.
 配信制御部304は、送受信処理(受信部301及び再送信部303による処理)を制御する処理等を行う。 The distribution control unit 304 performs processing for controlling transmission / reception processing (processing by the reception unit 301 and the retransmission unit 303).
 受信ノード30では、受信部301、再送信部303、及び配信制御部304により、配信データを送受信する配信データ送受信部が構成されている。 In the receiving node 30, the receiving unit 301, the retransmitting unit 303, and the distribution control unit 304 constitute a distribution data transmitting / receiving unit that transmits and receives distribution data.
 次に、各配信元ノード20の内部構成について図4を用いて説明する。 Next, the internal configuration of each distribution source node 20 will be described with reference to FIG.
 各配信元ノード20は送信部201、取得部202、及び配信制御部203を有している。 Each distribution source node 20 includes a transmission unit 201, an acquisition unit 202, and a distribution control unit 203.
 配信元ノード20は、例えば、PC、ワークステーション、モバイル端末(例えば、スマートホンやタブレット端末等)等のコンピュータにプログラム(実施形態に係る配信処理プログラムを含む)をインストールすることにより構成(例えば、WebブラウザのJavaScriptのように、都度ダウンロードして実行する構成を含む)するようにしてもよい。 The distribution source node 20 is configured by installing a program (including the distribution processing program according to the embodiment) on a computer such as a PC, a workstation, or a mobile terminal (for example, a smart phone or a tablet terminal) (for example, It may be configured to include a configuration that is downloaded and executed each time, such as JavaScript of a Web browser.
 取得部202は、配信データを保持する。取得部202が、配信データを保持する方法は限定されないものである。取得部202は、例えば、配信データを一括したデータ(例えば、外部ストレージに記録された映像のデータファイル等)として取得るようにしてもよいし、配信データをカメラやマイク等のソースから逐次取得するようにしてもよい。 The acquisition unit 202 holds distribution data. The method by which the acquisition unit 202 holds distribution data is not limited. For example, the acquisition unit 202 may acquire distribution data as batch data (for example, a video data file recorded in an external storage) or sequentially acquire distribution data from a source such as a camera or a microphone. You may make it do.
 送信部201は、取得部202が取得した配信データを配信制御部203の制御に応じた配信先(子ノードとなる受信ノード30)に配信(送信)する処理を行う。 The transmission unit 201 performs a process of distributing (transmitting) the distribution data acquired by the acquisition unit 202 to a distribution destination (receiving node 30 serving as a child node) according to the control of the distribution control unit 203.
 配信制御部203は、送信部201による配信処理を制御する処理等を行う。 The distribution control unit 203 performs processing for controlling distribution processing by the transmission unit 201 and the like.
 配信元ノード20では、送信部201、及び配信制御部203により、配信データを送信する配信データ送信部が構成されている。 In the distribution source node 20, the transmission unit 201 and the distribution control unit 203 constitute a distribution data transmission unit that transmits distribution data.
 (A-2)実施形態の動作
 次に、以上のような構成を有するこの実施形態のデータ配信システム1の動作を説明する。
(A-2) Operation of Embodiment Next, the operation of the data distribution system 1 of this embodiment having the above configuration will be described.
 まず、データ配信システム1における配信ツリーの構成手順の概要について説明する。 First, an outline of a distribution tree configuration procedure in the data distribution system 1 will be described.
 図2に示すように、データ配信システム1では、配信データの配信元である配信元ノード20から、配信データの配信先(受信者)である(複数の)受信ノード30に対してアプリケーションレベルマルチキャストを用いて配信データの配信が行われる。 As shown in FIG. 2, in the data distribution system 1, an application level multicast is transmitted from a distribution source node 20 that is a distribution data distribution source to a plurality of reception nodes 30 that are distribution data distribution destinations (receivers). Distribution data is distributed using.
 データ配信システム1において、配信ツリー構造情報は、配信構成管理サーバ10が管理している。配信構成管理サーバ10は、配信ツリーを構成する各ノード(配信元ノード20や受信ノード30)との間で、各ノードに関するノード情報や、配信ツリーの構成に関わる情報をやり取りすることにより、動的なノードの追加や離脱に応じた配信ツリーの再構築を行う。なお、以下では、配信ツリーの構成に関わる事項のみを説明するが、配信パスとなる通信路を設定するためのシグナリング等については任意の方法を用いることができる。例えば、配信構成管理サーバ10がノード間のシグナリングを中継するシグナリングサーバを兼務するような構成としてもよい。 In the data distribution system 1, the distribution tree structure information is managed by the distribution configuration management server 10. The distribution configuration management server 10 operates by exchanging node information regarding each node and information regarding the configuration of the distribution tree with each node (distribution source node 20 and receiving node 30) configuring the distribution tree. The distribution tree is reconstructed according to the addition and removal of nodes. In the following description, only matters related to the configuration of the distribution tree will be described, but any method can be used for signaling or the like for setting a communication path serving as a distribution path. For example, the distribution configuration management server 10 may serve as a signaling server that relays signaling between nodes.
 まず、配信元ノード20の配信制御部203が、自身のネットワークアドレス情報としてのIPアドレス情報を含むノード情報を配信構成管理サーバ10に通知したものとする。また、受信ノード30の配信制御部304が、自身のネットワークアドレス情報としてIPアドレス情報を含むノード情報を配信構成管理サーバ10に通知したものとする。以下、データ配信システム1において、ネットワークアドレスとしてはIPアドレス(IPv4のアドレス)を用いる例で説明する。 First, it is assumed that the distribution control unit 203 of the distribution source node 20 notifies the distribution configuration management server 10 of node information including IP address information as its network address information. It is assumed that the distribution control unit 304 of the receiving node 30 notifies the distribution configuration management server 10 of node information including IP address information as its network address information. Hereinafter, an example in which an IP address (IPv4 address) is used as a network address in the data distribution system 1 will be described.
 配信構成管理サーバ10は、その主たる構成要素である配信構成管理部11において、配信元ノード20や(複数の)受信ノード30からのノード情報を記憶して配信ツリーの構成を決定し、それぞれのノードに対して配信パスの接続相手に関わる情報を通知する。 The distribution configuration management server 10 determines the configuration of the distribution tree by storing node information from the distribution source node 20 and the reception node (s) 30 in the distribution configuration management unit 11 which is the main component. The node is notified of information related to the connection partner of the distribution path.
 配信元ノード20や受信ノード30の各ノードは、配信ツリーを構成する配信パスに従った接続相手との通信路を確保し、配信元ノード20は自身が持つ配信データの送信を、受信ノード30は親ノードからの配信データの受信と、自身が子ノードを持つ場合は、受信した配信データの再送信を行う。新規に受信ノード30が配信ツリーに参加する場合、配信構成管理サーバ10は、新規参加の受信ノード30(対象ノード)から通知されるノード情報にしたがって、その新規参加の受信ノード30の親ノードを割り当てる。そして、その割り当てられた親ノードが、新規の受信ノード30への配信を開始することにより、配信ツリーの構築(再構築)が行われる。 Each node of the distribution source node 20 and the reception node 30 secures a communication path with the connection partner according to the distribution path constituting the distribution tree, and the distribution source node 20 transmits the distribution data held by itself to the reception node 30. Receives the distribution data from the parent node and retransmits the received distribution data if it has child nodes. When a new receiving node 30 participates in the distribution tree, the distribution configuration management server 10 determines the parent node of the newly participating receiving node 30 according to the node information notified from the newly participating receiving node 30 (target node). assign. Then, when the assigned parent node starts distribution to the new receiving node 30, the distribution tree is constructed (reconstructed).
 配信ツリーに参加している受信ノード30の内の1つが配信ツリーから離脱した場合、離脱した受信ノード30を親ノード(や祖先ノード)としていた受信ノード30への配信が停止してしまう。したがって、配信構成管理サーバ10は、配信が停止してしまう受信ノード30に対して新たな親ノードの割り当てを行う。配信構成管理サーバ10において、親ノードの再割り当ては、離脱ノードの直接の子ノードに対してのみ行ってもよいし、直接の子ノード以外にも、子ノードの子孫のノードに対しても再割り当てを行ってもよい。配信構成管理サーバ10は、これらの受信ノード30に対して、親ノードの再割り当てを行うことにより、配信ツリーの再構築を行う。 When one of the receiving nodes 30 participating in the distribution tree leaves the distribution tree, distribution to the receiving node 30 having the separated receiving node 30 as a parent node (or an ancestor node) stops. Therefore, the distribution configuration management server 10 assigns a new parent node to the receiving node 30 whose distribution stops. In the distribution configuration management server 10, the reassignment of the parent node may be performed only for the direct child node of the leaving node, or it may be reassigned not only for the direct child node but also for the descendant node of the child node. Allocation may be performed. The distribution configuration management server 10 reconstructs the distribution tree by reassigning parent nodes to these receiving nodes 30.
 次に、配信構成管理サーバ10の配信構成管理部11が、各ノードに対して親ノードを決定する処理の詳細について説明する。 Next, details of a process in which the distribution configuration management unit 11 of the distribution configuration management server 10 determines a parent node for each node will be described.
 上述の通り、配信構成管理部11では、親ノード決定処理部110が、親ノードの割り当てが必要となったノードに対して、配信元となる親ノードを決定する処理を行う。 As described above, in the distribution configuration management unit 11, the parent node determination processing unit 110 performs a process of determining a distribution source parent node for a node that needs to be assigned a parent node.
 親ノード決定処理部110では、親ノードの割り当て対象となったノードに関する情報(対象ノード情報)が入力されると、その対象ノード情報からIPアドレス情報を含む情報を取得する。そして、親ノード決定処理部110は、取得した対象ノード情報に基づいて親ノードを選択し、その選択結果を示す親ノード情報を出力する。 When the parent node determination processing unit 110 receives information (target node information) related to the node to which the parent node is assigned, information including IP address information is acquired from the target node information. Then, the parent node determination processing unit 110 selects a parent node based on the acquired target node information, and outputs parent node information indicating the selection result.
 配信ツリー記憶部113では、現在の配信ツリーの構成状態(接続状態)を示す配信ツリー構成情報と、配信ツリーに参加している各ノードのノード情報が記憶されている。 The distribution tree storage unit 113 stores distribution tree configuration information indicating a current distribution tree configuration state (connection state) and node information of each node participating in the distribution tree.
 対象ノードのノード情報が入力されると、親ノード候補生成部114は、配信ツリー記憶部113に記憶されている情報を参照して、配信ツリーに参加している各ノード(配信元ノード20及び各受信ノード30)の内で、対象ノードに対して配信データを配信可能なノードを候補ノードとして検出する。ノードの離脱に伴う再構成の場合は、対象ノードの子孫ノードを親ノードとしても配信可能なノード(配信元ノード20に到達できるノード)ではないため、候補ノードには含めない。また、この時、親ノード選択部112において、例えばあらかじめ設定したツリーの分岐数(子ノードの数)の上限や、配信元ノード20からの配信ツリーの深さ(経由ノード数)の上限などの条件を満たさないノードは候補ノードとしないように構成してもよい。 When the node information of the target node is input, the parent node candidate generation unit 114 refers to the information stored in the distribution tree storage unit 113, and each node participating in the distribution tree (the distribution source node 20 and the distribution node 20). Among each receiving node 30), a node capable of distributing distribution data to the target node is detected as a candidate node. In the case of the reconfiguration accompanying the leaving of the node, the node is not included in the candidate node because it is not a node that can be distributed even if a descendant node of the target node is a parent node (a node that can reach the distribution source node 20). At this time, in the parent node selection unit 112, for example, a preset upper limit of the number of branches of the tree (number of child nodes), an upper limit of the depth of the distribution tree from the distribution source node 20 (number of via nodes), etc. A node that does not satisfy the condition may be configured not to be a candidate node.
 次に、ネットワークアドレス間距離計算部111が、それぞれの候補ノードに対して、対象ノードのIPアドレス情報と、各候補ノードのIPアドレス情報をもとにIPアドレス間の近さに相当するIPアドレス間距離を算出する。IPアドレス間距離の算出方法については後述する。 Next, the inter-network address distance calculation unit 111 determines, for each candidate node, an IP address corresponding to the proximity between the IP addresses based on the IP address information of the target node and the IP address information of each candidate node. Calculate the distance. A method for calculating the distance between IP addresses will be described later.
 次に、サブネット判定・距離補正部115では、ネットワークアドレス間距離計算部111で算出されたIPアドレス間距離をもとに、対象ノードと各候補ノードが同一サブネットワークに属するかを判定し、同一サブネットワークに属すると判定した場合はIPアドレス間距離を補正する。 Next, the subnet determination / distance correction unit 115 determines whether the target node and each candidate node belong to the same subnetwork based on the distance between IP addresses calculated by the inter-network address distance calculation unit 111. If it is determined that it belongs to the sub-network, the distance between IP addresses is corrected.
 次に、親ノード選択部112が、得られた各候補ノードに対する補正されたIPアドレス間距離等の情報を用いて候補ノードの内から対象ノードに対する最適な親ノードを選択し、選択結果に基づく親ノード情報を出力する。また、親ノード選択部112は、決定された対象ノードと親ノードの接続関係に基づき、配信ツリー記憶部113の配信ツリー構成情報を更新する。さらに、親ノード選択部112は、対象ノードに関するノード情報を配信ツリー記憶部113上で管理(配信ツリー記憶部113上でノード情報の追加記憶又は削除)する。 Next, the parent node selection unit 112 selects an optimal parent node for the target node from among the candidate nodes using information such as the corrected distance between IP addresses for each obtained candidate node, and based on the selection result Output parent node information. In addition, the parent node selection unit 112 updates the distribution tree configuration information in the distribution tree storage unit 113 based on the determined connection relationship between the target node and the parent node. Further, the parent node selection unit 112 manages node information regarding the target node on the distribution tree storage unit 113 (additional storage or deletion of node information on the distribution tree storage unit 113).
 以上のように、親ノード選択部112は、配信ツリー記憶部113に記憶される情報を更新することで配信ツリーを管理する。 As described above, the parent node selection unit 112 manages the distribution tree by updating the information stored in the distribution tree storage unit 113.
 次に、ネットワークアドレス間距離計算部111でのIPアドレス間距離の算出方法について説明する。 Next, a method for calculating the distance between IP addresses in the distance calculation unit 111 between network addresses will be described.
 IPアドレスは、それ自身では物理なネットワークの接続状態に関する情報は持っていない。しかし、一般的なIPネットワークのルータではIPアドレスのプレフィックス(上位ビット部分)ごとの経路テーブルによってルーティング先を決定するなどの処理が用いられる。そのため、一般的なIPネットワークでは、同じ組織や同じ拠点では共通のプレフィックスのIPアドレスを付与したり、ルータの経路テーブルの集約(同じ経路へのテーブルエントリの集約)のために同じ物理的な経路を通るネットワークに対して共通のプレフィックスとなるIPアドレスを付与することが多い。また、一般的なIPネットワークでは、同じルータ配下の同じサブネットワークではIPアドレスの内のネットワーク部であるプレフィックス部分(ネットワークアドレスの部分)は同じ値となる。言い換えると、一般的なIPネットワークを構成する2つのサブネットワーク間では、プレフィックスの共通部分が多いほど、より少ないホップ数やパスコストで到達可能な傾向にある。 The IP address itself does not have information on the physical network connection status. However, a general IP network router uses processing such as determining a routing destination based on a route table for each IP address prefix (upper bit portion). Therefore, in a general IP network, the same physical route is used for assigning a common prefix IP address to the same organization or base, or for summarizing router route tables (summarizing table entries for the same route). In many cases, an IP address serving as a common prefix is assigned to a network passing through. Further, in a general IP network, in the same subnetwork under the same router, the prefix portion (network address portion) which is the network portion of the IP address has the same value. In other words, between the two sub-networks constituting a general IP network, the more common portions of the prefix, the more likely it can be reached with a smaller number of hops and path costs.
 そこで、この実施形態では、2つのIPアドレス間(2つのノード間)の距離に相当する指標として、IPアドレスを構成するプレフィックス一致長(2つのIPアドレスの上位ビットから何ビットが一致しているか)を用いるものとする。この場合、2つのIPアドレス間で、プレフィックス一致長(最上位ビットから連続して一致するビット数)が長くなるほど、距離が短いことを示すことになる。すなわち、対象ノードとの間で、プレフィックス一致長が長い候補ノードを優先して親ノードとして選択することになる。 Therefore, in this embodiment, as an index corresponding to the distance between two IP addresses (between two nodes), the prefix match length constituting the IP address (how many bits match from the upper bits of the two IP addresses) ) Shall be used. In this case, the longer the prefix match length (the number of bits that match continuously from the most significant bit) between the two IP addresses, the shorter the distance. That is, a candidate node having a long prefix match length with the target node is preferentially selected as a parent node.
 なお、距離という意味(近いほど小さな値となるような)では、一致したプレフィックス部分を除くサフィックス部分のビット長(最上位の不一致ビットの最下位ビットから数えた位置)を用いてもよい。この場合は、対象ノードと任意の候補ノードとの間で、サフィックス部分のビット長が短いものを優先して親ノードとして選択することになる。 It should be noted that in the meaning of distance (such that the closer the value is, the smaller the value), the bit length of the suffix part excluding the matched prefix part (position counted from the least significant bit of the highest mismatch bit) may be used. In this case, a node having a short bit length in the suffix portion is selected as a parent node preferentially between the target node and an arbitrary candidate node.
 図5に、各ノードの物理的なネットワークの構成とIPアドレスの一例を示す。 FIG. 5 shows an example of the physical network configuration and IP address of each node.
 例えば、図5に示すネットワークでは、3つの地区B1~B3があり、それぞれ10.1.0.0/16、10.2.0.0/16、10.3.0.0/16という16ビットプレフィックスのアドレス空間を利用しているとする。また、地区B1内には、3つのサブネットワークSN1~SN3が設定されているものとする。ここでは、サブネットワークSN1~SN3では、それぞれ10.1.1.0/24、10.1.2.0/24、10.1.3.0/24という24ビットプレフィックスのアドレス空間が利用されているものとする。また、図5では、5つのノードNA、NB、NC、ND、NEが配置されている。さらに、図5では、地区B2内にノードNDが配置されている。さらにまた、図5では、地区B1のサブネットワークSN1(10.1.1.0/24)に、ノードNA、NB、NEが配置されている。また、図5では、地区B1のサブネットワークSN2(10.1.2.0/24)に、ノードNCが配置されている。 For example, in the network shown in FIG. 5, there are three districts B1 to B3, each of which is 10.1.0.0/16, 10.2.0.0/16, and 10.3.0.0/16. Assume that you are using the bit prefix address space. In addition, it is assumed that three sub-networks SN1 to SN3 are set in the area B1. Here, the sub-networks SN1 to SN3 use 24-bit prefix address spaces of 10.1.1.0/24, 10.1.2.0/24, and 10.1.3.0/24, respectively. It shall be. In FIG. 5, five nodes NA, NB, NC, ND, NE are arranged. Further, in FIG. 5, a node ND is arranged in the area B2. Furthermore, in FIG. 5, nodes NA, NB, NE are arranged in the sub-network SN1 (10.1.1.0/24) of the district B1. In FIG. 5, the node NC is arranged in the sub-network SN2 (10.1.2.0/24) of the district B1.
 ノードNAに対して、同じサブネット内のノードNB、サブネットは異なるが同じ地区内のノードNC、異なる地区内のノードNDを考えると、それぞれが持つIPアドレスは、例えば、以下のようになる。なお、以下において、aa、bb、ccにはそれぞれ任意の8ビットの値が設定されるものとする。また、以下において、「dd.dd」には任意の16ビットの値が設定されるものとする。
    ノードNAのIPアドレス:10.1.1.aa
    ノードNBのIPアドレス:10.1.1.bb
    ノードNCのIPアドレス:10.1.2.cc
    ノードNDのIPアドレス:10.2.dd.dd
Considering node NB in the same subnet, node NC in the same area but node NC in the same area, and node ND in a different area with respect to node NA, the IP addresses possessed by each are as follows, for example. In the following, it is assumed that an arbitrary 8-bit value is set for each of aa, bb, and cc. In the following, it is assumed that an arbitrary 16-bit value is set in “dd.dd”.
IP address of the node NA: 10.1.1. aa
IP address of node NB: 10.1.1. bb
IP address of the node NC: 10.1.2. cc
IP address of node ND: 10.2. dd. dd
 この時のノードNAのIPアドレスに対する、ノードNB、NC、NDのプレフィックス一致長を検証する。ノードNAとノードNBで一致するプレフィックス一致長は24ビット以上となり、ノードNAとノードNCで一致するプレフィックス一致長は16ビット以上24ビット未満となり、ノードNAとノードNDで一致するプレフィックス一致長は16ビット未満となる。すなわち、ノードNAから、物理ネットワーク的により近いノード(例えば、ホップ数やパスコストが少ないノード)ほど、プレフィックス一致長は大きな値となる。 プ レ フ ィ ッ ク ス Verify the prefix match length of nodes NB, NC, and ND for the IP address of node NA at this time. The prefix match length that matches node NA and node NB is 24 bits or more, the prefix match length that matches node NA and node NC is 16 bits or more and less than 24 bits, and the prefix match length that matches node NA and node ND is 16 bits. Less than a bit. In other words, the closer the node from the node NA to the physical network (for example, the node with the smaller number of hops and path cost), the greater the prefix match length.
 以上のように、ネットワークアドレス間距離計算部111で算出されたプレフィックス一致長が最大となるような候補ノードを親ノードとして選出すれば、物理ネットワーク的により近いノードを親ノードとして選出することが可能となる。 As described above, if a candidate node having the maximum prefix match length calculated by the inter-network address distance calculation unit 111 is selected as the parent node, a node closer to the physical network can be selected as the parent node. It becomes.
 しかし、例えば、ノードNA、NBと同一サブネットワーク内に、ノードNBよりも配信能力が高いノード(例えば、より多くのCPUを有するなど)、あるいは、ノードNBよりも再配信している子ノードの数が少ない(再配信可能数に余裕がある)ノードであるノードNEが存在していたとしても、ノードNEのIPアドレス(例えば、10.1.1.ee;eeは任意の8ビットの値)よりもノードNBのIPアドレスのほうがノードNAのIPアドレスとの一致長が長い(IPアドレスのホスト部のビットパターンが似ている)と、ノードNBのほうを選択してしまうことになる。 However, for example, a node having higher distribution capability than the node NB (for example, having more CPUs) or a child node redistributing than the node NB in the same subnetwork as the nodes NA and NB Even if there is a node NE that is a small number of nodes (there is a redistributable number), the IP address of the node NE (for example, 10.1.1.ee; ee is an arbitrary 8-bit value) If the match length of the IP address of the node NB is longer than that of the IP address of the node NA (the bit pattern of the host part of the IP address is similar), the node NB is selected.
 そこで、この実施形態のサブネット判定・距離補正部115では、ネットワークアドレス間距離計算部111で算出されたプレフィックス一致長に基づいて、対象ノードと候補ノードが同一サブネットワークに属するかを判定し、同一サブネットワークに属すると判定した場合は、プレフィックスのサブネットワークアドレス部分のみが一致したものとしてネットワークアドレス間距離を補正し、同一サブネットワーク内の他のノードと距離としては対等となるように補正を行う。 Therefore, the subnet determination / distance correction unit 115 of this embodiment determines whether the target node and the candidate node belong to the same subnetwork based on the prefix match length calculated by the inter-network address distance calculation unit 111, and the same If it is determined that it belongs to a subnetwork, the distance between network addresses is corrected assuming that only the subnetwork address part of the prefix matches, and the distance is corrected to be equal to other nodes in the same subnetwork. .
 サブネット判定・距離補正部115では、まずIPアドレスのプレフィックス一致長が最大値(IPv4アドレスでは32ビット)であるか(すべてのビットパターンが一致したか)を判定する。この場合は対象ノードと候補ノードが同じ装置内(例えば、ユーザ端末内)にあることを意味し、サブネットワーク内の別の装置と区別するために、距離の補正は行わない。次に、サブネット判定・距離補正部115は、プレフィックス一致長があらかじめ設定したサブネットワークプレフィックス長(例えば、24ビットに固定)より大きな値であった場合は、サブネットワークプレフィックス長を補正後の距離とする。すなわち、サブネット判定・距離補正部115は、同じサブネットワーク内の複数の候補ノードとの距離が、それぞれ同等の値となるよう補正する。プレフィックス一致長が所定のサブネットワークプレフィックス長より短い場合は、特に補正は行わない。サブネットワーク判定に用いるサブネットワークプレフィックス長は、実際のネットワークでは個々のサブネットワークごとに異なる場合があるが、あらかじめ既知のサブネットワークについてはデータベースを参照するなどして個々の実際のプレフィックス長を用いたり、未知のサブネットワークの場合は24ビットなどの既定の固定値を用いて判定してもよい。また、IPv6ネットワークの場合は、サブネットワークプレフィックス長として64ビットなどの既定の値を用いてもよい。 The subnet determination / distance correction unit 115 first determines whether the prefix match length of the IP address is the maximum value (32 bits for the IPv4 address) (whether all bit patterns match). In this case, it means that the target node and the candidate node are in the same device (for example, in the user terminal), and distance correction is not performed in order to distinguish from another device in the subnetwork. Next, when the prefix match length is larger than the preset subnetwork prefix length (for example, fixed to 24 bits), the subnet determination / distance correction unit 115 determines the subnetwork prefix length as the corrected distance. To do. That is, the subnet determination / distance correction unit 115 corrects the distances to a plurality of candidate nodes in the same subnetwork so as to have the same value. If the prefix match length is shorter than the predetermined subnetwork prefix length, no particular correction is performed. The subnetwork prefix length used for subnetwork judgment may differ for each individual subnetwork in an actual network, but for each known subnetwork, use the actual actual prefix length by referring to the database. In the case of an unknown subnetwork, determination may be made using a predetermined fixed value such as 24 bits. In the case of an IPv6 network, a predetermined value such as 64 bits may be used as the subnetwork prefix length.
 親ノード決定処理部110では、例えば、単純にはネットワークアドレス間距離計算部111で算出されたプレフィックス一致長が最大となる候補ノードを親ノードとして選択する。すなわち、図5の例では、親ノード決定処理部110は、ノードNAに対する親ノードとしてノードNBを選択するようにしてもよい。親ノード決定処理部110は、サブネット判定・距離補正部115により補正されたプレフィックス一致長が最大となるノードが複数存在する場合は、例えば、これらのノードのうちから乱数等を用いてランダムに親ノードを選択してもよい。さらに、親ノード決定処理部110は、ノード情報に付帯するその他の情報(例えば、ノードの処理能力など)も加味して、プレフィックス一致長が同一の候補ノードから親ノードを決定するようにしても良い。すなわち、この場合親ノード決定処理部110は、ノードNBよりもノードNEの方に処理能力等の余裕があれば、ノードNEを選択することになる。 For example, the parent node determination processing unit 110 simply selects a candidate node having the maximum prefix match length calculated by the inter-network address distance calculation unit 111 as the parent node. That is, in the example of FIG. 5, the parent node determination processing unit 110 may select the node NB as the parent node for the node NA. When there are a plurality of nodes having the maximum prefix match length corrected by the subnet determination / distance correction unit 115, for example, the parent node determination processing unit 110 randomly selects a parent using a random number or the like from these nodes. A node may be selected. Further, the parent node determination processing unit 110 may determine other parent nodes from candidate nodes having the same prefix match length in consideration of other information attached to the node information (for example, the processing capability of the node). good. In other words, in this case, the parent node determination processing unit 110 selects the node NE if the node NE has a margin of processing capability or the like rather than the node NB.
 以上のように、配信構成管理サーバ10(親ノード決定処理部110)では、各ノードのIPアドレス情報を用いることで、実際のスループット等の計測を行わずに、物理ネットワーク的により近いことが期待できる候補ノードを親ノードとして選択して配信ツリーを構築することができる。 As described above, the distribution configuration management server 10 (parent node determination processing unit 110) is expected to be closer to the physical network without measuring actual throughput or the like by using the IP address information of each node. A distribution tree can be constructed by selecting possible candidate nodes as parent nodes.
 次に、各受信ノード30内の動作について説明する。 Next, the operation within each receiving node 30 will be described.
 配信制御部304は、自身のIPアドレス情報を含むノード情報を、配信構成管理サーバ10の内の配信構成管理部11に通知する。 The distribution control unit 304 notifies the distribution configuration management unit 11 in the distribution configuration management server 10 of node information including its own IP address information.
 配信制御部304では、配信構成管理サーバ10(配信構成管理部11)から、通信制御に係る情報(例えば、親ノードや子ノードのネットワークアドレス情報の配信パスを定義する情報)が通知される。 In the distribution control unit 304, information related to communication control (for example, information defining a distribution path of network address information of a parent node or a child node) is notified from the distribution configuration management server 10 (distribution configuration management unit 11).
 配信制御部304は、親ノードと受信部301の間の通信路を確保して、受信部301による親ノードからの配信データの受信が開始される。 The distribution control unit 304 secures a communication path between the parent node and the receiving unit 301, and starts receiving the distribution data from the parent node by the receiving unit 301.
 受信データ処理部302は、受信した配信データに対して所定の処理(例えば、映像データの場合は表示したり、音声データの場合は再生したりする等の処理)を行う。 The reception data processing unit 302 performs predetermined processing (for example, processing for displaying in the case of video data or reproduction in the case of audio data) on the received distribution data.
 配信制御部304は、自身を親ノードとするような他の受信ノード30(子ノード)が存在することが配信構成管理サーバ10(配信構成管理部11)から通知されている場合、再送信部303から、自身の子ノードに対して配信データの再送信を行う。配信制御部304は、子ノードが存在しない場合は、再送信の制御は行わない。 When the distribution configuration management server 10 (distribution configuration management unit 11) notifies the distribution control unit 304 that there is another receiving node 30 (child node) having itself as a parent node, the retransmission control unit 304 From 303, the distribution data is retransmitted to its own child node. The distribution control unit 304 does not control retransmission when there is no child node.
 以上のような処理により、データ配信システム1では、アプリケーションマルチキャストを用いた配信データの配信が行われる。 Through the processing as described above, the data distribution system 1 distributes distribution data using application multicast.
 (A-3)実施形態の効果
 この実施形態によれば、以下のような効果を奏することができる。
(A-3) Effects of Embodiment According to this embodiment, the following effects can be obtained.
 この実施形態のデータ配信システム1では、アプリケーションマルチキャストを用いた情報の配信ツリーに、新規に参加する、あるいは、親ノードの離脱による配信ツリーの再構築の際に、配信元となる親ノードの選択が必要となった対象ノードに対して、物理的なネットワークトポロジー的に近い位置であることが期待できる親ノードを選定することができる。これにより、この実施形態のデータ配信システム1では、配信ツリーが非効率となってしまうという課題を軽減することが可能となる。 In the data distribution system 1 of this embodiment, the parent node to be a distribution source is selected when newly participating in the information distribution tree using application multicast or when the distribution tree is reconstructed by leaving the parent node. It is possible to select a parent node that can be expected to be close to the physical network topology with respect to the target node that needs to be. Thereby, in the data delivery system 1 of this embodiment, it becomes possible to reduce the subject that a delivery tree becomes inefficient.
 また、この実施形態のデータ配信システム1では、実際のスループットの計測等を行わずに選択が可能であるため、迅速に配信ツリーを構築でき、さらに、スループット計測等のための余分なトラフィックの発生量も低減することができる。 Further, in the data distribution system 1 of this embodiment, the selection can be made without actually measuring the throughput, so that a distribution tree can be quickly constructed, and extra traffic is generated for throughput measurement and the like. The amount can also be reduced.
 さらに、この実施形態のデータ配信システム1では、同一サブネット内に親ノードの候補が複数ある場合に、ランダムに選択したり、候補ノードの処理能力等を加味した選択を行うことにより、再接続等で接続されるノードが分散され、より効率的な配信ツリーを構築することが可能となる。 Furthermore, in the data distribution system 1 of this embodiment, when there are a plurality of candidates for the parent node in the same subnet, reconnection or the like is performed by selecting at random or taking into consideration the processing capability of the candidate node. Nodes connected in the network are distributed, and a more efficient distribution tree can be constructed.
 (B)他の実施形態
 本発明は、上記の実施形態に限定されるものではなく、以下に例示するような変形実施形態も挙げることができる。
(B) Other Embodiments The present invention is not limited to the above-described embodiments, and may include modified embodiments as exemplified below.
 (B-1)上記の実施形態のデータ配信システム1では、ネットワークアドレスとして、IPv4アドレスを用いる例を説明したが、IPv6アドレスでも同様にプレフィックス一致長を用いることによりIPアドレス間の距離を算出することが可能である。上記のデータ配信システム1において、IPv6ネットワークや、その他のネットワーク、IPv4とIPv6が混在するネットワークなど、様々なネットワーク上での配信システムにも適用可能である。 (B-1) In the data distribution system 1 of the above-described embodiment, the example in which the IPv4 address is used as the network address has been described. However, the distance between the IP addresses is similarly calculated using the prefix match length for the IPv6 address. It is possible. The above data distribution system 1 can also be applied to distribution systems on various networks such as an IPv6 network, other networks, and networks in which IPv4 and IPv6 are mixed.
 (B-2)上記の実施形態のデータ配信システム1において、実際に配信を開始してからの配信パスごとの配信データ送受信のスループット等の計測結果(通信履歴)に基づいて、動的に配信経路を更新していくような方法も併用するように構成してもよい。例えば、上記の実施形態の配信構成管理サーバ10において、スループットの出ていない配信パスから受信している受信ノード30を検出し、この受信ノード30を対象ノードとして、現在の親ノード(と対象ノードの子孫ノード)を除外した親ノード候補から上記と同様な選択を行うなどして動的に配信経路を更新する構成としてもよい。 (B-2) In the data distribution system 1 of the above-described embodiment, distribution is dynamically performed based on measurement results (communication history) such as throughput of transmission / reception of distribution data for each distribution path after actually starting distribution. You may comprise so that the method of updating a path | route may be used together. For example, in the distribution configuration management server 10 of the above embodiment, a receiving node 30 received from a distribution path that does not have a throughput is detected, and the current parent node (and target node) is set with this receiving node 30 as a target node. The distribution route may be dynamically updated by performing the same selection as described above from the parent node candidates excluding the descendant node).
 なお、通信制御装置、配信元ノード、及び受信ノードは、各々、ハードウェアのプロセッサであるCPU及びCPUに接続されているメモリを備え、通信制御装置は、メモリに記録されたプログラムをCPUにロードして実行することで、情報取得部、親ノード選択部、配信ツリー管理部、及び通信制御部として機能する。また、配信元ノードは、メモリに記録されたプログラムをCPUにロードして実行することで、配信データ送信部として機能し、受信ノードは、メモリに記録されたプログラムをCPUにロードして実行することで、配信データ送受信部として機能する。 Each of the communication control device, the distribution source node, and the reception node includes a CPU that is a hardware processor and a memory connected to the CPU, and the communication control device loads a program recorded in the memory to the CPU. As a result, it functions as an information acquisition unit, a parent node selection unit, a distribution tree management unit, and a communication control unit. Further, the distribution source node functions as a distribution data transmission unit by loading and executing the program recorded in the memory on the CPU, and the reception node loads and executes the program recorded in the memory on the CPU. Thus, it functions as a distribution data transmission / reception unit.
 なお、通信制御プログラム、配信処理プログラム、及び受信処理プログラムなどのプログラムは、DVD、HDD、SSDなどの非一時的記録媒体に記録され、非一時的記録媒体読み込み装置を介して、メモリに読み込まれてもよい。 Note that programs such as a communication control program, a distribution processing program, and a reception processing program are recorded on a non-temporary recording medium such as a DVD, HDD, or SSD, and are read into a memory via a non-temporary recording medium reading device. May be.
 本願は2018年5月30日出願の日本出願第2018-103856号の優先権を主張すると共に、その全文を参照により本明細書に援用する。 This application claims the priority of Japanese Patent Application No. 2018-103856 filed on May 30, 2018, the entire text of which is incorporated herein by reference.

Claims (23)

  1.  配信データの配信元である配信元ノードと、前記配信元ノードもしくは他の受信ノードから配信データを受信して所定の処理を行うと共に、受信した配信データを他の受信ノードに対して再配信することが可能な複数の受信ノードと、前記配信元ノードとそれぞれの前記受信ノードの通信を制御する通信制御装置と、を有するデータ配信システムであって、
     前記通信制御装置は、
      前記配信元ノードとそれぞれの前記受信ノードについて、IPアドレスを含むノード情報を取得するノード情報取得部と、
      それぞれの前記受信ノードに対して、前記配信元ノードと他の前記受信ノードから親ノードの候補となる候補ノードから、親ノードの選択対象となる前記受信ノードのIPアドレスと、それぞれの前記候補ノードのIPアドレスとで一致するビット長に応じて、前記候補ノードから親ノードの選択対象となる前記受信ノードの親ノードを選択する親ノード選択部と、
      前記親ノード選択部の選択に従って、前記配信元ノードと前記受信ノードにより構成される配信ツリーの構成を管理する配信ツリー管理部と、
      前記配信ツリー管理部が管理している前記配信ツリーの構成に従って、前記配信元ノード及びそれぞれの前記受信ノードの通信を制御する通信制御部と、
     を有し、
     それぞれの前記配信元ノードは、前記通信制御装置の通信制御に従って配信データの送信を行う配信データ送信部を有し、
     それぞれの前記受信ノードは、前記通信制御装置の制御に従って、配信データの送受信を行う配信データ送受信部を有する、
     データ配信システム。
    Receiving the distribution data from the distribution source node that is the distribution source of the distribution data and the distribution source node or another receiving node and performing predetermined processing, and redistributing the received distribution data to the other receiving nodes A data distribution system comprising: a plurality of receiving nodes capable of controlling communication between the distribution source node and each of the receiving nodes;
    The communication control device includes:
    A node information acquisition unit that acquires node information including an IP address for the distribution source node and each of the reception nodes;
    For each of the receiving nodes, from the candidate node that is a candidate for the parent node from the distribution source node and the other receiving nodes, the IP address of the receiving node that is a parent node selection target, and each of the candidate nodes A parent node selection unit that selects a parent node of the receiving node to be a parent node selection target from the candidate nodes according to a bit length that matches the IP address of
    A distribution tree management unit that manages a configuration of a distribution tree configured by the distribution source node and the reception node according to the selection of the parent node selection unit;
    In accordance with the configuration of the distribution tree managed by the distribution tree management unit, a communication control unit that controls communication between the distribution source node and each of the receiving nodes;
    Have
    Each of the distribution source nodes has a distribution data transmission unit that transmits distribution data in accordance with communication control of the communication control device,
    Each of the receiving nodes has a distribution data transmission / reception unit that transmits and receives distribution data according to the control of the communication control device.
    Data distribution system.
  2.  前記通信制御装置は、
     親ノードの選択対象となる前記受信ノードのIPアドレスと、それぞれの前記候補ノードのIPアドレスとのプレフィックス部分の一致長に応じて、親ノードの選択対象となる前記受信ノードとそれぞれの前記候補ノードとの間のネットワーク的な近さを示す距離を算出する距離計算部をさらに備え、
     前記親ノード選択部は、親ノードの選択対象となる前記受信ノードと前記距離計算部が計算した距離の最も近い前記候補ノードを、親ノードの選択対象となる前記受信ノードの親ノードとして選択する、
     請求項1に記載のデータ配信システム。
    The communication control device includes:
    The receiving node to be selected by the parent node and each of the candidate nodes according to the matching length of the prefix portion of the IP address of the receiving node to be selected by the parent node and the IP address of each candidate node A distance calculation unit for calculating a distance indicating a network proximity to
    The parent node selection unit selects, as a parent node of the receiving node that is a parent node selection target, the candidate node that is closest to the distance calculated by the distance calculation unit and the receiving node that is a parent node selection target. ,
    The data distribution system according to claim 1.
  3.  前記通信制御装置は、親ノードの選択対象となる前記受信ノードのIPアドレスと、それぞれの前記候補ノードのIPアドレスとのプレフィックス部分の一致長に応じて、それぞれの前記候補ノードについて親ノードの選択対象となる前記受信ノードと同一のサブネットワークに属するか否かを判断し、その判断結果に応じて前記距離計算部で計算した距離を補正する距離補正部、
     をさらに有する請求項2に記載のデータ
    配信システム。
    The communication control device selects a parent node for each candidate node according to a matching length of a prefix part between the IP address of the receiving node to be selected as a parent node and the IP address of each candidate node. A distance correcting unit that determines whether or not the target receiving node belongs to the same subnetwork and corrects the distance calculated by the distance calculating unit according to the determination result;
    The data distribution system according to claim 2, further comprising:
  4.  前記距離補正部は、親ノードの選択対象となる前記受信ノードのIPアドレスと、プレフィックス部分の一致長が所定以上の前記候補ノードの距離については、親ノードの選択対象となる前記受信ノードと同じサブネットワークに属すると判断して、当該サブネットワークのプレフィックス長さに応じた距離に補正する請求項3に記載のデータ配信システム。 The distance correction unit has the same IP address of the receiving node as a selection target of the parent node and the distance between the candidate nodes having a prefix portion matching length equal to or larger than a predetermined length as the receiving node as a selection target of the parent node. 4. The data distribution system according to claim 3, wherein the data distribution system is determined to belong to a subnetwork and is corrected to a distance corresponding to the prefix length of the subnetwork.
  5.  前記親ノード選択部は、少なくとも、ツリー分岐数が所定の第1の閾値以上の前記候補ノード、又は前記配信元ノードからの前記配信ツリーの深さが第2の閾値以上のいずれかの条件に該当する前記候補ノードを親ノードとして選択しない請求項1~請求項4のいずれか1項に記載のデータ配信システム。 The parent node selection unit may satisfy at least one of the conditions in which the number of tree branches is equal to or greater than a predetermined first threshold or the depth of the distribution tree from the distribution source node is equal to or greater than a second threshold. The data distribution system according to any one of claims 1 to 4, wherein the corresponding candidate node is not selected as a parent node.
  6.  前記ノード情報取得部が取得するノード情報には、付帯情報が含まれており、
     前記親ノード選択部は、それぞれの前記候補ノードの付帯情報も考慮して親ノードを選択する、
     請求項1~請求項5のいずれか1項に記載のデータ配信システム。
    The node information acquired by the node information acquisition unit includes incidental information,
    The parent node selection unit selects a parent node in consideration of incidental information of each candidate node;
    The data distribution system according to any one of claims 1 to 5.
  7.  前記親ノード選択部は、距離が最小となる前記候補ノードが複数存在する場合には、付帯情報も考慮して親ノードを選択する請求項6に記載のデータ配信システム。 The data distribution system according to claim 6, wherein, when there are a plurality of candidate nodes having a minimum distance, the parent node selection unit selects a parent node in consideration of incidental information.
  8.  前記ノード情報取得部は、付帯情報として、少なくとも、前記配信元ノード及びそれぞれの前記受信ノードの処理能力を示す処理能力情報を取得する請求項6又は請求項7に記載のデータ配信システム。 The data distribution system according to claim 6 or 7, wherein the node information acquisition unit acquires, as incidental information, at least processing capability information indicating processing capability of the distribution source node and each of the receiving nodes.
  9.  前記親ノード選択部は、距離が最小となる前記候補ノードが複数存在する場合には、距離が最小となる前記候補ノードからランダムに親ノードを選択する請求項3又は請求項4に記載のデータ配信システム。 The data according to claim 3 or 4, wherein, when there are a plurality of candidate nodes having a minimum distance, the parent node selection unit randomly selects a parent node from the candidate nodes having a minimum distance. Distribution system.
  10.  前記親ノード選択部は、全ての前記受信ノードについて親ノードを選択した後、前記配信ツリーの配信パスごとの通信履歴に基づいて、それぞれの前記受信ノードの親ノードを変更する請求項1~請求項9のいずれか1項に記載のデータ配信システム。 The parent node selection unit, after selecting a parent node for all the receiving nodes, changes a parent node of each receiving node based on a communication history for each distribution path of the distribution tree. Item 10. The data distribution system according to any one of Items 9 to 9.
  11.  前記親ノード選択部は、全ての前記受信ノードについて親ノードを選択した後、前記配信ツリーの配信パスごとの通信履歴に基づいて、経路変更の必要な配信パスを検出し、前記経路変更の必要な配信パスの下位側の前記受信ノードについて、前記候補ノードから現在の親ノード及び子孫ノードを除外して親ノードを選択する請求項10に記載のデータ配信システム。 The parent node selection unit, after selecting a parent node for all the receiving nodes, detects a distribution path that requires a path change based on a communication history for each distribution path of the distribution tree, and needs to change the path The data delivery system according to claim 10, wherein a parent node is selected by excluding a current parent node and a descendant node from the candidate nodes for the receiving node on a lower side of a simple delivery path.
  12.  前記配信元ノード及びそれぞれの前記受信ノードは、自装置のIPアドレスを含むノード情報を前記通信制御装置に送信する請求項1~請求項11のいずれか1項に記載のデータ配信システム。 The data distribution system according to any one of claims 1 to 11, wherein the distribution source node and each of the reception nodes transmit node information including an IP address of the own apparatus to the communication control apparatus.
  13.  前記通信制御装置は、前記配信ツリー管理部で管理されている前記配信ツリーの構成に基づき、前記配信元ノード及びそれぞれの前記受信ノードに子ノードの情報を通知する通信制御部を有し、
     前記配信元ノードは、前記通信制御装置から通知される子ノードに対応する前記受信ノードに対して、配信データを送信し
     それぞれの前記受信ノードは、前記通信制御装置から通知される子ノードに対応する前記受信ノードに対して、親ノードから受信した配信データを送信する、
     請求項12に記載のデータ配信システム。
    The communication control device has a communication control unit that notifies child node information to the distribution source node and each of the reception nodes based on the configuration of the distribution tree managed by the distribution tree management unit,
    The distribution source node transmits distribution data to the receiving node corresponding to the child node notified from the communication control device, and each of the receiving nodes corresponds to the child node notified from the communication control device. The distribution data received from the parent node is transmitted to the receiving node.
    The data distribution system according to claim 12.
  14.  前記親ノード選択部は、前記配信ツリーに参加している前記受信ノードが離脱した場合、離脱した前記受信ノードから直接配信データを受信していた受信ノードに対して、新たな親ノードを選択する処理を行う請求項1~請求項13のいずれか1項に記載のデータ配信システム。 When the receiving node participating in the distribution tree leaves, the parent node selection unit selects a new parent node with respect to the receiving node that has received distribution data directly from the leaving receiving node The data distribution system according to any one of claims 1 to 13, wherein the processing is performed.
  15.  前記親ノード選択部は、前記配信ツリーに参加している前記受信ノードが離脱した場合、離脱した前記受信ノードの子ノードを含む子孫ノードについても新たな親ノードを選択する処理を行う請求項14に記載のデータ配信システム。 The parent node selection unit, when the receiving node participating in the distribution tree leaves, performs a process of selecting a new parent node for descendant nodes including child nodes of the leaving receiving node. The data distribution system described in 1.
  16.  当該データ配信システムは、複数の前記配信元ノードを備え、
     前記親ノード選択部は、それぞれの前記受信ノードについて、ノード情報に含まれる配信を受けたい配信データを特定する特定情報に応じた前記配信元ノードを起点とする前記配信ツリーを選択し、それぞれの前記受信ノードについて選択した前記配信ツリーから親ノードを選択し、
     前記配信ツリー管理部は、それぞれの前記配信元ノードを起点とする複数の前記配信ツリーを管理する、
     請求項1~請求項15のいずれか1項に記載のデータ配信システム。
    The data distribution system includes a plurality of the distribution source nodes,
    The parent node selection unit selects, for each of the receiving nodes, the distribution tree starting from the distribution source node corresponding to specific information for specifying distribution data to be distributed included in node information, Selecting a parent node from the delivery tree selected for the receiving node;
    The distribution tree management unit manages a plurality of the distribution trees starting from each of the distribution source nodes.
    The data distribution system according to any one of claims 1 to 15.
  17.  配信データの配信元である配信元ノードと、前記配信元ノードもしくは他の受信ノードから配信データを受信して所定の処理を行うと共に、受信した配信データを他の受信ノードに対して再配信することが可能な複数の受信ノードと、前記配信元ノードとそれぞれの前記受信ノードの通信を制御する通信制御装置とを有するデータ配信システムのデータ配信方法であって、
     前記通信制御装置は、ノード情報取得部、親ノード選択部、配信ツリー管理部、及び通信制御部を有し、
     前記配信元ノードは、配信データ送信部を有し、
     それぞれの前記受信ノードは、配信データ送受信部を有し、
     前記ノード情報取得部は、前記配信元ノードとそれぞれの前記受信ノードについて、IPアドレスを含むノード情報を取得し、
     前記親ノード選択部は、それぞれの前記受信ノードに対して、前記配信元ノードと他の前記受信ノードから親ノードの候補となる候補ノードから、親ノードの選択対象となる前記受信ノードのIPアドレスと、それぞれの前記候補ノードのIPアドレスとで一致するビット長に応じて、前記候補ノードから親ノードの選択対象となる前記受信ノードの親ノードを選択し、
     前記配信ツリー管理部は、前記親ノード選択部の選択に従って、前記配信元ノードと前記受信ノードにより構成される配信ツリーの構成を管理し、
     前記通信制御部は、前記配信ツリー管理部が管理している前記配信ツリーの構成に従って、前記配信元ノード及びそれぞれの前記受信ノードの通信を制御し、
     前記配信データ送信部は、前記通信制御装置の通信制御に従って配信データの送信を行い、
     前記配信データ送受信部は、前記通信制御装置の制御に従って、配信データの送受信を行う
     データ配信方法。
    The distribution source node that is the distribution source of the distribution data and the distribution data are received from the distribution source node or another receiving node, and predetermined processing is performed, and the received distribution data is redistributed to other receiving nodes. A data distribution method for a data distribution system, comprising: a plurality of receiving nodes, and a communication control device that controls communication between the distribution source node and each of the receiving nodes,
    The communication control device includes a node information acquisition unit, a parent node selection unit, a distribution tree management unit, and a communication control unit,
    The distribution source node has a distribution data transmission unit,
    Each of the receiving nodes has a distribution data transmission / reception unit,
    The node information acquisition unit acquires node information including an IP address for the distribution source node and each of the receiving nodes,
    The parent node selection unit, for each of the receiving nodes, from the candidate nodes that are candidates for the parent node from the distribution source node and the other receiving nodes, the IP address of the receiving node that is a parent node selection target And selecting a parent node of the receiving node to be a parent node selection target from the candidate node according to a bit length that matches with the IP address of each of the candidate nodes,
    The distribution tree management unit manages a configuration of a distribution tree configured by the distribution source node and the reception node according to the selection of the parent node selection unit,
    The communication control unit controls communication of the distribution source node and each of the receiving nodes according to the configuration of the distribution tree managed by the distribution tree management unit,
    The distribution data transmitting unit transmits distribution data according to communication control of the communication control device,
    The distribution data transmission / reception unit is a data distribution method for transmitting / receiving distribution data according to control of the communication control device.
  18.  配信データの配信元である配信元ノードと、前記配信元ノードもしくは他の受信ノードから配信データを受信して所定の処理を行うと共に、受信した配信データを他の受信ノードに対して再配信することが可能な複数の受信ノードにより構成される配信ツリーの制御を行う通信制御装置であって、
     前記配信元ノードとそれぞれの前記受信ノードについて、IPアドレスを含むノード情報を取得するノード情報取得部と、
     それぞれの前記受信ノードに対して、前記配信元ノードと他の前記受信ノードから親ノードの候補となる候補ノードから、親ノードの選択対象となる前記受信ノードのIPアドレスと、それぞれの前記候補ノードのIPアドレスとで一致するビット長に応じて、前記候補ノードから親ノードの選択対象となる前記受信ノードの親ノードを選択する親ノード選択部と、
     前記親ノード選択部の選択に従って、前記配信元ノードと前記受信ノードにより構成される配信ツリーの構成を管理する配信ツリー管理部と、
     を有する通信制御装置。
    The distribution source node that is the distribution source of the distribution data and the distribution data are received from the distribution source node or another receiving node, and predetermined processing is performed, and the received distribution data is redistributed to other receiving nodes. A communication control device for controlling a distribution tree composed of a plurality of receiving nodes capable of
    A node information acquisition unit that acquires node information including an IP address for the distribution source node and each of the reception nodes;
    For each of the receiving nodes, from the candidate node that is a candidate for the parent node from the distribution source node and the other receiving nodes, the IP address of the receiving node that is a parent node selection target, and each of the candidate nodes A parent node selection unit that selects a parent node of the receiving node to be a parent node selection target from the candidate nodes according to a bit length that matches the IP address of
    A distribution tree management unit that manages a configuration of a distribution tree configured by the distribution source node and the reception node according to the selection of the parent node selection unit;
    A communication control device.
  19.  配信データの配信元である配信元ノードと、前記配信元ノードもしくは他の受信ノードから配信データを受信して所定の処理を行うと共に、受信した配信データを他の受信ノードに対して再配信することが可能な複数の受信ノードにより構成される配信ツリーの制御を行う通信制御装置に搭載されたコンピュータに、
     前記配信元ノードとそれぞれの前記受信ノードについて、IPアドレスを含むノード情報を取得し、
     それぞれの前記受信ノードに対して、前記配信元ノードと他の前記受信ノードから親ノードの候補となる候補ノードから、親ノードの選択対象となる前記受信ノードのIPアドレスと、それぞれの前記候補ノードのIPアドレスとで一致するビット長に応じて、前記候補ノードから親ノードの選択対象となる前記受信ノードの親ノードを選択し、
     前記選択に従って、前記配信元ノードと前記受信ノードにより構成される配信ツリーの構成を管理する、
     通信制御処理を実行させる通信制御プログラム。
    Receiving the distribution data from the distribution source node that is the distribution source of the distribution data and the distribution source node or another receiving node and performing predetermined processing, and redistributing the received distribution data to the other receiving nodes In a computer mounted on a communication control device that controls a distribution tree composed of a plurality of receiving nodes capable of
    For the distribution source node and each of the receiving nodes, obtain node information including an IP address;
    For each of the receiving nodes, from the candidate node that is a candidate for the parent node from the distribution source node and the other receiving nodes, the IP address of the receiving node that is a parent node selection target, and each of the candidate nodes A parent node of the receiving node to be a parent node selection target from the candidate nodes, according to the bit length that matches with the IP address of
    Managing a configuration of a distribution tree configured by the distribution source node and the reception node according to the selection;
    A communication control program that executes communication control processing.
  20.  請求項18に記載の通信制御装置の通信制御に従って配信データの送信を行う配信データ送信部を有する配信元ノード。 A distribution source node having a distribution data transmission unit that transmits distribution data in accordance with communication control of the communication control device according to claim 18.
  21.  配信元ノードに搭載されたコンピュータに、
      請求項18に記載の通信制御装置の通信制御に従って配信データを送信する配信処理を実行させる配信処理プログラム。
    On the computer installed in the distribution source node,
    A distribution processing program for executing distribution processing for transmitting distribution data in accordance with communication control of the communication control device according to claim 18.
  22.  請求項18に記載の通信制御装置の通信制御に従って配信データの送受信を行う配信データ送受信部を有する受信ノード。 A reception node having a distribution data transmission / reception unit that transmits and receives distribution data according to communication control of the communication control device according to claim 18.
  23.  受信ノードに搭載されたコンピュータに、
     請求項18に記載の通信制御装置の通信制御に従って配信データの送受信を行う送受信処理を実行させる受信処理プログラム。
    On the computer installed in the receiving node,
    A reception processing program for executing transmission / reception processing for transmitting / receiving distribution data in accordance with communication control of the communication control device according to claim 18.
PCT/JP2019/019142 2018-05-30 2019-05-14 Data distribution system, data distribution method, communication control device, communication control program, distributor node, distribution processing program, receiving node, and receiving processing program WO2019230375A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018-103856 2018-05-30
JP2018103856A JP7091847B2 (en) 2018-05-30 2018-05-30 Data distribution system, data distribution method, communication control device, communication control program, distribution source node, distribution processing program, receiving node, and receiving processing program

Publications (1)

Publication Number Publication Date
WO2019230375A1 true WO2019230375A1 (en) 2019-12-05

Family

ID=68698754

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/019142 WO2019230375A1 (en) 2018-05-30 2019-05-14 Data distribution system, data distribution method, communication control device, communication control program, distributor node, distribution processing program, receiving node, and receiving processing program

Country Status (2)

Country Link
JP (1) JP7091847B2 (en)
WO (1) WO2019230375A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006041784A (en) * 2004-07-26 2006-02-09 Brother Ind Ltd Connector mode setter and setting method, connection mode controller and controlling method
JP2006099296A (en) * 2004-09-29 2006-04-13 Nec Corp Translation system, translation communication system, machine translation method and program
CN1968164A (en) * 2005-11-17 2007-05-23 中国科学院计算技术研究所 Global Internet topology knowledge-based P2P application construction method
JP2007235681A (en) * 2006-03-02 2007-09-13 Nec Corp Distribution tree configuration apparatus, distribution tree configuration method and program for distribution tree configuration
JP2010191746A (en) * 2009-02-19 2010-09-02 Nippon Hoso Kyokai <Nhk> User terminal, user terminal program, and connection switching method for distribution tree

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006041784A (en) * 2004-07-26 2006-02-09 Brother Ind Ltd Connector mode setter and setting method, connection mode controller and controlling method
JP2006099296A (en) * 2004-09-29 2006-04-13 Nec Corp Translation system, translation communication system, machine translation method and program
CN1968164A (en) * 2005-11-17 2007-05-23 中国科学院计算技术研究所 Global Internet topology knowledge-based P2P application construction method
JP2007235681A (en) * 2006-03-02 2007-09-13 Nec Corp Distribution tree configuration apparatus, distribution tree configuration method and program for distribution tree configuration
JP2010191746A (en) * 2009-02-19 2010-09-02 Nippon Hoso Kyokai <Nhk> User terminal, user terminal program, and connection switching method for distribution tree

Also Published As

Publication number Publication date
JP2019207644A (en) 2019-12-05
JP7091847B2 (en) 2022-06-28

Similar Documents

Publication Publication Date Title
CN112840332B (en) Independent data storage in a network routing environment
US10708856B2 (en) Gateway advertisement in a wireless mesh
KR101607879B1 (en) Adaptive multi-interface use for content networking
Peng CDN: Content distribution network
JP4037759B2 (en) Method and system for multi-host anycast routing
US9385949B2 (en) Routing controlled by subnet managers
RU2400806C2 (en) Organisation of mating requests for resource with according resources
US8385230B2 (en) Automatic network address assignment in a wireless mesh
US10255621B2 (en) Services advertisement in a wireless mesh
JP2013537765A (en) Processing method, proxy processing agent, system and method for filling routing table of DHT client node, router, and DHT client node
JP2016111703A (en) Content arrangement in information centric network
WO2018161795A1 (en) Routing priority configuration method, device, and controller
US8332463B2 (en) Distributed storage system, connection information notifying method, and recording medium in which distributed storage program is recorded
JP5716745B2 (en) Data transfer system
WO2019230375A1 (en) Data distribution system, data distribution method, communication control device, communication control program, distributor node, distribution processing program, receiving node, and receiving processing program
JP2006174399A (en) Communication method in group, system and recording medium
JP7094086B2 (en) Distribution configuration management device, distribution configuration management program, and information distribution system
US9391799B2 (en) Multicast handling in a transparent interconnect of lots of links based data center interconnect
JP5803924B2 (en) Data transfer system
JP4432626B2 (en) Multicast tree construction system and method, network node device, and server device
RU2636403C1 (en) Method for selecting routes received from dhcp protocol in packet-switched network
Perez Aruni Applying named data networking in mobile ad hoc networks
Azgin et al. Hash-based overlay routing architecture for information centric networks
JP2004064379A (en) Router and program
Singh Algorithms for Reliability in Large Scale Structured and Unstructured Peer-to-Peer Overlay Multicast Networks for Live Streaming

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19811915

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19811915

Country of ref document: EP

Kind code of ref document: A1