Distribution device, distribution method, and distribution program
By associating distribution stop and start requests, the distribution device manages transmission capacity effectively, addressing the challenge of concurrent conflicting requests in data distribution.
Patent Information
- Application Number
- JP2024084963
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-05-24
- Publication Date
- 2025-12-05
AI Technical Summary
Distribution devices face challenges in managing concurrent requests for starting and stopping data distribution due to insufficient transmission capacity when receiving conflicting messages within short time intervals.
The distribution device prioritizes processing requests by defining associations between distribution stop and start requests, ensuring that distribution of one data set is stopped before starting another, thereby managing transmission capacity effectively.
This approach prevents transmission capacity shortages by ensuring that distribution is managed efficiently even when conflicting requests occur rapidly, maintaining stable communication line usage.
Smart Images

Figure 2025177839000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to a distribution device, a distribution method, and a distribution program. [Background technology]
[0002] There is known a distribution device that receives multiple types of distribution data from a distribution source device such as a data distribution server, and starts or stops the distribution of the received distribution data in response to a request from a distribution destination device such as a personal computer. In such a distribution device, information called a Join message is used to start the distribution of distribution data to the distribution destination device, and information called a Leave message is used to stop the distribution (Patent Document 1). [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Application Laid-Open No. 2013-118592 Summary of the Invention [Problem to be solved by the invention]
[0004] The disclosures of the above-mentioned prior art documents are incorporated herein by reference.The following analysis was conducted by the inventors.
[0005] A distribution device may receive, from the same distribution destination device, a Leave message requesting the stop of distribution of distribution data in progress and a Join message requesting the start of distribution of new distribution data, within a very short time interval. However, the distribution device does not determine which of the processing based on the Leave message and the processing based on the Join message received within a short time interval will be executed first. Therefore, if the distribution device performs processing based on the Join message before processing based on the received Leave message, the transmission capacity of the communication line between the distribution device and the distribution destination device may be insufficient due to the current distribution data and the new distribution data.
[0006] In view of the above-mentioned problems, the object of the present invention is to contribute to preventing a shortage of transmission capacity of the communication line used for data distribution, even if messages requesting the start and stop of distribution of distribution data occur at very short time intervals. [Means for solving the problem]
[0007] In a first aspect of the present invention, there is provided a distribution device including one or more processors, wherein the one or more processors are configured to receive a plurality of distribution data from a distribution source device, receive from a distribution destination device a first distribution start request requesting start of distribution of any of the plurality of distribution data, start distribution of the distribution data requested to start to the distribution destination device in response to receiving the first distribution start request, receive from the distribution destination device a distribution stop request requesting stop of distribution of any of the plurality of distribution data, receive from the distribution destination device a second distribution start request requesting start of distribution of another of the plurality of distribution data, define an association between the received distribution stop request and the second distribution start request, stop distribution of the distribution data being distributed to the distribution destination device in response to the distribution stop request whose association is defined, and after stopping distribution of the distribution data being distributed to the distribution destination device, start distribution of any of the plurality of distribution data to the other of the distribution destination devices in response to the second distribution start request whose association is defined.
[0008] In a second aspect of the present invention, there is provided a distribution method including the steps of: receiving a plurality of distribution data from a distribution source device; receiving a first distribution start request from a distribution destination device, the first distribution start request requesting start of distribution of any of the plurality of distribution data; starting distribution of the distribution data requested to start to the distribution destination device in response to receiving the first distribution start request; receiving a distribution stop request from the distribution destination device, the first distribution start request requesting stop of distribution of any of the plurality of distribution data; receiving a second distribution start request from the distribution destination device, the second distribution start request requesting start of distribution of any other of the plurality of distribution data; defining an association between the received distribution stop request and the second distribution start request; stopping distribution of the distribution data being distributed to the distribution destination device in response to the distribution stop request for which the association is defined; and, after stopping distribution of the distribution data being distributed to the distribution destination device, starting distribution of the plurality of distribution data to any other of the distribution destination devices in response to the second distribution start request for which the association is defined.
[0009] In a third aspect of the present invention, there is provided a distribution program that causes one or more processors in a distribution device to execute the following processes in the distribution device: a process for receiving a plurality of distribution data from a distribution source device; a process for receiving a first distribution start request from a distribution destination device, the process requesting start of distribution of any of the plurality of distribution data; a process for starting distribution of the distribution data requested to be started to the distribution destination device in response to receiving the first distribution start request; a process for receiving a distribution stop request from the distribution destination device, the process requesting stop distribution of any of the plurality of distribution data; a process for receiving a second distribution start request from the distribution destination device, the process requesting start of distribution of any other of the plurality of distribution data; a process for defining an association between the received distribution stop request and the second distribution start request; a process for stopping distribution of the distribution data being distributed to the distribution destination device in response to the distribution stop request whose association is defined; and a process for starting distribution of the plurality of distribution data to any other of the distribution destination devices in response to the second distribution start request whose association is defined after distribution of the distribution data being distributed to the distribution destination device has been stopped. The program can be recorded on a computer-readable storage medium. The storage medium can be a non-transitory medium such as a semiconductor memory, a hard disk, a magnetic recording medium, an optical recording medium, etc. The present invention can be embodied as a computer program product.
[0010] In a fourth aspect of the present invention, there is provided a router device including one or more processors, wherein the one or more processors are configured to receive a plurality of pieces of distribution data from a distribution source device, receive from a distribution destination device a first distribution start request requesting start of distribution of any of the plurality of pieces of distribution data, start distribution of the distribution data requested to start to the distribution destination device in response to receiving the first distribution start request, receive from the distribution destination device a distribution stop request requesting stop of distribution of any of the plurality of pieces of distribution data, receive from the distribution destination device a second distribution start request requesting start of distribution of another of the plurality of pieces of distribution data, define an association between the received distribution stop request and the second distribution start request, stop distribution of the distribution data being distributed to the distribution destination device in response to the distribution stop request whose association is defined, and after stopping distribution of the distribution data being distributed to the distribution destination device, start distribution of the plurality of pieces of distribution data to another of the distribution destination devices in response to the second distribution start request whose association is defined. [Effects of the Invention]
[0011] According to each aspect of the present invention, even if messages requesting the start and stop of distribution of distribution data occur at very short time intervals, it is possible to contribute to preventing a shortage of transmission capacity in the communication line used for data distribution. [Brief explanation of the drawings]
[0012] [Figure 1A] FIG. 1A is a diagram illustrating an example configuration of a data distribution system according to the present disclosure. [Figure 1B] FIG. 1B is a diagram showing components of a data distribution system corresponding to the components of the first aspect. [Figure 1C] FIG. 1C is a diagram illustrating an example of the hardware configuration of the distribution device illustrated in FIG. 1A. [Figure 1D] FIG. 1D is a diagram illustrating an example of the hardware configuration of the destination device shown in FIG. 1A. [Figure 2]FIG. 2 is a diagram illustrating, in the form of functional blocks, an example of functions included in a communication control unit for realizing communication control of the distribution device in the data distribution system shown in FIGS. 1A and 1C. [Figure 3A] FIG. 3A is a diagram illustrating an example of the configuration of a transmission packet that stores a message that is transmitted from a destination device to a distribution device and is used for communication control. [Figure 3B] FIG. 3B is a diagram illustrating an example of the configuration of group record i shown in FIG. 3A. [Figure 3C] FIG. 3C is a table showing an example of the numerical values 1 to 6 stored in the record type of group record i shown in FIG. 3B and the contents of the messages indicated by the numerical values 1 to 6, respectively. [Figure 3D] FIG. 3D is a diagram illustrating a specific example of the content of the group record management table generated by the information management unit shown in FIG. [Figure 4A] FIG. 4A is a flowchart illustrating an example of communication control processing implemented by a communication control unit in the distribution device. [Figure 4B] FIG. 4B is a communication sequence diagram illustrating an example of communication between a delivery source device, a delivery device, and a delivery destination device in a data delivery system. DETAILED DESCRIPTION OF THE INVENTION
[0013] Hereinafter, embodiments of the present invention will be described with reference to the drawings. However, the present invention is not limited to the embodiments described below. Furthermore, in each drawing, the same or corresponding elements are appropriately designated by the same reference numerals, and the same or corresponding processes and communications are also appropriately designated by the same reference numerals. Furthermore, it should be noted that the drawings are schematic.
[0014] FIG. 1A is a diagram illustrating an example configuration of a data distribution system 1 of the present disclosure. FIG. 1B is a diagram illustrating a basic configuration of a distribution device according to a first aspect. The data distribution system 1 shown in FIG. 1A includes a distribution source device 12 and a distribution device 14 connected to each other via a network 100, such as the Internet, a wide area network (WAN), a local area network (LAN), or a mobile phone network conforming to the 4th Generation Long Term Evolution (4GLTE) standard and the 5th Generation (5G) standard, so that they can transmit and receive data to and from each other. The data distribution system 1 also includes destination devices 18a, 18b, and 18c connected to the distribution device 14 via a network (not shown) similar to the network 100 or a communication line so that they can transmit and receive data to and from each other.
[0015] FIG. 1B shows the correspondence between a basic configuration of a distribution device from a first perspective and the components of the data distribution system 1 according to the embodiment shown in FIG. 1A. That is, as shown in FIG. 1B, the components from the first perspective correspond to the distribution device 14. The distribution device 14 is generally also called a router device that connects the network 100 and the destination devices 18a, 18b, and 18c. FIG. 1A shows the data distribution system 1 including one source device 12, one distribution device 14, three destination devices 18a, 18b, and 18c, and one network 100. However, the numbers of source devices 12, distribution devices 14, and destination devices 18a, 18b, and 18c shown in FIG. 1A are merely examples, and the data distribution system 1 may include one or more of each. Furthermore, when it is not necessary to specify any of the destination devices 18a, 18b, and 18c, they are simply referred to as the destination device 18.
[0016] In the data distribution system 1, various types of multiple distribution data (for example, "distribution data A (first distribution data)" and "distribution data B (second distribution data)" described below) are transmitted and distributed from the distribution source device 12 to the distribution device 14 via the network 100. The distribution data includes, for example, video data used for streaming video distribution and image data shared among the distribution destination devices 18 for remote conferences. The distribution device 14 receives the multiple distribution data transmitted by the distribution source device 12, and, in accordance with a distribution start request from each of the distribution destination devices 18, transmits the distribution data for which the start of distribution has been requested to the distribution destination device 18 that has requested the start of distribution of the distribution data.
[0017] Furthermore, in response to a request to stop distribution from each of the destination devices 18, the distribution device 14 stops transmission to the destination devices 18 that have requested the start of distribution of the distribution data for which the stop of distribution has been requested. The distribution of distribution data from the source device 12 to the destination devices 18 via the distribution device 14 in the data distribution system 1 shown in FIG. 1A is generally called multicast distribution. For this multicast distribution, communication control is performed in accordance with, for example, the Internet Group Management Protocol (IGMP) standard.
[0018] Fig. 1C is a diagram illustrating an example of a hardware configuration of the distribution device 14 shown in Fig. 1A. Fig. 1D is a diagram illustrating an example of a hardware configuration of the distribution destination device 18 shown in Fig. 1A. When the functions of the distribution device 14 are realized in software by a program executed by a computer, the distribution device 14 may have the configuration illustrated in Fig. 1C.
[0019] As shown in FIG. 1C , the distribution device 14 includes one or more CPUs (Central Processing Units; processors) 140, a main memory device 142, an auxiliary memory device 144, a network interface (network IF (Interface)) 146, an input / output interface (input / output IF) 148, and a distribution destination device interface (distribution destination device IF) 150, all of which are connected to one another via a bus or the like. In other words, the distribution device 14 includes the components of a computer. Note that, for example, when input devices such as a mouse and a keyboard are not connected, the distribution device 14 does not need to include the input / output interface 148. Furthermore, the distribution device 14 may include further components in addition to or instead of the components illustrated in FIG. 1C .
[0020] In the distribution device 14, the main memory device 142 includes a volatile memory device such as RAM (Random Access Memory) and temporarily stores various programs for execution by the CPU 140 of the distribution device 14, such as programs including instructions for realizing processes such as distribution of distribution data. The main memory device 142 may include, in addition to RAM, a nonvolatile memory device such as ROM (Read Only Memory) and flash memory. The auxiliary memory device 144 includes a nonvolatile memory device such as an SSD and HDD and stores various programs executed by the CPU 140 on a medium-term and long-term basis.
[0021] The network interface 146 performs processing for transmitting and receiving data to and from the source device 12 via the network 100. The input / output interface 148 accepts operations by the user of the distribution device 14 via input devices such as a keyboard and a mouse, and outputs information indicating the accepted operation to the CPU 140. The destination device interface 150 performs processing for transmitting distribution data to the destination device 18 via the network 100, for example. In addition, the destination device interface 150 performs processing for transmitting and receiving transmission packets (also referred to as "PKT (PacKeT)" in the drawings) that store records including messages for communication control between the CPU 140 and the destination device 18.
[0022] 1D, the destination device 18 includes a CPU 140, a main storage device 142, an auxiliary storage device 144, and an input / output interface 148, similar to the distribution device 14, and includes a destination device interface (distribution device IF) 180 instead of the network interface 146. Note that the destination device 18 may include further components in addition to or instead of the components illustrated in FIG. 1D. In the destination device 18, the destination device interface 180 transmits one or more of the multiple pieces of distribution data received from the distribution device 14 to each of the destination devices 18, for example, via a network (not shown), and performs processing for transmitting and receiving transmission packets that store records for communication control between the CPU 140 and the destination devices 18.
[0023] FIG. 2 is a functional block diagram illustrating an example of functions included in the communication control unit 2 for realizing communication control of the distribution device 14 of the data distribution system 1 shown in FIGS. 1A and 1C. As shown in FIG. 2, the communication control unit 2 includes a packet processing unit 200 on the distribution source device 12 side, a distribution data switch unit 202, and a packet processing unit 204, a packet management unit 206, and an information management unit 208 on the distribution destination device 18 side. The communication control unit 2 is provided to the distribution device 14 from a program distribution server (not shown) via the network 100. Alternatively, the communication control unit 2 is provided to the distribution device 14 via a non-volatile storage medium (not shown) connected to a USB (Universal Serial Bus) interface (not shown) provided in the auxiliary storage device 144. In this case, each component shown in FIG. 2 may be included in the communication control unit 2 as a program module.
[0024] The packet processing unit 200 controls the network interface 146 (FIG. 1C) and receives transmission packets storing distribution data from the source device 12 (FIG. 1A) via the network 100. The packet processing unit 200 separates the distribution data from the received transmission packets and outputs them to the distribution data switch unit 202. In addition, a message for controlling communication between the source device 12 and the distribution device 14 is input from the packet management unit 206 to the packet processing unit 200, and the packet processing unit 200 stores the input message in a transmission packet and transmits it to the source device 12.
[0025] The packet processing unit 200 also receives transmission packets that store messages for communication control, separates the messages from the received transmission packets, and outputs the separated messages to the packet management unit 206. Note that in the following explanation, a description of communication control between the distribution source device 12 and the distribution device 14 will be omitted. Therefore, a description of message input / output between the packet processing unit 200 and the packet management unit 206, as shown by the dotted line in FIG. 2, will also be omitted.
[0026] The packet processing unit 204 controls the network interface 146, and receives, for example, via the network, transmission packets from the destination devices 18a, 18b, and 18c, which contain messages for controlling communication between the distribution device 14 and the destination device 18. The packet processing unit 204 separates the messages from the transmission packets received from the destination devices 18a, 18b, and 18c, and outputs the messages to the packet management unit 206 and the information management unit 208.
[0027] The packet processing unit 204 also receives messages for controlling communication between the distribution device 14 and the destination device 18, stores the messages received from the packet management unit 206 in transmission packets, and transmits the packets to the destination devices 18a, 18b, and 18c. The packet processing unit 204 also refers to a Group Record Management Table (GRMT; described later with reference to FIG. 3D) stored in the information management unit 208, and transmits the distribution data received from the source device 12 via the packet processing unit 200 and the distribution data switch unit 202 to the destination devices 18a, 18b, and 18c.
[0028] The following description will focus on the case where transmission packets containing messages for communication control compliant with the IGMP standard are transmitted from the destination devices 18a, 18b, and 18c to the distribution device 14. Meanwhile, the description will be omitted for the case where transmission packets containing messages for communication control are transmitted from the distribution device 14 to the destination devices 18a, 18b, and 18c. The following description will focus on communication control when distribution data A and B are distributed from the source device 12 to the destination device 18a via the distribution device 14. The communication control for distributing distribution data A and B from the source device 12 to the destination devices 18a and 18b via the distribution device 14 can be applied, with appropriate modifications, to communication control when distribution data A and B are distributed from the source device 12 to the destination devices 18b and 18c via the distribution device 14.
[0029] Fig. 3A is a diagram illustrating an example of the configuration of a transmission packet that stores a message that is sent from the destination device 18a to the distribution device 14 and used for communication control. Such a transmission packet is called a membership report. The transmission packet illustrated in Fig. 3A is used for communication control to distribute distribution data by multicast from the source device 12 to the destination device 18a in accordance with the IGMP standard, and is also called a membership report. Fig. 3B is a diagram illustrating an example of the configuration of group record i shown in Fig. 3A.
[0030] 3A, the membership report includes an area for storing the type of membership report, two reserved areas, an area for storing a checksum, an area for storing the number of group records, and an area for storing group records 1 to i to M (1≦i≦M; i and M are integers). Note that, as shown in Fig. 3B, group record i stored in the membership report includes an area for storing the record type, an area for the length of auxiliary data, an area for storing the number of source devices 12 (senders), an area for storing the multicast group address, an area for storing the addresses of source devices 12 (source addresses 1 to j to N; 1≦j≦N; j and N are integers), and an area for auxiliary data.
[0031] The type field of the membership report (transmission packet) shown in FIG. 3A stores a fixed value of 22. In addition to a transmission packet called a membership report, the IGMP standard also uses a transmission packet called a membership query, which also includes a type field, and the type field of a membership query stores a fixed value of 11. In other words, membership reports and membership queries are distinguished by the values (11, 22) stored in the type field. The reserved field is an area used for future extensions of the IGMP standard, and stores, for example, the value 0 in the reserved field. The number of group records field stores the number of group records included in the membership report (the value M).
[0032] FIG. 3C is a table illustrating an example of the numerical values 1 to 6 stored in the record type of group record i shown in FIG. 3B and the contents of the messages indicated by each of the numerical values 1 to 6. Here, the record type of group record i will be described in detail. The numerical value 1 indicates that the operation mode of destination device 18a is the message MODE_IS_INCLUDE. The message MODE_IS_INCLUDE is associated with the source IP address of source device 12, and indicates that destination device 18a will only receive distribution data distributed by multicast from the associated source IP address. The set of source IP addresses of distribution data received by destination device 18a is called an INCLUDE list.
[0033] The number 2 indicates that the operation mode of the destination device 18a is the message MODE_IS_EXCLUDE. The message MODE_IS_EXCLUDE is associated with the source IP address of the source device 12, and the message MODE_IS_EXCLUDE indicates that the destination device 18a will not receive distribution data distributed by multicast from the associated source IP address, but will only receive distribution data distributed from sources other than the associated source IP address. The set of source IP addresses of distribution data that the destination device 18a will not receive is called an EXCLUDE list.
[0034] The number 3 indicates the message CHANGE_TO_INCLUDE_MODE. The message CHANGE_TO_INCLUDE_MODE indicates that the operation mode of the destination device 18a has been changed from another operation mode (the operation mode of the message MODE_IS_EXCLUDE below) to the operation mode of the message MODE_IS_INCLUDE, which is number 1.
[0035] The number 4 indicates the message CHANGE_TO_EXCLUDE_MODE. The message CHANGE_TO_EXCLUDE_MODE indicates that the operation mode of the destination device 18a has been changed from the operation mode of the message MODE_IS_INCLUDE to the operation mode of the message MODE_IS_EXCLUDE, which is the number 2.
[0036] The number 5 indicates the message ALLOW_NEW_SOURCES, which includes an ALLOW_NEW_SOURCES message for the INCLUDE list and an ALLOW_NEW_SOURCES message for the EXCLUDE list. The source IP address of the source device 12 is associated with the message ALLOW_NEW_SOURCES. The message ALLOW_NEW_SOURCES for the INCLUDE list indicates that the associated source IP address is to be added to the INCLUDE list. The message ALLOW_NEW_SOURCES for the EXCLUDE list indicates that the associated source IP address is to be removed from the EXCLUDE list.
[0037] The number 6 indicates the message BLOCK_OLD_SOURCES, which includes a BLOCK_OLD_SOURCES message for the INCLUDE list and a BLOCK_OLD_SOURCES message for the EXCLUDE list. The message BLOCK_OLD_SOURCES is associated with the source IP address of the source device 12. The message BLOCK_OLD_SOURCES for the INCLUDE list indicates that the associated source IP address is to be deleted from the INCLUDE list. The message BLOCK_OLD_SOURCES for the EXCLUDE list indicates that the associated source IP address is to be added to the EXCLUDE list.
[0038] The packet management unit 206 (FIG. 2) processes group records 1 to M (FIG. 3B) included in the membership report (FIG. 3A) input from the packet processing unit 204, and determines whether a Join message and / or a Leave message has been received from the destination device 18a. When the packet management unit 206 determines that a Join message and a Leave message have been received from the destination device 18a, and if these messages are related, the packet management unit 206 defines a relationship between these messages. On the other hand, when the packet management unit 206 determines that a Join message and a Leave message have been received from the destination device 18a, and if these messages are not related, the packet management unit 206 does not define a relationship between these messages.
[0039] When the packet management unit 206 receives a membership report (FIG. 3A) from the destination device 18 and the group record (FIG. 3B) included in the received membership report includes a BLOCK_OLD_SOURCES message for the INCLUDE list as a record type, the packet management unit 206 deletes the source IP address associated with the BLOCK_OLD_SOURCES message from the INCLUDE list. Furthermore, the packet management unit 206 controls the distribution data switch unit 202 to stop distribution of the distribution data indicated by the multicast group among the distribution data distributed from the source device 12 indicated by the source IP address. In other words, it can be used as a BLOCK_OLD_SOURCES message for the INCLUDE list.
[0040] Alternatively, when the packet management unit 206 receives a membership report (FIG. 3A) from the destination device 18a via the packet processing unit 204 and the group record (FIG. 3B) included in the received membership report includes the message CHANGE_TO_INCLUDE_MODE for the INCLUDE list as a record type, the packet management unit 206 controls the distribution data switch unit 202 to start distribution of the distribution data indicated by the multicast group among the distribution data distributed from the source device 12 indicated by the source IP address associated with the message CHANGE_TO_INCLUDE_MODE for the INCLUDE list. At this time, as described above, the operation mode of the destination device 18a is changed from another operation mode to the operation mode of the message CHANGE_TO_INCLUDE_MODE. In other words, the message CHANGE_TO_INCLUDE_MODE for the INCLUDE list can be used as a Join message.
[0041] For example, if the received Join message and Leave message are received from the destination device 18a in group records 1 to M included in the same membership report, the packet management unit 206 determines that there is a relationship between these messages. On the other hand, if the received Join message and Leave message are received from the destination device 18a in group records 1 to M included in different membership reports, the packet management unit 206 determines that there is no relationship between these messages. The packet management unit 206 notifies the information management unit 208 whether a relationship has been defined between the Join message and Leave message received from the destination device 18a.
[0042] Information management unit 208 uses a group record management table shown in FIG. 3D (described later with reference to FIG. 3D) to manage whether or not a relationship has been defined between a Join message and a Leave message from packet management unit 206, and the membership report and group records 1 to M (FIGS. 3A and 3B) input from packet processing unit 204. Information management unit 208 also manages the membership report and group records 1 to M input from packet processing unit 204 using an INCLUDE list (not shown) and an EXCLUDE list (not shown). Information management unit 208 stores the group record management table, the INCLUDE list, and the EXCLUDE list in main storage device 142 (FIG. 1C).
[0043] FIG. 3D is a diagram illustrating a specific example of the content of the group record management table generated by the information management unit 208 shown in FIG. As illustrated in FIG. 3D, in the group record management table, the IP address (SDIPA; Source Device IP Address) of the distribution source device 12 that is the source of distribution data A, B, and C to be distributed to the distribution destination device 18a, identification information (DDII; Distribution Data Identification Information) of each of the distribution data A, B, and C, the IP address (DDIPA; Destination Device IP Address) of the distribution destination device 18a, information indicating whether a Join message (message CHANGE_TO_INCLUDE_MODE for the INCLUDE list) and a Leave message (message BLOCK_OLD_SOURCES for the INCLUDE list) for each of the distribution data A, B, and C have been received (Join / Leave) or not (N / A), information (JLR; Join Leave Relation) indicating whether a relationship has been defined between the Join message and the Leave message for each of the distribution data A, B, and C notified by the packet management unit 206, and information indicating whether each of the distribution data A, B, and C is being distributed to the distribution destination device 18a are stored and managed in association with each other.
[0044] 3D shows a case where three types of distribution data A, B, and C can be distributed from the distribution source device 12 to the distribution destination device 18a. This group record management table also shows that multicast distribution data A has been distributed to the distribution destination device 18a, but that multicast distribution data B and C have not been distributed. This group record management table also shows that a Leave message for distribution data A and a Join message for distribution data B have been received, but that neither a Leave message nor a Join message for distribution data C has been received (N / A; not applicable).
[0045] This group record management table also indicates that a Leave message for distribution data A and a Join message for distribution data B, both included in the same membership report, have been received from destination device 18a, and that a relationship has been defined between these Leave messages and Join messages. This group record management table also indicates that no relationship has been defined (N / A) between the Leave message and Join message for distribution data C.
[0046] The group record management table illustrated in FIG. 3D shows a case where three types of distribution data A, B, and C are distributed from the source device 12 to the destination device 18a. However, it will be obvious to those skilled in the art that, with appropriate modifications, the group record management table can accommodate cases where only one type of distribution data is distributed from the source device 12 to the destination device 18a, or where three or more types of distribution data are distributed.
[0047] The distribution data switch unit 202 (FIG. 2) receives distribution data A, B, and C from the distribution source device 12 via the network 100 and the packet processing unit 200. Furthermore, the distribution data switch unit 202 distributes the distribution data A, B, and C to the distribution destination device 18a via the packet processing unit 204 and the network in accordance with the contents of the group record management table (FIG. 3D).
[0048] The following describes the operation of the data distribution system 1. Fig. 4A is a flowchart illustrating an example of communication control processing implemented by the communication control unit 2 (Fig. 2) in the distribution device 14 (Fig. 1A). Fig. 4B is a communication sequence diagram illustrating an example of communication between the distribution source device 12, the distribution device 14, and the distribution destination device 18a in the data distribution system 1.
[0049] First, the processing of the communication control unit 2 in the distribution device 14 (FIG. 1A) of the data distribution system 1 will be described with reference to FIG. 4A. Note that, hereinafter, a description of the INCLUDE list and EXCLUDE list by the information management unit 208 (FIG. 2) of the communication control unit 2 and the processing related to these lists will be omitted. As shown in FIG. 4A, in S100, the packet processing unit 204 determines whether or not a packet (membership report; FIGS. 3A to 3C) has been received from the distribution destination device 18a via the network. If the packet processing unit 204 has received a packet (Y in the processing of S100), it outputs the packet to the packet management unit 206 and the information management unit 208, and the communication control unit 2 proceeds to the processing of S102. If the packet has not been received (N in the processing of S100), the communication control unit 2 remains in the processing of S100.
[0050] In S102, the information management unit 208 processes the packet input from the packet processing unit 204, and updates and manages the contents of the group record management table (GRMT; FIG. 3D) based on the information contained in the packet. In S104, the packet management unit 206 determines whether the received packet contains at least one of a Join message and a Leave message. If the received packet contains at least one of a Join message and a Leave message (Y in the process of S104), the communication control unit 2 proceeds to the process of S106, and if the received packet does not contain either a Join message or a Leave message (N in the process of S104), the communication control unit 2 proceeds to a process other than communication control.
[0051] In S106, the packet management unit 206 determines whether the received packet contains only a Join message associated with the distribution data and does not contain a Leave message. If the received packet contains only a Join message and does not contain a Leave message (Y in S106), the communication control unit 2 proceeds to S108, and if the received packet does not contain a Join message or also contains a Leave message (N in S106), the communication control unit 2 proceeds to S110.
[0052] In S108, the packet processing unit 204 starts distribution of the distribution data, which was input from the source device 12 via the network 100 and the packet processing unit 200 and for which start of distribution was requested by the Join message received from the destination device 18a, to the packet processing unit 204 and the network, in accordance with the contents of the group record management table updated by the information management unit 208.
[0053] In S110, the packet management unit 206 determines whether the received packet contains only a Leave message associated with the distribution data and does not contain a Join message. If the received packet contains only a Leave message (Y in S110), the communication control unit 2 proceeds to S112, and if the received packet contains both a Join message and a Leave message (N in S110), the communication control unit 2 proceeds to S114.
[0054] In S112, the packet processing unit 204 stops distribution to the destination device 18a of the distribution data that was input from the source device 12 via the network 100 and the packet processing unit 200 and for which the destination device 18a has requested that distribution be stopped, in accordance with the contents of the group record management table updated by the information management unit 208. In S114, the packet management unit 206 defines the relationship between the Join message and the Leave message contained in the same packet, and notifies the information management unit 208 of this.
[0055] At S116, distribution data switch unit 202 stops distribution of distribution data related to the Leave message before starting distribution of distribution data related to the Join message, in accordance with the contents of the group record management table. According to the contents of the group record management table illustrated in Fig. 3D, distribution data switch unit 202 stops distribution of distribution data A related to the Leave message before starting distribution of distribution data B related to the Join message.
[0056] In S118, distribution data switch unit 202 determines whether distribution of distribution data related to the Leave message has been stopped. If distribution of distribution data related to the Leave message has been stopped (Y in S118), distribution data switch unit 202 proceeds to S120, and if not (N), distribution data switch unit 202 remains in S118. According to the contents of the group record management table illustrated in FIG. 3D, distribution data switch unit 202 determines whether distribution of distribution data A related to the Leave message has been stopped, and if distribution of distribution data A has been stopped, proceeds to S120, and if distribution of distribution data A has not been stopped, distribution data switch unit 202 remains in S118.
[0057] In accordance with the contents of the group record management table, distribution data switch unit 202 begins distribution of distribution data related to the Join message received from source device 12 via network 100 and packet processing unit 200 to destination device 18a. According to the contents of the group record management table illustrated in FIG. 3D, distribution data switch unit 202 begins distribution of distribution data A to destination device 18a. Information management unit 208 updates and manages the group record management table in response to the start of distribution of distribution data related to the Join message to destination device 18a. That is, information management unit 208 changes the distribution status of distribution data whose distribution has been stopped from "distributing" to "not distributing," and changes the distribution status of distribution data whose distribution has been started from "not distributing" to "distributing," and manages the table accordingly.
[0058] 4B, a communication sequence between the source device 12, the distribution device 14, and the destination device 18 in the data distribution system 1 will be described below. As shown in FIG. 4B, in S140, distribution data A is transmitted from the source device 12 to the distribution device 14, and the distribution device 14 continues to receive the distribution data A from the source device 12 via the network 100. In S142, distribution data B is transmitted from the source device 12 to the distribution device 14, and the distribution device 14 continues to receive the distribution data A from the source device 12 via the network 100.
[0059] In S144, the distribution device 14 receives a packet (group record management table (GRMT) FIG. 3D) including a Join message (first distribution start request) related to distribution data A from the distribution destination device 18a via the network. In S146, the distribution device 14 starts distribution of the distribution data A related to the Join message to the distribution destination device 18a via the network, and further continues distribution of the distribution data A.
[0060] In S148, the distribution device 14 receives a packet from the distribution destination device 18a via the network, the packet including both a Leave message (distribution stop request) related to distribution data A and a Join message (second distribution start request) related to distribution data B. The distribution device 14 defines the relationship between the Leave message and the Join message included in this packet. In S150, the distribution device 14 stops the distribution of distribution data A to the distribution destination device 18a via the network. In S152, after the distribution of distribution data A to the distribution destination device 18a via the network has stopped, the distribution device 14 starts the distribution of distribution data B to the distribution destination device 18a via the network, and further continues the distribution of distribution data B.
[0061] 4A and 4B, even if a Leave message related to one distribution data and a Join message related to the other distribution data are received within a short time interval, the distribution device 14 always stops distributing one distribution data and then starts distributing the other distribution data. Therefore, both one distribution data and the other distribution data are not distributed from the distribution device 14 to the distribution destination device 18a via a communication line included in the network between the distribution device 14 and the distribution destination device 18a. Therefore, the distribution device 14 can avoid the possibility of insufficient transmission capacity of the communication line.
[0062] Some or all of the above embodiments can be described as, but are not limited to, the following supplementary notes. [Appendix 1] A distribution device including one or more processors, wherein the one or more processors are configured to receive a plurality of distribution data from a distribution source device, receive from a distribution destination device a first distribution start request requesting start of distribution of any of the plurality of distribution data, start distribution of the distribution data requested to start to the distribution destination device in response to receiving the first distribution start request, receive from the distribution destination device a distribution stop request requesting stop of distribution of any of the plurality of distribution data, receive from the distribution destination device a second distribution start request requesting start of distribution of any other of the plurality of distribution data, define an association between the received distribution stop request and the second distribution start request, stop distribution of the distribution data being distributed to the distribution destination device in response to the distribution stop request whose association is defined, and after stopping distribution of the distribution data being distributed to the distribution destination device, start distribution of any other of the plurality of distribution data to the distribution destination device in response to the second distribution start request whose association is defined. [Appendix 2] The distribution device described in Appendix 1, wherein the first distribution start request requests the start of distribution of first distribution data among the plurality of distribution data, and in response to the distribution stop request in which a relationship is defined, stops the distribution of the first distribution data after the start of distribution of the first distribution data, and in response to the second distribution start request in which a relationship is defined, starts distribution of second distribution data among the plurality of distribution data that is different from the first distribution data. [Appendix 3] 3. The distribution device according to claim 1, wherein the distribution stop request and the second distribution start request, which are included in the same transmission packet, are defined as being related to each other. [Appendix 4] A distribution device described in any of Appendices 1 to 3, wherein the reception of the multiple distribution data from the distribution source device, the reception of the first distribution start request, the second distribution start request and the distribution stop request from the distribution destination device, and the distribution of the first distribution data and the second distribution data to the distribution destination device are performed in accordance with the IGMP standard. [Appendix 5] A distribution device described in any of Appendices 1 to 4, wherein the first distribution start request is a Join message related to the first distribution data, the distribution stop request is a Leave message related to the first distribution data, and the second distribution start request is a Join message related to the second distribution data. [Appendix 6] 6. The distribution device according to any one of appendices 1 to 5, wherein the Leave message is a BLOCK_OLD_SOURCES message, and the Join message is a CHANGE_TO_INCLUDE_MODE message. [Appendix 7] a step of receiving from the destination device a distribution stop request requesting to stop distribution of one of the plurality of distribution data; a step of receiving from the destination device a second distribution start request requesting to start distribution of another of the plurality of distribution data; a step of defining an association between the received distribution stop request and the second distribution start request; a step of stopping distribution of the distribution data being distributed to the destination device in response to the distribution stop request for which the association is defined; and a step of starting distribution of the plurality of distribution data to another of the destination devices in response to the second distribution start request for which the association is defined, after stopping distribution of the distribution data being distributed to the destination device. [Appendix 8] a process for receiving from the destination device a distribution stop request requesting that distribution of one of the plurality of distribution data be stopped; a process for receiving from the destination device a second distribution start request requesting that distribution of another of the plurality of distribution data be started; a process for defining an association between the received distribution stop request and the second distribution start request; a process for stopping distribution of the distribution data being distributed to the destination device in response to the distribution stop request for which the association is defined; and a process for starting distribution of the plurality of distribution data to another of the plurality of distribution data in response to the second distribution start request for which the association is defined after distribution of the distribution data being distributed to the destination device has been stopped. It goes without saying that combinations of the various forms described in the appendix of this disclosure, or any combination of the elements described in each aspect and embodiment (including the non-selection of some elements), can be made at any time by those skilled in the art in accordance with the basic concept of this disclosure.
[0063] The disclosures of the above-cited patent documents and other documents are incorporated herein by reference. Modifications and adjustments of the embodiments and examples are possible within the scope of the entire disclosure of the present invention (including the claims), and further based on the basic technical concepts thereof. Furthermore, various combinations and selections (including partial deletions) of various disclosed elements (including elements of each claim, each element of each embodiment or example, each element of each drawing, etc.) are possible within the scope of the entire disclosure of the present invention. In other words, the present invention naturally embraces various modifications and alterations that would be possible by those skilled in the art in accordance with the entire disclosure and technical concepts, including the claims. In particular, the numerical ranges set forth herein should be construed as specifically describing any numerical value or subrange within the range, even if not otherwise specified. Furthermore, the disclosures of the above-cited documents are deemed to be included in the disclosure of this application, in part or in whole, which may be used in combination with the disclosures herein, as necessary, in accordance with the spirit of the present invention. [Explanation of symbols]
[0064] 1. Data distribution system 100 Network 12 Source device 14 Distribution Device 140 CPU 142 Main storage 144 Auxiliary storage 146 Network Interface 148 Input / Output Interface 150 Destination Device Interface 18 Destination device 180 Destination Device Interface 2. Communication control section 200,204 Packet processing unit 202 Distribution Data Switch 206 Packet Management Unit 208 Information Management Department
Claims
1. A distribution device comprising one or more processors, the one or more processors comprising: receiving a plurality of pieces of distribution data from a distribution source device; receiving a first distribution start request from a distribution destination device, the first distribution start request requesting the start of distribution of any of the plurality of distribution data; In response to receiving the first distribution start request, start distribution of the distribution data for which start of distribution has been requested to the distribution destination device; receiving a distribution stop request from the distribution destination device to request that distribution of any one of the plurality of distribution data be stopped; receiving a second distribution start request from the distribution destination device, the second distribution start request requesting the start of distribution of any other of the plurality of distribution data; defining a relationship between the received distribution stop request and the second distribution start request; Stopping distribution of the distribution data being distributed to the distribution destination device in response to the distribution stop request for which a relationship is defined; After the distribution of the distribution data being distributed to the distribution destination device is stopped, in response to the second distribution start request in which a relationship is defined, distribution of the plurality of distribution data to any other of the distribution destination devices is started. A distribution device configured as follows.
2. the first distribution start request requests the start of distribution of first distribution data among the plurality of distribution data; Stopping distribution of the first distribution data after starting distribution of the first distribution data in response to the distribution stop request for which a relationship is defined; In response to the second distribution start request for which the relationship is defined, distribution of second distribution data different from the first distribution data is started among the plurality of distribution data. The distribution device according to claim 1 .
3. It is defined that there is a relationship between the distribution stop request and the second distribution start request included in the same transmission packet. The distribution device according to claim 2 .
4. Receiving the plurality of distribution data from the distribution source device, receiving the first distribution start request, the second distribution start request, and the distribution stop request from the distribution destination device, and distributing the first distribution data and the second distribution data to the distribution destination device are performed in accordance with the IGMP standard. The distribution device according to claim 2 .
5. the first distribution start request is a Join message related to the first distribution data, the distribution stop request is a Leave message related to the first distribution data, The second distribution start request is a Join message related to the second distribution data. The distribution device according to claim 4 .
6. The Leave message is a message BLOCK_OLD_SOURCES, The Join message is a CHANGE_TO_INCLUDE_MODE message. The distribution device according to claim 5 .
7. receiving a plurality of pieces of distribution data from a distribution source device; receiving a first distribution start request from a distribution destination device, the first distribution start request requesting the start of distribution of any of the plurality of distribution data; In response to receiving the first distribution start request, starting distribution of the distribution data for which start of distribution has been requested to the distribution destination device; receiving a distribution stop request from the distribution destination device to request that distribution of any one of the plurality of distribution data be stopped; receiving a second distribution start request from the distribution destination device, the second distribution start request requesting the start of distribution of any other of the plurality of distribution data; defining a relationship between the received distribution stop request and the second distribution start request; a step of stopping distribution of the distribution data being distributed to the distribution destination device in response to the distribution stop request for which a relationship is defined; a step of starting distribution of the plurality of distribution data to any other of the distribution destination devices in response to the second distribution start request, the second distribution start request having a defined relationship, after stopping distribution of the distribution data being distributed to the distribution destination device; Delivery methods including.
8. A distribution device including one or more processors, a process for receiving a plurality of pieces of distribution data from a distribution source device; a process of receiving a first distribution start request from a distribution destination device, the first request requesting the start of distribution of any of the plurality of distribution data; a process of starting distribution of the distribution data requested to start distribution to the distribution destination device in response to receiving the first distribution start request; a process of receiving a distribution stop request from the distribution destination device to request that distribution of any one of the plurality of distribution data be stopped; a process of receiving a second distribution start request from the distribution destination device, the second distribution start request requesting the start of distribution of any other of the plurality of distribution data; a process for defining a relationship between the received request to stop distribution and the second request to start distribution; a process of stopping distribution of the distribution data being distributed to the distribution destination device in response to the distribution stop request for which a relationship is defined; a process of starting distribution of the plurality of distribution data to any other of the distribution destination devices in response to the second distribution start request, the second distribution start request having a defined relationship, after stopping distribution of the distribution data currently being distributed to the distribution destination device; A distribution program that causes the one or more processors to execute the above.
Citation Information
Patent Citations
Method and device for managing multicast content distribution
EP2139159A1
Streaming data delivery
JP2008523685A
Multicast control router, and multicast control method
JP2010098606A
Transfer control device, transfer control method, transfer control program, switching system, switching method, and transfer system
JP2022093832A
Computer network multicasting traffic monitoring and compensation
US8060598B1