A method and system for joint optimization of task offloading and resource allocation based on SAGIN
By employing a joint optimization method for task offloading and resource allocation based on SAGIN, and utilizing low-Earth orbit satellite constellation networks and deep reinforcement learning, the problems of transmission delay and queue stability in inter-satellite communication are solved, achieving efficient resource utilization and computational performance optimization of satellite networks.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- XI AN JIAOTONG UNIV
- Filing Date
- 2024-07-04
- Publication Date
- 2026-05-01
AI Technical Summary
In existing technologies, inter-satellite communication suffers from problems such as transmission delay, dynamic and random nature leading to queue stability and short-term offloading decision coupling issues during mission offloading and resource allocation, making it difficult to effectively utilize satellite resources, especially when terrestrial network coverage is insufficient.
A joint optimization method for task offloading and resource allocation based on SAGIN is adopted. By utilizing a low-orbit satellite constellation network and combining matching game algorithm and deep reinforcement learning, a low-complexity mapping strategy is constructed to optimize task offloading and resource allocation. Through the optimal association between UAV and IoT devices, dynamic task offloading and resource allocation are achieved.
It improves the overall resource capacity of the satellite network, reduces the resource consumption of individual satellites, ensures network stability and computing performance, optimizes dynamic task offloading and resource allocation, and solves the coupling problem between queue stability and short-term decision-making.
Smart Images

Figure CN118900462B_ABST
Abstract
Description
A joint optimization method and system for task offloading and resource allocation based on SAGIN Technical Field
[0001] This invention belongs to the field of wireless communication technology, specifically relating to a joint optimization method and system for task offloading and resource allocation based on SAGIN. Background Technology
[0002] Due to insufficient terrestrial network coverage, the integration of terrestrial and satellite networks has received increasing attention in recent years. The Space-Air-Ground Integrated Network (SAGIN) provides seamless and flexible network services for offloading computations from remote Internet of Things (IoT) devices. Unlike terrestrial networks, SAGIN requires comprehensive consideration of various factors such as channel conditions and satellite computing resource capacity. Therefore, an effective satellite IoT multi-task offloading framework needs to be designed to ensure reliable offloading quality, such as ultra-high data rates, low latency, and high reliability. Furthermore, to fully utilize available resources on satellites, the speed and reliability of inter-satellite links are leveraged to achieve inter-satellite cooperation. This not only increases system capacity and coverage but also reduces the resource consumption of individual satellites, improving the overall resource capacity of the satellite network. Based on this, the issue of inter-satellite cooperation has been widely discussed. Although research on inter-satellite communication has yielded promising results, several challenges remain.
[0003] Most existing work uses satellites as relay tools; however, satellite-based onboard processing will be an indispensable paradigm for the future. Furthermore, the transmission latency between satellites and remote ground-based cloud servers is significant when offloading them. Moreover, the dynamic and random nature of task arrival and transmission leads to a vast state and action space due to satellite collaborative computing. The coupling problem between long-term constraints on queue stability and short-term offloading decisions is difficult to resolve. Summary of the Invention
[0004] The technical problem to be solved by this invention is to provide a joint optimization method and system for task offloading and resource allocation based on SAGIN, which addresses the shortcomings of the prior art. This method utilizes a low-orbit satellite constellation network to compensate for the limited capacity of each satellite. Under the conditions of ensuring network stability and average power constraints, it maximizes the network data processing capability and realizes dynamic task offloading, resource allocation and correlation control. This is used to solve the technical problem of the coupling between long-term constraints on queue stability and short-term offloading decisions.
[0005] The present invention adopts the following technical solution:
[0006] A joint optimization method for task offloading and resource allocation based on SAGIN includes the following steps:
[0007] S1. Collect task and scheduling information through the SAG-IoT system;
[0008] S2. Using the task data and scheduling information obtained in step S1, the optimal association between UAV and IoT devices is achieved based on the matching game algorithm, and the optimal decision is made for task offloading to maximize the computing performance of the SAG-IoT system.
[0009] S3. Based on the optimal association and task offloading optimal decision obtained in step S2, and to maximize the computational performance of the SAG-IoT system, an online offloading framework based on deep reinforcement learning is constructed, starting from the input... To the optimal action The low-complexity mapping strategy is based on repeated interactions between different modules and random environments, iterating and running sequentially to achieve joint optimization of task unloading and resource allocation.
[0010] Preferably, step S1 specifically includes:
[0011] When the task is processed by an IoT device, the amount of task completed is The latency of local computation is When unloaded to a UAV, the GS algorithm utilizes the preference lists of IoT devices and UAVs to achieve many-to-one matching. Assume the UAV travels at a fixed speed. and flight altitude Flight; the uplink uses orthogonal transmission, allowing multiple but limited IoT devices to offload tasks simultaneously;
[0012] If the task is offloaded to a satellite, the access satellite receives the task request from the UAV and makes a decision based on the current workload. If the computing resources of a single satellite are insufficient, the task is transmitted to the nearest CH via the satellite link. The CH then decides whether to compute the task or transfer it to CMs for collaborative computation. The uninstallation path is Total offloading delay in satellite networks Including transmission delay and propagation delay;
[0013] Total system energy consumption Including local computing power consumption and unloading energy consumption The virtual energy queue is composed of renew, and These are defined as the proportionality factor and the energy threshold, respectively.
[0014] When the average queue length over time Discrete-time queue Strongly stable, where the expectation is relative to random events in the system, including channel fading and task arrival, and according to Little's law, the average delay is proportional to the average queue length, and the data queue is converted into a finite processing delay per data.
[0015] Preferably, during the offloading to UAV process, the path loss of ground-UAV communication is minimized. for:
[0016]
[0017] in, Indicates IoT and distance, Indicates the carrier frequency. Represents the speed of light. and These represent the average additive loss generated at the top of the free space path loss for line-of-sight and non-line-of-sight links, respectively.
[0018] LoS and NLoS link probabilities and They are respectively:
[0019]
[0020]
[0021] in, and They represent Flight altitude and IoT devices and The horizontal distance between them , , and The value is determined by the environmental conditions;
[0022] Transmission rate of IoT-UAV link for:
[0023]
[0024] in, , , These represent bandwidth, transmission power, and noise power, respectively.
[0025] UAV processing unloading task time for:
[0026]
[0027] in, Indicates the total number of CPU cycles required. Indicates the IoT-UAV transmission rate. Indicates the size of the computation task;
[0028] During the unloading process to the satellite, With satellite The free path loss is:
[0029]
[0030] in, express With satellite distance, Indicates the carrier frequency;
[0031] The transmission rate of the UAV-satellite link is:
[0032]
[0033] in, , These are bandwidth and transmission power, respectively.
[0034] link The data rate in time slot t is:
[0035]
[0036] in, For satellite launch power, and These are the transmit antenna gain and the receive antenna gain, respectively. It is Boltzmann's constant. It is the total system noise temperature. This represents the ratio of received energy per bit to the noise density required. and These represent link margin and tilt range, respectively.
[0037] Preferably, a task is set. The uninstallation path is Total offloading delay in satellite networks for:
[0038]
[0039] in, Indicates task In the time slot During the period along from Uninstall to ; and Indicates along One-hop transmission capacity and propagation delay, This indicates the number of hops between satellites, generally speaking. , This indicates the size of the computation task.
[0040] Preferably, in step S2, when the future channel conditions and data arrival are unknown, task offloading is proposed. Association control and resource allocation The joint optimization problem P0, For unloading time slots, For power control, Lyapunov optimization is used to transform problem P0 into P1; P1 is decomposed into three independent sub-problems: SP1 is used to optimize the correlation control between IoT devices and UAVs, SP2 is used for local computing resource allocation, and SP3 is used for server resource allocation. When the offloading decision is fixed, the other sub-problems are solved in sequence.
[0041] Preferably, optimizing the association control between IoT devices and UAVs specifically involves:
[0042] From the list of IoT device preferences Select the most popular UAV. If there are vacancies in the selected UAV, match the pairs. Add directly ;
[0043] if Then IoT devices With current UAV Compare with all other matching devices; if it is worse than the worst-matched IoT device... Even better, and They will be exchanged;
[0044] Stable matching is achieved when the preference lists for all IoT devices and UAVs are empty or there are no blocking pairs.
[0045] Preferably, the local computing resource allocation SP2 is as follows:
[0046]
[0047] in, , Where V is the length of the task queue, and V is a fixed parameter. Indicates weight, This indicates the CPU cycle frequency allocated to IoT devices. Indicates the calculated density. Indicates system energy consumption. This represents the effective switched capacitor parameters related to the hardware architecture. Indicates the carrier frequency. This indicates that the computation task is processed locally. Represents a discrete-time queue. Indicates IoT devices The CPU cycle frequency in time slot t.
[0048] Preferably, the server resource allocation SP3 is as follows:
[0049]
[0050] in, , Where V is the length of the task queue, and V is a fixed parameter. Indicates weight, Indicates a given The optimal function, Indicates the uninstallation path. This represents the total energy consumption of the system. Indicates channel gain. This indicates that server resource allocation is being unloaded.
[0051] Preferably, in step S3, the low-complexity mapping strategy includes:
[0052] Participant module: Accepts input Output a set of candidate uninstallation actions. ;
[0053] Commentator module: Calculation And select the best uninstall action. ;
[0054] Strategy Update Module: Continuously improves the strategies in the participant module;
[0055] The queue module updates the system queues after performing an unload operation. ;
[0056] The participant module, commentator module, strategy update module, and queue module iterate and run sequentially through repeated interactions with the random environment.
[0057] Secondly, embodiments of the present invention provide a joint optimization system for task offloading and resource allocation based on SAGIN, comprising:
[0058] The collection module collects task and scheduling information through the SAG-IoT system;
[0059] The processing module utilizes task data and scheduling information to achieve the optimal association between UAV and IoT devices based on a matching game algorithm, and makes optimal decisions on task offloading to maximize the computing performance of the SAG-IoT system.
[0060] The optimization module, based on optimal association, optimal task offloading decision-making, and maximizing the computational performance of the SAG-IoT system, utilizes an online offloading framework built from input... To the optimal action The low-complexity mapping strategy is based on repeated interactions between different modules and random environments, iterating and running sequentially to achieve joint optimization of task unloading and resource allocation.
[0061] Thirdly, a computer device includes a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor, when executing the computer program, implements the steps of the above-described SAGIN-based task offloading and resource allocation joint optimization method.
[0062] Fourthly, embodiments of the present invention provide a computer-readable storage medium including a computer program, which, when executed by a processor, implements the steps of the above-described joint optimization method for task offloading and resource allocation based on SAGIN.
[0063] Compared with the prior art, the present invention has at least the following beneficial effects:
[0064] A joint optimization method for task offloading and resource allocation based on SAGIN is proposed, which fully utilizes available resources on satellites and leverages the speed and reliability of ISL (Independent Satellite Link) to achieve inter-satellite cooperation. This not only increases system capacity and coverage but also reduces resource consumption per satellite, thereby improving the overall resource capacity of the satellite network. An optimal system model is designed using high-capacity LEO satellites and UAV-based SAGIN massive edge access for task offloading. Furthermore, this invention utilizes a low-Earth orbit satellite constellation network to compensate for the capacity limitations of each satellite. Decisions are made for each time frame without knowing future channel conditions and data arrival times. Under the conditions of ensuring network stability and average power constraints, a joint online optimization algorithm is proposed to maximize network data processing capabilities and achieve dynamic task offloading, resource allocation, and correlation control.
[0065] Furthermore, a framework combining the advantages of Lyapunov optimization and DRL is proposed. Specifically, Lyapunov optimization is used to decouple the multi-slot stochastic MINLP problem into a single-slot deterministic problem. Then, in each slot, model-based optimization and model-free DRL are combined to solve the deterministic problem with low computational complexity. The proposed framework not only guarantees long-term queue stability and average power constraints but also achieves optimal online computation rate performance.
[0066] Furthermore, the proposed framework employs an actor-critic structure. The actor module is a DNN framework that learns the optimal binary offloading action based on input environment parameters, including channel gain and queue backlog of all IoT devices. The critic module evaluates the binary offloading behavior by solving the optimal resource allocation problem and associative control. Compared to the traditional actor-critic structure, this method utilizes model information to obtain accurate evaluations of actions, thereby making the training process more robust and achieving faster convergence.
[0067] It is understandable that the beneficial effects of the second aspect mentioned above can be found in the relevant descriptions in the first aspect mentioned above, and will not be repeated here.
[0068] In summary, this invention considers time-varying wireless channels and dynamic mission arrival, establishes an integrated air-space-ground communication model, fully utilizes the abundant computing resources of satellites, and provides fast, flexible, and wide-ranging communication and coverage. Based on this, it proposes an online mission offloading and resource allocation scheme based on Lyapunov deep reinforcement learning. The optimization problem is formulated as a multi-slot stochastic mixed-integer nonlinear programming problem, and Lyapunov optimization is used to decouple it into several deterministic single-slot subproblems. Model-based optimization is combined with model-free DRL to solve each subproblem with relatively low computational complexity. Optimal computational performance is achieved while stabilizing the system queue.
[0069] The technical solution of the present invention will be further described in detail below with reference to the accompanying drawings and embodiments. Attached Figure Description
[0070] Figure 1 shows the overall architecture of the integrated sky-ground IoT system;
[0071] Figure 2 shows the online task offloading and resource allocation scheme based on Lyapunov deep reinforcement learning;
[0072] Figure 3 is a simulation parameter diagram of the present invention;
[0073] Figure 4 is a simulation result diagram of the present invention.
[0074] Figure 5 is another simulation result diagram of the present invention.
[0075] Figure 6 is a schematic diagram of a computer device provided in an embodiment of the present invention;
[0076] Figure 7 is a block diagram of a chip provided according to an embodiment of the present invention. Detailed Implementation
[0077] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of the present invention. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0078] In the description of this invention, it should be understood that the terms "comprising" and "including" indicate the presence of the described features, integrals, steps, operations, elements and / or components, but do not exclude the presence or addition of one or more other features, integrals, steps, operations, elements, components and / or collections thereof.
[0079] It should also be understood that the terminology used in this specification is for the purpose of describing particular embodiments only and is not intended to limit the invention. As used in this specification and the appended claims, the singular forms “a,” “an,” and “the” are intended to include the plural forms unless the context clearly indicates otherwise.
[0080] It should also be further understood that the term "and / or" as used in this specification and the appended claims refers to any combination and all possible combinations of one or more of the associated listed items, and includes such combinations. For example, A and / or B can represent three cases: A alone, A and B simultaneously, and B alone. Additionally, the character " / " in this invention generally indicates that the preceding and following objects have an "or" relationship.
[0081] It should be understood that although terms such as first, second, third, etc., may be used in the embodiments of the present invention to describe the preset range, these preset ranges should not be limited to these terms. These terms are only used to distinguish the preset ranges from one another. For example, without departing from the scope of the embodiments of the present invention, the first preset range may also be referred to as the second preset range, and similarly, the second preset range may also be referred to as the first preset range.
[0082] Depending on the context, the word "if" as used here can be interpreted as "when," "when," "in response to determination," or "in response to detection." Similarly, depending on the context, the phrase "if determination" or "if detection (of the stated condition or event)" can be interpreted as "when determination," "in response to determination," "when detection (of the stated condition or event)," or "in response to detection (of the stated condition or event)."
[0083] The accompanying drawings illustrate various structural schematic diagrams according to embodiments disclosed in this invention. These drawings are not to scale, and some details have been enlarged for clarity, and some details may have been omitted. The shapes of the various regions and layers shown in the drawings, as well as their relative sizes and positional relationships, are merely exemplary and may deviate from reality due to manufacturing tolerances or technical limitations. Furthermore, those skilled in the art can design regions / layers with different shapes, sizes, and relative positions as needed.
[0084] This invention provides a joint optimization method for task offloading and resource allocation based on SAGIN, employing an online task offloading and resource allocation (LyDRO-TORA) scheme based on Lyapunov deep reinforcement learning, considering time-varying wireless channels and dynamic task arrival. Specifically, it first uses Lyapunov optimization to decouple a multi-slot stochastic mixed-integer nonlinear programming (MINLP) problem into several deterministic single-slot subproblems. Then, it combines model-based optimization with model-free (Deep Reinforcement Learning DRL) optimization, solving both with relatively low computational complexity. Compared with other benchmark algorithms, this invention achieves optimal computational performance while stabilizing the system queue.
[0085] Secondly, this invention aims to ensure long-term queue stability and average power constraints, as well as optimal computational performance; it proposes an integrated air-space-ground architecture to fully utilize the wide coverage and abundant computing resources of satellites to achieve flexible and unified resource allocation; in addition to utilizing binary computation offloading, the optimization framework proposed in this invention can also be extended to an online partial computation offloading strategy consisting of multiple independent subtasks.
[0086] This invention discloses a joint optimization method for task offloading and resource allocation based on SAGIN, comprising the following steps:
[0087] S1 and SAG-IoT systems collect task and scheduling information;
[0088] The SAG-IoT system makes a task offloading decision in time slot t. ,have Unloading vector This indicates the tasks processed in IoT devices, UAV edge servers, and LEO satellites, respectively.
[0089] Please refer to Figure 1, using the discrete time slot model, where the time period is expressed as... The duration is Let the scenario be quasi-static, meaning that the network state remains unchanged within one time slot, but changes dynamically in different time slots.
[0090] S101. When tasks are processed by different processors, the computational and communication models are as follows:
[0091] 1) Local computing
[0092] When a task is processed by an IoT device, the amount of work completed is:
[0093]
[0094] in, For IoT devices The upper bound of the CPU cycle frequency in time slot t is... , This is used to calculate density, which is the number of computation cycles required per bit.
[0095] The latency of local computation is:
[0096]
[0097] in, This indicates the total number of CPU cycles required.
[0098] 2) Uninstall to UAV
[0099] If offloaded to a UAV, the Gale-Shapley (GS) algorithm is used to achieve many-to-one matching based on the preference lists of IoT devices and UAVs. Specifically, both the active and passive parties apply for matching, and the applications are compared according to priority. Only the most suitable matching application is retained, ultimately achieving stable matching. The workload is as follows:
[0100] .
[0101] Assume the UAV travels at a constant speed and flight altitude Flight. The uplink uses orthogonal transmission, allowing multiple, but limited, IoT devices to offload tasks simultaneously.
[0102] The path loss for ground-to-UAV communication is:
[0103]
[0104] in, Indicates IoT and distance, Indicates the carrier frequency. Represents the speed of light. and These represent the average additive loss generated at the top of the free space path loss for line-of-sight (LoS) and non-line-of-sight (NLoS) links, respectively.
[0105] The probabilities of LoS and NLoS links are as follows:
[0106]
[0107]
[0108] in, and They represent Flight altitude and IoT devices With UAV The horizontal distance between them , , and The value is determined by the environmental conditions.
[0109] The transmission rate of the IoT-UAV link is:
[0110]
[0111] in, , , These represent bandwidth, transmission power, and noise power, respectively.
[0112] UAV processing time for unloading tasks:
[0113]
[0114] 3) Unload to LEO satellite
[0115] If the task is offloaded to a satellite, the access satellite receives the task request from the UAV and makes a decision based on its current workload status. If the computing resources of a single satellite are insufficient, the task is transmitted to the nearest CH via the satellite link, and the CH decides whether to compute the task or transfer it to CMs for collaborative computing.
[0116] The amount of work completed is:
[0117] .
[0118] For UAV-satellite links With satellite The free path loss is:
[0119]
[0120] in, express With satellite distance, Indicates the carrier frequency.
[0121] The transmission rate of the UAV-satellite link is:
[0122]
[0123] in, , These are bandwidth and transmission power, respectively.
[0124] link The data rate in time slot t is:
[0125]
[0126] Among them, free space loss for , This refers to the satellite's launch power. and These are the transmit antenna gain and the receive antenna gain, respectively. It is Boltzmann's constant. It is the total system noise temperature. This represents the ratio of received energy per bit to the noise density required. and These represent link margin and tilt range, respectively.
[0127] Set a task The uninstallation path is The total offloading delay in a satellite network includes transmission delay and propagation delay, expressed as:
[0128]
[0129] in, Indicates task In the time slot During the period along from Uninstall to ; corresponding and Indicates along The transmission capacity and propagation delay of a single hop.
[0130] S102, Energy consumption and queue update model when tasks are processed by different processors.
[0131] Total system energy consumption Including local computing power consumption and unloading energy consumption , is represented as:
[0132] (1)
[0133] in, These are the effective switched capacitor parameters related to the hardware structure.
[0134] set up Then the average computing power and power consumption are respectively:
[0135] (2)
[0136] (3)
[0137] Virtual energy queue is composed of renew, and These are defined as the proportionality factor and the energy threshold, respectively.
[0138] Similarly, the queue length updates for local and unloaded tasks are as follows:
[0139]
[0140]
[0141] in, ,have and , ,mean For time slots Established.
[0142] When the average queue length over time Discrete-time queue Strongly stable, where expectation is relative to random events in the system, including channel fading and task arrival. According to Little's law, the average latency is proportional to the average queue length. Therefore, the data queue translates into a finite processing latency per data item.
[0143] S2. Maximize system computational performance while satisfying long-term queue stability and average power constraints;
[0144] Under conditions where future channel conditions and data arrival are unknown, task offloading is proposed. Association control and resource allocation The joint optimization problem. Among them, This is represented as the unloading slot. For power control. The MINLP problem (P0) is:
[0145] (4)
[0146] in, This represents the average weighted sum rate. , These represent the computing power constraints on the device side and the server side, respectively. This indicates unloading decision constraints. This indicates an unloading time constraint. Indicates associated control, Indicates delay constraints, This indicates a data queue length constraint. Corresponding power threshold constraint, Power threshold, , Constraints on data stability and power allocation.
[0147] For P0, the Lyapunov drift-plus-penalty framework is used to ensure the stability and average power consumption of the data queue, solving the coupling problem between long-term queuing delay constraints and short-term decision-making. The long-term stochastic optimization problem is decoupled into a series of short-term deterministic optimization problems, which are solved slot-by-slot. The expectation-of-chance technique is applied to observe the queue backlog. We then minimize the upper bound in the above equation to determine the joint task unloading and resource allocation. Using Lyapunov optimization, problem P0 is transformed into P1:
[0148] (5)
[0149] P1 is decomposed into three independent subproblems: SP1 optimizes the control of the association between IoT devices and UAVs, SP2 allocates local computing resources, and SP3 allocates server resources. Once the offloading decision is fixed, the other subproblems are solved sequentially.
[0150] S201, Optimize the association control between IoT devices and UAVs. The matching problem (SP1) is as follows:
[0151] (6)
[0152] IoT devices and UAV association control matching game Defined as a many-to-one mapping between two groups:
[0153] 1) Maximum number of IoT devices connected: and ;
[0154] 2) Maximum number of UAV connections: and ;
[0155] 3) IoT devices and UAVs are compatible: If and only if .
[0156] Each IoT device first selects the channel with the highest signal-to-noise ratio from the available UAV set; among them, the IoT devices With UAV The signal-to-noise ratio between IoT devices is defined as... The preference function. To maximize the processing power of the UAV, the UAV first selects the IoT device with the optimal objective function value in SP1.
[0157] Because IoT devices are densely deployed within the UAV coverage area, the UAV's preference list is influenced by the matching results of other UAVs. Therefore, the priorities of UAVs and IoT devices change during the matching process. To ensure matching stability, a blocking pair is introduced based on the GS algorithm, i.e.: if... If there are no blocking pairs, then it is considered that... It is stable.
[0158] Stable matching between IoT devices and UAVs middle, for When a pair is blocked, the following conditions apply:
[0159] 1) The priority list is IoT devices Unserved, or UAV preferred Instead of the currently matched UAV ;
[0160] 2) Underutilized UAVs More inclined towards IoT devices Instead of the currently matched set of IoT devices one of the.
[0161] This invention proposes an optimization algorithm for the association control of IoT devices and UAVs based on matching game theory to find stable matching results, as follows:
[0162] First, from the list of IoT device preferences Select the most popular UAV. If there are vacancies in the selected UAV, match the pairs. Add directly ;
[0163] However, if Then IoT devices With current UAV Compare with all other matching devices; if it is worse than the worst-matched IoT device... Even better, and They will be exchanged;
[0164] Finally, stable matching is achieved when the preference lists of all IoT devices and UAVs are empty or there are no blocking pairs.
[0165] S202. Determine the allocation of local computing resources by maximizing SP2:
[0166] (7)
[0167] in, The optimal solution in the closed-form equation is:
[0168]
[0169] S203, Determine server-side resource allocation by maximizing SP3;
[0170] (8)
[0171] Among them, SP3 is divided into SP4 and SP5;
[0172] SP4 is:
[0173] (9)
[0174] SP4 is a convex optimization problem, which can be solved using CVX.
[0175] SP5 is:
[0176] (10)
[0177] SP5 is an inequality-constrained optimization problem, solved using the Lagrange multiplier method.
[0178] Construct the Lagrangian function:
[0179]
[0180] in, Denote the dual variable, in order to minimize The dual function can be decomposed into parallel subproblems:
[0181] (11)
[0182] when , To maintain the optimal state, constrain the above equation. Equivalent to ,get Transformed into:
[0183] (12)
[0184] Further equivalent is:
[0185] (13)
[0186] Solving the problem using the Lambert-W function:
[0187] (14)
[0188] in, and It is given Fixed parameters at that time. This refers to the Lambert-W function, which is... The inverse function of .
[0189] Optimal solution Equivalent representation is , It is a given fixed parameter , indicating IoT devices The optimal communication data rate, i.e., the optimal transmission time. In transmission rate Under fixed conditions The problem increases linearly. It is rewritten as:
[0190] (15)
[0191] Its optimal solution is: .
[0192] Finally, the original optimization problem is further rewritten as:
[0193] (16)
[0194] Its optimal solution is .
[0195] Given an uninstallation decision and parameters In this case, through optimization ,Will Let P1 be the optimal value; solving for P1 is equivalent to finding the optimal unloading decision. ,in .
[0196] S3, an online unloading framework based on DRL, constructing a system from input... To the optimal action A low-complexity mapping strategy is used to achieve joint optimization of task unloading and resource allocation.
[0197] Low-complexity mapping strategies include:
[0198] Participant module: Accepts input Output a set of candidate uninstallation actions. ;
[0199] Commentator module: Calculation And select the best uninstall action. ;
[0200] Strategy Update Module: Continuously improves the strategies in the participant module;
[0201] The queue module updates the system queues after performing an unload operation. .
[0202] These four modules iterate and run in sequence through repeated interactions with the random environment.
[0203] In another embodiment of the present invention, a task offloading and resource allocation joint optimization system based on SAGIN is provided. This system can be used to implement the above-mentioned task offloading and resource allocation joint optimization method based on SAGIN. Specifically, the task offloading and resource allocation joint optimization system based on SAGIN includes a collection module, a processing module, and an optimization module.
[0204] The collection module collects task and scheduling information through the SAG-IoT system.
[0205] The processing module utilizes task data and scheduling information to achieve the optimal association between UAV and IoT devices based on a matching game algorithm, and makes optimal decisions on task offloading to maximize the computing performance of the SAG-IoT system.
[0206] The optimization module, based on optimal association, optimal task offloading decision-making, and maximizing the computational performance of the SAG-IoT system, utilizes an online offloading framework built from input... To the optimal action The low-complexity mapping strategy is based on repeated interactions between different modules and random environments, iterating and running sequentially to achieve joint optimization of task unloading and resource allocation.
[0207] In another embodiment of the present invention, a terminal device is provided, comprising a processor and a memory. The memory stores a computer program, which includes program instructions. The processor executes the program instructions stored in the computer storage medium. The processor may be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. It is the computing and control core of the terminal, suitable for implementing one or more instructions, specifically suitable for loading and executing one or more instructions to implement a corresponding method flow or corresponding function. The processor described in this embodiment can be used for the operation of a SAGIN-based task offloading and resource allocation joint optimization method, including:
[0208] The SAG-IoT system collects task and scheduling information; using this data, it achieves optimal association between UAVs and IoT devices based on a matching game algorithm, and makes optimal decisions for task offloading to maximize the computational performance of the SAG-IoT system; based on optimal association, optimal task offloading decisions, and maximizing the computational performance of the SAG-IoT system, it constructs an online offloading framework based on deep reinforcement learning, starting from the input... To the optimal action The low-complexity mapping strategy is based on repeated interactions between different modules and random environments, iterating and running sequentially to achieve joint optimization of task unloading and resource allocation.
[0209] In another embodiment of the present invention, a storage medium is provided, specifically a computer-readable storage medium (Memory). This computer-readable storage medium is a memory device in a terminal device used to store programs and data. It is understood that the computer-readable storage medium here can include both the built-in storage medium in the terminal device and extended storage media supported by the terminal device. The computer-readable storage medium provides storage space that stores the terminal's operating system. Furthermore, this storage space also stores one or more instructions suitable for loading and execution by a processor. These instructions can be one or more computer programs (including program code). It should be noted that the computer-readable storage medium here can be high-speed RAM or non-volatile memory, such as at least one disk storage device.
[0210] One or more instructions stored in a computer-readable storage medium can be loaded and executed by the processor to implement the corresponding steps of the SAGIN-based task offloading and resource allocation joint optimization method in the above embodiments; one or more instructions in the computer-readable storage medium are loaded and executed by the processor to perform the following steps:
[0211] The SAG-IoT system collects task and scheduling information; using this data, it achieves optimal association between UAVs and IoT devices based on a matching game algorithm, and makes optimal decisions for task offloading to maximize the computational performance of the SAG-IoT system; based on optimal association, optimal task offloading decisions, and maximizing the computational performance of the SAG-IoT system, it constructs an online offloading framework based on deep reinforcement learning, starting from the input... To the optimal action The low-complexity mapping strategy is based on repeated interactions between different modules and random environments, iterating and running sequentially to achieve joint optimization of task unloading and resource allocation.
[0212] Referring to Figure 6, the terminal device is a computer device. The computer device 60 in this embodiment includes a processor 61, a memory 62, and a computer program 63 stored in the memory 62 and executable on the processor 61. When executed by the processor 61, the computer program 63 implements the fluid composition calculation method in the reservoir stimulation wellbore of this embodiment. To avoid repetition, these details are not elaborated here. Alternatively, when executed by the processor 61, the computer program 63 implements the functions of each model / unit in the fluid composition calculation system in the reservoir stimulation wellbore of this embodiment. To avoid repetition, these details are not elaborated here.
[0213] Computer device 60 can be a desktop computer, laptop, handheld computer, cloud server, or other computing device. Computer device 60 may include, but is not limited to, a processor 61 and a memory 62. Those skilled in the art will understand that Figure 6 is merely an example of computer device 60 and does not constitute a limitation on computer device 60. It may include more or fewer components than illustrated, or combine certain components, or use different components. For example, computer device may also include input / output devices, network access devices, buses, etc.
[0214] The processor 61 may be a central processing unit (CPU), or other general-purpose processors, CPUs, graphics processing units (GPUs), digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, quantum computing-based data processing logic units, discrete hardware components, etc. A general-purpose processor may be a microprocessor or any conventional processor.
[0215] The memory 62 can be an internal storage unit of the computer device 60, such as a hard disk or RAM of the computer device 60. The memory 62 can also be an external storage device of the computer device 60, such as a plug-in hard disk, smart media card (SMC), secure digital (SD) card, flash card, etc. equipped on the computer device 60.
[0216] Furthermore, the memory 62 may include both internal storage units of the computer device 60 and external storage devices. The memory 62 is used to store computer programs and other programs and data required by the computer device. The memory 62 can also be used to temporarily store data that has been output or will be output.
[0217] Any references to memory, database, or other media used in the embodiments provided in this application may include at least one of non-volatile and volatile memory. Non-volatile memory may include read-only memory (Read-Only Memory). Memory includes ROM, magnetic tape, floppy disk, flash memory, optical storage, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory. By way of illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM).
[0218] The databases involved in the embodiments provided in this application may include at least one type of relational database and non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the embodiments provided in this application may be general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, quantum computing-based data processing logic devices, etc., and are not limited to these.
[0219] Referring to Figure 7, the terminal device is a chip. In this embodiment, the chip 600 includes a processor 622, which may be one or more, and a memory 632 for storing computer programs executable by the processor 622. The computer program stored in the memory 632 may include one or more modules, each corresponding to a set of instructions. Furthermore, the processor 622 may be configured to execute the computer program to perform the generalizable monocular absolute depth map estimation method described above.
[0220] Additionally, chip 600 may also include a power supply component 626 and a communication component 650. The power supply component 626 can be configured to perform power management of chip 600, and the communication component 650 can be configured to enable communication of chip 600, such as wired or wireless communication. Furthermore, chip 600 may also include an input / output interface 658. Chip 600 can operate on an operating system stored in memory 632.
[0221] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of the present invention. The components of the embodiments of the present invention described and shown in the accompanying drawings can generally be arranged and designed in various different configurations. Therefore, the following detailed description of the embodiments of the present invention provided in the accompanying drawings is not intended to limit the scope of the claimed invention, but merely to illustrate selected embodiments of the invention. All other embodiments obtained by those skilled in the art based on the embodiments of the present invention without inventive effort are within the scope of protection of the present invention.
[0222] Simulation verification
[0223] To simulate and evaluate the proposed LyDRO-TORA algorithm, the present invention employs the following simulation settings:
[0224] All computations are evaluated on the TensorFlow 2.0 platform, which features an Intel Core i5-4570 3.2GHz CPU and 12GB of memory.
[0225] Task data arrivals from all IoT devices follow an exponential distribution with an equal average rate. .
[0226] Please refer to Figure 3. The simulation parameters are set as follows:
[0227] The 4×4 Walker constellation consists of 16 LEO satellites at an altitude of 780 kilometers.
[0228] Four UAVs at an altitude of 10km are evenly distributed within a 100km×100km area.
[0229] Ground users with data volumes of [10 Mbit, 200 Mbit] are randomly distributed within the areas covered by UAVs.
[0230] In this scenario, the period for the low-Earth orbit satellites is 100 minutes. The connections between UAVs and LEO satellites, as well as the network topology of the LEO satellites, are derived from the Satellite Toolkit (STK).
[0231] The LyDRO-TORA framework proposed in this invention employs a fully connected multilayer perceptron in the Actor module, consisting of one input layer, two hidden layers, and one output layer, wherein the first and second hidden layers have 120 and 80 hidden neurons, respectively.
[0232] Please refer to Figures 4 and 5, considering 10,000 time frames and a data arrival rate of Mbps, to plot the average power consumption performance over time. Analysis of the network stability of the LyDRO-TORA algorithm reveals the trade-off between data processing capability and network stability.
[0233] Simulations show that the proposed method has higher computational power, and the proposed algorithm maintains a low data queue length across all time frames. As the data arrival rate increases, the average energy consumption of the three schemes steadily rises to the constraint value. Compared to the proportional allocation method, the proposed method achieves a larger stable capacity region, thus exhibiting stronger robustness under high loads and strict power constraints.
[0234] In summary, this invention presents a joint optimization method and system for task offloading and resource allocation based on SAGIN, providing ubiquitous communication and computing services for IoT devices in remote areas. In SAG-IoT, the joint optimization of task offloading and resource allocation faces challenges such as large-scale state spaces, time-varying network scenarios, and the coupling between long-term constraints of queuing delays and short-term decisions. This paper proposes an online task offloading and resource allocation scheme based on Lyapunov deep reinforcement learning, considering time-varying wireless channels and dynamic task arrival. Specifically, the scheme first uses Lyapunov optimization to decouple the multi-slot stochastic MINLP problem into several deterministic single-slot subproblems. Then, it combines model-based optimization with model-free DRL, solving both with relatively low computational complexity. The optimization framework consists of four modules: Participant module: accepts input. Output a set of candidate uninstallation actions. Commentator module: Calculation And select the best uninstall action. Strategy Update Module: Continuously improves the strategies of the participant module; the queue module updates the system queue after performing an unload operation. These four modules iterate and run sequentially through repeated interactions with the random environment. Simulation results show that the proposed scheme achieves optimal computational performance while stabilizing the system queue. In addition to utilizing binary computation offloading, the optimization framework proposed in this invention can be extended to online partial computation offloading strategies consisting of multiple independent subtasks.
[0235] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the above-described division of functional units and modules is merely an example. In practical applications, the above functions can be assigned to different functional units and modules as needed, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above. The functional units and modules in the embodiments can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit. Furthermore, the specific names of the functional units and modules are only for easy differentiation and are not intended to limit the scope of protection of this application. The specific working process of the units and modules in the above system can be referred to the corresponding process in the foregoing method embodiments, and will not be repeated here.
[0236] In the above embodiments, the descriptions of each embodiment have different focuses. For parts that are not described in detail or recorded in a certain embodiment, please refer to the relevant descriptions of other embodiments.
[0237] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed in this invention can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementations should not be considered beyond the scope of this invention.
[0238] In the embodiments provided by this invention, it should be understood that the disclosed devices / terminals and methods can be implemented in other ways. For example, the device / terminal embodiments described above are merely illustrative. For instance, the division of modules or units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between devices or units may be electrical, mechanical, or other forms.
[0239] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0240] Furthermore, the functional units in the various embodiments of the present invention can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
[0241] If the integrated module / unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, all or part of the processes in the methods of the above embodiments can also be implemented by a computer program instructing related hardware. The computer program can be stored in a computer-readable storage medium, and when executed by a processor, it can implement the steps of the various method embodiments described above. The computer program includes computer program code, which can be in the form of source code, object code, executable files, or certain intermediate forms. The computer-readable medium can include: any entity or device capable of carrying the computer program code, a recording medium, a USB flash drive, a portable hard drive, a magnetic disk, an optical disk, a computer memory, or a read-only memory (ROM). Computer-readable media may include only memory (ROM), random access memory (RAM), electrical carrier signals, telecommunication signals, and software distribution media, etc. It should be noted that the content of the computer-readable media may be appropriately increased or decreased according to the requirements of legislation and patent practice in the jurisdiction. For example, in some jurisdictions, according to legislation and patent practice, computer-readable media may not include electrical carrier signals and telecommunication signals.
[0242] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in one or more blocks of the flowchart illustrations and / or one or more blocks of the block diagrams.
[0243] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means that implement the functions specified in one or more flowcharts and / or one or more block diagrams.
[0244] These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process, such that the instructions, which execute on the computer or other programmable apparatus, provide steps for implementing the functions specified in one or more flowcharts and / or one or more block diagrams.
[0245] The above content is only for illustrating the technical concept of the present invention and should not be construed as limiting the scope of protection of the present invention. Any modifications made to the technical solution based on the technical concept proposed in this invention shall fall within the scope of protection of the claims of this invention.
Claims
1. A joint optimization method for task offloading and resource allocation based on SAGIN, characterized in that, Includes the following steps: S1. Collect task and scheduling information through the SAG-IoT system; S2. Using the task data and scheduling information obtained in step S1, achieve optimal association between UAV and IoT devices based on a matching game algorithm, and make optimal decisions on task offloading to maximize the computing performance of the SAG-IoT system. In cases where future channel conditions and data arrival are unknown, propose task offloading strategies. Association control and resource allocation The joint optimization problem P0, This is represented as the unloading slot. For power control, Lyapunov optimization is used to transform problem P0 into P1. P1 is then decomposed into three independent sub-problems: SP1 for optimizing the association control between IoT devices and UAVs, SP2 for local computing resource allocation, and SP3 for server resource allocation. When the offloading decision is fixed, the other sub-problems are solved sequentially. S3, based on the optimal association and task offloading optimal decision obtained in step S2, and maximizing the computational performance of the SAG-IoT system, an online offloading framework based on deep reinforcement learning is constructed, starting from the input... To the optimal action The low-complexity mapping strategy is based on the repeated interactions between different modules and the random environment, iterating and running sequentially. The low-complexity mapping strategy includes: Participant module: accepting input. Output a set of candidate uninstallation actions Commentator module: Calculation And select the best uninstall action. Strategy update module: continuously improves the strategies of the participant module; Queue module: updates the system queue after performing the unload operation. The participant module, commentator module, strategy update module, and queue module iterate and run sequentially through repeated interactions with the random environment.
2. The joint optimization method for task offloading and resource allocation based on SAGIN according to claim 1, characterized in that, Step S1 specifically involves: when the task is processed by an IoT device, the amount of task completed is... The latency of local computation is When unloaded to a UAV, the GS algorithm utilizes the preference lists of IoT devices and UAVs to achieve many-to-one matching. Assume the UAV travels at a fixed speed. and flight altitude Flight; the uplink uses orthogonal transmission, allowing multiple but limited IoT devices to offload tasks simultaneously; if offloaded to a satellite, the access satellite receives task requests from the UAV and makes a decision based on the current workload status. If the computing resources of a single satellite are insufficient, the task is transmitted to the nearest CH via the satellite link, and the CH decides whether to compute or transfer it to CMs for collaborative computing. Let the task... The uninstallation path is Total offloading delay in satellite networks Including transmission delay and propagation delay; total system energy consumption Including local computing power consumption and unloading energy consumption The virtual energy queue is composed of renew, and Defined respectively as a proportionality factor and an energy threshold; when the time-averaged queue length Discrete-time queue Strongly stable, where the expectation is relative to random events in the system, including channel fading and task arrival, and according to Little's law, the average delay is proportional to the average queue length, and the data queue is converted into a finite processing delay per data.
3. The joint optimization method for task offloading and resource allocation based on SAGIN according to claim 2, characterized in that, Path loss of ground-to-UAV communication during offloading to UAV for: in, Indicates IoT device i and distance, Indicates the carrier frequency. Represents the speed of light. and These represent the average additive loss at the top of the free-space path loss for line-of-sight and non-line-of-sight links, respectively; and the link probabilities of LoS and NLoS. and They are respectively: in, and They represent Flight altitude and IoT devices and The horizontal distance between them 、 、 and The value is determined by environmental conditions; the transmission rate of the IoT-UAV link. for: in, 、 、 These represent bandwidth, transmission power, and noise power, respectively; UAV processing offloading task time. for: in, Indicates the total number of CPU cycles required. Indicates the IoT-UAV transmission rate. Indicates the size of the computational task; during the unloading process to the satellite, With satellite The free path loss is: in, express With satellite distance, Indicates the carrier frequency; the transmission rate of the UAV-satellite link is: in, 、 These are bandwidth and transmission power, respectively; link The data rate in time slot t is: in, For satellite launch power, and These are the transmit antenna gain and the receive antenna gain, respectively. It is Boltzmann's constant. It is the total system noise temperature. This represents the ratio of received energy per bit to the noise density required. Indicates link margin.
4. The joint optimization method for task offloading and resource allocation based on SAGIN according to claim 2, characterized in that, Set a task The uninstallation path is Total offloading delay in satellite networks for: in, Indicates task In the time slot During the period along from Uninstall to ; and Indicates along One-hop transmission capacity and propagation delay, Indicates the distance between satellites in hops. , This indicates the size of the computation task.
5. The joint optimization method for task offloading and resource allocation based on SAGIN according to claim 1, characterized in that, In step S2, optimizing the association control between the IoT device and the UAV specifically involves: from the IoT device's preference list... Select the most popular UAV. If there are vacancies in the selected UAV, match the pairs. Add directly ;if , As a margin in the link, the IoT device With current UAV Compare with all other matching devices; if it is worse than the worst-matched IoT device... Even better, and They will be exchanged.
6. The joint optimization method for task offloading and resource allocation based on SAGIN according to claim 1, characterized in that, In step S2, the local computing resource allocation SP2 is specifically as follows: in, , Where V is the length of the task queue, and V is a fixed parameter. Indicates weight, This indicates the CPU cycle frequency allocated to IoT devices. Indicates the calculated density. Indicates system energy consumption. This represents the effective switched capacitor parameters related to the hardware architecture. Indicates the carrier frequency. This indicates that the computational task is processed locally. Represents a discrete-time queue. Indicates IoT devices The CPU cycle frequency in time slot t.
7. The joint optimization method for task offloading and resource allocation based on SAGIN according to claim 1, characterized in that, In step S2, the server resource allocation SP3 is specifically as follows: in, , Where V is the length of the task queue, and V is a fixed parameter. Indicates weight, Indicates a given The optimal function, Indicates the uninstallation path. This represents the total energy consumption of the system. Indicates channel gain. This indicates that server resource allocation is being unloaded.
8. A joint optimization system for task offloading and resource allocation based on SAGIN, characterized in that, include: The collection module gathers task and scheduling information through the SAG-IoT system; the processing module utilizes the task data and scheduling information to achieve optimal association between UAVs and IoT devices based on a matching game algorithm, and makes optimal decisions on task offloading to maximize the computing performance of the SAG-IoT system. It also proposes task offloading strategies when future channel conditions and data arrival are unknown. Association control and resource allocation The joint optimization problem P0, This is represented as the unloading slot. For power control, Lyapunov optimization is used to transform problem P0 into P1. P1 is then decomposed into three independent sub-problems: SP1 for optimizing the association control between IoT devices and UAVs, SP2 for local computing resource allocation, and SP3 for server resource allocation. When the offloading decision is fixed, the other sub-problems are solved sequentially. The optimization module, based on optimal association, optimal task offloading decision, and maximizing the computational performance of the SAG-IoT system, utilizes an online offloading framework based on deep reinforcement learning to construct a system that starts from the input... To the optimal action The low-complexity mapping strategy is based on the repeated interactions between different modules and the random environment, iterating and running sequentially. The low-complexity mapping strategy includes: Participant module: accepting input. Output a set of candidate uninstallation actions Commentator module: Calculation And select the best uninstall action. Strategy update module: continuously improves the strategies of the participant module; Queue module: updates the system queue after performing the unload operation. The participant module, commentator module, strategy update module, and queue module iterate and run sequentially through repeated interactions with the random environment.