Skip to content

Demand-Driven Payload Resource Scheduling

Maturity: Preview

Payload resource scheduling chooses contiguous uplink/downlink bandwidth, reviewed operating points, downlink RF power and active physical beams for queued service demand. Use it to study the joint limits of spectrum, payload DC power, beam hardware and reachable transport paths.

The feature is opt-in under transport.scheduler.payload_resources. Omitting the block or setting enabled: false keeps the existing scheduler path.

Allocation And Delivery

Each committed interval starts with service-ready queues. The allocator tries to meet a useful-service floor, capped by actual demand, in deterministic priority/fairness order. It then attempts surplus service within finite search limits. An infeasible point can remain unserved; the floor is not a universal service guarantee. In duplex mode the common floor uses the larger directional floor, capped by the smaller ready directional demand.

The trial cap is shared across the fleet. Minimum admissions leave one quarter of that cap available for surplus and divide their remaining work across the remaining eligible points. A point that reaches its local limit leaves later points an opportunity; a partially met floor is rolled back. Surplus attempts also have local limits. Unused admission work remains available to surplus. Reaching a search limit does not establish physical infeasibility.

One physical beam owns its boresight, directional block ranges, operating points and downlink RF watts. Multiple compatible flows can share that beam by fractional time division, with separate UL and DL fractions. Power and spectrum are counted once per beam; reserved useful rates are counted per flow. A shared beam uses the minimum path availability of its members. Authored beam, flow, satellite, feeder and ISL ceilings still apply.

Allocation is not end-to-end delivery. Service accepted downstream leaves the service-ready queue and must not be retransmitted. Compare admitted traffic, service consumed, delivered traffic and remaining backlog separately. Keep the existing interval/final-sample weights when reconciling bytes and energy.

Configuration

Enable this only in a service mission with normal link closure, point_fill_policy: one_per_point_then_fill, compatible antenna/profile inputs, power.payload.model: rf_derived, power.payload.policy.mode: hybrid, and the power execution stage. Set artifacts.write_transport_analysis: true when retaining resource evidence. Beam hopping cannot be enabled simultaneously. The DC ceiling must cover every applicable payload mode baseline.

This schema- and semantic-validated excerpt limits an existing physical layout to two active beams. Merge it into an otherwise valid service RunSpec; it is not a standalone scenario. It assumes an authored, compatible nr_uc2 service profile and RF-derived power metadata. The efficiencies and final C/N thresholds are example engineering assumptions, not a general NR MCS table. Review them against the actual terminal, profile and carrier before a study.

transport:
  scheduler:
    service_demand_direction: duplex
    point_fill_policy: one_per_point_then_fill
    ignore_link_closure: false
    payload_resources:
      enabled: true
      dc_ceiling_w: 1000
      hardware:
        mode: existing_layout
        max_active_beams: 2
      spectrum:
        ul:
          lower_hz: 1993740000
          block_hz: 180000
          block_count: 14
          reserved_blocks: [7, 8, 9, 10, 11, 12, 13]
          reuse: orthogonal_per_satellite
        dl:
          lower_hz: 2180500000
          block_hz: 180000
          block_count: 50
          reserved_blocks: [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49]
          reuse: same_satellite_sinr
      operating_points:
        - point_id: example-ul
          profile_id: nr_uc2
          direction: ul
          net_efficiency_bps_hz: 0.1984126984126984
          cnr_required_db: -5.64
          provenance: Example net UL rate per Hz and final C/N including margin once.
        - point_id: example-dl
          profile_id: nr_uc2
          direction: dl
          net_efficiency_bps_hz: 0.4444444444444444
          cnr_required_db: -2.07
          provenance: Example net DL rate per Hz and final C/N including margin once.
      tx_power_dbw: [-2.2, 2.8, 7.8]
      service_floor_bps: {ul: 32000, dl: 100000}
      fairness: {deficit_cap: 10, deficit_gain: 1}
      search_limits:
        max_candidates: 10000
        max_trials: 20000
        max_surplus_iterations: 1000

lower_hz is the carrier's lower edge; block_count × block_hz is its total width. Reserved zero-based blocks are never assigned. UL-only and DL-only service must provide exactly the matching directional spectrum and operating points. UL terminal power remains the existing UE assumption; tx_power_dbw controls satellite downlink RF power in dBW, not payload electrical watts.

With orthogonal_per_satellite, usable UL spectrum is shared across all beams on that satellite. In this example, seven usable 180-kHz blocks at the stated efficiency provide 250 kbps in total. Increasing the beam count does not multiply that capacity. The 100-kbps common duplex floor uses at least three UL blocks per independent beam, even though the directional UL floor is lower.

Operating points use net payload bits/s/Hz and a final required C/N in dB, including implementation margin exactly once. Profiles in one catalog must have compatible family, carrier and timing. Width scaling is an explicit engineering approximation; it does not infer Shannon capacity or a new coding/BLER curve.

existing_layout preserves real beam IDs and authored target-plan axes. homogeneous_steerable_pool instead requires a named template_beam_id from an existing steerable, body-fixed beam and fixed targeting; it does not clone a heterogeneous layout. The active-beam limit cannot exceed the applicable existing scheduler ceiling.

For a matched fixed-choice comparison, keep the same engine, carriers, demand, paths and power model. Restrict allowed_block_counts in each band and use a single tx_power_dbw value. Changing only usable/reserved blocks is different from changing carrier frequency or block size.

Fixed choices constrain physical widths and RF power, not the useful service rate. Surplus service can still fill the remaining capacity of a shared beam. Adaptive choices can instead fit narrower beams for more distinct points. Report served points and their rate distribution alongside delivered bytes: broader service can coexist with lower total throughput.

Power And RF Boundaries

The ceiling applies to instantaneous service-payload load-side DC watts: mode baseline, shared overhead, active receive chains and transmit chains with PA/beamforming overhead. It is not a whole-spacecraft bus or battery limit. Availability weights average load and energy after the peak allocation check; distribution efficiency belongs to downstream spacecraft power accounting. See Power for generation, storage and other loads.

Downlink same_satellite_sinr checks the complete active physical-beam set using flat in-band power spectral density and ideal receiver filters. Interference power is integrated over spectral overlap and added in linear units to noise over the victim bandwidth. Clear-link margin alone does not establish active set closure.

UL orthogonal_per_satellite prevents block overlap between beams on one satellite. ideal_spatial_reuse is an explicit UL interference-omitted sensitivity. Neither policy models inter-satellite interference, and downlink SINR is not evidence of uplink interference closure. Feeder and ISL links retain the existing transport contact model and authored capacity/terminal policies. An ISL neighbor-selection limit is not a substitute for an authored simultaneous terminal limit.

Outputs And Limits

Enabled evidence lives under transport/payload_resources/:

Artifact Use
payload_resources_summary.json Resolved contracts, totals, search limits and rejection counts
payload_resources_beams.parquet Physical beam ownership, boresight, blocks, RF watts, common capacity and availability
payload_resources_allocations.parquet Flow-to-beam joins, path, reserved rates, directional fractions and RF margins
payload_resources_points.parquet Demand/service accounting and point outcomes
payload_resources_satellite_steps.parquet Peak/average DC load, energy, active chains and spectrum occupancy

Every enabled run also writes transport/payload_solve_observation.json, including when detailed resource tables are suppressed. It reports allocator phase time, floor/surplus work, search-limited and geometry-truncated intervals, and a partition of supplied candidate rows: attempted, unattempted within the candidate limit, and excluded by that limit. Counts sum interval/row pairs; they are not distinct users or a percentage of all possible schedules.

An attempted row may have many unevaluated configurations. The total outer geometry domain and joint schedule space remain unknown, and a rejection in one schedule does not prove that a candidate is always infeasible. These unknowns remain explicit in the report. Accepted-proposal timestamps can precede a floor rollback; they do not identify final delivered-byte gains. Allocator phase time excludes geometry, transport commit and serialization, so use whole-run wall time when assessing performance. Payload-disabled runs do not create this observation file.

Join these to the retained transport analysis delivery artifacts for end-to-end results; resource reservations are not reception events. Rejection counts describe attempted choices and can count a point many times.

Count unique points per interval when assessing service breadth; multiple allocation rows may serve one point. Count active satellites per interval as well as distinct satellites across the run. A fleet can use every satellite at some time while using only a small fraction simultaneously. Keep continuous useful-service bytes separate from integer item-delivery totals when checking rounding and backlog conservation.

The summary records floor_trials, surplus_trials and local budget exhaustion counts. The two phase totals sum to allocator_trials. Trials count candidate search entries and complete feasibility proposals; reserved blocks and proven occupied frequency spans are excluded before enumeration. Read search_policy in the summary semantics when comparing counts across software revisions.

Candidate retention gives satellites and distinct points turns before extra probe/beam alternatives. Stable IDs and absolute timestamps govern rotation, so execution-window boundaries do not change selection. The cap still limits coverage of the candidate space; a truncated list is not a complete visibility or capacity assessment.

The allocator is a bounded heuristic. More bandwidth, hardware or operating choices can change search order and exhaust the budget sooner, so achieved delivery need not improve monotonically. Report exhausted/truncated intervals, unmet demand and both total wall time and peak memory. Compare fixed choices and adaptive choices at the same physics; use the disabled engine separately for total feature overhead. A neutral or negative sensitivity is a result, not a reason to change the denominator or discard the case.

Geometry establishes closure at the selected representative service probes, not continuous illumination of an entire cell. Inspect probe construction and spacing against actual cell footprints before making a full-cell coverage claim. Narrow positive RF margins also need separate engineering margin assessment. These results do not certify an optimum, an unconstrained capacity, or omitted interference and hardware constraints.

See Native Earth-Fixed-Cell Grids for service-domain denominators and Communications, Service, And Transport for the surrounding profile, route and delivery model.