Sign In to Follow Application
View All Documents & Correspondence

System And Method For Communication

Abstract: A communications system includes: a first node device provided in a first network; a first controller controlling the first node device; a second node device provided in a second network and connected to the first node device; and a second controller controlling the second node device. The first controller sets the first node device with a processing rule according to which packets transferred between the first and second controllers are processed. The second controller sets the second node device with a processing rule according to which the packets are processed. The first and second controllers exchanges the packets each other through at least the first and second node devices.

Get Free WhatsApp Updates!
Notices, Deadlines & Correspondence

Patent Information

Application #
Filing Date
23 September 2014
Publication Number
18/2015
Publication Type
INA
Invention Field
COMMUNICATION
Status
Email
Parent Application

Applicants

NEC CORPORATION
7-1, Shiba 5-chome, Minato-ku, Tokyo, 1088001

Inventors

1. ASHIDA Yuta
c/o NEC Corporation, 7-1, Shiba 5-chome, Minato-ku, Tokyo, 1088001
2. KOIDE Toshio
c/o NEC Corporation, 7-1, Shiba 5-chome, Minato-ku, Tokyo, 1088001

Specification

Description Title of Invention: SYSTEM AND METHOD FOR COMMU¬ NICATION Technical Field [0001] The present invention relates to a communications system and more particularly relates to a communications system managed by a centralized management, in which controllers control packet transfers among network devices. Background Art [0002] One problem of conventional network devices is that flexible load control, such as load distribution and load concentration, cannot be achieved by an external control. This makes it difficult to monitor and improve the system behavior in a large-scale network, causing a problem that a modification in the system design and/or con figuration requires a large cost. [0003] One proposed approach for solving this problem is separation of the packet transfer function and the route control function which are both conventionally implemented by a network device. For example, in a system in which the packet transfer function is assigned to network devices and the control function is assigned to a controller provided separately from the network devices, the controller can perform centralized management of packet transfer, which allows establishing a network with high flexibility. [0004] (CD-Separated Network) One proposed function-separated network is a CD-separated network (where C stands for control plane and d stands for data plane), in which a controller operating on the control plane controls node devices operating on the data plane. [0005] One example of the CD-separated network is an OpenFlow network which is based on the OpenFlow technique, in which the route control in the network is achieved by controlling switches by a controller. Details of the OpenFlow technique are disclosed in non-patent documents 1 and 2. Note that the OpenFlow network should be construed as one example. [0006] (OpenFlow Network) In an OpenFlow network, a controller, such as an OpenFlow controller (OFC), controls the behavior of node devices, such as OpenFlow switches (OFSs), by processing route control information (or a flow table) which describes the route control of the node devices. [0007] Controllers and node devices are connected via control channels (communication channels for control) called "secure channels", which are communication paths protected by using dedicated lines or an SSL (Secure Socket Layer) technique. Con trollers and node devices exchange OpenFlow messages defined in the OpenFlow protocol via control channels. [0008] In the OpenFlow network, each node device is provided in the OpenFlow network and controlled by the controller; each node device may be an edge switch or a core switch. A series of packet transfers from the receipt of a packet at an ingress edge switch to the transmission at an egress edge switch in the OpenFlow network is referred to as "flow". In the OpenFlow network, communications are each regarded as an end-to-end flow, and the route control, the trouble recovery, and the load dis tribution and optimization are carried out in units of flows. [0009] It should be noted that the frame should be regard as an alternative of the packet. The difference between the packet and the frame only lies in the difference in the protocol data unit (PDU). The packet is the PDU of the TCP/IP (transmission control protocol / internet protocol). On the other hand, the frame is the PDU of the "Ethernet" (registered trademark). [0010] The route control information (or the flow table) includes a set of: identifying conditions (identifying rules) to identify packets to be treated as a flow; statistical in formation that indicates the number of times in which packets comply or match with the identifying conditions (or the identifying rules); and processing rules (or flow entries) which define a group of contents of processing (or actions) to be performed on packets. [001 1] The identifying conditions (or the identifying rules) of each processing rule (or each flow entry) are defined by various combinations of any or all of data of respective protocol hierarchies included in the header region (or the header field) of the packet, and distinguishable one another by using these data. One example of data of the r e spective protocol hierarchies may include the destination address, the source address, the destination port, the source port. Note that the above-described addresses may be defined by a MAC (media access control) address or an IP address. Also, data of the ingress port may be also used as the identifying conditions (or the identifying rules) of the processing rules (or the flow entries). Furthermore, the identifying conditions (or the identifying rules) of the processing rules (or the flow entries) may be set in the form of a representation in which some or all of the values of the header region of the packet to be treated as the flow are represented by using a normal representation, a wildcard character "*" or the like. [0012] The contents of processing (or the action) of a processing rule (or a flow entry) indicates an operations such as "output to a particular port", "discarding" and "rewriting of header". For example, if the contents of processing (or the action) of a processing rule (or a flow entry) indicates identification information of an output port (an output port number and the like), the node device outputs the packet to the indicated port, and if not, the node device discards the packet. Instead, if the contents of processing (or the action) of the processing rule (or the flow entry) indicates the header information, the node device rewrites the header of the packet on the basis of the header information. [0013] A node device in the OpenFlow network performs the contents of processing (or the action) of a processing rule (or a flow entry) on a group of packets (or a series of packets) that complies with the identifying conditions (or the identifying rules) of the processing rule (or the flow entry). [0014] For example, when receiving a packet, an OpenFlow switch (OFS), which cor responds to a node device in the OpenFlow network, retrieves the processing rule (or the flow entry) associated with the identifying conditions (or the identifying rule) complying with the header information of the received packet from the route control information (of the flow table). If the processing rule (flow entry) complying with the receipt packet is found out as a result of the retrieval, the contents of processing (or the action) described in the action field of the processing rule (or the flow entry) is performed on the received packet. If no processing rule (or the flow entry) complying with the received packet is found as a result of the retrieval, on the other hand, the received packet is judged as the first packet. In this case, inquiry information of the received packet is transmitted to an OpenFlow controller (OFC), which corresponds to the controller in the OpenFlow network, via a control channel to request for de termining the route of the packet based on the source and destination of the received packet; this is followed by receiving a processing rule (or a flow entry) for attaining the packet transfer along the determined route and then updating the route control in formation (or the flow table). [0015] It should be noted that an initial state processing rule (or a default entry) is registered in the route control information (or the flow table), where the initial state processing rule describes identifying conditions (or identifying rules) of a low priority which are defined so as to comply with the header information of any packets. If no other processing rule (or flow entry) complying with the received packet is found, the received packet complies with the initial state processing rule (or the default entry). The contents of processing (or the action) of the initial state processing rule (or the default entry) is defined to instruct to transmit inquiry information of the received packet to the OpenFlow controller (OFC). [0016] As mentioned above, the OpenFlow switch (OFS) determines processing to be done on a packet in accordance with the setting of processing rules (or flow entries) set by the OpenFlow controller (OFC). In particular, the "output" processing, in which a packet is outputted to a specified interface, is often used as the processing. It should be noted that the specified interface is not limited to a physical interface; the specified interface is not limited to the physical port and may be a virtual port. [0017] As thus described, control of packets is attained by centralized control of OpenFlow switches (OFS) by an OpenFlow controller (OFC) in the OpenFlow network. One issue is that one OpenFlow controller (OFC) can control only a limited number of OpenFlow switches (OFS). Accordingly, an increase in the scale of the network, which causes an increase in the number of the OpenFlow switches (OFS), may result in that calculation of processing rules (flow entries) in the OpenFlow controller (OFC) and the like becomes a bottleneck of the network quality. [0018] One approach to address this may be connecting a plurality of OpenFlow networks, each including one Openflow controller (OFC) and a plurality of OpenFlow switches (OFS) controlled by the OpenFlow controller, when the scale of the network is increased. Citation List Non Patent Literature [0019] [NPL 1] Nick Mckeown and Other Seven Persons, "OpenFlow: Enabling Innovation in Campus Networks", online, Retrieval on January 23, 2012, Internet (URL: http://www. openflow. Org/documents/openflow-wp-latest.pdf) [NPL 2] "OpenFlow Switch Specification, Version 1.1.0 Implemented", online, Retrieval on February 28, 2012, Internet (URL:http//ww.openflowswitch. org/ documents/openflow-spec-v 1.1.0.pdf) Summary of Invention [0020] An interconnection of a plurality of networks each managed by a centralized management, such as OpenFlow networks, requires exchanging and sharing of in formation related to route control among the controllers to control the traffic over the networks. One approach to achieve this may be using an existing routing protocol, such as the OSPF (open shortest path first) protocol and the BGP (border gateway protocol) or other data sharing protocols in order to exchange and share information related to the route control among the controllers. [0021] The use of these protocols to exchange information related to the route control among the controllers, however, requires establishing a connection between adjacent controllers. [0022] In an aspect of the present invention, a communications system includes: a first node device provided in a first network; a first controller controlling the first node device; a second node device provided in a second network and connected to the first node device; and a second controller controlling the second node device. The first controller sets the first node device with a processing rule according to which packets transferred between the first and second controllers are processed. The second controller sets the second node device with a processing rule according to which the packets are processed. The first and second controllers exchanges the packets each other through at least the first and second node devices. [0023] In another aspect of the present invention, a communication method includes: setting a first node device provided in a first network by a first controller controlling the first node device with a processing rule according to which packets transferred between the first controller and a second controller controlling a second node provided in a second network are processed; setting the second node device by the second controller with a processing rule according to which the packets are processed; establishing a connection between the first and second node devices; and exchanging the packets between the first and second controllers through at least the first and second node devices. [0024] In another aspect of the present invention, a program is provided for causing a computer or a network device to perform the operations of respective devices in the above-described communication method. The program may be stored in a storage device or a non-transitory recording medium. [0025] The present invention enables establishing a communication connection between controllers of adjacent networks. Brief Description of Drawings [0026] [fig. 1]Fig. 1 shows an exemplary configuration of a communications system according to the present invention. [fig.2]Fig. 2 shows an exemplary system configuration in a first embodiment. [fig.3]Fig. 3 shows an exemplary configuration of a controller. [fig.4]Fig. 4 shows an exemplary configuration example of a node device. [fig.5]Fig. 5 shows an exemplary configuration of an LLDP frame in the first em bodiment. [fig.6A]Fig. 6A shows exemplary contents of a processing rule defined for a first network. [fig.6B]Fig. 6B shows exemplary contents of a processing rule defined for a second network. [fig.7]Fig. 7 shows an exemplary configuration of an LLDP frame in a second em bodiment. [fig.8]Fig. 8 shows an exemplary configuration of a controller in a third embodiment. [fig.9A]Fig. 9A shows exemplary contents of a sorting rule defined for the controller of the first network. [fig.9B]Fig. 9B shows exemplary contents of a sorting rule defined for the controller of the second network. [fig. 1OA]Fig. 10A shows an exemplary configuration of the first network of the com munications system in a fourth embodiment. [fig.lOBJFig. 10B shows an exemplary configuration of the second network of the communications system in the fourth embodiment. [fig. 11A]Fig. 11A shows exemplary contents of a sorting rule defined for the controller of the first network. [fig. 1lBJFig. 1IB shows exemplary contents of a sorting rule defined for the controller of the second network. [fig. 12] Fig. 12 shows an exemplary hardware configuration of a controller according to the present invention. [fig.l3]Fig. 13 shows an exemplary hardware configuration of a node device according to the present invention. Description of Exemplary Embodiments [0027] Embodiments of the present invention are described in the following with an example in which OpenFlow networks, which are a sort of networks managed by a centralized management, are used. It should be noted, however, that the present invention is not limited to a communication system in which OpenFlow networks are used. [0028] Embodiments of the present invention are described below in details with reference to the attached drawings. [0029] A description is first given of an exemplary configuration of a communications system in one embodiment of the present invention with reference to Fig. 1. [0030] In one embodiment, a communications system includes controllers 10 and node devices 20. [0031] The controllers 10 are information processing apparatuses which control the node devices 20. [0032] The node devices 20 are communication devices provided in networks. [0033] The controllers 10 and the node devices 20 are connected through control channels. The controllers 10 and the node devices 20 communicate with each other by using OpenFlow messages defined in an OpenFlow protocol via the control channels. [0034] Each node device 20 is connected to the adjacent node device 20 via a data commu nication link such as a LAN (local area network) and the like. Moreover, a node device 20 which operates as an edge switch is adapted to have a connection with a host (a client, a server or the like) or an external network device which does not belong to the network in which the node device 20 is provided. [0035] It should be noted that the controllers 10 and the node devices 20 are not limited to physical machines; the controllers 10 and the node devices 20 may be a virtual machine (VM). [0036] Fig. 1 shows controllers 10-1 and 10-2, as examples of the controllers 10. Fig. 1 also shows node devices 20-1 to 20-6 as examples of the node devices 20. [0037] The controller 10-1 is connected via a control channel to each of the node devices 20-1 to 20-3. [0038] The controller 10-2 is connected via a control channel to each of the node devices 20-4 to 20-6. [0039] The node devices 20-1 to 20-6 are each connected to one or more adjacent node devices via one or more data communication links, such as LANs. [0040] In this embodiment, the node device 20- 1 is connected to the node device 20-2 via a data communication link. The node device 20-2 is connected to the node device 20-3 via a data communication link. The node device 20-3 is connected to the node device 20-4 via a data communication link. The node device 20-4 is connected to the node device 20-5 via a data communication link. The node device 20-5 is connected to the node device 20-6 via a data communication link. [0041] The node devices 20-1 to 20-3 are provided in a network 1. That is, each of the node devices 20-1 to 20-3 is arranged in the network 1. [0042] The node devices 20-4 to 20-6 are arranged in the network 2. That is, each of the node devices 20-4 to 20-6 is arranged in the network 2. [0043] Accordingly, that the networks 1 and 2 are connected to each other via the data com munication link connecting the node device 20-3 and the node device 20-4. [0044] It should be noted that the control channels and the data communication links may be a wired communication link or a wireless communication link. [0045] (Identification Information of Controllers and Node Devices) In this embodiment, the controller 10-1 is assigned with a controller ID "CPID1" as its own identification information. The controller 10-2 is assigned with a controller ID "CPID2" as its own identification information. The node device 20-1 is assigned with a node device ID "DPID1" as its own identification information. The node device 20-2 is assigned with a node device ID "DPID2" as its own identification information. The node device 20-3 is assigned with a node device ID "DPID3" as its own identification information. The node device 20-4 is assigned with a node device ID "DPID4" as its own identification information. The node device 20-5 is assigned with a node device ID "DPID5" as its own identification information. The node device 20-6 is assigned with a node device ID "DPID6" as its own identification information. [0046] Conventionally, there is a difficulty in achieving communications among controllers by using a conventional communication method such as TCP/IP in a CD-separated type network, such as OpenFlow networks. The use of the systems disclosed in these embodiments of the present invention enables communications based on a con ventional communication method such as TCP/IP between or among a plurality of con trollers. [0419] This allows achieving a distributed control of the entire system by a plurality of con trollers by reusing distributed-control applications based on a conventional commu nication architecture such as TCP/IP, making it easy to establish a large-scale system. [0420] It should the above-mentioned respective embodiments can be carried out by combining them. [0421] Examples of hardware devices which may be used in the communications system according the present invention is described below. [0422] Examples of devices which may be used as the controllers include a computer such as PC (personal computer), an appliance, a thin client server, a workstation, a main frame, a super computer. Note that the controllers may be a relaying device or a p e ripheral device, not limited to a terminal device or a server. Also, an expansion board installed in a computer or the like may be used as the controller, or a virtual machine (VM) established on a physical machine may be used as the controller. [0423] Examples of devices which may be used as the node devices include a network switch, a router, a proxy, a gateway, a firewall, a load balancer, a packet shaper, a SCADA (supervisory control and data acquisition) security monitoring controller, a gatekeeper, abase station, an access point (AP), a communication satellite (CS), and a computer having a plurality of communication ports. Also, a virtual switch operating on a virtual machine (VM) established on a physical machine may be used as the node device. The controllers and the node devices may be installed on movable bodies such as vehicles, ships and airplanes. [0424] In one example, as shown in Fig. 12, each controller 10 may each include a storage device (or memory) 31, a processor 32, and an interface 33. The storage device 3 1 stores a software program 31a which includes codes describing the above-described operations of the controller 10. The storage device 3 1 is also used to store various data used and generated in the operations of the controller 10. The processor 32 executes the software program 31a to perform the above-described operations of the controller 10. The interface 33 is used to communicate with the node devices 20. A nontransitory recording medium 50 may be used to install the software program 31a onto the storage device 31. [0425] Similarly, as shown in Fig. 13, each node device 20 may each include a storage device (or memory) 41, a processor 42, and interfaces 43 and 44. The storage device 4 1 stores a software program 41a which includes codes describing the above-described operations of the node device 20. The storage device 4 1 is also used to store various data used and generated in the operations of the node device 20. The processor 32 executes the software program 41a to perform the above-described operations of the node device 10. The interface 43 is used to communicate with another node device 20, and interface 44 is used to communicate with a controller 10. A non-transitory recording medium 60 may be used to install the software program 41a onto the storage device 41. [0426] Examples of the processors 32 and 42 include a CPU (central processing unit), a network processor (NP), a microprocessor, a microcontroller, and a large scale in tegrated circuit (LSI) having a dedicated function and the like. [0427] Examples of the storage devices (or memories) 3 1 and 4 1 include a semiconductor storage device such as a RAM (Random Access Memory), a ROM (Read Only Memory), an EEPROM (Electrically Erasable and Programmable Read Only Memory), a flash memory, an auxiliary storage device such as an HDD (Hard Disk Drive), an SSD (Solid State Drive), a removable disk such as a DVD (Digital Versatile Disk), a storage medium such as an SD memory card (Secure Digital memory card), and the like. Also, a buffer, a register and the like may be used as the storage devices (or memories) 3 1 and 41. In one embodiment, a storage device that uses a DAS (direct attached storage), an FC-SAN (fiber channel - storage area network), an NAS (network attached storage), IP-SAN (IP - storage area network) and the like may be used the storage devices (or memories) 3 1 and 41. [0428] The processor 3 1 and the storage device 32 may be monolithically integrated and the processor 4 1 and the storage device 42 may be monolithically integrated. In recent years, one-chip microcomputers have been made popular. In one embodiment, a onechip microcomputer installed in an electronic appliance or the like may monolithically integrate the above-described processor and storage device. [0429] Examples of the above-described interface includes a circuit board (a mother board, an I/O board) and a semiconductor integrated circuit which are adapted to a network communication, a network adaptor such as an NIC (network interface card), a similar expansion card, a communication apparatus such as an antenna, and a communication port such as a connection port (connector). [0430] Also, examples of the network include the Internet, an LAN (local area network), a wireless LAN, a WAN (wide area network), a backbone, a cable television (CATV) line, a fixed telephone network, a mobile telephone network, WiMAX (IEEE 802.16a), a 3G (3rd generation) communication system, a dedicated line (lease line), an IrDA (infrared data association), Bluetooth (Registered Trademark), a serial communication line, a data bus and the like. [0431] Configuration elements included in each of the controllers and the node devices may be modules and components, or dedicated devices, or starting (calling) programs for them. [0432] It should be noted that actual implementations are not limited to these examples. [0433] As discussed above, the communications system in exemplary embodiments of the present invention includes controllers and node devices. The controllers control packet processing in the respective node devices. [0434] The node devices outputs packets from their own physical or logical interfaces under control of the controllers. [0435] Each controller each obtains identifying conditions (identifying rules) of packets used to communicate with a network that is not under control of the controller (that is, a network provided outside its own network). [0436] Also, each controller calculates the transfer route which connects an interface of one node device and another interface of a boundary node device located on the boundary with a different network, which is used for establishing a connection to a device provided outside its own network. [0437] In one embodiment, the controllers may each calculate a transfer route in which a start point is defined as an interface of a node device connected to the controller via a data communication link and an end point is defined as an interface of a boundary node device which is used for establishing a connection to a device provided outside its own network. Alternatively, the controllers may each calculates a transfer route in which a start point is defined as an interface of a boundary node device which is used for establishing a connection to a device provided outside its own network and an end point is defined as an interface of a node device connected to the controller via a data communication link. [0438] Also, the controllers each sets the node devices with processing rules (or flow entries) so that packets complying with the identifying conditions (or the identifying rules) are transferred on the calculated transfer route. [0439] Supplementary note> Some or all of the above-mentioned embodiments may be represented as described in the following supplementary notes. It should be noted that actual implementations are not limited to the following supplementary nodes. [0440] (Supplementary note 1) A communications system in which controllers control packet processing in each of node devices, and the node devices each output packets any interfaces thereof under control of a controller connected thereto, wherein each of the controllers includes: a node communication section which sets a control channel to control each of the node devices and transmits and receives control messages; a network interface connected to one of node devices via a data communication link; an adjacency discovery section which discovers a boundary node device from the node devices, the boundary node being located on the boundary with a different network that is controlled by a different controller; an identifying condition calculating section calculating identifying conditions (or identifying rules) of packets used to communicate with a controller in the network adjacent thereto; a route calculating section that calculates a transfer route having a start point de termined as a node device connected to an interface of the controller, through which a packet is outputted to an interface of the boundary node device, the interface being connected to a different network outside its own network, and a transfer route having a start point determined as the boundary node device, through which a packet is outputted to an interface of the node device connected to the interface of the controller; and a processing rule calculating section that sets the node devices connected to the each controller with processing rules (flow entries) so as to transfer packets complying with the identifying conditions (the identifying rules) on the transfer route. [0441] (Supplementary note 2) The communications system set forth in supplementary note 1, wherein the adjacency discovery section embeds unique identification information of each controller into retrieval packets used to retrieve a connection relation among the node devices inside each network. [0442] (Supplementary note 3] The communications system set forth in the supplementary note 1, wherein the controller instructs the boundary node device to output a packet which incorporates identifying conditions (identifying rules) from the interface connected to the different network. [0443] (Supplementary note 4) The communications system described in the supplementary note 1, wherein the identifying condition calculating section incorporates identifying conditions used in the communication between the controllers into a retrieval packet used to retrieve a connection relation among the node devices inside each network. [0444] (Supplementary note 5] The communications system set forth in any one of supplementary notes 1 to 4, wherein the route calculation section refers to identification information incorporated in the retrieval packet transmitted to the controller through an interface by a node device, and, if it is equal to identification information indicative of its own controller, determines the interface of the node device connected to the controller as an end point in the route calculation. [0445] (Supplementary note 6) The communications system set forth in any one of supplementary notes 1 to 5, wherein the network interface is physically connected through a network link connection cable. [0446] (Supplementary note 7) The communications system set forth in any one of supplementary notes 1 to 5, wherein the controller contains one or more virtual ports for transmitting and receiving packets, a sorting rule storage section storing one or more sorting rules of packets and a sorting section for specifying a sorting destination of packets, wherein the sorting rule storage section retrieves and return selected one of the sorting rules in response to a reference request, and wherein the sorting section specifies a transfer destination of packets transmitted and received between the interface of the boundary node device and the virtual ports, in ac cordance with the sorting rule selected by referring to the sorting rule storage section. [0447] (Supplementary note 8) The communications system set forth in any one of supplementary notes 1 to 5, wherein the communications system includes a plurality of controllers, an interface section in a node device controlled by one of the controllers is connected via a commu nication line to an interface section in a node device controlled by a different one of the controllers, wherein each of the controllers contains an wide area control section that com municates with a different one of the controllers, wherein the wide area control sections are each connected to one or more of the virtual ports, and wherein the wide area control sections communicate with each other through the virtual ports. [0448] (Supplementary note 9) A communicating method in which controllers control packet processing in each of node devices, and the node devices each output packets any interfaces thereof under control of a controller connected thereto, wherein each of the controllers is connected via a network interface which achieves a data transfer link connection to one or more of the node devices, and wherein the communication method includes: discovering a boundary node device from the node devices, located on a boundary with a different network that is controlled by a different controller; calculating identifying conditions (or identifying rules) of packets used to com municate with the different controller in the different network; calculating a transfer route having a start point determined as a node device connected to an interface of the controller, through which a packet is outputted to an interface of the boundary node device, the interface being connected to a different network outside its own network, and a transfer route having a start point determined as the boundary node device, through which a packet is outputted to an interface of the node device connected to the interface of the controller; and setting the node devices connected to the each controller with processing rules (flow entries) so as to transfer packets complying with the identifying conditions (the identifying rules) on the transfer route, and processing a packet complying with the identifying conditions (of the identifying rules) of a processing rule in accordance with the processing rule (flow entry). [0449] (Supplementary note 10) The communicating method system described in supplementary note 9, wherein each controller embeds unique identification information of the each controller into retrieval packets used to retrieve a connection relation among the node devices inside each network, wherein the controller refers to identification information incorporated in the retrieval packet, and compares the identification information incorporated in the packet with its own identification information and consequently determines whether the retrieval packet comes from a different controller. [0450] (Supplementary note 11) The communicating method set forth in supplementary note 9, wherein the controller instructs the boundary node device to output a packet incorporating identifying conditions (or the identifying rules) from the interface connected to the different network. [0451] (Supplementary note 12) The communicating method set forth in supplementary note 9, wherein the controller incorporates packet judgment conditions used in the communication between the con trollers into a retrieval packet used to retrieve the connection relation between the node devices in its own network. [0452] (Supplementary note 13) The communicating method set forth in any one of supplementary notes 9 to 12, wherein each controller refers to identification information incorporated in the retrieval packet transmitted to the controller through the interface from the node device, and if the identification information is equal to its own identification information, determines the interface of the node device connected to the controller as an end point in the route calculation. [0453] (Supplementary note 14) The communicating method described in one of the supplementary notes 9 to 13, wherein the controller is physically connected through a cable for a network link connection to the node device. [0454] (Supplementary note 15) A controller for controlling packet processing of node devices, including: a network interface for establishing a connection to one of the node devices via a data transfer link; an adjacency discovery section for discovering a boundary node device from the node devices, the boundary node device being located on the boundary with a different network that is controlled by a different controller; an identifying condition calculating section calculating identifying conditions (or identifying rules) of packets used to communicate with a controller in the network adjacent thereto; a route calculating section that calculates a transfer route having a start point de termined as a node device connected to an interface of the controller, through which a packet is outputted to an interface of the boundary node device, the interface being connected to a different network outside its own network, and a transfer route having a start point determined as the boundary node device, through which a packet is outputted to an interface of the node device connected to the interface of the controller; and a processing rule calculating section that sets the node devices connected to the each controller with processing rules (flow entries) so as to transfer packets complying with the identifying conditions (the identifying rules) on the transfer route. [0455] (Supplementary note 16) The controller described in the supplementary note 15, wherein the adjacency discovery section embeds unique identification information of each controller into retrieval packets used to retrieve a connection relation among the node devices inside each network. [0456] (Supplementary note 17) The controller described in the supplementary note 15, wherein the identifying condition calculating section of the controller instructs the boundary node device to output a packet which incorporates identifying conditions (identifying rules) from the interface connected to the different network. [0457] (Supplementary note 18) The controller described in the supplementary note 15, wherein the identifying condition calculating section incorporates identifying conditions used in the commu nication between the controllers into a retrieval packet used to retrieve a connection relation among the node devices inside each network. [0458] (Supplementary note 19) The controller described in one of the supplementary notes 15 to 18, wherein the route calculation section refers to identification information incorporated in the retrieval packet transmitted to the controller through an interface by a node device, and, if it is equal to identification information indicative of its own controller, de termines the interface of the node device connected to the controller as an end point in the route calculation. [0459] (Supplementary note 20) The controller described in one of the supplementary notes 15 to 20, wherein the network interface is physically connected through a network link connection cable. [0460] It should be noted that an information processing apparatus may be used as the above-described controller. Also, a communicating apparatus may be used as the above-described node device. [0461] While the invention has been particularly shown and described with reference to exemplary embodiments thereof, the invention is not limited to these examples. It will be understood by those skilled in the art that various changes in form and details any be made therein without departing from the spirit and scope of the present invention as defined by the claims. [0462] This application is based upon claims the benefit of priority from Japanese patent ap plication No. 2012-068286, filed on March 23, 2012, the disclosure of which is in corporated herein in its entirety by reference. PCT/JP2013/001913 Claims A communications system, comprising: a first node device provided in a first network; a first controller controlling said first node device; a second node device provided in a second network and connected to said first node device; and a second controller controlling said second node device, wherein said first controller sets said first node device with a processing rule according to which packets transferred between said first and second controllers are be processed, wherein said second controller sets said second node device with a processing rule according to which said packets are processed, and wherein said first and second controllers exchanges said packets each other through at least said first and second node devices. The communications system according to claim 1, wherein said first node device requests said first controller for a processing rule for performing processing on a packet from said second controller, wherein said first controller determines said first node device as a node device located on a boundary with a different network based on said request of said first node device, wherein said second node device requests said second controller for a processing rule for performing processing on a packet from said first controller, and wherein said second node device requests said second controller for a processing rule for performing processing on a packet from said first controller, and wherein said second controller determines said second node device as a node device located on a boundary with a different network based on said request of said second node device. The communications system according to claim 2, wherein said first controller determines that said first node device is a node device located on a boundary with a network managed by said second controller, based on a packet incorporating an identifier of said second controller and received from said second controller, and wherein said second controller determines that said second node device is a node device located on a boundary with a network managed by said first controller, based on a packet incorporating an identifier of said first controller and received from said first controller. The communications system according to claim 2 or 3, wherein said WO 2013/140803 PCT/JP2013/001913 first controller transmits a packet for collecting information related to connections of node devices controlled by said first controller and receives from said second controller a packet for said second controller to collect connections of node devices controlled by said second controller, wherein said second controller transmits a packet for collecting information related to connections of node devices controlled by said second controller and receives from said first controller a packet for said first controller to collect connections of node devices controlled by said first controller. [Claim 5] The communications system according to any one of claims 1 to 4, wherein said first and second controllers exchange information related to packets used for communications between said first and second con trollers via at least said first and second node devices. [Claim 6] The communications system according to any one of claims 1 to 5, wherein said first controller is further connected to said first node device via a first data communication link, wherein said first controller transmits and receives packets to be exchanged between said first and second controllers to and from said first node device via said first data communication link, wherein said second controller is further connected to said second node device via a second data communication link, and wherein said second controller transmits and receives packets to be exchanged between said first and second controllers, to and from said second node device via said second data communication link. [Claim 7] The communications system according to claim any one of claims 1 to 6, wherein said first controller transmits and receives packets to be exchanged between said first and second controllers to and from said first node device via a control channel established between said first controller and said first node device, and wherein said second controller transmits and receives packets to be exchanged between said first and second controllers to and from said second node device via a control channel established between said second controller and said second node device. [Claim 8] The communications system according to any one of claims 1 to 7, wherein said first controller sets said first node device with a processing rule for transferring a packet to be transmitted from said first controller to said second controller, wherein said first node device transfers to said second node device a packet to be transmitted from said first controller to said second controller in accordance with the WO 2013/140803 PCT/JP2013/001913 processing rule set by said first controller, wherein said second controller sets said second node device with a processing rule for transferring a packet to be transmitted from said second controller to said first controller, wherein said second node device transfers to said first node device a packet to be transmitted from said second controller to said first controller in accordance with the processing rule set by said second controller. [Claim 9] The communications system according to any one of claims 1 to 8, wherein said first controller sets said first node device with a processing rule for transferring to said first controller a packet to be transmitted from said second controller to said first controller, wherein, when a first received packet which said first node device receives from said second node device is a packet to be transferred from said second controller to said first controller, said first node device transfers said first received packet to said first controller in accordance with the processing rule set by said first controller, wherein said second controller sets said second node device with a processing rule for transferring to said second controller a packet to be transmitted from said first controller to said second controller, and wherein, when a second received packet which said second node device receives from said first node device is a packet to be transferred from said first controller to said second controller, said second node device transfers said second received packet to said second controller in accordance with the processing rule set by said second controller. [Claim 10] The communications system according to any one of claims 1 to 9, wherein said first controller stores first sorting rules which correlate virtual ports of said first controller and interfaces of said first node and sorts inputted packets to any of the virtual ports of said first controller and the interfaces of said first node device in accordance with said first sorting rules, and wherein said second controller stores second sorting rules which correlate virtual ports of said second controller and in terfaces of said second node and sorts inputted packets to any of the virtual ports of said second controller and the interfaces of said second node device in accordance with said second sorting rules. [Claim 11] The communications system according to claim 10, wherein, when a first input packet is inputted from a virtual port of said first controller, said first controller outputs to said first node said first input packet and an instruction to output said first input packet from an interface of said WO 2013/140803 PCT/JP2013/001913 first node in accordance with said first sorting rules, wherein, when a second input packet is inputted from an interface of said first node device, said first controller outputs said second input packet to a virtual port of said first controller in accordance with said first sorting rules, wherein, when a third input packet is inputted from a virtual port of said second controller, said second controller outputs to said second node said third input packet and an instruction to output said third input packet from an interface of said second node in accordance with said second sorting rules, wherein, when a fourth input packet is inputted from an interface of said second node device, said second controller outputs said fourth input packet to a virtual port of said second controller in accordance with said second sorting rules. [Claim 12] An information processing apparatus used in any one of the first and second controllers in the communications system according to any one of claims 1 to 11. [Claim 13] A communication device used in any one of the first and second node devices in the communications system according to any one of claims 1 to 11. [Claim 14] A communication method, comprising: by a first controller controlling a first node device provided in a first network, setting said first node device with a processing rule according to which packets transferred between said first controller and a second controller controlling a second node provided in a second network are processed; by said second controller, setting said second node device with a processing rule according to which said packets are processed; establishing a connection between said first and second node devices; and exchanging said packets between the first and second controllers through at least the first and second node devices. [Claim 15] The communication method according to claim 14, further comprising: said first node device requesting said first controller for a processing rule for performing processing on a packet from said second controller; said first controller determining said first node device as a node device located on a boundary with a different network based on said request of said first node device, said second node device requesting said second controller for a processing rule for performing processing on a packet from said first controller; and said second controller determining said WO 2013/140803 PCT/JP2013/001913 second node device as a node device located on a boundary with a different network based on said request of said second node device. [Claim 16] The communication method according to claim 15, further comprising: said first controller determining that said first node device is a node device located on a boundary with a network managed by said second controller, based on a packet incorporating an identifier of said second controller and received from said second controller; and said second controller determining that said second node device is a node device located on a boundary with a network managed by said first controller, based on a packet incorporating an identifier of said first controller and received from said first controller. [Claim 17] The communication method according to claim 15 or 16, further comprising: said first controller transmitting a packet for collecting in formation related to connections of node devices controlled by said first controller; said second controller transmitting a packet for collecting in formation related to connections of node devices controlled by said second controller; said first controller receiving from said second controller a packet for said second controller to collect connections of node devices controlled by said second controller; and said second controller receiving from said first controller a packet for said first controller to collect connections of node devices controlled by said first controller. [Claim 18] The communication method according to any one of claims 14 to 17, wherein said first and second controllers exchange information related to packets used for communications between said first and second con trollers via at least said first and second node devices. [Claim 19] The communication method according to any one of claims 14 to 18, wherein said first controller is further connected to said first node device via a first data communication link, wherein said second controller is further connected to said second node device via a second data communication link, and wherein said method further comprises: said first controller transmitting and receiving packets to be exchanged between said first and second controllers to and from said first node device via said first data communication link, and said second controller transmitting and receiving packets to be exchanged between said first and second controllers, to and from said second node device via said second data communication link. [Claim 20] The communication method according to claim any one of claims 14 to WO 2013/140803 PCT/JP2013/001913 19, further comprising: said first controller transmitting and receiving packets to be exchanged between said first and second controllers to and from said first node device via a control channel established between said first controller and said first node device; and said second controller transmitting and receiving packets to be exchanged between said first and second controllers to and from said second node device via a control channel established between said second controller and said second node device. [Claim 21] The communication method according to any one of claims 14 to 20, further comprising: said first controller setting said first node device with a processing rule for transferring a packet to be transmitted from said first controller to said second controller; said first node device transferring to said second node device a packet to be transmitted from said first controller to said second controller in accordance with the processing rule set by said first controller, said second controller setting said second node device with a processing rule for transferring a packet to be transmitted from said second controller to said first controller; and said second node device transferring to said first node device a packet to be transmitted from said second controller to said first controller in accordance with the processing rule set by said second controller. [Claim 22] The communication method according to any one of claims 14 to 21, further comprising: said first controller setting said first node device with a processing rule for transferring to said first controller a packet to be transmitted from said second controller to said first controller; when a first received packet which said first node device receives from said second node device is a packet to be transferred from said second controller to said first controller, transferring said first received packet to said first controller by said first node device in accordance with the processing rule set by said first controller, said second controller setting said second node device with a processing rule for transferring to said second controller a packet to be transmitted from said first controller to said second controller; and when a second received packet which said second node device receives from said first node device is a packet to be transferred from said first controller to said second controller, transferring said second received packet to said second controller by said second node device in accordance with the processing rule set by said second controller. [Claim 23] The communication method according to any one of claims 14 to 22, WO 2013/140803 PCT/JP2013/001913 further comprising: said first controller storing first sorting rules which correlate virtual ports of said first controller and interfaces of said first node; said first controller sorting inputted packets to any of the virtual ports of said first controller and the interfaces of said first node device in accordance with said first sorting rules; said second controller storing second sorting rules which correlate virtual ports of said second controller and interfaces of said second node; and said second controller sorting inputted packets to any of the virtual ports of said second controller and the interfaces of said second node device in ac cordance with said second sorting rules. [Claim 24] The communication method according to claim 23, further comprising: when a first input packet is inputted from a virtual port of said first controller, outputting to said first node said first input packet and an in struction to output said first input packet from an interface of said first node in accordance with said first sorting rules by said first controller; when a second input packet is inputted from an interface of said first node device, outputting said second input packet to a virtual port of said first controller in accordance with said first sorting rules by said first controller; when a third input packet is inputted from a virtual port of said second controller, outputting to said second node said third input packet and an instruction to output said third input packet from an interface of said second node in accordance with said second sorting rules by said second controller; and when a fourth input packet is inputted from an interface of said second node device, outputting said fourth input packet to a virtual port of said second controller in ac cordance with said second sorting rules by said second controller. [Claim 25] A non-transitory recording medium storing a program which when executed causes an information processing apparatus to perform an operation of one of the first and second controllers according to any one of claims 14 to 24. [Claim 26] A non-transitory recording medium storing a program which when executed causes a communication apparatus to perform an operation of one of the first and second node devices according to any one of claims 14 to 24.

Documents