WO2012133290A1 - コンピュータシステム、及び通信方法 - Google Patents

コンピュータシステム、及び通信方法 Download PDF

Info

Publication number
WO2012133290A1
WO2012133290A1 PCT/JP2012/057727 JP2012057727W WO2012133290A1 WO 2012133290 A1 WO2012133290 A1 WO 2012133290A1 JP 2012057727 W JP2012057727 W JP 2012057727W WO 2012133290 A1 WO2012133290 A1 WO 2012133290A1
Authority
WO
WIPO (PCT)
Prior art keywords
server
mac address
packet
destination
terminal
Prior art date
Application number
PCT/JP2012/057727
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 US14/008,091 priority Critical patent/US20140019639A1/en
Priority to JP2013507555A priority patent/JP5757324B2/ja
Priority to CN2012800164922A priority patent/CN103460653A/zh
Priority to EP12764671.9A priority patent/EP2693696A4/en
Publication of WO2012133290A1 publication Critical patent/WO2012133290A1/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
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types
    • H04L61/103Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
    • 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/125Shortest path evaluation based on throughput or bandwidth
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based 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/42Centralised routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/12Protocol engines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/66Layer 2 routing, e.g. in Ethernet based MAN's
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/59Network arrangements, protocols or services for addressing or naming using proxies for addressing

