A D2D computing offloading method based on Stackelberg game

Through the D2D computing offloading method of Stackelberg game, game theory is used to optimize task offloading decisions, which solves the problems of cellular network congestion and limited computing power, and realizes efficient collaboration of computing resources and improvement of task processing efficiency.

CN115567983BActive Publication Date: 2025-09-09NANJING UNIV OF POSTS & TELECOMM
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202211127620.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-09-16
Publication Date
2025-09-09
Estimated Expiration
2042-09-16

AI Technical Summary

Technical Problem

In scenarios where mobile users are densely distributed, cellular network access becomes severely congested, and terminal devices with limited computing power find it difficult to efficiently process computing tasks. Existing technologies fail to effectively utilize surrounding idle computing resources for collaborative computing.

Method used

A D2D computing offloading method based on Stackelberg game is adopted. The service price of collaborative computing and task offloading decision are determined through game theory. Idle users are introduced to participate in collaborative computing, and a utility function model of leadership and subordinate layers is formed to optimize the task offloading process.

Benefits of technology

It effectively reduces user expenses, improves task processing efficiency, makes full use of idle terminal resources around it, is highly flexible, and makes task offloading decisions through optimization, thus reducing overall expenses.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115567983B_ABST
    Figure CN115567983B_ABST
Patent Text Reader

Abstract

The present invention discloses a D2D computing offloading method based on Stackelberg game, which introduces a computing offloading mechanism targeting the interest competition relationship among users in the collaborative computing process. The overhead of both idle users and busy users with task computing needs is taken into consideration at the same time, and the utility functions of both parties are defined respectively. On this basis, a task offloading model based on Stackelberg game is formed, in which users with idle computing resources are the leadership layer, and their utility is defined as the benefit obtained after deducting the energy consumption overhead in the collaborative computing; users with computing task requirements are the subordinate layer, and their utility is defined as the benefit obtained after completing the task after deducting the delay, energy consumption and offloading costs. Based on D2D and NOMA technology, users with computing tasks can offload the tasks in a partially offloaded manner to multiple terminals with idle computing resources for collaborative processing to improve task processing efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of communication technology, and in particular to a D2D computing offloading method based on Stackelberg game. Background Art

[0002] In recent years, the development of smart devices has provided convenient services for people's lives, and a vast number of applications have enriched people's lives. However, as end users enjoy these conveniences, a series of computing tasks also arise, which undoubtedly poses a major challenge to terminal devices with limited computing power and resources. To improve the service experience of mobile users, Mobile Edge Computing (MEC) technology has emerged.

[0003] Mobile edge technology deploys edge computing servers with abundant computing resources to user access networks, avoiding the congestion and latency that can occur on core network links in traditional mobile cloud computing (MCC) models. Users can offload tasks generated by their terminal devices to edge computing servers as needed, reducing task processing latency and device energy consumption. In scenarios where mobile users are densely distributed, cellular network access can also experience severe congestion. Summary of the Invention

[0004] Device-to-device (D2D) communication is considered a key technology to facilitate edge computing. Computation offloading based on D2D communication fully considers the collaborative nature of mobile users. In scenarios where smart terminals are densely distributed, busy users with computing tasks can offload them directly to nearby terminals with idle computing resources, alleviating pressure on cellular networks to a certain extent. Furthermore, reasonable task offloading decisions and resource allocation schemes can effectively reduce user overhead.

[0005] The purpose of the present invention is to propose a (device to device) D2D computing offloading method based on the (Stackelberg) game. This method introduces a new computing offloading mechanism to encourage idle users with idle computing resources to participate in collaborative computing in response to the interest competition relationship between users in the collaborative computing process.

[0006] Technical solution: To solve the above technical problems, the technical solution adopted by the present invention is:

[0007] In a first aspect, a D2D computing offloading method based on Stackelberg game is provided, comprising:

[0008] The following steps are performed at a preset cycle. Users determine the service price of collaborative computing and task offloading decisions based on game theory, improving task processing efficiency while balancing the interests of both parties in the collaborative computing.

[0009] Step S1. Each busy user detects idle users within the device-to-device D2D communication range, with itself as the center. Users with task computing requirements are marked as busy users, and users with idle computing resources are marked as idle users.

[0010] Step S2. Each busy user sends an uninstall request to the detected idle user;

[0011] Step S3. Each idle user receives the uninstall request, determines the utility function of the idle user based on the energy consumption coefficient of the local device and the remaining battery power of the device, constructs an idle user optimization problem, and makes an initial quotation for the service price;

[0012] Step S4. After receiving the initial quote information of the idle user's service price, the busy user determines the busy user's utility function based on its own task attributes, the computing power of the idle terminal, and the computing power of the local terminal, and constructs the busy user optimization problem P1;

[0013] Step S5. Solve the busy user optimization problem P1 to obtain the optimal offloading decision. Based on the optimal offloading decision, the busy user returns the task offloading amount information to the corresponding idle user;

[0014] Step S6. After receiving the task offload information returned by the busy user, each idle user adjusts its own service price based on the idle user optimization problem and returns the adjusted service price to the corresponding busy user;

[0015] Step S7. Repeat steps S5 and S6 until the Stackelberg game equilibrium is reached between the busy users and the idle users;

[0016] Step S8. Each idle user calculates the corresponding utility based on the task offload amount requested by each busy user, determines the final service object from multiple busy users, and establishes a connection with it;

[0017] Step S9. Each busy user negotiates the service price with the idle user who establishes a connection, and re-executes steps S5-S7 to determine the final service price for the idle user and the uninstall decision for the busy user;

[0018] Step S10: Each busy user performs task offloading according to the offloading decision determined in step S9.

[0019] In some embodiments, in step S3, the idle user determines its own utility function, including:

[0020] S31. The energy consumption coefficient of the device of idle user i is expressed as μ i Indicates that the initial energy of the device battery is expressed as e i 0 Indicates that the energy consumption E of idle user i in collaborative computing i Expressed as:

[0021]

[0022] The initial energy of a given device Under the condition that the greater the energy consumption of the device in the collaborative computing, the greater the price paid by the user; under the condition that the task volume C n,i In this case, the more initial energy the device has, the less the cost the user pays;

[0023] S32. The service price of idle user i is ρ i The amount of tasks that busy user n offloads to idle user i is represented by C n,i The utility of idle user i consists of the reward obtained and the energy consumed. The utility function U of idle user i is i Defined as:

[0024] U i =ρ i C n,i -η i E i

[0025] where η i is the weighted coefficient, which reflects the importance that idle users attach to terminal energy consumption.

[0026] In some embodiments, in step S4, determining the utility function of the busy user and constructing the busy user optimization problem P1 include:

[0027] S41. Assume that the set of busy users is N = {1,2,...,N}. Each busy user detects idle users within the D2D communication range with itself as the center. Assume that there are I n Idle users, using set I n ={1,2,...,I n} represents the channel gain g between busy user n and idle user i n,i for:

[0028]

[0029] Where k is the channel fading coefficient, d n,i is the distance between busy user n and idle user i, λ is the channel fading exponent;

[0030] S42. For each busy user n, the set I is calculated by the channel gain. n Sort the idle users in so that:

[0031]

[0032] S43. Use C n represents the amount of data for the computational task of busy user n, and the maximum tolerable delay of the task is use Indicates the uninstall flag of busy user n, where x n,i =1 means user n offloads the task to idle user i, otherwise x n,i = 0; the amount of tasks that busy user n offloads to each idle user is represented by a set The amount of tasks that busy user n processes locally is expressed as Use f n represents the task processing capacity of the local device of a busy user n, represents the task processing capability of each idle user, t n,tran represents the data transmission delay under the NOMA transmission scheme of non-orthogonal multiple access technology; the overall task delay of busy user n Expressed as:

[0033]

[0034] S44. The amount of tasks that are offloaded to each idle user according to the busy user n. And the transmission delay t n,tran , the minimum transmit power of busy user n Expressed as:

[0035]

[0036] Where W is the available channel bandwidth for D2D communication, n0 is the power spectrum density of the channel white noise, and m is the number of idle users; x n,m is the uninstall flag of busy user n regarding idle user m, where x n,m =1 means user n offloads the task to idle user m, otherwise x n,m =0;C n,m The amount of tasks offloaded from busy user n to idle user m;

[0037] S45. Energy consumption E of busy user n n It consists of two parts: local computing energy consumption and transmission task energy consumption, which can be expressed as:

[0038]

[0039] where μn The local device energy consumption coefficient of busy user n is related to the structure of the device CPU;

[0040] S46. Service fees that busy users need to pay to idle users Expressed as:

[0041]

[0042] S47. Taking into account the overhead of task delay, device energy consumption, and offloading costs, the utility function U of busy user n is n Defined as:

[0043]

[0044] Among them, V n represents the direct benefit generated by task processing to user n, α n , β n and λ n They are the weighting factors of delay overhead, energy overhead, and cost overhead, respectively, reflecting the importance users attach to different overheads;

[0045] S48. Considering the interaction between busy users and idle users, the service price decision of each idle user is given. Based on this, the optimization problem P1 for busy user n is described as:

[0046]

[0047] The constraints are:

[0048] (1)

[0049] (2)

[0050] (3)

[0051] (4)

[0052] in is the maximum transmission power of user n’s local device, and the maximum tolerable delay of the task is Constraint (1) indicates that the amount of data offloaded by user n to each idle user cannot exceed the total data amount of the user task; constraint (2) indicates that the total delay of processing the task cannot exceed the delay limit of the task itself; constraint (3) indicates that the transmission power of the device cannot exceed the maximum power limit.

[0053] In some embodiments, in step S5, solving the busy user optimization problem P1 to obtain the optimal offloading decision includes:

[0054] S51. Based on the total delay of the task Based on the definition of , the constraint (2) in the busy user optimization problem P1 is transformed to obtain an equivalent expression:

[0055]

[0056]

[0057] in Represents set I n Any idle user i in satisfies the above conditions;

[0058] Introduce an auxiliary variable θ so that θ satisfies the following conditions:

[0059]

[0060] The equivalent expression of optimization problem P1 is obtained as optimization problem P2:

[0061] minθ

[0062] The constraints are:

[0063] (1)

[0064] (2)

[0065] (3)

[0066] (4)

[0067] (5)

[0068] (6)

[0069] (7)

[0070] S52. Split the optimization problem P2 obtained in step S51 into a lower optimization problem P21 and an upper optimization problem P22; the lower optimization problem P21 is a given transmission delay t n,tran , solve the remaining variables of the optimization problem to obtain the optimal value of θ under different transmission delay schemes And the corresponding task delay decision and task offloading decisions The upper optimization problem P22 determines the best task transmission delay solution based on the solution results fed back by the lower layer.

[0071] The lower-level optimization problem P21 is expressed as

[0072]

[0073] The constraints are:

[0074] (1)

[0075] (2)

[0076] (3)

[0077] (4)

[0078] (5)

[0079] (6)

[0080] The top optimization problem P22 is expressed as (F_top)θ * :

[0081]

[0082] The constraints are:

[0083] (1)

[0084] where θ * represents the optimal auxiliary variable θ; express The auxiliary variable θ value under ;

