WO2012081549A1 - コンピュータシステム、コントローラ、コントローラマネジャ、通信経路解析方法 - Google Patents

コンピュータシステム、コントローラ、コントローラマネジャ、通信経路解析方法 Download PDF

Info

Publication number
WO2012081549A1
WO2012081549A1 PCT/JP2011/078697 JP2011078697W WO2012081549A1 WO 2012081549 A1 WO2012081549 A1 WO 2012081549A1 JP 2011078697 W JP2011078697 W JP 2011078697W WO 2012081549 A1 WO2012081549 A1 WO 2012081549A1
Authority
WO
WIPO (PCT)
Prior art keywords
switch
delay
measurement packet
delay measurement
controller
Prior art date
Application number
PCT/JP2011/078697
Other languages
English (en)
French (fr)
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 US13/993,040 priority Critical patent/US20130258898A1/en
Priority to EP11849842.7A priority patent/EP2654254B1/en
Priority to JP2012548778A priority patent/JP5522495B2/ja
Priority to CN201180060077.2A priority patent/CN103262472B/zh
Publication of WO2012081549A1 publication Critical patent/WO2012081549A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • H04L43/106Active monitoring, e.g. heartbeat, ping or trace-route using time related information in packets, e.g. by adding timestamps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/20Arrangements for monitoring or testing data switching networks the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/64Routing or path finding of packets in data switching networks using an overlay routing layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/55Prevention, detection or correction of errors
    • H04L49/555Error detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/70Routing based on monitoring results

