WO2012039176A1 - A control apparatus, a communication system, a communication method and a recording medium having recorded thereon a communication program - Google Patents

A control apparatus, a communication system, a communication method and a recording medium having recorded thereon a communication program Download PDF

Info

Publication number
WO2012039176A1
WO2012039176A1 PCT/JP2011/064991 JP2011064991W WO2012039176A1 WO 2012039176 A1 WO2012039176 A1 WO 2012039176A1 JP 2011064991 W JP2011064991 W JP 2011064991W WO 2012039176 A1 WO2012039176 A1 WO 2012039176A1
Authority
WO
WIPO (PCT)
Prior art keywords
communication
communication apparatus
network
identifier
destination
Prior art date
Application number
PCT/JP2011/064991
Other languages
French (fr)
Inventor
Ippei Akiyoshi
Original Assignee
Nec Corporation
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 Nec Corporation filed Critical Nec Corporation
Priority to BR112013005980A priority Critical patent/BR112013005980A2/en
Priority to EP11826622.0A priority patent/EP2619953B1/en
Priority to CN201180045777.4A priority patent/CN103119897B/en
Priority to US13/822,270 priority patent/US20130176861A1/en
Priority to JP2013512664A priority patent/JP5713101B2/en
Priority to RU2013118214/08A priority patent/RU2558624C2/en
Publication of WO2012039176A1 publication Critical patent/WO2012039176A1/en

Links

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/02Topology update or discovery
    • H04L45/04Interdomain routing, e.g. hierarchical 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/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/036Updating the topology between route computation elements, e.g. between OpenFlow controllers
    • 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

