Interference-aware Demand-based User Scheduling in Precoded High Throughput Satellite Systems

—In recent years, dynamic traffic demand requisites have driven the satellite communication service providers to implement reconfigurable demand-driven features to align the delivered throughput with the temporal and geographical variations of the traffic demand. Also, in current interference-limited High Throughput Satellite (HTS) systems, the resulting inter-beam co-channel interference can be mitigated by carefully performing precoding and user scheduling. Unfortunately, the conventional user scheduling algorithms fail to provide demand satisfaction for dynamic traffic demand requisites. Hence, in this paper, we focus on the user scheduling design for precoded satellite systems where both co-channel interference and user demands are taken into account. In particular, we first classify the sectors in each beam according to the interference they may cause to neighboring beams. Next, we formulate the scheduling problem such as the activation of neighboring beam sectors is avoided while proportionally dwelling on the sectors based on their traffic demands. The supporting numerical results for different demand distribution profiles validate the effectiveness of proposed interference-aware demand-based user scheduling over conventional scheduling techniques.

I. INTRODUCTION The current broadband services are provided by the satellite operators using state of the art multi-beam satellite systems where the resulting inter-beam interference is mitigated using four colour frequency reuse scheme [1], [2]. However, the demand for broadband services is evolving and in recent years, due to mobile nature of the users, broadband demand is more dynamic than ever [3]. On the other hand, the evergrowing data demand together with the inherent satellite spectrum scarcity necessitates spectral efficient transmission. To meet such growing demand and to optimally exploit spectral resources across the satellite network, operators are looking forward to implement full frequency reuse in combination with co-channel interference mitigation techniques [4]- [6].
Linear precoding techniques have been recognized as an effective processing tool to mitigate the inter-beam interference resulting from aggressive spectrum reuse schemes [7]. The most popular low-complexity precoding design in satellite communications is the so-called Minimum Mean Square Error (MMSE) precoding [5], [8]- [10], which exploits the Channel State Information (CSI) at the satellite gateway side by operating on the signal before transmission. The MMSE precoding is sometimes known in the literature as zero-forcing precoding, since its closed-form solution involves the channel matrix inversion. To overcome stability issues, a regularization factor is typically applied to the channel matrix to facilitate the inverse calculation. Precoding for satellite communications has reached a high Technology Readiness Level (TRL) with its recent demonstration over a real satellite system using DVB-S2X specifications [11], confirming its feasibility for practical systems.
User scheduling plays a key role in precoded communication systems [12], [13]. Typical systems involve a large number of users, particularly for satellite communications, claiming for an efficient time-multiplexing approach led by the user scheduler block. For MMSE-based precoded-systems, their performance is largely degraded when serving spatially correlated users [14]. This is because the scheduling determines the actual channel matrix to be inverted. As highlighted in [9], precoding and user scheduling should be ideally jointly optimized to achieve the optimal performance due to their coupled nature [15]- [17].
On the other hand, satellite operators and service providers are obliged to provide pre-agreed levels of throughput to broadband users. Such agreed throughput is typically defined in a legal contract termed as the Service-Level Agreement (SLA) [18]. Furthermore, satellite resources are scarce and expensive, and have to be efficiently used [19], [20]. It is expected that users within the coverage area will have different traffic demand needs [21], [22]. Therefore, demandaware strategies are preferred to avoid situations where users' demand is low compared to the supplied capacity. While the demand-aware radio resource allocation has been extensively studied in the literature (see Section I.A), herein we focus on the user scheduling, which is a low-complexity degree of freedom that allow the non-uniform distribution of capacity across users.

