WO2019230375A1 - データ配信システム、データ配信方法、通信制御装置、通信制御プログラム、配信元ノード、配信処理プログラム、受信ノード、及び受信処理プログラム - Google Patents

データ配信システム、データ配信方法、通信制御装置、通信制御プログラム、配信元ノード、配信処理プログラム、受信ノード、及び受信処理プログラム 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
Legal status (The legal status 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 status listed.)
Ceased
Application number
PCT/JP2019/019142
Other languages
English (en)
French (fr)
Inventor
中川 聰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co Ltd
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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Publication of WO2019230375A1 publication Critical patent/WO2019230375A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00—Interconnection 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

配信データの配信元である配信元ノードと、配信元ノードもしくは他の受信ノードから配信データを受信して所定の処理を行い、受信した配信データを他の受信ノードに対して再配信することが可能な複数の受信ノードと、配信元ノードとそれぞれの受信ノードの通信を制御する通信制御装置と、を有するデータ配信システム。通信制御装置は、親ノード選択部の選択に従って、配信元ノードと受信ノードにより構成される配信ツリーの構成を管理する配信ツリー管理部と、配信ツリー管理部が管理している配信ツリーの構成に従って、配信元ノード及びそれぞれの受信ノードの通信を制御する通信制御部と、を有し、それぞれの配信元ノードは、通信制御装置の通信制御に従って配信データの送信を行う配信データ送信部を有し、それぞれの受信ノードは、通信制御装置の制御に従って、配信データの送受信を行う配信データ送受信部を有する。

Description

データ配信システム、データ配信方法、通信制御装置、通信制御プログラム、配信元ノード、配信処理プログラム、受信ノード、及び受信処理プログラム
 本開示は、データ配信システム、データ配信方法、通信制御装置、通信制御プログラム、配信元ノード、配信処理プログラム、受信ノード、及び受信処理プログラムに関し、例えば、映像情報や音声情報等のマルチメディアデータを配信元から複数ユーザへ配信するシステムに適用し得る。
 近年、情報通信技術の発達により、遠隔の離れた場所にいる者同士があたかも同じ場所にいるかのようにコミュニケーションしたり、共同作業を行ったりする技術が注目されている。複数の映像や音声等の情報を、複数の場所や複数のユーザに配信することによりこれら遠隔の複数者間のコミュニケーションを実現している。映像や音声等のデータを複数のユーザに配信する場合、ビデオカメラ等の映像ソースや、マイク等の音声ソースからのマルチメディアデータを持つ配信元から、これらのデータを要求するユーザに対してIPパケット等を用いたユニキャスト通信で配信する方法が用いられる。
 このようなユニキャスト通信では、同じデータを要求するユーザ数が増加すると、配信サーバでは、ユーザ数に応じたユニキャスト通信路の数だけ同じデータを複製して配信するため、ネットワークの帯域幅を浪費して十分な数のユーザに配信できないという問題がある(図6参照)。また、ユニキャスト通信ではなくマルチキャスト通信を用いてデータの複製を配信経路の途中のルータで行うことによりネットワーク帯域の浪費を防止する方法もあるが、経路上のすべてのルータがマルチキャスト通信に対応する必要があり、一般には普及していない(図7参照)。
 上述のような問題への対策として、アプリケーションレベルマルチキャストと呼ばれる技術が知られている。アプリケーションマルチキャストとは、配信を受けているユーザ(ユーザコンピュータ)が中継ノードとなり、さらに別のユーザに対して再配信することにより、ユーザ間のアプリケーションのみで多数のユーザへのマルチキャストを実現する方法である(図8参照)。
 アプリケーションレベルマルチキャストを用いてデータ配信するシステムでは、配信経路をいかに構築するかがシステム全体の配信性能に大きく影響する。
 特開2007-235681号公報では、アプリケーションレベルマルチキャストを用いてデータ配信を行う配信ツリーを、配信パスのスループット等を計測することによって、状況に応じて配信ツリーを切り替えていく方法が開示されている。また、アプリケーションマルチキャストを用いたデータ配信システムにおいて、初期の配信ツリーの構築方法としては、例えば、新規のノードと各ノードとのネットワーク遅延に基づく計測結果を用いる方法が挙げられる。特開2007-235681号公報では、過去のスループットの記憶から推定して、実際のスループット等の計測結果に基づき配信ツリーを構築する方法が開示されている。
 しかしながら、アプリケーションマルチキャストを用いたデータ配信システムでは、実際のルータなどの物理的なネットワーク構成を把握しない状態で、スループットの計測結果などが得られていない新規のノードを配信ツリーに参加させる場合は、ランダムに配信可能なノードを新規ノードの親ノードとして選出するなどにより配信ツリーを構築するしかない。したがって、アプリケーションマルチキャストを用いたデータ配信システムでは、十分な計測結果が得られるまでは非効率な配信ツリーとなってしまうなどの問題があった。
 また、アプリケーションマルチキャストを用いたデータ配信システムでは、実際の配信データ以外のデータをスループット等の計測の目的で多数のノードと送受信することは好ましくない。特に、アプリケーションマルチキャストを用いたデータ配信システムでは、リアルタイムの映像配信など、計測結果が収集できるよりも早期に配信ツリーに参加させたい場合や、配信を受けていた親ノードが離脱してしまった場合に迅速に配信ツリーを再構築することができない虞がある。
 そのため、配信データの配信元となる配信元ノードと、配信データの配信を受ける複数の受信ノードにより構成される配信ツリーをより効率的に構築することができるデータ配信システム、データ配信方法、通信制御装置、通信制御プログラム、配信元ノード、配信処理プログラム、受信ノード、及び受信処理プログラムが望まれている。
 第1の態様は、配信データの配信元である配信元ノードと、前記配信元ノードもしくは他の受信ノードから配信データを受信して所定の処理を行うと共に、受信した配信データを他の受信ノードに対して再配信することが可能な複数の受信ノードと、前記配信元ノードとそれぞれの前記受信ノードの通信を制御する通信制御装置とを有するデータ配信システムにおいて、(1)前記通信制御装置は、(1-1)前記配信元ノードとそれぞれの前記受信ノードについて、IPアドレスを含むノード情報を取得するノード情報取得部と、(1-2)それぞれの前記受信ノードに対して、前記配信元ノードと他の前記受信ノードから親ノードの候補となる候補ノードから、親ノードの選択対象となる前記受信ノードのIPアドレスと、それぞれの前記候補ノードのIPアドレスとで一致するビット長に応じて、前記候補ノードから親ノードの選択対象となる前記受信ノードの親ノードを選択する親ノード選択部と、(1-3)前記親ノード選択部の決定に従って、前記配信元ノードと前記受信ノードにより構成される配信ツリーの構成を管理する配信ツリー管理部と、(1-4)前記配信ツリー管理部が管理している前記配信ツリーの構成に従って、前記配信元ノード及びそれぞれの前記受信ノードの通信を制御する通信制御部とを有し、(2)それぞれの前記配信元ノードは、前記通信制御装置の通信制御に従って配信データの送信を行う配信データ送信部を有し、(3)それぞれの前記受信ノードは、前記通信制御装置の制御に従って、配信データの送受信を行う配信データ送受信部を有する。
 第2の態様は、配信データの配信元である配信元ノードと、前記配信元ノードもしくは他の受信ノードから配信データを受信して所定の処理を行うと共に、受信した配信データを他の受信ノードに対して再配信することが可能な複数の受信ノードと、前記配信元ノードとそれぞれの前記受信ノードの通信を制御する通信制御装置とを有するデータ配信システムのデータ配信方法において、(1)前記通信制御装置は、ノード情報取得部、親ノード選択部、配信ツリー管理部、及び通信制御部を有し、(2)前記配信元ノードは、配信データ送信部を有し、(3)それぞれの前記受信ノードは、配信データ送受信部を有し、(4)前記ノード情報取得部は、前記配信元ノードとそれぞれの前記受信ノードについて、IPアドレスを含むノード情報を取得し、(5)前記親ノード選択部は、それぞれの前記受信ノードに対して、前記配信元ノードと他の前記受信ノードから親ノードの候補となる候補ノードから、親ノードの選択対象となる前記受信ノードのIPアドレスと、それぞれの前記候補ノードのIPアドレスとで一致するビット長に応じて、前記候補ノードから親ノードの選択対象となる前記受信ノードの親ノードを選択し、(6)前記配信ツリー管理部は、前記親ノード選択部の決定に従って、前記配信元ノードと前記受信ノードにより構成される配信ツリーの構成を管理し、(7)前記通信制御部は、前記配信ツリー管理部が管理している前記配信ツリーの構成に従って、前記配信元ノード及びそれぞれの前記受信ノードの通信を制御し、(8)前記配信データ送信部は、前記通信制御装置の通信制御に従って配信データの送信を行い、(9)前記配信データ送受信部は、前記通信制御装置の制御に従って、配信データの送受信を行う。
 第3の態様は、配信データの配信元である配信元ノードと、前記配信元ノードもしくは他の受信ノードから配信データを受信して所定の処理を行うと共に、受信した配信データを他の受信ノードに対して再配信することが可能な複数の受信ノードにより構成される配信ツリーの制御を行う通信制御装置において、(1)前記配信元ノードとそれぞれの前記受信ノードについて、IPアドレスを含むノード情報を取得するノード情報取得部と、(2)それぞれの前記受信ノードに対して、前記配信元ノードと他の前記受信ノードから親ノードの候補となる候補ノードから、親ノードの選択対象となる前記受信ノードのIPアドレスと、それぞれの前記候補ノードのIPアドレスとで一致するビット長に応じて、前記候補ノードから親ノードの選択対象となる前記受信ノードの親ノードを選択する親ノード選択部と、(4)前記親ノード選択部の決定に従って、前記配信元ノードと前記受信ノードにより構成される配信ツリーの構成を管理する配信ツリー管理部とを有する。
 第4の態様の通信制御プログラムは、配信データの配信元である配信元ノードと、前記配信元ノードもしくは他の受信ノードから配信データを受信して所定の処理を行うと共に、受信した配信データを他の受信ノードに対して再配信することが可能な複数の受信ノードにより構成される配信ツリーの制御を行う通信制御装置に搭載されたコンピュータに、(1)前記配信元ノードとそれぞれの前記受信ノードについて、IPアドレスを含むノード情報を取得し、(2)それぞれの前記受信ノードに対して、前記配信元ノードと他の前記受信ノードから親ノードの候補となる候補ノードから、親ノードの選択対象となる前記受信ノードのIPアドレスと、それぞれの前記候補ノードのIPアドレスとで一致するビット長に応じて、前記候補ノードから親ノードの選択対象となる前記受信ノードの親ノードを選択し、(3)前記選択に従って、前記配信元ノードと前記受信ノードにより構成される配信ツリーの構成を管理する、処理を実行させる。
 第5の態様の配信元ノードは、第2の態様の通信制御装置の通信制御に従って配信データの送信を行う配信データ送信部を有する。
 第6の態様の配信処理プログラムは、配信元ノードに搭載されたコンピュータに、第2の態様の通信制御装置の通信制御に従って配信データを送信する処理を実行させる。
 第7の態様の受信ノードは、第2の態様の通信制御装置の通信制御に従って配信データの送受信を行う配信データ送受信部を有する。
 第8の態様の受信処理プログラムは、受信ノードに搭載されたコンピュータに、第2の態様の通信制御装置の通信制御に従って配信データの送受信を行う処理を実行させる。
 本開示によれば、配信データの配信元となる配信元ノードと、配信データの配信を受ける複数の受信ノードにより構成される配信ツリーをより効率的に構築することができる。
