This is the first application filed in respect of the present invention.
The present disclosure relates to radio access networks, and in particular to a System and Method for Data Transmission in Uplink RAN.
A conventional radio access network (RAN) is configured to provide connectivity between User Equipment (UE) such as mobile communication devices and a packet data network that provides end-to-end communications services.
Typically, these traffic flows are associated with specific services of the packet data network 12 and/or the RAN 2. As is known in the art, a service of the packet data network 12 will involve a downlink traffic flow from one or more of the PGWs 6 to a UE 10, and an uplink traffic flow from the UE 10 to the involved PGWs 6. Similarly, a service of the RAN will involve a downlink traffic flow from one or more servers 14 of the wired network 8 to a UE 10, and an uplink traffic flow from the UE 10 to the involved servers 14. In both cases, optimization of the uplink traffic flows involves optimization of both the wireless link between the UE 10 and one or more host APs 4, and the wired links through the wired network 8 from these host APs 4 to the involved PGWs 6 or servers 14 of the wired network 8.
Optimization of the wireless link typically implies scheduling data transmission from the UE 10 to its host AP(s) 4 according to an objective which usually is a function of the UEs' transmission rates.
Optimization of the wired link through the wired network 8 typically implies finding an optimal routing through the wired network 8 from the APs 4 to the appropriate servers 14 or PGW(s) 6. In some cases, the traffic flows associated with a given network service must be routed through a specific user plane function path. A user plane function path is a sequence of one or more function nodes that the traffic flows must go through. For example, a given service may be associated with one or more Service Gateway (SGW) nodes within the RAN, and traffic flows associated with that service must be routed to those SGWs. Additionally, some services have specific quality of service (QoS) requirements that specify limits on traffic latency, for example. The routing algorithm must accommodate these requirements.
Typically, scheduling and routing optimization are treated as separate problems that are solved using independent algorithms. While this approach is efficient, and leads to optimization of each of the wireless and wired links, in some cases the combined path including both the wireless and wired links is still sub-optimal.
Accordingly, it would be desirable to be able to efficiently optimize the combined wireless and wired paths from the UE
Accordingly, an aspect of the present invention provides a method comprising: iteratively executing, by a computer, a scheduling process computing an allocation of data rate to each wireless link between an Access point and a User Equipment within a coverage area of the Access Point, and a routing process computing an allocation of data rate to each wired link between nodes of a wired network, the scheduling and routing processes being independent of each other; at each iteration, passing, information of the data rates allocated to wireless links to the routing process, such that the routing process computes the allocation of data rates to each wired link using the information of the data rates allocated to wireless links; and at each iteration, passing information of the aggregate data rate allocated for each service at the Access Point to the scheduling process, such that the scheduling process calculates the allocation of data rates to wireless links using the aggregate data rate allocated for each service at the Access Point.
An advantage of the present invention is that information about wired network capacity and wireless service demand is exchanged between the routing and scheduling processes. Thus in accordance with the present disclosure, the wireless network scheduling problem is solved using information of wired network aggregate capacity, and the wired network routing problem is solved using information of service data rate distribution across the wireless access network.
Features and advantages of the present invention will become apparent from the following detailed description, taken in combination with the appended drawings, in which:
It will be noted that throughout the drawings, like elements are identified by like reference numerals.
Augmented Lagrangian methods are a class of algorithms known in the art for solving constrained optimization problems. In a general example, let us say we are solving the following constrained problem:
min ƒ(x), subject to the constraint: ci(x)=0 ∀iεI
In this disclosure, the operators “∀” and “ε” are used to mean “for all” and “in”, respectively. Thus the term “∀iεI” means “for all i in I”. In this formulation, I is the set of constraints c(x), and i is an index of each constraint within the set.
As is known in the art, this constrained problem can be solved as a series of unconstrained problems. The augmented Lagrangian method solves this problem iteratively, using the following unconstrained objective function:
Where k is an index identifying each iteration step. In each step, this objective function is solved, and the variables μk and λk are updated for the next iteration. Typically, that value of μk is increased for each iteration, while the value of λk is updated according to the rule:
λk+1=λk−μkci(xk)
Where xk where is the solution to the unconstrained objective function at the kth step, i.e. xk=argmin Φk(x).
The variable λ is an estimate of the Lagrange multiplier, and the accuracy of this estimate improves at every step.
The Alternating Direction Method of Multipliers (ADMM) is a variant of the augmented Lagrangian scheme described above, that uses partial updates for the dual variables μk and λk. This method is known in the art for solving problems of the form:
This problem is equivalent to the constrained problem:
minx,y[f(x)+g(y)] subject to the constraint: x=y
This constrained problem can be solved using methods of constrained optimization (in particular, the augmented Lagrangian method), and the objective function is separable in x and y. The dual update requires solving a proximity function in x and y at the same time; the ADMM technique allows this problem to be solved approximately by first solving for x with y fixed, and then solving for y with x fixed. Rather than iterate until convergence, the algorithm proceeds directly to updating the dual variables x and y for the next iteration. While this is not equivalent to the original minimization problem, it can still be shown that this method can converge to the correct solution.
The present disclosure provides methods and systems for optimizing the uplink path through a Radio Access Network using an ADMM technique. The problem of optimizing the uplink path may thus be formulated as:
minx,y[f(x)+g(r,y)], subject to one or more constraints
In this formulation, x represents the vector of allocated (or scheduled) wireless access data rates (e.g bits-per-second) for each service for each UE, from each AP; r represents the vector of aggregate service demand at each AP; and y represents the vector of allocated service data rates on wired links.
It is convenient to identify each allocated or scheduled wireless link data rate for each service, for each UE, and for each AP, as xu,ns, where s is an index identifying a given service; u is an index identifying a given UE, and n is an index identifying a given AP. Put another way, for each service (identified by index “s”) being used by a given UE (identified by index “u”), there is a respective wireless link to one or more APs (identified by index “n”). The value of xu,ns represents the data rate (e.g. in bits per second) allocated or scheduled to each such wireless link. In this case, the vector x represents a vector of these allocations or scheduled link data rates: xu,ns (∀uεU, sεS, nεN1), where U is the set of all UEs, S is the set of all services, and N1 is the set of all APs.
Similarly, for each AP it is convenient to identify an aggregate demand for each service as rns. This value represents the total data rate allocated to (or required by) a given service at a given AP. In this case, the vector r represents a vector of these service demands: rns (∀sεS, nεN1). If desired, the aggregate demand for each service rns for each AP may be computed as part of the scheduling process, but this is not essential. In an alternative arrangement, the aggregate demand for each service rns for any given AP may be directly measured by that AP using metrics already available to the AP.
Finally, for each link of the wired network, it is convenient to identify the link data rate allocated to each service as yas, where a is an index identifying a given link in the wired network. In this case, the vector y represents a vector of these service allocations: yas (∀sεS, aεA), where A is the set of all links in the wired network.
Following the above notation, it will be appreciated that the function ƒ(x) is an objective function associated with the wireless links of the Access network connecting the UEs and the APs, while the function g(r, y) is an objective function associated with the wired links of the Backhaul network connecting the APs to the PGWs.
In accordance with ADMM, the objective function minx,y, [f(x)+g(r, y)] is subject to a set of constraints. In a representative embodiment, these constraints may be formulated as follows:
Constraint 1: xεX, where X is the capacity region of the wireless network. This constraint effectively means that the vector x of allocated (or scheduled) wireless access capacity is encompassed by the total capacity of the wireless access network.
Constraint 2: ΣnεN
Constraint 3: ΣuεUxu,ns=rns, ∀sεS, nεN1. This constraint effectively means that the aggregate data rate allocated by each AP for a given service, across all of the UEs hosted by that AP, is equal to the aggregate demand for that service rns, at that AP.
Constraint 4:
Where N2 is the set of all routers in the wired network, N is the set of all nodes in the wired network (thus: N=N1 ∪N2), and SGWs identifies an SGW that is allocated for handling a given service “s”. This constraint effectively means that:
For each network node other than an AP or an SGW designated for handling a given service, the total data rate allocated to that service on inbound wired links (ΣaεA
For each AP of the network, the difference between the total data rate allocated to a given service on inbound wired links (ΣaεA
For each SGW designated for handling a given service, the difference between the total data rate allocated to that service on inbound wired links (ΣaεA
Constraint 5: ΣsεSyas≦ca, ∀sεS, nεN, where ca represents the total capacity of a given wired link. This constraint effectively means that the total data rate allocated to all services on any given link is less than or equal to the total capacity of that link. In this respect, the total capacity ca of a given link may be taken as the advertised capacity of that link for carrying subscriber traffic, and so does not include In many cases, the advertised capacity of a link will reflect that actual capacity of the link, less any portion of the total link capacity allocated to protection and overhead. However, it will be appreciated that, if desired, the advertised capacity ca of a given link may be adjusted based on any desired criteria. For example, the advertised capacity ca of a given link may be reduced in order to force traffic flows onto other links, or increased in order to attract traffic flows away from other links.
Following the above discussion, it will be appreciated that Constraints 1 and 2 directly or indirectly relate to the wireless access network, and so may be considered to be wireless constraints, while constraints 4 and 5 relate to the wired backhaul network, and so may be considered to be backhaul constraints. On the other hand, constraint 3 relates to both of the wireless access and wired backhaul networks, and so may be considered to be a linking constraint.
Based on the foregoing, the objective function minx,y[f(x)+g (r,y)], subject to constraints 1-5 above, can be decomposed into a Scheduling Sub-problem of the form:
Subject to constraints 1 and 2.
And a Routing Sub-problem of the form:
Subject to constraints 4 and 5.
With a dual-variable update of the form:
δns(t+1)=δns(t)+ρ(rns(t+1)−Σuxu,ns(t+1)),∀sεS,nεN
Examination of the example Scheduling and Routing sub-problems formulated above reveals the linking constraint ΣuεUxu,ns=rns, ∀sεS, nεN1 appears within the Scheduling sub-problem via the term rns(t), and in the Routing sub-problem via the term Σuxu,ns(t+1). In effect, the routing sub-problem is solved including knowledge of the aggregate service demand in the wireless access network, and the Scheduling sub-problem is solved including knowledge of the aggregate link capacities in the wired backhaul network. This contrasts with prior art methods, in which the scheduling and routing problems are solved independently, with no knowledge of each other. That is, in the prior art methods, the scheduling problem is solved under the assumption that the aggregate capacity in the wired backhaul network is effectively infinite, and the routing problem is solved without considering service demand distribution across the wireless access network The present disclosure improves over the prior art by exchanging information about wired network capacity and wireless service demand between the routing and scheduling processes. Thus in accordance with the present disclosure, the wireless network scheduling problem is solved using information of wired network aggregate capacity, and the wired network routing problem is solved using information of service data rate distribution across the wireless access network.
In the example process of
Next (at S4), a Scheduling process executes to solve the Scheduling Sub-problem:
Subject to constraints 1 and 2 above. This yields updated values xu,ns (∀uεU, sεS, nεN1 of the allocated (or scheduled) wireless access capacity for iteration (t+1). That is: x(t+1). The updated values xu,ns can also be used to compute the aggregate wireless access demand for each service, for each Access Point, that is: Σu xu,ns(t+1). The updated values of Σu xu,ns(t+1) are passed to the Routing process and so used to solve the Routing Sub-problem.
Next (at S6), a Routing process executes to solve the Routing Sub-problem:
Subject to constraints 4 and 5 above. This yields updated values rns (∀sεS, nεN1 of the backhaul aggregate service demand for each AP, that is rt+1. The updated values of rns are passed to the scheduling process and so used to solve the Scheduling problem.
It will be appreciated that the Scheduling and Routing processes are independent of one another, so that the order in which the Scheduling and Routing sub-problems are solved is not important.
Referring back to
δns(t+1)=δns(t)+ρ(rns(t+1)−Σuxu,ns(t+1)),∀sεS,nεN
Next (at S10), the method determines whether or not a predetermined stop criterion is satisfied. If the stop criterion is not satisfied, the process increments the step counter t (at S12), and begins another iteration by solving the Scheduling and Routing sub-problems again, using the values of x(t+1), r(t+1), and δns(t+1) calculated in the previous step. Otherwise, if the stop criterion is satisfied, then the iterative optimization process ends, and the resultant vectors x, r and y used to derive (at S14) scheduling rules for each AP, and forwarding state for each router of the network. The scheduling rules and forwarding state can then be downloaded and installed in each AP and router of the network to implement the wireless scheduling and traffic forwarding needed to realize the solution obtained by the ADMM optimization process.
Any suitable stop criterion may be used to terminate the above process. For example, the stop criteria may be based on the values of either one or both of the objective functions f(x) and g(r,y). For example, it may be desired to terminate the process after a predetermined number of iterations, in which case the stop criterion may conveniently be based on the value of the step counter t. In another example, it may be desired to terminate the process if the change in any of the variables x(t+1), r(t+1), and δns(t+1) between successive iterations is less than a predetermined limit value. In still other examples, variables may be combined together, and/or used to calculate a value that is used as the stop criterion. For example, the vectors x, r and y may be used to calculate a figure of merit indicative of a quality of the solution represented by the vectors x, r and y. For example, such a figure of merit may indicate a degree to which the solution represented by the vectors x, r and y at any given iteration step approximates a theoretically ideal solution. Other possible stop criterial will be apparent to those of ordinary skill in the art, without departing from the intended scope of the appended claims.
The foregoing example embodiment is based on a network architecture in which the wired network is composed of three types of nodes, namely APs, routers, and SGWs. However, it will be appreciated that other types of nodes may be used, as desired, and constraints may be formulated based on the capabilities of these nodes. For example, the backhaul network may configured to include a trunking node, which is configured to forward traffic through a high-data rate trunk or tunnel to a predetermined SGW. In this case, one or more constraints may be formulated such that all of the traffic destined to the predetermined SGW must be routed though the trunking node.
For the example of
so that the stopping condition corresponds with a Sum Rate of 100%. As may be seen in
The embodiments of the invention described above are intended to be representative only. The scope of the invention is therefore intended to be limited solely by the scope of the appended claims.