A. Related Works
Interference avoidance and interference mitigation has been extensively discussed in both satellite and terrestrial commu-nications systems. Early works include Dirty Paper Coding (DPC) as an effective interference mitigation coding scheme [23]. However, due to the high complexity of DPC, many heuristic precoding techniques such as Zero Forcing (ZF) and Regularized ZF/MMSE have been explored [24]- [30]. Given its maturity [11], in this work we selected MMSE precoder for precoding and focus on the effective user scheduling algorithm to mitigate the inter beam interference and offer user demand satisfaction.
Considering the user scheduling in precoded-satellite systems, the authors of [9], [15] discuss the failure of precoding to mitigate the inter-beam co-channel interference during the scheduling of users with co-linear channels and hence, express the need for scheduling orthogonal users across beams.
Even though precoding is performed after user scheduling in the physical layer transmission chain, there exists a strong coupling between both. So, considering the joint nature of precoding and user scheduling, the works in [15]- [17] suggest a joint solution where they propose sub-optimal solutions that reach stationary points of the original problem. However, the joint user scheduling and precoding problem is non-convex and NP-hard. This means that multiple locally optimal points exist, and theoretical guarantees are weak or non-existent. Furthermore, obtaining the optimal solution requires an exhaustive search-based user grouping and scheduling, which quickly become impractical due to exponential complexity. This was the approach followed in ESA PreDem project [31], confirming the unsustainable complexity. As a consequence, most of the literature have opted to precode and schedule separately, but considering their coupling as intuitions for their design. Hence, to improve the performance of precoding and the consequent system offered capacity, multiple authors in literature, including [8], [32], [33], have scheduled orthogonal users to multiple beams at the same time.
As a simplistic approach, some of the authors achieve such orthogonality between scheduled users based on geographical location. The authors in [34] propose geographic user clustering approach and use Euclidean distance to relate channel vectors and impose channel orthogonality. In a comparable approach, the authors in [35] propose a geographical scheduling algorithm and schedule together users belonging to similar locations in their respective beams. Similarly, the authors in [36] propose a user grouping scheme using random pre-processing and the before mentioned Euclidean norm. Another similar approach to interference avoidance is as by the authors of [37], where using graph theory in cellular networks, they propose a Least Beam Collision (LBC) algorithm to reduce inter-cell interferences (ICI) which works by avoiding the scheduling of any two adjacent cells simultaneously to the beam which may interfere with each other. In [38], the authors propose cross-layer scheduling algorithm that make use of the spectral clustering technique, whose primary goal is to generate clusters of users with orthogonal channel characteristics. Also, the authors of [39] propose interference aware scheduling using partial channel state information (CSI) and minimise scheduling users in the interfering beams together. The authors of [40] investigate user scheduling for multicast transmission with full frequency reuse and multicast precoding. However, as an enhancement, other authors have considered the channel characteristics using Euclidean norm and cosine similarity. Accordingly, channel orthogonality and the semi-orthogonal scheduling as defined in [41], has been widely used in the satellite community to deal with the scheduling problem. Furthermore, in [42], the authors use the cosine similarity metric to sequentially select the users with most orthogonal channel vectors.
While these aforementioned works effectively improve the overall system throughput, they have not considered the actual user traffic demands. The latter can translate into systems that are pushing the satellite limits to achieve high capacity, while this is not actually requested by the users.
Regarding the satellite-based demand matching problem, there has been few works addressing this from different perspectives. To support the dynamic growth of satellite technology and operational requirements, recent developments have focused on generic flexible payload technology [43], [44]. Considering time-domain flexibility, authors have proposed beam-hopping designs considering users' quality of service [45]. The user demand satisfaction was part of the formulation in [46], [47], which focused on frequency and/or power allocation. More recently, some works have focused on reconfigurable beam sizes and positions to match the traffic demand with four color frequency coding with a simplified resource allocation [48], [49]. However, demand matching can be further enhanced by proper user scheduling where the primary goal is to assign the system capacity where it is actually needed. Hence, in this paper, we emphasise scheduling algorithms that majorly consider demand matching problem and do not just intend to maximize the offered throughput.

B. Contribution
The major contribution and novelty of this paper aims on including demand-driven adaptability at user scheduling while using MMSE design for precoding. To the best of the authors' knowledge, all related works have so far focused on maximizing the offered throughput by mitigating inter-beam interference using precoding and scheduling. However, as capability to flexibly allocate on-board resources over the service coverage is becoming a must for future broadband multibeam satellites, in this work, we consider demand matching as our prime objective. In other words, this work aims to assign the system capacity where it is actually needed and hence the proposed scheduling design is based not only from the maximum throughput perspective but also considering the aforementioned demand matching problem. The detailed contribution of the paper can be listed as follows: 1) The user scheduling problem is typically based upon a predefined user-beam assignment. In most works of literature, a "beam-free" approach [50] is followed where the users are orthogonally assigned to beams based on the beam gain that is observed by the users. Such an approach fails to exploit the unused resources of neighbouring beams in hot-spot scenarios. Hence, we propose a novel semi-beam-free user-beam assignment in Section II-C, where users are assigned to beams only when they are in close vicinity of the main beam. Accordingly, such assignments not only allow the use of resources of low-demand beams to serve users in neighboring hotspot regions but also avoids high dimension scheduling problem that translates in long computational times. 2) Next, as most of the related works fail to express a distinct relation between any user, beam and time, we define a novel scheduling model in Section II-D and, furthermore, unlike the related works that do not address demand driven systems, we formulate demand satisfaction using an appropriate queue model in Section II-E. 3) While all the related works consider co-channel interference and perform user scheduling to maximize the offered capacity or improve fairness, we consider in Section III both co-channel interference and user demand requests and formulate a generalized problem statement for the interference-aware demand-based user scheduling. In particular, we make use of the queue model and assume an initial queue status proportional to the user demand, and our objective is to minimize the remaining data in the users' queues after a particular time interval. 4) Lastly, we analyse the problem statement which turns out to be of non-convex nature and propose a novel heuristic interference-aware demand-based user scheduling algorithm in Section IV which follows a 5-step approach. First, in accordance with Section IV-A, we group the users into sectors based on their geographical locations. Then we categorize sectors as interfering and non-interfering classes in Section IV-B. We use graph theory in Section IV-C to perform edge pruning to simplify the future steps. Later, in Section IV-D we perform class scheduling to minimize the inter-beam interference while dwelling just enough to satisfy the sectors' demand. Finally, in Section IV-E, we perform a user scheduling within each sector of the beam with the goal to accurately satisfy the particular users' demand. The rest of the paper is organised as follows: In Section II, the system model employing multi-beam high throughput satellite channel, Beam-User Set formulation,Scheduling model and Queue model is described. In Section III, a generalized problem statement is defined. A novel heuristic five step method for user scheduling is explained in Section IV. Section V provides the simulation results, and section VI concludes the paper.
Notation: We use upper-case and lower-case bold-faced letters to denote matrices and vectors, respectively. • denotes the element-wise Hadamard operations. (·) T denotes the transpose of (·). | . | and ∥.∥ depict the amplitude and Euclidean norm, respectively.

A. Multi-beam Satellite System
We consider a multi-beam satellite system that includes a ground segment (single gateway with ideal feeder link is assumed) and a space segment (single non-regenerative GEO HTS) as shown in Figure 1. In the forward link, the multibeam satellite system provides service to N number of singleantenna users using K spot beams where N >> K, which are distributed across the coverage area of the satellite. The user distribution on-ground is typically non-uniform, e.g. airport surrounding areas are typically more congested than residential low-populated areas. In addition, the demand requests of users depend on the final service, e.g. satellite backhauling terminals tend to aggregate cellular requests of many users resulting in high demand, while residential broadband VSAT terminals typically requests low traffic. Figure 2, shows beam footprint over Europe using 71 fixed beams with flight user locations in blue, ship user locations in red and FSS user locations in beige, from which, it is evident that broadband users across Europe are not uniformly distributed. Also, different users have different throughput demand and QoS requirements.
In this paper, we focus on a bent-pipe GEO satellite system where all the signal processing blocks are implemented on ground at the gateway side. Therefore, the computation and implementation of the precoding matrix is performed at the gateway. After that, the precoded signals are transmitted through the feeder link to the satellite and the satellite performs a frequency shift, amplifies and forwards the precoded signals to the final users on ground.
Low-complexity linear precoding techniques are considered to alleviate the complexity burden of the gateway [51]. The forward link air interface is assumed to be based on DVB-S2(X) [52], which considers Adaptive Coding and Modulation (ACM) allowing real-time adaptation of transmission parameters according to the link conditions.

B. Multi-beam Satellite Channel
The satellite antenna architecture is assumed to be able to generate a total number of K beams. For the methodology presented in this paper, it does not matter if the beams are conformed with a single-feed-per-beam (SFPB) architecture or a multiple-feed-per-beam (MFPB). The received signal of user n is y n and is expressed as, where h n ∈ C K×1 is the CSI vector corresponding to this particular user. By rearranging all the users' received signals in a vector y = [y 1 . . . y N ] T ∈ C K×1 , the above model can also be expressed as, by considering R K×K is the system channel matrix whose the (n, k)th component is given by, where λ is the wavelength of transmission, G kn is the gain of beam k in the direction of user n , G Rn is the user's receive antenna gain and D nk is the distance between the satellite transmit antenna and user's receiving antenna. The phase matrix Φ ∈ C K×K is expressed as, where Φ x is a uniform random variable in [2π, 0] and [ϕ] xy = 0, ∀x ̸ = y. The precoded signal is given by, where W is the precoding matrix and s is vector of transmit symbols that satisfies [ss H ] = I. The precoding matrix W is obtained with the well-known MMSE design, which can be expressed as, where α r is a predefined regularisation factor and η is the power allocation factor defined as, with P tot being the total available power.

C. Beam-User Set (G k ) Formulation
As a pre-scheduling step, each user needs to be associated with potential beams from where it can receive service. The latter is known as user-beam association. Typically, users are associated to a single beam, from whom best beam-pattern gain is observed. However, it is beneficial to consider multiple beams associated to each user, particularly for those user located far from the beam center. The latter is particularly interesting when dealing with uneven user distributions, which may result in congested and uncongested beams. In such cases, the resources of uncongested beams can be exploited to alleviate the congestion of neighboring beams.
The objective of this section is to come up with an adequate user-beam association, which will be considered as baseline for the proposed interference-aware demand-based scheduling. Accordingly, for every beam k, we need to formulate a unique user pool called Beam-User Set (G k ). This set G k contains all the users that beam k can schedule. By employing a time division multiplexing access (TDMA) scheme, each beam will schedule only one user from the set G k at each scheduling interval t.
We make use of a binary relation matrix G ∈ B N ×K , where each element, g (n,k) = {0, 1}, ∀(n, k) is a binary variable that denotes the user assignment to the beam. A simple approach to formulate G k is to consider all the N users associated to all beams. This is sometimes referred as "beam-free" approach in the literature. In such case, G k = N , ∀k. where N is the set of all N users. Accordingly, the previously proposed binary relation matrix G ∈ B N ×K , is all-ones matrix, and hence every element, g (n,k) = {1}, ∀(n, k). Even though such an approach is beneficial for its holistic approach, assigning specific users to beams with poor antenna gain is an inefficient design. This is because users with poor channel gain in any beam will never be scheduled in that beam if the link budget cannot be closed. Furthermore, the beam-free approach result in high dimensional combinatorial problems when formulating scheduling techniques, resulting in computationally complex designs.
Hence, the potential number of beams from which a particular user is able to receive enough beam-pattern gain is limited to only few beams. Accordingly, we propose to reformulate the user-beam association problem as follows, where d(n, k) is the Euclidean distance between the geographical location of the user (x n ) and the beam center (c k ) and is defined as, and d min is the beam boundary measured from the beam center that decides user association to a beam and is used to penalize the inefficient user-beam associations. Figure 3 shows a simplified model with 3 beams and different beam-overlapping based on the value of d min in problem (8). Accordingly, Users in region R4 can be shared between 3 beams and users in regions R1, R2, and R3 can be shared between 2 beams. Figure 4 shows the benefits of sharing users between two beams. In such cases, when a user of high demand (denoted in red) belongs to beam-user set of two adjacent beams, the high-demand user can be scheduled more often by either of the two beams, which can lead to better demand satisfaction.

