The invention relates to communication networks in general, and especially to a method and a system for controlling data communication within a network, wherein in particular recommendations are provided with respect to the choice of source-destination pairs in the network.
In contemporary communication infrastructures, IP-based computer networks play a prominent role. The deployment of these networks is progressing at an exponential rate as different kinds of participants such as corporations, public authorities and individuals, rely on sophisticated and complex services and communication systems.
Presently server or peer selection methods are primarily based on active measurements that are initiated by users, e.g. by using ping, trace-route or available bandwidth estimation tools, which are often inaccurate and/or add load to the end user. Further selection methods comprise utilizing geographical information, utilizing available landmarks to create virtual coordinating systems, following recommendations and redirection by content providers or distributors based on random source selection, source selection based on load balancing, or source selection based on economic interest or contract agreements. In all the above mentioned cases the information is not supported by the network providers, and the success of the above schemes requires the dependence to already available infrastructure by other peers, service providers, and other third parties that do not have an accurate view of the network and may have conflicting objectives compared to those of the users.
A network provider such as an Internet Service Provider (ISP) is interested in achieving traffic engineering goals and in improving user experience and applications efficiency. An exemplary known technique for achieving such goals is load balancing, wherein workload is distributed across two or more computers or network links in a network, thereby improving for instance resource utilization, throughput or response time. Load balancing commonly is employed for popular web sites, Internet Relay Chat networks, high-bandwidth File Transfer Protocol sites and DNS servers (DNS: Domain Name System), wherein typically a load balancer is utilized which forwards requests from clients to one of multiple backend servers.
It is also common that multiple IP addresses are associated with a single domain name, wherein the response to a DNS request comprises a list of IP addresses of several servers that host an identical service. A method of load balancing in this respect is round robin DNS, wherein the IP address sequence in the list is permuted with each DNS response. Round robin DNS however has the disadvantage that it merely alternates the order of addresses each time a DNS server is queried, so that an essentially even load balancing between the servers is achieved which often is not the optimum.
In an embodiment, the present invention provides a method for controlling data communication within a network with multiple interconnected network elements. The method includes: generating, by a central network element associated with a network provider, a representation of the network based on at least one of retrieving network information or monitoring data communication within the network; detecting changes in the network based on at least one of further retrieving network information or further monitoring data communication within the network and updating the representation of the network depending on the detected changes; receiving, by the central network element, a request from a client network element, wherein the request comprises information which identifies a source network element and at least two destination network elements; determining, by the central network element, for each identified destination network element, a ranking value for the communication path between the source network element and the respective identified destination network element based on the representation of the network; generating an ordered list of the identified destination network elements based on the respective ranking values; transmitting the ordered list to the client network element from the central network element; and selecting, based on the ordered list, at least one of the identified destination network elements for data communication with the source network element.
a is an example of traffic engineering and traffic control for a network of five nodes achieved without employing the system shown in
b is an example of traffic engineering and traffic control for a network of five nodes achieved with employing the system shown in
a is an example of an average download speed achieved with and without employing the system shown in
b is an example of an average hop-count achieved with and without employing the system shown in
In an embodiment, the present invention provides a new and improved way for controlling data communication within a communication network, in particular within a computer network. The present invention further provides a new and improved way to enable a network provider to perform traffic engineering in a network, such as reducing the congestion in heavy loaded links, bypass links that are down or reduce transit costs.
Accordingly, an inventive method for controlling data communication within a network comprises the step of a central network element associated with a network provider generating a representation of the network by retrieving network information and/or by monitoring data communication within the network. Changes in the network are detected by continuously retrieving network information and/or monitoring data communication within the network and the representation of the network is accordingly updated depending on the detected changes. The network may be any network with multiple network elements which for the purpose of data communication are interconnected, in particular the Internet. The central network element typically is a server or a group of servers operated by the network provider. The representation of the network preferably comprises information associated with nodes of the network and/or information associated with communication paths between pairs of nodes of the network. Preferably performance characteristics of the communication paths are calculated and a representation is maintained for fast access. With advantage the network information gathered in the central network element comprises raw network information, for instance physical information, monitoring information, policy information and/or meta-information. With advantage this information is processed and a detailed annotated network representation is built and maintained.
The method further comprises the step of transmitting a request to the central network element from a client network element, wherein said request comprises information which identifies a source network element and at least two destination network elements. For each identified destination network element a ranking value for the communication path between the source network element and the respective destination network element is determined by the central network element based on the representation of the network, an ordered list of the identified destination network elements is generated based on the respective ranking values, said ordered list is transmitted to the client network element from the central network element, and based on the ordered list at least one of the destination network elements is selected for data communication with the source network element.
For the terms client network element, source network element and destination network element in the following also simply the terms client, source and destination are used respectively. The terms are used essentially interchangeably, defining a respective hardware or software unit or an identification thereof. The term user in the following typically refers to the client network element. The terms source and destination are used to define two endpoints of a data communication in the network, wherein the direction of the data communication is not limited to the one or the other direction. Typically however the data communication is initiated by the source.
A basic idea of the invention is the gathering, processing and maintaining of network information within a network provider, wherein the information that is maintained is used to estimate ranking values for source-destination pairs, so that a request comprising at least two candidate destinations is responded to with a recommendation in the form of a ranked list to improve traffic engineering in the network, user experience, and applications efficiency. The ranking value may preferably be a measure for the proximity of the respective source-destination pair. The source and/or the destination of a source-destination pair may or may not belong to the administrative authority of the network provider. The ranking values with advantage are calculated depending on network performance characteristics such as delay, bandwidth, error delivery, network reliability, congestion, and other characteristics such as type of application, pricing, peering agreements, geographical location, legal issues, regional coverage, restrictions activated by the client, service load utilization. The parameters depending on which the ranking values are calculated are not limited to the ones mentioned above, but may comprise also any other suitable parameter.
Source and destination may be identifiers used in network protocols such as the IP address that can be real IPs, sub-networks or access IPs, for instance when behind a Network Address Translation (NAT) or when only router IPs are known. Users are for instance content distribution systems (CDNs), peer-to-peer systems, streaming systems, group of caches, as well as applications based on the client-server model, including server pools, direct download providers, Internet infrastructure such as Domain Name Servers (DNS), as well as authorized servers by other network providers.
In a preferred embodiment of the method the client network element generates the request to be transmitted to the central network element in response to receiving a request from a source network element, wherein the client network element transmits a response to the source network element depending on the ordered list provided by the central network element. This for instance is the case, when the client network element is a DNS server. Requests from such a client network element in the following also are referred to as proxy requests. A special advantage of this embodiment is that no changes in the source network element are needed, since the source network element does not notice the reordering performed in the central network element, which for instance results in a different IP address of a web site received by the source network element than it would have received without the invention.
Alternatively the client network element could at the same time also be the source network element, so that the request is initially generated by the client network element.
Since the requests may be transmitted by different types of network elements relating to different services, typically the requests may have different formats. Therefore, the request transmitted by the client network element preferably is converted into a request of a pre-defined unified format. A request of unified format typically at least comprises identifications of the source network element and of the destination network elements, i.e. the candidate destinations.
In a preferred embodiment the ranking values are determined by means of a pre-defined ranking function which is selected from a pre-defined set of ranking functions based on information in the request transmitted by the client network element.
This information may for instance be a code value, wherein different code values with advantage are associated with different variants of traffic engineering optimizations, and wherein the optimization is selected by the source network element or by the client network element. When converting a request the code value of course is also adopted into the request of unified format. The code value is mapped to an associated ranking function which is then used for determining the ordered list of destination network elements depending on a mapping table stored in the central network element, wherein the mapping may be performed depending on further parameters. That way the definite ranking functions advantageously are only known to the network provider.
The set of ranking functions and their associated code values preferably are pre-defined and stored in the central network element. For an even enhanced flexibility at least one pre-defined ranking function may also be dynamically adapted depending on detected changes of the network.
A very simple example of a ranking function is the ratio of hop-count and minimal bandwidth of the communication path between the source network element and the respective destination network element. Preferably, however, the pre-defined ranking functions may vary greatly depending on a variety of parameters. With special advantage however, the ranking functions are defined on the basis of information accessible only by the network provider.
Preferably a plurality of requests is analyzed and statistical information is determined on the frequency with which requests are received from individual client network elements and/or on the frequency with which individual source network elements and/or individual destination network elements are identified in the respective requests, and wherein said statistical information is used for determining the ranking values.
Further, the method preferably comprises an admission control, which can for instance be realized by means of at least one access control list. In this preferred embodiment only requests are processed by the central network element which are received from an authorized client network element and which identify an authorized source network element, wherein the authorization of the client network element and/or the source network element is checked depending on an identification of the client network element and/or the source network element comprised in the request.
Access control lists may be provided as positive or as negative lists. For instance a first positive list may be provided comprising subnets from which requests are accepted. A second positive list may for instance list IP addresses from which proxy requests are accepted. Proxy requests are for instance transmitted by a DNS server in the name of a source network element. If the above described statistical information shows that a large number of requests is received in a short period of time, the IP addresses of the respective source network element and/or client network element may be adopted into a negative list, so that such requests are blocked.
In a preferred embodiment of the method a backup of the representation of the network is made at pre-defined times, any detected changes in the network since the last backup are stored, and in case of a failure the representation of the network is retrieved based on the last backup and the stored changes.
An inventive system for controlling data communication within a network with multiple network elements which for the purpose of data communication are interconnected is arranged in at least one central network element associated with a network provider. The system comprises a retrieval sub-system for retrieving network information and/or monitoring data communication within the network, a network map generator sub-system for generating and updating a representation of the network based on data received from the retrieval sub-system, a network map database for storing the representation of the network, a query manager sub-system for receiving, processing and responding to a request from a client network element, wherein said request comprises information which identifies a source network element and at least two destination network elements, a path ranking sub-system which is adapted to determine for each destination network element identified in a request from a client network element a ranking value for the communication path between the source network element and the respective destination network element based on the stored representation of the network, wherein the query manager sub-system is adapted to generate a response to a request and transmit the response to the client network element from which the request was received, wherein said response comprises an ordered list of the destination network elements identified in the request, wherein said list is determined on the basis of respective ranking values provided by the path ranking sub-system.
In mode of service the inventive system preferably gathers and processes raw network information, builds and maintains an annotated map of the network, pre-estimates the path characteristics that are used for the evaluation of arbitrary source-destination pairs that can be mapped or assigned in the network, and provides an interface for fast access to the aforementioned maintained view of the network. In mode of service a user can submit requests and the system preferably admits or rejects the requests. If a request is admitted, the request is further processed, information from the maintained network view is retrieved, aggregated statistics for both the sources and destinations are calculated and every candidate source-destination pair is evaluated. The evaluation is sent to the user as a ranked list, for instance in descending order.
When a request by a user of the system arrives along with a list of candidate destinations, for instance servers or peers to download or upload content, the system utilizes the representation of the network stored in the network map database to estimate the source-destination path characteristics and based on pre-defined or dynamically defined ranking functions responds to the request with an ordered list of destinations to achieve traffic engineering goals and improve user experience and applications efficiency.
Accordingly, the path ranking sub-system preferably is adapted to determine the ranking values by means of a pre-defined ranking function which is selected by the path ranking sub-system from a pre-defined set of ranking functions based on information in the request transmitted by the client network element, wherein with advantage at least one pre-defined ranking function is dynamically adapted depending on detected changes of the network.
In a preferred embodiment the system further comprises a request translator sub-system for converting the request received from the client network element into a request of a pre-defined unified format.
In a further preferred embodiment the system comprises a frequent hitter detection sub-system which is adapted to analyze a plurality of requests and to determine statistical information on the frequency with which requests are received from individual client network elements and/or on the frequency with which individual source network elements and/or individual destination network elements are identified in the respective requests, and wherein said statistical information is provided to the path ranking sub-system for determining the ranking values.
With advantage also a backup sub-system is provided which is adapted to make a backup of the representation of the network at pre-defined times, to store any detected changes in the network since the last backup, and to retrieve the representation of the network based on the last backup and the stored changes in case of a failure.
An inventive network element for communicating with a system as described above is adapted to generate a request, wherein said request comprises information which identifies a source network element and at least two destination network elements, and information for enabling the system to select a ranking function from a set of pre-defined ranking functions, to transmit said request to the system, and to process a response received from the system. Preferably the network element is adapted to generate and transmit the request to the system in response to receiving a request from the source network element, and to transmit a response to the source network element depending on the response received from the system.
At least part of the functionality of the inventive system may preferably be provided by software components. Accordingly, also a digital storage medium lies within the scope of the invention, which comprises electronically readable control instructions adapted to perform, when executed in at least one computer, a method as described above.
Subsequently, preferred but exemplary embodiments of the invention are described in more detail with regard to the figures.
The information retrieval sub-system 112 which is shown in more detail in
In the left-hand side of
In the right-hand side of
a exemplary shows traffic for a network of five nodes 801-805.
Presently gathering, processing and maintenance of information is not centralized and is not used for active traffic engineering and server or peer selection in a network provider. Each of these components operates independently and is primarily used for network planning, monitoring, and billing. Attempts to enhance source-destination matching include the distribution of raw network information involving third parties or direct push/pull procedures by users that have not been largely deployed due to sensitivity of raw information from the network provider side. Other attempts to enhance source-destination matching include the centralized storage of similar requests to content providers and distributors and the correlation of the source recommendations to infer user proximity. This also lacks critical network provider information. In contrast the invention advantageously provides recommendations based on a detailed view of the network without revealing sensitive network information.
Number | Date | Country | Kind |
---|---|---|---|
10004798.4 | May 2010 | EP | regional |
This patent application is a national stage entry under 35 U.S.C. §371 of International Application No. PCT/EP2011/002238, filed May 5, 2011, and claims priority to European Patent Application No. EP 10004798.4, filed May 6, 2010. The International Application was published in English on Nov. 10, 2011, as WO 2011/138033 A1.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/EP11/02238 | 5/5/2011 | WO | 00 | 2/28/2013 |