Method for controlling the admission of slices into a virtualized telecommunication network and the congestion likely to be generated between services instantiated on said slices

11601876 · 2023-03-07

Assignee

Inventors

Cpc classification

International classification

Abstract

A method for controlling the admission of slices in a virtualized telecommunication network and the congestion generated between services with different priorities instantiated on the slices and likely to share a given quantity of resources comprising the following steps of: defining a priority scale to be assigned to the network slices, defining a low priority threshold, determining the quantity of available and used network resources s.sub.p(t) and x.sub.p(t), determining the quantity of resources allocated to slices with a priority lower than the low priority threshold and which may be temporarily assigned to new slices with a priority higher than the threshold, and determining the slices likely to be accepted into the network, taking into account the available resources and the priority of the slices.

Claims

1. A method for controlling the admission of slices in a virtualized telecommunications network having a core network and a radio access network RAN and the congestion generated by services having different priorities instantiated on said slices and likely to share a given quantity of resources, the method comprising: defining a priority scale to be assigned to the slices, defining a low priority threshold, determining a quantity of available and used network resources s.sub.p(t) and x.sub.p(t), determining the quantity of resources allocated to slices with a priority lower than the low priority threshold and which may be temporarily assigned to new slices with a priority higher than said threshold in order to meet a quality of service requirement of the slices with the priority higher than said low priority threshold, and determining the slices likely to be accepted into the network, taking into account the available resources and priority of the slices, wherein the method further includes controlling a request s.sub.g(t) for at least one slice with guaranteed services, GS, and a request s.sub.b(t) for admission of at least one slice with best effort, BE, services, and controlling congestion of the services instantiated on said slices, and observing at each instant t by processing circuitry, a queue of slice requests s.sub.g(t) and s.sub.b(t) as well as the available and used resources s.sub.p(t) and x.sub.p(t) and reducing a resource allocated to the at least one BE slice with a priority below the low priority threshold so as to increase acceptance into the network by the processing circuitry of the at least one GS slice with a priority above the low priority threshold.

2. The method according to claim 1 wherein each slice comprises at least two sets of network functions, the two sets comprising a set of network functions K.sup.R which correspond to the radio access network RAN and a set of network functions K.sup.C which correspond to the core network.

3. The method according to claim 1 in which the quantity of resources reduced to BE slices is computed so as to maximize the following function:
R.sub.C(s(t),a(t))=a.sub.g(t)w.sub.g−(K.sub.r(t)+K.sub.c(t)+K.sub.m(t))l.sub.c, where a.sub.g(t) is the quantity of GS slices accepted by the processing circuitry, w.sub.g is the income generated by an accepted GS slice, (K.sub.r(t)+K.sub.c(t)+K.sub.m(t)) describes the total quantity of communication, computational and storage resources extracted from the BE slices already instantiated to instantiate additional GS slices, and l.sub.c is the associated cost to reduce the resources needed to instantiate said BE slices.

4. The method according to claim 1 in which the number of accepted slices is computed so as to maximize the following function:
R.sub.A(s(t),a(t))=a.sub.g(t)w.sub.g+a.sub.b(t)w.sub.b−n.sub.d(t)l.sub.d, where a.sub.g(t) is the quantity of GS slices accepted by the processing circuitry, a.sub.b(t) is the quantity of BE slices accepted by the admission controller, w.sub.g and w.sub.b represent the income for each accepted GS and BE slice, respectively, l.sub.d is the cost of deleting a GS slice request, and n.sub.d(t) is the number of GS slices abandoned instantaneously.

5. The method according to claim 1 in which processing circuitry jointly operates the functions of admitting new network slices and controlling the congestion of services instantiated on the network and in which the number of accepted slices is computed so as to maximize the following function:
R.sub.AC(s(t),a(t))=a.sub.g(t)w.sub.g+a.sub.b(t)w.sub.b−n.sub.d(t)l.sub.d−(K.sub.r(t)+K.sub.c(t)+K.sub.m(t))l.sub.c, where a.sub.g(t) is the quantity of GS slices accepted by the processing circuitry, a.sub.b(t) is the quantity of BE slices accepted by the admission controller, w.sub.g and w.sub.b represent the income for each accepted GS and BE slice, respectively, l.sub.d is the cost of deleting a GS slice request, n.sub.d(t) is the number of GS slices abandoned instantaneously, (K.sub.r(t)+K.sub.c(t)+K.sub.m(t)) describes the total quantity of communication, computational and storage resources extracted from BE slices already instantiated to instantiate additional GS slices, and l.sub.c is the associated cost to reduce the resources needed to instantiate said BE slices.

