US 12,273,279 B2
Cloud software service resource allocation method based on QoS model self-correction
Xing Chen, Fujian (CN); Haijiang Wang, Fujian (CN); and Fangning Zhu, Fujian (CN)
Assigned to FU ZHOU UNIVERSITY, Fujian (CN)
Appl. No. 17/603,269
Filed by FU ZHOU UNIVERSITY, Minhou County (CN)
PCT Filed Jul. 30, 2019, PCT No. PCT/CN2019/098255
§ 371(c)(1), (2) Date Oct. 12, 2021,
PCT Pub. No. WO2020/228143, PCT Pub. Date Nov. 19, 2020.
Claims priority of application No. 201910403638.2 (CN), filed on May 15, 2019.
Prior Publication US 2022/0210028 A1, Jun. 30, 2022
Int. Cl. H04L 41/14 (2022.01); H04L 41/5009 (2022.01); H04L 43/55 (2022.01); H04L 47/70 (2022.01); H04L 47/83 (2022.01)
CPC H04L 47/83 (2022.05) [H04L 41/145 (2013.01); H04L 41/5009 (2013.01); H04L 43/55 (2022.05); H04L 47/82 (2013.01)] 5 Claims
OG exemplary drawing
 
1. A cloud software service resource allocation method based on QoS model self-correction, characterized in that the method comprises the following steps:
step S1: performing online self-learning to obtain a QoS prediction model;
step S2: collecting runtime data under a certain workload, and improving the accuracy of the QoS prediction model under a current workload through self-correction control;
step S3: constructing a fitness function in combination with a quality of service (QOS) and a cloud resource cost (Cost), and searching for a target resource allocation scheme by using the following steps of:
step S31: assuming that there are m types of virtual machines, a quantity of each type of virtual machines is expressed as vml, wherein 1≤l≤m, then defining the particle coding of a certain resource allocation scheme as the following formula:
VM={vm1,vm2,vm3, . . . ,vmm}  (10);
initializing a values of related parameters, including but not limited to a particle swarm size, a maximum number of iterations and an initial particle swarm size;
step S32: calculating a fitness value of each particle according to the following formula, setting each particle as its own personal best particle, and setting the particle with a minimum fitness value as a global best particle:

OG Complex Work Unit Math
wherein r1 denotes trade-off of the quality of service (QOS), and r2 denotes trade-off of the cloud resource cost;
step S33: updating the particles according to mutation and crossover calculations, and recalculating a fitness value of each particle;
step S34: if the fitness value of the updated particle is better than its personal best particle, replacing the personal best particle with the updated particle;
step S35: if the fitness value of the updated particle is better than a global best particle, replacing the global best particle with the updated particle;
step S36: returning to step S33 until a stop condition is met;
step S4 specifically comprises the following steps of:
step S4: comparing a current resource allocation situation with the searched target resource allocation scheme to obtain a difference there between, and then adjusting resources according to a proportion;
the step S4 comprises the steps of:
step S41: using formula (12) to denote the allocated resources situation VMallocated, while using formula (13) to represent the target allocation scheme VMObjective obtained in each circulation, and denoting the difference VMDifference between the allocated resource situation VMallocated and the target allocation scheme VMobjective by formula (14):
VMallocated={vm1A,vm2A,vm3A, . . . vmmA}  (12);
VMObjective={vm1O,vm2O,vm3O, . . . ,vmmO}  (13);
VMDifference={vm1Λ−vm1O,vm2Λ−vm2O,vm3Λ−vm3O, . . . ,vmmΛ−vmmO}  (14);
step S42: calculating the overall change trend between the allocated resource situation and the target allocation scheme in each circulation by using the following formula:

OG Complex Work Unit Math
when VMsum>0, it denotes that virtual machine resources of the cloud software service VM sum as a whole need to be increased, and the quantity of virtual machines are not reduced at this time; and when VMsum<0, it denotes that the virtual machine resources of the cloud software sum service have a remaining computing power, and the quantity of the virtual machines needs to be appropriately reduced instead of increasing the quantity of the virtual machines at this time;
step S43: assuming that the resource adjustment proportion is Proportion, and 0<Proportion<1, in order to ensure that the quantity adjusted each time for each type of the virtual machines is an integer, performing a rounding operation, as shown in formula (16), it is the quantity of the lth type of the virtual machines that needs to be adjusted, and, when VMAdjustement>0, it denotes adding VMAdjustement virtual machines of this type: on the contrary, VMAdjustement virtual machines of this type are reduced; wherein Intpart( ) is a rounding function;
VMadjustement(l)=Intpart(VMDifference (l)*Proportion)  (16);
step S5: repeating steps S2 to S4 until the current resource allocation situation is the same as the target resource allocation scheme which means that resource adjustment is completed.