- About this Journal
- Abstracting and Indexing
- Aims and Scope
- Article Processing Charges
- Articles in Press
- Author Guidelines
- Bibliographic Information
- Citations to this Journal
- Contact Information
- Editorial Board
- Editorial Workflow
- Free eTOC Alerts
- Publication Ethics
- Reviewers Acknowledgment
- Submit a Manuscript
- Subscription Information
- Table of Contents
Journal of Electrical and Computer Engineering
Volume 2012 (2012), Article ID 169026, 10 pages
Resource Management in Satellite Communication Systems: Heuristic Schemes and Algorithms
School of Engineering, Ruppin Academic Center, Emek Hefer, Israel
Received 26 February 2012; Revised 30 April 2012; Accepted 1 May 2012
Academic Editor: Yi Su
Copyright © 2012 Shahaf I. Wayer and Arie Reichman. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.
The high cost of frequency bandwidth in satellite communication emphasizes the need for good algorithms to cope with the resource allocation problem. In systems using DVB-S2 links, the optimization of resource allocation may be related to the classical multi-knapsack problem. Resource management should be carried out according to the requests of subscribers, their priority levels, and assured bandwidths. A satisfaction measure is defined to estimate the allocation processes. Heuristic algorithms together with some innovative scaling schemes are presented and compared using Monte Carlo simulation based on a traffic model introduced here.
1.1. DVB-S2 in Satellite Communication
The most popular standard today in satellite communication is DVB-S2 , designed for transmission of digital television broadcasting. This relatively new standard is gradually replacing the classic DVB-S  in new systems as well as in existing systems. It is also used in new VSAT systems in forward link as well as in reverse link, in cases when the required data rates are higher than those supplied by DVB-RCS . DVB-S2 is also used in satellite modems for point-to-point applications. In this paper we focus on a system that consists of DVB-S2 links with dynamic changes in the required parameters of the links due to changes in the traffic demands.
1.2. Resource Management
In order to save the operational cost of the satellite communication system, transmissions that share the total available frequency band have to be fairly divided according to the requirements of the subscribers . For a star-type system with a central HUB that communicates with subscriber terminals, the control is conducted by the control center in the HUB according to subscriber needs. For other type of systems, like point-to-point, the control is conducted by a dedicated communication and control system that operates in addition to point-to-point links.
Regardless of the way the control is performed, a resource allocation algorithm has to be designed for optimal performances and best satisfaction.
In commercial systems run by a service provider, the Service Level Agreement (SLA), which is a set of parameters that defines the capabilities and the paid rights of every terminal in the system, connects the service provider and the subscribers. The Committed Information Rate (CIR) is the rate that is guaranteed by the system. Typically it is low enough so that the system can guarantee the user of this specific rate. The Peak Information Rate (PIR), on the other hand, is the maximum rate that may be allocated. When the user asks for a rate higher than CIR and lower or equal to PIR, the system will allocate this rate if available. When a user asks for a rate higher than PIR, the system will consider it as if the request was equal to PIR. The service provider has difficulty in providing the Committed Rate with certainty. In this research, we assumed that the bandwidth of a terminal is proportional to its rate. We use the term assured bandwidth as a quantity that the system can provide most of the time but not always.
The terminals have priority levels that determine their significance according to their payment to the service provider. In a situation of low resources, requests from high priority terminals may cause the system to decrease the rate of low priority terminals to their minimum.
In the course of the resource allocation cycle, subscribers issue requests for bandwidth. The bandwidths they own are removed from the spectrum list. The resource allocation process follows, and the bandwidths are reconfigured over the spectrum. This whole process of removing spectrum bands and reconfiguring the spectrum with the newly allocated bands creates gaps (holes) in the spectrum, resulting in a fragmented spectrum. The task of the resource allocation algorithms is to fit the requests into those holes in the spectrum.
In  it was shown that this task is equivalent to the multi-knapsack problem (MKP). Two heuristic algorithms were presented together with a single scaling scheme for the bandwidth requests. Scaling down the requests is necessary when their sum exceeds the available bandwidth budget, and utilizing the scaling scheme improves the algorithm results.
In this paper, we review the MKP problem and suggest an extension to it. We then present our idea of combining heuristic algorithms with scaling down schemes. Some innovative schemes are suggested to maximize a defined satisfaction measure and at the same time support the allocation of the assured bandwidth for each subscriber.
In Section 2, the system’s quality of service parameters is presented and performance criteria are defined. The resource management process is presented in Section 3, including the mathematical background for the MKP problem with extension, together with a problem reformulation that may suggest a scaling down strategy as a natural way to solve the extended MKP problem.
Section 4 focuses on the algorithms used for the resource allocation, while Section 5 shows the significance of the scaling schemes. Several schemes are presented, based on the quality of service parameters. Then a simplified example is presented to illustrate the whole process. The techniques used to model the system dynamics are presented in Section 6, while Section 7 compares the performances obtained in simulation. Finally, we draw our conclusions in Section 8.
2. System Parameters and Performance Criteria
2.1. The Quality of Service Parameters
Parameters of quality of service determine the capability of providing better service to network traffic. The system we study assumes some quality of service characteristics for each subscriber. The algorithms presented here take into consideration two such parameters.
(a) Priority Level
A priority factor is assigned to each subscriber type, such that higher level subscribers get priority in allocation of bandwidth following user request.
(b) Assured Level
Subscribers are guaranteed (with a high probability) to receive the bandwidth they request up to some assured amount . Any bandwidth above this is optional, up to a maximal value determined by PIR.
These two parameters are used in the definition of the satisfaction measure function and play an important role in algorithm design and optimization of bandwidth utilization.
The fact that the DVB-S2 links were designed for fixed center frequency and symbol rate would cause disconnections while changing them. Therefore, allocating a new bandwidth to a user causes a disconnection to the subscriber. To take into account this fact, we use effective allocated bandwidth related to the allocated bandwidth according to: where is a constant expressing the effect of disconnection period, and the assumed dissatisfaction it causes. In this paper, we narrow ourselves to the case where users are not moved in the frequency range if they have no request for a change.
2.3. The Satisfaction Criterion
Resource allocation is conducted according to the requests of subscribers, their priority levels, and their assured bandwidths. For a subscriber with assured bandwidth , a requested bandwidth , and an effective allocated bandwidth , and assuming that , we suggest the satisfaction measure that may be calculated for a factor :
The satisfaction function ranges from 0 to 1. The maximum satisfaction value is reached when the allocated bandwidth is equal to the requested bandwidth. Also, one can see that when , the contribution of any increment to the function is smaller by a factor of than the contribution of the same increment when .
In order to reduce the number of variables involved in this formula, we express the satisfaction function in terms of the normalized bandwidth variables: such that the satisfaction measure may be defined as:
This is a concave function increasing monotonically both in the direction and in the direction.
For a given set of users with normalized requests and allocated bandwidths , and priority factors , the total (weighted) satisfaction is defined as:
The total satisfaction function gets the maximum of 1 when all requests are fulfilled. This quantitative measure may be used to compare the performance of the various algorithms and schemes.
2.4. The Requests Scale Down Criterion
While resource allocation algorithms fit the bandwidth requests into the holes in the spectrum, some holes may become under populated and some over-populated.
The first situation (under population) happens when the sum of requests inserted into a hole does not fully cover it.
The other one (over population) happens when the sum of requests assigned into a hole is greater than the capacity of the hole. In this situation the requests assigned to that hole should be scaled down to fit into the hole capacity.
Let be the set of requests allocated into a hole , Then the total amount of the requests bandwidth that is scaled down is:
The amount is the requests scale down factor. It measures the effectiveness of the algorithms in finding a good arrangement of the requests into the gaps (holes) in spectrum. A lower value indicates better algorithm performance.
3. The Resource Allocation Process
The disconnections caused while changing frequency and symbol rates pose a serious constraint in the design of optimal allocation algorithms. Therefore, links of terminals that did not require any change should stay in the same location in the spectrum, while new requests should be allocated only in the free portions (holes) of the spectrum.
In this part, we will show that this problem is equivalent to the multi-knapsack problem (MKP)  known in computational complexity theory and then draw a scheme for a computational process to cope with it.
3.1. Resource Allocation as a Complexity Theory Problem
The connection between the MKP problem and satellite communication resource allocation was already reported by Birmani . However, his work deals with power allocation and burst scheduling problems, which are inherently quite different in their nature than the bandwidth allocation problems in our concern.
The association between resource allocation in communication and the MKP problem was already observed by Rajkumar et al. . Their research was on a QoS-based Resource Allocation Model (QRAM) for satisfying multiple quality-of-service dimensions in a resource-constrained environment. Using this model, available system resources can be apportioned across multiple applications, thus maximizing the net utility that accrues to the end users of those applications. They showed that the Q-RAM problem of finding the optimal resource allocation to satisfy multiple QoS dimensions is NP hard. There is a similarity between the resources, QoS, and utility factor in their research and the bandwidth, priority level, and satisfaction function in this research. However, in our work the satisfaction function is different than their utility factor and the methods we suggest are simpler to implement.
The task of the resource allocation algorithms is to find an optimal match between a set of requests and a set of holes in a spectrum such that all the requests are inserted into those holes: where are disjoint subsets of indexes: the size of set is , such that their union covers the set : where is the th element in the set .
The algorithm theory classifies such a problem as a variation of the multi-knapsack problem. Given containers (knapsacks) with capacities and items with values , the task is to split the set into disjoint subsets, such that the sum of item values in each subset will not exceed the given capacities as in (7).
Although the set of inequalities in the problem definition resembles a typical linear programming formulation, it is not a linear programming problem. Instead, it belongs to a family of subset sum problems known as knapsack problems.
The knapsack problem is part of the family of combinatorial NP-complete problems , meaning that it is computationally difficult to solve in general (except for a brute force solution). It is difficult enough to be chosen as a trapdoor cryptographic function (i.e., the Merkle-Hellman cryptosystem).
Yet the resource allocation problem does not fit the exact definition of a knapsack problem. There is one essential difference: when (7) cannot be fully satisfied, then the target of optimization should be replaced by: such that the factors are maximal.
This is a “softer” version of the original problem (7). It extends the problem adding some degree of complexity (finding the factors ). On the other hand, it eases the task somewhat, adding several degrees of freedom so that a solution can be found, even in situations where the original problem is practically insolvable.
So, because this is an NP-Hard problem, we shall not try to solve it fully. Instead we may design some practical heuristic algorithms and reach suboptimal solutions .
3.2. The Resource Management Process
The resource allocation problem is too complex to be solved at once. Instead of solving (9) directly by a single algorithm, we suggest splitting it into three subproblems:(1) find an initial approximation to the factors;(2) solve the main resource allocation problem;(3) find the final values of the factors.Following this model, the entire resource management process consists of three stages, as illustrated in Figure 1. (1) The prescaling Step. In order for the resource allocation algorithms to operate properly, subscriber requests for bandwidth cannot exceed the available bandwidth budget. However, this situation does occur frequently. To cope with this problem, we suggest the pre-scaling process, to scale down subscriber requests according to the priority factors and the assured bandwidths .(2) The resource allocation algorithm finds the best fit between the requests and the holes in the spectrum.(3) The postscaling step is performed in one of the following situations: (a) if the sum of the allocated requests assigned to a hole is bigger than the size of the hole, then the requests should be downscaled; (b) if the sum of the allocated requests assigned to a hole is smaller than the size of the hole, and the requests were downscaled (by means of pre-scaling stage), then they may be upscaled. The allocated bandwidths are scaled up such that their new value will not exceed the original requests, and in addition their sum will not exceed the size of the hole.In either case, the scaling is conducted according to the priority factors and the assured bandwidths in a manner very similar to the prescale stage.
The feedback in Figure 1 marks the transition to the next phase of the algorithm, when new requests are generated.
4. The Resource Allocation Algorithms
Two heuristic algorithms are presented to solve the main resource allocation problem:(i) the Fast MKP solver;(ii) the IBF (Insert to Best Fit) MKP solver.
Both algorithms are classified as greedy algorithms. At each stage they take the locally optimal choice rather than aiming for the global optimum. Such algorithms are widely used to solve heuristically dynamic programming problems.
4.1. The Fast MKP Algorithm
When allocating a request to a hole, we define the residue remainder after the allocation, that is, the size of the hole less the size of the request. The Fast MKP algorithm adopts a strategy of largest residues first, that is, it fits the largest requests to holes with the largest residue in decreasing order.
In order to perform this efficiently, we maintain a binary tree of hole items (sorted by the residue size) to enable a search and insert operation in O(log(M)) time steps .
The algorithm consists of the following steps.(1)Make a sorted list of requests in decreasing order (largest to smallest) and a binary tree of residues associated with the hole items.(2)Fit the largest request to the biggest residue hole item.(3)Update the residue value corresponding to the hole item and insert it back into the tree according to the residue value.(4)Discard the request from the list of requests.(5)Repeat steps (2)–(4) until the request list is empty.
This algorithm is efficient with respect to run time and memory consumption.
4.2. The IBF MKP Algorithm
This algorithm adopts a strategy of best fit residue, that is, it fits requests in decreasing order into holes with the residue that fits best (if no residue fits, it inserts to the largest one—). A best fit for any over a decreasing series of residues , is any , such that .(1)Start with a sorted list of requests in decreasing order (largest to smallest) and a binary tree of residues associated with the hole items.(2)Insert the largest request into the hole item, with the smallest residue that is larger than the request.(3)If there is no such residue, insert the request into the hole with the largest residue.(4)Update the residue value corresponding to the hole item and insert it back into the tree according to the residue new value.(5)Discard the request from the list of requests.(6)Repeat steps (2)–(5) until the request list is empty.
The purpose of stage (3) in the algorithm is to ensure that all the requests are inserted into the holes, even when holes become overpopulated. This may involve temporarily assigning negative values to some residues. This is quite legitimate, because the residue values have instrumental meaning only. The postscaling stage described in next section would resolve this problem.
5. The Scaling Schemes
The algorithms presented above perform poorly under a shortage of bandwidth resources. We suggest activating some scaling schemes when the sum of the requests is greater than the sum of the holes. In those cases, such schemes can share fairly the available bandwidth resources, taking into consideration the quality of service parameters in order to resolve the users' diversity issues.
For a set of requests and a set of holes such that and we introduce scaling schemes to take place when .
Introducing scaling stages into the allocation process is crucial. It is analogous to adding filters at the entrance and outlet of an electronic system in order to adjust the signal to the dynamic range of a system. The design of scaling schemes may dramatically influence the overall performance of the allocating process just like filters that affect system’s behavior.
We present first the schemes for the downscaling performed in the prescaling step. In correspondence with the quality of service levels , we consider several levels of scaling schemes in accordance with the number of parameters taken into consideration:(i)the basic scheme, which takes no parameters;(ii)the priority-oriented scheme, which takes into consideration the priority factors only;(iii)advanced schemes, taking into consideration the assured bandwidth as well as the priority factors .
5.1. The Basic Scaling Scheme
In absence of any priority criteria for sharing the bandwidth, the requests are simply scaled down proportionally to their value:
Such a scheme corresponds to a network system that supports best-effort subscribers only, with no quality of service parameters.
5.2. The Priority-Oriented Scaling Scheme
This scheme takes into consideration only the priority factors . Such a scheme is applicable for network systems that support at least the differentiated service level.
The amount of bandwidth to be reduced is the difference between the sum of requests and the sum of holes:
This amount should be shared proportionally to the requests (larger requests are reduced more than small ones) and inversely proportional to the priority factors (higher priority requests are reduced less than the lower ones). So, the request should be reduced by amount given by: such that is the total reduction.
Hence: where is some proportion factor that can be written as:
And finally, the requests are downscaled according to:
This scheme works unconditionally (but it does not take into consideration the assured bandwidth ).
5.3. Advanced Schemes
High-quality network systems should take into consideration the subscribers’ assured bandwidths , as well as their priority factors . The constraint imposed by the assured bandwidth condition can be expressed as:
This condition could be met only when:
When this condition is satisfied, we can allocate bandwidth taking into account both the priority factors and the assured bandwidths. Otherwise, the priority-oriented scaling scheme should be used.
Our strategy is to grant all the requests below the assured bandwidth and scale down only the others.
The two schemes we present here have the same “prolog”, and differ only in the final stage.(0) Start with a set of indexes , where is the number of requests.(1) Split into 2 subsets: and (the complementary set).(2) Then define (3) (“grant requests less than user's assured bandwidth”). (4) Scale the requests in using one of the schemes described next.
(i) Difference-Oriented Scaling
Using the difference weighted by the priority factors , we get:
In similar arguments used in developing the priority-oriented scaling scheme, we find: (Note that the denominator isalwayspositivebecause for all ).
(ii) Ratio-Oriented Scaling
Using the ratio weighted by the priority factors , we get: where again by similar arguments we get:
After the prescaling procedure, the algorithms in Section 4 are applied. This prescaling is a necessary but not sufficient condition to be able to complete the procedure. However, the postscaling can be used to complete it.
5.4. The Postscaling Schemes
The postscaling stage makes the final correction to the allocated bandwidths. It may involve more downscaling to some of the requests. This happens when the allocating algorithm inserts to a hole a set of requests whose sum exceeds the hole size and assigns a negative value to the residue associated with the hole. In this case, the downscaling is performed in essentially same way as in the prescale step, except that the calculations are made separately for each hole . Hence is used instead of and , and the set of requests allocated to would replace .
There are situations when the allocating algorithm assigns to a hole requests whose sum is less than the hole size. In this case, if some of the requests were over-decreased in the prescaling stage, they should be now increased back (up to the original amount) to fit the hole size.
5.5. Concluding Remarks
We have presented here some scaling schemes to support fair sharing of available bandwidth resources in shortage conditions.
Naturally, the advanced schemes are expected to perform better than the priority oriented scheme because they take into consideration the assured bandwidths as well as the priority factors.
However, as we have pointed out, the other scaling schemes should not be abandoned. In some exceptional situations (heavy traffic periods for instance), when condition (15) is not satisfied, the priority oriented scheme (or the Basic one) should be used instead.
5.6. An Illustrative Example for the Allocation Cycle
To illustrate the whole resource allocation cycle, consider the following simplified example. Consider three requests issued to the system: When there are two available “holes” in the spectrum: As shown in Figure 2.
The sum of the requests is greater than the available space in the spectrum , meaning there is deviation of 3, and a scaling phase should take place to address it.
For the sake of simplicity and in order to make it intuitive to the reader, tedious calculations involving QoS parameters considerations are dropped. Instead, we will focus on illustrating the concepts of the scaling stages.
To solve the deviation problem, the prescaling phase can reduce each request by 1. For instance, As shown in Figure 3.
This way , which is exactly the amount of available space.
The residue of was denoted as . Initially set: . Then:(1)insert into (with ) such that the residue is updated to ;(2)insert into (with ) which makes this residue become ;(3)finally, insert into (with ). This makes the residue receive a negative value: !
This state of affairs is presented in Figure 4. The overpopulation situation in caused by the allocation algorithm is expressed by the overlapping and in the figure.
As stated in Section 4.2, assigning a negative value to some residues is legitimate as an intermediate stage in calculation, and the task of the postscaling phase is to fix this situation.
This phase fine tunes the bandwidths allocated. Recall that originally the request was 9, and then it was reduced to 8 and allocated to , which has a capacity of 9. Obviously the original request can be granted. Thus the final allocation for should be .
and were allocated to which has a capacity of 6, but , so they should be reduced again to: and such that to fit the capacity.
So the final resource allocation yields:
inserted into and inserted into . (See Figure 5).
6. Modeling the Resource Allocation Process
In order to simulate the system dynamics under the resource allocation process described above, we derived a model to produce the network traffic and the inputs to the process. We distinguish between the demands subscribers have and the requests they issue to the system. New demands for bandwidth emerge for each subscriber in random time steps. We assume that the demands of subscriber are gamma distributed. The gamma distribution  is a two-parameter family of continuous probability distributions. It has a shape parameter , a scale parameter , and the average value: The traffic models based on random variables with Gamma distribution are used in applications such as video and speech [14, 15]. Such a random variable has a probability distribution with a shape similar to a Gaussian random variable but has only positive values.
The parameters are chosen such that the mean demand of subscriber , is proportional to , the assured bandwidth of subscriber , by a constant factor :
In the simulation, the values used are: and , as shown in Figure 6.
We may assign a probability for new demand to emerge such that in time step we have demand :
We assume that very often user requests are not fully granted. In this situation, a subscriber should request the remainder in the next time step, added to a new demand (if one emerges). This can be modeled by assigning a variable to each subscriber to accumulate requests , subtract the allocated bandwidth , and add demands :
Stability considerations suggest limiting the request amount a subscriber may issue. In Section 1.1, we called this limit the Peak Information Rate (PIR). We set this limit to , where is a constant ( in our simulation):
Finally, in order to avoid the penalty of unwanted disconnections associated with new bandwidth allocations, a restriction is superimposed on issuing new requests. Only changes exceeding some threshold can justify issuing new requests. To assure this, we set up a rule: a new request shall be issued only when:
In the simulation, is used.
7. Comparison between Algorithms
Algorithms can be ranked either by their efficiency or by the quality of the results they produce. We shall examine and compare our algorithms in the following aspects:(i)algorithm complexity (memory and time consumption);(ii)distribution of the satisfaction measure ;(iii)distribution of the requests scale down .
We considered a typical system with 4 types of subscribers. Each type has its priority factor and assured bandwidth . The system setup is shown in a simulation snapshot presented in Figure 7.
The other simulation parameters are presented in Table 1.
7.1. The Complexity of the Algorithms
Let us consider the complexity of the algorithms (without the scaling part) for new requests and holes in the spectrum.
The time complexity of both Fast-MKP and IBF-MKP algorithm is bounded by O(N·log(M)) integer operations, as the search and insert operation in a binary tree is O(log(M)).
The memory complexity of both algorithms is . However, we observed (experimentally) that the IBF-MKP algorithm runs slower than Fast-MKP by no more than 20% on the average. So, both algorithms are very efficient in run-time and memory consumption.
7.2. The Distributions of the Satisfaction Measure
The distributions for the satisfaction measure for the IBF-MKP and the Fast-MKP algorithms are presented by the histograms in Figures 8 and 9, obtained by simulation without the effect of the scaling schemes. For the criterion of satisfaction, the IBF-MKP algorithm achieves better results.
The effect of the scaling schemes on the satisfaction measure is shown in Figures 10, 11, and 12. The results are presented for the IBF-MKP algorithm only. The scaling schemes do improve results over those obtained without the scaling. The ratio-oriented scaling scheme yields better results than Difference Oriented, while the Priority Oriented scaling scheme is in third place.
7.3. The Distributions of the “Requests Scale-Down”
The simulation records the amount of bandwidth scaled down in the resource allocation. Table 2 compares the distribution of this variable for the two algorithms (without utilizing the scaling schemes).
Clearly, the IBF-MKP algorithm achieves better results for the average amount of requests scale-down in the allocation process.
The effect of scaling schemes on the requests scale-down factor is compared in Table 3, which presents results where again the algorithm is the IBF-MKP.
As expected, scaling schemes improve the scale-down results. The ratio-oriented gives the best results, while the difference-oriented is somewhat less effective, and the priority-oriented offers the least effectiveness.
The difference is probably due to the ability to grant all requests below the assured bandwidth. This approach makes these advanced scaling schemes superior to other schemes.
In a rapidly evolving communications market with ever-growing demand for more bandwidth, a good resource management mechanism is essential for efficient digital communication of any kind. The algorithms suggested here together with the scaling schemes successfully perform this task with reasonable computational complexity, producing a high-quality resource allocation with remarkable performance.
The authors wish to acknowledge the cooperation of Ayecka Communication Systems Ltd. and the support of the MAGNETON program of the Israel Ministry of Industry, Trade and Labor.
- ETSI: EN 302 307, Digital Video Broadcasting (DVB), “Second generation framing structure, channel coding and modulation systems for Broadcasting, Interactive Services, News Gathering and other broadband satellite applications (DVB-S2),” European Standard (Telecommunications series), 2005.
- ETSI: EN 300 421, Digital Video Broadcasting (DVB), “Framing structure, channel coding and modulation for 11/12 GHz satellite services (DVB-S),” European Standard (Telecommunications series),1994.
- ETSI: EN 301 790, Digital Video Broadcasting (DVB), “Interaction channel for satellite distribution systems (DVB-RCS),” European Standard (Telecommunications series), 2005.
- G. Giambene, Resource Management in Satellite Networks Optimization and Cross-Layer Design, Springer, 2007.
- S. I. Wayer and A. Reichman, “Resource management in satellite communication systems—Heuristic algorithms,” in Proceedings of the IEEE 26th Convention of Electrical and Electronics Engineers in Israel (IEEEI '10), pp. 342–346, November 2010.
- D. Pisinger, “A Minimal Algorithm for the Bounded Knapsack Problem,” INFORMS Journal on Computing, vol. 12, no. 1, pp. 75–82, 2000.
- V. Birmani, Resource allocation for Ka-band broadband satellite systems [M.S. thesis], University of Maryland, 1999.
- R. Rajkumar, C. Lee, J. P. Lehoczky, and D. P. Siewiorek, “Practical solutions for QoS-based resource allocation problems,” in Proceedings of the 19th IEEE Real-Time Systems Symposium, pp. 296–306, December 1998.
- S. Goddard , “P, NP, and NP-Complete,” CSCE 310J lecture notes on “Data Structures & Algorithms”, University of Nebraska-Lincoln, http://www.cse.unl.edu/~goddard/Courses/CSCE310J/Lectures/Lecture10-NPcomplete.pdf.
- M. Hifi, M. Michrafy, and A. Sbihi, “Heuristic algorithms for the multiple-choice multidimensional knapsack problem,” Journal of the Operational Research Society, vol. 55, no. 12, pp. 1323–1332, 2004.
- T. H. Cormen, C. E. Leiserson, R. L. Rivest, and C. Stein, Introduction to Algorithms, MIT Press, 2nd edition, 2001.
- Quality of Service Networking, http://docwiki.cisco.com/wiki/Quality_of_Service_Networking.
- A. Papoulis, Probability, Random Variables, and Stochastic Processes, McGraw-Hill, New York, NY, USA, 2nd edition, 1984.
- M. Menth, A. Binzenhöfer, and S. Mühleck, “Source models for speech traffic revisited,” IEEE/ACM Transactions on Networking, vol. 17, no. 4, pp. 1042–1051, 2009.
- O. Rose, “Simple and efficient models for variable bit rate MPEG video traffic,” Performance Evaluation, vol. 30, no. 1-2, pp. 69–85, 1997.