6. The method according to claim 2 in which the acceptance of new GS slices is limited so as not to excessively degrade the quality of service of BE slices already instantiated, and in that a minimum quantity of resources is kept on each instantiated BE slice so as to limit the overall amount of reduced resources of the BE slices.

7. The method according to claim 2 in which admission and congestion control of instantiated services is made through a reinforcement learning mechanism.

8. A non-transitory computer-readable medium that stores a computer program that includes instructions for carrying out the method according to claim 1 when run by the processing circuitry.

Description

BRIEF DESCRIPTION OF THE FIGURES

(1) Further characteristics and advantages of the invention will appear from the following description, taken by way of non-limiting example, with reference to the appended figures in which:

(2) FIG. 1 illustrates the correspondence between new applications and services and the requirements associated with these new applications and services in 5G communication systems,

(3) FIG. 2 schematically illustrates the network slice concept,

(4) FIG. 3 illustrates the correspondence between 3GPP network slices and the ETSI NFV (European Telecommunication Standard Institute, Network Functions Virtualization) concepts,

(5) FIG. 4 represents the correspondence of services to the required network functions,

(6) FIG. 5 represents an illustration of shared network functions and dedicated network functions in a network slice instance (NSI) that enables the simultaneous implementation of multiple services,

(7) FIG. 6 represents a flow chart illustrating the decision-making cycle for network slice admission and congestion control according to the invention,

(8) FIG. 7 illustrates a possible functional implementation of the proposed mechanism as a function of the NSMF,

(9) FIG. 8 represents a first flowchart illustrating steps of a first method according to the invention,

(10) FIG. 9 represents a second flowchart illustrating steps of a second method according to the invention.

DESCRIPTION OF THE EMBODIMENTS

(11) The method according to the invention will be described in the context of a cellular network management and orchestration system configured to receive service instantiation requests and to decide the network slices in which these services can be instantiated according to their types/priorities, their resource requirements, the presence of other simultaneous requests and the available network capacities which depend on the network slices already instantiated.

(12) In the remainder of this description, the instantiation of a network slice will mean the instantiation of the applications and services likely to be provided in that slice.

(13) Each service is instantiated in a logical network slice comprising at least two sets of virtual network function VNFs, namely a set of network functions K.sup.R corresponding to the radio access network RAN and a set of network functions K.sup.C corresponding to the core network.

(14) One purpose of the invention is to optimize the admission control of new slices with heterogeneous priority in a network and the control of possible congestion generated by the services instantiated on these slices in order to obtain a compromise between the use of resources and the probability of refusing the instantiation of these new slices.

(15) The invention is implemented by means of a cellular network management and orchestration system configured to receive service instantiation requests and to decide which network slices can be instantiated/accepted based on their types/priorities, their resource requirements, the presence of other simultaneous requests and available network capacities (which depend on the network slices already instantiated).

(16) The purpose of the invention is therefore to increase the efficiency of the network, i.e. to increase the number of network slices and therefore the number of services instantiated on these slices using a given set of network resources, in order to increase the system's income.

(17) The following description will be made in the case of slice instantiation requests on which two types of services will be instantiated, namely Guaranteed Service (GS) and Best Effort (BE) services. Each type of service is characterized by a queue which is used during the decision-making cycle for the admission of new slices. However, the invention also applies in the case of requests regarding several types of services.

(18) In the case of the application described, it is assumed that the BE (Best Effort) slices allow the system to temporarily reduce their resources in order to manage the guaranteed Quality of Service (GS) slices, which have higher priorities and strict isolation requirements. Acceptance of services that have higher priorities and stricter requirements typically leads to higher income for the 5G system.

(19) It is remembered that a network slice consists of a set of associated network functions that determine the quantity of resources required. For example, typical network functions in the sets RAN and NC are physical slice, routing, and caching functions. Three types of resources are required to instantiate a slice: communication (in terms of bandwidth (MHz)), computing (in GFLOPS/s) and cloud storage (in Go).

(20) FIG. 6 schematically illustrates the different phases, phase 1 to phase 4, of the decision-making cycle for the admission of new slices to a network and for the control of congestion likely to affect traffic on the network.

(21) At the beginning of each time interval, depending on the current states of these queues and the momentary network resources available, in phase 1, congestion control is first implemented, which allows the resources allocated to an instantiated slice to be reduced, and then in phase 2, the requests for slices to be admitted are selected. Then, during phase 3, i.e. the slice instantiation phase, network resources are allocated according to the decisions made and the accepted slices are instantiated. Finally, during the last phase 4, namely the information update phase, new requests arrive and the queues of network slices are updated accordingly. This approach makes it possible to dynamically distribute the available resources between requests for slices with different priorities.

(22) To this end, and with reference to FIG. 7, the admission controller module and the congestion controller module operate in a coordinated manner to control a request s.sub.g for admission of at least one GS (Guaranteed Services) slice and an request s.sub.b for admission of at least one BE (Best Effort) slice, and to control the congestion of the services instantiated on said slices, the congestion controller observes the queue of requests for slices s.sub.g and s.sub.b as well as the available and used resources s.sub.p et x.sub.p, and reduces, via a virtual infrastructure manager, the resource allocated to BE slices with priorities below the predefined threshold so as to increase the acceptance of GS slices with priorities above the predefined threshold.

(23) To carry out the above operations, the total request for communication, computational and cloud storage resources of the nth slice request is defined as follows:
T.sub.n=(d.sub.n,r,d.sub.n,c,d.sub.n,m)

(24) The network slice congestion and admission control state space provided, denoted as S, includes sets describing states of the GS queue, the BE queue, the available network resources, the number of GS slices instantiated, the number of BE slices instantiated, and the resources allocated to the BE slices. Accordingly, S is defined as follows:
custom character=custom character.sub.g×custom character.sub.b×custom character.sub.p×custom character.sub.g×custom character.sub.b×χ.sub.p

(25) At each time interval of the cycle provided in FIG. 4 for slice instantiation and orchestration, the number of slice requests in the GS and BE queues is respectively designated by
s.sub.g∈custom character.sub.g={0,1, . . . ,Q.sub.g}
and
s.sub.b∈custom character.sub.b={0,1, . . . ,Q.sub.b},
where Q.sub.g and Q.sub.b are the maximum length of the GS and BE queues respectively.

(26) With regard to the state of network resources, the network resources available for communication, computing and cloud storage are respectively referred to as s.sub.p=(r,c,m)∈custom character.sub.p, where r∈{0, 1, . . . , R}, c∈{0, 1, . . . , C} and m∈{0, 1 . . . , M}.

(27) The number of GS slices instantiated, BE slices instantiated and the network resources associated with the BE slices being run are also respectively indicated in the form of: u.sub.g∈custom character.sub.g={0, 1, . . . , U.sub.g}, u.sub.b∈custom character.sub.b=={0, 1, . . . , U.sub.b} and x.sub.p=(x.sub.r,x.sub.c,x.sub.m)∈χ.sub.p.Math.custom character.sub.p, U.sub.g and U.sub.b are the maximum numbers of GS and BE slices that can be simultaneously accepted by the system.

(28) In a particular example of implementation of the invention, in order to increase the number of GS slices accepted, only the resources allocated to the BE slices will be reduced. In this case, it is not necessary to define a set related to the resources allocated to the GS slices. However, when there are several classes of slice requests, for each class whose resources can be reduced, the set of resources allocated will be defined.

(29) Then, the numbers of new requests for GS and BE slices received at each time interval will be designated by n.sub.g∈custom character.sub.g={0, 1, . . . , N.sub.g} and n.sub.b∈custom character.sub.b={0, 1, . . . , N.sub.b} respectively where Ng and N.sub.b are the maximum numbers of pending requests for GS and BE services respectively.

(30) By representing the probabilities of receiving requests for GS and BE slices at a given slot by p.sub.n.sup.g and p.sub.n.sup.b respectively, there are:

(31) .Math. n = 0 N g p n g = 1 and .Math. n = 0 N b p n b = 1

(32) It is important to note that the capacity of the queues is limited in order to avoid too long a delay for instantiation requests in the queues. Then, a slice request is deleted when it arrives in a saturated queue.

(33) In addition, when a given layer is deleted from the network, all the resources allocated thereto are immediately released.

(34) FIG. 8 represents a first embodiment of the invention, where the steps of the method according to the invention are implemented by an admission controller module and a congestion controller module operating in a coordinated manner to control the admission of new network slices and the congestion of the services instantiated on the network.

(35) Congestion Control

(36) At each time interval t (step 70), the congestion controller observes the queue of slice requests s.sub.g(t) and s.sub.b(t) as well as the available and used resources s.sub.p(t) and x.sub.p(t). According to the priorities between the different requests, the congestion controller decides (step 72) to reduce the resource allocated to the slices (u.sub.b(t)) being run with low priorities (BE slices), in order to increase the acceptance of slices with higher priorities (GS slices).

(37) For this, one way to decide how much resources to reduce to slices being run with low priorities is to maximize the following function:
R.sub.C(s(t),a(t))=a.sub.g(t)w.sub.g−(K.sub.r(t)+K.sub.c(t)+K.sub.m(t))l.sub.c,   (1)
where a.sub.g(t) is the quantity of GS slices accepted by the admission controller, w.sub.g is the income generated by an accepted GS slice (note that this can be generalized to the case where each GS slice has a separate w.sub.g), (K.sub.r(t)+K.sub.c(t)+K.sub.m(t)) describes the (total) quantity of communication, computational and cloud storage resources extracted from already instantiated BE slices to instantiate additional GS slices, and l.sub.c is the cost associated with reducing BE slice resources. This cost can be related to the reduced performance of the BE slices when operating with reduced resources.

(38) It is noted that the acceptance of new GS slices may be limited by the need not to excessively degrade the quality of service of the BE slices being run. Then, it can be considered that a minimum quantity of radio (δ.sub.r), computational (δ.sub.c) and storage (δ.sub.m) resources has to be kept on each BE slice instantiated to meet their QoS requirements. Accordingly, the overall amount of the reduced BE slice resources is limited as follows:

(39) .Math. n = 1 a b ( t ) d n , r b + .Math. n = 1 a g ( t ) d n , r g x r ( t ) + r ( t ) - δ r u b ( t ) , ( 2 ) .Math. n = 1 a b ( t ) d n , c b + .Math. n = 1 a b ( t ) d n , c g x c ( t ) + c ( t ) - δ c u b ( t ) , .Math. n = x a b ( t ) d n , m b + .Math. n = 1 a g ( t ) d n , m g x m ( t ) + m ( t ) - δ m u b ( t ) ,
where a.sub.b(t) is the quantity of BE slices accepted by the admission controller.

(40) Equation (2) describes the maximum number of GS slices that can be instantiated by recovering part of the resources from the BE slices being run. However, these requirements do not guarantee that a minimum quantity of radio (δ.sub.r), computational (δ.sub.c) and storage (δ.sub.m) resources is kept on each BE slice instantiated. To do so, it is important to contemplate a planning strategy that recovers resources from the instantiated slices. For example, when congestion control is active, resources can be taken equally from the BE slices being run.

(41) In this case, the quantity of resources extracted from a single slice 0<n≤u.sub.b(t) is computed as follows (step 74):

(42) k n , r ( t ) = K r ( t ) u b ( t ) ( 3 ) k n , c ( t ) = K c ( t ) u b ( t ) k n , m ( t ) = K m ( t ) u b ( t )
where k.sub.n,r(t), k.sub.n,c(t) and k.sub.n,m(t) respectively represent the quantity of communication, computational and cloud storage resources extracted from the nth BE slice at time slot t.
Admission Control for the Instantiation of New Slices

(43) FIG. 8 shows a flowchart illustrating steps of this method according to the invention in which, depending on the priorities between different requests for the instantiation of new slices and resources available, the admission controller decides which and how many slices are to be accepted. In particular, at each time interval t, the admission controller selects an action a(t)=(a.sub.g(t),a.sub.b(t)))∈custom character that determines the number of requests a.sub.g(t) and a.sub.b(t) respectively for GS and BE slices accepted (step 76). Then, since the slice requests in each queue are served according to the first-in-first-out (FIFO) mode, the first requests (a.sub.g(t), a.sub.b(t)) are instantiated (step 78). For example, if a.sub.g(t)=2, the first two slice requests in the GS queue are served. The actions chosen at each time slot have to ensure that the number of accepted BE (respectively GS) slice requests does not exceed the actual number of BE (respectively GS) slice requests in the queue:
a.sub.g(t)≤s.sub.g(t) et a.sub.b(t)≤s.sub.b(t).

(44) In addition, as described below, the requirements in equation (4) ensure that, for the accepted BE slices, the sum of the resources allocated for each type of resource is less than or equal to the current resource availability.

(45) .Math. n = 1 a b ( t ) d n , r b r ( t ) , ( 4 ) .Math. n = 1 a b ( t ) d n , c b c ( t ) , .Math. n = 1 a b ( t ) d n , m b m ( t ) .

