The present invention relates to a method of communicating information over a network, and to a network communication system.
Network path computation or routing in virtual networks differs from routing that is performed using specialized hardware and network operating systems. In the latter approach, the network operating system, often embedded within the network equipment, determines the route taken by a packet. Route tables stored in specialized hardware, such as an application-specific integrated circuit (ASIC), facilitate the processing of routes. However, in the case of virtual routers that run over a hypervisor, network interfaces and ports are abstracted and need to effectively interface with physical interfaces. Unlike the embedded network operating system in a typical router, the controller for a virtual router can be decoupled from the machine that hosts the virtual router and be hosted separately. The separation of functionalities (i.e. control of routes from forwarding) is known as Software Defined Networking, based on an emerging network design paradigm. Further, existing routing algorithms are not fully suitable to perform routing for virtual routers.
A typical label switched network consists of a sequence of label switching equipment that route packets to their destinations. This involves establishing a route encompassing client terminals and intermediate equipment that switch the flow of data to corresponding destinations. The path computation is determined by adding labels to routing headers indicating the type of payload being transported and its next hop. These labels are interpreted by label switching devices (using standards such as GMPLS, MPLS) for packet forwarding. Several types of services and media that peruse label switched networks impose specific quality of service (QoS) requirements, which need to be fulfilled in order to transport the packet to its intended destination. While the labels can represent policy information, they do not include dynamically modified application specific information or a centralized control of such a method. For example, these methods cannot be used for blocking a specific application without any additional security products. Meeting such requirements remains part of most service provider Service Level Agreements (SLA). However, such networks are not entirely suitable to tag multiple traffic requirements simultaneously. Additionally, there is usually only a single route available for data transmission that fulfils a limited number of traffic criteria.
Subsequently, the adoption of cloud-based service delivery models has seen network equipment deployed as virtual machines (i.e. a software instance) over a hypervisor. Virtualising networking that is based on application requirements offers many economic advantages such as rapid scalability, configuration and management since the network equipment is run as software. However, such a mode of delivery can also impose stress due to a concentration of traffic at a specific point in the network.
In accordance with a first aspect of the present invention, there is provided a method of communicating information over a network, the method comprising the steps of:
Selecting a route from a non-dominated set of routes facilitates selection of an appropriate route without necessarily requiring a narrow set of criteria (or giving up on the quality of another criteria) to be satisfied. It will be appreciated that any route of the non-dominated set of routes may be selected. If network conditions change, then a further route of the non-dominated set of routes may be selected. Further, routes that are part of the non-dominated set may be ranked relative to one another, and selection of the route may be based on the ranking of the route.
The plurality of routes between the source and the destination within the network may be determined by performing a topology discovery process. The topology discovery process may comprise an open shortest path first (OSPF) process. Requirements of users of the network may also be determined, along with quality of service (QoS) requirements, for example using an eXtensible Markup Language (XML)-based network management protocol, a network configuration protocol (NETCONF) and/or a simple network management protocol (SNMP). Information obtained during these steps may be stored in a database, for example a relational database. It will be appreciated that the routes discovered at this stage are potential routes for selection.
Assigning the plurality of route quality values to each of the plurality of paths may comprise using an objective function to evaluate each of the plurality of routes and assigning a share score as an indicator of the quality of each evaluated route. A share score can also be used to determine a tie if the quality values of a plurality of routes are the same. The plurality of route quality values may be component parameters of the objective function. In one example, the component parameters of the objective function for each route relates to one or more of the group comprising: a time delay associated with communicating the information over the route, a bandwidth associated with the route, a hop count associated with the route, and information associated with the availability of service of the route.
In one embodiment, when comparing the route quality values of each of the plurality of routes, the plurality of route quality values are not combined.
In accordance with a second aspect of the present invention, there is provided a system for communicating information over a network, the system comprising at least one traffic distribution controller arranged to communicate information between a source and a destination over a communications network; wherein
The controller may be arranged to rank routes that are part of the non-dominated set relative to one another, and to select a route based on the ranking of the route.
The controller may be arranged to determine the plurality of routes between the source and the destination within the network by performing a topology discovery process. Alternatively, the plurality of routes between the source and the destination within the network may be provided. The topology discovery process may comprise an open shortest path first (OSPF) process. Requirements of users of the network may also be determined, along with quality of service (QoS) requirements, for example using an eXtensible Markup Language (XML)-based network management protocol, a network configuration protocol (NETCONF) and/or a simple network management protocol (SNMP). The system may be arranged to store information obtained during these steps in a database, for example a relational database. It will be appreciated that the routes discovered at this stage are potential routes for selection.
The controller may be arranged to assign the plurality of route quality values to each of the plurality of paths by using an objective function to evaluate each of the plurality of routes and assigning a share score as an indicator of the quality of each evaluated route. A share score can also be used to determine a tie if the quality values of a plurality of routes are the same. The plurality of route quality values may be component parameters of the objective function. In one example, the component parameters of the objective function for each route relates to one or more of the group comprising: a time delay associated with communicating the information over the route, a bandwidth associated with the route, a hop count associated with the route, and information associated with the availability of service of the route.
The controller may be arranged such that, when comparing the route quality values of each of the plurality of routes, the plurality of route quality values are not combined.
Embodiments of the present invention will now be described, by way of example only, with reference to the accompanying figures, in which:
Embodiments of the present invention facilitate the selection of routes in a network, and are appropriate for virtualized networks and services that run on hypervisors, which pose different and additional challenges than those that run directly on servers.
Unlike the embedded network operating system in a typical router, the controller for a virtual router can be decoupled from the machine that hosts the virtual router and be hosted separately. The separation of functionalities (i.e. control of routes from forwarding) is known as Software Defined Networking, based on an emerging network design paradigm. Embodiments of the present invention route a plurality of routing criteria in order to provide flexibility and improve network performance.
Further, and as discussed earlier, existing networking methods cannot be used for blocking a specific application without any additional security products. Meeting such requirements remains part of most service provider Service Level Agreements (SLA). However, such networks are not entirely suitable to tag multiple traffic requirements simultaneously. Applying embodiments of the present invention with a centralised controller can be advantageous in addressing the limitations posed by existing networking methods.
Embodiments provide a centralised network controller and a route selection method that can be modified to suit specific needs of the user to manipulate the network, and can be used to optimise different routing and application criteria. For example, different applications typically have specific service policies which, when directly manipulated via a controller, can present economic advantages.
Further, embodiments of the present invention relate to designing networks that are responsive to applications and applying dynamic policies in such conditions. In some embodiments, the system comprises one or more traffic distribution controllers that are arranged to distribute traffic between a client device and its destination via a less congested route. The controller with the disclosed implementation typically performs software-based routing based on a software defined networking paradigm. Algorithms implemented within the controller facilitate the controller in computing policy and ranking routing decisions for virtualized cloud-based routers and switches, and can be defined to provide additional virtualised network services such as firewall and anti-virus functions.
In a second step 104, a plurality of routes between the source and the destination within the network are determined. The plurality of routes between the client device and the destination within the network may be determined by performing a topology discovery process. In this example, the topology discovery process comprises an open shortest path first (OSPF) process. Requirements of users of the network are also determined, along with quality of service (QoS) requirements. This can be achieved using any appropriate technique, for example by using an eXtensible Markup Language (XML)-based network management protocol, a network configuration protocol (NETCONF) and/or a simple network management protocol (SNMP). Information associated with the routes obtained during these steps can be stored in a relational database, and routes discovered at this stage are potential routes for selection.
In a third step 106, a plurality of route quality values are assigned to each of the plurality of routes based on a determination of a plurality of qualities of each of the plurality of routes. In this example, the step 106 of assigning the plurality of route quality values to each of the plurality of paths comprises using an objective function to evaluate each of the plurality of routes and assigning a share score as an indicator of the quality of each evaluated route. The plurality of route quality values may be component parameters of the share value function.
In a fourth step 108, the route quality values of each of the plurality of routes are compared so as to determine, in step 110, a non-dominated set of the routes. In this example, when comparing the route quality values of each of the plurality of routes, the plurality of route quality values are not combined.
Determining 100 a non-dominated set of the routes facilitates selecting a route from the non-dominated set of routes without necessarily requiring a narrow set of criteria to be satisfied. It will be appreciated that any route of the non-dominated set of routes may be selected and, if network conditions change, then a further route of the non-dominated set of routes may be selected.
In step 112, a route from the non-dominated set of routes is selected for communicating the information over the selected route.
A specific method 200 of communicating information over a network will now be described with reference to
As described in the above pseudo-code, and shown in
Congestion can occur due to multiple requests to virtualized routers from client devices.
The method 200 begins with a topology discovery process 202 (using a method such as OSPF) and gathers user requirements representing the service and QoS requirements (using a method such as XML, NETCONF and SNMP). This information is stored in a relational database and combined to represent 204 as a candidate solution as discovered routes are potential routes. Without such a combination, these routes would otherwise lack the insight of the service and QoS requirements, as there are no previously existing mechanisms to simultaneously combine both. The candidate routes are evaluated based on load share value equations.
A objective function 206 is used to evaluate candidate routes and assign a load share score as an indicator of the quality of the route considered. Candidate routes constitute hops in the network, with assigned application and policy settings that are associated with the hops. The component parameters of the share value function are not, in this example, combined as a weighted sum as this can result in a particular metric being biased. By not combining the share functions, the disclosed traffic distribution problem can be solved using a Pareto-based process. Further, given that the QoS metrics may be conflicting and interdependent in nature, it may not be possible to adequately provide a trade-off between the share values by adjusting the correct weights. Therefore, once a non-dominated set is obtained, a user is able to select a particular route based on one or more particular trade-offs rather than weighting of share functions.
For routes requiring multiple criteria, not all the criteria may be considered simultaneously as adhering to one criterion may degrade the quality of the solution obtained.
A non-dominated route is obtained 208 based on the relative share value scores. A given candidate path (A) is assigned a non-dominated rank if it dominates (has a higher rank) another candidate path (B) while at the same time A is not worse than B in all the other share functions. The solutions in the Pareto set are assigned a score based on the degree of dominance in the candidate paths and sorted in increasing order 210.
A tie-break function 212 can be used in cases where two routes have a same share function value. In such cases, the difference between the component share function value and its previous value are obtained. For example, if the share values of two candidate's values are the same, then their value and its preceding rank are taken. The candidate route with the largest share value is considered as the higher rank. This function ensures that suitable paths are considered, which in turn can be used as additional options by the source to reach its destination.
The methods 100, 200 described above can be implemented by a communications system 300 as shown in
It will be appreciated that the system 300 may be any appropriate computing device that is capable of implementing a virtual router to conduct the steps of the method 100, 200. In this example, the system 300 comprises a traffic distribution controller 308 arranged to communicate the information between the source 302 and the destination 304 over the network 306. The controller 308 is arranged to perform software-based routing based on a software defined networking paradigm. As such, in this example, the controller is arranged to communicate via a network interface 310, and comprises a processor 312 and memory 314.
Computer instructions that may be required to implement software routing functions of the controller 308, and that are executed by the processor 312, are stored in the memory 314 of the controller 308. In this example, the memory 314 also comprises a database 316, which may store information associated with routes obtained during steps of the method 100, 200. In this example, the database 316 is a relational database, and includes information associated with routes that are potential routes for selection.
The system 300 is arranged to carry out the steps of the method 100, 200. In particular, the controller 308 is arranged to determining a plurality of routes between the source 302 and the destination 304, and to assigning a plurality of route quality values to each of the plurality of routes based on a determination of a plurality of qualities of each of the plurality of routes. The controller 308 is also arranged to compare the route quality values of each of the plurality of routes, to determine a non-dominated set of the routes based on the step of comparing the route quality values of each of the plurality of routes, and to select a route from the non-dominated set of routes for communicating the information over the selected route.
Numerous variations and modifications will suggest themselves to persons skilled in the relevant art, in addition to those already described, without departing from the basic inventive concepts. All such variations and modifications are to be considered within the scope of the present invention, the nature of which is to be determined from the foregoing description.
In the description of the invention, except where the context requires otherwise due to express language or necessary implication, the words “comprise” or variations such as “comprises” or “comprising” are used in an inclusive sense, i.e. to specify the presence of the stated features, but not to preclude the presence or addition of further features in various embodiments of the invention.
Number | Date | Country | Kind |
---|---|---|---|
PI 2014702054 | Jul 2014 | MY | national |