Unmanned aerial vehicle assisted task offloading and resource allocation method based on service caching

Information

  • Patent Grant
  • 12027055
  • Patent Number
    12,027,055
  • Date Filed
    Wednesday, December 13, 2023
    a year ago
  • Date Issued
    Tuesday, July 2, 2024
    6 months ago
  • Inventors
  • Examiners
    • Foley; Shon G
Abstract
An unmanned aerial vehicle assisted task offloading and resource allocation method based on service caching is provided. The unmanned aerial vehicles are capable to cache a portion of programs to perform computation tasks for offloading of ground terminal devices, while a local terminal device is capable to cache a small number of programs. Under the constraints of task completion delay requirements for all devices and UAVs, as well as limited energy of UAVs, an optimization problem of minimizing the total time delay of request tasks of all ground terminal devices are established. This problem is a mixed integer nonlinear programming problem, which is decoupled into three sub-problems: task offloading decision, UAV resource allocation, and UAV trajectory. Slack variables, Lagrange multiplier method, and Taylor expansion method are used to iteratively solve the three sub-problems, and the optimal solutions for task offloading decision, UAV resource allocation, and UAV trajectory are obtained.
Description
TECHNICAL FIELD

The present disclosure relates to the field of communication technology, in particular to an unmanned aerial vehicle assisted task offloading and resource allocation method based on service caching.


BACKGROUND

With the development of information technology, many intelligent disclosures are constantly emerging, such as facial recognition, interactive games, and virtual reality. These disclosures usually have the characteristics of computationally intensive and time delay-sensitive. The emergence of mobile edge computing (MEC) provides convenience for the implementation of these computing tasks. In practical disclosures, due to shadow fading and multipath effect, the signal attenuation in ground communication is severe. Therefore, unmanned aerial vehicle (UAV) assisted MEC systems are valued for their flexible maneuverability and low cost. In the mobile edge computing system, the edge service caching refers to the pre-storage of the programs needed to perform computing tasks on the MEC server. When computing tasks are offloaded to the MEC server the server must have corresponding service programs to complete the corresponding computing tasks. Service caching effectively reduces real-time time delay and communication costs for obtaining and initializing service disclosures.


SUMMARY

The objective of the present disclosure is to provide an unmanned aerial vehicle assisted task offloading and resource allocation method based on service caching. This method addresses the competitive interests of users in the collaborative computing process. The unmanned aerial vehicle can cache some programs to perform the computing task of ground terminal devices offloading, while the local ground terminal devices can cache a small number of programs to perform some computing tasks.


To achieve the above function, the present disclosure provides an unmanned aerial vehicle assisted task offloading and resource allocation method based on service caching. Under the constraints of task completion delay requirements for all devices and unmanned aerial vehicles and limited energy of unmanned aerial vehicles, the optimization problem of minimizing the total time delay of request tasks of all ground terminal devices are established. This problem is a mixed integer nonlinear programming problem, which is decoupled into three sub-problems: task offloading decision, UAV resource allocation, and UAV trajectory. Slack variable, Lagrange multiplier method and Taylor expansion method are use to perform iterative solving of the three sub-problems respectively, so that the optimal solutions of task offloading decision, UAV resource allocation and UAV trajectory are obtained.


Technical solution: to solve the above technical problems, the technical solution adopted by the present disclosure is:


In the first aspect, an unmanned aerial vehicle assisted task offloading and resource allocation method based on service caching is provided by the present disclosure, which includes:

    • S1. obtaining local popularity based on historical required services of ground terminal devices, selective caching required services for unmanned aerial vehicle based on the local popularity to obtain a caching solution of the unmanned aerial vehicles;
    • S2. applying, by the ground terminal devices, a random caching service to obtain a caching solution of the ground terminal devices;
    • S3. in response to task requests from the ground terminal devices, based on the caching solution of the unmanned aerial vehicle and the caching solution of the ground terminal devices, utilizing a pre built optimization problem that minimizes a total time delay of request tasks of all ground terminal devices to optimize to obtain a task offloading decision, an unmanned aerial vehicle resource allocation, and an unmanned aerial vehicle trajectory;
    • S4. determining, according to the optimized task offloading decision, a task requested by the ground terminal devices to perform computation on a local terminal device, or offload the task to the corresponding unmanned aerial vehicle for computation; the unmanned aerial vehicle is flying according to the optimized unmanned aerial vehicle trajectory; and allocating resources to the ground terminal devices based on the optimized unmanned aerial vehicle resource allocation.


In some embodiments, the step S4 includes:

    • S41. performing computation to the task requested by the ground terminal devices on the local terminal device;
    • S411. if the required services has been cached in the ground terminal devices, performing task computation directly;
    • S412. if the ground terminal devices do not cache the required services, but there are services requested by the ground terminal devices cached on the unmanned aerial vehicle, then based on the optimized unmanned aerial vehicle trajectory and the optimized unmanned aerial vehicle resource allocation, downloading the corresponding service program from the unmanned aerial vehicles to the ground terminal devices, and performing computing services on the ground terminal devices directly;
    • S413. if the ground terminal devices do not cache the required services and the unmanned aerial vehicles do not cache the services requested by the ground terminal devices, using a wireless backhaul link to download the service program from a remote end to the unmanned aerial vehicles through a base station; based on the optimized unmanned aerial vehicle trajectory and the optimized unmanned aerial vehicle resource allocation, downloading the corresponding service program from the unmanned aerial vehicles to the ground terminal devices, and performing computing services on the ground terminal devices directly.


In some embodiments, step S4 includes:

    • S42. offloading, by the ground terminal devices, tasks to the corresponding unmanned aerial vehicle for computation;
    • S421. services requested by the ground terminal devices are cached in the unmanned aerial vehicles, performing computation directly on the unmanned aerial vehicles based on the optimized unmanned aerial vehicle trajectory and the optimized unmanned aerial vehicle resource allocation;
    • S422. if there is no cached services requested by ground terminal devices in the unmanned aerial vehicles, using a wireless backhaul link to download service programs from a remote end to the unmanned aerial vehicles through a base station, and performing computation based on the optimized unmanned aerial vehicle trajectory and the optimized unmanned aerial vehicle resource allocation on the unmanned aerial vehicles.


In some embodiments, step S1 includes:

    • S11. an access method between the ground terminal devices and the unmanned aerial vehicles adopts a closest distance access, when the ground terminal devices are within a coverage range of the unmanned aerial vehicles, the nearest unmanned aerial vehicle provides services; setting Mk as the number of the ground terminal devices served by the unmanned aerial vehicle k;
    • S12. a request probability of service s from the ground terminal devices m is pms, and a request probability matrix P for all ground terminal devices are:






P
=

(




p
11







p

1

S


















p

M

1








p
MS




)







    • S13. obtaining local popularity psk based on the request probability pms of services from the ground terminal devices m:










p
s
k

=





m


M
k




p
ms





"\[LeftBracketingBar]"


M
k



"\[RightBracketingBar]"









    • S14. since there is no coupling of content deployment between the unmanned aerial vehicles, in order to improve a hit ratio of caching services of the unmanned aerial vehicles, service programs with high local popularity are cached in the unmanned aerial vehicles.





In some embodiments, in step S3, a optimization problem P1 of minimizing the total time delay of request tasks of all ground terminal devices includes:







P

1

:


min

B
,
F
,
C
,
Q






m
=
1

M


T
m












s
.
t
.

C


1

:


T
m



D
m
max



,



m

M


,








C

2

:


E
m



E
m
max



,



m

M


,








C

3

:


E
k



E
k
max



,



k

K


,








C

4

:





m
=
1

M


f

k
,
m





F
k
max



,



m

M


,



k

K


,








C

5

:


c

m
,
k




b

m
,
k




,



m

M


,



k

K


,









C

6

:




k
=
1

K


b

m
,
k




=
1

,



m

M


,



k

K


,








C

7

:





m
=
1

M


b

m
,
k





N
k
max



,



m

M


,



k

K


,








C

8

:






Q
k

-

Q
l




2



d
m
2



,



k

K


,

k

l

,








C

9

:



b

m
,
k


(

R

k
,
m


)



R
k
max



,



m

M


,



k

K


,








C

10

:

c

m
,
k



,

a

k
,
s


,

b

m
,
k


,


e

m
,
s




{

0
,
1

}



,



m

M


,



k

K


,




Wherein, C1 denotes the time delay limit; Tm denotes a total time delay for completing tasks requested by the ground terminal devices m; K={1, 2, . . . , K} and M={1, 2, . . . , M} denote sets of the unmanned aerial vehicles and the ground terminal devices, respectively; B=(bm,k∈{0,1}: m∈M, k∈K) denotes a set of whether the ground terminal devices m are accessed to the unmanned aerial vehicles k; F=(fk,m: m∈M, k∈K) denotes a set of computing capabilities of the unmanned aerial vehicles k on the ground terminal devices m; c=(cm,k∈{0,1}: m∈M, k∈K) denotes a set of whether the computing tasks of the ground terminal devices m are offloaded to the unmanned aerial vehicles; Q=(Qk: k∈K) denotes horizontal position coordinates of the unmanned aerial vehicles k; Dmmax denotes a maximum time delay of the tasks of the ground terminal devices m, ∀ denotes any mathematical symbol; C2 denotes an user energy consumption limit, Em denotes total energy consumption of the ground terminal devices m, Emmax denotes maximum energy consumption of the ground terminal devices m; C3 denotes an energy consumption limit of the unmanned aerial vehicles, Ek denotes total energy consumption of the unmanned aerial vehicles k, Ekmax denotes maximum energy consumption of the unmanned aerial vehicles; C4 denotes resource limitation allocated to the unmanned aerial vehicles; fk,m denotes computing capabilities of the unmanned aerial vehicles k towards the ground terminal devices m; Fkmax denotes the maximum computing capabilities of the unmanned aerial vehicles k; C5 denotes a causality constraint, namely offloading computation is performed after the ground terminal devices are accessed to the unmanned aerial vehicles; cm,k∈{0,1} denotes whether the computing tasks of the ground terminal devices m are offloaded onto the unmanned aerial vehicles, wherein 1 indicates offloading and 0 indicates not offloading; bm,k∈{0,1} denotes whether the ground terminal devices m are accessed to the unmanned aerial vehicles k, wherein 1 indicates connection, and 0 indicates no connection; C6 specifies that one ground terminal device is only capable to access to one unmanned aerial vehicle; C7 denotes a maximum number of the ground terminal devices that the unmanned aerial vehicles are capable to access; Nkmax is a maximum number of the ground terminal devices being capable to access; C8 is a maximum distance limit between the unmanned aerial vehicles, horizontal position coordinates of the unmanned aerial vehicles k is Qk=(xk, yk); Ql is horizontal position coordinates of the unmanned aerial vehicles l; dm is a maximum distance between the unmanned aerial vehicles; C9 specifies that the ground terminal devices are only capable to be connected to the unmanned aerial vehicles within the maximum range of the unmanned aerial vehicles; Rk,m is distance between the ground terminal devices m and the unmanned aerial vehicles k; Rkmax is a maximum communication range of the unmanned aerial vehicles; C10 indicates that cm,k, ak,s, bm,k, em,s are binary variables; ak,s∈{0,1} indicates whether the unmanned aerial vehicles are caching services s wherein 1 indicates caching, 0 indicates no caching; em,s∈{0,1} denotes whether the ground terminal devices m are caching services s, wherein 1 denotes caching, and 0 denotes no caching.


In some embodiments, the method for building the optimization problem of minimizing the total time delay of request tasks of all ground terminal devices includes:


Due to a covering problem of the base station, the ground terminal devices in a coverage area are not capable to directly communicate with the base station (BS); the base station is connected to a cloud center through a wired fiber-optic link, while the unmanned aerial vehicles communicate with the base station through a wireless backhaul link; assuming that a front-end and a backhaul link operate on different frequency bands, the wireless backhaul link capacity from each unmanned aerial vehicle to the base station is Rb, for the front-end link, the ground terminal devices within the coverage range of each unmanned aerial vehicle adopts orthogonal frequency division multiple access, and the bandwidth is evenly distributed among a plurality of ground terminal devices; assuming that the total bandwidth of uplink/downlink communication is B, the bidirectional wireless communication spectrum bandwidth from the unmanned aerial vehicles k to the ground terminal devices are B/|Mk|, wherein Mk is the total number of users served by the unmanned aerial vehicle k;


The horizontal position coordinates of the unmanned aerial vehicles k is Qk=(xk, yk), the height is fixed, and the horizontal position coordinate of the ground terminal devices m is Qm=(xm, ym); distance between the ground terminal devices m and the unmanned aerial vehicles k is Rk,m=√{square root over ((xk−xm)2+(yk−ym)2)}, the channel gain between the ground terminal devices m and the unmanned aerial vehicle k is








h

k
,
m


=


h
0



H
2

+

R

k
,
m

2




,





h0 is the channel gain when the reference distance d0=1, and H is the flight altitude of each unmanned aerial vehicle; assuming that the bidirectional channel gains between the ground terminal devices m and the unmanned aerial vehicles k is the same, the uplink rate and downlink rate between the ground terminal devices m and the unmanned aerial vehicles k are rm,kup and rm,kdown, respectively:






