The present invention pertains to the field of network communications, and in particular towards systems and methods for performing traffic engineering in a communications network.
Traffic Engineering (TE) is a technique that involves the analysis of flows over a network to help determine the routing and regulation of data transmissions over the network to improve network performance. Effective TE implementation can improve network resource allocation, reduce network congestion, and improve the quality of service (QoS) associated with the delivery of data across the network.
This background information is provided to reveal information believed by the applicant to be of possible relevance to the present invention. No admission is necessarily intended, nor should be construed, that any of the preceding information constitutes prior art against the present invention.
An object of embodiments of the present invention is to provide a system and method for performing traffic engineering over a communications network.
In accordance with embodiments of the present invention, there is provided a method for performing traffic engineering for a flow traversing a communications network, communications network including a plurality of nodes communicatively coupled by a plurality of links, at least one of the plurality of links being a wireless link. The method comprising: setting an activation factor for the at least one wireless link in accordance with buffer statuses associated with nodes traversed by the flow; and transmitting the activation factor to a scheduling entity for scheduling activation of the at least one wireless link in accordance with the activation factor.
In certain embodiments, the activation factor may be set in accordance with buffer statuses associated with a single node traversed by the flow.
In certain embodiments, the method further comprises setting a flow rate at the at least one wireless link traversed by the flow in accordance with the buffer statuses associated with the nodes traversed by the flow.
In certain embodiments, the method further comprises setting a net flow rate for the flow in accordance with the buffer statuses associated with the nodes traversed by the flow.
In certain embodiments, the activation factor for the at least one wireless link is determined according to a traffic engineering problem having at least one constraint comprising the buffer statuses associated with the nodes traversed by the flow. The constraints may also include: a link capacity constraint, an individual buffer bound constraint, a network flow conservation constraint, a half-duplex constraint, a general interference graph constraint, a buffer overflow constraint, and an achieved flow rate for commodity constraint. The traffic engineering problem may have a constraint comprising the activation factor for the at least one wireless link, wherein the activation factor is relaxed from a Boolean number to a real number. The traffic engineering problem may also comprise a utility function, which may be solved according to a mathematical programming method.
In accordance with embodiments of the present invention, there is provided a method for performing scheduling for a flow traversing a communications network having a plurality of nodes communicatively coupled by a plurality of links, at least one of the plurality of links being a wireless link. The method comprising: receiving an activation factor, associated with the at least one wireless link, indicative of a suggested amount of time within a defined time window that the at least one wireless link should be active; and scheduling activation of the at least one wireless link in accordance with the activation factor and one or more buffer statuses associated with nodes at either end of the at least one wireless link.
In certain embodiments, the step of scheduling activation of the at least one wireless link is performed in accordance with an edge-coloring method using the one or more buffer statuses.
In accordance with embodiments of the present invention, there is provided a Traffic Engineering (TE) controller comprising: a processor; an input interface coupled to the processor, the input interface for receiving buffer statuses associated with nodes traversed by a flow in a communications network; a memory coupled to the processor and having instructions stored therein, that when executed by the processor causes the TE controller to set an activation factor for at least one wireless link of the communications network in accordance with the buffer statuses; and an output interface coupled to the processor, the output interface for transmitting the activation factor for the at least one wireless link to a scheduler for scheduling activation of the at least one wireless link in accordance with the activation factor.
In accordance with embodiments of the present invention, there is provided a scheduler for scheduling activation of links for a flow traversing a communications network. The scheduler comprising: a processor; an input interface coupled to the processor, the input interface for receiving an activation factor for at least one wireless link of the communications network indicative of a suggested amount of time within a defined time window that the at least one wireless link should be active, and buffer statuses associated with nodes traversed by the flow in the communications network; a memory coupled to the processor and having instructions stored therein that when executed by the processor causes the scheduler to set scheduling of the at least one wireless link according to the activation factor and the buffer statuses associated with the nodes traversed by the flow; and an output interface coupled to the processor, the output interface for transmitting signals to activate the at least one wireless link in accordance with the set scheduling.
Further 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 appended drawings, like features are identified by like reference numerals.
As used herein, a “network” or “communication network” comprises a plurality of nodes that are communicatively coupled by a plurality of links in order to transmit data therebetween, and serve the needs of various devices coupled to the network. The links may be wired or wireless. The devices may include wireless devices and user equipment (UE's). The nodes may be physical (e.g. access points, routers, base stations, eNodeB's, gateways etc. . . . ) or include virtualized components as will be readily apparent to a person skilled in the art.
Referring to
Still referring to
Unfortunately, as each buffer is size-limited, the transmission of a commodity to a respective node having a buffer that is near or at capacity may cause a buffer overload, and result in packet loss, re-transmission requests, or other network delays and inefficiencies. For example, suppose for flow FA(101,103), commodity A is to be transmitted from node 101 to node 104; since buffer 104a of node 104 (which is reserved for commodity A) is near capacity, any additional data relating to commodity A transmitted to node 104 may cause a buffer overflow in buffer 104a and become lost. Accordingly, an aspect of the present invention is to provide a traffic engineering system and method that at least partially mitigates or prevents the occurrence of buffer overloading from the transmission of flows over a communications network, in order to improve network operating efficiency.
Referring to
The communications network 200 further includes a Traffic Engineering (TE) controller 220 that is communicatively coupled to a Link Scheduler 230 (which may also be referred to as a “Scheduler” or “Scheduling Entity”), wherein each of the TE controller 220 and Link Scheduler 230 are further communicatively coupled to nodes 201, 202, 203, and 204 (not specifically shown).
In operation, the TE controller 220 receives information regarding various flows to be performed on the communications network 200 (including that of links 210, 212, 214, 216, 218 that are traversed by the flows) and nodes 201, 202, 203, 204 (including the buffer status of buffers 201a, 201b, 202a, 202b, 203a, 203b, 204a, 204b, respectively) and provides one or more parameters to the Link Scheduler 230. The Link Scheduler 230 utilizes these parameters along with buffer status information (of buffers 201a, 201b, 202a, 202b, 203a, 203b, 204a, 204b), in order to schedule activation of links 210, 212, 214, 216, 218 along one or more routes of each flow, in a way that transmits commodities through the network 200 while reducing or mitigating the possibility of buffer overload in buffers 201a, 201b, 202a, 202b, 203a, 203b, 204a, and 204b of communications network 200. Accordingly, the TE controller 220 and Link Scheduler 230 may co-operatively act to transmit commodities through the network 200 in a way that improves resource allocation and reduces network congestion, while at the same time reducing or mitigating the possibility of buffer overload in various buffers.
In one embodiment, the TE controller 220 receives flow information relating to a flow, and buffer status information associated with at least one of nodes 201, 202, 203, 204, traversed by the flow, and determines an activation factor for at least one of wireless links 210, 212, 214, 216, 218. The activation factor represents a proportion of time relative to the long-term operational period of the communications network 200, which the corresponding wireless link should be activated. Put another way, it can be considered a percentage or suggested amount of time within a “time window” which a corresponding link should be active to enable transmissions. The Link Scheduler 230 receives the activation factor from the TE controller 220 for the at least one wireless link, and the buffer status information associated with nodes at either end of the at least one wireless link, and proceeds to schedule activation of the at least one wireless link 210, 212, 214, 216, 218 for one or more selected routes from the flow in order to transmit a commodity associated with the flow from its source node to its destination node. In this way, the scheduling of links 210, 212, 214, 216, 218 further accounts for the buffer status associated with nodes at either end of the link, in order to reduce or mitigate the occurrence of buffer overload at these nodes. For example, if the Link Scheduler 230 intends to schedule link 210, it would also consider one or more buffer statuses 201a, 201b, 202a, 202b of the nodes 201, 202, at either end of wireless link 210, respectively.
Referring to
In certain embodiments, the method 300 further comprises determining additional parameter(s) in accordance with the buffer status(es) associated with the nodes traversed by the flow, to improve traffic engineering across the network by regulating the transmission of commodities along certain links, or regulating certain flows. For example, a flow rate on one or more links traversed by the flow (including the at least one wireless link) may be set in accordance with the buffer statuses associated with the nodes traversed by the flow. This may for example be used to determine the flow rate at a source node of a flow, or determine traffic splitting at various intervening nodes of the flow. Additionally, a net flow rate for the flow may be set in accordance with the buffer statuses associated with the nodes traversed by the flow.
In certain embodiments, the activation factor for the at least one wireless link (i.e. step 310 of method 300) may be determined according to a traffic engineering problem having at least one constraint comprising buffer statuses associated with the nodes traversed by the flow. The traffic engineering problem may also comprise a plurality of different constraints, each for regulating and/or improving a behavioral aspect of flows across the communications network, as understood by persons skilled in the art. An example of a traffic engineering problem P is shown below:
where U(r1, r2, . . . , rm) is a utility function, such as a sum rate, minimum rate, weighted sum rate, load balancing, or proportional fairness, for commodities [1 . . . m] based on their received rate rm, x is the activation factor (i.e. activity indicator) on a link over an operational period, f is a flow rate on a link for a given commodity, and I is the net flow rate of a flow. A number of possible constraints that the traffic engineering problem may include are shown in Table 1 below, for example:
zi
m,0 is the buffer size at node i before one long-term
zi
m,1 is the buffer size at node i after one long-term
ZD (m) is the amount of bits stored in the buffer at destination node D(m) of commodity m, ZDm,0 is the amount of data stored in the buffer before a long term period, and ZDm,1 is the amount of data stored in the buffer after a long term period
Some of the above constraints may be applicable in the case of wireless links, for example when the capacity of each link of the communications network is no longer fixed due to wireless channel conditions, inter-node interference, and half-duplex restrictions due to limited bandwidth and number of transceivers. Accordingly, in one embodiment, the traffic engineering problem P for a wireless communications network may appear as:
while subject to the link capacity constraint, individual buffer bound constraint, network flow conservation constraint, general interference graph constraint, and achieved flow rate for commodity m constraint in Table 1 above. Other embodiments (not shown) may comprise additional or other situation specific constraints as understood by persons skilled in the art.
In certain embodiments, the activation factor on a link xij in one or more constraints of Table 1 may be relaxed from comprising a Boolean number ({0,1}) to a real number representing the proportion of time the link is active over an operational period. This may assist in solving the traffic engineering problem P in certain situations. The traffic engineering problem P may be solved by any suitable mathematical programming method, such as a linear programming method, including that of a distributed asynchronous alternating direction method of multipliers (ADMM) that solves a corresponding augmented Lagrangian function. In some embodiments, depending on the utility function selected (for example, when proportional fairness is used), the traffic engineering problem P may be solved according to a general convex programming method.
In certain embodiments, the buffer overflow constraint in Table 1 above may be substituted by an adaptively updated buffer overflow constraint as follows:
τfijm≦xij
where
For further clarification, by replacing
Referring to
In certain embodiments, the step of scheduling activation of the at least one wireless link (i.e. step 370 of method 350) may be performed in accordance with an edge coloring method that accounts for buffer usage statistics (for example, from one or more buffer status(es) associated with nodes at either end of the at least wireless link, or nodes traversed by the flow). As understood by persons skilled in the art, edge coloring is a technique that has application in many engineering problems including link scheduling. Edge coloring involves the assignment of colors to edges in a multi-graph such that two edges having the same color are not incident on the same node; this may then be formulated into scheduling activation of links in a communications network. Unfortunately, the use of standard edge-coloring alone may incorporate an improper visiting sequence of nodes, and fail to consider buffer statistics, resulting in inefficient or wasted link activation opportunities.
The following pseudo code illustrates an embodiment of edge-coloring using the buffer status associated with nodes of a communications network:
= , break;
;
In step 1 of the above pseudo code, is a multi-graph representing a communications network, which can be expressed as (υ,ε), where υ is the set of nodes in the network, and ε is the set of edges. The edges for the multi-graph
may be chosen according to:
where nij are the number of edges for link lij between node i and j, x*ij is the corresponding solution obtained from the traffic engineering problem P in equation (2) above. The above constraint for any given link lij represents that for it to be activated with activation factor x*ij, nij different colors should be applied for each edge.
In step 2, the short-term period can be represented as a long-term period divided by τ above (e.g. Short-term period=Long-term period/τ) according to the operational period of the communications network. Further, Bi represents the maximum data size that can be transmitted by node vi in one short period given by:
Accordingly, if vi is not the source node for any commodity m, then Bi is the exactly the total size of data in vi. To realize link flows fij for example, provided by TE Controller 220), the link activation/scheduling may give priority to nodes which can contribute more to network throughput. This can be done by visiting nodes in decreasing order of Bi in each short-term period, giving nodes with relatively and potentially larger data transmission sizes higher scheduling priority. When a node vi is visited, the sub-step of “choose one incident edge color” may be performed according to the following strategy: while satisfying interference constraints, if there are incident edges corresponding to outgoing links, choose the one whose destination node has the smallest Bj; otherwise, choose the edge whose source node has the largest Bj.
In some embodiments, an edge coloring method that accounts for buffer usage statistics can be implemented in a distributed manner, which reduces or mitigates the need to visiting nodes one-by-one. Referring to or lji ε
}. For each node vi, it exchanges its buffer status {zim}m and its decision (the incident edge to be colored) with all the neighbor nodes in Ai. After receiving the decisions of all neighbors who have a higher Bj, the node v1 makes a decision by choosing available incident edges to color while satisfying hardware constraints. For example, if there are incident edges corresponding to outgoing links, vi may choose the one whose destination node has the smallest Bj; otherwise, vi may choose the edge whose source node has the largest Bj.
The memory 510b may include any type of non-transitory memory such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous DRAM (SDRAM), read-only memory (ROM), any combination of such, or the like. The mass storage element 510c may include any type of non-transitory storage device, such as a solid state drive, hard disk drive, a magnetic disk drive, an optical disk drive, USB drive, or any computer program product configured to store data and machine executable program code. According to certain embodiments, the memory 510b or mass storage 510c may have recorded thereon statements and instructions executable by the processor 510a for performing the aforementioned functions of the TE controller 230 and/or Link Scheduler 230 of
Embodiments of the present invention disclose a communications network having a TE controller and a Link Scheduler, which are communicatively coupled to nodes of the communication network in order to manage the transmission of commodities associated with various flows through the network. The TE controller may operate on a long-term timescale, and provides an activation factor for each link traversed by a flow according to one or more buffer statuses associated with nodes traversed by the flow. The Link Scheduler may operate on a short-term timescale, and schedules the activation of links to elicit transmission of respective commodities associated with flows, according to the activation factor for each link provided by the TE controller, and one or more buffer statuses associated with nodes traversed by the flow. The TE controller and the Link Scheduler cooperatively work together to carry out traffic engineering operations over the communications network, in an effort to improve resource allocation and transmission efficiency across various links, while also reducing or mitigating the incidence of buffer overflow associated with nodes of the communications network, which can lead to data loss or re-transmission requests.
Unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs.
Through the descriptions of the preceding embodiments, the present invention may be implemented by using hardware only or by using software and a necessary universal hardware platform. Based on such understandings, the technical solution of the present invention may be embodied in the form of a software product. The software product may be stored in a non-volatile or non-transitory storage medium, which can be a compact disk read-only memory (CD-ROM), USB flash disk, or a removable hard disk. The software product includes a number of instructions that enable a computer device (personal computer, server, or network device) to execute the methods provided in the embodiments of the present invention. For example, such an execution may correspond to a simulation of the logical operations as described herein. The software product may additionally or alternatively include number of instructions that enable a computer device to execute operations for configuring or programming a digital logic apparatus in accordance with embodiments of the present invention.
Although the present invention has been described with reference to specific features and embodiments thereof, it is evident that various modifications and combinations can be made thereto without departing from the invention. The specification and drawings are, accordingly, to be regarded simply as an illustration of the invention as defined by the appended claims, and are contemplated to cover any and all modifications, variations, combinations or equivalents that fall within the scope of the present invention.
This application is a continuation of PCT Application No. PCT/IB/2016051777, entitled “Systems and Method for Performing Traffic Engineering in a Communications Network,” filed on Mar. 29, 2016, which application is hereby incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
Parent | PCT/IB2016/051777 | Mar 2016 | US |
Child | 15138973 | US |