DYNAMIC NETWORK RESOURCE ALLOCATION METHOD BASED ON NETWORK SLICING

20230062221 · 2023-03-02

Assignee

Inventors

Cpc classification

International classification

Abstract

A dynamic network resource allocation method based on network slicing is provided. A historical resource demand dataset of an accessed network slice is inputted into a first neural network for training. Based on a trained first neural network and the historical resource demand of the accessed network slice, a resource demand prediction information corresponding to the accessed network slice in a first prediction time period is determined. Resources are pre-allocated to the accessed network slice based on the resource demand prediction information, and resources are allocated to the accessed network slice when the first prediction time period arrives. In this way, the service provider can reasonably allocate network resources for network slices without violating the SLA, thus avoiding the waste of network resources.

Claims

1. A dynamic network resource allocation method based on network slicing, comprising: S1: inputting a historical resource demand dataset of an accessed network slice into a first neural network for training; S2: determining, based on a trained first neural network and the historical resource demand of the accessed network slice, resource demand prediction information corresponding to the accessed network slice in a first prediction time period; and S3: pre-allocating resources to the accessed network slice based on the resource demand prediction information, and allocating resources to the accessed network slice when the first prediction time period arrives; wherein the resource demand prediction information comprises a predicted node resource quantity and a predicted link resource quantity; wherein the step of pre-allocating resources to the accessed network slice in the step S3 comprises determining a pre-allocated node resource quantity and a pre-allocated link resource quantity of the accessed network slice in the first prediction time period according to the following formulas: d ˙ i t = γ d d ^ i t , l ˙ l ˙ t = γ l l ^ l ˙ t , i 1 , n t , wherein if .Math. i = 1 n t γ d d ^ i t < D , then γ d = 1 + γ d , otherwise, γ d = D .Math. i = 1 n t d ^ i t ; and if .Math. i = 1 n t γ l l ^ i t < L , then γ l = 1 + γ l , otherwise, γ l = L .Math. i = 1 n t l ^ i t ; wherein d ˙ i t is a pre-allocated node resource quantity of an accessed network slice i in a first prediction time period t, l ˙ l ˙ t is a pre-allocated link resource quantity of the accessed network slice i in the first prediction time period t, d ^ i t is a predicted node resource quantity of the accessed network slice i in the first prediction time period t, l ^ i t is a predicted link resource quantity of the accessed network slice i in the first prediction time period t, n.sub.t is a quantity of accessed network slices in a system in the first prediction time period t, γ.sub.d ≥ 1 represents node resource redundancy, γ.sub.l ≥ 1 represents link resource redundancy, γ d 0 and γ l 0 are offsets of corresponding predicted values, D is a total node resource quantity of the system, and L is a total link resource quantity of the system.

2. The dynamic network resource allocation method based on network slicing according to claim 1, further comprising: A1: receiving access requests of all to-be-accessed network slices in real-time and storing all the access requests in a request queue; A2: determining a total node resource quantity and a total link resource quantity that are occupied by all accessed network slices in a second prediction time period; and A3: when a preset access time point arrives, sequentially deciding whether to allow the access requests in the request queue in the second prediction time period; if yes, allowing a corresponding access request when the second prediction time period arrives; and if not, continuing to decide whether to allow a next access request until all the access requests in the request queue are completely decided.

3. The dynamic network resource allocation method based on network slicing according to claim 2, wherein the step of determining the total node resource quantity and the total link resource quantity in the step A2 is performed by using the following formulas: d ^ s y s T = .Math. i = 1 n T d ˙ s y s T , l ^ s y s T = .Math. i = 1 n T l ˙ i T , T T a c + 1 , T a c + T s y s , wherein d ^ s y s T is the total node resource quantity, l ^ s y s T is the total link resource quantity, T.sub.sys is a length of a system resource demand prediction window, d ˙ i T and l ˙ i T are, respectively, a node resource quantity and a link resource quantity to be occupied by an accessed network slice i at a moment T in the second prediction time period T a c + 1 , T a c + T s y s , T a c is the preset access time point, and n T is a quantity of accessed network slices in the system at the moment T in the second prediction time period.

