WO2012073521A1 - Event distribution system and event distribution method - Google Patents

Event distribution system and event distribution method Download PDF

Info

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
Application number
PCT/JP2011/006767
Other languages
French (fr)
Japanese (ja)
Inventor
浩史 傳寳
Original Assignee
日本電気株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電気株式会社 filed Critical 日本電気株式会社
Priority to JP2012546709A priority Critical patent/JPWO2012073521A1/en
Publication of WO2012073521A1 publication Critical patent/WO2012073521A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols 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

Provided are an event distribution system and an event distribution method, whereby a first transmission means (162) sends a first message and a second transmission means (172) sends a second message to a communications relay device (180). When a message transfer means (181) receives the first message or the second message, said means transfers the first message or the second message to a control device (200) if the local communication relay device is a distribution path setting device. Path information that associates flow identification information, allocated to each event identification information included in the first or second message received from the communications relay device (180), to path information elements included in the first or second message, is set to a flow switch (190) by a path information setting means (201).

Description

イベント配信システムおよびイベント配信方法Event distribution system and event distribution method
 本発明は、ある観測対象に発生したイベントの通知を希望する受信者に、そのイベントの情報を通知するイベント配信システムおよびイベント配信方法に関する。 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.
 インターネット等のネットワークに接続された複数の装置に情報を送信する方法が各種知られている。 Various methods for transmitting information to a plurality of devices connected to a network such as the Internet are known.
 特許文献1には、管理サーバ等を用いずに複数のノード装置に対して情報を送信する情報通信システムが記載されている。特許文献1に記載された情報通信システムでは、カタログ情報を配信するためのオーバーレイネットワークがDHT(Distributed Hash Table)を利用したアルゴリズムによって構築される。そして、特許文献1に記載された情報通信システムでは、DHTを利用したマルチキャスト(以下、DHTマルチキャストと記す。)により、オーバーレイネットワークに参加している一のノードから送出された情報収集メッセージが他の全てのノードに配信され、そのノードが情報収集メッセージに対する返答情報を収集する。なお、ノードIDを4桁4進数とした場合、DHTマルチキャストは、IDマスクごとに(すなわち、第1段階から第4段階までのステップで)行われる。 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. In the information communication system described in Patent Document 1, an overlay network for distributing catalog information is constructed by an algorithm using DHT (Distributed Hash Table). In the information communication system described in Patent Document 1, 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).
特開2007-235243号公報JP 2007-235243 A
 特許文献1に記載された情報通信システムでは、独自のアプリケーションを用いてオーバーレイネットワークを構築している。そのため、そのオーバーレイネットワーク上では、アプリケーションに適したルーティングを行うことが可能になる。しかし、オーバーレイネットワークにおけるノード間のメッセージ転送がIPネットワークを介して行われる場合、オーバーレイネットワークノード間で、IPルーティングも発生することになる。つまり、特許文献1に記載された情報通信システムでは、オーバーレイネットワークにおけるルーティング処理と、IPネットワークにおけるルーティング処理という二重ルーティングが発生するため、配信遅延が増加してしまうという問題がある。 In the information communication system described in Patent Document 1, an overlay network is constructed using a unique application. Therefore, routing suitable for the application can be performed on the overlay network. However, when message transfer between nodes in the overlay network is performed via the IP 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.
 そこで、本発明は、オーバーレイネットワークにおけるノード間のイベント配信がIPネットワークを介して行われる場合であっても、ネットワーク上のルーティング処理を一本化できるイベント配信システムおよびイベント配信方法を提供することを目的とする。 Therefore, 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 according to the present invention 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. Among them, based on 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 In addition, there is provided 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 according to the present invention 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 When the first message including the event identification information and the route information element that is information indicating a part of the communication route is transmitted to the communication relay device, and the communication relay device receives the first message When 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. If the local communication relay device is not the delivery route setting device, 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. When 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. In addition, 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.
 本発明によれば、オーバーレイネットワークにおけるノード間のイベント配信がIPネットワークを介して行われる場合であっても、ネットワーク上のルーティング処理を一本化できる。 According to the present invention, even when event distribution between nodes in the overlay network is performed via the IP network, routing processing on the network can be unified.