実施形態に係る配信構成管理サーバの機能的構成について示したブロック図である。 実施形態に係るデータ配信システムの全体構成の例について示したブロック図である。 実施形態に係る受信ノードの機能的構成について示したブロック図である。 実施形態に係る配信元ノードの機能的構成について示したブロック図である。 実施形態に係るデータ配信システムを構成するネットワークの物理構成及びIPアドレス構成の例について示した説明図である。 関連技術のユニキャストによるデータ配信の例について示した説明図である。 関連技術のマルチキャストによるデータ配信の例について示した説明図である。 関連技術のアプリケーションレベルマルチキャストによるデータ配信の例について示した説明図である。
 (A)主たる実施形態
 以下、本開示によるデータ配信システム、データ配信方法、通信制御装置、通信制御プログラム、配信元ノード、配信処理プログラム、受信ノード、及び受信処理プログラムの一実施形態を、図面を参照しながら詳述する。以下では、本開示の通信制御装置及び通信制御プログラムを、配信構成管理サーバに適用した例について説明する。
 (A-1)実施形態の構成
 図2は、この実施形態のデータ配信システム1の全体構成(論理的な接続構成)を示すブロック図である。
 図2に示すように、データ配信システム1には、配信構成管理サーバ10、配信元ノード20、及び5つの受信ノード30(30-1~30-5)が配置されている。なお、データ配信システム1において、配置される各装置の数は限定されない。また、データ配信システム1において、各装置間の接続手段(ネットワーク構成)については限定されない。例えば、インターネット、広域LAN、無線IPネットワーク等を適用することができる。
 配信構成管理サーバ10は、配信元ノード20と各受信ノード30により形成される配信ツリーの構成を管理する装置である。
 配信元ノード20は、各受信ノード30に配信するデータ(以下、「配信データ」とも呼ぶ)の配信元となる装置である。配信データの内容や形式は限定されないが、例えば、映像や音声等のコンテンツデータ(例えば、ファイル形式の映像データに基づいてストリーミング形式に変換されたデータ)や、ビデオカメラ等の映像ソースからの映像データや、マイク等の音声ソースからの音響データ等のマルチメディアデータ(マルチメディア情報)が挙げられる。また、配信データは、例えば、映像や音声データ以外に文書やプレゼンテーション等のデータとしてもよい。配信元ノード20は、配信構成管理サーバ10の制御に応じて、複数の受信ノード30の内、配信ツリー上の子ノード(直接の配信先となる受信ノード30)に対して配信データの送信を行う。
 受信ノード30は、配信構成管理サーバ10の制御に応じて、親ノード(配信元ノード20もしくは他の受信ノード30)から配信データを受信して所定の処理(例えば、ディスプレイやスピーカ等を用いた出力処理)を行うと共に、受信した配信データを子ノード(他の受信ノード30)に対して再配信する装置である。
 配信構成管理サーバ10は、配信元ノード20と受信ノード30の間の配信ツリーの構成を管理し、新規の受信ノード30の参加の場合や、受信ノード30の離脱に伴う配信ツリーの再構成の際に、配信元ノード20や受信ノード30に対して通信制御(例えば、配信ツリーの構成指示等)を行う。
 なお、配信元ノード20は複数存在してもよく、配信構成管理サーバ10では配信ツリーをそれぞれの配信元ごとに管理するようにしてもよい。例えば、複数の拠点にそれぞれ配信元ノード20を配置し、複数拠点間で双方向にデータを配信しあうことでコミュニケーションを実現するような構成としてもよい。
 次に、配信構成管理サーバ10の内部構成について図1を用いて説明する。
 図1は、配信構成管理サーバ10の機能的構成について示したブロック図である。
 配信構成管理サーバ10は、少なくとも配信元ノード20を起点とする配信ツリーの構成を管理する配信構成管理部11を有している。また、配信構成管理部11は、親ノード決定処理部110、対象ノード情報取得部120、及び情報送信部130を有している。
 配信構成管理サーバ10は、例えば、PCやワークステーション等のコンピュータにプログラム(実施形態に係る通信制御プログラムを含む)をインストールすることにより構成するようにしてもよい。
 親ノード決定処理部110は、配信ツリーの構成時/再構成時に、各受信ノード30の親ノード(配信データを直接受信するノード)を決定する処理を行う。
 対象ノード情報取得部120は、親ノードを決定する対象となる受信ノード30(以下、「対象ノード」とも呼ぶ)に関する情報(以下、「ノード情報」と呼ぶ)を取得する処理を行う。
 情報送信部130は、各受信ノード30に対して、親ノード決定処理部110で決定した親ノードに関する情報(以下、「親ノード情報」とも呼ぶ)に基づいた通信制御処理(親ノード情報に対応する配信パス(親ノードと子ノードの組)を設定する通信制御処理)を行う。例えば、情報送信部130は、その親ノード情報における対象ノード(子ノード)に、親ノードに関する情報(例えば、ネットワークアドレスを含む情報)を送信し、その親ノード情報における親ノード(対象ノードの親ノード)に、子ノード(対象ノード)に関する情報(例えば、ネットワークアドレスを含む情報)を送信することにより、配信パスを設定するようにしてもよい。以上のように、情報送信部130により、配信元ノード20及び各受信ノード30の通信制御が行われ、配信ツリーの構成/再構成が行われる。
 次に、親ノード決定処理部110の内部構成について説明する。
 親ノード決定処理部110は、ネットワークアドレス間距離計算部111、親ノード選択部112、配信ツリー記憶部113、親ノード候補生成部114、及びサブネット判定・距離補正部115を有している。
 配信ツリー記憶部113は、配信ツリーを構成する各ノード(配信元ノード20及び各受信ノード30)に関するノード情報と、配信元ノード20を起点(ルート)とする配信ツリーの構成状態の情報(以下、「配信ツリー構成情報」と呼ぶ)等を記憶するものである。
 親ノード候補生成部114は、配信ツリー記憶部113に記憶された配信ツリー構成情報に基づく配信ツリーに参加しているノード(配信元ノード20、及び各受信ノード30)の内から、新規追加などの配信パスの割り当て(親ノード等の決定)が必要な対象ノード(ノード情報)に対して、配信元の親ノードとなりうるノード(以下、「候補ノード」と呼ぶ)のリストを含む情報(以下、「候補ノードの情報」と呼ぶ)を生成するものである。
 ネットワークアドレス間距離計算部111は、入力される対象ノードのノード情報に含まれるネットワークアドレス情報(対象ノードのネットワークアドレス情報)と、親ノード候補生成部114で生成される候補ノード情報に含まれる各候補ノードのネットワークアドレス情報から、対象ノードと各候補ノードとのネットワークアドレス間の近さを示す距離を算出するものである。
 サブネット判定・距離補正部115は、ネットワークアドレス間距離計算部111で計算された距離に基づいて、対象ノードと候補ノードが同一サブネットワークに属するかを判定して、ネットワークアドレス間の距離を補正するものである。サブネット判定・距離補正部115による補正処理の詳細については後述する。
 親ノード選択部112は、サブネット判定・距離補正部115で得られた、補正されたネットワークアドレス間の距離情報を用いて、候補ノードの内から対象ノードの親ノードとするノードを決定するものである。
 親ノード選択部112は、対象ノードに対する親ノードの選択結果を示す親ノード情報を情報送信部130に供給すると共に、親ノード選択部112の選択結果にしたがって、配信ツリー記憶部113の配信ツリー構成情報を更新させる処理を行う。親ノード情報には、例えば、対象ノード及び当該対象ノードの親ノードにより構成される配信パスを特定する情報(例えば、対象ノード及び当該対象ノードの親ノードのネットワークアドレス情報を含む情報)を含むようにしてもよい。
 次に、各受信ノード30の内部構成について図3を用いて説明する。
 各受信ノード30は、受信部301、受信データ処理部302、再送信部303、及び配信制御部304を有している。
 受信ノード30は、例えば、パーソナルコンピュータ、ワークステーション、モバイルデバイス(例えば、スマートホンやタブレット端末等)等のコンピュータにプログラム(実施形態に係る通信制御プログラムを含む)をインストールすることにより構成(例えば、WebブラウザのJavaScript(登録商標)のように、都度ダウンロードして実行する構成を含む)するようにしてもよい。
 受信部301は、親ノードからの配信データを受信する。
 受信データ処理部302は、親ノードから受信した配信データに対して所定の処理(例えば、ディスプレイやスピーカを用いたユーザへの表示出力処理等)を行う。
 再送信部303は、配信制御部304の制御に応じて、他の受信ノード30(子ノード)に対して配信データの再送信の処理を行う。
 配信制御部304は、送受信処理(受信部301及び再送信部303による処理)を制御する処理等を行う。
 受信ノード30では、受信部301、再送信部303、及び配信制御部304により、配信データを送受信する配信データ送受信部が構成されている。
 次に、各配信元ノード20の内部構成について図4を用いて説明する。
 各配信元ノード20は送信部201、取得部202、及び配信制御部203を有している。
 配信元ノード20は、例えば、PC、ワークステーション、モバイル端末(例えば、スマートホンやタブレット端末等)等のコンピュータにプログラム(実施形態に係る配信処理プログラムを含む)をインストールすることにより構成(例えば、WebブラウザのJavaScriptのように、都度ダウンロードして実行する構成を含む)するようにしてもよい。
 取得部202は、配信データを保持する。取得部202が、配信データを保持する方法は限定されないものである。取得部202は、例えば、配信データを一括したデータ(例えば、外部ストレージに記録された映像のデータファイル等)として取得るようにしてもよいし、配信データをカメラやマイク等のソースから逐次取得するようにしてもよい。
 送信部201は、取得部202が取得した配信データを配信制御部203の制御に応じた配信先(子ノードとなる受信ノード30)に配信(送信)する処理を行う。
 配信制御部203は、送信部201による配信処理を制御する処理等を行う。
 配信元ノード20では、送信部201、及び配信制御部203により、配信データを送信する配信データ送信部が構成されている。
 (A-2)実施形態の動作
 次に、以上のような構成を有するこの実施形態のデータ配信システム1の動作を説明する。
 まず、データ配信システム1における配信ツリーの構成手順の概要について説明する。
 図2に示すように、データ配信システム1では、配信データの配信元である配信元ノード20から、配信データの配信先(受信者)である(複数の)受信ノード30に対してアプリケーションレベルマルチキャストを用いて配信データの配信が行われる。
 データ配信システム1において、配信ツリー構造情報は、配信構成管理サーバ10が管理している。配信構成管理サーバ10は、配信ツリーを構成する各ノード(配信元ノード20や受信ノード30)との間で、各ノードに関するノード情報や、配信ツリーの構成に関わる情報をやり取りすることにより、動的なノードの追加や離脱に応じた配信ツリーの再構築を行う。なお、以下では、配信ツリーの構成に関わる事項のみを説明するが、配信パスとなる通信路を設定するためのシグナリング等については任意の方法を用いることができる。例えば、配信構成管理サーバ10がノード間のシグナリングを中継するシグナリングサーバを兼務するような構成としてもよい。
 まず、配信元ノード20の配信制御部203が、自身のネットワークアドレス情報としてのIPアドレス情報を含むノード情報を配信構成管理サーバ10に通知したものとする。また、受信ノード30の配信制御部304が、自身のネットワークアドレス情報としてIPアドレス情報を含むノード情報を配信構成管理サーバ10に通知したものとする。以下、データ配信システム1において、ネットワークアドレスとしてはIPアドレス(IPv4のアドレス)を用いる例で説明する。
 配信構成管理サーバ10は、その主たる構成要素である配信構成管理部11において、配信元ノード20や(複数の)受信ノード30からのノード情報を記憶して配信ツリーの構成を決定し、それぞれのノードに対して配信パスの接続相手に関わる情報を通知する。
 配信元ノード20や受信ノード30の各ノードは、配信ツリーを構成する配信パスに従った接続相手との通信路を確保し、配信元ノード20は自身が持つ配信データの送信を、受信ノード30は親ノードからの配信データの受信と、自身が子ノードを持つ場合は、受信した配信データの再送信を行う。新規に受信ノード30が配信ツリーに参加する場合、配信構成管理サーバ10は、新規参加の受信ノード30(対象ノード)から通知されるノード情報にしたがって、その新規参加の受信ノード30の親ノードを割り当てる。そして、その割り当てられた親ノードが、新規の受信ノード30への配信を開始することにより、配信ツリーの構築(再構築)が行われる。
 配信ツリーに参加している受信ノード30の内の1つが配信ツリーから離脱した場合、離脱した受信ノード30を親ノード(や祖先ノード)としていた受信ノード30への配信が停止してしまう。したがって、配信構成管理サーバ10は、配信が停止してしまう受信ノード30に対して新たな親ノードの割り当てを行う。配信構成管理サーバ10において、親ノードの再割り当ては、離脱ノードの直接の子ノードに対してのみ行ってもよいし、直接の子ノード以外にも、子ノードの子孫のノードに対しても再割り当てを行ってもよい。配信構成管理サーバ10は、これらの受信ノード30に対して、親ノードの再割り当てを行うことにより、配信ツリーの再構築を行う。
 次に、配信構成管理サーバ10の配信構成管理部11が、各ノードに対して親ノードを決定する処理の詳細について説明する。
 上述の通り、配信構成管理部11では、親ノード決定処理部110が、親ノードの割り当てが必要となったノードに対して、配信元となる親ノードを決定する処理を行う。
 親ノード決定処理部110では、親ノードの割り当て対象となったノードに関する情報(対象ノード情報)が入力されると、その対象ノード情報からIPアドレス情報を含む情報を取得する。そして、親ノード決定処理部110は、取得した対象ノード情報に基づいて親ノードを選択し、その選択結果を示す親ノード情報を出力する。
 配信ツリー記憶部113では、現在の配信ツリーの構成状態(接続状態)を示す配信ツリー構成情報と、配信ツリーに参加している各ノードのノード情報が記憶されている。
 対象ノードのノード情報が入力されると、親ノード候補生成部114は、配信ツリー記憶部113に記憶されている情報を参照して、配信ツリーに参加している各ノード(配信元ノード20及び各受信ノード30)の内で、対象ノードに対して配信データを配信可能なノードを候補ノードとして検出する。ノードの離脱に伴う再構成の場合は、対象ノードの子孫ノードを親ノードとしても配信可能なノード(配信元ノード20に到達できるノード)ではないため、候補ノードには含めない。また、この時、親ノード選択部112において、例えばあらかじめ設定したツリーの分岐数(子ノードの数)の上限や、配信元ノード20からの配信ツリーの深さ(経由ノード数)の上限などの条件を満たさないノードは候補ノードとしないように構成してもよい。
 次に、ネットワークアドレス間距離計算部111が、それぞれの候補ノードに対して、対象ノードのIPアドレス情報と、各候補ノードのIPアドレス情報をもとにIPアドレス間の近さに相当するIPアドレス間距離を算出する。IPアドレス間距離の算出方法については後述する。
 次に、サブネット判定・距離補正部115では、ネットワークアドレス間距離計算部111で算出されたIPアドレス間距離をもとに、対象ノードと各候補ノードが同一サブネットワークに属するかを判定し、同一サブネットワークに属すると判定した場合はIPアドレス間距離を補正する。
 次に、親ノード選択部112が、得られた各候補ノードに対する補正されたIPアドレス間距離等の情報を用いて候補ノードの内から対象ノードに対する最適な親ノードを選択し、選択結果に基づく親ノード情報を出力する。また、親ノード選択部112は、決定された対象ノードと親ノードの接続関係に基づき、配信ツリー記憶部113の配信ツリー構成情報を更新する。さらに、親ノード選択部112は、対象ノードに関するノード情報を配信ツリー記憶部113上で管理(配信ツリー記憶部113上でノード情報の追加記憶又は削除)する。
 以上のように、親ノード選択部112は、配信ツリー記憶部113に記憶される情報を更新することで配信ツリーを管理する。
 次に、ネットワークアドレス間距離計算部111でのIPアドレス間距離の算出方法について説明する。
 IPアドレスは、それ自身では物理なネットワークの接続状態に関する情報は持っていない。しかし、一般的なIPネットワークのルータではIPアドレスのプレフィックス(上位ビット部分)ごとの経路テーブルによってルーティング先を決定するなどの処理が用いられる。そのため、一般的なIPネットワークでは、同じ組織や同じ拠点では共通のプレフィックスのIPアドレスを付与したり、ルータの経路テーブルの集約(同じ経路へのテーブルエントリの集約)のために同じ物理的な経路を通るネットワークに対して共通のプレフィックスとなるIPアドレスを付与することが多い。また、一般的なIPネットワークでは、同じルータ配下の同じサブネットワークではIPアドレスの内のネットワーク部であるプレフィックス部分(ネットワークアドレスの部分)は同じ値となる。言い換えると、一般的なIPネットワークを構成する2つのサブネットワーク間では、プレフィックスの共通部分が多いほど、より少ないホップ数やパスコストで到達可能な傾向にある。
 そこで、この実施形態では、2つのIPアドレス間(2つのノード間)の距離に相当する指標として、IPアドレスを構成するプレフィックス一致長(2つのIPアドレスの上位ビットから何ビットが一致しているか)を用いるものとする。この場合、2つのIPアドレス間で、プレフィックス一致長(最上位ビットから連続して一致するビット数)が長くなるほど、距離が短いことを示すことになる。すなわち、対象ノードとの間で、プレフィックス一致長が長い候補ノードを優先して親ノードとして選択することになる。
 なお、距離という意味(近いほど小さな値となるような)では、一致したプレフィックス部分を除くサフィックス部分のビット長(最上位の不一致ビットの最下位ビットから数えた位置)を用いてもよい。この場合は、対象ノードと任意の候補ノードとの間で、サフィックス部分のビット長が短いものを優先して親ノードとして選択することになる。
 図5に、各ノードの物理的なネットワークの構成とIPアドレスの一例を示す。
 例えば、図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が配置されている。
 ノード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
 この時のノードNAのIPアドレスに対する、ノードNB、NC、NDのプレフィックス一致長を検証する。ノードNAとノードNBで一致するプレフィックス一致長は24ビット以上となり、ノードNAとノードNCで一致するプレフィックス一致長は16ビット以上24ビット未満となり、ノードNAとノードNDで一致するプレフィックス一致長は16ビット未満となる。すなわち、ノードNAから、物理ネットワーク的により近いノード(例えば、ホップ数やパスコストが少ないノード)ほど、プレフィックス一致長は大きな値となる。
 以上のように、ネットワークアドレス間距離計算部111で算出されたプレフィックス一致長が最大となるような候補ノードを親ノードとして選出すれば、物理ネットワーク的により近いノードを親ノードとして選出することが可能となる。
 しかし、例えば、ノードNA、NBと同一サブネットワーク内に、ノードNBよりも配信能力が高いノード(例えば、より多くのCPUを有するなど)、あるいは、ノードNBよりも再配信している子ノードの数が少ない(再配信可能数に余裕がある)ノードであるノードNEが存在していたとしても、ノードNEのIPアドレス(例えば、10.1.1.ee;eeは任意の8ビットの値)よりもノードNBのIPアドレスのほうがノードNAのIPアドレスとの一致長が長い(IPアドレスのホスト部のビットパターンが似ている)と、ノードNBのほうを選択してしまうことになる。
 そこで、この実施形態のサブネット判定・距離補正部115では、ネットワークアドレス間距離計算部111で算出されたプレフィックス一致長に基づいて、対象ノードと候補ノードが同一サブネットワークに属するかを判定し、同一サブネットワークに属すると判定した場合は、プレフィックスのサブネットワークアドレス部分のみが一致したものとしてネットワークアドレス間距離を補正し、同一サブネットワーク内の他のノードと距離としては対等となるように補正を行う。
 サブネット判定・距離補正部115では、まずIPアドレスのプレフィックス一致長が最大値(IPv4アドレスでは32ビット)であるか(すべてのビットパターンが一致したか)を判定する。この場合は対象ノードと候補ノードが同じ装置内(例えば、ユーザ端末内)にあることを意味し、サブネットワーク内の別の装置と区別するために、距離の補正は行わない。次に、サブネット判定・距離補正部115は、プレフィックス一致長があらかじめ設定したサブネットワークプレフィックス長(例えば、24ビットに固定)より大きな値であった場合は、サブネットワークプレフィックス長を補正後の距離とする。すなわち、サブネット判定・距離補正部115は、同じサブネットワーク内の複数の候補ノードとの距離が、それぞれ同等の値となるよう補正する。プレフィックス一致長が所定のサブネットワークプレフィックス長より短い場合は、特に補正は行わない。サブネットワーク判定に用いるサブネットワークプレフィックス長は、実際のネットワークでは個々のサブネットワークごとに異なる場合があるが、あらかじめ既知のサブネットワークについてはデータベースを参照するなどして個々の実際のプレフィックス長を用いたり、未知のサブネットワークの場合は24ビットなどの既定の固定値を用いて判定してもよい。また、IPv6ネットワークの場合は、サブネットワークプレフィックス長として64ビットなどの既定の値を用いてもよい。
 親ノード決定処理部110では、例えば、単純にはネットワークアドレス間距離計算部111で算出されたプレフィックス一致長が最大となる候補ノードを親ノードとして選択する。すなわち、図5の例では、親ノード決定処理部110は、ノードNAに対する親ノードとしてノードNBを選択するようにしてもよい。親ノード決定処理部110は、サブネット判定・距離補正部115により補正されたプレフィックス一致長が最大となるノードが複数存在する場合は、例えば、これらのノードのうちから乱数等を用いてランダムに親ノードを選択してもよい。さらに、親ノード決定処理部110は、ノード情報に付帯するその他の情報(例えば、ノードの処理能力など)も加味して、プレフィックス一致長が同一の候補ノードから親ノードを決定するようにしても良い。すなわち、この場合親ノード決定処理部110は、ノードNBよりもノードNEの方に処理能力等の余裕があれば、ノードNEを選択することになる。
 以上のように、配信構成管理サーバ10(親ノード決定処理部110)では、各ノードのIPアドレス情報を用いることで、実際のスループット等の計測を行わずに、物理ネットワーク的により近いことが期待できる候補ノードを親ノードとして選択して配信ツリーを構築することができる。
 次に、各受信ノード30内の動作について説明する。
 配信制御部304は、自身のIPアドレス情報を含むノード情報を、配信構成管理サーバ10の内の配信構成管理部11に通知する。
 配信制御部304では、配信構成管理サーバ10(配信構成管理部11)から、通信制御に係る情報(例えば、親ノードや子ノードのネットワークアドレス情報の配信パスを定義する情報)が通知される。
 配信制御部304は、親ノードと受信部301の間の通信路を確保して、受信部301による親ノードからの配信データの受信が開始される。
 受信データ処理部302は、受信した配信データに対して所定の処理(例えば、映像データの場合は表示したり、音声データの場合は再生したりする等の処理)を行う。
 配信制御部304は、自身を親ノードとするような他の受信ノード30(子ノード)が存在することが配信構成管理サーバ10(配信構成管理部11)から通知されている場合、再送信部303から、自身の子ノードに対して配信データの再送信を行う。配信制御部304は、子ノードが存在しない場合は、再送信の制御は行わない。
 以上のような処理により、データ配信システム1では、アプリケーションマルチキャストを用いた配信データの配信が行われる。
 (A-3)実施形態の効果
 この実施形態によれば、以下のような効果を奏することができる。
 この実施形態のデータ配信システム1では、アプリケーションマルチキャストを用いた情報の配信ツリーに、新規に参加する、あるいは、親ノードの離脱による配信ツリーの再構築の際に、配信元となる親ノードの選択が必要となった対象ノードに対して、物理的なネットワークトポロジー的に近い位置であることが期待できる親ノードを選定することができる。これにより、この実施形態のデータ配信システム1では、配信ツリーが非効率となってしまうという課題を軽減することが可能となる。
 また、この実施形態のデータ配信システム1では、実際のスループットの計測等を行わずに選択が可能であるため、迅速に配信ツリーを構築でき、さらに、スループット計測等のための余分なトラフィックの発生量も低減することができる。
 さらに、この実施形態のデータ配信システム1では、同一サブネット内に親ノードの候補が複数ある場合に、ランダムに選択したり、候補ノードの処理能力等を加味した選択を行うことにより、再接続等で接続されるノードが分散され、より効率的な配信ツリーを構築することが可能となる。
 (B)他の実施形態
 本発明は、上記の実施形態に限定されるものではなく、以下に例示するような変形実施形態も挙げることができる。
 (B-1)上記の実施形態のデータ配信システム1では、ネットワークアドレスとして、IPv4アドレスを用いる例を説明したが、IPv6アドレスでも同様にプレフィックス一致長を用いることによりIPアドレス間の距離を算出することが可能である。上記のデータ配信システム1において、IPv6ネットワークや、その他のネットワーク、IPv4とIPv6が混在するネットワークなど、様々なネットワーク上での配信システムにも適用可能である。
 (B-2)上記の実施形態のデータ配信システム1において、実際に配信を開始してからの配信パスごとの配信データ送受信のスループット等の計測結果(通信履歴)に基づいて、動的に配信経路を更新していくような方法も併用するように構成してもよい。例えば、上記の実施形態の配信構成管理サーバ10において、スループットの出ていない配信パスから受信している受信ノード30を検出し、この受信ノード30を対象ノードとして、現在の親ノード(と対象ノードの子孫ノード)を除外した親ノード候補から上記と同様な選択を行うなどして動的に配信経路を更新する構成としてもよい。
 なお、通信制御装置、配信元ノード、及び受信ノードは、各々、ハードウェアのプロセッサであるCPU及びCPUに接続されているメモリを備え、通信制御装置は、メモリに記録されたプログラムをCPUにロードして実行することで、情報取得部、親ノード選択部、配信ツリー管理部、及び通信制御部として機能する。また、配信元ノードは、メモリに記録されたプログラムをCPUにロードして実行することで、配信データ送信部として機能し、受信ノードは、メモリに記録されたプログラムをCPUにロードして実行することで、配信データ送受信部として機能する。
 なお、通信制御プログラム、配信処理プログラム、及び受信処理プログラムなどのプログラムは、DVD、HDD、SSDなどの非一時的記録媒体に記録され、非一時的記録媒体読み込み装置を介して、メモリに読み込まれてもよい。
 本願は2018年5月30日出願の日本出願第2018-103856号の優先権を主張すると共に、その全文を参照により本明細書に援用する。