4. The dynamic network resource allocation method based on network slicing according to claim 2, wherein all the network slices are classified into high-quality network slices and low-quality network slices.

5. The dynamic network resource allocation method based on network slicing according to claim 4, wherein the step of deciding whether to allow the access requests in the second prediction time period in the step A3 is performed by using the following formulas: t s t a r t T a c + 1 , T a c + T a d m , T t s t a r t , t s t a r t + T d u r , d ^ s y s T + d m a x D , l ^ s y s T + l m a x L , wherein t.sub.start is an instantiation time point of a to-be-accessed network slice corresponding to the access request, T.sub.ac is a decision-making time point, d ^ s y s T and l ^ s y s T are, respectively, a total node resource quantity and a total link resource quantity that are occupied by all the network slices at the moment T in the second prediction time period, T.sub.adm is an access window dimension, T.sup.dur is survival duration of the to-be-accessed network slice corresponding to the access request, d.sub.max and l.sub.max are, respectively, an upper limit of allocable node resources and an upper limit of allocable link resources; if a user requests a high-quality network slice, then d m a x , l m a x = d m a x H , l m a x H ; if the user requests a standard quality network slice, then d m a x , l m a x = d m a x S , l m a x S ; D is a total node resource quantity of the system, L is a total link resource quantity of the system, d m a x H is an upper limit of node resources for the high-quality network slices, l m a x H is an upper limit of link resources for the high-quality network slices, d m a x S is an upper limit of node resources for standard quality network slices, and l m a x S is an upper limit of link resources for the standard quality network slices.

6. The dynamic network resource allocation method based on network slicing according to claim 3, wherein in the step A3, each time an access request is decided to be allowed in the second prediction time period, the total node resource quantity and the total link resource quantity are updated instantaneously, and a next access request is decided after the total node resource quantity and the total link resource quantity are updated.

7. The dynamic network resource allocation method based on network slicing according to claim 6, wherein the total node resource quantity and the total link resource quantity are updated by using the following formulas: d ^ s y s T T = d ^ s y s T + d m a x , l ^ s t s T T = l ^ s y s T + l m a x , T t s t a r t , t s t a r t + T d u r , wherein d ^ s y s T T is an updated total node resource quantity, l ^ s y s T T is an updated total link resource quantity, d ^ s y s T is the total node resource quantity before update, l ^ s y s T is the total link resource quantity before update, d.sub.max and l.sub.max are, respectively, an upper limit of allocable node resources and an upper limit of allocable link resources, t.sub.start is an instantiation time point of a to-be-accessed network slice corresponding to the access request, and T.sup.dur is survival duration of the to-be-accessed network slice corresponding to the access request.

Description

BRIEF DESCRIPTION OF THE DRAWINGS

[0026] FIG. 1 is a schematic flowchart of a dynamic network resource allocation method based on network slicing according to an embodiment of the present disclosure.

[0027] FIG. 2 is a schematic structural diagram of an encoder-decoder long short-term memory (LSTM) network according to an embodiment of the present disclosure.

DETAILED DESCRIPTION OF THE EMBODIMENTS

[0028] The technical solutions in the embodiments of this application are clearly and completely described below with reference to the drawings in the embodiments of this application. It will become apparent that the described embodiments are merely some, rather than all, of the embodiments of this application. All other embodiments obtained by those of ordinary skill in the art based on the embodiments of the present disclosure without creative efforts should fall within the protection scope of the present disclosure.

[0029] As described in the background art, in the existing technology, the service provider cannot efficiently allocate network resources for network slices without violating the SLA.

[0030] Therefore, this application proposes a dynamic network resource allocation method based on network slicing. FIG. 1 is a schematic flowchart of a dynamic network resource allocation method based on network slicing according to an embodiment of this application. The method includes the following steps:

[0031] S1: Input a historical resource demand dataset of an accessed network slice into a first neural network for training.