Definitions

  • the present invention relates to a computer system and a communication method in the computer system, and more particularly to a server load distribution method in the computer system.
  • a server load balancer In a large-scale system constructed in a data center or the like, a server load balancer is used to ensure scalability.
  • the process of deciding the actual distribution destination server for the virtual IP (Virtual Internet Protocol; hereinafter referred to as VIP) address and changing the packet header so that the packet reaches the destination Done For example, the load balancer performs MAT (Media Access Control Translation) processing that rewrites only the destination MAC address without changing the destination VIP address, or NAT (Network Address) that rewrites the IP address of the packet to the actual destination IP address. (Translation) processing is performed.
  • MAT Media Access Control Translation
  • NAT Network Address
  • Japanese Patent Application Laid-Open No. 2008-60747 describes a load distribution processing method by MAT processing in order to realize layer 2 load distribution (see Patent Document 1).
  • the load balancer makes a proxy ARP response to an ARP packet, learns the server MAC address, and sets the MAC address of the load balancer included in the packet as the MAC address of the server according to the destination IP address. Convert to As a result, the access destination server from the network can be changed centrally by the load balancer, and the access destination addressed to the network from the server can also be changed centrally by the load balancer.
  • the L2 switch performs transfer based only on a fixed-length destination MAC address, and does not perform header conversion. Since the L2 switch is indispensable for network construction, and the product price itself is reduced by the merit of scale, it is desired to use a simple function like the L2 switch in a high-speed network environment.
  • Japanese Patent Application Laid-Open No. 2009-253578 discloses a load distribution apparatus that performs load distribution on a server using an L2 switch (see Patent Document 2).
  • the load distribution device described in Patent Document 2 uses an ARP response from a server selected based on a connection status between each server and the client among a plurality of servers that have received an ARP response to an ARP request from a client. Forward to.
  • Patent Document 2 since the client can directly specify the MAC address of the real server and transmit the packet, the conversion processing of the MAC address, which is an impediment to increasing the network speed, is not necessary. However, in the method of Patent Document 2, a packet processing device must be inserted in the network for ARP relay between the client and the server, and the packet processing device is a processing bottleneck in a high-speed processing environment. It is expected that
  • Non-Patent Document 1 a technique for centrally controlling the transfer operation of each switch by an external controller in a computer network has been proposed by the OpenFlow Consortium (see Non-Patent Document 1).
  • An example of a system related to OpenFlow is described in “OpenFlow: Enabling Innovation in Campus Networks” by Nick McKeown and others (see Non-Patent Document 2).
  • Open flow captures communication as an end-to-end flow and performs path control in units of flows.
  • the OpenFlow switch functioning as a forwarding node operates according to a flow table added / updated by the OpenFlow controller according to the OpenFlow protocol.
  • the flow table contains packet matching rules (hereinafter referred to as “rules”) that specify packets and actions that specify the operations for received packets such as “output to specific ports”, “discard”, and “rewrite header”.
  • a set is registered as a flow entry.
  • the OpenFlow switch processes the received packet according to the action described in the flow entry. If there is no rule (flow entry) that matches the header information of the received packet, the OpenFlow controller is notified of the packet (hereinafter referred to as the first packet).
  • the OpenFlow controller that received the first packet determines the route based on the information of the source host and destination host contained in the packet, and forwards the packet to all OpenFlow switches on the route. Instructs the setting of the flow entry that defines the destination (issues a flow table update instruction).
  • the OpenFlow switch on the path updates the flow table managed by itself in response to the flow table update instruction. Thereafter, the OpenFlow switch starts packet transfer according to the updated flow table, so that the packet reaches the destination host via the route determined by the OpenFlow controller.
  • the controller control system
  • the switch packet transfer system
  • the existing OpenFlow switch performs switching processing with header reference and header conversion. Therefore, when the network speed is increased, a dedicated high-speed device is required as described above, which may increase the cost.
  • an object of the present invention is to arbitrarily set a server as an access destination of a terminal in a high-speed network environment while suppressing an increase in cost.
  • Another object of the present invention is to suppress an increase in the cost of a computer system that realizes load distribution in a high-speed network environment.
  • Still another object of the present invention is to realize highly scalable server load distribution processing without using an expensive network device in a high-speed network environment.
  • Still another object of the present invention is to realize layer 4 load distribution requiring address translation in a high-speed network environment.
  • a computer system includes a controller and a switch that performs a relay operation defined by the flow entry for a received packet that matches the flow entry set by the controller.
  • the controller accesses the physical server corresponding to the target VIP address included in the ARP request packet from the terminal by referring to the table recorded in association with the VIP (Virtual Internet Protocol) address and the physical server. Select as the destination physical server.
  • the controller makes a proxy response to the ARP request packet with an ARP response packet having the MAC (Media Access Control) address of the selected physical server as the source MAC address.
  • the controller sets, in the switch, a flow entry that specifies that a received packet transferred from the terminal and having the MAC address as a destination MAC address is transferred to a communication path reaching the physical server.
  • a computer system includes a controller, a switch that performs a relay operation specified by the flow entry for a received packet that conforms to the flow entry set by the controller, and a switching device.
  • the switch transfers a packet having the first MAC address of the first server as the destination MAC address to the communication path leading to the first server.
  • the controller sets, in the switch, the second flow entry that defines that the packet having the first MAC address of the first server as the destination MAC address is transferred to the switching device instead of the first flow entry.
  • the switch transfers a packet having the first MAC address as the destination MAC address to the switching device.
  • the switching device changes the destination MAC address of the received packet from the switch from the first MAC address to the second MAC address of the second server different from the first server, and transfers the changed MAC address to the communication path leading to the second server.
  • the above-mentioned controller is preferably realized by executing a communication control program by a computer.
  • the switching device described above is preferably realized by executing a communication control program by a computer.
  • a communication method is a communication method executed in a computer system including a switch that performs a relay operation defined by the flow entry for a received packet that matches a flow entry set by a controller.
  • the controller refers to a table recorded by associating a VIP (Virtual Internet Protocol) address with a physical server, and refers to the physical address corresponding to the target VIP address included in the ARP request packet from the terminal.
  • the step of selecting a server as a physical server that is the access destination of the terminal, and the controller responds to an ARP request packet by an ARP response packet with the MAC (Media Access Control) address of the physical server as a source MAC address.
  • MAC Media Access Control
  • a proxy response to notify the terminal of the MAC address of the physical server that is the access destination of the terminal, and a received packet transferred from the terminal and having the MAC address as the destination MAC address is physically supported.
  • a communication method is a communication method executed in a computer system including a switch that performs a relay operation specified by a flow entry for a received packet that matches a flow entry set by a controller. is there.
  • the switch transfers a packet having the first MAC address of the first server as the destination MAC address to a communication path reaching the first server according to the first flow entry set by the controller.
  • the present invention it is possible to arbitrarily set a server as a terminal access destination in a high-speed network environment while suppressing an increase in cost.
  • server load distribution processing is realized in a high-speed network environment while suppressing an increase in cost.
  • layer 4 load balancing that requires address translation is realized in a high-speed network environment.
  • FIG. 1 is a diagram showing a configuration of a computer system according to a first embodiment of the present invention.
  • FIG. 2 is a diagram showing an example of the structure of the host terminal information table according to the present invention.
  • FIG. 3 is a diagram showing an example of the structure of the load information table according to the present invention.
  • FIG. 4 is a diagram showing an example of the structure of the allocation information table according to the present invention.
  • FIG. 5 is a diagram showing an example of the configuration of the OpenFlow switch according to the present invention.
  • FIG. 6 is a diagram showing an example of the configuration of the switching device according to the present invention.
  • FIG. 1 is a diagram showing a configuration of a computer system according to a first embodiment of the present invention.
  • FIG. 2 is a diagram showing an example of the structure of the host terminal information table according to the present invention.
  • FIG. 3 is a diagram showing an example of the structure of the load information table according to the present invention.
  • FIG. 4 is a diagram showing an example of the structure
  • FIG. 7 is a diagram illustrating an example of the structure of the switching information table.
  • FIG. 8A is a sequence diagram illustrating an example of a load distribution operation when an ARP proxy response is made.
  • FIG. 8B is a sequence diagram illustrating an example of a load distribution operation when an ARP proxy response is made.
  • FIG. 9 is a flowchart showing an example of the operation of the ARP response process in the controller according to the present invention.
  • FIG. 10A is a sequence diagram illustrating the operation of the computer system when the controller does not make an ARP proxy response.
  • FIG. 10B is a sequence diagram illustrating the operation of the computer system when the controller does not make an ARP proxy response.
  • FIG. 11 is a sequence diagram showing an example of the destination server switching operation in the computer system according to the present invention.
  • FIG. 12 is a flowchart showing an example of the operation of server deletion processing (destination server switching processing) in the controller 20 according to the present invention.
  • FIG. 13 is a sequence diagram showing an example of an operation of switching destination servers while maintaining a session in the computer apparatus according to the present invention.
  • FIG. 14 is a flowchart showing an example of the operation of the switching process in the controller according to the present invention.
  • FIG. 15 is a flowchart showing an example of the packet control processing operation in the switching device according to the present invention.
  • FIG. 16 is a flowchart showing a switching operation according to the flow entry expire in the switching device 40 according to the present invention.
  • the computer system according to the present invention performs communication path construction and packet data transfer control using OpenFlow technology.
  • an OpenFlow controller (hereinafter referred to as a controller) determines a physical server as an access destination of a terminal in accordance with a load situation in each of a plurality of physical servers.
  • the controller collects the ARP request from the terminal from the OpenFlow switch (hereinafter referred to as a switch), and makes a proxy response to the ARP request to obtain the MAC address of the physical server that is the access destination of the terminal.
  • the controller sets a flow entry for relaying a packet addressed to the physical server from the terminal to the OpenFlow switch on the route having the terminal and the physical server as endpoints.
  • the physical server to be accessed is determined while using the layer 2 switch, so that load distribution in the high-speed network can be realized at low cost.
  • FIG. 2 is a diagram showing an example of the configuration of a computer system according to the present invention.
  • a computer system includes a plurality of switches 10-1 to 10-4, a controller 20, a load information collection device 30, a switching device 40, a plurality of terminals 50-1, 50-2, and A plurality of servers 60-1 to 60-3 are provided.
  • the terminals 50-1 and 2 and the servers 60-1 to 60-3 are exemplified by computer devices connected to the same Ethernet LAN.
  • the controller 20 is connected to each of the plurality of switches 10-1 to 10-4 via a control interface 70 which is a secure network.
  • the controller 20 sets a flow entry in each of the plurality of switches 10-1 to 10-4 according to the open flow protocol, so that the plurality of terminals 50 via any one of the plurality of switches 10-1 to 10-4. -1, 50-2 and the plurality of servers 60-1 to 60-3 are controlled.
  • the controller 20 controls communication path construction and packet transfer processing related to packet transfer in the system by the open flow technology.
  • the open flow technology means that the controller 20 sets the multilayer and flow unit route information in the switch 10 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.
  • the switch 10 to which the open flow technology is applied handles communication as a flow of END2END, not as a unit of packet or frame like a conventional router or switch.
  • the controller 20 is preferably realized by a computer including a CPU and a storage device.
  • the functions of the load distribution control unit 21, the ARP response processing unit 22, and the switch control unit 23 shown in FIG. 1 are realized by a CPU (not shown) executing a program stored in the storage device.
  • the controller 20 includes a host terminal information table 24, a load information table 25, and an allocation information table 26 recorded in a storage device (not shown).
  • FIG. 2 is a diagram showing an example of the structure of the host terminal information table 24.
  • a host terminal ID 24 for identifying the terminal 50 and the server 60 is recorded in association with the IP address 242 and the MAC address 243 set in the terminal 50 and the server 60. Is done. That is, the host terminal information table 24 records the IP address and MAC address set for each terminal 50 and server 60.
  • the load distribution control unit 21 collects load information from each of the servers 60-1 to 60-3 via the load information collection device 30, and records and manages it in the load information table 25.
  • FIG. 3 is a diagram illustrating an example of the structure of the load information table 25.
  • the server information 251 for example, the host terminal ID of the server 60
  • the load information 253 indicates the load of the application specified by the VIP 252 and the load of the server to which the VIP 252 is assigned (server load).
  • the server information 251 is associated with the host terminal ID 241 in the host terminal information table 24.
  • the load distribution control unit 21 manages the relationship between the VIP address and the real address of the server 60 (IP address 242 and MAC address 243) and the load information 253 of the server 60 by referring to the load information table 25. It becomes possible to do.
  • the load information 253 is collected from each server periodically or at an arbitrary time by the load information collecting device 30 and transmitted to the load distribution control unit 21 together with the server information 251 and the VIP 252.
  • the load information collection device 30 collects information from an application load via an API such as SNMP (Simple Network Management Protocol) or CLI (command line user interface), or from a load collection agent in the server.
  • Load information 253 is collected by a collecting method or the like.
  • the load distribution control unit 21 acquires the load information 253 from the load information collection device 30 from the load information collection device 30 periodically or at an arbitrary time, and updates the load information table 25. At this time, the load distribution control unit 21 actively or passively acquires the load information 253 from the load information collection device 30.
  • the load distribution control unit 21 records and manages information in which the terminal 50 is associated with the server 60 assigned as the access destination of the terminal 50 in the assignment information table 26.
  • FIG. 4 is a diagram illustrating an example of the structure of the allocation information table 26.
  • destination information 261, terminal information 262, and allocation server information 263 are recorded in association with each other.
  • the destination information 261 is information for specifying an access destination application or virtual server of the terminal 50, and is, for example, a VIP address set in the virtual machine. Alternatively, the destination information 261 may be an IP address that identifies an access destination server of the terminal 50.
  • the terminal information 262 is information that identifies the terminal 50, and is, for example, a host terminal ID that identifies the terminal 50.
  • the allocation server information 263 is information that identifies the server 60 (physical server) currently allocated as the access destination of the terminal 50, and is, for example, a host terminal ID that identifies the server 60.
  • the allocation server information 263 is associated with the host terminal ID 241 in the host terminal information table 24, whereby the MAC address of the server 60 allocated as the access destination of the terminal 50 can be specified.
  • the old destination server information 264 is information for identifying the server 60 (physical server) assigned as the access destination of the terminal 50 “before the access destination is switched”.
  • the load distribution control unit 21 records the contents of the allocation server information 263 as the old destination server information 264 and assigns the MAC address of the server newly allocated as the destination of the terminal 50 to the allocation server information. It is updated as H.263.
  • the ARP response processing unit 22 executes a proxy ARP response for the ARP request packet notified from the switch 10 via the control interface 70. Specifically, the ARP response processing unit 22 transmits an ARP response packet having the MAC address of the host terminal (for example, the server 60) corresponding to the target address included in the ARP request packet as a transmission source to the requesting terminal 50. At this time, if the target address is the IP address of the server 60, the ARP response processing unit 22 refers to the host terminal information table 24 and sets the server 60 in which the IP address 242 that matches the target address is set as the ARP request destination. At the same time, the MAC address 243 of the server 60 is set as the transmission source MAC address of the ARP response packet.
  • the ARP response processing unit 22 refers to the load information table 25 and identifies the server 60 that is the ARP request destination from the server information 251 associated with the VIP 252 that matches the target address. Then, the MAC address 243 corresponding to the host terminal ID 24 associated with the server information 251 in the host terminal information table 24 is set as the transmission source MAC address of the ARP response packet.
  • the controller 20 manages the MAC address and VIP address set for each server 60 and uses the MAC address of the server 60 corresponding to the target address of the ARP request as a transmission source. Instead of the server 60, a proxy response is made to the ARP response packet.
  • the switch control unit 23 sets or deletes a flow entry (rule + action) for the switch 10 according to the open flow protocol. As a result, the switch 10 executes an action (for example, relay or discard of packet data) corresponding to the rule corresponding to the header information of the received packet.
  • an action for example, relay or discard of packet data
  • the rules set in the flow entry include, for example, the addresses of Layer 1 to Layer 4 of the OSI (Open Systems Interconnection) reference model included in the header information of TCP / IP (Transmission Control Protocol / Internet Protocol) packet data.
  • a combination of identifiers is defined. For example, each combination of a layer 1 physical port, a layer 2 MAC address, a VLAN tag (VLAN id), a layer 3 IP address, and a layer 4 port number is set as a rule.
  • the VLAN tag may be given a priority (VLAN priority).
  • an identifier such as a port number or an address set in the rule by the switch control unit 23 may be set within a predetermined range.
  • 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.
  • the switch control unit 23 sets a flow entry for the switch 10 according to the notification of the first packet from the switch 10 and the notification of the ARP request packet. Since the setting of the communication path and the setting and management of the flow entry in the switch control unit 23 are performed in accordance with the open flow protocol described in Non-Patent Document 1, detailed description thereof is omitted here. However, operations not defined by the protocol will be described later.
  • the switch 10 determines the received packet processing method (action) according to the flow entry set (updated) by the controller 20. As an action for the received packet, there is, for example, transfer to another switch 10 or discard.
  • FIG. 5 is a diagram showing an example of the configuration of the switch 10 according to the present invention.
  • the switch 10 includes a switch processing unit 11, a flow table 12, and a switch control unit 13.
  • the switch processing unit 11 accommodates the lines 14-1 to 14-N and realizes a switch function for packets transferred via the accommodated lines.
  • the switch control unit 13 is connected to the controller 20 via the control interface 70 and controls the setting of the flow entry in the flow table 12 in accordance with an instruction from the controller 20.
  • the switch processing unit 11 determines processing for the received packet according to the flow entry set in the flow table 12. Specifically, when a rule that matches the header information of the received packet is set in the flow table 12, the switch processing unit 11 executes an action defined in the flow entry including the rule.
  • the packet data is notified to the switch control unit 13 as a first packet.
  • the switch control unit 13 transmits the first packet to the controller 20 via the control interface 70.
  • the switch processing unit 11 notifies the switch control unit 13 of the received packet.
  • the switch control unit 13 transmits the notified reception packet (ARP request packet) to the controller 20 via the control interface 70.
  • the switching device 40 is connected to each of the plurality of switches 10-1 to 10-4 via a control interface 80 which is a secure network.
  • the switching device 40 can be realized by a switch or a server that can process traffic with a layer 4 granularity such as TCP or UDP.
  • FIG. 6 is a diagram showing an example of the configuration of the switching device 40 according to the present invention.
  • the switching device 40 is preferably realized by a computer including a CPU and a storage device.
  • each function of the switch processing unit 41, the switch control unit 43, and the switching control unit 44 illustrated in FIG. 6 is realized by a CPU (not shown) executing a program stored in the storage device.
  • a flow table 42 and a switching information table 45 are recorded in a storage device (not shown) of the switching device 40.
  • the switch processing unit 41 is connected to a switch network including a plurality of switches 10-1 to 10-4 via the control interface 80, and realizes a switch function for packets transferred via the control interface 80.
  • the switch control unit 43 controls the setting of the flow entry in the flow table 42 based on the switching information table 45.
  • the switching information table 45 is recorded and managed by the switching control unit 44.
  • FIG. 7 is a diagram illustrating an example of the structure of the switching information table 45. Referring to FIG. 7, switching control unit 44 records destination information 451, terminal information 452, new destination server information 453, and old destination server information 454 transmitted from controller 20 in association with each other.
  • the destination information 451 is information for specifying an access destination application or virtual server of the terminal 50, and is, for example, a VIP address set in the virtual machine.
  • the terminal information 262 is information for identifying the terminal 50, and is, for example, the MAC address of the terminal 50.
  • the new destination server information 453 is information for specifying the server 60 (physical server) newly assigned as the access destination of the terminal 50, and is, for example, the MAC address of the server 60.
  • the old destination server information 454 is information for identifying the server 60 (physical server) assigned as the access destination of the terminal 50 “before the access destination is switched”, and is, for example, the MAC address of the server 60.
  • the switch processing unit 41 analyzes the received packet and notifies the switch control unit 43 of the analysis result.
  • the switch control unit 43 changes the action of the flow entry set in the flow table 42 based on the notified analysis result. For example, the switch processing unit 41 determines whether the received packet is a TCP packet including a SYN flag or whether there is a flow entry that matches the received packet, and notifies the switch control unit 43 of the determination result.
  • the switch control unit 43 refers to the switching information table 45 and is defined by the action of the flow entry that matches the received packet.
  • the destination is changed to the MAC address indicated by the new destination server information 453.
  • the switch control unit 43 executes an action defined in the flow entry.
  • the change of the access destination of the terminal is centrally controlled by the controller 20 according to the load on the server, and the terminal is maintained while using the switching device 40 to maintain the session. It is possible to switch 50 access destination servers 60 to other servers.
  • FIGS. 8A, 8B, and 9 the load distribution operation when the computer system according to the present invention makes an ARP proxy response will be described. Here, description will be made assuming that terminal 50-1 starts communication addressed to the VIP address assigned to servers 60-1 and 60-2.
  • 8A and 8B are sequence diagrams illustrating an example of a load distribution operation when an ARP proxy response is made.
  • FIG. 9 is a flowchart showing an example of the operation of the ARP response process in the controller 20 according to the present invention.
  • the controller 20 Prior to this operation, the controller 20 describes a flow entry to be transmitted to the controller in the flow table 12 of the switch 10-1 when the switch 10-1 receives the ARP packet.
  • a flow entry For example, an interface (port number) connected to the terminal 50-1 and a float condition entry having an Ethernet type field of 0x0806 as a rule as information indicating an ARP request and a transfer to the controller 20 as an action is the switch 10 Set to -1.
  • the terminal 50-1 broadcasts an ARP request packet in order to obtain a MAC address that is a layer 2 address for the access destination VIP address (step S101).
  • the destination is the broadcast address
  • the transmission source is the MAC address of the terminal 50-1
  • the VIP address that is the target to be resolved during the pay is shown.
  • the switch 10-1 adjacent to the terminal 50-1 receives the packet from the terminal 50-1, the switch 10-1 searches the corresponding entry with reference to the flow table 12, and a flow entry that matches (matches) the packet is set. Is determined (step S102).
  • the switch 10-1 determines that the action “received ARP request packet specified in the flow entry suitable for the packet is received. “Notify the controller 20” is executed (steps S102 No, S103 Yes, S104).
  • the controller 20 executes an ARP response process for the ARP request packet notified from the switch 10-1 (step S105).
  • the ARP response processing unit 22 of the controller 20 refers to the target address of the notified ARP request packet, and determines whether the request is an ARP request for the VIP address (step S11).
  • the ARP response processing unit 22 acquires real server information (MAC address) for the VIP address from the load distribution control unit 21 (steps S11 Yes, S12).
  • the load distribution control unit 21 refers to the load information table 25 to identify the server (server information 251) to which the destination VIP address of the received packet is assigned, and the MAC address corresponding to the identified server information 251 243 is extracted from the host terminal information table 24 and passed to the ARP response processing unit 22. At this time, when there are a plurality of servers to which the destination VIP address is assigned, the load distribution control unit 21 determines a server to be assigned as an access destination based on the load information 253 corresponding to each of the plurality of servers (server information 251). To do.
  • the load distribution control unit 21 assigns the server 60-1 having the smallest load among the plurality of servers assigned the destination VIP address as the access destination of the terminal 50-1, and assigns the MAC address of the server to the ARP response. It is passed to the processing unit 22.
  • the load distribution control unit 21 allocates a server to the target VIP address of the ARP request packet
  • the load distribution control unit 21 records the allocation result in the allocation information table 26.
  • the load distribution control unit 21 sets the target VIP address of the ARP request packet as destination information 261, the host terminal ID corresponding to the source address (for example, source MAC address) of the ARP request packet as terminal information 262, and the VIP.
  • the host terminal ID of the server assigned to the address is assigned server information 263 and is recorded in the assignment information table 26 in association with each other.
  • the load distribution control unit 21 reads the assignment server corresponding to the target VIP address from the assignment information table 26.
  • the information 263 is extracted, and the MAC address 243 corresponding to the allocation server information 263 is passed to the ARP response processing unit 22.
  • the load distribution control unit 21 refers to the assignment information table 26, and if a server assigned in advance to the VIP address is not recorded, the server to assign to the target VIP address based on the load information table 25. Is preferably determined.
  • the ARP response processing unit 22 determines whether to make a proxy response (step S14). . For example, when information on a terminal connected to the network is set in advance in the controller 20, a response is returned by proxy without flooding (broadcasting) the received ARP request packet in order to prevent unnecessary traffic. Can do.
  • the ARP response processing unit 22 determines whether or not proxy response is set for an ARP request from a predetermined terminal, and if set, performs an ARP response based on the setting. (Steps S14 Yes, S15, S13).
  • the ARP response processing unit 22 acquires the MAC address 243 corresponding to the destination IP address of the first packet from the host terminal information table 24 (step S15).
  • the load distribution control unit 21 preferably records the allocated result in the allocation information table 26. Specifically, the load distribution control unit 21 sets the target IP address of the ARP request packet as the destination information 261, the host terminal ID corresponding to the transmission source address (for example, the transmission source MAC address) of the ARP request packet as the terminal information 262, the IP The host terminal ID of the server assigned to the address is assigned server information 263 and is recorded in the assignment information table 26 in association with each other.
  • the ARP response processing unit 22 requests an ARP response packet having the MAC address acquired from the load distribution control unit 21 or the host terminal information table 24 as a transmission source MAC address and the transmission source MAC address of the ARP request packet as a destination MAC address. It transmits to the original terminal 50-1 (step S13, step S106 of FIG. 8B).
  • an ARP response packet is transmitted with the MAC address of server 60-1 as the source MAC address and the MAC address of terminal 50-1 as the destination MAC address.
  • the ARP response packet transmitted from the controller 20 is transmitted to the switch 10-1 that is the notification source of the ARP request packet via the control interface 70 (step S106).
  • the controller 20 sets a flow entry for transferring the ARP response packet to the terminal 50-1 in the switch 10-1 prior to transmission of the ARP response packet, and then transmits the ARP response packet to the switch 10-1. Send to.
  • the switch 10-1 transfers the received ARP response packet to the terminal 50-1 according to the flow table (step S107).
  • the terminal 50-1 sets the source MAC address of the received ARP response packet in the ARP table as the MAC address assigned to the destination VIP address (step S108).
  • the MAC address of the server 60-1 of the destination VIP address is assigned.
  • the terminal 50-1 performs communication addressed to the VIP address using the destination MAC address of the packet addressed to the VIP address as the MAC address of the server 60-1 (steps S109 to S115).
  • the terminal 50-1 transmits a packet addressed to the VIP address destined for the MAC address of the server 60-1 (step S109).
  • the switch 10-1 determines whether or not the received packet matches the entry in the flow table, and if not, notifies the controller 20 as a first packet (steps S110 Yes and S111).
  • the controller 20 analyzes the notified first packet and performs flow control processing (step S112). Specifically, the controller 20 specifies the terminal 50-1 and the server 60-1 that are end points of the communication path from the source MAC address and the destination MAC address of the first packet, and calculates a communication path that connects the end points. Subsequently, the controller 20 determines a flow entry for the packet to transfer the communication path. The controller 20 instructs the switch 10 on the communication path to set a flow entry (step S113). In response to the flow entry setting instruction, the switch 10-1 sets the flow entry in its own flow table 12, and transfers the packet received in step S109 to the transfer destination according to the flow entry (step S115). ).
  • the flow stipulates that “the packet addressed to the VIP address having the MAC address of the terminal 50-1 as the transmission source address and the MAC address of the server 60-1 as the transmission source address is transferred to the server 60-1.”
  • An entry is set in the switch 10-1.
  • step S114 packets addressed to the VIP address having the MAC address of the terminal 50-1 as the source address and the MAC address of the server 60-1 as the source address are transferred to the server 60-1 via the switch 10-1. Will be. In the example shown in FIGS. 8A and 8B, the packet is transferred from the switch 10-1 to the server 60-1, but another switch 10 on the communication path to the server 60-1 transfers the packet to the flow entry. Needless to say, if it is defined as the destination, it is transferred to the server 60-1 via the other switch 10.
  • the packet can be transferred through a normal L2 switch network, communication with the server 60-1 becomes possible by using the L2 switch function of the switch 10.
  • the switch 10 since the switch 10 performs L2 transfer, the packet is transferred based only on the destination address. In other words, since the packet header is not rewritten in the network, it is possible to configure the system using a high-speed and inexpensive switch.
  • the ARP request for the VIP address implemented by the terminal 50 is captured by the controller 20 and an ARP proxy response is performed using the server (the MAC address) assigned to the VIP address as the transmission source.
  • a flow entry for forwarding the received packet to the MAC address assigned to the VIP address by the controller 20 is set in the switch 10.
  • the switch 10 can transfer the received packet to the destination server (MAC address) corresponding to the VIP address without converting the MAC address. Therefore, according to the present invention, the controller 20 can arbitrarily set the access destination of the terminal 50 in a high-speed and inexpensive L2 network. Further, since the controller 20 according to the present invention changes the server to be accessed according to the server load, server load distribution can be realized in a high-speed and inexpensive L2 network.
  • FIG. 10A and FIG. 10B are sequence diagrams showing the operation of the computer system when the controller does not make an ARP proxy response.
  • an ARP request packet having the VIP address transmitted from the terminal 50-1 as a target address is notified from the switch 10-1 to the controller 20 (steps S101 to S104).
  • the controller 20 executes an ARP response process for the ARP request packet notified from the switch 10-1 (step S105).
  • the ARP response processing unit 22 of the controller 20 refers to the target address of the notified ARP request packet, and determines whether the request is an ARP request for the VIP address (step S11).
  • the ARP response processing unit 22 determines whether or not to make a proxy response (step S14). .
  • the ARP response processing unit 22 sends the ARP packet to the notification source switch. 10 and an ARP instruction for broadcasting the ARP packet is issued (step S16, step S201 in FIG. 10A).
  • the controller 20 instructs the switch 10 that is the notification source of the ARP request packet to broadcast the ARP request packet (step S201).
  • the controller 20 instructs the switch 10-1 to set a flow entry for broadcasting the ARP request packet, and returns the notified ARP request packet.
  • the switch 10-1 updates the flow table 12 according to the flow entry setting instruction, and broadcasts the received ARP response packet according to the flow entry (steps S202 and S203).
  • the ARP request packet is transferred to the servers 60-1 and 60-2. In the example shown in FIGS.
  • the ARP request packet is transferred from the switch 10-1 to the servers 60-1 and 60-2, but the other switch 10 is set as the transfer destination in the flow entry. In this case, it goes without saying that the data is transferred to the servers 60-1 and 60-2 via the other switch 10.
  • step S203 the destination MAC is acquired in the same manner as in the ARP procedure by a normal terminal (steps S204 to S206).
  • an ARP response packet is transmitted from the server 60-2 to the terminal 50-1, and the terminal 50-1 uses the source MAC address of the ARP response packet as the MAC address of the destination IP address.
  • the table is set (steps S204 to S206).
  • step S206 Similar to the operation shown in FIGS. 8A and 8B, the packet addressed to the IP address with the MAC address of the terminal 50-1 as the source address and the MAC address of the server 60-2 as the source address is 10-1 is transferred to the server 60-2 (steps S109 to S115).
  • FIGS. 11 and 12 the destination server switching operation in the computer system according to the present invention will be described.
  • the operation when the access server 60-1 of the terminal 50-1 is deleted and the access destination is switched to the server 60-2 will be described as an example.
  • FIG. 11 is a sequence diagram showing an example of the destination server switching operation in the computer system according to the present invention.
  • FIG. 12 is a flowchart showing an example of the operation of server deletion processing (destination server switching processing) in the controller 20 according to the present invention.
  • terminal 50-1 is connected to server 60-1 via switch 10-1 (steps S301 and S302).
  • the load information collection device 30 notifies the controller 20 of the deletion of the server 60-1 (not shown).
  • the controller 20 executes server deletion processing (destination server switching processing) in response to the server deletion notification (step S303).
  • the load distribution control unit 21 When acquiring the server deletion information from the load information collection device 30, the load distribution control unit 21 refers to the allocation information table 26 and identifies the terminal 50 allocated with the MAC address of the corresponding server as the destination (step S21, 22). Specifically, the load distribution control unit 21 searches the allocation information table 26 using the allocation server information 263 that matches the host terminal ID of the server to be deleted, and identifies the corresponding destination information 261 and terminal information 262 (step S23). . Here, it is assumed that the VIP address and the terminal 50-1 are specified.
  • the ARP response processing unit 22 acquires real server information (MAC address) to be assigned to the specified destination information 261 and terminal information 262 from the load distribution control unit 21.
  • the load distribution control unit 21 refers to the load information table 25 to identify and identify the server (server information 251) to which the destination information 261 (for example, destination VIP address) identified in step S22 is assigned.
  • the MAC address 243 corresponding to the server information 251 is extracted from the host terminal information table 24 and passed to the ARP response processing unit 22.
  • the load distribution control unit 21 selects a server to be assigned as a new access destination based on the load information 253 corresponding to each of the plurality of servers (server information 251). decide. For example, the load distribution control unit 21 assigns the server 60-2 having the smallest load excluding the deleted server 60-1 among the plurality of servers to which the VIP address is assigned as the access destination of the terminal 50-1. The MAC address of the server is passed to the ARP response processing unit 22. When the load distribution control unit 21 allocates the server 60-2 as a new destination corresponding to the VIP address, the load distribution control unit 21 records the allocation result in the allocation information table 26.
  • the load distribution control unit 21 records the allocation server information 263 before the server allocation change as the old destination server information 264, and overwrites the host terminal ID of the server newly allocated to the VIP address as the allocation server information 263. For example, the load distribution control unit 21 assigns the VIP address specified in step S22 to the destination information 261, the host terminal ID corresponding to the terminal 50-1 specified in step S22, the terminal information 262, and the server assigned to the VIP address.
  • the host terminal ID 60-2 is assigned server information 263, and each is associated and recorded in the assignment information table 26.
  • the ARP response processing unit 22 emits a GARP (Gratuous ARP) packet with the MAC address of the server newly assigned by the load distribution control unit 21 as the transmission source MAC address to the terminal 50 identified in step S22 (step S22). S24, step S304 of FIG. 11).
  • GARP Geographical ARP
  • the MAC address of the server 60-2 newly assigned to the terminal 50-1 and its destination VIP address is set as the source MAC address.
  • the GARP packet is transmitted to terminal 50-1 via switch 10-1 (steps S304 and S305).
  • the terminal 50-1 updates the ARP table with the source MAC address of the received GARP packet as the MAC address assigned to the destination VIP address (step S306).
  • the MAC address of the server 60-2 is assigned to the destination VIP address.
  • the terminal 50-1 performs communication addressed to the VIP address using the destination MAC address of the packet addressed to the VIP address as the MAC address of the server 60-2, as in Steps S109 to S115 of FIGS. 10A and 10B. (Steps S307 to S313).
  • the destination server can be switched in consideration of the load by the unified control by the controller 20.
  • FIGS. 13 to 15 an operation for switching the destination server while maintaining the session of the computer system according to the present invention will be described.
  • FIG. 13 is a sequence diagram showing an example of an operation of switching destination servers while maintaining a session in the computer apparatus according to the present invention.
  • FIG. 14 is a flowchart showing an example of the operation of the switching process in the controller 20 according to the present invention.
  • FIG. 15 is a flowchart showing an example of the packet control processing operation in the switching device 40 according to the present invention.
  • terminal 50-1 is connected to server 60-1 via switch 10-1 (steps S401 and S402).
  • the controller 20 switches the communication between the terminal 50-1 and the server 60-1 to the communication with another server 60 having a small load. Processing is executed (step S403).
  • the load distribution control unit 21 refers to the load information table 25 and the allocation information table 26, and switches the server with an increased load among the servers allocated to the destination VIP address of the terminal to another server with a small load ( Step S31). Specifically, the load distribution control unit 21 determines whether the load of the server assigned to the destination VIP address of the terminal exceeds a predetermined threshold or the load of another server having the destination VIP address is the predetermined threshold. In the case of lower than the above, the destination server currently assigned to the VIP address is switched to another server having a low load.
  • the load distribution control unit 21 records the allocation server information 263 before the server allocation change as the old destination server information 264, and overwrites the host terminal ID of the server newly allocated as the destination server as the allocation server information 263. For example, the load distribution control unit 21 sets the host terminal ID of the server 60-1 whose load exceeds the threshold as the old destination server information 264, and sets the host terminal ID of the server 60-2 with a low load as the assigned server information 263. The information is recorded in association with the destination information 261 (VIP address) and the terminal information 262 (terminal 50-1). Note that the destination server switching operation by the load distribution control unit 21 may be performed periodically or at any time (for example, when the load information table 25 is updated (load information notification from the load information collection device 30). ))).
  • the load distribution control unit 21 When the destination server is switched, the load distribution control unit 21 notifies the switching device 40 of the destination server information (MAC address) before and after the switching as switching information (step S32, S404 in FIG. 13). Specifically, the MAC address 243 corresponding to the allocation server information 263 and the old destination server information 264 updated in step S31, and the MAC address and destination information 261 (VIP address) corresponding to the terminal information 262 associated therewith. Is transmitted to the switching device 40 as switching information.
  • correspondence information between the MAC address of the server 60-1 before switching and the MAC address of the server 60-2 after switching, which is assigned to the traffic addressed to the VIP address from the terminal 50-1, is the switching device as switching information. 40 is notified.
  • the switching control unit 44 of the switching device 40 records the notified switching information in the switching information table 45 (step S405).
  • the destination information 261 VIP address
  • the MAC address corresponding to the terminal information 262 the MAC address corresponding to the allocation server information 263, and the MAC address 243 corresponding to the old destination server information 264, respectively
  • Information 451, terminal information 452, new destination server information 453, and old destination server information 454 are recorded in the switching information table 45.
  • the controller 20 sets (changes) the flow entry so that the communication path addressed to the server 60 before switching is directed to the switching device 40 to the switch 10 on the communication path. (Redirect setting instruction, step S406, S33 in FIG. 14). Specifically, the switch control unit 23 of the controller 20 changes the flow entry of the switch 10 adjacent to the terminal 50 on the communication path between the terminal 50 to be redirected and the server 60 before switching. Here, an instruction to change the flow entry of the switch 10-1 adjacent to the terminal 50-1 is given.
  • the switch 10-1 sets the flow entry in its own flow table 12 in accordance with the flow entry setting instruction (step S407).
  • a flow entry is set that specifies “transfer the packet having the MAC address of the terminal 50-1 as the source MAC and the MAC address of the server 60-1 as the destination MAC address” to the switching device 40. .
  • step S407 packets addressed to the VIP address with the MAC address of the terminal 50-1 as the source address and the MAC address of the server 60-1 as the source address are transferred to the server 60-1 via the switch 10-1. Will be.
  • Step S408 and S409 packets addressed to the VIP address with the MAC address of the terminal 50-1 as the source address and the MAC address of the server 60-1 as the source address are transferred to the server 60-1 via the switch 10-1. Will be.
  • Step S408 and S409 packets addressed to the VIP address destined for the MAC address of the server 60-1.
  • the switch 10-1 transfers the received packet to the switching device 40 according to the flow entry (step S409).
  • the traffic redirected from the terminal 50-1 to the destination MAC address 60-1 is realized.
  • the switching device 40 analyzes the received packet by packet control processing, and changes the flow entry or performs processing according to the flow entry according to the analysis result (step S410).
  • the switching device 40 is aware of the TCP session and sequentially switches the destination server to the switching destination server from the new TCP connection.
  • the destination server switching method is realized by converting the destination MAC address in the packet into the MAC address of the switching destination server in the switching device 40.
  • the switching device 40 determines whether or not the received packet is a TCP packet (step S41).
  • the switch processing unit 41 sets the destination of the received packet as the server 60 corresponding to the new destination server information 453 and sets the destination MAC address of the received packet as the server 60 Are registered in the flow table 42 (No in steps S41 and S43).
  • the switch control unit 43 identifies new destination server information 453 corresponding to the source MAC address and destination VIP address of the received packet from the switching information table 45.
  • the switch control unit 43 uses the transmission source MAC address and the destination VIP address of the received packet as rules, and converts the destination MAC address of the packet into the specified new destination server information 453 (MAC address) and transfers the action.
  • MAC address the specified new destination server information 453
  • the switching device 40 checks the SYN flag bit of the received packet (steps S41 Yes, S42).
  • the packet indicates a new TCP connection, so the process proceeds to step S43, and the destination of this connection is changed to the new server (new destination server information 453) (step). S42 Yes).
  • the switch processing unit 41 executes an action defined in the changed flow table (step S50).
  • the switch processing unit 41 converts the destination MAC address of the received packet into the MAC address of the server newly assigned by the controller 20 (new destination server information 453) and transfers it.
  • the switch processing unit 41 transfers the received packet according to the action defined in the flow entry that matches the received packet (steps S42 No, S44 Yes). , S45, S48No, S50).
  • satisfying the TCP end determination condition indicates, for example, a case where a FIN packet and a FIN-ACK packet are transmitted bidirectionally.
  • the switch processing unit 41 sets the destination of the received packet as a server corresponding to the old destination server information 454, Is registered in the flow table 42 (steps S42No, S44No, S46, S47). Specifically, the switch control unit 43 specifies old destination server information 454 corresponding to the transmission source MAC address and destination VIP address of the received packet from the switching information table 45. Subsequently, the switch control unit 43 uses the transmission source MAC address and the destination VIP address of the received packet as rules, and converts the destination MAC address of the packet into the specified old destination server information 454 (MAC address) for transfer. Are registered in the flow table 42. After the registration of the flow entry, if the TCP termination determination condition is not satisfied, the switch processing unit 41 transfers the received packet according to the action defined in the flow entry registered in step S47 (step S50).
  • the connection is explicitly closed as an entry in the flow table. (Here, it is only explicitly declared to be deleted, and actual deletion is performed after the execution of the action) (Yes in steps S48 and S49).
  • the switching device 40 determines whether the destination server of the received packet is the old server or the new server after switching, and transfers the received packet to the destination according to the flow entry according to the determination result.
  • the destination server can be switched to another server while maintaining the session by changing the destination MAC address of the packet transferred from the terminal 50 by the switching device 40.
  • the switching device 40 transmits a packet addressed to the MAC address of the server 60-1 from the terminal 50-1 according to a flow entry set according to the received packet or a flow entry that matches the received packet. The address is converted and transferred to the MAC address of the server 60-2 (steps S410 and S411).
  • the access destination server of the terminal 50 can be changed while maintaining the connection in service without having the MAC address conversion function (session layer processing) in the switch 10, an L2 switch is used as the switch 10. can do. Therefore, according to the present invention, it is possible to realize load distribution in a high-speed network environment while suppressing an increase in cost. Further, since the proxy ARP function is performed by the controller 20 independent of the switch 10, it is possible to distribute the load regardless of the scale of the switch network. Therefore, highly scalable server load distribution processing is realized without using an expensive network device.
  • the controller 20 may determine whether or not to use the switching device when changing the allocation of the destination server, according to the protocol of the terminal-server communication. For example. When the communication between the terminal and the server is TCP communication, the server allocation is gradually changed without cutting the session by passing the switching device 40 when the server allocation is changed. On the other hand, in the case of HTTP communication, the server allocation is changed without passing through the switching device 40, and the interruption of the session is permitted. Alternatively, the controller 20 may perform control such that the service is not interrupted by passing the switching device in the case of a specific important application even in the HTTP protocol. Furthermore, the controller 20 determines whether to switch to the switching device according to the source IP address, thereby setting whether to maintain the session when changing the server allocation not only in the protocol unit but also in the user unit. It becomes possible.
  • the protocol of the terminal-server communication For example. When the communication between the terminal and the server is TCP communication, the server allocation is gradually changed without cutting the session by passing the switching device 40 when the server allocation is changed. On the other hand, in the case of HTTP
  • FIG. 16 is a flowchart showing a switching operation according to a flow entry expire in switching device 40 according to the present invention.
  • the switching operation according to the flow entry expire in the switching device 40 according to the present invention will be described.
  • the flow entry registered in the flow table 42 of the switching device 40 is deleted from the flow table 42 after a predetermined time has elapsed or when a predetermined condition is satisfied.
  • the operation of the switching device 40 in this case will be described.
  • the switching control unit 44 among the flow entries recorded in the flow table 42, the MAC address of the server before switching (old destination server information) 454) is checked for the presence of a flow entry (steps S60, S61, S62).
  • the switching control unit 44 stands by until an expire of a new flow entry occurs (No in step S62).
  • the switching control unit 44 notifies the controller 20 of the end of the switching process (steps S62 Yes, S63).
  • the switching control unit 44 counts flow entries having the old destination server information 454 as the destination MAC address, and when the count value becomes 0 or a certain time has elapsed since the switching process. At this point, the controller is notified of the end of switching.
  • the controller 20 When the controller 20 receives the switching end notification, it notifies the terminal 50 of the physical server (MAC address) for the VIP address by a GARP packet as in FIG. 11 or FIG. 12 (not shown). For example, the controller 20 notifies the terminal 50-1 that the physical server corresponding to the VIP address has become the server 60-2 (the MAC address thereof) by the GARP packet in response to the switching end notification.
  • the terminal 50-1 uses the ARP cache entry for the VIP address as the MAC of the server 60-2, and outputs subsequent communication addressed to the VIP address to the MAC address of the server 60-2. Further, the controller 20 deletes the flow entry for the route redirected from the terminal 50-1 to the switching device 40, and releases the resources of the switching device (not shown).
  • the server to be accessed can be changed without performing header conversion in the switch, so that a load distribution system can be constructed with a low-cost and high-speed L2 switch. It becomes possible.
  • the server load distribution processing with high scalability is possible. .
  • the embodiment of the present invention has been described in detail above, but the specific configuration is not limited to the above-described embodiment, and changes within a scope not departing from the gist of the present invention are included in the present invention. .
  • the number of switches 10, terminals 50, switching devices 40, and servers 60 is not limited to the above example.
  • a plurality of computer systems according to the present invention may be provided, and path control (load distribution control) may be performed between the plurality of systems by cooperation of the controllers 20.
  • the destination server is changed according to the server load and application load.
  • the present invention is not limited to this, and the destination server is arbitrarily changed depending on the network load (congestion status) and the setting by the vendor. May be.
  • the destination server is changed during server maintenance.
  • the switching device 40 may be realized by a device different from the controller 20 or may be realized by the same device.
  • the function of the switch 10 packet relay function
  • the switching device 40 can also be realized by combining the controller 20 and the switch 10.
  • a controller A switch that performs a relay operation defined in the flow entry for a received packet that conforms to the flow entry set by the controller, and The controller notifies the terminal of the MAC (Media Access Control) address of the physical server that is the access destination of the terminal by making a proxy response to the ARP request packet from the terminal,
  • a computer system that sets, in the switch, a flow entry that specifies that a received packet transferred from the terminal and having a MAC address as a destination MAC address is transferred to a communication path that reaches the physical server.
  • the controller In the computer system according to attachment 1, The controller refers to a table in which VIP (Virtual Internet Protocol) addresses and physical servers are recorded in association with each other, and determines the physical server corresponding to the target VIP address included in the ARP request packet as the access destination of the terminal.
  • VIP Virtual Internet Protocol
  • a computer system that selects a physical server as a physical server and transmits the MAC address of the physical server to the terminal as a transmission source MAC address of an ARP response packet.
  • Appendix 3 In the computer system according to appendix 1 or 2, The controller selects a MAC address of a physical server as an access destination of the terminal according to a load on each of a plurality of servers.
  • the controller transmits a GARP packet having a MAC address of another physical server different from the physical server as a transmission source MAC address to the terminal, so that the destination MAC address set in the ARP table of the terminal is A computer system that changes a MAC address of a server to a MAC address of the other physical server.
  • the switch In the computer system according to any one of appendices 1 to 4, The switch notifies the controller of the ARP request packet when the received packet is an ARP request packet in accordance with a flow entry set by the controller.
  • a controller A switch that performs a relay operation defined in the flow entry for a received packet that conforms to the flow entry set by the controller;
  • a switching device In accordance with the first flow entry set by the controller, the switch transfers a packet having the first MAC address of the first server as a destination MAC address to a communication path leading to the first server,
  • the controller sets, in the switch, a second flow entry defining that the packet having the first MAC address of the first server as a destination MAC address is transferred to the switching device instead of the first flow entry;
  • the switch forwards a packet with the first MAC address as a destination MAC address to the switching device according to the second flow entry,
  • the switching device changes the destination MAC address of the received packet from the switch from the first MAC address to a second MAC address of a second server different from the first server, and enters a communication path that reaches the second server.
  • the switching device performs TCP termination determination based on the received packet, and when determining that the TCP connection is terminated, transfers the received packet to a destination according to a flow entry that is set in its own flow table and matches the received packet And then deleting the flow entry from the flow table.
  • the controller selects a second MAC address of the second server as an access destination of the terminal according to a load on each of a plurality of servers, and notifies the switching device of the second MAC address.
  • Appendix 11 A controller used in the computer system according to any one of appendices 1 to 10.
  • Appendix 12 A switching device used in the computer system according to any one of appendices 6 to 10.
  • the controller refers to a table in which a VIP (Virtual Internet Protocol) address and a physical server are recorded in association with each other, and determines the physical server corresponding to the target VIP address included in the ARP request packet as the access destination of the terminal. Further comprising selecting as a physical server to be
  • the step of notifying the MAC address includes a step in which the controller transmits the MAC address of the physical server to the terminal as a transmission source MAC address of an ARP response packet.
  • the communication method further comprising the step of the controller selecting a MAC address of a physical server as an access destination of the terminal according to a load on each of a plurality of servers.
  • the controller transmits a GARP packet having a MAC address of another physical server different from the physical server as a source MAC address to the terminal, so that the destination MAC address set in the ARP table of the terminal is changed to the physical
  • a communication method further comprising the step of changing the MAC address of a server to the MAC address of the other physical server.
  • Appendix 20 In a communication method executed in a computer system including a switch that performs a relay operation defined by the flow entry for a received packet that matches a flow entry set by a controller, The switch forwards a packet having a first MAC address of the first server as a destination MAC address to a communication path leading to the first server according to a first flow entry set by the controller; The controller sets a second flow entry defining that the packet having the first MAC address of the first server as a destination MAC address to be transferred to a switching device in the switch instead of the first flow entry; The switch forwards a packet with the first MAC address as a destination MAC address to the switching device according to the second flow entry; The switching device changes the destination MAC address of the received packet from the switch from the first MAC address to a second MAC address of a second server different from the first server, and to a communication path that reaches the second server.
  • a communication method comprising the steps of:
  • the switching device sets the destination MAC address of the received packet from the switch to the first MAC address.
  • a communication method further comprising the step of changing to a MAC address and transferring to a communication path leading to the first server.
  • the switching device determining that the TCP connection is terminated based on the received packet; The switching method further comprising the step of: deleting the flow entry from the flow table after the switching device transfers the received packet to a destination according to a flow entry that matches the received packet.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

 本発明によるコンピュータシステムにおいて、コントローラは、端末からのARP要求パケットに含まれるターゲットVIPアドレスに対応する物理サーバのMACアドレスを送信元としたARP応答パケットによって、端末からのARP要求パケットに対して代理応答することにより、端末のアクセス先となる物理サーバのMACアドレスを端末に通知する。又、コントローラは、端末から転送され、当該MACアドレスを宛先MACアドレスとした受信パケットを当該物理サーバに至る通信経路に転送することを規定したフローエントリを、スイッチに設定する。これにより、コスト上昇を抑制しながら、高速化ネットワーク環境下において、端末のアクセス先となるサーバを任意に設定することが可能となる。