(46) Note that equation (4) assumes the presence of the congestion controller set forth in step 1. When this controller does not exist, equation (4) becomes:

(47) .Math. n = 1 a b ( t ) d n , r b + .Math. n = 1 a g ( t ) d n , r g r ( t ) , .Math. a b ( t ) n = 1 d n , c b + .Math. n = 1 a g ( t ) d n , c g c ( t ) , ( 5 ) .Math. n = 1 a b ( t ) d n , m b + .Math. n = 1 a g ( t ) d n , m g r ( t ) .

(48) In the general case where more than two classes of slices are considered, equation (4) will include all slices for which congestion control is not used (slices for which priority is low, for example).

(49) The objective of the admission controller is to increase the operator's income by maximizing the number of slices accepted, while limiting the probability that an incoming slice request with high priority (GS slices) will be abandoned because the queue is saturated. As a result, one way of making the instantaneous decision (a(t)=(a.sub.g(t),a.sub.b(t))) associated with a state s(t) is to maximize a function that takes into account the number of GS and BE slices accepted, as well as the number of abandoned GS requests, defined as follows:
R.sub.A(s(t),a(t))=a.sub.g(t)w.sub.g+a.sub.b(t)w.sub.b−n.sub.d(t)l.sub.d,  (6)
where w.sub.g and w.sub.b represent the income for each accepted GS and BE slice, respectively. In addition, l.sub.d is the cost of deleting a GS slice request and n.sub.d(t) is the number of GS layers abandoned instantaneously, which can be computed as follows (step 80):
n.sub.d(t)=max{s.sub.g(t)−a.sub.g(t)+n.sub.g(t)−Q.sub.g,0}.

(50) Time is then incremented in step 82.

(51) FIG. 9 represents a second embodiment of the invention, where the steps of the method according to the invention are implemented by a single controller module jointly operating the functions of admission of new network layers and congestion control of the services instantiated on the network.

(52) Joint Admission and Congestion Control

(53) In this embodiment, at each time interval t (step 90), the controller observes the state of the system s(t)=(s.sub.g(t),s.sub.b(t),s.sub.p(t),u.sub.g(t),u.sub.b(t),x.sub.p(t)) and decides which and how many slices are to be accepted (step 92). The controller's purpose is to increase the operator's income by maximizing the number of slices accepted, while limiting the probability that an incoming slice request with a high priority (GS slices) will be abandoned because the queue is saturated. In addition, this controller has to avoid excessive loss of QoS in instantiated slices with low priority (BS slices). For this, the action a(t)=(a.sub.g(t),a.sub.b(t)) to be taken at the time of the state s(t), can be determined by maximizing the objective function:
R.sub.AC(s(t),a(t))=a.sub.g(t)w.sub.g+a.sub.b(t)w.sub.b−n.sub.d(t)l.sub.d−(K.sub.r(t)+K.sub.c(t)+K.sub.m(t))l.sub.c.

(54) The total quantity of resources extracted from the BE slices via the congestion controller can be computed based on accepted slices and available resources as follows (step 94):

(55) K r ( t ) = max { 0 , .Math. n = 1 a b ( t ) d n , r b + .Math. n = 1 a g ( t ) d n , r g - r ( t ) } K c ( t ) = max { 0 , .Math. a b ( t ) n = 1 d n , c b + .Math. n = 1 a g ( t ) d n , c g - c ( t ) } K m ( t ) = max { 0 , .Math. n = 1 a b ( t ) d n , m b + .Math. n = 1 a g ( t ) d n , m g - m ( t ) } .

(56) As with a simple congestion controller, the quantity of resources extracted from a single slice 0<n≤u.sub.b(t) is computed as follows (step 96):

(57) k n , r ( t ) = K r ( t ) u b ( t ) k n , c ( t ) = K c ( t ) u b ( t ) k n , m ( t ) K m ( t ) u b ( t ) .

(58) Then, since the slice requests in each queue are served according to the first-in-first-out (FIFO) mode, the first requests (a.sub.g(t), a.sub.b(t)) are instantiated (step 98).

(59) Finally, new slice requests arrive in the system and the number of abandoned GS requests can be determined as follows (step 100):
n.sub.d(t)=max{s.sub.g(t)−a.sub.g(t)+n.sub.g(t)−Q.sub.g,0}.

(60) Time is then incremented in step 102.