WO2012101890A1 - ネットワークシステム、制御装置、及び最適経路制御方法 - Google Patents

ネットワークシステム、制御装置、及び最適経路制御方法 Download PDF

Info

Publication number
WO2012101890A1
WO2012101890A1 PCT/JP2011/076395 JP2011076395W WO2012101890A1 WO 2012101890 A1 WO2012101890 A1 WO 2012101890A1 JP 2011076395 W JP2011076395 W JP 2011076395W WO 2012101890 A1 WO2012101890 A1 WO 2012101890A1
Authority
WO
WIPO (PCT)
Prior art keywords
server
network
optimum
server device
network device
Prior art date
Application number
PCT/JP2011/076395
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 JP2012554623A priority Critical patent/JP5598688B2/ja
Priority to EP11856831.0A priority patent/EP2670093A4/en
Priority to CN201180066077.3A priority patent/CN103348635B/zh
Priority to US13/980,847 priority patent/US20130297790A1/en
Publication of WO2012101890A1 publication Critical patent/WO2012101890A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/14Routing performance; Theoretical aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/127Shortest path evaluation based on intermediate node capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/30Routing of multiclass traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/42Centralised routing
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/355Application aware switches, e.g. for HTTP
    • 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
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • 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
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/101Server selection for load balancing based on network conditions

Definitions

  • the present invention relates to a network system, and more particularly to an optimum route control method in a centralized management network.
  • each network device autonomously determines a route. For this reason, there is a case where an optimum route cannot be selected for the entire network.
  • Conventional network devices select an optimum route individually (autonomously) using a route selection (routing) protocol.
  • routing protocols that determine routes based on the number of hops and link cost such as RIP (Routing Information Protocol) and OSPF (Open Shortest Path First) are known.
  • RIP Ring Information Protocol
  • OSPF Open Shortest Path First
  • a load balancer (load balancer) periodically checks the load status of a server, and the system is optimized by a method in which the load balancer selects a server with a low load.
  • the network layer and the application layer are independently optimized, it is difficult to optimize the entire system.
  • all communications are addressed to the load balancer, and this restriction is a factor that cannot optimize the entire system.
  • Patent Document 1 Japanese Patent Laid-Open No. 2000-250878.
  • the server and path with the least load are determined based on the CPU (Central Processing Unit) usage rate. To decide.
  • CPU Central Processing Unit
  • Patent Document 2 Japanese Patent Application Laid-Open No. 06-120943.
  • the CPU usage rate of a plurality of switching stations is measured, the switching station that has exceeded the usage rate compared to a preset boundary value is stored, and the optimal detour without using the switching station as a relay station Determine the route.
  • JP 2000-250878 A Japanese Patent Laid-Open No. 06-120943
  • a control device that centrally manages all the devices constituting the network and system calculates the optimum route and sets the communication route to the network device.
  • a network system When a network system according to the present invention receives a packet inquiry from a network device and the network device, an entry in which rules and operations for uniformly controlling the packet as a flow are defined is stored in the network device.
  • the control device is optimized based on the performance data of the server device among the data collection unit that collects and accumulates performance data from each of the network device and the server device, and the server device that forms the server group.
  • the optimal route control method according to the present invention is implemented by a computer used as a control device.
  • the control device communicates with a network device to be managed.
  • it communicates with a server device that forms a server group of the same group and shares a virtual address assigned to the server group.
  • performance data is collected and accumulated from each of the network device and the server device.
  • an optimum server device is selected from the server devices forming the server group based on the performance data of the server device.
  • an optimum route for reaching the optimum server device is determined based on the performance data of the network device.
  • a rule for uniformly controlling the packet as a flow and an operation for transferring the packet addressed to the virtual address to the next node on the optimum route are defined for the network device on the optimum route. Registered entries.
  • the program according to the present invention is a program for causing a computer to execute the processing in the above-described optimal route control method.
  • the program according to the present invention can be stored in a storage device or a storage medium.
  • the switches in the OpenFlow network are edge switches and core switches that form the OpenFlow network and are under the control of the controller.
  • a series of packets flowing in the same path from reception of a packet at the input side edge switch to transmission at the output side edge switch in the OpenFlow network is referred to as a flow.
  • the packet may be read as a frame.
  • Entry actions indicate operations such as “output to a specific port”, “discard”, and “rewrite header”. For example, if the output port identification information (output port number, etc.) is indicated in the entry action, the switch outputs a packet to the corresponding port, and if the output port identification information is not indicated, Discard the packet. Alternatively, if the header information is indicated in the entry action, the switch rewrites the header of the packet based on the header information.
  • the switch in the OpenFlow network executes the entry action for a packet group (packet series) that conforms to the entry rule.
  • the control device 10 corresponds to a controller in the OpenFlow network.
  • the control apparatus 10 performs centralized management of managed devices and collects performance data of all managed devices.
  • a secure channel Secure Channel
  • the control device 10 is also one of the nodes when it exists on the network.
  • the control device 10 includes a performance management unit 11, a performance data storage unit 12, a route calculation unit 13, a route information storage unit 14, a flow control unit 15, and a flow table storage unit 16.
  • the route information storage unit 14 accumulates route information that is a calculation result of the route calculation unit 13.
  • the performance management unit 21 transmits the NW usage rate, CPU usage rate, its own IP address, and MAC address to the control device.
  • the performance management unit 31 transmits the CPU usage rate, its own real IP address, virtual IP address, and MAC address to the control device 10.
  • the performance management unit 31 also monitors the operation status and performance of the packet control unit 32 and the application execution unit 33.
  • the packet control unit 32 transfers and discards the packet.
  • the packet control unit 32 transfers or discards the received packet to the application execution unit 33. Further, the packet received from the application execution unit 33 is transferred to the transmission destination or discarded.
  • the application execution unit 33 executes a service application provided to the client 40 according to the packet transferred from the packet control unit 32, and transmits a response packet to the client 40 via the packet control unit 32.
  • the client 40 is a mobile phone, smart phone, smart book, car navigation system (car navigation system), portable game machine, home game machine, portable music player, handy terminal, gadget (electronic device), interactive TV, digital A tuner, a digital recorder, an information home appliance, an office automation (OA) device, or the like may be used.
  • the client 40 may be mounted on a moving body such as a vehicle, a ship, or an aircraft.
  • processors include a CPU (Central Processing Unit), a network processor (NP: Network Processor), a microprocessor (microprocessor), a microcontroller, or a semiconductor integrated circuit (IC: Integrated Circuit) having a dedicated function. Conceivable.
  • CPU Central Processing Unit
  • NP Network Processor
  • microprocessor microprocessor
  • microcontroller or a semiconductor integrated circuit (IC: Integrated Circuit) having a dedicated function. Conceivable.
  • networks include the Internet, LAN (Local Area Network), wireless LAN (Wireless LAN), WAN (Wide Area Network), backbone (Backbone), cable TV (CATV) line, fixed telephone network, mobile phone network, WiMAX (IEEE 802.16a), 3G (3rd Generation), dedicated line (lease line), IrDA (Infrared Data Association), Bluetooth (registered trademark), serial communication line, data bus, and the like are conceivable.
  • the identification information of the network device 20-1 is “NW device 1”.
  • the identification information of the network device 20-2 is “NW device 2”.
  • the identification information of the network device 20-3 is “NW device 3”.
  • the identification information of the network device 20-4 is “NW device 4”.
  • the identification information of the network device 20-5 is “NW device 5”.
  • the identification information of the network device 20-6 is “NW device 6”.
  • the identification information of the server device 30-1 is “server A”.
  • the identification information of the server device 30-2 is “server B”.
  • the identification information of the server device 30-3 is “server C”.
  • the identification information of the server device 30-4 is “server D”.
  • the identification information of the client 40 is “Client A”.
  • Server A (server device 30-1) and server C (server device 30-3) belong to server group 1.
  • a virtual IP address “XXX” is assigned to the server group 1. That is, the server A (server device 30-1) and the server C (server device 30-3) share the virtual IP address “XXX”.
  • the client 40 is connected to the NW device 1 (network device 20-1).
  • the NW device 1 (network device 20-1) is mutually connected to the NW device 2 (network device 20-2), the NW device 3 (network device 20-3), and the NW device 4 (network device 20-4).
  • the NW device 2 (network device 20-2) is connected to the NW device 3 (network device 20-3) and the NW device 4 (network device 20-4).
  • the NW device 3 (network device 20-3) and the NW device 4 (network device 20-4) are both mutually connected with the NW device 5 (network device 20-5) and the NW device 6 (network device 20-6). It is connected to the.
  • the NW device 5 (network device 20-5) is connected to the NW device 6 (network device 20-6). Further, the NW device 5 (network device 20-5) and the NW device 6 (network device 20-6) are all server A (server device 30-1), server B (server device 30-2), and server C. (Server device 30-3) and server D (server device 30-4) are mutually connected.
  • the performance data storage unit 12 of the control device 10 has an NW device table 121 and a server device table 122 as performance data.
  • the NW device table 121 has areas “NW device”, “NW (Current)”, and “NW (Average)”.
  • the server device table 122 has areas of “server”, “CPU (Current)”, and “CPU (Average)”.
  • Step S101 “Client A” (client 40) transmits a packet to the virtual IP address “XXX”.
  • Step S102 The NW device 1 (network device 20-1) is connected to “Client A” (client 40) as an input side edge switch (Ingress). Therefore, the packet control unit 24 of the NW device 1 (network device 20-1) receives the packet addressed to the virtual IP address “XXX” from “Client A” (client 40), and stores the packet in its own flow table storage unit 23. It is checked whether there is an entry corresponding to the received packet among the entries registered in the flow table. When the entry exists, the packet control unit 24 transfers the packet addressed to the virtual IP address “XXX” according to the action defined in the entry.
  • Step S103 Since the network device 1 (network device 20-1) has received the packet addressed to the virtual IP address “XXX” for the first time this time, the received packet is included in the entries registered in the flow table in its own flow table storage unit 23. There is no entry corresponding to. Therefore, the flow control unit 22 of the NW device 1 (network device 20-1) requests the control device 10 to enter a flow of a packet addressed to “XXX”.
  • the route calculation unit 13 refers to the NW device table 121 shown in FIG. 3 and determines to transfer the route using the route with the lowest NW usage rate.
  • the path calculation unit 13 is the next node of the NW device 1 (network device 20-3), the NW usage rate of the NW device 3 (network device 20-3) is “20%”, and the NW device 4 ( Since the NW usage rate of the network device 20-4) is “15%”, the NW device 4 (network device 20-4) is set as the next node.
  • the NW usage rate of the NW device 5 is “20%”
  • the NW device 6 since the NW usage rate is “25%”
  • the NW device 5 is set as the next node.
  • the route calculation unit 13 finally decides to transfer the route with the lowest NW usage rate, that is, “NW device 1 ⁇ NW device 4 ⁇ NW device 5 ⁇ server A”.
  • Information is accumulated in the route information storage unit 14. That is, the optimum route is “NW device 1 (network device 20-1) ⁇ NW device 4 (network device 20-4) ⁇ NW device 5 (network device 20-5) ⁇ server A (server device 30-1)”. It turns out that.
  • Step S107 Each flow control unit 22 of the network device on the optimum path sends a packet addressed to the virtual IP address “XXX” to the flow table in its own flow table storage unit 23 in accordance with the entry registration process from the control device 10.
  • An entry for transferring to the next node on the optimum route is registered. That is, the NW device 1 (network device 20-1), the NW device 4 (network device 20-4), and the NW device 5 (network device 20-5) respond to entry registration processing from the control device 10 themselves.
  • the entry for transferring the packet addressed to the virtual IP address “XXX” to the next node on the optimum route is registered in the flow table in the flow table storage unit 23.
  • Step S108 The packet that arrives at the NW device 1 (network device 20-1) is transferred through the route “NW device 1 ⁇ NW device 4 ⁇ NW device 5 ⁇ server A”, which is the route with the lowest NW usage rate. That is, the NW device 1 (network device 20-1) transfers the packet addressed to the virtual IP address “XXX” to the NW device 4 (network device 20-4) according to the entry registered in its own flow table. The NW device 4 (network device 20-4) transfers the packet addressed to the virtual IP address “XXX” to the NW device 5 (network device 20-5) according to the entry registered in its own flow table. The NW device 5 (network device 20-5) transfers the packet addressed to the virtual IP address “XXX” to the server A (server device 30-1) according to the entry registered in its own flow table.
  • Step S201 “Client A” (client 40) transmits a packet to the virtual IP address “YYY”.
  • Step S202 The NW device 1 (network device 20-1) is connected to “Client A” (client 40) as an input side edge switch (Ingress). Accordingly, the packet control unit 24 of the NW device 1 (network device 20-1) receives the packet addressed to the virtual IP address “YYY” from “Client A” (client 40), and stores the packet in its own flow table storage unit 23. It is checked whether there is an entry corresponding to the received packet among the entries registered in the flow table. When the entry exists, the packet control unit 24 transfers a packet addressed to the virtual IP address “YYY” according to the action defined in the entry.
  • Step S203 Since the network device 1 (network device 20-1) has received the packet addressed to the virtual IP address “YYY” for the first time this time, the received packet is included in the entry registered in the flow table in its own flow table storage unit 23. There is no entry corresponding to. Therefore, the flow control unit 22 of the NW device 1 (network device 20-1) requests the control device 10 to enter a flow of a packet addressed to “YYY”.
  • Step S204 When requested to enter the flow of the packet addressed to “YYY”, the control device 10 is directed to the server B (server device 30-2) or the server D (server device 30) as the transfer destination of the packet addressed to “YYY”. -4) One of the addresses will be selected.
  • the route calculation unit 13 of the control device 10 refers to the server device table 122 shown in FIG. 4, and the CPU average usage rate of the server B (server device 30-2) is “30%”, and the server D (server Since the CPU average usage rate of the device 30-4) is “15%”, the server D (server device 30-4) having the lowest CPU average usage rate is selected.
  • the route calculation unit 13 refers to the NW device table 121 shown in FIG. 3 and determines to transfer the route using the route with the lowest average NW usage rate.
  • the path calculation unit 13 has the NW average usage rate of the NW device 3 (network device 20-3) as “60%” and the NW device 4 as the next node of the NW device 1 (network device 20-3). Since the NW average usage rate of (network device 20-4) is “60%”, whichever is the same as the next node, the priority order or the distance from NW device 1 (network device 20-3) For example, the NW device 3 (network device 20-3) is set as the next node.
  • the NW average usage rate of the NW device 5 is “35%”, and the NW device 6 (network device 20-6).
  • the NW average usage rate is “10%”, so the NW device 6 (network device 20-6) is set as the next node.
  • the route calculation unit 13 finally decides to transfer the route information “NW device 1 ⁇ NW device 3 ⁇ NW device 6 ⁇ server D” having the lowest average NW usage rate, and this route information is determined. Accumulate in the route information storage unit 14. That is, the optimum route is “NW device 1 (network device 20-1) ⁇ NW device 3 (network device 20-3) ⁇ NW device 6 (network device 20-6) ⁇ server D (server device 30-4)”. It turns out that.
  • Step S206 The flow control unit 15 of the control device 10 defines an entry for each network device on the optimum route based on the route information of the optimum route read from the route information storage unit 14, and stores the entry in the own flow table storage unit 16. An entry is registered in the flow table and each flow table of the network device on the optimum route.
  • the network devices on the optimum route are the NW device 1 (network device 20-1), the NW device 3 (network device 20-3), and the NW device 6 (network device 20-6).
  • the flow control unit 15 transfers the virtual IP address “YYY” to the flow tables of the NW device 1 (network device 20-1), the NW device 3 (network device 20-3), and the NW device 6 (network device 20-6). An entry for transferring the addressed packet to the next node on the optimum route is registered.
  • Step S208 The packet that arrives at the NW device 1 (network device 20-1) is transferred through the route “NW device 1 ⁇ NW device 3 ⁇ NW device 6 ⁇ server D” having the lowest average NW usage rate. That is, the NW device 1 (network device 20-1) transfers the packet addressed to the virtual IP address “YYY” to the NW device 3 (network device 20-3) according to the entry registered in its own flow table. The NW device 3 (network device 20-3) transfers the packet addressed to the virtual IP address “YYY” to the NW device 6 (network device 20-6) according to the entry registered in its own flow table. The NW device 6 (network device 20-6) transfers the packet addressed to the virtual IP address “YYY” to the server D (server device 30-4) according to the entry registered in its own flow table.
  • the contents of the performance data to be used may be freely rearranged or used.
  • an optimal server may be selected from the server group based on the “CPU average usage rate”, and the optimal route may be determined based on the “network usage rate”.
  • an optimal server is selected from the server group, and both “network usage rate” and “network average usage rate” are referred to.
  • An optimal route may be determined.
  • the path calculation unit 13 of the control device 10 includes the performance data stored in the performance data storage unit 12 according to the content of the service provided to the client by the server device of the destination (access destination) of the virtual IP address. Decide which data to use. At this time, the route calculation unit 13 changes and determines the optimum condition that defines which data is used.
  • CPU usage rate CPU average usage rate
  • NW usage rate NW average usage rate
  • memory usage rate CPU performance (type)
  • data transfer speed data transfer speed
  • number of users and the like may be used.
  • the control device calculates the route of the packet group (flow) when “inquiry about the first packet (new packet with no corresponding entry) is received from the network device”, and the flow table of the network device. Register an entry in. That is, the “Reactive type” here refers to “real-time entry registration” performed by the control device in response to an inquiry from a network device during actual data communication.
  • a “reactive type” that registers an entry related to the received packet when the control device receives an inquiry about the 1st packet from the network device is the center.
  • the “Reactive type” is described as an example. However, in practice, the “Proactive type” may be adopted. For example, before starting communication of a packet that is expected to arrive in the future, the control device collects topology information and performance data from the network device and server device, and based on the current (or past) topology information and performance data, It is conceivable that the optimum route of a packet that is expected to arrive in the future is calculated, and the entry of the flow is registered in advance in the flow table of the corresponding network device. In this case, the control device can register the flow entry in the flow table of the network device without receiving a packet inquiry from the network device.
  • a control device that centrally manages all devices constituting a system such as a network and a server calculates an optimum route and sets a communication route to the network device.
  • the above solution makes it possible to select the optimum route at the application level and service level including network devices and server devices.
  • a route considering problem avoidance that may occur in the future can be selected based on prediction from past data.
  • the route cannot be changed according to the load status, and overflowing packets are discarded, or a low-priority packet is delayed, which requires time to transfer a large amount of data.
  • the present invention when the current (latest) CPU usage rate and NW usage rate are selected as the optimum conditions, the present invention is effective for an application or the like (for example, file transfer) that wants to transmit a large amount of data in a short time.
  • the present invention when the average usage rate of the CPU and NW is selected as the optimum condition, the present invention is effective for an application or the like (for example, an IP phone) in which communication is continued for a long time although the data amount is small. If a route with a low average usage rate can be selected, this problem can be easily avoided.
  • each network device autonomously determines a route, it is difficult to select a route optimized for each application.
  • the route can be selected (designated) for each flow, the entire system can be used efficiently.
  • a first communication unit that communicates with a network device to be managed;
  • a second communication unit that forms a server group of the same group and communicates with a server device that shares a virtual address assigned to the server group;
  • a data collection unit that collects and accumulates performance data from each of network devices and server devices;
  • a server selection unit that selects an optimal server device based on performance data of the server device from among the server devices forming the server group;
  • a route calculator that determines the optimal route to reach the optimal server device based on the performance data of the network device; Register an entry in the network device on the optimal route that defines rules for uniformly controlling the packet as a flow and an action to transfer the packet addressed to the virtual address to the next node on the optimal route.
  • a control device comprising a flow control unit.
  • the control device according to attachment 1, wherein The server selection unit selects an optimal server device based on at least one of the latest CPU usage rate and CPU average usage rate of the server device as performance data of the server device, The route calculation unit determines an optimum route for reaching the optimum server device based on at least one of the latest network usage rate and the network average usage rate of the network device as performance data of the network device.
  • Appendix 3 The control device according to appendix 1 or 2, A condition changing unit that changes an optimum condition that defines data to be used as performance data of each of the network device and the server device according to the type of the packet addressed to the virtual address and the content of the service provided by the server; A data selection unit for selecting data defined in the optimum condition from the accumulated performance data; The server selection unit determines the optimal server device based on the data defined in the optimal conditions, The route calculation unit is a control device that determines the optimum route based on the data defined in the optimum conditions.
  • [Appendix 4] Communicating with a network device to be managed; Communicating with a server device forming a server group of the same group and sharing a virtual address assigned to the server group; Collecting and storing performance data from each of network devices and server devices; Selecting an optimum server device from the server device performance data based on the server device performance data; Determining an optimal route to reach an optimal server device based on network device performance data; Register an entry in the network device on the optimal route that defines rules for uniformly controlling the packet as a flow and an action to transfer the packet addressed to the virtual address to the next node on the optimal route.
  • Appendix 5 The program according to appendix 4, Selecting the optimum server device based on at least one of the latest CPU usage rate and CPU average usage rate of the server device as performance data of the server device; And causing the computer to further execute a step of determining an optimum route for reaching the optimum server device based on at least one of the latest network usage rate and network average usage rate of the network device as performance data of the network device. Program for.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

 集中管理型ネットワークシステムにおいて、柔軟なネットワーク制御を行い、ネットワークの運用性、効率性の向上を図る。具体的には、通信経路を集中管理するネットワークシステムにおいて、ネットワーク機器の負荷状況、サーバ機器の負荷状況、アプリケーションの負荷状況も踏まえた上で最適経路を選択する。このとき、ネットワーク、サーバ等、システムを構成する全ての機器を集中管理する制御装置が、最適経路を計算し、通信経路をネットワーク機器に設定する。また、ネットワークの輻輳状況、サーバやアプリケーションの負荷状況を判断し、最適な経路を決定する。更に、現状だけでなく、過去の輻輳状況、負荷状況から未来に起こり得る事象を判断し、最適経路を決定する。

Description

ネットワークシステム、制御装置、及び最適経路制御方法
 本発明は、ネットワークシステムに関し、特に集中管理型ネットワークにおける最適経路制御方法に関する。
 従来のネットワーク機器の経路制御においては、以下の(1)乃至(3)のような課題があった。
 (1)従来のネットワーク機器(NW機器)を用いたシステムでは、各ネットワーク機器が自律的に経路を決定する。そのためネットワーク全体として最適な経路を選択できない場合がある。従来のネットワーク機器は、経路選択(ルーティング)プロトコルを用いて個別(自律的)に最適経路を選択する。標準のルーティングプロトコルの例として、RIP(Routing Information Protocol)、OSPF(Open Shortest Path First)等のホップ数やリンクコストベースに経路を決定するルーティングプロトコルが知られている。このような標準のルーティングプロトコルでは、ネットワークの負荷状況に応じた経路選択を行うことができない。例えば、ネットワークに輻輳が発生した場合は、QoS機能により、優先度の低いパケットは廃棄されてしまう。仮に他の経路に空きがあり、迂回すれば救われるケースにおいても、従来技術では回避することが困難である。
 (2)従来のネットワークシステムでは、上記(1)で説明した手法で経路を選択するため、サーバ等の負荷状況も加味した上で最適経路の選択ができない。従来技術では、サーバの負荷状況を負荷分散装置(ロードバランサ)が定期的にチェックし、負荷分散装置が負荷の低いサーバを選択する方法でシステムを最適化している。このようにネットワークレイヤとアプリケーションレイヤがそれぞれ独立に最適化しているため、システム全体で最適化することが困難である。また、負荷分散装置を使用するシステムにおいては、全ての通信が負荷分散装置宛となり、この制約がシステム全体を最適化できない要因となる。
 (3)従来のベストエフォート型ネットワークシステムでは、経路選択を行う際、負荷状況を加味した経路選択ができない。特定の通信を保証するためには、経路全ての通信装置に帯域確保する設定が必要であり、可用性、拡張性、運用性が低下する。
 関連する技術として、特許文献1(特開2000-250878号公報)に負荷分散システムが開示されている。この関連技術では、クライアントから通信経路変換装置にサーバ決定を依頼し、サーバを検索してレスポンス時間に差がなければ、CPU(Central Processing Unit)使用率に基づいて、最も負荷の少ないサーバと経路を決定する。
 また、特許文献2(特開平06-120943号公報)に最適迂回経路選択方式が開示されている。この関連技術では、複数の交換局のCPU使用率が測定され、予め設定した境界値と比較して該使用率が超過している交換局が記憶され、該交換局を中継局としない最適迂回経路を決定する。
特開2000-250878号公報 特開平06-120943号公報
"OpenFlow Switch Specification, Version 1.0.0",[online],December 31,2009,インターネット(URL:http://www.openflowswitch.org/documents/openflow-spec-v1.0.0.pdf)
 本発明では、以下の(1)乃至(3)のようにすることで、従来の課題の解決を図る。
 (1)ネットワーク、システムを構成する全ての機器を集中管理する制御装置が最適経路を計算し、通信経路をネットワーク機器に設定する。
 (2)ネットワークの輻輳状況、サーバやアプリケーションの負荷状況を判断し、最適な経路を決定する。
 (3)現状だけでなく、過去の輻輳状況、負荷状況から未来に起こり得る事象を判断し、最適経路を決定する。
 本発明に係るネットワークシステムは、ネットワーク機器と、該ネットワーク機器からパケットの問い合わせを受けた際、該パケットをフローとして一律に制御するためのルールと動作とが定義されたエントリを、該ネットワーク機器のフローテーブルに設定する制御装置と、同一グループのサーバ群を形成し、該サーバ群に割り当てられた仮想アドレスを共有するサーバ機器とを含む。該制御装置は、該ネットワーク機器及び該サーバ機器の各々からパフォーマンスデータを収集し蓄積するデータ収集部と、該サーバ群を形成するサーバ機器の中から、該サーバ機器のパフォーマンスデータを基に、最適なサーバ機器を選択するサーバ選択部と、該ネットワーク機器のパフォーマンスデータを基に、該最適なサーバ機器に到達するための最適経路を決定する経路計算部と、該最適経路上のネットワーク機器に、該最適経路上の次段のノードに該仮想アドレス宛のパケットを転送する旨のエントリを登録するフロー制御部とを具備する。
 本発明に係る最適経路制御方法は、制御装置として使用される計算機により実施される。該最適経路制御方法では、制御装置において、管理対象となるネットワーク機器と通信する。また、同一グループのサーバ群を形成し該サーバ群に割り当てられた仮想アドレスを共有するサーバ機器と通信する。また、該ネットワーク機器及び該サーバ機器の各々からパフォーマンスデータを収集し蓄積する。また、該サーバ群を形成するサーバ機器の中から、該サーバ機器のパフォーマンスデータを基に、最適なサーバ機器を選択する。また、該ネットワーク機器のパフォーマンスデータを基に、該最適なサーバ機器に到達するための最適経路を決定する。また、該最適経路上のネットワーク機器に、該パケットをフローとして一律に制御するためのルールと該最適経路上の次段のノードに該仮想アドレス宛のパケットを転送する旨の動作とが定義されたエントリを登録する。
 本発明に係るプログラムは、上記の最適経路制御方法における処理を、計算機に実行させるためのプログラムである。なお、本発明に係るプログラムは、記憶装置や記憶媒体に格納することが可能である。
 これにより、ネットワーク機器、サーバ機器を含めたアプリケーションレベル、サービスレベルで最適な経路を選択することが可能となる。また、過去のデータからの予測により、未来に起こり得る問題回避を考慮した経路を選択できる。結果として、各レイヤで個別最適するのではなく、システム全体として最適化された経路制御が可能となる。
本発明に係るネットワークシステムの構成例を示す図である。 本発明に係るネットワークシステムの実施例を説明するための図である。 NW機器テーブルの例を説明するための図である。 サーバ機器テーブルの例を説明するための図である。 最適経路制御処理における動作の第1の例を説明するためのフローチャートである。 最適経路制御処理における動作の第2の例を説明するためのフローチャートである。
 <前提>
 本発明に係るネットワークシステムでは、外部のコントローラ(コントロールプレーン)からスイッチや端末等(ユーザプレーン)を制御するCU(C:コントロールプレーン/U:ユーザプレーン)分離型ネットワークを対象としている。CU分離型ネットワークの一例として、コントローラからスイッチを制御してネットワークの経路制御を行うオープンフロー(OpenFlow)技術を利用したオープンフローネットワークが挙げられる。なお、オープンフローネットワークは一例に過ぎない。
 [オープンフローネットワークの説明]
 オープンフローネットワークでは、OFC(OpenFlow Controller)等のコントローラが、OFS(OpenFlow Switch)等のスイッチのフローテーブルを操作することによりスイッチの挙動を制御する。コントローラとスイッチの間は、コントローラがオープンフロープロトコルに準拠した制御メッセージを用いてスイッチを制御するためのセキュアチャネル(Secure Channel)により接続されている。
 オープンフローネットワークにおけるスイッチとは、オープンフローネットワークを形成し、コントローラの制御下にあるエッジスイッチ及びコアスイッチのことである。オープンフローネットワークにおける入力側エッジスイッチでのパケットの受信から出力側エッジスイッチでの送信まで同じ経路を流れる一連のパケットをフロー(Flow)と呼ぶ。パケットは、フレームと読み替えても良い。
 フローテーブルとは、所定のマッチ条件(ルール)に適合するパケット(通信データ)に対して行うべき所定の処理(アクション)を定義したエントリ(entry)が登録されたテーブルである。
 エントリのルールは、パケットの各プロトコル階層のヘッダ領域に含まれる宛先アドレス(Destination Address)、送信元アドレス(Source Address)、宛先ポート(Destination Port)、送信元ポート(Source Port)のいずれか又は全てを用いた様々な組み合わせにより定義され、区別可能である。なお、上記のアドレスには、MACアドレス(Media Access Control Address)やIPアドレス(Internet Protocol Address)を含むものとする。また、上記に加えて、入口ポート(Ingress Port)の情報も、エントリのルールとして使用可能である。
 エントリのアクションは、「特定のポートに出力する」、「廃棄する」、「ヘッダを書き換える」といった動作を示す。例えば、スイッチは、エントリのアクションに出力ポートの識別情報(出力ポート番号等)が示されていれば、これに該当するポートにパケットを出力し、出力ポートの識別情報が示されていなければ、パケットを破棄する。或いは、スイッチは、エントリのアクションにヘッダ情報が示されていれば、当該ヘッダ情報に基づいてパケットのヘッダを書き換える。
 オープンフローネットワークにおけるスイッチは、エントリのルールに適合するパケット群(パケット系列)に対して、エントリのアクションを実行する。
 オープンフロー技術の詳細については、非特許文献1に記載されている。
 <実施形態>
 以下に、本発明の実施形態について添付図面を参照して説明する。
 [全体構成]
 図1に示すように、本発明に係るネットワークシステムは、制御装置10と、ネットワーク機器20(20-i、i=1~n:nは台数)と、サーバ機器30(30-j、j=1~s:sは台数)と、クライアント40を含む。
 制御装置10は、オープンフローネットワークにおけるコントローラに相当する。制御装置10は、管理対象機器の集中管理を行い、全ての管理対象機器のパフォーマンスデータを収集する。ここでは、制御装置10は、自身が管理する全てのネットワーク機器20(20-i、i=1~n)及びサーバ機器30(30-j、j=1~s)等、該ネットワークシステムを構成する全ての機器を管理対象機器として集中管理する。この場合、制御装置10は、ネットワーク機器20(20-i、i=1~n)の各々とセキュアチャネル(Secure Channel)で接続されているものとする。
 ネットワーク機器20(20-i、i=1~n)の各々は、オープンフローネットワークにおけるスイッチに相当する。ネットワーク機器20(20-i、i=1~n)の各々は、制御装置10の指示によって通信を行う。具体的には、ネットワーク機器20(20-i、i=1~n)は、制御装置10により設定されたフローテーブルに従ってパケットを転送する。ネットワーク機器20(20-i、i=1~n)は、通常1台以上でネットワークを構成する。
 サーバ機器30(30-j、j=1~s)は、エンドユーザ、クライアントへアプリケーション等のサービスを提供する。サーバ機器30(30-j、j=1~s)は、同じサービス(例えば、Webサービス等)を提供するサーバ毎にグループを形成する。すなわち、サーバ機器30(30-j、j=1~s)は、いずれかのグループを形成するサーバ群に属する。サーバ群は、グループの数だけ存在する。サーバ機器30(30-j、j=1~s)は、実IPアドレスの他に、同じサーバ群に属する全てのサーバ機器30(30-j、j=1~s)に共通の仮想IPアドレスが割り当てられる。この仮想IPアドレスは、クライアントからの要求を負荷分散する際、サーバ群を1台のサーバ機器に見せかけるために必要となる。すなわち、この仮想IPアドレスは、1つのサーバ群に1つだけ割り当てられ、そのサーバ群に属する全てのサーバ機器30(30-j、j=1~s)が共有することになる。なお、実際には、仮想IPアドレスの代わりに、仮想MACアドレス等を使用しても良い。
 クライアント40は、ネットワーク機器20(20-i、i=1~n)により形成される経路を経由して、サーバ機器30(30-j、j=1~s)と通信する。
 ネットワーク機器20(20-i、i=1~n)、サーバ機器30(30-j、j=1~s)、及びクライアント40は、ネットワーク上のノードである。制御装置10も、ネットワーク上に存在する場合は、ノードの1つとなる。
 [機能詳細]
 次に、各装置の機能詳細について説明する。
 [制御装置]
 制御装置10は、パフォーマンス管理部11と、パフォーマンスデータ格納部12と、経路計算部13と、経路情報格納部14と、フロー制御部15と、フローテーブル格納部16を備える。
 パフォーマンス管理部11は、自身が管理する全てのネットワーク機器20(20-i、i=1~n)及びサーバ機器30(30-j、j=1~s)からのトポロジ情報、及び、CPU使用率、NW使用率(回線使用率)等のパフォーマンスデータを収集する。なお、NWは、ネットワーク(Network)を示す。
 パフォーマンスデータ格納部12は、自身が管理する全てのネットワーク機器20(20-i、i=1~n)及びサーバ機器30(30-j、j=1~s)から収集したトポロジ情報(ネットワーク機器、サーバ機器の接続状況、IPアドレス、MACアドレス)、CPU使用率、NW使用率等のパフォーマンスデータを蓄積する。
 経路計算部13は、パフォーマンスデータ格納部12から読み出したトポロジ情報等を基に、最適経路を計算する。なお、経路計算部13は、パフォーマンス管理部11から直接トポロジ情報等を受け取っても良い。
 経路情報格納部14は、経路計算部13での計算結果である経路情報を蓄積する。
 フロー制御部15は、経路情報格納部14から読み出した経路情報を基に、ネットワーク機器20(20-i、i=1~n)の各々に対するエントリを定義し、自身のフローテーブル、及びネットワーク機器20(20-i、i=1~n)の各々のフローテーブルへエントリの登録(設定)を行う。フロー制御部15は、ネットワーク機器20(20-i、i=1~n)の各々のフローテーブルへエントリの登録を行う際、オープンフロープロトコルに準拠したエントリ登録用の制御メッセージを送信する。
 フローテーブル格納部16は、制御装置10が管理する全てのネットワーク機器20(20-i、i=1~n)に対するエントリが登録されたフローテーブルを保持する。
 [ネットワーク機器]
 ネットワーク機器20(20-i、i=1~n)は、パフォーマンス管理部21と、フロー制御部22と、フローテーブル格納部23と、パケット制御部24を備える。
 パフォーマンス管理部21は、NW使用率、CPU使用率、自身のIPアドレス、MACアドレスを制御装置へ伝達する。
 フロー制御部22は、制御装置10へフローのエントリの要求・受信を行い、フローテーブルへのエントリの登録を行う。なお、フロー制御部22は、制御装置10から事前に(Proactive型で)フローテーブルにエントリが登録される場合、エントリの要求を行わなくても良い。フロー制御部22は、制御装置10からオープンフロープロトコルに準拠したエントリ登録用の制御メッセージを受信した際、該制御メッセージに従ってフローテーブルへのエントリの登録を行う。
 フローテーブル格納部23は、該ネットワーク機器に対するエントリが登録されたフローテーブルを保持する。すなわち、フローテーブル格納部23は、ネットワーク機器毎の(個別の)フローテーブルを保持する。
 パケット制御部24は、フローテーブルに登録されたエントリのルールに該当するパケットに対し、該エントリに定義されたアクションに従って、該パケットの転送・廃棄等の処理を行う。また、パケット制御部24は、フローテーブルに登録されたエントリのルールに該当しないパケットが到着した場合、フロー制御部22に対し、制御装置10へフローのエントリの要求を行うように依頼しても良い。例えば、パケット制御部24は、フロー制御部22に対し、不明なパケットを渡す。フロー制御部22は、フローのエントリの要求として、該パケット(不明なパケット)を制御装置10に問い合わせる。
 [サーバ機器]
 サーバ機器30(30-j、j=1~s)は、パフォーマンス管理部31と、パケット制御部32と、アプリケーション実行部33を備える。
 パフォーマンス管理部31は、CPU使用率、自身の実IPアドレス、仮想IPアドレス、MACアドレスを制御装置10に伝達する。ここでは、パフォーマンス管理部31は、パケット制御部32及びアプリケーション実行部33の動作状況や性能も監視する。
 パケット制御部32は、パケットの転送・廃棄を行う。ここでは、パケット制御部32は、受信パケットをアプリケーション実行部33に転送、又は廃棄する。また、アプリケーション実行部33から受け取ったパケットを、送信先へ転送、又は廃棄する。
 アプリケーション実行部33は、パケット制御部32から転送されたパケットに応じて、クライアント40へ提供するサービスアプリケーションを実行し、パケット制御部32経由でクライアント40に応答のパケットを送信する。
 [ハードウェアの例示]
 制御装置10、サーバ機器30(30-j、j=1~s)、及びクライアント40の例として、PC(パソコン)、アプライアンス(appliance)、シンクライアント端末/サーバ、ワークステーション、メインフレーム、スーパーコンピュータ等の計算機を想定している。また、制御装置10、サーバ機器30(30-j、j=1~s)、及びクライアント40は、計算機に搭載される拡張ボードや、物理マシン上に構築された仮想マシン(VM:Virtual Machine)でも良い。
 なお、クライアント40は、携帯電話機、スマートフォン、スマートブック、カーナビ(カーナビゲーションシステム)、携帯型ゲーム機、家庭用ゲーム機、携帯型音楽プレーヤー、ハンディターミナル、ガジェット(電子機器)、双方向テレビ、デジタルチューナー、デジタルレコーダー、情報家電(information home appliance)、OA(Office Automation)機器等でも良い。また、クライアント40は、車両や船舶、航空機等の移動体に搭載されていても良い。
 ネットワーク機器20(20-i、i=1~n)の例として、ネットワークスイッチ(network switch)、ルータ(router)、プロキシ(proxy)、ゲートウェイ(gateway)、ファイアウォール(firewall)、ロードバランサ(load balancer:負荷分散装置)、帯域制御装置(packet shaper)、セキュリティ監視制御装置(SCADA:Supervisory Control And Data Acquisition)、ゲートキーパー(gatekeeper)、基地局(base station)、アクセスポイント(AP:Access Point)、通信衛星(CS:Communication Satellite)、或いは、複数の通信ポートを有する計算機等が考えられる。また、ネットワーク機器20(20-i、i=1~n)は、仮想スイッチでも良い。
 図示しないが、制御装置10、ネットワーク機器20(20-i、i=1~n)、サーバ機器30(30-j、j=1~s)、及びクライアント40の各々は、プログラムに基づいて駆動し所定の処理を実行するプロセッサと、当該プログラムや各種データを記憶するメモリと、ネットワークに接続するための通信用インターフェースによって実現される。
 上記のプロセッサの例として、CPU(Central Processing Unit)、ネットワークプロセッサ(NP:Network Processor)、マイクロプロセッサ(microprocessor)、マイクロコントローラ、或いは、専用の機能を有する半導体集積回路(IC:Integrated Circuit)等が考えられる。
 上記のメモリの例として、RAM(Random Access Memory)、ROM(Read Only Memory)、EEPROM(Electrically Erasable and Programmable Read Only Memory)やフラッシュメモリ等の半導体記憶装置、HDD(Hard Disk Drive)やSSD(Solid State Drive)等の補助記憶装置、又は、DVD(Digital Versatile Disk)等のリムーバブルディスクや、SDメモリカード(Secure Digital memory card)等の記憶媒体(メディア)等が考えられる。また、バッファ(buffer)やレジスタ(register)でも良い。或いは、DAS(Direct Attached Storage)、FC-SAN(Fibre Channel - Storage Area Network)、NAS(Network Attached Storage)、IP-SAN(IP - Storage Area Network)等を用いたストレージ装置でも良い。
 なお、上記のプロセッサ及び上記のメモリは、一体化していても良い。例えば、近年では、マイコン等の1チップ化が進んでいる。従って、電子機器等に搭載される1チップマイコンが、上記のプロセッサ及び上記のメモリを備えている事例が考えられる。
 上記のインターフェースの例として、ネットワーク通信に対応した基板(マザーボード、I/Oボード)やチップ等の半導体集積回路、NIC(Network Interface Card)等のネットワークアダプタや同様の拡張カード、アンテナ等の通信装置、接続口(コネクタ)等の通信ポート等が考えられる。
 また、ネットワークの例として、インターネット、LAN(Local Area Network)、無線LAN(Wireless LAN)、WAN(Wide Area Network)、バックボーン(Backbone)、ケーブルテレビ(CATV)回線、固定電話網、携帯電話網、WiMAX(IEEE 802.16a)、3G(3rd Generation)、専用線(lease line)、IrDA(Infrared Data Association)、Bluetooth(登録商標)、シリアル通信回線、データバス等が考えられる。
 なお、制御装置10、ネットワーク機器20(20-i、i=1~n)、サーバ機器30(30-j、j=1~s)、及びクライアント40の各々の内部の構成要素は、モジュール(module)、コンポーネント(component)、或いは専用デバイス、又はこれらの起動(呼出)プログラムでも良い。
 但し、実際には、これらの例に限定されない。
 [最適経路制御処理]
 図2~図6を参照して、本発明に係る最適経路制御処理について説明する。
 [実施例の構成]
 まず、図2を参照して、本発明に係るネットワークシステムの実施例の構成について説明する。
 本実施例におけるネットワークシステムは、制御装置10と、ネットワーク機器20(20-i、i=1~6)と、サーバ機器30(30-j、j=1~4)と、クライアント40を含むものとする。
 [各装置の識別情報]
 なお、ネットワーク機器20-1の識別情報を「NW機器1」とする。ネットワーク機器20-2の識別情報を「NW機器2」とする。ネットワーク機器20-3の識別情報を「NW機器3」とする。ネットワーク機器20-4の識別情報を「NW機器4」とする。ネットワーク機器20-5の識別情報を「NW機器5」とする。ネットワーク機器20-6の識別情報を「NW機器6」とする。
 また、サーバ機器30-1の識別情報を「サーバA」とする。サーバ機器30-2の識別情報を「サーバB」とする。サーバ機器30-3の識別情報を「サーバC」とする。サーバ機器30-4の識別情報を「サーバD」とする。
 クライアント40の識別情報を「Client A」とする。
 [サーバが属するサーバ群]
 サーバA(サーバ機器30-1)及びサーバC(サーバ機器30-3)は、サーバ群1に属する。サーバ群1には、仮想IPアドレス「XXX」が割り当てられている。すなわち、サーバA(サーバ機器30-1)及びサーバC(サーバ機器30-3)は、仮想IPアドレス「XXX」を共有する。
 サーバB(サーバ機器30-2)及びサーバD(サーバ機器30-4)は、サーバ群2に属する。サーバ群2には、仮想IPアドレス「YYY」が割り当てられている。すなわち、サーバB(サーバ機器30-2)及びサーバD(サーバ機器30-4)は、仮想IPアドレス「YYY」を共有する。
 [各装置の接続関係]
 クライアント40は、NW機器1(ネットワーク機器20-1)と相互に接続されている。NW機器1(ネットワーク機器20-1)は、NW機器2(ネットワーク機器20-2)、NW機器3(ネットワーク機器20-3)、及びNW機器4(ネットワーク機器20-4)と相互に接続されている。NW機器2(ネットワーク機器20-2)は、NW機器3(ネットワーク機器20-3)、及びNW機器4(ネットワーク機器20-4)と相互に接続されている。NW機器3(ネットワーク機器20-3)、及びNW機器4(ネットワーク機器20-4)は、いずれもNW機器5(ネットワーク機器20-5)、及びNW機器6(ネットワーク機器20-6)と相互に接続されている。NW機器5(ネットワーク機器20-5)は、NW機器6(ネットワーク機器20-6)と相互に接続されている。また、NW機器5(ネットワーク機器20-5)、及びNW機器6(ネットワーク機器20-6)は、いずれもサーバA(サーバ機器30-1)、サーバB(サーバ機器30-2)、サーバC(サーバ機器30-3)、及びサーバD(サーバ機器30-4)の各々と相互に接続されている。
 なお、制御装置10は、ネットワーク機器20(20-i、i=1~6)の各々とセキュアチャネル(Secure Channel)で接続されているものとする。
 また、制御装置10は、全てのネットワーク機器20(20-i、i=1~6)、及びサーバ機器30(30-j、j=1~4)の各々から、パフォーマンスデータを収集済みとする。
 [パフォーマンスデータのテーブル]
 図3、図4を参照して、パフォーマンスデータのテーブル例について説明する。
 制御装置10のパフォーマンスデータ格納部12は、パフォーマンスデータとして、NW機器テーブル121と、サーバ機器テーブル122を有する。
 NW機器テーブル121は、ネットワーク機器20(20-i、i=1~6)の使用率を管理するためのテーブルである。
 サーバ機器テーブル122は、サーバ機器30(30-j、j=1~4)の使用率を管理するためのテーブルである。
 [NW機器テーブルの詳細]
 図3を参照して、NW機器テーブル121の詳細について説明する。
 NW機器テーブル121は、「NW機器」と、「NW(Current)」と、「NW(Average)」という領域を有する。
 「NW機器」は、ネットワーク機器20(20-i、i=1~6)の各々の識別情報を格納するための領域である。
 「NW(Current)」は、ネットワーク機器20(20-i、i=1~6)の現在(最新)のNW使用率を示す情報を格納するための領域である。
 「NW(Average)」は、ネットワーク機器20(20-i、i=1~6)のNW使用率を示す情報の直近の単位時間当たりの平均値(NW平均使用率)を格納するための領域である。
 [サーバ機器テーブルの詳細]
 図4を参照して、サーバ機器テーブル122の詳細について説明する。
 サーバ機器テーブル122は、「サーバ」と、「CPU(Current)」と、「CPU(Average)」という領域を有する。
 「サーバ」は、サーバ機器30(30-j、j=1~4)の各々の識別情報を格納するための領域である。
 「CPU(Current)」は、サーバ機器30(30-j、j=1~4)の現在(最新)のCPU使用率を示す情報を格納するための領域である。
 「CPU(Average)」は、サーバ機器30(30-j、j=1~4)のCPU使用率を示す情報の直近の単位時間当たりの平均値(CPU平均使用率)を格納するための領域である。
 [最適経路制御処理における動作1]
 図5を参照して、最適条件として、「CPU使用率」と「NW使用率」が最も小さい経路を選択する場合の動作について説明する。
 ここでは、図2に示されるネットワークシステムの構成を前提とする。
 図2に示される構成において、「Client A」(クライアント40)から仮想IPアドレス「XXX」へアクセスする場合、「Client A」(クライアント40)から仮想IPアドレス「XXX」宛に通信が発生する。
 (1)ステップS101
 「Client A」(クライアント40)は、仮想IPアドレス「XXX」宛にパケットを送信する。
 (2)ステップS102
 NW機器1(ネットワーク機器20-1)は、入力側エッジスイッチ(Ingress)として「Client A」(クライアント40)に接続されている。したがって、NW機器1(ネットワーク機器20-1)のパケット制御部24は、「Client A」(クライアント40)から仮想IPアドレス「XXX」宛のパケットを受信し、自身のフローテーブル格納部23内のフローテーブルに登録されているエントリの中に、受信パケットに該当するエントリが存在するか確認する。パケット制御部24は、該エントリが存在する場合、該エントリに定義されたアクションに従って、仮想IPアドレス「XXX」宛のパケットを転送する。
 (3)ステップS103
 NW機器1(ネットワーク機器20-1)は、仮想IPアドレス「XXX」宛のパケットを今回初めて受信したため、自身のフローテーブル格納部23内のフローテーブルに登録されているエントリの中に、受信パケットに該当するエントリが存在しない。したがって、NW機器1(ネットワーク機器20-1)のフロー制御部22は、制御装置10に対し、「XXX」宛のパケットのフローのエントリを要求する。
 (4)ステップS104
 制御装置10は、「XXX」宛のパケットのフローのエントリを要求された場合、「XXX」宛のパケットの転送先として、サーバA(サーバ機器30-1)宛、又はサーバC(サーバ機器30-3)宛のどちらかを選択することになる。このとき、制御装置10の経路計算部13は、図4に示されるサーバ機器テーブル122を参照し、サーバA(サーバ機器30-1)のCPU使用率が「20%」、サーバC(サーバ機器30-3)のCPU使用率が「40%」であるため、最もCPU使用率の低いサーバA(サーバ機器30-1)を選択する。
 (5)ステップS105
 また、経路計算部13は、図3に示されるNW機器テーブル121を参照し、最もNW使用率の低い経路で転送することを決定する。ここでは、経路計算部13は、NW機器1(ネットワーク機器20-3)の次段のノードとして、NW機器3(ネットワーク機器20-3)のNW使用率が「20%」、NW機器4(ネットワーク機器20-4)のNW使用率が「15%」であるため、NW機器4(ネットワーク機器20-4)を次段のノードとする。また、NW機器4(ネットワーク機器20-4)の次段のノードとして、NW機器5(ネットワーク機器20-5)のNW使用率が「20%」、NW機器6(ネットワーク機器20-6)のNW使用率が「25%」であるため、NW機器5(ネットワーク機器20-5)を次段のノードとする。これにより、経路計算部13は、最終的に、最もNW使用率の低い経路である「NW機器1→NW機器4→NW機器5→サーバA」という経路で転送することを決定し、この経路情報を経路情報格納部14に蓄積する。すなわち、最適経路は、「NW機器1(ネットワーク機器20-1)→NW機器4(ネットワーク機器20-4)→NW機器5(ネットワーク機器20-5)→サーバA(サーバ機器30-1)」ということになる。
 (6)ステップS106
 制御装置10のフロー制御部15は、経路情報格納部14から読み出した最適経路の経路情報を基に、最適経路上のネットワーク機器の各々に対するエントリを定義し、自身のフローテーブル格納部16内のフローテーブル、及び最適経路上のネットワーク機器の各々のフローテーブルへエントリの登録を行う。ここでは、最適経路上のネットワーク機器は、NW機器1(ネットワーク機器20-1)、NW機器4(ネットワーク機器20-4)、及びNW機器5(ネットワーク機器20-5)である。フロー制御部15は、NW機器1(ネットワーク機器20-1)、NW機器4(ネットワーク機器20-4)、及びNW機器5(ネットワーク機器20-5)のフローテーブルへ、仮想IPアドレス「XXX」宛のパケットを最適経路上の次段のノードに転送するためのエントリの登録を行う。
 (7)ステップS107
 最適経路上のネットワーク機器の各々のフロー制御部22は、制御装置10からのエントリ登録処理に応じて、自身のフローテーブル格納部23内のフローテーブルに、仮想IPアドレス「XXX」宛のパケットを最適経路上の次段のノードに転送するためのエントリを登録する。すなわち、NW機器1(ネットワーク機器20-1)、NW機器4(ネットワーク機器20-4)、及びNW機器5(ネットワーク機器20-5)は、制御装置10からのエントリ登録処理に応じて、自身のフローテーブル格納部23内のフローテーブルに、仮想IPアドレス「XXX」宛のパケットを最適経路上の次段のノードに転送するためのエントリを登録する。
 (8)ステップS108
 NW機器1(ネットワーク機器20-1)に辿り着いたパケットは、最もNW使用率の低い経路である「NW機器1→NW機器4→NW機器5→サーバA」という経路で転送される。すなわち、NW機器1(ネットワーク機器20-1)は、自身のフローテーブルに登録されたエントリに従い、仮想IPアドレス「XXX」宛のパケットをNW機器4(ネットワーク機器20-4)に転送する。NW機器4(ネットワーク機器20-4)は、自身のフローテーブルに登録されたエントリに従い、仮想IPアドレス「XXX」宛のパケットをNW機器5(ネットワーク機器20-5)に転送する。NW機器5(ネットワーク機器20-5)は、自身のフローテーブルに登録されたエントリに従い、仮想IPアドレス「XXX」宛のパケットをサーバA(サーバ機器30-1)に転送する。
 [最適経路制御処理における動作2]
 図6を参照して、最適条件として、「CPU平均使用率」、「ネットワーク平均使用率」が最も小さい経路を選択する場合の動作について説明する。
 ここでは、図2に示されるネットワークシステムの構成を前提とする。図2に示される構成において、「Client A」(クライアント40)から仮想IPアドレス「YYY」へアクセスする場合、「Client A」(クライアント40)から仮想IPアドレス「YYY」宛に通信が発生する。
 (1)ステップS201
 「Client A」(クライアント40)は、仮想IPアドレス「YYY」宛にパケットを送信する。
 (2)ステップS202
 NW機器1(ネットワーク機器20-1)は、入力側エッジスイッチ(Ingress)として「Client A」(クライアント40)に接続されている。したがって、NW機器1(ネットワーク機器20-1)のパケット制御部24は、「Client A」(クライアント40)から仮想IPアドレス「YYY」宛のパケットを受信し、自身のフローテーブル格納部23内のフローテーブルに登録されているエントリの中に、受信パケットに該当するエントリが存在するか確認する。パケット制御部24は、該エントリが存在する場合、該エントリに定義されたアクションに従って、仮想IPアドレス「YYY」宛のパケットを転送する。
 (3)ステップS203
 NW機器1(ネットワーク機器20-1)は、仮想IPアドレス「YYY」宛のパケットを今回初めて受信したため、自身のフローテーブル格納部23内のフローテーブルに登録されているエントリの中に、受信パケットに該当するエントリが存在しない。したがって、NW機器1(ネットワーク機器20-1)のフロー制御部22は、制御装置10に対し、「YYY」宛のパケットのフローのエントリを要求する。
 (4)ステップS204
 制御装置10は、「YYY」宛のパケットのフローのエントリを要求された場合、「YYY」宛のパケットの転送先として、サーバB(サーバ機器30-2)宛、又はサーバD(サーバ機器30-4)宛のどちらかを選択することになる。このとき、制御装置10の経路計算部13は、図4に示されるサーバ機器テーブル122を参照し、サーバB(サーバ機器30-2)のCPU平均使用率が「30%」、サーバD(サーバ機器30-4)のCPU平均使用率が「15%」であるため、最もCPU平均使用率の低いサーバD(サーバ機器30-4)を選択する。
 (5)ステップS205
 また、経路計算部13は、図3に示されるNW機器テーブル121を参照し、最もNW平均使用率の低い経路で転送することを決定する。ここでは、経路計算部13は、NW機器1(ネットワーク機器20-3)の次段のノードとして、NW機器3(ネットワーク機器20-3)のNW平均使用率が「60%」、NW機器4(ネットワーク機器20-4)のNW平均使用率が「60%」であるため、どちらを次段のノードとしても同じであるが、優先順位又はNW機器1(ネットワーク機器20-3)との距離等を考慮して、NW機器3(ネットワーク機器20-3)を次段のノードとする。また、NW機器3(ネットワーク機器20-3)の次段のノードとして、NW機器5(ネットワーク機器20-5)のNW平均使用率が「35%」、NW機器6(ネットワーク機器20-6)のNW平均使用率が「10%」であるため、NW機器6(ネットワーク機器20-6)を次段のノードとする。これにより、経路計算部13は、最終的に、最もNW平均使用率の低い「NW機器1→NW機器3→NW機器6→サーバD」という経路で転送することを決定し、この経路情報を経路情報格納部14に蓄積する。すなわち、最適経路は、「NW機器1(ネットワーク機器20-1)→NW機器3(ネットワーク機器20-3)→NW機器6(ネットワーク機器20-6)→サーバD(サーバ機器30-4)」ということになる。
 (6)ステップS206
 制御装置10のフロー制御部15は、経路情報格納部14から読み出した最適経路の経路情報を基に、最適経路上のネットワーク機器の各々に対するエントリを定義し、自身のフローテーブル格納部16内のフローテーブル、及び最適経路上のネットワーク機器の各々のフローテーブルへエントリの登録を行う。ここでは、最適経路上のネットワーク機器は、NW機器1(ネットワーク機器20-1)、NW機器3(ネットワーク機器20-3)、及びNW機器6(ネットワーク機器20-6)である。フロー制御部15は、NW機器1(ネットワーク機器20-1)、NW機器3(ネットワーク機器20-3)、及びNW機器6(ネットワーク機器20-6)のフローテーブルへ、仮想IPアドレス「YYY」宛のパケットを最適経路上の次段のノードに転送するためのエントリの登録を行う。
 (7)ステップS207
 最適経路上のネットワーク機器の各々のフロー制御部22は、制御装置10からのエントリ登録処理に応じて、自身のフローテーブル格納部23内のフローテーブルに、仮想IPアドレス「YYY」宛のパケットを最適経路上の次段のノードに転送するためのエントリを登録する。すなわち、NW機器1(ネットワーク機器20-1)、NW機器3(ネットワーク機器20-3)、及びNW機器6(ネットワーク機器20-6)は、制御装置10からのエントリ登録処理に応じて、自身のフローテーブル格納部23内のフローテーブルに、仮想IPアドレス「YYY」宛のパケットを最適経路上の次段のノードに転送するためのエントリを登録する。
 (8)ステップS208
 NW機器1(ネットワーク機器20-1)に辿り着いたパケットは、最もNW平均使用率の低い「NW機器1→NW機器3→NW機器6→サーバD」という経路で転送される。すなわち、NW機器1(ネットワーク機器20-1)は、自身のフローテーブルに登録されたエントリに従い、仮想IPアドレス「YYY」宛のパケットをNW機器3(ネットワーク機器20-3)に転送する。NW機器3(ネットワーク機器20-3)は、自身のフローテーブルに登録されたエントリに従い、仮想IPアドレス「YYY」宛のパケットをNW機器6(ネットワーク機器20-6)に転送する。NW機器6(ネットワーク機器20-6)は、自身のフローテーブルに登録されたエントリに従い、仮想IPアドレス「YYY」宛のパケットをサーバD(サーバ機器30-4)に転送する。
 [補足]
 最適経路制御処理における動作として、図5に示される動作1と、図6に示される動作2のどちらを採用するかは、仮想IPアドレスの宛先(アクセス先)のサーバ機器がクライアントに提供するサービスの内容に応じて変更・決定するようにしても良い。例えば、制御装置10の経路計算部13は、仮想IPアドレスの宛先(アクセス先)のサーバ機器がクライアントに提供するサービスの内容に応じて、図5に示される動作1と、図6に示される動作2のどちらを採用するか変更・決定する。
 また、使用するパフォーマンスデータの内容は、自由に組み替えても使用しても良い。例えば、「CPU平均使用率」を基に、サーバ群から最適なサーバを選択し、「ネットワーク使用率」を基に、最適経路を決定しても良い。或いは、「CPU使用率」と「CPU平均使用率」の両方を参照して、サーバ群から最適なサーバを選択し、「ネットワーク使用率」と「ネットワーク平均使用率」の両方を参照して、最適経路を決定しても良い。例えば、制御装置10の経路計算部13は、仮想IPアドレスの宛先(アクセス先)のサーバ機器がクライアントに提供するサービスの内容に応じて、パフォーマンスデータ格納部12に蓄積されたパフォーマンスデータのうち、どのデータを使用するか決定する。このとき、経路計算部13は、どのデータを使用するかを定義した最適条件を変更・決定することになる。
 なお、「CPU使用率」、「CPU平均使用率」、「NW使用率」、「NW平均使用率」は、パフォーマンスデータの一例に過ぎない。実際には、これらのデータに限定されない。例えば、「メモリ使用率」、「CPUの性能(種別)」、「データ転送速度」、「利用ユーザ数」等でも良い。
 [他の実施例]
 オープンフロー技術において、ネットワーク機器のフローテーブルにエントリを登録する方式は、大きく「Proactive型」と、「Reactive型」の2つの方式に分けられる。
 「Proactive型」では、制御装置が「事前に(データ通信が始まる前に)」所定のパケット群(フロー)の経路(パス)を計算し、ネットワーク機器のフローテーブルにエントリを登録する。すなわち、ここでいう「Proactive型」とは、制御装置が自発的に行う「事前のエントリ登録」を指す。
 「Reactive型」では、制御装置が「ネットワーク機器から1stパケット(該当エントリがない新規のパケット)についての問い合わせを受けた際に」当該パケット群(フロー)の経路を計算し、ネットワーク機器のフローテーブルにエントリを登録する。すなわち、ここでいう「Reactive型」とは、実際のデータ通信時に、制御装置がネットワーク機器からの問い合わせに応じて行う「リアルタイムのエントリ登録」を指す。
 オープンフローネットワークでは、基本的に、制御装置がネットワーク機器から1stパケットについての問い合わせを受けた際に当該受信パケットに関するエントリを登録する「Reactive型」が中心となっている。
 本発明では、「Reactive型」を例に説明している。しかし、実際には、「Proactive型」を採用しても良い。例えば、今後到着が予想されるパケットの通信開始前に、制御装置が、ネットワーク機器及びサーバ機器からトポロジ情報及びパフォーマンスデータを収集し、現状の(又は過去の)トポロジ情報及びパフォーマンスデータに基づいて、今後到着が予想されるパケットの最適経路を計算し、該フローのエントリを、該当するネットワーク機器のフローテーブルに事前に登録しておくことが考えられる。この場合、制御装置は、ネットワーク機器からパケットの問い合わせを受けることなく、ネットワーク機器のフローテーブルに、フローのエントリを登録することができる。
 [本発明の特徴]
 オープンフロー(OpenFlow)等を用いた集中管理型ネットワークシステムでは、柔軟なネットワーク制御により、ネットワークの運用性、効率性の向上が期待されている。
 本発明では、従来の通信経路を集中管理するネットワークシステムにおいて、ネットワーク機器の負荷状況、サーバ機器の負荷状況、アプリケーションの負荷状況も踏まえた上で最適経路を選択することを可能とする。また、最適経路の選択において、現在(最新)の情報だけでなく、過去の傾向から予測し、最適経路を選択可能とする。
 本発明では、従来の課題を以下の方法により解決する。
 (1)ネットワーク、サーバ等システムを構成する全ての機器を集中管理する制御装置が最適経路を計算し、通信経路をネットワーク機器に設定する。
 (2)ネットワークの輻輳状況、サーバやアプリケーションの負荷状況を判断し、最適な経路を決定する。
 (3)現状だけでなく、過去の輻輳状況、負荷状況から未来に起こり得る事象を判断し、最適経路を決定する。
 上記解決方法により、ネットワーク機器、サーバ機器を含めたアプリケーションレベル、サービスレベルで最適な経路を選択することが可能となる。また、過去のデータからの予測により、未来に起こり得る問題回避を考慮した経路を選択できる。結果として、各レイヤで個別最適するのではなく、システム全体として最適化された経路制御を可能とする。
 従来技術では、負荷状況に応じて経路を変更することができず、あふれたパケット廃棄されるか、又は、低優先のパケットは遅延が発生する等、大量のデータ転送に時間を要してしまうという問題があった。しかし、本発明では、最適条件として現在(最新)のCPU使用率、NW使用率を選択した場合は、短時間で多くのデータを伝送したいアプリケーション等(例えばファイル転送)に効果を発揮する。
 従来技術では、瞬間的に発生した他の通信に影響を受け、遅延等の問題が発生する場合があった。しかし、本発明では、最適条件としてCPU及びNWの平均使用率を選択した場合、データ量は少ないが、長時間通信が継続するアプリケーション等(例えばIP電話)に効果を発揮する。平均使用率の低い経路を選択できれば、確率的に本問題を回避しやすい。
 また、従来技術では、各ネットワーク機器が自律的に経路を決定するため、アプリケーション毎に最適化された経路を選択することが困難であった。しかし、本発明では、フロー毎に経路を選択(指定)できるため、システム全体を効率的に使用することが可能である。
 例えば、FTP(File Transfer Protocol:ファイル転送プロトコル)等の「瞬間的に大量に通信が発生するアプリケーション」のフローについては現在(最新)の使用率を最適条件として経路を決定し、IP電話(IP telephony)等のフローについては平均使用率を最適条件として経路を決定する等、アプリケーションに適した最適条件を指定して、最適経路を選択することが可能となる。
 また、従来技術では、サーバの負荷分散をするためにロードバランサを使用しており、全ての通信がロードバランサを経由する必要があるため、可用性、効率性が十分に確保することができないという課題があった。しかし、本発明では、サーバの負荷(CPU使用率)を考慮した上で経路を選択できるため、ロードバランサ等を使用せずにサーバの負荷分散を行うことができる。
 <付記>
 上記の実施形態の一部又は全部は、以下の付記のように記載することも可能である。但し、実際には、以下の記載例に限定されない。
 [付記1]
 管理対象となるネットワーク機器と通信する第1の通信部と、
 同一グループのサーバ群を形成し該サーバ群に割り当てられた仮想アドレスを共有するサーバ機器と通信する第2の通信部と、
 ネットワーク機器及びサーバ機器の各々からパフォーマンスデータを収集し蓄積するデータ収集部と、
 サーバ群を形成するサーバ機器の中から、サーバ機器のパフォーマンスデータを基に、最適なサーバ機器を選択するサーバ選択部と、
 ネットワーク機器のパフォーマンスデータを基に、最適なサーバ機器に到達するための最適経路を決定する経路計算部と、
 最適経路上のネットワーク機器に、該パケットをフローとして一律に制御するためのルールと最適経路上の次段のノードに仮想アドレス宛のパケットを転送する旨の動作とが定義されたエントリを登録するフロー制御部と
を具備する
 制御装置。
 [付記2]
 付記1に記載の制御装置であって、
 サーバ選択部は、サーバ機器のパフォーマンスデータとして、サーバ機器の最新のCPU使用率及びCPU平均使用率のうち少なくとも一方を基に、最適なサーバ機器を選択し、
 経路計算部は、ネットワーク機器のパフォーマンスデータとして、ネットワーク機器の最新のネットワーク使用率及びネットワーク平均使用率のうち少なくとも一方を基に、最適なサーバ機器に到達するための最適経路を決定する
 制御装置。
 [付記3]
 付記1又は2に記載の制御装置であって、
 仮想アドレス宛のパケットの種類及びサーバが提供するサービスの内容に応じて、ネットワーク機器及びサーバ機器の各々のパフォーマンスデータとして使用するデータを定義した最適条件を変更する条件変更部と、
 蓄積されたパフォーマンスデータの中から、最適条件に定義されたデータを選択するデータ選択部と
を更に具備し、
 サーバ選択部は、最適条件に定義されたデータを基に、最適なサーバ機器を決定し、
 経路計算部は、最適条件に定義されたデータを基に、最適経路を決定する
 制御装置。
 [付記4]
 管理対象となるネットワーク機器と通信するステップと、
 同一グループのサーバ群を形成し該サーバ群に割り当てられた仮想アドレスを共有するサーバ機器と通信するステップと、
 ネットワーク機器及びサーバ機器の各々からパフォーマンスデータを収集し蓄積するステップと、
 サーバ群を形成するサーバ機器の中から、サーバ機器のパフォーマンスデータを基に、最適なサーバ機器を選択するステップと、
 ネットワーク機器のパフォーマンスデータを基に、最適なサーバ機器に到達するための最適経路を決定するステップと、
 最適経路上のネットワーク機器に、該パケットをフローとして一律に制御するためのルールと最適経路上の次段のノードに仮想アドレス宛のパケットを転送する旨の動作とが定義されたエントリを登録するステップと
を計算機に実行させるための
 プログラム。
 [付記5]
 付記4に記載のプログラムであって、
 サーバ機器のパフォーマンスデータとして、サーバ機器の最新のCPU使用率及びCPU平均使用率のうち少なくとも一方を基に、最適なサーバ機器を選択するステップと、
 ネットワーク機器のパフォーマンスデータとして、ネットワーク機器の最新のネットワーク使用率及びネットワーク平均使用率のうち少なくとも一方を基に、最適なサーバ機器に到達するための最適経路を決定するステップと
を更に計算機に実行させるための
 プログラム。
 [付記6]
 付記4又は5に記載のプログラムであって、
 仮想アドレス宛のパケットの種類及びサーバが提供するサービスの内容に応じて、ネットワーク機器及びサーバ機器の各々のパフォーマンスデータとして使用するデータを定義した最適条件を変更するステップと、
 蓄積されたパフォーマンスデータの中から、最適条件に定義されたデータを選択し、最適条件に定義されたデータを基に、最適なサーバ機器及び最適経路を決定するステップと
を更に計算機に実行させるための
 プログラム。
 <備考>
 以上、本発明の実施形態を詳述してきたが、実際には、上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。
 なお、本出願は、日本出願番号2011-014053に基づく優先権を主張するものであり、日本出願番号2011-014053における開示内容は引用により本出願に組み込まれる。

Claims (10)

  1.  ネットワーク機器と、
     前記ネットワーク機器からパケットの問い合わせを受けた際、該パケットをフローとして一律に制御するためのルールと動作とが定義されたエントリを、前記ネットワーク機器のフローテーブルに設定する制御装置と、
     同一グループのサーバ群を形成し、該サーバ群に割り当てられた仮想アドレスを共有するサーバ機器と、
    を含み、
     前記制御装置は、
     前記ネットワーク機器及び前記サーバ機器の各々からパフォーマンスデータを収集し蓄積する手段と、
     前記サーバ群を形成するサーバ機器の中から、前記サーバ機器のパフォーマンスデータを基に、最適なサーバ機器を選択する手段と、
     前記ネットワーク機器のパフォーマンスデータを基に、前記最適なサーバ機器に到達するための最適経路を決定する手段と、
     前記最適経路上のネットワーク機器に、前記最適経路上の次段のノードに前記仮想アドレス宛のパケットを転送する旨のエントリを登録する手段と
    を具備する
     ネットワークシステム。
  2.  請求項1に記載のネットワークシステムであって、
     前記制御装置は、
     前記サーバ機器のパフォーマンスデータとして、前記サーバ機器の最新のCPU使用率及びCPU平均使用率のうち少なくとも一方を基に、最適なサーバ機器を選択する手段と、
     前記ネットワーク機器のパフォーマンスデータとして、前記ネットワーク機器の最新のネットワーク使用率及びネットワーク平均使用率のうち少なくとも一方を基に、前記最適なサーバ機器に到達するための最適経路を決定する手段と
    を更に具備する
     ネットワークシステム。
  3.  請求項1又は2に記載のネットワークシステムであって、
     前記制御装置は、
     前記仮想アドレス宛のパケットの種類及び前記サーバが提供するサービスの内容に応じて、前記ネットワーク機器及び前記サーバ機器の各々のパフォーマンスデータとして使用するデータを定義した最適条件を変更する手段と、
     前記蓄積されたパフォーマンスデータの中から、前記最適条件に定義されたデータを選択し、前記最適条件に定義されたデータを基に、前記最適なサーバ機器及び前記最適経路を決定する手段と
    を更に具備する
     ネットワークシステム。
  4.  管理対象となるネットワーク機器と通信する手段と、
     同一グループのサーバ群を形成し該サーバ群に割り当てられた仮想アドレスを共有するサーバ機器と通信する手段と、
     前記ネットワーク機器及び前記サーバ機器の各々からパフォーマンスデータを収集し蓄積する手段と、
     前記サーバ群を形成するサーバ機器の中から、前記サーバ機器のパフォーマンスデータを基に、最適なサーバ機器を選択する手段と、
     前記ネットワーク機器のパフォーマンスデータを基に、前記最適なサーバ機器に到達するための最適経路を決定する手段と、
     前記最適経路上のネットワーク機器に、該パケットをフローとして一律に制御するためのルールと前記最適経路上の次段のノードに前記仮想アドレス宛のパケットを転送する旨の動作とが定義されたエントリを登録する手段と
    を具備する
     制御装置。
  5.  請求項4に記載の制御装置であって、
     前記サーバ機器のパフォーマンスデータとして、前記サーバ機器の最新のCPU使用率及びCPU平均使用率のうち少なくとも一方を基に、最適なサーバ機器を選択する手段と、
     前記ネットワーク機器のパフォーマンスデータとして、前記ネットワーク機器の最新のネットワーク使用率及びネットワーク平均使用率のうち少なくとも一方を基に、前記最適なサーバ機器に到達するための最適経路を決定する手段と
    を更に具備する
     制御装置。
  6.  請求項4又は5に記載の制御装置であって、
     前記仮想アドレス宛のパケットの種類及び前記サーバが提供するサービスの内容に応じて、前記ネットワーク機器及び前記サーバ機器の各々のパフォーマンスデータとして使用するデータを定義した最適条件を変更する手段と、
     前記蓄積されたパフォーマンスデータの中から、前記最適条件に定義されたデータを選択し、前記最適条件に定義されたデータを基に、前記最適なサーバ機器及び前記最適経路を決定する手段と
    を更に具備する
     制御装置。
  7.  制御装置として使用される計算機により実施される最適経路制御方法であって、
     管理対象となるネットワーク機器と通信することと、
     同一グループのサーバ群を形成し該サーバ群に割り当てられた仮想アドレスを共有するサーバ機器と通信することと、
     前記ネットワーク機器及び前記サーバ機器の各々からパフォーマンスデータを収集し蓄積することと、
     前記サーバ群を形成するサーバ機器の中から、前記サーバ機器のパフォーマンスデータを基に、最適なサーバ機器を選択することと、
     前記ネットワーク機器のパフォーマンスデータを基に、前記最適なサーバ機器に到達するための最適経路を決定することと、
     前記最適経路上のネットワーク機器に、該パケットをフローとして一律に制御するためのルールと前記最適経路上の次段のノードに前記仮想アドレス宛のパケットを転送する旨の動作とが定義されたエントリを登録することと
    を含む
     最適経路制御方法。
  8.  請求項7に記載の最適経路制御方法であって、
     前記サーバ機器のパフォーマンスデータとして、前記サーバ機器の最新のCPU使用率及びCPU平均使用率のうち少なくとも一方を基に、最適なサーバ機器を選択することと、
     前記ネットワーク機器のパフォーマンスデータとして、前記ネットワーク機器の最新のネットワーク使用率及びネットワーク平均使用率のうち少なくとも一方を基に、前記最適なサーバ機器に到達するための最適経路を決定することと
    を更に含む
     最適経路制御方法。
  9.  請求項7又は8に記載の最適経路制御方法であって、
     前記仮想アドレス宛のパケットの種類及び前記サーバが提供するサービスの内容に応じて、前記ネットワーク機器及び前記サーバ機器の各々のパフォーマンスデータとして使用するデータを定義した最適条件を変更することと、
     前記蓄積されたパフォーマンスデータの中から、前記最適条件に定義されたデータを選択し、前記最適条件に定義されたデータを基に、前記最適なサーバ機器及び前記最適経路を決定することと
    を更に含む
     最適経路制御方法。
  10.  管理対象となるネットワーク機器と通信するステップと、
     同一グループのサーバ群を形成し該サーバ群に割り当てられた仮想アドレスを共有するサーバ機器と通信するステップと、
     前記ネットワーク機器及び前記サーバ機器の各々からパフォーマンスデータを収集し蓄積するステップと、
     前記サーバ群を形成するサーバ機器の中から、前記サーバ機器のパフォーマンスデータを基に、最適なサーバ機器を選択するステップと、
     前記ネットワーク機器のパフォーマンスデータを基に、前記最適なサーバ機器に到達するための最適経路を決定するステップと、
     前記最適経路上のネットワーク機器に、該パケットをフローとして一律に制御するためのルールと前記最適経路上の次段のノードに前記仮想アドレス宛のパケットを転送する旨の動作とが定義されたエントリを登録するステップと
    を、制御装置として使用される計算機に実行させるためのプログラムを格納した
     記憶媒体。
PCT/JP2011/076395 2011-01-26 2011-11-16 ネットワークシステム、制御装置、及び最適経路制御方法 WO2012101890A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2012554623A JP5598688B2 (ja) 2011-01-26 2011-11-16 ネットワークシステム、制御装置、及び最適経路制御方法
EP11856831.0A EP2670093A4 (en) 2011-01-26 2011-11-16 Network system, control device and optimum path control method
CN201180066077.3A CN103348635B (zh) 2011-01-26 2011-11-16 网络系统、控制单元和最优路由控制方法
US13/980,847 US20130297790A1 (en) 2011-01-26 2011-11-16 Network system, control unit and optimal route controlling method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2011014053 2011-01-26
JP2011-014053 2011-01-26

Publications (1)

Publication Number Publication Date
WO2012101890A1 true WO2012101890A1 (ja) 2012-08-02

Family

ID=46580476

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/076395 WO2012101890A1 (ja) 2011-01-26 2011-11-16 ネットワークシステム、制御装置、及び最適経路制御方法

Country Status (5)

Country Link
US (1) US20130297790A1 (ja)
EP (1) EP2670093A4 (ja)
JP (1) JP5598688B2 (ja)
CN (1) CN103348635B (ja)
WO (1) WO2012101890A1 (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014039141A (ja) * 2012-08-15 2014-02-27 Nec Corp アプリケーション通信制御システムおよびアプリケーション通信制御方法
WO2014061587A1 (ja) * 2012-10-15 2014-04-24 日本電気株式会社 制御装置、ノード、通信システム、通信方法及びプログラム
WO2014068984A1 (en) * 2012-10-31 2014-05-08 Nec Corporation Network communication system and virtualization method thereof
JP2014085800A (ja) * 2012-10-23 2014-05-12 Nippon Telegr & Teleph Corp <Ntt> 信号処理システム
WO2015087475A1 (en) * 2013-12-13 2015-06-18 International Business Machines Corporation Software-defined networking interface between multiple platform managers
JP2015154325A (ja) * 2014-02-17 2015-08-24 日本電信電話株式会社 装置選択ネットワークシステム、装置選択サーバおよびプログラム
WO2015151442A1 (ja) * 2014-03-31 2015-10-08 日本電気株式会社 通信システム、通信方法および制御装置
CN105075192A (zh) * 2013-03-28 2015-11-18 日本电气株式会社 通信系统、控制装置、信息收集方法以及程序
JP2016527825A (ja) * 2013-07-31 2016-09-08 オラクル・インターナショナル・コーポレイション トラフィックストームを緩和するための方法、システム、およびコンピュータ読取可能媒体
CN106919152A (zh) * 2015-12-28 2017-07-04 发那科株式会社 包括多个生产装置的生产数据处理系统

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10212083B2 (en) * 2013-10-30 2019-02-19 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Openflow data channel and control channel separation
CN104702502B (zh) * 2013-12-09 2019-11-26 中兴通讯股份有限公司 网络路径计算方法及装置
US11127004B2 (en) * 2016-02-18 2021-09-21 Mastercard International Incorporated Systems and methods for pre-processing network messages to optimize routing
JP6665697B2 (ja) * 2016-06-09 2020-03-13 富士通株式会社 過去情報提供プログラム、過去情報提供方法及び過去情報提供装置
US10511507B2 (en) * 2017-05-09 2019-12-17 Cisco Technology, Inc. Routing network traffic based on whether an application associated with traffic is a rerouting application as defined by a policy and whether a second path ranking exceeds a first path ranking
CN110611901A (zh) * 2018-06-15 2019-12-24 海信集团有限公司 一种重选Relay UE的方法和设备
CN109889545B (zh) * 2019-03-27 2021-08-27 北京云中融信网络科技有限公司 数据通信方法和装置
CN110493068B (zh) * 2019-09-05 2023-01-10 烽火通信科技股份有限公司 一种网络路由生成方法及系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06120943A (ja) 1992-10-08 1994-04-28 Mitsubishi Electric Corp 最適迂回経路選択方式
JP2000250878A (ja) 1999-02-25 2000-09-14 Nec Corp 負荷分散システム
WO2004093394A1 (ja) * 2003-04-14 2004-10-28 Fujitsu Limited データ中継装置、データ中継方法、データ中継プログラム、サービス選択装置、サービス選択方法、及びサービス選択プログラム
JP2007184969A (ja) * 2007-02-26 2007-07-19 Fujitsu Ltd 配信経路制御装置
WO2010090182A1 (ja) * 2009-02-03 2010-08-12 日本電気株式会社 アプリケーションスイッチシステム、及びアプリケーションスイッチ方法
WO2010106772A1 (ja) * 2009-03-17 2010-09-23 日本電気株式会社 分散処理システム及び分散処理方法
JP2011014053A (ja) 2009-07-03 2011-01-20 Optoelectronics Co Ltd 二値化方法および二値化回路

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5138847B2 (ja) * 2001-08-31 2013-02-06 富士通株式会社 ネットワークシステム、ネットワーク中継装置、ネットワーク中継監視装置およびネットワーク運用方法
US20050169254A1 (en) * 2003-04-14 2005-08-04 Fujitsu Limited Data relay apparatus, data relay method, data relay program, service selection apparatus, service selection method and service selection program
US7903557B1 (en) * 2005-09-21 2011-03-08 Qlogic, Corporation Multipathing using multiple endpoint addresses for load balancing in a network

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06120943A (ja) 1992-10-08 1994-04-28 Mitsubishi Electric Corp 最適迂回経路選択方式
JP2000250878A (ja) 1999-02-25 2000-09-14 Nec Corp 負荷分散システム
WO2004093394A1 (ja) * 2003-04-14 2004-10-28 Fujitsu Limited データ中継装置、データ中継方法、データ中継プログラム、サービス選択装置、サービス選択方法、及びサービス選択プログラム
JP2007184969A (ja) * 2007-02-26 2007-07-19 Fujitsu Ltd 配信経路制御装置
WO2010090182A1 (ja) * 2009-02-03 2010-08-12 日本電気株式会社 アプリケーションスイッチシステム、及びアプリケーションスイッチ方法
WO2010106772A1 (ja) * 2009-03-17 2010-09-23 日本電気株式会社 分散処理システム及び分散処理方法
JP2011014053A (ja) 2009-07-03 2011-01-20 Optoelectronics Co Ltd 二値化方法および二値化回路

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
HIROSHI UENO ET AL.: "A Study on Deployment of Network Appliance Functionalities in Datacenter Network", IEICE TECHNICAL REPORT, vol. 109, no. 296, 13 November 2009 (2009-11-13), pages 7 - 12, XP008166907 *

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014039141A (ja) * 2012-08-15 2014-02-27 Nec Corp アプリケーション通信制御システムおよびアプリケーション通信制御方法
WO2014061587A1 (ja) * 2012-10-15 2014-04-24 日本電気株式会社 制御装置、ノード、通信システム、通信方法及びプログラム
JP2014085800A (ja) * 2012-10-23 2014-05-12 Nippon Telegr & Teleph Corp <Ntt> 信号処理システム
JP2015536582A (ja) * 2012-10-31 2015-12-21 日本電気株式会社 ネットワーク通信システムおよびその仮想化方法
WO2014068984A1 (en) * 2012-10-31 2014-05-08 Nec Corporation Network communication system and virtualization method thereof
US9986026B2 (en) 2012-10-31 2018-05-29 Nec Corporation Network communication system and virtualization method thereof
CN105075192A (zh) * 2013-03-28 2015-11-18 日本电气株式会社 通信系统、控制装置、信息收集方法以及程序
JP2016527825A (ja) * 2013-07-31 2016-09-08 オラクル・インターナショナル・コーポレイション トラフィックストームを緩和するための方法、システム、およびコンピュータ読取可能媒体
WO2015087475A1 (en) * 2013-12-13 2015-06-18 International Business Machines Corporation Software-defined networking interface between multiple platform managers
US9264375B2 (en) 2013-12-13 2016-02-16 International Business Machines Corporation Software-defined networking interface between multiple platform managers
US9270612B2 (en) 2013-12-13 2016-02-23 International Business Machines Corporation Software-defined networking interface between multiple platform managers
JP2015154325A (ja) * 2014-02-17 2015-08-24 日本電信電話株式会社 装置選択ネットワークシステム、装置選択サーバおよびプログラム
WO2015151442A1 (ja) * 2014-03-31 2015-10-08 日本電気株式会社 通信システム、通信方法および制御装置
CN106919152A (zh) * 2015-12-28 2017-07-04 发那科株式会社 包括多个生产装置的生产数据处理系统
JP2017120996A (ja) * 2015-12-28 2017-07-06 ファナック株式会社 複数の製造装置を含む製造データ処理システム
US10310486B2 (en) 2015-12-28 2019-06-04 Fanuc Corporation Manufacturing data processing system having a plurality of manufacturing apparatuses
CN106919152B (zh) * 2015-12-28 2019-11-01 发那科株式会社 包括多个生产装置的生产数据处理系统

Also Published As

Publication number Publication date
CN103348635A (zh) 2013-10-09
JPWO2012101890A1 (ja) 2014-06-30
CN103348635B (zh) 2016-08-10
EP2670093A1 (en) 2013-12-04
JP5598688B2 (ja) 2014-10-01
EP2670093A4 (en) 2017-02-08
US20130297790A1 (en) 2013-11-07

Similar Documents

Publication Publication Date Title
JP5598688B2 (ja) ネットワークシステム、制御装置、及び最適経路制御方法
JP5557066B2 (ja) スイッチシステム、モニタリング集中管理方法
JP5850131B2 (ja) ネットワークシステム、リソース使用率改善方法
EP2911348B1 (en) Control device discovery in networks having separate control and forwarding devices
JP5610247B2 (ja) ネットワークシステム、及びポリシー経路設定方法
RU2583745C2 (ru) Сетевая система, коммутатор и способ обнаружения подсоединенного терминала
Zhang et al. On architecture design, congestion notification, TCP incast and power consumption in data centers
Curtis et al. Mahout: Low-overhead datacenter traffic management using end-host-based elephant detection
JP2022532729A (ja) スライスベースルーティング
JP5842933B2 (ja) ネットワークシステム、及び経路情報同期方法
US7525919B2 (en) Packet communication method with increased traffic engineering efficiency
US20130128746A1 (en) Mechanism for packet forwarding using switch pools in flow- based, split-architecture networks
JP5747993B2 (ja) 負荷低減システム、及び負荷低減方法
CN102771093B (zh) 通信控制系统、切换节点、通信控制方法
WO2012098774A1 (ja) ネットワークシステム、コントローラ、及びQoS制御方法
US12131185B2 (en) Sharing and oversubscription of general-purpose graphical processing units in data centers
US9088432B2 (en) Remote control system, remote control method and program for remote control
CN112751763A (zh) 一种报文转发方法、设备、存储介质及系统
Yu et al. Openflow Based Dynamic Flow Scheduling with Multipath for Data Center Networks.
JP5821641B2 (ja) ネットワークシステム、スイッチ、及びスイッチ間設定通知方法
JP2017175522A (ja) ネットワークシステム、制御装置、方法およびプログラム
WO2012098779A1 (ja) ネットワークシステム、コントローラ、及びQoS制御方法
JP2013115733A (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: 11856831

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2012554623

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 2011856831

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 13980847

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE