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.