WO2012073521A1 - Système de distribution d'événements et procédé de distribution d'événements - Google Patents
Système de distribution d'événements et procédé de distribution d'événements Download PDFInfo
- Publication number
- WO2012073521A1 WO2012073521A1 PCT/JP2011/006767 JP2011006767W WO2012073521A1 WO 2012073521 A1 WO2012073521 A1 WO 2012073521A1 JP 2011006767 W JP2011006767 W JP 2011006767W WO 2012073521 A1 WO2012073521 A1 WO 2012073521A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- message
- route
- information
- event
- flow
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Definitions
- the present invention relates to an event delivery system and an event delivery method for notifying a receiver who wishes to be notified of an event that has occurred in a certain observation target, of the event information.
- Patent Document 1 describes an information communication system that transmits information to a plurality of node devices without using a management server or the like.
- an overlay network for distributing catalog information is constructed by an algorithm using DHT (Distributed Hash Table).
- DHT Distributed Hash Table
- the information collection message transmitted from one node participating in the overlay network is transmitted to the other by multicast using DHT (hereinafter referred to as DHT multicast). It is distributed to all the nodes, and the nodes collect response information for the information collection message. If the node ID is a 4-digit quaternary number, the DHT multicast is performed for each ID mask (that is, in steps from the first stage to the fourth stage).
- an overlay network is constructed using a unique application. Therefore, routing suitable for the application can be performed on the overlay network.
- IP routing also occurs between the overlay network nodes. That is, in the information communication system described in Patent Document 1, there is a problem in that the delivery delay increases because double routing of routing processing in the overlay network and routing processing in the IP network occurs.
- the present invention provides an event distribution system and an event distribution method that can unify routing processing on a network even when event distribution between nodes in an overlay network is performed via an IP network. Objective.
- An event distribution system includes a distribution device that distributes an event that has occurred to another device, a reception device that receives the distributed event, a communication relay device that relays communication between the devices via a communication network, A control device that identifies a data flow including an event and sets route information indicating the distribution route in a flow switch that is a switch that transfers the data flow to the device on the distribution route.
- a communication relay device first specifying means for specifying a distribution route setting device that performs a distribution route setting process according to an event, and a route table that defines a communication route between the distribution device, the receiving device, and the communication relay device A first message including event identification information, which is information for identifying an event, and a path information element, which is information indicating a part of the communication path.
- First transmission means for transmitting the message to the communication relay device
- the receiving device specifies communication distribution device second specification means for specifying the distribution route setting device according to the event, event identification information based on the route table
- a second transmission means for transmitting a second message including a route information element to the communication relay device, and when the communication relay device receives the first message or the second message, If it is a delivery route setting device, the first message or the second message is transferred to the control device, and if the local communication relay device is not a delivery route setting device, route information is included in the first message or the second message.
- a message transfer method that adds an element and transfers the first message or the second message to another communication relay device on the delivery route based on the route table.
- Flow identification information which is information for identifying a data flow used for event distribution assigned to each event identification information included in the first message or the second message received from the communication relay device
- route information setting means for setting, in the flow switch, route information in which the first message and the route information element included in the second message are associated with each other.
- the event distribution method is a distribution route setting in which a distribution device that distributes an event that has occurred to another device performs distribution route setting processing among communication relay devices that relay communication between the devices via a communication network.
- Information that identifies a device according to the event, and the distribution device identifies the event based on a route table that defines a communication route between the distribution device, the communication relay device, and a receiving device that receives the distributed event
- the communication relay device receives the first message
- the communication relay device is a distribution route setting device
- a switch that identifies a data flow including an event and transfers the data flow to a device on the distribution route
- the first message is forwarded to the control device that sets the route information indicating the delivery route to a certain flow switch.
- the route information element is added to the first message. Then, the first message is transferred to another communication relay device on the delivery route based on the route table, the receiving device specifies the delivery route setting device according to the event, and the receiving device is based on the route table.
- the second message including the event identification information and the route information element is transmitted to the communication relay device, and the communication relay device receives the second message, the own communication relay device is the distribution route setting device. If the second message is transferred to the control device, and the local communication relay device is not a distribution route setting device, a route information element is added to the second message.
- the second message is transferred to another communication relay device on the delivery route based on the route table, and the event included in the first message or the second message received from the communication relay device by the control device
- a flow switch that associates flow identification information, which is information for identifying a data flow used for event distribution assigned for each identification information, with the first message and the route information element included in the second message. It is characterized by setting to.
- routing processing on the network can be unified.
- FIG. 1 is a block diagram showing an embodiment of an event distribution system according to the present invention.
- the event distribution system in this embodiment includes a publisher 10 (hereinafter referred to as a publisher 10), a subscriber 20 (hereinafter referred to as a subscriber 20), a rendezvous point 30 (hereinafter referred to as a rendezvous point 30), a broker (hereinafter referred to as a broker) 40 to 46, and a flow switch. 50 and a controller 60 (hereinafter referred to as a controller 60).
- the brokers 40 to 46 and the flow switch 50 are connected to each other via a communication network 70.
- the broker 40 is connected to the publisher 10, and the broker 46 is connected to the subscriber 20.
- seven brokers are shown in the event distribution system, but the number of brokers is not limited to seven.
- Brokers 40-46 transfer control messages sent from each device. Specifically, the broker performs an advertisement process performed by the publisher 10 connected to each broker and a transfer process of a control message transmitted in a subscription process performed by the subscriber 20.
- the advertisement process is a process of registering an event name for identifying each event on the event distribution system.
- an event name “LinkFailure” is registered as an event indicating a broken link.
- the system user may define the event name using an arbitrary word, or may define the event name in accordance with the rules for determining URI (Uniform Resource Identifiers) described in the following references.
- the advertisement message includes the event name of the event to be registered.
- the subscription process is a process for registering reception of an event transmitted from the publisher 10.
- the control message transmitted by the subscriber 20 when performing the subscription process is referred to as a subscription message.
- the subscription message includes the event name of the event to be registered.
- Each of the brokers 40 to 46 may be realized by an independent device, or may be realized as a part of an apparatus integrated with other functions. The functions of the broker 40 connected to the publisher 10 and the broker 46 connected to the subscriber 20 will be described later.
- Publisher 10 performs the advertisement process and event information transmission process.
- the generated event information is transferred to another device by, for example, IP multicast.
- the publisher 10 performs an advertisement process prior to the event information transmission process, thereby setting a delivery route from the publisher 10 to the rendezvous point 30.
- the rendezvous point 30 is a connection point between the distribution path from the publisher 10 to the rendezvous point 30 and the distribution path from the rendezvous point 30 to the subscriber 20.
- the broker 40 calculates a hash value from the event name, and identifies an adjacent broker as a transfer destination based on the calculated hash value. Note that a method of determining a delivery destination based on a hash value is widely known as a distributed hash table (DHT) algorithm, and thus detailed description thereof is omitted here.
- DHT distributed hash table
- the publisher 10 and the broker 40 may be realized by independent server devices, or may be realized by one server device.
- the subscriber 20 performs a subscription process for receiving event information (hereinafter referred to as event information reception registration), and then receives the registered event information. Further, the subscriber 20 sets a delivery route from the rendezvous point 30 to the subscriber 20 by performing a subscription process prior to receiving the event information.
- event information reception registration a subscription process for receiving event information
- subscriber 20 sets a delivery route from the rendezvous point 30 to the subscriber 20 by performing a subscription process prior to receiving the event information.
- the broker 46 calculates a hash value from the name of the event that requests distribution, and identifies the broker based on the calculated hash value. Note that the method for determining the adjacent distribution destination as the transfer destination based on the hash value is the same as the method for the broker 40 determining the distribution destination.
- the subscriber 20 and the broker 46 may be realized by independent devices, or may be realized by one device.
- each broker determines whether the received communication is a communication addressed to itself. When the communication is addressed to the own device, the broker 43 transmits the communication to the rendezvous point 30.
- the rendezvous point 30 manages the distribution route of event information. Specifically, the rendezvous point 30 specifies a delivery route of event information from route information included in an advertisement message and a subscription message. In addition, the rendezvous point 30 instructs the controller 60 to set the specified distribution route to the flow switch 50.
- the rendezvous point 30 is realized as a function on the router, for example. Since the rendezvous point 30 sets a distribution route based on the received message, the rendezvous point 30 can also be called a distribution route setting device.
- the rendezvous point 30 and the broker 43 may be realized by independent server devices or may be realized by one server device.
- the flow switch 50 is a switch having means for identifying individual data flows passing through the flow switch 50 itself. This data flow is identified by a combination of an identifier for identifying a device or a node that performs data transmission / reception, a node address, a protocol identifier, and the like. Specifically, when the flow switch 50 receives a data flow including event information transmitted by the publisher 10, the flow switch 50 identifies the content of the data flow and distributes the event information to the rendezvous point 30 and the subscriber 20.
- the controller 60 sets information (flow information) for identifying a data flow including event information in the flow switch 50.
- Information set in the flow switch 50 will be described later.
- a route from publisher 10 ⁇ broker 40 ⁇ broker 42 ⁇ broker 43 ⁇ rendezvous point 30 is set in the advertisement process, and in the subscription process, from rendezvous point 30 ⁇ broker 43 ⁇ broker 44 ⁇ broker 46 ⁇ subscriber 20.
- a route is set.
- FIG. 2 is a sequence diagram illustrating an example of processing for setting a delivery route in advertisement processing.
- the publisher 10 transmits an advertisement message and transfers it to the broker 40 that is a connection destination (step S1).
- This advertisement message includes the event name of the event distributed by the publisher 10.
- the broker 40 calculates a hash value from the event name and obtains an event identifier used as a key.
- the hash value “43” is calculated. This hash value “43” is handled as information for identifying the destination of the advertisement message. Therefore, the broker 40 searches for an adjacent broker to be transferred using the routing table.
- the route table is a table in which a communication source device and a communication destination device are associated with each other, and examples thereof include a route table configured by DHT.
- the route table is stored in, for example, a memory (not shown) provided in each broker.
- communication paths among the publisher 10, the subscriber 20, and the brokers 40 to 46 are defined in the path table.
- FIG. 3 is an explanatory diagram illustrating an example of information included in the advertisement message.
- the path information element illustrated in FIG. 3 includes a message type (here, “advertisement”) indicating the type of message, an event name, an event identifier, and three path information elements.
- the route information element includes an element number given in the order in which the route information element is added, own node information to which the route information element is added, parent node information indicating information of a node that is a source of the advertisement message, and an advertisement message. Including child node information indicating information on a node to be a transmission destination of.
- the content of the route information element is not limited to the content illustrated in FIG. Further, since the delivery route can be specified by connecting the route information elements, the route information element can be said to be a part of the delivery route.
- the advertisement message may include information indicating instruction contents for operating the event information.
- the event information is newly added (new), the event information is updated (updated), or the event information is deleted (deleted) as information indicating the instruction content.
- node ID information here, “40”
- address information parent node information on the distribution route
- child node information are added to the advertisement message.
- address information A specific example of address information will be described in an embodiment described later.
- the broker 40 is an event distribution starting node, there is no parent node. Therefore, a null value or some invalid value may be set in the parent node information (node ID information, address information) of the route information element.
- the adjacent node is the broker 42
- information on the broker 42 may be set in the child node information. In the example shown in FIG. 3, a pointer to the next route information element is set in the child node information.
- the broker 42 and the broker 43 respectively add route information elements called route information element 1 and route information element 2 to the advertisement message.
- the broker determines whether or not the transmission destination of the received advertisement message is its own node.
- the broker 43 that has received the advertisement message ends the forwarding process of the advertisement message because its own node ID is “43”. Then, the broker 43 delivers the advertisement message to the rendezvous point 30 (step S7), and starts processing performed by the rendezvous point 30.
- the rendezvous point 30 that has received the advertisement message confirms the route information elements 0 to 2 so that the distribution route of event distribution in the current advertisement processing is the publisher 10 ⁇ broker 40 ⁇ broker 42 ⁇ broker 43 ⁇ rendezvous point 30. Identify that there is.
- FIG. 4 is a sequence diagram illustrating an example of processing for setting a route in the flow switch 50.
- the rendezvous point 30 transmits a route setting request message to the controller 60 (step S8).
- the route setting request message includes a flow identifier and a route information element included in the advertisement message. Further, the route setting request message may include information indicating the content of instructions for registering event information.
- the flow identifier is information for identifying a data flow including event information.
- the flow identifier and the event identifier may correspond to each other on a one-to-one basis.
- the value of the event identifier may be set as the value of the flow identifier in the route setting request message.
- a correspondence table for converting the flow identifier and the event identifier may be prepared in advance, and the value of the flow identifier obtained by converting the received event identifier may be set in the route setting request message.
- the route information element includes information indicating a delivery route (here, broker 40 ⁇ broker 42 ⁇ broker 43) set in the flow switch 50.
- the controller 60 uses the information indicating the physical network configuration generated in advance and the received route information element to set the route information to be set in the flow switch 50 (hereinafter referred to as route setting information). ) Is calculated (step S9).
- the controller 60 uses a physical network configuration indicating which terminal (broker) is connected to which port of the flow switch 50 and a path information element indicating which broker on the terminal is connected. Route setting information is calculated.
- a star configuration is calculated with the broker 40 as the starting point and the brokers 42 and 43 as the end points.
- the controller 60 assigns flow identification information to the flow identifier.
- the flow identification information is information for identifying a flow used for event distribution.
- the controller 60 assigns, for example, an L3 address and a port number as the flow identification information.
- As this L3 address for example, an IP multicast address is assigned.
- the controller 60 may assign IP multicast addresses so that they do not overlap in the order in which the flow identifiers are received.
- the controller 60 transmits a route setting message including the flow identifier, flow identification information, and route setting information to the flow switch 50 to set the route information (step S10).
- FIG. 5 is an explanatory diagram showing an example of a route setting message.
- the route setting message illustrated in FIG. 5 includes information (hereinafter referred to as a distribution instruction type) indicating instruction content for operating event information, a flow identifier, and calculated route setting information.
- the route setting information includes an element number for identifying the route setting information, a type indicating the position of the device in the star configuration, and node information of the device.
- the flow switch 50 that has received the route setting message sets the flow identifier, flow identification information, and route setting information in a flow table (not shown), and completes the setting process. Thereafter, when the flow switch 50 receives the corresponding flow, the flow switch 50 identifies the received flow using the flow identification information set in the flow table (not shown), and moves to the port to which the broker 42 and the broker 43 are connected. Switch the receive flow.
- FIG. 6 is a sequence diagram illustrating an example of processing for setting a delivery route in the subscription processing.
- the subscriber 20 transmits a subscription message and transfers it to the broker 46 that is the connection destination (step S11).
- This subscription message includes the event name of the event information that the subscriber 20 subscribes to.
- the broker 46 calculates a hash value from the event name and obtains an event identifier used as a key.
- the hash value “43” is calculated.
- This hash value “43” is handled as information for identifying the transmission destination of the subscription message. Therefore, the broker 46 searches for an adjacent broker to be transferred using the routing table.
- the method for searching for an adjacent broker is the same as the method for the broker 40 searching for an adjacent broker.
- the broker 44 is retrieved from the route table as the adjacent broker.
- FIG. 7 is an explanatory diagram illustrating an example of information included in a subscription message.
- the path information element illustrated in FIG. 7 includes a message type indicating a message type, an event name, an event identifier, and three path information elements. Note that the event name, the event identifier, and the contents of the route information element are the same as those of the advertisement message illustrated in FIG. In the message type, a message type “subscription” indicating a subscription message is set.
- the subscription message may include information (hereinafter referred to as a subscription instruction type) indicating instruction contents for event information subscription.
- a subscription instruction type information indicating instruction contents, for example, event information subscription starts (new), event information subscription contents are changed (update), event information subscription is canceled (deletion), and the like. It is specified.
- node ID information here, “46”
- address information parent node information on the distribution route
- child node information are added to the subscription message.
- address information will be described in an embodiment described later.
- the broker 46 is a starting node for event delivery, there is no parent node. Therefore, a null value or some invalid value may be set in the parent node information (node ID information, address information) of the route information element.
- the adjacent node is the broker 44, information on the broker 44 may be set in the child node information. In the example shown in FIG. 7, a pointer to the next path information element is set in the child node information.
- the broker 43 determines whether or not the transmission destination of the received subscription message is its own node.
- the broker 43 that has received the subscription message ends the transfer processing of the subscription message because its own node ID is “43”. Then, the broker 43 delivers the subscription message to the rendezvous point 30 (step S17), and starts processing performed by the rendezvous point 30.
- the rendezvous point 30 that has received the subscription message confirms the route information elements 0 to 2 so that the event delivery distribution route in the current subscription process is the rendezvous point 30 ⁇ broker 43 ⁇ broker 44 ⁇ broker 46 ⁇ subscriber 20. Identify that there is.
- the rendezvous point 30 performs route setting processing for the network including the controller 60 and the flow switch 50. Note that the process of setting a route in the flow switch 50 is the same as the process illustrated in FIG.
- the rendezvous point 30 transmits a route setting request message to the controller 60.
- This route setting request message includes the flow identifier and the route information element included in the subscription message.
- the route setting request message may include information indicating an instruction content regarding event information subscription (that is, a subscription instruction type).
- the route information element includes information indicating a delivery route (here, broker 43 ⁇ broker 44 ⁇ broker 46) set in the flow switch 50.
- the controller 60 calculates route information (route setting information) to be set to the flow switch 50 using the information indicating the physical network configuration generated in advance and the received route information element.
- route information route setting information
- a star configuration is calculated with the broker 43 as the starting point and the broker 44 and the broker 46 as the end points.
- the controller 60 assigns flow identification information to the flow identifier.
- the controller 60 assigns, for example, an L3 address and a port number as the flow identification information.
- the same L3 address that is, the same multicast address
- the controller 60 transmits a route setting message including the flow identifier, flow identification information, and route setting information to the flow switch 50 to set the route information.
- the flow switch 50 that has received the route setting message sets the flow identifier, flow identification information, and route setting information in a flow table (not shown), and completes the setting process. Thereafter, when the flow switch 50 receives the corresponding flow, the flow switch 50 identifies the received flow using the flow identification information set in the flow table (not shown), and moves to the port to which the broker 44 and the broker 46 are connected. Switch the receive flow.
- FIG. 8 is a sequence diagram showing processing after a route is set in the flow switch 50.
- the rendezvous point 30 reversely follows the route set in the advertisement process and the subscription process, and returns reply information (hereinafter referred to as a flow information notification message) including a flow identifier and flow identification information. 10 and the subscriber 20.
- reply information hereinafter referred to as a flow information notification message
- the rendezvous point 30 transmits a flow information notification message to the broker 43 (step S21).
- the broker 43 sets a routing table based on the received flow information notification message (step S22), and further transmits a flow information notification message to the broker 42 (step S23).
- the broker 42 sets a route table based on the received flow information notification message (step S24), and transmits the flow information notification message to the broker 40 (step S25).
- the publisher 10 receives the flow information notification message.
- the broker 43 also sends a flow information notification message to the broker 44 (step S33).
- the broker 44 sets a route table based on the received flow information notification message (step S34), and transmits the flow information notification message to the broker 46 (step S35). In this way, the subscriber 20 receives the flow information notification message.
- the publisher 10 can cause the flow switch 50 to recognize the flow including the event information by transmitting the event information using the flow identification information included in the received flow information notification message.
- the output port of the flow switch 50 is set in units of flow identification information (for example, in units of L2 address, L3 address, and port number) by advertisement processing and subscription processing.
- the event information transmitted from the publisher 10 is delivered in a state in which the flow identification information is included. Therefore, the flow switch 50 can specify the output port by checking the flow identification information of the received event information.
- the subscriber 20 can correctly receive the requested event information by filtering the received flow using the flow identification information included in the received flow information notification message.
- the publisher 10 and the broker 40 identify the rendezvous point 30 according to the event, and based on the route table, send the advertisement message including the event name and the route information element on the route. It transmits to a communication apparatus (here, broker 42).
- the subscriber 20 and the broker 46 identify the rendezvous point 30 according to the event, and based on the route table, send a subscription message including the event name and the route information element to the communication device (here, the broker 44). ).
- the broker receives the advertisement message or the subscription message, if the broker itself is a terminal device (that is, a communication device that performs setting processing of a distribution route), the rendezvous point 30 receives the received message. It transmits to the controller 60.
- the broker 43 adds a route information element to the received message and forwards the message to another communication device on the distribution route based on the route table. Then, the controller 60 sets, in the flow switch, path information in which the flow identification information assigned for each event identification information included in the received message is associated with the path information element included in the message.
- FIG. 9 is a block diagram showing an embodiment of the event distribution system in the present embodiment.
- the event distribution system in this embodiment includes a publisher server 100 (hereinafter referred to as a publisher server 100), a subscriber server 200 (hereinafter referred to as a subscriber server 200), broker servers (hereinafter referred to as broker servers) 410 to 450, and an open flow switch 500. (Hereinafter, OpenFlow flow switch 500) and OpenFlow Controller server 600 (hereinafter, OpenFlow controller server 600).
- Publisher server 100, subscriber server 200, broker servers 410 to 450, OpenFlow switch 500, and OpenFlow controller server 600 are connected to each other via DHT ring 700.
- the publisher server 100 includes a publisher 10 and a broker 40
- the subscriber server 200 includes a subscriber 20 and a broker 46
- the broker servers 410 to 450 include brokers 41 to 45, respectively.
- the OpenFlow controller server 600 includes an OpenFlow switch controller 660.
- Brokers 40 to 46 are nodes managed by a distributed hash table (Distributed Hash Table) using an algorithm such as Pastry or Chord, for example.
- the broker server 430 also includes a rendezvous point 30.
- broker servers other than the broker server 430 are also provided with means corresponding to the rendezvous point 30 in the above embodiment, but are not shown in FIG. Hereinafter, description will be made assuming that each process by the rendezvous point 30 is performed on the broker server 430.
- the publisher 10, the subscriber 20, the rendezvous point 30, and the brokers 40 to 46 are realized by a CPU of a computer that operates according to an application program, for example, and operate on each server device. Specifically, the CPU of each server device reads an application program stored in a storage unit (not shown) of each device, and in accordance with the program, publisher 10, subscriber 20, rendezvous point 30, and brokers 40 ⁇ It operates as 46.
- the OpenFlow switch 500 corresponds to the flow switch 50
- the OpenFlow switch controller server 600 corresponds to the controller 60.
- a procedure for constructing a route of the publisher server 100 ⁇ the broker server 420 ⁇ the broker server 430 ⁇ the broker server 440 ⁇ the subscriber server 200 will be described as a delivery route for event delivery.
- a route from publisher server 100 to broker server 420 to broker server 430 is set in the advertisement processing, and a route from broker server 430 to broker server 440 to broker server 460 to subscriber server 200 is set in the subscription processing.
- the publisher 10 of the publisher server 100 transmits an advertisement message and transfers it to the broker 40 in the server.
- This advertisement message includes an event name of event information distributed by the publisher 10 of the publisher server 100.
- the broker 40 of the publisher server 100 calculates a hash value from the event name and obtains an event identifier used as a key.
- the hash value “430” is calculated.
- This hash value “430” is handled as information for identifying the destination of the advertisement message. Therefore, the broker 40 of the publisher server 100 searches for an adjacent broker to be transferred using the routing table.
- the broker 420 is searched from the route table as an adjacent broker.
- the broker 40 of the publisher server 100 adds a route information element to the advertisement message.
- the route information element to be added is the same as the route information element illustrated in FIG.
- node ID information (here, “100”)
- IP address information parent node information on the distribution route
- child node information are added to the advertisement message.
- the broker 40 of the publisher server 100 is a starting node for event distribution, there is no parent node. Therefore, a null value or some invalid value may be set in the parent node information (node ID information, address information) of the route information element.
- the adjacent node is the broker server 420, the information of the broker server 420 may be set in the child node information.
- the broker 42 of the broker server 420 and the broker 43 of the broker server 430 add route information elements 1 and 2 to the advertisement message, respectively.
- each broker of the broker server determines whether or not the destination of the received advertisement message is its own node.
- the broker 43 of the broker server 430 that has received the advertisement message terminates the advertisement message transfer process because its own node ID is “430”. Then, the broker 43 delivers the advertisement message to the rendezvous point 30 and starts processing performed by the rendezvous point 30.
- the rendezvous point 30 of the broker server 430 that has received the advertisement message confirms the route information elements 0 to 2 so that the distribution route of the event distribution in this advertisement processing is the publisher server 100 ⁇ the broker server 420 ⁇ the broker server 430. Identify that there is.
- the rendezvous point 30 of the broker server 430 performs a route setting process on the network including the OpenFlow controller server 600 and the OpenFlow switch 500.
- the rendezvous point 30 of the broker server 430 transmits a route setting request message to the OpenFlow controller server 600.
- This route setting request message includes a flow identifier and a route information element included in the advertisement message.
- the event identifier included in the advertisement message is used as the flow identifier.
- the route information element includes information indicating a delivery route (here, the publisher server 100 ⁇ the broker server 420 ⁇ the broker server 430) set in the OpenFlow switch 500.
- the OpenFlow switch controller 660 of the OpenFlow controller server 600 receives the path setting request message, the path to be set in the OpenFlow switch 500 using the information indicating the physical network configuration generated in advance and the received path information element. Setting information is calculated.
- a star configuration is calculated starting from publisher server 100 and ending with broker server 420 and broker server 430.
- the OpenFlow switch controller 660 assigns an IP multicast address to the flow identifier as flow identification information. Then, the OpenFlow switch controller 660 transmits a route setting message including the flow identifier, flow identification information, and route setting information to the OpenFlow switch 500 to set the route information.
- FIG. 10 is an explanatory diagram showing an example of a route setting message.
- the route setting message illustrated in FIG. 10 includes a distribution instruction type, a flow identifier, and calculated route setting information.
- the route setting information includes an element number for identifying the route setting information, a type indicating the position of the device in the star configuration, and node information of the device.
- the OpenFlow switch 500 that has received the route setting message sets a flow identifier, flow identification information, and route setting information in a flow table (not shown), and completes the setting process. Thereafter, when the OpenFlow switch 500 receives the corresponding flow, the OpenFlow switch 500 identifies the received flow using the flow identification information set in the flow table (not shown), and the broker server 420 and the broker server 430 are connected. Switch the receive flow to the port.
- the subscriber server 200 transmits a subscription message and transfers it to the broker 46 in the server.
- This subscription message includes the event name of the event information that the subscriber server 200 subscribes to.
- the broker 46 of the subscriber server 200 calculates a hash value from the event name and obtains an event identifier used as a key.
- the hash value “430” is calculated.
- This hash value “430” is handled as information for identifying the transmission destination of the subscription message. Therefore, the broker 46 of the subscriber server 200 searches for an adjacent broker to be transferred using the routing table.
- the broker server 440 is searched from the route table as an adjacent broker.
- the route information element to be added is the same as the route information element illustrated in FIG.
- node ID information (here, “200”)
- IP address information parent node information on the distribution route
- child node information are added to the subscription message.
- null value or some invalid value may be set in the parent node information (node ID information, address information) of the route information element.
- the adjacent node is the broker server 440, information on the broker server 440 may be set in the child node information.
- the broker 44 of the broker server 440 and the broker 43 of the broker server 430 respectively add route information elements of route information element 1 and route information element 2 to the subscription message.
- each broker of the broker server determines whether or not the destination of the received subscription message is its own node.
- the broker 43 of the broker server 430 that has received the subscription message terminates the subscription message transfer process because its own node ID is “430”. Then, the broker 43 delivers the subscription message to the rendezvous point 30 and starts processing performed by the rendezvous point 30.
- the rendezvous point 30 of the broker server 430 that has received the subscription message confirms the route information elements 0 to 2, and the distribution route of event distribution in the current subscription processing is the broker server 430 ⁇ broker server 440 ⁇ subscriber server 200. Identify that there is.
- the rendezvous point 30 of the broker server 430 performs a route setting process on the network including the OpenFlow controller server 600 and the OpenFlow switch 500.
- the rendezvous point 30 of the broker server 430 transmits a route setting request message to the OpenFlow controller server 600.
- This route setting request message includes a flow identifier and a route information element included in the subscription message.
- the event identifier included in the subscription message is used as the flow identifier.
- the route information element includes information indicating a delivery route (here, broker server 430 ⁇ broker server 440 ⁇ subscriber server 200) set in the OpenFlow switch 500.
- the OpenFlow switch controller 660 of the OpenFlow controller server 600 receives the path setting request message, the path to be set in the OpenFlow switch 500 using the information indicating the physical network configuration generated in advance and the received path information element. Setting information is calculated.
- a star configuration is calculated starting from the broker server 430 and ending at the broker server 430 and the subscriber server 200.
- the OpenFlow switch controller 660 assigns an IP multicast address to the flow identifier as flow identification information. Then, the OpenFlow switch controller 660 transmits a route setting message including the flow identifier, flow identification information, and route setting information to the OpenFlow switch 500 to set the route information.
- the route setting message transmitted by the OpenFlow switch controller 660 is the same as the route setting message illustrated in FIG.
- the OpenFlow switch 500 that has received the route setting message sets a flow identifier, flow identification information, and route setting information in a flow table (not shown), and completes the setting process. Thereafter, when the OpenFlow switch 500 receives the corresponding flow, the OpenFlow switch 500 identifies the received flow using the flow identification information set in the flow table (not shown), and the broker server 440 and the subscriber server 200 are connected. Switch the receive flow to the port.
- the OpenFlow switch controller 660 sets IP multicast with the publisher server 100 as a route.
- the broker from the publisher server 100 to the rendezvous point 30 is specified as the event information receiver in the advertisement process, and the subscriber server 200 and the broker that have passed through the rendezvous point 30 from the subscriber server 200 in the subscription process. Is identified as the recipient of the event information.
- the device that inputs the event information is the publisher server 100 and the recipients of the event information are the broker servers 420, 430, and 440 and the subscriber server 200.
- FIG. 11 is a sequence diagram showing processing after a route is set in the flow switch.
- the rendezvous point 30 of the broker server 430 reversely traces the route set in the advertisement process or the subscription process, and returns reply information (that is, a flow information notification message) including the flow identifier and the flow identification information. Transmit to publisher server 100 and subscriber server 200.
- the rendezvous point 30 of the broker server 430 notifies the broker 43 of a flow information notification message (step S41).
- the broker 43 sets a routing table based on the received flow information notification message (step S42), and further transmits a flow information notification message to the broker server 420 (step S43).
- the broker 42 of the broker server 420 sets a routing table based on the received flow information notification message (step S44), and transmits the flow information notification message to the publisher server 100 (step S45). In this way, the publisher server 100 receives the flow information notification message.
- the broker 43 also transmits a flow information notification message to the broker server 440 (step S53).
- the broker 44 of the broker server 440 sets a routing table based on the received flow information notification message (step S54), and transmits the flow information notification message to the subscriber server 200 (step S55). In this way, the subscriber server 200 receives the flow information notification message.
- the publisher server 100 causes the OpenFlow switch 500 to recognize the flow including the event information by transmitting the event information using the IP multicast address that is the flow identification information included in the received flow information notification message. Can do.
- the output port of the OpenFlow switch 500 is set for each IP multicast address by the advertisement process and the subscription process.
- event information is delivered on an IP multicast packet transmitted from the publisher server 100. Therefore, the OpenFlow switch 500 can specify the output port by checking the IP multicast address of the received event information.
- the subscriber server 200 can correctly receive the requested event information by filtering the received flow using the flow identification information included in the received flow information notification message.
- FIG. 12 is a block diagram showing an example of the minimum configuration of the event distribution system according to the present invention.
- the event distribution system according to the present invention includes a distribution device 160 (for example, the publisher 10 and the broker 40) that distributes the generated event to other devices, and a reception device 170 (for example, the subscriber 20 and the broker 46) that receives the distributed event.
- a distribution device 160 for example, the publisher 10 and the broker 40
- a reception device 170 for example, the subscriber 20 and the broker 46
- a communication relay device 180 (for example, brokers 41 to 45) that relays communication between devices via a communication network (for example, communication network 70), and a data flow including an event, and distributes the data flow
- a control device 200 (for example, a controller 60) is provided that causes a flow switch 190 (for example, the flow switch 50), which is a switch to transfer to a device on the route, to set path information indicating a distribution path.
- the distribution device 160 includes a communication relay device first specifying unit 161 (for example, the broker 40) that specifies a distribution route setting device (for example, the broker 43) that performs distribution route setting processing among the communication relay devices, according to an event, Event identification information (for example, information identifying an event) based on a route table (for example, a route table configured by DHT) that defines communication paths between the distribution device 160, the receiving device 170, and the communication relay device 180 Event name) and a first transmission means 162 (for example, broker 40) that transmits a first message (for example, an advertisement message) including a path information element that is information indicating a part of the communication path to the communication relay device 180. And has.
- a communication relay device first specifying unit 161 for example, the broker 40
- a distribution route setting device for example, the broker 43
- Event identification information for example, information identifying an event
- a route table for example, a route table configured by DHT
- the receiving apparatus 170 includes a communication relay apparatus second specifying unit 171 (for example, the broker 46) that specifies a distribution path setting apparatus (for example, the broker 43) according to an event, and a path table (for example, a path table configured by DHT). ), A second transmission unit 172 (for example, the broker 46) that transmits a second message (for example, a subscription message) including the event identification information and the route information element to the communication relay device 180 is provided.
- a communication relay apparatus second specifying unit 171 for example, the broker 46
- a distribution path setting apparatus for example, the broker 43
- a path table for example, a path table configured by DHT.
- the communication relay device 180 When the communication relay device 180 receives the first message or the second message and the communication relay device 180 is a distribution route setting device, the communication relay device 180 transfers the first message or the second message to the control device 200. However, if the own communication relay device is not a delivery route setting device, a route information element is added to the first message or the second message, and the first message or the second message is sent to another communication relay device on the delivery route.
- a message transfer means 181 for example, the broker 43 and the rendezvous point 30 for transferring the second message based on the route table is provided.
- the control device 200 is flow identification information (for example, information identifying a data flow used for event distribution assigned to each event identification information included in the first message or the second message received from the communication relay device 180. , IP multicast address) and route information setting means 201 (for example, controller 60) for setting the route information associated with the route information element included in the first message or the second message in the flow switch 190. Yes.
- flow identification information for example, information identifying a data flow used for event distribution assigned to each event identification information included in the first message or the second message received from the communication relay device 180. , IP multicast address
- route information setting means 201 for example, controller 60
- the event identification information and the flow are reversely traced through the communication route indicated by the route information element included in the first message.
- the flow information notification message which is information including the identification information, is transmitted to the distribution device 160, and the flow information notification message is transmitted to the reception device through a path that reversely follows the communication path indicated by the path information element included in the second message. May be.
- the first transmission unit 162 of the distribution device 160 may transmit an event to the communication relay device 180 using the flow identification information included in the flow information notification message. Further, the second transmission unit 172 of the receiving device 170 may select an event to be received using the flow identification information included in the flow information notification message.
- the route information setting unit 201 of the control device 200 has a route in which an IP multicast address assigned as flow identification information for each event identification information included in the first message or the second message is associated with a route information element.
- the information is set in the flow switch, and the message transfer unit 181 of the communication relay device 180 reversely traces the communication path indicated by the path information element included in the first message after the path information setting unit 201 sets the path information.
- a flow information notification message including the event identification information and the IP multicast address is transmitted to the distribution apparatus 160, and the flow is made to flow to the reception apparatus 170 through a path that reversely traces the communication path indicated by the path information element included in the second message.
- An information notification message may be transmitted.
- the present invention is preferably applied to an event distribution system for notifying a receiver who wishes to be notified of an event that has occurred in a certain observation target, of the event information. Further, the present invention is preferably applied to a network that distributes content.
- the present invention can also be applied to the field of network management systems that handle network monitoring information and control information as content.
- network management systems that handle network monitoring information and control information as content.
- the information is distributed to various servers (network configuration server, failure management server, network routing control server, etc.) connected to the subscriber server. It can be used for autonomous system operation.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
L'invention concerne un système de distribution d'événements et un procédé de distribution d'événements. Un premier moyen de transmission (162) envoie un premier message et un second moyen de transmission (172) envoie un second message à un dispositif de relais de communication (180). Lorsqu'un moyen de transfert de message (181) reçoit le premier message ou le second message, ledit moyen transfère le premier message ou le second message à un dispositif de commande (200) si le dispositif local de relais de communication est un dispositif de définition de chemin de distribution. Des informations de chemin qui associent des informations d'identification de flux, attribuées à chaque information d'identification d'événement contenue dans le premier ou le second message reçu du dispositif de relais de communication (180), à des éléments d'informations de chemin contenus dans le premier ou le second message, sont définies sur un commutateur de flux (190) par un moyen de définition d'informations de chemin (201).
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2012546709A JPWO2012073521A1 (ja) | 2010-12-02 | 2011-12-02 | イベント配信システムおよびイベント配信方法 |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2010-269628 | 2010-12-02 | ||
| JP2010269628 | 2010-12-02 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2012073521A1 true WO2012073521A1 (fr) | 2012-06-07 |
Family
ID=46171483
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2011/006767 Ceased WO2012073521A1 (fr) | 2010-12-02 | 2011-12-02 | Système de distribution d'événements et procédé de distribution d'événements |
Country Status (2)
| Country | Link |
|---|---|
| JP (1) | JPWO2012073521A1 (fr) |
| WO (1) | WO2012073521A1 (fr) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2014098185A1 (fr) * | 2012-12-20 | 2014-06-26 | 日本電気株式会社 | Dispositif de commande, système de distribution de message, procédé de distribution de message, et programme |
| JP2023159262A (ja) * | 2020-02-05 | 2023-10-31 | 日本電信電話株式会社 | システム、メッセージ制御装置、メッセージ制御方法、およびプログラム |
| CN117827482A (zh) * | 2023-12-13 | 2024-04-05 | 天翼云科技有限公司 | 一种超大规模kubernetes集群下事件分发优化的方法及设备 |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2010103909A1 (fr) * | 2009-03-09 | 2010-09-16 | 日本電気株式会社 | SYSTÈME DE COMMUNICATION OpenFlow ET PROCÉDÉ DE COMMUNICATION OpenFlow |
-
2011
- 2011-12-02 WO PCT/JP2011/006767 patent/WO2012073521A1/fr not_active Ceased
- 2011-12-02 JP JP2012546709A patent/JPWO2012073521A1/ja active Pending
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2010103909A1 (fr) * | 2009-03-09 | 2010-09-16 | 日本電気株式会社 | SYSTÈME DE COMMUNICATION OpenFlow ET PROCÉDÉ DE COMMUNICATION OpenFlow |
Non-Patent Citations (1)
| Title |
|---|
| HIROSHI DENPO ET AL.: "Shorai no Cloud Kiban Gijutsu o Sasaeru Kenkyu Kaihatsu, Cloud Kankyo ni Okeru Jiritsu Un'yo Seigyo Kiban Gijutsu no Kenkyu Kaihatsu", NEC TECHNICAL JOURNAL, vol. 63, no. 2, 23 April 2010 (2010-04-23), pages 134 - 138 * |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2014098185A1 (fr) * | 2012-12-20 | 2014-06-26 | 日本電気株式会社 | Dispositif de commande, système de distribution de message, procédé de distribution de message, et programme |
| JP2023159262A (ja) * | 2020-02-05 | 2023-10-31 | 日本電信電話株式会社 | システム、メッセージ制御装置、メッセージ制御方法、およびプログラム |
| JP7522374B2 (ja) | 2020-02-05 | 2024-07-25 | 日本電信電話株式会社 | システム、メッセージ制御装置、メッセージ制御方法、およびプログラム |
| CN117827482A (zh) * | 2023-12-13 | 2024-04-05 | 天翼云科技有限公司 | 一种超大规模kubernetes集群下事件分发优化的方法及设备 |
Also Published As
| Publication number | Publication date |
|---|---|
| JPWO2012073521A1 (ja) | 2014-05-19 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| RU2643475C2 (ru) | Многодоменная ретрансляция с маршрутизацией от источника на основе взаимодействующих сетевых контроллеров | |
| JP5994851B2 (ja) | 転送装置の制御装置、転送装置の制御方法、通信システムおよびプログラム | |
| JP2011509029A (ja) | エニーキャストを介したマップレスグローバルトラフィック負荷のバランシング | |
| KR20160078248A (ko) | 콘텐트 중심 네트워크들에서 멀티 소스 멀티캐스팅을 위한 시스템 및 방법 | |
| JP6195014B2 (ja) | 通信システム、通信方法、中継装置、および、通信プログラム | |
| JP6561656B2 (ja) | 端末およびマルチキャスト・アドレス配布サーバ | |
| JP2014135658A (ja) | 転送装置、通信システム、および迂遠経路検知方法 | |
| JP2019145877A (ja) | 経路情報転送装置、経路情報転送方法および経路情報転送プログラム | |
| JP4421458B2 (ja) | ネットワークノード装置およびその経路情報更新方法 | |
| WO2012073521A1 (fr) | Système de distribution d'événements et procédé de distribution d'événements | |
| JP6378121B2 (ja) | ゲートウェイ装置及び通信方法 | |
| JP5517190B2 (ja) | 通信システム、マッピング情報通知装置、マッピング情報通知方法及びプログラム | |
| JP2013038647A (ja) | メッセージ転送システム、制御装置、メッセージ転送ノード、メッセージ転送方法およびプログラム | |
| JP5287759B2 (ja) | ネットワークシステム及び経路検索方法 | |
| EP2680511A1 (fr) | Dispositif routeur, procédé de commande de paquet fondé sur une gestion de préfixe, et programme | |
| JP5971348B2 (ja) | 通信システム、制御装置及び制御方法 | |
| US20220166708A1 (en) | Method and apparatus for selecting packet path to support producer mobility in information-centric networking | |
| JP5833184B2 (ja) | ネットワーク輻輳回避システム及び方法 | |
| JP5796898B2 (ja) | データ転送装置、転送方法、およびプログラム | |
| JP2013179445A (ja) | ネットワーク設定装置およびネットワーク設定方法 | |
| JP2019049950A (ja) | 通信装置及び通信方法 | |
| JP3584897B2 (ja) | マルチキャストルータの経路登録システム及びプログラム | |
| JP6133803B2 (ja) | データ転送システム、ホーム加入者サーバ及びデータ転送方法 | |
| Deogirikar et al. | A comprehensive development and testing of improved publish-subscribe method for IoT | |
| JP2011029781A (ja) | 通信システムおよびパケット転送方法 |
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: 11844380 Country of ref document: EP Kind code of ref document: A1 |
|
| ENP | Entry into the national phase |
Ref document number: 2012546709 Country of ref document: JP Kind code of ref document: A |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 11844380 Country of ref document: EP Kind code of ref document: A1 |