Sign In to Follow Application
View All Documents & Correspondence

Communication System Control Device Communication Node And Communication Method

Abstract: A communication system comprises: a plurality of communication nodes; and a control apparatus that controls packet processing of the plurality of communication nodes. The control apparatus further comprises: a virtualization unit that configures a virtual node(s) from 10 a plurality of communication nodes among the plurality of communication nodes; a control unit that sets a processing rule for a packet in at least one communication node of the plurality of communication nodes included in the virtual node(s), so that the at least one communication node executes packet processing 15 corresponding to an operation of the virtual node(s); and a path calculation unit that calculates a forwarding path of a packet, based on a virtual network topology including the virtual node(s). The plurality of communication nodes process a packet corresponding to the forwarding path, in accordance with the processing rule. Load 20 related to path calculation is reduced in the communication system.

Get Free WhatsApp Updates!
Notices, Deadlines & Correspondence

Patent Information

Application #
Filing Date
01 August 2013
Publication Number
50/2014
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

Claims

1. A communication system, comprising: a plurality of communication nodes; and a control apparatus that controls packet processing of the plurality of communication nodes, wherein 5 the control apparatus further comprises: a virtualization unit that configures a virtual node(s) from a plurality of communication nodes among the plurality of communication nodes; a control unit that sets a processing rule for a packet in at least 10 one communication node of the plurality of communication nodes included in the virtual node(s), so that the at least one communication node executes packet processing corresponding to an operation of the virtual node(s); and a path calculation unit that calculates a forwarding path of a 15 packet, based on a virtual network topology including the virtual node(s), and the plurality of communication nodes process a packet corresponding to the forwarding path, in accordance with the I processing rule.

2. The communication system according claim 1, wherein the control unit sets the processing rule in at least one of the plurality of communication nodes included in the virtual node(s), so that a packet is forwarded to a communication node corresponding to a 5 virtual port of the virtual node(s).

3. The communication system according to claim 1, wherein the control unit associates the processing rule with an identifier representing a virtual port of the virtual node(s) and sets the association in at least one of the plurality of communication nodes 5 included in the virtual node(s).

4. The communication system according to claim 3, wherein the plurality of communication nodes, in a case of receiving a packet corresponding to the identifier, process the packet in accordance with the processing rule associated with the identifier. 34

5. The communication system according to claim 3, wherein the plurality of communication nodes, in a case of receiving a packet including the identifier, process the packet in accordance with the processing rule associated with the identifier.

6. The communication system according to claim 5, wherein a communication node corresponding to the virtual port, when processing a packet including the identifier, processes the packet so that the identifier is not referred to by another communication node.

7. The communication system according to any one of claims 1 to 6, wherein the virtualization unit configures an upper level virtual node(s) from a plurality of virtual nodes, among a plurality of the virtual 5 nodes, the control unit sets a processing rule for a packet in at least one virtual node of the plurality of virtual nodes included in the upper level virtual node(s), so that the at least one virtual node executes packet processing corresponding to an operation of the upper level I 10 virtual node(s), I the path calculation unit calculates a forwarding path of a packet, based on an upper level virtual network topology including the upper level virtual node(s), and the plurality of communication nodes process a packet 15 corresponding to the forwarding path, in accordance with the processing rule.

8. A control apparatus that controls packet processing of a plurality of communication nodes, the control apparatus comprising: a virtualization unit that configures a virtual node(s) including a plurality of communication nodes among the plurality of 5 communication nodes; a control unit that sets a processing rule for a packet in at least one communication node of the plurality of communication nodes included in the virtual node(s), so that the at least one communication node executes packet processing corresponding to an operation of the 10 virtual node(s); and 35 a path calculation unit that calculates a forwarding path of a packet, based on a virtual network topology including the virtual node(s).

9. The control apparatus according to claim 8, wherein the control unit sets the processing rule in at least one of the plurality of communication nodes included in the virtual node(s), so that a packet is forwarded to a communication node corresponding to a 5 virtual port of the virtual node(s).

10. The control apparatus according to claim 8, wherein the control unit associates the processing rule with an identifier representing a virtual port of the virtual node(s) and sets the association in at least one of the plurality of communication nodes 5 included in the virtual node(s).

11. The control apparatus according to any one of claims 8 to 10, wherein the virtualization unit configures an upper level virtual node(s) from a plurality of virtual nodes, among a plurality of the virtual 5 nodes, the control unit sets a processing rule for a packet in at least one virtual node of the plurality of virtual nodes included in the upper level virtual node(s), so that the at least one virtual node executes packet processing corresponding to an operation of the upper level 10 virtual node(s), the path calculation unit calculates a forwarding path of a packet, based on the upper level virtual network topology including the upper level virtual node(s), and the plurality of communication nodes process a packet 15 corresponding to the forwarding path, in accordance with the processing rule.

12. A communication method, comprising: configuring, by a control apparatus that controls packet processing of a plurality of communication nodes, a virtual node(s) from a plurality of communication nodes among the plurality of 5 communication nodes; 36 setting a processing rule for a packet in at least one communication node of the plurality of communication nodes included in the virtual node(s), so that the at least one communication node I executes packet processing corresponding to an operation of the I 10 virtual node(s); and I calculating a forwarding path of a packet, based on a virtual network topology including the virtual node(s).

13. The communication method according to claim 12, wherein the control apparatus sets the processing rule in at least one of | the plurality of communication nodes included in the virtual node(s), so that a packet is forwarded to a communication node corresponding 5 to a virtual port of the virtual node(s).

14. The communication method according to claim 12, wherein the control apparatus associates the processing rule with an identifier representing a virtual port of the virtual node(s) and sets the association in at least one of the plurality of communication nodes 5 included in the virtual node(s).

15. The communication method according to any one of claims 12 to 14, comprising: by the control apparatus, configuring an upper level virtual node(s) from a plurality of virtual nodes, among a plurality of the I 5 virtual nodes; I setting a processing rule for a packet in at least one virtual node of the plurality of virtual nodes included in the upper level virtual node(s), so that the at least one virtual node executes packet processing corresponding to an operation of the upper level virtual 10 node(s); and calculating a forwarding path of a packet, based on the upper level virtual network topology including the upper level virtual node(s).

16. A communication node, that is used in a communication system comprising a control apparatus that controls packet processing of a plurality of communication nodes, the communication node being one communication node among the plurality of communication nodes, 37 f I . 5 wherein the control apparatus further comprises: a virtualization unit that configures a virtual node(s) from a plurality of communication nodes among the plurality of communication nodes; 10 a control unit that sets a processing rule for a packet in at least one communication node of the plurality of communication nodes included in the virtual node(s), so that the at least one communication node executes packet processing corresponding to an operation of the virtual node(s); and 15 a path calculation unit that calculates a forwarding path of a I packet, based on a virtual network topology including the virtual I node(s), and I the communication node processes a packet corresponding to the I forwarding path in accordance with the processing rule. I

17. The communication node according to claim 16, wherein I the control apparatus associates the processing rule with an I identifier representing a virtual port of the virtual node(s) and sets the association in at least one of the plurality of communication nodes 5 included in the virtual node(s), and the communication node, in a case of receiving a packet I corresponding to the identifier, processes the packet in accordance I with the processing rule associated with the identifier.

Specification

2
DESCRIPTION
[Title]
COMMUNICATION SYSTEM, CONTROL APPARATUS,
5 COMMUNICATION NODE, AND COMMUNICATION METHOD
[Technical Field]
I [0001]
(Cross-Reference to Related Application)
This application is based upon and claims the benefit of the priority of
10 Japanese patent application No. 2011-024045 filed on February 7, 2011,
the disclosure of which is incorporated herein in its entirety by
reference thereto.
The present invention relates to a communication system, a control
apparatus, a communication node, and a communication method, and in
15 particular to a communication system that virtualizes a node in a
network to forward a packet, a control apparatus that controls
communication in the communication system, a communication node,
and a communication method.
[Background]
20 [0002]
I Technology known as OpenFlow is disclosed in Non-Patent
Literatures (NPLs) 1 and 2. In OpenFlow, communication is taken as
end-to-end flow, and path control, recovery from failure, load
balancing and optimization are performed in flow units. An
25 OpenFlow switch functioning as a forwarding node is provided with a
secure channel for communication with an OpenFlow controller and
operates in accordance with a flow table for which appropriate
addition or rewriting is prescribed by the OpenFlow controller. The
flow table has definitions of sets of: rules (FlowKey, matching key)
30 for matching with packet headers, actions (Action) defining processing
content, and flow statistical information (Stats), for each flow.
[0003]
FIG. 12 shows an example of action name(s) and action
content(s) defined in Non-Patent Literature 2. OUTPUT is an action
3
to output a packet to a designated port (interface), and
SET_VLAN_VID to SET_TP_DST are actions to modify fields of a
packet header.
[0004]
5 For example, on receiving a first packet, the OpenFlow switch
searches for an entry having a rule (FlowKey) that matches header
information of the received packet, from the flow table. As a result
of the search, in a case where an entry matching the received packet is
found, the OpenFlow switch implements processing content described
10 in an action field of the entry in question, with regard to the received
packet. On the other hand, as a result of the search, in a case where
an entry matching the received packet is not found, the OpenFlow
switch forwards the received packet to the OpenFlow controller via the
secure channel, requests determination of a packet path based on
15 source and destination of the received packet, receives a flow entry
realizing this, and updates the flow table.
[0005]
Thus, in OpenFlow, fine grained path control for each flow is
possible, but flow entry configuration load increases due to increase
20 in the number of flows. Therefore, with technology disclosed in Non
Patent Literatures 1 and 2, there is a risk that the load for setting of
flow entries will become large, when application is made to a large
scale network.
[0006]
25 Non Patent Literature 3 discloses a solution strategy for this
problem. Non Patent Literature 3 describes a list of processes to be
performed in packet header parts by respective OpenFlow switches,
instead of defining an entry for each flow, with regard to a flow table
provided in a normal OpenFlow switch. In this way, the
30 abovementioned problem is solved.
[0007]
For example, as shown in FIG. 11, for each OpenFlow switch an
action where the switch may be executed is defined, and an address is
attached to each action. With regard to a packet, embedded in the
4
packet header is a series of pointers indicating addresses of actions to
be executed by the respective OpenFlow switches according to a series
of OpenFlow switches passed through. The OpenFlow switches
perform forwarding by reading the pointer series in the packet header
5 and calling respective actions to be executed thereby. According to
this method, it is possible to forward packets without setting flow
entries when a packet is received, and it is possible to reduce delay
upon forwarding.
[0008]
10 On the other hand, Patent Literature (PTL) 1 describes
technology related to packet forwarding in a large scale network.
Patent Literature 1 describes a route calculation method of high
calculation efficiency, in a large scale network formed by a plurality
of domains. The method described in Patent Literature 1 defines the
15 domains hierarchically, and deploys a PCE (Path Calculation Element)
in the respective hierarchical domains. Route calculation is
performed for each layer; an upper level PCE determines input and
output nodes for lower level domains; the route calculation is executed
in parallel by requesting the lower level domains to perform
20 calculation tasks; and the route calculation is provided in a network
formed by a plurality of domains.
[Citation List]
[Patent Literature]
[0009]
25 [PTL 1]
Japanese Patent Kohyo Publication No. JP2009-5391 56A
[Non Patent Literature]
[0010]
[NPL 1]
30 Nick McKeown, and seven others, "OpenFlow: Enabling Innovation in
Campus Networks," [online] [search conducted February 7, 2011],
Internet.
[NPL 2]
5
"OpenFlow Switch Specification" Version 1.0.0. (Wire Protocol 0x01)
[search conducted February 7, 2011],
Internet.
5 [NPL 3]
Chiba, Yasunobu, and two others, "A Proposal of Flow Entry Reduction
Scheme for Flow-based Networks and Its Implementation on
OpenFlow-based Network," The Institute of Electronics, Information
and Communication Engineers, Technical Report, Vol. 109, No. 448,
10 NS2009-163, pp. 7-12.
[Summary]
[Technical Problem]
[0011]
The respective disclosures of the abovementioned Patent
15 Literature and Non-Patent Literature are incorporated herein by
reference thereto. The following analysis is given by the inventors of
the present invention.
[0012]
According to a method described in Non Patent Literature 3, in
20 a case of application to a network handling a high proportion of very
long communication paths as in a wide area network, a new problem
occurs due to increase in packet header length. In a case where
packet headers have descriptions of processing pointers for all
switches to be passed through, the packet header lengths become large,
25 leading to a negative effect on communication efficiency. In a case
of limiting packet header length to less than or equal to a fixed value,
processing is necessary to describe, in the packet header, process
pointers as far as an intermediate part of the communication path, and
to re-describe, in the path header, process pointers corresponding to
30 the remaining path. Therefore, since the process pointers are
re-described in the packet header, communication traffic between a
control apparatus and switches is generated, and load on the switches
and control apparatus increases.
[0013]
6
On the other hand, technology described in Patent Literature 1
can be applied to a system that controls communication in units of
flow in a large scale network. However, since there is a possibility
of route calculation requests increasing according to the number of
5 flows, PCE load increases in a large scale network controlling
communication in units of flow. Since route setting may be done for
every flow, there is a problem in that the number of flow entries
becomes very large. Furthermore, each time a new flow that is a
control target is generated, path calculation over all hierarchical
10 domains is executed. That is, every time a new flow is generated,
path re-calculation is necessary with granularity of physical nodes
(that is, communication nodes) that configure the network. In a case
of path calculation with granularity of physical nodes, there is a
problem in that entities that are path calculation targets increase in
15 number, and calculation load increases.
[0014]
Accordingly, in a large scale network, enabling execution of
flow control at high speed and with low load is a problem. It is an
object of the present invention to provide a communication system, a
20 control apparatus, a communication node and a communication method
that solve the problem in question.
[Solution to Problem]
[0015]
According to a first aspect of the present invention, there is
25 provided a communication system, comprising: a plurality of
communication nodes; and a control apparatus that controls packet
processing of the plurality of communication nodes. The control
apparatus further comprises: a virtualization unit that configures a
virtual node(s) from a plurality of communication nodes among the
30 plurality of communication nodes; a control unit that sets a processing
rule for a packet in at least one communication node of the plurality
of communication nodes included in the virtual node(s), so that the at
least one communication node executes packet processing
corresponding to an operation of the virtual node(s); and a path
7
calculation unit that calculates a forwarding path(s) of a packet, based
on a virtual network topology including the virtual node(s). The
plurality of communication nodes process a packet corresponding to
the forwarding path, in accordance with the processing rule.
5 [0016]
According to a second aspect of the present invention, there is
provided a control apparatus that controls packet processing of a
plurality of communication nodes. The control apparatus comprises:
a virtualization unit that configures a virtual node(s) including a
10 plurality of communication nodes among the plurality of
communication nodes; a control unit that sets a processing rule for a
packet in at least one communication node of the plurality of
communication nodes included in the virtual node(s), so that the at
least one communication node executes packet processing
15 corresponding to an operation of the virtual node(s); and a path
calculation unit that calculates a forwarding path of a packet, based on
a virtual network topology including the virtual node(s).
[0017]
According to a third aspect of the present invention, there is
20 provided a communication method, comprising: configuring, by a
control apparatus that controls packet processing of a plurality of
communication nodes, a virtual node(s) from a plurality of
communication nodes among the plurality of communication nodes;
setting a processing rule for a packet in at least one communication
25 node of the plurality of communication nodes included in the virtual
node(s), so that the at least one communication node executes packet
processing corresponding to an operation of the virtual node(s); and
calculating a forwarding path of a packet, based on a virtual network
topology including the virtual node(s).
30 [0018]
According to a fourth aspect of the present invention, there is
provided a communication node, that is used in a communication
system comprising a control apparatus that controls packet processing
of a plurality of communication nodes. The communication node is
8
one communication node among the plurality of communication nodes.
The control apparatus further comprises: a virtualization unit that
configures a virtual node(s) from a plurality of communication nodes
among the plurality of communication nodes; a control unit that sets a
5 processing rule for a packet in at least one communication node of the
plurality of communication nodes included in the virtual node(s), so
that the at least one communication node executes packet processing
corresponding to an operation of the virtual node(s); and a path
calculation unit that calculates a forwarding path of a packet, based on
10 a virtual network topology including the virtual node(s). The
communication node processes a packet corresponding to the
forwarding path in accordance with the processing rule.
[Advantageous Effects of Invention]
[0019]
15 According to the communication system, the control apparatus,
the communication node and the communication method of the present
invention, it is possible to execute flow control at high speed and with
low load in a large scale network.
[Brief Description of the Drawings]
20 [0020]
[Fig. 1]
FIG. 1 is a diagram describing an outline of the present invention.
[FIG. 2]
Fig. 2 is a diagram showing a configuration example of a
25 communication system according to an exemplary embodiment.
[FIG. 3]
Fig. 3 is a diagram showing an example of a table that stores
processing rules to be set in a communication node.
[FIG. 4]
30 Fig. 4 is a block diagram representing a configuration example of a
control apparatus in an exemplary embodiment.
[FIG. 5]
Fig. 5 is a diagram for describing an operational example of the
exemplary embodiment.
9
[FIG. 6]
Fig. 6 is a diagram for describing an operational example of the
exemplary embodiment.
[FIG. 7]
5 Fig. 7 is a diagram for describing an operational example of the
exemplary embodiment.
[FIG. 8]
Fig. 8 is a diagram for describing an operational example of the
exemplary embodiment.
10 [FIG. 9]
Fig. 9 is a diagram for describing an operational example of the
exemplary embodiment.
[FIG. 10]
Fig. 10 is a diagram representing an operational outline of the
15 exemplary embodiment.
[FIG. 11]
Fig. 11 is a diagram showing a configuration example of a packet
transmitted when communication is performed between host! and host2
in the exemplary embodiment.
20 [FIG. 12]
Fig. 12 is a diagram showing action name and action content defined
in Non Patent Literature 2.
[Description of Embodiments]
[0021]
25 First, an outline of the present invention is described, making
reference to FIG. 1. It is to be noted that reference symbols in the
drawings attached to this outline are examples used solely in order to
aid understanding and are not intended to limit the present invention
to modes shown in the drawings.
30 [0022]
Communication nodes 1 to 3 process packets in accordance with
control by a control apparatus 10. The control apparatus 10 controls
forwarding of packets by the respective communication nodes by
setting a processing rule prescribing a packet processing method, in
10
the communication nodes 1 to 3.
[0023]
The control apparatus 10 virtualizes the communication nodes 1
to 3 that are controlled by the control apparatus 10, and generates a
5 virtual node 100. The control apparatus 10 assigns a virtual port
number to a link by which the virtual node 100 is connected to another
virtual node. The virtual node 100 forwards a packet that includes an
identifier corresponding to the virtual port number, from the link with
the virtual port number that corresponds to the identifier. In FIG. 1,
10 the virtual port number "32" is assigned to the virtual node 100.
[0024]
The control apparatus 10 sets a processing rule in each
communication node so that the communication node performs an
operation corresponding to packet forwarding by the virtual node 100.
15 In the example of FIG. 1, the control apparatus 10 sets a processing
rule prescribing packet processing (for example, a process of
forwarding a packet to a prescribed port, or the like) corresponding to
a packet corresponding to the virtual port number "32," in each
communication node.
20 [0025]
After setting the processing rule, a processing device
(communication nodes 1 to 3) calculates a path for packet forwarding,
based on a virtualized network topology. With regard to topology
according to a virtualized domain, since the number of hops and
25 management entities is less than with a topology configured by
(including) the original communication nodes, path calculation load is
reduced. The control apparatus 10 sets various communication paths
for each of various types of packet communication (that is, packet
flows). If a virtualized network is once built, the control apparatus
30 10 need not perform setting of processing rules and path calculation
giving consideration to the real topology according to the respective
communication nodes, even when a new flow requiring setting of a
forwarding path is generated. This is because processing rules
corresponding to the virtualized network topology are set for
11
communication nodes.
[0026]
The following modes are possible in the present invention.
(Mode 1)
5 A communication system may be a communication system according to
the abovementioned first aspect.
(Mode 2)
The control unit may set the processing rule in at least one of the
plurality of communication nodes included in the virtual node(s), so
10 that a packet is forwarded to a communication node corresponding to a
virtual port of the virtual node(s).
(Mode 3)
The control unit may associate the processing rule with an identifier
representing a virtual port of the virtual node(s) and set the
15 association in at least one of the plurality of communication nodes
included in the virtual node(s).
(Mode 4)
The plurality of communication nodes, in a case of receiving a packet
corresponding to the identifier, may process the packet in accordance
20 with the processing rule associated with the identifier.
(Mode 5)
The plurality of communication nodes, in a case of receiving a packet
including the identifier, may process the packet in accordance with the
processing rule associated with the identifier.
25 (Mode 6)
A communication node corresponding to the virtual port, when
processing a packet including the identifier, may process the packet so
that the identifier is not referred to by another communication node.
(Mode 7)
30 A control apparatus may be a control apparatus according to the
abovementioned second aspect.
(Mode 8)
The control unit may set the processing rule in at least one of the
plurality of communication nodes included in the virtual node(s), so
12
that a packet is forwarded to a communication node corresponding to a
virtual port of the virtual node(s).
(Mode 9)
The control unit may associate the processing rule with an identifier
5 representing a virtual port of the virtual node(s) and set the
association in at least one of the plurality of communication nodes
included in the virtual node(s).
(Mode 10)
A communication method may be a communication method according to
10 the abovementioned third aspect.
(Mode 11)
The communication method may include: by the plurality of
communication nodes, processing a packet corresponding to the
forwarding path, in accordance with the processing rule.
15 (Mode 12)
The communication method may include: by the control apparatus,
setting the processing rule in at least one of the plurality of
communication nodes included in the virtual node(s), so that a packet
is forwarded to a communication node corresponding to a virtual port
20 of the virtual node(s).
(Mode 13)
The communication method may include: by the control apparatus,
associating the processing rule with an identifier representing a
virtual port of the virtual node(s) and setting the association in at
25 least one of the plurality of communication nodes included in the
virtual node(s).
(Mode 14)
The communication method may comprise: by the plurality of
communication nodes, in a case of receiving a packet corresponding to
30 the identifier, processing the packet in accordance with the processing
rule associated with the identifier. I
(Mode 15)
The communication method may comprise: by the plurality of
communication nodes, in a case of receiving a packet including the
13
identifier, processing the packet in accordance with the processing
rule associated with the identifier.
(Mode 16)
The communication method may comprise: by the communication node
! 5 corresponding to the virtual port, when processing a packet including
the identifier, processing the packet so that the identifier is not
referred to by another communication node.
[0027]
(Exemplary Embodiment)
10 A description is given concerning a communication system according
an exemplary embodiment, making reference to the drawings. FIG. 2
is a diagram showing a configuration of the communication system
according the present exemplary embodiment and a virtual network
provided by the present exemplary embodiment.
15 [0028]
With reference to FIG. 2, Nl to N19 represent communication
nodes, and CI to C7 represent control apparatuses that control the
communication nodes. Each control apparatus sets a processing rule
determining a processing method of a packet belonging to a certain
20 flow, in a communication node controlled by the control apparatus.
Each communication node holds the processing rule that has been set
by the control apparatus, in a table. Each communication node
searches the table for a processing rule corresponding to a received
packet and executes processing (packet forwarding or the like) of the
25 received packet according to the corresponding processing rule. In a I
case where a processing rule corresponding to the received packet is I
not present in the table, the communication node makes a request to i
the control apparatus to set a processing rule corresponding to the I
received packet. By an operational example as described above, the I
30 control apparatus performs centralized control of communication nodes I
under its supervision.
[0029]
With reference to FIG. 2, the communication system is provided
with communication nodes Nl to N3, N4 to N5, N6 to N8, N9 to N i l,
14
N12 to N14, N15 to N16, and N17 to N19, and control apparatuses CI
to C7 that control these. The communication nodes are connected by
links represented by full lines, and are included in domains Dl, D2,
D3, D4, D5, D6 and D7, respectively. Domain boundaries are shown
5 by broken lines in FIG. 2.
[0030]
Domains Dl to D3, D4 to D5, and D6 to D7 are included in
respective upper level domains: D8, D9 and DIO.
[0031]
10 Control of the upper level domains D8, D9 and DIO is performed
by the respective control apparatuses (CI to C7) included in lower
level domains.
[0032]
The respective control apparatuses (CI to C7) virtualize
15 domains they manage as domain nodes included in the upper level
domains. That is, the domain nodes function as virtual nodes. For
example, in FIG. 2 the control apparatus CI virtualizes the domain Dl,
which includes the communication nodes Nl to N3, as a domain node
DNl of the upper level domain D8. In other words, the control
20 apparatus CI virtualizes the domain Dl, which includes the
communication nodes Nl to N3, as one virtual communication node
(DNl). The domain nodes DNl to DNIO respective correspond to the
domains Dl to DIO.
[0033]
25 Virtualization is performed by setting in the communication
nodes a processing rule to forward packets to links (egress links)
corresponding to respective domain exits. For example, in domain Dl,
an egress link forms a link connecting the communication nodes N3
and N4. In the processing rule, a unique identifier is assigned as a
30 virtual port number of a domain node, to each egress link of a domain.
By making a correspondence between a virtual port number and a
processing rule, it is possible to output an input packet from an
arbitrary node to outside a domain by specifying a port number that is
common in the domain. That is, by a communication node processing
15
a packet in accordance with a processing rule corresponding to an
identifier, virtual packet forwarding by a domain node is realized. In
a case of forwarding a packet from a prescribed virtual port of a
domain node, each communication node belonging to the domain node
5 forwards the packet directed to an egress link, in accordance with a
processing rule corresponding to the identifier of the virtual port.
Therefore, virtually, the packet is forwarded from the virtual port of
the domain node.
[0034]
10 The control apparatus virtualizes the communication node of the
domain to a virtualized communication node (domain node).
Therefore, the egress link of the domain corresponds to the virtual
port in the domain node. The domain node configured by
virtualization executes communication between domain nodes by
15 forwarding a packet to the virtual port. In reality, communication
nodes corresponding to respective domain nodes forward packets, but
the control apparatus virtualizes packet forwarding by a
communication node to packet forwarding by a domain node.
I [0035]
20 The control apparatus uses a processing rule in order to
virtualize packet forwarding by a communication node to packet
forwarding by a domain node. In order to forward a packet from a
virtual port of a virtualized domain node, the control apparatus sets a
processing rule prescribing a process for forwarding the packet
25 towards an egress link of a domain, in a communication node under its
supervision.
[0036]
For example, a domain node is virtualized by assigning a virtual
port number 50 to an egress link of a certain domain. FIG. 3 shows
30 two types of processing rule table to be set in a communication node I
included in the domain for virtualization to a domain node. The i
processing rule table A represents a processing rule to be set in a
communication node that does not have a domain egress link. On the
other hand, the processing rule table B represents a processing rule to
16
be set in a communication node that has a domain egress link.
[0037]
An identifier array relates to an identifier group associated with
a processing rule, stored in the header of a packet received by a
5 communication node. A hop counter is a counter used for identifying
an identifier to be referred to, in an identifier array stored in the
header of a packet received by a communication node. The identifier
and the hop counter together form a condition for matching a packet
header.
10 [0038]
For example, in a case of receiving a packet in which a port
number "50" is set as an identifier and "0" is set as a counter, the
communication node processes the packet in accordance with an entry
of the first line of the processing rule table A. In a case where the
15 header of a received packet coincides with a matching condition,
content stored in the "processing" field is a process to be executed by
the communication node for the received packet. Here, a means for
identifying an identifier by the communication node is a hop counter,
but other means are also possible, such as not installing a hop counter,
20 but always referring to the top identifier, and deleting an identifier
that has already been referred to.
[0039]
A communication node in which a processing rule of the
processing rule table A is set, is a communication node that does not
25 have an egress link. When a packet including the virtual port number
50 in a processing rule line in a packet header is inputted to a
communication node, the processing rule of the processing rule table A
is a rule to execute a process for outputting to a port number towards
a domain egress link. Port numbers described in a processing field of
30 FIG. 3 differ according to communication node, and represent output
ports used in forwarding from respective communication nodes to i
egress links. i
[0040]
A communication node in which a processing rule of the
17
*
, processing rule table B is set, is a communication node that has an
egress link. In a processing rule in a communication node having an
egress link, in a case where a packet having a packet header that
coincides with a matching condition is inputted, a hop counter is
5 incremented, and thereafter output to an egress link is performed. By
this processing, a packet that has reached a communication node that
is an output destination of an egress link is processed by referring to
the next identifier.
[0041]
10 By setting the processing rule as described above, when an
arbitrary communication node within a domain receives a packet
containing an identifier "50" in a packet header, the packet is
forwarded with a single identifier until outputted to an egress link
corresponding to the identifier "50," and it is possible to specify
15 forwarding to outside the domain by the single identifier.
[0042]
FIG. 4 is a block diagram showing an example of a configuration

of the control apparatus. Referring to FIG. 4, the control apparatus is
provided with a node communication unit 11, a control message
20 processing unit 12, a flow entry management unit 13, a domain
management unit 14, and a virtualization management unit 15. §
[0043]
The node communication unit 11 communicates with a
communication node. The control apparatus, when performing
25 virtualization, may communicate with another control apparatus. In
this case, the control apparatus communicates with the other control I
apparatus using the node communication unit 11. The control
message processing unit 12 performs processing by converting control
content to a communication node, to a control message, or by
30 analyzing a control message from the communication node. The flow
entry management unit 13 generates and manages a processing rule
related to packet processing in the communication node. The domain
management unit 14 controls a domain it manages. The virtualization
management unit 15 controls a plurality of lower level domains as one
18
upper level domain.
[0044]
A description is given concerning component elements of the
domain management unit 14. With reference to FIG. 4, the domain
5 management unit 14 is provided with a domain topology management
unit 141, a path tree calculation unit 142, and a processing rule
calculation unit 143.
[0045]
The domain topology management unit 141 manages topology
10 information of the lowest level domains Dl to D7 (that is, domains
configured by communication nodes). The path tree calculation unit
142 calculates a path within the respective lowest level domains, that
is, a path towards a communication node corresponding to an egress
link, based on topology of the lowest level domains. The processing
15 rule calculation unit 143 generates a processing rule from a
calculation result of the path tree calculation unit 142.
[0046]
I
Next, a description is given concerning respective component
elements of the virtualization management unit 15. With reference to
20 FIG. 4, the virtualization management unit 15 is provided with a
virtual topology management unit 151, a virtual port number
management unit 152, a path tree calculation unit 153, and a
processing rule setting request unit 154.
[0047]
25 The virtual topology management unit 151 manages virtual
topology configured from respective hierarchical virtualized domains
or connection relationships of respective domain nodes. When a
certain domain is virtualized as a domain node, the virtual port i
number management unit 152 assigns a virtual port number to a link
30 port connected to another domain node. The virtual port number |
management unit 152 has a database for assigning the virtual port
numbers. The path tree calculation unit 153 calculates a path within
a domain, that is, a path towards a domain node corresponding to a i
domain egress link port connected to another domain. The §
Ii
19
abovementioned domain egress link port represents a virtual port of a
domain node corresponding to a link that is an exit to another domain,
among domain nodes within the domain. The processing rule setting
request unit 154 makes a request to the domain management unit 14 to
5 set a processing rule in accordance with a virtual port number
specified by the virtual port number management unit 152 and a path
tree calculated by the path tree calculation unit 153 corresponding
thereto.
[0048]
10 As described above, the control apparatus sets a processing rule
in the communication node based on a calculation result of the path
tree calculation units 142 and 153. This operation is executed, for
example, when the communication system is initialized. The control
apparatus sets processing rules corresponding to respective domains
15 built by hierarchical virtualization of the network, in communication i
nodes. Thus, after setting a processing rule, a processing device may
perform calculation only, based on topology according to the
virtualized domain, with regard to a path for packet forwarding. With
respect to topology according to the virtualized domain, since the
20 number of hops and management entities is less than with a topology
configured by the communication nodes, path calculation load is
reduced. Furthermore, since the virtualized topology has fewer hops
than a topology according to the communication nodes, it is possible
to reduce the number of queries to set a path to the control apparatus
25 during packet forwarding. Moreover, since the control apparatus can
control a packet forwarding path according to topology configured
hierarchically, it is possible to flexibly control granularity of the
forwarding path.
[0049]
30 Next, a description is given of an operational example in which
the control apparatus virtualizes communication nodes and builds a
virtual network.
[0050]
i I
FIG. 5 shows an operational example in which a domain ;
i
20
, configured by communication nodes is virtualized to a domain node.
N#l to N#8 belong to a domain under supervision of the control
apparatus. N#l to N#4 have "E" attached as a prefix. This "E"
indicates a communication node corresponding to an external link of
5 the domain. The external link indicates a link by which the domain is
connected to another domain, that is, an egress link. It is to be noted
that communication nodes N#l to N#8 are used in order to describe the
operational example and have no relation with communication nodes
Nl to N19 shown in FIG. 2 and the like.
10 [0051]
Numerals enclosed in squares (thick full lines) are virtual port
numbers attached to the domain node. Other numerals are port
numbers of the communication node N#l.
[0052]
15 In the example shown in FIG. 5, the control apparatus that
controls the communication nodes of the domain virtualizes the
domain configured by the communication nodes N#l to N#8, and
generates a domain node having virtual port numbers 32 to 35. A
detailed description of this operation is given below.
20 [0053]
The virtual topology management unit 151 retrieves a link
(external link) to be used in connecting with another domain and a
port thereof, in the virtualized domain. The retrieved external link
and port correspond to a link and port of a domain node generated by
25 virtualization of a domain. In the example of FIG. 5, the virtual
topology management unit 151 recognizes a link of each
communication node of the communication nodes EN#1 to EN#4 as an
external link.
[0054]
30 The virtual port number management unit 152 assigns a new
virtual port number to the retrieved external link. The virtual port
number management unit 152 retrieves the new virtual port number
from a port number DB. It is to be noted that the port number DB
may have content that is in common with another domain. In this
i
21
case, the common port number DB is formed by exchanging
information among control apparatuses managing respective domains.
The virtual port number is a virtual port number of a domain node
generated by v i r t u a l i z a t i o n . In order to assign a unique virtual port
5 number, the virtual port number management unit 152 performs
assignment from unused virtual port numbers.
[0055]
The path tree c a l c u l a t i o n unit 153 c a l c u l a t e s a path based on a
domain node belonging to a v i r t u a l i z e d domain, in order to realize
10 packet forwarding by a domain node generated by v i r t u a l i z a t i o n.
[0056]
A d e s c r i p t i o n is given concerning path c a l c u l a t i o n by the path
tree c a l c u l a t i o n unit 153, making reference to FIG. 6.
[0057]
15 For example, a description is given concerning a case of
c a l c u l a t i n g a path corresponding to a packet to be outputted to a
virtual port whose virtual port number is "32." The path tree
c a l c u l a t i o n unit 153 performs calculation so that the communication
node N # l , which corresponds to an egress link to which the virtual
20 port number "32" is assigned, forms the root of a path tree. Here, the
virtual port number "32" is assigned to a link corresponding to N#l,
and an upward path tree directed towards the root node (N#l) from
leaf nodes (N#2, N#3, N#4) is c a l c u l a t e d as shown in FIG. 6.
[0058]
25 For a packet to be outputted to the virtual port whose virtual
port number is "32," in a case of forwarding from N#2 to N#l,
r e f e r r i n g to the path tree a path is calculated in which the packet is
forwarded in the sequence of port number 3 of N#2, port number 4 of
N#6, port number 5 of N#5, and port number 5 of N # l . With regard
30 to the virtual port number "32," other paths are calculated in the same
way. A similar calculation method is used also for virtual port
numbers "33" to " 3 5 ."
[0059] I
j
Based on a result of c a l c u l a t i o n by the path tree c a l c u l a t i o n unit i
i
I
I
22
153, the processing rule setting request unit 154 requests the domain
management unit 14 to set a processing rule in a communication node.
[0060]
According to the request from the processing rule setting
5 request unit 154, the domain management unit 14 sets a processing
rule in the communication node. For example, based on a calculation
result of the path tree calculation unit 153, a processing rule is set in
N#2, prescribing forwarding to port number 3 a packet whose
identifier shows the virtual port number "32." The domain
10 management unit 14 sets a processing rule in N#6, prescribing
forwarding to port number 4 a packet whose identifier shows the
virtual port number "32." The domain management unit 14 sets a
processing rule in N#5, prescribing forwarding to port number 5 a
packet whose identifier shows the virtual port number "32." The
15 domain management unit 14 sets a processing rule in EN#1 that
corresponds to an external link, prescribing forwarding to port number
5 a packet whose identifier shows the virtual port number "32," and
incrementing (or decrementing) a count value contained in the packet.
The domain management unit 14 executes setting of the processing
20 rule corresponding to the virtual port number "32" in another
communication node also within the domain, by a similar procedure.
The domain management unit 14 executes setting of a processing rule
corresponding to other virtual port numbers "33" to "35" in a
communication node within the domain, by a similar procedure.
25 [0061]
By the above operation, the control apparatus generates a
domain node by virtualization of communication nodes of a domain.
[0062]
Next, referring to FIG. 7, a description is given of an
30 operational example of further virtualization of a domain configured
from domain nodes generated by virtualization of communication
nodes, and generating an upper level domain node.
[0063] I
l
Among domain nodes belonging to the domain, for example one j
i
ft
23
, domain node is a representative domain node, and processing to
generate an upper level domain node is executed. In the example of
FIG. 7, domain node 8 is the representative domain node. It is to be
i
noted that it is also possible to not select a representative domain
5 node, but to execute processing to generate an upper level domain
node by collaboration of respective control apparatuses corresponding
to respective domain nodes.
[0064]
Operation of the virtual topology management unit 151, the
10 virtual port number management unit 152, and the path tree calculation
unit 153 of the control apparatus of the representative domain node is
the same as content described with reference to FIG. 5 and FIG. 6, and
a description is omitted. However, with regard to a virtual port
number assigned by the virtual port number management unit 152, a
15 unique port number is used by all domain nodes belonging to this
domain.
[0065]
The path tree calculation unit 153 calculates respective paths to
each external link (in FIG. 7, links to which virtual port numbers "40"
20 to "43" are assigned) of the domain. A virtual port number of each
domain node is detected, corresponding to respective paths to the
respective external links, from paths calculated by the path tree
calculation unit 153. As shown in FIG. 8, a control apparatus of the
representative domain node 8 requests control apparatuses
25 corresponding to other domain nodes to calculate a path corresponding
to the detected virtual port numbers and to set a processing rule
corresponding to the calculated path (broken line arrow in FIG. 8).
[0066]
For example, referring to FIG. 8, a packet to be outputted from
30 an external link with the virtual port number "40" is forwarded in the
order of virtual port number 30 of domain node 2, virtual port number
36 of domain node 6, virtual port number 32 of domain node 5, and
1
virtual port number 31 of domain node 1. In this example, the j
control apparatus of the representative domain node 8 requests a i
i
24
control apparatus corresponding to the domain node 2 to calculate a
path to the virtual port number 30 by a path within a domain to which
the domain node 2 belongs. The path calculation by the control
apparatus of the domain node 2 is similar to a method described with
5 reference to FIG. 5 and FIG. 6. The control apparatus corresponding
to the domain node 2 sets a processing rule corresponding to the
calculated path in each communication node by association with the
virtual port number "40." That is, the control apparatus I
corresponding to the domain node 2 sets a processing rule for
10 execution with respect to a packet corresponding to the virtual port
number "40," in each communication node. The virtual port number i
"40" is a virtual port number of an upper level domain node generated
by virtualization. Therefore, the communication node within the
domain to which the domain node 2 belongs can execute an operation
15 corresponding to the virtual port number "40" of the upper level
domain node. The control apparatus of the representative domain
node 8 makes a similar request to the control apparatus of another
domain node. The control apparatus that receives the request sets in
the communication node a processing rule corresponding to the
20 respective virtual port numbers "40" to "43" of the upper level domain
node.
[0067]
Next, referring to FIG. 9, a description is given of an
operational example of further virtualization of an upper level domain
25 node generated by virtualization, and of generating a higher second
upper level domain node.
[0068]
Among the domain nodes belonging to domain A, for example,
one domain node is a representative upper level domain node, and
30 executes processing to generate a second upper level domain node. In
FIG. 9, domain node 8 is the representative upper level domain node.
It is to be noted that it is also possible to not select a representative
upper level domain node, but to execute processing to generate the
j
second upper level domain node by collaboration of respective control i
i
I
i I
25
apparatuses corresponding to respective domain nodes.
[0069]
Operation of the virtual topology management unit 151, the
virtual port number management unit 152, and the path tree calculation
5 unit 153 of the control apparatus of the representative upper level
domain node 8 is the same as content described with reference to FIG.
5 and FIG. 6, and a description is omitted. The control apparatus of
the representative upper level domain node 8 virtualizes the domain A,
and generates the second upper level domain node having virtual port
10 numbers "50" to "53."
[0070]
The path tree calculation unit 153 calculates respective paths to
each external link (in FIG. 9, links to which virtual port numbers "50"
to "53" are assigned) of the domain A. A virtual port number of each
15 upper level domain node is detected, corresponding to respective paths
to the respective external links, by the path tree calculation unit 153.
The control apparatus of the representative upper level domain node 8
requests the virtual port numbers of the detected upper level domain
nodes and calculation of a path corresponding to the virtual port
20 numbers thereof, with respect to a control apparatus corresponding to
another domain node. It is to be noted that a case where the
respective upper level domain nodes are controlled by one control
apparatus and a case where control is by a plurality of control
apparatuses may be considered. In the case where the upper level
25 domain nodes are controlled by a plurality of control apparatuses, the
control apparatus of the representative upper level domain node 8
sends a request to the plurality of control apparatuses. FIG. 9 shows
an example where the control apparatus of the upper level domain node
8 makes a request to the control apparatus of the upper level domain
30 node 6. In FIG. 9, an operation where the control apparatus of the
upper level domain node 8 makes a request to another upper level
domain node is omitted. Below, a description is given exemplifying a
case where the control apparatus of the representative upper level
i
domain node 8 sends a request to the upper level domain node 6. The I I I
I
26
control apparatus of the representative upper level domain node 8
sends a request similar to the description below, to the control
apparatus corresponding to another upper level domain node. It is to
be noted that this request is sent for each of the respective virtual port
5 numbers "50" to "53" of the second upper level domain node generated
by virtualization.
[0071]
The control apparatus of the representative upper level domain
node 8 calculates that the virtual port number of the upper level
10 domain node is "42," corresponding to a path to the virtual port
number "50" of the second upper level domain node generated by
virtualization. The control apparatus of the representative domain
node 8 sends the calculation of the path corresponding to the virtual
port number "42" to a control apparatus corresponding to the upper
15 level domain node 6,
[0072]
The control apparatus corresponding to the upper level domain
node 6 that receives the request confirms that the upper level domain
node 6 has generated the domain B to which the domain nodes 1 to 4
20 belong, by virtualization. Therefore, the control apparatus
recognizes that configuration of the domain B is by virtualized domain
nodes, and is not a domain configured by the communication nodes.
In this case, the control apparatus does not set a processing rule
corresponding to a request from the control apparatus of the
25 representative upper level domain node 8 in the communication node,
but sends a request for setting a processing rule to a lower level
control apparatus.
[0073]
Among the domain nodes 1 to 4 belonging to the domain B, the
30 control apparatus corresponding to the representative domain node 2
calculates a path to the virtual port number "42" corresponding to an
external link of the domain B. The path calculation method is similar
to the method described with reference to FIG. 5 and FIG. 6, and a
description thereof is omitted. The control apparatus of the j
I I
i
s
I I
I
27
representative domain node 2 detects a virtual port number of each
domain node corresponding to the path to the virtual port number "42."
The control apparatus of the representative domain node 2 requests the
virtual port numbers of the respective domain node that are detected
5 and calculation of the path corresponding to the virtual port numbers,
with respect to a control apparatus corresponding to another domain
node. For example, the control apparatus of the representative
domain node 2 detects that a virtual port number "32" of the domain
node 3 is a virtual port corresponding to the path to the virtual port
10 number "42." The control apparatus of the representative domain
node 2 requests the virtual port numbers of the detected domain nodes
and calculation of the path corresponding to the virtual port numbers
thereof, with respect to a control apparatus corresponding to the
domain node 3. It is to be noted that the control apparatus of the
15 representative domain node 2 includes in the request a virtual port
number "50" of the second upper level domain node, for sending.
[0074]
When the control apparatus of the domain node 3 receives the
request, a path corresponding to the virtual port number "32" is
20 calculated. The path calculation method is similar to the method
described with reference to FIG. 5 and FIG. 6, and a description
thereof is omitted. The control apparatus of the domain node 3
recognizes that the domain node 3 is generated by virtualization of the
communication nodes N#l to N#3. Therefore, the control apparatus
25 of the domain node 3 detects port numbers of the communication nodes
corresponding to the calculated path, calculates a processing rule
based on the detected port numbers, and performs setting with respect
to each communication node. It is to be noted that the control
apparatus of the domain node 3 performs setting by associating a
30 processing rule to be set in a communication node with the virtual port
number "50" of the second upper level domain node. For example, in
FIG. 9, the control apparatus sets a processing rule in N#3, prescribing |
I
that a packet corresponding to the virtual port number "50" be sent j
i
from the port number 5. The control apparatus sets a processing rule j
j
1i
28
w
I , in EN#1 prescribing that a packet corresponding to the virtual port
number "50" be sent from port number 3, and that a counter value
contained in the packet be incremented (or decremented). By a
processing rule corresponding to a virtual port number of the second
5 upper level node being set in each communication node, it is possible
to implement virtual operation by the second upper level domain node
by operation of communication nodes.
[0075]
A hierarchical virtualized network is built by repeating
10 operations described in FIG. 5 to FIG. 9, as above.
[0076]
The processing device calculates, as a path for packet
forwarding, a packet forwarding path based on virtualized network
topology. With regard to topology according to the virtualized
15 domain, since the number of hops and management entities is less than
with a topology configured by the communication nodes, the path
calculation load is reduced. It is to be noted that the hierarchical
virtualized network topology, for example, is common to a plurality of
control apparatuses, and the respective control apparatuses can
20 calculate a packet path based on the hierarchical virtualized network I
topology. A control apparatus that supervises the plurality of control
apparatuses may manage the hierarchical virtualized network topology,
calculate packet paths based on topology information thereof, and
support packet forwarding by the calculated paths for each of the
25 control apparatuses.
[0077]
A description is given of an example of a packet forwarding
operation after the virtualized network has been built, making
reference to FIG. 10 and FIG. 11.
30 [0078]
P50, P51 and P35 in FIG. 10 indicate some virtual port numbers
assigned as output ports of domain nodes, and P3 and PI indicate some
real port numbers of a communication node.
[0079]
29
»
A communication system in FIG. 10 is virtualized in a 3-layer
network.
[0080]
Hosts that perform communication are indicted by hostl and
5 host2.
[0081]
When a packet is transmitted from hostl to host2, the packet is
inputted to communication node Nl. On receiving the new packet,
communication node Nl makes a query regarding an identifier to be
10 attached to the packet, to the control apparatus CI. Here, a method is
described in which the communication node makes a query regarding
the identifier to be attached to the packet, to the control apparatus,
and the communication node attaches the identifier to the packet.
However, a method may also be used where the host makes a query
15 regarding the identifier to be attached to the packet, to any control
apparatus among the control apparatuses CI to C7. The host may
obtain the topology from any among the control apparatuses CI to C7,
a path may be calculated in accordance with a policy thereof, and the
identifier may be calculated. A server may be provided to notify the
20 identifier to the host.
[0082]
The control apparatus calculates a path used in communication
using 3 layer topology. At this time, it is possible to select the
topology layer used in the calculation for each hop, and flexible path I
25 selection is possible.
[0083]
The control apparatus calculates an identifier to be attached to a
packet, based on the calculated path. An output port in a node in
each layer has this identifier.
30 [0084]
Communication node Nl attaches the identifier received from
the control apparatus to a packet and retrieves a processing rule
corresponding to the identifier. Based on the processing rule
corresponding to the identifier, the communication node Nl forwards
30
the packet to the communication node N3.
[0085]
Referring to FIG. 11, by embedding an identifier line within a
packet header, and holding a hop counter, the identifier to be used for
5 each hop is identified. However, it is also possible to use a method
of deleting already used identifiers from the top, without using the
hop counter.
[0086]
The identifier to be referred to by the communication node Nl
10 is 50, and this indicates an output port in a node in the highest level
layer. A processing rule corresponding to the identifier 50 is already
set in a communication node included in DN8. In this case,
processing rules by the communication nodes Nl, N3, N4 and N5 that
receive the packet are the same as in the processing rule table A of
15 FIG. 3, and the packet is forwarded while continuing to refer to the
identifier 50 within the packet. In the communication node N7, a
processing rule is similar to the processing rule table B of FIG. 3, and
after adding to the hop counter, output is performed from N7, which is
a real port equivalent to port 50 in DN8, to a link to N9. In this way,
20 output is performed to an egress link of DN8 using the top identifier
50 included in the packet. In the packet inputted to the
communication node N9, the identifier to be referred to is 51;
forwarding as far as N15 is continued in the same way, and the hop
counter is added to.
25 [0087]
The identifier referred to by the communication node N15 is 35,
and this represents a node in an upper level second hierarchy and a
port 35 in DN6. In this case, forwarding is performed as far as
communication node N17, and the hop counter is added to at the final
30 forwarding.
[0088]
The identifier 35 referred to by the communication node N17 is
3, and this represents a real port number of a communication node.
Therefore forwarding is performed to the communication node N19
31
that is the next hop in the lowest layer, and the hop counter is added
to.
[0089]
The identifier referred to by the communication node N19 is 1,
5 forwarding to the next hop is similarly performed, and forwarding to
host2 is performed.
[0090]
The packet is forwarded in the virtualized network as in the
above operational example.
10 [0091]
As described above, packet forwarding can be performed by I
adding an identifier for a hop in each layer to a packet, and it is
possible to reduce the number of i d e n t i f i e r s added.
[0092]
15 A description of respective exemplary embodiments of the
present invention has been given above, but the present invention is
not limited to the abovementioned embodiments. Further
m o d i f i c a t i o n s , s u b s t i t u t i o n s and adjustments may be added within a
scope that does not depart from fundamental technical concepts of the
20 present invention. For example, in the respective exemplary
embodiments described above a description has been given making
reference to OpenFlow technology, but the present invention is not
limited to being based on OpenFlow technology.
[0093]
25 Modifications and adjustments of the exemplary embodiment are
possible within the scope of the overall disclosure (including the
claims) of the present invention and based on the basic technical
concept of the present invention. Various combinations and
s e l e c t i o n s of various disclosed elements (including each element of
30 each claim, each element of each exemplary embodiment, each element
of each drawing, etc.) are possible within the scope of the claims of
the present invention. That is, the present invention of course
includes various variations and modifications that could be made by
those skilled in the art according to the overall disclosure including
32
the claims and the technical concept.
[Reference Signs List]
[0094]
I to 3 communication node
5 10 control apparatus
II node communication unit
12 control message processing unit
13 flow entry management unit
14 domain management unit
10 15 virtualization management unit
1 00 virtual node
141 domain topology management unit
142 path tree calculation unit
143 processing rule calculation unit
15 151 virtual topology management unit
152 virtual port number management unit
153 path tree calculation unit
154 processing rule setting request unit
CI to C7 control apparatus
20 Dl to DIO domain
DNl to DNIO domain node
Nl to N19 communication node
PI, P3 some real port numbers
P35, P50, P51 some virtual port numbers

33
CLAIMS:
1. A communication system, comprising:
a plurality of communication nodes; and
a control apparatus that controls packet processing of the
plurality of communication nodes, wherein
5 the control apparatus further comprises:
a virtualization unit that configures a virtual node(s) from a
plurality of communication nodes among the plurality of
communication nodes;
a control unit that sets a processing rule for a packet in at least
10 one communication node of the plurality of communication nodes
included in the virtual node(s), so that the at least one communication
node executes packet processing corresponding to an operation of the
virtual node(s); and
a path calculation unit that calculates a forwarding path of a
15 packet, based on a virtual network topology including the virtual
node(s), and
the plurality of communication nodes process a packet
corresponding to the forwarding path, in accordance with the I
processing rule.
2. The communication system according claim 1, wherein
the control unit sets the processing rule in at least one of the
plurality of communication nodes included in the virtual node(s), so
that a packet is forwarded to a communication node corresponding to a
5 virtual port of the virtual node(s).
3. The communication system according to claim 1, wherein
the control unit associates the processing rule with an identifier
representing a virtual port of the virtual node(s) and sets the
association in at least one of the plurality of communication nodes
5 included in the virtual node(s).
4. The communication system according to claim 3, wherein
the plurality of communication nodes, in a case of receiving a
packet corresponding to the identifier, process the packet in
accordance with the processing rule associated with the identifier.
34
5. The communication system according to claim 3, wherein
the plurality of communication nodes, in a case of receiving a
packet including the identifier, process the packet in accordance with
the processing rule associated with the identifier.
6. The communication system according to claim 5, wherein
a communication node corresponding to the virtual port, when
processing a packet including the identifier, processes the packet so
that the identifier is not referred to by another communication node.
7. The communication system according to any one of claims 1 to 6,
wherein
the virtualization unit configures an upper level virtual node(s)
from a plurality of virtual nodes, among a plurality of the virtual
5 nodes,
the control unit sets a processing rule for a packet in at least
one virtual node of the plurality of virtual nodes included in the upper
level virtual node(s), so that the at least one virtual node executes
packet processing corresponding to an operation of the upper level I
10 virtual node(s), I
the path calculation unit calculates a forwarding path of a
packet, based on an upper level virtual network topology including the
upper level virtual node(s), and
the plurality of communication nodes process a packet
15 corresponding to the forwarding path, in accordance with the
processing rule.
8. A control apparatus that controls packet processing of a
plurality of communication nodes, the control apparatus comprising:
a virtualization unit that configures a virtual node(s) including
a plurality of communication nodes among the plurality of
5 communication nodes;
a control unit that sets a processing rule for a packet in at least
one communication node of the plurality of communication nodes
included in the virtual node(s), so that the at least one communication
node executes packet processing corresponding to an operation of the
10 virtual node(s); and
35
a path calculation unit that calculates a forwarding path of a
packet, based on a virtual network topology including the virtual
node(s).
9. The control apparatus according to claim 8, wherein
the control unit sets the processing rule in at least one of the
plurality of communication nodes included in the virtual node(s), so
that a packet is forwarded to a communication node corresponding to a
5 virtual port of the virtual node(s).
10. The control apparatus according to claim 8, wherein
the control unit associates the processing rule with an identifier
representing a virtual port of the virtual node(s) and sets the
association in at least one of the plurality of communication nodes
5 included in the virtual node(s).
11. The control apparatus according to any one of claims 8 to 10,
wherein
the virtualization unit configures an upper level virtual node(s)
from a plurality of virtual nodes, among a plurality of the virtual
5 nodes,
the control unit sets a processing rule for a packet in at least
one virtual node of the plurality of virtual nodes included in the upper
level virtual node(s), so that the at least one virtual node executes
packet processing corresponding to an operation of the upper level
10 virtual node(s),
the path calculation unit calculates a forwarding path of a
packet, based on the upper level virtual network topology including
the upper level virtual node(s), and
the plurality of communication nodes process a packet
15 corresponding to the forwarding path, in accordance with the
processing rule.
12. A communication method, comprising:
configuring, by a control apparatus that controls packet
processing of a plurality of communication nodes, a virtual node(s)
from a plurality of communication nodes among the plurality of
5 communication nodes;
36
setting a processing rule for a packet in at least one
communication node of the plurality of communication nodes included
in the virtual node(s), so that the at least one communication node I
executes packet processing corresponding to an operation of the I
10 virtual node(s); and I
calculating a forwarding path of a packet, based on a virtual
network topology including the virtual node(s).
13. The communication method according to claim 12, wherein
the control apparatus sets the processing rule in at least one of |
the plurality of communication nodes included in the virtual node(s),
so that a packet is forwarded to a communication node corresponding
5 to a virtual port of the virtual node(s).
14. The communication method according to claim 12, wherein
the control apparatus associates the processing rule with an
identifier representing a virtual port of the virtual node(s) and sets the
association in at least one of the plurality of communication nodes
5 included in the virtual node(s).
15. The communication method according to any one of claims 12 to
14, comprising:
by the control apparatus, configuring an upper level virtual
node(s) from a plurality of virtual nodes, among a plurality of the I
5 virtual nodes; I
setting a processing rule for a packet in at least one virtual
node of the plurality of virtual nodes included in the upper level
virtual node(s), so that the at least one virtual node executes packet
processing corresponding to an operation of the upper level virtual
10 node(s); and
calculating a forwarding path of a packet, based on the upper
level virtual network topology including the upper level virtual
node(s).
16. A communication node, that is used in a communication system
comprising a control apparatus that controls packet processing of a
plurality of communication nodes, the communication node being one
communication node among the plurality of communication nodes,
37
f
I . 5 wherein
the control apparatus further comprises:
a virtualization unit that configures a virtual node(s) from a
plurality of communication nodes among the plurality of
communication nodes;
10 a control unit that sets a processing rule for a packet in at least
one communication node of the plurality of communication nodes
included in the virtual node(s), so that the at least one communication
node executes packet processing corresponding to an operation of the
virtual node(s); and
15 a path calculation unit that calculates a forwarding path of a I
packet, based on a virtual network topology including the virtual I
node(s), and I
the communication node processes a packet corresponding to the I
forwarding path in accordance with the processing rule. I
17. The communication node according to claim 16, wherein I
the control apparatus associates the processing rule with an I
identifier representing a virtual port of the virtual node(s) and sets the
association in at least one of the plurality of communication nodes
5 included in the virtual node(s), and
the communication node, in a case of receiving a packet I
corresponding to the identifier, processes the packet in accordance I
with the processing rule associated with the identifier.

Documents

Orders

Section Controller Decision Date

Application Documents

# Name Date
1 6872-DELNP-2013.pdf 2013-08-26
2 6872-delnp-2013-GPA-(24-09-2013).pdf 2013-09-24
3 6872-delnp-2013-Form-1-(24-09-2013).pdf 2013-09-24
4 6872-delnp-2013-Correspondence Others-(24-09-2013).pdf 2013-09-24
5 6872-delnp-2013-Form-3-(21-01-2014).pdf 2014-01-21
6 6872-delnp-2013-Correspondence-Others-(21-01-2014).pdf 2014-01-21
7 6872-delnp-2013-Form-5.pdf 2014-02-21
8 6872-delnp-2013-Form-3.pdf 2014-02-21
9 6872-delnp-2013-Form-2.pdf 2014-02-21
10 6872-delnp-2013-Form-1.pdf 2014-02-21
11 6872-delnp-2013-Drawings.pdf 2014-02-21
12 6872-delnp-2013-Description (Complete).pdf 2014-02-21
13 6872-delnp-2013-Correspondence-others.pdf 2014-02-21
14 6872-delnp-2013-Claims.pdf 2014-02-21
15 6872-delnp-2013-Abstract.pdf 2014-02-21
16 6872-DELNP-2013-FER.pdf 2018-06-28
17 6872-DELNP-2013-Certified Copy of Priority Document (MANDATORY) [07-09-2018(online)].pdf 2018-09-07
18 6872-DELNP-2013-OTHERS-110918.pdf 2018-09-15
19 6872-DELNP-2013-Correspondence-110918.pdf 2018-09-15
20 6872-DELNP-2013-FORM 3 [03-10-2018(online)].pdf 2018-10-03
21 6872-DELNP-2013-FORM-26 [24-12-2018(online)].pdf 2018-12-24
22 6872-DELNP-2013-OTHERS [28-12-2018(online)].pdf 2018-12-28
23 6872-DELNP-2013-FER_SER_REPLY [28-12-2018(online)].pdf 2018-12-28
24 6872-DELNP-2013-COMPLETE SPECIFICATION [28-12-2018(online)].pdf 2018-12-28
25 6872-DELNP-2013-CLAIMS [28-12-2018(online)].pdf 2018-12-28
26 6872-DELNP-2013-Power of Attorney-271218.pdf 2019-01-02
27 6872-DELNP-2013-Correspondence-271218.pdf 2019-01-02
28 6872-DELNP-2013-Response to office action [25-06-2021(online)].pdf 2021-06-25
29 6872-DELNP-2013-REQUEST FOR ADJOURNMENT OF HEARING UNDER RULE 129A [27-08-2021(online)].pdf 2021-08-27
30 6872-DELNP-2013-Correspondence to notify the Controller [02-09-2021(online)].pdf 2021-09-02
31 6872-DELNP-2013-US(14)-HearingNotice-(HearingDate-06-09-2021).pdf 2021-10-17

Search Strategy

1 Search_Strategy_6872DELNP2013_26-06-2018.pdf