Claims (23)

  1.  配信データの配信元である配信元ノードと、前記配信元ノードもしくは他の受信ノードから配信データを受信して所定の処理を行うと共に、受信した配信データを他の受信ノードに対して再配信することが可能な複数の受信ノードと、前記配信元ノードとそれぞれの前記受信ノードの通信を制御する通信制御装置と、を有するデータ配信システムであって、
     前記通信制御装置は、
      前記配信元ノードとそれぞれの前記受信ノードについて、IPアドレスを含むノード情報を取得するノード情報取得部と、
      それぞれの前記受信ノードに対して、前記配信元ノードと他の前記受信ノードから親ノードの候補となる候補ノードから、親ノードの選択対象となる前記受信ノードのIPアドレスと、それぞれの前記候補ノードのIPアドレスとで一致するビット長に応じて、前記候補ノードから親ノードの選択対象となる前記受信ノードの親ノードを選択する親ノード選択部と、
      前記親ノード選択部の選択に従って、前記配信元ノードと前記受信ノードにより構成される配信ツリーの構成を管理する配信ツリー管理部と、
      前記配信ツリー管理部が管理している前記配信ツリーの構成に従って、前記配信元ノード及びそれぞれの前記受信ノードの通信を制御する通信制御部と、
     を有し、
     それぞれの前記配信元ノードは、前記通信制御装置の通信制御に従って配信データの送信を行う配信データ送信部を有し、
     それぞれの前記受信ノードは、前記通信制御装置の制御に従って、配信データの送受信を行う配信データ送受信部を有する、
     データ配信システム。
  2.  前記通信制御装置は、
     親ノードの選択対象となる前記受信ノードのIPアドレスと、それぞれの前記候補ノードのIPアドレスとのプレフィックス部分の一致長に応じて、親ノードの選択対象となる前記受信ノードとそれぞれの前記候補ノードとの間のネットワーク的な近さを示す距離を算出する距離計算部をさらに備え、
     前記親ノード選択部は、親ノードの選択対象となる前記受信ノードと前記距離計算部が計算した距離の最も近い前記候補ノードを、親ノードの選択対象となる前記受信ノードの親ノードとして選択する、
     請求項1に記載のデータ配信システム。
  3.  前記通信制御装置は、親ノードの選択対象となる前記受信ノードのIPアドレスと、それぞれの前記候補ノードのIPアドレスとのプレフィックス部分の一致長に応じて、それぞれの前記候補ノードについて親ノードの選択対象となる前記受信ノードと同一のサブネットワークに属するか否かを判断し、その判断結果に応じて前記距離計算部で計算した距離を補正する距離補正部、
     をさらに有する請求項2に記載のデータ
    配信システム。
  4.  前記距離補正部は、親ノードの選択対象となる前記受信ノードのIPアドレスと、プレフィックス部分の一致長が所定以上の前記候補ノードの距離については、親ノードの選択対象となる前記受信ノードと同じサブネットワークに属すると判断して、当該サブネットワークのプレフィックス長さに応じた距離に補正する請求項3に記載のデータ配信システム。
  5.  前記親ノード選択部は、少なくとも、ツリー分岐数が所定の第1の閾値以上の前記候補ノード、又は前記配信元ノードからの前記配信ツリーの深さが第2の閾値以上のいずれかの条件に該当する前記候補ノードを親ノードとして選択しない請求項1~請求項4のいずれか1項に記載のデータ配信システム。
  6.  前記ノード情報取得部が取得するノード情報には、付帯情報が含まれており、
     前記親ノード選択部は、それぞれの前記候補ノードの付帯情報も考慮して親ノードを選択する、
     請求項1~請求項5のいずれか1項に記載のデータ配信システム。
  7.  前記親ノード選択部は、距離が最小となる前記候補ノードが複数存在する場合には、付帯情報も考慮して親ノードを選択する請求項6に記載のデータ配信システム。
  8.  前記ノード情報取得部は、付帯情報として、少なくとも、前記配信元ノード及びそれぞれの前記受信ノードの処理能力を示す処理能力情報を取得する請求項6又は請求項7に記載のデータ配信システム。
  9.  前記親ノード選択部は、距離が最小となる前記候補ノードが複数存在する場合には、距離が最小となる前記候補ノードからランダムに親ノードを選択する請求項3又は請求項4に記載のデータ配信システム。
  10.  前記親ノード選択部は、全ての前記受信ノードについて親ノードを選択した後、前記配信ツリーの配信パスごとの通信履歴に基づいて、それぞれの前記受信ノードの親ノードを変更する請求項1~請求項9のいずれか1項に記載のデータ配信システム。
  11.  前記親ノード選択部は、全ての前記受信ノードについて親ノードを選択した後、前記配信ツリーの配信パスごとの通信履歴に基づいて、経路変更の必要な配信パスを検出し、前記経路変更の必要な配信パスの下位側の前記受信ノードについて、前記候補ノードから現在の親ノード及び子孫ノードを除外して親ノードを選択する請求項10に記載のデータ配信システム。
  12.  前記配信元ノード及びそれぞれの前記受信ノードは、自装置のIPアドレスを含むノード情報を前記通信制御装置に送信する請求項1~請求項11のいずれか1項に記載のデータ配信システム。
  13.  前記通信制御装置は、前記配信ツリー管理部で管理されている前記配信ツリーの構成に基づき、前記配信元ノード及びそれぞれの前記受信ノードに子ノードの情報を通知する通信制御部を有し、
     前記配信元ノードは、前記通信制御装置から通知される子ノードに対応する前記受信ノードに対して、配信データを送信し
     それぞれの前記受信ノードは、前記通信制御装置から通知される子ノードに対応する前記受信ノードに対して、親ノードから受信した配信データを送信する、
     請求項12に記載のデータ配信システム。
  14.  前記親ノード選択部は、前記配信ツリーに参加している前記受信ノードが離脱した場合、離脱した前記受信ノードから直接配信データを受信していた受信ノードに対して、新たな親ノードを選択する処理を行う請求項1~請求項13のいずれか1項に記載のデータ配信システム。
  15.  前記親ノード選択部は、前記配信ツリーに参加している前記受信ノードが離脱した場合、離脱した前記受信ノードの子ノードを含む子孫ノードについても新たな親ノードを選択する処理を行う請求項14に記載のデータ配信システム。
  16.  当該データ配信システムは、複数の前記配信元ノードを備え、
     前記親ノード選択部は、それぞれの前記受信ノードについて、ノード情報に含まれる配信を受けたい配信データを特定する特定情報に応じた前記配信元ノードを起点とする前記配信ツリーを選択し、それぞれの前記受信ノードについて選択した前記配信ツリーから親ノードを選択し、
     前記配信ツリー管理部は、それぞれの前記配信元ノードを起点とする複数の前記配信ツリーを管理する、
     請求項1~請求項15のいずれか1項に記載のデータ配信システム。
  17.  配信データの配信元である配信元ノードと、前記配信元ノードもしくは他の受信ノードから配信データを受信して所定の処理を行うと共に、受信した配信データを他の受信ノードに対して再配信することが可能な複数の受信ノードと、前記配信元ノードとそれぞれの前記受信ノードの通信を制御する通信制御装置とを有するデータ配信システムのデータ配信方法であって、
     前記通信制御装置は、ノード情報取得部、親ノード選択部、配信ツリー管理部、及び通信制御部を有し、
     前記配信元ノードは、配信データ送信部を有し、
     それぞれの前記受信ノードは、配信データ送受信部を有し、
     前記ノード情報取得部は、前記配信元ノードとそれぞれの前記受信ノードについて、IPアドレスを含むノード情報を取得し、
     前記親ノード選択部は、それぞれの前記受信ノードに対して、前記配信元ノードと他の前記受信ノードから親ノードの候補となる候補ノードから、親ノードの選択対象となる前記受信ノードのIPアドレスと、それぞれの前記候補ノードのIPアドレスとで一致するビット長に応じて、前記候補ノードから親ノードの選択対象となる前記受信ノードの親ノードを選択し、
     前記配信ツリー管理部は、前記親ノード選択部の選択に従って、前記配信元ノードと前記受信ノードにより構成される配信ツリーの構成を管理し、
     前記通信制御部は、前記配信ツリー管理部が管理している前記配信ツリーの構成に従って、前記配信元ノード及びそれぞれの前記受信ノードの通信を制御し、
     前記配信データ送信部は、前記通信制御装置の通信制御に従って配信データの送信を行い、
     前記配信データ送受信部は、前記通信制御装置の制御に従って、配信データの送受信を行う
     データ配信方法。
  18.  配信データの配信元である配信元ノードと、前記配信元ノードもしくは他の受信ノードから配信データを受信して所定の処理を行うと共に、受信した配信データを他の受信ノードに対して再配信することが可能な複数の受信ノードにより構成される配信ツリーの制御を行う通信制御装置であって、
     前記配信元ノードとそれぞれの前記受信ノードについて、IPアドレスを含むノード情報を取得するノード情報取得部と、
     それぞれの前記受信ノードに対して、前記配信元ノードと他の前記受信ノードから親ノードの候補となる候補ノードから、親ノードの選択対象となる前記受信ノードのIPアドレスと、それぞれの前記候補ノードのIPアドレスとで一致するビット長に応じて、前記候補ノードから親ノードの選択対象となる前記受信ノードの親ノードを選択する親ノード選択部と、
     前記親ノード選択部の選択に従って、前記配信元ノードと前記受信ノードにより構成される配信ツリーの構成を管理する配信ツリー管理部と、
     を有する通信制御装置。
  19.  配信データの配信元である配信元ノードと、前記配信元ノードもしくは他の受信ノードから配信データを受信して所定の処理を行うと共に、受信した配信データを他の受信ノードに対して再配信することが可能な複数の受信ノードにより構成される配信ツリーの制御を行う通信制御装置に搭載されたコンピュータに、
     前記配信元ノードとそれぞれの前記受信ノードについて、IPアドレスを含むノード情報を取得し、
     それぞれの前記受信ノードに対して、前記配信元ノードと他の前記受信ノードから親ノードの候補となる候補ノードから、親ノードの選択対象となる前記受信ノードのIPアドレスと、それぞれの前記候補ノードのIPアドレスとで一致するビット長に応じて、前記候補ノードから親ノードの選択対象となる前記受信ノードの親ノードを選択し、
     前記選択に従って、前記配信元ノードと前記受信ノードにより構成される配信ツリーの構成を管理する、
     通信制御処理を実行させる通信制御プログラム。
  20.  請求項18に記載の通信制御装置の通信制御に従って配信データの送信を行う配信データ送信部を有する配信元ノード。
  21.  配信元ノードに搭載されたコンピュータに、
      請求項18に記載の通信制御装置の通信制御に従って配信データを送信する配信処理を実行させる配信処理プログラム。
  22.  請求項18に記載の通信制御装置の通信制御に従って配信データの送受信を行う配信データ送受信部を有する受信ノード。
  23.  受信ノードに搭載されたコンピュータに、
     請求項18に記載の通信制御装置の通信制御に従って配信データの送受信を行う送受信処理を実行させる受信処理プログラム。
