WO2013145724A1 - Communication system, control apparatus, communication apparatus, accounting server, communication method and program - Google Patents

Communication system, control apparatus, communication apparatus, accounting server, communication method and program Download PDF

Info

Publication number
WO2013145724A1
WO2013145724A1 PCT/JP2013/002057 JP2013002057W WO2013145724A1 WO 2013145724 A1 WO2013145724 A1 WO 2013145724A1 JP 2013002057 W JP2013002057 W JP 2013002057W WO 2013145724 A1 WO2013145724 A1 WO 2013145724A1
Authority
WO
WIPO (PCT)
Prior art keywords
processing rule
processing
rule
determination condition
packet
Prior art date
Application number
PCT/JP2013/002057
Other languages
French (fr)
Inventor
Ippei Akiyoshi
Yasuhiro Mizukoshi
Nobuhiko Itoh
Original Assignee
Nec Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nec Corporation filed Critical Nec Corporation
Priority to JP2014547199A priority Critical patent/JP6164223B2/en
Publication of WO2013145724A1 publication Critical patent/WO2013145724A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/026Capturing of monitoring data using flow identification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/14Charging, metering or billing arrangements for data wireline or wireless communications
    • H04L12/1432Metric aspects
    • H04L12/1435Metric aspects volume-based

Definitions

  • the present application claims priority from Japanese Patent Application No. JP2012-074917 (filed on March 28, 2012) the content of which is hereby incorporated herein in its entirety by reference thereto.
  • the present invention relates to a communication system, a control apparatus, a communication apparatus, a communication method and a program, and in particular relates to a communication system, a control apparatus, a communication apparatus, a communication method and a program, in a network centrally controlled by the control apparatus.
  • OpenFlow Recently, technology known as OpenFlow has been proposed (refer to Patent Literature 1 and Non Patent Literatures 1 and 2).
  • communication is taken as end-to-end flow, and path control, failure recovery, load balancing, and optimization are performed on a per-flow basis.
  • An OpenFlow switch as specified in Non Patent Literature 2 is provided with a secure channel for communication with an OpenFlow controller, and operates according to a flow table to which additions are made or which is rewritten as appropriate according to an instruction from the OpenFlow controller.
  • a set of the following is defined for each flow: match fields in which conditions for matching a packet header are defined, statistical information (counters), and instructions that define processing content (see FIG. 16).
  • the OpenFlow switch searches the flow table for an entry that has a match field that matches header information of the received packet. If an entry matching the received packet is found as a result of the search, the OpenFlow switch updates the flow statistical information (counters) and also implements processing content (packet transmission from a specified port, flooding, dropping, and the like) described in an instruction field of the entry in question, for the received packet. On the other hand, if an entry matching the received packet is not found as a result of the search, the OpenFlow switch transmits a request that the OpenFlow controller perform entry setting, via the secure channel, that is, a request to determine processing content of the received 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). In this way, the OpenFlow switch uses the entry stored in the flow table as a processing rule to perform packet forwarding.
  • An OpenFlow switch of Non Patent Literatures 1 and 2 is provided with a function that removes a relevant flow entry, based on a hard timeout value and an idle timeout value set for each flow, in a case where a fixed time-period has elapsed after setting a flow entry, or where non-receipt of a relevant packet during a fixed time-period is established (refer to "timeout" of FIG. 17, and 5.7 FLOW Removal of Non Patent Literature 2).
  • Non Patent Literatures 1 and 2 disclose removing a flow entry based on a timer, but it is not possible to flexibly perform flow control with only removal by a timer.
  • a communication apparatus comprising: a packet processing unit that processes, based on a processing rule set by a control apparatus, a packet corresponding to the processing rule; a forwarding processing unit that measures a statistical value obtained from processing volume by the processing rule; and a processing rule management unit that determines whether or not the processing rule is valid, based on the statistical value and a determination condition, wherein the processing rule management unit, in response to update of the determination condition, determines whether or not the processing rule is valid according to the updated determination condition.
  • a communication control method comprising: by a communication apparatus, processing, based on a processing rule set by a control apparatus, a packet corresponding to the processing rule; measuring a statistical value obtained from processing volume by the processing rule; determining whether or not the processing rule is valid, based on the statistical value and a determination condition; and determining, in response to update of the determination condition, whether or not the processing rule is valid according to the updated determination condition.
  • a communication system comprising: a control apparatus that generates a packet processing rule; and a communication apparatus, wherein the communication apparatus comprises: a packet processing unit that processes, based on a processing rule set by the control apparatus, a packet corresponding to the processing rule; a forwarding processing unit that measures a statistical value obtained from processing volume by the processing rule; and a processing rule management unit that determines whether or not the processing rule is valid, based on the statistical value and a determination condition, and the processing rule management unit, in response to update of the determination condition, determines whether or not the processing rule is valid according to the updated determination condition.
  • a program causing a communication apparatus, processing, based on a processing rule set by a control apparatus, a packet corresponding to the processing rule, to execute: measuring a statistical value obtained from a processing volume by the processing rule; determining whether or not the processing rule is valid based on the statistical value and a determination condition; and determining, in response to update of the determination condition, whether or not the processing rule is valid according to the updated determination condition.
  • a control apparatus comprising: first means (section) that generates a packet processing rule and transmits the processing rule to a communication apparatus; second means (section) that transmits to the communication apparatus a determination condition, for determining whether or not the processing rule is valid by comparing the determination condition with a statistical value obtained from processing volume by the processing rule; and third means (section) that updates the determination condition based on prescribed information transmitted by the communication apparatus, and transmits the determination condition to the communication apparatus.
  • a communication control method comprising: by a control apparatus, generating a packet processing rule; transmitting the processing rule to a communication apparatus; transmitting to the communication apparatus a determination condition, for determining whether or not the processing rule is valid by comparing the determination condition with a statistical value obtained from processing volume by the processing rule; updating the determination condition based on prescribed information transmitted by the communication apparatus; and transmitting the updated determination condition to the communication apparatus.
  • a control apparatus controlling a communication apparatus that processes a packet, to execute: generating a packet processing rule, and transmitting the processing rule to a communication apparatus; transmitting to the communication apparatus a determination condition for determining whether or not the processing rule is valid by comparing the determination condition with a statistical value obtained from processing volume by the processing rule; and updating the determination condition based on prescribed information transmitted by the communication apparatus, and transmitting the updated determination condition to the communication apparatus.
  • an accounting server that manages contract information of a communication apparatus, the accounting server comprising: first means (section) for communicating with a control apparatus that transmits a packet processing rule to the communication apparatus, and transmits to the communication apparatus a determination condition for determining whether or not the processing rule is valid by comparing the determination condition with a statistical value obtained from processing volume by the processing rule; and second means (section) for receiving from the communication apparatus information for updating the contract information; and third means (section) for transmitting the updated contract information to the control apparatus to make the control apparatus update the determination condition.
  • the present invention it is possible to determine whether or not a processing rule is valid based on packet processing volume and a prescribed determination condition, and by enabling updating of the determination condition, to flexibly execute flow control based on the packet processing volume.
  • FIG. 1 is a diagram illustrating a configuration example of a communication system according to an exemplary embodiment.
  • FIG. 2 is a diagram illustrating a configuration example of a processing rule held by a packet forwarding node in the exemplary embodiment.
  • FIG. 3 is a block diagram illustrating a configuration example of a packet forwarding node according to the exemplary embodiment.
  • FIG. 4 is a block diagram illustrating a configuration example of a communication apparatus according to the exemplary embodiment.
  • FIG. 5 is a diagram illustrating a configuration example of a communication system according to a first exemplary embodiment.
  • FIG. 6 is a block diagram illustrating a configuration example of a control apparatus of the first exemplary embodiment of the invention.
  • FIG. 1 is a diagram illustrating a configuration example of a communication system according to an exemplary embodiment.
  • FIG. 2 is a diagram illustrating a configuration example of a processing rule held by a packet forwarding node in the exemplary embodiment.
  • FIG. 3 is a block diagram illustrating
  • FIG. 7 is a block diagram illustrating a configuration example of a packet forwarding node of the first exemplary embodiment of the invention.
  • FIG. 8 is a diagram illustrating a configuration example of a table held by a packet forwarding node in the first exemplary embodiment.
  • FIG. 9 is a sequence diagram for describing an operation example of a communication system according to the first exemplary embodiment.
  • FIG. 10 is a diagram illustrating a configuration example of a communication system according to a second exemplary embodiment.
  • FIG. 11 is a block diagram illustrating a configuration example of a communication apparatus of the second exemplary embodiment.
  • FIG. 12 is a configuration example of a table held by the communication apparatus of the second exemplary embodiment.
  • FIG. 13 is a sequence diagram for describing an operation example of a communication system according to the second exemplary embodiment.
  • FIG. 14 is a block diagram illustrating a configuration example of a control apparatus of a third exemplary embodiment of the invention.
  • FIG. 15 is a configuration example of tables held by a packet forwarding node in a fourth exemplary embodiment.
  • FIG. 16 is a diagram illustrating a flow entry configuration example as held by an OpenFlow switch in Non Patent Literature 2.
  • FIG. 17 is a sequence diagram for describing an operation example from setting of a flow entry until removal by a timeout, in Non Patent Literature 2.
  • FIG. 1 is a diagram illustrating a configuration example of a system according to the exemplary embodiment.
  • the system includes a communication terminal 30, packet forwarding nodes 20-1 to 20-3 that implement communication of the communication terminal 30, and a control apparatus 10 that controls the packet forwarding nodes 20.
  • a communication terminal 30 packet forwarding nodes 20-1 to 20-3 that implement communication of the communication terminal 30, and a control apparatus 10 that controls the packet forwarding nodes 20.
  • a control apparatus 10 that controls the packet forwarding nodes 20.
  • FIG. 2 is a diagram illustrating a configuration example of a processing rule 100 held by the packet forwarding node 20 of FIG. 1.
  • FIG. 2 is an example, and the configuration of the processing rule 100 is not limited to the configuration example of FIG. 2.
  • the processing rule 100 has a match field.
  • the packet forwarding node 20 refers to the match field on receiving a packet, and searches for a processing rule 100 matching the received packet. In a case where a processing rule 100 matching the received packet is found, the packet forwarding node 20 processes the packet in accordance with an Instruction of the processing rule 100. Furthermore, the packet forwarding node 20 updates statistical information (Counters) of the processing rule 100, in response to processing of the received packet.
  • Counters statistical information
  • the packet forwarding node 20 requests the control apparatus 10 to set a processing rule. It is to be noted that the packet forwarding node 20 may request the control apparatus 10 to set the processing rule, based on a processing rule that prescribes processing content for requesting a processing rule with respect to the control apparatus 10.
  • the processing rule 100 has an expire rule (or expiry condition).
  • a threshold is set that indicates a statistical value according to which processing by the processing rule is possible.
  • the expire rule for example, includes the number of packets or the number of bytes that can be processed by the processing rule.
  • the expire rule may of course set a timeout value for determining non-receipt of a relevant packet in a fixed time-period, after a fixed time-period has elapsed after setting the processing rule, as in Non Patent Literature 2.
  • FIG. 3 is a diagram illustrating a configuration example of the packet forwarding node 20 in the present exemplary embodiment.
  • the packet forwarding node 20 comprises a forwarding processing unit 21 that processes a packet using a processing rule that matches a received packet.
  • the forwarding processing unit 21 in response to receiving the packet, searches for a processing rule 100 matching the received packet, from a table database (table DB) 22, and in a case where a processing rule 100 matching the received packet is found, processes the received packet in accordance with an instruction of the processing rule 100.
  • the forwarding processing unit 21 makes a request to the control apparatus 10 for a processing rule that processes the received packet. It is to be noted that in a case where processing content to make an inquiry to the control apparatus 10 is prescribed in the processing rule 100 matching the received packet, the forwarding processing unit 21 may make the inquiry to the control apparatus 10 in accordance with the relevant processing rule.
  • the forwarding processing unit 21, for example, may be implemented using a mechanism similar to an OpenFlow switch of Non Patent Literature 1 or 2.
  • a communication unit 25 is means for implementing communication with the control apparatus 10 that sets processing rules for the packet forwarding node 20.
  • the forwarding processing unit 21 measures a statistical value based on statistical information (counters) of a processing rule updated in response to processing of a packet.
  • the forwarding processing unit 21 measures a statistical value corresponding to packet processing by a prescribed processing rule.
  • the statistical value is communication volume corresponding to packets processed by the prescribed processing rule.
  • the statistical value for example, is the number of packets or the number of bytes that can be processed by the processing rule.
  • the forwarding processing unit 21 may measure a statistical value obtained from packet processing volume according to each of a plurality of processing rules.
  • the forwarding processing unit 21 may measure a statistical value obtained from packet processing volume according to a processing rule matching a prescribed condition, among a plurality of processing rules held by the packet forwarding node 20.
  • the forwarding processing unit 21 may measure communication volume of a packet forwarding node 20, by measuring a statistical value obtained from packet processing volume for each of a plurality of processing rules.
  • the packet forwarding node 20 comprises the table DB 22 that stores processing rules.
  • the table DB 22 for example, is configured by a database that can store at least one table to be referred to when the forwarding processing unit 21 processes a received packet.
  • the packet forwarding node 20 comprises a processing rule management unit 23 that manages processing rules.
  • the processing rule management unit 23 deletes or causes to expire a processing rule based on an expire rule. For example, in a case where a statistical value indicated by statistical information (counters) exceeds a threshold set in the expire rule of the processing rule, the processing rule in question becomes invalid (for example, the processing rule is deleted or made to expire). It is to be noted that when a statistical value obtained from packet processing volume by each of a plurality of processing rules, and respective expire rules corresponding to each processing rule are compared, and a statistical value matches a certain expire rule, the processing rule corresponding to the expire rule is made invalid (for example, the processing rule is deleted or made to expire).
  • the processing rule management unit 23 may rewrite packet processing prescribed by a processing rule corresponding to the expire rule, to processing for dropping the packet. That is, the processing rule management unit 23 decides whether each processing rule is valid or not, based on the statistical value.
  • An expire rule management unit 24 updates an expire rule of a processing rule, based on an instruction to update the expire rule.
  • the expire rule management unit 24, for example, updates a threshold indicating a statistical value according to which processing by the processing rule is possible.
  • the expire rule management unit 24, for example, updates the number of packets or the number of bytes that can be processed by the processing rule.
  • the expire rule management unit 24 may receive a processing rule in which an expire rule has been updated, from the control apparatus 10, and set the processing rule including the updated expire rule in the table DB 22.
  • the expire rule management unit 24 may set a new expire rule.
  • the expire rule management unit 24 may update an expire rule of a processing rule that is already expired, and may make the processing rule valid and restart processing of a received packet by the processing rule.
  • the expire rule management unit 24 for example, updates an expire rule of a processing rule, and statistical information (counters) of the processing rule is maintained. That is, even if the expire rule is updated, the expire rule management unit 24 maintains, without updating, the statistical information measured until the expire rule is updated. Thus, even if the expire rule is updated, the forwarding processing unit 21 can continue to measure the statistical information.
  • the expire rule management unit 24, receives an instruction to update an expire rule from the control apparatus 10.
  • instructing an update of the expire rule to the expire rule management unit 24, is not limited to the control apparatus 10, and may be done by an external server (not shown in FIG. 1), for example.
  • the expire rule management unit 24, for example, by receiving a processing rule in which an expire rule has been updated, from the control apparatus 10, may set a new expire rule in the table DB 22.
  • the processing rule management unit 23 decides whether a processing rule is valid or not, based on the updated expire rule and statistical information.
  • the packet forwarding node 20 can update an expire rule that decides whether a processing rule is valid or not. As a result, the packet forwarding node 20 can flexibly carry out deleting or causing a processing rule to expire, and it is possible to perform flexible flow control based on communication volume.
  • the packet forwarding node 20 deletes or causes to expire a processing rule based on communication volume
  • the communication terminal 30 may also delete a processing rule or cause it to expire based on communication volume. This is similar to an exemplary embodiment described below. It is to be noted that the communication terminal 30 may be a mobile telephone, a personal computer, a mobile router, or the like.
  • the present invention may be applied to a communication apparatus such as the packet forwarding node 20, the communication terminal 30, or the like.
  • the communication terminal 30, for example, is provided with a configuration similar to the packet forwarding node 20, as in a configuration example of FIG. 4.
  • the communication terminal 30 holds a processing rule 100 set by the control apparatus 10, and processes a packet based on the relevant processing rule 100.
  • the communication terminal 30 holds a processing rule that includes an expire rule, and deletes the processing rule 100 or causes it to expire, based on the expire rule.
  • the expire rule may be set in the packet forwarding node 20, separate from the processing rule 100.
  • the packet forwarding node 20, for example, may be provided with a table (not shown in FIG. 3) that sets the expire rule, separate from the flow table 22.
  • FIG. 5 is a diagram illustrating a system configuration example of the first exemplary embodiment.
  • the system of the first exemplary embodiment of the invention includes a communication terminal 30, packet forwarding nodes 20-1 to 20-3 that implement communication of the communication terminal 30, and a control apparatus 10 that controls each of the packet forwarding nodes 20-1 to 20-3.
  • the communication system of the first exemplary embodiment of the invention includes a server 40 and an accounting server 50.
  • the accounting server 50 is an apparatus that manages contracts concerning communication by the communication terminal 30.
  • the accounting server 50 for example, manages contract information in accordance with communication volume by the communication terminal 30.
  • the communication terminal 30 has a contract with the accounting server 50, paying a communication charge corresponding to a prescribed communication volume, and in a case of exceeding the prescribed communication volume, an additional communication charge must be paid.
  • a user of the communication terminal 30 pays an additional charge corresponding to the additional communication volume (as regards the method of payment, any method is possible, such as a prepaid system, credit card, online/offline or the like) to the accounting server 50.
  • the accounting server 50 updates contract information for the communication terminal 30 according to the payment of the additional charge and increases the allowed communication volume for the communication terminal 30.
  • the accounting server 50 may also decrease the allowed communication volume of the communication terminal 30. For example, in a case where the rate of increase per unit time for communication volume of the communication terminal 30 exceeds a prescribed threshold, the accounting server 50 may decrease the allowed communication volume of the communication terminal 30. By decreasing the allowed communication volume, the accounting server 50 can curtail communication by a user who occupies too much of a communication band of the communication system (that is, a heavy user), and can stabilize the communication system.
  • the accounting server 50 In response to the contract information being set or updated, the accounting server 50 notifies the control apparatus 10 of the contract information thereof. It is to be noted that the accounting server 50 may set a new expire rule from the contract information, and may directly transmit the set expire rule to a packet forwarding node 20.
  • FIG. 6 is a diagram illustrating a configuration example of the control apparatus 10 in FIG. 5.
  • the control apparatus 10 includes an expire rule management unit 11, a communication terminal location management unit 12, a topology management unit 13, a control message processing unit 14, a path action calculation unit 15, a packet forwarding node management unit 16, a processing rule management unit 17, a processing rule database 18, and a node communication unit 19.
  • the expire rule management unit 11 manages an expire rule including a statistical value upper limit (threshold), for each processing rule, or for each combination of communication transmission source and destination (respectively managed by MAC (Media Access Control) address, IP (Internet Protocol) address, and the like). It is to be noted that in a case of managing by a combination of the source and destination, one of either the source or destination may be a wildcard, that is, arbitrary. Besides the statistical value described above, various types of timeout value or the like may be set as an expire rule. For example, separate from the statistical value, if a timeout value (a hard timeout value, an idle timeout value) is set, it is possible to delete a processing rule after a fixed time has elapsed, without the statistical value exceeding the prescribed threshold.
  • a timeout value a hard timeout value, an idle timeout value
  • the expire rule management unit 11 In response to a notification of contract information from the accounting server 50, the expire rule management unit 11, for example, sets or updates an expire rule of a processing rule stored in the processing rule database 18.
  • the expire rule management unit 11 decides data volume that can be communicated by the communication terminal 30.
  • the expire rule management unit 11 sets the decided data volume in an expire rule of a processing rule.
  • the expire rule management unit 11 updates a threshold indicating a statistical value according to which processing by the processing rule is possible.
  • the threshold for example, is the number of packets or the number of bytes that can be processed by the processing rule.
  • the expire rule management unit 11 sets a communication volume corresponding to the contract information as an expire rule of the processing rule.
  • the expire rule management unit 11 may separately update the respective plural expire rules. For example, in a case where two expire rules are set, namely a statistical value and a timeout value, the expire rule management unit 11 may update only the statistical value or the timeout value, or may update both the statistical value and the timeout value. In response to an update of the expire rule, the expire rule management unit 11 notifies the path action calculation unit 15 of content of the update.
  • the communication terminal location management unit 12 manages information for identifying the location of the communication terminal 30 that is connected to the communication system.
  • the communication terminal location management unit 12 for example, manages the location of the communication terminal 30 by information for distinguishing the packet forwarding node 20 to which the communication terminal 30 is connected, and port information thereof.
  • the topology management unit 13 configures network topology information based on connection relations of the packet forwarding node 20 collected via the node communication unit 19. In a case where the topology information changes, the topology management unit 13 may notify the change in topology information to the path action calculation unit 15, and may make the path action calculation unit 15 perform resetting of existing processing rules and the like.
  • the control message processing unit 14 analyzes control messages received from the packet forwarding node 20, and delivers the control message information to a relevant processing means inside the control apparatus 10.
  • the path action calculation unit 15 has a means for calculating a forwarding path of a packet based on location information of the communication terminal 30 managed by the communication terminal location management unit 12 and topology information managed by the topology management unit 13.
  • the path action calculation unit 15 refers to information of each packet forwarding node 20 managed by the packet forwarding node management unit 16 (for example, capability information of the respective packet forwarding nodes 20), and functions as a means for obtaining processing content (action) to be executed by the respective packet forwarding nodes 20.
  • the path action calculation unit 15 refers to an expire rule of each processing rule managed by the expire rule management unit 11, and functions as a means for deciding a value to be set in the expire rule of each processing rule.
  • the path action calculation unit 15 confirms whether or not the processing rules are set in the packet forwarding nodes 20. In a case where a processing rule is set in a packet forwarding node 20, the path action calculation unit 15 updates the expire rule of that processing rule. On the other hand, in a case where a processing rule is not set in the packet forwarding node 20, the path action calculation unit 15 creates a processing rule including an updated expire rule, and notifies the packet forwarding node 20 corresponding to the created processing rule.
  • the packet forwarding node management unit 16 manages respective capabilities (for example, number and type of port, type of action supported, and the like) of the packet forwarding nodes 20 that are managed.
  • the processing rule management unit 17 manages processing rules set in a packet forwarding node 20.
  • the processing rule management unit 17 stores a result calculated by the path action calculation unit 15 in the processing rule database 18 as a processing rule.
  • the processing rule management unit 17 updates content of the processing rule database 18.
  • the processing rule database 18 stores at least one processing rule.
  • the node communication unit 19 performs communication with respect to each of the packet forwarding nodes 20.
  • the node communication unit 19 communicates with the packet forwarding node 20 using an OpenFlow protocol of Non Patent Literature 2.
  • the communication protocol between the node communication unit 19 and the packet forwarding node 20 is not limited to the OpenFlow protocol.
  • the control apparatus 10 as described above may be implemented by a configuration, for example, modified so that the expire rule management unit 11 is added to the OpenFlow controller of Non Patent Literature 2, and the path action calculation unit 15 generates a processing rule including an expire rule.
  • FIG. 7 is a diagram illustrating a configuration example of the respective packet forwarding nodes 20 of FIG. 5
  • Each of the packet forwarding nodes 20 includes a forwarding processing unit 21, a table database (table DB) 22, a processing rule management unit 23, an expire rule updating unit 24, and a communication unit 25.
  • the communication terminal 30 may be provided with a configuration similar to the packet forwarding nodes 20.
  • the forwarding processing unit 21 has a table retrieval unit 210 and an action execution unit 211.
  • the table retrieval unit 210 retrieves a processing rule having a match field that matches a received packet, from a table stored in the table DB 22.
  • the action execution unit 211 performs packet processing in accordance with processing content shown in an instruction field of the processing rule retrieved by the table retrieval unit 210.
  • the forwarding processing unit 21 In a case where a processing rule having a match field that matches the received packet is not found, the forwarding processing unit 21 notifies this to the processing rule management unit 23. In a case where making an enquiry to the control apparatus 10 is specified as a packet processing method, in a processing rule having a match field that matches the received packet, the forwarding processing unit 21 may give notification to the processing rule management unit 23. The processor rule management unit 23 receives the notification from the forwarding processing unit 21, and makes an enquiry to the control apparatus 10 via the communication unit 25.
  • the forwarding processing unit 21 updates statistical information (counters) of a processing rule recorded in the table DB 22, in response to packet processing.
  • the forwarding processing unit 21 may obtain a statistical value from the statistical information (counters) corresponding to each of a plurality of processing rules. For example, the forwarding processing unit 21 calculates the statistical values by adding up the statistical information corresponding to the respective processing rules, and the processing rule management unit 23 compares the statistical values and expire rules of each of the processing rules to determine whether or not each processing rule is valid. Furthermore, for example, the forwarding processing unit 21 calculates statistical values from the statistical information corresponding to processing rules corresponding to a prescribed condition, among the processing rules stored in the table DB 22. For example, the forwarding processing unit 21 calculates statistical values from the statistical information corresponding to processing rules for processing packets inputted from a prescribed port, and processing rules for outputting packets to a prescribed port.
  • the table DB 22 is configured by a database that can store at least one table to be referred to when the forwarding processing unit 21 processes a received packet.
  • FIG. 8 is an example of a table set in the table DB 22 of the packet forwarding node 20.
  • a processing rule that implements communication between the communication terminal 30 of FIG. 5 and a server 40 is set.
  • an IP address of the communication terminal 30 is set as a transmission source IP address in a header field of a packet with a destination of the server 40 from the communication terminal 30, and the IP address of the server 40 is set as a destination IP address. Therefore, when a packet with a destination of the server 40 is received from the communication terminal 30, the table retrieval unit 210 of the packet forwarding node 20 retrieves the second processing rule from the top of the table of FIG. 8 as a processing rule that matches the received packet.
  • the action execution unit 211 of the packet forwarding node 20 then forwards the relevant received packet from the port connected to the packet forwarding node 20, in accordance with content shown in the instruction field. It is to be noted that, in a case where there is no processing rule corresponding to the received packet, or in a case where "instructions" specified in the processing rule relate to an enquiry to the control apparatus 10, the packet forwarding node 20, for example, makes a request to the control apparatus 10 to set a processing rule.
  • an IP address of the server 40 is set as a transmission source IP address in a header field of a packet with a destination of the communication terminal 30 from the server 40, and the IP address of the communication terminal 30 is set as a destination IP address. Therefore, when a packet with a destination of the communication terminal 30 is received from the server 40, the table retrieval unit 210 of the packet forwarding node 20 retrieves the first processing rule from the top of the table of FIG. 8 as a processing rule that matches the received packet. The action execution unit 211 of the packet forwarding node 20 then forwards the relevant received packet from the port connected to the communication terminal 30, in accordance with content shown in the instruction field.
  • the packet forwarding node 20 makes a request to the control apparatus 10 to set a processing rule.
  • values (thresholds) corresponding to communication volumes of 100 Mbytes and 10 Mbytes are set.
  • units of the statistical value that is a threshold for deleting a processing rule are specified as bytes, but it is also possible to use the number of packets.
  • statistical information (counters) in a case of managing the statistical information in bits or other units, the bits or other units may be used.
  • the processing rule management unit 23 is a means for managing a table held in the table DB 22. Specifically, the processing rule management unit 23 records a processing rule indicated by the control apparatus 10 in the table DB 22. In response to a notification that a new packet has been received, from the forwarding processing unit 21, the processing rule management unit 23 makes a request to the control apparatus 10 to set a processing rule for processing the received packet.
  • the processing rule management unit 23 refers to an expire rule and statistical information (counters) of a processing rule included in each table, and in a case where a statistical value indicated in the statistical information exceeds a threshold set in the expire rule of the processing rule, performs processing to delete the processing rule or cause it to expire.
  • the processing rule management unit 23 performs an operation to delete the processing rule in question.
  • the statistical information of the processing rule is updated in response to packet processing volume by the processing rule.
  • the processing rule management unit 23 performs an operation to delete the processing rule in question. It is to be noted that the statistical information of the processing rule is updated in response to packet processing volume by the processing rule.
  • the processing rule management unit 23 may obtain statistical values from the statistical information of the first and second processing rules of the table shown as an example in FIG. 8, and may compare the statistical values with expire rules of each of the processing rules.
  • the statistical values are obtained by adding up the statistical information of the respective processing rules. For example, in a case where the obtained statistical value is 10 Mbytes, the statistical value matches an expire rule of the second processing rule of the table shown as an example in FIG. 8. In this case, the second processing rule of the table is deleted.
  • the processing rule management unit 23 may rewrite packet processing prescribed by a processing rule corresponding to the expire rule, to processing for dropping the packet.
  • the processing rule management unit 23 may start traffic shaping for packet processing prescribed by a processing rule corresponding to the expire rule.
  • Traffic shaping indicates, for example, regulating the forwarding rate of packet flow corresponding to a processing rule where the statistical value exceeds a threshold.
  • Regulation of forwarding rate indicates a process to delay packet flow or a process to perform control so that forwarding rate does not exceed a prescribed value.
  • regulation of forwarding rate is not limited to a process to delay packet flow or a process to perform control so that forwarding rate does not exceed a prescribed value.
  • the expire rule management unit 24 inside the processing rule management unit 23 updates an expire rule of a processing rule, based on an instruction to update the expire rule.
  • the expire rule management unit 24 may set a new expire rule.
  • the expire rule management unit 24 sets a threshold of 100 Mbytes as the expire rule, for a processing rule in which an expire rule is not set (for example, a processing rule in which the expire rule is blank).
  • the expire rule management unit 24 may update an expire rule of a processing rule that is already expired, and may make the processing rule valid and restart processing of a received packet by the processing rule.
  • the expire rule management unit 24 updates an expire rule for a processing rule, and statistical information (counters) of the processing rule is maintained. That is, even if the expire rule is updated, the expire rule management unit 24 maintains, without updating, the statistical information measured until the expire rule is updated. Thus, even if the expire rule is updated, the forwarding processing unit 21 can continue to measure the statistical information.
  • the expire rule management unit 24 receives an instruction to update an expire rule from the control apparatus 10.
  • instructing the expire rule management unit 24 to update the expire rule is not limited to the control apparatus 10, and may be done by the accounting server shown in FIG. 4, for example, or by another apparatus.
  • the expire rule management unit 24, by receiving a processing rule in which an expire rule has been updated from the control apparatus 10 or the accounting server 50, may set a new expire rule in the table DB 22.
  • the processing rule management unit 23 deletes the processing rule or causes it to expire based on an expire rule after updating.
  • the processing rule management unit 23 does not delete the processing rule in question or cause it to expire, until the statistical information (counters) exceeds 200 Mbytes.
  • the communication unit 25 is a means for implementing communication with the control apparatus 10 that sets processing rules for the packet forwarding node 20.
  • the communication unit 25 communicates with the control apparatus 10 using an OpenFlow protocol of Non Patent Literature 2.
  • the communication protocol of the communication unit 25 and the control apparatus 10 are not limited to the OpenFlow protocol.
  • FIG. 9 is an example, and operations of the present invention are not limited to a sequence of FIG. 9.
  • FIG. 9 is a sequence diagram for describing operations of the communication system according to the first exemplary embodiment. In the description below, in an initial state, a processing rule to implement communication between the communication terminal 30 and the server 40 is not set in the packet forwarding node 20.
  • the communication terminal 30 enters into a contract in accordance with communication volume, with the accounting server 50.
  • the accounting server 50 manages contract information of the communication terminal 30 (step S100 in FIG. 9).
  • the accounting server 50 gives notification of the contract information of the communication terminal 30 to the control apparatus 10 (step S101 in FIG. 9).
  • the packet forwarding node 20-1 When the communication terminal 30 transmits a user packet with a destination of the server 40 (step S102 in FIG. 9), the packet forwarding node 20-1 that receives the packet searches for a processing rule with a match field that matches the received packet from the table. The packet forwarding node 20-1 does not find a processing rule matching the packet, or alternatively retrieves a processing rule prescribing an enquiry to the control apparatus 10 and requests the control apparatus 10 to set a processing rule (step S103 in FIG. 9; Packet-In).
  • the control apparatus 10 that receives the request to set the processing rule creates processing rules (in both directions) with an expire rule attached as shown in FIG. 8, in a path action calculation unit 15, and performs setting in the respective packet forwarding nodes 20 (step S104 in FIG. 9; FlowMod).
  • the control apparatus 10 decides data volume that can be communicated by the communication terminal 30.
  • the control apparatus 10 for example, decides the data volume to be 100 Mbytes.
  • the control apparatus 10 sets the decided data volume in an expire rule of a processing rule.
  • the expire rule management unit 11 may determine whether or not communication is possible between the communication terminal 30, which is a transmission source of a received packet, and a prescribed communication partner (for example, the server 40). In this case, the expire rule management unit 11 creates a processing rule in response to a determination that communication is possible.
  • the control apparatus 10 gives an instruction to return the packet received in step S103 to the packet forwarding node 20, and to forward to the packet forwarding node 20 (step S105 in FIG. 9; Packet-Out).
  • the packet forwarding nodes 20-2 and 20-3 forward the packet to the server 40 in accordance with processing rules set in each thereof (step S106 in FIG. 9).
  • the packet forwarding nodes 20-1 to 20-3 forward user packets transmitted/received between the communication terminal 30 and the server 40 in accordance with processing rules set in each thereof (step S107 in FIG. 9).
  • the communication terminal 30 pays an additional charge corresponding to the additional communication volume to the accounting server 50 (step S108 in FIG. 9).
  • the accounting server 50 gives notification of the contract information after updating to the control apparatus 10, in response to the contract being updated by the communication terminal 30 (step S109 in FIG. 9).
  • the control apparatus 10 Based on notification of contract information after updating, the control apparatus 10 gives an instruction to the packet forwarding node 20 to update an expire rule of a corresponding processing rule.
  • the packet forwarding node 20 modifies the expire rule of the processing rule in response to the instruction to update the expire rule (step S110 in FIG. 9). It is to be noted that the control apparatus 10 may notify the packet forwarding node 20 of the processing rule that includes the updated expire rule.
  • the packet forwarding node 20 processes the packet, in accordance with the processing rule in which the expire rule has been updated (step S111 in FIG. 9).
  • the control apparatus 10 gives notification of a new expire rule as an indication of updating an expire rule.
  • the indication of the expire rule indicated by the control apparatus 10 is not limited to a new expire rule, but may be the difference between an original expire rule and the new expire rule.
  • the packet forwarding node 20 modifies the expire rule by only the relevant difference, based on the difference notified by the control apparatus.
  • FIG. 10 is a diagram illustrating a configuration example of a communication system according to the second exemplary embodiment.
  • a point of difference from the first exemplary embodiment is a configuration of a communication terminal 30A. Since other matters are similar to the first exemplary embodiment, the description centers on points of difference therefrom.
  • FIG. 10 is a diagram illustrating a configuration example of a communication system according to the second exemplary embodiment.
  • a point of difference from the first exemplary embodiment is a configuration of a communication terminal 30A. Since other matters are similar to the first exemplary embodiment, the description centers on points of difference therefrom.
  • FIG. 10 is a diagram illustrating a configuration example of a communication system according to the second exemplary embodiment.
  • a point of difference from the first exemplary embodiment is a configuration of a communication terminal 30A. Since other matters are similar to the first exemplary embodiment, the description centers on points of difference therefrom.
  • FIG. 10 is a diagram illustrating a configuration example of a communication system according to the second exemplary embodiment.
  • the communication terminal 30A is provided with a plurality of application units 31-1 to 31-n.
  • the communication terminal 30A is provided with a protocol stack unit 32 that provides a function for communication by an arbitrary protocol to the application units 31-1 to 31-n.
  • the communication terminal 30A is provided with a packet forwarding function unit 33 that is connected to the protocol stack unit 32 and performs packet processing similar to the packet forwarding nodes 20 of the first exemplary embodiment described above.
  • the packet forwarding function unit 33 performs packet processing based on a processing rule with expire rule attached set by the control apparatus 10, similar to the packet forwarding nodes 20 of the first exemplary embodiment.
  • the packet forwarding function unit 33 is provided with a forwarding processing unit 21, a table database (table DB) 22, a processing rule management unit 23, an expire rule updating unit 24, and a communication unit 25, similar to the packet forwarding nodes 20 of the first exemplary embodiment.
  • the packet forwarding function unit 33 performs processing of a packet outputted from the protocol stack unit 32 and processing of user traffic forwarded by a packet forwarding node 20-1.
  • the packet forwarding function unit 33 can be realized by using hardware (memory, communication means) of a computer configuring the communication terminal 30A, in a computer program that performs the abovementioned packet processing.
  • the computer program may be pre-installed in the communication terminal 30A, or may be installable by downloading from an application server or the like, not shown in the drawings.
  • FIG. 12 is a specific example of a table set in a table DB inside the packet forwarding function unit 33.
  • a processing rule that realizes communication between the protocol stack unit 32 inside the communication terminal 30A of FIG. 11 and the server 40 is set.
  • an IP address of the communication terminal 30A is set as a transmission source IP address in a header field of a packet with a destination of the server 40 from the protocol stack unit 32 inside the communication terminal 30A, and an IP address of the server 40 is set as a destination IP address. Therefore, when a packet with a destination of the server 40 is received from the protocol stack unit 32 inside the communication terminal 30A, a table retrieval unit inside the packet forwarding function unit 33 retrieves the second processing rule from the top of the table of FIG.
  • An action execution unit inside the packet forwarding function unit 33 then forwards the relevant received packet from a port connected to the packet forwarding node 20-1, in accordance with content shown in an instruction field. It is to be noted that, in a case where there is no processing rule corresponding to the received packet, the communication terminal 30A makes a request to the control apparatus 10 to set a processing rule.
  • the IP address of the server 40 is set as a transmission source IP address in a header field of a packet with a destination of the communication terminal 30A from the server 40, and the IP address of the communication terminal 30A is set as a destination IP address. Therefore, when a packet with a destination of the communication terminal 30A is received from the server 40, a table retrieval unit inside the packet forwarding function unit 33 retrieves the first processing rule from the top of the table of FIG. 12 as a processing rule that matches the received packet. An action execution unit inside the packet forwarding function unit 33 then forwards the relevant received packet from a port connected to the protocol stack unit 32 of the communication terminal 30A, in accordance with content shown in the instruction field. It is to be noted that, in a case where there is no processing rule corresponding to the received packet, the communication terminal 30A makes a request to the control apparatus to set a processing rule.
  • values (thresholds) of 100 Mbytes and 10 Mbytes are set, similar to the first exemplary embodiment.
  • a table management unit inside the packet forwarding function unit 33 deletes the processing rule in question.
  • a table management unit inside the packet forwarding function unit 33 deletes the processing rule in question.
  • the packet forwarding function unit 33 may obtain statistical values from the statistical information (counters) of the first and second processing rules of the table in FIG. 12, and may compare the statistical values with expire rules of the respective processing rules.
  • a statistical value for example, is obtained by adding up the statistical information of the respective processing rules. For example, in a case where the obtained statistical value is 10 Mbytes, the statistical value matches an expire rule of the second processing rule of the table exemplified in FIG. 12. In this case, the second processing rule of the table is deleted.
  • the packet forwarding function unit 33 calculates a statistical value from the statistical information corresponding to a processing rule corresponding to a prescribed rule, among the processing rules stored in the table DB. For example, the packet forwarding function unit 33 calculates a statistical value from statistical information (counters) corresponding to a processing rule for processing a packet inputted from a prescribed port, and a processing rule for outputting a packet to a prescribed port.
  • the communication terminal 30A calculates a statistical value from statistical information (counters) corresponding to a processing rule for transmitting/receiving packets via a prescribed communication port (for example, the 3G communication port) among the plurality of communication ports.
  • the packet forwarding function unit 33 updates an expire rule for a processing rule, based on an instruction to update the expire rule from the control apparatus 10.
  • An expire rule management unit within the packet forwarding function unit 33 for example, updates 100 Mbytes (threshold), which is an expire rule of the first processing rule from the top of the table shown in FIG. 12, to 200 Mbytes, by an instruction from the control apparatus 10.
  • the packet forwarding function unit 33 for example, updates 10 Mbytes, which is an expire rule of the second processing rule from the top of the table shown in FIG. 12, to 20 Mbytes, by an instruction from the control apparatus 10. In a case where the expire rule is set to a number of packets, the packet forwarding function unit 33 updates that number of packets.
  • the packet forwarding function unit 33 may set a new expire rule.
  • the packet forwarding function unit 33 sets a threshold of 100 Mbytes as the expire rule, for a processing rule in which an expire rule is not set (for example, a processing rule in which an expire rule is blank).
  • the packet forwarding function unit 33 may update an expire rule of a processing rule that is already expired, and may make the processing rule valid and restart processing of a received packet by the processing rule.
  • the packet forwarding function unit 33 updates an expire rule of a processing rule, and statistical information (counters) of the processing rule is maintained. That is, even if the expire rule is updated, the packet forwarding function unit 33 maintains, without updating, the measured statistical information until the expire rule is updated. Thus, even if the expire rule is updated, the forwarding processing unit 21 can continue to measure the statistical information.
  • the packet forwarding function unit 33 receives an instruction to update an expire rule from the control apparatus 10.
  • instructing an update of the expire rule to the packet forwarding function unit 33 is not limited to the control apparatus 10, and, for example, may be done by the accounting server 50 or by another apparatus.
  • the packet forwarding function unit 33 deletes the processing rule or causes it to expire based on the expire rule after updating.
  • the packet forwarding function unit 33 does not delete the processing rule in question or cause it to expire until the statistical information (counters) exceeds 200 Mbytes.
  • the processing rule as above may be set in the same way as the packet forwarding nodes 20-1 to 20-3.
  • control apparatus 10 may set a new processing rule to drop subsequent packets corresponding to the deleted processing rule, in the packet forwarding function unit 33 of the communication terminal 30A and the packet processing nodes 20-1 to 20-3. In this way, it is possible to limit traffic of packets where a statistical value exceeds a prescribed threshold.
  • the control apparatus 10 may set a new processing rule prescribing a method of forwarding subsequent packets corresponding to the deleted processing rule, in the packet forwarding function unit 33 and the packet processing nodes 20-1 to 20-3, and in addition, may instruct traffic shaping to the packet forwarding function unit 33 and to a prescribed node among the packet forwarding nodes 20-1 to 20-3.
  • Traffic shaping indicates, for example, regulating the forwarding rate of packet flow corresponding to a processing rule where the statistical value exceeds a threshold.
  • Regulation of forwarding rate indicates a process to delay packet flow or a process to perform control so that the forwarding rate does not exceed a prescribed value.
  • regulation of the forwarding rate is not limited to a process to delay packet flow or a process to perform control so that the forwarding rate does not exceed a prescribed value.
  • the control apparatus 10 may give an instruction to a prescribed node to control the forwarding rate not only with regard to a packet flow corresponding to a processing rule where the statistical value exceeds a threshold, but also with regard to a separate packet flow corresponding to that packet flow.
  • the packet flow corresponding to a processing rule where the statistical value exceeds a threshold is a flow transmitted from the communication terminal 30A to the server 40
  • the separate packet flow corresponding to that packet flow is a flow transmitted from the server 40 to the communication terminal 30A.
  • FIG. 13 is a sequence diagram for describing an operation example of the communication system according to the second exemplary embodiment.
  • a processing rule to implement communication between the communication terminal 30A and the server 40 is not set in the packet forwarding function unit 33 of the communication terminal 30A and the packet forwarding nodes 20-1 to 20-3.
  • the communication terminal 30A enters into a contract in accordance with communication volume, with the accounting server 50.
  • the accounting server 50 manages contract information of the communication terminal 30A (step S200 in FIG. 13).
  • the accounting server 50 gives notification of the contract information of the communication terminal 30A to the control apparatus 10 (step S201 in FIG. 13).
  • the packet forwarding function unit 33 of the communication terminal 30A transmits a user packet with a destination of the server 40 from the protocol stack unit 32
  • the packet forwarding function unit 33 searches for a processing rule with a match field that matches the received packet from the table.
  • the packet forwarding function unit 33 does not find a processing rule matching the packet, or alternatively retrieves a processing rule prescribing an enquiry to the control apparatus 10, and requests the control apparatus 10 to set a processing rule (step S202 in FIG. 13; Packet-In).
  • the control apparatus 10 that receives the request to set the processing rule creates processing rules (in both directions) with an expire rule attached as shown in FIG. 12, in a path action calculation unit 14, and performs setting in the packet forwarding function unit 33 (step S203 in FIG. 13; FlowMod).
  • the control apparatus 10 decides data volume that can be communicated by the communication terminal 30A.
  • the control apparatus 10 for example, decides the data volume to be 100 Mbytes.
  • the control apparatus 10 sets the decided data volume in an expire rule of a processing rule.
  • the expire rule management unit 11 may determine whether or not communication is possible between the communication terminal 30A, which is a transmission source of a received packet, and a prescribed communication partner (for example, the server 40). In this case, the expire rule management unit 11 creates a processing rule in response to a determination that communication is possible.
  • the control apparatus 10 gives an instruction to the packet forwarding function unit 33 of the communication terminal 30A to return the packet received in step S202 to the packet forwarding node 20, and to forward the packet to the packet forwarding node 20 (step S204 in FIG. 13; Packet-Out).
  • the packet forwarding function unit 33 of the communication terminal 30A forwards the packet to the packet forwarding node 20-1
  • the packet forwarding nodes 20-2 to 20-3 forward the packet to the server 40 in accordance with processing rules set in each of them (step S205 in FIG. 13).
  • the packet forwarding nodes 20-1 to 20-3 forward user packets transmitted/received between the communication terminal 30A and the server 40 in accordance with processing rules set of each thereof (step S206 in FIG. 13).
  • the communication terminal 30A pays an additional charge corresponding to the additional communication volume to the accounting server 50 (step S207 in FIG. 13).
  • the accounting server 50 gives notification of the contract information after updating to the control apparatus 10, in response to the contract being updated by the communication terminal 30A (step S208 in FIG. 13).
  • the control apparatus 10 Based on notification of the contract information after updating, the control apparatus 10 gives an instruction to the packet forwarding node 20 to update an expire rule of a corresponding processing rule.
  • the packet forwarding node 20 modifies the expire rule of the processing rule in response to the instruction to update the expire rule (step S209 in FIG. 13). It is to be noted that the control apparatus 10 may notify the packet forwarding node 20 of the processing rule that includes the updated expire rule.
  • the packet forwarding node 20 processes the packet, in accordance with the processing rule in which the expire rule has been updated (step S210 in FIG. 13).
  • the present invention can also be implemented by a configuration example in which the packet forwarding function unit 33 is built-in on the communication terminal 30A side. Furthermore, in comparison with the first exemplary embodiment described above, since in the present exemplary embodiment it is possible to perform flow control such as packet dropping or the like inside the communication terminal, an effect is realized of being able to decrease traffic flowing in the packet forwarding nodes 20, and to reduce the load of the packet forwarding nodes 20 and the control apparatus 10. It is to be noted that a configuration example in which an expire rule is included in a processing rule was shown, but the expire rule may also be set in the communication terminal 30A, separate from the processing rule.
  • FIG. 14 is a diagram illustrating a configuration example of a control apparatus 10A according to the third exemplary embodiment.
  • a point of difference from a control apparatus of the first exemplary embodiment and the second exemplary embodiment is that an expire rule management unit 11 is replaced by a contract information management unit 11A. Since other matters are similar to the first exemplary embodiment and the second exemplary embodiment, the description below centers on points of difference therefrom.
  • the contract information management unit 11A of the present exemplary embodiment manages contract information of a communication terminal 30, and generates an expire rule making reference to the relevant contract information, in response to a request from a path action calculation unit 15.
  • the contract information may be provided to the path action calculation unit 15, and the path action calculation unit 15 may use the contract information in the path calculation.
  • the contract information management unit 11A notifies the path action calculation unit 15 to create a processing rule in which 10 Mbytes is set as an expire rule. It is to be noted that in this case, the contract information management unit 11A may give notification for creating a plurality of processing rules in which 10 Mbytes is set as an expire rule.
  • control apparatus 10A may collect statistical information (counters) of the processing rule in question, and may record a statistical value concerning remaining possible communication for the user of the communication terminal 30.
  • a point of difference from the first to third exemplary embodiments described above is that a table is divided into a first table storing processing rules for processing packets, and a second table managing prescribed rules for making reference to the first table. Since other matters are similar to the first to third exemplary embodiments, the description below centers on points of difference therefrom.
  • a packet forwarding function unit 33 of a communication terminal 30A or a forwarding processing unit 21 of a packet forwarding node 20 determine whether or not it is possible to refer to the first table (for example, Table 1 in FIG. 15) that stores processing rules for processing a packet, based on a prescribed rule managed by the second table (for example, Table 0 in FIG. 15).
  • the prescribed rule is decided based on, for example, communication volume, or time that has elapsed from a processing rule being set in the first table, or the like.
  • the prescribed rule is not limited to communication volume or elapsed time.
  • FIG. 15 is a diagram showing an example of a table set in a packet forwarding function unit 33, in a configuration in which the packet forwarding function unit 33 is arranged inside the communication terminal 30A as shown in FIG. 11.
  • the table (Table 0) in the upper part of FIG. 15 manages packet processing volume by a prescribed processing rule stored in the lower table (Table 1), as a prescribed rule (for example, an expire rule of Table 0).
  • a processing volume of "100 Mbytes" is prescribed as an expire rule which is one example of the prescribed rule.
  • the packet forwarding function unit 33 measures packet processing volume by a processing rule (first entry in Table 1) corresponding to a packet flow transmitted from a server 40 to the communication terminal 30A, and a processing rule (second entry in Table 1) corresponding to a packet flow transmitted from the communication terminal 30A to the server 40, as statistical information (counters in Table 0).
  • a method of selecting a processing rule for management of statistical values is arbitrary, and is not limited to a method of selection based on destination/source of a packet flow as described above.
  • the table (Table 0) has a processing rule set in which processing content (Goto Table 1) is decided, allowing processing by the table (Table 1) in the lower part of FIG. 15, until the statistical value exceeds 100 Mbytes.
  • the upper table (Table 0) of FIG. 15 may measure, as a statistical value, time elapsed after a prescribed processing rule is set in the lower table (Table 1), as a prescribed rule.
  • the packet forwarding node 20 forwards packets transmitted/received by a plurality of communication terminals 30A
  • the Table 0 of the packet forwarding node 20 may hold a plurality of entries respectively corresponding to the plurality of communication terminals 30A.
  • a rule for a communication terminal 30A corresponding to the entry is set in an expire rule of each entry.
  • a statistical value for the communication terminal 30A corresponding to the entry is stored in the statistical information (counters) of each entry.
  • the packet forwarding function unit 33 distinguishes the communication terminal 30A by referring to a transmission source address of a packet flow, for example, and stores the statistical value in a corresponding entry in Table 0.
  • the packet forwarding function unit 33 of the communication terminal 30A or a processing rule management unit 23 of the packet forwarding node 20 in a case where the statistical value satisfies a prescribed rule, (for example, a case where the processing volume exceeds a prescribed threshold), prescribed processing is executed with regard to a processing rule stored in Table 1.
  • a processing rule stored in Table 1 for example, the packet forwarding function unit 33 or a table management unit 12 executes processing to delete a processing rule of Table 1, or rewrites a method of packet processing prescribed in a processing rule to packet dropping.
  • the upper table (Table 0) of FIG. 15 for example, updates a prescribed rule (for example, an expire rule of Table 0) by an instruction from the control apparatus 10.
  • the packet forwarding function unit 33 or the processing rule management unit 23 updates 100 Mbytes, which is an expire rule in the upper table (Table 0) of FIG. 15, to 200 Mbytes, by an instruction from the control apparatus 10.
  • the packet forwarding function unit 33 updates that number of packets.
  • the numbers and connection configurations of the packet forwarding nodes 20, the control apparatus 10, the communication terminal 30, the server 40, and the accounting server 50, shown in the respective exemplary embodiments above, are shown in order to simply describe the present invention, and the numbers and connection configurations thereof can be modified as necessary.
  • the respective exemplary embodiments make reference to OpenFlow, which is related technology, but the present invention is not limited to using OpenFlow.
  • a communication architecture in which packet forwarding paths are centrally controlled by a control apparatus can be applied to the present invention, without being limited to OpenFlow.
  • Patent Literatures and Non-Patent Literatures are incorporated herein by reference thereto. 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 selections of various disclosed elements (including each element of 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 the claims and the technical concept. Particularly, any numerical range disclosed herein should be interpreted that any intermediate values or subranges falling within the disclosed range are also concretely disclosed even without specific recital thereof.

Abstract

It is not possible for a control apparatus to flexibly perform flow control by only deleting a flow entry based on a timer. A communication apparatus, comprises: a packet processing unit that processes, based on a processing rule set by a control apparatus, a packet corresponding to the processing rule; a forwarding processing unit that measures a statistical value obtained from processing volume by the processing rule; and a processing rule management unit that determines whether or not the processing rule is valid, based on the statistical value and a determination condition, wherein the processing rule management unit, in response to update of the determination condition, determines whether or not the processing rule is valid according to the updated determination condition.

Description

COMMUNICATION SYSTEM, CONTROL APPARATUS, COMMUNICATION APPARATUS, ACCOUNTING SERVER, COMMUNICATION METHOD AND PROGRAM
(CROSS-REFERENCE TO RELATED APPLICATIONS)
The present application claims priority from Japanese Patent Application No. JP2012-074917 (filed on March 28, 2012) the content of which is hereby incorporated herein in its entirety by reference thereto. The present invention relates to a communication system, a control apparatus, a communication apparatus, a communication method and a program, and in particular relates to a communication system, a control apparatus, a communication apparatus, a communication method and a program, in a network centrally controlled by the control apparatus.
Background
Recently, technology known as OpenFlow has been proposed (refer to Patent Literature 1 and Non Patent Literatures 1 and 2). In OpenFlow, communication is taken as end-to-end flow, and path control, failure recovery, load balancing, and optimization are performed on a per-flow basis. An OpenFlow switch as specified in Non Patent Literature 2 is provided with a secure channel for communication with an OpenFlow controller, and operates according to a flow table to which additions are made or which is rewritten as appropriate according to an instruction from the OpenFlow controller. In the flow table, a set of the following is defined for each flow: match fields in which conditions for matching a packet header are defined, statistical information (counters), and instructions that define processing content (see FIG. 16).
For example, when a packet is received ("data packet" in FIG. 17), the OpenFlow switch searches the flow table for an entry that has a match field that matches header information of the received packet. If an entry matching the received packet is found as a result of the search, the OpenFlow switch updates the flow statistical information (counters) and also implements processing content (packet transmission from a specified port, flooding, dropping, and the like) described in an instruction field of the entry in question, for the received packet. On the other hand, if an entry matching the received packet is not found as a result of the search, the OpenFlow switch transmits a request that the OpenFlow controller perform entry setting, via the secure channel, that is, a request to determine processing content of the received 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). In this way, the OpenFlow switch uses the entry stored in the flow table as a processing rule to perform packet forwarding.
International Publication No. 2008/095010
Nick McKeown and seven others, "OpenFlow: Enabling Innovation in Campus Networks," [online], [Searched on October 31, 2011], Internet <URL: http://www.openflowswitch.org//documents/openflow-wp-latest.pdf> "OpenFlow Switch Specification, Version 1.1.0. Implemented (Wire Protocol 0x02)," [Searched on October 31, 2011], Internet <URL: http://www.openflowswitch.org/documents/openflow-spec-v1.1.0.pdf>
Summary
The disclosures of the above Patent Literature and Non-Patent Literatures are incorporated herein by reference thereto. The following analysis is given by the present invention. An OpenFlow switch of Non Patent Literatures 1 and 2 is provided with a function that removes a relevant flow entry, based on a hard timeout value and an idle timeout value set for each flow, in a case where a fixed time-period has elapsed after setting a flow entry, or where non-receipt of a relevant packet during a fixed time-period is established (refer to "timeout" of FIG. 17, and 5.7 FLOW Removal of Non Patent Literature 2).
Non Patent Literatures 1 and 2 disclose removing a flow entry based on a timer, but it is not possible to flexibly perform flow control with only removal by a timer.
According to a first aspect of the present invention, 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 corresponding to the processing rule;
a forwarding processing unit that measures a statistical value obtained from processing volume by the processing rule; and
a processing rule management unit that determines whether or not the processing rule is valid, based on the statistical value and a determination condition, wherein
the processing rule management unit, in response to update of the determination condition, determines whether or not the processing rule is valid according to the updated determination condition.
According to a second aspect of the present invention, there is provided a communication control method, comprising:
by a communication apparatus, processing, based on a processing rule set by a control apparatus, a packet corresponding to the processing rule;
measuring a statistical value obtained from processing volume by the processing rule;
determining whether or not the processing rule is valid, based on the statistical value and a determination condition; and
determining, in response to update of the determination condition, whether or not the processing rule is valid according to the updated determination condition.
According to a third aspect of the present invention there is provided: a communication system, comprising:
a control apparatus that generates a packet processing rule; and
a communication apparatus, wherein
the communication apparatus comprises:
a packet processing unit that processes, based on a processing rule set by the control apparatus, a packet corresponding to the processing rule;
a forwarding processing unit that measures a statistical value obtained from processing volume by the processing rule; and
a processing rule management unit that determines whether or not the processing rule is valid, based on the statistical value and a determination condition, and
the processing rule management unit, in response to update of the determination condition, determines whether or not the processing rule is valid according to the updated determination condition.
According to a fourth aspect of the present invention there is provided: a program, causing a communication apparatus, processing, based on a processing rule set by a control apparatus, a packet corresponding to the processing rule, to execute:
measuring a statistical value obtained from a processing volume by the processing rule;
determining whether or not the processing rule is valid based on the statistical value and a determination condition; and
determining, in response to update of the determination condition, whether or not the processing rule is valid according to the updated determination condition.
According to a fifth aspect of the present invention, there is provided a control apparatus, comprising:
first means (section) that generates a packet processing rule and transmits the processing rule to a communication apparatus;
second means (section) that transmits to the communication apparatus a determination condition, for determining whether or not the processing rule is valid by comparing the determination condition with a statistical value obtained from processing volume by the processing rule; and
third means (section) that updates the determination condition based on prescribed information transmitted by the communication apparatus, and transmits the determination condition to the communication apparatus.
According to a sixth aspect of the present invention, there is provided a communication control method, comprising:
by a control apparatus, generating a packet processing rule;
transmitting the processing rule to a communication apparatus;
transmitting to the communication apparatus a determination condition, for determining whether or not the processing rule is valid by comparing the determination condition with a statistical value obtained from processing volume by the processing rule;
updating the determination condition based on prescribed information transmitted by the communication apparatus; and
transmitting the updated determination condition to the communication apparatus.
According to a seventh aspect of the present invention, there is provided a program, causing a control apparatus controlling a communication apparatus that processes a packet, to execute:
generating a packet processing rule, and transmitting the processing rule to a communication apparatus;
transmitting to the communication apparatus a determination condition for determining whether or not the processing rule is valid by comparing the determination condition with a statistical value obtained from processing volume by the processing rule; and
updating the determination condition based on prescribed information transmitted by the communication apparatus, and transmitting the updated determination condition to the communication apparatus.
According to an eighth aspect of the present invention, there is provided an accounting server that manages contract information of a communication apparatus, the accounting server comprising:
first means (section) for communicating with a control apparatus that transmits a packet processing rule to the communication apparatus, and transmits to the communication apparatus a determination condition for determining whether or not the processing rule is valid by comparing the determination condition with a statistical value obtained from processing volume by the processing rule; and
second means (section) for receiving from the communication apparatus information for updating the contract information; and
third means (section) for transmitting the updated contract information to the control apparatus to make the control apparatus update the determination condition.
According to the present invention it is possible to determine whether or not a processing rule is valid based on packet processing volume and a prescribed determination condition, and by enabling updating of the determination condition, to flexibly execute flow control based on the packet processing volume.
FIG. 1 is a diagram illustrating a configuration example of a communication system according to an exemplary embodiment. FIG. 2 is a diagram illustrating a configuration example of a processing rule held by a packet forwarding node in the exemplary embodiment. FIG. 3 is a block diagram illustrating a configuration example of a packet forwarding node according to the exemplary embodiment. FIG. 4 is a block diagram illustrating a configuration example of a communication apparatus according to the exemplary embodiment. FIG. 5 is a diagram illustrating a configuration example of a communication system according to a first exemplary embodiment. FIG. 6 is a block diagram illustrating a configuration example of a control apparatus of the first exemplary embodiment of the invention. FIG. 7 is a block diagram illustrating a configuration example of a packet forwarding node of the first exemplary embodiment of the invention. FIG. 8 is a diagram illustrating a configuration example of a table held by a packet forwarding node in the first exemplary embodiment. FIG. 9 is a sequence diagram for describing an operation example of a communication system according to the first exemplary embodiment. FIG. 10 is a diagram illustrating a configuration example of a communication system according to a second exemplary embodiment. FIG. 11 is a block diagram illustrating a configuration example of a communication apparatus of the second exemplary embodiment. FIG. 12 is a configuration example of a table held by the communication apparatus of the second exemplary embodiment. FIG. 13 is a sequence diagram for describing an operation example of a communication system according to the second exemplary embodiment. FIG. 14 is a block diagram illustrating a configuration example of a control apparatus of a third exemplary embodiment of the invention. FIG. 15 is a configuration example of tables held by a packet forwarding node in a fourth exemplary embodiment. FIG. 16 is a diagram illustrating a flow entry configuration example as held by an OpenFlow switch in Non Patent Literature 2. FIG. 17 is a sequence diagram for describing an operation example from setting of a flow entry until removal by a timeout, in Non Patent Literature 2.
First a description is given concerning an outline of an exemplary embodiment, making reference to the drawings. FIG. 1 is a diagram illustrating a configuration example of a system according to the exemplary embodiment. As shown in FIG. 1, the system includes a communication terminal 30, packet forwarding nodes 20-1 to 20-3 that implement communication of the communication terminal 30, and a control apparatus 10 that controls the packet forwarding nodes 20. It is to be noted that reference symbols in the drawings attached to this summary are added for convenience to respective elements as an example in order to aid understanding and are not intended to limit the invention to modes shown in the drawings.
FIG. 2 is a diagram illustrating a configuration example of a processing rule 100 held by the packet forwarding node 20 of FIG. 1. FIG. 2 is an example, and the configuration of the processing rule 100 is not limited to the configuration example of FIG. 2. As shown in FIG. 2, the processing rule 100 has a match field. The packet forwarding node 20 refers to the match field on receiving a packet, and searches for a processing rule 100 matching the received packet. In a case where a processing rule 100 matching the received packet is found, the packet forwarding node 20 processes the packet in accordance with an Instruction of the processing rule 100. Furthermore, the packet forwarding node 20 updates statistical information (Counters) of the processing rule 100, in response to processing of the received packet.
On the other hand, in a case where a processing rule 100 matching the received packet is not found, the packet forwarding node 20 requests the control apparatus 10 to set a processing rule. It is to be noted that the packet forwarding node 20 may request the control apparatus 10 to set the processing rule, based on a processing rule that prescribes processing content for requesting a processing rule with respect to the control apparatus 10.
In the present exemplary embodiment, the processing rule 100 has an expire rule (or expiry condition). In the expire rule, for example, a threshold is set that indicates a statistical value according to which processing by the processing rule is possible. The expire rule, for example, includes the number of packets or the number of bytes that can be processed by the processing rule. The expire rule may of course set a timeout value for determining non-receipt of a relevant packet in a fixed time-period, after a fixed time-period has elapsed after setting the processing rule, as in Non Patent Literature 2.
FIG. 3 is a diagram illustrating a configuration example of the packet forwarding node 20 in the present exemplary embodiment. The packet forwarding node 20 comprises a forwarding processing unit 21 that processes a packet using a processing rule that matches a received packet. The forwarding processing unit 21, in response to receiving the packet, searches for a processing rule 100 matching the received packet, from a table database (table DB) 22, and in a case where a processing rule 100 matching the received packet is found, processes the received packet in accordance with an instruction of the processing rule 100. On the other hand, in a case where a processing rule matching the received packet is not found, the forwarding processing unit 21 makes a request to the control apparatus 10 for a processing rule that processes the received packet. It is to be noted that in a case where processing content to make an inquiry to the control apparatus 10 is prescribed in the processing rule 100 matching the received packet, the forwarding processing unit 21 may make the inquiry to the control apparatus 10 in accordance with the relevant processing rule.
The forwarding processing unit 21, for example, may be implemented using a mechanism similar to an OpenFlow switch of Non Patent Literature 1 or 2.
A communication unit 25 is means for implementing communication with the control apparatus 10 that sets processing rules for the packet forwarding node 20.
The forwarding processing unit 21 measures a statistical value based on statistical information (counters) of a processing rule updated in response to processing of a packet. The forwarding processing unit 21 measures a statistical value corresponding to packet processing by a prescribed processing rule. In the present exemplary embodiment, the statistical value is communication volume corresponding to packets processed by the prescribed processing rule. The statistical value, for example, is the number of packets or the number of bytes that can be processed by the processing rule.
The forwarding processing unit 21 may measure a statistical value obtained from packet processing volume according to each of a plurality of processing rules. The forwarding processing unit 21 may measure a statistical value obtained from packet processing volume according to a processing rule matching a prescribed condition, among a plurality of processing rules held by the packet forwarding node 20. The forwarding processing unit 21 may measure communication volume of a packet forwarding node 20, by measuring a statistical value obtained from packet processing volume for each of a plurality of processing rules.
The packet forwarding node 20 comprises the table DB 22 that stores processing rules. The table DB 22, for example, is configured by a database that can store at least one table to be referred to when the forwarding processing unit 21 processes a received packet.
The packet forwarding node 20 comprises a processing rule management unit 23 that manages processing rules.
The processing rule management unit 23 deletes or causes to expire a processing rule based on an expire rule. For example, in a case where a statistical value indicated by statistical information (counters) exceeds a threshold set in the expire rule of the processing rule, the processing rule in question becomes invalid (for example, the processing rule is deleted or made to expire). It is to be noted that when a statistical value obtained from packet processing volume by each of a plurality of processing rules, and respective expire rules corresponding to each processing rule are compared, and a statistical value matches a certain expire rule, the processing rule corresponding to the expire rule is made invalid (for example, the processing rule is deleted or made to expire). In a case where the statistical value matches an expire rule, the processing rule management unit 23 may rewrite packet processing prescribed by a processing rule corresponding to the expire rule, to processing for dropping the packet. That is, the processing rule management unit 23 decides whether each processing rule is valid or not, based on the statistical value.
An expire rule management unit 24, for example, updates an expire rule of a processing rule, based on an instruction to update the expire rule. The expire rule management unit 24, for example, updates a threshold indicating a statistical value according to which processing by the processing rule is possible. The expire rule management unit 24, for example, updates the number of packets or the number of bytes that can be processed by the processing rule. The expire rule management unit 24 may receive a processing rule in which an expire rule has been updated, from the control apparatus 10, and set the processing rule including the updated expire rule in the table DB 22.
In a case where an expire rule of the processing rule is not set, the expire rule management unit 24 may set a new expire rule. The expire rule management unit 24 may update an expire rule of a processing rule that is already expired, and may make the processing rule valid and restart processing of a received packet by the processing rule.
The expire rule management unit 24, for example, updates an expire rule of a processing rule, and statistical information (counters) of the processing rule is maintained. That is, even if the expire rule is updated, the expire rule management unit 24 maintains, without updating, the statistical information measured until the expire rule is updated. Thus, even if the expire rule is updated, the forwarding processing unit 21 can continue to measure the statistical information.
The expire rule management unit 24, for example, receives an instruction to update an expire rule from the control apparatus 10. Clearly, instructing an update of the expire rule to the expire rule management unit 24, is not limited to the control apparatus 10, and may be done by an external server (not shown in FIG. 1), for example. The expire rule management unit 24, for example, by receiving a processing rule in which an expire rule has been updated, from the control apparatus 10, may set a new expire rule in the table DB 22.
That is, the processing rule management unit 23 decides whether a processing rule is valid or not, based on the updated expire rule and statistical information. The processing rule management unit 23, for example, in a case of deciding that a processing rule is not valid according to an expire rule, deletes a processing rule or causes it to expire.
According to the above described configuration, the packet forwarding node 20 can update an expire rule that decides whether a processing rule is valid or not. As a result, the packet forwarding node 20 can flexibly carry out deleting or causing a processing rule to expire, and it is possible to perform flexible flow control based on communication volume.
An example has been shown where the packet forwarding node 20 deletes or causes to expire a processing rule based on communication volume, but the communication terminal 30 may also delete a processing rule or cause it to expire based on communication volume. This is similar to an exemplary embodiment described below. It is to be noted that the communication terminal 30 may be a mobile telephone, a personal computer, a mobile router, or the like. The present invention may be applied to a communication apparatus such as the packet forwarding node 20, the communication terminal 30, or the like.
The communication terminal 30, for example, is provided with a configuration similar to the packet forwarding node 20, as in a configuration example of FIG. 4.
The communication terminal 30 holds a processing rule 100 set by the control apparatus 10, and processes a packet based on the relevant processing rule 100. The communication terminal 30 holds a processing rule that includes an expire rule, and deletes the processing rule 100 or causes it to expire, based on the expire rule.
It is to be noted that a configuration example in which the expire rule is included in the processing rule 100 was shown, but the expire rule may be set in the packet forwarding node 20, separate from the processing rule 100. The packet forwarding node 20, for example, may be provided with a table (not shown in FIG. 3) that sets the expire rule, separate from the flow table 22.
<First Exemplary Embodiment>
A description is given of a first exemplary embodiment, making reference to the drawings. FIG. 5 is a diagram illustrating a system configuration example of the first exemplary embodiment. As shown in FIG. 5, the system of the first exemplary embodiment of the invention includes a communication terminal 30, packet forwarding nodes 20-1 to 20-3 that implement communication of the communication terminal 30, and a control apparatus 10 that controls each of the packet forwarding nodes 20-1 to 20-3. The communication system of the first exemplary embodiment of the invention includes a server 40 and an accounting server 50.
The accounting server 50 is an apparatus that manages contracts concerning communication by the communication terminal 30. The accounting server 50, for example, manages contract information in accordance with communication volume by the communication terminal 30. For example, the communication terminal 30 has a contract with the accounting server 50, paying a communication charge corresponding to a prescribed communication volume, and in a case of exceeding the prescribed communication volume, an additional communication charge must be paid.
For example, in a case of communication exceeding a prescribed communication volume stipulated in a contract, a user of the communication terminal 30 pays an additional charge corresponding to the additional communication volume (as regards the method of payment, any method is possible, such as a prepaid system, credit card, online/offline or the like) to the accounting server 50. The accounting server 50 updates contract information for the communication terminal 30 according to the payment of the additional charge and increases the allowed communication volume for the communication terminal 30.
The accounting server 50 may also decrease the allowed communication volume of the communication terminal 30. For example, in a case where the rate of increase per unit time for communication volume of the communication terminal 30 exceeds a prescribed threshold, the accounting server 50 may decrease the allowed communication volume of the communication terminal 30. By decreasing the allowed communication volume, the accounting server 50 can curtail communication by a user who occupies too much of a communication band of the communication system (that is, a heavy user), and can stabilize the communication system.
In response to the contract information being set or updated, the accounting server 50 notifies the control apparatus 10 of the contract information thereof. It is to be noted that the accounting server 50 may set a new expire rule from the contract information, and may directly transmit the set expire rule to a packet forwarding node 20.
FIG. 6 is a diagram illustrating a configuration example of the control apparatus 10 in FIG. 5. The control apparatus 10 includes an expire rule management unit 11, a communication terminal location management unit 12, a topology management unit 13, a control message processing unit 14, a path action calculation unit 15, a packet forwarding node management unit 16, a processing rule management unit 17, a processing rule database 18, and a node communication unit 19.
The expire rule management unit 11, for example, manages an expire rule including a statistical value upper limit (threshold), for each processing rule, or for each combination of communication transmission source and destination (respectively managed by MAC (Media Access Control) address, IP (Internet Protocol) address, and the like). It is to be noted that in a case of managing by a combination of the source and destination, one of either the source or destination may be a wildcard, that is, arbitrary. Besides the statistical value described above, various types of timeout value or the like may be set as an expire rule. For example, separate from the statistical value, if a timeout value (a hard timeout value, an idle timeout value) is set, it is possible to delete a processing rule after a fixed time has elapsed, without the statistical value exceeding the prescribed threshold.
In response to a notification of contract information from the accounting server 50, the expire rule management unit 11, for example, sets or updates an expire rule of a processing rule stored in the processing rule database 18.
Based on contract information notified from the accounting server 50, the expire rule management unit 11, for example, decides data volume that can be communicated by the communication terminal 30. The expire rule management unit 11, for example, decides the data volume to be 100 Mbytes. The expire rule management unit 11 sets the decided data volume in an expire rule of a processing rule.
The expire rule management unit 11, for example, updates a threshold indicating a statistical value according to which processing by the processing rule is possible. The threshold, for example, is the number of packets or the number of bytes that can be processed by the processing rule. In response to a contract information update being notified from the accounting server 50, the expire rule management unit 11, for example, sets a communication volume corresponding to the contract information as an expire rule of the processing rule.
In a case where a plurality of expire rules are set, the expire rule management unit 11 may separately update the respective plural expire rules. For example, in a case where two expire rules are set, namely a statistical value and a timeout value, the expire rule management unit 11 may update only the statistical value or the timeout value, or may update both the statistical value and the timeout value. In response to an update of the expire rule, the expire rule management unit 11 notifies the path action calculation unit 15 of content of the update.
The communication terminal location management unit 12 manages information for identifying the location of the communication terminal 30 that is connected to the communication system. The communication terminal location management unit 12, for example, manages the location of the communication terminal 30 by information for distinguishing the packet forwarding node 20 to which the communication terminal 30 is connected, and port information thereof.
The topology management unit 13 configures network topology information based on connection relations of the packet forwarding node 20 collected via the node communication unit 19. In a case where the topology information changes, the topology management unit 13 may notify the change in topology information to the path action calculation unit 15, and may make the path action calculation unit 15 perform resetting of existing processing rules and the like.
The control message processing unit 14 analyzes control messages received from the packet forwarding node 20, and delivers the control message information to a relevant processing means inside the control apparatus 10.
The path action calculation unit 15 has a means for calculating a forwarding path of a packet based on location information of the communication terminal 30 managed by the communication terminal location management unit 12 and topology information managed by the topology management unit 13. The path action calculation unit 15 refers to information of each packet forwarding node 20 managed by the packet forwarding node management unit 16 (for example, capability information of the respective packet forwarding nodes 20), and functions as a means for obtaining processing content (action) to be executed by the respective packet forwarding nodes 20. Furthermore, the path action calculation unit 15 refers to an expire rule of each processing rule managed by the expire rule management unit 11, and functions as a means for deciding a value to be set in the expire rule of each processing rule.
In response to the expire rule management unit 11 updating the expire rules of the processing rules, the path action calculation unit 15 confirms whether or not the processing rules are set in the packet forwarding nodes 20. In a case where a processing rule is set in a packet forwarding node 20, the path action calculation unit 15 updates the expire rule of that processing rule. On the other hand, in a case where a processing rule is not set in the packet forwarding node 20, the path action calculation unit 15 creates a processing rule including an updated expire rule, and notifies the packet forwarding node 20 corresponding to the created processing rule.
The packet forwarding node management unit 16 manages respective capabilities (for example, number and type of port, type of action supported, and the like) of the packet forwarding nodes 20 that are managed.
The processing rule management unit 17 manages processing rules set in a packet forwarding node 20. The processing rule management unit 17 stores a result calculated by the path action calculation unit 15 in the processing rule database 18 as a processing rule. Based on a processing rule deletion notification or the like from the packet forwarding node 20, in a case where a change has occurred in a processing rule set in the packet forwarding node 20, the processing rule management unit 17 updates content of the processing rule database 18.
The processing rule database 18 stores at least one processing rule.
The node communication unit 19 performs communication with respect to each of the packet forwarding nodes 20. In the present exemplary embodiment, the node communication unit 19 communicates with the packet forwarding node 20 using an OpenFlow protocol of Non Patent Literature 2. However, the communication protocol between the node communication unit 19 and the packet forwarding node 20 is not limited to the OpenFlow protocol.
The control apparatus 10 as described above may be implemented by a configuration, for example, modified so that the expire rule management unit 11 is added to the OpenFlow controller of Non Patent Literature 2, and the path action calculation unit 15 generates a processing rule including an expire rule.
FIG. 7 is a diagram illustrating a configuration example of the respective packet forwarding nodes 20 of FIG. 5 Each of the packet forwarding nodes 20 includes a forwarding processing unit 21, a table database (table DB) 22, a processing rule management unit 23, an expire rule updating unit 24, and a communication unit 25. It is to be noted that the communication terminal 30 may be provided with a configuration similar to the packet forwarding nodes 20.
As shown in FIG. 7, the forwarding processing unit 21 has a table retrieval unit 210 and an action execution unit 211. The table retrieval unit 210 retrieves a processing rule having a match field that matches a received packet, from a table stored in the table DB 22. The action execution unit 211 performs packet processing in accordance with processing content shown in an instruction field of the processing rule retrieved by the table retrieval unit 210.
In a case where a processing rule having a match field that matches the received packet is not found, the forwarding processing unit 21 notifies this to the processing rule management unit 23. In a case where making an enquiry to the control apparatus 10 is specified as a packet processing method, in a processing rule having a match field that matches the received packet, the forwarding processing unit 21 may give notification to the processing rule management unit 23. The processor rule management unit 23 receives the notification from the forwarding processing unit 21, and makes an enquiry to the control apparatus 10 via the communication unit 25.
The forwarding processing unit 21 updates statistical information (counters) of a processing rule recorded in the table DB 22, in response to packet processing. The forwarding processing unit 21 may obtain a statistical value from the statistical information (counters) corresponding to each of a plurality of processing rules. For example, the forwarding processing unit 21 calculates the statistical values by adding up the statistical information corresponding to the respective processing rules, and the processing rule management unit 23 compares the statistical values and expire rules of each of the processing rules to determine whether or not each processing rule is valid. Furthermore, for example, the forwarding processing unit 21 calculates statistical values from the statistical information corresponding to processing rules corresponding to a prescribed condition, among the processing rules stored in the table DB 22. For example, the forwarding processing unit 21 calculates statistical values from the statistical information corresponding to processing rules for processing packets inputted from a prescribed port, and processing rules for outputting packets to a prescribed port.
The table DB 22, for example, is configured by a database that can store at least one table to be referred to when the forwarding processing unit 21 processes a received packet.
FIG. 8 is an example of a table set in the table DB 22 of the packet forwarding node 20. In the example of FIG. 8, a processing rule that implements communication between the communication terminal 30 of FIG. 5 and a server 40 is set. For example, an IP address of the communication terminal 30 is set as a transmission source IP address in a header field of a packet with a destination of the server 40 from the communication terminal 30, and the IP address of the server 40 is set as a destination IP address. Therefore, when a packet with a destination of the server 40 is received from the communication terminal 30, the table retrieval unit 210 of the packet forwarding node 20 retrieves the second processing rule from the top of the table of FIG. 8 as a processing rule that matches the received packet. The action execution unit 211 of the packet forwarding node 20 then forwards the relevant received packet from the port connected to the packet forwarding node 20, in accordance with content shown in the instruction field. It is to be noted that, in a case where there is no processing rule corresponding to the received packet, or in a case where "instructions" specified in the processing rule relate to an enquiry to the control apparatus 10, the packet forwarding node 20, for example, makes a request to the control apparatus 10 to set a processing rule.
In the same way, for example, an IP address of the server 40 is set as a transmission source IP address in a header field of a packet with a destination of the communication terminal 30 from the server 40, and the IP address of the communication terminal 30 is set as a destination IP address. Therefore, when a packet with a destination of the communication terminal 30 is received from the server 40, the table retrieval unit 210 of the packet forwarding node 20 retrieves the first processing rule from the top of the table of FIG. 8 as a processing rule that matches the received packet. The action execution unit 211 of the packet forwarding node 20 then forwards the relevant received packet from the port connected to the communication terminal 30, in accordance with content shown in the instruction field. It is to be noted that, in a case where there is no processing rule corresponding to the received packet, or in a case where "instructions" specified in the processing rule relate to an enquiry to the control apparatus 10, the packet forwarding node 20 makes a request to the control apparatus 10 to set a processing rule.
In the example of FIG. 8, as expire rules of the respective processing rules, values (thresholds) corresponding to communication volumes of 100 Mbytes and 10 Mbytes are set. It is to be noted that in the example of FIG. 8, units of the statistical value that is a threshold for deleting a processing rule are specified as bytes, but it is also possible to use the number of packets. Furthermore, with respect to statistical information (counters), in a case of managing the statistical information in bits or other units, the bits or other units may be used.
The processing rule management unit 23 is a means for managing a table held in the table DB 22. Specifically, the processing rule management unit 23 records a processing rule indicated by the control apparatus 10 in the table DB 22. In response to a notification that a new packet has been received, from the forwarding processing unit 21, the processing rule management unit 23 makes a request to the control apparatus 10 to set a processing rule for processing the received packet.
Furthermore, the processing rule management unit 23 refers to an expire rule and statistical information (counters) of a processing rule included in each table, and in a case where a statistical value indicated in the statistical information exceeds a threshold set in the expire rule of the processing rule, performs processing to delete the processing rule or cause it to expire. In a case where the statistical information (counters) of the first processing rule from the top of the table shown in FIG. 8 exceeds 100 Mbytes, the processing rule management unit 23 performs an operation to delete the processing rule in question. It is to be noted that the statistical information of the processing rule is updated in response to packet processing volume by the processing rule. In a case where the statistical information (counters) of the second processing rule from the top of the table shown in FIG. 8 exceeds 10 Mbytes, the processing rule management unit 23 performs an operation to delete the processing rule in question. It is to be noted that the statistical information of the processing rule is updated in response to packet processing volume by the processing rule. The processing rule management unit 23 may obtain statistical values from the statistical information of the first and second processing rules of the table shown as an example in FIG. 8, and may compare the statistical values with expire rules of each of the processing rules. The statistical values, for example, are obtained by adding up the statistical information of the respective processing rules. For example, in a case where the obtained statistical value is 10 Mbytes, the statistical value matches an expire rule of the second processing rule of the table shown as an example in FIG. 8. In this case, the second processing rule of the table is deleted.
In a case where the statistical value matches an expire rule, the processing rule management unit 23 may rewrite packet processing prescribed by a processing rule corresponding to the expire rule, to processing for dropping the packet. In a case where the statistical value matches an expire rule, the processing rule management unit 23 may start traffic shaping for packet processing prescribed by a processing rule corresponding to the expire rule. Traffic shaping indicates, for example, regulating the forwarding rate of packet flow corresponding to a processing rule where the statistical value exceeds a threshold. Regulation of forwarding rate, for example, indicates a process to delay packet flow or a process to perform control so that forwarding rate does not exceed a prescribed value. However, regulation of forwarding rate is not limited to a process to delay packet flow or a process to perform control so that forwarding rate does not exceed a prescribed value.
The expire rule management unit 24 inside the processing rule management unit 23 updates an expire rule of a processing rule, based on an instruction to update the expire rule. The expire rule management unit 24, for example, updates a statistical value that is set as an expire rule, by an instruction from the control apparatus 10. The expire rule management unit 24, for example, updates 100 Mbytes (threshold), which is an expire rule of the first processing rule from the top of the table shown in FIG. 8, to 200 Mbytes, by an instruction from the control apparatus 10. The expire rule management unit 24, for example, updates 10 Mbytes, which is an expire rule of the second processing rule from the top of the table shown in FIG. 8, to 20 Mbytes, by the instruction from the control apparatus 10. In a case where the expire rule is set to a number of packets, the expire rule management unit 24 updates that number of packets.
In a case where an expire rule of the processing rule is not set, the expire rule management unit 24 may set a new expire rule. The expire rule management unit 24, for example, sets a threshold of 100 Mbytes as the expire rule, for a processing rule in which an expire rule is not set (for example, a processing rule in which the expire rule is blank). The expire rule management unit 24 may update an expire rule of a processing rule that is already expired, and may make the processing rule valid and restart processing of a received packet by the processing rule.
The expire rule management unit 24 updates an expire rule for a processing rule, and statistical information (counters) of the processing rule is maintained. That is, even if the expire rule is updated, the expire rule management unit 24 maintains, without updating, the statistical information measured until the expire rule is updated. Thus, even if the expire rule is updated, the forwarding processing unit 21 can continue to measure the statistical information.
The expire rule management unit 24, for example, receives an instruction to update an expire rule from the control apparatus 10. Clearly, instructing the expire rule management unit 24 to update the expire rule is not limited to the control apparatus 10, and may be done by the accounting server shown in FIG. 4, for example, or by another apparatus. The expire rule management unit 24, by receiving a processing rule in which an expire rule has been updated from the control apparatus 10 or the accounting server 50, may set a new expire rule in the table DB 22.
With regard to a processing rule in which an expire rule has been updated by the expire rule management unit 24, the processing rule management unit 23 deletes the processing rule or causes it to expire based on an expire rule after updating. In a case where the expire rule of the first processing rule from the top of the table shown in FIG. 8 has been updated to 200 Mbytes, for example, the processing rule management unit 23 does not delete the processing rule in question or cause it to expire, until the statistical information (counters) exceeds 200 Mbytes.
The communication unit 25 is a means for implementing communication with the control apparatus 10 that sets processing rules for the packet forwarding node 20. In the first exemplary embodiment, the communication unit 25 communicates with the control apparatus 10 using an OpenFlow protocol of Non Patent Literature 2. However, the communication protocol of the communication unit 25 and the control apparatus 10 are not limited to the OpenFlow protocol.
Next, a description is given concerning an operation example of the present exemplary embodiment, making reference to the drawings. It is to be noted that FIG. 9 is an example, and operations of the present invention are not limited to a sequence of FIG. 9. FIG. 9 is a sequence diagram for describing operations of the communication system according to the first exemplary embodiment. In the description below, in an initial state, a processing rule to implement communication between the communication terminal 30 and the server 40 is not set in the packet forwarding node 20.
Referring to FIG. 9, first, the communication terminal 30 enters into a contract in accordance with communication volume, with the accounting server 50. The accounting server 50 manages contract information of the communication terminal 30 (step S100 in FIG. 9).
The accounting server 50 gives notification of the contract information of the communication terminal 30 to the control apparatus 10 (step S101 in FIG. 9).
When the communication terminal 30 transmits a user packet with a destination of the server 40 (step S102 in FIG. 9), the packet forwarding node 20-1 that receives the packet searches for a processing rule with a match field that matches the received packet from the table. The packet forwarding node 20-1 does not find a processing rule matching the packet, or alternatively retrieves a processing rule prescribing an enquiry to the control apparatus 10 and requests the control apparatus 10 to set a processing rule (step S103 in FIG. 9; Packet-In).
The control apparatus 10 that receives the request to set the processing rule creates processing rules (in both directions) with an expire rule attached as shown in FIG. 8, in a path action calculation unit 15, and performs setting in the respective packet forwarding nodes 20 (step S104 in FIG. 9; FlowMod). Here, based on contract information communicated from the accounting server 50, the control apparatus 10 decides data volume that can be communicated by the communication terminal 30. The control apparatus 10, for example, decides the data volume to be 100 Mbytes. The control apparatus 10 sets the decided data volume in an expire rule of a processing rule.
Based on the contract information communicated from the accounting server 50, the expire rule management unit 11 may determine whether or not communication is possible between the communication terminal 30, which is a transmission source of a received packet, and a prescribed communication partner (for example, the server 40). In this case, the expire rule management unit 11 creates a processing rule in response to a determination that communication is possible.
The control apparatus 10 gives an instruction to return the packet received in step S103 to the packet forwarding node 20, and to forward to the packet forwarding node 20 (step S105 in FIG. 9; Packet-Out).
Based on the instruction, when the packet forwarding node 20-1 forwards the packet to the packet forwarding node 20-2, the packet forwarding nodes 20-2 and 20-3 forward the packet to the server 40 in accordance with processing rules set in each thereof (step S106 in FIG. 9).
The packet forwarding nodes 20-1 to 20-3 forward user packets transmitted/received between the communication terminal 30 and the server 40 in accordance with processing rules set in each thereof (step S107 in FIG. 9).
In order to perform communication exceeding a prescribed communication volume stipulated in a contract, the communication terminal 30 pays an additional charge corresponding to the additional communication volume to the accounting server 50 (step S108 in FIG. 9).
The accounting server 50 gives notification of the contract information after updating to the control apparatus 10, in response to the contract being updated by the communication terminal 30 (step S109 in FIG. 9).
Based on notification of contract information after updating, the control apparatus 10 gives an instruction to the packet forwarding node 20 to update an expire rule of a corresponding processing rule. The packet forwarding node 20 modifies the expire rule of the processing rule in response to the instruction to update the expire rule (step S110 in FIG. 9). It is to be noted that the control apparatus 10 may notify the packet forwarding node 20 of the processing rule that includes the updated expire rule.
Thereafter, the packet forwarding node 20 processes the packet, in accordance with the processing rule in which the expire rule has been updated (step S111 in FIG. 9).
In the first exemplary embodiment, a description was given using an example in which the control apparatus 10 gives notification of a new expire rule as an indication of updating an expire rule. However, the indication of the expire rule indicated by the control apparatus 10 is not limited to a new expire rule, but may be the difference between an original expire rule and the new expire rule. In this case, the packet forwarding node 20 modifies the expire rule by only the relevant difference, based on the difference notified by the control apparatus.
<Second Exemplary Embodiment>
A description is given of a second exemplary embodiment in which functionality of a packet forwarding node described above is added to a communication terminal 30, making reference to the drawings. It is to be noted that the communication terminal 30 is equivalent to a communication apparatus as described above. For example, the communication terminal is an apparatus having a communication function such as a mobile telephone, a personal computer, a mobile router, or the like. FIG. 10 is a diagram illustrating a configuration example of a communication system according to the second exemplary embodiment. A point of difference from the first exemplary embodiment is a configuration of a communication terminal 30A. Since other matters are similar to the first exemplary embodiment, the description centers on points of difference therefrom. FIG. 11 is a block diagram illustrating a configuration example of the communication terminal 30A. Referring to FIG. 11, the communication terminal 30A is provided with a plurality of application units 31-1 to 31-n. The communication terminal 30A is provided with a protocol stack unit 32 that provides a function for communication by an arbitrary protocol to the application units 31-1 to 31-n. The communication terminal 30A is provided with a packet forwarding function unit 33 that is connected to the protocol stack unit 32 and performs packet processing similar to the packet forwarding nodes 20 of the first exemplary embodiment described above.
The packet forwarding function unit 33 performs packet processing based on a processing rule with expire rule attached set by the control apparatus 10, similar to the packet forwarding nodes 20 of the first exemplary embodiment. The packet forwarding function unit 33 is provided with a forwarding processing unit 21, a table database (table DB) 22, a processing rule management unit 23, an expire rule updating unit 24, and a communication unit 25, similar to the packet forwarding nodes 20 of the first exemplary embodiment. The packet forwarding function unit 33 performs processing of a packet outputted from the protocol stack unit 32 and processing of user traffic forwarded by a packet forwarding node 20-1. It is to be noted that the packet forwarding function unit 33 can be realized by using hardware (memory, communication means) of a computer configuring the communication terminal 30A, in a computer program that performs the abovementioned packet processing. The computer program may be pre-installed in the communication terminal 30A, or may be installable by downloading from an application server or the like, not shown in the drawings.
FIG. 12 is a specific example of a table set in a table DB inside the packet forwarding function unit 33. In the example of FIG. 12, a processing rule that realizes communication between the protocol stack unit 32 inside the communication terminal 30A of FIG. 11 and the server 40 is set. For example, an IP address of the communication terminal 30A is set as a transmission source IP address in a header field of a packet with a destination of the server 40 from the protocol stack unit 32 inside the communication terminal 30A, and an IP address of the server 40 is set as a destination IP address. Therefore, when a packet with a destination of the server 40 is received from the protocol stack unit 32 inside the communication terminal 30A, a table retrieval unit inside the packet forwarding function unit 33 retrieves the second processing rule from the top of the table of FIG. 12 as a processing rule that matches the received packet. An action execution unit inside the packet forwarding function unit 33 then forwards the relevant received packet from a port connected to the packet forwarding node 20-1, in accordance with content shown in an instruction field. It is to be noted that, in a case where there is no processing rule corresponding to the received packet, the communication terminal 30A makes a request to the control apparatus 10 to set a processing rule.
In the same way, for example, the IP address of the server 40 is set as a transmission source IP address in a header field of a packet with a destination of the communication terminal 30A from the server 40, and the IP address of the communication terminal 30A is set as a destination IP address. Therefore, when a packet with a destination of the communication terminal 30A is received from the server 40, a table retrieval unit inside the packet forwarding function unit 33 retrieves the first processing rule from the top of the table of FIG. 12 as a processing rule that matches the received packet. An action execution unit inside the packet forwarding function unit 33 then forwards the relevant received packet from a port connected to the protocol stack unit 32 of the communication terminal 30A, in accordance with content shown in the instruction field. It is to be noted that, in a case where there is no processing rule corresponding to the received packet, the communication terminal 30A makes a request to the control apparatus to set a processing rule.
In the example of FIG. 12, as expire rules of the respective processing rules, values (thresholds) of 100 Mbytes and 10 Mbytes are set, similar to the first exemplary embodiment. In this case, when statistical information (counters) of the first processing rule from the top of FIG. 11 exceeds 100 Mbytes, a table management unit inside the packet forwarding function unit 33 deletes the processing rule in question. In a case where statistical information (counters) of the second processing rule from the top of FIG. 12 exceeds 10 Mbytes, a table management unit inside the packet forwarding function unit 33 deletes the processing rule in question.
The packet forwarding function unit 33 may obtain statistical values from the statistical information (counters) of the first and second processing rules of the table in FIG. 12, and may compare the statistical values with expire rules of the respective processing rules. A statistical value, for example, is obtained by adding up the statistical information of the respective processing rules. For example, in a case where the obtained statistical value is 10 Mbytes, the statistical value matches an expire rule of the second processing rule of the table exemplified in FIG. 12. In this case, the second processing rule of the table is deleted.
Furthermore, for example, the packet forwarding function unit 33 calculates a statistical value from the statistical information corresponding to a processing rule corresponding to a prescribed rule, among the processing rules stored in the table DB. For example, the packet forwarding function unit 33 calculates a statistical value from statistical information (counters) corresponding to a processing rule for processing a packet inputted from a prescribed port, and a processing rule for outputting a packet to a prescribed port. In a case of being provided with a plurality of communication ports (for example, a 3G communication port, a WiFi communication port, a WiMAX communication port, or the like), the communication terminal 30A calculates a statistical value from statistical information (counters) corresponding to a processing rule for transmitting/receiving packets via a prescribed communication port (for example, the 3G communication port) among the plurality of communication ports.
The packet forwarding function unit 33, for example, updates an expire rule for a processing rule, based on an instruction to update the expire rule from the control apparatus 10. An expire rule management unit within the packet forwarding function unit 33, for example, updates 100 Mbytes (threshold), which is an expire rule of the first processing rule from the top of the table shown in FIG. 12, to 200 Mbytes, by an instruction from the control apparatus 10. The packet forwarding function unit 33, for example, updates 10 Mbytes, which is an expire rule of the second processing rule from the top of the table shown in FIG. 12, to 20 Mbytes, by an instruction from the control apparatus 10. In a case where the expire rule is set to a number of packets, the packet forwarding function unit 33 updates that number of packets.
In a case where an expire rule of a processing rule is not set, the packet forwarding function unit 33 may set a new expire rule. The packet forwarding function unit 33, for example, sets a threshold of 100 Mbytes as the expire rule, for a processing rule in which an expire rule is not set (for example, a processing rule in which an expire rule is blank). The packet forwarding function unit 33 may update an expire rule of a processing rule that is already expired, and may make the processing rule valid and restart processing of a received packet by the processing rule.
The packet forwarding function unit 33, for example, updates an expire rule of a processing rule, and statistical information (counters) of the processing rule is maintained. That is, even if the expire rule is updated, the packet forwarding function unit 33 maintains, without updating, the measured statistical information until the expire rule is updated. Thus, even if the expire rule is updated, the forwarding processing unit 21 can continue to measure the statistical information.
The packet forwarding function unit 33, for example, receives an instruction to update an expire rule from the control apparatus 10. Clearly, instructing an update of the expire rule to the packet forwarding function unit 33 is not limited to the control apparatus 10, and, for example, may be done by the accounting server 50 or by another apparatus.
It is to be noted that with regard to a processing rule in which an expire rule has been updated, the packet forwarding function unit 33 deletes the processing rule or causes it to expire based on the expire rule after updating. In a case where the expire rule of the first processing rule from the top of the table shown in FIG. 12 has been updated to 200 Mbytes, for example, the packet forwarding function unit 33 does not delete the processing rule in question or cause it to expire until the statistical information (counters) exceeds 200 Mbytes.
The processing rule as above may be set in the same way as the packet forwarding nodes 20-1 to 20-3.
After deleting the processing rule, the control apparatus 10 may set a new processing rule to drop subsequent packets corresponding to the deleted processing rule, in the packet forwarding function unit 33 of the communication terminal 30A and the packet processing nodes 20-1 to 20-3. In this way, it is possible to limit traffic of packets where a statistical value exceeds a prescribed threshold.
After deleting a processing rule, the control apparatus 10 may set a new processing rule prescribing a method of forwarding subsequent packets corresponding to the deleted processing rule, in the packet forwarding function unit 33 and the packet processing nodes 20-1 to 20-3, and in addition, may instruct traffic shaping to the packet forwarding function unit 33 and to a prescribed node among the packet forwarding nodes 20-1 to 20-3. Traffic shaping indicates, for example, regulating the forwarding rate of packet flow corresponding to a processing rule where the statistical value exceeds a threshold. Regulation of forwarding rate, for example, indicates a process to delay packet flow or a process to perform control so that the forwarding rate does not exceed a prescribed value. However, regulation of the forwarding rate is not limited to a process to delay packet flow or a process to perform control so that the forwarding rate does not exceed a prescribed value.
The control apparatus 10 may give an instruction to a prescribed node to control the forwarding rate not only with regard to a packet flow corresponding to a processing rule where the statistical value exceeds a threshold, but also with regard to a separate packet flow corresponding to that packet flow. For example, the packet flow corresponding to a processing rule where the statistical value exceeds a threshold is a flow transmitted from the communication terminal 30A to the server 40, and the separate packet flow corresponding to that packet flow is a flow transmitted from the server 40 to the communication terminal 30A.
Next, a detailed description is given concerning operation of the present exemplary embodiment, making reference to the drawings. FIG. 13 is a sequence diagram for describing an operation example of the communication system according to the second exemplary embodiment. In the description below, in an initial state, a processing rule to implement communication between the communication terminal 30A and the server 40 is not set in the packet forwarding function unit 33 of the communication terminal 30A and the packet forwarding nodes 20-1 to 20-3.
Referring to FIG. 13, first, the communication terminal 30A enters into a contract in accordance with communication volume, with the accounting server 50. The accounting server 50 manages contract information of the communication terminal 30A (step S200 in FIG. 13).
The accounting server 50 gives notification of the contract information of the communication terminal 30A to the control apparatus 10 (step S201 in FIG. 13).
When the packet forwarding function unit 33 of the communication terminal 30A transmits a user packet with a destination of the server 40 from the protocol stack unit 32, the packet forwarding function unit 33 searches for a processing rule with a match field that matches the received packet from the table. The packet forwarding function unit 33 does not find a processing rule matching the packet, or alternatively retrieves a processing rule prescribing an enquiry to the control apparatus 10, and requests the control apparatus 10 to set a processing rule (step S202 in FIG. 13; Packet-In).
The control apparatus 10 that receives the request to set the processing rule creates processing rules (in both directions) with an expire rule attached as shown in FIG. 12, in a path action calculation unit 14, and performs setting in the packet forwarding function unit 33 (step S203 in FIG. 13; FlowMod). Here, based on contract information communicated from the accounting server 50, the control apparatus 10 decides data volume that can be communicated by the communication terminal 30A. The control apparatus 10, for example, decides the data volume to be 100 Mbytes. The control apparatus 10 sets the decided data volume in an expire rule of a processing rule.
Based on the contract information notified from the accounting server 50, the expire rule management unit 11 may determine whether or not communication is possible between the communication terminal 30A, which is a transmission source of a received packet, and a prescribed communication partner (for example, the server 40). In this case, the expire rule management unit 11 creates a processing rule in response to a determination that communication is possible.
The control apparatus 10 gives an instruction to the packet forwarding function unit 33 of the communication terminal 30A to return the packet received in step S202 to the packet forwarding node 20, and to forward the packet to the packet forwarding node 20 (step S204 in FIG. 13; Packet-Out).
Based on the instruction, when the packet forwarding function unit 33 of the communication terminal 30A forwards the packet to the packet forwarding node 20-1, the packet forwarding nodes 20-2 to 20-3 forward the packet to the server 40 in accordance with processing rules set in each of them (step S205 in FIG. 13).
The packet forwarding nodes 20-1 to 20-3 forward user packets transmitted/received between the communication terminal 30A and the server 40 in accordance with processing rules set of each thereof (step S206 in FIG. 13).
In order to perform communication exceeding a prescribed communication volume stipulated in a contract, the communication terminal 30A pays an additional charge corresponding to the additional communication volume to the accounting server 50 (step S207 in FIG. 13).
The accounting server 50 gives notification of the contract information after updating to the control apparatus 10, in response to the contract being updated by the communication terminal 30A (step S208 in FIG. 13).
Based on notification of the contract information after updating, the control apparatus 10 gives an instruction to the packet forwarding node 20 to update an expire rule of a corresponding processing rule. The packet forwarding node 20 modifies the expire rule of the processing rule in response to the instruction to update the expire rule (step S209 in FIG. 13). It is to be noted that the control apparatus 10 may notify the packet forwarding node 20 of the processing rule that includes the updated expire rule.
Thereafter, the packet forwarding node 20 processes the packet, in accordance with the processing rule in which the expire rule has been updated (step S210 in FIG. 13).
As described above, the present invention can also be implemented by a configuration example in which the packet forwarding function unit 33 is built-in on the communication terminal 30A side. Furthermore, in comparison with the first exemplary embodiment described above, since in the present exemplary embodiment it is possible to perform flow control such as packet dropping or the like inside the communication terminal, an effect is realized of being able to decrease traffic flowing in the packet forwarding nodes 20, and to reduce the load of the packet forwarding nodes 20 and the control apparatus 10. It is to be noted that a configuration example in which an expire rule is included in a processing rule was shown, but the expire rule may also be set in the communication terminal 30A, separate from the processing rule.
<Third Exemplary Embodiment>
Next, a description is given concerning a third exemplary embodiment in which a modification is added to a configuration example of a control apparatus, making reference to the drawings. FIG. 14 is a diagram illustrating a configuration example of a control apparatus 10A according to the third exemplary embodiment. A point of difference from a control apparatus of the first exemplary embodiment and the second exemplary embodiment is that an expire rule management unit 11 is replaced by a contract information management unit 11A. Since other matters are similar to the first exemplary embodiment and the second exemplary embodiment, the description below centers on points of difference therefrom.
The contract information management unit 11A of the present exemplary embodiment manages contract information of a communication terminal 30, and generates an expire rule making reference to the relevant contract information, in response to a request from a path action calculation unit 15. The contract information may be provided to the path action calculation unit 15, and the path action calculation unit 15 may use the contract information in the path calculation. For example, in a case where a user of the communication terminal 30 takes on a contract in which communication with a server 40 is possible with 10 Mbytes as an upper limit, the contract information management unit 11A notifies the path action calculation unit 15 to create a processing rule in which 10 Mbytes is set as an expire rule. It is to be noted that in this case, the contract information management unit 11A may give notification for creating a plurality of processing rules in which 10 Mbytes is set as an expire rule.
In a case where communication ends, not by deletion of a processing rule by the expire rule, but by a timeout, a communication end notification from the communication terminal 30, a logout operation, or the like, the control apparatus 10A may collect statistical information (counters) of the processing rule in question, and may record a statistical value concerning remaining possible communication for the user of the communication terminal 30.
Below, since operations of the present exemplary embodiment are similar to the first and second exemplary embodiments, a description thereof is omitted.
As described above, according to the present exemplary embodiment, it is possible to flexibly set an expire rule based on contract information.
<Fourth Exemplary Embodiment>
Next, a description is given concerning a fourth exemplary embodiment, making reference to the drawings. A point of difference from the first to third exemplary embodiments described above is that a table is divided into a first table storing processing rules for processing packets, and a second table managing prescribed rules for making reference to the first table. Since other matters are similar to the first to third exemplary embodiments, the description below centers on points of difference therefrom.
A packet forwarding function unit 33 of a communication terminal 30A or a forwarding processing unit 21 of a packet forwarding node 20 determine whether or not it is possible to refer to the first table (for example, Table 1 in FIG. 15) that stores processing rules for processing a packet, based on a prescribed rule managed by the second table (for example, Table 0 in FIG. 15). The prescribed rule is decided based on, for example, communication volume, or time that has elapsed from a processing rule being set in the first table, or the like. However, the prescribed rule is not limited to communication volume or elapsed time.
FIG. 15 is a diagram showing an example of a table set in a packet forwarding function unit 33, in a configuration in which the packet forwarding function unit 33 is arranged inside the communication terminal 30A as shown in FIG. 11. The table (Table 0) in the upper part of FIG. 15 manages packet processing volume by a prescribed processing rule stored in the lower table (Table 1), as a prescribed rule (for example, an expire rule of Table 0). In FIG. 15, a processing volume of "100 Mbytes" is prescribed as an expire rule which is one example of the prescribed rule. For example, the packet forwarding function unit 33 measures packet processing volume by a processing rule (first entry in Table 1) corresponding to a packet flow transmitted from a server 40 to the communication terminal 30A, and a processing rule (second entry in Table 1) corresponding to a packet flow transmitted from the communication terminal 30A to the server 40, as statistical information (counters in Table 0). It is to be noted that a method of selecting a processing rule for management of statistical values is arbitrary, and is not limited to a method of selection based on destination/source of a packet flow as described above.
In the example of FIG. 15, the table (Table 0) has a processing rule set in which processing content (Goto Table 1) is decided, allowing processing by the table (Table 1) in the lower part of FIG. 15, until the statistical value exceeds 100 Mbytes.
It is to be noted that the upper table (Table 0) of FIG. 15 may measure, as a statistical value, time elapsed after a prescribed processing rule is set in the lower table (Table 1), as a prescribed rule.
In the example of FIG. 15, in the upper table (Table 0) only 1 entry set is set, but a plurality of entries may also be set. For example, in a case where the packet forwarding node 20 forwards packets transmitted/received by a plurality of communication terminals 30A, the Table 0 of the packet forwarding node 20 may hold a plurality of entries respectively corresponding to the plurality of communication terminals 30A. In this case, a rule for a communication terminal 30A corresponding to the entry is set in an expire rule of each entry. Furthermore, a statistical value for the communication terminal 30A corresponding to the entry is stored in the statistical information (counters) of each entry. The packet forwarding function unit 33 distinguishes the communication terminal 30A by referring to a transmission source address of a packet flow, for example, and stores the statistical value in a corresponding entry in Table 0.
On the other hand, in the lower table (Table 1) of FIG. 15, as an example, a processing rule that realizes communication between a protocol stack unit 32 inside the communication terminal 30A and the server 40 is set. It is to be noted that an expire rule is not set in the lower table (Table 1) of FIG. 15.
With respect to the packet forwarding function unit 33 of the communication terminal 30A or a processing rule management unit 23 of the packet forwarding node 20, in a case where the statistical value satisfies a prescribed rule, (for example, a case where the processing volume exceeds a prescribed threshold), prescribed processing is executed with regard to a processing rule stored in Table 1. For example, the packet forwarding function unit 33 or a table management unit 12 executes processing to delete a processing rule of Table 1, or rewrites a method of packet processing prescribed in a processing rule to packet dropping.
The packet forwarding function unit 33 of the communication terminal 30A or the processing rule management unit 23 of the packet forwarding node 20, for example, updates an expire rule for a processing rule, based on an instruction to update the expire rule from the control apparatus 10. With regard to the packet forwarding function unit 33 or the processing rule management unit 23, the upper table (Table 0) of FIG. 15, for example, updates a prescribed rule (for example, an expire rule of Table 0) by an instruction from the control apparatus 10. In the example of FIG. 15, the packet forwarding function unit 33 or the processing rule management unit 23 updates 100 Mbytes, which is an expire rule in the upper table (Table 0) of FIG. 15, to 200 Mbytes, by an instruction from the control apparatus 10. In a case where the expire rule is set to a number of packets, the packet forwarding function unit 33 updates that number of packets.
According to the present exemplary embodiment that holds 2 tables as described above, there is an advantage in that, even in a case where an expire rule is established, a processing rule may be deleted from a table for flow control in the upper part of FIG. 15, and it is not necessary to update a table for packet processing in the lower part of FIG. 15. Furthermore, there is an advantage in that, even in a case where the communication terminal 30A updates a contract, an expire rule of a processing rule may be updated from a table for flow control in the upper part of FIG. 15, and it is not necessary to update a table for packet processing in the lower part of FIG. 15. In this way, it is possible to reduce processing rule management load of each of the communication terminal 30A, the packet forwarding node 20, and the control apparatus 10.
Descriptions have been given above of respective exemplary embodiments, but there is no limitation to the abovementioned exemplary embodiments, and further modifications, substitutions, and adjustments can be added within a scope that does not depart from a fundamental technological concept of the invention. The present invention also includes exemplary embodiments in which the respective exemplary embodiments are arbitrarily combined.
For example, the numbers and connection configurations of the packet forwarding nodes 20, the control apparatus 10, the communication terminal 30, the server 40, and the accounting server 50, shown in the respective exemplary embodiments above, are shown in order to simply describe the present invention, and the numbers and connection configurations thereof can be modified as necessary. The respective exemplary embodiments make reference to OpenFlow, which is related technology, but the present invention is not limited to using OpenFlow. For example, a communication architecture in which packet forwarding paths are centrally controlled by a control apparatus can be applied to the present invention, without being limited to OpenFlow.
Furthermore, in the abovementioned exemplary embodiments, a description was given in which, after forwarding a packet using a processing rule, a decision is made to delete the processing rule using an expire rule in the processing rule, but it is also possible for a table management unit to make a decision to delete a processing rule at prescribed time intervals.
In the abovementioned exemplary embodiments, a description was given in which a processing rule is deleted using an expire rule of the processing rule, but it is also possible to rewrite processing content of the processing rule to packet dropping or the like.
The disclosures of the above Patent Literatures and Non-Patent Literatures are incorporated herein by reference thereto. 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 selections of various disclosed elements (including each element of 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 the claims and the technical concept. Particularly, any numerical range disclosed herein should be interpreted that any intermediate values or subranges falling within the disclosed range are also concretely disclosed even without specific recital thereof.
10, 10A control apparatus
11 expire rule management unit
11A contract information management unit
12 communication terminal location management unit
13 topology management unit
14 control message processing unit
15 path action calculation unit
16 packet forwarding node management unit
17 processing rule management unit
18 processing rule database
19 node communication unit
20 20-1, 20-2, 20-3 packet forwarding node
21 forwarding processing unit
22 table database (DB)
23 processing rule management unit
24 expire rule management unit
25 communication unit
30, 30A communication terminal
31-1 to 31-N application unit
32 protocol stack unit
33 packet forwarding function unit
40 server
50 accounting server
210 table retrieval unit
211 action execution unit

Claims (22)

  1. A communication apparatus, comprising:
    a packet processing unit that processes, based on a processing rule set by a control apparatus, a packet corresponding to the processing rule;
    a forwarding processing unit that measures a statistical value obtained from processing volume by the processing rule; and
    a processing rule management unit that determines whether or not the processing rule is valid, based on the statistical value and a determination condition, wherein
    the processing rule management unit, in response to update of the determination condition, determines whether or not the processing rule is valid according to the updated determination condition.
  2. The communication apparatus according to claim 1, wherein
    the forwarding processing unit continuously measures the statistical value, and
    the processing rule management unit determines whether or not the processing rule is valid, based on the continuously measured statistical value and the updated determination condition.
  3. The communication apparatus according to claim 1 or 2, wherein
    the determination condition includes a threshold, and
    the processing rule management unit, in response to update of the determination condition, determines whether or not the processing rule is valid, according to the determination condition in which the threshold has been updated.
  4. The communication apparatus according to claim 3, wherein
    the processing rule management unit invalidates a processing rule in which the statistical value has exceeded the threshold.
  5. The communication apparatus according to claim 4, wherein
    the processing rule management unit makes a request to the control apparatus for a new processing rule, with regard to a packet corresponding to the invalidated processing rule.
  6. The communication apparatus according to any one of claims 1 to 5, wherein
    the processing rule management unit determines whether or not the processing rule is valid, according to the determination condition updated based on prescribed information.
  7. The communication apparatus according to any one of claims 1 to 6, wherein
    the processing rule management unit determines whether or not the processing rule is valid, according to the determination condition updated based on accounting information.
  8. The communication apparatus according to any one of claims 1 to 7, wherein
    the determination condition includes a threshold,
    the threshold included in the determination condition is updated so that processing volume allowed by the processing rule increases, according to an added charge, and
    the processing rule management unit monitors whether or not the statistical value exceeds the threshold.
  9. A communication control method, comprising:
    by a communication apparatus, processing, based on a processing rule set by a control apparatus, a packet corresponding to the processing rule;
    measuring a statistical value obtained from processing volume by the processing rule;
    determining whether or not the processing rule is valid, based on the statistical value and a determination condition; and
    determining, in response to update of the determination condition, whether or not the processing rule is valid according to the updated determination condition.
  10. The communication control method according to claim 9, comprising:
    by the communication apparatus, continuously measuring the statistical value; and
    determining, based on the continuously measured statistical value and the updated determination condition, whether or not the processing rule is valid.
  11. The communication control method according to claim 9 or 10, comprising:
    by the communication apparatus, determining whether or not the processing rule is valid, in response to update of the determination condition that includes a threshold, by the determination condition in which the threshold is updated.
  12. The communication control method according to claim 11, comprising:
    by the communication apparatus, invalidating a processing rule in which the statistical value exceeds the threshold.
  13. The communication control method according to claim 12, comprising:
    by the communication apparatus, making a request to the control apparatus for a new processing rule, with regard to a packet corresponding to the invalidated processing rule.
  14. The communication control method according to any one of claims 9 to 13, comprising:
    by the communication apparatus, determining whether or not the processing rule is valid, according to the determination condition updated based on prescribed information.
  15. The communication control method according to any one of claims 9 to 14, comprising:
    by the communication apparatus, determining whether or not the processing rule is valid, according to the determination condition updated based on accounting information.
  16. The communication control method according to any one of claims 9 to 15, comprising:
    by the communication apparatus, updating a threshold included in the determination condition, so that processing volume allowed by the processing rule increases, according to an added charge; and
    monitoring whether or not the statistical value exceeds the threshold.
  17. A communication system, comprising:
    a control apparatus that generates a packet processing rule; and
    a communication apparatus, wherein
    the communication apparatus comprises:
    a packet processing unit that processes, based on a processing rule set by the control apparatus, a packet corresponding to the processing rule;
    a forwarding processing unit that measures a statistical value obtained from processing volume by the processing rule; and
    a processing rule management unit that determines whether or not the processing rule is valid, based on the statistical value and a determination condition, and
    the processing rule management unit, in response to update of the determination condition, determines whether or not the processing rule is valid according to the updated determination condition.
  18. A program, causing a communication apparatus, processing, based on a processing rule set by a control apparatus, a packet corresponding to the processing rule, to execute:
    measuring a statistical value obtained from a processing volume by the processing rule;
    determining whether or not the processing rule is valid based on the statistical value and a determination condition; and
    determining, in response to update of the determination condition, whether or not the processing rule is valid according to the updated determination condition.
  19. A control apparatus, comprising:
    first means that generates a packet processing rule and transmits the processing rule to a communication apparatus;
    second means that transmits to the communication apparatus a determination condition, for determining whether or not the processing rule is valid by comparing the determination condition with a statistical value obtained from processing volume by the processing rule; and
    third means that updates the determination condition based on prescribed information transmitted by the communication apparatus, and transmits the determination condition to the communication apparatus.
  20. A communication control method, comprising:
    by a control apparatus, generating a packet processing rule;
    transmitting the processing rule to a communication apparatus;
    transmitting to the communication apparatus a determination condition, for determining whether or not the processing rule is valid by comparing the determination condition with a statistical value obtained from processing volume by the processing rule;
    updating the determination condition based on prescribed information transmitted by the communication apparatus; and
    transmitting the updated determination condition to the communication apparatus.
  21. A program, causing a control apparatus controlling a communication apparatus that processes a packet, to execute:
    generating a packet processing rule, and transmitting the processing rule to a communication apparatus;
    transmitting to the communication apparatus a determination condition for determining whether or not the processing rule is valid by comparing the determination condition with a statistical value obtained from processing volume by the processing rule; and
    updating the determination condition based on prescribed information transmitted by the communication apparatus, and transmitting the updated determination condition to the communication apparatus.
  22. An accounting server that manages contract information of a communication apparatus, the accounting server comprising:
    first means for communicating with a control apparatus that transmits a packet processing rule to the communication apparatus, and transmits to the communication apparatus a determination condition for determining whether or not the processing rule is valid by comparing the determination condition with a statistical value obtained from processing volume by the processing rule; and
    second means for receiving from the communication apparatus information for updating the contract information; and
    third means for transmitting the updated contract information to the control apparatus to make the control apparatus update the determination condition.
PCT/JP2013/002057 2012-03-28 2013-03-26 Communication system, control apparatus, communication apparatus, accounting server, communication method and program WO2013145724A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014547199A JP6164223B2 (en) 2012-03-28 2013-03-26 Communication system, control device, communication device, billing server, communication method, and program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2012-074917 2012-03-28
JP2012074917 2012-03-28

Publications (1)

Publication Number Publication Date
WO2013145724A1 true WO2013145724A1 (en) 2013-10-03

Family

ID=49259023

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2013/002057 WO2013145724A1 (en) 2012-03-28 2013-03-26 Communication system, control apparatus, communication apparatus, accounting server, communication method and program

Country Status (2)

Country Link
JP (1) JP6164223B2 (en)
WO (1) WO2013145724A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040106393A1 (en) * 2002-12-02 2004-06-03 Nortel Networks Limited Methods, systems and program products for supporting prepaid service within a communication network
JP2008236230A (en) * 2007-03-19 2008-10-02 Hitachi Communication Technologies Ltd Network system
WO2011108205A1 (en) * 2010-03-05 2011-09-09 日本電気株式会社 Communication system, path control apparatus, packet forwarding apparatus and path control method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040106393A1 (en) * 2002-12-02 2004-06-03 Nortel Networks Limited Methods, systems and program products for supporting prepaid service within a communication network
JP2008236230A (en) * 2007-03-19 2008-10-02 Hitachi Communication Technologies Ltd Network system
WO2011108205A1 (en) * 2010-03-05 2011-09-09 日本電気株式会社 Communication system, path control apparatus, packet forwarding apparatus and path control method

Also Published As

Publication number Publication date
JP6164223B2 (en) 2017-07-19
JP2015515153A (en) 2015-05-21

Similar Documents

Publication Publication Date Title
WO2013042373A1 (en) Communication apparatus, control apparatus, communication system, communication control method, communication terminal and program
US20130246655A1 (en) Communication path control system, path control device, communication path control method, and path control program
US9906437B2 (en) Communication system, control apparatus, control method and program
WO2012011290A1 (en) Communication system, node, statistical information collection device, statistical information collection method and program
WO2013042375A1 (en) Communication apparatus, control apparatus, communication system, communication control method, and computer program
US9755918B2 (en) Communication terminal, method of communication and communication system
JP6007978B2 (en) COMMUNICATION DEVICE, CONTROL DEVICE, COMMUNICATION SYSTEM, COMMUNICATION CONTROL METHOD, AND PROGRAM
WO2013042346A1 (en) Communication apparatus, communication system, communication control method, and computer program
EP2759104B1 (en) Communication apparatus, communication system, communication control method, and program
US20150281091A1 (en) Control apparatus, node, communication system, communication method, and program
WO2013145724A1 (en) Communication system, control apparatus, communication apparatus, accounting server, communication method and program
JP5916234B2 (en) COMMUNICATION DEVICE, CONTROL DEVICE, COMMUNICATION SYSTEM, COMMUNICATION CONTROL METHOD, AND PROGRAM
US20140341219A1 (en) Communication Terminal, Method of Communication, Communication System and Control Apparatus
JP2014027696A (en) Communication device, control device, communication system, communication control method and program
WO2013069193A1 (en) Mobile communication terminal, communication method, communication system, and control apparatus
WO2014020902A1 (en) Communication system, control apparatus, communication method, and program
JP2015092730A (en) Communication device, control device, communication system, communication control method, and program

Legal Events

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

Ref document number: 13767917

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2014547199

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13767917

Country of ref document: EP

Kind code of ref document: A1