[0032] In a specific application scenario, the first preset neural network is specifically an encoder-decoder LSTM network with preference (LSTM-P), and the structure is shown in FIG. 2. Each LSTM unit consists of 100 neurons, LSTM units in the same layer are the same LSTM unit at different moments, and the encoder consists of two LSTM units. The resource demand history information is input, and a hidden state of the second LSTM unit at the last moment of a history window T.sub.obs is output. The adapter converts the encoder output into a decoder input format. The decoder consists of a single LSTM unit, and a hidden state of the LSTM unit at each moment of a prediction window T.sub.pre is output. A fully connected layer consists of a single neuron encapsulated through TimeDistributed(.Math.), which calculates resource demand prediction information based on the output data of the decoder and outputs the resource demand prediction information to the output layer.

[0033] In this embodiment of this application, a training process of the first predictive neural network, that is, the step S1, specifically includes the following sub-steps:

[0034] S11: Input the historical resource demand dataset into the encoder of the first predictive neural network to obtain encoder output data.

[0035] S12: Input the encoder output data into the decoder of the first predictive neural network to obtain decoder output data.

[0036] S13: Input the decoder output data into the fully connected layer of the first predictive neural network to obtain a prediction sequence.

[0037] S14: Determine a prediction loss between the prediction sequence and a real value based on a loss function and adjust a parameter value of the first neural network based on the prediction loss.

[0038] S15: Treat step S11 to step S14 as one iteration and stop training after reaching a preset number of iterations.

[0039] Specifically, the historical resource demand dataset

[00026]x=x1,x2,.Math.,xt,.Math.,xTobs

of the accessed network slice is input into the encoder of the LSTM-P, and

[00027]h1t

[00028]LSTMxt,h1t1,c1t1

and

[00029]h2t=LSTMh1t,h2t1,c2t1

are calculated at each moment t by using the following formulas: The final hidden state

[00030]h2Tobs

of the second LSTM unit, that is, the encoder output data, is output. The specific formula is:

[00031]LSTMxt,ht1,ct1=ft=σWfht1,xt+bf,it=σWiht1,xt+bi,c˜t=tanhWcht1,xt+bc,ct=ft×ct1+it×c˜t,ot=σWoht1,xt+bo,ht=ot×tanhct.

[0040] The adapter converts the encoder output h.sub.2.sup.(Tobs) into the decoder input format and then inputs it into the decoder. Assuming that

[00032]t=1,.Math.,Tpre,h3tLSTMh2Tobs,h3t1,c3t1

is calculated by using an objective function. The hidden state of the LSTM unit, that is, the decoder output data, at each moment of 1 to T.sub.pre is output, that is,

[00033]h3=h31,h32,...,h3Tpre.

[0041] The decoder output h.sub.3 is used as the input of the fully connected layer, and ŷ ← W.sub.F • h.sub.3 + b.sub.F is calculated. W.sub.F and b.sub.F are neural network parameters of the fully connected layer, and specific values are obtained from the training process. The prediction sequence

[00034]y^=y^1,y^2,...,y^t,...y^Tpre

is output.

[0042] At the moment t.sub.p, when the LSTM-P is used to predict node resource demand of an accessed network slice i, the sequence

[00035]x=diQ=diQtpTobs+1,diQtpTobs+2,...,diQtp

is input and the sequence

[00036]y^=d^i=d^itp+1,d^itp+2,...,d^itp+Tpre

is output. When the LSTM-P is used to predict link resource demand of the accessed network slice i, the sequence

[00037]x=liQ=liQtpTobs+1,liQtpTobs+2,.Math.,liQtp

is input, and the sequence

[00038]y^=l^i=l^itp+1,l^itp+2,.Math.,l^itp+Tpre

is output.

[0043] When a resource demand prediction value ŷ.sup.(t) is higher than the real value y.sup.(t), the service provider allocates excessive resources to the network slice based on the prediction information, resulting in additional resource overheads. When the resource demand prediction value is lower than the real value, the service provider allocates fewer resources to the network slice than the real demand based on the prediction information, violating the SLA and resulting in high default payment. The following loss function is designed based on the characteristics of network slicing services to reflect the economic loss to the service provider from resource over-allocation and SLA violation.

[00039]Ly,y^=1Tpre.Math.t=1Tprelyt,y^t

and

[00040]lyt,y^t=y^tyt,ify^t>ytβyty^t,ify^tyt

[0044] β>1 indicates the penalty strength of SLA violation for the service provider, y is the real value, and y is the predicted value.

[0045] The service provider uses the historical resource usage data of the network slice as the training set, and