[0085] On the basis of the hierarchical structure, the transmission delay is traversed and the feedback results of the lower layer are obtained. Determine the optimal task transmission delay for busy user n Make

[0086] S53. Given a transmission delay t n,tran In the case of , the range of θ is (-V n +α n t n,tran ,0]; split the lower optimization problem P21 into the second lower optimization problem P211 and the second upper optimization problem P212; the second upper optimization problem P212 is in the interval (-V n +α n t n,tran ,0], the second lower optimization problem P211 is given In the case of , determine whether a set of task delays can be found as well as The solution of , makes the feasible region of the lower optimization problem P21 non-empty;

[0087] The second lower-level optimization problem P211 is expressed as:

[0088]

[0089] The constraints are:

[0090] (1)

[0091] (2)

[0092] (3)

[0093] (4)

[0094] (5)

[0095] The second upper-level optimization problem P212 is expressed as:

[0096]

[0097] The constraints are:

[0098] (1)θ∈(-V n +α n t n,tran ,0]

[0099] S54. For interval Task transmission delay scheme within t n,tran , according to step S52 and step S53, the optimal value of θ under different transmission delay schemes is solved right Compare and determine the optimal task transmission delay and the corresponding according to and Solve the underlying optimization problem P21 to obtain the optimal task offloading decision for busy users and optimal delay decision

[0100] In some embodiments, in step S6, each idle user adjusts its own service price, including:

[0101] S61. Each idle user in the leadership team independently determines their service unit price, resulting in competition among idle users. Quotations between idle users are semi-cooperative. This means that when setting their own service prices, idle users cannot maliciously lower their own prices. Instead, they can proactively try to raise their own prices, provided this behavior increases their own profits. Under these rules, each idle user can ensure a good profit.

[0102] The optimization problem for idle user i is expressed as:

[0103]

[0104] Constraints:

[0105] (1)U i (ρ i )>0

[0106] (2)

[0107] in, Representative Set I n The optimal service price of other idle users other than idle user i, represents the optimal service price of idle user i; constraint (1) indicates that the service unit price of idle user i guarantees effective benefits; constraint (2) indicates that the optimal service price of idle user i will not infringe the interests of other idle users, that is, to prevent malicious price reduction;

[0108] S62. Considering that idle users with stronger computing power or closer to busy users have greater potential value to busy users, for a certain busy user n, the corresponding idle user set I n The idle users in the list are sorted according to the idle computing resources of their devices, and this order is used as the order of the idle users' bids;

[0109] S63. During its own bidding phase, idle user i first attempts to increase its bid within each iteration period τ, namely:

[0110] ρ i (τ)=ρ i (τ-1)+Δρ

[0111] where ρ i (τ) is the service unit price of idle user i in this iteration cycle, ρ i (τ-1) is the service unit price of idle user i in the previous iteration cycle. In the initialization phase, let is the initial service unit price determined by idle user i; Δρ is the price increase step size;

[0112] Each time the service unit price is changed, step S5 is executed and the income U of the idle user i is recalculated based on the feedback of the task offloading amount of the busy user. i (τ), if the price increase operation is beneficial, the price increase step will be expanded, and the idle user i will continue to perform the price increase operation; if the profit decreases, that is, U i (τ)<U i (τ-1), idle user i will be the service price ρ in the previous iteration cycle i (τ-1) and the service price ρ of the current iteration cycle i (τ) performs a binary search method. After the search stops, the idle user i determines the final service unit price in the current quotation cycle. The quotation will be stopped and the quotation right will be handed over to the next idle user in sequence.

[0113] In some embodiments, in step S7, the method for determining whether a Stackelberg game equilibrium is reached between busy users and idle users includes:

[0114] S71. represents the optimal task transmission delay of busy user n, represents the optimal delay decision of busy user n, represents the optimal task offloading decision of busy user n. In all solution cases, the Stackelberg game equilibrium is expressed as The equilibrium point satisfies the following conditions: (1)

[0115] (2) Condition (1) means that given the optimal decision of each idle user, Can maximize the utility of busy users; Condition (2) means that given the optimal decision of busy users, Ability to maximize the utility of idle users;

[0116] S72. When the service price of all idle users does not change for multiple consecutive cycles, the service price of each idle user at this time is recorded as According to step S5, solve the corresponding as well as

[0117] In some embodiments, in step S8, the method for each idle user to determine the final service object includes:

[0118] S81. For each idle user i, assume that it receives M unloading requests from busy users, 0≤M≤N; after steps S3-S7, determine M corresponding service prices, and use ρ i,nrepresents the service price of idle user i for busy user n; according to the definition of idle user utility function, in ρ i,n with C n,i Based on the utility of the corresponding idle user i, the idle user i selects the busy user who can maximize its own utility, marks the busy user as the final service object, and establishes a connection with it.

[0119] In a second aspect, the present invention provides a D2D computing offloading device based on Stackelberg game, comprising a processor and a storage medium;

[0120] The storage medium is used to store instructions;

[0121] The processor is configured to operate according to the instructions to execute the steps of the method according to the first aspect.

[0122] In a third aspect, the present invention provides a storage medium having a computer program stored thereon, which implements the steps of the method described in the first aspect when executed by a processor.