Description

コンピュータシステム、及び通信方法
 本発明は、コンピュータシステム、及びコンピュータシステムにおける通信方法に関し、特にコンピュータシステムにおけるサーバ負荷分散方法に関する。
 データセンターなどに構築される大規模システムでは、スケーラビリティを確保するために、サーバ負荷分散装置が利用されている。サーバ負荷分散装置では、仮想IP(Virtual Internet Protcol;以下、VIPと称す)アドレスに対して、実際の振り分け先の宛先サーバを決定し、その宛先にパケットが届くようにパケットヘッダを付け替えるという処理が行われる。例えば、負荷分散装置は、宛先のVIPアドレスを変えずに宛先のMACアドレスのみを書き換えるMAT(Media Access Control Translation)処理や、パケットのIPアドレスを、実際の宛先のIPアドレスに書き換えるNAT(Network Address Translation)処理を行う。
 一例として、特開2008-60747に、レイヤ2の負荷分散を実現するために、MAT処理による負荷分散処理方法が記載されている(特許文献1参照)。特許文献1では、負荷分散装置がARPパケットに対して代理ARP応答するとともに、サーバのMACアドレスを学習し、宛先IPアドレスに応じて、パケットに含まれる負荷分散装置のMACアドレスをサーバのMACアドレスに変換する。これにより、ネットワークからのアクセス先サーバを、負荷分散装置によって一元的に変更するとともに、サーバからネットワーク宛のアクセス先も負荷分散装置によって一元的に変更することが可能となる。
 一方、ネットワークの高速化に伴って、ホストのネットワークインタフェースにおいて10Gbpsの利用が進み、ネットワークスイッチにおいても10Gbpsポートを多数備えたスイッチの利用が一般的になっている。
 しかしながら、高速処理環境では、ヘッダ検索のためのCAM(Content Addressable Memory)の高速化が困難であるため、MAT処理やNAT処理の高速化も難しくなる。MAT処理を高速化するためには、例えばパケットヘッダを加工するための専用ASICを利用することが考えられるが、この場合、デバイスコストが増大する恐れがある。
 一般に、L2スイッチは、固定長の宛先MACアドレスのみに基づいて転送を行い、ヘッダの変換を行わない。L2スイッチはネットワーク構築に不可欠であり、製品価格そのものがスケールメリットで削減されるため、高速ネットワーク環境ではL2スイッチのような単純な機能の利活用が望まれる。
 L2スイッチを用いてサーバに対する負荷分散を行う負荷分散装置が、例えば特開2009-253578に記載されている(特許文献2参照)。特許文献2に記載の負荷分散装置は、クライアントからのARP要求に対してARP応答があった複数のサーバのうち、各サーバとクライアントとの接続状況に基づいて選択したサーバからのARP応答をクライアントに転送する。
 特許文献2では、クライアントは実サーバのMACアドレスを直接指定してパケットを送信することができるため、ネットワークの高速化の阻害要因となるMACアドレスの変換処理が不要となる。しかしながら、特許文献2の方法では、クライアントとサーバとの間におけるARP中継のために、ネットワーク内にパケット処理装置を挿入しなくてはならず、当該パケット処理装置が、高速処理環境における処理ボトルネックとなることが予想される。
 一方、コンピュータネットワークにおいて、各スイッチの転送動作等を外部のコントローラによって一元的に制御する技術(オープンフロー)が、OpenFlow Consortiumによって提案されている(非特許文献1参照)。オープンフローに関するシステムの一例が、Nick McKeownほか7名による“OpenFlow: Enabling Innovation in Camp us Networks”に記載されている(非特許文献2参照)。
 オープンフローは、通信をエンドツーエンドのフローとして捉え、フロー単位で経路制御を行うものである。転送ノードとして機能するオープンフロースイッチは、オープンフロープロトコルに従ってオープンフローコントローラにより追加・更新されるフローテーブルに従って動作する。フローテーブルには、パケットを特定するパケットマッチングルール(以下、ルールと称す)と、「特定のポートに出力する」、「廃棄する」、「ヘッダを書き換える」といった受信パケットに対する動作を規定したアクションの組がフローエントリとして登録される。オープンフロースイッチは、受信パケットのヘッダ情報が、自身に登録されたフローエントリのルールにマッチする場合、当該フローエントリに記載されたアクションに従って受信パケットの処理を行う。又、受信パケットのヘッダ情報とマッチするルール(フローエントリ)がない場合は、オープンフローコントローラに当該パケット(以下、ファーストパケットと称す)を通知する。
 ファーストパケットを受け取ったオープンフローコントローラは、当該パケット内に含まれている送信元ホストや送信先ホストという情報を元に経路を決定し、経路上の全てのオープンフロースイッチに対して、パケットの転送先を規定するフローエントリの設定を指示する(フローテーブル更新指示を発行)。経路上のオープンフロースイッチは、フローテーブル更新指示に応じて、自身で管理しているフローテーブルを更新する。その後、オープンフロースイッチは、更新したフローテーブルに従い、パケットの転送を開始することで、オープンフローコントローラが決定した経路を経由して、宛先のホストへパケットが到達するようになる。
 オープンフロープロトコルを利用したネットワークでは、コントローラ(制御系)とスイッチ(パケット転送系)が分離されるため、既存のスイッチ動作への機能拡張が容易に実現できる。しかし、既存のオープンフロースイッチは、ヘッダ参照やヘッダ変換を伴うスイッチ処理を行うため、ネットワークを高速化する場合、上述と同様に専用の高速デバイスが必要となりコストの上昇を招く恐れがある。