Definitions

  • a CONTROL APPARATUS A COMMUNICATION SYSTEM, A COMMUNICATION METHOD AND A RECORDING MEDIUM HAVING RECORDED THEREON A COMMUNICATION PROGRAM
  • the present invention relates to a control apparatus in a network for performing communication, a communication system, a communication method and a recording medium having recorded thereon a communication program.
  • load balancing and scalability or the like need to be considered.
  • load balancing and scalability there is technology which commonly uses a single identifier such as an IP (Internet Protocol) address or the like among a plurality of servers.
  • IP Internet Protocol
  • a relaying apparatus in a network manages a table in which an IP address of an information processing apparatus, which is a transfer destination, is correlated to a physical port which connects with the information processing apparatus.
  • the relaying apparatus transfers a received packet according to this table.
  • Patent Literature 1 Japanese Patent Application Laid-Open No. 2008-219400 [Non Patent Literature]
  • Non Patent Literature 1 OpenFlow Switch Specification Version 1.0.0 (Wire Protocol 0x01 ), December 31 , 2009, [searched on September 2, 2010], the internet ⁇ URL:http://www.openflowswitch.org/documents/openflow-spec-vl .O.O.pdf> Summary of Invention
  • the object of the present invention is to provide a control apparatus, a
  • a control apparatus for controlling a network comprises a path control means for selecting a communication apparatus having an identifier as a destination
  • a communication system comprises a control apparatus for controlling a network; and a transfer apparatus for transferring packets; wherein the control apparatus includes a path control means for selecting a communication apparatus having an identifier as a destination communication apparatus among a communication apparatus group, based on a connection relationship between the communication apparatus group, which is connected to the network and includes communication apparatuses each having the same identifier and a source communication apparatus which performs communication using the identifier as a destination address, and setting a process corresponding to a path from the source communication apparatus to the selected destination communication apparatus to the transfer apparatus in the network.
  • a communication method comprises selecting, a communication apparatus having the identifier as a destination communication apparatus among the communication apparatus group, based on a connection relationship between the communication apparatus group, which is connected to a network controlled by a control apparatus and includes communication apparatuses each having the same identifier, and a source communication apparatus which performs communication using the identifier as a destination address; and setting a process corresponding to a path from the source communication apparatus to the selected destination communication apparatus to a transfer apparatus in the network.
  • a recording medium having recorded thereon a communication program for causing a computer to execute a path control process comprises: selecting a communication apparatus having the identifier as a destination communication apparatus among the communication apparatus group, based on a connection relationship between the communication apparatus group, which is connected to the network and includes communication apparatuses each having the same identifier and a source communication apparatus which performs communication using the identifier as an address; and setting a process corresponding to a path from the source communication apparatus to the selected destination communication apparatus to a transfer apparatus in the network.
  • the present invention it becomes possible to select a communication destination among a communication apparatus group which includes communication apparatuses each having the same identifier as a communication destination based on a connection relationship between a communication source and the communication apparatus group.
  • FIG. 1 is a figure showing a system configuration of the first embodiment.
  • FIG. 2 is a figure showing a system configuration of the second embodiment.
  • FIG. 3 is a figure showing configuration of the path control section.
  • FIG. 4 is a figure showing composition of the table for communication terminal location management.
  • FIG. 5 is a figure showing composition of the table for service node location management.
  • FIG. 6 is a figure showing composition of the table for port and server group management.
  • FIG. 7 is a figure showing composition of the table for service and representative MAC address management.
  • FIG. 8 is a sequence chart showing operation of the second embodiment.
  • FIG. 9 is a flowchart showing operation of the second embodiment.
  • FIG. 10 is a sequence chart showing operation of the second embodiment.
  • FIG. 11 is a figure showing a system configuration of the third embodiment.
  • FIG. 12 is a sequence chart showing operation of the third embodiment.
  • FIG. 13 is a flowchart showing operation of the third embodiment.
  • FIG. 14 is a sequence chart showing operation of the third embodiment.
  • FIG. 15 is a figure showing a system configuration example by the second embodiment.
  • Fig. 1 is a block diagram showing a system according to this exemplary
  • a communication system 1000 of the first exemplary embodiment includes a control apparatus 2000 and a network 1120.
  • the network 1120 includes a transfer apparatus 1121 , a transfer apparatus 1122 and a transfer apparatus 1124.
  • a communication apparatus group 1200 connects with the communication system 1000.
  • the communication apparatus group 1200 includes a communication apparatus 1040 and a communication apparatus 1041.
  • the communication apparatus 1040 connects with the communication system 1000 via the transfer apparatus 1122.
  • the communication apparatus 1041 connects with the communication system 1000 via the transfer apparatus 1124.
  • the communication apparatus 1040 and the communication apparatus 1041 have a certain identical identifier.
  • the number of the communication apparatus included in the communication apparatus group 1200 is two, it may be equal to or more than three.
  • two communication apparatuses 1040 and 1041 are shown as a communication apparatus having the same identifier, there may be equal to or more than three communication apparatuses.
  • a communication apparatus 1130 connects with the communication system 1000 via a network 1150. According to the first exemplary embodiment, it will describe a case where the communication apparatus 1130 performs
  • the control apparatus 2000 controls the communication system 1000. Also, the control apparatus 2000 includes a path control section 1001.
  • the path control unit 1001 selects any one of the communication apparatus 1040 and the communication apparatus 1041 each having the same identifier, based on a connection relationship between the communication apparatus 1130 and the communication apparatus group 1200. After that, the path control unit 1001 sets a process corresponding to a route from the communication apparatus 1130 to the selected communication apparatus to each transfer apparatus in the network 1120.
  • the path control unit 1001 selects one communication apparatus out of the
  • the path control unit 1001 sets a process corresponding to a route from the communication apparatus 1130 to the selected communication apparatus to each transfer apparatus in the network 1120.
  • Fig. 2 is a block diagram showing a system according to the second exemplary embodiment.
  • a communication system 1 of the second exemplary embodiment includes a path control unit 10, a packet transfer unit group 20, a packet transfer unit 21 , a packet transfer unit 22, a packet transfer unit 23 and a packet transfer unit 24.
  • the path control unit 10 controls communication paths in the communication system 1. As shown in Fig. 2, the path control unit 10 may be included in an independent control apparatus 2. The description about the path control unit 10 will be made later.
  • the packet transfer unit group 20 is a network which is constituted by at least one packet transfer unit being connected.
  • the packet transfer units 21-24 connect with a router network 150, a router network 151 and a server group 1400. Therefore, the packet transfer units 21-24 can be called edge nodes of the communication system 1 which are located in a boundary of the communication system 1 and connect with an outside network of the communication system 1.
  • the packet transfer units 21 -24 have a packet transfer rule table which stores packet transfer rules (not shown in a figure).
  • a matching key for identifying a packet is correlated to a content of process for a packet (the process is, for example, transferring to a specific port, flooding or discarding or the like).
  • the packet transfer units 21 -24 search for the packet transfer rule having a matching key which is suitable for the received packet from the packet transfer rule table. The process according to a content of process corresponding to the searched packet transfer rule is performed.
  • each packet transfer unit may be constituted as an independent apparatus (such as a switch, a router or the like).
  • the packet transfer units 21-24 may be equipped with a delete function of a packet transfer rule as follows. As an example of this function, it is mentioned that whenever the packet transfer units 21-24 process a packet, the packet transfer units 21-24 reset a timer (time-out information) in a field which indicates a content of process of the corresponding packet transfer rule. The packet transfer units 21-24 delete the corresponding packet transfer rule from the packet transfer rule table when the timer becomes 0. By this function, it prevents a situation that an
  • the server group 1400 includes a server 40 and a server 41.
  • the server 40 and the server 41 are servers which provide a certain service A for the other party of communication and connect with the communication system 1 via a network.
  • the server 40 and the server 41 hold a database required to provide the service A.
  • the server 40 and the server 41 have the same IP address which is corresponding to the service A. Henceforth, it will be described by assuming that the server 40 and the server 41 provide the same service A and have the same IP address #A.
  • the server 40 provides high-speed communication and the server 41 provides low-speed
  • the communication terminal 130 and the communication terminal 131 connect with the server 40 or the server 41 via the router network 150, the router network 151 and the communication system 1.
  • the communication terminal 130 and the communication terminal 131 communicate with the server 40 or the server 41 , and get the service A.
  • the communication terminal it may be a user terminal, a client terminal or a server or the like.
  • the router network 150 and the router network 151 are networks in which a plurality of routers for packet transfer exists.
  • a DNS (Domain Name System) server 160 and a DNS server 161 are connected to the router network 150 and the router network 151 respectively.
  • the DNS server 160 and the DNS server 161 are servers for resolving an IP address from a Fully Qualified Domain Name (FQDN). According to the second exemplary embodiment, the DNS servers 160 and 161 always provide the IP address #A as an answer for an FQDN of the server which provides the service A in spite of conditions (a location of the communication terminal which has requested IP address resolution, load status of the server, or the like).
  • FQDN Fully Qualified Domain Name
  • Fig. 3 is a block diagram showing a detailed structure of the path control unit 10 of Fig. 2.
  • the path control unit 10 includes a node
  • the path control unit 10 is constituted by including a packet transfer unit management unit 14, a topology management unit 15, a communication terminal location management unit 16, a service node management unit 17, a packet transfer rule management unit 18 and a packet transfer rule database (Data Base :DB) 19.
  • a packet transfer rule management unit 14 constituted by including a packet transfer unit management unit 14, a topology management unit 15, a communication terminal location management unit 16, a service node management unit 17, a packet transfer rule management unit 18 and a packet transfer rule database (Data Base :DB) 19.
  • the node communication unit 11 communicates with the packet transfer unit group 20 and the packet transfer units 21-24.
  • the control message processing unit 12 analyzes a control message received from the packet transfer unit group 20 and the packet transfer units 21-24 and conveys control message information to a relevant process function in the path control unit 10.
  • the route and process calculation unit 13 seeks a packet transfer route and a processing content to be performed by the packet transfer unit group 20 and the packet transfer units 21-24 on the packet transfer route based on location
  • the packet transfer unit management unit 14 manages abilities of the packet transfer unit which is being controlled by the path control unit 10.
  • abilities of the packet transfer unit it is mentioned that, for example, the number of ports, types of ports and types of processing contents supported by each packet transfer unit, or the like. Further, the types of ports do not care in the second exemplary embodiment.
  • a physical port like an optical fiber and a coaxial cable or the like
  • a logical channel like a VPN (Virtual Private Network) tunnel or the like may be regarded as a port virtually.
  • the topology management unit 15 establishes and manages the network topology information.
  • the topology management unit 15 collects connection relationships among the packet transfer unit group 20 and the packet transfer units 21-24 via the node communication unit 11.
  • the topology management unit 15 establishes and manages the network topology information based on the collected connection relationships.
  • the communication terminal location management unit 16 manages that the communication terminals 130 and 131 connected with the communication system 1 are being connected to which port of which packet transfer unit in the
  • this location management is performed based on new packet detection notification and flow deletion notification from a packet transfer unit. Description will be made later of the new packet detection notification and the flow deletion notification.
  • Fig. 4 is a figure showing an example of a table held in the communication terminal location management unit 16.
  • the table for communication terminal location management 16-1 of Fig. 4 includes communication terminal identification information, a MAC (Media Access Control) address corresponding to each communication terminal and location information.
  • MAC Media Access Control
  • the communication terminal identification information is an identifier for identifying a communication terminal, and as an example of Fig. 4, it uses an IP address of a communication terminal.
  • information other than an IP address is used as the communication terminal identification information, it may add information which indicates an IP address of a communication terminal separately to the table for communication terminal location management 16-1.
  • the MAC address corresponding to each communication terminal is a source MAC address of the packet which has entered into the communication system 1.
  • the MAC address of an edge router (not shown in Fig. 2) which is adjacent to the communication system 1, and exists in the router network 150 or the router network 151 is used.
  • the location information on a communication terminal is the information which indicates a connection point of the communication terminal and the communication system 1.
  • the location information on a communication terminal includes packet transfer unit identification information and a port number.
  • the packet transfer unit identification information uses an identifier given to each packet transfer unit. Specifically, it is mentioned that an IP address, a MAC address or other specific identifier or the like given to a packet transfer unit.
  • information corresponding to the communication terminal 130 and the communication terminal 131 is stored in the table for communication terminal location management 16- 1.
  • the IP address is stored.
  • the MAC address the MAC address of an edge router of the router network 150 is stored.
  • the location information the identifier of the packet transfer unit 21 which is a connection point of the communication terminal 130 to the
  • the service node management unit 17 manages a connection relationship between the service node, which is connecting with the communication system 1 , and the communication system 1. Also, the service node management unit 17 manages the connection relationship between the communication system 1 and the service node for each of services.
  • the service node is the server 40 and the server 41. This management is performed, for example, based on the new packet detection notification and the flow deletion notification or the like from the packet transfer unit. The detailed description of such notifications will be made later.
  • Figs. 5-7 show an example of tables held in the service node management unit 17.
  • the table for service node location management 17-1 of Fig. 5 is a table for location management of the service node, and the location information is correlated with the service node identification information.
  • the service node identification information is an identifier for identifying a service node, and it uses a MAC address of a server as an example of Fig. 5.
  • information other than a MAC address is used as the service node identification information, it may add information which indicates a MAC address of a server separately to the table for service node location management 17-1.
  • the location information is the information which indicates a connection point of a service node and the communication system 1 , and is constituted by combination of the packet transfer unit identification information and a port number. Further, the packet transfer unit identification information is the same one as the table for communication terminal location management 16-1 of Fig. 4. In an example of Fig. 5, entries relating to the server 40 and the server 41 are written. For example, as the service node identification information on the server 40, the MAC address is stored. Also, the identifier of the packet transfer unit 22 which is a connection point of the server 40 to the communication system 1 and the port number " 1 " are stored as the location information.
  • the table for port and server group management 17-2 of Fig. 6 is a table for managing a correspondence relationship between a packet transfer unit which exists in a boundary of an external network (here, the router networks 150 and 151) and a service node which can be accessed through a specific port of the packet transfer unit.
  • a service node corresponding to a packet transfer unit is managed for each of services.
  • the table for port and server group management 17-2 includes the packet transfer unit identification information, a port number, the service identification information and the service node identification information.
  • the packet transfer unit identification information and a port number are the same ones as the table for communication terminal location management 16-1 of Fig. 4 and the table for service node location management 17- 1 of Fig. 5.
  • the service identification information is the information for identifying a service which is provided by a server, and an IP address is used in the second exemplary embodiment.
  • As the service identification information information other than an IP address can be used. In this case, it may add information which indicates an IP address assigned to a service separately to this table.
  • the service node identification information indicates a service node group which is permitted to be accessed from a port of the relevant packet transfer unit. As mentioned above, according to the second exemplary embodiment, both of the server 40 and the server 41 provide the same service A, and the IP address is #A.
  • the path control unit 10 has a policy that a priority order is set to a service node and a service node having a high priority order is accessed on a priority basis.
  • a policy which gives a higher priority order to a service node locating closer from a packet transfer unit is mentioned.
  • an index for measuring closeness between a packet transfer unit and a service node there is a method using the Round Trip Time (RTT) and a distance of the Autonomous System (AS) path.
  • RTT is a propagation-delay time of a message which has traveled a round trip between a certain two apparatuses for sending and receiving the message.
  • the RTT between the server 40, 41 and the packet transfer unit 21-24 neighboring the router network 150, 151 is applied.
  • the packet transfer unit (the packet transfer unit 21, 23 in Fig. 2) neighboring the router network notifies the path control unit 10 of a result of the periodical message transmission and reception to and from the server 40, 41.
  • the path control unit 10 gives a higher rank of the priority order to a server having a short RTT.
  • the AS path is one which indicates a list of AS number through which the communication exchanging the Border Gateway Protocol (BGP) has passed until reaching the destination.
  • Fig. 15 shows a system configuration example when the AS path is applied to the system.
  • the communication system 1 exists in two different locations separated by the router network 152 as the communication system 1-1 and the communication system 1-2. It is operating as one communication system virtually by connecting between these locations by a logical channel 51 and a logical channel 52. Because the communication terminal 130, 131 and the server 40, 41 are separated each other by a router network, it is supposed that they are belonging to a different AS each other.
  • the AS path for accessing to each of the servers 40 and 41 via each of the router networks 150 and 151 neighboring the communication system 1 is compared, and a higher rank of the priority order is given to a server having a short AS path.
  • a router network existing between the communication terminal 130 and the server 40 is only the router network 150.
  • the router networks 150 and 152 existing between the communication terminal 130 and the server 41. Therefore, when the communication terminal 130 accesses the service A, by accessing the server 40, the AS path becomes short and the priority order becomes high.
  • a corresponding service node is managed for each port of a packet transfer unit which exists in a boundary of an external network, however, it may be managed for each packet transfer unit.
  • the table for service and representative MAC address management 17-3 of Fig. 7 is a table for managing a correspondence relationship between the service
  • the service identification information is similar to the table for port and server group management 17-2 of Fig. 6. According to the second exemplary embodiment, it is supposed that a MAC address of any one of service nodes among a plurality of service nodes which provide the same service is written as the
  • the MAC address of the server 40 among the server 40 and the server 41 which are service nodes for providing the service A is used.
  • the representative MAC address is not limited to this, and a virtual MAC address may be used.
  • This table for service and representative MAC address management 17-3 is used when processing a MAC address resolution request for an IP address corresponding to the service identification information from a router network, or the like.
  • the packet transfer rule management unit 18 manages what kind of packet transfer rule is set to each of the packet transfer units in the communication system 1.
  • a calculated result in the route and process calculation unit 13 is registered in the packet transfer rule DB 19 as a packet transfer rule.
  • the packet transfer rule management unit 18 updates the registration information of the packet transfer rule DB 19 corresponding to this. Operation of such update is performed by the flow deletion notification (described later) or the like from a packet transfer unit as a trigger.
  • the packet transfer rule DB 19 can be omitted. Also, it may adopt the configuration in which the packet transfer rule DB 19 is not provided in the path control unit 10, but is provided separately in an external server or the like.
  • the communication terminal 130 communicates with the DNS server 160 (step 8- 1).
  • the communication terminal 130 acquires the IP address #A, which is an IP address of a server which provides the service A, from an FQDN which is included in a URL (Uniform Resource Locator) for providing the service A (step 8-2).
  • IP address #A is an IP address of a server which provides the service A
  • FQDN which is included in a URL (Uniform Resource Locator) for providing the service A
  • the communication terminal 130 sends a data packet, which has an IP address #A as a destination address, to the router network 150 (step 8-3).
  • the router network 150 does not know a MAC address which is corresponding to the IP address #A and is needed for transferring the data packet having an address of the IP address #A to the communication system 1
  • the router network 150 sends a MAC address resolution request message to the communication system 1 (step 8-4).
  • the router network 150 knows a MAC address corresponding to the IP address #A
  • the router network 150 transfers the data packet to the communication system 1.
  • the packet transfer unit 21 transfers it to the path control unit 10.
  • the path control unit 10 acquires the MAC address #A corresponding to the IP address #A using the table for service and representative MAC address management 17-3 which is being managed in the service node management unit 17. Next, the path control unit 10 responds that a MAC address corresponding to the IP address #A is the MAC address #A by sending a MAC address resolution response message (step 8-5).
  • the router network 150 transfers the data packet to the communication system 1 when having resolved the MAC address corresponding to the IP address #A (step 8-6).
  • the packet transfer unit 21 searches a packet transfer rule table and searches for a packet transfer rule corresponding to the received data packet.
  • the packet transfer rule corresponding to the received data packet exists, the data packet is processed according to the corresponding content of process.
  • a packet transfer rule corresponding to the received data packet does not exist.
  • a packet transfer rule does not exist in the packet transfer unit 21
  • the packet transfer unit 21 has never received the relevant packet yet and a content of process of this packet is not set.
  • the packet transfer unit 21 sends the new packet detection notification to the path control unit 10, after having buffered the received data packet (step 8-7).
  • This new packet detection notification includes information required to identify a packet transfer rule and information on a port which has received the packet.
  • the information required to identify a packet transfer rule is a source/ destination MAC address, a source/ destination IP address or a source/ destination port number or the like.
  • an identifier of the packet transfer unit 21 which is a source of the new packet detection notification may be included in the new packet detection notification.
  • the identifier of the packet transfer unit 21 for example, an IP address or a MAC address or the like of the packet transfer unit 21 are considered. However, it is not limited to these as far as the packet transfer unit 21 can be identified.
  • the packet transfer unit 21 buffers the received packet and sends information only required to identify a packet transfer rule to the path control unit 10.
  • the packet transfer unit 2 , 1 may send not only information required to identify a transfer rule but also the received whole packet to the path control unit 10.
  • the path control unit 10 sets a packet transfer rule to each of the packet transfer units in the
  • step 8-8 Operation of the step 8-8 will be described more in detail using a flowchart of Fig. 9.
  • the node communication unit 11 of the path control unit 10 receives the new packet detection notification (step 9-1).
  • the control message processing unit 12 of the path control unit 10 identifies a packet transfer unit which has detected the new packet and its input port and also a destination IP address of the data packet from the information included in the new packet detection notification (step 9-2). Specifically, it identifies that the packet transfer unit which has detected the new packet is the packet transfer unit 21 and its input port is 1.
  • the packet transfer unit 21 when an identifier of the packet transfer unit 21 is included in the new packet detection notification, it may identify a packet transfer unit by using the identifier of the packet transfer unit 21. Also, it can identify the packet transfer unit based on a source IP address (an IP address of the communication terminal 130) of the data packet. In this case, by using the table for communication terminal location management 16-1 , it can identify the packet transfer unit 21 from "location information" indicated in an entry of the communication terminal 130.
  • the control message processing unit 12 also identifies that a destination IP address of the data packet is #A (step 9-2).
  • the destination IP address has been identified here because the service is identified by an IP address. However, it is not limited to only an IP address for identifying the service, but other information can also be used. In a case where the service is identified by the other information, such information needs to be identified in step 9-2.
  • the information on the communication terminal 130 in the table for communication terminal location management 16-1 which is being managed in the communication terminal location management unit 16 is updated.
  • the information on the communication terminal 130 is not registered, the information on the communication terminal 130 is newly registered in the tables for communication terminal location management 16-1.
  • the path control unit 10 searches the table for port and server group management 17-2 by using the packet transfer unit (21), the port number (1) and the service identification information (the IP address #A) as a key.
  • the server 40 having a high priority order is selected as a service node having the IP address #A, in other words a service node which provides the service A (step 9-3).
  • a matching key of a new packet transfer rule is determined in the route and process calculation unit 13.
  • location of the server 40 as a destination is confirmed by using the table for service node location management 17-1 which is being managed in the service node management unit 17.
  • the packet transfer path from the packet transfer unit 21 to the server 40 is calculated based on the location information on the server 40 (step 9-4).
  • a source IP address is the same as an IP address of the communication terminal 130; (2) a destination MAC address is the same as the MAC address #A; and (3) a destination IP address is the same as the IP address #A.
  • the route and process calculation unit 13 selects a content of process for transferring a packet along the calculated route, as a content of process
  • the packet transfer unit 22 selects a content of process which indicates that when the relevant data packet is received, a destination MAC address in a header of the received data packet is converted into a MAC address of the server 40.
  • the route and process calculation unit 13 creates a packet transfer rule based on the selected matching key, the transfer route and the contents of process (step 9-5).
  • the packet transfer rule which has been determined is set to the packet transfer units 21 and 22, which are the packet transfer units on the route, via the control message processing unit 12 and the node communication unit 11 (step 9-6).
  • the path control unit 10 registers the packet transfer rule having been set to the packet transfer units 21, 22 to the packet transfer rule management unit 18.
  • the packet transfer unit 21 transfers the buffered packet in accordance with the set packet transfer rule (step 8-9). Because the packet transfer rule has already been set to the packet transfer units 21 and 22 on the transfer route of this packet, this packet is transferred in order of the packet transfer units 21, 22 and reaches the server 40.
  • the above is a communication procedure when the communication terminal 130 tries to get the service A for the first time.
  • the communication procedure when the communication terminal 131 gets the service A via the router network 151 is the same procedure as above, and an IP address resolved by the DNS server is also the same IP address #A.
  • the communication terminal 130 is communicating with the server 40 by the procedure mentioned above (step 10-1).
  • the server 40 detects its own abnormality, it judges that it will stop to provide the service A soon (step 10-2). In such a case, the server 40 sends failure notification to the path control unit 10 (step 10-3).
  • the server 40 also notifies the server 41.
  • a method of failure detection of the server 40 is, for example, that it judges by increase in its own temperature due to increase of the processing load or congestion state of the connected link, or the like. In the above-mentioned example, although it is supposed that the server 40 detects failure by itself, it is not limited to this and an operator or the like who manages the server 40 may judge.
  • the path control unit 10 deletes information relating to the server 40 from the table for port and server group management 17-2. By deleting the information on the server 40,
  • step 10-4 reconfiguration of correspondence relationships among a packet transfer unit and neighboring service nodes which provide the service for each service is performed (step 10-4).
  • the path control unit 10 detects that the communication terminal 130 is communicating with the server 40 based on information managed by the packet transfer rule management unit 18. By using the table for port and server group management 17-2 after reconfiguration, it is decided that the server which provides the service A to the communication terminal 130 is to be changed from the server 40 to the server 41.
  • the route and process calculation unit 13 calculates a path change (step 10-5).
  • the route and process calculation unit 13 sets a corresponding packet transfer rule according to the changed path (step 10-6).
  • a series of processing from calculation of a route to setting of a packet transfer rule is similar to processing from step 9-3 to step 9-6 of the above-mentioned Fig. 9, therefore, the detailed description will be omitted.
  • the path control unit 10 manages each connection relationship for each communication terminal, a server group including servers (service nodes) and the packet transfer unit. Also, the path control unit 10 selects a server which becomes a destination of a data packet among servers which provide a service requested by a received data packet from a communication terminal based on the managed connection relationship. Then, the path control unit 10 sets a process, which is corresponding to a transfer route, to a packet transfer units on the transfer route.
  • the third exemplary embodiment is the embodiment in which technology called OpenFlow, disclosed in the non patent literature 1 is applied to the second exemplary embodiment.
  • OpenFlow disclosed in the non patent literature 1 , is the technology which treats communication as a flow of end to end, and performs route control, failure recovery, load balancing and optimization or the like for each flow.
  • An OpenFlow Switch which functions as a transfer apparatus has a Secure Channel for communication with an OpenFlow Controller.
  • the OpenFlow Switch operates in accordance with a flow-table which is directed to add or rewrite appropriately by the OpenFlow
  • a set which includes a rule (a matching key) to be checked against packet header, an "action" defining a content of process of a packet and flow statistics information is defined for each flow. This set is called a "flow entry”.
  • Fig. 1 1 is a block diagram showing a system according to the third exemplary embodiment.
  • a communication system 100 of the third exemplary embodiment includes a path control unit 110, a flow switch network 120, a flow switch 121 , a flow switch 122, a flow switch 123 and a flow switch 124.
  • Each of the above flow switches is equivalent to the OpenFlow Switch mentioned above.
  • Communication terminals 130 and 131 are connected to the communication system 100 respectively via router networks 150, 151.
  • DNS servers 160, 161 are connected to the router networks 150, 151 respectively.
  • a server group 1400 is connected to the communication system 100.
  • the server group 1400 includes a server 140 and a server 141. Similar to the second exemplary embodiment, it is supposed that the server 140 and the server 141 provide the service A and have the same IP address #A.
  • the path control unit 110 controls communication paths in the communication system 100.
  • the path control unit 110 may be located in the controller 200 which is an independent apparatus as shown in Fig. 11.
  • path control unit 110 The detailed description of the path control unit 110 will be omitted because it is equivalent to the path control unit 10 in Fig. 3, where it regards the packet transfer unit as the flow switch and it regards the packet transfer rule as the flow entry. Accordingly, henceforth, Figs. 3 to 7 will be referred when the path control unit 110 is described.
  • the flow switch network 120 is the network which is constituted by at least one flow switch being connected.
  • the flow switches 121 to 124 included in the flow switch network 120 connect with the router network 150, the router network 151 , the server 140 and the server 141. Therefore, the flow switches 121 to 124 can be called as edge nodes of the communication system 100 which are located in a boundary of the communication system 100 and connect with outside networks of the communication system 100.
  • the flow switches 121 to 124 find a flow entry having a matching key, which matches the received packet, from the flow entry table which stores flow entries, and perform process according to an action corresponding to the flow entry. Transferring to a specific port, flooding and discarding or the like, can be exemplified as the action.
  • the flow switches 121 to 124 similar to the second exemplary embodiment, reset a timer (time-out information) in an action field of relevant flow entry whenever the flow switches 121 to 124 process a packet.
  • Step 12-1 to Step 12-5 The description of steps from Step 12-1 to Step 12-5 will be omitted because they are almost the same as the steps from step 8-1 to step 8-5 of the second exemplary embodiment (Fig. 8).
  • the MAC address resolution request of step 8-4 is performed by an ARP (Address Resolution Protocol) Request in step 12-4.
  • the MAC address resolution of step 8-5 is performed by an ARP Reply in step 12-5.
  • the router network 150 transfers a data packet to the
  • the flow switch 121 searches the flow entry table and searches for a flow entry corresponding to the received data packet.
  • the flow entry corresponding to the received data packet exists, the data packet is processed according to the corresponding action.
  • the received data packet is the first packet of a new flow in this case.
  • the flow switch 121 sends a Packet-in message to the path control unit 110 after having buffered the received data packet.
  • This Packet-in message is a message defined in the non patent literature 1, and this is a message to be sent to the OpenFlow controller when a new flow is detected in the OpenFlow switch.
  • information required to identify a flow entry and information on a port which has received the packet are included.
  • the information required to identify a flow entry is a source/ destination MAC address, a source/ destination IP address and a source/ destination port number or the like.
  • an identifier of the flow switch 121 which is a source of the Packet-in may be included in the Packet-in.
  • this identifier for example, an IP address or a MAC address or the like of the flow switch 121 are considered, however, it is not limited to these as far as the flow switch 121 can be distinguished.
  • the flow switch 121 buffers the received packet and sends information only required to identify a flow entry to the path control unit 110.
  • the flow switch 121 may send not only information required to identify a flow entry, but also the received whole packet to the path control unit 110.
  • the path control unit 110 When receiving the Packet-in message, the path control unit 110 sets a flow entry by a message called FlowMod defined in the non patent literature 1 (step 12-8).
  • the FlowMod message includes information on the flow entry to be newly registered, or information on the flow entry to be updated to the OpenFlow switch.
  • the OpenFlow controller performs initial registration or update of flow entry of the OpenFlow switch by sending a message including these information.
  • the path control unit 110 receives the Packet-in message (step 13-1).
  • the control message processing unit 12 of the path control unit 110 identifies a flow switch which has detected the new flow and its input port and also a destination IP address of the data packet from the information included in the Packet-in message (step 13-2). Specifically, it identifies that the flow switch which has detected the new flow is the flow switch 121 , and its input port is 1.
  • an identifier of the flow switch 121 is included in the Packet-in, it may identify a flow switch by using the identifier of the flow switch 121. Also, it can identify the flow switch based on a source IP address of the data packet (an IP address of the communication terminal 130). In this case, by using the table for communication terminal location management 16-1 , it can identify the flow switch 121 from
  • the control message processing unit 12 also identifies that a destination IP address of the data packet is #A (step 13-2).
  • the destination IP address has been identified here because the service is identified by an IP address. However, it is possible to identify the service by information other than the IP address. In a case where the service is identified by the other information, such information needs to be identified.
  • the information on the communication terminal 130 in the table for communication terminal location management 16-1 which is being managed in the communication terminal location management unit 16 is updated.
  • the information on the communication terminal 130 is not registered, the information on the communication terminal 130 is newly registered in the tables for communication terminal location management 16-1.
  • the path control unit 110 searches the table for port and server group management 17-2 by using the flow switch 121 , the port number 1 and the service identification information (the IP address #A) as a key.
  • the server 140 having a high priority order is selected as a service node having the IP address #A, in other words a service node which provides the service A (step 13-3).
  • a matching key of a new flow entry is determined in the route and process calculation unit 13.
  • location of the server 140 as a destination is confirmed by using the table for service node location management 17-1 which is being managed in the service node management unit 17.
  • the packet transfer path from the flow switch 121 to the server 140 is calculated based on the location information on the server 140 (step 13-4).
  • a source IP address is the same as an IP address of the communication terminal 130; (2) a destination MAC address is the same as the MAC address #A; and (3) a destination IP address is the same as the IP address #A.
  • the route and process calculation unit 13 selects an action for transferring a packet along the calculated route as an action corresponding to the determined matching key.
  • the flow switch 122 selects an action which indicates that when the data packet corresponding to the matching key is received, a destination MAC address in a header of the data packet is converted into a MAC address of the server 140.
  • the route and process calculation unit 13 creates a flow entry based on the selected matching key, the transfer route and the actions (step 13-5).
  • the flow entry which has been determined is set to the flow switches 121 , 122 which are the flow switches on the route by sending the FlowMod via the control message processing unit 12 and the node communication unit 11 (step 13-6).
  • the path control unit 110 registers the flow entry having been set to the flow switches 121 , 122 to the packet transfer rule (flow entry) management unit 18.
  • the flow switch 121 transfers the buffered packet according to the flow entry (step 13-9). Because the flow entry has already been set to the flow switches 121 and 122 on the transfer route of this packet, this packet is transferred in order of the flow switches 121, 122 and the packet reaches the server 140.
  • the above is a communication procedure when the communication terminal 130 tries to get the service A for the first time.
  • the communication procedure when the communication terminal 131 gets the service A via the router network 151 is the same procedure as above, and an IP address resolved by the DNS server is also the same IP address #A, however, it is different in a point that a server of an access destination is the server 141 because a flow switch which is located in a boundary of the communication system 100 is different.
  • the communication terminal 130 is communicating with the server 140 by the procedure mentioned above (step 14-1).
  • the server 140 detects its own abnormality, it judges that it will stop to provide the service A soon (step 14-2).
  • the server 140 sends a failure notification to the path control unit 110 (step 14-3).
  • the server 140 also notifies the server 141.
  • the method in the second exemplary embodiment is mentioned. Therefore, the description will be omitted here.
  • the path control unit 110 deletes information relating to the server 140 from the table for port and server group management 17-2. By deleting information on the server 140, reconfiguration of correspondence relationships among a flow switch and neighboring service nodes which provide the service for each service is performed (step 14-4).
  • the path control unit 110 detects that the communication terminal 130 is communicating with the server 140 based on information managed by the packet transfer rule management unit 18. By using the table for port and server group management 17-2 after reconfiguration, it is decided that the server which provides the service A to the communication terminal 130 is to be changed from the server 140 to the server 141.
  • the route and process calculation unit 13 calculates a path change (step 14-5).
  • the route and process calculation unit 13 sets a corresponding flow entry according to the changed path (step 14-6).
  • a series of processing from calculation of a route to setting of a flow entry (FlowMod) is similar to processing from step 13-3 to step 13-6 of the above-mentioned Fig. 13, therefore, the detailed description will be omitted.
  • the network to which the OpenFlow is applied, has been described in the third exemplary embodiment, however, it is not limited to this. It is possible to apply the network other than OpenFlow, in which centralized control is performed by a control server or the like.
  • the path control unit 110 (or the controller 200) manages each connection relationship for each communication terminal, a server group including servers (service nodes) and the flow switch. Also, the path control unit 110 selects a server which becomes a destination of a data packet among servers which provide a service requested by a received data packet from a communication terminal based on a managed connection relationship. And, the path control unit 110 sets an action, which is corresponding to a transfer route, to a flow switch on the transfer route.
  • a control apparatus for controlling a network comprising:
  • a path control means for selecting a communication apparatus having an identifier as a destination communication apparatus among a communication apparatus group, based on a connection relationship between the communication apparatus group, which is connected to the network and includes communication apparatuses each having the same identifier, and a source communication apparatus which performs communication using the identifier as a destination address, and setting a process corresponding to a path from the source communication apparatus to the selected destination communication apparatus to a transfer apparatus in the network.
  • connection relationship includes a connection relationship between the communication apparatus group and the transfer apparatus which is located in a boundary of the network.
  • control apparatus according to supplementary note 1 or 2,
  • path control means comprising:
  • a first storage means for storing the connection relationship between the communication apparatus and the transfer apparatus which is located in a boundary of the network
  • a second storage means for storing the communication apparatus having the same identifier among the communication apparatus group by correlating with each transfer apparatus which is located in a boundary of the network or each port provided in the transfer apparatus;
  • a selecting means for searching for the transfer apparatus which is located in a boundary of the network and is connected with the source communication apparatus, from the first storage means when communication using the identifier as a destination address is received, and selecting from the second storage means any one of communication apparatuses in the communication apparatus group which is corresponding to the searched transfer apparatus as the destination communication apparatus.
  • path control means deletes information relating to the
  • control apparatus according to supplementary note 3 or 4,
  • the second storage means further stores, the communication apparatus and a priority order based on a distance between the destination
  • selecting means selects any one of communication apparatuses in the communication apparatus group as the destination communication apparatus based on the priority order.
  • control apparatus according to any one of supplementary notes 1 to 5, wherein the identifier is an IP address.
  • identifier is an identifier which can distinguish a service provided by the communication apparatus included in the communication apparatus group.
  • the control apparatus according to any one of supplementary notes 5 to 7, wherein the priority order is set based on an RTT (Round Trip Time) between the destination communication apparatus and the transfer apparatus which is located in a boundary of the network with which the source communication apparatus connects.
  • RTT Random Trip Time
  • control apparatus according to any one of supplementary notes 5 to 7, wherein the priority order is set based on an AS (Autonomous System) pass between the transfer apparatus provided outside the network and the destination communication apparatus.
  • AS Autonomous System
  • a communication system comprising:
  • control apparatus for controlling a network
  • control apparatus includes a path control means for selecting a communication apparatus having an identifier as a destination communication apparatus among a communication apparatus group, based on a connection relationship between the communication apparatus group, which is connected to the network and includes communication apparatuses each having the same identifier and a source communication apparatus which performs communication using the identifier as a destination address, and setting a process corresponding to a path from the source communication apparatus to the selected destination communication apparatus to the transfer apparatus in the network.
  • connection relationship includes a connection relationship between the communication apparatus group and the transfer apparatus which is located in a boundary of the network.
  • a first storage means for storing the connection relationship between the communication apparatus and the transfer apparatus which is located in a boundary of the network
  • a second storage means for storing the communication apparatus having the same identifier among the communication apparatus group by correlating with each transfer apparatus which is located in a boundary of the network or each port provided in the transfer apparatus;
  • a selecting means for searching for the transfer apparatus which is located in a boundary of the network and is connected with the source communication apparatus, from the first storage means when communication using the identifier as a destination address is received, and selecting from the second storage means any one of communication apparatuses in the communication apparatus group which is corresponding to the searched transfer apparatus as the destination communication apparatus.
  • path control means deletes information relating to the
  • the communication system according to supplementary note 12 or 13, wherein the second storage means further stores the communication apparatus and a priority order based on a distance between the destination
  • selecting means selects any one of communication apparatuses in the communication apparatus group as the destination communication apparatus based on the priority order.
  • the identifier is an IP address
  • the identifier is an identifier which can distinguish a service provided by the communication apparatus included in the communication apparatus group.
  • the priority order is set based on an RTT (Round Trip Time) between the destination communication apparatus and the transfer apparatus which is located in a boundary of the network with which the source communication apparatus connects.
  • RTT Random Trip Time
  • priority order is set based on an AS (Autonomous System) pass between the transfer apparatus provided outside the network and the destination communication apparatus.
  • AS Autonomous System
  • a communication method comprising:
  • a communication apparatus having an identifier as a destination communication apparatus among a communication apparatus group based on a connection relationship between the communication apparatus group, which is connected to a network controlled by a control apparatus and includes communication apparatuses each having the same identifier, and a source communication apparatus which performs communication using the identifier as a destination address;
  • connection relationship includes a connection relationship between the communication apparatus group and the transfer apparatus which is located in a boundary of the network.
  • selecting is performed based on the priority order.
  • the identifier is an IP address
  • the identifier is an identifier which can distinguish a service provided by the communication apparatus included in the communication apparatus group.
  • the priority order is set based on an RTT (Round Trip Time) between the destination communication apparatus and the transfer apparatus which is located in a boundary of the network with which the source communication apparatus connects.
  • RTT Random Trip Time
  • priority order is set based on an AS (Autonomous System) pass between the transfer apparatus provided outside the network and the destination communication apparatus.
  • AS Autonomous System
  • a recording medium having recorded thereon a communication program for causing a computer to execute a path control process comprising:
  • a communication apparatus having an identifier as a destination communication apparatus among a communication apparatus group, based on a connection relationship between the communication apparatus group, which is connected to the network and includes communication apparatuses each having the same identifier and a source communication apparatus which performs
  • connection relationship includes a connection relationship between the communication apparatus group and the transfer apparatus which is located in a boundary of the network.
  • selecting is performed based on the priority order.
  • the recording medium according to any one of supplementary notes 28 to 31 , wherein the identifier is an IP address.
  • the recording medium according to any one of supplementary notes 28 to 32, wherein the identifier is an identifier which can distinguish a service provided by the communication apparatus included in the communication apparatus group.
  • the recording medium according to any one of supplementary notes 32 to 34, wherein the priority order is set based on an RTT (Round Trip Time) between the destination communication apparatus and the transfer apparatus which is located in a boundary of the network with which the source communication apparatus connects.
  • RTT Random Trip Time
  • AS Autonomous System

Abstract

[Technical Problem] A communication destination is fixed and cannot be arbitrarily selected. [Solution to Problem] A control apparatus for controlling a network comprises a path control means for selecting a communication apparatus having an identifier as a destination communication apparatus among a communication apparatus group, based on a connection relationship between the communication apparatus group, which is connected to the network and includes communication apparatuses each having the same identifier, and a source communication apparatus which performs communication using the identifier as a destination address, and setting a process corresponding to a path from the source communication apparatus to the selected destination communication apparatus to a transfer apparatus in the network.

Description

DESCRIPTION
Title of Invention
A CONTROL APPARATUS, A COMMUNICATION SYSTEM, A COMMUNICATION METHOD AND A RECORDING MEDIUM HAVING RECORDED THEREON A COMMUNICATION PROGRAM
Technical Field
The present invention relates to a control apparatus in a network for performing communication, a communication system, a communication method and a recording medium having recorded thereon a communication program.
Background Art
In recent years, a lot of technologies for providing various services by a server in response to communication from a client (a user) have been developed.
In a system which provides services to a client, load balancing and scalability or the like need to be considered. For the purpose of retaining such load balancing and scalability, there is technology which commonly uses a single identifier such as an IP (Internet Protocol) address or the like among a plurality of servers. As its example, the patent literature 1 is mentioned.
According to the technology disclosed in the patent literature 1 , a relaying apparatus in a network manages a table in which an IP address of an information processing apparatus, which is a transfer destination, is correlated to a physical port which connects with the information processing apparatus. The relaying apparatus transfers a received packet according to this table. As a result, even if the same IP address is assigned to a plurality of information processing apparatus, it becomes possible to perform communication.
[Citation List]
[Patent Literature]
[Patent Literature 1 ] Japanese Patent Application Laid-Open No. 2008-219400 [Non Patent Literature]
[Non Patent Literature 1 ] OpenFlow Switch Specification Version 1.0.0 (Wire Protocol 0x01 ), December 31 , 2009, [searched on September 2, 2010], the internet <URL:http://www.openflowswitch.org/documents/openflow-spec-vl .O.O.pdf> Summary of Invention
[Technical Problem]
However, in the technology disclosed in the patent literature 1, because the information processing apparatus is identified by the correspondence relation between a physical port of the relaying apparatus and an IP address of the
information processing apparatus, there is a problem that a destination is fixed and cannot be selected.
The object of the present invention is to provide a control apparatus, a
communication system, a communication method and a recording medium having recorded thereon a communication program, which are capable of solving the problem mentioned above.
[Solution to Problem]
A control apparatus for controlling a network comprises a path control means for selecting a communication apparatus having an identifier as a destination
communication apparatus among a communication apparatus group, based on a connection relationship between the communication apparatus group, which is connected to the network and includes communication apparatuses each having the same identifier, and a source communication apparatus which performs
communication using the identifier as a destination address, and setting a process corresponding to a path from the source communication apparatus to the selected destination communication apparatus to a transfer apparatus in the network.
A communication system comprises a control apparatus for controlling a network; and a transfer apparatus for transferring packets; wherein the control apparatus includes a path control means for selecting a communication apparatus having an identifier as a destination communication apparatus among a communication apparatus group, based on a connection relationship between the communication apparatus group, which is connected to the network and includes communication apparatuses each having the same identifier and a source communication apparatus which performs communication using the identifier as a destination address, and setting a process corresponding to a path from the source communication apparatus to the selected destination communication apparatus to the transfer apparatus in the network.
A communication method comprises selecting, a communication apparatus having the identifier as a destination communication apparatus among the communication apparatus group, based on a connection relationship between the communication apparatus group, which is connected to a network controlled by a control apparatus and includes communication apparatuses each having the same identifier, and a source communication apparatus which performs communication using the identifier as a destination address; and setting a process corresponding to a path from the source communication apparatus to the selected destination communication apparatus to a transfer apparatus in the network.
A recording medium having recorded thereon a communication program for causing a computer to execute a path control process comprises: selecting a communication apparatus having the identifier as a destination communication apparatus among the communication apparatus group, based on a connection relationship between the communication apparatus group, which is connected to the network and includes communication apparatuses each having the same identifier and a source communication apparatus which performs communication using the identifier as an address; and setting a process corresponding to a path from the source communication apparatus to the selected destination communication apparatus to a transfer apparatus in the network.
[Advantageous Effects of Invention]
According to the present invention, it becomes possible to select a communication destination among a communication apparatus group which includes communication apparatuses each having the same identifier as a communication destination based on a connection relationship between a communication source and the communication apparatus group.
Brief Description of Drawings
[Fig. 1] is a figure showing a system configuration of the first embodiment.
[Fig. 2] is a figure showing a system configuration of the second embodiment.
[Fig. 3] is a figure showing configuration of the path control section.
[Fig. 4] is a figure showing composition of the table for communication terminal location management.
[Fig. 5] is a figure showing composition of the table for service node location management.
[Fig. 6] is a figure showing composition of the table for port and server group management.
[Fig. 7] is a figure showing composition of the table for service and representative MAC address management.
[Fig. 8] is a sequence chart showing operation of the second embodiment.
[Fig. 9] is a flowchart showing operation of the second embodiment.
[Fig. 10] is a sequence chart showing operation of the second embodiment.
[Fig. 11] is a figure showing a system configuration of the third embodiment.
[Fig. 12] is a sequence chart showing operation of the third embodiment.
[Fig. 13] is a flowchart showing operation of the third embodiment.
[Fig. 14] is a sequence chart showing operation of the third embodiment.
[Fig. 15] is a figure showing a system configuration example by the second embodiment.
Description of Embodiments
Hereinafter, the exemplary embodiments of the present invention will be described in detail using the drawings.
<Exemplary embodiment 1>
(CONFIGURATION)
The first exemplary embodiment of the present invention will be described in detail with reference to the drawings.
Fig. 1 is a block diagram showing a system according to this exemplary
embodiment. Referring to Fig. 1 , a communication system 1000 of the first exemplary embodiment includes a control apparatus 2000 and a network 1120. The network 1120 includes a transfer apparatus 1121 , a transfer apparatus 1122 and a transfer apparatus 1124.
A communication apparatus group 1200 connects with the communication system 1000. The communication apparatus group 1200 includes a communication apparatus 1040 and a communication apparatus 1041. The communication apparatus 1040 connects with the communication system 1000 via the transfer apparatus 1122.
Similarly, the communication apparatus 1041 connects with the communication system 1000 via the transfer apparatus 1124. The communication apparatus 1040 and the communication apparatus 1041 have a certain identical identifier.
In an example of Fig. 1 , although the number of the communication apparatus included in the communication apparatus group 1200 is two, it may be equal to or more than three. Similarly, in an example of Fig. 1 , although two communication apparatuses 1040 and 1041 are shown as a communication apparatus having the same identifier, there may be equal to or more than three communication apparatuses.
Further, a communication apparatus 1130 connects with the communication system 1000 via a network 1150. According to the first exemplary embodiment, it will describe a case where the communication apparatus 1130 performs
communication using the identifier provided in the communication apparatus 1040 and the communication apparatus 1041 as a destination.
The control apparatus 2000 controls the communication system 1000. Also, the control apparatus 2000 includes a path control section 1001.
The path control unit 1001 selects any one of the communication apparatus 1040 and the communication apparatus 1041 each having the same identifier, based on a connection relationship between the communication apparatus 1130 and the communication apparatus group 1200. After that, the path control unit 1001 sets a process corresponding to a route from the communication apparatus 1130 to the selected communication apparatus to each transfer apparatus in the network 1120.
(EFFECTS)
As it has been described above, according to the first exemplary embodiment, the path control unit 1001 selects one communication apparatus out of the
communication apparatuses 1040 and 1041 which becomes a destination based on a connection relationship between the communication apparatus group 1200, which includes the communication apparatuses 1040 and 1041 , and the communication apparatus 1130. Also, the path control unit 1001 sets a process corresponding to a route from the communication apparatus 1130 to the selected communication apparatus to each transfer apparatus in the network 1120.
By the above mentioned operation, it becomes possible to select a communication destination, based on a connection relationship between a communication source and the communication apparatus group 1200, among the communication apparatus group 1200 which includes the communication apparatuses (1040 and 1041) each having the same identifier which is a destination from the communication apparatus 1130.
<Exemplary embodiment 2>
The second exemplary embodiment of the present invention will be described in detail with reference to the drawings.
(OVERALL STRUCTURE)
Fig. 2 is a block diagram showing a system according to the second exemplary embodiment. Referring to Fig. 2, a communication system 1 of the second exemplary embodiment includes a path control unit 10, a packet transfer unit group 20, a packet transfer unit 21 , a packet transfer unit 22, a packet transfer unit 23 and a packet transfer unit 24.
The path control unit 10 controls communication paths in the communication system 1. As shown in Fig. 2, the path control unit 10 may be included in an independent control apparatus 2. The description about the path control unit 10 will be made later.
The packet transfer unit group 20 is a network which is constituted by at least one packet transfer unit being connected.
The packet transfer units 21-24 connect with a router network 150, a router network 151 and a server group 1400. Therefore, the packet transfer units 21-24 can be called edge nodes of the communication system 1 which are located in a boundary of the communication system 1 and connect with an outside network of the communication system 1.
Also, the packet transfer units 21 -24 have a packet transfer rule table which stores packet transfer rules (not shown in a figure). In the packet transfer rule, a matching key for identifying a packet is correlated to a content of process for a packet (the process is, for example, transferring to a specific port, flooding or discarding or the like). When a packet is received, the packet transfer units 21 -24 search for the packet transfer rule having a matching key which is suitable for the received packet from the packet transfer rule table. The process according to a content of process corresponding to the searched packet transfer rule is performed.
Further, each packet transfer unit may be constituted as an independent apparatus (such as a switch, a router or the like).
Also, the packet transfer units 21-24 may be equipped with a delete function of a packet transfer rule as follows. As an example of this function, it is mentioned that whenever the packet transfer units 21-24 process a packet, the packet transfer units 21-24 reset a timer (time-out information) in a field which indicates a content of process of the corresponding packet transfer rule. The packet transfer units 21-24 delete the corresponding packet transfer rule from the packet transfer rule table when the timer becomes 0. By this function, it prevents a situation that an
unintentional content of process is carried out due to an unused packet transfer rule being left permanently.
The server group 1400 includes a server 40 and a server 41. The server 40 and the server 41 are servers which provide a certain service A for the other party of communication and connect with the communication system 1 via a network. The server 40 and the server 41 hold a database required to provide the service A. The server 40 and the server 41 have the same IP address which is corresponding to the service A. Henceforth, it will be described by assuming that the server 40 and the server 41 provide the same service A and have the same IP address #A.
Henceforth, although it will be described by assuming that the server 40 and the server 41 provide the same service A, it is not limited to this. The second exemplary embodiment can be applied to a case where the same or similar kind of
communication is performed between a server and a communication terminal. As an example of the similar kind of communication, it is mentioned that the server 40 provides high-speed communication and the server 41 provides low-speed
communication when the communication of the same contents is performed between the server and the communication terminal.
The communication terminal 130 and the communication terminal 131 connect with the server 40 or the server 41 via the router network 150, the router network 151 and the communication system 1. The communication terminal 130 and the communication terminal 131 communicate with the server 40 or the server 41 , and get the service A. As an example of the communication terminal, it may be a user terminal, a client terminal or a server or the like.
The router network 150 and the router network 151 are networks in which a plurality of routers for packet transfer exists. A DNS (Domain Name System) server 160 and a DNS server 161 are connected to the router network 150 and the router network 151 respectively.
The DNS server 160 and the DNS server 161 are servers for resolving an IP address from a Fully Qualified Domain Name (FQDN). According to the second exemplary embodiment, the DNS servers 160 and 161 always provide the IP address #A as an answer for an FQDN of the server which provides the service A in spite of conditions (a location of the communication terminal which has requested IP address resolution, load status of the server, or the like).
(CONFIGURATION OF THE PATH CONTROL UNIT 10)
Fig. 3 is a block diagram showing a detailed structure of the path control unit 10 of Fig. 2. Referring to Fig. 3, the path control unit 10 includes a node
communication unit 11, a control message processing unit 12 and a route and process calculation unit 13. At the same time, the path control unit 10 is constituted by including a packet transfer unit management unit 14, a topology management unit 15, a communication terminal location management unit 16, a service node management unit 17, a packet transfer rule management unit 18 and a packet transfer rule database (Data Base :DB) 19. Hereinafter, details of each function will be described.
The node communication unit 11 communicates with the packet transfer unit group 20 and the packet transfer units 21-24.
The control message processing unit 12 analyzes a control message received from the packet transfer unit group 20 and the packet transfer units 21-24 and conveys control message information to a relevant process function in the path control unit 10.
The route and process calculation unit 13 seeks a packet transfer route and a processing content to be performed by the packet transfer unit group 20 and the packet transfer units 21-24 on the packet transfer route based on location
information on a communication terminal being managed by the communication terminal location management unit 16, location information on a server being managed by the service node management unit 17, and network topology information established in the topology management unit 15.
The packet transfer unit management unit 14 manages abilities of the packet transfer unit which is being controlled by the path control unit 10. As for abilities of the packet transfer unit, it is mentioned that, for example, the number of ports, types of ports and types of processing contents supported by each packet transfer unit, or the like. Further, the types of ports do not care in the second exemplary embodiment. As well as a physical port like an optical fiber and a coaxial cable or the like, a logical channel like a VPN (Virtual Private Network) tunnel or the like may be regarded as a port virtually.
The topology management unit 15 establishes and manages the network topology information. The topology management unit 15 collects connection relationships among the packet transfer unit group 20 and the packet transfer units 21-24 via the node communication unit 11. The topology management unit 15 establishes and manages the network topology information based on the collected connection relationships.
The communication terminal location management unit 16 manages that the communication terminals 130 and 131 connected with the communication system 1 are being connected to which port of which packet transfer unit in the
communication system 1. For example, this location management is performed based on new packet detection notification and flow deletion notification from a packet transfer unit. Description will be made later of the new packet detection notification and the flow deletion notification.
Fig. 4 is a figure showing an example of a table held in the communication terminal location management unit 16. The table for communication terminal location management 16-1 of Fig. 4 includes communication terminal identification information, a MAC (Media Access Control) address corresponding to each communication terminal and location information.
The communication terminal identification information is an identifier for identifying a communication terminal, and as an example of Fig. 4, it uses an IP address of a communication terminal. When information other than an IP address is used as the communication terminal identification information, it may add information which indicates an IP address of a communication terminal separately to the table for communication terminal location management 16-1.
The MAC address corresponding to each communication terminal is a source MAC address of the packet which has entered into the communication system 1.
According to the second exemplary embodiment, the MAC address of an edge router (not shown in Fig. 2) which is adjacent to the communication system 1, and exists in the router network 150 or the router network 151 is used.
The location information on a communication terminal is the information which indicates a connection point of the communication terminal and the communication system 1. The location information on a communication terminal includes packet transfer unit identification information and a port number. The packet transfer unit identification information uses an identifier given to each packet transfer unit. Specifically, it is mentioned that an IP address, a MAC address or other specific identifier or the like given to a packet transfer unit.
In an example of Fig. 4, information corresponding to the communication terminal 130 and the communication terminal 131 is stored in the table for communication terminal location management 16- 1. For example, as the communication terminal identification information on the communication terminal 130, the IP address is stored. As a MAC address, the MAC address of an edge router of the router network 150 is stored. As the location information, the identifier of the packet transfer unit 21 which is a connection point of the communication terminal 130 to the
communication system 1 and the port number " 1 " are stored.
The service node management unit 17 manages a connection relationship between the service node, which is connecting with the communication system 1 , and the communication system 1. Also, the service node management unit 17 manages the connection relationship between the communication system 1 and the service node for each of services. In the second exemplary embodiment, the service node is the server 40 and the server 41. This management is performed, for example, based on the new packet detection notification and the flow deletion notification or the like from the packet transfer unit. The detailed description of such notifications will be made later.
Figs. 5-7 show an example of tables held in the service node management unit 17. The table for service node location management 17-1 of Fig. 5 is a table for location management of the service node, and the location information is correlated with the service node identification information.
The service node identification information is an identifier for identifying a service node, and it uses a MAC address of a server as an example of Fig. 5. When information other than a MAC address is used as the service node identification information, it may add information which indicates a MAC address of a server separately to the table for service node location management 17-1.
The location information is the information which indicates a connection point of a service node and the communication system 1 , and is constituted by combination of the packet transfer unit identification information and a port number. Further, the packet transfer unit identification information is the same one as the table for communication terminal location management 16-1 of Fig. 4. In an example of Fig. 5, entries relating to the server 40 and the server 41 are written. For example, as the service node identification information on the server 40, the MAC address is stored. Also, the identifier of the packet transfer unit 22 which is a connection point of the server 40 to the communication system 1 and the port number " 1 " are stored as the location information.
The table for port and server group management 17-2 of Fig. 6 is a table for managing a correspondence relationship between a packet transfer unit which exists in a boundary of an external network (here, the router networks 150 and 151) and a service node which can be accessed through a specific port of the packet transfer unit. According to the second exemplary embodiment, a service node corresponding to a packet transfer unit is managed for each of services. The table for port and server group management 17-2 includes the packet transfer unit identification information, a port number, the service identification information and the service node identification information.
The packet transfer unit identification information and a port number are the same ones as the table for communication terminal location management 16-1 of Fig. 4 and the table for service node location management 17- 1 of Fig. 5.
The service identification information is the information for identifying a service which is provided by a server, and an IP address is used in the second exemplary embodiment. As the service identification information, information other than an IP address can be used. In this case, it may add information which indicates an IP address assigned to a service separately to this table. The service node identification information indicates a service node group which is permitted to be accessed from a port of the relevant packet transfer unit. As mentioned above, according to the second exemplary embodiment, both of the server 40 and the server 41 provide the same service A, and the IP address is #A.
According to the second exemplary embodiment, it is supposed that the path control unit 10 has a policy that a priority order is set to a service node and a service node having a high priority order is accessed on a priority basis. As a basis for setting of the priority order, for example, a policy which gives a higher priority order to a service node locating closer from a packet transfer unit is mentioned. For example, as an index for measuring closeness between a packet transfer unit and a service node, there is a method using the Round Trip Time (RTT) and a distance of the Autonomous System (AS) path. The RTT is a propagation-delay time of a message which has traveled a round trip between a certain two apparatuses for sending and receiving the message. In the second exemplary embodiment, the RTT between the server 40, 41 and the packet transfer unit 21-24 neighboring the router network 150, 151 is applied. In this case, the packet transfer unit (the packet transfer unit 21, 23 in Fig. 2) neighboring the router network notifies the path control unit 10 of a result of the periodical message transmission and reception to and from the server 40, 41. And the path control unit 10 gives a higher rank of the priority order to a server having a short RTT.
Next, the AS path is one which indicates a list of AS number through which the communication exchanging the Border Gateway Protocol (BGP) has passed until reaching the destination. Fig. 15 shows a system configuration example when the AS path is applied to the system. In this exemplary configuration, the communication system 1 exists in two different locations separated by the router network 152 as the communication system 1-1 and the communication system 1-2. It is operating as one communication system virtually by connecting between these locations by a logical channel 51 and a logical channel 52. Because the communication terminal 130, 131 and the server 40, 41 are separated each other by a router network, it is supposed that they are belonging to a different AS each other. And it can be considered that the AS path for accessing to each of the servers 40 and 41 via each of the router networks 150 and 151 neighboring the communication system 1 is compared, and a higher rank of the priority order is given to a server having a short AS path. In this exemplary configuration, when seen from the communication terminal 130, a router network existing between the communication terminal 130 and the server 40 is only the router network 150. On the other hand, there are two router networks, the router networks 150 and 152, existing between the communication terminal 130 and the server 41. Therefore, when the communication terminal 130 accesses the service A, by accessing the server 40, the AS path becomes short and the priority order becomes high.
In the table for port and server group management 17-2 of the second exemplary embodiment, a corresponding service node is managed for each port of a packet transfer unit which exists in a boundary of an external network, however, it may be managed for each packet transfer unit. The table for service and representative MAC address management 17-3 of Fig. 7 is a table for managing a correspondence relationship between the service
identification information and a "representative MAC address" and constituted by combination of the service identification information and a representative MAC address. The service identification information is similar to the table for port and server group management 17-2 of Fig. 6. According to the second exemplary embodiment, it is supposed that a MAC address of any one of service nodes among a plurality of service nodes which provide the same service is written as the
"representative MAC address". For example, the MAC address of the server 40 among the server 40 and the server 41 which are service nodes for providing the service A is used. However, the representative MAC address is not limited to this, and a virtual MAC address may be used. This table for service and representative MAC address management 17-3 is used when processing a MAC address resolution request for an IP address corresponding to the service identification information from a router network, or the like.
The packet transfer rule management unit 18 manages what kind of packet transfer rule is set to each of the packet transfer units in the communication system 1.
Specifically, a calculated result in the route and process calculation unit 13 is registered in the packet transfer rule DB 19 as a packet transfer rule. When a change has occurred to a packet transfer rule being set to a packet transfer unit, the packet transfer rule management unit 18 updates the registration information of the packet transfer rule DB 19 corresponding to this. Operation of such update is performed by the flow deletion notification (described later) or the like from a packet transfer unit as a trigger.
Further, in the configuration of the path control unit 10 mentioned above, when a packet transfer rule does not need to be held in the path control unit 10, the packet transfer rule DB 19 can be omitted. Also, it may adopt the configuration in which the packet transfer rule DB 19 is not provided in the path control unit 10, but is provided separately in an external server or the like.
(OPERATION)
Next, operation of the second exemplary embodiment will be described in detail with reference to sequence charts of Fig. 8 and Fig. 10 and a flow chart of Fig. 9. First, a communication procedure when the communication terminal 130 gets the service A via the router network 150 will be described using Fig. 8.
First, the communication terminal 130 communicates with the DNS server 160 (step 8- 1). The communication terminal 130 acquires the IP address #A, which is an IP address of a server which provides the service A, from an FQDN which is included in a URL (Uniform Resource Locator) for providing the service A (step 8-2).
Next, the communication terminal 130 sends a data packet, which has an IP address #A as a destination address, to the router network 150 (step 8-3). When the router network 150 does not know a MAC address which is corresponding to the IP address #A and is needed for transferring the data packet having an address of the IP address #A to the communication system 1 , the router network 150 sends a MAC address resolution request message to the communication system 1 (step 8-4). When the router network 150 knows a MAC address corresponding to the IP address #A, the router network 150 transfers the data packet to the communication system 1. When the MAC address resolution request message is received, the packet transfer unit 21 transfers it to the path control unit 10.
When the MAC address resolution request message is received, the path control unit 10 acquires the MAC address #A corresponding to the IP address #A using the table for service and representative MAC address management 17-3 which is being managed in the service node management unit 17. Next, the path control unit 10 responds that a MAC address corresponding to the IP address #A is the MAC address #A by sending a MAC address resolution response message (step 8-5).
The router network 150 transfers the data packet to the communication system 1 when having resolved the MAC address corresponding to the IP address #A (step 8-6).
When the data packet is received, the packet transfer unit 21 searches a packet transfer rule table and searches for a packet transfer rule corresponding to the received data packet. When the packet transfer rule corresponding to the received data packet exists, the data packet is processed according to the corresponding content of process.
Using an example of Fig. 8, we will describe a case where a packet transfer rule corresponding to the received data packet does not exist. As a typical example of the case where a packet transfer rule does not exist in the packet transfer unit 21 , is a case where the packet transfer unit 21 has never received the relevant packet yet and a content of process of this packet is not set.
In such a case, the packet transfer unit 21 sends the new packet detection notification to the path control unit 10, after having buffered the received data packet (step 8-7). This new packet detection notification includes information required to identify a packet transfer rule and information on a port which has received the packet. For example, the information required to identify a packet transfer rule is a source/ destination MAC address, a source/ destination IP address or a source/ destination port number or the like. Further, an identifier of the packet transfer unit 21 which is a source of the new packet detection notification may be included in the new packet detection notification. As the identifier of the packet transfer unit 21 , for example, an IP address or a MAC address or the like of the packet transfer unit 21 are considered. However, it is not limited to these as far as the packet transfer unit 21 can be identified.
Here, it is assumed that the packet transfer unit 21 buffers the received packet and sends information only required to identify a packet transfer rule to the path control unit 10. However, the packet transfer unit 2,1 may send not only information required to identify a transfer rule but also the received whole packet to the path control unit 10.
Next, when the new packet detection notification is received, the path control unit 10 sets a packet transfer rule to each of the packet transfer units in the
communication system 1 (step 8-8).
Operation of the step 8-8 will be described more in detail using a flowchart of Fig. 9. First, the node communication unit 11 of the path control unit 10 receives the new packet detection notification (step 9-1).
Next, the control message processing unit 12 of the path control unit 10 identifies a packet transfer unit which has detected the new packet and its input port and also a destination IP address of the data packet from the information included in the new packet detection notification (step 9-2). Specifically, it identifies that the packet transfer unit which has detected the new packet is the packet transfer unit 21 and its input port is 1. Here, when an identifier of the packet transfer unit 21 is included in the new packet detection notification, it may identify a packet transfer unit by using the identifier of the packet transfer unit 21. Also, it can identify the packet transfer unit based on a source IP address (an IP address of the communication terminal 130) of the data packet. In this case, by using the table for communication terminal location management 16-1 , it can identify the packet transfer unit 21 from "location information" indicated in an entry of the communication terminal 130.
Further, simultaneously with identifying the packet transfer unit and its input port, the control message processing unit 12 also identifies that a destination IP address of the data packet is #A (step 9-2). The destination IP address has been identified here because the service is identified by an IP address. However, it is not limited to only an IP address for identifying the service, but other information can also be used. In a case where the service is identified by the other information, such information needs to be identified in step 9-2.
Also, at that time, the information on the communication terminal 130 in the table for communication terminal location management 16-1 which is being managed in the communication terminal location management unit 16 is updated. When the information on the communication terminal 130 is not registered, the information on the communication terminal 130 is newly registered in the tables for communication terminal location management 16-1.
After that, the path control unit 10 searches the table for port and server group management 17-2 by using the packet transfer unit (21), the port number (1) and the service identification information (the IP address #A) as a key. As a result of the search, the server 40 having a high priority order is selected as a service node having the IP address #A, in other words a service node which provides the service A (step 9-3).
Next, a matching key of a new packet transfer rule is determined in the route and process calculation unit 13. At the same time, location of the server 40 as a destination is confirmed by using the table for service node location management 17-1 which is being managed in the service node management unit 17. The packet transfer path from the packet transfer unit 21 to the server 40 is calculated based on the location information on the server 40 (step 9-4).
Here, it is supposed that the route, "from the packet transfer unit 21 to the packet transfer unit 22, and then to the server 40" has been selected as a result of the route calculation. As a matching key of a packet, it is supposed that the following three conditions have been selected: (1) a source IP address is the same as an IP address of the communication terminal 130; (2) a destination MAC address is the same as the MAC address #A; and (3) a destination IP address is the same as the IP address #A.
Further, the route and process calculation unit 13 selects a content of process for transferring a packet along the calculated route, as a content of process
corresponding to the determined matching key. In addition to this, the packet transfer unit 22 selects a content of process which indicates that when the relevant data packet is received, a destination MAC address in a header of the received data packet is converted into a MAC address of the server 40.
The route and process calculation unit 13 creates a packet transfer rule based on the selected matching key, the transfer route and the contents of process (step 9-5). Next, the packet transfer rule which has been determined is set to the packet transfer units 21 and 22, which are the packet transfer units on the route, via the control message processing unit 12 and the node communication unit 11 (step 9-6).
After setting of the packet transfer rule, the path control unit 10 registers the packet transfer rule having been set to the packet transfer units 21, 22 to the packet transfer rule management unit 18.
The above is operation of packet transfer rule setting at the time of new packet detection by the path control unit 10. Hereinafter, back to Fig. 8, a description of operation of the second exemplary embodiment will be continued.
When setting of the packet transfer rule to the packet transfer units 21 and 22 has been completed (step 8-8), the packet transfer unit 21 transfers the buffered packet in accordance with the set packet transfer rule (step 8-9). Because the packet transfer rule has already been set to the packet transfer units 21 and 22 on the transfer route of this packet, this packet is transferred in order of the packet transfer units 21, 22 and reaches the server 40.
The above is a communication procedure when the communication terminal 130 tries to get the service A for the first time. The communication procedure when the communication terminal 131 gets the service A via the router network 151 is the same procedure as above, and an IP address resolved by the DNS server is also the same IP address #A. However, it is different in a point that a server of an access destination is the server 41 because a packet transfer unit which is located in a boundary of the communication system 1 is different.
(OPERATION AT THE TIME OF SERVER FAILURE) Next, a communication procedure when the server 40 which provides the service A falls into communication failure will be described using Fig. 10.
First, as the initial state, it is supposed that the communication terminal 130 is communicating with the server 40 by the procedure mentioned above (step 10-1). When the server 40 detects its own abnormality, it judges that it will stop to provide the service A soon (step 10-2). In such a case, the server 40 sends failure notification to the path control unit 10 (step 10-3). At this time, when there is state information which is needed in order to continue to provide the service A to the communication terminal 130, the server 40 also notifies the server 41. As a method of failure detection of the server 40 is, for example, that it judges by increase in its own temperature due to increase of the processing load or congestion state of the connected link, or the like. In the above-mentioned example, although it is supposed that the server 40 detects failure by itself, it is not limited to this and an operator or the like who manages the server 40 may judge.
When the failure notification from the server 40 is received, the path control unit 10 deletes information relating to the server 40 from the table for port and server group management 17-2. By deleting the information on the server 40,
reconfiguration of correspondence relationships among a packet transfer unit and neighboring service nodes which provide the service for each service is performed (step 10-4).
Further, the path control unit 10 detects that the communication terminal 130 is communicating with the server 40 based on information managed by the packet transfer rule management unit 18. By using the table for port and server group management 17-2 after reconfiguration, it is decided that the server which provides the service A to the communication terminal 130 is to be changed from the server 40 to the server 41. The route and process calculation unit 13 calculates a path change (step 10-5). The route and process calculation unit 13 sets a corresponding packet transfer rule according to the changed path (step 10-6). A series of processing from calculation of a route to setting of a packet transfer rule is similar to processing from step 9-3 to step 9-6 of the above-mentioned Fig. 9, therefore, the detailed description will be omitted.
(EFFECTS)
As it has been described above, according to the second exemplary embodiment, the path control unit 10 manages each connection relationship for each communication terminal, a server group including servers (service nodes) and the packet transfer unit. Also, the path control unit 10 selects a server which becomes a destination of a data packet among servers which provide a service requested by a received data packet from a communication terminal based on the managed connection relationship. Then, the path control unit 10 sets a process, which is corresponding to a transfer route, to a packet transfer units on the transfer route.
By the above mentioned operation, it becomes possible to select a communication destination, based on the connection relationship between a communication terminal and a server group, among servers which are the communication destinations of the communication terminal and provide the same service. Also, it becomes possible to continue to provide the service, even when a failure has occurred in a certain server, by selecting a different server which provides the same service and continuing the communication.
<EXEMPLARY EMBODIMENT 3>
Next, the third exemplary embodiment of the present invention will be described. The third exemplary embodiment is the embodiment in which technology called OpenFlow, disclosed in the non patent literature 1 is applied to the second exemplary embodiment.
OpenFlow, disclosed in the non patent literature 1 , is the technology which treats communication as a flow of end to end, and performs route control, failure recovery, load balancing and optimization or the like for each flow. An OpenFlow Switch which functions as a transfer apparatus has a Secure Channel for communication with an OpenFlow Controller. The OpenFlow Switch operates in accordance with a flow-table which is directed to add or rewrite appropriately by the OpenFlow
Controller. In the flow-table, a set which includes a rule (a matching key) to be checked against packet header, an "action" defining a content of process of a packet and flow statistics information is defined for each flow. This set is called a "flow entry".
Fig. 1 1 is a block diagram showing a system according to the third exemplary embodiment. Referring to Fig. 11 , a communication system 100 of the third exemplary embodiment includes a path control unit 110, a flow switch network 120, a flow switch 121 , a flow switch 122, a flow switch 123 and a flow switch 124. Each of the above flow switches is equivalent to the OpenFlow Switch mentioned above.
Communication terminals 130 and 131 are connected to the communication system 100 respectively via router networks 150, 151. Similarly, DNS servers 160, 161 are connected to the router networks 150, 151 respectively.
Further, a server group 1400 is connected to the communication system 100. The server group 1400 includes a server 140 and a server 141. Similar to the second exemplary embodiment, it is supposed that the server 140 and the server 141 provide the service A and have the same IP address #A.
Because the configuration of the system connected to the above-mentioned communication system 100 is almost the same as that of the second exemplary embodiment, the detailed description will be omitted.
The path control unit 110 controls communication paths in the communication system 100. The path control unit 110 may be located in the controller 200 which is an independent apparatus as shown in Fig. 11.
The detailed description of the path control unit 110 will be omitted because it is equivalent to the path control unit 10 in Fig. 3, where it regards the packet transfer unit as the flow switch and it regards the packet transfer rule as the flow entry. Accordingly, henceforth, Figs. 3 to 7 will be referred when the path control unit 110 is described.
It is also possible to configure the path control unit 1 10 based on the OpenFlow Controller of the non patent literature 1. In this case, the communication terminal location management unit 16 and the service node management unit 17 in Fig. 3 are added to the OpenFlow Controller of the non patent literature 1.
Next, the flow switch network 120 is the network which is constituted by at least one flow switch being connected.
The flow switches 121 to 124 included in the flow switch network 120 connect with the router network 150, the router network 151 , the server 140 and the server 141. Therefore, the flow switches 121 to 124 can be called as edge nodes of the communication system 100 which are located in a boundary of the communication system 100 and connect with outside networks of the communication system 100.
Further, when receiving packets, the flow switches 121 to 124 find a flow entry having a matching key, which matches the received packet, from the flow entry table which stores flow entries, and perform process according to an action corresponding to the flow entry. Transferring to a specific port, flooding and discarding or the like, can be exemplified as the action.
Also, the flow switches 121 to 124, similar to the second exemplary embodiment, reset a timer (time-out information) in an action field of relevant flow entry whenever the flow switches 121 to 124 process a packet.
Next, operation of the third exemplary embodiment will be described with reference to sequence charts on Fig. 12 and Fig. 14 and a flow chart of Fig. 13.
Further, the description will be omitted appropriately because a flow of basic operation is almost the same as that of the second exemplary embodiment.
First, a communication procedure when the communication terminal 130 is provided with the service A via the router network 150 will be described using Fig. 12.
The description of steps from Step 12-1 to Step 12-5 will be omitted because they are almost the same as the steps from step 8-1 to step 8-5 of the second exemplary embodiment (Fig. 8). However, the MAC address resolution request of step 8-4 is performed by an ARP (Address Resolution Protocol) Request in step 12-4. Similarly, the MAC address resolution of step 8-5 is performed by an ARP Reply in step 12-5.
When a MAC address corresponding to the IP address #A is resolved by the ARP Reply of step 12-5, the router network 150 transfers a data packet to the
communication system 100 (step 12-6).
When the data packet is received, the flow switch 121 searches the flow entry table and searches for a flow entry corresponding to the received data packet. When the flow entry corresponding to the received data packet exists, the data packet is processed according to the corresponding action.
Using an example of Fig. 12, we will describe a case where a flow entry
corresponding to the received data packet does not exist. As a typical example of the case where a flow entry does not exist in the flow switch 121 , a case where the flow switch 121 has never received the relevant packet yet and the corresponding action is not set, is mentioned. In other words, it can be said that the received data packet is the first packet of a new flow in this case.
When a new flow is detected as mentioned above, the flow switch 121 sends a Packet-in message to the path control unit 110 after having buffered the received data packet. This Packet-in message is a message defined in the non patent literature 1, and this is a message to be sent to the OpenFlow controller when a new flow is detected in the OpenFlow switch. In this Packet-in message, information required to identify a flow entry and information on a port which has received the packet are included. For example, the information required to identify a flow entry is a source/ destination MAC address, a source/ destination IP address and a source/ destination port number or the like. Further, an identifier of the flow switch 121 which is a source of the Packet-in may be included in the Packet-in. As this identifier, for example, an IP address or a MAC address or the like of the flow switch 121 are considered, however, it is not limited to these as far as the flow switch 121 can be distinguished.
Here, it is assumed that the flow switch 121 buffers the received packet and sends information only required to identify a flow entry to the path control unit 110.
However, the flow switch 121 may send not only information required to identify a flow entry, but also the received whole packet to the path control unit 110.
When receiving the Packet-in message, the path control unit 110 sets a flow entry by a message called FlowMod defined in the non patent literature 1 (step 12-8). The FlowMod message includes information on the flow entry to be newly registered, or information on the flow entry to be updated to the OpenFlow switch. The OpenFlow controller performs initial registration or update of flow entry of the OpenFlow switch by sending a message including these information.
Operation of the step 12-8 will be described using a flowchart of Fig. 13. Further, the description will be omitted appropriately because the flowchart of Fig. 13 is almost the same as the flowchart of Fig. 9 in the second exemplary embodiment. First, the path control unit 110 receives the Packet-in message (step 13-1).
Next, the control message processing unit 12 of the path control unit 110 identifies a flow switch which has detected the new flow and its input port and also a destination IP address of the data packet from the information included in the Packet-in message (step 13-2). Specifically, it identifies that the flow switch which has detected the new flow is the flow switch 121 , and its input port is 1. Here, when an identifier of the flow switch 121 is included in the Packet-in, it may identify a flow switch by using the identifier of the flow switch 121. Also, it can identify the flow switch based on a source IP address of the data packet (an IP address of the communication terminal 130). In this case, by using the table for communication terminal location management 16-1 , it can identify the flow switch 121 from
"location information" indicated in the entry of the communication terminal 130.
Further, simultaneously with identifying the flow switch and its input port, the control message processing unit 12 also identifies that a destination IP address of the data packet is #A (step 13-2). The destination IP address has been identified here because the service is identified by an IP address. However, it is possible to identify the service by information other than the IP address. In a case where the service is identified by the other information, such information needs to be identified.
Also, at that time, the information on the communication terminal 130 in the table for communication terminal location management 16-1 which is being managed in the communication terminal location management unit 16 is updated. When the information on the communication terminal 130 is not registered, the information on the communication terminal 130 is newly registered in the tables for communication terminal location management 16-1.
After that, the path control unit 110 searches the table for port and server group management 17-2 by using the flow switch 121 , the port number 1 and the service identification information (the IP address #A) as a key. As a result of the search, the server 140 having a high priority order is selected as a service node having the IP address #A, in other words a service node which provides the service A (step 13-3). Next, a matching key of a new flow entry is determined in the route and process calculation unit 13. At the same time, location of the server 140 as a destination is confirmed by using the table for service node location management 17-1 which is being managed in the service node management unit 17. The packet transfer path from the flow switch 121 to the server 140 is calculated based on the location information on the server 140 (step 13-4).
Here, it is supposed that the route of "from the flow switch 121 to the flow switch 122, and then to the server 140" has been selected as a result of the route calculation. It is supposed that the following three conditions have been selected as a matching key of the flow: (1) A source IP address is the same as an IP address of the communication terminal 130; (2) a destination MAC address is the same as the MAC address #A; and (3) a destination IP address is the same as the IP address #A.
Further, the route and process calculation unit 13 selects an action for transferring a packet along the calculated route as an action corresponding to the determined matching key. In addition to this, the flow switch 122 selects an action which indicates that when the data packet corresponding to the matching key is received, a destination MAC address in a header of the data packet is converted into a MAC address of the server 140.
The route and process calculation unit 13 creates a flow entry based on the selected matching key, the transfer route and the actions (step 13-5). Next, the flow entry which has been determined is set to the flow switches 121 , 122 which are the flow switches on the route by sending the FlowMod via the control message processing unit 12 and the node communication unit 11 (step 13-6).
After setting of the flow entry, the path control unit 110 registers the flow entry having been set to the flow switches 121 , 122 to the packet transfer rule (flow entry) management unit 18.
The above is operation of flow entry setting at the time of new flow detection by the path control unit 110. Hereinafter, back to Fig. 12, a description of operation of this embodiment will be continued.
When setting of the flow entry to the flow switches 121 , 122 has been completed (step 13-8), the flow switch 121 transfers the buffered packet according to the flow entry (step 13-9). Because the flow entry has already been set to the flow switches 121 and 122 on the transfer route of this packet, this packet is transferred in order of the flow switches 121, 122 and the packet reaches the server 140.
The above is a communication procedure when the communication terminal 130 tries to get the service A for the first time. The communication procedure when the communication terminal 131 gets the service A via the router network 151 is the same procedure as above, and an IP address resolved by the DNS server is also the same IP address #A, however, it is different in a point that a server of an access destination is the server 141 because a flow switch which is located in a boundary of the communication system 100 is different.
(OPERATION AT THE TIME OF SERVER FAILURE)
Next, a communication procedure when the server 140 which provides the service A falls into communication failure will be described using Fig. 14.
First, as the initial state, it is supposed that the communication terminal 130 is communicating with the server 140 by the procedure mentioned above (step 14-1). When the server 140 detects its own abnormality, it judges that it will stop to provide the service A soon (step 14-2). In such a case, the server 140 sends a failure notification to the path control unit 110 (step 14-3). At this time, when there is state information which is needed in order to continue to provide the service A to the communication terminal 130, the server 140 also notifies the server 141. As a method of failure detection of the server 140, the method in the second exemplary embodiment is mentioned. Therefore, the description will be omitted here.
When the failure notification from the server 140 is detected, the path control unit 110 deletes information relating to the server 140 from the table for port and server group management 17-2. By deleting information on the server 140, reconfiguration of correspondence relationships among a flow switch and neighboring service nodes which provide the service for each service is performed (step 14-4).
Further, the path control unit 110 detects that the communication terminal 130 is communicating with the server 140 based on information managed by the packet transfer rule management unit 18. By using the table for port and server group management 17-2 after reconfiguration, it is decided that the server which provides the service A to the communication terminal 130 is to be changed from the server 140 to the server 141. The route and process calculation unit 13 calculates a path change (step 14-5). The route and process calculation unit 13 sets a corresponding flow entry according to the changed path (step 14-6). A series of processing from calculation of a route to setting of a flow entry (FlowMod) is similar to processing from step 13-3 to step 13-6 of the above-mentioned Fig. 13, therefore, the detailed description will be omitted.
As above, the network, to which the OpenFlow is applied, has been described in the third exemplary embodiment, however, it is not limited to this. It is possible to apply the network other than OpenFlow, in which centralized control is performed by a control server or the like.
(EFFECTS)
As it has been described above, according to the third exemplary embodiment, the path control unit 110 (or the controller 200) manages each connection relationship for each communication terminal, a server group including servers (service nodes) and the flow switch. Also, the path control unit 110 selects a server which becomes a destination of a data packet among servers which provide a service requested by a received data packet from a communication terminal based on a managed connection relationship. And, the path control unit 110 sets an action, which is corresponding to a transfer route, to a flow switch on the transfer route.
By the above mentioned operation, it becomes possible to select a communication destination, among servers which are the communication destinations of the communication terminal and provide the same service, based on a connection relationship between a communication terminal and a server group. Also, it becomes possible to continue to provide the service, even when a failure has occurred in a certain server, by selecting a different server which provides the same service and continuing the communication.
While the invention has been particularly shown and described with reference to exemplary embodiments thereof, the invention is not limited to those specific embodiments. It will be understood by those of ordinary skill in the art that various changes in form and details may be made therein without departing from the spirit and scope of the present invention.
This application claims priority from Japanese Patent Application No.
2010-212477, filed on September 22, 2010, the contents of which are incorporated herein by reference in their entirety.
The whole or part of the exemplary embodiments disclosed above can be described as, but not limited to, the following supplementary notes.
(SUPPLEMENTARY NOTE 1)
A control apparatus for controlling a network comprising:
a path control means for selecting a communication apparatus having an identifier as a destination communication apparatus among a communication apparatus group, based on a connection relationship between the communication apparatus group, which is connected to the network and includes communication apparatuses each having the same identifier, and a source communication apparatus which performs communication using the identifier as a destination address, and setting a process corresponding to a path from the source communication apparatus to the selected destination communication apparatus to a transfer apparatus in the network.
(SUPPLEMENTARY NOTE 2)
The control apparatus according to supplementary note 1 ,
wherein the connection relationship includes a connection relationship between the communication apparatus group and the transfer apparatus which is located in a boundary of the network.
(SUPPLEMENTARY NOTE 3)
The control apparatus according to supplementary note 1 or 2,
wherein the path control means comprising:
a first storage means for storing the connection relationship between the communication apparatus and the transfer apparatus which is located in a boundary of the network;
a second storage means for storing the communication apparatus having the same identifier among the communication apparatus group by correlating with each transfer apparatus which is located in a boundary of the network or each port provided in the transfer apparatus; and
a selecting means for searching for the transfer apparatus, which is located in a boundary of the network and is connected with the source communication apparatus, from the first storage means when communication using the identifier as a destination address is received, and selecting from the second storage means any one of communication apparatuses in the communication apparatus group which is corresponding to the searched transfer apparatus as the destination communication apparatus.
(SUPPLEMENTARY NOTE 4)
The control apparatus according to supplementary note 3,
wherein the path control means deletes information relating to the
communication apparatus included in the communication apparatus group whose failure is detected from the second storage means.
(SUPPLEMENTARY NOTE 5)
The control apparatus according to supplementary note 3 or 4,
wherein the second storage means further stores, the communication apparatus and a priority order based on a distance between the destination
communication apparatus and the transfer apparatus which is located in a boundary of the network, for each communication apparatus included in the communication apparatus group; and
wherein the selecting means selects any one of communication apparatuses in the communication apparatus group as the destination communication apparatus based on the priority order.
(SUPPLEMENTARY NOTE 6)
The control apparatus according to any one of supplementary notes 1 to 5, wherein the identifier is an IP address.
(SUPPLEMENTARY NOTE 7)
The control apparatus according to any one of supplementary notes 1 to 5, wherein the identifier is an identifier which can distinguish a service provided by the communication apparatus included in the communication apparatus group.
(SUPPLEMENTARY NOTE 8)
The control apparatus according to any one of supplementary notes 5 to 7, wherein the priority order is set based on an RTT (Round Trip Time) between the destination communication apparatus and the transfer apparatus which is located in a boundary of the network with which the source communication apparatus connects.
(SUPPLEMENTARY NOTE 9)
The control apparatus according to any one of supplementary notes 5 to 7, wherein the priority order is set based on an AS (Autonomous System) pass between the transfer apparatus provided outside the network and the destination communication apparatus.
(SUPPLEMENTARY NOTE 10)
A communication system comprising:
a control apparatus for controlling a network; and
a transfer apparatus for transferring packets;
wherein the control apparatus includes a path control means for selecting a communication apparatus having an identifier as a destination communication apparatus among a communication apparatus group, based on a connection relationship between the communication apparatus group, which is connected to the network and includes communication apparatuses each having the same identifier and a source communication apparatus which performs communication using the identifier as a destination address, and setting a process corresponding to a path from the source communication apparatus to the selected destination communication apparatus to the transfer apparatus in the network. (SUPPLEMENTARY NOTE 11)
The communication system according to supplementary note 10,
wherein the connection relationship includes a connection relationship between the communication apparatus group and the transfer apparatus which is located in a boundary of the network.
(SUPPLEMENTARY NOTE 12)
The communication system according to supplementary note 10 or 11 , wherein the path control means comprising:
a first storage means for storing the connection relationship between the communication apparatus and the transfer apparatus which is located in a boundary of the network;
a second storage means for storing the communication apparatus having the same identifier among the communication apparatus group by correlating with each transfer apparatus which is located in a boundary of the network or each port provided in the transfer apparatus; and
a selecting means for searching for the transfer apparatus, which is located in a boundary of the network and is connected with the source communication apparatus, from the first storage means when communication using the identifier as a destination address is received, and selecting from the second storage means any one of communication apparatuses in the communication apparatus group which is corresponding to the searched transfer apparatus as the destination communication apparatus.
(SUPPLEMENTARY NOTE 13)
The communication system according to supplementary note 12,
wherein the path control means deletes information relating to the
communication apparatus included in the communication apparatus group whose failure is detected from the second storage means.
(SUPPLEMENTARY NOTE 14)
The communication system according to supplementary note 12 or 13, wherein the second storage means further stores the communication apparatus and a priority order based on a distance between the destination
communication apparatus and the transfer apparatus which is located in a boundary of the network, for each communication apparatus included in the communication apparatus group; and
wherein the selecting means selects any one of communication apparatuses in the communication apparatus group as the destination communication apparatus based on the priority order.
(SUPPLEMENTARY NOTE 15)
The communication system according to any one of supplementary notes 10 to 14,
wherein the identifier is an IP address.
(SUPPLEMENTARY NOTE 16)
The communication system according to any one of supplementary notes 10 to 14,
wherein the identifier is an identifier which can distinguish a service provided by the communication apparatus included in the communication apparatus group.
(SUPPLEMENTARY NOTE 17)
The communication system according to any one of supplementary notes 14 to 16,
wherein the priority order is set based on an RTT (Round Trip Time) between the destination communication apparatus and the transfer apparatus which is located in a boundary of the network with which the source communication apparatus connects.
(SUPPLEMENTARY NOTE 18)
The communication system according to any one of supplementary notes 14 to 16,
wherein the priority order is set based on an AS (Autonomous System) pass between the transfer apparatus provided outside the network and the destination communication apparatus.
(SUPPLEMENTARY NOTE 19)
A communication method comprising:
selecting a communication apparatus having an identifier as a destination communication apparatus among a communication apparatus group, based on a connection relationship between the communication apparatus group, which is connected to a network controlled by a control apparatus and includes communication apparatuses each having the same identifier, and a source communication apparatus which performs communication using the identifier as a destination address; and
setting a process corresponding to a path from the source communication apparatus to the selected destination communication apparatus to a transfer apparatus in the network.
(SUPPLEMENTARY NOTE 20)
The communication method according to supplementary note 19,
wherein the connection relationship includes a connection relationship between the communication apparatus group and the transfer apparatus which is located in a boundary of the network.
(SUPPLEMENTARY NOTE 21)
The communication method according to supplementary note 19 or 20, further comprising:
searching for the transfer apparatus, which is located in a boundary of the network and is connected with the source communication apparatus, from a first storage means for storing the connection relationship between the communication apparatus and the transfer apparatus which is located in a boundary of the network; and
selecting any one of communication apparatuses in the communication apparatus group which is corresponding to the searched transfer apparatus, from a second storage means for storing the communication apparatus having the same identifier among the communication apparatus group by correlating with each transfer apparatus which is located in a boundary of the network or each port provided in the transfer apparatus.
(SUPPLEMENTARY NOTE 22)
The communication method according to supplementary note 21 , further comprising:
deleting information relating to the communication apparatus included in the communication apparatus group whose failure is detected from the second storage means.
(SUPPLEMENTARY NOTE 23)
The communication method according to supplementary note 21 or 22, wherein the second storage means further stores the communication apparatus and a priority order based on a distance between the destination
communication apparatus and the transfer apparatus which is located in a boundary of the network, for each communication apparatus included in the communication apparatus group; and
wherein the selecting is performed based on the priority order.
(SUPPLEMENTARY NOTE 24)
The communication method according to any one of supplementary notes 19 to 23,
wherein the identifier is an IP address.
(SUPPLEMENTARY NOTE 25)
The communication method according to any one of supplementary notes 19 to 23,
wherein the identifier is an identifier which can distinguish a service provided by the communication apparatus included in the communication apparatus group.
(SUPPLEMENTARY NOTE 26)
The communication method according to any one of supplementary notes 23 to 25,
wherein the priority order is set based on an RTT (Round Trip Time) between the destination communication apparatus and the transfer apparatus which is located in a boundary of the network with which the source communication apparatus connects.
(SUPPLEMENTARY NOTE 27)
The communication method according to any one of supplementary notes 23 to 25,
wherein the priority order is set based on an AS (Autonomous System) pass between the transfer apparatus provided outside the network and the destination communication apparatus.
(SUPPLEMENTARY NOTE 28)
A recording medium having recorded thereon a communication program for causing a computer to execute a path control process comprising:
selecting a communication apparatus having an identifier as a destination communication apparatus among a communication apparatus group, based on a connection relationship between the communication apparatus group, which is connected to the network and includes communication apparatuses each having the same identifier and a source communication apparatus which performs
communication using the identifier as an address; and
setting a process corresponding to a path from the source communication apparatus to the selected destination communication apparatus to a transfer apparatus in the network.
(SUPPLEMENTARY NOTE 29)
The recording medium according to supplementary note 28,
wherein the connection relationship includes a connection relationship between the communication apparatus group and the transfer apparatus which is located in a boundary of the network.
(SUPPLEMENTARY NOTE 30)
The recording medium according to supplementary note 28 or 29, wherein the path control process further comprising:
searching for the transfer apparatus, which is located in a boundary of the network and is connected with the source communication apparatus, from a first storage means for storing the connection relationship between the communication apparatus and the transfer apparatus which is located in a boundary of the network; and
selecting any one of communication apparatuses in the communication apparatus group which is corresponding to the searched transfer apparatus, from a second storage means for storing the communication apparatus having the same identifier among the communication apparatus group by correlating with each transfer apparatus which is located in a boundary of the network or each port provided in the transfer apparatus.
(SUPPLEMENTARY NOTE 3 1 )
The recording medium according to supplementary note 30, the
communication program further comprising:
deleting information relating to the communication apparatus included in the communication apparatus group whose failure is detected from the second storage means. (SUPPLEMENTARY NOTE 32)
The recording medium according to supplementary note 30 or 31 ,
wherein the second storage means further stores the communication apparatus and a priority order based on a distance between the destination
communication apparatus and the transfer apparatus which is located in a boundary of the network, for each communication apparatus included in the communication apparatus group; and
wherein the selecting is performed based on the priority order.
(SUPPLEMENTARY NOTE 33)
The recording medium according to any one of supplementary notes 28 to 31 , wherein the identifier is an IP address.
(SUPPLEMENTARY NOTE 34)
The recording medium according to any one of supplementary notes 28 to 32, wherein the identifier is an identifier which can distinguish a service provided by the communication apparatus included in the communication apparatus group.
(SUPPLEMENTARY NOTE 35)
The recording medium according to any one of supplementary notes 32 to 34, wherein the priority order is set based on an RTT (Round Trip Time) between the destination communication apparatus and the transfer apparatus which is located in a boundary of the network with which the source communication apparatus connects.
(SUPPLEMENTARY NOTE 36)
The recording medium according to any one of supplementary notes 32 to 34, wherein the priority order is set based on an AS (Autonomous System) pass between the transfer apparatus provided outside the network and the destination communication apparatus.
Reference Signs List
1, 1-1 , 1-2, 100 and 1000 communication syst
2, 2000 control apparatus
10, 110, 1001 path control unit
20 packet transfer unit group 21 , 22, 23, 24 packet transfer unit
40, 41, 140, 141 server
51 , 52 logical channel
130, 131 communication terminal
150, 151, 152 router network
160, 161 DNS server
11 node communication unit
12 control message processing unit
13 route and process calculation unit
14 packet transfer unit management unit
15 topology management unit
16 communication terminal location management unit
16- 1 table for communication terminal location management
17 service node management unit
17-1 table for service node location management
17- 2 table for port and server group management
17-3 table for service and representative MAC address management
18 packet transfer rule management unit
19 packet transfer rule DB
200 controller
120 flow switch network
121 , 122, 123, 124 flow switch
1200 communication apparatus group
1400 server group

Claims

Claims
[Claim 1 ]
A control apparatus for controlling a network comprising:
a path control means for selecting a communication apparatus having an identifier as a destination communication apparatus among a communication apparatus group, based on a connection relationship between the communication apparatus group, which is connected to the network and includes communication apparatuses each having the same identifier, and a source communication apparatus which performs communication using the identifier as a destination address, and setting a process corresponding to a path from the source communication apparatus to the selected destination communication apparatus to a transfer apparatus in the network.
[Claim 2]
The control apparatus according to claim 1 ,
wherein the connection relationship includes a connection relationship between the communication apparatus group and the transfer apparatus which is located in a boundary of the network.
[Claim 3]
The control apparatus according to claim 1 or 2,
wherein the path control means comprising:
a first storage means for storing the connection relationship between the communication apparatus and the transfer apparatus which is located in a boundary of the network;
a second storage means for storing the communication apparatus having the same identifier among the communication apparatus group by correlating with each transfer apparatus which is located in a boundary of the network or each port provided in the transfer apparatus; and
a selecting means for searching for the transfer apparatus, which is located in a boundary of the network and is connected with the source communication apparatus, from the first storage means when communication using the identifier as a destination address is received, and selecting from the second storage means any one of communication apparatuses in the communication apparatus group which is corresponding to the searched transfer apparatus as the destination communication apparatus.
[Claim 4]
The control apparatus according to claim 3,
wherein the path control means deletes information relating to the
communication apparatus included in the communication apparatus group whose failure is detected from the second storage means.
[Claim 5]
The control apparatus according to claim 3 or 4,
wherein the second storage means further stores, the communication apparatus and a priority order based on a distance between the destination
communication apparatus and the transfer apparatus which is located in a boundary of the network, for each communication apparatus included in the communication apparatus group; and
wherein the selecting means selects any one of communication apparatuses in the communication apparatus group as the destination communication apparatus based on the priority order.
[Claim 6]
The control apparatus according to any one of claims 1 to 5,
wherein the identifier is an IP address.
[Claim 7]
The control apparatus according to any one of claims 1 to 5,
wherein the identifier is an identifier which can distinguish a service provided by the communication apparatus included in the communication apparatus group.
[Claim 8]
The control apparatus according to any one of claims 5 to 7,
wherein the priority order is set based on an RTT (Round Trip Time) between the destination communication apparatus and the transfer apparatus which is located in a boundary of the network with which the source communication apparatus connects.
[Claim 9]
The control apparatus according to any one of claims 5 to 7,
wherein the priority order is set based on an AS (Autonomous System) pass between the transfer apparatus provided outside the network and the destination communication apparatus.
[Claim 10]
A communication system comprising:
a control apparatus for controlling a network; and
a transfer apparatus for transferring packets;
wherein the control apparatus includes a path control means for selecting a communication apparatus having an identifier as a destination communication apparatus among a communication apparatus group, based on a connection relationship between the communication apparatus group, which is connected to the network and includes communication apparatuses each having the same identifier and a source communication apparatus which performs communication using the identifier as a destination address, and setting a process corresponding to a path from the source communication apparatus to the selected destination communication apparatus to the transfer apparatus in the network.
[Claim 11]
The communication system according to claim 10,
wherein the connection relationship includes a connection relationship between the communication apparatus group and the transfer apparatus which is located in a boundary of the network.
[Claim 12]
The communication system according to claim 10 or 11,
wherein the path control means comprising:
a first storage means for storing the connection relationship between the communication apparatus and the transfer apparatus which is located in a boundary of the network;
a second storage means for storing the communication apparatus having the same identifier among the communication apparatus group by correlating with each transfer apparatus which is located in a boundary of the network or each port provided in the transfer apparatus; and
a selecting means for searching for the transfer apparatus, which is located in a boundary of the network and is connected with the source communication apparatus, from the first storage means when communication using the identifier as a destination address is received, and selecting from the second storage means any one of communication apparatuses in the communication apparatus group which is corresponding to the searched transfer apparatus as the destination communication apparatus.
[Claim 13]
The communication system according to supplementary note 12,
wherein the path control means deletes information relating to the
communication apparatus included in the communication apparatus group whose failure is detected from the second storage means.
[Claim 14]
The communication system according to claim 12 or 13,
wherein the second storage means further stores the communication apparatus and a priority order based on a distance between the destination
communication apparatus and the transfer apparatus which is located in a boundary of the network, for each communication apparatus included in the communication apparatus group; and
wherein the selecting means selects any one of communication apparatuses in the communication apparatus group as the destination communication apparatus based on the priority order.
[Claim 15]
The communication system according to any one of claims 10 to 14, wherein the identifier is an IP address.
[Claim 16]
The communication system according to any one of claims 10 to 14, wherein the identifier is an identifier which can distinguish a service provided by the communication apparatus included in the communication apparatus group.
[Claim 17]
The communication system according to any one of claims 14 to 16, wherein the priority order is set based on an RTT (Round Trip Time) between the destination communication apparatus and the transfer apparatus which is located in a boundary of the network with which the source communication apparatus connects.
[Claim 18]
The communication system according to any one of claims 14 to 16, wherein the priority order is set based on an AS (Autonomous System) pass between the transfer apparatus provided outside the network and the destination communication apparatus.
[Claim 19]
A communication method comprising:
selecting a communication apparatus having an identifier as a destination communication apparatus among a communication apparatus group, based on a connection relationship between the communication apparatus group, which is connected to a network controlled by a control apparatus and includes
communication apparatuses each having the same identifier, and a source
communication apparatus which performs communication using the identifier as a destination address; and
setting a process corresponding to a path from the source communication apparatus to the selected destination communication apparatus to a transfer apparatus in the network.
[Claim 20]
The communication method according to claim 19,
wherein the connection relationship includes a connection relationship between the communication apparatus group and the transfer apparatus which is located in a boundary of the network.
[Claim 21]
The communication method according to claim 19 or 20, further comprising: searching for the transfer apparatus, which is located in a boundary of the network and is connected with the source communication apparatus, from a first storage means for storing the connection relationship between the communication apparatus and the transfer apparatus which is located in a boundary of the network; and
selecting any one of communication apparatuses in the communication apparatus group which is corresponding to the searched transfer apparatus, from a second storage means for storing the communication apparatus having the same identifier among the communication apparatus group by correlating with each transfer apparatus which is located in a boundary of the network or each port provided in the transfer apparatus.
[Claim 22]
The communication method according to supplementary note 21 , further comprising:
deleting information relating to the communication apparatus included in the communication apparatus group whose failure is detected from the second storage means.
[Claim 23]
The communication method according to supplementary note 21 or 22, wherein the second storage means further stores the communication apparatus and a priority order based on a distance between the destination
communication apparatus and the transfer apparatus which is located in a boundary of the network, for each communication apparatus included in the communication apparatus group; and
wherein the selecting is performed based on the priority order.
[Claim 24]
The communication method according to any one of claims 19 to 23, wherein the identifier is an IP address.
[Claim 25]
The communication method according to any one of claims 19 to 23, wherein the identifier is an identifier which can distinguish a service provided by the communication apparatus included in the communication apparatus group.
[Claim 26]
The communication method according to any one of claims 23 to 25, wherein the priority order is set based on an RTT (Round Trip Time) between the destination communication apparatus and the transfer apparatus which is located in a boundary of the network with which the source communication apparatus connects.
[Claim 27]
The communication method according to any one of claims 23 to 25, wherein the priority order is set based on an AS (Autonomous System) pass between the transfer apparatus provided outside the network and the destination communication apparatus.
[Claim 28]
A recording medium having recorded thereon a communication program for causing a computer to execute a path control process comprising:
selecting a communication apparatus having an identifier as a destination communication apparatus among a communication apparatus group, based on a connection relationship between the communication apparatus group, which is connected to the network and includes communication apparatuses each having the same identifier and a source communication apparatus which performs
communication using the identifier as an address; and
setting a process corresponding to a path from the source communication apparatus to the selected destination communication apparatus to a transfer apparatus in the network.
[Claim 29]
The recording medium according to claim 28,
wherein the connection relationship includes a connection relationship between the communication apparatus group and the transfer apparatus which is located in a boundary of the network.
[Claim 30]
The recording medium according to claim 28 or 29, wherein the path control process further comprising:
searching for the transfer apparatus, which is located in a boundary of the network and is connected with the source communication apparatus, from a first storage means for storing the connection relationship between the communication apparatus and the transfer apparatus which is located in a boundary of the network; and
selecting any one of communication apparatuses in the communication apparatus group which is corresponding to the searched transfer apparatus, from a second storage means for storing the communication apparatus having the same identifier among the communication apparatus group by correlating with each transfer apparatus which is located in a boundary of the network or each port provided in the transfer apparatus.
[Claim 31 ]
The recording medium according to supplementary note 30, the
communication program further comprising:
deleting information relating to the communication apparatus included in the communication apparatus group whose failure is detected from the second storage means.
[Claim 32]
The recording medium according to supplementary note 30 or 3 1 ,
wherein the second storage means further stores the communication apparatus and a priority order based on a distance between the destination
communication apparatus and the transfer apparatus which is located in a boundary of the network, for each communication apparatus included in the communication apparatus group; and
wherein the selecting is performed based on the priority order.
[Claim 33]
The recording medium according to any one of claims 28 to 3 1 ,
wherein the identifier is an IP address.
[Claim 34]
The recording medium according to any one of claims 28 to 32,
wherein the identifier is an identifier which can distinguish a service provided by the communication apparatus included in the communication apparatus group.
[Claim 35]
The recording medium according to any one of claims 32 to 34,
wherein the priority order is set based on an RTT (Round Trip Time) between the destination communication apparatus and the transfer apparatus which is located in a boundary of the network with which the source communication apparatus connects.
[Claim 36]
The recording medium according to any one of claims 32 to 34,
wherein the priority order is set based on an AS (Autonomous System) pass between the transfer apparatus provided outside the network and the destination communication apparatus.
PCT/JP2011/064991 2010-09-22 2011-06-23 A control apparatus, a communication system, a communication method and a recording medium having recorded thereon a communication program WO2012039176A1 (en)

Priority Applications (6)

Application Number Priority Date Filing Date Title
BR112013005980A BR112013005980A2 (en) 2010-09-22 2011-06-23 control apparatus for controlling a network, communications system, communication method and recording medium
EP11826622.0A EP2619953B1 (en) 2010-09-22 2011-06-23 A control apparatus, a communication system, a communication method and a recording medium having recorded thereon a communication program
CN201180045777.4A CN103119897B (en) 2010-09-22 2011-06-23 Control device, communication system, communication means and on it, record the recording medium of signal procedure
US13/822,270 US20130176861A1 (en) 2010-09-22 2011-06-23 Control apparatus, a communication system, a communication method and a recording medium having recorded thereon a communication program
JP2013512664A JP5713101B2 (en) 2010-09-22 2011-06-23 Control device, communication system, communication method, and communication program
RU2013118214/08A RU2558624C2 (en) 2010-09-22 2011-06-23 Control device, communication system, communication method and record medium containing communication programme recorded to it

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2010-212477 2010-09-22
JP2010212477 2010-09-22

Publications (1)

Publication Number Publication Date
WO2012039176A1 true WO2012039176A1 (en) 2012-03-29

Family

ID=45873672

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/064991 WO2012039176A1 (en) 2010-09-22 2011-06-23 A control apparatus, a communication system, a communication method and a recording medium having recorded thereon a communication program

Country Status (7)

Country Link
US (1) US20130176861A1 (en)
EP (1) EP2619953B1 (en)
JP (1) JP5713101B2 (en)
CN (1) CN103119897B (en)
BR (1) BR112013005980A2 (en)
RU (1) RU2558624C2 (en)
WO (1) WO2012039176A1 (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014017717A (en) * 2012-07-10 2014-01-30 Fujitsu Ltd Router device, communication system and packet transfer method
CN104009930A (en) * 2013-02-22 2014-08-27 上海贝尔股份有限公司 Method and device for carrying out SDN stream matching based on implicit stream information
JP2014158143A (en) * 2013-02-15 2014-08-28 Nippon Telegr & Teleph Corp <Ntt> Load distribution system and load distribution method
JP2015515205A (en) * 2012-03-30 2015-05-21 日本電気株式会社 COMMUNICATION SYSTEM, CONTROL DEVICE, COMMUNICATION DEVICE, COMMUNICATION CONTROL METHOD, AND PROGRAM
JP2016508690A (en) * 2013-01-24 2016-03-22 テケレック・インコーポレイテッドTekelec, Inc. Method, system, and computer-readable medium using policy information to forward bearer session traffic to network nodes as needed
JPWO2015004922A1 (en) * 2013-07-11 2017-03-02 日本電気株式会社 Communication system, serving gateway, communication method thereof, and base station
US10148509B2 (en) 2015-05-13 2018-12-04 Oracle International Corporation Methods, systems, and computer readable media for session based software defined networking (SDN) management
US11388082B2 (en) 2013-11-27 2022-07-12 Oracle International Corporation Methods, systems, and computer readable media for diameter routing using software defined network (SDN) functionality

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2810411A4 (en) * 2012-01-30 2015-07-29 Nec Corp Control method, control apparatus, communication system, and program
JP2015023533A (en) * 2013-07-23 2015-02-02 日本電気株式会社 Communication system
CN104426756B (en) * 2013-08-19 2019-03-15 中兴通讯股份有限公司 A kind of acquisition methods and control platform of service node ability information
JP6838455B2 (en) * 2017-03-24 2021-03-03 住友電気工業株式会社 Switch device, communication control method and communication control program
WO2021229657A1 (en) * 2020-05-11 2021-11-18 日本電信電話株式会社 Packet transfer system and path configuration method

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005322107A (en) * 2004-05-11 2005-11-17 Fujitsu Ltd Load distribution device and program
JP2008219400A (en) 2007-03-02 2008-09-18 Fujitsu Ltd Repeater and packet relaying method
WO2010090182A1 (en) * 2009-02-03 2010-08-12 日本電気株式会社 Application switch system, and application switch method

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4091723B2 (en) * 2000-02-04 2008-05-28 富士通株式会社 Data transfer method and apparatus
RU2233473C2 (en) * 2000-12-22 2004-07-27 Самсунг Электроникс Ко., Лтд. Device and method for performing high-speed search for routes of internet protocol and controlling routing/transfer tables
US7391782B2 (en) * 2001-03-06 2008-06-24 Fujitsu Limited Packet relaying apparatus and relaying method with next relaying address collation
RU2387002C2 (en) * 2003-06-30 2010-04-20 Майкрософт Корпорейшн Levelling network load through connection control
JP4372098B2 (en) * 2003-07-09 2009-11-25 富士通株式会社 Optimal routing method for a specific service in a network and server and routing node used in the network
US20050111465A1 (en) * 2003-11-25 2005-05-26 Stewart Mark Andrew W. Infiniband switch operating in a clos network
US9197533B1 (en) * 2005-05-09 2015-11-24 Cisco Technology, Inc. Technique for maintaining and enforcing relative policies with thresholds
US8155126B1 (en) * 2005-06-03 2012-04-10 At&T Intellectual Property Ii, L.P. Method and apparatus for inferring network paths
US7778248B2 (en) * 2005-10-28 2010-08-17 Cisco Technology, Inc. Method and apparatus for prioritized processing of routing information
JP4776412B2 (en) * 2006-03-23 2011-09-21 エヌ・ティ・ティ・コミュニケーションズ株式会社 Packet transfer apparatus, packet transfer method, and program
JP5109940B2 (en) * 2008-11-20 2012-12-26 富士通株式会社 Input edge router identification method, program, and computer
US8094575B1 (en) * 2009-03-24 2012-01-10 Juniper Networks, Inc. Routing protocol extension for network acceleration service-aware path selection within computer networks
US8165121B1 (en) * 2009-06-22 2012-04-24 Juniper Networks, Inc. Fast computation of loop free alternate next hops

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005322107A (en) * 2004-05-11 2005-11-17 Fujitsu Ltd Load distribution device and program
JP2008219400A (en) 2007-03-02 2008-09-18 Fujitsu Ltd Repeater and packet relaying method
WO2010090182A1 (en) * 2009-02-03 2010-08-12 日本電気株式会社 Application switch system, and application switch method

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
See also references of EP2619953A4
THE OPENFLOW SWITCH SPECIFICATION VERSION 1.0.0, 31 December 2009 (2009-12-31), Retrieved from the Internet <URL:http://www.openflowswitch.org/documents/openflow-spec-v1.0.0.pdf>

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9935876B2 (en) 2012-03-30 2018-04-03 Nec Corporation Communication system, control apparatus, communication apparatus, communication control method, and program
JP2015515205A (en) * 2012-03-30 2015-05-21 日本電気株式会社 COMMUNICATION SYSTEM, CONTROL DEVICE, COMMUNICATION DEVICE, COMMUNICATION CONTROL METHOD, AND PROGRAM
EP2832058A4 (en) * 2012-03-30 2015-11-11 Nec Corp Communication system, control apparatus, communication apparatus, communication control method, and program
JP2014017717A (en) * 2012-07-10 2014-01-30 Fujitsu Ltd Router device, communication system and packet transfer method
JP2016508690A (en) * 2013-01-24 2016-03-22 テケレック・インコーポレイテッドTekelec, Inc. Method, system, and computer-readable medium using policy information to forward bearer session traffic to network nodes as needed
JP2014158143A (en) * 2013-02-15 2014-08-28 Nippon Telegr & Teleph Corp <Ntt> Load distribution system and load distribution method
CN104009930A (en) * 2013-02-22 2014-08-27 上海贝尔股份有限公司 Method and device for carrying out SDN stream matching based on implicit stream information
CN104009930B (en) * 2013-02-22 2017-09-22 上海贝尔股份有限公司 The method and apparatus that SDN stream matchings are carried out based on implicit stream information
JPWO2015004922A1 (en) * 2013-07-11 2017-03-02 日本電気株式会社 Communication system, serving gateway, communication method thereof, and base station
US10149331B2 (en) 2013-07-11 2018-12-04 Nec Corporation Communication system, serving gateway, communication method therefor, and base station
US10743355B2 (en) 2013-07-11 2020-08-11 Nec Corporation Communication system and base station
US11388082B2 (en) 2013-11-27 2022-07-12 Oracle International Corporation Methods, systems, and computer readable media for diameter routing using software defined network (SDN) functionality
US10148509B2 (en) 2015-05-13 2018-12-04 Oracle International Corporation Methods, systems, and computer readable media for session based software defined networking (SDN) management

Also Published As

Publication number Publication date
BR112013005980A2 (en) 2019-09-24
JP2013541235A (en) 2013-11-07
RU2013118214A (en) 2014-10-27
RU2558624C2 (en) 2015-08-10
EP2619953A4 (en) 2016-12-07
EP2619953B1 (en) 2017-12-27
US20130176861A1 (en) 2013-07-11
CN103119897B (en) 2016-05-25
JP5713101B2 (en) 2015-05-07
CN103119897A (en) 2013-05-22
EP2619953A1 (en) 2013-07-31

Similar Documents

Publication Publication Date Title
EP2619953B1 (en) A control apparatus, a communication system, a communication method and a recording medium having recorded thereon a communication program
JP5757324B2 (en) Computer system and communication method
EP2911348B1 (en) Control device discovery in networks having separate control and forwarding devices
JP5440691B2 (en) Packet transfer system, control device, transfer device, processing rule creation method and program
JP5846199B2 (en) Control device, communication system, communication method, and communication program
US8837286B2 (en) Communication system, flow control device, flow table updating method, and program
JP5850471B2 (en) COMMUNICATION SYSTEM, CONTROL DEVICE, NODE CONTROL METHOD, AND PROGRAM
JP5850068B2 (en) Control device, communication system, communication method, and program
JP5800019B2 (en) Communication path control system, path control device, communication path control method, and path control program
JP5488979B2 (en) Computer system, controller, switch, and communication method
WO2011087085A1 (en) Calculator, network connection switching method, and program
GB2513188A (en) Identification of the paths taken through a network of interconnected devices
KR20130101618A (en) System and method for operating network based on network virtualization
WO2018047943A1 (en) Communication system, edge node, communication method and program
US9794170B2 (en) Communication method, communication system, information processing apparatus, communication terminal, and program
JP2012227651A (en) Network system and frame communication method
EP2773072B1 (en) Control apparatus, communication system, virtual network management method, and program
JP5742268B2 (en) COMMUNICATION SYSTEM, CONTROL DEVICE, COMMUNICATION METHOD
CN106888105B (en) A kind of discovery method and device of three layers of virtual link end to end
US20150312206A1 (en) Control apparatus, communication system, communication method, and program
JP5668503B2 (en) Hazardous site filtering system and filtering method
JP2004289647A (en) Data relay method, data relay device, and data relay system using the device
CN103401784B (en) A kind of method receiving message and open flows switch
JP2017163177A (en) Controller, communication switch, communication system, communication control method, and program

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 201180045777.4

Country of ref document: CN

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

Ref document number: 11826622

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 13822270

Country of ref document: US

ENP Entry into the national phase

Ref document number: 2013512664

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2011826622

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2013118214

Country of ref document: RU

Kind code of ref document: A

REG Reference to national code

Ref country code: BR

Ref legal event code: B01A

Ref document number: 112013005980

Country of ref document: BR

ENP Entry into the national phase

Ref document number: 112013005980

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20130313