WO2012020564A1 - Communication system, control device, computer, node control method, and program - Google Patents
Communication system, control device, computer, node control method, and program Download PDFInfo
- Publication number
- WO2012020564A1 WO2012020564A1 PCT/JP2011/004501 JP2011004501W WO2012020564A1 WO 2012020564 A1 WO2012020564 A1 WO 2012020564A1 JP 2011004501 W JP2011004501 W JP 2011004501W WO 2012020564 A1 WO2012020564 A1 WO 2012020564A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- node
- communication path
- computer
- control device
- status
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/38—Flow based routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/147—Network analysis or design for predicting network behaviour
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/40—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/122—Avoiding congestion; Recovering from congestion by diverting traffic away from congested entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/127—Avoiding congestion; Recovering from congestion by using congestion prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
- H04L43/0882—Utilisation of link capacity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/20—Arrangements for monitoring or testing data switching networks the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/125—Shortest path evaluation based on throughput or bandwidth
Definitions
- the present application claims priority from Japanese Patent Application 2010-178779 (filed on August 9, 2010) the content of which is hereby incorporated in its entirety by reference into this specification.
- the present invention relates to a communication system, a control device, a computer, a node control method, and a program, and more particularly to a communication system that includes nodes each of which processes a received packet according to a processing rule having a matching rule that matches the received packet, a control device, a computer, a node control method, and a program.
- OpenFlow identifies communications as end-to-end flows and performs path control, failure recovery, load balancing, and optimization on a per-flow basis.
- An OpenFlow switch has a secure channel for communication with an OpenFlow controller, and operates according to the flow table to which information is added, and whose contents are rewritten, according to an instruction from the OpenFlow controller as necessary.
- a set of the following three is defined for each flow: a matching rule (FlowKey/matching key) against which the packet header is matched, an action (Action) that defines processing contents, and flow statistical information (Stats) (see FIG. 5).
- FIG. 6 is a diagram showing an example of action names and action contents defined in Non Patent Literature 2.
- OUTPUT is an action for outputting a packet to a specified port (interface).
- SET_VLAN_VID to SET_TP_DST are actions for modifying the fields of a packet header.
- the OpenFlow switch searches the flow table for an entry that has a matching rule (FlowKey) that matches the header information of the received packet. If an entry matching the received packet is found as a result of the search, the OpenFlow switch performs the processing contents, described in the action field of the entry, 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 transfers the received packet to the OpenFlow controller via the secure channel, requests the OpenFlow controller to determine a packet path based on the transmission source/destination of the received packet, receives a flow entry for the packet path, and updates the flow table.
- FlowKey matching rule
- the OpenFlow controller described in Non Patent Literatures 1 and 2 given above collects flow statistical information (Stats) from the OpenFlow switches that operate as described above and dynamically sets a path (flow entry for implementing the path (processing rule)) in the OpenFlow switches according to the communication policy or the network load status at any given time to perform path control and load balancing to suit the communication policy.
- Stats flow statistical information
- Patent Literature 1 discloses a network load balancing system that, for use in a network in which multiple nodes are interconnected by multiple links, comprises a load balancing server that receives network status information from the multiple nodes, determines the optimum link metric based on the network status information, and transmits the optimum link metric to the multiple nodes wherein, in each node, a path is dynamically selected based on the optimum link metric.
- Patent Literature 2 discloses a distributed system operation maintenance support device that comprises operation specification management means that manages, as predetermined specifications, the correspondence between an application embodying an operation and a distributed system where the application is implemented and provides at least one of predetermined operation information and predetermined component information; monitoring means that transmits operation maintenance information, collected from the distributed system, to prediction means; prediction means that predicts the future trend for the components of the distributed system for which operation maintenance is required; and operation maintenance control means that creates an operation maintenance object list based on the prediction result of the prediction means and the required characteristic data received from the operation specification management means.
- Patent Literatures 1 and 2 and Non Patent Literatures 1 and 2 given above are hereby incorporated in their entirety by reference into this specification. The following analysis is made by the inventor of the present invention.
- action is taken for an overload only after the load increases. Therefore, the problem is that the action tends to be delayed and the path control is performed without consideration for future load changes.
- the distributed system operation maintenance system in Patent Literature 2 discloses only the prediction means that predicts the future trend of the components of the distributed system based on the data collected by the in-distributed-system monitoring means (see paragraph 0039 in Patent Literature 2) configured in a traffic monitoring product and the configuration in which the operation maintenance object list is created based on the prediction result as well as the required characteristic data received from the operation specification management means.
- the present invention has been made.
- a communication system that includes nodes each of which processes a received packet according to a processing rule that defines the matching rule and the processing of a packet that matches the matching rule
- a communication system comprising: a node that processes a received packet according to a processing rule that defines a matching rule and processing of a packet that matches the matching rule; and a control device comprising a load status estimation unit that estimates a future load status of a network based on an operation history of a program running on a computer accessed via the node; a communication path calculation unit that calculates a communication path based on the future load status of the network; and a communication path setting unit that creates a processing rule for implementing the calculated communication path and sets the created processing rule in the node.
- a control device comprising: a load status estimation unit that estimates a future load status of a network based on an operation history of a program running on a computer accessed via a node that processes a received packet according to a processing rule that defines a matching rule and processing of a packet that matches the matching rule; a communication path calculation unit that calculates a communication path based on the future load status of the network; and a communication path setting unit that creates a processing rule for implementing the calculated communication path and sets the created processing rule in the node.
- a computer that provides services by an application program to an access source that makes access via a node and, at the same time, provides an operation history of the application program to the control device described above.
- a node control method for use in a communication system, the communication system comprising: a node that processes a received packet according to a processing rule that defines a matching rule and processing of a packet that matches the matching rule; and a control device that controls the node, the node control method comprising: the steps of estimating a future load status of a network based on an operation history of a program running on a computer accessed via the node; calculating a communication path based on the future load status of the network; and creating a processing rule for implementing the calculated communication path and setting the created processing rule in the node.
- This method is associated with a particular machine that is a control device for controlling the nodes.
- a program causing a computer, which configures a control device connected to a node that processes a received packet according to a processing rule that defines a matching rule and processing of a packet that matches the matching rule, to execute the steps of: estimating a future load status of a network based on an operation history of a program running on a computer accessed via the node; calculating a communication path based on the future load status of the network; and creating a processing rule for implementing the calculated communication path and setting the created processing rule in the node.
- This program may be recorded on a computer-readable storage medium. That is, the present invention may be embodied as a computer program product.
- the nodes may be controlled considering future load changes.
- FIG. 1 is a diagram showing the configuration of a first exemplary embodiment of the present invention.
- FIG. 2 is a block diagram showing the detailed configuration of a control device in the first exemplary embodiment of the present invention.
- FIG. 3 is a flowchart showing an example of the operation of the control device in the first exemplary embodiment of the present invention.
- FIG. 4 is a diagram showing the specific operation of the control device in the first exemplary embodiment of the present invention.
- FIG. 5 is a diagram showing the configuration of a flow entry described in Non Patent Literature 2.
- FIG. 6 is a diagram showing the action names and action contents described in Non Patent Literature 2.
- a communication system of the present invention comprises nodes (21-23 in FIG. 1), each of which processes a received packet according to a processing rule, which defines a matching rule and the processing of a packet that matches the matching rule, and a control device (10 in FIG. 1) that controls the nodes.
- a processing rule which defines a matching rule and the processing of a packet that matches the matching rule
- a control device (10 in FIG. 1) that controls the nodes.
- the control device (10 in FIG. 1) comprises an operation history acquisition unit (11 in FIG. 2) that acquires the operation history of a program (application program 31 in FIG. 2) running on a computer (30 in FIG. 1) accessed by a client via the nodes (21-23 in FIG. 1); a load status estimation unit (12 in FIG. 2) that estimates the future load status of a network based on the operation history of the program; a communication path calculation unit (13 in FIG. 2) that calculates a communication path based on the future load status of the network; and a communication path setting unit (14 in FIG. 2) that creates a processing rule for implementing the calculated communication path and sets the created processing rule in the node.
- an operation history acquisition unit (11 in FIG. 2) that acquires the operation history of a program (application program 31 in FIG. 2) running on a computer (30 in FIG. 1) accessed by a client via the nodes (21-23 in FIG. 1);
- a load status estimation unit (12 in FIG. 2) that estimates the future load status of a network based on the operation history of
- the control device (10 in FIG. 1) estimates the future load status of the network based on the operation history of a program (application program 31 in FIG. 2) running on the computer (30 in FIG. 1) accessed by the clients and updates, as necessary, the communication path and the processing rule that is set in the nodes (21-23 in FIG. 1).
- a program application program 31 in FIG. 2 running on the computer (30 in FIG. 1) accessed by the clients and updates, as necessary, the communication path and the processing rule that is set in the nodes (21-23 in FIG. 1).
- the mode described above allows the nodes to be controlled considering the future load changes that will be caused at least by the execution of the program (application program 31 in FIG. 2).
- FIG. 1 shows the configuration comprising nodes 21-23 and a control device (controller) 10 that controls the nodes 21-23 to carry out communication between a client and a computer 30.
- the nodes 21-23 are devices each of which processes a received packet according to a processing rule that defines a matching rule and the processing of a packet that matches the matching rule.
- a processing rule that defines a matching rule and the processing of a packet that matches the matching rule.
- Such a node may be implemented by the OpenFlow switch described in Non Patent Literatures 1 and 2 that processes a received packet according to a processing rule (flow entry) that defines a matching rule and the processing of a packet that matches the matching rule.
- the computer 30 is configured by a server in which an application program operates to provide predetermined services to a client.
- FIG. 2 is a block diagram showing the detailed configuration of the control device (controller) 10.
- the control device (controller) 10 comprises an operation history acquisition unit 11, a load status estimation unit 12, a communication path calculation unit 13, and a communication path setting unit 14. Those units operate as follows.
- the operation history acquisition unit 11 acquires the operation history of an application program 31 that operates on the computer 30 and transmits the acquired operation history to the load status estimation unit 12.
- the operation history includes information on connection status changes, such as the connection start or the connection end of a client at an application level, and on registration status changes such as the user registration or de-registration. This information, usually output to the log file of the application program 31, may be acquired from the corresponding log file of the computer 30.
- an operation identifier indicating the type of operation as well as a machine identifier indicating a combination of computers accessed via nodes (accessing/accessed computers) be acquired as the operation history.
- the operation history acquisition unit 11 may receive the notification on connection start/end from the application program 31.
- a configuration is also possible in which the operation history acquisition unit 11 is installed in the computer 30 to cause the operation history acquisition unit 11 to transmit the operation history information to the load status estimation unit 12 in the control device (controller) 10.
- the load status estimation unit 12 estimates a future network load status based on the operation history received from the operation history acquisition unit 11 and outputs the estimated load status to the communication path calculation unit 13. Note that the load status estimation unit 12 may hold the network load status as the load status estimation information.
- the information on the changes in the connection status or on the changes in the registration status, if included in the operation history, may be used to estimate the traffic that will be generated in the near future for estimating the future load status of the network.
- the application program 31 is an application program for execution an information providing server and if a user registers with that server, it may be estimated that an information providing request will be received in the near future from the machine used by the user. Furthermore, because the user uses the same machine in many cases, an information providing request will be received most likely from the machine used for the registration. Therefore, if the information in the operation history indicates that user registered from machine A to machine X, the load status estimation unit 12 predicts (estimates) that information will be transferred between machine A and machine X in the near future.
- the load status estimation unit 12 records the load status estimation information indicating that an information providing request will be issued or information will be transferred in the near future.
- the load status estimation unit 12 transmits the load status estimation information, estimated or updated as described above, to the communication path calculation unit 13.
- the communication path calculation unit 13 Based on the received load status estimation information and the network topology information representing the connection relation among the nodes 21-23, the communication path calculation unit 13 performs the calculation of path via which information will be transferred between the requesting/requested computers and transmits the calculated result at a time to the communication path setting unit 14 as the communication path information.
- the communication path information includes at least an array composed of the machine identifiers indicating the requesting and requested computers and network node identifiers indicating a communication path.
- the communication path calculation unit 13 performs the path calculation as follows based on the load status estimation information. For example, if the machine identifiers included in the operation history received so far indicate that many registrations have been made from a particular domain to machine X, multiple communication paths may be calculated so that the loads of the paths from the domain to machine X are balanced.
- the IP address may be used as the machine identifier that identifies the domain in which the machine is present.
- the number of paths to be calculated may be determined as follows. For example, if the load status estimation information obtained on the assumption that the half of the number of registered machines included in the received operation history are in connection at the same time, the number of paths may be determined by multiplying the average band by the half of the number of users.
- the communication path setting unit 14 sets a processing rule (flow entry), which implements the path, on the nodes on the communication path based on the communication path information received from the communication path calculation unit 13.
- the processing rule (flow entry) that is set by the communication path setting unit 14 defines a matching rule which is composed of information on the identifiers of the requesting/requested computers, input port information, etc., and processing which indicates from which port the received packet is to be output.
- the communication path setting unit 14 sets the processing rule (flow entry) in the same manner as described in Non Patent Literatures 1 and 2.
- control device (controller) 10 described above may also be implemented by adding the operation history acquisition unit 11 and the load status estimation unit 12 to the OpenFlow controller described in Non Patent Literatures 1 and 2 and by causing the communication path calculation unit 13 to carry out the path calculation according to the load status.
- the components (processing means) of the control device (controller) 10 shown in FIG. 2 may also be implemented by a computer program that causes the computer, which configures the control device (controller) 10, to use its hardware to perform the processing described above.
- FIG. 3 is a flowchart showing an example of the operation of the control device in the first exemplary embodiment of the present invention.
- the operation history acquisition unit 11 first acquires the operation history, necessary for estimating the load status, from the log file, etc., output by the application program 31 and transmits the acquired operation history to the load status estimation unit 12 at a predetermined time interval (step S1).
- the load status estimation unit 12 estimates the future load status of the network based on the received information, records the result as the load status estimation information and, at the same time, transmits its contents to the communication path calculation unit 13 (step S2).
- the communication path calculation unit 13 calculates a communication path based on the contents of the load status estimation information and the network topology information and transmits the calculated communication path to the communication path setting unit 14 as the communication path information (step S3).
- the communication path setting unit 14 sets the processing rule in one or more of the nodes 21-23, in which the processing rule (flow entry) must be set, based on the contents of the communication path information (step S4).
- a communication path may be set preventively in this exemplary embodiment considering the future network load status estimated based on the operation history of the application program 31. This method allows the network load to be balanced even if multiple information acquisition requests are transmitted at a time from the same domain to a particular computer in the future.
- the service application program running on the computer (application server) 30 is an information delivery program that delivers data to a registered client (or registered user) as necessary.
- a client is able to receive information only after registering into the computer (application server) 30. Also assume that the communication path between the client and the server at registration time is set in advance.
- the IP addresses of the registration requesting clients (2) and the IP address of the requested computer (application server) 30 are transmitted as the operation history, but the control device (controller) 10 does not change the communication path.
- the data communication path and the registration communication path are still "Route1" in FIG. 4.
- control device (controller) 10 switches the information-delivery communication path of some of the clients to a communication path different from the communication path that has been used (Route2 in FIG. 4).
- the communication path is changed as follows.
- the control device (controller) 10 estimates that information-delivery data communication will be started in the near future between the IP address of the registration requesting client (third client) and the requested computer (application server) 30. And so, the control device (controller) 10 references the communication path information saved so far and calculates a communication path (Route2 in FIG. 4), different from the communication path that has been used, as the communication path between the IP address of the registration requesting client (third client) and the requested computer (application server) 30.
- the control device (controller) 10 estimates that data communication will not be performed in future between the IP address of the client and the computer (application server) 30 and updates the load status estimation information. After that, the control device (controller) 10 updates the communication path information saved so far and, at the same time, deletes the corresponding processing rule (flow entry) from the nodes 21 and 23 on the path. Deleting the processing rule in this way allows "Route1" to be made available for allocation to a registration request that will be received from a new client. Alternatively, the control device (controller) 10 may aggregate the flow of the clients, which are using "Route2", into “Route1".
- control device (controller) 10 in the exemplary embodiment above may be implemented as a dedicated server, and the nodes 21-23 may be implemented by the OpenFlow switch described above as well as by a router in an IP network or an MPLS(Multi-Protocol Label Switching) switch on an MPLS network.
- the present invention may be applied also to a network where a server integrally manages the nodes in the network.
- ⁇ First exemplary embodiment> (See the communication system in a first aspect above)
- ⁇ Second exemplary embodiment> The communication system according to the first exemplary embodiment wherein the operation history is acquired from the log file of the program held in the computer.
- ⁇ Third exemplary embodiment> The communication system according to the first or second exemplary embodiment wherein changes in the connection status of a client to the computer or changes in the registration status of a user are acquired as the operation history and the data communication amount after the changes in the connection status of the client or the changes in the registration status of the user are estimated as the future load status of the network.
- connection status of the client or the registration stratus of the user at least the operation identifier indicating the operation type and a pair of computers accessed via the nodes, that is, the machine identifiers of the access source and the computer, are included.
- the control device estimates the future load status of the network, based on the combination of the access source that makes access via the nodes and the computer, and calculates a communication path so that load is balanced.
- the combination of the access source that makes access via the nodes and the computer is identified based on the IP addresses included in the operation history.
- ⁇ Sixth exemplary embodiment> The communication system according to one of the first to fifth exemplary embodiments wherein the operation history acquisition unit, which acquires the operation history of a program running in the computer accessed via the nodes, is installed in the control device.
- ⁇ Seventh exemplary embodiment> The communication system according to one of the first to fifth exemplary embodiments wherein the operation history acquisition unit, which acquires the operation history of a program running on the computer accessed via the nodes, is installed in the computer.
- ⁇ Eighth exemplary embodiment> See the control device in a second aspect above
- ⁇ Ninth exemplary embodiment> The communication device according to the eighth exemplary embodiment wherein the operation history is acquired from the log file of the program held in the computer.
- ⁇ Tenth exemplary embodiment> The control device according to the eighth or ninth exemplary embodiment wherein changes in the connection status of a client to the computer or changes in the registration status of a user are acquired as the operation history and the data communication amount after the changes in the connection status of the client or the changes in the registration status of the user are estimated as the future load status of the network.
- As the connection status of the client or the registration stratus of the user at least the operation identifier indicating the operation type and a pair of computers accessed via the nodes, that is, the machine identifiers of the access source and the computer, are included.
- ⁇ Eleventh exemplary embodiment> The control device according to one of the eighth to tenth exemplary embodiments wherein the control device estimates the future load status of the network, based on the combination of the access source that makes access via the nodes and the computer, and calculates a communication path so that load is balanced.
- ⁇ Twelfth exemplary embodiment> The control device according to the eleventh exemplary embodiment wherein the combination of the access source that makes access via the nodes and the computer is identified based on the IP addresses included in the operation history.
- ⁇ Thirteenth exemplary embodiment> The control device according to one of the eighth to twelfth exemplary embodiments, further comprising an operation history acquisition unit that acquires the operation history of a program running on the computer accessed via the nodes.
- ⁇ Fourteenth exemplary embodiment> See the computer in a third aspect above
- ⁇ Fifteenth exemplary embodiment> See the node control method in a fourth aspect above
- ⁇ Sixteenth exemplary embodiment> The node control method according to the fifteenth exemplary embodiment wherein the operation history is acquired from the log file of the program held in the computer.
- the node control method according to the fifteenth or sixteenth exemplary embodiment wherein changes in the connection status of a client to the computer or changes in the registration status of a user are acquired as the operation history and the data communication amount after the changes in the connection status of the client or the changes in the registration status of the user are estimated as the future load status of the network.
- ⁇ Eighteenth exemplary embodiment> The node control method according to one of the fifteenth to seventeenth exemplary embodiments wherein the future load status of the network is estimated, based on the combination of the access source that makes access via the nodes and the computer, and a communication path is calculated so that load is balanced.
- ⁇ Nineteenth exemplary embodiment> The node control method according to one of the fifteenth to eighteenth exemplary embodiments wherein the combination of the access source that makes access via the nodes and the computer is identified based on the IP addresses included in the operation history.
- wentieth exemplary embodiment> See the computer program in a fifth aspect above
- the disclosure of Patent Literature and Non Patent Literatures given above is hereby incorporated by reference into this specification.
- Control device (controller) 11 Operation history acquisition unit 12 Load status estimation unit 13 Communication path calculation unit 14 Communication path setting unit 21,22,23 Node 30 Computer 31 Application program
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
The present invention controls the nodes considering future load changes. A control device of a communication system comprises a load status estimation unit that estimates a future load status of a network based on the operation history of a program running on a computer accessed via a node that processes a received packet according to a processing rule that defines a matching rule and processing of a packet that matches the matching rule; a communication path calculation unit that calculates a communication path based on the future load status of the network; and a communication path setting unit that creates a processing rule for implementing the calculated communication path and sets the created processing rule in the node.
Description
(CROSS-REFERENCE TO RELATED APPLICATIONS)
The present application claims priority from Japanese Patent Application 2010-178779 (filed on August 9, 2010) the content of which is hereby incorporated in its entirety by reference into this specification. The present invention relates to a communication system, a control device, a computer, a node control method, and a program, and more particularly to a communication system that includes nodes each of which processes a received packet according to a processing rule having a matching rule that matches the received packet, a control device, a computer, a node control method, and a program.
The present application claims priority from Japanese Patent Application 2010-178779 (filed on August 9, 2010) the content of which is hereby incorporated in its entirety by reference into this specification. The present invention relates to a communication system, a control device, a computer, a node control method, and a program, and more particularly to a communication system that includes nodes each of which processes a received packet according to a processing rule having a matching rule that matches the received packet, a control device, a computer, a node control method, and a program.
Recently, the technology called OpenFlow is proposed as described in Non Patent Literatures 1 and 2. OpenFlow identifies communications as end-to-end flows and performs path control, failure recovery, load balancing, and optimization on a per-flow basis. An OpenFlow switch has a secure channel for communication with an OpenFlow controller, and operates according to the flow table to which information is added, and whose contents are rewritten, according to an instruction from the OpenFlow controller as necessary. In the flow table, a set of the following three is defined for each flow: a matching rule (FlowKey/matching key) against which the packet header is matched, an action (Action) that defines processing contents, and flow statistical information (Stats) (see FIG. 5).
FIG. 6 is a diagram showing an example of action names and action contents defined in Non Patent Literature 2. OUTPUT is an action for outputting a packet to a specified port (interface). SET_VLAN_VID to SET_TP_DST are actions for modifying the fields of a packet header.
For example, when the first packet is received, the OpenFlow switch searches the flow table for an entry that has a matching rule (FlowKey) that matches the header information of the received packet. If an entry matching the received packet is found as a result of the search, the OpenFlow switch performs the processing contents, described in the action field of the entry, 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 transfers the received packet to the OpenFlow controller via the secure channel, requests the OpenFlow controller to determine a packet path based on the transmission source/destination of the received packet, receives a flow entry for the packet path, and updates the flow table.
The OpenFlow controller described in Non Patent Literatures 1 and 2 given above collects flow statistical information (Stats) from the OpenFlow switches that operate as described above and dynamically sets a path (flow entry for implementing the path (processing rule)) in the OpenFlow switches according to the communication policy or the network load status at any given time to perform path control and load balancing to suit the communication policy.
In addition, Patent Literature 1 discloses a network load balancing system that, for use in a network in which multiple nodes are interconnected by multiple links, comprises a load balancing server that receives network status information from the multiple nodes, determines the optimum link metric based on the network status information, and transmits the optimum link metric to the multiple nodes wherein, in each node, a path is dynamically selected based on the optimum link metric.
Patent Literature 2 discloses a distributed system operation maintenance support device that comprises operation specification management means that manages, as predetermined specifications, the correspondence between an application embodying an operation and a distributed system where the application is implemented and provides at least one of predetermined operation information and predetermined component information; monitoring means that transmits operation maintenance information, collected from the distributed system, to prediction means; prediction means that predicts the future trend for the components of the distributed system for which operation maintenance is required; and operation maintenance control means that creates an operation maintenance object list based on the prediction result of the prediction means and the required characteristic data received from the operation specification management means.
Nick McKeown and seven other authors, "OpenFlow: Enabling Innovation in Campus Networks", [online], [Searched on May 26, 2010], Internet <URL: http://www.openflowswitch.org//documents/openflow-wp-latest.pdf>
"Openflow Switch Specification" Version 1.0.0. (Wire Protocol 0x01) [Searched on May 26, 2010], Internet <URL: http://www.openflowswitch.org/documents/openflow-spec-v1.0.0.pdf>
The disclosures of Patent Literatures 1 and 2 and Non Patent Literatures 1 and 2 given above are hereby incorporated in their entirety by reference into this specification. The following analysis is made by the inventor of the present invention.
In the path control based on the network load status such as that described inNon Patent Literatures 1 and 2 and Patent Literature 1, action is taken for an overload only after the load increases. Therefore, the problem is that the action tends to be delayed and the path control is performed without consideration for future load changes.
In the path control based on the network load status such as that described in
Similarly, the distributed system operation maintenance system in Patent Literature 2 discloses only the prediction means that predicts the future trend of the components of the distributed system based on the data collected by the in-distributed-system monitoring means (see paragraph 0039 in Patent Literature 2) configured in a traffic monitoring product and the configuration in which the operation maintenance object list is created based on the prediction result as well as the required characteristic data received from the operation specification management means.
In view of the foregoing, the present invention has been made. For use in a communication system that includes nodes each of which processes a received packet according to a processing rule that defines the matching rule and the processing of a packet that matches the matching rule, it is an object of the present invention to provide a communication system that can control the nodes considering future changes in the load, a control device, a computer, a node control method, and a program.
According to a first aspect of the present invention, there is provided a communication system comprising: a node that processes a received packet according to a processing rule that defines a matching rule and processing of a packet that matches the matching rule; and a control device comprising a load status estimation unit that estimates a future load status of a network based on an operation history of a program running on a computer accessed via the node; a communication path calculation unit that calculates a communication path based on the future load status of the network; and a communication path setting unit that creates a processing rule for implementing the calculated communication path and sets the created processing rule in the node.
According to a second aspect of the present invention, there is provided a control device comprising: a load status estimation unit that estimates a future load status of a network based on an operation history of a program running on a computer accessed via a node that processes a received packet according to a processing rule that defines a matching rule and processing of a packet that matches the matching rule; a communication path calculation unit that calculates a communication path based on the future load status of the network; and a communication path setting unit that creates a processing rule for implementing the calculated communication path and sets the created processing rule in the node.
According to a third aspect of the present invention, there is provided a computer that provides services by an application program to an access source that makes access via a node and, at the same time, provides an operation history of the application program to the control device described above.
According to a fourth aspect of the present invention, there is provided a node control method for use in a communication system, the communication system comprising: a node that processes a received packet according to a processing rule that defines a matching rule and processing of a packet that matches the matching rule; and a control device that controls the node, the node control method comprising: the steps of estimating a future load status of a network based on an operation history of a program running on a computer accessed via the node; calculating a communication path based on the future load status of the network; and creating a processing rule for implementing the calculated communication path and setting the created processing rule in the node. This method is associated with a particular machine that is a control device for controlling the nodes.
According to a fifth aspect of the present invention, there is provided a program causing a computer, which configures a control device connected to a node that processes a received packet according to a processing rule that defines a matching rule and processing of a packet that matches the matching rule, to execute the steps of: estimating a future load status of a network based on an operation history of a program running on a computer accessed via the node; calculating a communication path based on the future load status of the network; and creating a processing rule for implementing the calculated communication path and setting the created processing rule in the node. This program may be recorded on a computer-readable storage medium. That is, the present invention may be embodied as a computer program product.
According to the present invention, the nodes may be controlled considering future load changes.
First, the following describes the overview of the present invention. A communication system of the present invention comprises nodes (21-23 in FIG. 1), each of which processes a received packet according to a processing rule, which defines a matching rule and the processing of a packet that matches the matching rule, and a control device (10 in FIG. 1) that controls the nodes. The reference numerals of the figures added to the overview are added to the elements for convenience sake to help understanding the description. Note that the present invention is not limited to the mode shown in the figures.
The control device (10 in FIG. 1) comprises an operation history acquisition unit (11 in FIG. 2) that acquires the operation history of a program (application program 31 in FIG. 2) running on a computer (30 in FIG. 1) accessed by a client via the nodes (21-23 in FIG. 1); a load status estimation unit (12 in FIG. 2) that estimates the future load status of a network based on the operation history of the program; a communication path calculation unit (13 in FIG. 2) that calculates a communication path based on the future load status of the network; and a communication path setting unit (14 in FIG. 2) that creates a processing rule for implementing the calculated communication path and sets the created processing rule in the node.
The control device (10 in FIG. 1) estimates the future load status of the network based on the operation history of a program (application program 31 in FIG. 2) running on the computer (30 in FIG. 1) accessed by the clients and updates, as necessary, the communication path and the processing rule that is set in the nodes (21-23 in FIG. 1).
The mode described above allows the nodes to be controlled considering the future load changes that will be caused at least by the execution of the program (application program 31 in FIG. 2).
First exemplary embodiment
Next, a first exemplary embodiment of the present invention will be described more in detail below with reference to the drawings. FIG. 1 shows the configuration comprising nodes 21-23 and a control device (controller) 10 that controls the nodes 21-23 to carry out communication between a client and acomputer 30.
Next, a first exemplary embodiment of the present invention will be described more in detail below with reference to the drawings. FIG. 1 shows the configuration comprising nodes 21-23 and a control device (controller) 10 that controls the nodes 21-23 to carry out communication between a client and a
The nodes 21-23 are devices each of which processes a received packet according to a processing rule that defines a matching rule and the processing of a packet that matches the matching rule. Such a node may be implemented by the OpenFlow switch described in Non Patent Literatures 1 and 2 that processes a received packet according to a processing rule (flow entry) that defines a matching rule and the processing of a packet that matches the matching rule.
The computer 30 is configured by a server in which an application program operates to provide predetermined services to a client.
FIG. 2 is a block diagram showing the detailed configuration of the control device (controller) 10. Referring to FIG. 2, the control device (controller) 10 comprises an operation history acquisition unit 11, a load status estimation unit 12, a communication path calculation unit 13, and a communication path setting unit 14. Those units operate as follows.
The operation history acquisition unit 11 acquires the operation history of an application program 31 that operates on the computer 30 and transmits the acquired operation history to the load status estimation unit 12. The operation history includes information on connection status changes, such as the connection start or the connection end of a client at an application level, and on registration status changes such as the user registration or de-registration. This information, usually output to the log file of the application program 31, may be acquired from the corresponding log file of the computer 30. Although there is one client (machine used by the user) and one computer 30 in the configuration shown in the example in FIG. 1, it is desirable that, in order to estimate the load status that will be described later, an operation identifier indicating the type of operation as well as a machine identifier indicating a combination of computers accessed via nodes (accessing/accessed computers) be acquired as the operation history.
If application program 31 itself includes a hooking mechanism, the operation history acquisition unit 11 may receive the notification on connection start/end from the application program 31. A configuration is also possible in which the operation history acquisition unit 11 is installed in the computer 30 to cause the operation history acquisition unit 11 to transmit the operation history information to the load status estimation unit 12 in the control device (controller) 10.
The load status estimation unit 12 estimates a future network load status based on the operation history received from the operation history acquisition unit 11 and outputs the estimated load status to the communication path calculation unit 13. Note that the load status estimation unit 12 may hold the network load status as the load status estimation information.
The information on the changes in the connection status or on the changes in the registration status, if included in the operation history, may be used to estimate the traffic that will be generated in the near future for estimating the future load status of the network. For example, if the application program 31 is an application program for execution an information providing server and if a user registers with that server, it may be estimated that an information providing request will be received in the near future from the machine used by the user. Furthermore, because the user uses the same machine in many cases, an information providing request will be received most likely from the machine used for the registration. Therefore, if the information in the operation history indicates that user registered from machine A to machine X, the load status estimation unit 12 predicts (estimates) that information will be transferred between machine A and machine X in the near future. And, based on the fact that the user registered from machine A to machine X, the load status estimation unit 12 records the load status estimation information indicating that an information providing request will be issued or information will be transferred in the near future. In addition, the load status estimation unit 12 transmits the load status estimation information, estimated or updated as described above, to the communication path calculation unit 13.
Based on the received load status estimation information and the network topology information representing the connection relation among the nodes 21-23, the communication path calculation unit 13 performs the calculation of path via which information will be transferred between the requesting/requested computers and transmits the calculated result at a time to the communication path setting unit 14 as the communication path information. The communication path information includes at least an array composed of the machine identifiers indicating the requesting and requested computers and network node identifiers indicating a communication path.
The communication path calculation unit 13 performs the path calculation as follows based on the load status estimation information. For example, if the machine identifiers included in the operation history received so far indicate that many registrations have been made from a particular domain to machine X, multiple communication paths may be calculated so that the loads of the paths from the domain to machine X are balanced. The IP address may be used as the machine identifier that identifies the domain in which the machine is present.
When calculating the multiple paths, the number of paths to be calculated may be determined as follows. For example, if the load status estimation information obtained on the assumption that the half of the number of registered machines included in the received operation history are in connection at the same time, the number of paths may be determined by multiplying the average band by the half of the number of users.
The communication path setting unit 14 sets a processing rule (flow entry), which implements the path, on the nodes on the communication path based on the communication path information received from the communication path calculation unit 13. As with a flow entry described in Non Patent Literatures 1 and 2, the processing rule (flow entry) that is set by the communication path setting unit 14 defines a matching rule which is composed of information on the identifiers of the requesting/requested computers, input port information, etc., and processing which indicates from which port the received packet is to be output. The communication path setting unit 14 sets the processing rule (flow entry) in the same manner as described in Non Patent Literatures 1 and 2.
The control device (controller) 10 described above may also be implemented by adding the operation history acquisition unit 11 and the load status estimation unit 12 to the OpenFlow controller described in Non Patent Literatures 1 and 2 and by causing the communication path calculation unit 13 to carry out the path calculation according to the load status.
The components (processing means) of the control device (controller) 10 shown in FIG. 2 may also be implemented by a computer program that causes the computer, which configures the control device (controller) 10, to use its hardware to perform the processing described above.
Next, the following describes the operation of this exemplary embodiment in detail with reference to the drawings. FIG. 3 is a flowchart showing an example of the operation of the control device in the first exemplary embodiment of the present invention.
Referring to FIG. 3, the operation history acquisition unit 11 first acquires the operation history, necessary for estimating the load status, from the log file, etc., output by the application program 31 and transmits the acquired operation history to the load status estimation unit 12 at a predetermined time interval (step S1).
When the operation history is received, the load status estimation unit 12 estimates the future load status of the network based on the received information, records the result as the load status estimation information and, at the same time, transmits its contents to the communication path calculation unit 13 (step S2).
When the load status estimation information is received, the communication path calculation unit 13 calculates a communication path based on the contents of the load status estimation information and the network topology information and transmits the calculated communication path to the communication path setting unit 14 as the communication path information (step S3).
When the communication path information is received, the communication path setting unit 14 sets the processing rule in one or more of the nodes 21-23, in which the processing rule (flow entry) must be set, based on the contents of the communication path information (step S4).
As described above, a communication path may be set preventively in this exemplary embodiment considering the future network load status estimated based on the operation history of the application program 31. This method allows the network load to be balanced even if multiple information acquisition requests are transmitted at a time from the same domain to a particular computer in the future.
The following describes the effect in detail using an example. As shown in FIG. 4, assume that three clients and the computer (application server) 30, in which a service application program is running, are connected via the nodes 21-23. Also assume that the nodes 21-23 perform processing for a received packet according to the processing rule (flow entry) that is set by the control device (controller) 10.
The service application program running on the computer (application server) 30 is an information delivery program that delivers data to a registered client (or registered user) as necessary.
Assume that a client is able to receive information only after registering into the computer (application server) 30. Also assume that the communication path between the client and the server at registration time is set in advance.
In the status where two of the clients described above have registered, the same communication path is set in the beginning for registration and for information delivery (Route1 in FIG. 4).
At this point of time, the IP addresses of the registration requesting clients (2) and the IP address of the requested computer (application server) 30 are transmitted as the operation history, but the control device (controller) 10 does not change the communication path. The data communication path and the registration communication path are still "Route1" in FIG. 4.
After that, when the number of clients registered in the computer (application server) 30 exceeds a predetermined number (for example, 3), the control device (controller) 10 switches the information-delivery communication path of some of the clients to a communication path different from the communication path that has been used (Route2 in FIG. 4).
The communication path is changed as follows. When the IP address of the registration requesting client (third client) and the IP address of the requested computer (application server) 30 are received as the operation history, the control device (controller) 10 estimates that information-delivery data communication will be started in the near future between the IP address of the registration requesting client (third client) and the requested computer (application server) 30. And so, the control device (controller) 10 references the communication path information saved so far and calculates a communication path (Route2 in FIG. 4), different from the communication path that has been used, as the communication path between the IP address of the registration requesting client (third client) and the requested computer (application server) 30.
After that, if de-registration information is received from the client, for which "Route1" has been set as the communication path, as the operation history, the control device (controller) 10 estimates that data communication will not be performed in future between the IP address of the client and the computer (application server) 30 and updates the load status estimation information. After that, the control device (controller) 10 updates the communication path information saved so far and, at the same time, deletes the corresponding processing rule (flow entry) from the nodes 21 and 23 on the path. Deleting the processing rule in this way allows "Route1" to be made available for allocation to a registration request that will be received from a new client. Alternatively, the control device (controller) 10 may aggregate the flow of the clients, which are using "Route2", into "Route1".
Setting an information delivery communication path as described above before information delivery is started for preventing traffic from concentrating in a particular communication path prevents the communication path from being congested and the information delivery from being delayed.
While the preferred exemplary embodiment of the present invention has been described, it is to be understood that the present invention is not limited to the exemplary embodiment above and that further modifications, replacements, and adjustments may be added without departing from the basic technical concept of the present invention. The control device (controller) 10 in the exemplary embodiment above may be implemented as a dedicated server, and the nodes 21-23 may be implemented by the OpenFlow switch described above as well as by a router in an IP network or an MPLS(Multi-Protocol Label Switching) switch on an MPLS network. The present invention may be applied also to a network where a server integrally manages the nodes in the network.
Finally, the following summarizes the preferred exemplary embodiments of the present invention.
<First exemplary embodiment>
(See the communication system in a first aspect above)
<Second exemplary embodiment>
The communication system according to the first exemplary embodiment wherein
the operation history is acquired from the log file of the program held in the computer.
<Third exemplary embodiment>
The communication system according to the first or second exemplary embodiment wherein
changes in the connection status of a client to the computer or changes in the registration status of a user are acquired as the operation history and
the data communication amount after the changes in the connection status of the client or the changes in the registration status of the user are estimated as the future load status of the network. As the connection status of the client or the registration stratus of the user, at least the operation identifier indicating the operation type and a pair of computers accessed via the nodes, that is, the machine identifiers of the access source and the computer, are included.
<Fourth exemplary embodiment>
The communication system according to one of the first to third exemplary embodiments wherein the control device estimates the future load status of the network, based on the combination of the access source that makes access via the nodes and the computer, and calculates a communication path so that load is balanced.
<Fifth exemplary embodiment>
The communication system according to the fourth exemplary embodiment wherein the combination of the access source that makes access via the nodes and the computer is identified based on the IP addresses included in the operation history.
<Sixth exemplary embodiment>
The communication system according to one of the first to fifth exemplary embodiments wherein the operation history acquisition unit, which acquires the operation history of a program running in the computer accessed via the nodes, is installed in the control device.
<Seventh exemplary embodiment>
The communication system according to one of the first to fifth exemplary embodiments wherein the operation history acquisition unit, which acquires the operation history of a program running on the computer accessed via the nodes, is installed in the computer.
<Eighth exemplary embodiment>
(See the control device in a second aspect above)
<Ninth exemplary embodiment>
The communication device according to the eighth exemplary embodiment wherein the operation history is acquired from the log file of the program held in the computer.
<Tenth exemplary embodiment>
The control device according to the eighth or ninth exemplary embodiment wherein changes in the connection status of a client to the computer or changes in the registration status of a user are acquired as the operation history and the data communication amount after the changes in the connection status of the client or the changes in the registration status of the user are estimated as the future load status of the network. As the connection status of the client or the registration stratus of the user, at least the operation identifier indicating the operation type and a pair of computers accessed via the nodes, that is, the machine identifiers of the access source and the computer, are included.
<Eleventh exemplary embodiment>
The control device according to one of the eighth to tenth exemplary embodiments wherein the control device estimates the future load status of the network, based on the combination of the access source that makes access via the nodes and the computer, and calculates a communication path so that load is balanced.
<Twelfth exemplary embodiment>
The control device according to the eleventh exemplary embodiment wherein the combination of the access source that makes access via the nodes and the computer is identified based on the IP addresses included in the operation history.
<Thirteenth exemplary embodiment>
The control device according to one of the eighth to twelfth exemplary embodiments, further comprising an operation history acquisition unit that acquires the operation history of a program running on the computer accessed via the nodes.
<Fourteenth exemplary embodiment>
(See the computer in a third aspect above)
<Fifteenth exemplary embodiment>
(See the node control method in a fourth aspect above)
<Sixteenth exemplary embodiment>
The node control method according to the fifteenth exemplary embodiment wherein the operation history is acquired from the log file of the program held in the computer.
<Seventeenth exemplary embodiment>
The node control method according to the fifteenth or sixteenth exemplary embodiment wherein changes in the connection status of a client to the computer or changes in the registration status of a user are acquired as the operation history and the data communication amount after the changes in the connection status of the client or the changes in the registration status of the user are estimated as the future load status of the network.
<Eighteenth exemplary embodiment>
The node control method according to one of the fifteenth to seventeenth exemplary embodiments wherein the future load status of the network is estimated, based on the combination of the access source that makes access via the nodes and the computer, and a communication path is calculated so that load is balanced.
<Nineteenth exemplary embodiment>
The node control method according to one of the fifteenth to eighteenth exemplary embodiments wherein the combination of the access source that makes access via the nodes and the computer is identified based on the IP addresses included in the operation history.
<Twentieth exemplary embodiment>
(See the computer program in a fifth aspect above)
The disclosure of Patent Literature and Non Patent Literatures given above is hereby incorporated by reference into this specification. The exemplary embodiments may be changed and adjusted in the scope of the entire disclosure (including claims) of the present invention and based on the basic technological concept. In the scope of the claims of the present invention, various disclosed elements may be combined and selected in a variety of ways. That is, it is to be understood that modifications and changes that may be made by those skilled in the art within the scope of the present invention are included.
<First exemplary embodiment>
(See the communication system in a first aspect above)
<Second exemplary embodiment>
The communication system according to the first exemplary embodiment wherein
the operation history is acquired from the log file of the program held in the computer.
<Third exemplary embodiment>
The communication system according to the first or second exemplary embodiment wherein
changes in the connection status of a client to the computer or changes in the registration status of a user are acquired as the operation history and
the data communication amount after the changes in the connection status of the client or the changes in the registration status of the user are estimated as the future load status of the network. As the connection status of the client or the registration stratus of the user, at least the operation identifier indicating the operation type and a pair of computers accessed via the nodes, that is, the machine identifiers of the access source and the computer, are included.
<Fourth exemplary embodiment>
The communication system according to one of the first to third exemplary embodiments wherein the control device estimates the future load status of the network, based on the combination of the access source that makes access via the nodes and the computer, and calculates a communication path so that load is balanced.
<Fifth exemplary embodiment>
The communication system according to the fourth exemplary embodiment wherein the combination of the access source that makes access via the nodes and the computer is identified based on the IP addresses included in the operation history.
<Sixth exemplary embodiment>
The communication system according to one of the first to fifth exemplary embodiments wherein the operation history acquisition unit, which acquires the operation history of a program running in the computer accessed via the nodes, is installed in the control device.
<Seventh exemplary embodiment>
The communication system according to one of the first to fifth exemplary embodiments wherein the operation history acquisition unit, which acquires the operation history of a program running on the computer accessed via the nodes, is installed in the computer.
<Eighth exemplary embodiment>
(See the control device in a second aspect above)
<Ninth exemplary embodiment>
The communication device according to the eighth exemplary embodiment wherein the operation history is acquired from the log file of the program held in the computer.
<Tenth exemplary embodiment>
The control device according to the eighth or ninth exemplary embodiment wherein changes in the connection status of a client to the computer or changes in the registration status of a user are acquired as the operation history and the data communication amount after the changes in the connection status of the client or the changes in the registration status of the user are estimated as the future load status of the network. As the connection status of the client or the registration stratus of the user, at least the operation identifier indicating the operation type and a pair of computers accessed via the nodes, that is, the machine identifiers of the access source and the computer, are included.
<Eleventh exemplary embodiment>
The control device according to one of the eighth to tenth exemplary embodiments wherein the control device estimates the future load status of the network, based on the combination of the access source that makes access via the nodes and the computer, and calculates a communication path so that load is balanced.
<Twelfth exemplary embodiment>
The control device according to the eleventh exemplary embodiment wherein the combination of the access source that makes access via the nodes and the computer is identified based on the IP addresses included in the operation history.
<Thirteenth exemplary embodiment>
The control device according to one of the eighth to twelfth exemplary embodiments, further comprising an operation history acquisition unit that acquires the operation history of a program running on the computer accessed via the nodes.
<Fourteenth exemplary embodiment>
(See the computer in a third aspect above)
<Fifteenth exemplary embodiment>
(See the node control method in a fourth aspect above)
<Sixteenth exemplary embodiment>
The node control method according to the fifteenth exemplary embodiment wherein the operation history is acquired from the log file of the program held in the computer.
<Seventeenth exemplary embodiment>
The node control method according to the fifteenth or sixteenth exemplary embodiment wherein changes in the connection status of a client to the computer or changes in the registration status of a user are acquired as the operation history and the data communication amount after the changes in the connection status of the client or the changes in the registration status of the user are estimated as the future load status of the network.
<Eighteenth exemplary embodiment>
The node control method according to one of the fifteenth to seventeenth exemplary embodiments wherein the future load status of the network is estimated, based on the combination of the access source that makes access via the nodes and the computer, and a communication path is calculated so that load is balanced.
<Nineteenth exemplary embodiment>
The node control method according to one of the fifteenth to eighteenth exemplary embodiments wherein the combination of the access source that makes access via the nodes and the computer is identified based on the IP addresses included in the operation history.
<Twentieth exemplary embodiment>
(See the computer program in a fifth aspect above)
The disclosure of Patent Literature and Non Patent Literatures given above is hereby incorporated by reference into this specification. The exemplary embodiments may be changed and adjusted in the scope of the entire disclosure (including claims) of the present invention and based on the basic technological concept. In the scope of the claims of the present invention, various disclosed elements may be combined and selected in a variety of ways. That is, it is to be understood that modifications and changes that may be made by those skilled in the art within the scope of the present invention are included.
10 Control device (controller)
11 Operation history acquisition unit
12 Load status estimation unit
13 Communication path calculation unit
14 Communication path setting unit
21,22,23 Node
30 Computer
31 Application program
11 Operation history acquisition unit
12 Load status estimation unit
13 Communication path calculation unit
14 Communication path setting unit
21,22,23 Node
30 Computer
31 Application program
Claims (11)
- A communication system, comprising:
a node that processes a received packet according to a processing rule that defines a matching rule and processing of a packet that matches the matching rule; and
a control device comprising a load status estimation unit that estimates a future load status of a network based on an operation history of a program running on a computer accessed via the node; a communication path calculation unit that calculates a communication path based on the future load status of the network; and a communication path setting unit that creates a processing rule for implementing the calculated communication path and sets the created processing rule in the node. - The communication system as defined by claim 1, wherein
changes in a connection status of a client to said computer or changes in a registration status of a user are acquired as the operation history, and
the future load status of the network is estimated by estimating traffic that will be generated by the changes in the connection status of the client or the changes in the registration status of the user. - The communication system as defined by claim 2, wherein
the connection status of the client or the registration status of the user includes at least a set of an operation identifier and machine identifiers, the operation identifier indicating an operation type, the machine identifiers indicating a machine identifier of an access source that accesses via the node and a machine identifier of the computer. - The communication system as defined by one of claims 1-3, wherein
said control device estimates the future load status of the network, based on a combination of the access source that makes access via the node and the computer, and calculates a communication path so that the load is balanced. - A control device, comprising:
a load status estimation unit that estimates a future load status of a network based on an operation history of a program running on a computer accessed via a node that processes a received packet according to a processing rule that defines a matching rule and processing of a packet that matches the matching rule;
a communication path calculation unit that calculates a communication path based on the future load status of the network; and
a communication path setting unit that creates a processing rule for implementing the calculated communication path and sets the created processing rule in the node. - The control device as defined by claim 5, wherein
changes in a connection status of a client to said computer or changes in a registration status of a user are acquired as the operation history, and
the future load status of the network is estimated by estimating traffic that will be generated by the changes in the connection status of the client or the changes in the registration status of the user. - The control device as defined by claim 6, wherein
the connection status of the client or the registration status of the user includes at least a set of an operation identifier and machine identifiers, the operation identifier indicating an operation type, the machine identifiers indicating a machine identifier of an access source that accesses via the node and a machine identifier of the computer. - The control device as defined by one of claims 5-7, wherein
said control device estimates the future load status of the network, based on a combination of the access source that makes access via the node and the computer, and calculates a communication path so that the load is balanced. - A computer that provides services by an application program to an access source that makes access via a node and, at the same time, provides an operation history of the application program to the control device as defined by one of claims 5-8.
- A node control method for use in a communication system, the communication system comprising a node that processes a received packet according to a processing rule that defines a matching rule and processing of a packet that matches the matching rule; and a control device that controls the node, said node control method comprising the steps of:
estimating a future load status of a network based on an operation history of a program running on a computer accessed via the node;
calculating a communication path based on the future load status of the network; and
creating a processing rule for implementing the calculated communication path and setting the created processing rule in the node. - A program causing a computer, which configures a control device connected to a node that processes a received packet according to a processing rule that defines a matching rule and processing of a packet that matches the matching rule, to execute the steps of:
estimating a future load status of a network based on an operation history of a program running on a computer accessed via the node;
calculating a communication path based on the future load status of the network; and
creating a processing rule for implementing the calculated communication path and setting the created processing rule in the node.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013506383A JP5870995B2 (en) | 2010-08-09 | 2011-08-09 | COMMUNICATION SYSTEM, CONTROL DEVICE, COMPUTER, NODE CONTROL METHOD AND PROGRAM |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010-178779 | 2010-08-09 | ||
JP2010178779 | 2010-08-09 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2012020564A1 true WO2012020564A1 (en) | 2012-02-16 |
Family
ID=45567539
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2011/004501 WO2012020564A1 (en) | 2010-08-09 | 2011-08-09 | Communication system, control device, computer, node control method, and program |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP5870995B2 (en) |
WO (1) | WO2012020564A1 (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014021861A1 (en) * | 2012-07-31 | 2014-02-06 | Hewlett-Packard Development Company, L.P. | Implementing a transition protocol in which a first rule set for routing packets received by a group of switches during a first time period is updated to a second rule set |
WO2014055625A1 (en) * | 2012-10-03 | 2014-04-10 | Nec Laboratories America, Inc. | A generic centralized architecture for software-defined networking with low latency one-way bypass communication |
WO2014061587A1 (en) * | 2012-10-15 | 2014-04-24 | 日本電気株式会社 | Control device, node, communication system, communication method, and program |
EP2833587A4 (en) * | 2012-03-30 | 2015-12-30 | Nec Corp | Control device, communication device, communication method, and program |
JP2016525828A (en) * | 2013-08-13 | 2016-08-25 | エヌイーシー ラボラトリーズ アメリカ インクNEC Laboratories America, Inc. | Transparent network management via software-defined |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007116648A (en) * | 2005-09-20 | 2007-05-10 | Fujitsu Ltd | Method for controlling routing |
JP2010161473A (en) * | 2009-01-06 | 2010-07-22 | Nec Corp | Communication system, management computer, stacked switch, flow route determination method |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4245938B2 (en) * | 2003-02-27 | 2009-04-02 | 日本電信電話株式会社 | Communication support method and communication support system apparatus |
JP4186776B2 (en) * | 2003-10-01 | 2008-11-26 | 日本電気株式会社 | Flow control method and flow control method |
JP2007087281A (en) * | 2005-09-26 | 2007-04-05 | Onkyo Corp | Content distribution system, center server and peer to be used for the system, and content distribution method |
-
2011
- 2011-08-09 JP JP2013506383A patent/JP5870995B2/en not_active Expired - Fee Related
- 2011-08-09 WO PCT/JP2011/004501 patent/WO2012020564A1/en active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007116648A (en) * | 2005-09-20 | 2007-05-10 | Fujitsu Ltd | Method for controlling routing |
JP2010161473A (en) * | 2009-01-06 | 2010-07-22 | Nec Corp | Communication system, management computer, stacked switch, flow route determination method |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2833587A4 (en) * | 2012-03-30 | 2015-12-30 | Nec Corp | Control device, communication device, communication method, and program |
US9549413B2 (en) | 2012-03-30 | 2017-01-17 | Nec Corporation | Control apparatus, communication apparatus, communication method and program |
WO2014021861A1 (en) * | 2012-07-31 | 2014-02-06 | Hewlett-Packard Development Company, L.P. | Implementing a transition protocol in which a first rule set for routing packets received by a group of switches during a first time period is updated to a second rule set |
US9749260B2 (en) | 2012-07-31 | 2017-08-29 | Hewlett Packard Enterprise Development Lp | Implementing a transition protocol in which a first rule set for routing packets received by a group of switches during a first time period is updated to a second rule set |
WO2014055625A1 (en) * | 2012-10-03 | 2014-04-10 | Nec Laboratories America, Inc. | A generic centralized architecture for software-defined networking with low latency one-way bypass communication |
WO2014061587A1 (en) * | 2012-10-15 | 2014-04-24 | 日本電気株式会社 | Control device, node, communication system, communication method, and program |
JP2016525828A (en) * | 2013-08-13 | 2016-08-25 | エヌイーシー ラボラトリーズ アメリカ インクNEC Laboratories America, Inc. | Transparent network management via software-defined |
Also Published As
Publication number | Publication date |
---|---|
JP5870995B2 (en) | 2016-03-01 |
JP2013536593A (en) | 2013-09-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5637148B2 (en) | Switch network system, controller, and control method | |
US9276852B2 (en) | Communication system, forwarding node, received packet process method, and program | |
RU2562438C2 (en) | Network system and network management method | |
EP2562970B1 (en) | Switch, and flow table control method | |
JP5757552B2 (en) | Computer system, controller, service providing server, and load distribution method | |
WO2011155510A1 (en) | Communication system, control apparatus, packet capture method and program | |
WO2014118938A1 (en) | Communication path management method | |
WO2011162215A1 (en) | Communication system, control apparatus, node control method and program | |
US20130297790A1 (en) | Network system, control unit and optimal route controlling method | |
US20140241367A1 (en) | Communication system, controller, communication method, and program | |
JP2011155600A (en) | Communication control apparatus | |
US20130148537A1 (en) | Communication quality monitoring system, communication quality monitoring method and recording medium | |
WO2021098425A1 (en) | Qos policy method, device, and computing device for service configuration | |
WO2012020564A1 (en) | Communication system, control device, computer, node control method, and program | |
WO2015125804A1 (en) | Communication system, control device, communication control method and program | |
US20150043574A1 (en) | Communication apparatus, control apparatus, communication system, communication control method, communication terminal and program | |
WO2016048390A1 (en) | Link aggregation configuration for a node in a software-defined network | |
KR20130096762A (en) | Server management apparatus, server management method, and program | |
JP2011159247A (en) | Network system, controller, and network control method | |
EP2938028B1 (en) | Communication node, control device, method for managing control information entries, and program | |
RU2641232C2 (en) | Communication center, communication system, method of processing of packets and program | |
KR20180058594A (en) | Software Defined Network/Test Access Port Application | |
KR20140051802A (en) | Method for setting packet forwarding rule and control apparatus using the method | |
EP2940937A1 (en) | Control apparatus, communication system, communication node control method and program | |
KR20180058592A (en) | Software Defined Network Controller |
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: 11816233 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2013506383 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: 11816233 Country of ref document: EP Kind code of ref document: A1 |