特開2008-60747 特開2009-253578
OpenFlow Switch Specification Version 1.0.0 (Wire Protocol 0x01) December 31, 2009 Nick McKeownほか7名、"OpenFlow: Enabling Innovation in Camp us Networks"、[online]、[平成22年10月22日検索]、インターネット<URL:http://www.openflowswitch.org//documents/openflow-wp-latest.pdf>
 以上のことから、本発明の目的は、コスト上昇を抑制しながら、高速化ネットワーク環境下において、端末のアクセス先となるサーバを任意に設定することにある。
 本発明の他の目的は、高速化ネットワーク環境下において負荷分散を実現するコンピュータシステムのコスト上昇を抑制することにある。
 本発明の更に他の目的は、高速ネットワーク環境下において、高価なネットワークデバイスを用いなくてもスケーラビリティの高いサーバ負荷分散処理を実現することにある。
 本発明の更に他の目的は、アドレス変換が必要なレイヤ4の負荷分散を高速ネットワーク環境下で実現することにある。
 本発明による一の態様に係るコンピュータシステムは、コントローラと、コントローラによって設定されたフローエントリに適合する受信パケットに対し、フローエントリで規定された中継動作を行うスイッチとを具備する。コントローラは、VIP(Virtual Internet Protcol)アドレスと物理サーバとを対応付けて記録されたテーブルを参照して、端末からのARP要求パケットに含まれるターゲットVIPアドレスに対応する物理サーバを、前記端末のアクセス先となる物理サーバとして選択する。又、コントローラは、選択した物理サーバのMAC(Media Access Control)アドレスを送信元MACアドレスとしたARP応答パケットによって、ARP要求パケットに対して代理応答する。これにより、端末のアクセス先となる物理サーバのMACアドレスは端末に通知される。更にコントローラは、端末から転送され、当該MACアドレスを宛先MACアドレスとした受信パケットを当該物理サーバに至る通信経路に転送することを規定したフローエントリを、スイッチに設定する。
 又、本発明による他の態様に係るコンピュータシステムは、コントローラと、コントローラによって設定されたフローエントリに適合する受信パケットに対し、フローエントリで規定された中継動作を行うスイッチと、切替装置とを具備する。スイッチは、コントローラによって設定された第1フローエントリに従い、第1サーバの第1MACアドレスを宛先MACアドレスとしたパケットを、第1サーバに至る通信経路へ転送する。コントローラは、第1サーバの第1MACアドレスを宛先MACアドレスとしたパケットを切替装置に転送することを規定した第2フローエントリを、第1フローエントリに替えてスイッチに設定する。スイッチは、第2フローエントリに従い、第1MACアドレスを宛先MACアドレスとしたパケットを、切替装置へ転送する。切替装置は、スイッチからの受信パケットの宛先MACアドレスを、第1MACアドレスから、第1サーバとは異なる第2サーバの第2MACアドレスに変更して、第2サーバに至る通信経路へ転送する。
 上述のコントローラは、通信制御プログラムをコンピュータによって実行することで、実現されることが好ましい。
 又、上述の切替装置は、通信制御プログラムをコンピュータによって実行することで実現されることが好ましい。
 本発明による他の態様における通信方法は、コントローラによって設定されたフローエントリに適合する受信パケットに対し、前記フローエントリで規定された中継動作を行うスイッチを備えるコンピュータシステムにおいて実行される通信方法である。本発明による通信方法は、コントローラが、VIP(Virtual Internet Protcol)アドレスと物理サーバとを対応付けて記録されたテーブルを参照して、端末からのARP要求パケットに含まれるターゲットVIPアドレスに対応する物理サーバを、前記端末のアクセス先となる物理サーバとして選択するステップと、コントローラが、当該物理サーバのMAC(Media Access Control)アドレスを、送信元MACアドレスとしたARP応答パケットによって、ARP要求パケットに対して代理応答することにより、端末のアクセス先となる物理サーバのMACアドレスを端末に通知するステップと、端末から転送され、当該MACアドレスを宛先MACアドレスとした受信パケットを物理サーバに至る通信経路に転送することを規定したフローエントリを、コントローラがスイッチに設定するステップとを具備する。
 又、本発明による他の態様における通信方法は、コントローラによって設定されたフローエントリに適合する受信パケットに対し、フローエントリで規定された中継動作を行うスイッチを備えるコンピュータシステムにおいて実行される通信方法である。本発明による通信方法は、スイッチが、コントローラによって設定された第1フローエントリに従い、第1サーバの第1MACアドレスを宛先MACアドレスとしたパケットを、第1サーバに至る通信経路へ転送するステップと、コントローラが、第1サーバの第1MACアドレスを宛先MACアドレスとしたパケットを切替装置に転送することを規定した第2フローエントリを、第1フローエントリに替えて前記スイッチに設定するステップと、スイッチが、第2フローエントリに従い、第1MACアドレスを宛先MACアドレスとしたパケットを、切替装置へ転送するステップと、切替装置が、スイッチからの受信パケットの宛先MACアドレスを、第1MACアドレスから、第1サーバとは異なる第2サーバの第2MACアドレスに変更して、第2サーバに至る通信経路へ転送するステップを具備する。
 本発明によれば、コスト上昇を抑制しながら高速化ネットワーク環境下において、端末のアクセス先となるサーバを任意に設定することができる。
 又、コスト上昇を抑制しながら高速化ネットワーク環境下におけるサーバ負荷分散処理を実現する。
 更に、高速ネットワーク環境下において、高価なネットワークデバイスを用いなくてもスケーラビリティの高いサーバ負荷分散処理を実現する。
 更に、アドレス変換が必要なレイヤ4の負荷分散を高速ネットワーク環境下で実現する。
 上記発明の目的、効果、特徴は、添付される図面と連携して実施の形態の記述から、より明らかになる。