PCT/JP2019/019142 2018-05-30 2019-05-14 データ配信システム、データ配信方法、通信制御装置、通信制御プログラム、配信元ノード、配信処理プログラム、受信ノード、及び受信処理プログラム Ceased WO2019230375A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018103856A JP7091847B2 (ja) 2018-05-30 2018-05-30 データ配信システム、データ配信方法、通信制御装置、通信制御プログラム、配信元ノード、配信処理プログラム、受信ノード、及び受信処理プログラム
JP2018-103856 2018-05-30

Publications (1)

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

Family

ID=68698754

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/019142 Ceased WO2019230375A1 (ja) 2018-05-30 2019-05-14 データ配信システム、データ配信方法、通信制御装置、通信制御プログラム、配信元ノード、配信処理プログラム、受信ノード、及び受信処理プログラム

Country Status (2)

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

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006041784A (ja) * 2004-07-26 2006-02-09 Brother Ind Ltd 接続態様設定装置及び接続態様設定方法、並びに接続態様制御装置及び接続態様制御方法等
JP2006099296A (ja) * 2004-09-29 2006-04-13 Nec Corp 翻訳システム、翻訳通信システム、機械翻訳方法、および、プログラム
CN1968164A (zh) * 2005-11-17 2007-05-23 中国科学院计算技术研究所 基于全局Internet拓扑知识的P2P应用构建方法
JP2007235681A (ja) * 2006-03-02 2007-09-13 Nec Corp 配信ツリー構成装置、配信ツリー構成方法、及び配信ツリー構成用プログラム
JP2010191746A (ja) * 2009-02-19 2010-09-02 Nippon Hoso Kyokai <Nhk> 利用者端末、利用者端末プログラム及び配信ツリーの接続切替方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006041784A (ja) * 2004-07-26 2006-02-09 Brother Ind Ltd 接続態様設定装置及び接続態様設定方法、並びに接続態様制御装置及び接続態様制御方法等
JP2006099296A (ja) * 2004-09-29 2006-04-13 Nec Corp 翻訳システム、翻訳通信システム、機械翻訳方法、および、プログラム
CN1968164A (zh) * 2005-11-17 2007-05-23 中国科学院计算技术研究所 基于全局Internet拓扑知识的P2P应用构建方法
JP2007235681A (ja) * 2006-03-02 2007-09-13 Nec Corp 配信ツリー構成装置、配信ツリー構成方法、及び配信ツリー構成用プログラム
JP2010191746A (ja) * 2009-02-19 2010-09-02 Nippon Hoso Kyokai <Nhk> 利用者端末、利用者端末プログラム及び配信ツリーの接続切替方法

Also Published As

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

Similar Documents

Publication Publication Date Title
TWI813743B (zh) 在網路路由環境中的獨立資料儲存空間
US10708856B2 (en) Gateway advertisement in a wireless mesh
KR101607879B1 (ko) 콘텐트 네트워킹을 위한 적응적 다중-인터페이스 사용
Peng CDN: Content distribution network
RU2400806C2 (ru) Организация стыковки запросов на ресурс с соответствующими ресурсами
JP4037759B2 (ja) 多元ホストエニーキャストルーティングのための方法及びシステム
US8385230B2 (en) Automatic network address assignment in a wireless mesh
US9385949B2 (en) Routing controlled by subnet managers
US10255621B2 (en) Services advertisement in a wireless mesh
JP2013537765A (ja) 処理方法、代理処理エージェント、dhtクライアントノードのルーティングテーブルを埋めるシステムおよび方法、ルータ、ならびにdhtクライアントノード
CN115079935B (zh) 用于存储和查询数据的方法、电子设备和计算机程序产品
JP2016111703A (ja) 情報指向ネットワークにおけるコンテンツ配置
WO2018161795A1 (zh) 一种路由优先级配置方法、设备以及控制器
US20100306303A1 (en) Distributed storage system, connection information notifying method, and recording medium in which distributed storage program is recorded
JP5716745B2 (ja) データ転送システム
JP7094086B2 (ja) 配信構成管理装置、配信構成管理プログラム、及び情報配信システム
JP2011211543A (ja) 情報通信システム、情報処理装置、情報処理方法、及び情報処理プログラム
CN119996302A (zh) 路由选择方法、系统及装置
JP7091847B2 (ja) データ配信システム、データ配信方法、通信制御装置、通信制御プログラム、配信元ノード、配信処理プログラム、受信ノード、及び受信処理プログラム
JP4432626B2 (ja) マルチキャストツリー構築システム及び方法、ネットワークノード装置並びにサーバ装置
JP5803924B2 (ja) データ転送システム
JP2009230686A (ja) コンテンツ管理サーバ及びコンテンツ管理プログラム
JP2004064379A (ja) ルータ装置およびプログラム
JP2006174399A (ja) グループ内通信方法、システム及び記録媒体
CN103763189B (zh) 一种应用资源访问方法及路由器

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