[0123] Beneficial effects: Compared with the prior art, the method of the present invention introduces a new computing offloading mechanism targeting the interest competition relationship among users in the collaborative computing process, so as to encourage idle users with idle computing resources to participate in collaborative computing. This method takes into account the expenses of both idle users and busy users with task computing needs, and defines the utility functions of both parties respectively. On this basis, a task offloading model based on Stackelberg game is formed, in which users with idle computing resources are leaders (Leaders), and their utility is defined as the benefits obtained after deducting energy consumption expenses in collaborative computing; users with computing task requirements are followers (Followers), and their utility is defined as the benefits obtained after completing the task after deducting delay, energy consumption and offloading costs. In order to avoid unfair competition between idle users, the present invention proposes a semi-cooperative bidding rule. Based on D2D and NOMA technologies, users with computing tasks can offload tasks in a partially offloaded manner to multiple terminals with idle computing resources for collaborative processing to improve task processing efficiency. It has the following advantages:

[0124] 1. The present invention comprehensively considers various overhead issues of the unloading party and the service party during the computational offloading process. The overhead of the unloading party includes task delay, equipment energy consumption and service fee overhead, and the overhead of the service party is the energy consumption overhead of the equipment.

[0125] 2. This invention jointly considers the interests of both the offloading party and the service provider during computation offloading. The offloading party's interest is defined as the revenue gained from task completion after deducting latency, energy consumption, and offloading fees. The service provider's interest is defined as the revenue gained from collaborative computing after deducting energy consumption. This balance is achieved through game theory.

[0126] 3. Unlike traditional computing task offloading methods, this method fully utilizes the computing resources of idle terminals in the surrounding area and offloads computing tasks to multiple terminal devices at the same time. It has high flexibility, and the task offloading decision is the result of solution optimization, which can effectively reduce the user's overall overhead. BRIEF DESCRIPTION OF THE DRAWINGS

[0127] Figure 1 is a schematic diagram of a process provided according to an embodiment of the present invention;

[0128] Figure 2 2 is a schematic diagram of a system model provided according to an embodiment of the present invention. DETAILED DESCRIPTION

[0129] The present invention will be further described below in conjunction with the accompanying drawings. The following embodiments are only used to more clearly illustrate the technical solutions of the present invention and are not intended to limit the scope of protection of the present invention.

[0130] In the description of the present invention, "several" means more than one, "plurality" means more than two, "greater than," "less than," and "exceed" are understood to exclude the number itself, while "above," "below," and "within" are understood to include the number itself. The use of "first" and "second" in the description is solely for the purpose of distinguishing technical features and should not be construed as indicating or implying relative importance, implicitly specifying the number of the indicated technical features, or implicitly specifying the order of the indicated technical features.

[0131] In the description of the present invention, reference to terms such as "one embodiment," "some embodiments," "illustrative embodiments," "examples," "specific examples," or "some examples" means that the specific features, structures, materials, or characteristics described in conjunction with the embodiment or example are included in at least one embodiment or example of the present invention. In this specification, the exemplary expressions of the above terms do not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in any one or more embodiments or examples.

[0132] Example 1

[0133] A D2D computing offloading method based on Stackelberg game, comprising:

[0134] The following steps are performed at a preset cycle. Users determine the service price of collaborative computing and task offloading decisions based on game theory, improving task processing efficiency while balancing the interests of both parties in the collaborative computing.

[0135] Step S1. Each busy user detects idle users within the device-to-device D2D communication range, with itself as the center. Users with task computing requirements are marked as busy users, and users with idle computing resources are marked as idle users.

[0136] Step S2. Each busy user sends an uninstall request to the detected idle user;

[0137] Step S3. Each idle user receives the uninstall request, determines the utility function of the idle user based on the energy consumption coefficient of the local device and the remaining battery power of the device, constructs an idle user optimization problem, and makes an initial quotation for the service price;

[0138] Step S4. After receiving the initial quote information of the idle user's service price, the busy user determines the busy user's utility function based on its own task attributes, the computing power of the idle terminal, and the computing power of the local terminal, and constructs the busy user optimization problem P1;

[0139] Step S5. Solve the busy user optimization problem P1 to obtain the optimal offloading decision. Based on the optimal offloading decision, the busy user returns the task offloading amount information to the corresponding idle user;

[0140] Step S6. After receiving the task offload information returned by the busy user, each idle user adjusts its own service price based on the idle user optimization problem and returns the adjusted service price to the corresponding busy user;

[0141] Step S7. Repeat steps S5 and S6 until the Stackelberg game equilibrium is reached between the busy users and the idle users;

[0142] Step S8. Each idle user calculates the corresponding utility based on the task offload amount requested by each busy user, determines the final service object from multiple busy users, and establishes a connection with it;

[0143] Step S9. Each busy user negotiates the service price with the idle user who establishes a connection, and re-executes steps S5-S7 to determine the final service price for the idle user and the uninstall decision for the busy user;

[0144] Step S10: Each busy user performs task offloading according to the offloading decision determined in step S9.

[0145] In some embodiments, reference Figure 1 、 Figure 2This embodiment provides a D2D computing offloading method based on the Stackelberg game. This method uses game theory to balance the interests of all parties involved in collaborative computing, thereby encouraging more users with idle computing resources to join the collaborative computing process. The maximum D2D communication distance between local terminals is 50 meters.

[0146] In step S3, the idle user determines its own utility function, including:

[0147] S31. The energy consumption coefficient of the device of idle user i is expressed as μ i (in Mb / J), the initial energy of the device battery (in J) indicates that the energy consumption of idle user i in collaborative computing can be expressed as:

[0148]

[0149] The initial energy of a given device Under the condition that the more energy the device consumes in collaborative computing, the greater the price the user pays. n,i In this case, the more initial energy the device has, the smaller the cost to the user.

[0150] S32. The service price of idle user i is ρ i The amount of tasks that busy user n offloads to idle user i is represented by C n,i (in Mb), then the utility of idle user i consists of the reward obtained and the energy consumed. The utility function of idle user i is defined as:

[0151] U i =ρ i C n,i -η i E i

[0152] where η i is the weighted coefficient, which reflects the importance that idle users attach to terminal energy consumption.

[0153] In step S4, the utility function of the busy user is determined, and the busy user optimization problem P1 is constructed, including:

[0154] S41. Assume that the set of busy users is N = {1,2,...,N}. Each busy user detects idle users within the D2D communication range with itself as the center. Assume that there are I n Idle users, using set I n ={1,2,...,I n} represents the channel gain g between busy user n and idle user i n,i for:

[0155]

[0156] Where k is the channel fading coefficient, d n,i is the distance between busy user n and idle user i, λ is the channel fading exponent;

[0157] S42. For each busy user n, the set I is calculated by the channel gain. n Sort the idle users in so that:

[0158]

[0159] S43. Use C n (in Mb) represents the data size of the computing task of busy user n, and the maximum tolerable delay of the task is use Indicates the uninstall flag of busy user n, where x n,i =1 means user n offloads the task to idle user i, otherwise x n,i = 0; the amount of tasks that busy user n offloads to each idle user is represented by a set The amount of tasks that busy user n processes locally is expressed as Use f n (in Mb / s) represents the task processing capacity of the local device of a busy user n, represents the task processing capability of each idle user, t n,tran represents the data transmission delay under the NOMA transmission scheme of non-orthogonal multiple access technology; the overall task delay of busy user n Expressed as:

[0160]

[0161] S44. The amount of tasks that are offloaded to each idle user according to the busy user n. And the transmission delay t n,tran , the minimum transmit power of busy user n Expressed as:

[0162]

[0163] Where W is the available channel bandwidth for D2D communication, n0 is the power spectrum density of the channel white noise, and m is the number of idle users; x n,m is the uninstall flag of busy user n regarding idle user m, where x n,m =1 means user n offloads the task to idle user m, otherwise x n,m =0;C n,m The amount of tasks offloaded from busy user n to idle user m;

[0164] S45. Energy consumption E of busy user n n It consists of two parts: local computing energy consumption and transmission task energy consumption, which can be expressed as:

[0165]

[0166] where μ n (in J / Mb) represents the local device energy consumption coefficient of busy user n, which is related to the structure of the device CPU;

[0167] S46. Service fees that busy users need to pay to idle users Expressed as:

[0168]

[0169] S47. Taking into account the overhead of task delay, device energy consumption, and offloading costs, the utility function U of busy user n is n Defined as:

[0170]

[0171] Among them, V n represents the direct benefit generated by task processing to user n, α n , β n and λ n They are the weighting factors of delay overhead, energy overhead, and cost overhead, respectively, reflecting the importance users attach to different overheads;

[0172] S48. Considering the interaction between busy users and idle users, the service price decision of each idle user is given. Based on this, the optimization problem P1 for busy user n is described as:

[0173]

[0174] The constraints are:

[0175] (1)

[0176] (2)

[0177] (3)

[0178] (4)

[0179] in is the maximum transmission power of user n’s local device, and the maximum tolerable delay of the task is Constraint (1) indicates that the amount of data offloaded by user n to each idle user cannot exceed the total data amount of the user task; constraint (2) indicates that the total delay of processing the task cannot exceed the delay limit of the task itself; constraint (3) indicates that the transmission power of the device cannot exceed the maximum power limit.

[0180] In some embodiments, in step S5, solving the busy user optimization problem P1 to obtain the optimal offloading decision includes:

[0181] S51. Based on the total delay of the task Based on the definition of , the constraint (2) in the busy user optimization problem P1 is transformed to obtain an equivalent expression:

[0182]

[0183]

[0184] in Represents set I n Any idle user i in satisfies the above conditions;

[0185] Introduce an auxiliary variable θ so that θ satisfies the following conditions:

[0186]

[0187] The equivalent expression of optimization problem P1 is obtained as optimization problem P2:

[0188] minθ

[0189] The constraints are:

[0190] (1)

[0191] (2)

[0192] (3)

[0193] (4)

[0194] (5)

[0195] (6)

[0196] (7)

[0197] S52. Split the optimization problem P2 obtained in step S51 into a lower optimization problem P21 and an upper optimization problem P22; the lower optimization problem P21 is a given transmission delay t n,tran, solve the remaining variables of the optimization problem to obtain the optimal value of θ under different transmission delay schemes tn,tran And the corresponding task delay decision and task offloading decisions The upper optimization problem P22 determines the best task transmission delay solution based on the solution results fed back by the lower layer.

[0198] The lower-level optimization problem P21 is expressed as

[0199]

[0200] The constraints are:

[0201] (1)

[0202] (2)

[0203] (3)

[0204] (4)

[0205] (5)

[0206] (6)

[0207] The top optimization problem P22 is expressed as (F_top)θ * :

[0208]

[0209] The constraints are:

[0210] (2)

[0211] where θ * represents the optimal auxiliary variable θ; express The auxiliary variable θ value under ;

[0212] On the basis of the hierarchical structure, the transmission delay is traversed and the feedback results of the lower layer are obtained. Determine the optimal task transmission delay for busy user n Make

[0213] S53. Given a transmission delay t n,tran In the case of , the range of θ is (-V n +α n t n,tran,0]; split the lower optimization problem P21 into the second lower optimization problem P211 and the second upper optimization problem P212; the second upper optimization problem P212 is in the interval (-V n +α n t n,tran ,0], the second lower optimization problem P211 is given In the case of , determine whether a set of task delays can be found as well as The solution of , makes the feasible region of the lower optimization problem P21 non-empty;

[0214] The second lower-level optimization problem P211 is expressed as:

[0215]

[0216] The constraints are:

[0217] (1)

[0218] (2)

[0219] (3)

[0220] (4)

[0221] (5)

[0222] The second upper-level optimization problem P212 is expressed as:

[0223]

[0224] The constraints are:

[0225] (1)θ∈(-V n +α n t n,tran ,0]

[0226] S54. For interval Task transmission delay scheme within t n,tran , according to step S52 and step S53, the optimal value of θ under different transmission delay schemes is solved right Compare and determine the optimal task transmission delay and the corresponding according to and Solve the underlying optimization problem P21 to obtain the optimal task offloading decision for busy users and optimal delay decision

[0227] In some embodiments, in step S6, each idle user adjusts its own service price, including:

[0228] S61. Each idle user in the leadership team independently determines their service unit price, leading to competition among idle users. If these users were to conduct distributed bidding without market rules, they would engage in vicious competition and harm their own interests. Therefore, this embodiment considers adopting a semi-cooperative bidding mechanism among idle users. Specifically, when setting their own service prices, idle users cannot maliciously lower their prices. Instead, they can actively try to increase their prices, provided that this behavior can increase their own profits. Under these rules, each idle user can ensure good profits.

[0229] The optimization problem for idle user i is expressed as:

[0230]

[0231] Constraints:

[0232] (1)U i (ρ i )>0

[0233] (2)

[0234] in, Representative Set I n The optimal service price of other idle users other than idle user i, represents the optimal service price of idle user i; constraint (1) indicates that the service unit price of idle user i guarantees effective benefits; constraint (2) indicates that the optimal service price of idle user i will not infringe the interests of other idle users, that is, to prevent malicious price reduction;

[0235] S62. Considering that idle users with stronger computing power or closer to busy users have greater potential value to busy users, for a certain busy user n, the corresponding idle user set I n The idle users in the list are sorted according to the idle computing resources of their devices, and this order is used as the order of the idle users' bids;

[0236] S63. During its own bidding phase, idle user i first attempts to increase its bid within each iteration period τ, namely:

[0237] ρ i (τ)=ρ i (τ-1)+Δρ

[0238] where ρi (τ) is the service unit price of idle user i in this iteration cycle, ρ i (τ-1) is the service unit price of idle user i in the previous iteration cycle. In the initialization phase, let is the initial service unit price determined by idle user i; Δρ is the price increase step size;

[0239] Each time the service unit price is changed, step S5 is executed and the income U of the idle user i is recalculated based on the feedback of the task offloading amount of the busy user. i (τ), if the price increase operation is beneficial, the price increase step will be expanded, and the idle user i will continue to perform the price increase operation; if the profit decreases, that is, U i (τ)<U i (τ-1), idle user i will be the service price ρ in the previous iteration cycle i (τ-1) and the service price ρ of the current iteration cycle i (τ) performs a binary search method. After the search stops, the idle user i determines the final service unit price in the current quotation cycle. The quotation will be stopped and the quotation right will be handed over to the next idle user in sequence.

[0240] In some embodiments, in step S7, the method for determining whether a Stackelberg game equilibrium is reached between busy users and idle users includes:

[0241] S71. represents the optimal task transmission delay of busy user n, represents the optimal delay decision of busy user n, represents the optimal task offloading decision of busy user n. In all solution cases, the Stackelberg game equilibrium is expressed as The equilibrium point satisfies the following conditions: (1)

[0242] (2) Condition (1) means that given the optimal decision of each idle user, Can maximize the utility of busy users; Condition (2) means that given the optimal decision of busy users, Ability to maximize the utility of idle users;

[0243] S72. When the service price of all idle users does not change for multiple consecutive cycles, the service price of each idle user at this time is recorded as According to step S5, solve the corresponding as well as

[0244] In some embodiments, in step S8, the method for each idle user to determine the final service object includes:

[0245] S81. For each idle user i, assume that it receives M unloading requests from busy users, 0≤M≤N; after steps S3-S7, determine M corresponding service prices, and use ρ i,n represents the service price of idle user i for busy user n; according to the definition of idle user utility function, in ρ i,n with C n,i Based on the utility of the corresponding idle user i, the idle user i selects the busy user who can maximize its own utility, marks the busy user as the final service object, and establishes a connection with it.

[0246] Example 2

[0247] In a second aspect, this embodiment provides a D2D computing offloading device based on Stackelberg game, including a processor and a storage medium;

[0248] The storage medium is used to store instructions;

[0249] The processor is configured to operate according to the instructions to execute the steps of the method according to embodiment 1.

[0250] Example 3

[0251] In a third aspect, this embodiment provides a storage medium on which a computer program is stored. When the computer program is executed by a processor, the steps of the method described in Example 1 are implemented.

[0252] Those skilled in the art will appreciate that the embodiments of the present application can be provided as methods, systems, or computer program products. Therefore, the present application can adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the present application can adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to magnetic disk storage, CD-ROM, optical storage, etc.) that contain computer-usable program code.

[0253] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the steps in the process. Figure 1 a process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0254] These computer program instructions may also be stored in a computer readable memory that can direct a computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 a process or multiple processes and / or boxes Figure 1 The function specified in one or more boxes.

[0255] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operational steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing the instructions executed on the computer or other programmable device for implementing the process. Figure 1 a process or multiple processes and / or boxes Figure 1 A step that specifies a function in one or more boxes.

[0256] The embodiments of the present invention are described in detail above with reference to the accompanying drawings. However, the present invention is not limited to the above embodiments. Various changes can be made within the scope of knowledge possessed by ordinary technicians in this field without departing from the spirit of the present invention.

Claims