Definitions

  • the present invention relates to a computer system, a controller, a controller manager, and a communication path analysis method, and more particularly, to a communication path analysis method in a computer system using an open flow protocol.
  • OpenFlow Switch In the computer network, a technique (open flow) for centrally controlling the transfer operation of each switch by an external controller has been proposed by OpenFlow Consortium (see Non-Patent Document 1).
  • a network switch compatible with this technology hereinafter referred to as OpenFlow Switch (OFS)
  • OFS OpenFlow Switch
  • the OFS flow table in the network is centrally set and managed by an open flow controller (OFC).
  • a computer system includes an open flow controller 100 (hereinafter referred to as OFC 100), a plurality of open switches 2-1 to 2-n (hereinafter referred to as OFS 2-1 to 2-n). And a host group 30 having a plurality of host computers 3-1 to 3-i (hereinafter referred to as hosts 3-1 to 3-i).
  • n and i are natural numbers of 2 or more.
  • the OFSs 2-1 to 2-n are collectively referred to as OFS2 when they are collectively referred to without distinction
  • the hosts 3 are referred to as hosts 3 when they are collectively referred to without distinction.
  • the OFC 100 sets a communication path between the hosts 3 and a transfer operation (relay operation) for the OFS 2 on the path.
  • the OFC 100 sets a flow entry in which a rule for specifying a flow (packet data) and an action for defining an operation for the flow are associated with each other in the flow table held by the OFS 2.
  • the OFS 2 on the communication path determines the transfer destination of the received packet data according to the flow entry set by the OFC 100, and performs transfer processing.
  • the host 3 can transmit and receive packet data to and from other hosts 3 using the communication path set by the OFC 100. That is, in the computer system using OpenFlow, the OFC 100 that sets the communication path and the OFS 2 that performs the transfer process are separated, so that communication of the entire system can be controlled and managed centrally.
  • the OFS 2-1 when performing packet transmission from the host 3-1 to the host 3-i, the OFS 2-1 sends destination information (header information: for example, destination MAC address, The destination IP address) is referred to, and an entry that matches the header information is searched from the flow table held in the OFS 2-1.
  • destination information for example, destination MAC address, The destination IP address
  • An entry that matches the header information is searched from the flow table held in the OFS 2-1.
  • the contents of entries set in the flow table are defined in Non-Patent Document 1, for example.
  • the OFS 2-1 transfers the packet data (hereinafter referred to as the first packet) or the header information of the first packet to the OFC 100.
  • the OFC 100 that has received the first packet from the OFS 2-1 determines the path 400 based on the information of the transmission source host and the transmission destination host included in the packet.
  • the OFC 100 instructs all OFSs 2 on the path 400 to set a flow entry that defines a packet transfer destination (issues a flow table update instruction).
  • the OFS 2 on the path 400 updates the flow table managed by itself in response to the flow table update instruction. After that, the OFS 2 starts packet transfer according to the updated flow table, so that the packet reaches the destination host 3-i via the path 400 determined by the OFC 100.
  • RIP and OSPF have their respective drawbacks.
  • RIP is easy to implement, but since the communication path with the minimum number of hops is selected as the optimal path, the selected path is not necessarily the minimum delay path.
  • OSPF is used, the communication path with the minimum communication delay is selected as the optimum path, but the implementation is complicated. Since OSPF performs path control by exchanging path information using LSA (Link State Advertisement) or LSDB (Link State Database), the consumption of network device computing resources increases and the load on the communication path also increases.
  • LSA Link State Advertisement
  • LSDB Link State Database
  • An object of the present invention is to measure a delay time of a communication path in a computer system using an open flow protocol.
  • Another object of the present invention is to avoid a high-delay communication path in a computer system using an open flow protocol.
  • the present invention adopts the following means.
  • the computer system includes a first switch and a second switch, a controller, and an analysis module that are adjacent to each other.
  • the controller sets, in the first switch, a flow entry in which the header information of the delay measurement packet is a rule and the transfer operation to the second switch is an action, and transmits the delay measurement packet to the first switch.
  • the analysis module calculates a delay time of a communication section between the first switch and the second switch.
  • the first switch transfers the delay measurement packet transmitted from the controller to the second switch in accordance with the flow entry set in itself.
  • the analysis module acquires the delay measurement packet from the second switch, and calculates the delay time of the communication section using the time stamped in the delay measurement packet.
  • the controller includes a flow control unit that sets, in the first switch, a flow entry in which the header information of the delay measurement packet is a rule and a transfer operation to the second switch adjacent to the first switch is an action.
  • a delay measuring unit that transmits the measurement packet to the first switch. The delay measurement unit acquires the delay measurement packet transferred from the first switch to the second switch by following the flow entry, and uses the time stamped in the delay measurement packet to use the first switch and the second switch The delay time of the communication section between is calculated.
  • the analysis module according to the present invention may be mounted on a controller manager different from the controller. In this case, the delay time between switches under the control of a plurality of controllers is calculated by the controller manager.
  • controller and controller manager are realized by a program recorded in a storage medium and executed by a computer.
  • the controller sets, in the first switch, a flow entry in which the header information of the delay measurement packet is a rule and the transfer operation to the second switch adjacent to the first switch is an action.
  • the analysis module obtains a delay measurement packet from the second switch and calculates a delay time of the communication section using a time stamped in the delay measurement packet.
  • FIG. 1 is a diagram illustrating an example of a configuration of a computer system using an open flow protocol.
  • FIG. 2 is a diagram showing a configuration of the computer system according to the first embodiment of the present invention.
  • FIG. 3 is a diagram showing an example of the structure of the measurement target path information set in the OpenFlow controller according to the present invention.
  • FIG. 4 is a diagram showing an example of the structure of a flow table set in the OpenFlow controller according to the present invention.
  • FIG. 5 is a diagram showing an example of a delay time measurement flow entry set in the OpenFlow switch by the OpenFlow controller according to the present invention.
  • FIG. 1 is a diagram illustrating an example of a configuration of a computer system using an open flow protocol.
  • FIG. 2 is a diagram showing a configuration of the computer system according to the first embodiment of the present invention.
  • FIG. 3 is a diagram showing an example of the structure of the measurement target path information set in the OpenFlow controller according to the present invention.
  • FIG. 4 is a diagram showing an
  • FIG. 6 is a diagram illustrating an example of a flow entry update message for setting a delay measurement flow entry.
  • FIG. 7 is a diagram showing an example of the configuration of the delay measurement unit according to the present invention.
  • FIG. 8 is a diagram showing an example of delay time information according to the present invention.
  • FIG. 9 is a diagram showing an example of a delay measurement packet according to the present invention.
  • FIG. 10 is a diagram showing an example of a delay time measurement operation in the computer system according to the present invention.
  • FIG. 11 is a flowchart showing the operation of extracting the minimum delay arrival path according to the present invention.
  • FIG. 12 is a diagram illustrating a configuration example of a network from which a minimum delay arrival route is extracted.
  • FIG. 13 is a diagram showing an example of a weighted directed graph for searching for the minimum delay arrival route used in the communication route determination operation according to the present invention.
  • FIG. 14 is a diagram showing the configuration of the computer system according to the second embodiment of the present invention.
  • a computer system performs packet data transfer control using open flow technology in the same manner as the system shown in FIG.
  • the delay measurement packet is transferred to the slave switch via the master switch, the reception time of the delay measurement packet notified as the first packet from the slave switch, and the OpenFlow controller
  • the propagation time (delay time) between the switches is measured using the transmitted time.
  • the computer system according to the present invention includes an open flow controller 1 (hereinafter referred to as OFC 1), a switch group 20 having a plurality of open flow switches, and a plurality of host terminals 3-1 to 3-i.
  • the switch group 20 includes a plurality of open flow switches 2-1 to 2-n (hereinafter referred to as OFS 2-1 to 2-n) as in the system shown in FIG. .
  • OFS 2-1 to 2-n the OFSs 2-1 to 2-n
  • n and i are natural numbers of 2 or more.
  • the OFSs 2-1 to 2-n are collectively referred to as OFS2 when they are collectively referred to without distinction
  • the hosts 3 are referred to as hosts 3 when they are collectively referred to without distinction.
  • OFC1 controls the construction of a communication path related to packet transfer in the system and the packet transfer process by open flow technology.
  • the open flow technology is that OFC1 sets multi-layer and flow unit route information in OFS4 and OFVS33 on the communication route according to the routing policy (flow entry: flow + action), and performs route control and node control.
  • the technique to perform is shown (for details, refer nonpatent literature 1).
  • the route control function is separated from the routers and switches, and optimal routing and traffic management are possible through centralized control by the controller.
  • OFS2 and OFVS33 to which the open flow technology is applied handle communication as a flow of END2END, not as a unit of packet or frame as in a conventional router or switch.
  • the OFC 1 is preferably realized by a computer including a CPU and a storage device.
  • the functions of the address path calculation unit 11, the flow control unit 12, and the delay measurement unit 13 shown in FIG. 2 are realized by a CPU (not shown) executing a program stored in a storage device (recording medium).
  • the OFC 1 holds information (physical topology information) on the position and connection status of the switch group 20 controlled by itself as the position / connection information 14.
  • the location / connection information 14 includes, for example, all identifiers (for example, DataPath ID: DPID) of the OFS 2 controlled by the OFC 1, all port numbers included in each OFS 2, and DPIDs of other OFS 2 connected to each port.
  • DPID DataPath ID
  • the route calculation unit 11 uses the position / connection information 14 to set a communication section for which a delay time is to be measured. Specifically, the route calculation unit 11 calculates a route between the hosts 3 using the position / connection information 14, sets one of two adjacent OFSs 2 on the route as a master switch, and sets the other as a slave switch, The communication section between the two is set as the delay measurement target section. At this time, the route calculation unit 11 records information for specifying the delay measurement target section in a storage device (not shown) as the measurement target path information 200 shown in FIG.
  • the path calculation unit 11 sends a DPID (master identifier 201) of OFS2 set as a master switch, a DPID (slave identifier 202) of OFS2 set as a slave switch, and a slave switch connected to the master switch.
  • a port number (MtoS port number 203) is associated and recorded as measurement target path information 200.
  • the flow control unit 12 sets, changes, or deletes a flow entry (rule + action) with respect to a switch (here, OFS2) in accordance with the open flow protocol by Modify Flow Entry Message.
  • a switch here, OFS2
  • the OFS 2 executes an action (for example, relay or discard of packet data) corresponding to the rule according to the header information of the received packet.
  • a combination of layer 1 to layer 4 addresses and identifiers of the OSI (Open Systems Interconnection) reference model included in header information in TCP / IP packet data is defined.
  • OSI Open Systems Interconnection
  • each combination of a layer 1 physical port, a layer 2 MAC address, a layer 3 IP address and protocol, a layer 4 port number, and a VLAN tag (VLAN id) is set as a rule.
  • an identifier such as a port number or an address set in the rule by the flow control unit 12 may be set within a predetermined range. Further, it is preferable that the destination and the address of the transmission source are distinguished and set as a rule. For example, a range of a MAC destination address, a range of a destination port number that specifies a connection destination application, and a range of a transmission source port number that specifies a connection source application are set as rules. Furthermore, an identifier for specifying the data transfer protocol may be set as a rule.
  • a method for processing TCP / IP packet data is defined in the action set in the flow entry. For example, information indicating whether or not the received packet data is to be relayed and the transmission destination in the case of relaying are set. Further, as an action, information for instructing to copy or discard the packet data may be set.
  • FIG. 4 is a diagram showing an example of the structure of the flow table 15 set in the flow control unit 12 according to the present invention.
  • the target device 152 indicating the identifier (for example, DPID) of the OFS 2 to be set and the set flow entry 150 are recorded in association with the flow identifier 151 for specifying the flow entry.
  • a rule 153 and action information 154 are set.
  • the flow control unit 12 can grasp what flow entry 150 is set in the OFS 2.
  • the flow table 15 may include information indicating whether or not the flow entry 150 is set in the OFS 2 that is the target device 152.
  • the flow control unit 12 sets a flow entry for controlling packet transfer in OFS2, and sets a delay time measurement flow entry for measuring a delay time in a communication section in OFS2 (master switch and slave switch). To do. Specifically, the flow control unit 12 normally sets a flow entry for instructing transfer or discard of the first packet in the OFS 2 on the route in response to the notification (PacketIN) of the first packet from the OFS 2. Further, the flow control unit 12 sets a delay time measurement flow entry for the master switch and the slave switch in the measurement target section specified by the route calculation unit 11.
  • FIG. 5 is a diagram illustrating an example of a delay time measurement flow entry set in the OFS 2 by the flow control unit 12.
  • the details of the delay time measurement flow entry set in the OFS 2 (master switch) will be described with reference to FIG.
  • a rule 153 a match field (Match Field) and a value of the match field (Match Value) are defined.
  • action information 154 an action and a property are defined. For example, a rule 153 in which the protocol value of the IP header field is “251” and the values of other match fields are “any” is set in the flow entry for delay time measurement.
  • An entry item set to “ANY” matches an arbitrary value.
  • the priority of the flow entry is compared with the highest priority, and a predetermined action is always executed on the packet if it matches.
  • the transfer destination port set as an action differs depending on whether the setting target switch of the flow entry is a master or a slave.
  • the MtoS port number 203 (port number connected to the slave switch) associated with the master switch is specified as the transfer destination in the measurement target path information 200.
  • the port number connected to the OFC 1 in the slave switch is designated as the transfer destination.
  • the flow control unit 12 updates (sets) the flow entry of the OFS 2 by a flow entry update message (Modify Flow Entry Message). For example, when the delay time measurement flow entry shown in FIG. 5 is set in OFS2 (master switch), a flow entry update message (Modify Flow Entry Message) shown in FIG. 6 is generated and OFS2 (master) to be set is set. Switch).
  • the flow entry update message has a header field (Header Field), a rule field (Field to Match), and an action field (Flow Action Field).
  • “Modify Flow Entry Message” indicating that this message is a flow entry update message is specified, and the rule 153 registered in OFS 2 is specified in the rule field. .
  • the rule field specifies that the protocol of the IP header field is “251” and the other items are “ANY”.
  • action information 154 registered in the OFS 2 is designated.
  • the action field includes Command, Idle_Time, Hard_Time, Priority, Flags, and Action.
  • “Add new Flow entry” indicating that this message is a new entry is specified in Command
  • “0x0000” indicating indefinite is specified in Idle_Time and Hard_Time
  • Priority is given the highest priority.
  • “0xfffff” is specified
  • Checking overwrapping entry first” indicating the duplication confirmation of the entry is specified in flags
  • Send to OFC indicating that the received packet is transmitted to OFC1 is specified in Action.
  • the OFS 2 Upon receiving the flow entry update message shown in FIG. 6, the OFS 2 sets a flow entry whose IP header field protocol is “251” as a rule and whose action is to transfer to the OFC 1 in its own flow table. As a result, the OFS 2 transfers the received packet (delay measurement packet) whose IP header field is “251” to the OFC 1.
  • the delay measurement unit 13 generates a delay measurement packet, analyzes the delay measurement packet transferred through the switch, and calculates a delay time (propagation time) of a communication section formed by the master switch and the slave switch. calculate.
  • FIG. 7 is a diagram illustrating an example of the configuration of the delay measurement unit 13. With reference to FIG. 7, the delay measurement unit 13 includes a delay measurement packet issue module 131, a delay measurement packet analysis module 132, a packet reception module 133, and a packet transmission module 134.
  • the delay measurement packet issuing module 131 creates a delay measurement packet for measuring the delay time (propagation time) of the communication section calculated by the route calculation unit 11. Specifically, the delay measurement packet issuing module 131 refers to the measurement target path information 200 and identifies a communication section whose delay time is to be measured, and a master switch and a slave switch in the communication section. Then, the delay measurement packet issuing module 131 generates a delay assumption packet that is defined to be transferred from the master switch specified as the delay time target to the slave switch.
  • the delay measurement packet includes a time stamp field in which the transmission time and the reception time in the OFC 1 are stamped.
  • the delay measurement packet is preferably configured in a Send Packet Message format that conforms to the OpenFlow protocol.
  • FIG. 9 is a diagram illustrating an example of the structure of a delay measurement packet.
  • the delay measurement packet includes a header field (Header Field), an action field (Actions Field), and a data field (Data Field).
  • Header Field specifies “Packet Out Message” indicating that this message is a message addressed to the switch from OFC1, and Actions Field connects the contents of Data Field in this message to the slave switch.
  • An action “Send Field to the M to Port connected to the Slave Switch” indicating transmission to the port is specified.
  • the Data Field includes an Ether header field (Ether Header), an IP header field (IP Header), and an IP data field (IP DATA).
  • Ether Header an Ether header field
  • IP Header IP header field
  • IP DATA IP data field
  • IP DATA IP data field
  • 0x0800 (IPv4)” is specified for Ether Type in Ether Header
  • 251 one of international standard undefined IP Protocol
  • the OFC 1 recognizes a received packet whose Protocol value matches “251” as a delay measurement packet.
  • the slave switch executes the action (here, the received packet is transferred to OFC1) set in the delay measurement flow entry whose rule is “Protocol value is 251”.
  • a master switch identifier (Master Switch DPID), a slave switch identifier (Slave Switch DPID), and a time stamp (Packet) in which the transmission time of the packet from OFC 1 is stamped.
  • Out Timestamp and a time stamp (Packet In Timestamp) in which the reception time of OFC1 of the packet is stamped is specified.
  • the DPID of the OFS 2 (master switch) that is the destination of the delay measurement packet transferred from the OFC 1 is specified.
  • the Slave Switch DPID designates the DPID of OFS2 (slave switch) that receives a delay measurement packet transferred from the master switch and sends a Packet-In Message (first packet) to the OFC1.
  • the MtoS port field specify the port number of the master switch that is connected to the slave switch. For this reason, the master identifier 201 and the slave identifier 202 specified by the measurement target path information 200 are specified in the Master Switch DPID and the Slave Switch DPID.
  • Packet Out Timestamp UTC (Universal Time, Coordinated) at the time of creating a packet for delay measurement is specified in units of microseconds.
  • Packet In Timestamp is an area where UTC is recorded when a delay measurement packet is received in OFC1. For this reason, when creating a delay measurement packet, “0x00000000” is specified in Packet In Timestamp.
  • Packet Out Timestamp may be an area in which UTC is recorded when a delay measurement packet is transmitted from OFC1. In this case, “0x00000000” is specified in Packet Out Timestamp.
  • the packet for delay measurement is transmitted to the master switch via the secure channel network 4 by the packet transmission module 134.
  • the delay measurement packet transferred from the slave switch to the OFC 1 via the secure channel network 4 is received by the packet reception module 133 and transferred to the delay measurement packet analysis module 132.
  • the packet reception module 133 stamps the reception time of the delay measurement packet in the Packet Out Timestamp in the delay measurement packet. Further, when “0x00000000” is designated in the Packet Out Timestamp, the packet transmission module 134 may stamp the transmission time in the area.
  • the delay measurement packet analysis module 132 calculates the delay time of the section through which the packet has passed based on the time stamp of the packet delay measurement packet received by the packet reception module 133. Specifically, the delay measurement packet analysis module 132 refers to the IP Header Protocol of the received packet or the Master Switch DPID and Slave Switch DPID of the IP Data to determine whether or not the packet is a delay measurement packet. For example, the delay measurement packet analysis module 132 refers to the flow table 15 and determines, as a delay measurement packet, a received packet that matches a rule set in the delay measurement flow entry or a setting target switch.
  • the delay measurement packet analysis module 132 determines that a received packet whose IP header protocol is “251” set as the rule of the delay measurement flow entry is a delay measurement packet. Alternatively, the delay measurement packet analysis module 132 determines that a received packet in which the master switch and the slave switch set in the delay measurement flow entry match the IP Data Master Switch DPID and the Slave Switch DPID is a delay measurement packet.
  • the delay measurement packet analysis module 132 calculates a time period recorded in the Packet In Timestamp from the time recorded in the Packet Out Timestamp of the delay measurement packet as the delay time of the measurement target section.
  • delay time 301 calculated by delay measurement packet analysis module 132 is associated with information indicating a measurement interval (for example, master identifier 201 and slave identifier 202), and storage device ( (Not shown).
  • information indicating the measurement section for example, master identifier 201 and slave identifier 202 can be acquired from the Master Switch DPID and Slave Switch DPID of IP Data in the packet.
  • the DPID, Send Packet Message, and Modify Flow Entry Message described above are preferably defined by OpenFlow Switch Specification version 1.0.0 (Non-patent Document 1).
  • FIG. 10 is a diagram showing an example of a delay time measurement operation in the computer system according to the present invention.
  • the measurement operation of the delay time between OFS 2-1 and OFS 2-2 when OFS 2-1 is a master node and OFS 2-2 is a slave node will be described.
  • a section (measurement target section) for which a delay time is measured is set (step S101).
  • the interval between OFS 2-1 and OFS 2-2 is set as a measurement target section
  • OFS 2-1 is set as a master switch
  • OFS 2-2 is set as a slave switch. Details of the measurement target setting method will be described in “Minimum Delay Arrival Route Extraction Method”.
  • the OFC 1 sets the delay measurement flow entry in the OFS 2-1 and OFS 2-2 (steps S101 to S105). Specifically, the OFC 1 transmits a flow entry update message for setting a delay measurement flow entry to the master switch to the OFS 2-1 (step S102). The OFS 2-1 updates its own flow table in response to this update message (step S104). As a result, the OFS 2-1 is controlled so as to transfer a received packet that conforms to the set delay measurement flow entry rule to the slave switch OFS 2-1. The OFC 1 transmits a flow entry update message for setting a delay measurement flow entry to the slave switch to the OFS 2-2 (step S103). The OFS 2-2 updates its own flow table in response to this update message (step S105).
  • the OFS 2-2 is controlled to transfer a received packet that conforms to the set delay measurement flow entry rule to the OFC1.
  • the OFS 2 that has registered the delay measurement flow entry returns a registration result to the OFC 1.
  • the OFC 1 analyzes the registration result and issues a re-registration request if registration fails.
  • the OFC 1 generates a delay measurement packet and transmits it to the OFS 2-1 set as the master switch (steps S106 and S107).
  • a packet including the rule set in the delay measurement flow entry in steps S102 and S103 is transmitted to the OFS 2-1 as a delay measurement packet.
  • the OFC 1 stamps the transmission time on the packet.
  • the packet (delay measurement packet) is transferred to the OFS 2-2 (slave switch) set as the transfer destination in the entry. Transfer (step S108). If the received packet matches the delay measurement flow entry set in the OFS 2-2, the OFS 2-2 transfers the packet (delay measurement packet) to the OFC 1 set as the transfer destination in the entry (step S109). .
  • the OFC 1 analyzes the delay measurement packet and calculates a delay time between the OFS 2-1 and the OFS 2-2 (step S110). Specifically, the OFC 1 stamps the reception time in the time stamp field of the packet when the delay measurement packet is received. The OFC 1 calculates the delay time 301 from the difference between the transmission time and the reception time stamped in the delay measurement packet, and associates with the master identifier 201 and the slave identifier 202 specified in the packet as the delay time information 300. Record.
  • the delay time between two adjacent OFSs 2 can be measured.
  • the time until the delay measurement packet arrives at the OFC 1 via the communication section after the packet from the OFC 1 is measured as the delay time 301.
  • the delay time is the shortest among a plurality of communication routes connecting two nodes by using the delay time information 300 acquired as described above. It is possible to extract (select) a route (minimum delay arrival route). With reference to FIG. 11 to FIG. 13, a method for extracting a minimum delay arrival route according to the present invention will be described.
  • FIG. 11 is a flowchart showing the extraction operation of the minimum delay arrival route according to the present invention.
  • FIG. 12 is an example showing the configuration of a network from which the minimum delay arrival route is extracted.
  • a system including five OFS2-1 to OFS2-5 managed by one OFC1 is illustrated, and the minimum delay arrival path between OFS2-1 (DPID 1) and OFS2-5 (DPID 5) A method of extracting the will be described.
  • the path between OFS2-1 (DPID 1) and OFS2-5 (DPID 5) is referred to as “communication path”, and the path between two adjacent OFS2s included in the communication path is referred to as “communication section”. Will be described.
  • the path calculation unit 11 of OFC 1 grasps the connection state of OFSs 2-1 to 2-5 detected by topology detection, and communicates between nodes (here, OFS 2-1 and OFS 2-5).
  • the communication path between the two is calculated using the position / connection information 14.
  • the connection state indicated by the dotted line in FIG. 12 and the port number of the connection destination are found, and the following communication paths (Path A to Path H) are calculated.
  • Path A OFS 2-1 ⁇ OFS 2-4, OFS 2-4 ⁇ OFS 2-5
  • PathB OFS 2-1 ⁇ OFS 2-4, OFS 2-4 ⁇ OFS 2-2, OFS 2-2 ⁇ OFS 2-1, OFS 2-1 ⁇ OFS 2-3.
  • OFS2-3 ⁇ OFS2-4, OFS2-4 ⁇ OFS2-5PathC OFS2-1 ⁇ OFS2-4, OFS2-4 ⁇ OFS2-3, OFS2-3 ⁇ OFS2-1, OFS2-1, OFS2-2, OFS2- 2 ⁇ OFS2-4, OFS2-4 ⁇ OFS2-5PathD: OFS2-1 ⁇ OFS2-3, OFS2-3 ⁇ OFS2-4, OFS2-4 ⁇ OFS2-2, OFS2-2 ⁇ OFS2-1, OFS2-1 ⁇ OFS2-4, OFS2-4 ⁇ OFS2-5PathE: OFS2-1 ⁇ OFS2-3, OFS2-3 ⁇ OFS2-4 OFS 2-4 ⁇ OFS 2-5 PathF: OFS 2-1 ⁇ OFS 2-2, OFS 2-2 ⁇ OFS 2-4, OFS 2-4 ⁇ OFS 2-3, OFS 2-3 ⁇ OFS 2-1, OFS 2-1, OFS 2-4, OFS 2- 4 ⁇ OFS2-5PathG: OFS2-1 ⁇ OFS2-2, OFS2-2,
  • the route calculation unit 11 narrows down the candidates for the minimum delay arrival route (step S202). For example, the route calculation unit 11 narrows down candidates as an unordered set in which the communication sections included in each of the communication routes (PathA to PathH) are unordered.
  • the path calculation unit 11 excludes the communication path from the minimum delay arrival path candidates.
  • PathB and C are excluded from candidates because they include PathA.
  • PathD is excluded from the candidates because it includes PathE.
  • PathF and G are excluded from candidates because they include PathH. As a result, the following three communication paths remain as candidates for the minimum delay arrival path.
  • Path A OFS 2-1 ⁇ OFS 2-4, OFS 2-4 ⁇ OFS 2-5
  • PathE OFS 2-1 ⁇ OFS 2-3, OFS 2-3 ⁇ OFS 2-4, OFS 2-4 ⁇ OFS 2-5
  • PathH OFS 2-1 ⁇ OFS 2-2 OFS 2-2 ⁇ OFS 2-4, OFS 2-4 ⁇ OFS 2-5
  • the route calculation unit 11 sets a communication section to be measured in the minimum delay reaching route candidate (step S203). For example, the path calculation unit 11 removes the communication section from the measurement target of the delay time by imitating the delay time of the communication section common to all the paths of the minimum delay arrival path candidates as “0”, and sets the other communication sections Is set as the measurement target section of the delay time.
  • the delay time of the communication section (OFS2-4 ⁇ OFS2-5) common to all candidates is assumed to be “0”, and the other communication sections (OFS2-1 ⁇ OFS2-4, OFS2-1 ⁇ OFS2- 3, OFS 2-3 ⁇ OFS 2-4, OFS 2-1 ⁇ OFS 2-2, OFS 2-2 ⁇ OFS 2-4) are set as delay time measurement targets.
  • the route calculation unit 11 sets the source side of the OFS 2 of the communication section set as the measurement target as the master switch and the destination side as the slave switch, and records it as the measurement target path information 200 together with the M to S port number 203.
  • the OFS2-1 on the source side is set as the master switch and the OFS2-2 is set as the slave switch.
  • the DPID “DPID 1” of OFS 2-1 is registered as the master identifier 201
  • the DPID “DPID 2” of OFS 2-2 is registered as the slave identifier 202.
  • the port number “Port1” on the OFS 2-1 side connected to the OFS 2-2 is registered as the M to S port number 203.
  • Other communication sections are similarly recorded as measurement target path information 200.
  • the OFC 1 measures the delay time of the communication section (step S204).
  • the details of the delay time measurement method are as described in the “delay time measurement method” with reference to FIG.
  • each delay in the communication section (OFS2-1 ⁇ OFS2-4, OFS2-1 ⁇ OFS2-3, OFS2-3 ⁇ OFS2-4, OFS2-1 ⁇ OFS2-2, OFS2-2 ⁇ OFS2-4) Time 301 is measured.
  • the delay time 301 of the communication section “OFS2-1 ⁇ OFS2-4, OFS2-1 ⁇ OFS2-3, OFS2-3 ⁇ OFS2-4, OFS2-1 ⁇ OFS2-2, OFS2-2 ⁇ OFS2-4” is set.
  • the delay measurement packet analysis module 132 calculates the delay time of the minimum delay arrival path candidate and specifies the minimum delay arrival path (step S205). Specifically, first, the delay measurement packet analysis module 132 adds up the delay times of all the communication sections included in the communication path that is the candidate for the minimum delay arrival path, and calculates the delay time of the communication path.
  • the delay time “D_PathA” of the communication path “PathA” is “DT14 + DT45”
  • the delay time “D_PathE” of the communication path “PathE” is “DT13 + DT34 + DT45”
  • the delay time “D_PathH” of the communication path “PathH” is “DT12 + DT24 + DT45”.
  • the delay time “D_PathA” of the communication path “PathA” is “DT14”
  • the delay time “D_PathE” of the communication path “PathE” is “DT13 + DT34”
  • the time “D_PathH” is “DT12 + DT24”.
  • the delay measurement packet analysis module 132 compares the calculated delay times of the communication paths, and specifies the communication path having the minimum delay time as the minimum delay arrival path between the two nodes. For example, when D_PathA> D_PathE> D_PathH, “PathH: OFS 2-1 ⁇ OFS 2-2, OFS 2-2 ⁇ OFS 2-4, OFS 2-4 ⁇ OFS 2-5” is specified as the minimum delay arrival path.
  • the Dijkstra method may be used as an algorithm for calculating the minimum delay arrival route from the minimum delay arrival route candidates.
  • the input of the Dijkstra method is a weighted directed graph composed of minimum delay arrival route candidates, and its output is a two-vertex pair minimum delay arrival route. In the case of the present embodiment, the weighted directed graph for searching the minimum delay arrival route is expressed as shown in FIG.
  • the delay time measurement flow entry is set after narrowing down the measurement target section of the delay time, but the present invention is not limited to this.
  • a communication section including the OFS2 may be specified, and a delay time measurement flow entry may be set.
  • setting the delay time measurement flow entry after specifying the communication section to be subjected to the delay measurement can reduce the processing load in the OFC 1 and the minimum delay arrival route specifying time.
  • the delay time between the communication sections of two adjacent OFSs 2 is measured by the transfer control of the delay measurement packet by setting the delay measurement flow entry using the open flow protocol. Can do. As a result, it is possible to identify the path with the shortest delay time (minimum delay arrival path) among the communication paths between the two nodes. That is, according to the present invention, in the system using the OpenFlow protocol, the communication delay time is automatically calculated, and the path control can be performed while avoiding the high delay communication path.
  • a configuration other than OFC1 (for example, OFS2) specifies a minimum delay path while using a configuration using a conventional open flow protocol (for example, a protocol defined by OpenFlow Switch Specification version 1.0) as it is. It becomes possible. That is, the function according to the present invention can be realized only by changing the software mounted on the OpenFlow controller without adding new functions (hardware mounting or software mounting) to the OpenFlow switch.
  • the OFD 1 centrally identifies the minimum delay arrival route having a large calculation amount by utilizing the OpenFlow protocol, the load related to the delay time measurement is given to the OFS 2 on the communication route. There is no.
  • the delay measurement packet transferred between the OFSs 2 is an IP packet
  • the present invention can be applied even when a legacy network exists between the OFSs 2.
  • Second Embodiment In the first embodiment, the operation when searching and calculating the minimum delay arrival path between any two OFSs 2 in the subordinate network managed by one OFC 1 has been described. In the second embodiment, a computer system that searches for a minimum delay arrival path between any two OFSs 2 between networks managed by each of a plurality of OFCs will be described.
  • FIG. 14 is a diagram showing a configuration of the computer system according to the second embodiment of the present invention.
  • the computer system according to the second embodiment includes an open flow controller manager 10 (OFC manager 10), a plurality of OFC 1 ′ (here, two OFCs 1′-1 and 1′-2 as an example). It comprises.
  • OFCs 1'-1 and 1'-1 will be referred to as OFC1 'when they are described without distinction.
  • the network configurations under OFC 1'-1 and 1'-2 are the same as in the first embodiment, but the same reference numbers as those of OFC 1 'are attached to the reference numerals assigned to the respective configurations. To explain.
  • the route calculation unit 11, the position / connection information 14, and the delay measurement packet analysis module 132 similar to those of the first embodiment are mounted on the OFC manager 10, and the OFC 1 ′ includes Not installed.
  • the OFC manager 10 further includes a measurement request unit 16 that makes a request for setting a flow entry for delay time measurement to the OFC 1 ′.
  • the measurement request unit 16 is realized by a program recorded in a storage device (recording medium) and executed by a CPU (not shown).
  • the path calculation unit 11 in the second embodiment calculates a communication path between any two nodes (for example, two OFSs 2) of the switch groups 20-1 and 20-2, and is a measurement target of delay time.
  • a communication section between two adjacent OFSs 2 is specified. Since the two switch groups 20-1 and 20-2 in the second embodiment are communicably connected to each other, a communication section across the two switch groups 20-1 and 20-2 is a delay time measurement target. It can be set as a section.
  • the OFC 1 ′ in the second embodiment includes a flow control unit 12, a flow table 15, and a delay measurement unit 13 ′ that does not include the delay measurement packet analysis module 132 as in the first embodiment.
  • the flow control unit 12 in the second embodiment sets the delay time measurement flow entry based on the measurement target path information 200 set by the route calculation unit 11 in the OFS 2 under its control. At this time, if the OFS 2 to be set is set as the master switch, the flow control unit 12 sets a delay time measurement flow entry in the OFS 2 with an action of “transfer the delay measurement packet to the slave switch”.
  • a delay time measurement flow entry whose action is “forward the received delay measurement packet to the OFC1 to which it belongs” is set in the OFS2. .
  • the flow entry set in OFS2 is recorded in the flow table.
  • the OFC 1 ′ can manage the flow entry set in the switch group 20 managed by the OFC 1 ′.
  • the delay measurement unit 13 ′ generates a delay measurement packet as in the first embodiment, and transfers the packet to the OFS 2 set as a master switch in the switch group 20 managed by the delay measurement unit 13 ′.
  • the delay measuring unit 13 ′ stamps the transmission time when generating or transferring the delay measurement packet, and when receiving the delay measurement packet transferred from the OFS 2, stamps the reception time on the packet.
  • the delay measurement unit 13 ′ transfers the delay measurement packet with the reception time stamped to the OFC manager 10.
  • the delay measurement packet analysis module 132 of the OFC manager 10 determines the difference between the transmission time and the reception time of the delay measurement packet acquired from the OFC 1 ′ in the communication section between the master switch and the slave switch specified in the packet. Calculate as the delay time. Similarly to the first embodiment, the delay measurement packet analysis module 132 obtains the delay time in the communication path between the two nodes by using the measured delay time of the communication section, and specifies the minimum delay arrival path. To do. For example, when a delay measurement packet transmitted from OFC 1′-1 is received by OFC 1′-2, the transmission time is imprinted on the packet by OFC 1′-1 on the master switch side, and the slave switch side The OFC 1'-2 sets the reception time. Based on the time stamped in the delay measurement packet notified from the OFC 1′-2, the OFC manager 10 crosses the two switch groups 20-1 and 20-2 and is adjacent to the OFSs 2-1 and 2-2. The delay time of the communication section can be calculated.
  • the OFC manager 10 may be mounted on any one of the plurality of OFCs 1 '. Further, the OFC 1 ′ may be provided with a delay measurement packet analysis module 132 that measures the delay time of the communication section only in the switch group 20 managed by the OFC 1 ′ and specifies the minimum delay arrival path. In this case, the delay measurement packet analysis module of the OFC manager 10 is used only when specifying a minimum delay arrival path between nodes across a plurality of networks (switch group 20) and calculating a delay of a communication section. .
  • the delay time measurement flow entry is set not only for the master switch but also for the slave switch, but the setting for the slave switch may be omitted.
  • the OFS2 (slave switch) that has received the delay measurement packet from the OFS2 (master switch) notifies the OFC1 of the packet that does not match the flow entry as a first packet according to the open flow protocol (PacketIN).
  • the OFC 1 can calculate the delay time of the communication section by imprinting and analyzing the reception time of the first packet notified from the OFS 2 in the packet.
  • the delay time of the communication section is calculated based on the difference between the transmission time from the OFC and the reception time in the OFC.
  • the calculation method is not limited to this, and the transmission time stamped on the packet and If the reception time is used, it can be calculated by another algorithm.
  • the sending time and the receiving time are stamped by OFC.
  • the present invention is not limited to this, and the sending time is stamped in the master switch, and the receiving time is stamped in the slave switch. Also good.
  • a packet time stamping function is added to the OFS, a time stamping flow entry action is set as a delay time measurement flow entry action set in the master switch, and a delay time measurement flow entry action is set in the slave switch.
  • a stamp of reception time (or transmission time to OFC) is added.
  • the delay time and the minimum delay arrival path of the communication section excluding the delay time between OFC 1 (OFC 1 ′) and OFS 2 via the secure channel network 4 can be calculated.
  • the stamping positions of the transmission time and the reception time are not limited to this, and other combinations may be used.
  • the transmission time may be stamped in the master switch
  • the reception time may be stamped in the OFC
  • the transmission time may be stamped in the OFC
  • the reception time may be stamped in the slave switch.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

 コントローラは、遅延測定用パケットのヘッダ情報をルールとし、第2スイッチへの転送動作をアクションとしたフローエントリを、第1スイッチに設定するとともに、遅延測定用パケットを第1スイッチに送信する。第1スイッチは、自身に設定されたフローエントリに従い、コントローラから送信された遅延測定用パケットを第2スイッチに転送する。解析モジュールは、第2スイッチから遅延測定用パケットを取得し、遅延測定用パケットに打刻された時刻を用いて第1スイッチと第2スイッチとの間の通信区間の遅延時間を算出する。

Description

コンピュータシステム、コントローラ、コントローラマネジャ、通信経路解析方法
 本発明は、コンピュータシステム、コントローラ、コントローラマネジャ、通信経路解析方法に関し、特に、オープンフロープロトコルを利用したコンピュータシステムにおける通信経路解析方法に関する。
 コンピュータネットワークにおいて、各スイッチの転送動作等を外部のコントローラによって一元的に制御する技術(オープンフロー)が、OpenFlow Consortiumによって提案されている(非特許文献1参照)。この技術に対応したネットワークスイッチ(以下、オープンフロースイッチ(OFS)と称す)は、プロトコル種別やポート番号等の詳細な情報をフローテーブルに保持し、フローの制御と統計情報の採取を行うことができる。ネットワーク内のOFSのフローテーブルは、オープンフローコントローラ(OFC)によって一元的に設定及び管理される。
 図1を参照して、オープンフロープロトコルを利用したコンピュータシステムの構成及び動作を説明する。図1を参照して、本発明の関連技術によるコンピュータシステムは、オープンフローコントローラ100(以下、OFC100と称す)、複数のオープンスイッチ2-1~2-n(以下、OFS2-1~2-nと称す)を有するスイッチ群20、複数のホストコンピュータ3-1~3-i(以下、ホスト3-1~3-iと称す)を有するホスト群30を具備する。ただし、n、iは2以上の自然数である。以下、OFS2-1~2-nを区別せずに総称する場合はOFS2と称し、ホスト3-1~3-iを区別せずに総称する場合はホスト3と称して説明する。
 OFC100は、ホスト3間の通信経路の設定や、経路上におけるOFS2に対する転送動作(中継動作)等の設定を行う。この際、OFC100は、OFS2が保持するフローテーブルに、フロー(パケットデータ)を特定するルールと、当該フローに対する動作を規定するアクションとを対応付けたフローエントリを設定する。通信経路上のOFS2は、OFC100によって設定されたフローエントリに従って受信パケットデータの転送先を決定し、転送処理を行う。これにより、ホスト3は、OFC100によって設定された通信経路を利用して他のホスト3との間でパケットデータの送受信が可能となる。すなわち、オープンフローを利用したコンピュータシステムでは、通信経路を設定するOFC100と、転送処理を行うOFS2とが分離されているため、システム全体の通信を一元的に制御及び管理することが可能となる。
 図1を参照して、ホスト3-1からホスト3-iへパケット送信を行う場合、OFS2-1はホスト3-1から受け取ったパケット内にある送信先情報(ヘッダ情報:例えば宛先MACアドレスや宛先IPアドレス)を参照し、OFS2-1内部で保持しているフローテーブルから当該ヘッダ情報に適合するエントリを探す。フローテーブルに設定されるエントリの内容については、例えば非特許文献1で規定されている。
 OFS2-1は、受信パケットデータについてのエントリがフローテーブルに記載されていない場合、当該パケットデータ(以下、ファーストパケットと称す)、又はファーストパケットのヘッダ情報をOFC100に転送する。OFS2-1からファーストパケットを受け取ったOFC100はパケット内に含まれている送信元ホストや送信先ホストという情報を元に経路400を決定する。
 OFC100は、経路400上の全てのOFS2に対して、パケットの転送先を規定するフローエントリの設定を指示する(フローテーブル更新指示を発行)。経路400上のOFS2は、フローテーブル更新指示に応じて、自身で管理しているフローテーブルを更新する。この後OFS2は、更新したフローテーブルに従い、パケットの転送を開始することで、OFC100が決定した経路400を経由して、宛先のホスト3-iへパケットが到達するようになる。
 ネットワークにおける通信経路の遅延時間を監視し、高遅延時間を有する通信経路を回避しながら経路制御することは、大規模で複雑なネットワークを効率的に運用するために有用である。しかし、上述のオープンフロープロトコルを利用したシステム(以下、OpenFlowシステムと称す)では、このような経路制御機能は既定されていない。このため、OpenFlowシステムを運用する際、通信経路の遅延時間を効率的に計算し経路制御する手法が必要となっている。
 又、レガシーネットワークの経路制御を実現できるRIP(Routing Information Protocol)やOSPF(Open Shortest Path First)などのプロトコルが存在する。これらをOpenFlowシステムに適用した場合、スイッチ(OFS)にRIPやOSPFに準拠した機能を追加(ハードウェア実装、ソフトウェア実装)する必要がある。しかし、この場合、スイッチによって通信経路が設定されるため、当該システムは、オープンフロープロトコルに準拠したシステムとは言えなくなる。
 更に、RIPやOSPFにはそれぞれの欠点が存在する。RIPは実装が容易であるが、ホップ数が最小の通信経路が経路最適経路として選択されるため、選択された経路は最小遅延経路とは限らない。又、OSPFを利用した場合、通信遅延が最小の通信経路が最適経路として選択されるが、実装が複雑である。OSPFはLSA(Link State Advertisement)やLSDB(Link State Database)などで経路情報交換し経路制御するため、ネットワーク機器計算リソースの消費量が大きくなるとともに、通信経路への付加負荷も大きくなる。
OpenFlow Switch Specification Version 1.0.0 (Wire Protocol 0x01) December 31, 2009
 本発明の目的は、オープンフロープロトコルを利用したコンピュータシステムにおいて通信経路の遅延時間を計測することにある。
 本発明の他の目的は、オープンフロープロトコルを利用したコンピュータシステムにおける高遅延通信経路を回避することにある。
 上記の課題を解決するために、本発明は、以下に述べられる手段を採用する。
 本発明によるコンピュータシステムは、互いに隣接する第1スイッチ及び第2スイッチ、コントローラ、解析モジュールを具備する。コントローラは、遅延測定用パケットのヘッダ情報をルールとし、第2スイッチへの転送動作をアクションとしたフローエントリを、第1スイッチに設定するとともに、遅延測定用パケットを第1スイッチに送信する。解析モジュールは、第1スイッチと第2スイッチとの間の通信区間の遅延時間を算出する。第1スイッチは、自身に設定されたフローエントリに従い、コントローラから送信された遅延測定用パケットを第2スイッチに転送する。解析モジュールは、第2スイッチから遅延測定用パケットを取得し、遅延測定用パケットに打刻された時刻を用いて通信区間の遅延時間を算出する。
 本発明によるコントローラは、遅延測定用パケットのヘッダ情報をルールとし、第1スイッチに隣接する第2スイッチへの転送動作をアクションとしたフローエントリを、第1スイッチに設定するフロー制御部と、遅延測定用パケットを第1スイッチに送信する遅延測定部とを具備する。遅延測定部は、フローエントリに従うことで第1スイッチから第2スイッチに転送された遅延測定用パケットを取得し、遅延測定用パケットに打刻された時刻を用いて、第1スイッチと第2スイッチとの間の通信区間の遅延時間を算出する。
 本発明による解析モジュールは、コントローラとは別のコントローラマネジャに搭載されても良い。この場合、複数のコントローラの管理下にあるスイッチ間の遅延時間は、コントローラマネジャによって算出される。
 本発明によるコントローラやコントローラマネジャの機能は、記憶媒体に記録され、コンピュータによって実行されるプログラムによって実現される。
 本発明による通信経路解析方法は、コントローラが、遅延測定用パケットのヘッダ情報をルールとし、第1スイッチに隣接する第2スイッチへの転送動作をアクションとしたフローエントリを、第1スイッチに設定するステップと、コントローラが、遅延測定用パケットを第1スイッチに送信するステップと、第1スイッチが、自身に設定されたフローエントリに従い、コントローラから送信された遅延測定用パケットを第2スイッチに転送するステップと、解析モジュールが、第2スイッチから遅延測定用パケットを取得し、遅延測定用パケットに打刻された時刻を用いて通信区間の遅延時間を算出するステップを具備する。
 本発明によれば、オープンフロープロトコルを利用したコンピュータシステムにおける通信経路の遅延時間を計測することができる。
 又、オープンフロープロトコルを利用したコンピュータシステムにおける高遅延通信経路を回避することができる。
 上記発明の目的、効果、特徴は、添付される図面と連携して実施の形態の記述から、より明らかになる。
図1は、オープンフロープロトコルを利用したコンピュータシステムの構成の一例を示す図である。 図2は、本発明によるコンピュータシステムの第1の実施の形態における構成を示す図である。 図3は、本発明によるオープンフローコントローラにおいて設定される測定対象パス情報の構造の一例を示す図である。 図4は、本発明によるオープンフローコントローラにおいて設定されるフローテーブルの構造の一例を示す図である。 図5は、本発明によるオープンフローコントローラよってオープンフロースイッチに設定される遅延時間測定用フローエントリの一例を示す図である。 図6は、遅延測定用フローエントリを設定するためのフローエントリ更新メッセージの一例を示す図である。 図7は、本発明による遅延測定部の構成の一例を示す図である。 図8は、本発明に係る遅延時間情報の一例を示す図である。 図9は、本発明に係る遅延測定用パケットの一例を示す図である。 図10は、本発明によるコンピュータシステムにおける遅延時間測定動作の一例を示す図である。 図11は、本発明による最小遅延到達経路の抽出動作を示すフロー図である。 図12は、最小遅延到達経路の抽出対象となるネットワークの構成例を示す図である。 図13は、本発明による通信経路決定動作において利用される最小遅延到達経路の探索用の重みつき有向グラフの一例を示す図である。 図14は、本発明によるコンピュータシステムの第2の実施の形態における構成を示す図である。
 以下、添付図面を参照しながら本発明の実施の形態を説明する。図面において同一、又は類似の参照符号は、同一、類似、又は等価な構成要素を示す。
 1.第1の実施の形態 (コンピュータシステムの構成)  本発明によるコンピュータシステムは、図1に示すシステムと同様にオープンフロー技術を利用してパケットデータの転送制御を行う。第1の実施の形態におけるコンピュータシステムでは、遅延測定用パケットを、マスタスイッチを介してスレーブスイッチに転送させ、スレーブスイッチからファーストパケットとして通知された遅延測定用パケットの受信時刻と、オープンフローコントローラから送信した時刻とを用いて当該スイッチ間の伝播時間(遅延時間)を測定する。
 図2から図9を参照して、本発明によるコンピュータシステムの第1の実施の形態における構成を説明する。図2を参照して、本発明によるコンピュータシステムは、オープンフローコントローラ1(以下、OFC1と称す)、複数のオープンフロースイッチを有するスイッチ群20、複数のホスト端末3-1~3-iを具備する。又、図2には図示していないが、スイッチ群20は、図1で示すシステムと同様に複数のオープンフロースイッチ2-1~2-n(以下、OFS2-1~2-n)を備える。ただし、n、iは2以上の自然数である。以下、OFS2-1~2-nを区別せずに総称する場合はOFS2と称し、ホスト3-1~3-iを区別せずに総称する場合はホスト3と称して説明する。
 OFC1は、オープンフロー技術により、システム内におけるパケット転送に係る通信経路の構築及びパケット転送処理を制御する。ここで、オープンフロー技術とは、OFC1が、ルーティングポリシー(フローエントリ:フロー+アクション)に従い、マルチレイヤ及びフロー単位の経路情報を通信経路上のOFS4やOFVS33に設定し、経路制御やノード制御を行う技術を示す(詳細は、非特許文献1を参照)。これにより、経路制御機能がルータやスイッチから分離され、コントローラによる集中制御によって最適なルーティング、トラフィック管理が可能となる。オープンフロー技術が適用されるOFS2やOFVS33は、従来のルータやスイッチのようにパケットやフレームの単位ではなく、END2ENDのフローとして通信を取り扱う。
 図2を参照して、第1の実施の形態におけるOFC1の構成の詳細を説明する。OFC1は、CPU及び記憶装置を備えるコンピュータによって実現されることが好適である。OFC1では、図示しないCPUが記憶装置(記録媒体)に格納されたプログラムを実行することで、図2に示すアドレス経路計算部11、フロー制御部12、及び遅延測定部13の各機能が実現される。又、OFC1は、自身が制御するスイッチ群20の位置や接続状況に関する情報(物理トポロジ情報)を位置・接続情報14として保持する。位置・接続情報14は、例えば、OFC1が制御するOFS2の全ての識別子(例えばDataPath ID:DPID)、各OFS2が有する全てのポート番号、及び各ポートに接続する他のOFS2のDPIDを有する。
 経路計算部11は、位置・接続情報14を用いて遅延時間の測定対象となる通信区間を設定する。詳細には、経路計算部11は、位置・接続情報14を用いて各ホスト3間の経路を計算し、経路上の隣接する2つのOFS2の一方をマスタスイッチ、他方をスレーブスイッチとして設定し、両者の間の通信区間を遅延測定対象区間として設定する。この際、経路計算部11は、遅延測定対象区間を特定する情報を、図3に示す測定対象パス情報200として図示しない記憶装置に記録する。例えば、経路計算部11は、マスタスイッチとして設定されたOFS2のDPID(マスタ識別子201)と、スレーブスイッチとして設定されたOFS2のDPID(スレーブ識別子202)と、マスタスイッチに接続されるスレーブスイッチ宛のポート番号(MtoSポート番号203)を対応付けて測定対象パス情報200として記録する。
 フロー制御部12は、Modify Flow Entry Messageによってオープンフロープロトコルに従ったスイッチ(ここではOFS2)に対してフローエントリ(ルール+アクション)の設定、変更、又は削除を行う。これにより、OFS2は、受信パケットのヘッダ情報に応じたルールに対応するアクション(例えばパケットデータの中継や破棄)を実行する。
 フローエントリに設定されるルールには、例えば、TCP/IPのパケットデータにおけるヘッダ情報に含まれる、OSI(Open Systems Interconnection)参照モデルのレイヤ1からレイヤ4のアドレスや識別子の組み合わせが規定される。例えば、レイヤ1の物理ポート、レイヤ2のMACアドレス、レイヤ3のIPアドレスやプロトコル、レイヤ4のポート番号、VLANタグ(VLAN id)のそれぞれの組み合わせがルールとして設定される。
 ここで、フロー制御部12によってルールに設定されるポート番号等の識別子やアドレス等は、所定の範囲で設定されても構わない。又、宛先や送信元のアドレス等を区別してルールとして設定されルことが好ましい。例えば、MAC宛先アドレスの範囲や、接続先のアプリケーションを特定する宛先ポート番号の範囲、接続元のアプリケーションを特定する送信元ポート番号の範囲がルールとして設定される。更に、データ転送プロトコルを特定する識別子をルールとして設定してもよい。
 フローエントリに設定されるアクションには、例えばTCP/IPのパケットデータを処理する方法が規定される。例えば、受信パケットデータを中継するか否かを示す情報や、中継する場合はその送信先が設定される。又、アクションとして、パケットデータの複製や、破棄することを指示する情報が設定されてもよい。
 OFS2に設定される(又は設定された)フローエントリは、フロー制御部12によってフローテーブル15に記録される。図4は、本発明によるフロー制御部12において設定されるフローテーブル15の構造の一例を示す図である。フローテーブル15には、設定対象となるOFS2の識別子(例えばDPID)を示す対象装置152と設定されるフローエントリ150とが、フローエントリを特定するためのフロー識別子151に対応づけられて記録される。フローエントリ150には、ルール153及びアクション情報154が設定される。フロー制御部12は、フローテーブル15を参照することで、OFS2にどのようなフローエントリ150が設定されているかを把握することができる。又、図4には図示しないが、フローテーブル15は、対象装置152であるOFS2にフローエントリ150を設定したか否かを示す情報が含まれても良い。
 本発明によるフロー制御部12は、パケット転送を制御するフローエントリをOFS2に設定するとともに、通信区間の遅延時間を測定するための遅延時間測定用フローエントリをOFS2(マスタスイッチ及びスレーブスイッチ)に設定する。詳細には、フロー制御部12は、通常、OFS2からのファーストパケットの通知(PacketIN)に応じて、当該ファーストパケットの転送や廃棄を指示するフローエントリを経路上のOFS2に設定する。又、フロー制御部12は、経路計算部11で特定された測定対象区間のマスタスイッチ及びスレーブスイッチに対し、遅延時間測定用フローエントリを設定する。
 図5は、フロー制御部12によってOFS2に設定される遅延時間測定用フローエントリの一例を示す図である。図5を参照して、OFS2(マスタスイッチ)に設定される遅延時間測定用フローエントリの詳細を説明する。遅延時間測定用フローエントリには、ルール153として、マッチフィールド(Match Field)とマッチフィールドの値(Match Value)とが規定される。又、アクション情報154としてアクション(Action)とプロパティ(Property)が規定される。例えば、遅延時間測定用フローエントリには、IPヘッダフィールドのプロトコルの値を“251”、他のマッチフィールドの値を“any”としたルール153が設定される。“ANY”に設定されたエントリ項目は任意の値にマッチする。又、このとき、アクション情報154には、アクションとして“ポートへ転送(Action:Send to Port)”、プライオリティとして“優先度が最優先(Entry Priority=0xffff)、及びエントリの有効期間が無限(Idle_Time=0x0000、Hard_Time=0x0000)”が設定される。フローエントリのプライオリティを“0xffff”に指定することで、遅延測定用フローエントリは最優先に比較され、適合した場合パケットに対して所定のアクションが必ず実行される。又、“idle_time=0x0000、hard_time=0x0000”に指定され束相、遅延測定用フローエントリの生存時間は無限になる(OFS2において生存時間切りで削除されなくなる)。
 ここで、アクションとして設定される転送先ポートは、フローエントリの設定対象スイッチがマスタかスレーブかによって異なる。例えば、マスタスイッチに設定する遅延時間測定用フローエントリには、測定対象パス情報200において、当該マスタスイッチに対応付けられたMtoSポート番号203(スレーブスイッチに接続するポート番号)が転送先として指定される。一方、スレーブスイッチに設定する遅延時間測定用フローエントリには、当該スレーブスイッチにおいてOFC1に接続するポート番号が転送先として指定される。
 フロー制御部12は、フローエントリ更新メッセージ(Modify Flow Entry Message)によってOFS2のフローエントリを更新(設定)する。例えば、図5に示す遅延時間測定用フローエントリをOFS2(マスタスイッチ)に設定する際、図6に示すようなフローエントリ更新メッセージ(Modify Flow Entry Message)を生成し、設定対象となるOFS2(マスタスイッチ)に送信する。フローエントリ更新メッセージは、ヘッダフィールド(Header Field)、ルールフィールド(Field to Match)、アクションフィールド(Flow Action Field)を有する。図6に示すフローエントリ更新メッセージのヘッダフィールドには、本メッセージがフローエントリ更新メッセージであることを示す“Modify Flow Entry Message”が指定され、ルールフィールドにはOFS2に登録するルール153が指定される。ここでは、ルールフィールドに、IPヘッダフィールドのプロトコルが“251”であり、その他の項目が“ANY”であることが指定される。又、アクションフィールドには、OFS2に登録するアクション情報154が指定される。例えばアクションフィールドは、Command、Idle_Time、Hard_Time、Priority、Flags、Actionを含む。ここでは、Commandに、本メッセージがエントリの新規追加であることを示す“Add new Flow entry”が指定され、Idle_Time及びHard_Timeに、無期限を示す“0x0000”が指定され、Priorityに最優先を示す“0xffff”が指定され、flagsにエントリの重複確認を示す“Checking overlapping entry first”が指定され、ActionにOFC1に受信パケットを送信することを示す“Send to OFC”が指定される。
 図6に示すフローエントリ更新メッセージを受けたOFS2は、IPヘッダフィールドのプロトコルが“251”をルールとし、OFC1に転送することをアクションとしたフローエントリを自身のフローテーブルに設定する。これにより、当該OFS2は、IPヘッダフィールドが“251”である受信パケット(遅延測定用パケット)をOFC1に転送することになる。
 遅延測定部13は、遅延測定用パケットを生成するとともに、スイッチを介して転送された遅延測定用パケットを解析してマスタスイッチとスレーブスイッチとで形成される通信区間の遅延時間(伝播時間)を算出する。図7は、遅延測定部13の構成の一例を示す図である。図7を参照して、遅延測定部13は、遅延測定パケット発行モジュール131、遅延測定パケット解析モジュール132、パケット受信モジュール133、パケット送信モジュール134を備える。
 遅延測定パケット発行モジュール131は、経路計算部11によって算出された通信区間の遅延時間(伝播時間)を測定するための遅延測定用パケットを作成する。詳細には、遅延測定パケット発行モジュール131は、測定対象パス情報200を参照して、遅延時間の測定対象の通信区間、及び当該通信区間のマスタスイッチとスレーブスイッチを特定する。そして、遅延測定パケット発行モジュール131は、遅延時間対象として特定したマスタスイッチからスレーブスイッチに転送されるように規定した遅延想定用パケットを生成する。遅延測定用パケットは、OFC1における送信時刻と受信時刻が打刻されるタイムスタンプフィールドを備える。
 遅延測定用パケットは、オープンフロープロトコルに準拠したSend Packet Messageフォーマットで構成されることが好ましい。図9は、遅延測定用パケットの構造の一例を示す図である。図9を参照して、遅延測定用パケットは、ヘッダフィールド(Header Field)、アクションフィールド(Actions Field)、データフィールド(Data Field)を備える。例えば、Header Fieldには、本メッセージがOFC1からスイッチ宛のメッセージであることを示す“Packet Out Message”が指定され、Actions Fieldには、本メッセージにおけるData Fieldの内容をスレーブスイッチに接続しているポートに伝送することを示すアクション“Send Field to the M to S port connected to the Slave Switch”が指定される。
 又、Data Fieldは、Etherヘッダフィールド(Ether Header)、IPヘッダフィールド(IP Header)、IPデータフィールド(IP DATA)を備える。例えば、Ether Header内のEther Typeには“0x0800(IPv4)”が指定され、IP Header内のProtocolには“251(国際標準未定義IP Protocolの1つ)”が指定される。この場合、OFC1は、Protocolの値が“251”に適合する受信パケットを遅延測定パケットとして認識する。又、スレーブスイッチは、“Protocolの値が251”をルールとする遅延測定用フローエントリに設定されたアクション(ここでは、OFC1に受信パケットを転送)を実行する。
 更に、遅延測定用パケットのIP DATAフィールドには、マスタスイッチの識別子(Master Switch DPID)、スレーブスイッチの識別子(Slave Switch DPID)、当該パケットのOFC1からの送信時間が打刻されるタイムスタンプ(Packet Out Timestamp)、当該パケットのOFC1の受信時間が打刻されるタイムスタンプ(Packet In Timestamp)が指定される。
 IP DataフィールドのMaster Switch DPIDには、OFC1から転送された遅延測定用パケットの宛先となるOFS2(マスタスイッチ)のDPIDが指定される。又、Slave Switch DPIDには、マスタスイッチから転送される遅延測定用パケットを受信し、OFC1にPacket-In Message(ファーストパケット)を送るOFS2(スレーブスイッチ)のDPIDが指定される。MtoS portフィールドにはSlave Switchに接続するMaster Switchのポート番号を指定する。 このため、Master Switch DPID及びSlave Switch DPIDには、測定対象パス情報200によって特定されるマスタ識別子201及びスレーブ識別子202が指定される。
 Packet Out Timestampには遅延測定用パケット作成時のUTC(Universal Time, Coordinated)がマイクロ秒単位で指定される。Packet In Timestampは、OFC1において遅延測定用パケットを受信した時にUTCが記録される領域である。このため、遅延測定パケット作成時は、Packet In Timestampには“0x00000000”が指定される。尚、Packet Out Timestampは、OFC1から遅延測定用パケットが送信される時にUTCが記録される領域としても良い。この場合、Packet Out Timestampには、“0x00000000”が指定される。
 遅延測定用パケットは、パケット送信モジュール134によって、セキュアチャネルネットワーク4を介してマスタスイッチに送信される。又、セキュアチャネルネットワーク4を介してスレーブスイッチからOFC1宛てに転送された遅延測定用パケットはパケット受信モジュール133によって受信され、遅延測定パケット解析モジュール132に転送される。この際、パケット受信モジュール133は、遅延測定用パケットの受信時刻を遅延測定用パケット内のPacket Out Timestampに打刻する。又、パケット送信モジュール134は、Packet Out Timestampに“0x00000000”が指定されている場合、当該領域に送信時刻を打刻してもよい。
 遅延測定パケット解析モジュール132は、パケット受信モジュール133によって受信されたパケット遅延測定用パケットのタイムスタンプに基づいて、当該パケットが通過した区間の遅延時間を算出する。詳細には、遅延測定パケット解析モジュール132は受信パケットのIP HeaderのProtocol、又はIP DataのMaster Switch DPID及びSlave Switch DPIDを参照して当該パケットが遅延測定用パケットであるか否かを判別する。例えば、遅延測定パケット解析モジュール132は、フローテーブル15を参照して、遅延測定用フローエントリに設定されたルールや設定対象スイッチと適合する受信パケットを遅延測定用パケットとして判断する。具体的には、遅延測定パケット解析モジュール132は、遅延測定用フローエントリのルールとして設定されたIP HeaderのProtocolが“251”の受信パケットを遅延測定用パケットであると判断する。あるいは、遅延測定パケット解析モジュール132は、遅延測定用フローエントリに設定されたマスタスイッチ及びスレーブスイッチとIP DataのMaster Switch DPID及びSlave Switch DPIDとが一致する受信パケットを遅延測定用パケットと判断する。
 遅延測定パケット解析モジュール132は、遅延測定用パケットのPacket Out Timestampに記録された時刻からPacket In Timestampに記録された時刻の期間を測定対象区間の遅延時間として算出する。図8を参照して、遅延測定パケット解析モジュール132によって算出された遅延時間301は、測定区間を示す情報(例えばマスタ識別子201及びスレーブ識別子202)に対応付けられ、遅延時間情報300として記憶装置(図示なし)に記録される。この際、測定区間を示す情報(例えばマスタ識別子201及びスレーブ識別子202)は、パケット内のIP DataのMaster Switch DPID及びSlave Switch DPIDから取得され得る。
 尚、上述のDPID、Send Packet Message、Modify Flow Entry Messageは、OpenFlow Switch Specification version1.0.0(非特許文献1)によって規定されることが好ましい。
 (遅延時間測定方法) 次に、図10を参照して、隣接する2つのスイッチ間の通信区間における遅延時間(伝送時間)の測定動作について詳細に説明する。図10は、本発明によるコンピュータシステムにおける遅延時間測定動作の一例を示す図である。ここでは、OFS2-1をマスタノード、OFS2-2をスレーブノードとしたときのOFS2-1とOFS2-2の間の遅延時間の測定動作について説明する。
 先ず、OGFC1において、遅延時間の測定対象となる区間(測定対象区間)の設定が行われる(ステップS101)。ここでは、OFS2-1とOFS2-2との間が測定対象区間として設定され、OFS2-1がマスタスイッチ、OFS2-2がスレーブスイッチに設定される。測定対象の設定方法の詳細については、「最小遅延到達経路の抽出方法」において説明する。
 続いて、OFC1は、遅延測定用フローエントリをOFS2-1、OFS2-2に設定する(ステップS101~S105)。詳細には、OFC1は、マスタスイッチに対して遅延測定用フローエントリを設定するためのフローエントリ更新メッセージをOFS2-1に送信する(ステップS102)。OFS2-1は、この更新メッセージに応じて自身のフローテーブルを更新する(ステップS104)。これにより、OFS2-1は、設定された遅延測定用フローエントリのルールに適合する受信パケットを、スレーブスイッチであるOFS2-1に転送するように制御される。又、OFC1は、スレーブスイッチに対して遅延測定用フローエントリを設定するためのフローエントリ更新メッセージをOFS2-2に送信する(ステップS103)。OFS2-2は、この更新メッセージに応じて自身のフローテーブルを更新する(ステップS105)。これにより、OFS2-2は、設定された遅延測定用フローエントリのルールに適合する受信パケットを、OFC1に転送するように制御される。尚、遅延測定用フローエントリを登録したOFS2は、登録結果をOFC1に返信する。OFC1は登録結果を解析し、登録失敗の場合は再登録要求を発行する。
 OFC1は、遅延測定用パケットを生成し、マスタスイッチとして設定したOFS2-1に送信する(ステップS106、S107)。ここでは、ステップS102、S103において遅延測定用フローエントリに設定したルールを含むパケットが遅延測定用パケットとしてOFS2-1に送信される。OFC1は、遅延測定用パケットを生成するとき、あるいはOFS2-1に送信するときに、当該パケットに送信時刻を打刻する。
 OFS2-1は、受信パケットが自身に設定された遅延測定用フローエントリに適合する場合、当該パケット(遅延測定用パケット)を、当該エントリにおいて転送先として設定されたOFS2-2(スレーブスイッチ)に転送する(ステップS108)。OFS2-2は、受信パケットが自身に設定された遅延測定用フローエントリに適合する場合、当該パケット(遅延測定用パケット)を、当該エントリにおいて転送先として設定されたOFC1に転送する(ステップS109)。
 OFC1は、遅延測定用パケットを受信すると当該遅延測定用パケットを解析してOFS2-1とOFS2-2間の遅延時間を算出する(ステップS110)。詳細には、OFC1は、遅延測定用パケットの受信時において当該パケットのタイムスタンプフィールドに受信時刻を打刻する。OFC1は、遅延測定用パケットに打刻された送信時刻と受信時刻との差により遅延時間301を算出し、当該パケットに指定されたマスタ識別子201及びスレーブ識別子202と対応付けて遅延時間情報300として記録する。
 以上のような動作により、2つの隣接するOFS2間の遅延時間を測定することができる。尚、本実施の形態では、遅延測定用パケットがOFC1から出て通信区間経由でOFC1に到着までの時間が遅延時間301として測定される。
 (最小遅延到達経路の抽出方法) 本発明によるコンピュータシステムでは、上述のように取得された遅延時間情報300を利用することで、2つのノードを結ぶ複数の通信経路の中から最も遅延時間の小さな経路(最小遅延到達経路)を抽出(選択)することが可能となる。図11から図13を参照して、本発明による最小遅延到達経路の抽出方法について説明する。
 図11は、本発明による最小遅延到達経路の抽出動作を示すフロー図である。図12は、最小遅延到達経路の抽出対象となるネットワークの構成を示す一例である。ここでは、1つのOFC1によって管理される5つのOFS2-1~OFS2-5を備えたシステムが例示され、OFS2-1(DPID 1)とOFS2-5(DPID 5)との間の最小遅延到達経路を抽出する方法について説明する。以下では、OFS2-1(DPID 1)とOFS2-5(DPID 5)との間の経路を“通信経路”と称し、通信経路に含まれる、隣接する2つのOFS2間の経路を“通信区間”と称して説明する。
 図11、図12を参照して、OFC1の経路計算部11は、トポロジ探知によって探知されたOFS2-1~2-5の接続状態を把握し、ノード間(ここではOFS2-1とOFS2-5との間)の通信経路を、位置・接続情報14を利用して算出する。ここでは、図12の点線で示す接続状態及び接続先のポート番号が判明し、以下に示す通信経路(PathA~PathH)が算出される。
PathA:OFS2-1→OFS2-4,OFS2-4→OFS2-5PathB:OFS2-1→OFS2-4,OFS2-4→OFS2-2,OFS2-2→OFS2-1,OFS2-1→OFS2-3,OFS2-3→OFS2-4,OFS2-4→OFS2-5PathC:OFS2-1→OFS2-4,OFS2-4→OFS2-3,OFS2-3→OFS2-1,OFS2-1→OFS2-2,OFS2-2→OFS2-4,OFS2-4→OFS2-5PathD:OFS2-1→OFS2-3,OFS2-3→OFS2-4,OFS2-4→OFS2-2,OFS2-2→OFS2-1,OFS2-1→OFS2-4,OFS2-4→OFS2-5PathE:OFS2-1→OFS2-3,OFS2-3→OFS2-4,OFS2-4→OFS2-5PathF:OFS2-1→OFS2-2,OFS2-2→OFS2-4,OFS2-4→OFS2-3,OFS2-3→OFS2-1,OFS2-1→OFS2-4,OFS2-4→OFS2-5PathG:OFS2-1→OFS2-2,OFS2-2→OFS2-4,OFS2-4→OFS2-3,OFS2-3→OFS2-1,OFS2-1→OFS2-4,OFS2-4→OFS2-5PathH:OFS2-1→OFS2-2,OFS2-2→OFS2-4,OFS2-4→OFS2-5
 次に経路計算部11は、最小遅延到達経路の候補を絞り込む(ステップS202)。例えば、経路計算部11は、通信経路(PathA~PathH)のそれぞれに含まれる通信区間を順不同とした非順序集合として候補の絞り込みを行う。
 詳細には、経路計算部11は、他の通信経路を包含する通信経路がある場合、当該通信経路を最小遅延到達経路の候補から外す。ここでは、PathB、Cは、PathAを包含するため候補から外す。又、PathDは、PathEを包含するため候補から外す。更にPathF、GはPathHを包含するため候補から外す。これにより、最小遅延到達経路の候補として以下の3つの通信経路が残る。PathA:OFS2-1→OFS2-4,OFS2-4→OFS2-5PathE:OFS2-1→OFS2-3,OFS2-3→OFS2-4,OFS2-4→OFS2-5PathH:OFS2-1→OFS2-2,OFS2-2→OFS2-4,OFS2-4→OFS2-5 尚、絞り込んだ候補に含まれる通信区間を順不同の非順序集合とし、候補の中で等しい通信経路が複数ある場合、経路計算部11は、そのうちのいずれか1つを最小遅延到達経路候補として残す。
 次に、経路計算部11は、最小遅延到達経路候補において測定対象とする通信区間を設定する(ステップS203)。例えば、経路計算部11は、最小遅延到達経路候補のすべての経路に共通の通信区間の遅延時間を“0”と擬制することで当該通信区間を遅延時間の測定対象から外し、他の通信区間を遅延時間の測定対象区間として設定する。ここでは、全ての候補に共通の通信区間(OFS2-4→OFS2-5)の遅延時間が“0”に擬制され、他の通信区間(OFS2-1→OFS2-4,OFS2-1→OFS2-3,OFS2-3→OFS2-4,OFS2-1→OFS2-2,OFS2-2→OFS2-4)が遅延時間の測定対象として設定される。
 経路計算部11は、測定対象として設定した通信区間のOFS2のソース側をマスタスイッチ、デスティネイション側をスレーブスイッチに設定し、M to Sポート番号203とともに測定対象パス情報200として記録する。例えば、通信区間“OFS2-1→OFS2-2”の場合、ソース側のOFS2-1がマスタスイッチとして設定されOFS2-2がスレーブスイッチとして設定される。この場合、OFS2-1のDPID“DPID 1”がマスタ識別子201として登録され、OFS2-2のDPID“DPID 2”がスレーブ識別子202として登録される。又、OFS2-2に接続するOFS2-1側のポート番号“Port1”がM to Sポート番号203として登録される。他の通信区間も同様に測定対象パス情報200として記録される。
 遅延時間の測定対象となる通信区間が設定されると、OFC1は当該通信区間の遅延時間を測定する(ステップS204)。遅延時間の測定方法の詳細は、図10を参照した「遅延時間測定方法」で説明したとおりである。ここでは、通信区間(OFS2-1→OFS2-4,OFS2-1→OFS2-3,OFS2-3→OFS2-4,OFS2-1→OFS2-2,OFS2-2→OFS2-4)のそれぞれの遅延時間301が測定される。
 ここで通信区間“OFS2-1→OFS2-4,OFS2-1→OFS2-3,OFS2-3→OFS2-4,OFS2-1→OFS2-2,OFS2-2→OFS2-4”の遅延時間301をそれぞれ“DT14、DT13、DT34、DT12、DT24”とし、通信区間“OFS2-4→OFS2-5”の遅延時間301を“DT45=0”とする。
 全ての測定対象区間の遅延時間の測定が完了すると、遅延測定パケット解析モジュール132は、最小遅延到達経路の候補の遅延時間を計算し、最小遅延到達経路を特定する(ステップS205)。詳細には、先ず、遅延測定パケット解析モジュール132は、最小遅延到達経路の候補の通信経路に含まれるすべての通信区間の遅延時間の合計し、当該通信経路の遅延時間として算出する。本実施例の場合、通信経路“PathA”の遅延時間“D_PathA”は“DT14+DT45”、通信経路“PathE”の遅延時間“D_PathE”は“DT13+DT34+DT45”、通信経路“PathH”の遅延時間“D_PathH”は“DT12+DT24+DT45”となる。ここで、DT45=0と擬制するため、通信経路“PathA”の遅延時間“D_PathA”は“DT14”、通信経路“PathE”の遅延時間“D_PathE”は“DT13+DT34”、通信経路“PathH”の遅延時間“D_PathH”は“DT12+DT24”となる。
 そして、遅延測定パケット解析モジュール132は、算出した通信経路の遅延時間を比較し、最小の遅延時間の通信経路を、2つのノード間の最小遅延到達経路として特定する。例えば、D_PathA>D_PathE>D_PathHである場合、“PathH:OFS2-1→OFS2-2,OFS2-2→OFS2-4,OFS2-4→OFS2-5”が最小遅延到達経路として特定される。尚、最小遅延到達経路候補から最小遅延到達経路を計算するアルゴリズムとして、ダイクストラ法を利用してもよい。ダイクストラ法の入力は最小遅延到達経路候補で構成される重み付き有向グラフであり、その出力は2頂点対最小遅延到達経路である。本実施例の場合は、最小遅延到達経路の探索用の重みつき有向グラフは図13のように表現される。
 図11に示す一例では、遅延時間の測定対象区間の絞り込みを行った後に、遅延時間測定用フローエントリを設定しているが、これに限らない。例えば、トポロジ探知によってOFS2が検出される都度、当該OFS2を含む通信区間を特定し、遅延時間測定用フローエントリを設定してもよい。ただし、遅延測定対象となる通信区間を特定した後に遅延時間測定用フローエントリを設定する方が、OFC1における処理負荷を低減するとともに最小遅延到達経路の特定時間を短縮することができる。
 以上のように、本発明によるコンピュータシステムでは、オープンフロープロトコルを利用した遅延測定用フローエントリの設定による遅延測定用パケットの転送制御によって、隣接する2つのOFS2の通信区間の遅延時間を測定することができる。これにより、2つのノード間における通信経路のうち、最も遅延時間の小さな経路(最小遅延到達経路)を特定することが可能となる。すなわち、本発明によれば、オープンフロープロトコルを利用したシステムにおいて、自動的に通信遅延時間が算出され、高遅延通信経路を回避しながら経路制御することが可能となる。
 又、本発明では、OFC1以外の構成(例えばOFS2)は、従来のオープンフロープロトコル(例えばOpenFlow Switch Specification version1.0によって規定されるプロトコル)を利用した構成をそのまま利用しつつ最小遅延経路を特定することが可能となる。すなわち、オープンフロースイッチに新たな機能追加(ハードウェア実装、ソフトウェア実装)することなくオープンフローコントローラに実装されたソフトウェアを変更するだけで、本発明による機能を実現できる。
 更に、本発明では、オープンフロープロトコルを利用して、計算量の大きい最小遅延到達経路の特定をOFC1で一元的に行っているため、遅延時間測定に係る負荷を通信経路上のOFS2に与えることはない。
 更に、OFS2間を転送させる遅延測定用パケットはIPパケットであるため、OFS2間にレガシーネットワークが存在する場合でも本発明を適用できる。
 2.第2の実施の形態 第1の実施の形態では、1台のOFC1に管理された配下ネットワーク内における任意の2つのOFS2間の最小遅延到達経路を探索・計算した場合の動作を説明した。第2の実施の形態では、複数のOFCのそれぞれが管理するネットワーク間の任意の2つのOFS2間における最小遅延到達経路を探索するコンピュータシステムについて説明する。
 図14は、本発明によるコンピュータシステムの第2の実施の形態における構成を示す図である。図14を参照して、第2の実施の形態におけるコンピュータシステムは、オープンフローコントローラマネジャ10(OFCマネジャ10)、複数のOFC1’(ここでは一例として2つのOFC1’-1、1’-2)を具備する。以下では、OFC1’-1、1’-1を区別せずに説明する場合、OFC1’と称す。又、OFC1’-1、1’-2の配下のネットワーク構成は、第1の実施の形態と同様であるが、それぞれの構成に付される符号には、OFC1’と同様な追番を付して説明する。
 第2の実施の形態におけるシステムでは、第1の実施の形態と同様な経路計算部11、位置・接続情報14、及び遅延測定パケット解析モジュール132は、OFCマネジャ10に搭載され、OFC1’には搭載されない。又、OFCマネジャ10は、OFC1’に対して遅延時間測定用のフローエントリの設定要求を行う測定要求部16を更に具備する。測定要求部16は、記憶装置(記録媒体)に記録され、図示しないCPUによって実行されるプログラムによって実現される。
 第2の実施の形態における経路計算部11は、スイッチ群20-1、20-2の任意の2つのノード(例えば2つのOFS2)の間の通信経路を算出し、遅延時間の測定対象となる隣接する2つのOFS2間の通信区間を特定する。第2の実施の形態における2つのスイッチ群20-1、20-2は互いに通信可能に接続されているため、2つのスイッチ群20-1、20-2を跨ぐ通信区間が遅延時間の測定対象区間として設定され得る。
 第2の実施の形態におけるOFC1’は、第1の実施の形態と同様なフロー制御部12、フローテーブル15、及び遅延測定パケット解析モジュール132を搭載しない遅延測定部13’を具備する。第2の実施の形態におけるフロー制御部12は、経路計算部11によって設定された測定対象パス情報200に基づいた遅延時間測定用フローエントリを自身が配下とするOFS2に設定する。この際、フロー制御部12は、設定対象のOFS2がマスタスイッチとして設定されている場合、「遅延測定用パケットをスレーブスイッチに転送する」ことをアクションとする遅延時間測定用フローエントリを当該OFS2に設定し、設定対象のOFS2がスレーブスイッチとして設定されている場合、「受信した遅延測定用パケットを自身が属するOFC1に転送する」ことをアクションとする遅延時間測定用フローエントリを当該OFS2に設定する。OFS2に設定されたフローエントリは、フローテーブルに記録される。これにより、OFC1’は、自身が管理するスイッチ群20に設定したフローエントリを管理することができる。
 遅延測定部13’は、第1の実施の形態と同様に遅延測定用パケットを生成し、自身が管理するスイッチ群20のうちマスタスイッチとして設定されたOFS2に転送する。又、遅延測定部13’は、遅延測定用パケットの生成時又は転送時に送信時刻を打刻し、OFS2から転送された遅延測定用パケットを受信した場合、受信時刻を当該パケットに打刻する。遅延測定部13’は、受信時刻を打刻した遅延測定用パケットをOFCマネジャ10に転送する。
 OFCマネジャ10の遅延測定パケット解析モジュール132は、OFC1’から取得した遅延測定用パケットの送信時刻及び受信時刻との差を、当該パケットに指定されたマスタスイッチとスレーブスイッチとの間の通信区間の遅延時間として算出する。又、遅延測定パケット解析モジュール132は、第1の実施の形態と同様に、測定した通信区間の遅延時間を用いて、2つのノード間の通信経路における遅延時間を求め、最小遅延到達経路を特定する。例えば、OFC1’-1からの送信された遅延測定用パケットがOFC1’-2によって受信された場合、当該パケットには、マスタスイッチ側のOFC1’-1によって送信時刻が打刻され、スレーブスイッチ側のOFC1’-2によって受信時刻が打刻される。OFCマネジャ10は、OFC1’-2から通知された遅延測定用パケットに打刻された時刻に基づいて、2つのスイッチ群20-1、20-2を跨いで隣接するOFS2-1、2-2の通信区間の遅延時間を算出することができる。
 以上のように、本実施の形態によれば、異なるOFC1’によって管理されるネットワークを跨ぐ2つのノード間の通信経路の中から最小遅延到達経路を特定することが可能となる。その他の効果は、第1の実施の形態と同様である。尚、OFCマネジャ10は、複数のOFC1’のいずれか1つに搭載されていても良い。又、OFC1’には、自身が管理するスイッチ群20内に限定して通信区間の遅延時間を測定し、最小遅延到達経路を特定する遅延測定パケット解析モジュール132を備えても良い。この場合、OFCマネジャ10の遅延測定パケット解析モジュールは、複数のネットワーク(スイッチ群20)を跨ぐノード間の最小遅延到達経路の特定や、通信区間の遅延計算を行うときのみに使用されることなる。
 以上、本発明の実施の形態を詳述してきたが、具体的な構成は上記実施の形態に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。例えば、上述の実施例では、マスタスイッチのみならずスレーブスイッチにも遅延時間測定用フローエントリを設定していたが、スレーブスイッチへの設定を省略してもよい。この場合、OFS2(マスタスイッチ)から遅延測定用パケットを受け取ったOFS2(スレーブスイッチ)は、オープンフロープロトコルに従って、フローエントリに適合しない当該パケットをファーストパケットとしてOFC1に通知する(PacketIN)。OFC1は、OFS2から通知されたファーストパケットの受信時刻を当該パケットに打刻して解析することで通信区間の遅延時間を算出することができる。
 又、上述の実施の形態では、OFCからの送信時刻とOFCにおける受信時刻との差によって通信区間の遅延時間を算出したが、算出方法はこれに限らず、パケットに打刻された送信時刻及び受信時刻を利用すれば他のアルゴリズムによっても算出できる。更に、上述の実施の形態では、OFCによって送信時刻と受信時刻の打刻が行われているがこれに限らず、マスタスイッチにおいて送信時刻が打刻され、スレーブスイッチにおいて受信時刻が打刻されても良い。例えば、OFSにパケットへの打刻機能を追加し、マスタスイッチに設定する遅延時間測定用フローエントリのアクションとして送信時刻の打刻を追加し、スレーブスイッチに設定する遅延時間測定用フローエントリのアクションとして受信時刻(又はOFCへの送信時刻)の打刻を追加する。これにより、セキュアチャネルネットワーク4を介したOFC1(OFC1’)とOFS2との間における遅延時間を排除した通信区間の遅延時間や最小遅延到達経路を算出できる。更に、送信時刻や受信時刻の打刻位置はこれに限らず、他の組み合わせでも良い。例えばマスタスイッチにおいて送信時刻が打刻され、OFCにおいて受信時刻が打刻されても良いし、OFCにおいて送信時刻が打刻され、スレーブスイッチにおいて受信時刻が打刻されても良い。
 尚、本出願は、日本出願番号2010-277399に基づき、日本出願番号2010-277399における開示内容は引用により本出願に組み込まれる。

Claims (30)

  1.  互いに隣接する第1スイッチ及び第2スイッチと、
     遅延測定用パケットのヘッダ情報をルールとし、前記第2スイッチへの転送動作をアクションとしたフローエントリを、前記第1スイッチに設定するとともに、前記遅延測定用パケットを前記第1スイッチに送信するコントローラと、
     前記第1スイッチと前記第2スイッチとの間の通信区間の遅延時間を算出する解析モジュールと
     を具備し、
     前記第1スイッチは、自身に設定された前記フローエントリに従い、前記コントローラから送信された前記遅延測定用パケットを前記第2スイッチに転送し、
     前記解析モジュールは、前記第2スイッチから前記遅延測定用パケットを取得し、前記遅延測定用パケットに打刻された時刻を用いて前記通信区間の遅延時間を算出する
     コンピュータシステム。
  2.  請求項1に記載のコンピュータシステムにおいて、
     前記コントローラは、前記遅延測定用パケットのヘッダ情報をルールとし、前記コントローラへの転送動作をアクションとしたフローエントリを、前記第2スイッチに設定し、
     前記第2スイッチは、自身に設定された前記フローエントリに従い、前記第1スイッチから送信された前記遅延測定用パケットを前記コントローラに転送し、
     前記解析モジュールは、前記コントローラに転送された前記遅延測定用パケットを取得し、前記遅延測定用パケットに打刻された時刻を用いて前記遅延時間を算出する
     コンピュータシステム。
  3.  請求項1に記載のコンピュータシステムにおいて、
     前記第2スイッチは、自身に設定されたフローエントリのルールに適合しない受信パケットをファーストパケットとして前記コントローラに転送し、
     前記解析モジュールは、前記コントローラに転送された前記遅延測定用パケットを取得し、前記遅延測定用パケットに打刻された時刻を用いて前記通信区間の遅延時間を算出する
     コンピュータシステム。
  4.  請求項1から3のいずれか1項に記載のコンピュータシステムにおいて、
     前記コントローラは、前記遅延測定用パケットの送信時刻を前記遅延測定用パケットに打刻した後に、前記第1スイッチに送信し、前記第2スイッチから受信した前記遅延測定用パケットに受信時刻を打刻し、
     前記解析モジュールは、前記コントローラに転送された前記遅延測定用パケットを取得し、前記遅延測定用パケットに打刻された前記送信時刻と前記受信時刻とを用いて前記通信区間の遅延時間を算出する
     コンピュータシステム。
  5.  請求項1に記載のコンピュータシステムにおいて、
     前記遅延測定用パケットのヘッダ情報をルールとし、自身への転送動作をアクションとしたフローエントリを、前記第2スイッチに設定する他のコントローラを更に具備し、
     前記第2スイッチは、自身に設定された前記フローエントリに従い、前記第1スイッチから送信された前記遅延測定用パケットを前記他のコントローラに転送し、
     前記解析モジュールは、前記他のコントローラに転送された前記遅延測定用パケットを取得し、前記遅延測定用パケットに打刻された時刻を用いて前記通信区間の遅延時間を算出する
     コンピュータシステム。
  6.  請求項5に記載のコンピュータシステムにおいて、
     前記コントローラは、前記遅延測定用パケットの送信時刻を前記遅延測定用パケットに打刻した後に、前記遅延測定用パケットを前記第1スイッチに送信し、
     前記他のコントローラは、前記第2スイッチから受信した前記遅延測定用パケットに受信時刻を打刻し、
     前記解析モジュールは、前記コントローラに転送された前記遅延測定用パケットを取得し、前記遅延測定用パケットに打刻された前記送信時刻と前記受信時刻とを用いて前記通信区間の遅延時間を算出する
     コンピュータシステム。
  7.  請求項1から6のいずれか1項に記載のコンピュータシステムにおいて、
     前記第1スイッチは、前記遅延測定用パケットの送信時刻を前記遅延測定用パケットに打刻した後に、前記第2スイッチに送信し、
     前記第2スイッチは、前記遅延測定用パケットの受信時刻を前記遅延測定用パケットに打刻し、
     前記解析モジュールは、前記遅延測定用パケットに打刻された前記送信時刻と前記受信時刻とを用いて前記通信区間の遅延時間を算出する
     コンピュータシステム。
  8.  請求項2に記載のコンピュータシステムにおいて、
     前記コントローラは、
     前記遅延測定用パケットのヘッダ情報をルールとし、前記第2スイッチへの転送動作、及び前記遅延測定用パケットへの送信時刻の打刻をアクションとしたフローエントリを、前記第1スイッチに設定し、
     前記遅延測定用パケットのヘッダ情報をルールとし、前記コントローラへの転送動作、及び前記遅延測定用パケットへの受信時刻の打刻をアクションとしたフローエントリを、前記第2スイッチに設定し、
     前記第1スイッチは、自身に設定された前記フローエントリに従い、前記コントローラから送信された前記遅延測定用パケットに前記送信時刻を打刻して前記第2スイッチに転送し、
     前記第2スイッチは、自身に設定された前記フローエントリに従い、前記第1スイッチから送信された前記遅延測定用パケットに前記受信時刻を打刻して前記コントローラに転送し、
     前記解析モジュールは、前記コントローラに転送された前記遅延測定用パケットを取得し、前記遅延測定用パケットに打刻された前記送信時刻と前記受信時刻とを用いて前記通信区間の遅延時間を算出する
     コンピュータシステム。
  9.  請求項5に記載のコンピュータシステムにおいて、
     前記コントローラは、前記遅延測定用パケットのヘッダ情報をルールとし、前記第2スイッチへの転送動作、及び前記遅延測定用パケットへの送信時刻の打刻をアクションとしたフローエントリを、前記第1スイッチに設定し、
     前記他のコントローラは、前記遅延測定用パケットのヘッダ情報をルールとし、前記コントローラへの転送動作及び、前記遅延測定用パケットへの受信時刻の打刻をアクションとしたフローエントリを、前記第2スイッチに設定し、
     前記第1スイッチは、自身に設定された前記フローエントリに従い、前記コントローラから送信された前記遅延測定用パケットに前記送信時刻を打刻して前記第2スイッチに転送し、
     前記第2スイッチは、自身に設定された前記フローエントリに従い、前記第1スイッチから送信された前記遅延測定用パケットに前記受信時刻を打刻して前記コントローラに転送する
     前記解析モジュールは、前記コントローラに転送された前記遅延測定用パケットを取得し、前記遅延測定用パケットに打刻された前記送信時刻と前記受信時刻とを用いて前記通信区間の遅延時間を算出する
     コンピュータシステム。
  10.  請求項1から9のいずれか1項に記載のコンピュータシステムにおいて、
     前記遅延測定用パケットを転送するためのフローエントリのルールとして、IP(Internet
     Protocol)ヘッダフィールドにおけるプロトコルが規定され、
     前記第1スイッチは、受信パケットのIPヘッダフィールドにおけるプロトコルが、自身に設定された前記フローエントリのルールに適合している場合、前記受信パケットのヘッダ情報における他のレイヤの内容に関わらず、前記受信パケットを前記第2スイッチに転送する
     コンピュータシステム。
  11.  請求項1から10のいずれか1項に記載のコンピュータシステムにおいて、
     前記第1スイッチ及び前記第2スイッチを含む複数のスイッチを更に具備し、
     前記解析モジュールは、前記複数のスイッチのうちの2つのスイッチ間に形成される複数の通信経路のそれぞれに含まれる、隣接する2つのスイッチ間の通信区間の遅延時間を、前記遅延時間測定用パケットを利用して測定することによって、前記複数の通信経路のそれぞれの遅延時間を算出し、前記複数の通信経路のうち、遅延時間の最も小さい通信経路を最小遅延到達経路として特定する
     コンピュータシステム。
  12.  請求項11に記載のコンピュータシステムにおいて、
     前記複数の通信経路のそれぞれは、隣接する2つのスイッチによって構成される通信区間を少なくとも1つ有し、
     前記解析モジュールは、前記複数の通信経路の全てに共通する通信区間の遅延時間を0に設定し、他の通信区間を、前記遅延測定用パケットを利用した遅延時間の測定対象として設定する
     コンピュータシステム。
  13.  遅延測定用パケットのヘッダ情報をルールとし、第1スイッチに隣接する第2スイッチへの転送動作をアクションとしたフローエントリを、前記第1スイッチに設定するフロー制御部と、
     前記遅延測定用パケットを前記第1スイッチに送信する遅延測定部と
     を具備し、
     前記遅延測定部は、前記フローエントリに従うことで前記第1スイッチから前記第2スイッチに転送された前記遅延測定用パケットを取得し、前記遅延測定用パケットに打刻された時刻を用いて、前記第1スイッチと前記第2スイッチとの間の通信区間の遅延時間を算出する
     コントローラ。
  14.  請求項13に記載のコントローラにおいて、
     前記フロー制御部は、前記遅延測定用パケットのヘッダ情報をルールとし、前記コントローラへの転送動作をアクションとしたフローエントリを、前記第2スイッチに設定し、
     前記遅延測定部は、前記フローエントリに従うことで前記第2スイッチから転送された前記遅延測定用パケットを取得し、前記遅延測定用パケットに打刻された時刻を用いて前記通信区間の遅延時間を算出する
     コントローラ。
  15.  請求項13に記載のコントローラにおいて、
     前記遅延測定部は、自身に設定されたフローエントリのルールに適合しない受信パケットとして前記第2スイッチから転送された前記遅延測定用パケットを取得し、前記遅延測定用パケットに打刻された時刻を用いて前記通信区間の遅延時間を算出する
     コントローラ。
  16.  請求項13から15のいずれか1項に記載のコントローラにおいて、
     前記遅延測定部は、前記遅延測定用パケットの送信時刻を前記遅延測定用パケットに打刻した後に、前記第1スイッチに送信し、前記第2スイッチから受信した前記遅延測定用パケットに受信時刻を打刻し、前記送信時刻と前記受信時刻とを用いて前記通信区間の遅延時間を算出する
     コントローラ。
  17.  請求項14に記載のコントローラにおいて、
     前記フロー制御部は、
     前記遅延測定用パケットのヘッダ情報をルールとし、前記第2スイッチへの転送動作、及び前記遅延測定用パケットへの送信時刻の打刻をアクションとしたフローエントリを、前記第1スイッチに設定し、
     前記遅延測定用パケットのヘッダ情報をルールとし、前記コントローラへの転送動作、及び前記遅延測定用パケットへの受信時刻の打刻をアクションとしたフローエントリを、前記第2スイッチに設定し、
     前記第1スイッチは、自身に設定された前記フローエントリに従い、前記コントローラから送信された前記遅延測定用パケットに前記送信時刻を打刻して前記第2スイッチに転送し、
     前記第2スイッチは、自身に設定された前記フローエントリに従い、前記第1スイッチから送信された前記遅延測定用パケットに前記受信時刻を打刻して前記コントローラに転送し、
     前記遅延測定部は、前記第2スイッチから転送された前記遅延測定用パケットを取得し、前記遅延測定用パケットに打刻された前記送信時刻と前記受信時刻とを用いて前記通信区間の遅延時間を算出する
     コントローラ。
  18.  請求項13から17のいずれか1項に記載のコントローラにおいて、
     前記遅延測定部は、複数のスイッチのうちの2つのスイッチ間に形成される複数の通信経路のそれぞれに含まれる、隣接する2つのスイッチ間の通信区間の遅延時間を、前記遅延時間測定用パケットを利用して測定することによって、前記複数の通信経路のそれぞれの遅延時間を算出し、前記複数の通信経路のうち、遅延時間の最も小さい通信経路を最小遅延到達経路として特定する
     コントローラ。
  19.  請求項18に記載のコントローラにおいて、
     前記遅延測定部は、前記複数の通信経路の全てに共通する通信区間の遅延時間を0に設定し、他の通信区間の遅延時間を、前記遅延測定用パケットを利用して測定し、前記複数の通信経路のそれぞれの遅延時間を算出する
     コントローラ。
  20.  請求項1から12のいずれか1項に記載の解析モジュールを備えるコントローラマネジャ。
  21.  コンピュータによって実行されることで、請求項13から19のいずれか1項に記載のコントローラの機能を実現するプログラムが記録された記録媒体。
  22.  コンピュータによって実行されることで、請求項20に記載のコントローラマネジャの機能を実現するプログラムが記録された記録媒体。
  23.  コントローラが、遅延測定用パケットのヘッダ情報をルールとし、第1スイッチに隣接する第2スイッチへの転送動作をアクションとしたフローエントリを、前記第1スイッチに設定するステップと、
     前記コントローラが、前記遅延測定用パケットを前記第1スイッチに送信するステップと、
     前記第1スイッチが、自身に設定された前記フローエントリに従い、前記コントローラから送信された前記遅延測定用パケットを前記第2スイッチに転送するステップと、
     解析モジュールが、前記第2スイッチから前記遅延測定用パケットを取得し、前記遅延測定用パケットに打刻された時刻を用いて前記通信区間の遅延時間を算出するステップと
     を具備する
     通信経路解析方法。
  24.  請求項23に記載の通信経路解析方法において、
     前記コントローラが、前記遅延測定用パケットのヘッダ情報をルールとし、前記コントローラへの転送動作をアクションとしたフローエントリを、前記第2スイッチに設定するステップと、
     前記第2スイッチが、自身に設定された前記フローエントリに従い、前記第1スイッチから送信された前記遅延測定用パケットを前記コントローラに転送するステップと、
     を更に具備し、
     前記通信区間の遅延時間を算出するステップは、前記解析モジュールが、前記コントローラに転送された前記遅延測定用パケットを取得し、前記遅延測定用パケットに打刻された時刻を用いて前記遅延時間を算出するステップを備える
     通信経路解析方法。
  25.  請求項23に記載の通信経路解析方法において、
     前記第2スイッチが、自身に設定されたフローエントリのルールに適合しない受信パケットをファーストパケットとして前記コントローラに転送するステップを更に具備し、
     前記通信区間の遅延時間を算出するステップは、前記解析モジュールが、前記コントローラに転送された前記遅延測定用パケットを取得し、前記遅延測定用パケットに打刻された時刻を用いて前記遅延時間を算出するステップを備える
     通信経路解析方法。
  26.  請求項23から25のいずれか1項に記載の通信経路解析方法において、
     前記コントローラが、前記遅延測定用パケットの送信時刻を前記遅延測定用パケットに打刻した後に、前記第1スイッチに送信するステップと、
     前記コントローラが、前記第2スイッチから受信した前記遅延測定用パケットに受信時刻を打刻するステップと
     を更に具備し、
     前記通信区間の遅延時間を算出するステップは、前記解析モジュールが、前記コントローラに転送された前記遅延測定用パケットを取得し、前記遅延測定用パケットに打刻された前記送信時刻と前記受信時刻とを用いて前記通信区間の遅延時間を算出するステップを備える
     通信経路解析方法。
  27.  請求項23に記載の通信経路解析方法において、
     他のコントローラが、前記遅延測定用パケットのヘッダ情報をルールとし、自身への転送動作をアクションとしたフローエントリを、前記第2スイッチに設定するステップと、
     前記第2スイッチが、自身に設定された前記フローエントリに従い、前記第1スイッチから送信された前記遅延測定用パケットを前記他のコントローラに転送するステップと
     を更に具備し、
     前記通信区間の遅延時間を算出するステップは、前記解析モジュールが、前記他のコントローラに転送された前記遅延測定用パケットを取得し、前記遅延測定用パケットに打刻された時刻を用いて前記通信区間の遅延時間を算出するステップを備える
     通信経路解析方法。
  28.  請求項27に記載の通信経路解析方法において、
     前記コントローラが、前記遅延測定用パケットの送信時刻を前記遅延測定用パケットに打刻した後に、前記遅延測定用パケットを前記第1スイッチに送信するステップと、
     前記他のコントローラが、前記第2スイッチから受信した前記遅延測定用パケットに受信時刻を打刻するステップを更に具備し、
     前記通信区間の遅延時間を算出するステップは、解析モジュールが、前記コントローラに転送された前記遅延測定用パケットを取得し、前記遅延測定用パケットに打刻された前記送信時刻と前記受信時刻とを用いて前記通信区間の遅延時間を算出するステップを備える
     通信経路解析方法。
  29.  請求項23から28のいずれか1項に記載の通信経路解析方法において、
     前記解析モジュールが、前記複数のスイッチのうちの2つのスイッチ間に形成される複数の通信経路のそれぞれに含まれる、隣接する2つのスイッチ間の通信区間の遅延時間を、前記遅延時間測定用パケットを利用して測定するステップと、
     前記解析モジュールが、測定した前記通信区間の遅延時間を利用して前記複数の通信経路のそれぞれの遅延時間を算出するステップと、
     前記解析モジュールが、算出して通信経路の遅延時間を比較し、前記複数の通信経路のうち、遅延時間の最も小さい通信経路を最小遅延到達経路として特定するステップと
     を更に具備する
     通信経路解析方法。
  30.  請求項29に記載の通信経路解析方法において、
     前記遅延時間測定用パケットを利用して遅延時間を測定するステップは、前記解析モジュールが、前記複数の通信経路の全てに共通する通信区間の遅延時間を0に設定し、他の通信区間の遅延時間を、前記遅延測定用パケットを利用した測定対象として設定するステップを備える
     通信経路解析方法。
PCT/JP2011/078697 2010-12-13 2011-12-12 コンピュータシステム、コントローラ、コントローラマネジャ、通信経路解析方法 WO2012081549A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US13/993,040 US20130258898A1 (en) 2010-12-13 2011-12-12 Computer system, controller, controller manager and communication route analysis method
EP11849842.7A EP2654254B1 (en) 2010-12-13 2011-12-12 Computer system, controller, controller manager, and communication route analysis method
JP2012548778A JP5522495B2 (ja) 2010-12-13 2011-12-12 コンピュータシステム、コントローラ、コントローラマネジャ、通信経路解析方法
CN201180060077.2A CN103262472B (zh) 2010-12-13 2011-12-12 计算机系统、控制器、控制器管理器和通信路由分析方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2010277399 2010-12-13
JP2010-277399 2010-12-13

Publications (1)

Publication Number Publication Date
WO2012081549A1 true WO2012081549A1 (ja) 2012-06-21

Family

ID=46244648

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/078697 WO2012081549A1 (ja) 2010-12-13 2011-12-12 コンピュータシステム、コントローラ、コントローラマネジャ、通信経路解析方法

Country Status (5)

Country Link
US (1) US20130258898A1 (ja)
EP (1) EP2654254B1 (ja)
JP (1) JP5522495B2 (ja)
CN (1) CN103262472B (ja)
WO (1) WO2012081549A1 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140269690A1 (en) * 2013-03-13 2014-09-18 Qualcomm Incorporated Network element with distributed flow tables
CN104247350A (zh) * 2012-07-31 2014-12-24 惠普发展公司,有限责任合伙企业 实现转换协议,其中用于在第一时间段期间路由由一组交换机接收到的分组的第一规则集被更新到第二规则集
JP2015080143A (ja) * 2013-10-18 2015-04-23 Kddi株式会社 リンク品質計測装置ならびにそのフローエントリ集約方法およびプログラム
WO2015136928A1 (ja) * 2014-03-14 2015-09-17 日本電気株式会社 フロー制御装置、通信システム、フロー制御装置の制御方法、及びプログラム
JP2016524401A (ja) * 2013-09-06 2016-08-12 エヌイーシー ラボラトリーズ アメリカ インクNEC Laboratories America, Inc. ソフトウェア定義ネットワークにおけるパスレイテンシの監視
JP2019092233A (ja) * 2019-03-26 2019-06-13 Necプラットフォームズ株式会社 仮想ネットワークシステムおよび仮想ネットワーク経路設定方法
JP2021517421A (ja) * 2018-03-29 2021-07-15 華為技術有限公司Huawei Technologies Co.,Ltd. サービスのサービス品質を検出するための方法およびシステム、ならびにデバイス

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8924787B2 (en) * 2012-01-24 2014-12-30 Nec Laboratories America, Inc. Network debugging
US8844032B2 (en) * 2012-03-02 2014-09-23 Sri International Method and system for application-based policy monitoring and enforcement on a mobile device
CN105723657B (zh) * 2014-09-26 2020-10-09 华为技术有限公司 交换机、控制器、系统及链路质量检测方法
WO2016141996A1 (en) * 2015-03-12 2016-09-15 Nec Europe Ltd. Method for forwarding data in a network, forwarding element for forwarding data and a network
JP6525256B2 (ja) * 2015-05-29 2019-06-05 Necプラットフォームズ株式会社 仮想ネットワークシステムおよび仮想ネットワーク経路設定方法
CN105591912B (zh) * 2015-07-21 2019-08-06 新华三技术有限公司 一种转发路径的选择方法和装置
CN105187403B (zh) * 2015-08-13 2018-06-12 国家计算机网络与信息安全管理中心 软件定义网络的网络安全性测试方法
CN106130710B (zh) * 2016-06-29 2019-11-08 北京东土科技股份有限公司 一种时钟同步方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003309602A (ja) * 2002-04-17 2003-10-31 Nippon Telegr & Teleph Corp <Ntt> 通信品質推定システム、通信品質推定方法、通信品質推定プログラムおよび記録媒体
JP2004266534A (ja) * 2003-02-28 2004-09-24 Fujitsu Ltd 通信経路試験方法
JP2009030392A (ja) * 2007-07-30 2009-02-12 Takiron Co Ltd ドレンホース接続具
JP2010277399A (ja) 2009-05-29 2010-12-09 Toshiba Tec Corp 商品販売データ処理装置およびその制御プログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1254465A (zh) * 1997-05-22 2000-05-24 特尔科迪亚技术股份有限公司 对动态分组交换网中的延迟进行均衡的系统和方法
JP3614835B2 (ja) * 2001-08-22 2005-01-26 日本電信電話株式会社 パケット通信品質測定方法およびシステム
US8717911B2 (en) * 2006-06-30 2014-05-06 Centurylink Intellectual Property Llc System and method for collecting network performance information
CN101547063B (zh) * 2009-04-30 2012-07-18 北京星网锐捷网络技术有限公司 一种转发延迟测试方法和系统
US8638778B2 (en) * 2009-09-11 2014-01-28 Cisco Technology, Inc. Performance measurement in a network supporting multiprotocol label switching (MPLS)
US8897130B2 (en) * 2009-09-16 2014-11-25 Broadcom Corporation Network traffic management

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003309602A (ja) * 2002-04-17 2003-10-31 Nippon Telegr & Teleph Corp <Ntt> 通信品質推定システム、通信品質推定方法、通信品質推定プログラムおよび記録媒体
JP2004266534A (ja) * 2003-02-28 2004-09-24 Fujitsu Ltd 通信経路試験方法
JP2009030392A (ja) * 2007-07-30 2009-02-12 Takiron Co Ltd ドレンホース接続具
JP2010277399A (ja) 2009-05-29 2010-12-09 Toshiba Tec Corp 商品販売データ処理装置およびその制御プログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2654254A4

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104247350A (zh) * 2012-07-31 2014-12-24 惠普发展公司,有限责任合伙企业 实现转换协议,其中用于在第一时间段期间路由由一组交换机接收到的分组的第一规则集被更新到第二规则集
US9749260B2 (en) 2012-07-31 2017-08-29 Hewlett Packard Enterprise Development Lp Implementing a transition protocol in which a first rule set for routing packets received by a group of switches during a first time period is updated to a second rule set
US20140269690A1 (en) * 2013-03-13 2014-09-18 Qualcomm Incorporated Network element with distributed flow tables
JP2016524401A (ja) * 2013-09-06 2016-08-12 エヌイーシー ラボラトリーズ アメリカ インクNEC Laboratories America, Inc. ソフトウェア定義ネットワークにおけるパスレイテンシの監視
JP2018088716A (ja) * 2013-09-06 2018-06-07 エヌイーシー ラボラトリーズ アメリカ インクNEC Laboratories America, Inc. ソフトウェア定義ネットワークにおけるパテントレイテンシの監視
JP2015080143A (ja) * 2013-10-18 2015-04-23 Kddi株式会社 リンク品質計測装置ならびにそのフローエントリ集約方法およびプログラム
WO2015136928A1 (ja) * 2014-03-14 2015-09-17 日本電気株式会社 フロー制御装置、通信システム、フロー制御装置の制御方法、及びプログラム
US10038641B2 (en) 2014-03-14 2018-07-31 Nec Corporation Flow control device, communication system, control method for flow control device, and program
JP2021517421A (ja) * 2018-03-29 2021-07-15 華為技術有限公司Huawei Technologies Co.,Ltd. サービスのサービス品質を検出するための方法およびシステム、ならびにデバイス
JP7162678B2 (ja) 2018-03-29 2022-10-28 華為技術有限公司 サービスのサービス品質を検出するための方法およびシステム、ならびにデバイス
JP2019092233A (ja) * 2019-03-26 2019-06-13 Necプラットフォームズ株式会社 仮想ネットワークシステムおよび仮想ネットワーク経路設定方法

Also Published As

Publication number Publication date
US20130258898A1 (en) 2013-10-03
EP2654254A1 (en) 2013-10-23
EP2654254A4 (en) 2015-08-05
CN103262472B (zh) 2015-11-25
JPWO2012081549A1 (ja) 2014-05-22
EP2654254B1 (en) 2016-08-31
JP5522495B2 (ja) 2014-06-18
CN103262472A (zh) 2013-08-21

Similar Documents

Publication Publication Date Title
JP5522495B2 (ja) コンピュータシステム、コントローラ、コントローラマネジャ、通信経路解析方法
KR101574167B1 (ko) 네트워크 시스템 및 경로 제어 방법
JP5674107B2 (ja) 通信システム、制御装置、処理規則の設定方法およびプログラム
JP5590263B2 (ja) 情報システム、制御装置、仮想ネットワークの提供方法およびプログラム
EP2544417B1 (en) Communication system, path control apparatus, packet forwarding apparatus and path control method
JP5874726B2 (ja) 通信制御システム、制御サーバ、転送ノード、通信制御方法および通信制御プログラム
JP5994846B2 (ja) 通信システム、制御装置、ノード、ノードの制御方法およびプログラム
US20160330113A1 (en) Communication system, node, control device, communication method, and program
WO2011118574A1 (ja) 通信システム、制御装置、遅延測定方法およびプログラム
JP5534033B2 (ja) 通信システム、ノード、パケット転送方法およびプログラム
JPWO2014126094A1 (ja) 通信システム、通信方法、制御装置、制御装置の制御方法及びプログラム
JP2017050708A (ja) 通信システム、制御装置、スイッチ、通信方法及びプログラム
JP2017175522A (ja) ネットワークシステム、制御装置、方法およびプログラム
JP5854488B2 (ja) 通信システム、制御装置、処理規則の設定方法およびプログラム
CN108183859B (zh) 一种互联网流量调度方法和系统
JP5833184B2 (ja) ネットワーク輻輳回避システム及び方法
JP2016225933A (ja) 制御装置、中継装置の制御方法、プログラム及び通信システム

Legal Events

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

Ref document number: 11849842

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2012548778

Country of ref document: JP

Kind code of ref document: A

REEP Request for entry into the european phase

Ref document number: 2011849842

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2011849842

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 13993040

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE