Communication apparatus, control apparatus, communication system, communication control method, and program

Communication apparatus, control apparatus, communication system, communication control method, and program

A communication apparatus, comprises: a packet processing unit that processes, based on a processing rule set by a control apparatus, a packet that corresponds to the processing rule; a statistical value measurement unit that measures a statistical value with respect to the packet processing based on the processing rule; and a processing rule management unit that rewrites a processing content of the processing rule to a packet discarding process, if the statistical value for the processing rule exceeds a predetermined threshold.Related Terms:Communication SystemRewrite

CROSS-REFERENCE TO RELATED APPLICATIONS

Field

The present invention is based upon and claims the benefit of the priority of Japanese patent application No. 2011-206463, filed on Sep. 21, 2011, the disclosure of which is incorporated herein in its entirety by reference thereto.

The present invention relates to a communication apparatus, a control apparatus, a communication system, a communication control method, and a program. In particular, it relates to a communication apparatus, a control apparatus, a communication system, a communication control method, and a program that process an incoming packet in accordance with a control operation from a control apparatus.

Background

Recently, a technique referred to as OpenFlow has been proposed (see Patent Literature 1 and Non Patent Literatures 1 and 2). OpenFlow recognizes communications as end-to-end flows and performs path control, failure recovery, load balancing, and optimization on a per-flow basis. An OpenFlow switch specified in Non Patent Literature 2 has a secure channel for communication with an OpenFlow controller and operates according to a flow table suitably added or rewritten by the OpenFlow controller. In a flow table, a set of the following three is defined for each flow: match fields that define conditions for matching a packet header; statistical information (counters); and instructions that define processing contents (see FIG. 16).

For example, if the OpenFlow switch receives a packet (data packet in FIG. 17), the OpenFlow switch searches the flow table for an entry having a match field that matches header information of the incoming packet. If the OpenFlow switch finds an entry matching the incoming packet as a result of the search, the OpenFlow switch updates the statistical information (counters) and processes the incoming packet based on a processing content (transmission, flooding, drop, etc. of a packet from a specified port) written in the instruction field of the entry. If the OpenFlow switch does not find an entry matching the incoming packet as a result of the search, the OpenFlow switch requests the OpenFlow controller to set an entry via the secure channel. Namely, the OpenFlow switch requests the OpenFlow controller to determine the processing content of the incoming packet (“Packet-In” in FIG. 17). The OpenFlow switch receives a flow entry corresponding to the request and updates the flow table (“FlowMod” in FIG. 17). Thus, by using an entry stored in the flow table as a processing rule, the OpenFlow switch executes packet forwarding.

SUMMARY

Technical Problem

The following analyses are given by the present invention. The OpenFlow switch in NPLs 1 and 2 has a function of deleting a flow entry if a certain period of time elapses after the flow entry is set or if no relevant packets are supplied for a certain period of time. This deletion is executed based on a hard timeout value and an idle timeout value set for each flow (see “timeout” in FIG. 17 and 5.7 FLOW Removal in NPL 2).

While NPLs 1 and 2 disclose deletion of a flow entry based on a timer, if a flow entry is deleted only based on a timer, flexibility of flow control is insufficient, counted as a problem.

Thus there is a need to realize more flexible flow control.

Solution to Problem

According to a first aspect of the present disclosure, there is provided a communication apparatus, comprising: a packet processing unit that processes, based on a processing rule set by a control apparatus, a packet that matches the processing rule; a statistical value measurement unit that measures a statistical value with respect to the packet processing based on the processing rule; and a processing rule management unit that rewrites a processing content of the processing rule to a packet discarding process, if the statistical value for the processing rule exceeds a predetermined threshold.

According to a second aspect of the present disclosure, there is provided a control apparatus, comprising: a management unit that generates a processing rule for a packet; and a communication unit that transmits the processing rule to a communication apparatus that processes based on the processing rule a packet that matches the processing rule, measures a statistical value with respect to the packet processing based on the processing rule, and rewrites a processing content of the processing rule to a packet discarding process if the statistical value for the packet processing rule exceeds a predetermined threshold.

According to a third aspect of the present disclosure, there is provided a communication system, comprising: a control apparatus that generates a processing rule for a packet; and a communication apparatus, wherein the communication apparatus comprises: a packet processing unit that processes, based on the processing rule set by the control apparatus, a packet that matches the processing rule; a statistical value measurement unit that measures a statistical value with respect to the packet processing based on the processing rule; and a processing rule management unit that rewrites a processing content of the processing rule to a packet discarding process if the statistical value for the processing rule exceeds a predetermined threshold.

According to a fourth aspect of the present disclosure, there is provided a communication control method, comprising: processing, based on a processing rule set by a control apparatus, a packet that matches the processing rule; measuring a statistical value with respect to the packet processing based on the processing rule; and rewriting a processing content of the processing rule to a packet discarding process if the statistical value for the packet processing exceeds a predetermined threshold.

This method is associated with a certain machine, that is, a communication apparatus processing a packet based on a processing rule set by a predetermined control apparatus.

According to a fifth aspect of the present disclosure, there is provided a program, causing a communication apparatus that processes based on a processing rule set by a control apparatus a packet that matches the processing rule to execute: measuring a statistical value with respect to the packet processing based on the processing rule; and rewriting a processing content of the processing rule to a packet discarding process if the statistical value for the packet processing rule exceeds a predetermined threshold.

This program can be recorded in a computer-readable storage medium which is non-transitory. That is, the present disclosure may be embodied as a computer program product.

Advantageous Effects of Invention

According to the present disclosure, it provides the following contribution: that is, instead of causing a control apparatus to grasp and analyze a communication amount per processing rule of a communication apparatus, the communication apparatus executes a detailed control operation based on the communication amount.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 illustrates a configuration example of a communication system according to an exemplary embodiment.

FIG. 2 illustrates a configuration example of a processing rule stored in a packet forwarding node according to an exemplary embodiment.

FIG. 3 illustrates a configuration example of a communication system according to a first exemplary embodiment.

FIG. 4 is a block diagram illustrating a configuration example of a packet forwarding node according to the first exemplary embodiment.

FIG. 5 illustrates configuration examples of processing rules stored in a packet forwarding node according to the first exemplary embodiment.

FIG. 6 is a block diagram illustrating a configuration example of a control apparatus according to the first exemplary embodiment.

FIG. 7 is a sequence diagram illustrating an operation example of the communication system according to the first exemplary embodiment of the present invention.

FIG. 8 illustrates a configuration example of a communication system according to a second exemplary embodiment.

FIG. 9 is a block diagram illustrating a configuration example of a communication terminal according to the second exemplary embodiment.

FIG. 10 illustrates configuration examples of processing rules stored in the communication terminal according to the second exemplary embodiment.

FIG. 11 is a sequence diagram illustrating an operation example of the communication system according to the second exemplary embodiment.

FIG. 12 is a block diagram illustrating a configuration example of a control apparatus according to a third exemplary embodiment.

FIG. 13 is a sequence diagram illustrating an operation example of a communication system according to a fourth exemplary embodiment.

FIG. 14 is a sequence diagram illustrating an operation example of a communication system according to the fourth exemplary embodiment.

FIG. 15 illustrates configuration examples of processing rules stored in a packet forwarding node according to a fifth exemplary embodiment.

FIG. 16 illustrates a configuration example of a flow entry stored in an OpenFlow switch in NPL 2.

FIG. 17 is a sequence diagram illustrating an operation example from flow entry setting to flow entry deletion by timeout in NPL 2.

FIG. 18 illustrates a general configuration example of a communication apparatus according to an exemplary embodiment.

FIG. 19 illustrates a general configuration example of a control apparatus according to an exemplary embodiment.

DESCRIPTION OF EMBODIMENTS

First, an outline of one exemplary embodiment will be described with reference to the drawings. As illustrated in FIG. 1, one exemplary embodiment can be realized by a configuration including a communication terminal 30, packet forwarding nodes 10 communicating with a server 40, and a control apparatus 20 controlling these packet forwarding nodes 10. In the following outline, the reference characters added to various elements are merely used as examples to facilitate understanding of the present disclosure. Namely, these reference characters are not intended to limit the present disclosure to the modes illustrated in the drawings. In addition, the above communication apparatus corresponds to a packet forwarding node. FIG. 18 illustrates a general configuration example of a communication apparatus according to an exemplary embodiment. As illustrated in FIG. 18, a communication apparatus of an exemplary embodiment can be realized by a configuration including a packet processing unit 200, a statistical value measurement unit 201 and a processing rule management unit 202. The packet processing unit 200 processes, based on a processing rule set by a control apparatus, a packet that matches the processing rule. The statistical value measurement unit 201 measures a statistical value with respect to the packet processing based on the processing rule. The processing rule management unit 202 rewrites a processing content of the processing rule to a packet discarding process, if the statistical value for the processing rule exceeds a predetermined threshold. FIG. 19 illustrates a general configuration example of a control apparatus according to an exemplary embodiment. As illustrated in FIG. 19, a control apparatus of an exemplary embodiment can be realized by a configuration including a management unit 203 and a communication unit 204. The management unit 203 generates a processing rule for a packet. The communication unit 204 transmits the processing rule to a communication apparatus that processes based on the processing rule a packet that matches the processing rule, and measures a statistical value with respect to the packet processing based on the processing rule. The communication unit 204 rewrites a processing content of the processing rule to a packet discarding process if the statistical value for the packet processing rule exceeds a predetermined threshold.

FIG. 2 illustrates a configuration example of a processing rule 100 stored in a packet forwarding node 10 in FIG. 1. The configuration in FIG. 2 is only an example, and therefore, the configuration of the processing rule is not limited to that illustrated in FIG. 2. The control apparatus 20 sets the processing rule 100 in a packet forwarding node 10. The difference from a flow entry stored in the OpenFlow switch in NPL 2 illustrated in FIG. 16 is that, instead of a timeout value, an expiration condition 101 is set in the processing rule 100. The control apparatus 20 sets the processing rule 100 in a packet forwarding node 10. The packet forwarding node 10 refers to the match fields in the processing rules 100, to search for a processing rule 100 matching the incoming packet, and processes the packet in accordance with the instructions in the retrieved processing rule 100. The statistical information (counters) in the processing rule 100 is updated based on packet processing. If no processing rule 100 corresponding to the incoming packet exists, the packet forwarding node 10 requests the control apparatus 20 to set a processing rule.

For example, as the expiration (or invalidation) condition in the processing rule, a threshold indicating a statistical value processable based on the processing rule is set. Of course, as in NPL 2, a time-out value for determining whether a certain period of time has elapsed after a processing rule is set or whether no relevant packets have been supplied for a certain period of time may be set.

The packet forwarding node 10 includes: a packet processing unit processing a packet in accordance with a processing rule matching an incoming packet; and a statistical value measurement unit measuring a statistical value based on the processing rule statistical information (counter) up dated based on packet processing. Namely, the statistical value measurement unit measures a statistical value corresponding to packet processing executed by a predetermined processing rule. For example, the statistical value is the number of packets or bytes processed in accordance with a predetermined processing rule. Namely, the statistical value is the amount of communication corresponding to packets processed in accordance with predetermined processing rules. The statistical value measurement unit may measure a statistical value for each processing rule.

Alternatively, the statistical value measurement unit may measure a statistical value that can be obtained based on each of the packet processing amounts by a plurality of processing rules. The statistical value measurement unit may measure a statistical value that can be obtained based on the packet processing amount by a processing rule matching a predetermined condition, among the plurality of processing rules stored in the packet forwarding node 10. By measuring a statistical value that can be obtained based on the packet processing amounts by the plurality of processing rules, the statistical value measurement unit can measure the amount of communication executed by the communication apparatus. For example, the packet processing unit may be realized by using a mechanism similar to that of the OpenFlow switch in NPLs 1 and 2. In addition, the packet forwarding node 10 according to one exemplary embodiment deletes or invalidates a processing rule based on an expiration condition. The packet forwarding node 10 includes a processing rule management unit that voids (deletes or invalidates, for example) a relevant processing rule, for example, if a statistical value indicated in the statistical information (counters) exceeds a threshold set in the expiration condition in the relevant processing rule. The processing rule management unit compares a statistical value obtained based on the packet processing amounts by a plurality of processing rules with the expiration conditions in the processing rules. If a statistical value matches an expiration condition, the processing rule management unit voids (deletes or invalidates, for example) a processing rule corresponding to the expiration condition. Alternatively, if the statistical value matches an expiration condition, the processing rule management unit may rewrite the packet process defined in the processing rule corresponding to the expiration condition to a packet discarding process. Namely, the processing rule management unit determines whether each processing rule is valid or not based on a statistical value.

With this configuration, after communication between the communication terminal 30 and the server 40 is allowed in accordance with a processing rule, if a predetermined data amount is exceeded, the processing rule is deleted. As a result, the packet forwarding node 10 discards a subsequent packet addressed to the server 40 from the communication terminal 30 or forwards the subsequent packet to the control apparatus 20 and requests the control apparatus 20 to set a processing rule. Namely, by deleting a processing rule based on a data amount, the packet forwarding node 10 can block communication of subsequent packets transmitted from the communication terminal 30.

Alternatively, the control apparatus 20 can set a processing rule so that subsequent packets from the communication terminal 30 are forwarded through a narrowband communication path. Thus, according to one exemplary embodiment, flexible flow control based on a communication amount can be executed.

The threshold set in the expiration condition field in each processing rule may be a predetermined value. Alternatively, when setting a processing rule, the control apparatus 20 may determine the threshold. In addition, the control apparatus 20 specifies the target packets whose communication amount is measured by using the match fields, the control apparatus 20 may delete or invalidate a processing rule based on the communication amount of the target packets.

While, in the above example, the packet forwarding node 10 deletes or invalidates a processing rule based on the communication amount, the communication terminal 30 may delete or invalidate a processing rule based on the communication amount. The same applies to the following exemplary embodiments described below. Examples of the communication terminal 30 include a mobile phone, a personal computer, a mobile router, and the like. One exemplary embodiment is applicable to a communication apparatus such as the packet forwarding node 10 or the communication terminal 30.

The communication terminal 30 stores the processing rule 100 set by the control apparatus 20 and processes a packet based on the processing rule 100. The communication terminal 30 stores the processing rule 100 including the expiration (or invalidation) condition 101 and deletes or invalidates a processing rule based on the expiration condition 101.

In the above configuration example, the expiration condition is included in the processing rule. However, the expiration condition may be set in the packet forwarding node, separately from the processing rule.

First Exemplary Embodiment

A first exemplary embodiment of the present disclosure will be described with reference to the drawings. FIG. 3 illustrates a configuration example of a communication system according to the first exemplary embodiment. In FIG. 3, the communication system includes a communication terminal 30, packet forwarding nodes 10-1 to 10-3 communicating with a server 40, and a control apparatus 20A controlling these packet forwarding nodes 10-1 to 10-3.

FIG. 4 is a block diagram illustrating a detailed configuration of the packet forwarding node 10 (hereinafter, the packet forwarding nodes 10-1 to 10-3 are described as “the packet forwarding node 10” when there is no need to particularly distinguish the packet forwarding nodes 10-1 to 10-3 from one another). In FIG. 4, the packet forwarding node 10 includes a communication unit 11, a table management unit 12, a table database (table DB) 13, and a forward processing unit 14.

The communication unit 11 is a means of realizing communication with the control apparatus 20A that sets a processing rule in the packet forwarding node 10. In the present exemplary embodiment, the communication unit 11 uses an OpenFlow protocol in NPL 2 to communicate with the control apparatus 20A. However, the communication protocol used between the communication unit 11 and the control apparatus 20A is not limited to the OpenFlow protocol.

The table management unit 12 is a means of managing tables stored in the table database (table DB) 13. In the present exemplary embodiment, the table management unit 12 serves as the above processing rule management unit. More specifically, the table management unit 12 registers a processing rule specified by the control apparatus 20A in the table DB 13. In addition, when notified by the forward processing unit 14 of reception of a new packet, the table management unit 12 requests the control apparatus 20A to set a processing rule. The table management unit 12 refers to an expiration condition and statistical information (counters) in a processing rule stored in each table, and if the statistical value indicated in the statistical information (counters) exceeds a threshold set in the expiration condition in the processing rule, the table management unit 12 deletes or invalidates the processing rule. Alternatively, if the statistical value matches the expiration condition, the table management unit 12 may rewrite the packet process defined in the processing rule corresponding to the expiration condition to a packet discarding process. Further alternatively, if the statistical value matches the expiration condition, the table management unit 12 may execute traffic shaping on the packet process defined in the processing rule corresponding to the expiration condition. For example, the traffic shaping signifies control of the transfer rate of a packet flow corresponding to the processing rule in which the statistical value exceeds the threshold. For example, the control of the transfer rate signifies a process of delaying the packet flow or a process of controlling the transfer rate to remain below a predetermined value. However, the control of the transfer rate is not limited to such process of delaying the packet flow or controlling the transfer rate to remain below a predetermined value.

The table database (table DB) 13 is configured by a database capable of storing at least one table to which the forward processing unit 14 refers when processing an incoming packet.

The forward processing unit 14 includes: a table search unit 141 searching the table stored in the table DB 13 for a processing rule having a match field matching an incoming packet; and an action execution unit 142 executing a packet process in accordance with the processing contents indicated in the instruction field of the processing rule found by the table search unit 141. If the forward processing unit 14 does not find a processing rule having a match field matching the incoming packet, the forward processing unit 14 notifies the table management unit 12 of that effect. In addition, depending on the packet process, the forward processing unit 14 updates the statistical information (counters) registered in the table DB. The forward processing unit 14 may obtain a statistical value based on the statistical information (counters) corresponding to a plurality of processing rules. For example, the forward processing unit 14 may add the statistical information corresponding to a plurality of processing rules and calculate a statistical value, and the table management unit 12 may compare this statistical value with the expiration condition of each of the processing rules and determine whether each processing rule is valid. In addition, for example, among the processing rules stored in the table DB, the forward processing unit 14 may calculate a statistical value based on the statistical information corresponding to a processing rule corresponding to a predetermined condition. For example, the forward processing unit 14 may calculate a statistical value based on the statistical information corresponding to a processing rule for processing packets inputted through a predetermined port or to a processing rule for outputting packets to a predetermined port. Namely, in the present exemplary embodiment, the forward processing unit 14 serves as the above packet processing unit and statistical value measurement unit.

FIG. 5 illustrates a table that is set in the table DB 13 of the packet forwarding node 10-1. In FIG. 5, processing rules for realizing communication between the communication terminal 30 and the server 40 in FIG. 3 are set. For example, the IP addresses of the communication terminal 30 and the server 40 are set as the source and destination IP addresses, respectively, in header fields of a packet transmitted from the communication terminal 30 to the server 40. Thus, if the packet forwarding node 10-1 receives a packet addressed to the server 40 from the communication terminal 30, the table search unit 141 of the packet forwarding node 10-1 searches the table in FIG. 5 for the second top processing rule as a processing rule matching the incoming packet. Next, the action execution unit 142 of the packet forwarding node 10-1 forwards the incoming packet through a port connected to the packet forwarding node 10-2, in accordance with the content indicated in the instruction filed. If a processing rule corresponding to the incoming packet does not exist, the packet forwarding node 10-1 requests the control apparatus 20A to set a processing rule.

Similarly, for example, the IP addresses of the server 40 and the communication terminal 30 are set as the source and destination IP addresses, respectively, in header fields of a packet addressed to the communication terminal 30 from the server 40. Thus, if the packet forwarding node 10-1 receives a packet addressed to the communication terminal 30 from the server 40, the table search unit 141 of the packet forwarding node 10-1 searches the table in FIG. 5 for the top processing rule as a processing rule matching the incoming packet. Next, the action execution unit 142 of the packet forwarding node 10-1 forwards the incoming packet through a port connected to the communication terminal 30, in accordance with the content indicated in the instruction filed. If a processing rule corresponding to the incoming packet does not exist, the packet forwarding node 10-1 requests the control apparatus 20A to set a processing rule.

In FIG. 5, values (thresholds), that is, 100 M bytes and 10 M bytes, are set as the expiration conditions of the processing rules. In this case, if the statistical information (counters) in the top processing rule in FIG. 5 exceeds 100 M bytes, the table management unit 12 deletes this processing rule. The statistical information in the processing rule is updated based on the packet process executed by the processing rule.

In addition, if the statistical information (counters) in the second top processing rule in FIG. 5 exceeds 10 M bytes, the table management unit 12 deletes this processing rule. The statistical information in the processing rule is updated based on the packet process executed by the processing rule.

The table management unit 12 may obtain a statistical value based on the statistical information in the top and second top processing rules in the table illustrated in FIG. 5 and compare the statistical value with the expiration conditions of the processing rules. The statistical value can be obtained by adding the statistical information in the processing rules, for example. For example, if the obtained statistical value is 10 M bytes, the statistical value matches the expiration condition in the second top processing rule in the table illustrated in FIG. 5. In this case, the second top processing rule in the table is deleted.

In FIG. 5, byte is specified as the unit of the statistical value used as the threshold for deleting the processing rule. However, the number of packets may be used alternatively. In the statistical information (counters), if another unit such as bit is used to manage the statistical information, the another unit such as bit may be used.

Similarly, the processing rules as described above are set in the packet forwarding nodes 10-2 and 10-3.

The above packet forwarding node 10 can be realized by adding the above function of deleting a processing rule based on the statistical value to the OpenFlow switch in NPL 2.

For example, the expiration condition management unit 21 manages the expiration condition including a statistical value upper limit (threshold), per processing rule or combination of a source and a destination, each of which is managed by a MAC address. If the expiration condition is managed per combination of a source and a destination, one of the source and the destination may be set as a wildcard, that is, as indefinite. Other than the above statistical value, a timeout value of an arbitrary type may be set as the expiration condition. For example, a timeout value (a hard timeout value, an idle timeout value) may be set other than the statistical value. In this way, even when the statistical value does not exceed a predetermined threshold, the processing rule can be deleted after a certain period of time elapses.

The communication terminal location management unit 22 manages information for determining the locations of the communication terminals connected to the communication system. For example, the location of a communication terminal can be managed by information for identifying the packet forwarding node 10 to which the communication terminal is connected and information about the port.

The topology management unit 23 establishes network topology information, based on a connection relationship among the packet forwarding nodes 10 collected via the node communication unit 29. If the topology information changes, the topology management unit 23 may notify the path and action calculation unit 24 of the change of the topology information and cause the path and action calculation unit 24 to reset an existing processing rule, for example.

The control message processing unit 28 analyzes a control message transmitted from the packet forwarding node 10 and transmits information about the control message to relevant processing means in the control apparatus 20A.

The path and action calculation unit 24 serves as a means of calculating a packet forwarding path based on the communication terminal location information managed by the communication terminal location management unit 22 and the topology information managed by the topology management unit 23. In addition, the path and action calculation unit 24 serves as a means of determining processing contents (actions) executed by the packet forwarding nodes 10, by referring to capability information about the packet forwarding nodes managed by the packet forwarding node management unit 25. In addition, the path and action calculation unit 24 serves as a means of referring to the expiration condition in each processing rule managed by the expiration condition management unit 21 and determining a value set in the expiration condition field in each processing rule.

The packet forwarding node management unit 25 manages capabilities of each of the managed packet forwarding nodes 10-1 to 10-3 (for example, the number of ports, the types of the ports, the types of the supported actions, etc.).

The processing rule management unit 27 manages the processing rules set in the packet forwarding node 10. More specifically, the processing rule management unit 27 stores results calculated by the path and action calculation unit 24 in the processing rule DB 26 as a processing rule. In addition, when a processing rule set in the packet forwarding node 10 is changed and when the processing rule management unit 27 receives a notification of deletion of the processing rule from the packet forwarding node 10, the processing rule management unit 27 updates the content of the processing rule DB 26.

For example, the control apparatus 20A as described above can be realized by adding the expiration condition management unit 21 to the OpenFlow controller unit in NPL 2 and causing the path and action calculation unit 24 to generate a processing rule having an expiration condition.

The units (processing means) of the packet forwarding node 10 and the control apparatus 20A illustrated in FIGS. 4 and 6 can be realized by using a computer program that causes a computer constituting the units to use hardware of the computer and to execute the above processes.

Next, an operation example of the present exemplary embodiment will be described with reference to the drawings. However, FIG. 7 will be used for illustrative purposes only. The operation of the present disclosure is not limited to the sequence in FIG. 7. FIG. 7 is a sequence diagram illustrating an operation of the communication system according to the first exemplary embodiment. The following description will be made assuming that no processing rule for realizing communication between the communication terminal 30 and the server 40 is set in the packet forwarding nodes 10-1 to 10-3 in an initial state.

In FIG. 7, first, the communication terminal 30 transmits a user packet addressed to the server 40 (S001 in FIG. 7). Next, the packet forwarding node 10-1 receives the user packet and searches the table therein for a processing rule having a match field matching the incoming packet. However, since such processing rule is not found, the packet forwarding node 10-1 transmits the incoming packet and a request to request the control apparatus 20A to set a processing rule (S002; Packet-In in FIG. 7).

After receiving the request to set a processing rule, the control apparatus 20A causes the path and action calculation unit 24 to create processing rules (in both directions) having the expiration conditions as illustrated in FIG. 5 and sets the processing rules in each packet forwarding node 10 (S003; FlowMod in FIG. 7). In addition, the control apparatus 20A returns the packet supplied in S002 to the packet forwarding node 10-1 and instructs the packet forwarding node 10-1 to forward the packet to the packet forwarding node 10-2 (S004; Packet-Out in FIG. 7).

After the packet forwarding node 10-1 forwards the packet to the packet forwarding node 10-2 in accordance with the instruction, the packet forwarding nodes 10-2 and 10-3 forward the packet to the server 40 in accordance with the processing rules set respectively (S005 in FIG. 7).

You can also Monitor Keywords and Search for tracking patents relating to this Communication apparatus, control apparatus, communication system, communication control method, and program patent application.
###

How KEYWORD MONITOR works... a FREEservice from FreshPatents1. Sign up (takes 30 seconds). 2. Fill in the keywords to be monitored. 3. Each week you receive an email with patent applications related to your keywords. Start now! - Receive info on patent apps like Communication apparatus, control apparatus, communication system, communication control method, and program or other areas of interest.###

Data source: patent applications published in the public domain by the United States Patent and Trademark Office (USPTO). Information published here is for research/educational purposes only. FreshPatents is not affiliated with the USPTO, assignee companies, inventors, law firms or other assignees. Patent applications, documents and images may contain trademarks of the respective companies/authors. FreshPatents is not responsible for the accuracy, validity or otherwise contents of these public document patent application filings. When possible a complete PDF is provided, however, in some cases the presented document/images is an abstract or sampling of the full patent application for display purposes. FreshPatents.com Terms/Support -g2-0.2441