D. Scheduling Model
The scheduling model as illustrated in Figure 5 is used to express the relation between the scheduled user n to beam k at any time instance t. In this work, to develop a relation between users, beams and time slots, we formulate a binary The value of N k varies for different values of k and is the cardinality of Beam-User Set (N k = |G k |). Also, u k (n,t) = {0, 1}, ∀(n, k, t) is a binary variable that denotes whether a user n is scheduled to a beam k at time t or not.
In this work, we formulate the relation matrix M using block-wise scheduling methodology, i.e. we consider a time window composed of T successive scheduling time-slots. More precisely, the scheduling optimization is solved only once every T, and provides the scheduling solution for each of the scheduling time-slots included in the considered time window. In such approach, we assume, that the user demand does not change drastically within the time window T , and also the channel characteristics remain invariant (which is typically the case for GSO systems assuming reasonable scheduling periods). The CSI is assumed to be perfectly estimated following the Super-Frame (SF) pilot structure defined in DVB-S2X [52].

E. Queue Model
The objective of the proposed scheduling is two-fold: reduce interference and satisfy the users' demand. Focusing on the latter, herein we introduce the queue model. Essentially, the scheduling design will aim at emptying the users' queues by the end of the T scheduling time-slots. The demand requirements of the users in the satellite network are usually expressed in bits per second (bps). Accordingly, the initial queue status of any user n can be defined in bits as, where d n is the demand of any user n and T is the total number of time-slots, for example, each time-slot duration can be 1.3ms. Furthermore, the instantaneous queue status of any user n in bits at any time t is defined as, where τ is the duration of every scheduling slot in seconds and Q(n, (t − 1)) is the queue status at any time instance (t − 1). C (n,t) is the offered capacity to a user n at the time t and is defined as, where C k (n,t) is the offered capacity to a user n by beam k at the time t and is defined as, where B is the user bandwidth and SIN R k (n,t) is the signal to interference plus noise ratio offered by beam k to user n at time t and is defined as, where s(t) k is the encoded information signal transmitted from the k th beam at time t. w(t) k is the associated beamforming vector for k = 1, 2, ..., K and N(t) n is a random variable distributed as CN (0, σ 2 ), modelling the zero-mean Additive White Gaussian Noise (AWGN) measured at the user n's receiving antenna at time t.
Assuming T scheduling windows, the desired situation would be that each queue is emptied at the end of T time slots, i.e. Q(n, T ) = 0, ∀n.

III. GENERALIZED SCHEDULING PROBLEM STATEMENT
In this section, we present the generalized scheduling problem formulation. As anticipated in the previous section, our goal is to ensure that all users' queues are vacated or with very few remaining bits at the end of the scheduling window interval T. Based on this intuition, we formulate the objective function using (11). The optimizing variable M is as described in Section II-D and the optimization problem is as follows, where the first constraint in (15b) ensures that u k (n,t) is a binary variable; The second constraint in (15c) ensures that only one user is scheduled for any value of k at any time t. As explained in II-C, it is possible to have same users assigned for different beams i.e n ∈ G k1 and n ∈ G k2 . Hence, there is a possibility of same user being scheduled by different beams at the same time t. This is precluded in the third constraint in (15d) which ensures that no two beams schedule same user n at the the same time t.
The optimization problem in (15a) is non-linear and nonconvex in nature. This is majorly because: 1) The objective function in (15a) is a function of the offered capacity, which is a function of the SINR. In the SINR expression, the inter-beam interference appears in the denominator and it depends on the optimization variable (i.e. the actual user scheduling). 2) Optimization variable M is a binary matrix. Therefore, the problem (15a) reduces to a mixed integer optimization problem that are very hard (technically NP-hard). Hence, problem (15a) is difficult to solve efficiently using classical optimization techniques. Accordingly, in this paper, we propose a heuristic interference-aware demand-based userscheduling algorithm.

SCHEDULING
In this section, we describe the proposed heuristic interference-aware demand-based user scheduling where channel orthogonality is maintained by carefully selecting users that least interfere with each other, while considering the actual user demands.
The proposed approach considers the users of each beam to be grouped into sectors based on their geographical locations. The main intuition to avoid interference is to schedule sectors across beams ensuring non-adjacency between them. In other words, the channel orthogonality is maintained by not scheduling users in two adjacent sectors of different beams at the same time. Such an approach does not require the Channel State Information (CSI) at the gateway and hence unaffected from faulty or outdated CSI errors. Furthermore, the proposed interference-aware demand-based user scheduling targets the user demand matching by ensuring that the users' queue status at the end of time period T is ideally empty. The proposed scheduling is composed of 5 main steps which are detailed in Figure 6. Next, we provide a high-level explanation of each step.
The step-1 i.e. sector formulation of interference-aware demand-based user scheduling is a one time procedure for all beams and does not need to be recalculated unless the beam pattern changes. In conventional systems the number of beams and the shape of the beams will remain fixed. However, recent advanced works [48], [49] have proposed demand based adaptable beam designs and footprint planning, where the beam footprints adapt to change according to user demands. In any case, beam pattern adaptations are not expected to take place in short time intervals. The step-2 of class definition is also a one time procedure which strongly depends on how we formulate the sectors in the step-1. In this step sectors are grouped into interfering classes and non-interfering classes. In step-3, the graph construction and edge pruning is done to accelerate the subsequent steps. Again, Step 3 has to be performed only in case of significant demand variations across sectors. The main step of the proposed scheduling is step-4, where the class scheduling is performed. This step has to be carried out only when the demand of the classes changes. Once the coarse scheduling of classes is determined, the last step-5 addresses the demand-based user scheduling within each sector independently.
In the forthcoming sections, we provide a detailed description of each step.

A. Sector Formulation
We consider K beams indexed from 1 to K where each beam has s k sectors. For simplicity, we consider s k is fixed ∀k and denote it as s. Figure 7 shows a scenario with six beams, each beam is divided into six sectors. The total of N users is distributed across all the beams. The sector demand is the sum of demand of all the users under a sector s and can be defined as,

B. Class definition
The interbeam interference in the network is dominantly dependent on the geographic location of the sectors in the beam [35]. Highest interference is noticed when users in two adjacent sectors of different beams are scheduled together. Therefore, we can classify the sectors in each beam into classes according to the neighbouring beams' sectors they may interfere with. Specifically, for beam k, the sectors which may cause inter-beam interference to beam k ′ are classified into an interfering class denoted by the set C k→k ′ , and the sectors in beam k which do not interfere with any neighboring beam are classified into an interference-free class denoted by the set C k→k . For example, in Figure 7, C 1 (2) = C 1→2 = {1}, is a interfering class because sector 1 of beam 1 may cause interbeam interference to beam 2 and C 1 (1) = C 1→1 = {4, 5, 6} is a non-interfering class because the sectors 4,5 and 6 of beam 1 does not cause interference to any of the other beams under consideration. Similarly, C 2 (1) = C 2→1 = {4} and C 2 (2) = C 2→2 = {1, 5, 6}. Accordingly, for the 6 beams in the Figure  7, we formulate 24 classes as shown in the shown in Table I and define the set C = {C 1 (1), C 1 (2)...C 6 (3)} as set of all the classes in the system. Furthermore, d k→k ′ is the class demand of an interfering class C k→k ′ and is defined as, for all k ′ adjacent to k and d k→k is the class demand of an non interfering class C k→k and is defined as,

C. Graph construction and Edge Pruning based on class demand
This step is performed to simplify the class scheduling of the next step. Inspired by [37], we formulate the class-based graph model and perform edge pruning. Accordingly, as shown in Figure 8, we model the satellite network as graph G where the nodes represent the beams in the network and are denoted as v k . We define the node set as a union set of all nodes i.e V = {v 1 , ..., v K }. As interference typically occur between adjacent beams, we also define K k = {k ′ : k ′ (adj)k} ∪ {k}, where K k represents a set of all the adjacent beams to beam k and itself. Furthermore, for any two adjacent beams k and k ′ , the beams in C k→k ′ and C k ′ →k form an undirected edge e(k, k ′ ) connecting the two nodes v k and v ′ k . The set of all edges in G is denoted as E, and we obtain G = {V, E} as an undirected graph that represents the network.
Due to non availability of broadband users in any of the sectors of a class C k→k ′ , the demand d k→k ′ can be 0 and hence, scheduling of the class C k→k ′ should be precluded. Similarly, for any two adjacent nodes v k and v ′ k having classes C k→k ′ and C k ′ →k , respectively, that form an undirected edge e(k, k ′ ), the demand d k→k ′ can be zero. Then, C k ′ →k becomes non interfering class and the edge, e(k, k ′ ) can be pruned to simplify the subsequent scheduling procedure. This is achieved by adding any sectors in C k ′ →k to non interfering class C k ′ →k ′ as shown in Procedure 1. Input / * Update classes * / 3. Delete C k→k ′ and update C ; / * Delete Class with no demand * / 4. d k ′ →k ′ = d k ′ →k ′ + d k ′ →k ; / * Update class demand * / else if d k→k ′ ̸ = 0 and d k ′ →k = 0 then 1. Delete e(k, k ′ ) ; / * Prune edge * / 2. Compute C k→k = C k→k ∪ C k→k ′ and update C k→k ∈ C ; / * Update classes * / 3. Delete C k ′ →k and update C ; / * Delete Class with no demand * / 4. d k→k = d k→k + d k→k ′ ; / * Update class demand * / else if d k→k ′ = 0 and d k→k ′ = 0 then Delete e(k, k ′ ) ; / * Prune edge * / else Retain edge; end