本発明によるイベント配信システムの一実施形態を示すブロック図である。It is a block diagram which shows one Embodiment of the event delivery system by this invention. 配信経路を設定する処理の例を示すシーケンス図である。It is a sequence diagram which shows the example of the process which sets a delivery route. 広告メッセージに含まれる情報の例を示す説明図である。It is explanatory drawing which shows the example of the information contained in an advertisement message. フロースイッチに経路設定を行う処理の例を示すシーケンス図である。It is a sequence diagram which shows the example of the process which sets a path | route to a flow switch. 経路設定メッセージの例を示す説明図である。It is explanatory drawing which shows the example of a route setting message. 配信経路を設定する処理の例を示すシーケンス図である。It is a sequence diagram which shows the example of the process which sets a delivery route. 購読メッセージに含まれる情報の例を示す説明図である。It is explanatory drawing which shows the example of the information contained in the subscription message. フロースイッチに経路が設定された後の処理を示すシーケンス図である。It is a sequence diagram which shows the process after a path | route is set to the flow switch. 本実施例におけるイベント配信システムの一実施形態を示すブロック図である。It is a block diagram which shows one Embodiment of the event delivery system in a present Example. 経路設定メッセージの例を示す説明図である。It is explanatory drawing which shows the example of a route setting message. フロースイッチに経路が設定された後の処理を示すシーケンス図である。It is a sequence diagram which shows the process after a path | route is set to the flow switch. 本発明によるイベント配信システムの最小構成の例を示すブロック図である。It is a block diagram which shows the example of the minimum structure of the event delivery system by this invention.
 以下、本発明の実施形態を図面を参照して説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.
 図1は、本発明によるイベント配信システムの一実施形態を示すブロック図である。本実施形態におけるイベント配信システムは、Publisher10(以下、パブリッシャ10)と、Subscriber20(以下、サブスクライバ20)と、RendezvousPoint30(以下、ランデブポイント30)と、Broker(以下、ブローカ)40~46と、フロースイッチ50と、Controller60(以下、コントローラ60)とを備えている。 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).
 ブローカ40~46およびフロースイッチ50は、通信ネットワーク70を介して相互に接続されている。また、ブローカ40はパブリッシャ10に接続され、ブローカ46はサブスクライバ20に接続される。なお、図1に示す例では、7つのブローカをイベント配信システム内に示しているが、ブローカの数は7つに限定されない。 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. In the example shown in FIG. 1, seven brokers are shown in the event distribution system, but the number of brokers is not limited to seven.
 ブローカ40~46は、各装置から送信される制御メッセージの転送を行う。具体的には、ブローカは、各ブローカに接続されたパブリッシャ10が行う広告処理や、サブスクライバ20が行う購読処理で送信される制御メッセージの転送処理を行う。 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.
 ここで、広告処理とは、個々のイベントを識別するイベント名をイベント配信システム上に登録する処理である。例えば、「LinkFailure」というイベント名がリンク断を示すイベントとして登録される。なお、システム利用者が任意の単語を用いてイベント名を規定してもよく、以下の参考文献に記載されたURI(Uniform Resource Identifiers)を決定する規則に従ってイベント名を規定してもよい。 Here, the advertisement process is a process of registering an event name for identifying each event on the event distribution system. For example, an event name “LinkFailure” is registered as an event indicating a broken link. It should be noted that 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.
 <参考文献>T. Berners-Lee etc., "Uniform Resource Identifiers (URI): Generic Syntax", August 1998, RFC2396 (http://www.ietf.org/rfc/rfc2396.txt) <Reference> T. “Berners-Lee” etc., “Uniform Resource Identifiers” (URI): “Generic” Syntax ”,“ August 1998 ”,“ RFC2396 ”(http://www.ietf.org/rfc/rfc2396.txt)
 なお、この広告処理を行う際にパブリッシャ10が送信する制御メッセージを、以下、広告メッセージと記す。広告メッセージには、登録するイベントのイベント名が含まれる。 Note that the control message transmitted by the publisher 10 when performing this advertisement processing is hereinafter referred to as an advertisement message. The advertisement message includes the event name of the event to be registered.
 また、購読処理とは、パブリッシャ10から送信されるイベントの受信登録を行う処理である。この購読処理を行う際にサブスクライバ20が送信する制御メッセージを、以下、購読メッセージと記す。購読メッセージには、登録するイベントのイベント名が含まれる。 In addition, the subscription process is a process for registering reception of an event transmitted from the publisher 10. Hereinafter, 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.
 ブローカ40~46は、それぞれが独立した装置によって実現されていてもよく、他の機能と一体になった装置の一部として実現されていてもよい。パブリッシャ10に接続されたブローカ40、および、サブスクライバ20に接続されたブローカ46の機能については、後述する。 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.
 パブリッシャ10は、前記広告処理とイベント情報の送信処理を行う。発生したイベント情報は、例えば、IPマルチキャストによって他の装置に転送される。 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.
 イベント情報の送信処理では、パブリッシャ10は、イベント情報の送信処理に先立ち、広告処理を行うことで、パブリッシャ10からランデブポイント30までの配信経路を設定する。ここで、ランデブポイント30は、パブリッシャ10からランデブポイント30までの配信経路とランデブポイント30からサブスクライバ20までの配信経路の接続点である。 In the event information transmission process, 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. Here, 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.
 ブローカ40は、イベント名からハッシュ値を算出し、算出したハッシュ値をもとに転送先となる隣接ブローカを特定する。なお、ハッシュ値をもとに配信先を決定する方法は、分散ハッシュテーブル(DHT)のアルゴリズムとして広く知られているため、ここでは詳細な説明を省略する。なお、パブリッシャ10とブローカ40とは、それぞれが独立したサーバ装置によって実現されていてもよく、一つのサーバ装置で実現されていてもよい。 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. The publisher 10 and the broker 40 may be realized by independent server devices, or may be realized by one server device.
 サブスクライバ20は、イベント情報を受信するための購読処理(以下、イベント情報の受信登録と記す。)を行い、その後、登録したイベントの情報を受信する。また、サブスクライバ20は、イベント情報の受信に先立ち、購読処理を行うことで、ランデブポイント30からサブスクライバ20までの配信経路を設定する。 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.
 ブローカ46は、配信を依頼するイベント名からハッシュ値を算出し、算出したハッシュ値をもとにブローカを特定する。なお、ハッシュ値をもとに、転送先となる隣接配信先を決定する方法は、ブローカ40が配信先を決定する方法と同様である。なお、サブスクライバ20とブローカ46とは、それぞれが独立した装置によって実現されていてもよく、一つの装置で実現されていてもよい。 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.
 個々のブローカは、他のブローカから広告メッセージ、または購読メッセージを受信した場合に、受信した通信が自装置宛の通信か否かを判定する。自装置宛の通信であった場合、ブローカ43は、その通信をランデブポイント30に送信する。 When an individual broker receives an advertisement message or a subscription message from another broker, 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.
 ランデブポイント30は、イベント情報の配信経路の管理を行う。具体的には、ランデブポイント30は、広告メッセージおよび購読メッセージに含まれる経路情報からイベント情報の配信経路を特定する。また、ランデブポイント30は、特定した配信経路をフロースイッチ50へ設定するための指示をコントローラ60に対して行う。ランデブポイント30は、例えば、ルータ上の機能として実現される。なお、ランデブポイント30は、受信したメッセージを基に配信経路を設定することから、ランデブポイント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.
 以下の説明では、ランデブポイント30がブローカ43に接続されたモデルについて説明する。ランデブポイント30とブローカ43とは、それぞれが独立したサーバ装置によって実現されていてもよく、一つのサーバ装置で実現されていてもよい。 In the following description, a model in which the rendezvous point 30 is connected to the broker 43 will be described. The rendezvous point 30 and the broker 43 may be realized by independent server devices or may be realized by one server device.
 フロースイッチ50は、フロースイッチ50自身を通過する個々のデータフローを識別する手段を備えたスイッチである。このデータフローは、データ送受信を行うデバイスやノードを識別する識別子、ノードアドレス、プロトコル識別子等の組み合わせによって識別される。具体的には、フロースイッチ50は、パブリッシャ10が送信したイベント情報を含むデータフローを受信すると、そのデータフローの内容を識別し、ランデブポイント30やサブスクライバ20へ、そのイベント情報を配信する。 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.
 コントローラ60は、フロースイッチ50に対して、イベント情報を含むデータフローを識別するための情報(フロー情報)を設定する。なお、フロースイッチ50に設定する情報については後述する。 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.
 次に、本実施形態のイベント配信システムの動作を説明する。以下の説明では、イベント配信の配信経路として、パブリッシャ10→ブローカ40→ブローカ42→ブローカ43→ランデブポイント30→ブローカ43→ブローカ44→ブローカ46→サブスクライバ20という経路が構築される手順を示す。 Next, the operation of the event delivery system of this embodiment will be described. In the following description, a procedure for establishing a route of publisher 10 → broker 40 → broker 42 → broker 43 → rendezvous point 30 → broker 43 → broker 44 → broker 46 → subscriber 20 is shown as a delivery route for event delivery.
 配信経路のうち、広告処理においてパブリッシャ10→ブローカ40→ブローカ42→ブローカ43→ランデブポイント30までの経路が設定され、購読処理においてランデブポイント30→ブローカ43→ブローカ44→ブローカ46→サブスクライバ20までの経路が設定される。 Among the delivery routes, 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.
 まず、広告処理において、パブリッシャ10→ブローカ40→ブローカ42→ブローカ43→ランデブポイント30までの配信経路が設定される手順を説明する。図2は、広告処理において配信経路を設定する処理の例を示すシーケンス図である。まず、パブリッシャ10は広告メッセージを発信し、接続先であるブローカ40に転送する(ステップS1)。この広告メッセージには、パブリッシャ10が配信するイベントのイベント名が含まれている。 First, in the advertisement process, a procedure for setting a delivery route from publisher 10 → broker 40 → broker 42 → broker 43 → rendezvous point 30 will be described. FIG. 2 is a sequence diagram illustrating an example of processing for setting a delivery route in advertisement processing. First, 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.
 次に、ブローカ40は、イベント名からハッシュ値を算出し、キーとして使用されるイベント識別子を得る。ここでは、ハッシュ値「43」が算出されたものとする。このハッシュ値「43」は、広告メッセージの送信先を識別する情報として取り扱われる。そこで、ブローカ40は、経路表を用いて、転送すべき隣接ブローカを検索する。 Next, the broker 40 calculates a hash value from the event name and obtains an event identifier used as a key. Here, it is assumed that 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.
 経路表とは、通信元の装置と通信先の装置とを対応付けた表であり、例えば、DHTで構成される経路表などが挙げられる。経路表は、例えば、各ブローカが備えるメモリ(図示せず)等に記憶される。本実施形態の場合、経路表には、例えば、パブリッシャ10、サブスクライバ20およびブローカ40~46の間の通信経路が定められている。ここでは、隣接ブローカをブローカ42と決定可能な経路表が存在するものとし、ブローカ40が隣接ブローカとして経路表からブローカ42を検索したものとする。 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. In the case of the present embodiment, for example, communication paths among the publisher 10, the subscriber 20, and the brokers 40 to 46 are defined in the path table. Here, it is assumed that there is a path table in which an adjacent broker can be determined as the broker 42, and the broker 40 has searched the broker 42 from the path table as an adjacent broker.
 そして、ブローカ40は、広告メッセージに配信経路を示す情報(以下、経路情報エレメントと記す。)を追加する(ステップS2)。図3は、広告メッセージに含まれる情報の例を示す説明図である。図3に例示する経路情報エレメントは、メッセージの種別を示すメッセージ種別(ここでは、「広告」)と、イベント名と、イベント識別子と、3つの経路情報エレメントとを含んでいる。経路情報エレメントは、経路情報エレメントが追加された順に付与されるエレメント番号と、経路情報エレメントを追加した自ノード情報と、広告メッセージの送信元であるノードの情報を示す親ノード情報と、広告メッセージの送信先になるノードの情報を示す子ノード情報を含む。ただし、経路情報エレメントの内容は、図3に例示する内容に限定されない。また、この経路情報エレメントを繋ぎ合わせることで配信経路を特定できることから、経路情報エレメントは、配信経路の一部と言うことが出来る。 Then, the broker 40 adds information indicating a delivery route (hereinafter referred to as a route information element) to the advertisement message (step S2). 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. However, 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.
 また、広告メッセージは、イベント情報を操作する指示内容を示す情報を含んでいてもよい。この情報には、指示内容を示す情報として、例えば、イベント情報を新規に追加する(新規)、イベント情報を更新する(更新)、イベント情報の削除する(削除)などが指定される。 Further, the advertisement message may include information indicating instruction contents for operating the event information. In this information, for example, 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.
 ここでは、ブローカ40は起点ノードになるので、エレメント番号=0とする情報が追記される。具体的には、ノードID情報(ここでは、「40」)、アドレス情報、配信経路上での親ノード情報、子ノード情報が広告メッセージに追記される。なお、具体的なアドレス情報の例は、後述する実施例で説明する。 Here, since the broker 40 is the starting node, information with element number = 0 is additionally written. Specifically, node ID information (here, “40”), address information, parent node information on the distribution route, and child node information are added to the advertisement message. A specific example of address information will be described in an embodiment described later.
 なお、ブローカ40は、イベント配信の起点ノードであるため、親ノードは存在しない。したがって、経路情報エレメントの親ノード情報(ノードID情報、アドレス情報)には、Null値や、何らかの無効な値を設定すればよい。また、ここでは、隣接ノードがブローカ42であるため、子ノード情報にはブローカ42の情報を設定すればよい。なお、図3に示す例では、子ノード情報には次の経路情報エレメントに対するポインタを設定している。 Note that since 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. Here, since 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.
 同様に、ブローカ42及びブローカ43は、図3に例示するように、経路情報エレメント1、経路情報エレメント2という経路情報エレメントをそれぞれ広告メッセージに追加する。具体的には、ブローカ40が経路情報エレメント(=0)を追加した広告メッセージをブローカ42に送信する(図2におけるステップS3)。次に、ブローカ42は、受信した広告メッセージに経路情報エレメント(=1)を追加し(ステップS4)、その広告メッセージをブローカ43に送信する(ステップS5)。そして、ブローカ43は、受信した広告メッセージに経路情報エレメント(=2)を追加する(ステップS6)。 Similarly, as illustrated in FIG. 3, 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. Specifically, the broker 40 transmits an advertisement message to which the route information element (= 0) is added to the broker 42 (step S3 in FIG. 2). Next, the broker 42 adds a route information element (= 1) to the received advertisement message (step S4), and transmits the advertisement message to the broker 43 (step S5). Then, the broker 43 adds a route information element (= 2) to the received advertisement message (step S6).
 また、ブローカは、受信した広告メッセージの送信先が自ノードか否かを判断する。広告メッセージを受信したブローカ43は、自ノードIDが「43」であるため、広告メッセージの転送処理を終了させる。そして、ブローカ43は、ランデブポイント30に広告メッセージを引き渡し(ステップS7)、ランデブポイント30が行う処理をスタートさせる。 Also, 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.
 広告メッセージを受信したランデブポイント30は、経路情報エレメント0~2を確認することで、今回の広告処理におけるイベント配信の配信経路が、パブリッシャ10→ブローカ40→ブローカ42→ブローカ43→ランデブポイント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.
 次に、ランデブポイント30は、コントローラ60とフロースイッチ50を含むネットワークに対して経路設定処理を行う。図4は、フロースイッチ50に経路設定を行う処理の例を示すシーケンス図である。 Next, the rendezvous point 30 performs route setting processing for the network including the controller 60 and the flow switch 50. FIG. 4 is a sequence diagram illustrating an example of processing for setting a route in the flow switch 50.
 最初に、ランデブポイント30は、コントローラ60へ経路設定要求メッセージを送信する(ステップS8)。経路設定要求メッセージには、フロー識別子と、広告メッセージに含まれていた経路情報エレメントとが含まれる。また、経路設定要求メッセージは、イベント情報の登録についての指示内容を示す情報を含んでいてもよい。 First, 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.
 フロー識別子とは、イベント情報を含むデータフローを識別する情報である。フロー識別子として、例えば、広告メッセージに含まれていたイベント識別子(=43)を使用してもよい。なお、フロー識別子とイベント識別子とを、1対1で対応させてもよい。具体的には、経路設定要求メッセージのフロー識別子の値にイベント識別子の値を設定してもよい。また、フロー識別子とイベント識別子とを変換する対応表を予め準備し、受信したイベント識別子を変換することで得られるフロー識別子の値を経路設定要求メッセージに設定してもよい。 The flow identifier is information for identifying a data flow including event information. As the flow identifier, for example, an event identifier (= 43) included in the advertisement message may be used. Note that the flow identifier and the event identifier may correspond to each other on a one-to-one basis. Specifically, the value of the event identifier may be set as the value of the flow identifier in the route setting request message. Alternatively, 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.
 また、上述するように、経路情報エレメントには、フロースイッチ50に設定する配信経路(ここでは、ブローカ40→ブローカ42→ブローカ43)を示す情報が含まれる。 Also, as described above, the route information element includes information indicating a delivery route (here, broker 40 → broker 42 → broker 43) set in the flow switch 50.
 コントローラ60は、経路設定要求メッセージを受信すると、予め生成された物理ネットワーク構成を示す情報と、受信した経路情報エレメントを用いて、フロースイッチ50へ設定する経路情報(以下、経路設定情報と記す。)を算出する(ステップS9)。 When receiving the route setting request message, 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).
 具体的には、コントローラ60は、フロースイッチ50のどのポートにどの端末(ブローカ)が接続されているかを示す物理ネットワーク構成と、端末上のどのブローカ同士が接続されているかを示す経路情報エレメントから経路設定情報を算出する。ここでは、ブローカ40を起点とし、ブローカ42およびブローカ43を終点としたスター型の構成が算出される。 Specifically, 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. Here, a star configuration is calculated with the broker 40 as the starting point and the brokers 42 and 43 as the end points.
 さらに、コントローラ60は、フロー識別子に対してフロー識別情報を割り当てる。フロー識別情報とは、イベントの配信に用いられるフローを識別する情報である。コントローラ60は、フロー識別情報として、例えば、L3アドレス、ポート番号などを割り当てる。このL3アドレスとして、例えばIPマルチキャストアドレスを割り当てる。そのとき、コントローラ60は、例えば、フロー識別子を受信した順でIPマルチキャストアドレスが重複しないように割り当てればよい。そして、コントローラ60は、フロー識別子、フロー識別情報および経路設定情報を含む経路設定メッセージをフロースイッチ50に送信して経路情報を設定させる(ステップS10)。 Furthermore, 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. At this time, for example, the controller 60 may assign IP multicast addresses so that they do not overlap in the order in which the flow identifiers are received. Then, 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).
 図5は、経路設定メッセージの例を示す説明図である。図5に例示する経路設定メッセージは、イベント情報を操作する指示内容を示す情報(以下、配信指示タイプと記す。)と、フロー識別子と、算出された経路設定情報とを含んでいる。経路設定情報には、経路設定情報を識別するエレメント番号、スター型構成における装置の位置づけを示すタイプと、その装置のノード情報とが含まれる。 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.
 経路設定メッセージを受信したフロースイッチ50は、フロー識別子、フロー識別情報および経路設定情報をフローテーブル(図示せず)に設定し、設定処理を完了する。以降、フロースイッチ50は、該当するフローを受信した場合、フローテーブル(図示せず)に設定されたフロー識別情報を用いて受信フローを識別し、ブローカ42およびブローカ43が接続されるポートへ、受信フローをスイッチする。 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.
 次に、購読処理において、ランデブポイント30→ブローカ43→ブローカ44→ブローカ46→サブスクライバ20までの配信経路が設定される手順を説明する。図6は、購読処理において配信経路を設定する処理の例を示すシーケンス図である。まず、サブスクライバ20は購読メッセージを発信し、接続先であるブローカ46に転送する(ステップS11)。この購読メッセージには、サブスクライバ20が購読するイベント情報のイベント名が含まれている。 Next, a procedure for setting a delivery route from the rendezvous point 30 to the broker 43 to the broker 44 to the broker 46 to the subscriber 20 in the subscription process will be described. FIG. 6 is a sequence diagram illustrating an example of processing for setting a delivery route in the subscription processing. First, 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.
 次に、ブローカ46は、イベント名からハッシュ値を算出し、キーとして使用されるイベント識別子を得る。ここでは、ハッシュ値「43」が算出されたものとする。このハッシュ値「43」は、購読メッセージの送信先を識別する情報として取り扱われる。そこで、ブローカ46は、経路表を用いて、転送すべき隣接ブローカを検索する。なお、隣接ブローカの検索方法は、ブローカ40が隣接ブローカを検索する方法と同様である。ここでは、隣接ブローカとして経路表からブローカ44が検索されたものとする。 Next, the broker 46 calculates a hash value from the event name and obtains an event identifier used as a key. Here, it is assumed that 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. Here, it is assumed that the broker 44 is retrieved from the route table as the adjacent broker.
 そして、ブローカ46は、購読メッセージに経路情報エレメントを追加する(ステップS12)。図7は、購読メッセージに含まれる情報の例を示す説明図である。図7に例示する経路情報エレメントは、メッセージの種別を示すメッセージ種別と、イベント名と、イベント識別子と、3つの経路情報エレメントとを含んでいる。なお、イベント名、イベント識別子、および、経路情報エレメントの内容は、図3に例示する広告メッセージと同様である。なお、メッセージ種別には、購読メッセージを示すメッセージ種別「購読」が設定される。 Then, the broker 46 adds a route information element to the subscription message (step S12). 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.
 また、購読メッセージは、イベント情報の購読についての指示内容を示す情報(以下、購読指示タイプと記す。)を含んでいてもよい。購読指示タイプには、指示内容を示す情報として、例えば、イベント情報の購読を開始する(新規)、イベント情報の購読内容を変更する(更新)、イベント情報の購読を解除する(削除)などが指定される。 Also, the subscription message may include information (hereinafter referred to as a subscription instruction type) indicating instruction contents for event information subscription. In the subscription instruction type, as 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.
 ここでは、ブローカ46は起点ノードになるので、エレメント番号=0とする情報が追記される。具体的には、ノードID情報(ここでは、「46」)、アドレス情報、配信経路上での親ノード情報、子ノード情報が購読メッセージに追記される。なお、具体的なアドレス情報の例は、後述する実施例で説明する。 Here, since the broker 46 becomes the starting node, information with element number = 0 is additionally written. Specifically, node ID information (here, “46”), address information, parent node information on the distribution route, and child node information are added to the subscription message. A specific example of address information will be described in an embodiment described later.
 なお、ブローカ46は、イベント配信の起点ノードであるため、親ノードは存在しない。したがって、経路情報エレメントの親ノード情報(ノードID情報、アドレス情報)には、Null値や、何らかの無効な値を設定すればよい。また、ここでは、隣接ノードがブローカ44のため、子ノード情報にはブローカ44の情報を設定すればよい。なお、図7に示す例では、子ノード情報には次の経路情報エレメントに対するポインタを設定している。 Note that since 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. Here, since 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.
 同様に、ブローカ44及びブローカ43は、図7に例示するように、経路情報エレメント1、経路情報エレメント2という経路情報エレメントをそれぞれ購読メッセージに追加する。具体的には、ブローカ46が経路情報エレメント(=0)を追加した購読メッセージをブローカ44に送信する(図6におけるステップS13)。次に、ブローカ44は、受信した購読メッセージに経路情報エレメント(=1)を追加し(ステップS14)、その購読メッセージをブローカ43に送信する(ステップS15)。そして、ブローカ43は、受信した購読メッセージに経路情報エレメント(=2)を追加する(ステップS16)。 Similarly, the broker 44 and the broker 43 add route information elements of route information element 1 and route information element 2 to the subscription message as illustrated in FIG. Specifically, the broker 46 transmits a subscription message to which the route information element (= 0) is added to the broker 44 (step S13 in FIG. 6). Next, the broker 44 adds a route information element (= 1) to the received subscription message (step S14), and transmits the subscription message to the broker 43 (step S15). Then, the broker 43 adds a route information element (= 2) to the received subscription message (step S16).
 また、ブローカ43は、受信した購読メッセージの送信先が自ノードか否かを判断する。購読メッセージを受信したブローカ43は、自ノードIDが「43」であるため、購読メッセージの転送処理を終了させる。そして、ブローカ43は、ランデブポイント30に購読メッセージを引き渡し(ステップS17)、ランデブポイント30が行う処理をスタートさせる。 Also, 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.
 購読メッセージを受信したランデブポイント30は、経路情報エレメント0~2を確認することで、今回の購読処理におけるイベント配信の配信経路が、ランデブポイント30→ブローカ43→ブローカ44→ブローカ46→サブスクライバ20であることを特定する。 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.
 次に、ランデブポイント30は、コントローラ60とフロースイッチ50を含むネットワークに対して経路設定処理を行う。なお、フロースイッチ50に経路設定を行う処理は、図4に例示する処理と同様である。 Next, 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.
 最初に、ランデブポイント30は、コントローラ60へ経路設定要求メッセージを送信する。この経路設定要求メッセージには、フロー識別子と購読メッセージに含まれていた経路情報エレメントが含まれる。また、経路設定要求メッセージには、イベント情報の購読についての指示内容を示す情報(すなわち、購読指示タイプ)を含んでいてもよい。 First, 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. In addition, the route setting request message may include information indicating an instruction content regarding event information subscription (that is, a subscription instruction type).
 フロー識別子として、例えば、購読メッセージに含まれていたイベント識別子(=43)が使用される。また、上述するように、経路情報エレメントには、フロースイッチ50に設定する配信経路(ここでは、ブローカ43→ブローカ44→ブローカ46)を示す情報が含まれる。 As the flow identifier, for example, the event identifier (= 43) included in the subscription message is used. Further, as described above, the route information element includes information indicating a delivery route (here, broker 43 → broker 44 → broker 46) set in the flow switch 50.
 コントローラ60は、経路設定要求メッセージを受信すると、予め生成された物理ネットワーク構成を示す情報と、受信した経路情報エレメントとを用いて、フロースイッチ50へ設定する経路情報(経路設定情報)を算出する。ここでは、ブローカ43を起点とし、ブローカ44およびブローカ46を終点としたスター型の構成が算出される。 When the controller 60 receives the route setting request message, 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. . Here, 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.
 さらに、コントローラ60は、フロー識別子に対してフロー識別情報を割り当てる。コントローラ60は、フロー識別情報として、例えば、L3アドレス、ポート番号などを割り当てる。この割り当て事例では、フロー識別子が、広告処理時に使用したフロー識別子と同じであるため、そのフロー識別子に割り当てたL3アドレスと同じL3アドレス(つまり、同じマルチキャストアドレス)が割り当てられる。そして、コントローラ60は、フロー識別子、フロー識別情報および経路設定情報を含む経路設定メッセージをフロースイッチ50に送信して経路情報を設定させる。 Furthermore, 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. In this assignment example, since the flow identifier is the same as the flow identifier used at the time of advertisement processing, the same L3 address (that is, the same multicast address) as the L3 address assigned to the flow identifier is assigned. Then, 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.
 経路設定メッセージを受信したフロースイッチ50は、フロー識別子、フロー識別情報および経路設定情報をフローテーブル(図示せず)に設定し、設定処理を完了する。以降、フロースイッチ50は、該当するフローを受信した場合、フローテーブル(図示せず)に設定されたフロー識別情報を用いて受信フローを識別し、ブローカ44およびブローカ46が接続されるポートへ、受信フローをスイッチする。 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.
 図8は、フロースイッチ50に経路が設定された後の処理を示すシーケンス図である。経路設定が完了すると、ランデブポイント30は、広告処理や購読処理で設定された経路を逆に辿り、フロー識別子とフロー識別情報とを含む返信情報(以下、フロー情報通知メッセージと記す。)をパブリッシャ10およびサブスクライバ20へ送信する。ここでは、フロー識別子(=43)、フロー識別情報(例えば、L3アドレス、ポート番号等)がフロー情報通知メッセージに含まれる。 FIG. 8 is a sequence diagram showing processing after a route is set in the flow switch 50. When the route setting is completed, 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. Here, the flow identifier (= 43) and the flow identification information (for example, L3 address, port number, etc.) are included in the flow information notification message.
 具体的には、ランデブポイント30は、フロー情報通知メッセージをブローカ43に送信する(ステップS21)。ブローカ43は、受信したフロー情報通知メッセージをもとに経路表の設定を行い(ステップS22)、さらにブローカ42にフロー情報通知メッセージを送信する(ステップS23)。同様に、ブローカ42は、受信したフロー情報通知メッセージをもとに経路表の設定を行い(ステップS24)、ブローカ40にフロー情報通知メッセージを送信する(ステップS25)。このようにして、パブリッシャ10は、フロー情報通知メッセージを受信する。 Specifically, 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). Similarly, 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). In this way, the publisher 10 receives the flow information notification message.
 一方、ブローカ43は、ブローカ44にもフロー情報通知メッセージを送信する(ステップS33)。ブローカ44は、受信したフロー情報通知メッセージをもとに経路表の設定を行い(ステップS34)、ブローカ46にフロー情報通知メッセージを送信する(ステップS35)。このようにして、サブスクライバ20は、フロー情報通知メッセージを受信する。 Meanwhile, 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.
 その後、パブリッシャ10は、受信したフロー情報通知メッセージに含まれるフロー識別情報を使用してイベント情報を送信することによって、フロースイッチ50にイベント情報を含むフローを認識させることができる。具体的には、広告処理および購読処理により、フロー識別情報単位(例えば、L2アドレス、L3アドレス、ポート番号単位)でフロースイッチ50の出力ポートが設定される。また、パブリッシャ10から送信されるイベント情報は、フロー識別情報が含まれた状態で配送される。そのため、フロースイッチ50は、受信したイベント情報のフロー識別情報をチェックすることにより、出力ポートを特定できる。 Thereafter, 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. Specifically, 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.
 また、サブスクライバ20は、受信したフロー情報通知メッセージに含まれるフロー識別情報を使用して受信フローをフィルタすることで、要求したイベント情報を正しく受信することができる。 Also, 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.
 以上のように、本発明によれば、パブリッシャ10およびブローカ40が、ランデブポイント30をイベントに応じて特定し、経路表に基づいて、イベント名と経路情報エレメントとを含む広告メッセージを経路上の通信装置(ここでは、ブローカ42)に送信する。同様に、サブスクライバ20およびブローカ46が、ランデブポイント30をイベントに応じて特定し、経路表に基づいて、イベント名と経路情報エレメントとを含む購読メッセージを経路上の通信装置(ここでは、ブローカ44)に送信する。その後、ブローカが広告メッセージまたは購読メッセージを受信したときに、そのブローカ自身が終端装置である場合(すなわち、配信経路の設定処理を行う通信装置である場合)、ランデブポイント30が、受信したメッセージをコントローラ60に送信する。一方、そのブローカ自身が終端装置でない場合、ブローカ43が、受信したメッセージに経路情報エレメントを追加して、配信経路上の他の通信装置にそのメッセージを経路表に基づいて転送する。そして、コントローラ60は、受信したメッセージに含まれるイベント識別情報ごとに割り当てたフロー識別情報と、メッセージに含まれる経路情報エレメントとを対応付けた経路情報をフロースイッチに設定する。 As described above, according to the present invention, 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). Similarly, 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). ). After that, when 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. On the other hand, when the broker itself is not a terminal device, 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.
 以上のような構成により、オーバーレイネットワークにおけるノード間のイベント配信がIPネットワークを介して行われる場合であっても、ネットワーク上のルーティング処理を一本化できる。すなわち、あるイベント情報の配信に関して、二重ルーティングになっている配信経路が特定され、特定された配信経路が下位ネットワーク(例えば、OpenFlowネットワークや、MPLS(Multi-Protocol Label Switching)ネットワーク)で経路設定されることにより、二重ルーティングが解消される。また、二重ルーティングが解消されることにより、各ブローカにおける処理が削減されるため、配信遅延を抑制できる。 With the configuration as described above, even if event distribution between nodes in the overlay network is performed via the IP network, routing processing on the network can be unified. In other words, with respect to the distribution of certain event information, a distribution route that is double-routed is specified, and the specified distribution route is set in a lower network (for example, an OpenFlow network or an MPLS (Multi-Protocol Label Switching) network). By doing so, double routing is eliminated. Moreover, since the processing in each broker is reduced by eliminating the double routing, the delivery delay can be suppressed.
 以下、具体的な実施例により本発明を説明するが、本発明の範囲は以下に説明する内容に限定されない。また、上記実施形態と同様の構成については、図1と同一の符号を付し、説明を省略する。 Hereinafter, the present invention will be described with reference to specific examples, but the scope of the present invention is not limited to the contents described below. Moreover, about the structure similar to the said embodiment, the code | symbol same as FIG. 1 is attached | subjected and description is abbreviate | omitted.
 図9は、本実施例におけるイベント配信システムの一実施形態を示すブロック図である。本実施例におけるイベント配信システムは、Publisherサーバ100(以下、パブリッシャサーバ100)と、Subscriberサーバ200(以下、サブスクライバサーバ200)と、Brokerサーバ(以下、ブローカサーバ)410~450と、オープンフロースイッチ500(以下、オープンフローフロースイッチ500)と、OpenFlowControllerサーバ600(以下、オープンフローコントローラサーバ600)とを備えている。 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).
 パブリッシャサーバ100、サブスクライバサーバ200、ブローカサーバ410~450、オープンフロースイッチ500およびオープンフローコントローラサーバ600は、DHTリング700を介して相互に接続されている。 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.
 パブリッシャサーバ100は、パブリッシャ10およびブローカ40を備え、サブスクライバサーバ200は、サブスクライバ20およびブローカ46を備えている。また、ブローカサーバ410~450は、ブローカ41~45をそれぞれ備えている。また、オープンフローコントローラサーバ600は、オープンフロースイッチコントローラ660を備えている。 The publisher server 100 includes a publisher 10 and a broker 40, and the subscriber server 200 includes a subscriber 20 and a broker 46. Further, the broker servers 410 to 450 include brokers 41 to 45, respectively. The OpenFlow controller server 600 includes an OpenFlow switch controller 660.
 ブローカ40~46は、例えば、PastryやChordなどのアルゴリズムを用いた分散ハッシュテーブル(Distributed Hash Table)で管理されるノードである。 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.
 また、ブローカサーバ430は、ランデブポイント30も備えている。なお、ブローカサーバ430以外のブローカサーバも、上記実施形態におけるランデブポイント30に相当する手段を備えているが、図9では記載を省略している。以下、ブローカサーバ430上で、ランデブポイント30による各処理が行われるものとして説明する。 The broker server 430 also includes a rendezvous point 30. Note that 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.
 パブリッシャ10、サブスクライバ20、ランデブポイント30、および、ブローカ40~46は、例えば、アプリケーションプログラムに従って動作するコンピュータのCPUによって実現され、各サーバ機器上で動作する。具体的には、各サーバ機器のCPUは、各機器の記憶部(図示せず)に記憶されたアプリケーションプログラムを読み込み、そのプログラムに従って、パブリッシャ10、サブスクライバ20、ランデブポイント30、および、ブローカ40~46として動作する。また、オープンフロースイッチ500は、フロースイッチ50に相当し、オープンフロースイッチコントローラサーバ600は、コントローラ60に相当する。 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, and the OpenFlow switch controller server 600 corresponds to the controller 60.
 本実施例では、イベント配信の配信経路として、パブリッシャサーバ100→ブローカサーバ420→ブローカサーバ430→ブローカサーバ440→サブスクライバサーバ200という経路が構築される手順を説明する。 In the present embodiment, 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.
 配信経路のうち、広告処理においてパブリッシャサーバ100→ブローカサーバ420→ブローカサーバ430までの経路が設定され、購読処理においてブローカサーバ430→ブローカサーバ440→ブローカサーバ460→サブスクライバサーバ200までの経路が設定される。 Among the distribution routes, 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
 まず、広告処理において、パブリッシャサーバ100→ブローカサーバ420→ブローカサーバ430までの経路が設定される手順を説明する。なお、配信経路を設定する処理は、図2に例示する処理と同様である。 First, a procedure for setting a route from the publisher server 100 to the broker server 420 to the broker server 430 in the advertisement process will be described. Note that the process of setting the delivery route is the same as the process illustrated in FIG.
 初めに、パブリッシャサーバ100のパブリッシャ10は広告メッセージを発信し、サーバ内のブローカ40に転送する。この広告メッセージには、パブリッシャサーバ100のパブリッシャ10が配信するイベント情報のイベント名が含まれている。 First, 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.
 次に、パブリッシャサーバ100のブローカ40は、イベント名からハッシュ値を算出し、キーとして使用されるイベント識別子を得る。ここでは、ハッシュ値「430」が算出されたものとする。このハッシュ値「430」は、広告メッセージの送信先を識別する情報として取り扱われる。そこで、パブリッシャサーバ100のブローカ40は、経路表を用いて、転送すべき隣接ブローカを検索する。ここでは、隣接ブローカとして経路表からブローカ420が検索されたものとする。 Next, 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. Here, it is assumed that 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. Here, it is assumed that the broker 420 is searched from the route table as an adjacent broker.
 そして、パブリッシャサーバ100のブローカ40は、広告メッセージに経路情報エレメントを追加する。追加する経路情報エレメントは、図3に例示する経路情報エレメントと同様である。 Then, 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.
 例えば、パブリッシャサーバ100のブローカ40は起点ノードになるので、エレメント番号=0とする情報が広告メッセージに追記される。具体的には、ノードID情報(ここでは、「100」)、IPアドレス情報、配信経路上での親ノード情報、子ノード情報が広告メッセージに追記される。 For example, since the broker 40 of the publisher server 100 is the starting node, information with element number = 0 is added to the advertisement message. Specifically, node ID information (here, “100”), IP address information, parent node information on the distribution route, and child node information are added to the advertisement message.
 なお、パブリッシャサーバ100のブローカ40は、イベント配信の起点ノードであるため、親ノードは存在しない。したがって、経路情報エレメントの親ノード情報(ノードID情報、アドレス情報)には、Null値や、何らかの無効な値を設定すればよい。また、ここでは、隣接ノードがブローカサーバ420のため、子ノード情報にはブローカサーバ420の情報を設定すればよい。 Note that since 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. Here, since the adjacent node is the broker server 420, the information of the broker server 420 may be set in the child node information.
 同様に、ブローカサーバ420のブローカ42及びブローカサーバ430のブローカ43は、経路情報エレメント1、経路情報エレメント2という経路情報エレメントをそれぞれ広告メッセージに追加する。 Similarly, 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.
 また、ブローカサーバの各ブローカは、受信した広告メッセージの送信先が自ノードか否かを判断する。広告メッセージを受信したブローカサーバ430のブローカ43は、自ノードIDが「430」であるため、広告メッセージの転送処理を終了させる。そして、ブローカ43は、ランデブポイント30に広告メッセージを引き渡し、ランデブポイント30が行う処理をスタートさせる。 Also, 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.
 広告メッセージを受信したブローカサーバ430のランデブポイント30は、経路情報エレメント0~2を確認することで、今回の広告処理におけるイベント配信の配信経路が、パブリッシャサーバ100→ブローカサーバ420→ブローカサーバ430であることを特定する。 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.
 次に、ブローカサーバ430のランデブポイント30は、オープンフローコントローラサーバ600とオープンフロースイッチ500を含むネットワークに対して経路設定処理を行う。 Next, 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.
 最初に、ブローカサーバ430のランデブポイント30は、オープンフローコントローラサーバ600へ経路設定要求メッセージを送信する。この経路設定要求メッセージには、フロー識別子と、広告メッセージに含まれていた経路情報エレメントとが含まれる。また、フロー識別子には、広告メッセージに含まれていたイベント識別子が使用される。また、経路情報エレメントには、オープンフロースイッチ500に設定する配信経路(ここでは、パブリッシャサーバ100→ブローカサーバ420→ブローカサーバ430)を示す情報が含まれる。 First, 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. Further, 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.
 オープンフローコントローラサーバ600のオープンフロースイッチコントローラ660は、経路設定要求メッセージを受信すると、予め生成された物理ネットワーク構成を示す情報と、受信した経路情報エレメントを用いて、オープンフロースイッチ500へ設定する経路設定情報を算出する。ここでは、パブリッシャサーバ100を起点とし、ブローカサーバ420およびブローカサーバ430を終点としたスター型の構成が算出される。 When 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. Here, a star configuration is calculated starting from publisher server 100 and ending with broker server 420 and broker server 430.
 さらに、オープンフロースイッチコントローラ660は、フロー識別情報としてIPマルチキャストアドレスをフロー識別子に割り当てる。そして、オープンフロースイッチコントローラ660は、フロー識別子、フロー識別情報および経路設定情報を含む経路設定メッセージをオープンフロースイッチ500に送信して経路情報を設定させる。 Furthermore, 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.
 図10は、経路設定メッセージの例を示す説明図である。図10に例示する経路設定メッセージは、配信指示タイプと、フロー識別子と、算出された経路設定情報とを含んでいる。また、経路設定情報には、経路設定情報を識別するエレメント番号、スター型構成における装置の位置づけを示すタイプと、その装置のノード情報とが含まれる。ここでの経路設定メッセージには、フロー識別子(=430)、フロー識別情報(IPマルチキャストアドレス)、および、経路設定情報(パブリッシャサーバ100→ブローカサーバ420、ブローカサーバ430)が含まれる。 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 route setting message here includes a flow identifier (= 430), flow identification information (IP multicast address), and route setting information (publisher server 100 → broker server 420, broker server 430).
 経路設定メッセージを受信したオープンフロースイッチ500は、フロー識別子、フロー識別情報および経路設定情報をフローテーブル(図示せず)に設定し、設定処理を完了する。以降、オープンフロースイッチ500は、該当するフローを受信した場合、フローテーブル(図示せず)に設定されたフロー識別情報を用いて受信フローを識別し、ブローカサーバ420およびブローカサーバ430が接続されるポートへ、受信フローをスイッチする。 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.
 次に、購読処理において、ブローカサーバ430→ブローカサーバ440→サブスクライバサーバ200までの配信経路が設定される手順を説明する。まず、サブスクライバサーバ200は購読メッセージを発信し、サーバ内のブローカ46に転送する。この購読メッセージには、サブスクライバサーバ200が購読するイベント情報のイベント名が含まれている。 Next, a procedure for setting a delivery route from the broker server 430 to the broker server 440 to the subscriber server 200 in the subscription process will be described. First, 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.
 次に、サブスクライバサーバ200のブローカ46は、イベント名からハッシュ値を算出し、キーとして使用されるイベント識別子を得る。ここでは、ハッシュ値「430」が算出されたものとする。このハッシュ値「430」は、購読メッセージの送信先を識別する情報として取り扱われる。そこで、サブスクライバサーバ200のブローカ46は、経路表を用いて、転送すべき隣接ブローカを検索する。ここでは、隣接ブローカとして経路表からブローカサーバ440が検索されたものとする。 Next, 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. Here, it is assumed that 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. Here, it is assumed that the broker server 440 is searched from the route table as an adjacent broker.
 そして、サブスクライバサーバ200のブローカ46は、購読メッセージに経路情報エレメントを追加する。追加する経路情報エレメントは、図7に例示する経路情報エレメントと同様である。 Then, the broker 46 of the subscriber server 200 adds a route information element to the subscription message. The route information element to be added is the same as the route information element illustrated in FIG.
 例えば、サブスクライバサーバ200のブローカ46は起点ノードになるので、エレメント番号=0とする情報が購読メッセージに追記される。具体的には、ノードID情報(ここでは、「200」。)、IPアドレス情報、配信経路上での親ノード情報、子ノード情報が購読メッセージに追記される。 For example, since the broker 46 of the subscriber server 200 is a starting node, information with element number = 0 is added to the subscription message. Specifically, node ID information (here, “200”), IP address information, parent node information on the distribution route, and child node information are added to the subscription message.
 なお、サブスクライバサーバ200のブローカ46は、起点ノードであるため、親ノードは存在しない。したがって、経路情報エレメントの親ノード情報(ノードID情報、アドレス情報)には、Null値や、何らかの無効な値を設定すればよい。また、ここでは、隣接ノードがブローカサーバ440のため、子ノード情報にはブローカサーバ440の情報を設定すればよい。 Note that since the broker 46 of the subscriber server 200 is a 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. Here, since the adjacent node is the broker server 440, information on the broker server 440 may be set in the child node information.
 同様に、ブローカサーバ440のブローカ44及びブローカサーバ430のブローカ43は、経路情報エレメント1、経路情報エレメント2という経路情報エレメントをそれぞれ購読メッセージに追加する。 Similarly, 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.
 また、ブローカサーバの各ブローカは、受信した購読メッセージの送信先が自ノードか否かを判断する。購読メッセージを受信したブローカサーバ430のブローカ43は、自ノードIDが「430」であるため、購読メッセージの転送処理を終了させる。そして、ブローカ43は、ランデブポイント30に購読メッセージを引き渡し、ランデブポイント30が行う処理をスタートさせる。 Also, 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.
 購読メッセージを受信したブローカサーバ430のランデブポイント30は、経路情報エレメント0~2を確認することで、今回の購読処理におけるイベント配信の配信経路が、ブローカサーバ430→ブローカサーバ440→サブスクライバサーバ200であることを特定する。 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.
 次に、ブローカサーバ430のランデブポイント30は、オープンフローコントローラサーバ600とオープンフロースイッチ500を含むネットワークに対して経路設定処理を行う。 Next, 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.
 最初に、ブローカサーバ430のランデブポイント30は、オープンフローコントローラサーバ600へ経路設定要求メッセージを送信する。この経路設定要求メッセージには、フロー識別子と、購読メッセージに含まれていた経路情報エレメントとが含まれる。また、フロー識別子には、購読メッセージに含まれていたイベント識別子が使用される。また、経路情報エレメントには、オープンフロースイッチ500に設定する配信経路(ここでは、ブローカサーバ430→ブローカサーバ440→サブスクライバサーバ200)を示す情報が含まれる。 First, 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.
 オープンフローコントローラサーバ600のオープンフロースイッチコントローラ660は、経路設定要求メッセージを受信すると、予め生成された物理ネットワーク構成を示す情報と、受信した経路情報エレメントを用いて、オープンフロースイッチ500へ設定する経路設定情報を算出する。ここでは、ブローカサーバ430を起点とし、ブローカサーバ430およびサブスクライバサーバ200を終点としたスター型の構成が算出される。 When 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. Here, a star configuration is calculated starting from the broker server 430 and ending at the broker server 430 and the subscriber server 200.
 さらに、オープンフロースイッチコントローラ660は、フロー識別情報としてIPマルチキャストアドレスをフロー識別子に割り当てる。そして、オープンフロースイッチコントローラ660は、フロー識別子、フロー識別情報および経路設定情報を含む経路設定メッセージをオープンフロースイッチ500に送信して経路情報を設定させる。 Furthermore, 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.
 なお、オープンフロースイッチコントローラ660が送信する経路設定メッセージは、図10に例示する経路設定メッセージと同様である。ここでの経路設定メッセージには、フロー識別子(=430)、フロー識別情報(IPマルチキャストアドレス)、および、経路設定情報(ブローカサーバ430→ブローカサーバ440、サブスクライバサーバ200)が含まれる。 Note that the route setting message transmitted by the OpenFlow switch controller 660 is the same as the route setting message illustrated in FIG. The route setting message here includes a flow identifier (= 430), flow identification information (IP multicast address), and route setting information (broker server 430 → broker server 440, subscriber server 200).
 経路設定メッセージを受信したオープンフロースイッチ500は、フロー識別子、フロー識別情報および経路設定情報をフローテーブル(図示せず)に設定し、設定処理を完了する。以降、オープンフロースイッチ500は、該当するフローを受信した場合、フローテーブル(図示せず)に設定されたフロー識別情報を用いて受信フローを識別し、ブローカサーバ440およびサブスクライバサーバ200が接続されるポートへ、受信フローをスイッチする。 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.
 以上のように、オープンフロースイッチ500には、オープンフロースイッチコントローラ660により、パブリッシャサーバ100をルートとしたIPマルチキャストが設定される。具体的には、広告処理において、パブリッシャサーバ100からランデブポイント30に至るまでのブローカがイベント情報の受信者として特定され、購読処理において、サブスクライバサーバ200からランデブポイント30において経由したサブスクライバサーバ200およびブローカがイベント情報の受信者として特定される。すなわち、イベント情報を投入する装置がパブリッシャサーバ100であり、イベント情報の受信者がブローカサーバ420,430,440およびサブスクライバサーバ200であると特定できる。 As described above, in the OpenFlow switch 500, the OpenFlow switch controller 660 sets IP multicast with the publisher server 100 as a route. Specifically, 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. In other words, it is possible to specify that 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.
 図11は、フロースイッチに経路が設定された後の処理を示すシーケンス図である。経路設定が完了すると、ブローカサーバ430のランデブポイント30は、広告処理や購読処理で設定された経路を逆に辿り、フロー識別子とフロー識別情報とを含む返信情報(すなわち、フロー情報通知メッセージ)をパブリッシャサーバ100およびサブスクライバサーバ200へ送信する。ここでは、フロー識別子(=430)、フロー識別情報(IPマルチキャストアドレス)がフロー情報通知メッセージに含まれる。 FIG. 11 is a sequence diagram showing processing after a route is set in the flow switch. When the route setting is completed, 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. Here, the flow identifier (= 430) and the flow identification information (IP multicast address) are included in the flow information notification message.
 具体的には、ブローカサーバ430のランデブポイント30は、フロー情報通知メッセージをブローカ43に通知する(ステップS41)。ブローカ43は、受信したフロー情報通知メッセージをもとに経路表の設定を行い(ステップS42)、さらにブローカサーバ420にフロー情報通知メッセージを送信する(ステップS43)。同様に、ブローカサーバ420のブローカ42は、受信したフロー情報通知メッセージをもとに経路表の設定を行い(ステップS44)、パブリッシャサーバ100にフロー情報通知メッセージを送信する(ステップS45)。このようにして、パブリッシャサーバ100は、フロー情報通知メッセージを受信する。 Specifically, 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). Similarly, 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.
 一方、ブローカ43は、ブローカサーバ440にもフロー情報通知メッセージを送信する(ステップS53)。ブローカサーバ440のブローカ44は、受信したフロー情報通知メッセージをもとに経路表の設定を行い(ステップS54)、サブスクライバサーバ200にフロー情報通知メッセージを送信する(ステップS55)。このようにして、サブスクライバサーバ200は、フロー情報通知メッセージを受信する。 Meanwhile, 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.
 その後、パブリッシャサーバ100は、受信したフロー情報通知メッセージに含まれるフロー識別情報であるIPマルチキャストアドレスを使用してイベント情報を送信することによって、オープンフロースイッチ500にイベント情報を含むフローを認識させることができる。 Thereafter, 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.
 具体的には、広告処理および購読処理により、IPマルチキャストアドレスごとにオープンフロースイッチ500の出力ポートが設定される。また、パブリッシャサーバ100から送信されるIPマルチキャストパケットに乗ってイベント情報が配送される。そのため、オープンフロースイッチ500は、受信したイベント情報のIPマルチキャストアドレスをチェックすることにより、出力ポートを特定できる。 Specifically, the output port of the OpenFlow switch 500 is set for each IP multicast address by the advertisement process and the subscription process. In addition, 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.
 一方、サブスクライバサーバ200は、受信したフロー情報通知メッセージに含まれるフロー識別情報を使用して、受信フローをフィルタすることで、要求したイベント情報を正しく受信することができる。 On the other hand, 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.
 次に、本発明の最小構成の例を説明する。図12は、本発明によるイベント配信システムの最小構成の例を示すブロック図である。本発明によるイベント配信システムは、発生したイベントを他の装置に配信する配信装置160(例えば、パブリッシャ10、ブローカ40)と、配信されるイベントを受信する受信装置170(例えば、サブスクライバ20、ブローカ46)と、通信ネットワーク(例えば、通信ネットワーク70)を介して装置間の通信を中継する通信中継装置180(例えば、ブローカ41~45)と、イベントを含むデータフローを識別し、そのデータフローを配信経路上の装置に転送するスイッチであるフロースイッチ190(例えば、フロースイッチ50)に配信経路を示す経路情報を設定させる制御装置200(例えば、コントローラ60)とを備えている。 Next, an example of the minimum configuration of the present invention will be described. 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 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.
 配信装置160は、通信中継装置のうち配信経路の設定処理を行う配信経路設定装置(例えば、ブローカ43)をイベントに応じて特定する通信中継装置第一特定手段161(例えば、ブローカ40)と、配信装置160、受信装置170および通信中継装置180の間の通信経路を定めた経路表(例えば、DHTで構成される経路表)に基づいて、イベントを識別する情報であるイベント識別情報(例えば、イベント名)と、通信経路の一部を示す情報である経路情報エレメントとを含む第一のメッセージ(例えば、広告メッセージ)を通信中継装置180に送信する第一送信手段162(例えば、ブローカ40)とを備えている。 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.
 受信装置170は、配信経路設定装置(例えば、ブローカ43)をイベントに応じて特定する通信中継装置第二特定手段171(例えば、ブローカ46)と、経路表(例えば、DHTで構成される経路表)に基づいて、イベント識別情報と経路情報エレメントとを含む第二のメッセージ(例えば、購読メッセージ)を通信中継装置180に送信する第二送信手段172(例えば、ブローカ46)とを備えている。 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.
 通信中継装置180は、第一のメッセージまたは第二のメッセージを受信したときに、自通信中継装置が配信経路設定装置である場合、その第一のメッセージまたは第二のメッセージを制御装置200に転送し、自通信中継装置が配信経路設定装置でない場合、その第一のメッセージまたは第二のメッセージに経路情報エレメントを追加して、配信経路上の他の通信中継装置にその第一のメッセージまたは第二のメッセージを経路表に基づいて転送するメッセージ転送手段181(例えば、ブローカ43、ランデブポイント30)を備えている。 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.
 制御装置200は、通信中継装置180から受信した第一のメッセージまたは第二のメッセージに含まれるイベント識別情報ごとに割り当てたイベントの配信に用いられるデータフローを識別する情報であるフロー識別情報(例えば、IPマルチキャストアドレス)と、第一のメッセージまたは第二のメッセージに含まれる経路情報エレメントと対応付けられた経路情報をフロースイッチ190に設定する経路情報設定手段201(例えば、コントローラ60)を備えている。 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.
 そのような構成により、オーバーレイネットワークにおけるノード間のイベント配信がIPネットワークを介して行われる場合であっても、ネットワーク上のルーティング処理を一本化できる。 With such a configuration, even if event distribution between nodes in the overlay network is performed via the IP network, routing processing on the network can be unified.
 また、通信中継装置180のメッセージ転送手段181、経路情報設定手段201が経路情報を設定後、第一のメッセージに含まれる経路情報エレメントが示す通信経路を逆に辿る経路で、イベント識別情報とフロー識別情報とを含む情報であるフロー情報通知メッセージを配信装置160に送信し、第二のメッセージに含まれる経路情報エレメントが示す通信経路を逆に辿る経路で、受信装置にフロー情報通知メッセージを送信してもよい。 Further, after the message transfer unit 181 and the route information setting unit 201 of the communication relay device 180 set the route information, 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.
 また、配信装置160の第一送信手段162は、フロー情報通知メッセージに含まれるフロー識別情報を用いて通信中継装置180にイベントを送信してもよい。また、受信装置170の第二送信手段172は、フロー情報通知メッセージに含まれるフロー識別情報を用いて受信するイベントを選択してもよい。 Further, 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.
 また、制御装置200の経路情報設定手段201は、第一のメッセージまたは第二のメッセージに含まれるイベント識別情報ごとにフロー識別情報として割り当てたIPマルチキャストアドレスと、経路情報エレメントとを対応付けた経路情報をフロースイッチに設定し、通信中継装置180のメッセージ転送手段181は、経路情報設定手段201が経路情報を設定後、第一のメッセージに含まれる経路情報エレメントが示す通信経路を逆に辿る経路で、イベント識別情報とIPマルチキャストアドレスとを含むフロー情報通知メッセージを配信装置160に送信し、第二のメッセージに含まれる経路情報エレメントが示す通信経路を逆に辿る経路で、受信装置170にフロー情報通知メッセージを送信してもよい。 Further, 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. Then, 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.
 以上、実施形態及び実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。 As mentioned above, although this invention was demonstrated with reference to embodiment and an Example, this invention is not limited to the said embodiment and Example. Various changes that can be understood by those skilled in the art can be made to the configuration and details of the present invention within the scope of the present invention.
 この出願は、2010年12月2日に出願された日本特許出願2010-269628を基礎とする優先権を主張し、その開示の全てをここに取り込む。 This application claims priority based on Japanese Patent Application 2010-269628 filed on December 2, 2010, the entire disclosure of which is incorporated herein.
 本発明は、ある観測対象に発生したイベントの通知を希望する受信者に、そのイベントの情報を通知するイベント配信システムに好適に適用される。また、本発明は、コンテンツを配信するネットワークにおいて好適に適用される。 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.
 さらに、本発明は、ネットワーク監視情報や制御情報をコンテンツとして取り扱うネットワーク管理システム分野へも適用可能である。例えば、個々のネットワーク機器が収集した監視情報をパブリッシャサーバに引き渡すと、サブスクライバサーバへ接続した各種サーバ(ネットワーク構成サーバ、障害管理サーバ、ネットワーク経路制御サーバなど)へその情報が配信されるようなネットワークシステムの自律運用に利用できる。 Furthermore, the present invention can also be applied to the field of network management systems that handle network monitoring information and control information as content. For example, when monitoring information collected by individual network devices is delivered to the publisher server, 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.
 10 パブリッシャ
 20 サブスクライバ
 30 ランデブポイント
 40~46 ブローカ
 50 フロースイッチ
 60 コントローラ
 70 通信ネットワーク
 100 パブリッシャサーバ
 200 サブスクライバサーバ
 410~450 ブローカサーバ
 500 オープンフロースイッチ
 600 オープンフローコントローラサーバ
10 Publisher 20 Subscriber 30 Rendezvous Point 40-46 Broker 50 Flow Switch 60 Controller 70 Communication Network 100 Publisher Server 200 Subscriber Server 410-450 Broker Server 500 Open Flow Switch 600 Open Flow Controller Server

Claims (7)

  1.  発生したイベントを他の装置に配信する配信装置と、
     配信されるイベントを受信する受信装置と、
     通信ネットワークを介して装置間の通信を中継する通信中継装置と、
     前記イベントを含むデータフローを識別し、当該データフローを配信経路上の装置に転送するスイッチであるフロースイッチに配信経路を示す経路情報を設定させる制御装置とを備え、
     前記配信装置は、
     前記通信中継装置のうち配信経路の設定処理を行う配信経路設定装置を前記イベントに応じて特定する通信中継装置第一特定手段と、
     前記配信装置、前記受信装置および前記通信中継装置の間の通信経路を定めた経路表に基づいて、前記イベントを識別する情報であるイベント識別情報と、前記通信経路の一部を示す情報である経路情報エレメントとを含む第一のメッセージを前記通信中継装置に送信する第一送信手段とを備え、
     前記受信装置は、
     前記配信経路設定装置を前記イベントに応じて特定する通信中継装置第二特定手段と、
     前記経路表に基づいて、前記イベント識別情報と前記経路情報エレメントとを含む第二のメッセージを前記通信中継装置に送信する第二送信手段とを備え、
     前記通信中継装置は、
     前記第一のメッセージまたは前記第二のメッセージを受信したときに、自通信中継装置が前記配信経路設定装置である場合、当該第一のメッセージまたは第二のメッセージを前記制御装置に転送し、自通信中継装置が前記配信経路設定装置でない場合、当該第一のメッセージまたは第二のメッセージに前記経路情報エレメントを追加して、配信経路上の他の通信中継装置に当該第一のメッセージまたは第二のメッセージを前記経路表に基づいて転送するメッセージ転送手段を備え、
     前記制御装置は、
     前記通信中継装置から受信した第一のメッセージまたは第二のメッセージに含まれるイベント識別情報ごとに割り当てた前記イベントの配信に用いられるデータフローを識別する情報であるフロー識別情報と、第一のメッセージおよび第二のメッセージに含まれる経路情報エレメントとを対応付けた経路情報を前記フロースイッチに設定する経路情報設定手段を備えた
     ことを特徴とするイベント配信システム。
    A distribution device that distributes the generated event to other devices;
    A receiving device for receiving the event to be distributed;
    A communication relay device that relays communication between devices via a communication network;
    A control device for identifying a data flow including the event and setting a route information indicating a delivery route in a flow switch that is a switch for transferring the data flow to a device on the delivery route;
    The distribution device includes:
    A communication relay device first specifying means for specifying a distribution route setting device for performing a distribution route setting process among the communication relay devices according to the event;
    Event identification information that is information for identifying the event based on a route table that defines a communication route between the distribution device, the receiving device, and the communication relay device, and information that indicates a part of the communication route. A first transmission means for transmitting a first message including a route information element to the communication relay device;
    The receiving device is:
    A communication relay device second specifying means for specifying the delivery route setting device according to the event;
    A second transmission unit configured to transmit a second message including the event identification information and the route information element to the communication relay device based on the route table;
    The communication relay device is:
    When the first message or the second message is received and the own communication relay device is the delivery route setting device, the first message or the second message is transferred to the control device, When the communication relay device is not the delivery route setting device, the 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 for transferring the message based on the routing table,
    The controller is
    Flow identification information which is information for identifying a data flow used for distribution of the event assigned for each event identification information included in the first message or the second message received from the communication relay device, and the first message And an event delivery system comprising route information setting means for setting route information in association with the route information element included in the second message in the flow switch.
  2.  通信中継装置のメッセージ転送手段は、経路情報設定手段が経路情報を設定後、第一のメッセージに含まれる経路情報エレメントが示す通信経路を逆に辿る経路で、イベント識別情報とフロー識別情報とを含む情報であるフロー情報通知メッセージを配信装置に送信し、第二のメッセージに含まれる経路情報エレメントが示す通信経路を逆に辿る経路で、受信装置に前記フロー情報通知メッセージを送信する
     請求項1記載のイベント配信システム。
    The message transfer means of the communication relay device is a path that reversely traces the communication path indicated by the path information element included in the first message after the path information setting means sets the path information. The flow information notification message, which is information included, is transmitted to the distribution apparatus, and the flow information notification message is transmitted to the reception apparatus through a path that reversely follows the communication path indicated by the path information element included in the second message. The event distribution system described.
  3.  配信装置の第一送信手段は、フロー情報通知メッセージに含まれるフロー識別情報を用いて通信中継装置にイベントを送信する
     請求項1または請求項2記載のイベント配信システム。
    The event distribution system according to claim 1 or 2, wherein the first transmission unit of the distribution apparatus transmits an event to the communication relay apparatus using the flow identification information included in the flow information notification message.
  4.  受信装置の第二送信手段は、フロー情報通知メッセージに含まれるフロー識別情報を用いて受信するイベントを選択する
     請求項1から請求項3のうちのいずれか1項に記載のイベント配信システム。
    The event delivery system according to any one of claims 1 to 3, wherein the second transmission unit of the reception device selects an event to be received using the flow identification information included in the flow information notification message.
  5.  制御装置の経路情報設定手段は、第一のメッセージまたは第二のメッセージに含まれるイベント識別情報ごとにフロー識別情報として割り当てたIPマルチキャストアドレスと、経路情報エレメントとを対応付けた経路情報をフロースイッチに設定し、
     通信中継装置のメッセージ転送手段は、経路情報設定手段が経路情報を設定後、第一のメッセージに含まれる経路情報エレメントが示す通信経路を逆に辿る経路で、イベント識別情報と前記IPマルチキャストアドレスとを含むフロー情報通知メッセージを配信装置に送信し、第二のメッセージに含まれる経路情報エレメントが示す通信経路を逆に辿る経路で、受信装置に前記フロー情報通知メッセージを送信する
     請求項1から請求項4のうちのいずれか1項に記載のイベント配信システム。
    The path information setting unit of the control device is configured to switch the path information in which the IP multicast address assigned as the flow identification information for each event identification information included in the first message or the second message is associated with the path information element. Set to
    The message transfer unit of the communication relay device is a route that reversely traces the communication route indicated by the route information element included in the first message after the route information setting unit sets the route information. The event identification information, the IP multicast address, The flow information notification message including the message information is transmitted to the distribution device, and the flow information notification message is transmitted to the reception device via a route that reversely follows the communication route indicated by the route information element included in the second message. Item 5. The event distribution system according to any one of Items 4 to 5.
  6.  発生したイベントを他の装置に配信する配信装置が、通信ネットワークを介して装置間の通信を中継する通信中継装置のうち、配信経路の設定処理を行う配信経路設定装置を当該イベントに応じて特定し、
     前記配信装置が、当該配信装置、前記通信中継装置および配信されるイベントを受信する受信装置の間の通信経路を定めた経路表に基づいて、前記イベントを識別する情報であるイベント識別情報と、前記通信経路の一部を示す情報である経路情報エレメントとを含む第一のメッセージを、前記通信中継装置に送信し、
     前記通信中継装置が、前記第一のメッセージを受信したときに、自通信中継装置が前記配信経路設定装置である場合、前記イベントを含むデータフローを識別して当該データフローを配信経路上の装置に転送するスイッチであるフロースイッチに配信経路を示す経路情報を設定させる制御装置に対して当該第一のメッセージを転送し、自通信中継装置が配信経路設定装置でない場合、当該第一のメッセージに前記経路情報エレメントを追加して配信経路上の他の通信中継装置に当該第一のメッセージを前記経路表に基づいて転送し、
     前記受信装置が、前記イベントに応じて前記配信経路設定装置を特定し、
     前記受信装置が、前記経路表に基づいて、前記イベント識別情報と前記経路情報エレメントとを含む第二のメッセージを前記通信中継装置に送信し、
     前記通信中継装置が、前記第二のメッセージを受信したときに、自通信中継装置が前記配信経路設定装置である場合、前記制御装置に対して当該第二のメッセージを転送し、自通信中継装置が配信経路設定装置でない場合、当該第二のメッセージに前記経路情報エレメントを追加して配信経路上の他の通信中継装置に当該第二のメッセージを前記経路表に基づいて転送し、
     前記制御装置が、前記通信中継装置から受信した第一のメッセージまたは第二のメッセージに含まれるイベント識別情報ごとに割り当てた前記イベントの配信に用いられるデータフローを識別する情報であるフロー識別情報と、第一のメッセージおよび第二のメッセージに含まれる経路情報エレメントとを対応付けた経路情報を前記フロースイッチに設定する
     ことを特徴とするイベント配信方法。
    A distribution device that distributes an event that has occurred to another device identifies a distribution route setting device that performs distribution route setting processing among communication relay devices that relay communication between the devices via a communication network according to the event. And
    Event identification information that is information for identifying the event based on a routing table that defines a communication path between the distribution device, the communication relay device, and a reception device that receives the distributed event; A first message including a route information element that is information indicating a part of the communication route is transmitted to the communication relay device;
    When the communication relay device receives the first message and the communication relay device is the distribution route setting device, the data flow including the event is identified and the data flow is a device on the distribution route. If the first message is transferred to the control device that sets the route information indicating the delivery route to the flow switch that is the switch that forwards to the network, and the local communication relay device is not the delivery route setting device, the first message Transfer the first message based on the route table to other communication relay devices on the delivery route by adding the route information element,
    The receiving device identifies the delivery route setting device according to the event,
    The receiving device transmits a second message including the event identification information and the route information element to the communication relay device based on the route table,
    When the communication relay device receives the second message, if the communication relay device is the distribution route setting device, the communication relay device transfers the second message to the control device, and the communication relay device Is not a delivery route setting device, the route information element is added to the second message and the second message is transferred 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 distributing the event assigned to each event identification information included in the first message or the second message received from the communication relay device by the control device; An event delivery method comprising: 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.
  7.  経路情報をフロースイッチに設定後、第一のメッセージに含まれる経路情報エレメントが示す通信経路を逆に辿る経路で、イベント識別情報とフロー識別情報とを含む情報であるフロー情報通知メッセージを配信装置に送信し、第二のメッセージに含まれる経路情報エレメントが示す通信経路を逆に辿る経路で、受信装置に前記フロー情報通知メッセージを送信する
     請求項6記載のイベント配信方法。
    After setting the route information in the flow switch, a flow information notification message, which is information including event identification information and flow identification information, is a route that reversely traces the communication route indicated by the route information element included in the first message. The event distribution method according to claim 6, wherein the flow information notification message is transmitted to the receiving device through a route that reversely traces the communication route indicated by the route information element included in the second message.
PCT/JP2011/006767 2010-12-02 2011-12-02 Event distribution system and event distribution method WO2012073521A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012546709A JPWO2012073521A1 (en) 2010-12-02 2011-12-02 Event distribution system and event distribution method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2010269628 2010-12-02
JP2010-269628 2010-12-02

Publications (1)

Publication Number Publication Date
WO2012073521A1 true WO2012073521A1 (en) 2012-06-07

Family

ID=46171483

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/006767 WO2012073521A1 (en) 2010-12-02 2011-12-02 Event distribution system and event distribution method

Country Status (2)

Country Link
JP (1) JPWO2012073521A1 (en)
WO (1) WO2012073521A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014098185A1 (en) * 2012-12-20 2014-06-26 日本電気株式会社 Controller, message delivery system, message delivery method, and program

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010103909A1 (en) * 2009-03-09 2010-09-16 日本電気株式会社 OpenFlow COMMUNICATION SYSTEM AND OpenFlow COMMUNICATION METHOD

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010103909A1 (en) * 2009-03-09 2010-09-16 日本電気株式会社 OpenFlow COMMUNICATION SYSTEM AND OpenFlow COMMUNICATION METHOD

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
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 (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014098185A1 (en) * 2012-12-20 2014-06-26 日本電気株式会社 Controller, message delivery system, message delivery method, and program

Also Published As

Publication number Publication date
JPWO2012073521A1 (en) 2014-05-19

Similar Documents

Publication Publication Date Title
CN101911600B (en) Method and system via the Mapless global traffic load balancing of Anycast
JP2014533001A (en) Transfer device control device, transfer device control method, communication system, and program
WO2015151184A1 (en) Communication system, communication method, relay device, and communication program
JP6060688B2 (en) Transfer device, communication system, and roundabout path detection method
JP2019145877A (en) Route information transfer device, route information transfer method, and route information transfer program
JP6561656B2 (en) Terminal and multicast address distribution server
JP5517190B2 (en) Communication system, mapping information notification apparatus, mapping information notification method, and program
JP4421458B2 (en) Network node device and route information update method thereof
JP6378121B2 (en) Gateway apparatus and communication method
WO2012073521A1 (en) Event distribution system and event distribution method
JP2013038647A (en) Message transfer system, control device, message transfer node, message transfer method, and program
CN106101201A (en) Based on the expansible Anycast method and system redirected and rewrite in a kind of NDN
JP5287759B2 (en) Network system and route search method
WO2016068238A1 (en) Network control system, control device, network information management method, and program
JP5971348B2 (en) COMMUNICATION SYSTEM, CONTROL DEVICE, AND CONTROL METHOD
EP2680511A1 (en) Router device, packet control method based on prefix management, and program
JP2019049950A (en) Communication device and communication method
JP5796898B2 (en) Data transfer device, transfer method, and program
JP2013179445A (en) Network setting device and network setting method
Deogirikar et al. A comprehensive development and testing of improved publish-subscribe method for IoT
JP3584897B2 (en) Multicast router route registration system and program
JP6133803B2 (en) Data transfer system, home subscriber server and data transfer method
JP2011029781A (en) Communication system and packet transfer method
JP2012253681A (en) Communication network system
NDIKUMANA et al. An efficient Interest delivery scheme using Named-data Link State Routing Protocol and Interest NACK in NDN

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