[00041]Ly,y^

as the loss function for the training process. The predictor LSTM-P is trained by using the gradient descent method or its variants. The neural network parameter is adjusted and the loss function value is reduced during the iterative training process to ensure the high accuracy of the predictor and low SLA violation rate.

[0046] The constructed LSTM-P predictor is used to implement resource pre-allocation for active slices in the network slicing system and to perform access control for pending slice requests in the waiting queue to optimize resource utilization.

[0047] It should be noted that the above neural network is only a specific implementation in this application, and those skilled in the art can flexibly choose a neural network with different configurations according to the actual situation. This does not affect the protection scope of this application.

[0048] S2: Determine, based on a trained first neural network and the historical resource demand of the accessed network slice, resource demand prediction information corresponding to the accessed network slice in a first prediction time period.

[0049] In this embodiment of this application, the resource demand prediction information specifically includes a predicted node resource quantity and a predicted link resource quantity.

[0050] S3: Pre-allocate resources to the accessed network slice based on the resource demand prediction information and allocate resources to the accessed network slice when the first prediction time period arrives.

[0051] In this embodiment of this application, the step of pre-allocating resources to the accessed network slice specifically includes determining a pre-allocated node resource quantity and a pre-allocated link resource quantity of the accessed network slice in the first prediction time period according to the following formulas:

[00042]d˙it=γdd^it,l˙it=γll^it,i1,nt,

where

[00043]γd=1+γd,ifΣi=1ntγdd^it<DDΣi=1ntd^it,otherwise,

[00044]γd=1+γi,ifΣi=1ntγll^it<LLΣi=1ntl^it,otherwise,

where

[00045]d˙it

is a pre-allocated node resource quantity of an accessed network slice i in a first prediction time period t,

[00046]iit

is a pre-allocated link resource quantity of the accessed network slice i in the first prediction time period t,

[00047]d^it

is a predicted node resource quantity of the accessed network slice i in the first prediction time period t,

[00048]l^it

is a predicted link resource quantity of the accessed network slice i in the first prediction time period t, n.sub.t is a quantity of accessed network slices in a system in the first prediction time period t, γ.sub.d ≥ 1 represents node resource redundancy, γ.sub.l ≥ 1 represents link resource redundancy,

[00049]γd0

and

[00050]γi0

are offsets of corresponding predicted values, D is a total node resource quantity of the system, and L is a total link resource quantity of the system.

[0052] In this embodiment of this application, the method further includes the following steps:

[0053] A1: Receive access requests of all to-be-accessed network slices in real-time and store all the access requests in a request queue.

[0054] A2: Determine a total node resource quantity and a total link resource quantity that are occupied by all accessed network slices in a second prediction time period.

[0055] A3: When a preset access time point arrives, sequentially decide whether to allow the access requests in the request queue in the second prediction time period; if yes, allow a corresponding access request when the second prediction time period arrives; and if not, continue to decide whether to allow a next access request until all the access requests in the request queue are completely decided.

[0056] In a specific application scenario, the access requests of the to-be-accessed network slices, that is, network slice requests from users, are received in real-time and stored in the request queue. In addition, the access time point is preset in this application, and then the total node resource quantity and the total link resource quantity that are occupied by all the accessed network slices in the second prediction time period are determined first to decide whether to allow the access requests.

[0057] In this embodiment of this application, the step of determining the total node resource quantity and the total link resource quantity in the step A2 is specifically performed by using the following formulas:

[00051]d^sysT=.Math.i=1nTd˙iT,l^sysT=.Math.i=1nTl˙iT,TTac+1,Tac+Tsys,

where

[00052]d^sysT

is the total node resource quantity,

[00053]l^sysT

is the total link resource quantity, T.sub.sys is a length of a system resource demand prediction window,

[00054]d˙iT

and

[00055]l˙iT

are, respectively, a node resource quantity and a link resource quantity to be occupied by an accessed network slice i at a moment T in the second prediction time period [T.sub.ac + 1, T.sub.ac + T.sub.sys], T.sub.ac is the preset access time point, and n.sub.T is a quantity of accessed network slices in the system at the moment T in the second prediction time period.

