Inter-satellite link bandwidth dynamic allocation and load balancing method for low earth orbit satellite cluster
By using multi-dimensional load index calculation and hierarchical scheduling network, and dynamically adjusting weight coefficients, bandwidth is allocated according to service priority. This solves the problems of resource waste and overload judgment lag caused by uneven user density in low-Earth orbit satellite constellations, and achieves efficient bandwidth utilization and emergency service guarantee.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- SHANGHAI JINGJI COMM TECH CO LTD
- Filing Date
- 2026-03-31
- Publication Date
- 2026-05-15
AI Technical Summary
Low-Earth orbit satellite constellations suffer from resource waste and overload detection delays due to uneven user density in inter-satellite link bandwidth allocation. Existing solutions cannot effectively reflect changes in user density and data queue backlogs, and have high signaling overhead, making it difficult for emergency services to obtain bandwidth resources in a timely manner.
The comprehensive load index is calculated using multi-dimensional load indicators (bandwidth utilization, user density in the coverage area, and service queue depth). The weighting coefficients are dynamically adjusted to build a hierarchical scheduling network. Bandwidth is allocated according to service priority. Load status information is exchanged through inter-satellite links, and emergency and general bandwidth pools are divided to achieve dynamic bandwidth allocation and load balancing.
It improved bandwidth utilization, shortened the lag time for overload detection, reduced signaling overhead, ensured priority response for emergency services, and provided minimum guarantees for low-priority services, thereby improving the overall performance and service quality of the system.
Smart Images

Figure CN122052887A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of satellite communications, and in particular to a method for dynamic allocation and load balancing of inter-satellite link bandwidth in a low-Earth orbit satellite constellation. Background Technology
[0002] Low-Earth orbit (LEO) satellite constellations provide wide-area communication services to terrestrial users through inter-satellite links. Each LEO satellite has a limited beam coverage area, and the bandwidth resources of its inter-satellite links are pre-configured according to a uniform allocation principle during deployment. However, the distribution of terrestrial users is uneven in time and space—user density over urban areas, along flight routes, and in disaster-stricken areas is much higher than in sparsely populated areas such as oceans and deserts. This spatiotemporal imbalance in user density creates a persistent structural mismatch between the static, uniform allocation of inter-satellite link bandwidth: satellite nodes covering high-density areas face insufficient bandwidth resources during peak service periods, while the bandwidth resources of satellite nodes covering low-density areas remain idle for extended periods, resulting in low overall bandwidth utilization of the constellation.
[0003] To address the aforementioned issues, existing technologies include inter-satellite bandwidth scheduling schemes based on load migration. These schemes typically use the bandwidth utilization rate of inter-satellite links as the sole criterion. When the bandwidth utilization rate of a satellite exceeds a fixed threshold, it is marked as an overloaded node, and some services are migrated to adjacent, less-loaded satellites. However, bandwidth utilization rate only reflects the current occupancy level of the link and cannot reflect sudden changes in user density within the coverage area or the backlog of data queues awaiting transmission. When user density increases sharply in a short period, the increase in bandwidth utilization rate is delayed—data is still queued for transmission, utilization rate has not yet exceeded the threshold, but the actual load is already close to saturation. This causes overload determination to lag behind actual load changes, missing the window of opportunity for timely scheduling.
[0004] Furthermore, existing solutions often employ a flat topology in their network organization for inter-satellite bandwidth scheduling, where all satellite nodes directly exchange their complete load status information to construct a global scheduling view. As the number of nodes in the satellite constellation increases, the signaling overhead from global status exchange grows exponentially, quadratically increasing, consuming already limited inter-satellite link control channel resources. Simultaneously, low-Earth orbit satellites travel at approximately 7 kilometers per second, and the connectivity of inter-satellite links continuously changes with the relative positions of the satellites. The flat topology requires frequent reconfiguration to adapt to these link changes, further exacerbating the signaling burden. This increased signaling overhead, in turn, squeezes bandwidth resources available for service transmission, making the scheduling process itself a contributing factor to bandwidth constraints.
[0005] Furthermore, existing bandwidth allocation solutions do not adequately differentiate between different service types. Emergency communication services and ordinary data collection services differ fundamentally in latency sensitivity and service guarantee requirements. However, when migrating services from overloaded nodes to idle nodes, existing solutions typically allocate bandwidth using a first-come, first-served or simple priority queuing method, lacking a dedicated resource reservation mechanism for emergency services. When multiple overloaded nodes simultaneously request bandwidth from the same idle node, emergency service requests may fail to obtain bandwidth resources in a timely manner because they are queued after ordinary services. Summary of the Invention
[0006] In order to enable overload determination based on multi-dimensional load indicators, network organization and scheduling with low signaling overhead, and differentiated bandwidth allocation according to service priority, this application provides a method for dynamic allocation and load balancing of inter-satellite link bandwidth for low-Earth orbit satellite constellations.
[0007] This application provides a method for dynamic allocation and load balancing of inter-satellite link bandwidth in low-Earth orbit satellite constellations, employing the following technical solution: A method for dynamic allocation and load balancing of inter-satellite link bandwidth in a low-Earth orbit satellite constellation includes the following steps: S1. Each satellite node in the low-Earth orbit satellite constellation periodically collects its own multi-dimensional load index, normalizes the values of each dimension of the multi-dimensional load index, dynamically determines the weight coefficient of each dimension based on the service characteristics information of the current time period, and performs a weighted summation of the normalized values of each dimension and the corresponding weight coefficient to obtain a comprehensive load index. The load status of each satellite node is determined based on the comparison result of the comprehensive load index and the overload threshold. The load status includes normal status, early warning status, overload status and idle status. S2. Each satellite node exchanges its own load status information through inter-satellite links to construct a bandwidth scheduling network; S3. A satellite node whose load status is overloaded retrieves a target satellite node whose load status is idle in the bandwidth scheduling network and sends a bandwidth request message to the target satellite node. The bandwidth request message carries the required bandwidth amount and service type information. S4. The target satellite node receives the bandwidth request message, determines the priority level of the bandwidth request message according to the service type information, sorts the received multiple bandwidth request messages according to the priority level, and allocates bandwidth to each bandwidth request message in sequence according to the sorting result and the available bandwidth of the target satellite node. S5. The target satellite node transmits the bandwidth allocation result back to the satellite node that initiated the bandwidth request message via the inter-satellite link.
[0008] By adopting the above technical solution, each satellite node calculates a comprehensive load index based on multi-dimensional load indicators and dynamic weighting coefficients. Compared with the method of judging overload based solely on bandwidth utilization, this method can simultaneously reflect the load status of link occupancy, user access pressure, and queue backlog, making the overload judgment result closer to the actual load level of the satellite node. Overloaded satellite nodes send bandwidth request messages carrying service type information to idle satellite nodes through the bandwidth scheduling network. The target satellite nodes allocate bandwidth according to priority levels, so that emergency services can receive priority response in bandwidth allocation, and ordinary services can obtain the remaining bandwidth in order. This improves the overall bandwidth utilization of the cluster while taking into account the differentiated service needs of different service types.
[0009] Optionally, the multi-dimensional load metric includes bandwidth utilization, user density in the coverage area, and service queue depth; the normalization of the values of each dimension of the multi-dimensional load metric to obtain a comprehensive load index includes the following sub-steps: S11. Collect the occupied bandwidth and total available bandwidth of each inter-satellite link, and calculate the bandwidth utilization rate; S12. Collect the number of terminal access requests within the coverage area, and calculate the user density of the coverage area based on the number of terminal access requests and the area of the coverage area; S13. Collect the number of data packets in the current data queue to be transmitted to obtain the service queue depth; S14. Normalize the bandwidth utilization, the user density of the coverage area, and the service queue depth respectively. Determine the first weighting coefficient of bandwidth utilization, the second weighting coefficient of user density of the coverage area, and the third weighting coefficient of service queue depth based on the service characteristic information of the current time period. Multiply each normalized value by the corresponding weighting coefficient and sum them to obtain the comprehensive load index.
[0010] By adopting the above technical solution, bandwidth utilization reflects the current occupancy level of inter-satellite links, user density in the coverage area reflects the spatial distribution of ground terminal access demand, and service queue depth reflects the backlog of data to be transmitted. These three dimensions correspond to load information at three different levels: link resources, access demand, and transmission backlog. After normalization to eliminate dimensional differences, the comprehensive load index obtained by weighted summation can comprehensively reflect the load level of satellite nodes at multiple levels, avoiding the one-sided reflection of load status by a single-dimensional indicator.
[0011] Optionally, the step of dynamically determining the weight coefficients of each dimension based on the business characteristic information of the current time period includes: In response to the growth rate of the business queue depth exceeding the queue growth rate threshold, the third weight coefficient is increased and the first weight coefficient and the second weight coefficient are decreased accordingly; In response to the rate of change of user density in the coverage area exceeding the density change rate threshold, the second weighting coefficient is increased and the first weighting coefficient and the third weighting coefficient are decreased accordingly.
[0012] By adopting the above technical solution, the weighting coefficients are dynamically adjusted according to real-time changes in business characteristics, rather than using fixed weights. When queue backlog grows rapidly, the comprehensive load index is more sensitive to changes in queue depth, reflecting the deteriorating load trend even before bandwidth utilization has significantly increased. When user density in the coverage area changes drastically, the comprehensive load index prioritizes responding to changes in user access pressure. This allows overload determination to follow the main load change dimensions of the current period, shortening the lag time for overload detection.
[0013] Optionally, determining the load status of each satellite node based on the comparison result of the comprehensive load index and the overload threshold includes: Set a warning threshold, wherein the warning threshold is less than the overload threshold; In response to the comprehensive load index exceeding the warning threshold but not exceeding the overload threshold, the load status is determined to be a warning status, and a status query request is sent to neighboring satellite nodes in the bandwidth scheduling network. The list of candidate satellite nodes that meet the idle conditions and the current allocable bandwidth of each candidate satellite node are received and cached. In response to the comprehensive load index exceeding the overload threshold, the load state is determined to be an overload state, and the candidate satellite node with the largest currently allocable bandwidth is selected from the candidate satellite node list as the target satellite node.
[0014] By adopting the above technical solution, an early warning threshold is set before the comprehensive load index reaches the overload threshold. The overload scheduling response process is divided into two stages: a pre-detection stage in the early warning stage and a direct request stage in the overload stage. The early warning stage completes the detection and caching of candidate idle nodes in advance, and the overload stage directly selects the target node from the cache list without performing the detection process again. This reduces the latency between overload triggering and the formal sending of bandwidth requests to the time including only the sending of request messages.
[0015] Optionally, the overload threshold is dynamically adjusted based on historical load statistics, including: Calculate the variance of the comprehensive load index over the most recent M statistical periods; In response to the variance value exceeding the variance threshold, the overload threshold is reduced; In response to the variance value not exceeding the variance threshold, the overload threshold is increased.
[0016] By adopting the above technical solution, the overload threshold is automatically adjusted according to the recent load fluctuation. When the load fluctuates drastically, the overload threshold is lowered, causing the overload detection to be triggered earlier, thus gaining more response time for subsequent scheduling; when the load is stable, the overload threshold is raised to reduce unnecessary scheduling caused by short-term load fluctuations and reduce signaling overhead.
[0017] Optionally, step S2 includes the following sub-steps: S21. Each satellite node divides the low-Earth orbit satellite cluster into multiple scheduling clusters according to its own orbital plane information, and the satellite nodes in each scheduling cluster elect a cluster head satellite node; S22. Member satellite nodes within each scheduling cluster report their own load status information to the cluster head satellite node via inter-satellite links. The cluster head satellite node aggregates the load status information into a cluster-level status summary, which includes the number of idle satellite nodes within the cluster and the total available bandwidth of the cluster. S23. The cluster head satellite nodes of adjacent scheduling clusters exchange their respective cluster-level state summaries; S24. Each satellite node pre-calculates the inter-satellite link availability for each time window within the next orbital cycle based on ephemeris data, generates a time-topology mapping table and stores it in the onboard memory, and queries the time-topology mapping table to update the list of neighboring satellite nodes when the current time window switches.
[0018] By adopting the above technical solution, the satellite constellation is divided into scheduling clusters according to the orbital plane. Members within a cluster only report their status to the cluster head. The cluster head aggregates the complete status information into a cluster-level status summary before exchanging it with neighboring cluster heads. This reduces the signaling volume of global status exchange from the square of the number of nodes to an order of magnitude related to the number of clusters. Simultaneously, leveraging the deterministic characteristics of low-Earth orbit satellite orbits, a time-topology mapping table for inter-satellite links is pre-calculated based on ephemeris data. Neighbor relationships are updated by looking up the table during time window switching, replacing real-time topology reconstruction and reducing computational overhead caused by topology changes.
[0019] Optionally, in S22, when member satellite nodes within each scheduling cluster report their own load status information to the cluster head satellite node, a differentiated broadcast period is used, including: The status broadcast period is determined based on the rate of change of its own comprehensive load index. If the rate of change exceeds a threshold, the status broadcast period is shortened. If the rate of change does not exceed the threshold, the status broadcast period is extended. In response to a transition in its own load state, a status broadcast is immediately triggered. The transition includes changing from a normal state to a warning state, changing from a warning state to an overload state, and changing from an overload state to a normal state.
[0020] By adopting the above technical solution, the status broadcast period is dynamically adjusted according to the load change rate. Nodes with rapidly changing loads shorten their broadcast periods to improve the timeliness of status information, while nodes with stable loads extend their broadcast periods to reduce control channel occupancy. A broadcast is triggered immediately upon a state transition, enabling the cluster head to be aware of any significant changes in node load status immediately, without having to wait for the next broadcast period.
[0021] Optionally, retrieving target satellite nodes whose load status is idle in step S3 includes: Level 1 search: Search for satellite nodes with an idle load status among satellite nodes within the one-hop neighbor range; In response to the failure of the first-level search to find a satellite node that meets the conditions or the available bandwidth of the found satellite node is less than the required bandwidth, the second-level search is performed: the cluster head satellite node searches for satellite nodes that are idle in the load state among all satellite nodes in the scheduling cluster. In response to the second-level search failing to find a satellite node that meets the conditions or the available bandwidth of the found satellite node being less than the required bandwidth, a third-level search is performed: the bandwidth request message is forwarded by the cluster head satellite node to the cluster head satellite node of the adjacent scheduling cluster, and the cluster head satellite node of the adjacent scheduling cluster searches for satellite nodes in the adjacent scheduling cluster whose load status is idle.
[0022] By adopting the above technical solution, the retrieval scope of bandwidth requests is expanded in three levels: "one-hop neighbor → intra-cluster global scope → cross-cluster coordination". Each level is triggered only when the requirements of the previous level are not met. Most requests can be matched within one hop, avoiding the signaling overhead and multi-hop forwarding latency caused by unconditional global broadcast. At the same time, when local resources are insufficient, a wider range of available resources can still be obtained by expanding step by step.
[0023] Optionally, in step S4, bandwidth is allocated to each bandwidth request message sequentially according to the sorting result and the allocable bandwidth of the target satellite node, including the following sub-steps: S41. The target satellite node divides the allocable bandwidth into an emergency reserved bandwidth pool and a general allocable bandwidth pool according to a preset ratio coefficient. The emergency reserved bandwidth pool only responds to bandwidth request messages with an emergency priority level. S42. For bandwidth request messages with an emergency priority level, allocate bandwidth from the emergency reserved bandwidth pool; S43. For bandwidth request messages with a priority level of non-emergency, bandwidth is allocated sequentially from the general allocable bandwidth pool in descending order of priority level; S44. In response to a bandwidth request message with a priority level of non-emergency having a waiting time in the waiting queue exceeding a starvation time threshold, a minimum guaranteed bandwidth amount is forcibly allocated to the bandwidth request message from the general allocable bandwidth pool. S45. In response to the fact that the remaining bandwidth of the emergency reserved bandwidth pool is insufficient to meet the newly arrived bandwidth request message with an emergency priority level, and the remaining bandwidth of the general allocable bandwidth pool is also insufficient to make up for the bandwidth difference of the newly arrived bandwidth request message, the bandwidth already allocated to the bandwidth request message with the lowest priority level is preempted, and the data to be transmitted corresponding to the preempted bandwidth request message is temporarily stored in the on-board buffer queue. S46. In response to the completion of the bandwidth request message transmission at the emergency level and the release of the occupied bandwidth, the preempted data to be transmitted is retrieved from the on-board buffer queue in a first-in-first-out order and the bandwidth is reallocated for transmission. An additional compensation time slice is allocated for the preempted bandwidth request message.
[0024] By adopting the above technical solution, the allocable bandwidth is divided into two isolated areas: an emergency reserve pool and a general pool. Emergency services receive bandwidth guarantees through the reserve pool, while ordinary services are allocated bandwidth through the general pool according to priority. The introduction of a starvation time threshold ensures that low-priority requests with excessively long waiting times receive the minimum guaranteed bandwidth, preventing low-priority services from being indefinitely suspended. When both the emergency reserve pool and the general pool are insufficient, emergency needs are met by preempting the lowest-priority allocated bandwidth. The preempted data is temporarily stored in a buffer queue, and transmission resumes in a first-in-first-out order after the emergency service releases bandwidth, receiving additional compensation time slices, ensuring that the total transmission volume of the preempted service is not reduced due to preemption.
[0025] Optionally, after S5, the following may also be included: S6. Satellite nodes in an overloaded state will recalculate the comprehensive load index in the next statistical period after receiving the bandwidth allocation results; If the recalculated comprehensive load index still exceeds the overload threshold, a secondary scheduling is triggered. The secondary scheduling includes: forcibly increasing the search range for the target satellite node by one level and increasing the priority level of the bandwidth request message by one level. In response to the number of consecutive secondary scheduling operations reaching a preset number and the comprehensive load index still exceeding the overload threshold, a degradation mode is triggered. The degradation mode includes: limiting the execution rate of the service with the lowest priority level currently being carried, and limiting the bandwidth occupied by the service to a preset proportion of the currently allocated amount.
[0026] By adopting the above technical solution, the comprehensive load index of overloaded satellite nodes is re-examined after bandwidth allocation, forming a closed loop from load perception to allocation execution and effect verification. If the initial allocation fails to alleviate the overload, secondary scheduling increases the possibility of acquiring external resources by expanding the search range and increasing request priority. If multiple secondary scheduling attempts still fail to alleviate the overload, internal bandwidth resources are proactively released by limiting the execution rate of the lowest priority services, freeing up transmission space for higher priority services, thus forming a three-level progressive emergency response chain of "external acquisition → upgraded acquisition → internal release".
[0027] In summary, this application includes at least one of the following beneficial technical effects: 1. By collecting load metrics from three dimensions—bandwidth utilization, user density in the coverage area, and service queue depth—and dynamically adjusting the weighting coefficients of each dimension based on service characteristics, the comprehensive load index can follow the main load change dimensions of the current period. Compared with overload judgment methods based on a single bandwidth utilization threshold, this shortens the lag time for overload detection and improves the matching degree between overload judgment and the actual load level.
[0028] 2. By dividing scheduling clusters according to the orbital plane, and having cluster heads aggregate cluster-level state summaries and exchange them with adjacent cluster heads, the signaling volume of global state exchange is compressed from the quadratic order of the number of nodes to the order of the number of clusters. Combined with the time-topology mapping table pre-calculated based on ephemeris data and differentiated broadcast periods, the control channel occupation caused by topology changes and state synchronization is reduced, thereby reducing the consumption of inter-satellite link bandwidth resources by the scheduling mechanism itself.
[0029] 3. By isolating and dividing the emergency reserve pool and the general pool, forcibly allocating the starvation time threshold, and using the buffer rollback and compensation time slice mechanism after preemption, while prioritizing the protection of emergency service bandwidth resources, the minimum service guarantee and preemption compensation are provided for low-priority services, so that the service quality differences of different priority services in bandwidth competition are controllable. Attached Figure Description
[0030] Figure 1 This is a flowchart illustrating the method for dynamic allocation and load balancing of inter-satellite link bandwidth in a low-Earth orbit satellite constellation according to an embodiment of the present invention.
[0031] Figure 2 This is a sub-flowchart of the comprehensive load index calculation and load status determination in one embodiment of the present invention.
[0032] Figure 3 This is a schematic diagram of a clustered scheduling network architecture in one embodiment of the present invention.
[0033] Figure 4 This is a schematic diagram of a three-level retrieval route in one embodiment of the present invention.
[0034] Figure 5 This is a sub-flowchart of bandwidth allocation and priority scheduling in one embodiment of the present invention. Detailed Implementation
[0035] The present application will be further described in detail below with reference to the accompanying drawings. It should be understood that the specific embodiments described herein are merely illustrative of the application and are not intended to limit the scope of the application.
[0036] This application discloses a method for dynamic bandwidth allocation and load balancing of inter-satellite links in a low-Earth orbit (LEO) satellite constellation. A LEO satellite constellation refers to a constellation system composed of multiple satellites operating at orbital altitudes between 200km and 2000km, with an orbital period of approximately 90 to 120 minutes. Communication connections are established between the satellite nodes in the constellation via inter-satellite links, which can be implemented using microwave or laser technology. Each inter-satellite link includes a control channel for transmitting control signaling and a data channel for transmitting service data.
[0037] The execution process of this method is as follows: Each satellite node periodically collects its own multi-dimensional load indicators, normalizes the values of each dimension of the multi-dimensional load indicators, dynamically determines the weight coefficients of each dimension based on the service characteristics information of the current time period, and performs a weighted summation of the normalized dimension values and their corresponding weight coefficients to obtain a comprehensive load index. The load status of each satellite node is determined based on the comparison between the comprehensive load index and the overload threshold. The multi-dimensional load indicator differs from methods that use bandwidth utilization as a single criterion; it reflects the true load level of the satellite node by integrating load information from multiple dimensions. There are four load statuses: normal status (indicating a normal load level), warning status (indicating a load approaching overload but not yet reaching the overload threshold), overload status (indicating a load exceeding the overload threshold requiring external bandwidth resource requests), and idle status (indicating bandwidth utilization is below the idle threshold and there is available spare bandwidth).
[0038] Each satellite node exchanges its load status information via inter-satellite links, constructing a bandwidth scheduling network. This network is a logical topology layer built on top of the physical inter-satellite links; within this network, nodes exchange load status information rather than user service data. Overloaded satellite nodes search for idle target satellite nodes within the bandwidth scheduling network and send bandwidth request messages carrying the required bandwidth amount and service type information. Service types are categorized into emergency communication services and general data acquisition services, which differ in latency sensitivity and service guarantee requirements. The target satellite node determines the priority level of the bandwidth request messages based on the service type information, sorts the received bandwidth request messages according to priority, and allocates bandwidth to each request message sequentially based on the sorting result and the target satellite node's available bandwidth. The bandwidth allocation result is then transmitted back to the requesting satellite node via the inter-satellite link.
[0039] The following example illustrates a cluster of 60 low-Earth orbit (LEO) satellites. This cluster is distributed across three orbital planes, with 20 satellites in each plane, at an altitude of approximately 780 km. Each satellite establishes inter-satellite links with its neighbors in the same orbital plane and with corresponding satellites in adjacent orbital planes. The total available bandwidth of each inter-satellite link is 100 Mbps. At a certain moment, a natural disaster occurs in the ground area covered by satellite A, causing a surge in user density and putting satellite A under overload. Meanwhile, satellite C, covering an ocean area in the same orbital plane, has extremely low user density and is idle. The numerical examples in the following embodiments all embody this scenario.
[0040] Figure 1 The overall flow of this method is shown. For example... Figure 1 As shown, the method includes steps S1 to S5.
[0041] S1. Each satellite node in the low-Earth orbit satellite constellation periodically collects its own multi-dimensional load indicators, normalizes the values of each dimension of the multi-dimensional load indicators, dynamically determines the weight coefficients of each dimension based on the service characteristics information of the current time period, and performs a weighted summation of the normalized values of each dimension and the corresponding weight coefficients to obtain the comprehensive load index. The load status of each satellite node is determined based on the comparison between the comprehensive load index and the overload threshold. The load status includes normal status, warning status, overload status and idle status.
[0042] When relying solely on bandwidth utilization as the basis for overload detection, a sudden surge in user density within the coverage area leads to a backlog of data from numerous access requests waiting to be transmitted. At this point, bandwidth utilization may not yet have increased significantly, but the actual load is already nearing saturation, causing overload detection to lag behind actual load changes. Multidimensional load metrics, by simultaneously collecting information on link occupancy, user access pressure, and queue backlog, can detect early signs of load deterioration before changes in bandwidth utilization occur.
[0043] The data flow for S1 is as follows: raw index collection → normalization → weight determination → weighted summation → obtaining the comprehensive load index → comparison with the threshold → output load status. The load status output by S1 serves as the input for subsequent steps—the load status information determined by S1 is exchanged between nodes in S2, and the basis for overloaded nodes to retrieve idle nodes in S3 is also the load status output by S1.
[0044] Following the above scenario, the example values for satellite A's three-dimensional load indicators are: bandwidth utilization of 85%, user density in the coverage area of 1200 terminals / km², and service queue depth of 5000 data packets. The values for satellite C are: bandwidth utilization of 12%, user density of 3 terminals / km², and queue depth of 20 data packets. After normalization and weighted summation, satellite A's comprehensive load index is 0.80, exceeding the overload threshold of 0.75, thus indicating an overloaded state; satellite C's comprehensive load index is 0.10, below the idle threshold of 0.20, thus indicating an idle state.
[0045] Reference Figure 2 In some embodiments, multidimensional load metrics include bandwidth utilization, coverage area user density, and service queue depth.
[0046] S11. Collect the occupied bandwidth and total available bandwidth of each inter-satellite link, and calculate the bandwidth utilization rate. The bandwidth utilization rate is obtained through the traffic counter of the inter-satellite link and is equal to the ratio of the sum of the occupied bandwidth of each inter-satellite link to the sum of the total available bandwidth.
[0047] S12. Collect the number of terminal access requests within the coverage area, and calculate the user density of the coverage area based on the number of terminal access requests and the coverage area area. The number of terminal access requests can be estimated by counting the number of random access preamble detections or paging responses within the coverage area, and the coverage area is calculated from the satellite beam angle and orbital altitude.
[0048] S13. Collect the number of data packets in the current data queue to be transmitted to obtain the service queue depth. The service queue depth is obtained through the data packet counter in the on-board buffer.
[0049] S14. Normalize the bandwidth utilization, coverage area user density, and service queue depth respectively. Determine the first weight coefficient of bandwidth utilization, the second weight coefficient of coverage area user density, and the third weight coefficient of service queue depth based on the service characteristics information of the current time period. Multiply each normalized value by its corresponding weight coefficient and sum them to obtain the comprehensive load index.
[0050] Let's continue with the scenario for Satellite A. Satellite A's bandwidth utilization is 85%, with a normalized value of 0.85. The user density in the coverage area is 1200 terminals / km², with a normalized reference upper limit of 1500 terminals / km², resulting in a normalized value of 1200 / 1500 = 0.80. The service queue depth is 5000 data packets, with a normalized reference upper limit of 7000, resulting in a normalized value of 5000 / 7000 ≈ 0.71. During normal periods, the first weighting coefficient is 0.4, the second weighting coefficient is 0.35, and the third weighting coefficient is 0.25. The overall load index = 0.85 × 0.4 + 0.80 × 0.35 + 0.71 × 0.25 = 0.34 + 0.28 + 0.18 = 0.80. The overload threshold is 0.75. Since the overall load index of 0.80 exceeds the overload threshold, Satellite A is determined to be in an overloaded state.
[0051] It should be understood that the multidimensional load metrics are not limited to the three dimensions mentioned above. In other embodiments, they may also include dimensions such as on-board processor utilization and on-board memory occupancy, which are not limited here.
[0052] Furthermore, when dynamically determining the weight coefficients of each dimension based on the business characteristics information of the current period, the weight coefficients are not fixed values, but are adjusted according to the real-time changes of the indicators of each dimension.
[0053] Under fixed weights, when user density in the coverage area increases sharply but bandwidth utilization has not yet increased significantly, the change in user density is diluted by the high weight of utilization, suppressing the rise in the overall load index and causing a lag in overload detection. Dynamically adjusting the weighting coefficients allows the overall load index to prioritize reflecting the dimension with the most drastic changes.
[0054] In response to the business queue depth growth rate exceeding the queue growth rate threshold, the third weighting coefficient is increased while the first and second weighting coefficients are decreased accordingly. For example, if satellite A's queue depth increases from 2000 to 5000 within 10 seconds, a growth rate of 150%, exceeding the queue growth rate threshold of 100%, the third weighting coefficient increases from 0.25 to 0.40, the first weighting coefficient decreases from 0.40 to 0.30, and the second weighting coefficient decreases from 0.35 to 0.30.
[0055] In response to a change rate in user density within the coverage area exceeding a density change rate threshold, the second weighting coefficient is increased while the first and third weighting coefficients are correspondingly decreased. For example, if satellite B's original user density is 200 terminals / km², and it suddenly increases to 900 terminals / km² within 5 minutes (a change rate of 350%, exceeding the density change rate threshold of 200%), the second weighting coefficient is increased to 0.45, while the first and third weighting coefficients are correspondingly decreased.
[0056] When both the queue growth rate and density change rate exceed the limit, adjustments are made preferentially based on the dimension with the greater change rate. The sum of the three weighting coefficients is always kept at 1.
[0057] In some embodiments, when determining the load status of each satellite node based on the comparison between the comprehensive load index and the overload threshold, an early warning threshold is introduced as a buffer judgment line before the overload threshold, and the early warning threshold is less than the overload threshold.
[0058] If the detection of idle nodes only begins after an overload is triggered, the round-trip latency of the detection query plus the computation latency of candidate node selection will prolong the duration of the overload. By introducing an early warning phase, the detection is completed in advance using a buffer window before the comprehensive load index reaches the overload threshold, allowing requests to be sent directly after an overload is triggered, skipping the detection process.
[0059] In response to the overall load index exceeding the warning threshold but not the overload threshold, the load status is determined to be in a warning state. A status query request is sent to neighboring satellite nodes in the bandwidth scheduling network. The system receives and caches a list of candidate satellite nodes that meet the idle condition, along with the current allocable bandwidth for each candidate satellite node. The status query request only carries a query identifier and does not carry a bandwidth allocation request; its message length is much shorter than the formal bandwidth request message, and its impact on control channel usage is negligible.
[0060] In response to the overall load index exceeding the overload threshold, the load state is determined to be overloaded, and the candidate satellite node with the largest currently allocable bandwidth is selected from the candidate satellite node list as the target satellite node.
[0061] The following scenario is explained. The warning threshold is set to 0.65, and the overload threshold is 0.75. When the comprehensive load index of satellite A rises from 0.60 to 0.68, it enters a warning state and sends status query requests to neighboring satellites B, C, and D. Satellite C returns to an idle state with an allocable bandwidth of 78Mbps, satellite B returns to a normal state with an allocable bandwidth of 30Mbps, and satellite D returns to a normal state with an allocable bandwidth of 15Mbps. Satellite A caches the candidate list. When the comprehensive load index rises to 0.80, exceeding the overload threshold, satellite C, which has the largest allocable bandwidth, is directly selected from the cache list as the target satellite node, without needing to perform a further detection process.
[0062] Furthermore, the overload threshold is dynamically adjusted based on historical load statistics, rather than using a fixed value.
[0063] Calculate the variance of the composite load index over the most recent M statistical periods. For example, let M=10. The composite load index of satellite A over the most recent 10 periods is [0.50, 0.55, 0.72, 0.48, 0.78, 0.52, 0.73, 0.80, 0.49, 0.76], with a variance of 0.0156. Set the variance threshold to 0.01.
[0064] In response to the variance value of 0.0156 exceeding the variance threshold of 0.01, indicating severe load fluctuations, the overload threshold is reduced from 0.75 to 0.70 to trigger the overload detection earlier, thus gaining more response time for subsequent scheduling.
[0065] The comprehensive load index of satellite E over the most recent 10 cycles is [0.30, 0.31, 0.29, 0.32, 0.30, 0.31, 0.30, 0.29, 0.31, 0.30], with a variance of 0.00009, which does not exceed the variance threshold of 0.01, indicating stable load. Therefore, the overload threshold is increased from 0.75 to 0.80 to reduce unnecessary scheduling caused by short-term load fluctuations.
[0066] It should be understood that the overload threshold adjustment range has upper and lower limits, for example, not lower than 0.60 and not higher than 0.90, to prevent the threshold from being too low to cause frequent scheduling or too high to cause failure to trigger.
[0067] S2. Each satellite node exchanges its own load status information through inter-satellite links to build a bandwidth scheduling network.
[0068] The bandwidth scheduling network differs from the physical topology of inter-satellite links; it is a logical topology built on top of the physical links. In this logical network, satellite nodes exchange load status information, not user service data. If all satellite nodes in a cluster were to directly exchange global status information, for a cluster of 60 satellites, the signaling volume of global exchange would reach the quadratic order of the number of nodes, causing high communication overhead on the control channel and thus squeezing the bandwidth available for service transmission.
[0069] The construction of the bandwidth scheduling network provides the infrastructure for subsequent hierarchical and clustered scheduling. After the 60 satellites exchange load status information through inter-satellite links, each satellite learns the load status of its corresponding neighboring nodes, logically forming a bandwidth scheduling network covering the entire cluster.
[0070] Optional, refer to Figure 3 S2 includes the following sub-steps: S21. Each satellite node divides the low-Earth orbit satellite cluster into multiple scheduling clusters based on its own orbital plane information, and the satellite nodes in each scheduling cluster elect a cluster head satellite node; S22. Member satellite nodes within each scheduling cluster report their own load status information to the cluster head satellite node via inter-satellite links. The cluster head satellite node aggregates the load status information into a cluster-level status summary, which includes the number of idle satellite nodes within the cluster and the total available bandwidth of the cluster. S23. Cluster head satellite nodes of adjacent scheduling clusters exchange their respective cluster-level state summaries; S24. Each satellite node pre-calculates the inter-satellite link availability for each time window within the next orbital cycle based on ephemeris data, generates a time-topology mapping table and stores it in the onboard memory, and queries the time-topology mapping table to update the list of neighboring satellite nodes when the current time window switches.
[0071] Satellites in the same orbital plane have relatively stable inter-satellite links. Twenty satellites in the same orbital plane are divided into a scheduling cluster, forming three scheduling clusters across the three orbital planes. Within each scheduling cluster, the satellite node with the lowest overall load index is selected as the cluster head, responsible for aggregating and forwarding cluster-level state summaries. Simultaneously, each satellite calculates the availability of each inter-satellite link within a future orbital period (e.g., 100 minutes) for each time window (e.g., every 5 minutes) based on the orbital elements of each satellite in the broadcast ephemeris, creating a two-dimensional mapping table between time windows and link states. This avoids the computational overhead of real-time topology reconstruction.
[0072] Continuing with the above scenario, the first scheduling cluster comprises 20 satellites in orbital plane 1, including satellites A and C. Assuming satellite C has the lowest overall load index, it is elected as the cluster head of the first scheduling cluster. The remaining 19 member satellites in the cluster report their status to satellite C, and satellite C aggregates this information to obtain a cluster-level status summary. For example, this cluster-level status summary might record 5 idle nodes and a total available bandwidth of 380 Mbps. Subsequently, satellite C exchanges this cluster-level status summary with the cluster heads of the second and third scheduling clusters, respectively.
[0073] The clustering and digest exchange mechanism described above reduces the signaling volume of state exchanges. For a cluster of 60 satellites, traditional global exchange requires sending 3540 state messages. After adopting the clustering mechanism, intra-cluster reporting exchanges generate 57 messages, and inter-cluster exchanges generate 6 digest messages, for a total of only 63 messages, achieving a compression ratio of approximately 56 to 1.
[0074] The above describes one implementation of dividing the satellite constellation into multiple scheduling clusters, based on orbital plane information. In other embodiments, each satellite node can also divide the low-Earth orbit satellite constellation into multiple scheduling clusters based on its geographical coverage area. For example, satellites covering the Asian region can be divided into one scheduling cluster, and satellites covering the Pacific region into another. Similarly, in addition to selecting the node with the lowest load, a deterministic election mechanism based on satellite number or a rotation system can be used to elect the cluster leader satellite node. Clustering based on geographical region and election based on fixed rules can also achieve the goal of compressing global state exchange signaling volume, and therefore also belong to the implementation methods of constructing scheduling clusters and electing cluster leader satellite nodes.
[0075] Furthermore, when member satellite nodes within each scheduling cluster report their own load status information to the cluster head satellite node in S22, they adopt differentiated broadcast cycles, including: determining the status broadcast cycle based on the rate of change of their own comprehensive load index; shortening the status broadcast cycle in response to the rate of change exceeding the rate of change threshold; and extending the status broadcast cycle in response to the rate of change not exceeding the rate of change threshold; and immediately triggering a status broadcast in response to a transition in their own load status, including transitions from normal state to warning state, from warning state to overload state, and from overload state to normal state.
[0076] Continuing with the above scenario, assume the rate of change threshold is set to 0.05 per cycle. Satellite A's composite load index rises from 0.55 to 0.68, then to 0.80 over three consecutive cycles, with a rate of change of approximately 0.125. In response to the rate of change exceeding the threshold of 0.05, the status broadcast cycle of Satellite A is shortened from the default 30 seconds to 10 seconds. In contrast, the composite load index of another satellite, E, remains at 0.30, 0.31, and 0.30 over three consecutive cycles, with a rate of change of approximately 0.005. In response to the rate of change not exceeding the threshold of 0.05, the status broadcast cycle of Satellite E is extended to 60 seconds. Furthermore, when Satellite A's composite load index jumps from 0.68 to 0.80, indicating a change from a warning state to an overload state, Satellite A does not wait for the next status broadcast cycle but immediately triggers a status broadcast to notify the cluster head satellite C.
[0077] To prevent high-frequency status broadcasts from crowding out the control channel or from providing outdated status information, upper and lower limits are set for the status broadcast period. For example, the shortest status broadcast period after shortening is limited to no less than 5 seconds, and the longest status broadcast period after extension is limited to no more than 120 seconds.
[0078] S3. Satellite nodes in an overloaded state search for target satellite nodes in an idle state in the bandwidth scheduling network, and send bandwidth request messages to the target satellite nodes. The bandwidth request messages carry the required bandwidth amount and service type information.
[0079] Reference Figure 4 In some embodiments, the process of retrieving target satellite nodes with an idle load status in S3 includes: a first-level retrieval: retrieving satellite nodes with an idle load status from among satellite nodes within a one-hop neighbor range; in response to the first-level retrieval not finding a satellite node that meets the conditions or the available bandwidth of the retrieved satellite node being less than the required bandwidth, performing a second-level retrieval: retrieving satellite nodes with an idle load status from all satellite nodes within the scheduling cluster through the cluster head satellite node; in response to the second-level retrieval not finding a satellite node that meets the conditions or the available bandwidth of the retrieved satellite node being less than the required bandwidth, performing a third-level retrieval: forwarding a bandwidth request message to the cluster head satellite node of an adjacent scheduling cluster through the cluster head satellite node, and having the cluster head satellite node of the adjacent scheduling cluster retrieve satellite nodes with an idle load status within the adjacent scheduling cluster.
[0080] Overloaded satellite nodes estimate the required bandwidth based on the current queue backlog and the latency requirements of specific services. The bandwidth request message includes the requesting node identifier, the required bandwidth, a list of service types, and the bandwidth percentage for each service type. The three-level search mechanism unfolds layer by layer from nearest to farthest, with each level only triggered if the previous level fails to meet the demand.
[0081] The following three progressive scenarios will be used for illustration. Scenario 1 corresponds to a successful first-level search: Satellite A is in an overloaded state, requiring 40Mbps of bandwidth. Satellite A performs a first-level search within its one-hop neighbor range and finds that neighboring satellite C is idle, and satellite C has an available bandwidth of 78Mbps. Since 78Mbps is greater than 40Mbps, satellite A directly selects satellite C as its target satellite node.
[0082] Scenario 2 corresponds to a first-level search failure but a second-level search success: Another satellite F is overloaded, requiring 50Mbps of bandwidth. There are no idle satellite nodes among satellite F's one-hop neighbors, thus triggering a second-level search. Satellite F searches within its first scheduling cluster via the cluster head satellite node and finds that a non-directly connected satellite G within the cluster is idle and has an allocable bandwidth of 55Mbps. Since 55Mbps is greater than 50Mbps, satellite G is selected as the target satellite node.
[0083] Scenario 3 corresponds to a second-level search failure but a third-level search success: Satellite H is overloaded, requiring 90Mbps of bandwidth. The total available bandwidth of all idle satellite nodes within the first scheduling cluster is less than 90Mbps, thus triggering a third-level search. The cluster head satellite node forwards the bandwidth request message to the cluster head satellite node of the adjacent second scheduling cluster. Within the second scheduling cluster, satellite K is found to be idle with an available bandwidth of 95Mbps, and satellite K is selected as the target satellite node.
[0084] According to network statistics, under normal load distribution, approximately 70% of bandwidth requests can be satisfied at the first-level retrieval stage, 25% at the second-level retrieval stage, and only about 5% require triggering a third-level retrieval across clusters. This step-by-step expansion strategy avoids the communication overhead and multi-hop forwarding latency caused by unconditional global broadcasting.
[0085] The above describes one implementation method for retrieving idle target satellite nodes, namely a three-level search based on cluster heads. In other embodiments, retrieving idle target satellite nodes can also employ a directed flooding search based on hop count limitations. For example, an overloaded satellite node directly broadcasts a request data packet carrying a lifetime parameter to its neighboring satellite nodes. Nodes receiving the request data packet that are idle respond, while those that are not idle decrement the lifetime parameter by 1 and continue forwarding until the lifetime parameter reaches zero. Directed flooding search can also achieve the purpose of retrieving idle nodes in a bandwidth scheduling network, and therefore also belongs to the implementation method for retrieving target satellite nodes.
[0086] S4. The target satellite node receives bandwidth request messages, determines the priority level of the bandwidth request messages based on the service type information, sorts the received bandwidth request messages according to the priority level, and allocates bandwidth to each bandwidth request message in turn according to the sorting result and the available bandwidth of the target satellite node.
[0087] Optional, refer to Figure 5 In S4, bandwidth is allocated to each bandwidth request message sequentially based on the sorting results and the available bandwidth of the target satellite node, including the following sub-steps: S41. The target satellite node divides the allocable bandwidth into an emergency reserved bandwidth pool and a general allocable bandwidth pool according to a preset ratio coefficient. The emergency reserved bandwidth pool only responds to bandwidth request messages with an emergency priority level. S42. For bandwidth request messages with an emergency priority level, allocate bandwidth from the emergency reserved bandwidth pool; S43. For bandwidth request messages with a priority level other than emergency level, bandwidth shall be allocated sequentially from the general allocable bandwidth pool in descending order of priority level. S44. In response to a bandwidth request message with a non-emergency priority level whose waiting time in the waiting queue exceeds the starvation time threshold, the minimum guaranteed bandwidth amount is forcibly allocated to the bandwidth request message from the general allocable bandwidth pool. S45. In response to the fact that the remaining bandwidth of the emergency reserved bandwidth pool is insufficient to meet the newly arrived bandwidth request message with the priority level of emergency, and the remaining bandwidth of the general allocable bandwidth pool is also insufficient to make up for the bandwidth difference of the newly arrived bandwidth request message, the bandwidth already allocated to the bandwidth request message with the lowest priority level is preempted, and the data to be transmitted corresponding to the preempted bandwidth request message is temporarily stored in the on-board buffer queue. S46. In response to the completion of the transmission of the bandwidth request message at the emergency level and the release of the occupied bandwidth, the preempted data to be transmitted is retrieved from the on-board buffer queue in a first-in-first-out order and the bandwidth is reallocated for transmission. An additional compensation time slice is allocated for the preempted bandwidth request message.
[0088] Service types are mapped to different priority levels. For example, disaster early warning and emergency rescue communications belong to the emergency level, government or military communications belong to the high level, commercial IoT data collection belongs to the medium level, and latency-tolerant sensor data reporting belongs to the low level. A preset proportional coefficient is used to physically isolate bandwidth resources. The compensation time slice refers to the extra transmission time that a preempted service receives after transmission is restored, ensuring that the total amount of data transmitted by the preempted service is not less than the expected transmission amount if it had not been preempted.
[0089] The following explanation uses a progressive scenario chain: Scenario 1 illustrates the normal bandwidth allocation process. Satellite C has an allocable bandwidth of 78Mbps. With a preset ratio of 0.2, Satellite C divides the 78Mbps into a 15.6Mbps emergency reserved bandwidth pool and a 62.4Mbps general allocable bandwidth pool. Satellite C receives three bandwidth request messages: Request 1 from Satellite A (emergency level, requiring 10Mbps), Request 2 from Satellite F (medium level, requiring 25Mbps), and Request 3 from Satellite G (low level, requiring 20Mbps). For Request 1, 10Mbps is allocated from the emergency reserved bandwidth pool. For the non-emergency level Requests 2 and 3, bandwidth is allocated sequentially from the general allocable bandwidth pool according to priority, i.e., Request 2 is allocated 25Mbps and Request 3 is allocated 20Mbps.
[0090] Scenario 2 demonstrates the anti-starvation mechanism. Assuming that request 3 has been waiting in the waiting queue for 60 seconds, exceeding the set starvation time threshold of 30 seconds, priority sorting is skipped, and a minimum guaranteed bandwidth of 5Mbps is forcibly allocated to request 3 directly from the general allocable bandwidth pool.
[0091] Scenario 3 illustrates the preemption trigger mechanism. After allocation in Scenario 1, the emergency reserved bandwidth pool has 5.6 Mbps remaining, and the general allocable bandwidth pool has 17.4 Mbps remaining. At this point, a new request, Request 4, arrives. Request 4 is an emergency request, requiring 20 Mbps of bandwidth. The remaining 5.6 Mbps in the emergency reserved bandwidth pool is insufficient to meet the demand for Request 4. The remaining bandwidth difference is 14.4 Mbps, while the remaining 17.4 Mbps in the general allocable bandwidth pool has already been partially occupied by Requests 2 and 3, and is insufficient to make up the difference. In response to this situation, satellite C preempts the bandwidth of the lowest priority request, Request 3, that is, it preempts 14.4 Mbps from the 20 Mbps already allocated to Request 3 and allocates it to Request 4. The data to be transmitted corresponding to the preempted 14.4 Mbps of Request 3 is temporarily stored in the onboard buffer queue.
[0092] Scenario 4 demonstrates the compensation rollback mechanism. After the emergency data transmission of Request 4 is completed and the occupied bandwidth is released, Satellite C retrieves the data to be transmitted for Request 3 from the on-board buffer queue, reallocates bandwidth for transmission, and allocates an additional compensation time slice for Request 3.
[0093] S5. The target satellite node transmits the bandwidth allocation result back to the satellite node that initiated the bandwidth request message via the inter-satellite link.
[0094] In some embodiments, S5 is followed by: S6. Satellite nodes in an overloaded state will have their comprehensive load index recalculated in the next statistical period after receiving the bandwidth allocation results; In response to the fact that the recalculated comprehensive load index still exceeds the overload threshold, a secondary scheduling is triggered. The secondary scheduling includes: forcibly increasing the search range of the target satellite node by one level and increasing the priority level of the bandwidth request message by one level. If the number of consecutive secondary scheduling operations reaches a preset number and the overall load index still exceeds the overload threshold, a degradation mode is triggered. The degradation mode includes: limiting the execution rate of the service with the lowest priority level currently being carried, and limiting the bandwidth occupied by the service to a preset proportion of the currently allocated amount.
[0095] The returned bandwidth allocation results include the target satellite node identifier, the amount of bandwidth allocated to each bandwidth request message, and the start and end times of bandwidth usage. Upon receiving this result, the overloaded satellite node incorporates the externally acquired bandwidth into its own available resource pool and begins forwarding service data streams to the target satellite node. The above steps S1 to S6 constitute a complete closed-loop control link: S1 load perception → S2 network synchronization → S3 request initiation → S4 allocation execution → S5 result return → S6 effect verification. After verification, the system returns to S1 to re-perceive the load status.
[0096] The closed-loop processing logic of S6 is explained through the following three-level progressive emergency response chain.
[0097] Scenario 1 illustrates the initial allocation to alleviate overload: After satellite A receives 40Mbps of bandwidth allocated by satellite C, the overall load index is recalculated in the next statistical period. The overall load index drops to 0.62, below the overload threshold of 0.75, indicating that the overload has been alleviated and the scheduling process ends.
[0098] Scenario 2: Initial allocation fails to alleviate the problem, secondary scheduling succeeds: After satellite A receives allocated bandwidth, the recalculated overall load index in the next statistical period is still 0.78, exceeding the overload threshold of 0.75. In response, secondary scheduling is triggered, forcibly elevating the search scope for the target satellite node from level one (one-hop neighbor) to level two (cluster-wide), and raising the priority of currently unmet bandwidth request messages from, for example, medium to high. Satellite A finds another idle satellite node within the cluster and obtains additional bandwidth, reducing the overall load index to 0.68.
[0099] Scenario 3: Secondary scheduling fails to alleviate the problem, triggering a degraded mode: Assume that after satellite A performs two consecutive secondary scheduling operations, the overall load index remains at 0.77, exceeding the overload threshold of 0.75. In response to the preset number of secondary scheduling operations reaching two and the overall load index exceeding the limit, a degraded mode is triggered. Satellite A implements rate limiting on the currently carried low-priority sensor data reporting service, restricting its bandwidth usage to 50% of the currently allocated amount. For example, the bandwidth occupied by the sensor data reporting service is forcibly compressed from 15Mbps to 7.5Mbps, thereby freeing up 7.5Mbps of bandwidth resources internally for higher-priority services. When the overall load index drops below the warning threshold, the rate limiting is automatically lifted, restoring normal transmission of low-priority services.
[0100] It should be understood that the sequence number of each step in the above embodiments does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present invention.
[0101] The above embodiments are only used to illustrate the technical solutions of the present invention, and are not intended to limit it. Although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present invention, and should all be included within the protection scope of the present invention.
Claims
1. A method for dynamic allocation and load balancing of inter-satellite link bandwidth in a low-Earth orbit satellite constellation, characterized in that, Includes the following steps: S1. Each satellite node in the low-Earth orbit satellite constellation periodically collects its own multi-dimensional load index, normalizes the values of each dimension of the multi-dimensional load index, dynamically determines the weight coefficient of each dimension based on the service characteristics information of the current time period, and performs a weighted summation of the normalized values of each dimension and the corresponding weight coefficient to obtain a comprehensive load index. The load status of each satellite node is determined based on the comparison result of the comprehensive load index and the overload threshold. The load status includes normal status, early warning status, overload status and idle status. S2. Each satellite node exchanges its own load status information through inter-satellite links to construct a bandwidth scheduling network; S3. A satellite node whose load status is overloaded retrieves a target satellite node whose load status is idle in the bandwidth scheduling network and sends a bandwidth request message to the target satellite node. The bandwidth request message carries the required bandwidth amount and service type information. S4. The target satellite node receives the bandwidth request message, determines the priority level of the bandwidth request message according to the service type information, sorts the received multiple bandwidth request messages according to the priority level, and allocates bandwidth to each bandwidth request message in sequence according to the sorting result and the available bandwidth of the target satellite node. S5. The target satellite node transmits the bandwidth allocation result back to the satellite node that initiated the bandwidth request message via the inter-satellite link.
2. The method for dynamic allocation and load balancing of inter-satellite link bandwidth in low-Earth orbit satellite constellations according to claim 1, characterized in that, The multi-dimensional load metrics include bandwidth utilization, user density in the coverage area, and service queue depth; the normalization of the values of each dimension of the multi-dimensional load metrics to obtain the comprehensive load index includes the following sub-steps: S11. Collect the occupied bandwidth and total available bandwidth of each inter-satellite link, and calculate the bandwidth utilization rate; S12. Collect the number of terminal access requests within the coverage area, and calculate the user density of the coverage area based on the number of terminal access requests and the area of the coverage area; S13. Collect the number of data packets in the current data queue to be transmitted to obtain the service queue depth; S14. Normalize the bandwidth utilization, the user density of the coverage area, and the service queue depth respectively. Determine the first weighting coefficient of bandwidth utilization, the second weighting coefficient of user density of the coverage area, and the third weighting coefficient of service queue depth based on the service characteristic information of the current time period. Multiply each normalized value by the corresponding weighting coefficient and sum them to obtain the comprehensive load index.
3. The method for dynamic allocation and load balancing of inter-satellite link bandwidth in low-Earth orbit satellite constellations according to claim 2, characterized in that, The dynamic determination of weight coefficients for each dimension based on the business characteristic information of the current time period includes: In response to the growth rate of the business queue depth exceeding the queue growth rate threshold, the third weight coefficient is increased and the first weight coefficient and the second weight coefficient are decreased accordingly; In response to the rate of change of user density in the coverage area exceeding the density change rate threshold, the second weighting coefficient is increased and the first weighting coefficient and the third weighting coefficient are decreased accordingly.
4. The method for dynamic allocation and load balancing of inter-satellite link bandwidth in low-Earth orbit satellite constellations according to claim 2, characterized in that, Determining the load status of each satellite node based on the comparison result of the comprehensive load index and the overload threshold includes: Set a warning threshold, wherein the warning threshold is less than the overload threshold; In response to the comprehensive load index exceeding the warning threshold but not exceeding the overload threshold, the load status is determined to be a warning status, and a status query request is sent to neighboring satellite nodes in the bandwidth scheduling network. The list of candidate satellite nodes that meet the idle conditions and the current allocable bandwidth of each candidate satellite node are received and cached. In response to the comprehensive load index exceeding the overload threshold, the load state is determined to be an overload state, and the candidate satellite node with the largest currently allocable bandwidth is selected from the candidate satellite node list as the target satellite node.
5. The method for dynamic allocation and load balancing of inter-satellite link bandwidth in low-Earth orbit satellite constellations according to claim 4, characterized in that, The overload threshold is dynamically adjusted based on historical load statistics, including: Calculate the variance of the comprehensive load index over the most recent M statistical periods; In response to the variance value exceeding the variance threshold, the overload threshold is reduced; In response to the variance value not exceeding the variance threshold, the overload threshold is increased.
6. The method for dynamic allocation and load balancing of inter-satellite link bandwidth in low-Earth orbit satellite constellations according to claim 1, characterized in that, S2 includes the following sub-steps: S21. Each satellite node divides the low-Earth orbit satellite cluster into multiple scheduling clusters according to its own orbital plane information, and the satellite nodes in each scheduling cluster elect a cluster head satellite node; S22. Member satellite nodes within each scheduling cluster report their own load status information to the cluster head satellite node via inter-satellite links. The cluster head satellite node aggregates the load status information into a cluster-level status summary, which includes the number of idle satellite nodes within the cluster and the total available bandwidth of the cluster. S23. The cluster head satellite nodes of adjacent scheduling clusters exchange their respective cluster-level state summaries; S24. Each satellite node pre-calculates the inter-satellite link availability for each time window within the next orbital cycle based on ephemeris data, generates a time-topology mapping table and stores it in the onboard memory, and queries the time-topology mapping table to update the list of neighboring satellite nodes when the current time window switches.
7. The method for dynamic allocation and load balancing of inter-satellite link bandwidth in low-Earth orbit satellite constellations according to claim 6, characterized in that, In S22, when member satellite nodes within each scheduling cluster report their load status information to the cluster head satellite node, a differentiated broadcast cycle is used, including: The status broadcast period is determined based on the rate of change of its own comprehensive load index. If the rate of change exceeds a threshold, the status broadcast period is shortened. If the rate of change does not exceed the threshold, the status broadcast period is extended. In response to a transition in its own load state, a status broadcast is immediately triggered. The transition includes changing from a normal state to a warning state, changing from a warning state to an overload state, and changing from an overload state to a normal state.
8. The method for dynamic allocation and load balancing of inter-satellite link bandwidth in low-Earth orbit satellite constellations according to claim 6, characterized in that, The process of retrieving target satellite nodes whose load status is idle in S3 includes: Level 1 search: Search for satellite nodes with an idle load status among satellite nodes within the one-hop neighbor range; In response to the failure of the first-level search to find a satellite node that meets the conditions or the available bandwidth of the found satellite node is less than the required bandwidth, the second-level search is performed: the cluster head satellite node searches for satellite nodes that are idle in the load state among all satellite nodes in the scheduling cluster. In response to the second-level search failing to find a satellite node that meets the conditions or the available bandwidth of the found satellite node being less than the required bandwidth, a third-level search is performed: the bandwidth request message is forwarded by the cluster head satellite node to the cluster head satellite node of the adjacent scheduling cluster, and the cluster head satellite node of the adjacent scheduling cluster searches for satellite nodes in the adjacent scheduling cluster whose load status is idle.
9. The method for dynamic allocation and load balancing of inter-satellite link bandwidth in low-Earth orbit satellite constellations according to claim 1, characterized in that, In step S4, bandwidth is allocated to each bandwidth request message sequentially according to the sorting result and the allocable bandwidth of the target satellite node, including the following sub-steps: S41. The target satellite node divides the allocable bandwidth into an emergency reserved bandwidth pool and a general allocable bandwidth pool according to a preset ratio coefficient. The emergency reserved bandwidth pool only responds to bandwidth request messages with an emergency priority level. S42. For bandwidth request messages with an emergency priority level, allocate bandwidth from the emergency reserved bandwidth pool; S43. For bandwidth request messages with a priority level of non-emergency, bandwidth is allocated sequentially from the general allocable bandwidth pool in descending order of priority level; S44. In response to a bandwidth request message with a priority level of non-emergency having a waiting time in the waiting queue exceeding a starvation time threshold, a minimum guaranteed bandwidth amount is forcibly allocated to the bandwidth request message from the general allocable bandwidth pool. S45. In response to the fact that the remaining bandwidth of the emergency reserved bandwidth pool is insufficient to meet the newly arrived bandwidth request message with an emergency priority level, and the remaining bandwidth of the general allocable bandwidth pool is also insufficient to make up for the bandwidth difference of the newly arrived bandwidth request message, the bandwidth already allocated to the bandwidth request message with the lowest priority level is preempted, and the data to be transmitted corresponding to the preempted bandwidth request message is temporarily stored in the on-board buffer queue. S46. In response to the completion of the bandwidth request message transmission at the emergency level and the release of the occupied bandwidth, the preempted data to be transmitted is retrieved from the on-board buffer queue in a first-in-first-out order and the bandwidth is reallocated for transmission. An additional compensation time slice is allocated for the preempted bandwidth request message.
10. The method for dynamic allocation and load balancing of inter-satellite link bandwidth in a low-Earth orbit satellite constellation according to claim 8, characterized in that, Following S5, the following is also included: S6. Satellite nodes in an overloaded state will recalculate the comprehensive load index in the next statistical period after receiving the bandwidth allocation results; If the recalculated comprehensive load index still exceeds the overload threshold, a secondary scheduling is triggered. The secondary scheduling includes: forcibly increasing the search range for the target satellite node by one level and increasing the priority level of the bandwidth request message by one level. In response to the number of consecutive secondary scheduling operations reaching a preset number and the comprehensive load index still exceeding the overload threshold, a degradation mode is triggered. The degradation mode includes: limiting the execution rate of the service with the lowest priority level currently being carried, and limiting the bandwidth occupied by the service to a preset proportion of the currently allocated amount.