This disclosure relates to provisioning of resources in a telecommunications network, and in particular allocation of resources to services having different requirements for properties such as latency and bandwidth.
Collaborative computing is being used increasingly in scientific fields such as bio-technologies, climate predictions and experimental physics where vast amounts of data are generated, stored in data centers, shared, and accessed to facilitate simulations and validations. Scientific data often needs to be distributed and accessed from geographically disparate areas in real-time and in large volumes e.g. petabytes (1015 bytes).
The ability to support high bandwidth and low latency on-demand network services is becoming increasingly critical in the provision of network platforms to support collaborative computing and distributed data management where large amounts of data are generated, shared, and accessed to facilitate simulations and validations by customers.
Collaborative computing-associated network services present new challenges to network providers as large bandwidths need to be guaranteed end-to-end, and often end-to-end quality of service needs to be ensured. In such circumstances, network conditions are heavily sensitive to allocated resources, as a single reservation can potentially fill all available resources along certain routes. In addition, service consumers do not always require an end-to-end “bitpipe” with a known destination and time, but may be flexible and benefit from being offered options of timescales and performance. For example a first data center may store certain data and have computational power available immediately, whilst a second data center may have more computational power, but with the necessary bandwidth only available at a later date.
It is therefore desirable to identify an optimal allocation of resources to allow data transfer across networks to, from, or between data centers according to user requirements and the availability of network resources.
In traditional mechanisms for bandwidth reservation a user needing a network service to certain data centers would, by trial-and-error, evaluate various alternatives, trading-off between resource availabilities according to the user's preferences. However the information that a service provider can traditionally expose to the user, such as bandwidth and delay, are insufficient for the user to estimate the overall quality-of-service that can be expected (e.g. interactivity). A user needing on-demand network services faces the undesirable task of finding appropriate data centers by trial-and-error, with limited information of real metrics dictating the quality of the service.
According to a first aspect of the disclosure, there is provided a method of allocating network resources in a cloud-based data network by identifying a plurality of data centers capable of providing services required by a user, analyzing a plurality of characteristics of paths connecting nodes in the network by which the user and the respective data centers may communicate, identifying a set of such paths whose characteristics are optimized for predetermined service objective criteria and, for each path in the set, generating a display indicative of characteristics of that path and, in response to a selection input by a user, allocating resources to provide a path selected by the user between a user-connected node and a data center.
According to a second aspect, the disclosure provides network resource allocation apparatus for controlling resources in a cloud-based data network, comprising: a data collator for processing network data relating to a network comprising a plurality of interconnected data centers and network nodes, and for processing inputs from a user interface specifying to service objective criteria; an analyzer for analyzing a plurality of characteristics of paths by which the users and the respective data centers may communicate, and thereby identifying a set of such paths whose characteristics are optimized for service objective criteria received over the user interface; a selection processor for generating a display indicative of characteristics of the set of paths for transmission to the user interface, receiving a user input identifying one of the set of paths, and controlling the network to provide the selected path.
In the embodiment of the disclosure to be described, the characteristics include at least two of connectivity, delay, bandwidth and cost, and the display indicates characteristics of resources available for a plurality of different service types, including a guaranteed-bandwidth service and a “best-efforts” service. The selection of data centers associated with the set of paths selected for association with a first service objective is independent of the selection of data centers associated with the set of paths selected for association with another service objective.
In the embodiment to be described, the user is presented with a set of paths which are Pareto-optimized according to two or more service objective criteria, which preferably are, or include, bandwidth and delay. The criteria for inclusion in the set of paths can include a time window.
It will be recognized that embodiments of the disclosure can be embodied in software run on a general-purpose computer, and the disclosure therefore also provides for a computer program or suite of computer programs executable by a processor to cause the processor to perform the method of the first aspect of disclosure or to operate as the apparatus of the second aspect of the disclosure. The processor to be controlled by the software may itself be embodied in two or more physical computing resources in communication with each other.
The disclosure provides a mechanism that enhances the features of traditional on-demand network services. The disclosure allows translation of network characteristics such as bandwidth and delay, which may be meaningless to users, to characteristics of services, such as the volume of data that can be expected to be transferred, and whether the service can support interactivity. This allows users to make choices amongst options optimized according to their preferences.
Embodiments of the disclosure enable the user to specify his preferences as to when the service is required and the indicative bandwidth required. Full visibility of network connectivity and its availability is then used to carry out a multi-objective optimization across the bandwidth and the delay dimensions independently. This optimization seeks Pareto-optimal solutions: that is, the set of solutions for which none of the objective functions can be improved in value without degrading some of the other objective values. This optimization identifies a set of data center locations and associated network characteristics at given time-slots, and will be discussed in more detail later. These network characteristics are then translated into service characteristics in terms of expected quality of service, which in turn are presented to the user.
Embodiments of the disclosure could be implemented as a cloud-based solution which receives demand requirements from users for example via a web-interface, maintains a real-time view of the network topology and bandwidth availability in time-slots, and can reserve bandwidth for network services over links as requested by users.
An embodiment of the disclosure will now be described by way of example with reference to the drawings, in which:
The network management system 1 also comprises a network configuration system 5 which controls the allocation of resources in the network 2, configures routing through the network, and reports the changes that have been made to the monitoring database 4.
A resource reservation system 6 acts as an interface between the users 3 and the network management system 1, to manage users' requests for network resource. It comprises three stages: a data collation processor 7 which retrieves data from the monitoring database 4 and receives the requirements from the user 3. This data is then processed by a computational processor 8 to identify a set of possible resource allocations, the characteristics of which are returned to the user 3 to make a selection. The user's selection is returned to a selection manager 9 which retrieves the details of the configuration from the processor 8. The selection manager 9 passes the details of the required configuration to the configuration system 5, which sets up the new links in the network 2 and reports the changes to the monitoring database 4.
An example of a simple network is depicted in
The system aims to generate a list of data center locations and associated paths from the user which are obtained by means of the above mentioned multi-objective optimization that seeks to meet network resource allocations' objectives independently, using network information maintained in the database 4.
The methodology operating the process is depicted schematically in
The data required to operate the process is collected by the data collation processor 7 (at 17) and comes from two sources, namely the user 3, and the network monitoring database 4.
Criteria specified by the user 3 are input to the data collator 7 (at 13) when the user requests a service. These criteria typically include the earliest time (T) when the network service is required (the default time being the present), the indicative bandwidth required (B), and the required service duration.
The network monitoring database 4 has a store of data relating to the network capabilities. In particular it has a store of network connectivity and link performance, represented graphically in
Using the data collected, a multi-objective optimization is performed by the data set generator 8 (at 18). This optimization is based on the known connectivity between nodes (ref.
Although minimizing delay and maximizing bandwidth are both desirable, there may not exist a data center, and a path to it, that achieves both. The Pareto-solution allows a compromise by identifying paths to data centers such that if an alternative path with a shorter delay exists, this would have an inferior bandwidth and, contrariwise, if a path with a greater bandwidth exists then this would have a worse delay. Typically there will be a plurality of such solutions in the dataset: comparing any two members of the solution dataset, one member will have a better delay, and a worse bandwidth, than the other—if one member of the set were superior to another in both (all) respects, the inferior member would not be a member of the Pareto-optimized set.
For each possible path, the total delay over the links in that path is determined (at 181), and the link with the smallest bandwidth (the bottleneck) is identified (at 182) as this determines the bandwidth of the path as a whole. The path with the largest (least restrictive) bottleneck is then selected as a possible candidate solution. Any data center which is not reachable by any path with a bottleneck bandwidth greater than the minimum indicative value B (specified by the user in the initial data collation at 13) is eliminated from consideration.
A Pareto optimization is then carried out. This identifies a solution set of all paths for which no parameter (in this example neither delay nor bandwidth) can be made more optimal by changing to another path without detriment to the other parameter (or, it excludes any path if another path exists whose parameters are all superior to those of the first path). A two-dimensional example is shown in
If the relative importance (weighting) of the properties f1, f2 were known, an optimum datapoint could be determined. As shown in
The data set generator 8 therefore identifies a set of solutions (at 183), each representing a network data center and associated network characteristics as follows:
DCx(Tstart,BW,OWD,s) x=1 . . . m
Where: Tstart=Slot start time
For each of the data centers DCx identified (at 183), the system calculates characteristics of a best-effort service (i.e. with no bandwidth guarantees) (at 184) and for a guaranteed-bandwidth service (at 185). For the guaranteed bandwidth service, service characteristics for each solution (at 185) are expressed in terms of interactivity level Lx as follows:
where RTT=2*OWD as defined above, assuming delay times are symmetrical in both directions.
For example, in typical modern networks:
For the alternative best-effort service (i.e. with no bandwidth guarantees) (at 184) the characteristics are calculated in terms of data volume that can be transferred in the interval [Tstart, Tstart+s], over the identified network path as a function of expected data throughput Rm:
Rm=f(delay,v1, . . . , vn), vi i=1, . . . n. variables
where data throughput (often referred to as goodput) is obtained as a function of delay and other network related-parameters vi, i=1, . . . n.
For example, goodput Rm, assuming TCP-based transport layer communication as it is dominant today, can be obtained using the Mathis TCP throughput formula [Mathis, Semke, Mandavi and Ott: “The Macroscopic Behaviour of The TCP Congestion Avoidance Algorithm”: ACM SIGCOMM Computer Communication Review 27(3): 67-82, 1997] as follows:
Rm=(MSS/2*OWD)*(C/sqrt(px))
where C=0.93, MSS=1460 Bytes (packet payload), and px is non-zero network loss. Network loss data can either be assumed to be collected by the Data Collation function (7) for the given paths and time-slots or can be inferred depending on the distance from user to data center location according to the following heuristics:
If data center is local (e.g. OWD<d1 ms) then px=p1
If data center is regional (e.g. d1 ms<OWD<d2 ms) then px=p2
If data center is within a continent (e.g. d2 ms<OWD<d3 ms) then px=p3
If data center is across multiple continents (e.g. d3<OWD) then px=p4
The volume Vm of data that can be transferred in the slot-length s (here assumed in minutes) can be determined from the throughput Rm as follows:
Vm=(Rm/8)*60*s
For each of the identified data centers DCx and associated paths (at 183), characteristics for a best-effort service (at 184) and for a guaranteed-bandwidth service (at 185) can therefore be calculated, and from these values a list of service costs is compiled (at 186) This list specifies the cost to the user depending on whether the services are taken on a bandwidth guaranteed (BG)-basis. If a best-effort option is available at a lower cost (as will generally be the case) this will be offered as well. Costing functions may be defined as follows, to be dependent on the bandwidth and service duration:
Thus the user 3 can be sent a list of m data center locations DC1, . . . , DCm and associated service characteristics (at 186), identifying for each data center the characteristics for that center if operated on a guaranteed bandwidth basis, and if operated a best efforts basis, as well as related costs.
The details of the path and switching are maintained by the data set generation processor 8, but do not need to be communicated to the user 3, who only needs to know the performance characteristics of each path data center that is available, and not the details of how that performance is implemented.
The user is given a plurality of options to provide the requested bandwidth, presented as best efforts and guaranteed bandwidth services, involving a number of different data centers. The user 3 can then select one of the offered services (at 19). The user's selection is transmitted to a selection processor 9 which retrieves, from the data set generation processor 8, the details of the data center and path that provide that service (at 190). For example if an interactive service is required, among the various options offered of the form:
It the user selects a bandwidth-guaranteed service (at 191), then the selection processor 9 instructs the network configuration processor 5 to reserve bandwidth BW in the time slot [Tstart, Tstart+s] over all links identified in the path to DCx (at 195). The user can expect that both end-points of the communication can inject in the network at rate BW for duration s; in addition the user can expect interactivity level L and indicatively at least Vm data volume transfer (volume Vm if transport based by TCP-based protocols with larger volumes possible with protocols such as UDP).
Alternatively if the user selects a best-effort service (at 190), then the end-points of the transmissions (either the user or the DCx's server) cannot inject in the network more than BW and the selection processor 9 system only causes the network configuration processor to reserve bandwidth BWBE=a*BW, in the time slot [Tstart, Tstart+s] over all links identified in the path to DCx, (at 195), where 0<α<1 depends upon the over-booking policies adopted by the network provider for its best-effort traffic.
Number | Date | Country | Kind |
---|---|---|---|
14250122.0 | Dec 2014 | EP | regional |
The present application is a National Phase entry of PCT Application No. PCT/EP2015/079250, filed on 10 Dec. 2015, which claims priority to EP Patent Application No. 14250122.0, filed on 30 Dec. 2014, which are hereby fully incorporated herein by reference.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/EP2015/079250 | 12/10/2015 | WO | 00 |