{





r

m
,
k

up

=


B



"\[LeftBracketingBar]"


M
k



"\[RightBracketingBar]"






log
2

(

1
+



h

k
,
m




p
m



N
0



)









r

m
,
k

down

=


B



"\[LeftBracketingBar]"


M
k



"\[RightBracketingBar]"






log
2

(

1
+



h

k
,
m




p
k



N
0



)










Wherein, pm is the transmission power of the ground terminal devices m, pk is the transmission power allocated by the unmanned aerial vehicles k to the ground terminal devices m, and N0 is the noise power of the receiver;


The local computing time is








t
m
l

=


C
m


f
m



,





and the energy consumption of the ground terminal devices for local computing is Eml=κfm2Cm, wherein, κ is the coefficient that depends on the chip structure, fm is the computing power of the ground terminal devices, and Cm is the number of CPU cycles required for the computing task of the ground terminal devices;


The ground terminal devices are selectively offloaded onto the unmanned aerial vehicles for computation, and the time for task upload to the unmanned aerial vehicles is








t

m
,
k

u

=


l
m


r

m
,
k

up



;





the energy consumption for task upload is Em,ku=pmtm,ku, the time for task computation is








t

m
,
k

e

=


C
m


f

k
,
m




,





and the energy consumption for task computation is Em,ke=κ(fk,m)2Cm; wherein, lm is the size of the input data for the ground terminal devices m, fk,m is the computing power of the unmanned aerial vehicles k on the ground terminal devices m; if the maximum computing power of the unmanned aerial vehicles k is Fkmax, then











m
=
1

M


f

k
,
m





F
k
max


;




When local computing is selected but the ground terminal devices has not cached the corresponding service, the download time of the ground terminal devices from the unmanned aerial vehicles to the corresponding service is








t

k
,
s

sfw

=


c
s


r

m
,
k

down



,





wherein cs is the size of the service s program; the energy consumption of the unmanned aerial vehicle k sending services s to the ground terminal devices m is Ek,m,ssfw=tk,ssfw·pk;


If there is no service program corresponding to the user request task in the unmanned aerial vehicles, then the corresponding service needs to be downloaded remotely through the base station, and the time for downloading the service s is








t

b

a

c

k


=


c
s


R
b



;




If the ground terminal devices m selects local computing, the total time delay Tm,kl of the local computing is:

Tm,kl=em,stml(1−em,s)bm,k(tk,ssfw+tml)


Wherein, bm,k∈{0,1} is whether the ground terminal devices m are connected to the unmanned aerial vehicles k, 1 indicates in access, and 0 indicates not in access; em,s∈{0,1} denotes whether the ground terminal devices m are caching services s, 1 indicates caching, 0 indicates no caching;


The total energy consumption Em,kl for the local computing on the ground terminal devices m for the tasks is:

Em,kl=em,sEml+(1em,s)bk,m(Eml+Ek,m,ssfw)


The total time Tm,ke,l for computing tasks of the ground terminal devices m to be executed on the unmanned aerial vehicle k is:

Tm,ke,l=(1−em,s)bk,m(1−ak,s)(tback+tk,ssfw)


Wherein, ak,s∈{0,1} indicates whether the unmanned aerial vehicles k are caching services, 1 indicates caching, and 0 indicates no caching;


The total energy consumption Em,ke,l of the computing tasks of the ground terminal devices m executed on the unmanned aerial vehicles k is:

Em,ke,l=(1−em,s)bk,mEk,m,ssfw


If the ground terminal devices m selects computation offloading, the computing time Tm,ke,uav of the computing tasks of the ground terminal devices m on the unmanned aerial vehicle k is:

Tm,ke,uav=bk,m[tm,ku+tm,ke+(1−ak,s)tback]


The energy consumption Em,ke,uav of the ground terminal devices m for computing tasks on the unmanned aerial vehicles k is:

Em,ke,uav=bk,mEm,ke


Wherein, cm,k∈{0,1} indicates whether the computing tasks of the ground terminal devices m are offloaded to the unmanned aerial vehicles;


The total time delay Tm of completing tasks requested by the ground terminal devices m:







T
m

=





k
=
1

K




(

1
-

c

m
,
k



)



(


T

m
,
k

l

+

T

m
,
k


e
,
l



)



+




k
=
1

K



c

m
,
k




T

m
,
k


e
,

u

a

v










The total energy consumption Em of the ground terminal devices m:







E
m

=





k
=
1

K



(

1
-

c

m
,
k



)



E

m
,
k

l



+




k
=
1

K



C

m
,
k




E

m
,
k

u








The total energy consumption Ek of the unmanned aerial vehicle k:








E
k

=





m
=
1

M



(

1
-

c

m
,
k



)



E

m
,
k


e
,
l




+




m
=
1

M



c

m
,
k




E

m
,
k


e
,

u

o

v







.




In some embodiments, in step S3, utilizing a pre built optimization problem that minimizes a total time delay of request tasks of all ground terminal devices to optimize to obtain a task offloading decision, an unmanned aerial vehicle resource allocation, and an unmanned aerial vehicle trajectory, including:


S31. solving the task offloading decision problem when the resource allocation and the unmanned aerial vehicle trajectory are determined to the optimization problem P1 transformed into P1.1:







P

1.1

:


min
C





m
=
1

M


T
m











s
.
t
.

C


1

,

C

2

,

C

3

,

C

5







    • slacking binary variables cm,k into continuous variables {tilde over (c)}m,k, namely 0≤cm,k≤1, wherein:











T
˜

m

=




k
=
1

K


{



(

1
-


c
˜


m
,
k



)

[



e

m
,
s




t
m
l


+


(

1
-

e

m
,
s



)



b

m
,
k





a

k
,
s


(


t

k
,
s

sfw

+

t
m
l


)


+


(

1
-

e

m
,
s



)



(

1
-

a

k
,
s



)




b

k
,
m



(


t

m
,
k

u

+

t

m
,
k

e

+

t
back


)



]

+



c
˜


m
,
k





b

k
,
m


[


t

m
,
k

u

+

t

m
,
k

e

+


(

1
-

a

k
,
s



)



t

b

a

c

k




]



}










E
˜

m

=





k
=
1

K



(

1
-


c
˜


m
,
k



)



{



e

m
,
s




E
m
l


+


(

1
-

e

m
,
s



)

[



a

k
,
s




b

k
,
m




E
m
l


+


(

1
-

a

k
,
s



)



b

k
,
m




E

m
,
k

u



]


}



+




k
=
1

K




c
˜


m
,
k




p

m
,
k




t

m
,
k

u












E
˜

k

=





m
=
1

M



(

1
-


c
˜


m
,
k



)



{


(

1
-

e

m
,
s



)




b

k
,
m


[



(

1
-

a

k
,
s



)



E

m
,
k

e


+


a

k
,
s




E

k
,
m
,
s


s

f

w




]


}



+




m
=
1

M




c
˜


m
,
k




b

k
,
m




E

m
,
k

e










    • wherein, {tilde over (T)}m, {tilde over (E)}m, and {tilde over (E)}k denote the total time delay of completing tasks requested by the ground terminal devices m after slacking, the total energy consumption of the ground terminal devices m, and the total energy consumption of unmanned aerial vehicles k, respectively;

    • then, the optimization problem P1.1 is transformed into P1.2:












P

1.2










min

B
,
F
,
C
,
Q






m
=
1

M



T
˜

m






(
18
)














s
.
t
.



T
˜

m




D
m
max


,



m

M


,











E
˜

m



E
m
max


,



m

M


,












E
˜

k



E
k
max


,



k

K


,














c

˜


m
,
k




b

m
,
k



,



m

M


,



k

K


,










    • the optimization problem P1.2 is a linear programming problem with linear constraints, therefore, the optimization problem P1.2 is a convex problem, and using CVX in the MATLAB toolbox to solve to obtain an optimal solution cm,k;

    • S32. in the case that the task offloading decision and the unmanned aerial vehicle trajectory are determined, solving the unmanned aerial vehicle resource allocation problem, based on this, the optimization problem P1 is transformed into P1.3:









P

1.3







min
F





m
=
1

M


T
m











s
.
t
.

C


1
:


T
m




D
m
max


,



m

M


,










C

3
:


E
k




E
k
max


,



k

K


,











C

4
:





m
=
1

M


f

k
,
m






F
k
max


,



m

M


,



k

K


,







    • using Lagrangian constraint condition and KKT constraint condition to solve, two constraint factors λm, vm are introduced, λm>0, vm>0, and the Lagrangian formula is defined as:










L

(


f

k
,
m


,

λ
m

,

v
m


)

=





M


m
=
1



T
m


+




M


m
=
1




λ
m

(




κ

(

f

k
,
m


)

2



C
m


-

E
k
max


)


+





m
=
1


M



v
m

(


f

k
,
m


-

F
k
max


)









    • since the optimization problem P1.3 is a convex problem, by applying the KKT condition,













(

L

(


f

k
,
m


,

λ
m

,

v
m


)

)





f

k
,
m




=
0






    •  is obtained, and












λ
m

(





m
=
1

M




κ

(

f

k
,
m


)

2



C
m



-

E
k
max


)

=
0

,




v
m

(





m
=
1

M


f

k
,
m



-

F
k
max


)

=
0

;







    •  solving to obtain an optimal unmanned aerial vehicle resource allocations fk,m*:











f

k
,
m

*

=



E
k
max


κ


C
m





;






    • S33. in the case that the task offloading decision and the unmanned aerial vehicle resource allocation are determined, solving the unmanned aerial vehicle trajectory problem, the optimization problem P1 is transformed into the optimization problem P1.4:









P

1.4







min
Q





m
=
1

M


T
m











s
.
t
.

C


1
:


T
m




D
m
max


,



m

M


,










C

2
:


E
m




E
m
max


,




m

M


,











C

3
:


E
k




E
k
max


,




k

K


,











C

8
:






Q
k

-

Q
l




2




d
m
2


,



k

K


,

k

l

,







    • the transmission time delay of the ground terminal devices in the objective function, the energy consumption of the unmanned aerial vehicle multicast software in the constraint, and the energy consumption of task upload are non convex, but for variable Qk, the formula ∥Qk−Ql2 is convex, thus, the continuous convex approximation method is applied; because the first-order Taylor expansion at any point of any convex function is the global lower bound of the convex function, the convex function is approximated by the first-order Taylor expansion; the transmission rate rm,kup from the ground terminal devices to the unmanned aerial vehicles is approximately:










r

m
,
k


u

p


=



B



"\[LeftBracketingBar]"


M
k



"\[RightBracketingBar]"






log
2

(

1
+



h

k
,
m




p
m



N
0



)





B



"\[LeftBracketingBar]"


M
k



"\[RightBracketingBar]"






log
2

(


1
+




h
0



p
m




(


H
2

+






Q
k

[
i
]

-

Q
l




2


)



N
0



-



Z

m
,
k


[
i
]



(






Q
k

-

Q
l




2

-






Q
k

[
i
]

-

Q
l




2


)



=

r

k
,
m


l

b












    • wherein












Z

m
,
k


[
i
]

=



G

m
,
k




log
2


e



(


G

m
,
k


+

H
2

+






Q
k

[
i
]

-

Q
m




2


)



(


H
2

+






Q
k

[
i
]

-

Q
m




2


)




,




G

m
,
k


=



h
0



p

k
,
m




N
0



;







    • wherein, Qk[i] is the i-th Taylor expansion for the unmanned aerial vehicle trajectory, Zm,k[i] and Gm,k are intermediate parameters; when introducing intermediate parameters rk,mlb into the optimization problem P1.4, P1.4 is a standard convex optimization problem, using CVX in the MATLAB toolbox to solve to obtain an optimal solution Qk;

    • S34. through iterative solving the three sub-problems P1.2, P1.3, and P1.4, and updating the corresponding solutions to obtain the solution for P1: task offloading decision, the unmanned aerial vehicle resource allocation, and the unmanned aerial vehicle trajectory.





In the second aspect, the present disclosure provides an unmanned aerial vehicle assisted task offloading and resource allocation device based on service caching, including a processor and a storage medium;

    • the storage medium is configured to store instructions; and
    • the processor is configured to operate according to the instructions to execute the method according to the first aspect.


In the third aspect, the present disclosure provides a device including

    • a memory;
    • a processor;
    • and
    • a computer program;
    • wherein, the computer program is stored in the memory and configured to be executed by the processor to implement the method described in the first aspect.


In the fourth aspect, the present disclosure provides a storage medium on which a computer program is stored, and the method described in the first aspect is implemented when the computer program is executed by a processor.


Advantageous effects: Compared to prior art, the advantages of the present disclosure include:

    • 1. The present disclosure comprehensively considers introducing the concept of service caching into mobile edge computing based on UAV assistance. When the computing task is offloaded to the MEC server, the server must have a corresponding service program to complete the corresponding computing task. Service caching effectively reduces real-time time delay and communication costs for obtaining and initializing service disclosures.
    • 2. The present disclosure jointly considers caching all required services in advance in the UAV based on local popularity, effectively reducing user completion time delay.
    • 3. Unlike traditional computing task offloading methods, this method fully utilizes the mobility of UAV and jointly optimizes the three sub-problems of computing resource allocation and UAV placement, effectively reducing task completion time delay.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 is a flow chart of the method provided according to an embodiment of the present disclosure;



FIG. 2 is a schematic diagram of the system model provided according to an embodiment of the present disclosure.





DETAILED DESCRIPTION OF THE EMBODIMENTS

The present disclosure will be further described in conjunction with the accompanying drawings. The following embodiments are only intended to provide a clearer illustration of the technical solution of the present disclosure and should not be regarded as a limitation to the scope of the present disclosure.


In the description of the present disclosure, “several” refers to one or more, “a plurality of” refers to two or more, “greater than”, “less than”, “over”, etc. are understood as not including the number itself, and “above”, “below”, “within”, etc. are understood as including the number itself. If there is a description that the first and second, they are only for the purpose of distinguishing technical features, and cannot be understood as indicating or implying relative importance or implying the quantity or sequence of the indicated technical features.


In the description of the present disclosure, the reference terms “one embodiment”, “some embodiments”, “illustrative embodiments”, “examples”, “specific examples”, or “some examples”, etc. refer to specific features, structures, materials, or features described in conjunction with the embodiments or examples included in at least one embodiment or example of the present disclosure. In this disclosure, the illustrative expressions of the above terms may not necessarily refer to the same embodiments or examples. Moreover, the specific features, structures, materials, or features described can be combined in an appropriate manner in any one or more embodiments or examples.


Embodiment 1

In the first aspect, an unmanned aerial vehicle assisted task offloading and resource allocation method based on service caching is provided in the present embodiment, which includes:

    • S1. obtaining local popularity based on historical required services of ground terminal devices, selective caching required services for unmanned aerial vehicle based on the local popularity to obtain a caching solution of the unmanned aerial vehicles;
    • S2. applying, by the ground terminal devices, a random caching service to obtain a caching solution of the ground terminal devices;
    • S3. in response to task requests from the ground terminal devices, based on the caching solution of the unmanned aerial vehicle and the caching solution of the ground terminal devices, utilizing a pre built optimization problem that minimizes a total time delay of request tasks of all ground terminal devices to optimize to obtain a task offloading decision, an unmanned aerial vehicle resource allocation, and an unmanned aerial vehicle trajectory;
    • S4. determining, according to the optimized task offloading decision, a task requested by the ground terminal devices to perform computation on a local terminal device, or offload the task to the corresponding unmanned aerial vehicle for computation; the unmanned aerial vehicle is flying according to the optimized unmanned aerial vehicle trajectory; and allocating resources to the ground terminal devices based on the optimized unmanned aerial vehicle resource allocation.


In some embodiments, the step S4 includes:

    • S41. performing computation to the task requested by the ground terminal devices on the local terminal device;
    • S411. if the required services has been cached in the ground terminal devices, performing task computation directly;
    • S412. if the ground terminal devices do not cache the required services, but there are services requested by the ground terminal devices cached on the unmanned aerial vehicle, then based on the optimized unmanned aerial vehicle trajectory and the optimized unmanned aerial vehicle resource allocation, downloading the corresponding service program from the unmanned aerial vehicles to the ground terminal devices, and performing computing services on the ground terminal devices directly;
    • S413. if the ground terminal devices do not cache the required services and the unmanned aerial vehicles do not cache the services requested by the ground terminal devices, using a wireless backhaul link to download the service program from a remote end to the unmanned aerial vehicles through a base station; based on the optimized unmanned aerial vehicle trajectory and the optimized unmanned aerial vehicle resource allocation, downloading the corresponding service program from the unmanned aerial vehicles to the ground terminal devices, and performing computing services on the ground terminal devices directly.


In some embodiments, step S4 includes:

    • S42. offloading, by the ground terminal devices, tasks to the corresponding unmanned aerial vehicle for computation;
    • S421. services requested by the ground terminal devices are cached in the unmanned aerial vehicles, performing computation directly on the unmanned aerial vehicles based on the optimized unmanned aerial vehicle trajectory and the optimized unmanned aerial vehicle resource allocation;
    • S422. if there is no cached services requested by ground terminal devices in the unmanned aerial vehicles, using a wireless backhaul link to download service programs from a remote end to the unmanned aerial vehicles through a base station, and performing computation based on the optimized unmanned aerial vehicle trajectory and the optimized unmanned aerial vehicle resource allocation on the unmanned aerial vehicles.


In some specific embodiments, referring to FIG. 1 and FIG. 2, this embodiment provides a multi UAV assisted mobile edge computing MEC system, which includes a base station, K of rotor UAVs and M of ground terminal devices, K={1, 2, . . . , K} and M={1, 2, . . . , M} are sets of UAVs and ground terminal devices, respectively. Each UAV is equipped with a small server that provides computing and caching services for ground terminal devices. The unmanned aerial vehicle cache services based on popularity, while terminal devices use random caching to cache services.


In some embodiments, step S1 includes:

    • S11. an access method between the ground terminal devices and the unmanned aerial vehicles adopts a closest distance access, when the ground terminal devices are within a coverage range of the unmanned aerial vehicles, the nearest unmanned aerial vehicle provides services; setting Mk as the number of the ground terminal devices served by the unmanned aerial vehicle k;
    • S12. a request probability of service s from the ground terminal devices m is Pms, and a request probability matrix P for all ground terminal devices are:






P
=

(




p
11







p

1

S


















p

M

1








p
MS




)







    • S13. obtaining local popularity psk based on the request probability pms of services from the ground terminal devices m










p
s
k

=





m


M
k





p
ms





"\[LeftBracketingBar]"


M
k



"\[RightBracketingBar]"









    • S14. since there is no coupling of content deployment between the unmanned aerial vehicles, in order to improve a hit ratio of caching services of the unmanned aerial vehicles, service programs with high local popularity are cached in the unmanned aerial vehicles.





In some embodiments, the method for building the optimization problem of minimizing the total time delay of request tasks of all ground terminal devices includes:

    • due to a covering problem of the base station, the ground terminal devices in a coverage area are not capable to directly communicate with the base station (BS); the base station is connected to a cloud center through a wired fiber-optic link, while the unmanned aerial vehicles communicate with the base station through a wireless backhaul link; assuming that a front-end and a backhaul link operate on different frequency bands, the wireless backhaul link capacity from each unmanned aerial vehicle to the base station (BS) is Rb, for the front-end link, the ground terminal devices within the coverage range of each unmanned aerial vehicle adopts orthogonal frequency division multiple access, and the bandwidth is evenly distributed among a plurality of ground terminal devices; assuming that the total bandwidth of uplink/downlink communication is B, the bidirectional wireless communication spectrum bandwidth from the unmanned aerial vehicle k to the ground terminal devices are B/|Mk|, wherein Mk is the total number of users served by the unmanned aerial vehicle k;
    • the horizontal position coordinate of the unmanned aerial vehicle k is Qk=(xk, yk), the height is fixed, and the horizontal position coordinate of the ground terminal devices m is Qm=(xm, ym); distance between the ground terminal devices m and the unmanned aerial vehicle k is Rk,m=√{square root over ((xk−xm)2+(yk−ym)2)}, the channel gain between the ground terminal devices m and the unmanned aerial vehicle k is








h

k
,
m


=


h
0



H
2

+

R

k
,
m

2




,






    •  h0 is the channel gain when the reference distance d0=1, and H is the flight altitude of each unmanned aerial vehicle; assuming that the bidirectional channel gain between the ground terminal devices m and the unmanned aerial vehicle k is the same, the uplink rate and downlink rate between the ground terminal devices m and the unmanned aerial vehicle k are rm,kup and rm,kdown, respectively:









{





r

m
,
k


u

p


=


B



"\[LeftBracketingBar]"


M
k



"\[RightBracketingBar]"






log
2

(

1
+



h

k
,
m




p
m



N
0



)









r

m
,
k


d

o

w

n


=


B



"\[LeftBracketingBar]"


M
k



"\[RightBracketingBar]"






log
2

(

1
+



h

k
,
m




p
k



N
0



)












    • wherein, pm is the transmission power of the ground terminal devices m, pk is the transmission power allocated by the unmanned aerial vehicle k to the ground terminal devices m, and N0 is the noise power of the receiver;

    • the local computing time is











t
m
l

=


C
m


f
m



,






    •  and the energy consumption of the ground terminal devices for local computing is Eml=κfm2Cm, wherein, κ is the coefficient that depends on the chip structure, fm is the computing power of the ground terminal devices, and Cm is the number of CPU cycles required for the computing task of the ground terminal devices;

    • the ground terminal devices are selectively offloaded onto the unmanned aerial vehicle for computation, and the time for task upload to the unmanned aerial vehicle is











t

m
,
k

u

=


l
m


r

m
,
k

up



;






    •  the energy consumption for task upload is Em,ku=pmtm,ku, the time for task computation is











t

m
,
k

e

=


C
m


f

k
,
m




,






    •  and the energy consumption for task computation is Em,ke=κ(fk,m)2Cm; wherein, lm is the size of the input data for the ground terminal devices m, fk,m is the computing power of the unmanned aerial vehicle k on the ground terminal devices m; if the maximum computing power of the unmanned aerial vehicle k is Fkmax, then














m
=
1

M


f

k
,
m





F
k
max


;






    • when local computing is selected but the ground terminal devices has not cached the corresponding service, the download time of the ground terminal devices from the unmanned aerial vehicle to the corresponding service is











t

k
,
s

sfw

=


c
s


r

m
,
k

down



,






    •  wherein cs is the size of the service s program; the energy consumption of the unmanned aerial vehicle k sending services s to the ground terminal devices m is Ek,m,ssfw=tk,ssfw·pk;

    • if there is no service program corresponding to the user request task in the unmanned aerial vehicle, then the corresponding service needs to be downloaded remotely through the base station, and the download time for the service s is











t

b

a

c

k


=


c
s


R
b



;






    • if the ground terminal devices m selects local computing, the total time delay Tm,kl of local computing is:

      Tm,kl=em,stml(1−em,s)bm,k(tk,ssfw+tml)

    • wherein, bm,k∈{0,1} is whether the ground terminal devices m is connected to the unmanned aerial vehicle k, 1 indicates in access, and 0 indicates not in access; em,s∈{0,1}denotes whether the ground terminal devices m are caching services s, 1 indicates caching, 0 indicates no caching;

    • the total energy consumption Em,kl for the local computing on the ground terminal devices m for the tasks is:

      Em,kl=em,sEml+(1−em,s)bk,m(Eml+Ek,m,ssfw)

    • the total time Tm,ke,l for computing tasks of the ground terminal devices m to be executed on the unmanned aerial vehicle k is:

      Tm,ke,l=(1−em,s)bk,m(1−ak,s)(tback+tk,ssfw)

    • wherein, ak,s∈{0,1} indicates whether the unmanned aerial vehicles k are caching services, 1 indicates caching, and 0 indicates no caching;

    • the total energy consumption Em,ke,l of computing tasks of the ground terminal devices m executed on the unmanned aerial vehicles k is:

      Em,ke,l=(1−em,s)bk,mEk,m,ssfw

    • if the ground terminal devices m selects computation offloading, the computing time Tm,ke,uav of computing tasks of the ground terminal devices m on the unmanned aerial vehicle k is:

      Tm,ke,uav=bk,m[tm,ku+tm,ke+(1−ak,s)tback]

    • the energy consumption Em,ke,uav of the ground terminal devices m for computing tasks on the unmanned aerial vehicle k is:

      Em,ke,uav=bk,mEm,ke

    • wherein, cm,k∈{0,1} indicates whether the computing tasks of the ground terminal devices m are offloaded to the unmanned aerial vehicles;

    • the total time delay Tm of completing tasks requested by the ground terminal devices m:










T
m

=





K


k
=
1




(

1
-

c

m
,
k



)



(


T

m
,
k

l

+

T

m
,
k


e
,
l



)



+




K


k
=
1




c

m
,
k




T

m
,
k


e
,

u

a

v












    • total energy consumption Em of the ground terminal devices m:










E
m

=





K


k
=
1




(

1
-

c

m
,
k



)



E

m
,
k

l



+




K


k
=
1




c

m
,
k




E

m
,
k

u










    • total energy consumption Ek of the unmanned aerial vehicle k:










E
k

=





m
=
1

M



(

1
-

c

m
,
k



)



E

m
,
k


e
,
l




+




m
=
1

M



c

m
,
k





E

m
,
k


e
,
uav


.








In some embodiments, in step S3, a optimization problem P1 of minimizing the total time delay of request tasks of all ground terminal devices includes:






P

1
:

min

B
,
F
,
C
,
Q






m
=
1

M


T
m














s
.
t
.

C


1
:


T
m




D
m
max


,



m

M


,








C

2
:


E
m




E
m
max


,




m

M


,








C

3
:


E
k




E
k
max


,




k

K


,








C

4
:





m
=
1

M


f

k
,
m






F
k
max


,




m

M


,



k

K


,








C

5
:


c

m
,
k





b

m
,
k



,




m

M


,



k

K


,








C

6
:





k
=
1

K


b

m
,
k




=
1

,



m

M


,



k

K


,








C

7
:





m
=
1

M


b

m
,
k






N
k
max


,




m

M


,



k

K


,








C

8
:






Q
k

-

Q
l




2




d
m
2


,




k

K


,

k

l

,








C

9
:



b

m
,
k


(

R

k
,
m


)




R
k
max


,




m

M


,



k

K


,







C

10
:


c

m
,
k



,


a

k
,
s


,


b

m
,
k


,



e

m
,
s




{

0
,
1

}



,




m

M


,



k

K


,









    • wherein, C1 denotes the time delay limit; Tm denotes a total time delay for completing tasks requested by the ground terminal devices m; K={1, 2, . . . , K} and M={1, 2, . . . , M} denote sets of the unmanned aerial vehicles (UAV) and the ground terminal devices, respectively; B=(bm,k∈{0,1}:m∈M, k∈K) denotes a set of whether the ground terminal devices m are accessed to the unmanned aerial vehicle k; F=(fk,m:m∈M, k∈K) denotes a set of computing capabilities of the unmanned aerial vehicles k on the ground terminal devices m c=(cm,k∈{0,1}: m∈M, k∈K) denotes a set of whether the computing tasks of the ground terminal devices m are offloaded to the unmanned aerial vehicles; Q=(Qk:k∈K) denotes horizontal position coordinates of the unmanned aerial vehicles k; Dmmax denotes a maximum time delay of the tasks of the ground terminal devices m, ∀ denotes any mathematical symbol; C2 denotes an user energy consumption limit, Em denotes total energy consumption of the ground terminal devices m, Emmax denotes maximum energy consumption of the ground terminal devices m; C3 denotes an energy consumption limit of the unmanned aerial vehicles, Ek denotes total energy consumption of the unmanned aerial vehicles k, Ekmax denotes maximum energy consumption of the unmanned aerial vehicles; C4 denotes resource limitation allocated to the unmanned aerial vehicles; fk,m denotes computing capabilities of the unmanned aerial vehicles k towards the ground terminal devices m; Fkmax denotes the maximum computing capabilities of the unmanned aerial vehicles k; C5 denotes a causality constraint, namely offloading computation is performed after the ground terminal devices are accessed to the unmanned aerial vehicles; cm,k∈{0,1} denotes whether the computing tasks of the ground terminal devices m are offloaded onto the unmanned aerial vehicles, wherein 1 indicates offloading and 0 indicates not offloading; bm,k∈{0,1} denotes whether the ground terminal devices m are accessed to the unmanned aerial vehicles k, wherein 1 indicates in access, and 0 indicates not in access; C6 specifies that one ground terminal device is only capable to access to one unmanned aerial vehicle; C7 denotes a maximum number of the ground terminal devices that the unmanned aerial vehicle is capable to access, Nkmax is a maximum number of the ground terminal devices being capable to access; C8 is a maximum distance limit between the unmanned aerial vehicles, horizontal position coordinates of the unmanned aerial vehicles k is Qk=(xk, yk); Ql is horizontal position coordinates of the unmanned aerial vehicles l; dm is a maximum distance between the unmanned aerial vehicles; C9 specifies that the ground terminal devices are only capable to be connected to the unmanned aerial vehicles within the maximum range of the unmanned aerial vehicles; Rk,m is distance between the ground terminal devices m and the unmanned aerial vehicle k; Rkmax is a maximum communication range of the unmanned aerial vehicles; C10 indicates that cm,k, ak,s, bm,k, em,s are binary variables; ak,s∈{0,1} indicates whether the unmanned aerial vehicles are caching services s, wherein 1 indicates caching, 0 indicates no caching; em,s∈{0,1} denotes whether the ground terminal devices m are caching services s wherein 1 denotes caching, and 0 denotes no caching.





In some embodiments, in step S3, utilizing a pre built optimization problem that minimizes a total time delay of request tasks of all ground terminal devices to optimize to obtain a task offloading decision, an unmanned aerial vehicle resource allocation, and an unmanned aerial vehicle trajectory, including:

    • S31. solving the task offloading decision problem when the resource allocation and the unmanned aerial vehicle trajectory are determined to the optimization problem P1 transformed into P1.1:







P

1.1
:

min
C





m
=
1

M



T
m




s
.
t
.

C


1



,

C

2

,

C

3

,

C

5







    • slacking binary variables cm,k into continuous variables {tilde over (c)}m,k, namely 0≤cm,k≤1, wherein:











T
˜

m

=





k
=
1

K



{



(

1
-


c
˜


m
,
k



)

[



e

m
,
s




t
m
l


+


(

1
-

e

m
,
s



)



b

m
,
k





a

k
,
s


(


t

k
,
s

sfw

+

t
m
l


)


+


(

1
-

e

m
,
s



)



(

1
-

a

k
,
s



)




b

k
,
m


(


t

m
,
k

u

+

t

m
,
k

e

+

t
back


)



]

+



c
˜


m
,
k





b

k
,
m


[


t

m
,
k

u

+

t

m
,
k

e

+


(

1
-

a

k
,
s



)



t

b

a

c

k




]



}




E
˜

m



=






k
=
1

K



(

1
-


c
˜


m
,
k



)



{



e

m
,
s




E
m
l


+


(

1
-

e

m
,
s



)

[



a

k
,
s




b

k
,
m




E
m
l


+


(

1
-

a

k
,
s



)



b

k
,
m




E

m
,
k

u



]


}



+




k
=
1

K




c
˜


m
,
k




p

m
,
k




t

m
,
k

u




E
˜

k




=





m
=
1

M



(

1
-


c
˜


m
,
k



)



{


(

1
-

e

m
,
s



)




b

k
,
m


[



(

1
-

a

k
,
s



)



E

m
,
k

e


+


a

k
,
s




E

k
,
m
,
s

sfw



]


}



+




m
=
1

M




c
˜


m
,
k




b

k
,
m




E

m
,
k

e












    • wherein, {tilde over (T)}m, {tilde over (E)}m and {tilde over (E)}k denote the total time delay of completing tasks requested by the ground terminal devices m after slacking, the total energy consumption of the ground terminal devices m, and the total energy consumption of unmanned aerial vehicles k, respectively;

    • then, the optimization problem P1.1 is transformed into P1.2:










P

1.2

:


min

B
,
F
,
C
,
Q






m
=
1

M



T
˜

m














s
.
t
.



T
˜

m





D
m
max


,




m

M


,









E
˜

m




E
m
max


,




m

M











E
˜

k




E
k
max


,




k

K


,









c
˜


m
,
k





b

m
,
k



,




m

M


,



k

K


,









    • the optimization problem P1.2 is a linear programming problem with linear constraints, therefore, the optimization problem P1.2 is a convex problem, and using CVX in the MATLAB toolbox to solve to obtain an optimal solution Cm,k.

    • S32. in the case that the task offloading decision and the unmanned aerial vehicle trajectory are determined, solving the unmanned aerial vehicle resource allocation problem, based on this, the optimization problem P1 is transformed into P1.3:









P

1.3


:
min

F






m
=
1

M


T
m














s
.
t
.

C


1
:


T
m




D
m
max


,




m

M


,








C

3
:


E
k




E
k
max


,




k

K


,








C

4
:





m
=
1

M


f

k
,
m






F
k
max


,




m

M


,



k

K


,









    • using Lagrangian constraint condition and KKT constraint condition to solve, two constraint factors λm, vm are introduced, λm>0, vm>0, and the Lagrangian formula is defined as:










L

(


f

k
,
m


,

λ
m

,

V
m


)

=





M


m
=
1



T
m


+




M


m
=
1




λ
m

(




κ

(

f

k
,
m


)

2



C
m


-

E
k
max


)


+




M


m
=
1




v
m

(


f

k
,
m


-

F
k
max


)









    • since the optimization problem P1.3 is a convex problem, by applying the KKT condition,













(

L

(


f

k
,
m


,

λ
m

,

v
m


)

)





f

k
,
m




=
0






    •  is obtained and












λ
m

(





m
=
1

M




κ

(

f

k
,
m


)

2



C
m



-

E
k
max


)

=
0

,




v
m

(





m
=
1

M


f

k
,
m



-

F
k
max


)

=
0

;







    •  solving to obtain an optimal unmanned aerial vehicle resource allocations fk,m*:











f

k
,
m

*

=



E
k
max


κ


C
m





;






    • S33. in the case that the task offloading decision and the unmanned aerial vehicle resource allocation are determined, solving the unmanned aerial vehicle trajectory problem, the optimization problem P1 is transformed into the optimization problem P1.4:









P

1.4
:

min
Q





m
=
1

M


T
m














s
.
t
.

C


1
:


T
m




D
m
max


,



m

M


,








C

2
:


E
m




E
m
max


,




m

M


,








C

3
:


E
k




E
k
max


,




k

K


,








C

8
:






Q
k

-

Q
l




2




d
m
2


,



k

K


,

k

l

,









    • the transmission time delay of the ground terminal devices in the objective function, the energy consumption of the unmanned aerial vehicle multicast software in the constraint, and the energy consumption of task upload are non convex, but for variable Qk, the formula ∥Qk−Ql2 is convex, thus, the continuous convex approximation method is applied; because the first-order Taylor expansion at any point of any convex function is the global lower bound of the convex function, the convex function is approximated by the first-order Taylor expansion; the transmission rate rm,kup from the ground terminal devices to the unmanned aerial vehicles is approximately:











r

m
,
k


u

p


=



B



"\[LeftBracketingBar]"


M
k



"\[RightBracketingBar]"






log
2

(

1
+



h

k
,
m




p
m



N
0



)





B

|

M
k

|




log

2









(


1
+



h
0



p
m




(


H
2

+






Q
k

[
i
]

-

Q
l




2


)



N
0



-



Z

m
,
k


[
i
]



(






Q
k

-

Q
l




2

-






Q
k

[
i
]

-

Q
l




2


)



=

r

k
,
m


l

b










    • wherein,












Z

m
,
k


[
i
]

=



G

m
,
k




log
2


e



(


G

m
,
k


+

H
2

+






Q
k

[
i
]

-

Q
m




2


)



(


H
2

+






Q
k

[
i
]

-

Q
m




2


)




,



G

m
,
k


=



h
0



p

k
,
m




N
0



;







    • wherein, Qk[i] is the i-th Taylor expansion for the unmanned aerial vehicle trajectory, Zm,k[i] and Gm,k are intermediate parameters; when introducing intermediate parameters rk,mlb into the optimization problem P1.4, P1.4 is a standard convex optimization problem, using CVX in the MATLAB toolbox to solve to obtain an optimal solution Qk;





S34. through iterative solving the three sub-problems P1.2, P1.3, and P1.4, and updating the corresponding solutions to obtain the solution for P1: task offloading decision, the unmanned aerial vehicle resource allocation, and the unmanned aerial vehicle trajectory.


Due to the fact that the object value of P1 does not increase after each iteration and the optimal value is also bounded, S34 ensures convergence after a finite number of iterations.


Embodiment 2

In the second aspect, based on Embodiment 1, this embodiment provides an unmanned aerial vehicle assisted task offloading and resource allocation device based on service caching, including a processor and a storage medium.


The storage medium is configured to store instructions.


The processor is configured to operate according to the instructions to execute the method according to Embodiment 1.


Embodiment 3

In the third aspect, based on Embodiment 1, this embodiment provides a device comprising:

    • a memory;
    • a processor;
    • and
    • a computer program;
    • wherein, the computer program is stored in the memory and configured to be executed by the processor to implement the method described in Embodiment 1.


Embodiment 4

In the fourth aspect, based on Embodiment 1, this embodiment provides a storage medium on which a computer program is stored, and the method described in Embodiment 1 is implemented when the computer program is executed by a processor.


The skilled person in the art should understand that embodiments of this disclosure may be provided as methods, systems, or computer program products. Therefore, this disclosure may take the form of a complete hardware embodiment, a complete software embodiment, or a embodiment in combination of software and hardware. Moreover, this disclosure may take the form of a computer program product implemented on one or more computer available storage media (including but not limited to magnetic disk memory, CD-ROM, optical storage, etc.) containing computer available program code.


This disclosure is described with reference to the flowchart and/or block diagram of the method, device (system), and computer program product according to the embodiments of this disclosure. It should be understood that each process and/or block in the flowchart and/or block diagram, and the combination of processes and/or blocks in the flowchart and/or block diagram are implemented by computer program instructions. These computer program instructions can be provided to processors of general-purpose computers, specialized computers, embedded processors, or other programmable data processing devices to generate a machine that generates instructions executed by processors of computers or other programmable data processing devices to implement the functions specified in one or more processes and/or blocks in a flowchart or block diagram.


These computer program instructions can also be stored in computer-readable memory that can guide computers or other programmable data processing devices to work in a specific way, so that the instructions stored in the computer-readable memory generate a manufacturing product including an instruction device that implements the functions specified in one or more processes and/or blocks of a flowchart or block diagram.


These computer program instructions can also be loaded onto computers or other programmable data processing devices to perform a series of operational steps on the computer or other programmable devices to generate computer-implemented processing. The instructions executed on the computer or other programmable devices provide steps for implementing the functions specified in one or more processes and/or blocks in a flowchart or block diagram.


The above is only a preferred embodiment of the present disclosure. It should be understood that for ordinary skilled person in the art, several improvements and modifications can be made without departing from the principles of the present disclosure, and these improvements and modifications should also be considered as the scope of the present disclosure.

Claims
  • 1. An unmanned aerial vehicle assisted task offloading and resource allocation method based on service caching, comprising: S1. obtaining local popularity based on historically required services of ground terminal devices, selectively caching the required services, by unmanned aerial vehicles, based on the local popularity to obtain a caching solution of the unmanned aerial vehicles;S2. applying a random caching service to obtain a caching solution of the ground terminal devices;S3. in response to task requests from the ground terminal devices, based on the caching solution of the unmanned aerial vehicles and the caching solution of the ground terminal devices, utilizing a pre built optimization problem that minimizes a total time delay of the request tasks of all ground terminal devices to optimize, so as to obtain a task offloading decision, an unmanned aerial vehicle resource allocation, and an unmanned aerial vehicle trajectory;S4. determining, according to the optimized task offloading decision, tasks requested by the ground terminal devices to perform computation on a local terminal device, or offload the tasks to the corresponding unmanned aerial vehicles for computation; flying the unmanned aerial vehicles according to the optimized unmanned aerial vehicle trajectory; and allocating resources to the ground terminal devices based on the optimized unmanned aerial vehicle resource allocation.
  • 2. The unmanned aerial vehicle assisted task offloading and resource allocation method based on service caching according to claim 1, wherein the step S4 comprises: S41. performing computation to the tasks requested by the ground terminal devices on the local terminal device;S411. if the required services has been cached in the ground terminal devices, performing task computation directly;S412. if the ground terminal devices do not cache the required services, but there are services requested by the ground terminal devices cached on the unmanned aerial vehicles, then based on the optimized unmanned aerial vehicle trajectory and the optimized unmanned aerial vehicle resource allocation, downloading a corresponding service program from the unmanned aerial vehicles to the ground terminal devices, and performing computing services on the ground terminal devices directly;S413. if the ground terminal devices do not cache the required services and the unmanned aerial vehicles do not cache the services requested by the ground terminal devices, using a wireless backhaul link to download the service program from a remote end to the unmanned aerial vehicles through a base station; based on the optimized unmanned aerial vehicle trajectory and the optimized unmanned aerial vehicle resource allocation, downloading the corresponding service program from the unmanned aerial vehicles to the ground terminal devices, and performing computing services on the ground terminal devices directly.
  • 3. The unmanned aerial vehicle assisted task offloading and resource allocation method based on service caching according to claim 1, wherein step S4 comprises: S42. offloading, by the ground terminal devices, the tasks to the corresponding unmanned aerial vehicles for computation;S421. services requested by the ground terminal devices are cached in the unmanned aerial vehicles, performing computation directly on the unmanned aerial vehicles based on the optimized unmanned aerial vehicle trajectory and the optimized unmanned aerial vehicle resource allocation;S422. if there is no cached services requested by ground terminal devices in the unmanned aerial vehicles, using a wireless backhaul link to download service programs from a remote end to the unmanned aerial vehicles through a base station, and performing computation based on the optimized unmanned aerial vehicle trajectory and the optimized unmanned aerial vehicle resource allocation on the unmanned aerial vehicles.
  • 4. The unmanned aerial vehicle assisted task offloading and resource allocation method based on service caching according to claim 1, wherein step S1 comprises: S11. an access method between the ground terminal devices and the unmanned aerial vehicles applies a closest distance access, when the ground terminal devices are within a coverage range of the unmanned aerial vehicles, the nearest unmanned aerial vehicle provides services; setting Mk as the number of the ground terminal devices served by the unmanned aerial vehicles k;S12. a request probability of services from the ground terminal devices m is pms, and a request probability matrix p for all ground terminal devices are:
  • 5. The unmanned aerial vehicle assisted task offloading and resource allocation method based on service caching according to claim 1, wherein, in step S3, a optimization problem P1 of minimizing the total time delay of request tasks of all ground terminal devices comprises:
  • 6. The unmanned aerial vehicle assisted task offloading and resource allocation method based on service caching according to claim 5, wherein the method for building the optimization problem of minimizing the total time delay of request tasks of all ground terminal devices comprises: due to a covering problem of the base station, the ground terminal devices in a coverage area are not capable to directly communicate with the base station; the base station is connected to a cloud center through a wired fiber-optic link, while the unmanned aerial vehicles communicate with the base station through a wireless backhaul link; assuming that a front-end and a backhaul link operate on different frequency bands, a wireless backhaul link capacity from each unmanned aerial vehicle to the base station is Rb, for the front-end link, the ground terminal devices within a coverage range of each unmanned aerial vehicle adopts orthogonal frequency division multiple access, and the bandwidth is evenly distributed among a plurality of the ground terminal devices; assuming that a total bandwidth of uplink/downlink communication is B, then a bidirectional wireless communication spectrum bandwidth from the unmanned aerial vehicles k to the ground terminal devices are B/|Mk|, wherein Mk is a total number of users served by the unmanned aerial vehicles k;horizontal position coordinates of the unmanned aerial vehicle k is Qk=(xk, yk), a height is fixed, and horizontal position coordinates of the ground terminal devices m is Qm=(xm, ym); the distance between the ground terminal devices m and the unmanned aerial vehicles k is Rk,m=√{square root over ((xk−xm)2+(yk−ym)2)}, a channel gain between the ground terminal devices m and the unmanned aerial vehicles k is
  • 7. The unmanned aerial vehicle assisted task offloading and resource allocation method based on service caching according to claim 5, wherein in step S3, utilizing a pre built optimization problem that minimizes a total time delay of request tasks of all ground terminal devices to optimize to obtain a task offloading decision, an unmanned aerial vehicle resource allocation, and an unmanned aerial vehicle trajectory, comprising S31. solving the task offloading decision problem when the resource allocation and the unmanned aerial vehicle trajectory are determined to the optimization problem P1 transformed into P1.1:
  • 8. An unmanned aerial vehicle assisted task offloading and resource allocation device based on service caching, comprising a processor and a storage medium; the storage medium is configured to store instructions; andthe processor is configured to operate according to the instructions to execute the method according to claim 1.
  • 9. An electronic device, comprising: a memory;a processor;anda computer program;wherein, the computer program is stored in the memory and configured to be executed by the processor to implement the method according to claim 1.
  • 10. A non-transitory storage medium, wherein a computer program is stored on the storage medium, and the method according to claim 1 is implemented when the computer program is executed by a processor.
Priority Claims (1)
Number Date Country Kind
202310433665.0 Apr 2023 CN national
CROSS-REFERENCE

This application is a continuation of International Application No. PCT/CN2023/120756 with a filling date of Sep. 22, 2023, designating the United states, now pending, and further claims to the benefit of priority from Chinese Application No. 202310433665.0 with a filing date of Apr. 21, 2022. The content of the aforementioned applications, including any intervening amendments thereto, are incorporated herein by reference.

US Referenced Citations (1)
Number Name Date Kind
20230026782 Sha et al. Jan 2023 A1
Foreign Referenced Citations (7)
Number Date Country
113378369 Sep 2021 CN
113873660 Dec 2021 CN
115174481 Oct 2022 CN
115659803 Jan 2023 CN
115833907 Mar 2023 CN
115988543 Apr 2023 CN
20210026171 Mar 2021 KR
Non-Patent Literature Citations (4)
Entry
English translation of CN 115659803 A (Year: 2023).
English translation of CN 1158333907 A (Year: 2023).
English translation of CN 115988543 A (Year: 2023).
Internation Search Report of PCT/CN2023/120756, Mailed Nov. 2, 2023.
Continuations (1)
Number Date Country
Parent PCT/CN2023/120756 Sep 2023 WO
Child 18539186 US