図1は、本発明によるコンピュータシステムの第1の実施の形態における構成を示す図である。 図2は、本発明に係るホスト端末情報テーブルの構造の一例を示す図である。 図3は、本発明に係る負荷情報テーブルの構造の一例を示す図である。 図4は、本発明に係る割当情報テーブルの構造の一例を示す図である。 図5は、本発明に係るオープンフロースイッチの構成の一例を示す図である。 図6は、本発明に係る切替装置の構成の一例を示す図である。 図7は、切替情報テーブルの構造の一例を示す図である。 図8Aは、ARP代理応答する場合の負荷分散動作の一例を示すシーケンス図である。 図8Bは、ARP代理応答する場合の負荷分散動作の一例を示すシーケンス図である。 図9は、本発明によるコントローラにおけるARP応答処理の動作の一例を示すフロー図である。 図10Aは、コントローラにおいてARP代理応答を行わない場合のコンピュータシステムの動作を示すシーケン図である。 図10Bは、コントローラにおいてARP代理応答を行わない場合のコンピュータシステムの動作を示すシーケン図である。 図11は、本発明によるコンピュータシステムにおける宛先サーバ切替動作の一例を示すシーケン図である。 図12は、本発明によるコントローラ20におけるサーバ削除処理(宛先サーバ切替処理)の動作の一例を示すフロー図である。 図13は、本発明によるコンピュータ装置において、セッションを維持しながら宛先サーバを切替える動作の一例を示すシーケンス図である。 図14は、本発明によるコントローラにおける切替処理の動作の一例を示すフロー図である。 図15は、本発明による切替装置におけるパケット制御処理の動作の一例を示すフロー図である。 図16は、本発明による切替装置40におけるフローエントリのエキスパイアに応じた切替動作を示すフロー図である。
 以下、添付図面を参照しながら本発明の実施の形態を説明する。図面において同一、又は類似の参照符号は、同一、類似、又は等価な構成要素を示す。又、同様な構成が複数ある場合は、符号に追番を付して説明し、複数の構成を区別せずに説明する場合は、追番のない符号を付して説明する。
 (概要)
 本発明によるコンピュータシステムは、オープンフロー技術を利用して通信経路の構築及びパケットデータの転送制御を行う。本発明によるコンピュータシステムでは、オープンフローコントローラ(以下、コントローラと称す)が、複数の物理サーバのそれぞれにおける負荷状況に応じて、端末のアクセス先となる物理サーバを決定する。この際、コントローラは、オープンフロースイッチ(以下、スイッチと称す)から端末からのARP要求を収集し、ARP要求に対して代理応答することで、端末のアクセス先となる物理サーバのMACアドレスを端末に通知する。又、コントローラは、端末と物理サーバとを端点とした経路上のオープンフロースイッチに、端末から物理サーバ宛のパケットを中継するためのフローエントリを設定する。このように、本発明によるシステムでは、レイヤ2スイッチを利用したまま、アクセス先となる物理サーバを決定するため、高速化ネットワークにおける負荷分散を低コストで実現することが可能となる。
 (コンピュータシステムの構成)
 図1から図7を参照して、本発明によるコンピュータシステムの構成の一例を説明する。図2は、本発明によるコンピュータシステムの構成の一例を示す図である。
 図1を参照して、本発明によるコンピュータシステムは、複数のスイッチ10-1~10-4、コントローラ20、負荷情報収集装置30、切替装置40、複数の端末50-1、50-2、及び複数のサーバ60-1~60-3を具備する。ここで端末50-1、2、サーバ60-1~60-3は、同一のEthernet LANに接続されたコンピュータ装置に例示される。
 コントローラ20は、セキュアネットワークである制御インタフェース70を介して、複数のスイッチ10-1~10-4のそれぞれに接続される。コントローラ20は、オープンフロープロトコルに従って、複数のスイッチ10-1~10-4のそれぞれにフローエントリを設定することで、複数のスイッチ10-1~10-4のいずれかを介した複数の端末50-1、50-2と複数のサーバ60-1~60-3との間の通信を制御する。
 詳細には、コントローラ20は、オープンフロー技術により、システム内におけるパケット転送に係る通信経路の構築及びパケット転送処理を制御する。ここで、オープンフロー技術とは、コントローラ20が、ルーティングポリシー(フローエントリ:フロー+アクション)に従い、マルチレイヤ及びフロー単位の経路情報を通信経路上のスイッチ10に設定し、経路制御やノード制御を行う技術を示す(詳細は、非特許文献1を参照)。これにより、経路制御機能がルータやスイッチから分離され、コントローラによる集中制御によって最適なルーティング、トラフィック管理が可能となる。オープンフロー技術が適用されるスイッチ10は、従来のルータやスイッチのようにパケットやフレームの単位ではなく、END2ENDのフローとして通信を取り扱う。
 図1を参照して、本発明に係るコントローラ20の構成の詳細を説明する。コントローラ20は、CPU及び記憶装置を備えるコンピュータによって実現されることが好適である。コントローラ20では、図示しないCPUが記憶装置に格納されたプログラムを実行することで、図1に示す負荷分散制御部21、ARP応答処理部22、スイッチ制御部23の各機能が実現される。又、コントローラ20は、図示しない記憶装置に記録されたホスト端末情報テーブル24、負荷情報テーブル25、割当情報テーブル26を備える。
 図2は、ホスト端末情報テーブル24の構造の一例を示す図である。図2を参照して、ホスト端末情報テーブル24には、端末50やサーバ60を識別するホスト端末ID24が、端末50やサーバ60に設定されたIPアドレス242及びMACアドレス243に対応付けられて記録される。すなわち、ホスト端末情報テーブル24には、端末50やサーバ60毎に設定されたIPアドレスやMACアドレスが記録される。
 負荷分散制御部21は、サーバ60-1~60-3のそれぞれから負荷情報収集装置30を介して負荷情報を収集し、負荷情報テーブル25に記録及び管理する。図3は、負荷情報テーブル25の構造の一例を示す図である。負荷情報テーブル25には、サーバ60を特定するサーバ情報251(例えばサーバ60のホスト端末ID)に、当該サーバに設定された仮想IPアドレス252(以下、VIP252と称す)と負荷情報253とが対応付けられて記録される。負荷情報253は、VIP252によって特定されるアプリケーションの負荷やVIP252が割り当てられたサーバの負荷(サーバ負荷)を示す。又、サーバ情報251は、ホスト端末情報テーブル24におけるホスト端末ID241に紐付けられる。これにより、負荷分散制御部21は、負荷情報テーブル25を参照することで、VIPアドレスとサーバ60の実アドレス(IPアドレス242、MACアドレス243)との関係と、サーバ60の負荷情報253を管理することが可能となる。
 負荷情報253は、負荷情報収集装置30によって定期的又は任意の時期に各サーバから収集され、サーバ情報251やVIP252とともに負荷分散制御部21に送信される。例えば、負荷情報収集装置30は、SNMP(Simple Network Management Protocol)、CLI(command line user interface)等のAPIを介してアプリケーション負荷を収集する方法や、サーバ内におかれた負荷収集エージェントから情報を収集する方法などにより負荷情報253を収集する。負荷分散制御部21は、負荷情報収集装置30から定期的又は任意の時期に、負荷情報253を負荷情報収集装置30から取得し、負荷情報テーブル25を更新する。この際、負荷分散制御部21は、能動的又は受動的に負荷情報253を負荷情報収集装置30から取得する。
 又、負荷分散制御部21は、端末50と、当該端末50のアクセス先として割り当てたサーバ60とを対応付けた情報を割当情報テーブル26に記録及び管理する。図4は、割当情報テーブル26の構造の一例を示す図である。割当情報テーブル26には、宛先情報261、端末情報262、割当サーバ情報263が対応付けられて記録される。宛先情報261は、端末50のアクセス先のアプリケーションや仮想サーバを特定する情報であり、例えば仮想マシンに設定されたVIPアドレスである。あるいは宛先情報261は、端末50のアクセス先のサーバを特定するIPアドレスでもよい。端末情報262は、端末50を特定する情報であり、例えば、端末50を識別するホスト端末IDである。割当サーバ情報263は、現在、端末50のアクセス先として割り当てられているサーバ60(物理サーバ)を特定する情報であり、例えば、サーバ60を識別するホスト端末IDである。割当サーバ情報263が、ホスト端末情報テーブル24のホスト端末ID241に紐付けられることで、端末50のアクセス先として割り当てられたサーバ60のMACアドレスを特定することが可能となる。旧宛先サーバ情報264は、“アクセス先の切替前”に端末50のアクセス先として割り当てられていたサーバ60(物理サーバ)を特定する情報である。負荷分散制御部21は、端末50のアクセス先サーバを変更すると、割当サーバ情報263の内容を旧宛先サーバ情報264として記録し、新たに端末50の宛先として割当てたサーバのMACアドレスを割当サーバ情報263として更新する。
 ARP応答処理部22は、制御インタフェース70を介してスイッチ10から通知されるARP要求パケットに対して代理ARP応答を実行する。詳細には、ARP応答処理部22は、ARP要求パケットに含まれるターゲットアドレスに対応するホスト端末(例えばサーバ60)のMACアドレスを送信元としたARP応答パケットを要求元の端末50に送信する。この際、ターゲットアドレスがサーバ60のIPアドレスの場合、ARP応答処理部22は、ホスト端末情報テーブル24を参照して、ターゲットアドレスに一致するIPアドレス242が設定されたサーバ60をARP要求先として特定するとともに、そのサーバ60のMACアドレス243をARP応答パケットの送信元MACアドレスとして設定する。一方、ターゲットアドレスがVIPアドレスの場合、ARP応答処理部22は、負荷情報テーブル25を参照して、ターゲットアドレスに一致するVIP252に対応付けられたサーバ情報251からARP要求先のサーバ60を特定し、ホスト端末情報テーブル24において当該サーバ情報251に紐付けられたホスト端末ID24に対応するMACアドレス243をARP応答パケットの送信元MACアドレスとして設定する。
 以上のような構成により、本発明に係るコントローラ20は、サーバ60毎に設定されたMACアドレスやVIPアドレスを管理するとともに、ARP要求のターゲットアドレスに対応するサーバ60のMACアドレスを送信元としたARP応答パケットを当該サーバ60に替わって代理応答する。
 スイッチ制御部23は、オープンフロープロトコルに従ったスイッチ10に対してフローエントリ(ルール+アクション)の設定又は削除を行う。これにより、スイッチ10は、受信パケットのヘッダ情報に応じたルールに対応するアクション(例えばパケットデータの中継や破棄)を実行する。
 フローエントリに設定されるルールには、例えば、TCP/IP(Transmission Control Protocol/Internet Protcol)のパケットデータにおけるヘッダ情報に含まれる、OSI(Open Systems Interconnection)参照モデルのレイヤ1からレイヤ4のアドレスや識別子の組み合わせが規定される。例えば、レイヤ1の物理ポート、レイヤ2のMACアドレス、VLANタグ(VLAN id)、レイヤ3のIPアドレス、レイヤ4のポート番号のそれぞれの組み合わせがルールとして設定される。尚、VLANタグには、優先順位(VLAN Priority)が付与されていても良い。
 ここで、スイッチ制御部23によってルールに設定されるポート番号等の識別子やアドレス等は、所定の範囲で設定されても構わない。又、宛先や送信元のアドレス等を区別してルールとして設定されることが好ましい。例えば、MAC宛先アドレスの範囲や、接続先のアプリケーションを特定する宛先ポート番号の範囲、接続元のアプリケーションを特定する送信元ポート番号の範囲がルールとして設定される。更に、データ転送プロトコルを特定する識別子をルールとして設定してもよい。
 フローエントリに設定されるアクションには、例えばTCP/IPのパケットデータを処理する方法が規定される。例えば、受信パケットデータを中継するか否かを示す情報や、中継する場合はその送信先が設定される。又、アクションとして、パケットデータの複製や、破棄することを指示する情報が設定されてもよい。
 スイッチ制御部23は、スイッチ10からのファーストパケットの通知やARP要求パケットの通知に応じてスイッチ10に対するフローエントリの設定を行う。スイッチ制御部23における通信経路の設定、フローエントリの設定及び管理は、非特許文献1に記載のオープンフロープロトコルに準拠して行われるため、ここでの詳細な説明は省略する。ただし、当該プロトコルで規定されていない動作については後述する。
 スイッチ10は、コントローラ20によって設定(更新)されたフローエントリに従って受信パケットの処理方法(アクション)を決定する。受信パケットに対するアクションとして、例えば、他のスイッチ10への転送や破棄がある。
 図5は、本発明に係るスイッチ10の構成の一例を示す図である。図5を参照して、スイッチ10は、スイッチ処理部11、フローテーブル12、スイッチ制御部13を備える。スイッチ処理部11は、回線14-1~14-Nを収容し、収容した回線を介して転送されるパケットに対するスイッチ機能を実現する。スイッチ制御部13は、制御インタフェース70を介してコントローラ20に接続され、コントローラ20からの指示に応じてフローテーブル12へのフローエントリの設定を制御する。スイッチ処理部11は、フローテーブル12に設定されたフローエントリに従って、受信パケットに対する処理を決定する。詳細には、スイッチ処理部11は、受信パケットのヘッダ情報に適合するルールがフローテーブル12に設定されている場合、当該ルールを含むフローエントリに規定されたアクションを実行する。一方、受信パケットのヘッダ情報に適合するルールがフローテーブル12に設定されていない場合、当該パケットデータをファーストパケットとして、スイッチ制御部13に通知する。スイッチ制御部13は、ファーストパケットを、制御インタフェース70を介してコントローラ20に送信する。
 又、スイッチ処理部11は、受信パケットがARP要求である場合、受信パケットをスイッチ制御部13に通知する。スイッチ制御部13は、通知された受信パケット(ARP要求パケット)を、制御インタフェース70を介してコントローラ20に送信する。
 切替装置40は、セキュアネットワークである制御インタフェース80を介して、複数のスイッチ10-1~10-4のそれぞれに接続される。切替装置40は、TCPやUDPなどのレイヤ4の粒度でトラヒックを処理できるスイッチやサーバで実現できる。図6は、本発明に係る切替装置40の構成の一例を示す図である。切替装置40は、CPU及び記憶装置を備えるコンピュータによって実現されることが好適である。切替装置40では、図示しないCPUが記憶装置に格納されたプログラムを実行することで、図6に示すスイッチ処理部41、スイッチ制御部43、切替制御部44の各機能が実現される。又、切替装置40の記憶装置(図示なし)には、フローテーブル42と切替情報テーブル45が記録される。
 スイッチ処理部41は、制御インタフェース80を介して複数のスイッチ10-1~10-4で構成されるスイッチネットワークに接続され、制御インタフェース80を介して転送されるパケットに対するスイッチ機能を実現する。スイッチ制御部43は、切替情報テーブル45に基づいてフローテーブル42へのフローエントリの設定を制御する。切替情報テーブル45は、切替制御部44によって記録、管理される。図7は、切替情報テーブル45の構造の一例を示す図である。図7を参照して、切替制御部44は、コントローラ20から送信された宛先情報451、端末情報452、新宛先サーバ情報453、旧宛先サーバ情報454を対応付けて記録する。宛先情報451は、端末50のアクセス先のアプリケーションや仮想サーバを特定する情報であり、例えば仮想マシンに設定されたVIPアドレスである。端末情報262は、端末50を特定する情報であり、例えば、端末50のMACアドレスである。新宛先サーバ情報453は、新たに、端末50のアクセス先として割り当てられたサーバ60(物理サーバ)を特定する情報であり、例えば、サーバ60のMACアドレスである。旧宛先サーバ情報454は、“アクセス先の切替前”に端末50のアクセス先として割り当てられていたサーバ60(物理サーバ)を特定する情報であり、例えばサーバ60のMACアドレスである。
 スイッチ処理部41は、受信パケットを解析し、解析結果をスイッチ制御部43に通知する。スイッチ制御部43は通知された解析結果に基づいて、フローテーブル42に設定されたフローエントリのアクションを変更する。例えば、スイッチ処理部41は、受信パケットがSYNフラグを含むTCPパケットであるかや、受信パケットに適合するフローエントリがあるかを判定し、判定結果をスイッチ制御部43に通知する。スイッチ制御部43は、受信パケットがSYNフラグを含むTCPパケットである場合や、受信パケットがTCPパケットではない場合、切替情報テーブル45を参照して、受信パケットに適合するフローエントリのアクションで規定した宛先を、新宛先サーバ情報453で示されるMACアドレスに変更する。あるいは、スイッチ制御部43は、受信パケットがSYNフラグを含むTCPパケットではなく、当該パケットに適合するフローエントリが設定されている場合、当該フローエントリに規定されたアクションを実行する。
 以上のような構成により、本発明によるコンピュータシステムでは、サーバの負荷に応じて端末のアクセス先の変更をコントローラ20によって一元制御するともに、切替装置40を利用することで、セッションを維持しながら端末50のアクセス先のサーバ60を他のサーバに切り替えることが可能となる。
 (動作)
 以下、図8Aから図16を参照して、本発明によるコンピュータシステムの動作の詳細を説明する。以下では、(1)ARP代理応答する場合の負荷分散動作、(2)ARP代理応答しない場合の動作、(3)宛先サーバ切替動作、(4)セッションを維持しながら宛先サーバを切替える動作、及び(5)フローエントリの削除に応じた切替終了動作の5つの動作について説明する。
 (1)ARP代理応答する場合の負荷分散動作
 図8A、図8B及び図9を参照して、本発明によるコンピュータシステムのARP代理応答する場合の負荷分散動作を説明する。ここでは、端末50-1が、サーバ60-1~60-2に対して割り当てられているVIPアドレス宛に通信を開始するものとして説明する。図8A及び図8Bは、ARP代理応答する場合の負荷分散動作の一例を示すシーケンス図である。図9は、本発明によるコントローラ20におけるARP応答処理の動作の一例を示すフロー図である。
 本動作に先立って、コントローラ20は、スイッチ10-1においてARPパケットを受信した場合にはコントローラに送信するフローエントリをスイッチ10-1のフローテーブル12に記述しておく。例えば、端末50-1に接続するインタフェース(ポート番号)と、ARP要求を示す情報としてイーサネットのタイプフィールドが0x0806であるマッチ条件をルールとし、コントローラ20への転送をアクションとするフローテエントリがスイッチ10-1に設定される。
 先ず、端末50-1は、アクセス先のVIPアドレスに対するレイヤ2のアドレスであるMACアドレスを取得するため、ARP要求パケットをブロードキャスト送信する(ステップS101)。ここで送信されるARP要求パケットは、宛先がブロードキャストアドレス、送信元が端末50-1のMACアドレスであり、ペイロー途中に解決したいターゲットであるVIPアドレスが示されている。
 端末50-1に隣接するスイッチ10-1は、端末50-1からのパケットを受信すると、フローテーブル12を参照し該当エントリを検索し、当該パケットに適合する(マッチする)フローエントリが設定されているかを判定する(ステップS102)。ここで、受信パケットは、端末50-1に接続するインタフェースを介したARP要求パケットであるため、スイッチ10-1は、当該パケットに適合するフローエントリに規定されたアクション“受信したARP要求パケットをコントローラ20に通知する”を実行する(ステップS102No、S103Yes、S104)。コントローラ20は、スイッチ10-1から通知されたARP要求パケットに対して、ARP応答処理を実行する(ステップS105)。
 図9を参照して、ステップS105におけるARP応答処理の詳細を説明する。コントローラ20のARP応答処理部22は、通知されたARP要求パケットのターゲットアドレスを参照し、当該要求がVIPアドレスに対するARP要求か否かを判定する(ステップS11)。ここでは、ARP要求パケットがVIPアドレス宛のパケットであるため、ARP応答処理部22は、負荷分散制御部21から当該VIPアドレスに対する実サーバ情報(MACアドレス)を取得する(ステップS11Yes、S12)。
 詳細には、負荷分散制御部21は、負荷情報テーブル25を参照して、受信パケットの宛先VIPアドレスが割り当てられたサーバ(サーバ情報251)を特定し、特定したサーバ情報251に対応するMACアドレス243をホスト端末情報テーブル24から抽出し、ARP応答処理部22に渡す。この際、宛先VIPアドレスが割り当てられたサーバが複数ある場合、負荷分散制御部21は、複数のサーバ(サーバ情報251)のそれぞれに対応する負荷情報253に基づいて、アクセス先として割り当てるサーバを決定する。例えば、負荷分散制御部21は、宛先VIPアドレスが割り当てられた複数のサーバのうち、最も小さい負荷のサーバ60-1を、端末50-1のアクセス先として割り当て、当該サーバのMACアドレスをARP応答処理部22に渡す。負荷分散制御部21は、ARP要求パケットのターゲットVIPアドレスにサーバを割り当てると、この割り当てた結果を割当情報テーブル26に記録する。詳細には、負荷分散制御部21は、ARP要求パケットのターゲットVIPアドレスを宛先情報261、ARP要求パケットの送信元アドレス(例えば送信元MACアドレス)に対応するホスト端末IDを端末情報262、当該VIPアドレスに割り当てたサーバのホスト端末IDを割当サーバ情報263とするとともに、それぞれを対応付けて割当情報テーブル26に記録する。
 あるいは、負荷情報253に応じてVIPアドレスに割当られたサーバが、予め割当情報テーブル26に記録されている場合、負荷分散制御部21は、割当情報テーブル26から、ターゲットVIPアドレスに対応する割当サーバ情報263を抽出し、割当サーバ情報263に対応するMACアドレス243をARP応答処理部22に渡す。尚、ステップS12において、負荷分散制御部21は、割当情報テーブル26を参照した後、予めVIPアドレスに割当てられたサーバが記録されていない場合、負荷情報テーブル25に基づいてターゲットVIPアドレスに割当てるサーバを決定することが好ましい。
 一方、ステップS11において、受信パケットがVIPアドレスに対するARP要求パケットでない場合(例えば宛先IPアドレスに対するARP要求パケットの場合)、ARP応答処理部22は、代理応答するか否かを判定する(ステップS14)。例えば、コントローラ20に、ネットワークに接続している端末の情報が予め設定されている場合、無駄なトラヒックを防ぐため、受信したARP要求パケットをフラッディング(ブロードキャスト)しなくても代理で応答を返すことができる。ステップS14においてARP応答処理部22は、所定の端末からのARP要求に対して代理応答することが設定されているか否かを判定し、設定されている場合、当該設定に基づいてARP応答を行う(ステップS14Yes、S15、S13)。ここで、ARP要求に対する代理応答をする場合、ARP応答処理部22は、ファーストパケットの宛先IPアドレスに対応するMACアドレス243をホスト端末情報テーブル24から取得する(ステップS15)。負荷分散制御部21は、ARP要求パケットのターゲットIPアドレスにサーバが割り当てられると、この割り当てられた結果を割当情報テーブル26に記録することが好ましい。詳細には、負荷分散制御部21は、ARP要求パケットのターゲットIPアドレスを宛先情報261、ARP要求パケットの送信元アドレス(例えば送信元MACアドレス)に対応するホスト端末IDを端末情報262、当該IPアドレスに割り当てたサーバのホスト端末IDを割当サーバ情報263とするとともに、それぞれを対応付けて割当情報テーブル26に記録する。
 ARP応答処理部22は、負荷分散制御部21又はホスト端末情報テーブル24から取得したMACアドレスを送信元MACアドレスとし、ARP要求パケットの送信元MACアドレスを宛先MACアドレスとしたARP応答パケットを、要求元の端末50-1に送信する(ステップS13、図8BのステップS106)。ここでは、サーバ60-1のMACアドレスを送信元MACアドレスとし、端末50-1のMACアドレスを宛先MACアドレスとしたARP応答パケットが送信される。
 図8A及び図8Bを参照して、コントローラ20から送信されたARP応答パケットは、制御インタフェース70を介して、ARP要求パケットの通知元のスイッチ10-1に送信される(ステップS106)。この際、コントローラ20は、当該ARP応答パケットを端末50-1に転送するためのフローエントリを、ARP応答パケットの送信に先立ってスイッチ10-1に設定した後、ARP応答パケットをスイッチ10-1に送信する。スイッチ10-1は、フローテーブルに従い、受信したARP応答パケットを端末50-1に転送する(ステップS107)。
 端末50-1は、受信したARP応答パケットの送信元MACアドレスを、宛先VIPアドレスに割り当てられたMACアドレスとしてARPテーブルに設定する(ステップS108)。ここでは、宛先VIPアドレスのサーバ60-1のMACアドレスが割り当てられる。ステップS108以降、端末50-1は、VIPアドレス宛のパケットの宛先MACアドレスをサーバ60-1のMACアドレスとして、VIPアドレス宛の通信を行うこととなる(ステップS109~S115)。詳細には、端末50-1は、サーバ60-1のMACアドレスを宛先としたVIPアドレス宛のパケットを送信する(ステップS109)。スイッチ10-1は受信パケットがフローテーブル内のエントリに適合するか否かを判定し、適合しない場合、ファーストパケットとしてコントローラ20に通知する(ステップS110Yes、S111)。コントローラ20は、通知されたファーストパケットを解析し、フロー制御処理を行う(ステップS112)。詳細には、コントローラ20は、ファーストパケットの送信元MACアドレス及び宛先MACアドレスから通信経路の端点となる端末50-1及びサーバ60-1を特定し、端点間を結ぶ通信経路を算出する。続いてコントローラ20は、パケットが通信経路を転送するためのフローエントリを決定する。コントローラ20は、通信経路上のスイッチ10にフローエントリの設定を指示する(ステップS113)。スイッチ10-1は、フローエントリの設定指示に応じて、自身のフローテーブル12に、当該フローエントリを設定し、ステップS109において受信したパケットを当該フローエントリに従った転送先に転送する(ステップS115)。例えば、“端末50-1のMACアドレスを送信元アドレスとし、サーバ60-1のMACアドレスを送信元アドレスとしたVIPアドレス宛のパケットを、サーバ60-1に転送する”ことが規定されたフローエントリが、スイッチ10-1に設定される。
 ステップS114以降、端末50-1のMACアドレスを送信元アドレスとし、サーバ60-1のMACアドレスを送信元アドレスとしたVIPアドレス宛のパケットは、スイッチ10-1を介してサーバ60-1に転送されることとなる。尚、図8A及び図8Bに示す一例では、スイッチ10-1からサーバ60-1にパケットが転送されているが、フローエントリに、サーバ60-1に至る通信経路上の他のスイッチ10が転送先として規定されている場合は、他のスイッチ10を介してサーバ60-1に転送されることは言うまでもない。
 又、スイッチ10に設定されるフローエントリのルールとしては、少なくとも送信元MACアドレス及び宛先MACアドレスが規定されていればよく、宛先IPアドレスは規定されていなくても良い。これにより、パケットは通常のL2スイッチネットワークで転送可能となるため、スイッチ10のもつL2スイッチ機能を利用することで、サーバ60-1との間で通信が可能になる。この場合、スイッチ10はL2転送を行うため、パケットはその宛先アドレスのみに基づいて転送される。すなわち、ネットワーク内でパケットヘッダの書き換えが伴われないため、高速かつ安価なスイッチを利用してシステムを構成することが可能である。
 以上のように、本発明によるコンピュータシステムでは、端末50が実施したVIPアドレスに対するARP要求をコントローラ20でキャプチャし、VIPアドレスに割当てたサーバ(のMACアドレス)を送信元としてARP代理応答を行う。又、コントローラ20によってVIPアドレスに割り当てたMACアドレス宛に受信パケットを転送するフローエントリが、スイッチ10に設定される。これにより、スイッチ10はMACアドレスを変換することなくVIPアドレスに対応する宛先サーバ(MACアドレス)に受信パケットを転送することができる。従って、本発明によれば、高速で且つ安価なL2ネットワークにおいて、端末50のアクセス先をコントローラ20において任意に設定することができる。又、本発明によるコントローラ20は、サーバ負荷に応じてアクセス先のサーバを変更するため、高速で且つ安価なL2ネットワークにおいて、サーバ負荷分散を実現することができる。
 (2)ARP代理応答しない場合の動作
 図9に示すステップS14において、ARP要求に対する代理応答を行わない場合の動作を、図10A及び図10Bを参照して説明する。図10A及び図10Bは、コントローラにおいてARP代理応答を行わない場合のコンピュータシステムの動作を示すシーケン図である。
 図8A及び図8Bで示す動作と同様に、端末50-1から送信されたVIPアドレスをターゲットアドレスとしたARP要求パケットがスイッチ10-1からコントローラ20に通知される(ステップS101からS104)。コントローラ20は、スイッチ10-1から通知されたARP要求パケットに対して、ARP応答処理を実行する(ステップS105)。
 図9を参照して、コントローラ20において、ARP要求に対する代理応答は行わない場合のARP応答処理(ステップS105)を説明する。コントローラ20のARP応答処理部22は、通知されたARP要求パケットのターゲットアドレスを参照し、当該要求がVIPアドレスに対するARP要求か否かを判定する(ステップS11)。ここでは、受信パケットがVIPアドレスに対するARP要求パケットでないため(例えばARP要求パケットはIPアドレス宛のパケットであるため)、ARP応答処理部22は、代理応答するか否かを判定する(ステップS14)。ここで、ARP要求に対する代理応答をしない場合(ARP要求元端末に対して代理応答することが、コントローラ20に設定されていない場合)、ARP応答処理部22は、ARPパケットを、通知元のスイッチ10に返却し、当該ARPパケットブロードキャストさせるためのARP指示を行う(ステップS16、図10AのステップS201)。
 図10A及び図10Bを参照して、ARP要求に対する代理応答をしない場合、コントローラ20は、ARP要求パケットをブロードキャストするように当該ARP要求パケットの通知元のスイッチ10に指示する(ステップS201)。ここでコントローラ20は、スイッチ10-1に対し、ARP要求パケットをブロードキャストさせるためのフローエントリの設定を指示するとともに、通知されたARP要求パケットを返却する。スイッチ10-1は、フローエントリの設定指示に応じてフローテーブル12を更新し、当該フローエントリに従い、受信したARP応答パケットをブロードキャストする(ステップS202、S203)。ここでは、ARP要求パケットは、サーバ60-1、60-2に転送される。尚、図10A及び図10Bに示す一例では、スイッチ10-1からサーバ60-1、60-2にARP要求パケットが転送されているが、フローエントリに、他のスイッチ10が転送先として設定されている場合は、他のスイッチ10を介してサーバ60-1、60-2に転送されることは言うまでもない。
 ステップS203以降は、通常の端末によるARP手順と同様に宛先MACの取得動作が行われる(ステップS204~S206)。図10A及び図10Bに示す一例では、サーバ60-2からARP応答パケットが端末50-1に送信され、端末50-1は、ARP応答パケットの送信元MACアドレスを宛先IPアドレスのMACアドレスとしてARPテーブルに設定する(ステップS204~S206)。
 ステップS206以降、図8A及び図8Bに示す動作と同様に、端末50-1のMACアドレスを送信元アドレスとし、サーバ60-2のMACアドレスを送信元アドレスとしたIPアドレス宛のパケットは、スイッチ10-1を介してサーバ60-2に転送されることとなる(ステップS109~S115)。
 (3)宛先サーバ切替動作
 図11及び図12を参照して、本発明によるコンピュータシステムにおける宛先サーバ切替動作を説明する。ここでは、端末50-1のアクセス先のサーバ60-1を削除し、アクセス先をサーバ60-2に切り替える場合の動作を一例に説明する。図11は、本発明によるコンピュータシステムにおける宛先サーバ切替動作の一例を示すシーケン図である。図12は、本発明によるコントローラ20におけるサーバ削除処理(宛先サーバ切替処理)の動作の一例を示すフロー図である。
 図11を参照して、端末50-1は、スイッチ10-1を介してサーバ60-1に接続している(ステップS301、S302)。このとき、例えばサーバ60-1に障害が発生した場合、負荷情報収集装置30により、サーバ60-1の削除がコントローラ20に通知される(図示なし)。コントローラ20は、サーバ削除の通知に応じてサーバ削除処理(宛先サーバ切替処理)を実行する(ステップS303)。
 図12を参照して、ステップS303におけるサーバ削除処理の詳細を説明する。負荷分散制御部21は、負荷情報収集装置30からサーバの削除情報を取得すると、割当情報テーブル26を参照して、該当サーバのMACアドレスを宛先として割当てている端末50を特定する(ステップS21、22)。詳細には、負荷分散制御部21は、削除するサーバのホスト端末IDに一致する割当サーバ情報263によって割当情報テーブル26を検索し、対応する宛先情報261及び端末情報262を特定する(ステップS23)。ここではVIPアドレス及び端末50-1が特定されるものとする。
 続いてARP応答処理部22は、負荷分散制御部21から、特定された宛先情報261及び端末情報262に割当てる実サーバ情報(MACアドレス)を取得する。詳細には、負荷分散制御部21は、負荷情報テーブル25を参照して、ステップS22において特定された宛先情報261(例えば宛先VIPアドレス)が割り当てられたサーバ(サーバ情報251)を特定し、特定したサーバ情報251に対応するMACアドレス243をホスト端末情報テーブル24から抽出し、ARP応答処理部22に渡す。この際、VIPアドレスが割り当てられたサーバが複数ある場合、負荷分散制御部21は、複数のサーバ(サーバ情報251)のそれぞれに対応する負荷情報253に基づいて、新たなアクセス先として割り当てるサーバを決定する。例えば、負荷分散制御部21は、VIPアドレスが割り当てられた複数のサーバのうち、削除されたサーバ60-1を除く最も小さい負荷のサーバ60-2を、端末50-1のアクセス先として割り当て、当該サーバのMACアドレスをARP応答処理部22に渡す。負荷分散制御部21は、VIPアドレスに対応する新たな宛先としてサーバ60-2を割り当てると、この割り当てた結果を割当情報テーブル26に記録する。このとき、負荷分散制御部21は、サーバの割当変更前の割当サーバ情報263を旧宛先サーバ情報264として記録し、新たにVIPアドレスに割当てるサーバのホスト端末IDを割当サーバ情報263として上書きする。例えば、負荷分散制御部21は、ステップS22で特定されたVIPアドレスを宛先情報261、ステップS22において特定された端末50-1に対応するホスト端末IDを端末情報262、当該VIPアドレスに割り当てたサーバ60-2のホスト端末IDを割当サーバ情報263とするとともに、それぞれを対応付けて割当情報テーブル26に記録する。
 ARP応答処理部22は、負荷分散制御部21において新たに割当てられたサーバのMACアドレスを送信元MACアドレスとするGARP(Gratuious ARP)パケットを、ステップS22で特定された端末50に発光する(ステップS24、図11のステップS304)。ここで、GARPパケットには、端末50-1とその宛先VIPアドレスに対して新たに割当てられたサーバ60-2のMACアドレスが送信元MACアドレスとして設定されている。図11を参照して、GARPパケットはスイッチ10-1を介して端末50-1に送信される(ステップS304、S305)。
 端末50-1は、受信したGARPパケットの送信元MACアドレスを、宛先VIPアドレスに割り当てられたMACアドレスとしてARPテーブルを更新する(ステップS306)。ここでは、宛先VIPアドレスにサーバ60-2のMACアドレスが割り当てられる。ステップS306以降、端末50-1は、図10A及び図10BのステップS109~S115と同様に、VIPアドレス宛のパケットの宛先MACアドレスをサーバ60-2のMACアドレスとして、VIPアドレス宛の通信を行うこととなる(ステップS307~S313)。
 以上のように、本発明によれば、宛先サーバが削除されても、コントローラ20による一元制御により、負荷を考慮した宛先サーバの切替が可能となる。
 (4)セッションを維持しながら宛先サーバを切替える動作
 図13から図15を参照して、本発明によるコンピュータシステムのセッションを維持しながら宛先サーバを切替える動作について説明する。ここでは、端末50-1とサーバ60-1との間の通信を、端末50-1とサーバ60-2との間の通信に切り替える場合について説明する。図13は、本発明によるコンピュータ装置において、セッションを維持しながら宛先サーバを切替える動作の一例を示すシーケンス図である。図14は、本発明によるコントローラ20における切替処理の動作の一例を示すフロー図である。図15は、本発明による切替装置40におけるパケット制御処理の動作の一例を示すフロー図である。
 図13を参照して、端末50-1は、スイッチ10-1を介してサーバ60-1に接続している(ステップS401、S402)。このとき、コントローラ20は、例えばサーバ60-1への負荷が増大すると、端末50-1とサーバ60-1との間の通信を、負荷の小さな他のサーバ60との通信に切り替えるための切替処理を実行する(ステップS403)。
 図14を参照して、ステップS403における切替処理の詳細を説明する。負荷分散制御部21は、負荷情報テーブル25及び割当情報テーブル26を参照して、端末の宛先VIPアドレスに割当てられたサーバのうち、負荷が増大したサーバを、負荷の小さな他のサーバに切り替える(ステップS31)。詳細には、負荷分散制御部21は、端末の宛先VIPアドレスに割当てられたサーバの負荷が、所定の閾値を超えた場合、あるいは、当該宛先VIPアドレスをもつ他のサーバの負荷が所定の閾値よりも低下した場合、現在VIPアドレスに割当てている宛先サーバを、負荷の小さな他のサーバに切り替える。負荷分散制御部21は、サーバの割当変更前の割当サーバ情報263を旧宛先サーバ情報264として記録し、新たに宛先サーバとして割当てるサーバのホスト端末IDを割当サーバ情報263として上書きする。例えば、負荷分散制御部21は、負荷が閾値を越えたサーバ60-1のホスト端末IDを旧宛先サーバ情報264とするとともに、負荷が小さいサーバ60-2のホスト端末IDを割当サーバ情報263として宛先情報261(VIPアドレス)及び端末情報262(端末50-1)に対応付けて記録する。尚、負荷分散制御部21による宛先サーバの切替動作は、定期的に行われても良いし、任意の時期(例えば、負荷情報テーブル25の更新時(負荷情報収集装置30からの負荷情報の通知時))に行われても良い。
 負荷分散制御部21は、宛先サーバを切替えると、切替前後の宛先サーバの情報(MACアドレス)を、切替情報として切替装置40に通知する(ステップS32、図13のS404)。詳細には、ステップS31において更新された割当サーバ情報263及び旧宛先サーバ情報264に対応するMACアドレス243と、これらに対応付けられた端末情報262に対応するMACアドレス及び宛先情報261(VIPアドレス)が、切替情報として切替装置40に送信される。ここでは、端末50-1からVIPアドレス宛のトラヒックに割当てられた、切替前のサーバ60-1のMACアドレスと切替後のサーバ60-2のMACアドレスとの対応情報が、切替情報として切替装置40に通知される。
 図13を参照して、切替装置40の切替制御部44は通知された切替情報を、切替情報テーブル45に記録する(ステップS405)。ここでは、切替情報に含まれる宛先情報261(VIPアドレス)、端末情報262に対応するMACアドレス、割当サーバ情報263に対応するMACアドレス及び旧宛先サーバ情報264に対応するMACアドレス243がそれぞれ、宛先情報451、端末情報452、新宛先サーバ情報453及び旧宛先サーバ情報454として切替情報テーブル45に記録される。
 切替装置40に切替情報を通知すると、コントローラ20は、切替前のサーバ60宛の通信経路を切替装置40に振り向けるようにフローエントリの設定(変更)を、当該通信経路上のスイッチ10に対して指示する(リダイレクト設定指示、ステップS406、図14のS33)。詳細には、コントローラ20のスイッチ制御部23は、リダイレクト設定の対象となる端末50と切替前のサーバ60との間の通信経路上において端末50に隣接するスイッチ10のフローエントリを変更する。ここでは、端末50-1に隣接するスイッチ10-1のフローエントリの変更を指示する。
 スイッチ10-1は、フローエントリの設定指示に応じて、自身のフローテーブル12に、当該フローエントリを設定する(ステップS407)。ここでは、“端末50-1のMACアドレスを送信元MACとし、サーバ60-1のMACアドレスを宛先MACアドレスとしたパケットを、切替装置40に転送する”と規定されたフローエントリが設定される。
 ステップS407以降、端末50-1のMACアドレスを送信元アドレスとし、サーバ60-1のMACアドレスを送信元アドレスとしたVIPアドレス宛のパケットは、スイッチ10-1を介してサーバ60-1に転送されることとなる。(ステップS408、S409)。詳細には、端末50-1は、サーバ60-1のMACアドレスを宛先としたVIPアドレス宛のパケットを送信する(ステップS408)。スイッチ10-1は受信パケットをフローエントリに従った切替装置40に転送する(ステップS409)。これにより、端末50-1から宛先MACが60-1宛のトラヒックのリダイレクトが実現される。
 切替装置40は、パケットを受信すると、パケット制御処理により受信パケットを解析し、解析結果に応じてフローエントリの変更やフローエントリに従った処理を行う(ステップS410)。
 図15を参照して、ステップS413におけるパケット制御処理の一例を説明する。切替装置40では、TCPのセッションを意識して、新規TCPコネクションから順次、その宛先サーバを切替先のサーバに切替える。宛先サーバの切替方法については、切替装置40内でパケット内の宛先MACアドレスを切替先のサーバのMACアドレスに変換することで実現される。
 先ず、切替装置40は、受信パケットがTCPパケットか否かを判定する(ステップS41)。受信パケットがTCPパケットではない場合、コネクションの概念がないため、スイッチ処理部41は、受信パケットの宛先を新宛先サーバ情報453に対応するサーバ60とし、“受信パケットの宛先MACアドレスを当該サーバ60のMACアドレスに変換して転送する”ことを規定したフローエントリを、フローテーブル42に登録する(ステップS41No、S43)。詳細には、ステップS43においてスイッチ制御部43は、切替情報テーブル45から、受信パケットの送信元MACアドレス及び宛先VIPアドレスに対応する新宛先サーバ情報453を特定する。続いてスイッチ制御部43は、受信パケットの送信元MACアドレス及び宛先VIPアドレスをルールとし、パケットの宛先MACアドレスを、特定した新宛先サーバ情報453(MACアドレス)に変換して転送することをアクションとしたフローエントリを、フローテーブル42に登録する。
 一方、ステップS41において、受信パケットがTCPパケットである場合、切替装置40は受信パケットのSYNフラグビットを確認する(ステップS41Yes、S42)。ここで、受信パケットがSYNパケットである場合、当該パケットはTCPの新規コネクションを示すため、ステップS43に移行し、このコネクションについて新規サーバ宛(新宛先サーバ情報453)に宛先が変更される(ステップS42Yes)。
 ステップS43においてフローテーブル42が変更されると、スイッチ処理部41は、変更されたフローテーブルに規定されたアクションを実行する(ステップS50)。ここでスイッチ処理部41は、受信パケットの宛先MACアドレスを、コントローラ20によって新たに割り当てたサーバのMACアドレス(新宛先サーバ情報453)に変換して転送する。
 一方、受信パケットがSYNパケットではなく、TCP終了判定条件を満たしていない場合、スイッチ処理部41は、受信パケットに適合するフローエントリに規定されたアクションに従って、受信パケットを転送する(ステップS42No、S44Yes、S45、S48No、S50)。ここで、TCP終了判定条件を満たすとは、例えばFINパケット及びFIN-ACKパケットが双方向に送信される場合を示す。
 しかし、SYNパケットではない受信パケットに適合するフローエントリが、フローテーブル42に設定されていない場合、スイッチ処理部41は、受信パケットの宛先を旧宛先サーバ情報454に対応するサーバとし、“受信パケットの宛先MACアドレスを当該サーバのMACアドレスに変換して転送する”ことを規定したフローエントリをフローテーブル42に登録する(ステップS42No、S44No、S46、S47)。詳細には、スイッチ制御部43は、切替情報テーブル45から、受信パケットの送信元MACアドレス及び宛先VIPアドレスに対応する旧宛先サーバ情報454を特定する。続いてスイッチ制御部43は、受信パケットの送信元MACアドレス及び宛先VIPアドレスをルールとし、パケットの宛先MACアドレスを、特定した旧宛先サーバ情報454(MACアドレス)に変換して転送することをアクションとしたフローエントリを、フローテーブル42に登録する。フローエントリの登録後、TCP終了判定条件を満たしていない場合、スイッチ処理部41は、ステップS47において登録したフローエントリに規定されたアクションに従って、受信パケットを転送する(ステップS50)。
 又、受信パケットがTCPパケットであって、FINパケット及びFIN-ACKパケットが双方向に送信されるような、終了判定条件を満たしている場合、コネクションがクローズされたとして明示的にフローテーブルのエントリを削除する(ここでは、明示的に削除宣言されるだけで、実際の削除はアクション実行後に行われる)(ステップS48Yes、S49)。
 以上のように、切替装置40は、受信パケットの宛先サーバが旧サーバか切替後の新サーバかを判断し、判断結果に応じたフローエントリに従った宛先に受信パケットを転送する。本発明では、切替装置40によって端末50から転送されたパケットの宛先MACアドレスを変更することで、セッションを維持しつつ宛先サーバを他のサーバに切り替えることができる。図14に示す一例では、切替装置40は、受信パケットに応じて設定されたフローエントリ、又は受信パケットに適合するフローエントリに従って、端末50-1からサーバ60-1のMACアドレス宛のパケットを、サーバ60-2のMACアドレス宛に変換して転送する(ステップS410、S411)。本発明では、スイッチ10にMACアドレスの変換機能(セッションレイヤの処理)を持たせずに、サービス中のコネクションを維持しながら端末50のアクセス先サーバを変更できるため、スイッチ10としてL2スイッチを利用することができる。従って、本発明によれば、コスト上昇を抑制しながら高速化ネットワーク環境下における負荷分散を実現することが可能となる。又、代理ARP機能はスイッチ10と独立したコントローラ20によって行われるため、スイッチネットワークの規模によらずに負荷分散が可能となる。このため、高価なネットワークデバイスを用いなくてもスケーラビリティの高いサーバ負荷分散処理が実現される。
 更に、ステップS403においてコントローラ20は、端末-サーバ間通信のプロトコルに応じて、宛先サーバの割当変更時において切替装置を利用するか否かを決定してもよい。例えば。端末-サーバ間の通信がTCP通信である場合、サーバ割当変更時に、切替装置40を通過させることで、セッションを切らずに徐々にサーバ割当の変更を行う。一方、HTTP通信の場合は、切替装置40を通過させずサーバ割当を変更し、セッションの中断を許す。あるいは、コントローラ20は、HTTPプロトコルでも特定の重要なアプリケーションの場合は切替装置を通過させて、サービスを途切れないようにする、といった制御をおこなってもよい。更に、コントローラ20は、送信元IPアドレスに応じて、切替装置に分岐させるかどうかを決めることで、プロトコル単位のみならずユーザ単位でも、サーバ割当の変更時にセッションを維持するか否かを設定することが可能となる。
 (5)フローエントリの削除に応じた切替終了動作
 図16は、本発明による切替装置40におけるフローエントリのエキスパイアに応じた切替動作を示すフロー図である。図16を参照して、本発明による切替装置40におけるフローエントリのエキスパイアに応じた切替動作を説明する。ここでは、切替装置40のフローテーブル42に登録されるフローエントリは、所定の時間の経過後や所定の条件を満たした場合、フローテーブル42から削除される。この場合の切替装置40の動作を説明する。
 TCPコネクションの終了条件を満たす場合や、タイムアウトによってフローエントリがエキスパイアされると、切替制御部44は、フローテーブル42に記録されたフローエントリのうち、切替前のサーバのMACアドレス(旧宛先サーバ情報454)を宛先MACアドレスとするフローエントリの有無を確認する(ステップS60、S61、S62)。ここで、フローテーブル42に旧宛先サーバ情報454を宛先MACアドレスとするフローエントリがある場合、切替制御部44は、新たなフローエントリのエキスパイアが発生するまで、待機する(ステップS62No)。一方、旧宛先サーバ情報454を宛先MACアドレスとするフローエントリが無くなった場合、切替制御部44は、切替処理の終了をコントローラ20に通知する(ステップS62Yes、S63)。例えば、切替制御部44は、フローエントリを削除する都度、旧宛先サーバ情報454を宛先MACアドレスとするフローエントリをカウントし、当該カウント値が0になった時点、あるいは切替処理から一定時間が経過した時点で、切替終了として、コントローラに通知する。
 コントローラ20は切替終了通知をうけると端末50に対して、図11又は図12と同様にGARPパケットによってVIPアドレスに対する物理サーバ(MACアドレス)を通知する(図示なし)。例えば、コントローラ20は切替終了通知に応じて端末50-1に対して、GARPパケットによってVIPアドレスに対する物理サーバが、サーバ60-2(のMACアドレス)となったことを通知する。端末50-1はVIPアドレスに対するARPキャッシュエントリをサーバ60-2のMACとして、以降のVIPアドレス宛通信をサーバ60-2のMACアドレス宛に出力する。更に、コントローラ20は端末50-1から切替装置40に向けてリダイレクトしていた経路用のフローエントリを削除するとともに、切替装置のリソースを開放する(図示なし)。
 以上のように、本発明によるコンピュータシステムによれば、スイッチにおいてヘッダ変換を行うことなくアクセス先のサーバを変更することができるため、低コストで高速なL2スイッチによって負荷分散システムを構築することが可能となる。又、本発明では、オープンフローネットワークを利用して、サーバ負荷やサーバの削除に応じてフローの設定やアクセス先サーバの変更を実現しているため、スケーラビリティの高いサーバ負荷分散処理が可能となる。
 以上、本発明の実施の形態を詳述してきたが、具体的な構成は上記実施の形態に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。例えば、スイッチ10、端末50、切替装置40、サーバ60の数は上述の例に限らないことは言うまでもない。又、本発明によるコンピュータシステムが複数設けられ、それぞれのコントローラ20の連携により、複数のシステム間で経路制御(負荷分散制御)されても構わない。更に、上述の例では、サーバ負荷やアプリケーション負荷に応じて宛先サーバの変更が行われたが、これに限らず、ネットワーク負荷(輻輳状況)やベンダによる設定によって任意に宛先サーバの変更が行われても良い。例えば、サーバの保守時に、宛先サーバの変更が行われる。更に、切替装置40は、コントローラ20とは別の装置で実現されても、同じ装置で実現されてもどちらでも良い。切替装置40がコントローラ20と同じ装置で実現される場合、スイッチ10の機能(パケット中継機能)も適用されることとなる。すなわち、切替装置40はコントローラ20とスイッチ10とを組み合わせることでも実現できる。
 上記の実施の形態の一部又は全部は、以下の付記のようにも記載し得るが、以下には限られない。
 (付記1)
 コントローラと、
 前記コントローラによって設定されたフローエントリに適合する受信パケットに対し、前記フローエントリで規定された中継動作を行うスイッチと
 を具備し、
 前記コントローラは、端末からのARP要求パケットに対して代理応答することにより、前記端末のアクセス先となる物理サーバのMAC(Media Access Control)アドレスを前記端末に通知し、
 前記端末から転送され、前記MACアドレスを宛先MACアドレスとした受信パケットを前記物理サーバに至る通信経路に転送することを規定したフローエントリを、前記スイッチに設定する
 コンピュータシステム。
 (付記2)
 付記1に記載のコンピュータシステムにおいて、
 前記コントローラは、VIP(Virtual Internet Protcol)アドレスと物理サーバとを対応付けて記録されたテーブルを参照して、前記ARP要求パケットに含まれるターゲットVIPアドレスに対応する物理サーバを、前記端末のアクセス先となる物理サーバとして選択し、前記物理サーバのMACアドレスをARP応答パケットの送信元MACアドレスとして、前記端末に送信する
 コンピュータシステム。
 (付記3)
 付記1又は2に記載のコンピュータシステムにおいて、
 前記コントローラは、複数のサーバのそれぞれに対する負荷に応じて、前記端末のアクセス先となる物理サーバのMACアドレスを選択する
 コンピュータシステム。
 (付記4)
 付記1から3のいずれか1項に記載のコンピュータシステムにおいて、
 前記コントローラは、前記物理サーバと異なる他の物理サーバのMACアドレスを送信元MACアドレスとしたGARPパケットを前記端末に送信することで、前記端末のARPテーブルに設定された宛先MACアドレスを、前記物理サーバのMACアドレスから前記他の物理サーバのMACアドレスに変更する
 コンピュータシステム。
 (付記5)
 付記1から4のいずれか1項に記載のコンピュータシステムにおいて、
 前記スイッチは、前記コントローラによって設定されたフローエントリに従い、受信パケットがARP要求パケットである場合、前記ARP要求パケットを前記コントローラに通知する
 コンピュータシステム。
 (付記6)
 コントローラと、
 前記コントローラによって設定されたフローエントリに適合する受信パケットに対し、前記フローエントリで規定された中継動作を行うスイッチと、
 切替装置と
 を具備し、
 前記スイッチは、前記コントローラによって設定された第1フローエントリに従い、第1サーバの第1MACアドレスを宛先MACアドレスとしたパケットを、前記第1サーバに至る通信経路へ転送し、
 前記コントローラは、前記第1サーバの第1MACアドレスを宛先MACアドレスとしたパケットを前記切替装置に転送することを規定した第2フローエントリを、前記第1フローエントリに替えて前記スイッチに設定し、
 前記スイッチは、前記第2フローエントリに従い、前記第1MACアドレスを宛先MACアドレスとしたパケットを、前記切替装置へ転送し、
 前記切替装置は、前記スイッチからの受信パケットの宛先MACアドレスを、前記第1MACアドレスから、第1サーバとは異なる第2サーバの第2MACアドレスに変更して、前記第2サーバに至る通信経路へ転送する
 コンピュータシステム。
 (付記7)
 付記6に記載のコンピュータシステムにおいて、
 前記切替装置は、前記受信パケットが、TCP(Transmission Control Protocol)パケットであり、適合するフローエントリが自身のフローテーブルに設定されていない場合、前記スイッチからの受信パケットの宛先MACアドレスを、前記第1MACアドレスに変更して、前記第1サーバに至る通信経路へ転送する
 コンピュータシステム。
 (付記8)
 付記6又は7に記載のコンピュータシステムにおいて、
 前記切替装置は、受信パケットに基づきTCP終了判定を行い、TCPコネクションが終了したと判定すると、自身のフローテーブルに設定され、前記受信パケットに適合するフローエントリに従った宛先に前記受信パケットの転送した後、前記フローエントリを前記フローテーブルから削除する
 コンピュータシステム。
 (付記9)
 付記6から8のいずれか1項に記載のコンピュータシステムにおいて、
 前記切替装置は、自身のフローテーブルからフローエントリが削除されると、切替終了を前記コントローラに通知し、
 前記コントローラは、前記切替終了に応じて前記第2フローエントリを前記スイッチから削除する
 コンピュータシステム。
 (付記10)
 付記6から9のいずれか1項に記載のコンピュータシステムにおいて、
 前記コントローラは、複数のサーバのそれぞれに対する負荷に応じて、前記端末のアクセス先となる前記第2サーバの第2MACアドレスを選択して、前記切替装置に通知する
 コンピュータシステム。
 (付記11)
 付記1から10のいずれか1項に記載のコンピュータシステムで利用されるコントローラ。
 (付記12)
 付記6から10のいずれか1項に記載のコンピュータシステムで利用される切替装置。
 (付記13)
 コンピュータによって実行されることで、付記11項に記載のコントローラを実現する通信制御プログラム。
 (付記14)
 コンピュータによって実行されることで、付記12に記載の切替装置を実現する通信制御プログラム。
 (付記15)
 コントローラによって設定されたフローエントリに適合する受信パケットに対し、前記フローエントリで規定された中継動作を行うスイッチを備えるコンピュータシステムにおいて実行される通信方法において、
 前記コントローラが、端末からのARP要求パケットに対して代理応答することにより、前記端末のアクセス先となる物理サーバのMAC(Media Access Control)アドレスを前記端末に通知するステップと、
 前記端末から転送され、前記MACアドレスを宛先MACアドレスとした受信パケットを前記物理サーバに至る通信経路に転送することを規定したフローエントリを、前記コントローラが前記スイッチに設定するステップと
 を具備する
 通信方法。
 (付記16)
 付記15に記載の通信方法において、
 前記コントローラが、VIP(Virtual Internet Protcol)アドレスと物理サーバとを対応付けて記録されたテーブルを参照して、前記ARP要求パケットに含まれるターゲットVIPアドレスに対応する物理サーバを、前記端末のアクセス先となる物理サーバとして選択するステップを更に具備し、
 前記MACアドレスを通知するステップは、前記コントローラが、前記物理サーバのMACアドレスをARP応答パケットの送信元MACアドレスとして、前記端末に送信するステップを備える
 通信方法。
 (付記17)
 付記15又は16に記載の通信方法において、
 前記コントローラが、複数のサーバのそれぞれに対する負荷に応じて、前記端末のアクセス先となる物理サーバのMACアドレスを選択するステップを更に具備する
 通信方法。
 (付記18)
 付記15から17のいずれか1項に記載の通信方法において、
 前記コントローラが、前記物理サーバと異なる他の物理サーバのMACアドレスを送信元MACアドレスとしたGARPパケットを前記端末に送信することで、前記端末のARPテーブルに設定された宛先MACアドレスを、前記物理サーバのMACアドレスから前記他の物理サーバのMACアドレスに変更するステップを更に具備する
 通信方法。
 (付記19)
 付記15から18のいずれか1項に記載の通信方法において、
 前記スイッチが、前記コントローラによって設定されたフローエントリに従い、受信パケットがARP要求パケットである場合、前記ARP要求パケットを前記コントローラに通知するステップを更に具備する
 通信方法。
 (付記20)
 コントローラによって設定されたフローエントリに適合する受信パケットに対し、前記フローエントリで規定された中継動作を行うスイッチを備えるコンピュータシステムにおいて実行される通信方法において、
 前記スイッチが、前記コントローラによって設定された第1フローエントリに従い、第1サーバの第1MACアドレスを宛先MACアドレスとしたパケットを、前記第1サーバに至る通信経路へ転送するステップと、
 前記コントローラが、前記第1サーバの第1MACアドレスを宛先MACアドレスとしたパケットを切替装置に転送することを規定した第2フローエントリを、前記第1フローエントリに替えて前記スイッチに設定し、
 前記スイッチが、前記第2フローエントリに従い、前記第1MACアドレスを宛先MACアドレスとしたパケットを、前記切替装置へ転送するステップと、
 前記切替装置が、前記スイッチからの受信パケットの宛先MACアドレスを、前記第1MACアドレスから、第1サーバとは異なる第2サーバの第2MACアドレスに変更して、前記第2サーバに至る通信経路へ転送するステップと
 を具備する
 通信方法。
 (付記21)
 付記20に記載の通信方法において、
 前記受信パケットが、TCP(Transmission Control Protocol)パケットであり、適合するフローエントリが自身のフローテーブルに設定されていない場合、前記切替装置が、前記スイッチからの受信パケットの宛先MACアドレスを、前記第1MACアドレスに変更して、前記第1サーバに至る通信経路へ転送するステップを更に具備する
 通信方法。
 (付記22)
 付記20又は21に記載の通信方法において、
 前記切替装置が、受信パケットに基づきTCPコネクションが終了したと判定するステップと、
 前記切替装置が、前記受信パケットに適合するフローエントリに従った宛先に前記受信パケットの転送した後、前記フローエントリを前記フローテーブルから削除するステップと
 を更に具備する
 通信方法。
 (付記23)
 付記20から22のいずれか1項に記載の通信方法において、
 前記切替装置が、自身のフローテーブルからフローエントリが削除されると、切替終了を前記コントローラに通知するステップと、
 前記コントローラが、前記切替終了に応じて前記第2フローエントリを前記スイッチから削除するステップと
 を更に具備する
 通信方法。
 (付記24)
 付記20から23のいずれか1項に記載の通信方法において、
 前記コントローラが、複数のサーバのそれぞれに対する負荷に応じて、前記端末のアクセス先となる前記第2サーバの第2MACアドレスを選択して、前記切替装置に通知するステップを更に具備する
 通信方法。
 尚、本出願は、日本出願番号2011-80955に基づき、日本出願番号2011-80955における開示内容は引用により本出願に組み込まれる。

