Method for dynamically allocating resources in an SDN/NFV network based on load balancing
10848428 ยท 2020-11-24
Assignee
- STATE GRID HENAN INFORMATION & TELECOMMUNCATION COMPANY (Henan, CN)
- Beijing University Of Posts And Telecommunications (Beijing, CN)
Inventors
- Wencui Li (Zhengzhou, CN)
- Shiwen Wang (Zhengzhou, CN)
- Siya Xu (Beijing, CN)
- Gangsong Dong (Zhengzhou, CN)
- Shaoyong Guo (Beijing, CN)
- Yi Jin (Zhengzhou, CN)
- Xiong Li (Zhengzhou, CN)
- Lei FENG (Beijing, CN)
- Jing Shen (Zhengzhou, CN)
Cpc classification
G06F2009/45595
PHYSICS
G06F9/4881
PHYSICS
H04L47/2491
ELECTRICITY
G06F9/5011
PHYSICS
G06F9/5077
PHYSICS
H04L45/306
ELECTRICITY
International classification
Abstract
The present application provides a method for dynamically allocating resources in an SDN/NFV network based on load balancing. For multimedia services with different demands, a virtual link mapping target, a constraint and a load state of a physical link are associated. A subtask is adaptively mapped to a network node according to the load state of the physical link. The method effectively distinguishes used resources and remaining resources of a physical node and a link to balance the load, and thereby improve the utilization of network resources and avoid occurrence of a local optimum or current optimum. The solution involves performing a subtask mapping to find a server node satisfying constraints for each subtask in a service request. The model for mapping the subtask is
A virtual link mapping is then performed to find a physical path for each virtual link in the service request, which satisfies the capability constraint of the virtual link. The dynamic virtual mapping is described as
Claims
1. A method for dynamically allocating resources in an SDN/NFV network based on load balancing, comprising: creating a task-network model, which comprises a directed acyclic graph DAG of a service and an undirected graph of a network; and creating an allocation model based on the task-network model to achieve mappings for subtasks and for virtual links; wherein creating the allocation model based on the task-network model comprises: determining physical nodes for respective subtasks which satisfy a first constraint, to obtain a model for mapping subtasks onto physical nodes; and determining physical paths for respective virtual links which satisfy a second constraint, to achieve the mapping for the virtual links; wherein the first constraint comprises the following constraints: Constraint 1: each task can be performed only on one physical node,
2. The method of claim 1, wherein creating the task-network model comprises: creating the DAG of the service, which is represented as D.sub.T=(T, E.sub.T), where T=(T.sub.1, T.sub.2, . . . , T.sub.) is a node in the DAG, and E.sub.T=(e.sub.uv) represents a virtual link from node u to node v, and each node in the DAG representing a subtask; and allocating a physical node and a path to each subtask for performing according to requirements of the service and remaining capacities of physical nodes and paths to obtain the undirected graph of the network, which is represented as G=(V, E.sub.s), where V={1, . . . , i, . . . , N} represents a physical node, and E.sub.s={e.sub.ij} is a set of undirected edges and represents physical links, and each physical node having a specific available resource.
3. The method of claim 1, wherein determining physical nodes for respective subtasks which satisfy a first constraint, to obtain a model for mapping subtasks onto physical nodes, comprises: calculating a level of balancing of the physical nodes according to the following formula:
Target.sub.1=.Math.
4. The method of claim 1, wherein the second constraint comprises the following constraints: Constraint 1: a bandwidth that a virtual link requires is not larger than a remaining available bandwidth of a physical link onto which the virtual link is mapped, and the constraint on bandwidth for the mapping of the virtual link is
C.sub.1: B(E.sub.T(u,v))R.sup.B(E.sub.S(i,j)); Constraint 2: a length of a physical path is not larger than an upper tolerance of a path length of a virtual link, and the constraint on the physical path is:
C.sub.2: len(ps)len(E.sub.T), where len(ps) is a length of the physical path ps, which is the number of links contained in the physical path; and Constraint 3: during the mapping of the virtual link E.sub.T(u, v), the sum of directed flows of physical nodes which a task flow passes through except for the source node and the destination node is 0,
5. The method of claim 4, wherein determining physical paths for respective virtual links which satisfy a second constraint, to achieve the mapping for the virtual links, comprises: determining a normalized cost=f(bandwidth, CPU) as
QoS(C)=SL.sub.SL+PL.sub.PL+PJ.sub.PJ+PD.sub.PD+BW.sub.BW, where .sub.i represents a weight corresponding to a factor i, and the factor i comprises a sudden loss (SL), packet loss (PL), packet jitter (PJ), packet delay (PD), and bandwidth (BW); determining a second objective function based on the normalized QoS and the normalized cost, wherein the second objective function is:
Target.sub.2=.Math.QoS(C)+.Math.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
DETAILED DESCRIPTION
(10) The above-mentioned and other techniques, features and effects of the present application will become apparent on examination of the following detailed description of embodiments illustrated with reference to
(11) Embodiment 1 provides a method for dynamically allocating resources in an SDN/NFV network based on load balancing, comprising the following steps:
(12) S1: creating a task-network model.
(13) 1. A general serial DAG is used to represent different services, which is represented as D.sub.T=(T, E.sub.T), where T={T.sub.1, . . . , T.sub.t, . . . , T.sub.} represents a subtask of a service, and E.sub.T=(e.sub.uv) represents a virtual link from a node u to a node v. Each node in the DAG represents a subtask. A binary number x.sub.it represents a performing state of the subtask t in the node i, and x.sub.it indicates that the node i is performing the subtask t when its value is 1.
(14) 2. Based on the SDN/NFV network model, a substrate network is modeled as an undirected graph G=(V, E.sub.S), where a vertex V={1, . . . , i, . . . , N} represents a physical network node, and a set of undirected edges E.sub.S={e.sub.ij} represents a network link. Each network element has specific available resources. Different services have different demands and task parameters, and consume a processing capability of nodes and bandwidth of links. A node performing a subtask and a path are allocated according to service demands. The node's remaining capacity is taken into consideration in selecting a node and a path. It is desirable to select a node or a link with a large remaining capacity. The load of the whole network is thus balanced, and the transmission of the service is achieved with high quality.
(15) S2: creating an allocation model on the basis of S1, to achieve mappings for subtasks and virtual links.
(16) 1. A server node satisfying a constraint is found for a subtask in a service request. The formula for mapping the subtask is:
M.sub.task:T.fwdarw.V.
(17) Its constraints are as follows:
(18) Constraint 1: each task t can be performed on only one node, namely,
(19)
(20) Constraint 2: each node can perform at least one subtask, namely,
(21)
(22) Constraint 3: if a node i is performing a task t, a node j which is to perform a task (t+1) (the next task) must be connected to the node i, namely,
(23)
(24) Constraint 4: each node has specific available resources, and each subtask requires specific CPU and memory from the server node. Therefore, the available resources of the node i cannot be less than resources that the subtask t needs, and 10% of the resources are reserved for redundancy and backup, namely,
(25)
(26) The mapping of subtasks is achieved with optimal balancing and minimum server nodes. The number of server nodes is represented with N. The balancing is represented with a variance of the consumed resources of server nodes, and is expressed as:
(27)
where
Target.sub.1=.Math.
where and are normalized weights for the level of balancing and average of the number of nodes, and +=1.
(28) A model for mapping subtasks is expressed as:
(29)
(30) 2. After VNFs is mapped to network nodes, a physical path satisfying capability constraints of the virtual link in the service request is found for the virtual link, and an SDN controller implements the mapping of the virtual link. The formula for mapping the virtual link is expressed as:
M:E.sub.T.fwdarw.E.sub.S.
(31) Constraint 1: a required bandwidth of the virtual link cannot be larger than a remaining available bandwidth of the physical link to which the virtual link is mapped, namely, the constraint on the bandwidth for the mapping of the virtual link is:
C.sub.1:B(E.sub.T(u,v))R.sup.B(E.sub.S(i,j)).
(32) Constraint 2: considering a delay demand of service transmission, a length of a physical path cannot be larger than an upper tolerance of a path length of a virtual link. The constraint on the path is:
C.sub.2:len(ps)len(E.sub.T),
where len(ps) is the length of the physical path ps, i.e., the number of links contained in the path.
(33) Constraint 3: during the mapping of the virtual link E.sub.T(u, v), the sum of directed flows of physical nodes which a task flow passes through except for the source node and the destination node is 0,
(34)
(35) An objective function for network resource allocation is defined. The objective function includes costs and benefits of a link and of a node performing a task and weights corresponding to different services. The formula is defined as:
Target.sub.2=.Math.QoS(C)+.Math.
where QoS(C) and cost(C) are the normalized QoS and cost, and and are weighting factors of QoS(C) and cost(C) respectively, which vary depending on services.
(36) Costs involve nodes and links. A cost function is cost=f(bandwidth, CPU), and the specific formula is as follows:
(37)
where t is the task being performed on a link, L is a routing path when performing the task, B.sub.(i,j) represents a bandwidth occupied from node i to j node, and .sub.i,j is a weight for the bandwidth of the link occupied by a task flow from node i to node j.
(38)
where B.sub.(i,j)consumed and B.sub.(i,j)total are a consumed bandwidth and a total bandwidth of the link from node i to node j, and is a very small number preventing the numerator from being 0.
(39) QoS involves many factors. Certain factors include a sudden loss (SL), packet loss (PL), packet jitter (PJ), packet delay (PD) and bandwidth (BW). A weight corresponding to each factor is calculated using an analytic hierarchy process. The formula for calculating the normalized QoS (QoS(C)) is thus obtained, which is:
QoS(C)=SL.sub.SL+PL.sub.PL+PJ.sub.PJ+PD.sub.PD+BW.sub.BW,
where .sub.i (such as .sub.SL and .sub.PD) represents a weight corresponding to a factor i, and the weight is calculated using the analytic hierarchy process and has passed the consistency check, and thus can well represent a proportion of impact exerted by its corresponding factor on the overall QoS.
(40) To conclude, a dynamic virtual mapping is expressed as:
(41)
(42) In practice, the method for dynamically allocating resources in an SDN/NFV network based on load balancing with respect to multimedia services is explained in detail with reference to
(43) Referring to
(44) Next, referring to
(45) Finally, referring to
(46) The present application is not limited to the specific implementations that have just been described in detail. Variations and adjustments of operations and data made by those skilled in the art based on the concept of the technical solutions of the present application all should fall within the protection scope of the present application.