D. Class scheduling
The impact of scheduling in precoding performance can be alleviated by scheduling orthogonal users at any time instance t. Hence, we propose a novel class scheduling as a pre-step to user scheduling to obtain orthogonality in the scheduled users.
Interference between any user in beam k and k ′ is high when a sector in beam k belonging to class C k→k ′ is scheduled along with a sector in beam k ′ belonging to class C k ′ →k . Hence, avoiding such class assignments requires careful class scheduling such that orthogonal sectors are scheduled at any time instance t. On the other hand, we need to ensure that the demand requisites of all the classes and users are met at the end of T scheduling period. Considering these points, we define a new class scheduling model as shown in Figure 10.
Consequently, ∀k ′ ∈ K k , we define a new class scheduling binary matrix P where every element of P denoted by p t k→k ′ is used to denote if a class C k→k ′ is scheduled at time t or not, i.e. if p t k→k ′ = 1, we select a class C k→k ′ for scheduling at time t.
The primary objective of the class scheduling problem is to avoid adjacent sectors to be simultaneously scheduled while activating sectors based on their aggregated demand requests.
Considering the aggregated sector demand d s defined in 16, we estimate the total number of scheduling time-slots needed for sector s to satisfy its demand d s as, . (19) where T denotes the total window length in time-slots, f DV B−S2X (SN R) is spectral efficiency as a function of SNR defined in DVB-S2X [52], and the denominator (B × f DV B−S2X (SN R)) denotes the supplied capacity per scheduled time-slot assuming that the interference has been completely mitigated by the precoding technique. Clearly, 19 provides a best-case approximation, which will result with an underestimate of time-slots when residual interference exists. However, we will demonstrate via simulation results in Section V the effectiveness of the proposed approach.
Accordingly, we define the class aggregated demand as, where K k represents a set of all the adjacent beams to beam k and itself i.e. K k = {k ′ : k ′ (adj)k} ∪ {k}.
Considering the class scheduling matrix P , we can express the demand-matching error of class k as follows, where CDS k accounts for the difference of time-slots requested by class k and the number of time-slots assigned by the proposed scheduling process. Then, to satisfy the demand of every class τ k→k ′ and to reduce inter-beam interference, we formulate following optimization problem, where the objective function accounts for the error of the demand mismatch considering all system classes. In the first constraint, binary variable p t k→k ′ is used to select a class. The second constraint ensures that K classes are selected for K beams out of all the available classes. The third constraint ensures that only 1 class is scheduled in a beam. The fourth constraint ensures that non interfering classes are scheduled at any time t and hence orthogonality is maintained at class level. The last constraint make sure that no empty classes are scheduled and hence edge pruning discussed in section IV-C need not be done at every value of t.
The class scheduling problem in (22a) has the optimization variable matrix, P, which is binary in nature. Hence, the problem in (22a) can be identified as a mixed-integer programming problem with indicative variables (p t k→k ′ ∈ {0, 1}, ∀k, k ′ , t) and is a combinatorial problem by nature. Some state-of-theart solvers, e.g., MOSEK [53], [54], can be used to solve problems such as (22a), where the solvers perform what is effectively an exhaustive search among the integer variables to determine the correct solution. However, MOSEK speeds up the search with intelligent and innovative ways as described in [55] and sub-optimal solutions can be obtained when the branching algorithm discovers at least one feasible integer solution. MOSEK considers the problem (20a) as conic type and uses mixed integer optimizer to formulate a primal feasible problem and deduce to integer optimal solution. For details on how MOSEK addresses mixed integer problems, the reader is referred to [55] for further reading.

E. Demand based user scheduling
By the end of class scheduling step, we will have a clear answer on which sectors are activated at each time slot. However, it remains to be determined which users within those sectors are scheduled. This problem is discussed in this section.
The proposed demand-based user scheduling follows a very simple approach [56], which is detailed in Procedure (2). In particular, the users with larger queue size are scheduled with priority in an attempt to maintain queue stability.

V. SIMULATION AND RESULTS
The considered antenna pattern corresponds to a 71-beam GEO 13°E satellite operating at the Ka exclusive band 19.7 to 20.2 GHz. This is the same beam-pattern as considered in [57]- [59]. A summary of simulation parameters are shown in Table II. Also, for the sake of clarity, we consider 6 out of the total 71 beams available and a total number of M = 60 users distributed across K = 6 beams. Users' locations and demands have been extracted from the SnT traffic simulator [60], [61]. Furthermore, we consider a sum power-constrained system of 120 dBm and system bandwidth of 500 MHz.
In our simulation, we consider the steps of IV-A, sector formulation as shown Figure 7 with 6 sectors in every beam. Higher number of sectors will provide better sector segregation. However, the choice of 6 sectors per beam was considered for its simplicity. Then, we formulate 24 classes in accordance with as per IV-B. Furthermore, in accordance to IV-C we prune classes C 1→4 , C 5→6 and C 6→5 as they have no users present in them. In accordance to IV-D, we perform class scheduling τ n (t = 1) ∀ n using (19); for t = 1 to T do for k = 1 to K do 2. From the set of classes C, obtain the scheduled class C k→k ′ using p t k→k ′ of P as per Section IV-D 3. Select any user n ∈ C k→k ′ who has max(τ n (t)); 4. Update u k (n,t) = 1 ∈ M for the scheduled user n; 5. For the scheduled user n, update the queue using τ n (t + 1) = τ n (t) − 1; 6. For all the other users, retain queue status using τ n (t + 1) = τ n (t); end end  [53] of CVX and user scheduling was performed in accordance with IV-E. We consider multiple benchmark schemes for a fair comparison with the proposed scheme such as, 1) Simplistic random scheduling where the scheduled users are randomly selected from the user-beam set. 2) Semi-orthogonal scheduling (SOS) which selects most orthogonal users with best channel conditions [57]. 3) Geographical scheduling [35] which orders cells into sectors and schedules users in increasing orders of sectors. 4) Demand based heuristic weighted semi-orthogonal scheduling (WSOS) technique proposed in [62] that considers both channel orthogonality and user demand for scheduling users.
For better result analysis, we compare two different demand profiles. Firstly, we consider a profile of moderately uniform demand distribution and then, we evaluate for a profile with nonuniform demand distribution. A moderately uniform demand distribution profile is shown in Figure 11.a, where the user demand is relatively more evenly distributed among all the users. In other words, high demand users are not close to each other. On the other hand, as shown in Figure 11.b, for nonuniform demand distribution profile, users with high demand are more close to each other. Hence, as shown in the Figure 11.c, at beam level, the demand is more evenly distributed for moderately uniform demand distribution profile in comparison to nonuniform demand distribution profile.
We define user demand satisfaction for any user n, as the ratio of offered capacity to the requested demand and is expressed in percentage using, where C (n,t) is defined in (12). Furthermore we define mean offered instantaneous throughput for all the users in a beam k as, where C k (n,t) is defined in (13) and the mean requested instantaneous demand as, Demand satisfaction at beam level for any beam k is defined using (24) and (25), as the ratio of mean offered throughput to mean requested demand by all the users in the beam k and is expressed in percentage using, A. Numerical Results for moderately uniform demand distribution For moderately uniform demand distribution, the demand satisfaction at beam level is as shown in the Figure 12.a. By performing random scheduling, demand is not satisfied for three beams and in semi-orthogonal scheduling, demand of four beams are not satisfied. This is because semi-orthogonal scheduling focuses on users with best channel conditions without paying attention to the actual demands. By performing Geographical scheduling, there is improvement in demand matching but the performance is still poor in two beams. The weighted semi-orthogonal scheduling performs better than the semi-orthogonal scheduling but also fails to match demand in three beams by a very fine margin. Furthermore, in the case of moderately uniform demand distribution, the proposed interference-aware demand-based scheduling algorithm perform similar to weighted semi-orthogonal scheduling at the beam level.
The demand satisfaction at the user level provides better demand matching insights and is as shown in the Figure  12.b. Even though the weighted semi-orthogonal scheduling and the proposed interference-aware demand-based user (a) Users locations whose demand distribution is moderately uniform. Colorbar denotes the demand in Mbps (b) Users locations whose demand distribution is nonuniform. Colorbar denotes the demand in Mbps (c) Demand distribution comparison at beam level Fig. 11: Comparison between different demand distribution profiles scheduling performs similarly at beam level, the proposed interference-aware demand-based user scheduling performs better at the user level. The other benchmarks such as random scheduling, semi-orthogonal scheduling and weighted-semiorthogonal scheduling performs poor in comparison to the proposed interference-aware demand-based scheduling. Figure 12.c provides insights on how well the offered throughput trend follows the demand trend. It is evident that the offered throughput of non demand based scheduling algorithms such as random, semi-orthogonal and geographical scheduling, does not follow the demand trend at all. Accordingly, some users with lower demand are served better and some users with higher demand are neglected. However, demand based scheduling algorithms such as weighted-semiorthogonal and the proposed interference-aware demand-based scheduling perform very well in demand matching. Nevertheless, even with good demand matching, many users are underserved in the weighted-semi-orthogonal scheduling where as in the proposed interference-aware demand-based scheduling most of the users' demand has been met.

B. Numerical Results for nonuniform demand distribution
In moderately uniform demand distribution profile, as shown in Figure 12, even though the weighted semiorthogonal scheduling (WSOS) [62] does not outperform the proposed interference-aware demand-based scheduling algorithm, WSOS performs considerably well in terms of demand matching. However, when we evaluate the proposed interference-aware demand-based scheduling and the benchmarks in nonuniform demand distribution profile, as shown in Figure 13.a and Figure 13.b, weighted semi-orthogonal scheduling fails to provide demand satisfaction both at beam and user level. This is because the heuristic design proposed in [62] is not able to cope with strongly uneven demand distributions. On the other hand, as shown in Figure 13.a and 13.b, the proposed interference-aware demand-based scheduling performs best both at beam and user level. Also, as shown in the Figure 13.c, the offered throughput of the interferenceaware demand-based scheduling algorithm follows the demand trend most effectively. Hence, interference-aware demandbased scheduling algorithm performs well with different demand distribution profiles whereas weighted semi-orthogonal Furthermore, random scheduling and semi-orthogonal scheduling fails to provide demand satisfaction both at user and beam level. Geographical scheduling maximizes the offered capacity for multiple users, but fails to perform well for all the users. Also, the offered throughput of the geographical scheduling is out of sync with the demand curve, which means offered throughput is guaranteed based on the geographical position of the user and not by the demand. Figure 14 shows the user demand satisfaction using Empirical Cumulative Distribution Function (eCDF) for Monte Carlo simulations performed over 100 different randomly generated demand distribution profiles. The value of the eCDF, at any specified value of the measured variable is the fraction of observations of the measured variable that are less than or equal to the specified value. Hence, from Figure 14, it is evident that non demand based scheduling algorithms such as random, semi-orthogonal and geographical scheduling algorithms perform the worst. Furthermore, even though the demand based weighted semi-orthogonal scheduling algorithm performs well with higher probable values for higher demand satisfaction, the probability to have lower demand satisfaction is also high. However, the proposed interferenceaware demand-based scheduling algorithm performs the best in having most probable values of eCDF for most of the higher user demand satisfaction.

D. Complexity Analysis
User scheduling is known to be a complex task. Herein, the computational complexity of the proposed interferenceaware demand-based scheduling algorithm and the conventional benchmark algorithms are analysed using run-time analysis, where the amount of time taken by the algorithm to complete is considered as metric of analysis. The runtime analysis of all the scheduling techniques are as shown in Figure 15 for scheduling users in T = 100 scheduling periods.
The random scheduling has least complexity and takes very less computational time, as expected. Furthermore, the semiorthogonal scheduling, weighted semi-orthogonal scheduling and geographical scheduling performs quite similarly and hence have similar complexities. Note that in both cases, semiorthogonal and geographical scheduling, require a user-pair analysis of channel orthogonality and/or distance. On the other hand, the complexity of the proposed scheme is split into proposed class scheduling mentioned in IV-D and proposed user scheduling mentioned in IV-E.
The complexity of proposed class scheduling is high because it involves in solving an integer programming problem. However, the proposed class scheduling is only performed when demand profile changes i.e, only when the demands of a sector, classes or beams changes considerably. Furthermore, the proposed user scheduling which has to be performed for every T scheduling period performs better than the other benchmarks except random scheduling.

E. Performance evaluation for different Beam-User Set (G k )
In this section, we study the impact of Beam-User Set (G k ) of section II-C. Figure 16 shows the simulation setup of 6 beams with 60 users, where 3 users have high demand (around 195 Mbps) and the remaining 57 users have low demand (around 50 Mbps). Accordingly, we formulated the Beam-User Set and computed user satisfaction for two cases, once with no user sharing and again by sharing the high demand users between two adjacent beams. When users are shared between two beams, shared-user-1 is shared between beam-1 and beam-2; Shared-user-2 is shared between beam-3 and beam-4; Shared-user-3 is shared between beam-4 and beam-5. Figure 17 shows the benefits of formulating Beam-User Set with user sharing over formulating Beam-User Set without  user sharing. The average demand satisfaction for low demand 57 users is 100% in both cases. However, demand satisfaction of high demand users have considerably increased when the users are shared between two beams. Thus by sharing high demand users with adjacent beams, the demand satisfaction of all the users can be met.

VI. CONCLUSION
In this work, we first discuss the demand based adaptable multibeam high throughput satellite systems and express the need for demand based scheduling algorithm with focus on user demand matching and not on sum rate maximization. Furthermore, we propose a heuristic interference-aware demandbased user scheduling algorithm that reduces inter-beam interference by carefully scheduling non interfering classes while also ensuring that all the users demand is satisfied by the end of T scheduling periods. Numerical simulations have evidenced significantly better performance of the proposed interference-aware demand-based scheduling algorithm with respect to benchmark schemes such as random scheduling, semi-orthogonal scheduling, geographical scheduling and weighted semi-orthogonal scheduling both in terms of demand satisfaction at beam and user level. Furthermore, we also provide complexity analysis where when no major demand profile changes, the proposed interference-aware demand-based user scheduling has less complexity compared to most of the other benchmarks.
This work considers scheduling in unicast fashion and a possible extension of this paper would be upgrade the proposed interference-aware demand-based scheduling to multicast systems, where multiple users share a frame and are usually grouped based on similar SINR. These grouped users are scheduled at the physical frame defined by the standard DVB-S2X [52]. In multicast system, to guarantee that all the users sharing the XFECFRAME can decode the frame correctly, the modulation and coding scheme is selected based on the SINR of the weakest user. Hence, the proposed interferenceaware demand-based algorithm can be enhanced to face such challenges.