1. A D2D computing offloading method based on Stackelberg game, characterized in that: include: The following steps are performed at a preset period, and users determine the service price of collaborative computing and task offloading decisions based on game theory: Step S1. Each busy user detects idle users within the device-to-device D2D communication range, with itself as the center. Users with task computing requirements are marked as busy users, and users with idle computing resources are marked as idle users. Step S2. Each busy user sends an uninstall request to the detected idle user; Step S3. Each idle user receives the uninstall request, and determines the utility function of the idle user based on the energy consumption coefficient of the local device and the remaining battery power of the device, constructs the idle user optimization problem, and makes an initial quotation for the service price; where the utility function U of idle user i is i Defined as: U i =ρ i C n,i -or i E i Among them, ρ i represents the service price of idle user i, C n,i represents the amount of tasks that busy user n offloads to idle user i, η i is the weighted coefficient, which reflects the importance of idle users to terminal energy consumption. i represents the energy consumption of idle user i in collaborative computing; Step S4. After receiving the initial quote information of the idle user's service price, the busy user determines the busy user's utility function based on its own task attributes, the computing power of the idle terminal, and the computing power of the local terminal, and constructs the busy user optimization problem P1; Step S5. Solve the busy user optimization problem P1 to obtain the optimal offloading decision. Based on the optimal offloading decision, the busy user returns the task offloading amount information to the corresponding idle user; Step S6. After receiving the task offload information returned by the busy user, each idle user adjusts its own service price based on the idle user optimization problem and returns the adjusted service price to the corresponding busy user; Step S7. Repeat steps S5 and S6 until the Stackelberg game equilibrium is reached between the busy users and the idle users; Step S8. Each idle user calculates the corresponding utility based on the task offload amount requested by each busy user, determines the final service object from multiple busy users, and establishes a connection with it; Step S9. Each busy user negotiates the service price with the idle user to establish a connection, and re-executes steps S5-S7 to determine the final service price of the idle user and the unloading decision of the busy user; Step S10: Each busy user performs task offloading according to the offloading decision determined in step S9.

2. A D2D computing offloading method based on Stackelberg game according to claim 1, characterized in that: The energy consumption coefficient of the device of idle user i is expressed as μ i Indicates that the initial energy of the device battery is Indicates that the energy consumption E of idle user i in collaborative computing i Expressed as:

3. The D2D computing offloading method based on Stackelberg game according to claim 1, characterized in that: In step S4, the utility function of the busy user is determined, and the busy user optimization problem P1 is constructed, including: S41. Assume that the set of busy users is N = {1,2,...,N}. Each busy user detects idle users within the D2D communication range with itself as the center. Assume that there are I n Idle users, using set I n ={1,2,...,I n } represents the channel gain g between busy user n and idle user u n,i for: Where k is the channel fading coefficient, d n,i is the distance between busy user n and idle user i, λ is the channel fading exponent; S42. For each busy user n, the set I is calculated by the channel gain. n Sort the idle users in so that: S43. Use C n represents the amount of data for the computational task of busy user n, and the maximum tolerable delay of the task is use Indicates the uninstall flag of busy user n, where x n,i =1 means user n offloads the task to idle user i, otherwise x n,i = 0; the amount of tasks that busy user n offloads to each idle user is represented by a set The amount of tasks that busy user n processes locally is expressed as Use f n represents the task processing capacity of the local device of a busy user n, represents the task processing capability of each idle user, t n,tran represents the data transmission delay under the NOMA transmission scheme of non-orthogonal multiple access technology; the overall task delay of busy user n Expressed as: S44. The amount of tasks that are offloaded to each idle user according to the busy user n. And the transmission delay t n,tran , the minimum transmit power of busy user n Expressed as: Where W is the available channel bandwidth for D2D communication, n0 is the power spectrum density of the channel white noise, and m is the number of idle users; x n,m is the uninstall flag of busy user n regarding idle user m, where x n,m =1 means user n offloads the task to idle user m, otherwise x n,m =0;C n,m The amount of tasks offloaded from busy user n to idle user m; S45. Energy consumption E of busy user n n It consists of two parts: local computing energy consumption and transmission task energy consumption, which can be expressed as: where μ n The local device energy consumption coefficient of busy user n is related to the structure of the device CPU; S46. Service fees that busy users need to pay to idle users Expressed as: S47. Taking into account the overhead of task delay, device energy consumption, and offloading costs, the utility function U of busy user n is n Defined as: Among them, V n represents the direct benefit generated by task processing to user n, α n , β n and λ n They are the weighting factors of delay overhead, energy overhead, and cost overhead, respectively, reflecting the importance users attach to different overheads; S48. Considering the interaction between busy users and idle users, the service price decision of each idle user is given. Based on this, the optimization problem P1 for busy user n is described as: The constraints are: (1) (2) (3) (4) in is the maximum transmission power of user n’s local device, and the maximum tolerable delay of the task is Constraint (1) indicates that the amount of data offloaded by user n to each idle user cannot exceed the total data amount of the user task; constraint (2) indicates that the total delay of processing the task cannot exceed the delay limit of the task itself; constraint (3) indicates that the transmission power of the device cannot exceed the maximum power limit.

4. The D2D computing offloading method based on Stackelberg game according to claim 1, characterized in that: In step S5, solving the busy user optimization problem P1 to obtain the optimal offloading decision includes: S51. Based on the total delay of the task Based on the definition of , the constraint (2) in the busy user optimization problem P1 is transformed to obtain an equivalent expression: in Represents set I n Any idle user i in satisfies the above conditions; Introduce an auxiliary variable θ so that θ satisfies the following conditions: The equivalent expression of optimization problem P1 is obtained as optimization problem P2: minθ The constraints are: (1) (2) (3) (4) (5) (6) (7) S52. Split the optimization problem P2 obtained in step S51 into a lower optimization problem P21 and an upper optimization problem P22; the lower optimization problem P21 is a given transmission delay t n,tran , solve the remaining variables of the optimization problem to obtain the optimal value of θ under different transmission delay schemes And the corresponding task delay decision and task offloading decisions The upper optimization problem P22 determines the best task transmission delay solution based on the solution results fed back by the lower layer. The lower-level optimization problem P21 is expressed as The constraints are: (1) (2) (3) (4) (5) (6) The top optimization problem P22 is expressed as (F_top)θ * : The constraints are: (1) where θ * represents the optimal auxiliary variable θ; express The auxiliary variable θ value under ; On the basis of the hierarchical structure, the transmission delay is traversed and the feedback results of the lower layer are obtained. Determine the optimal task transmission delay for busy user n Make S53. Given a transmission delay t n,tran In the case of , the range of θ is (-V n +α n t n,tran ,0]; split the lower optimization problem P21 into the second lower optimization problem P211 and the second upper optimization problem P212; the second upper optimization problem P212 is in the interval (-V n +α n t n,tran ,0], the second lower optimization problem P211 is given In the case of , determine whether a set of task delays can be found as well as The solution of , makes the feasible region of the lower optimization problem P21 non-empty; The second lower-level optimization problem P211 is expressed as: The constraints are: (1) (2) (3) (4) (5) The second upper-level optimization problem P212 is expressed as: The constraints are: (1)θ∈-V n +α n t n,tran ,0 S54. For the interval (0, ) task transmission delay scheme t n,tran , according to step S52 and step S53, the optimal value of θ under different transmission delay schemes is solved right Compare and determine the optimal task transmission delay and the corresponding according to and Solve the underlying optimization problem P21 to obtain the optimal task offloading decision for busy users and optimal delay decision 5. The D2D computing offloading method based on Stackelberg game according to claim 1, characterized in that: In step S6, each idle user adjusts its own service price, including: S61. Each idle user in the leadership team independently determines their service unit price, resulting in competition among idle users. Quotations between idle users are semi-cooperative. This means that when setting their own service prices, idle users cannot maliciously lower their own prices. Instead, they can proactively try to raise their own prices, provided this behavior increases their own profits. Under these rules, each idle user can ensure a good profit. The optimization problem for idle user i is expressed as: Constraints: (1)U i (r i )>0 (2) in, Representative Set I n The optimal service price of other idle users other than idle user i, represents the optimal service price of idle user i; constraint (1) indicates that the service unit price of idle user i guarantees effective benefits; constraint (2) indicates that the optimal service price of idle user i will not infringe the interests of other idle users, that is, to prevent malicious price reduction; S62. Considering that idle users with stronger computing power or closer to busy users have greater potential value to busy users, for a certain busy user n, the corresponding idle user set I n The idle users in the list are sorted according to the idle computing resources of their devices, and this order is used as the order of the idle users' bids; S63. During its own bidding phase, idle user i first attempts to increase its bid within each iteration period τ, namely: r i (t)=r i (t-1)+Dr where ρ i (τ) is the service unit price of idle user i in this iteration cycle, ρ i (τ-1) is the service unit price of idle user i in the previous iteration cycle. In the initialization phase, let is the initial service unit price determined by idle user i; Δρ is the price increase step size; Each time the service unit price is changed, step S5 is executed and the income U of the idle user i is recalculated based on the feedback of the task offloading amount of the busy user. i (τ), if the price increase operation is beneficial, the price increase step will be expanded, and the idle user i will continue to perform the price increase operation; if the profit decreases, that is, U i (τ) i (τ-1), idle user i will be the service price ρ in the previous iteration cycle i (τ-1) and the service price ρ of the current iteration cycle i (τ) performs a binary search method. After the search stops, the idle user i determines the final service unit price in the current quotation cycle. The quotation will be stopped and the quotation right will be handed over to the next idle user in sequence.​ 6. The D2D computing offloading method based on Stackelberg game according to claim 1, characterized in that: In step S7, the method for determining whether a Stackelberg game equilibrium is reached between busy users and idle users includes: S71. represents the optimal task transmission delay of busy user n, represents the optimal delay decision of busy user n, represents the optimal task offloading decision of busy user n. In all solution cases, the Stackelberg game equilibrium is expressed as The equilibrium point of the Stackelberg game equilibrium satisfies the following conditions: (1) (2) Condition (1) means that given the optimal decision of each idle user, Can maximize the utility of busy users; Condition (2) means that given the optimal decision of busy users, Ability to maximize the utility of idle users; S72. When the service price of all idle users does not change for multiple consecutive cycles, the service price of each idle user at this time is recorded as According to step S5, solve the corresponding as well as 7. The D2D computing offloading method based on Stackelberg game according to claim 1, characterized in that: In step S8, the method for each idle user to determine the final service object includes: S81. For each idle user i, assume that it receives M unloading requests from busy users, 0≤M≤N; after steps S3-S7, determine M corresponding service prices, and use ρ i,n represents the service price of idle user i for busy user n; according to the definition of idle user utility function, in ρ i,n with C n,i Based on the utility of the corresponding idle user i, the idle user i selects the busy user who can maximize its own utility, marks the busy user as the final service object, and establishes a connection with it.

8. A D2D computing offloading device based on Stackelberg game, characterized in that: including processors and storage media; The storage medium is used to store instructions; The processor is configured to operate according to the instructions to execute the steps of the method according to any one of claims 1 to 7.

9. A storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 7 are implemented.

Citation Information

Patent Citations

  • Distributed pricing method and system for vehicle application unloading oriented to edge calculation

    CN112799833A