Claims (10)

  1.  コントローラと、
     前記コントローラによって設定されたフローエントリに適合する受信パケットに対し、前記フローエントリで規定された中継動作を行うスイッチと
     を具備し、
     前記コントローラは、VIP(Virtual Internet Protcol)アドレスと物理サーバとを対応付けて記録されたテーブルを参照して、端末からのARP要求パケットに含まれるターゲットVIPアドレスに対応する物理サーバを、前記端末のアクセス先となる物理サーバとして選択し、前記物理サーバのMAC(Media Access Control)アドレスを送信元MACアドレスとしたARP応答パケットによって、前記ARP要求パケットに対して代理応答することにより、前記端末のアクセス先となる物理サーバのMACアドレスを前記端末に通知し、
     前記端末から転送され、前記MACアドレスを宛先MACアドレスとした受信パケットを前記物理サーバに至る通信経路に転送することを規定したフローエントリを、前記スイッチに設定する
     コンピュータシステム。
  2.  請求項1に記載のコンピュータシステムにおいて、
     前記コントローラは、複数のサーバのそれぞれに対する負荷に応じて、前記端末のアクセス先となる物理サーバのMACアドレスを選択する
     コンピュータシステム。
  3.  請求項1又は2に記載のコンピュータシステムにおいて、
     前記コントローラは、前記物理サーバと異なる他の物理サーバのMACアドレスを送信元MACアドレスとしたGARPパケットを前記端末に送信することで、前記端末のARPテーブルに設定された宛先MACアドレスを、前記物理サーバのMACアドレスから前記他の物理サーバのMACアドレスに変更する
     コンピュータシステム。
  4.  コントローラと、
     前記コントローラによって設定されたフローエントリに適合する受信パケットに対し、前記フローエントリで規定された中継動作を行うスイッチと、
     切替装置と
     を具備し、
     前記スイッチは、前記コントローラによって設定された第1フローエントリに従い、第1サーバの第1MACアドレスを宛先MACアドレスとしたパケットを、前記第1サーバに至る通信経路へ転送し、
     前記コントローラは、前記第1サーバの第1MACアドレスを宛先MACアドレスとしたパケットを前記切替装置に転送することを規定した第2フローエントリを、前記第1フローエントリに替えて前記スイッチに設定し、
     前記スイッチは、前記第2フローエントリに従い、前記第1MACアドレスを宛先MACアドレスとしたパケットを、前記切替装置へ転送し、
     前記切替装置は、前記スイッチからの受信パケットの宛先MACアドレスを、前記第1MACアドレスから、第1サーバとは異なる第2サーバの第2MACアドレスに変更して、前記第2サーバに至る通信経路へ転送する
     コンピュータシステム。
  5.  請求項1から4のいずれか1項に記載のコンピュータシステムで利用されるコントローラ。
  6.  請求項3に記載のコンピュータシステムで利用される切替装置。
  7.  コンピュータによって実行されることで、請求項5項に記載のコントローラを実現する通信制御プログラムが格納された記録媒体。
  8.  コンピュータによって実行されることで、請求項6に記載の切替装置を実現する通信制御プログラムが格納された記録媒体。
  9.  コントローラによって設定されたフローエントリに適合する受信パケットに対し、前記フローエントリで規定された中継動作を行うスイッチを備えるコンピュータシステムにおいて実行される通信方法において、
     前記コントローラが、VIP(Virtual Internet Protcol)アドレスと物理サーバとを対応付けて記録されたテーブルを参照して、端末からのARP要求パケットに含まれるターゲットVIPアドレスに対応する物理サーバを、前記端末のアクセス先となる物理サーバとして選択するステップと、
     前記コントローラが、前記物理サーバのMAC(Media Access Control)アドレスを、送信元MACアドレスとしたARP応答パケットによって、前記ARP要求パケットに対して代理応答することにより、前記端末のアクセス先となる物理サーバのMACアドレスを前記端末に通知するステップと、
     前記端末から転送され、前記MACアドレスを宛先MACアドレスとした受信パケットを前記物理サーバに至る通信経路に転送することを規定したフローエントリを、前記コントローラが前記スイッチに設定するステップと
     を具備する
     通信方法。
  10.  コントローラによって設定されたフローエントリに適合する受信パケットに対し、前記フローエントリで規定された中継動作を行うスイッチを備えるコンピュータシステムにおいて実行される通信方法において、
     前記スイッチが、前記コントローラによって設定された第1フローエントリに従い、第1サーバの第1MACアドレスを宛先MACアドレスとしたパケットを、前記第1サーバに至る通信経路へ転送するステップと、
     前記コントローラが、前記第1サーバの第1MACアドレスを宛先MACアドレスとしたパケットを切替装置に転送することを規定した第2フローエントリを、前記第1フローエントリに替えて前記スイッチに設定し、
     前記スイッチが、前記第2フローエントリに従い、前記第1MACアドレスを宛先MACアドレスとしたパケットを、前記切替装置へ転送するステップと、
     前記切替装置が、前記スイッチからの受信パケットの宛先MACアドレスを、前記第1MACアドレスから、第1サーバとは異なる第2サーバの第2MACアドレスに変更して、前記第2サーバに至る通信経路へ転送するステップと
     を具備する
     通信方法。