[0058] Specifically, when the total node resource quantity and the total link resource quantity are determined, first, a node resource quantity and a link resource quantity that are occupied by each accessed network slice in the second prediction time period are determined, and then the node resource quantities and the link resource quantities occupied by all the accessed network slices in the second prediction time period are summed, respectively.

[0059] It should be noted that the node resource quantity and the link resource quantity that are occupied by the accessed network slice in the second prediction time period are specifically determined by using a second neural network, which is the same as the first neural network, that is, the LSTM. The prediction formula is also the same as the first neural network.

[0060] In this embodiment of this application, all the network slices are classified into high-quality network slices and low-quality network slices.

[0061] In this embodiment of this application, the step of deciding whether to allow the access requests in the second prediction time period in the step A3 is specifically performed by using the following formulas:

[00056]tstartTac+1,Tac+Tadm,Ttstart,tstart+Tdur,d^sysT+dmax D,l^sysT+lmaxL,

where t.sub.start is an instantiation time point of a to-be-accessed network slice corresponding to the access request, T.sub.ac is a decision-making time point,

[00057]d^sysT

and

[00058]l^sysT

are, respectively, a total node resource quantity and a total link resource quantity that are occupied by all the network slices at the moment T in the second prediction time period, T.sub.adm is an access window dimension, T.sup.dur is survival duration of the to-be-accessed network slice corresponding to the access request, d.sub.max and l.sub.max are, respectively, an upper limit of allocable node resources and an upper limit of allocable link resources; if a user requests a high-quality network slice, then

[00059]dmax,lmax=dmaxH,lmaxH

; if the user requests a standard quality network slice, then

[00060]dmax,lmax=dmaxS,lmaxS

; D is a total node resource quantity of the system, L is a total link resource quantity of the system,

[00061]dmaxH

is an upper limit of node resources for the high-quality network slices,

[00062]lmaxH

is an upper limit of link resources for the high-quality network slices,

[00063]dmaxS

is an upper limit of node resources for standard quality network slices, and

[00064]lmaxS

is an upper limit of link resources for the standard quality network slices.

[0062] Specifically, the upper limit is a maximum resource quantity artificially set for each slice, and the resources occupied by each slice are limited in a specific range to avoid a slice from occupying most of the system resources.

[0063] The total node resource quantity D of the system is specifically a total node resource quantity available to the service provider, that is, the total node resource quantity in the system that can be allocated to the network slices. The total link resource quantity L of the system is specifically a total link resource quantity available to the service provider, that is, the total link resource quantity in the system that can be allocated to the network slices.

[0064] In this embodiment of this application, in the step A3, each time an access request is decided to be allowed in the second prediction time period, the total node resource quantity and the total link resource quantity are updated instantaneously, and the next access request is decided after the total node resource quantity and the total link resource quantity are updated.

[0065] In this embodiment of this application, the total node resource quantity and the total link resource quantity are updated by using the following formulas:

[00065]d^sysTT=d^sysT=dmax,l^sysTT=l^sysT+lmax,Ttstart,tstart+Tdur,

where

[00066]d^sysTT

is an updated total node resource quantity,

[00067]l^sysTT

is an updated total link resource quantity,

[00068]d^sysT

is the total node resource quantity before the update,

[00069]l^sysT

is the total link resource quantity before the update, d.sub.max and l.sub.max are, respectively, an upper limit of allocable node resources and an upper limit of allocable link resources, t.sub.start is an instantiation time point of a to-be-accessed network slice corresponding to the access request, and T.sup.dur is survival duration of the to-be-accessed network slice corresponding to the access request.

[0066] Specifically, when the next access request is decided, indicators of the updated total node resource quantity and the updated total link resource quantity are changed to the indicators of the total node resource quantity and the total link resource quantity before the update.

[0067] Those of ordinary skill in the art will understand that the embodiments described herein are intended to help readers understand the principles of the present disclosure, and it should be understood that the protection scope of the present disclosure is not limited to the specific statements and embodiments of the present disclosure. Those of ordinary skill in the art may make other various specific modifications and combinations according to the technical teachings disclosed in the present disclosure without departing from the essence of the present disclosure, and such modifications and combinations still fall within the protection scope of the present disclosure.