PCT/JP2012/057727 2011-03-31 2012-03-26 コンピュータシステム、及び通信方法 WO2012133290A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US14/008,091 US20140019639A1 (en) 2011-03-31 2012-03-26 Computer system and communication method
JP2013507555A JP5757324B2 (ja) 2011-03-31 2012-03-26 コンピュータシステム、及び通信方法
CN2012800164922A CN103460653A (zh) 2011-03-31 2012-03-26 计算机系统和通信方法
EP12764671.9A EP2693696A4 (en) 2011-03-31 2012-03-26 COMPUTER SYSTEM AND COMMUNICATION METHOD

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2011-080955 2011-03-31
JP2011080955 2011-03-31

Publications (1)

Publication Number Publication Date
WO2012133290A1 true WO2012133290A1 (ja) 2012-10-04

Family

ID=46931008

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/057727 WO2012133290A1 (ja) 2011-03-31 2012-03-26 コンピュータシステム、及び通信方法

Country Status (5)

Country Link
US (1) US20140019639A1 (ja)
EP (1) EP2693696A4 (ja)
JP (1) JP5757324B2 (ja)
CN (1) CN103460653A (ja)
WO (1) WO2012133290A1 (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014093722A (ja) * 2012-11-06 2014-05-19 Softbank Mobile Corp 転送条件変更装置、プログラム、情報提供システム及び転送条件変更方法
WO2014208538A1 (ja) * 2013-06-25 2014-12-31 日本電気株式会社 通信システムと装置と方法とプログラム
WO2015085576A1 (zh) * 2013-12-13 2015-06-18 华为技术有限公司 地址解析协议消息的处理方法和转发器、控制器
EP2908470A4 (en) * 2012-12-18 2015-11-11 Huawei Tech Co Ltd METHOD, SYSTEM, DEVICE, CONTROLLER AND MEASURING DEVICE FOR CONTROLLING TRAFFIC MEASUREMENT
CN105122759A (zh) * 2013-12-12 2015-12-02 华为技术有限公司 一种接入网中报文处理的方法及网络设备
EP2891987A4 (en) * 2013-03-28 2015-12-02 Rakuten Inc REQUEST PROCESSING SYSTEM, INQUIRY PROCESSING, PROGRAM AND INFORMATION STORAGE MEDIUM
US20160006583A1 (en) * 2013-02-27 2016-01-07 Nec Corporation Control apparatus, communication system, switch control method and program
US9325615B2 (en) 2013-12-31 2016-04-26 Huawei Technologies Co., Ltd. Method and apparatus for implementing communication between virtual machines
JP2016071860A (ja) * 2014-09-25 2016-05-09 インテル・コーポレーション 粗粒度の負荷分散と細粒度の負荷分散との間をブリッジする技術

Families Citing this family (97)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9769016B2 (en) 2010-06-07 2017-09-19 Brocade Communications Systems, Inc. Advanced link tracking for virtual cluster switching
US8867552B2 (en) 2010-05-03 2014-10-21 Brocade Communications Systems, Inc. Virtual cluster switching
US9807031B2 (en) 2010-07-16 2017-10-31 Brocade Communications Systems, Inc. System and method for network configuration
US9143480B2 (en) * 2011-01-10 2015-09-22 Secure Global Solutions, Llc Encrypted VPN connection
EP3605969B1 (en) 2011-08-17 2021-05-26 Nicira Inc. Distributed logical l3 routing
US10091028B2 (en) 2011-08-17 2018-10-02 Nicira, Inc. Hierarchical controller clusters for interconnecting two or more logical datapath sets
US9288104B2 (en) 2011-10-25 2016-03-15 Nicira, Inc. Chassis controllers for converting universal flows
US9178833B2 (en) 2011-10-25 2015-11-03 Nicira, Inc. Chassis controller
EP2748714B1 (en) 2011-11-15 2021-01-13 Nicira, Inc. Connection identifier assignment and source network address translation
EP2748706B1 (en) 2012-04-18 2020-01-22 Nicira Inc. Exchange of network state information between forwarding elements
US10129182B2 (en) * 2012-06-29 2018-11-13 Juniper Networks, Inc. Methods and apparatus for providing services in distributed switch
US10097481B2 (en) 2012-06-29 2018-10-09 Juniper Networks, Inc. Methods and apparatus for providing services in distributed switch
JP5782641B2 (ja) * 2012-08-31 2015-09-24 株式会社日立製作所 計算機システム及びパケット転送方法
US9565099B2 (en) 2013-03-01 2017-02-07 Brocade Communications Systems, Inc. Spanning tree in fabric switches
US9571386B2 (en) 2013-07-08 2017-02-14 Nicira, Inc. Hybrid packet processing
US9282019B2 (en) 2013-07-12 2016-03-08 Nicira, Inc. Tracing logical network packets through physical network
US9344349B2 (en) 2013-07-12 2016-05-17 Nicira, Inc. Tracing network packets by a cluster of network controllers
US9407580B2 (en) 2013-07-12 2016-08-02 Nicira, Inc. Maintaining data stored with a packet
US9548965B2 (en) 2013-08-26 2017-01-17 Nicira, Inc. Proxy methods for suppressing broadcast traffic in a network
US9602398B2 (en) 2013-09-15 2017-03-21 Nicira, Inc. Dynamically generating flows with wildcard fields
US9674087B2 (en) 2013-09-15 2017-06-06 Nicira, Inc. Performing a multi-stage lookup to classify packets
US9785455B2 (en) 2013-10-13 2017-10-10 Nicira, Inc. Logical router
US10193771B2 (en) 2013-12-09 2019-01-29 Nicira, Inc. Detecting and handling elephant flows
US9967199B2 (en) 2013-12-09 2018-05-08 Nicira, Inc. Inspecting operations of a machine to detect elephant flows
US9569368B2 (en) 2013-12-13 2017-02-14 Nicira, Inc. Installing and managing flows in a flow table cache
US9996467B2 (en) 2013-12-13 2018-06-12 Nicira, Inc. Dynamically adjusting the number of flows allowed in a flow table cache
CN104734988B (zh) * 2013-12-23 2018-10-30 杭州华为数字技术有限公司 软件定义网络中路由控制的方法和开放流控制器
CN104995878B (zh) * 2013-12-31 2019-02-05 华为技术有限公司 一种报文传输方法、设备及通信系统
US9548873B2 (en) 2014-02-10 2017-01-17 Brocade Communications Systems, Inc. Virtual extensible LAN tunnel keepalives
US10581758B2 (en) 2014-03-19 2020-03-03 Avago Technologies International Sales Pte. Limited Distributed hot standby links for vLAG
US10476698B2 (en) 2014-03-20 2019-11-12 Avago Technologies International Sales Pte. Limited Redundent virtual link aggregation group
US9893988B2 (en) 2014-03-27 2018-02-13 Nicira, Inc. Address resolution using multiple designated instances of a logical router
US9385954B2 (en) 2014-03-31 2016-07-05 Nicira, Inc. Hashing techniques for use in a network environment
US9686200B2 (en) 2014-03-31 2017-06-20 Nicira, Inc. Flow cache hierarchy
US10193806B2 (en) 2014-03-31 2019-01-29 Nicira, Inc. Performing a finishing operation to improve the quality of a resulting hash
CN104980373B (zh) * 2014-04-04 2018-06-19 上海宽带技术及应用工程研究中心 一种控制服务器及其应用的系统和方法
KR102262183B1 (ko) * 2014-04-04 2021-06-07 뉴라컴 인코포레이티드 수신 확인 방법 및 다중 사용자 전송 방법
US9578112B2 (en) 2014-04-30 2017-02-21 Jive Communications, Inc. Reliability of a connection during a communication session on a network device
US9800471B2 (en) 2014-05-13 2017-10-24 Brocade Communications Systems, Inc. Network extension groups of global VLANs in a fabric switch
US10616108B2 (en) * 2014-07-29 2020-04-07 Avago Technologies International Sales Pte. Limited Scalable MAC address virtualization
US9807007B2 (en) 2014-08-11 2017-10-31 Brocade Communications Systems, Inc. Progressive MAC address learning
JP2016048854A (ja) * 2014-08-27 2016-04-07 横河電機株式会社 データ転送システム及び方法
US9876712B2 (en) * 2014-09-05 2018-01-23 Kt Corporation Method and device for processing address resolution protocol in software-defined networking environment
US11178051B2 (en) 2014-09-30 2021-11-16 Vmware, Inc. Packet key parser for flow-based forwarding elements
US10250443B2 (en) 2014-09-30 2019-04-02 Nicira, Inc. Using physical location to modify behavior of a distributed virtual network element
US10511458B2 (en) 2014-09-30 2019-12-17 Nicira, Inc. Virtual distributed bridging
US9762508B2 (en) 2014-10-02 2017-09-12 Microsoft Technology Licensing, Llc Relay optimization using software defined networking
US10469342B2 (en) 2014-10-10 2019-11-05 Nicira, Inc. Logical network traffic analysis
US20160112271A1 (en) * 2014-10-15 2016-04-21 Juniper Networks, Inc. Controller-to-controller interface for multi-layer network abstraction
CN104301451B (zh) * 2014-10-17 2019-03-01 福建星网锐捷网络有限公司 一种跨网段主机通信方法、装置及系统
WO2016089400A1 (en) * 2014-12-03 2016-06-09 Hewlett Packard Enterprise Development Lp Modifying an address to forward a packet to a service function
CN105763512B (zh) * 2014-12-17 2019-03-15 新华三技术有限公司 Sdn虚拟化网络的通信方法和装置
US9497123B2 (en) 2014-12-18 2016-11-15 Telefonaktiebolaget L M Ericsson (Publ) Method and system for load balancing in a software-defined networking (SDN) system upon server reconfiguration
US9979645B2 (en) * 2015-01-14 2018-05-22 Futurewei Technologies, Inc. Hardware and software methodologies for creating and managing portable service function chains
KR20160095554A (ko) * 2015-02-03 2016-08-11 한국전자통신연구원 Sdn 기반의 물리 주소 결정장치 및 그 방법
JP2016158011A (ja) * 2015-02-23 2016-09-01 ルネサスエレクトロニクス株式会社 配信制御装置、データ配信システム、配信制御方法及びプログラム
US10382534B1 (en) 2015-04-04 2019-08-13 Cisco Technology, Inc. Selective load balancing of network traffic
US9967134B2 (en) 2015-04-06 2018-05-08 Nicira, Inc. Reduction of network churn based on differences in input state
US10579406B2 (en) 2015-04-08 2020-03-03 Avago Technologies International Sales Pte. Limited Dynamic orchestration of overlay tunnels
US10225184B2 (en) 2015-06-30 2019-03-05 Nicira, Inc. Redirecting traffic in a virtual distributed router environment
JP6627964B2 (ja) * 2015-07-27 2020-01-08 華為技術有限公司Huawei Technologies Co.,Ltd. Sdnベースのarp実装方法および装置
US10439929B2 (en) 2015-07-31 2019-10-08 Avago Technologies International Sales Pte. Limited Graceful recovery of a multicast-enabled switch
US10171303B2 (en) 2015-09-16 2019-01-01 Avago Technologies International Sales Pte. Limited IP-based interconnection of switches with a logical chassis
US10204122B2 (en) 2015-09-30 2019-02-12 Nicira, Inc. Implementing an interface between tuple and message-driven control entities
US11005682B2 (en) 2015-10-06 2021-05-11 Cisco Technology, Inc. Policy-driven switch overlay bypass in a hybrid cloud network environment
US10523657B2 (en) 2015-11-16 2019-12-31 Cisco Technology, Inc. Endpoint privacy preservation with cloud conferencing
TW201720111A (zh) * 2015-11-27 2017-06-01 財團法人資訊工業策進會 軟體定義網路系統及其網路連線路由方法
US10243915B2 (en) * 2015-12-31 2019-03-26 Dell Products L.P. Method and system for managing flat and routed clients in a cluster using single type of VIPs
US11019167B2 (en) 2016-04-29 2021-05-25 Nicira, Inc. Management of update queues for network controller
CN107332812B (zh) * 2016-04-29 2020-07-07 新华三技术有限公司 网络访问控制的实现方法及装置
US11638135B2 (en) * 2016-06-28 2023-04-25 Apple Inc. Core network design for mission-critical IoT
US10659283B2 (en) 2016-07-08 2020-05-19 Cisco Technology, Inc. Reducing ARP/ND flooding in cloud environment
US10263898B2 (en) 2016-07-20 2019-04-16 Cisco Technology, Inc. System and method for implementing universal cloud classification (UCC) as a service (UCCaaS)
US10237090B2 (en) 2016-10-28 2019-03-19 Avago Technologies International Sales Pte. Limited Rule-based network identifier mapping
US11044162B2 (en) 2016-12-06 2021-06-22 Cisco Technology, Inc. Orchestration of cloud and fog interactions
US10326817B2 (en) 2016-12-20 2019-06-18 Cisco Technology, Inc. System and method for quality-aware recording in large scale collaborate clouds
US10334029B2 (en) 2017-01-10 2019-06-25 Cisco Technology, Inc. Forming neighborhood groups from disperse cloud providers
US10552191B2 (en) 2017-01-26 2020-02-04 Cisco Technology, Inc. Distributed hybrid cloud orchestration model
US10805239B2 (en) 2017-03-07 2020-10-13 Nicira, Inc. Visualization of path between logical network endpoints
US10892940B2 (en) 2017-07-21 2021-01-12 Cisco Technology, Inc. Scalable statistics and analytics mechanisms in cloud networking
US10608887B2 (en) 2017-10-06 2020-03-31 Nicira, Inc. Using packet tracing tool to automatically execute packet capture operations
US10374827B2 (en) 2017-11-14 2019-08-06 Nicira, Inc. Identifier that maps to different networks at different datacenters
US10511459B2 (en) 2017-11-14 2019-12-17 Nicira, Inc. Selection of managed forwarding element for bridge spanning multiple datacenters
CN110099010B (zh) * 2018-01-31 2021-08-03 华为技术有限公司 一种业务分流的方法和装置
JP7251085B2 (ja) * 2018-09-27 2023-04-04 株式会社リコー ネットワークシステム、通信制御装置、通信制御方法およびプログラム
US11283699B2 (en) 2020-01-17 2022-03-22 Vmware, Inc. Practical overlay network latency measurement in datacenter
US11496437B2 (en) 2020-04-06 2022-11-08 Vmware, Inc. Selective ARP proxy
US12074793B2 (en) * 2020-07-01 2024-08-27 Nippon Telegraph And Telephone Corporation L2 switch, communication control method, and communication control program
US11570090B2 (en) 2020-07-29 2023-01-31 Vmware, Inc. Flow tracing operation in container cluster
US11196628B1 (en) 2020-07-29 2021-12-07 Vmware, Inc. Monitoring container clusters
US11558426B2 (en) 2020-07-29 2023-01-17 Vmware, Inc. Connection tracking for container cluster
US11736436B2 (en) 2020-12-31 2023-08-22 Vmware, Inc. Identifying routes with indirect addressing in a datacenter
US11336533B1 (en) 2021-01-08 2022-05-17 Vmware, Inc. Network visualization of correlations between logical elements and associated physical elements
US11805101B2 (en) 2021-04-06 2023-10-31 Vmware, Inc. Secured suppression of address discovery messages
US11687210B2 (en) 2021-07-05 2023-06-27 Vmware, Inc. Criteria-based expansion of group nodes in a network topology visualization
US11711278B2 (en) 2021-07-24 2023-07-25 Vmware, Inc. Visualization of flow trace operation across multiple sites
US11706109B2 (en) 2021-09-17 2023-07-18 Vmware, Inc. Performance of traffic monitoring actions

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008060747A (ja) 2006-08-30 2008-03-13 Nec Corp レイヤ2負荷分散システム、レイヤ2負荷分散装置及びそれらに用いるレイヤ2負荷分散方法
US20090158082A1 (en) * 2007-12-18 2009-06-18 Vinit Jain Failover in a host concurrently supporting multiple virtual ip addresses across multiple adapters
JP2009253578A (ja) 2008-04-04 2009-10-29 Nec Corp ネットワーク負荷分散装置、ネットワーク負荷分散方法及びプログラム
JP2011080955A (ja) 2009-10-09 2011-04-21 Asahi Kasei Electronics Co Ltd ポインティングデバイス

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7751421B2 (en) * 2004-12-29 2010-07-06 Alcatel Lucent Traffic generator and monitor
JP5392034B2 (ja) * 2009-12-01 2014-01-22 富士通株式会社 通信装置および通信方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008060747A (ja) 2006-08-30 2008-03-13 Nec Corp レイヤ2負荷分散システム、レイヤ2負荷分散装置及びそれらに用いるレイヤ2負荷分散方法
US20090158082A1 (en) * 2007-12-18 2009-06-18 Vinit Jain Failover in a host concurrently supporting multiple virtual ip addresses across multiple adapters
JP2009253578A (ja) 2008-04-04 2009-10-29 Nec Corp ネットワーク負荷分散装置、ネットワーク負荷分散方法及びプログラム
JP2011080955A (ja) 2009-10-09 2011-04-21 Asahi Kasei Electronics Co Ltd ポインティングデバイス

Non-Patent Citations (4)

* 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 CPSY2009-36, vol. 109, no. 296, 13 November 2009 (2009-11-13), pages 7 - 12, XP008166907 *
NICK MCKEOWN, OPENFLOW: ENABLING INNOVATION IN CAMPUS NETWORKS, 22 October 2010 (2010-10-22), Retrieved from the Internet <URL:http://www.openflowswitch.org//documents/openflow -wp-latest.pdf>
OPENFLOW SWITCH SPECIFICATION VERSION 1.0.0 (WIRE PROTOCOL 0X01, 31 December 2009 (2009-12-31)
See also references of EP2693696A4

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014093722A (ja) * 2012-11-06 2014-05-19 Softbank Mobile Corp 転送条件変更装置、プログラム、情報提供システム及び転送条件変更方法
EP2908470A4 (en) * 2012-12-18 2015-11-11 Huawei Tech Co Ltd METHOD, SYSTEM, DEVICE, CONTROLLER AND MEASURING DEVICE FOR CONTROLLING TRAFFIC MEASUREMENT
US10367740B2 (en) 2012-12-18 2019-07-30 Huawei Technologies Co., Ltd. Method, system and apparatus for controlling flow detection, controller and detection device
US20160006583A1 (en) * 2013-02-27 2016-01-07 Nec Corporation Control apparatus, communication system, switch control method and program
US10269056B2 (en) 2013-03-28 2019-04-23 Rakuten, Inc. Request processing system, request processing method, program, and information storage medium
EP2891987A4 (en) * 2013-03-28 2015-12-02 Rakuten Inc REQUEST PROCESSING SYSTEM, INQUIRY PROCESSING, PROGRAM AND INFORMATION STORAGE MEDIUM
WO2014208538A1 (ja) * 2013-06-25 2014-12-31 日本電気株式会社 通信システムと装置と方法とプログラム
JPWO2014208538A1 (ja) * 2013-06-25 2017-02-23 日本電気株式会社 通信システムと装置と方法とプログラム
US10523562B2 (en) 2013-12-12 2019-12-31 Huawei Technologies Co., Ltd. Method for processing packet in access network and network device
EP3429160A1 (en) * 2013-12-12 2019-01-16 Huawei Technologies Co., Ltd. Method for processing packet in access network and network device
EP3073697A4 (en) * 2013-12-12 2016-12-14 Huawei Tech Co Ltd METHOD FOR PROCESSING A PACKET IN AN ACCESS NETWORK, AND NETWORK DEVICE
CN105122759A (zh) * 2013-12-12 2015-12-02 华为技术有限公司 一种接入网中报文处理的方法及网络设备
EP3073698A4 (en) * 2013-12-13 2016-11-23 Huawei Tech Co Ltd METHOD FOR PROCESSING ADDRESS RESOLUTION PROTOCOL MESSAGE, RE-ROUTING UNIT AND CONTROLLER
CN104937896A (zh) * 2013-12-13 2015-09-23 华为技术有限公司 地址解析协议消息的处理方法和转发器、控制器
WO2015085576A1 (zh) * 2013-12-13 2015-06-18 华为技术有限公司 地址解析协议消息的处理方法和转发器、控制器
US9325615B2 (en) 2013-12-31 2016-04-26 Huawei Technologies Co., Ltd. Method and apparatus for implementing communication between virtual machines
US10003571B2 (en) 2013-12-31 2018-06-19 Huawei Technologies Co., Ltd. Method and apparatus for implementing communication between virtual machines
US9577958B2 (en) 2013-12-31 2017-02-21 Huawei Technologies Co., Ltd. Method and apparatus for implementing communication between virtual machines
JP2016071860A (ja) * 2014-09-25 2016-05-09 インテル・コーポレーション 粗粒度の負荷分散と細粒度の負荷分散との間をブリッジする技術

Also Published As

Publication number Publication date
EP2693696A1 (en) 2014-02-05
US20140019639A1 (en) 2014-01-16
CN103460653A (zh) 2013-12-18
EP2693696A4 (en) 2014-08-27
JP5757324B2 (ja) 2015-07-29
JPWO2012133290A1 (ja) 2014-07-28

Similar Documents

Publication Publication Date Title
JP5757324B2 (ja) コンピュータシステム、及び通信方法
JP6418261B2 (ja) 通信システム、ノード、制御装置、通信方法及びプログラム
US9215175B2 (en) Computer system including controller and plurality of switches and communication method in computer system
JP5621778B2 (ja) コンテンツベーススイッチシステム、及びコンテンツベーススイッチ方法
RU2558624C2 (ru) Устройство управления, система связи, способ связи и носитель записи, содержащий записанную на нем программу для связи
JP5304947B2 (ja) 通信システム、制御装置、ノードの制御方法およびプログラム
JP5800019B2 (ja) 通信経路制御システム、経路制御装置、通信経路制御方法および経路制御プログラム
WO2011087085A1 (ja) 計算機、ネットワーク接続切替え方法およびプログラム
JP5861772B2 (ja) ネットワークアプライアンス冗長化システム、制御装置、ネットワークアプライアンス冗長化方法及びプログラム
JP5858141B2 (ja) 制御装置、通信装置、通信システム、通信方法及びプログラム
WO2014126094A1 (ja) 通信システム、通信方法、制御装置、制御装置の制御方法及びプログラム
JP2006245894A (ja) 転送経路制御装置および転送経路制御プログラム
JP6024761B2 (ja) 制御装置、通信システム、通信方法及びプログラム
JP2016139908A (ja) 通信システム、通信ノード、制御装置、通信制御方法、及び、プログラム
JP5768600B2 (ja) 通信システム、制御装置、パケット転送方法およびプログラム
Bujaranpally Design and implementation of the MobilityFirst protocol stack on an SDN platform using IPV6
WO2014087993A1 (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: 12764671

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2013507555

Country of ref document: JP

Kind code of ref document: A

REEP Request for entry into the european phase

Ref document number: 2012764671

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2012764671

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 14008091

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE